/* ─────────────────────────────────────────────
       AVENIR LT PRO — local @font-face
    ───────────────────────────────────────────── */
    @font-face {
      font-family: "Avenir LT Pro";
      src: url("../images/defaults/fonts/AvenirLTProLight.otf") format("opentype");
      font-weight: 300; font-style: normal; font-display: swap;
    }
    @font-face {
      font-family: "Avenir LT Pro";
      src: url("../images/defaults/fonts/AvenirLTProBook.otf") format("opentype");
      font-weight: 400; font-style: normal; font-display: swap;
    }
    @font-face {
      font-family: "Avenir LT Pro";
      src: url("../images/defaults/fonts/AvenirLTProRoman.otf") format("opentype");
      font-weight: 500; font-style: normal; font-display: swap;
    }
    @font-face {
      font-family: "Avenir LT Pro";
      src: url("../images/defaults/fonts/AvenirLTProMedium.otf") format("opentype");
      font-weight: 600; font-style: normal; font-display: swap;
    }
    @font-face {
      font-family: "Avenir LT Pro";
      src: url("../images/defaults/fonts/AvenirLTProHeavy.otf") format("opentype");
      font-weight: 800; font-style: normal; font-display: swap;
    }
    @font-face {
      font-family: "Avenir LT Pro";
      src: url("../images/defaults/fonts/AvenirLTProBlack.otf") format("opentype");
      font-weight: 900; font-style: normal; font-display: swap;
    }
    @font-face {
      font-family: "Avenir LT Pro";
      src: url("../images/defaults/fonts/AvenirLTProBookOblique.otf") format("opentype");
      font-weight: 400; font-style: italic; font-display: swap;
    }

    /* ─────────────────────────────────────────────
       DESIGN SYSTEM TOKENS
    ───────────────────────────────────────────── */
    :root {
      --primary:        #126ba3;
      --primary-rgb:    18, 107, 163;
      --secondary:      #1ea78d;
      --secondary-rgb:  30, 167, 141;
      --ink:            #00072d;
      --ink-rgb:        0, 7, 45;
      --surface:        #fcfcfc;
      --muted:          #6e7b96;

      --grad-brand:     linear-gradient(135deg, #126ba3 0%, #1ea78d 100%);
      --grad-hero-l:    linear-gradient(105deg,
                          rgba(0,7,45,.96)  0%,
                          rgba(0,7,45,.82) 28%,
                          rgba(0,7,45,.52) 55%,
                          rgba(0,7,45,.14) 80%,
                          rgba(0,7,45,.02) 100%);
      --grad-hero-b:    linear-gradient(to top,
                          rgba(0,7,45,.90)  0%,
                          rgba(0,7,45,.45) 30%,
                          transparent      60%);
      --grad-hero-t:    linear-gradient(to bottom,
                          rgba(0,7,45,.40)  0%,
                          transparent      22%);

      --shadow-hero:    0 48px 130px rgba(0,7,45,.48);
      --shadow-card:    0 30px 80px  rgba(0,18,76,.14);
      --shadow-glow:    0 0 0 1px rgba(30,167,141,.14), 0 30px 90px rgba(18,107,163,.2);

      --r-pill:  999px;
      --r-xl:     36px;
      --r-lg:     28px;
      --r-md:     22px;
      --r-sm:     16px;

      --font:    "Avenir LT Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
      --ease:    cubic-bezier(0.22, 0.8, 0.22, 1);
    }

    /* ─────────────────────────────────────────────
       RESET & BASE
    ───────────────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
    body { font-family: var(--font); background: var(--ink); color: var(--surface); overflow-x: hidden; }
    a { text-decoration: none; color: inherit; }
    img, svg { display: block; max-width: 100%; }
    button { font-family: var(--font); cursor: pointer; border: none; background: none; }

    /* ─────────────────────────────────────────────
       SCROLL PROGRESS BAR
    ───────────────────────────────────────────── */
    .lrc-progress {
      position: fixed; top: 0; left: 0;
      width: 100%; height: 3px;
      z-index: 200;
      transform-origin: left center;
      transform: scaleX(0);
      background: linear-gradient(90deg, transparent, var(--primary), var(--secondary), transparent);
      box-shadow: 0 0 12px rgba(30,167,141,.3);
      pointer-events: none;
    }

    /* ─────────────────────────────────────────────
       HEADER / NAV
    ───────────────────────────────────────────── */
    .lrc-header {
      position: fixed; top: 18px; left: 0;
      width: 100%; z-index: 100;
      padding: 0 340px;
      pointer-events: none;
    }
    .lrc-nav {
      display: grid;
      grid-template-columns: auto 1fr auto;
      align-items: center;
      gap: 20px;
      padding: 13px 20px;
      border-radius: var(--r-pill);
      background: rgba(0,7,45,.60);
      backdrop-filter: blur(22px);
      -webkit-backdrop-filter: blur(22px);
      border: 1px solid rgba(255,255,255,.13);
      box-shadow: 0 20px 64px rgba(0,7,45,.42);
      pointer-events: auto;
      transition: background .3s ease, box-shadow .3s ease;
    }
    .lrc-nav.scrolled {
      background: rgba(0,7,45,.82);
      box-shadow: 0 24px 72px rgba(0,7,45,.56);
    }

    /* Brand */
    .lrc-brand {
      display: flex; align-items: center;
      transition: opacity .24s ease;
    }
    .lrc-brand:hover { opacity: .84; }
    .lrc-brand-logo {
      height: 44px;
      width: auto;
      display: block;
      object-fit: contain;
      transition: transform .28s var(--ease), filter .28s ease;
      filter: drop-shadow(0 2px 12px rgba(18,107,163,.25));
    }
    .lrc-brand:hover .lrc-brand-logo {
      transform: scale(1.04);
      filter: drop-shadow(0 4px 18px rgba(30,167,141,.35));
    }

    /* Menu */
    .lrc-menu {
      display: flex; justify-content: center; list-style: none; gap: 2px;
    }
    .lrc-menu li { position: relative; }
    .lrc-menu a {
      display: inline-flex; align-items: center; gap: 5px;
      padding: 10px 15px;
      border-radius: var(--r-pill);
      font-size: 14px; font-weight: 600;
      color: rgba(255,255,255,.72);
      transition: color .22s ease, background .22s ease, transform .22s ease;
    }
    .lrc-menu a:hover { color: #fff; background: rgba(255,255,255,.08); }
    .lrc-menu .caret {
      font-size: 9px; opacity: .55;
      transition: transform .22s ease;
      display: inline-block;
    }
    .lrc-menu li:hover .caret { transform: rotate(180deg); }

    /* Nav actions */
    .lrc-nav-actions {
      display: flex; align-items: center; gap: 10px;
    }
    .lrc-nav-icon {
      width: 44px; height: 44px;
      display: inline-flex; align-items: center; justify-content: center;
      border-radius: 50%;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.10);
      color: rgba(255,255,255,.68);
      font-size: 14px;
      transition: all .22s var(--ease);
    }
    .lrc-nav-icon:hover { background: rgba(255,255,255,.12); color: #fff; transform: scale(1.04); }

    .lrc-nav-cta {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 11px 22px;
      border-radius: var(--r-pill);
      background: var(--secondary);
      color: #fff;
      font-size: 14px; font-weight: 700; letter-spacing: .01em;
      box-shadow: 0 8px 28px rgba(30,167,141,.35);
      position: relative; overflow: hidden;
      transition: transform .28s var(--ease), box-shadow .28s var(--ease);
    }
    .lrc-nav-cta::before {
      content: "";
      position: absolute; inset: 0;
      background: linear-gradient(110deg, transparent, rgba(255,255,255,.24), transparent);
      transform: translateX(-200%);
      transition: transform .6s var(--ease);
    }
    .lrc-nav-cta:hover::before { transform: translateX(200%); }
    .lrc-nav-cta:hover { transform: translateY(-2px); box-shadow: 0 16px 44px rgba(30,167,141,.48); }

    /* Mobile toggle */
    .lrc-mobile-toggle {
      display: none;
      width: 46px; height: 46px;
      align-items: center; justify-content: center;
      border-radius: 50%;
      background: rgba(255,255,255,.07);
      border: 1px solid rgba(255,255,255,.10);
      color: rgba(255,255,255,.8);
      font-size: 15px;
      transition: all .22s ease;
    }
    .lrc-mobile-toggle:hover { background: rgba(255,255,255,.13); color: #fff; }

    /* Mobile drawer */
    .lrc-mobile-panel {
      position: fixed;
      top: 86px; left: 20px; right: 20px;
      z-index: 99;
      padding: 14px;
      border-radius: var(--r-lg);
      background: rgba(0,7,45,.94);
      border: 1px solid rgba(255,255,255,.11);
      box-shadow: 0 32px 80px rgba(0,7,45,.5);
      transform: translateY(-14px);
      opacity: 0; visibility: hidden;
      transition: all .26s var(--ease);
    }
    .lrc-mobile-panel.open { transform: translateY(0); opacity: 1; visibility: visible; }
    .lrc-mobile-panel a {
      display: block; padding: 12px 16px;
      border-radius: 14px;
      font-size: 15px; font-weight: 600;
      color: rgba(255,255,255,.78);
      transition: all .18s ease;
    }
    .lrc-mobile-panel a:hover { background: rgba(255,255,255,.07); color: #fff; }

    /* ─────────────────────────────────────────────
       HERO — wrapper
    ───────────────────────────────────────────── */
    .lrc-hero {
      position: relative;
      min-height: 100vh;
      display: flex; flex-direction: column;
      overflow: hidden;
    }

    /* ── Background photo ── */
    .lrc-hero-bg {
      position: absolute; inset: 0; z-index: 0;
    }
    .lrc-hero-bg img {
      width: 100%; height: 100%;
      object-fit: cover; object-position: center 30%;
      transform: scale(1.06);
      will-change: transform;
    }

    /* ── Gradient overlays ── */
    .lrc-hero-overlay {
      position: absolute; inset: 0; z-index: 1;
      background:
        var(--grad-hero-l),
        var(--grad-hero-b),
        var(--grad-hero-t);
    }

    /* ── Aurora glow blobs ── */
    .lrc-aurora {
      position: absolute; inset: 0; z-index: 2; pointer-events: none;
    }
    .lrc-aurora::before {
      content: "";
      position: absolute;
      width: 700px; height: 700px;
      top: -15%; right: 5%;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(30,167,141,.24), transparent 68%);
      filter: blur(64px);
      animation: aurora 13s ease-in-out infinite alternate;
    }
    .lrc-aurora::after {
      content: "";
      position: absolute;
      width: 450px; height: 450px;
      bottom: 20%; right: 28%;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(18,107,163,.20), transparent 68%);
      filter: blur(52px);
      animation: aurora 18s ease-in-out infinite alternate-reverse;
    }

    /* ── Grid texture ── */
    .lrc-grid-texture {
      position: absolute; inset: 0; z-index: 3; pointer-events: none;
      background-image:
        linear-gradient(rgba(18,107,163,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(18,107,163,.035) 1px, transparent 1px);
      background-size: 52px 52px;
      mask-image: radial-gradient(ellipse 65% 80% at 78% 45%, transparent 38%, rgba(0,0,0,.45) 100%);
      -webkit-mask-image: radial-gradient(ellipse 65% 80% at 78% 45%, transparent 38%, rgba(0,0,0,.45) 100%);
    }

    /* ── Decorative orbit rings ── */
    .lrc-ring-wrap { position: absolute; z-index: 4; pointer-events: none; }
    .lrc-ring-wrap--1 { top: 8%; right: 6%; }
    .lrc-ring-wrap--2 { top: 15%; right: 13%; }
    .lrc-ring {
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,.09);
    }
    .lrc-ring--1 {
      width: 380px; height: 380px;
      box-shadow: inset 0 0 0 40px rgba(18,107,163,.04);
      animation: spin 26s linear infinite;
    }
    .lrc-ring--2 {
      width: 230px; height: 230px;
      border-color: rgba(30,167,141,.13);
      animation: spin 17s linear infinite reverse;
    }

    /* ── Floating "live data" chip ── */
    .lrc-live-chip {
      position: absolute;
      top: 18%; right: 10%;
      z-index: 8;
      display: inline-flex; align-items: center; gap: 12px;
      padding: 14px 18px;
      border-radius: 22px;
      background: rgba(0,7,45,.62);
      border: 1px solid rgba(255,255,255,.13);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      color: #fff;
      font-size: 13px; font-weight: 600; line-height: 1.45;
      box-shadow: 0 24px 64px rgba(0,7,45,.4);
      opacity: 0;
      animation: chipIn 1s var(--ease) 1.3s forwards, floatChip 8s ease-in-out 2.3s infinite;
    }
    .lrc-live-chip-icon {
      flex-shrink: 0;
      width: 38px; height: 38px;
      border-radius: 12px;
      display: grid; place-items: center;
      background: var(--grad-brand);
      font-size: 16px; color: #fff;
      box-shadow: 0 8px 20px rgba(30,167,141,.35);
    }
    .lrc-live-chip-text strong { display: block; font-weight: 800; letter-spacing: -.01em; }
    .lrc-live-chip-text span   { display: block; font-size: 11px; color: rgba(255,255,255,.55); margin-top: 2px; letter-spacing: .04em; }

    /* ── Scroll indicator ── */
    .lrc-scroll-hint {
      position: absolute;
      bottom: 180px; right: 52px;
      z-index: 10;
      display: flex; flex-direction: column; align-items: center; gap: 8px;
      color: rgba(255,255,255,.38);
      font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
      opacity: 0; animation: fadeIn .8s ease 2s forwards;
    }
    .lrc-scroll-line {
      width: 1px; height: 52px;
      background: linear-gradient(to bottom, rgba(255,255,255,.5), transparent);
      animation: scrollLine 2.2s ease-in-out infinite;
    }

    /* ─────────────────────────────────────────────
       HERO — inner layout
    ───────────────────────────────────────────── */
    .lrc-hero-inner {
      position: relative; z-index: 10;
      display: flex; flex-direction: column; justify-content: flex-end;
      flex: 1;
      padding: 0 340px;
    }

    .lrc-hero-content {
      max-width: 740px;
      padding-bottom: 64px;
      transition: opacity .24s ease, transform .24s ease;
    }
    .lrc-hero-content.is-switching { opacity: .55; transform: translateY(6px); }

    /* Headline */
    .lrc-h1 {
      font-size: clamp(36px, 5vw, 52px);
      line-height: 1.03;
      font-weight: 800;
      letter-spacing: -.035em;
      color: #fff;
      margin-bottom: 28px;
      opacity: 0; animation: fadeInUp .95s var(--ease) .35s forwards;
    }
    .lrc-h1-line { display: block; }
    .lrc-h1-accent {
      display: block;
      background: var(--grad-brand);
      background-size: 200% 200%;
      -webkit-background-clip: text; background-clip: text;
      color: transparent;
      animation: gradShift 7s ease infinite;
    }

    /* Subtext */
    .lrc-hero-sub {
      font-size: 18px; line-height: 1.62; font-weight: 400;
      color: rgba(255,255,255,.68);
      max-width: 540px;
      margin-bottom: 36px;
      opacity: 0; animation: fadeInUp .95s var(--ease) .55s forwards;
    }

    /* CTA buttons row */
    .lrc-hero-actions {
      display: flex; flex-wrap: wrap; gap: 14px;
      opacity: 0; animation: fadeInUp .95s var(--ease) .72s forwards;
    }

    .lrc-btn-primary {
      display: inline-flex; align-items: center; gap: 10px;
      padding: 16px 30px;
      border-radius: var(--r-pill);
      background: var(--secondary);
      color: #fff;
      font-size: 15px; font-weight: 700; letter-spacing: .01em;
      box-shadow: 0 12px 40px rgba(30,167,141,.42);
      position: relative; overflow: hidden;
      transition: transform .3s var(--ease), box-shadow .3s var(--ease);
    }
    .lrc-btn-primary::before {
      content: "";
      position: absolute; inset: 0;
      background: linear-gradient(110deg, transparent, rgba(255,255,255,.26), transparent);
      transform: translateX(-220%);
      transition: transform .65s var(--ease);
      pointer-events: none;
    }
    .lrc-btn-primary:hover::before { transform: translateX(220%); }
    .lrc-btn-primary:hover { transform: translateY(-3px); box-shadow: 0 22px 56px rgba(30,167,141,.52); }
    .lrc-btn-primary .btn-bubble {
      display: inline-flex; align-items: center; justify-content: center;
      width: 28px; height: 28px; border-radius: 50%;
      background: rgba(255,255,255,.20);
      font-size: 10px;
      transition: transform .26s var(--ease);
      flex-shrink: 0;
    }
    .lrc-btn-primary:hover .btn-bubble { transform: rotate(45deg) scale(1.1); }

    .lrc-btn-ghost {
      display: inline-flex; align-items: center; gap: 10px;
      padding: 16px 30px;
      border-radius: var(--r-pill);
      background: rgba(255,255,255,.06);
      color: rgba(255,255,255,.85);
      font-size: 15px; font-weight: 600;
      border: 1px solid rgba(255,255,255,.16);
      backdrop-filter: blur(14px);
      transition: all .3s var(--ease);
    }
    .lrc-btn-ghost:hover {
      background: rgba(255,255,255,.11);
      border-color: rgba(255,255,255,.28);
      transform: translateY(-2px);
    }
    .lrc-btn-ghost i { color: var(--secondary); transition: transform .26s ease; }
    .lrc-btn-ghost:hover i { transform: scale(1.2); }

    /* ─────────────────────────────────────────────
       HERO — bottom slide cards (faixa contínua)
    ───────────────────────────────────────────── */
    .lrc-hero-bottom {
      position: relative; z-index: 10;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
      gap: 0;
      align-items: stretch;
      border-radius: 0;
      overflow: hidden;
      opacity: 0; animation: fadeInUp 1s var(--ease) 1.05s forwards;
    }

    .lrc-bot-card {
      position: relative;
      box-sizing: border-box;
      width: 100%;
      max-width: none;
      justify-self: stretch;
      padding: 28px 32px 26px;
      background: rgba(0, 14, 42, .48);
      backdrop-filter: blur(22px);
      -webkit-backdrop-filter: blur(22px);
      border: none;
      border-right: 1px solid rgba(255,255,255,.07);
      border-radius: 0;
      display: flex; flex-direction: column; gap: 10px;
      cursor: pointer;
      overflow: hidden;
      transition: background .35s var(--ease), box-shadow .35s var(--ease);
    }
    .lrc-bot-card:last-child {
      border-right: none;
    }
    /* faixa superior — slide ativo sempre visível; demais no :hover */
    .lrc-bot-card::before {
      content: "";
      position: absolute; top: 0; left: 0; right: 0; height: 3px;
      background: linear-gradient(90deg, var(--secondary) 0%, rgba(18,107,163,.95) 100%);
      transform: scaleX(0); transform-origin: left;
      transition: transform .4s var(--ease);
    }
    .lrc-bot-card::after {
      content: "";
      position: absolute; inset: 0;
      background: radial-gradient(circle at 50% 120%, rgba(30,167,141,.1), transparent 62%);
      opacity: 0; transition: opacity .35s ease;
      pointer-events: none;
    }
    .lrc-bot-card:not(.is-active) {
      background: rgba(0, 10, 36, .52);
    }
    .lrc-bot-card:not(.is-active) .lrc-bot-arrow {
      background: rgba(255,255,255,.07);
      color: rgba(255,255,255,.48);
    }
    .lrc-bot-card:not(.is-active):hover {
      background: rgba(255,255,255,.07);
    }
    .lrc-bot-card:not(.is-active):hover::before {
      transform: scaleX(1);
    }
    .lrc-bot-card:not(.is-active):hover::after {
      opacity: 1;
    }
    .lrc-bot-card.is-active {
      background: rgba(255,255,255,.12);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
    }
    .lrc-bot-card.is-active::before {
      transform: scaleX(1);
    }
    .lrc-bot-card.is-active::after {
      opacity: .55;
    }
    .lrc-bot-card.is-active .lrc-bot-arrow {
      background: var(--secondary);
      color: #fff;
      box-shadow: 0 8px 22px rgba(30,167,141,.38);
    }

    .lrc-bot-label {
      font-size: 10px; font-weight: 800;
      letter-spacing: .22em; text-transform: uppercase;
      color: rgba(255,255,255,.38);
    }
    .lrc-bot-title {
      font-size: 19px; font-weight: 800;
      letter-spacing: -.03em; color: #fff; line-height: 1.2;
    }
    .lrc-bot-desc {
      font-size: 13px; line-height: 1.65;
      color: rgba(255,255,255,.5);
      margin-top: 0;
      flex: 1;
    }
    .lrc-bot-arrow {
      margin-top: 12px;
      display: inline-flex; align-items: center; justify-content: center;
      width: 36px; height: 36px; border-radius: 50%;
      background: rgba(255,255,255,.1);
      color: rgba(255,255,255,.6);
      font-size: 12px;
      border: 1px solid rgba(255,255,255,.08);
      transition: all .28s var(--ease);
      align-self: flex-start;
    }
    .lrc-bot-card:hover .lrc-bot-arrow {
      background: var(--secondary);
      border-color: transparent;
      color: #fff;
      transform: rotate(45deg);
      box-shadow: 0 8px 22px rgba(30,167,141,.42);
    }
    .lrc-bot-card.is-active:hover .lrc-bot-arrow {
      transform: rotate(45deg);
    }

    /* ─────────────────────────────────────────────
       KEYFRAMES
    ───────────────────────────────────────────── */
    @keyframes fadeInDown {
      from { opacity: 0; transform: translateY(-22px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes fadeInUp {
      from { opacity: 0; transform: translateY(30px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes fadeIn {
      from { opacity: 0; }
      to   { opacity: 1; }
    }
    @keyframes chipIn {
      from { opacity: 0; transform: translateY(-16px) scale(.95); }
      to   { opacity: 1; transform: translateY(0) scale(1); }
    }
    @keyframes floatChip {
      0%, 100% { transform: translateY(0px); }
      50%      { transform: translateY(-10px); }
    }
    @keyframes pulse {
      0%, 100% { box-shadow: 0 0 0 0   rgba(30,167,141,.30); }
      50%       { box-shadow: 0 0 0 8px rgba(30,167,141,.07); }
    }
    @keyframes aurora {
      0%   { transform: translate(0,0) scale(1); }
      50%  { transform: translate(6%, -4%) scale(1.12); }
      100% { transform: translate(-3%, 5%) scale(.94); }
    }
    @keyframes spin {
      from { transform: rotate(0deg); }
      to   { transform: rotate(360deg); }
    }
    @keyframes gradShift {
      0%, 100% { background-position: 0% 50%; }
      50%       { background-position: 100% 50%; }
    }
    @keyframes scrollLine {
      0%, 100% { transform: scaleY(1); opacity: .9; transform-origin: top; }
      50%       { transform: scaleY(.3); opacity: .3; transform-origin: top; }
    }
    /* ─────────────────────────────────────────────
       RESPONSIVE
    ───────────────────────────────────────────── */
    @media (max-width: 1080px) {
      .lrc-header { padding: 0 72px; }
      .lrc-hero-inner { padding: 0 80px; }
      .lrc-hero-content { padding-bottom: 52px; }
    }
    @media (max-width: 860px) {
      .lrc-nav { grid-template-columns: auto auto; }
      .lrc-menu { display: none; }
      .lrc-mobile-toggle { display: inline-flex; }
      .lrc-live-chip { display: none; }
      .lrc-ring-wrap { display: none; }
      .lrc-scroll-hint { display: none; }
      .lrc-hero-inner { padding: 0 28px; }
      .lrc-h1 { font-size: clamp(32px, 8vw, 46px); }
      .lrc-hero-sub { font-size: 16px; }
      .lrc-hero-bottom {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
      }
      .lrc-bot-card {
        max-width: none;
        justify-self: stretch;
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,.08);
        padding: 16px 18px;
        gap: 4px;
        min-height: 72px;
      }
      .lrc-bot-card:last-child {
        border-bottom: none;
      }
      .lrc-bot-label {
        font-size: 9px;
        letter-spacing: .14em;
      }
      .lrc-bot-title {
        font-size: 15px;
        line-height: 1.2;
      }
      .lrc-bot-desc { display: none; }
      .lrc-bot-arrow {
        margin-top: 0;
        width: 28px;
        height: 28px;
        font-size: 10px;
        position: absolute;
        right: 14px;
        top: 50%;
        transform: translateY(-50%);
      }
    }
    @media (max-width: 560px) {
      .lrc-header { padding: 0 16px; }
      .lrc-hero-inner { padding: 0 20px; }
      .lrc-hero-content { padding-bottom: 40px; }
      .lrc-h1 { font-size: clamp(30px, 9vw, 40px); }
      .lrc-hero-actions { flex-direction: column; }
      .lrc-btn-primary, .lrc-btn-ghost { justify-content: center; }
      .lrc-brand-logo { height: 38px; }
      .lrc-bot-card { padding: 14px 16px; min-height: 68px; }
      .lrc-bot-title { font-size: 14px; }
      .lrc-bot-arrow { right: 10px; width: 26px; height: 26px; }
    }

    /* ═══════════════════════════════════════════
       EDITORIAL CARDS SECTION
    ═══════════════════════════════════════════ */
    .lrc-ed {
      position: relative;
      padding: 100px 340px;
      background: #f4f6fb;
      overflow: hidden;
    }

    /* Radial aurora (light version) */
    .lrc-ed::before {
      content: "";
      position: absolute; inset: 0;
      background:
        radial-gradient(circle at 8%  18%, rgba(18,107,163,.07), transparent 34%),
        radial-gradient(circle at 92% 78%, rgba(30,167,141,.06), transparent 30%),
        radial-gradient(circle at 52% 52%, rgba(18,107,163,.03), transparent 50%);
      pointer-events: none;
    }

    /* Grid texture (light) */
    .lrc-ed::after {
      content: "";
      position: absolute; inset: 0;
      background-image:
        linear-gradient(rgba(18,107,163,.020) 1px, transparent 1px),
        linear-gradient(90deg, rgba(18,107,163,.020) 1px, transparent 1px);
      background-size: 52px 52px;
      mask-image: radial-gradient(ellipse 95% 95% at 50% 50%, rgba(0,0,0,.55), transparent 100%);
      -webkit-mask-image: radial-gradient(ellipse 95% 95% at 50% 50%, rgba(0,0,0,.55), transparent 100%);
      pointer-events: none;
    }

    .lrc-ed-grid {
      position: relative; z-index: 1;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 20px;
      align-items: stretch;
    }

    /* ── Base card ── */
    .lrc-card {
      position: relative;
      border-radius: var(--r-lg);
      overflow: hidden;
      display: flex; flex-direction: column;
      will-change: transform;
      /* reveal initial state */
      opacity: 0;
      transform: translateY(40px);
      transition:
        opacity  .75s var(--ease),
        transform .75s var(--ease),
        box-shadow .40s var(--ease);
    }
    .lrc-card.revealed       { opacity: 1; transform: translateY(0); }
    .lrc-card.revealed:hover { transform: translateY(-5px); }

    /* Stagger */
    .lrc-card--a { transition-delay:  0s,  0s,  0s; }
    .lrc-card--b { transition-delay: .13s, .13s, 0s; }
    .lrc-card--c { transition-delay: .26s, .26s, 0s; }

    /* ── Light card ── */
    .lrc-card--light {
      background: #fff;
      box-shadow:
        0 2px 6px   rgba(0,18,76,.04),
        0 14px 44px rgba(0,18,76,.07),
        0 0   0 1px rgba(18,107,163,.05);
    }
    .lrc-card--light::before {
      content: "";
      position: absolute; top: 0; left: 10%; right: 10%; height: 1px;
      background: linear-gradient(90deg, transparent, rgba(18,107,163,.20), transparent);
      z-index: 2; pointer-events: none;
    }
    .lrc-card--light.revealed:hover {
      box-shadow:
        0 4px 12px  rgba(0,18,76,.06),
        0 28px 70px rgba(18,107,163,.13),
        0 0   0 1px rgba(18,107,163,.12);
    }

    /* ── Gradient card ── */
    .lrc-card--grad {
      background: linear-gradient(148deg, #126ba3 0%, #0e8f7a 55%, #1ea78d 100%);
      box-shadow:
        0 4px 16px  rgba(18,107,163,.22),
        0 22px 64px rgba(18,107,163,.24),
        0 0   0 1px rgba(30,167,141,.18);
      color: #fff;
    }
    /* dot texture */
    .lrc-card--grad::before {
      content: "";
      position: absolute; inset: 0;
      background-image: radial-gradient(circle, rgba(255,255,255,.11) 1px, transparent 1px);
      background-size: 22px 22px;
      pointer-events: none; z-index: 0;
    }
    /* diagonal stripe */
    .lrc-card--grad::after {
      content: "";
      position: absolute; inset: 0;
      background: repeating-linear-gradient(
        -45deg,
        rgba(255,255,255,.028) 0px, rgba(255,255,255,.028) 1px,
        transparent 1px, transparent 10px
      );
      pointer-events: none; z-index: 0;
    }
    .lrc-card--grad.revealed:hover {
      box-shadow:
        0 8px 28px  rgba(18,107,163,.30),
        0 40px 90px rgba(18,107,163,.32),
        0 0   0 1px rgba(30,167,141,.28);
    }

    /* ── Card head row ── */
    .lrc-card-head {
      display: flex; align-items: center; justify-content: space-between;
      padding: 26px 28px 18px;
      gap: 12px;
      position: relative; z-index: 1;
      flex-shrink: 0;
    }
    .lrc-card-label {
      font-size: 11px; font-weight: 700;
      letter-spacing: .20em; text-transform: uppercase;
      color: var(--muted); line-height: 1;
    }
    .lrc-card--grad .lrc-card-label { color: rgba(255,255,255,.60); }

    /* Diagonal arrow button */
    .lrc-card-arrow {
      display: inline-flex; align-items: center; justify-content: center;
      width: 38px; height: 38px; border-radius: 50%;
      background: rgba(18,107,163,.08);
      border: 1px solid rgba(18,107,163,.10);
      color: var(--primary);
      font-size: 12px;
      flex-shrink: 0;
      transition: all .28s var(--ease);
    }
    .lrc-card-arrow i {
      display: inline-block;
      transform: rotate(-45deg);
      transition: transform .28s var(--ease);
    }
    .lrc-card-arrow:hover { background: var(--primary); border-color: var(--primary); color: #fff; transform: scale(1.06); }
    .lrc-card-arrow:hover i { transform: rotate(0deg); }

    /* ── Title ── */
    .lrc-card-h3 {
      font-size: clamp(17px, 1.55vw, 22px);
      font-weight: 800;
      letter-spacing: -.03em; line-height: 1.22;
      color: var(--ink);
      padding: 0 28px;
      position: relative; z-index: 1;
    }
    .lrc-card--grad .lrc-card-h3 { color: #fff; }
    .lrc-card-h3--pad { padding-bottom: 28px; }

    /* ── Photo container ── */
    .lrc-card-photo { overflow: hidden; flex-shrink: 0; }
    .lrc-card-photo img {
      width: 100%; height: 210px;
      object-fit: cover; display: block;
      transition: transform .65s var(--ease);
    }
    .lrc-card.revealed:hover .lrc-card-photo img { transform: scale(1.04); }

    /* ── Card A: title grows → photo sticks to bottom ── */
    .lrc-card--a .lrc-card-h3  { flex: 1; padding-bottom: 24px; }
    .lrc-card--a .lrc-card-photo img { height: 210px; }

    /* ── Card B: blob photo top, foot auto-pushed to bottom ── */
    .lrc-card-blob-wrap {
      flex-shrink: 0;
      padding: 26px 26px 0;
      position: relative; z-index: 1;
    }
    .lrc-card-blob {
      width: 100%; height: 256px;
      object-fit: cover; display: block;
      border-radius: 48% 52% 38% 62% / 56% 44% 56% 44%;
      transition: border-radius .7s var(--ease), transform .45s var(--ease);
    }
    .lrc-card--b.revealed:hover .lrc-card-blob {
      border-radius: 52% 48% 62% 38% / 44% 56% 44% 56%;
      transform: scale(1.03);
    }
    .lrc-card-foot {
      margin-top: auto;
      padding: 20px 28px 30px;
      display: flex; flex-direction: column; gap: 12px;
      position: relative; z-index: 1;
    }

    /* Round CTA on gradient card */
    .lrc-card-round {
      display: inline-flex; align-items: center; justify-content: center;
      width: 46px; height: 46px; border-radius: 50%;
      background: rgba(255,255,255,.16);
      border: 1.5px solid rgba(255,255,255,.24);
      color: #fff; font-size: 15px;
      align-self: flex-start;
      margin-top: 8px;
      transition: all .32s var(--ease);
    }
    .lrc-card-round:hover {
      background: rgba(255,255,255,.30);
      border-color: rgba(255,255,255,.45);
      transform: rotate(45deg) scale(1.08);
    }

    /* ── Card C: photo grows → title sticks to bottom ── */
    .lrc-card--c .lrc-card-photo--grow {
      flex: 1; min-height: 0;
    }
    .lrc-card--c .lrc-card-photo--grow img { height: 100%; }

    /* ── Editorial responsive ── */
    @media (max-width: 1080px) {
      .lrc-ed { padding: 80px 72px; }
    }
    @media (max-width: 860px) {
      .lrc-ed { padding: 72px 28px; }
      .lrc-ed-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
      .lrc-card--c .lrc-card-photo--grow { flex: none; }
      .lrc-card--c .lrc-card-photo--grow img { height: 240px; }
      .lrc-card--a { transition-delay: 0s; }
      .lrc-card--b { transition-delay: 0s; }
      .lrc-card--c { transition-delay: 0s; }
    }
    @media (max-width: 560px) {
      .lrc-ed { padding: 60px 20px; }
      .lrc-card-h3 { font-size: 18px; }
    }

    /* ═══════════════════════════════════════════
       SERVICES SECTION
    ═══════════════════════════════════════════ */
    .lrc-srv {
      position: relative;
      padding: 110px 340px 90px;
      background: linear-gradient(180deg, #eef2f8 0%, #f6f9fc 50%, #eef2f8 100%);
      overflow: hidden;
      border-top: 1px solid rgba(18,107,163,.06);
    }

    .lrc-srv::before {
      content: "";
      position: absolute; inset: 0;
      background:
        radial-gradient(circle at 14% 28%, rgba(18,107,163,.06), transparent 32%),
        radial-gradient(circle at 86% 64%, rgba(30,167,141,.05), transparent 28%),
        radial-gradient(circle at 50% 0%,  rgba(18,107,163,.04), transparent 48%);
      pointer-events: none;
    }

    .lrc-srv::after {
      content: "";
      position: absolute; inset: 0;
      background-image:
        radial-gradient(circle, rgba(18,107,163,.025) 1px, transparent 1px);
      background-size: 28px 28px;
      mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, rgba(0,0,0,.5), transparent 100%);
      -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, rgba(0,0,0,.5), transparent 100%);
      pointer-events: none;
    }

    .lrc-srv-inner { position: relative; z-index: 1; }

    /* ── Header ── */
    .lrc-srv-head {
      text-align: center;
      margin-bottom: 54px;
    }
    .lrc-srv-label {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 8px 16px;
      border-radius: var(--r-pill);
      background: rgba(18,107,163,.06);
      border: 1px solid rgba(18,107,163,.08);
      font-size: 11px; font-weight: 700;
      letter-spacing: .20em; text-transform: uppercase;
      color: var(--primary);
      margin-bottom: 20px;
      opacity: 0; animation: fadeInDown .8s var(--ease) .1s forwards;
    }
    .lrc-srv-label-dot {
      width: 6px; height: 6px; border-radius: 50%;
      background: var(--secondary);
      box-shadow: 0 0 0 4px rgba(30,167,141,.14);
      animation: pulse 2.2s ease-in-out infinite;
    }
    .lrc-srv-h2 {
      font-size: clamp(26px, 3.2vw, 40px);
      line-height: 1.08;
      font-weight: 800;
      letter-spacing: -.04em;
      color: var(--ink);
      max-width: 580px;
      margin: 0 auto;
    }
    .lrc-srv-h2-it {
      font-style: italic;
      font-weight: 400;
    }

    /* ── Card grid (auto-fit: reflow when cards are hidden; no empty column) ── */
    .lrc-srv-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
      gap: 18px;
      margin-bottom: 46px;
      align-items: stretch;
    }

    /* ── Service card ── */
    .lrc-srv-card {
      position: relative;
      box-sizing: border-box;
      width: 100%;
      max-width: 520px;
      justify-self: center;
      border-radius: var(--r-lg);
      overflow: hidden;
      display: flex; flex-direction: column;
      background: #fff;
      box-shadow:
        0 2px 6px  rgba(0,18,76,.03),
        0 16px 48px rgba(0,18,76,.06),
        0 0  0 1px rgba(18,107,163,.04);
      cursor: pointer;
      opacity: 0; transform: translateY(36px);
      transition:
        opacity   .72s var(--ease),
        transform .72s var(--ease),
        box-shadow .35s var(--ease);
    }
    .lrc-srv-card.revealed       { opacity: 1; transform: translateY(0); }
    .lrc-srv-card.revealed:hover { transform: translateY(-5px); }

    .lrc-srv-card:nth-child(1) { transition-delay: 0s; }
    .lrc-srv-card:nth-child(2) { transition-delay: .09s; }
    .lrc-srv-card:nth-child(3) { transition-delay: .18s; }
    .lrc-srv-card:nth-child(4) { transition-delay: .27s; }

    .lrc-srv-card.revealed:hover {
      box-shadow:
        0 4px 14px  rgba(0,18,76,.06),
        0 30px 80px rgba(18,107,163,.14),
        0 0  0 1px rgba(30,167,141,.12);
    }

    /* ── Icon badge ── */
    .lrc-srv-badge {
      position: absolute;
      top: 18px; left: 18px; z-index: 3;
      width: 48px; height: 48px;
      border-radius: 16px;
      display: grid; place-items: center;
      background: var(--secondary);
      color: #fff; font-size: 18px;
      box-shadow:
        0 8px 22px rgba(30,167,141,.38),
        inset 0 1px 0 rgba(255,255,255,.24);
      transition: transform .32s var(--ease), box-shadow .32s var(--ease);
    }
    .lrc-srv-card.revealed:hover .lrc-srv-badge {
      transform: scale(1.06) rotate(-3deg);
      box-shadow: 0 12px 32px rgba(30,167,141,.48), inset 0 1px 0 rgba(255,255,255,.28);
    }

    /* ── Photo ── */
    .lrc-srv-photo {
      flex: 1; min-height: 260px;
      overflow: hidden;
      border-radius: 20px;
      margin: 8px 8px 0;
      position: relative;
    }
    .lrc-srv-photo img {
      width: 100%; height: 100%;
      object-fit: cover; display: block;
      transition: transform .72s var(--ease);
    }
    .lrc-srv-card.revealed:hover .lrc-srv-photo img { transform: scale(1.04); }

    /* photo hover shimmer */
    .lrc-srv-photo::after {
      content: "";
      position: absolute; inset: 0;
      background: linear-gradient(120deg, transparent 20%, rgba(255,255,255,.16) 50%, transparent 80%);
      transform: translateX(-150%);
      transition: transform .7s var(--ease);
      pointer-events: none;
    }
    .lrc-srv-card.revealed:hover .lrc-srv-photo::after { transform: translateX(150%); }

    /* ── Footer row ── */
    .lrc-srv-foot {
      display: flex; align-items: center; justify-content: space-between;
      padding: 18px 22px;
      gap: 10px;
    }
    .lrc-srv-name {
      font-size: 15px; font-weight: 700;
      letter-spacing: -.01em;
      color: var(--ink);
      line-height: 1.22;
    }
    .lrc-srv-go {
      display: inline-flex; align-items: center; justify-content: center;
      width: 36px; height: 36px; border-radius: 50%;
      background: rgba(18,107,163,.07);
      border: 1px solid rgba(18,107,163,.08);
      color: var(--primary);
      font-size: 12px;
      flex-shrink: 0;
      transition: all .28s var(--ease);
    }
    .lrc-srv-go i {
      display: inline-block;
      transform: rotate(-45deg);
      transition: transform .28s var(--ease);
    }
    .lrc-srv-card.revealed:hover .lrc-srv-go {
      background: var(--primary);
      border-color: var(--primary);
      color: #fff;
      box-shadow: 0 6px 20px rgba(18,107,163,.32);
    }
    .lrc-srv-card.revealed:hover .lrc-srv-go i { transform: rotate(0deg); }

    /* ── CTA button ── */
    .lrc-srv-cta-row {
      text-align: center;
      opacity: 0; transform: translateY(16px);
      transition: opacity .65s var(--ease) .35s, transform .65s var(--ease) .35s;
    }
    .lrc-srv-cta-row.revealed { opacity: 1; transform: translateY(0); }

    .lrc-srv-cta {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 14px 30px;
      border-radius: var(--r-pill);
      background: #fff;
      border: 1.5px solid rgba(18,107,163,.14);
      color: var(--ink);
      font-size: 14px; font-weight: 700;
      letter-spacing: .01em;
      box-shadow: 0 6px 22px rgba(0,18,76,.06);
      position: relative; overflow: hidden;
      transition: all .30s var(--ease);
    }
    .lrc-srv-cta::before {
      content: "";
      position: absolute; inset: 0;
      background: var(--grad-brand);
      opacity: 0;
      transition: opacity .32s ease;
    }
    .lrc-srv-cta span { position: relative; z-index: 1; }
    .lrc-srv-cta:hover {
      border-color: transparent;
      color: #fff;
      transform: translateY(-3px);
      box-shadow: 0 14px 40px rgba(18,107,163,.26);
    }
    .lrc-srv-cta:hover::before { opacity: 1; }

    /* ── Services responsive ── */
    @media (max-width: 1080px) {
      .lrc-srv { padding: 90px 72px 70px; }
      .lrc-srv-grid { gap: 14px; }
    }
    @media (max-width: 860px) {
      .lrc-srv { padding: 72px 28px 60px; }
      .lrc-srv-grid {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
        gap: 14px;
      }
      .lrc-srv-card { max-width: 100%; }
      .lrc-srv-card:nth-child(1),
      .lrc-srv-card:nth-child(2),
      .lrc-srv-card:nth-child(3),
      .lrc-srv-card:nth-child(4) { transition-delay: 0s; }
    }
    @media (max-width: 560px) {
      .lrc-srv { padding: 60px 20px 50px; }
      .lrc-srv-grid { grid-template-columns: minmax(0, 1fr); }
      .lrc-srv-photo { min-height: 220px; }
      .lrc-srv-h2 { font-size: clamp(24px, 7vw, 34px); }
    }

    /* ═══════════════════════════════════════════
       SERVICE MODALS
    ═══════════════════════════════════════════ */
    body.lrc-modal-open { overflow: hidden; }
    .lrc-modal {
      position: fixed; inset: 0; z-index: 300;
      display: grid; place-items: center;
      padding: 24px;
      opacity: 0; visibility: hidden;
      transition: opacity .28s ease, visibility .28s ease;
    }
    .lrc-modal.open { opacity: 1; visibility: visible; }
    .lrc-modal-backdrop {
      position: absolute; inset: 0;
      background: rgba(0,7,45,.72);
      backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
    }
    .lrc-modal-dialog {
      position: relative; z-index: 1;
      width: min(980px, 100%);
      background: #fff;
      border-radius: 28px;
      overflow: hidden;
      box-shadow: 0 36px 90px rgba(0,7,45,.42);
      display: grid;
      grid-template-columns: 1fr 1fr;
      transform: translateY(14px) scale(.98);
      transition: transform .3s var(--ease);
    }
    .lrc-modal.open .lrc-modal-dialog { transform: translateY(0) scale(1); }
    .lrc-modal-media { min-height: 420px; }
    .lrc-modal-media img {
      width: 100%; height: 100%;
      object-fit: cover;
      display: block;
    }
    .lrc-modal-body {
      padding: 42px 38px;
      color: var(--ink);
      display: flex;
      flex-direction: column;
    }
    .lrc-modal-label {
      display: inline-flex; align-items: center; gap: 8px;
      width: fit-content;
      padding: 7px 14px;
      border-radius: var(--r-pill);
      font-size: 10px; font-weight: 700;
      letter-spacing: .18em; text-transform: uppercase;
      color: var(--primary);
      background: rgba(18,107,163,.06);
      border: 1px solid rgba(18,107,163,.11);
      margin-bottom: 16px;
    }
    .lrc-modal-title {
      font-size: clamp(24px, 2.6vw, 34px);
      font-weight: 800;
      letter-spacing: -.03em;
      line-height: 1.14;
      margin-bottom: 14px;
    }
    .lrc-modal-text {
      font-size: 15px;
      line-height: 1.66;
      color: #3d4a66;
      margin-bottom: 24px;
    }
    .lrc-modal-list {
      list-style: none;
      display: flex; flex-direction: column; gap: 10px;
      margin-bottom: 28px;
    }
    .lrc-modal-list li {
      font-size: 14px; line-height: 1.45;
      color: #22304c;
      display: flex; align-items: flex-start; gap: 8px;
    }
    .lrc-modal-list i { color: var(--secondary); margin-top: 2px; }
    .lrc-modal-wa {
      margin-top: auto;
      display: inline-flex; align-items: center; gap: 10px;
      width: fit-content;
      padding: 13px 22px;
      border-radius: var(--r-pill);
      background: #25d366;
      color: #fff;
      font-size: 14px; font-weight: 700;
      box-shadow: 0 10px 30px rgba(37,211,102,.34);
      transition: transform .28s var(--ease), box-shadow .28s var(--ease), background .28s ease;
    }
    .lrc-modal-wa:hover {
      transform: translateY(-2px);
      background: #20bf5a;
      box-shadow: 0 14px 40px rgba(37,211,102,.42);
    }
    .lrc-modal-close {
      position: absolute; z-index: 2;
      top: 14px; right: 14px;
      width: 38px; height: 38px;
      border-radius: 50%;
      background: rgba(0,7,45,.65);
      border: 1px solid rgba(255,255,255,.22);
      color: #fff;
      display: inline-flex; align-items: center; justify-content: center;
      font-size: 15px;
      transition: all .24s ease;
    }
    .lrc-modal-close:hover { background: rgba(0,7,45,.88); transform: scale(1.05); }

    @media (max-width: 860px) {
      .lrc-modal { padding: 18px; }
      .lrc-modal-dialog { grid-template-columns: 1fr; max-height: 88vh; overflow: auto; }
      .lrc-modal-media { min-height: 220px; }
      .lrc-modal-body { padding: 28px 22px; }
    }

    /* ═══════════════════════════════════════════
       PHILOSOPHY SECTION
    ═══════════════════════════════════════════ */
    .lrc-phi {
      padding: 80px 340px 100px;
      background: #f4f6fb;
      position: relative;
    }

    /* ── Dark main card ── */
    .lrc-phi-card {
      position: relative;
      border-radius: 28px 28px 0 0;
      overflow: hidden;
      padding: 64px 68px 60px;
      background:
        radial-gradient(circle at 88% 14%, rgba(30,167,141,.30), transparent 26%),
        radial-gradient(circle at 10% 80%, rgba(18,107,163,.24), transparent 28%),
        radial-gradient(circle at 55% 50%, rgba(18,107,163,.10), transparent 55%),
        var(--ink);
      box-shadow:
        0 4px 20px  rgba(0,7,45,.12),
        0 40px 100px rgba(0,7,45,.22),
        0 0   0 1px rgba(30,167,141,.10);
      opacity: 0; transform: translateY(44px);
      transition: opacity .85s var(--ease), transform .85s var(--ease);
    }
    .lrc-phi-card.revealed { opacity: 1; transform: translateY(0); }

    /* Grid texture on dark card */
    .lrc-phi-card::before {
      content: "";
      position: absolute; inset: 0;
      background-image:
        linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
      background-size: 48px 48px;
      mask-image: radial-gradient(ellipse 90% 80% at 60% 40%, rgba(0,0,0,.45), transparent 100%);
      -webkit-mask-image: radial-gradient(ellipse 90% 80% at 60% 40%, rgba(0,0,0,.45), transparent 100%);
      pointer-events: none;
    }
    /* Diagonal stripes */
    .lrc-phi-card::after {
      content: "";
      position: absolute; inset: 0;
      background: repeating-linear-gradient(
        -45deg,
        rgba(255,255,255,.018) 0px, rgba(255,255,255,.018) 1px,
        transparent 1px, transparent 12px
      );
      pointer-events: none;
    }

    /* ── Floating ambient orbs ── */
    .lrc-phi-orb {
      position: absolute; border-radius: 50%;
      pointer-events: none; filter: blur(56px);
    }
    .lrc-phi-orb--1 {
      width: 420px; height: 420px;
      top: -20%; right: -6%;
      background: radial-gradient(circle, rgba(30,167,141,.28), transparent 68%);
      animation: aurora 14s ease-in-out infinite alternate;
    }
    .lrc-phi-orb--2 {
      width: 280px; height: 280px;
      bottom: -10%; left: 4%;
      background: radial-gradient(circle, rgba(18,107,163,.22), transparent 68%);
      animation: aurora 19s ease-in-out infinite alternate-reverse;
    }

    /* ── Label pill (inside dark card) ── */
    .lrc-phi-label {
      display: inline-flex; align-items: center; gap: 9px;
      padding: 8px 16px;
      border-radius: var(--r-pill);
      background: rgba(255,255,255,.07);
      border: 1px solid rgba(255,255,255,.11);
      font-size: 11px; font-weight: 700;
      letter-spacing: .20em; text-transform: uppercase;
      color: rgba(255,255,255,.72);
      margin-bottom: 28px;
      position: relative; z-index: 1;
      width: fit-content;
    }
    .lrc-phi-label-dot {
      width: 6px; height: 6px; border-radius: 50%;
      background: var(--secondary);
      box-shadow: 0 0 0 4px rgba(30,167,141,.20);
      animation: pulse 2.2s ease-in-out infinite;
    }

    /* ── Big title ── */
    .lrc-phi-h2 {
      font-size: clamp(30px, 3.4vw, 46px);
      font-weight: 800;
      letter-spacing: -.035em;
      line-height: 1.04;
      color: #fff;
      max-width: 760px;
      margin-bottom: 14px;
      position: relative; z-index: 1;
    }
    .lrc-phi-rule {
      display: inline-block;
      width: 72px; height: 4px;
      border-radius: 2px;
      background: linear-gradient(90deg, var(--secondary), var(--primary));
      vertical-align: middle;
      margin-left: 14px;
      margin-bottom: 8px;
      box-shadow: 0 0 16px rgba(30,167,141,.45);
    }
    .lrc-phi-sub {
      font-size: 16px; line-height: 1.65;
      color: rgba(255,255,255,.55);
      max-width: 520px;
      margin-bottom: 44px;
      position: relative; z-index: 1;
    }

    /* ── 4-col feature grid ── */
    .lrc-phi-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
      position: relative; z-index: 1;
    }

    .lrc-phi-item {
      padding: 24px 24px 28px;
      border-radius: 20px;
      background: rgba(255,255,255,.065);
      border: 1px solid rgba(255,255,255,.09);
      display: flex; flex-direction: column; gap: 12px;
      transition: background .30s var(--ease), transform .30s var(--ease), box-shadow .30s var(--ease);
      cursor: default;
    }
    .lrc-phi-item:hover {
      background: rgba(255,255,255,.10);
      transform: translateY(-4px);
      box-shadow: 0 16px 44px rgba(0,7,45,.24);
    }

    /* Icon */
    .lrc-phi-icon {
      display: inline-flex; align-items: center; justify-content: center;
      width: 44px; height: 44px; border-radius: 14px;
      background: rgba(30,167,141,.14);
      border: 1px solid rgba(30,167,141,.18);
      color: var(--secondary);
      font-size: 17px;
      flex-shrink: 0;
      transition: all .30s var(--ease);
    }
    .lrc-phi-item:hover .lrc-phi-icon {
      background: rgba(30,167,141,.22);
      box-shadow: 0 0 0 6px rgba(30,167,141,.10);
      transform: scale(1.08) rotate(-4deg);
    }

    .lrc-phi-item strong {
      display: block;
      font-size: 16px; font-weight: 800;
      letter-spacing: -.02em; color: #fff;
      line-height: 1.2;
    }
    .lrc-phi-item p {
      margin: 0;
      font-size: 14px; line-height: 1.7;
      color: rgba(255,255,255,.60);
    }

    /* ── Stats strip (below dark card) ── */
    .lrc-phi-stats {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      margin-top: 0;
      border-radius: 0 0 28px 28px;
      overflow: hidden;
      opacity: 0; transform: translateY(24px);
      transition: opacity .75s var(--ease) .25s, transform .75s var(--ease) .25s;
    }
    .lrc-phi-stats.revealed { opacity: 1; transform: translateY(0); }

    .lrc-phi-stat {
      padding: 36px 40px;
      background: #fff;
      border-top: 1px solid rgba(18,107,163,.07);
      display: flex; flex-direction: column; gap: 8px;
      position: relative;
      transition: background .28s ease;
    }
    .lrc-phi-stat:not(:last-child)::after {
      content: "";
      position: absolute; top: 20%; right: 0; bottom: 20%;
      width: 1px;
      background: linear-gradient(to bottom, transparent, rgba(18,107,163,.12), transparent);
    }
    .lrc-phi-stat:hover { background: rgba(18,107,163,.03); }

    .lrc-phi-num {
      display: block;
      font-size: clamp(32px, 3vw, 48px);
      font-weight: 800;
      letter-spacing: -.035em;
      line-height: 1;
      background: var(--grad-brand);
      -webkit-background-clip: text; background-clip: text;
      color: transparent;
    }
    .lrc-phi-stat span {
      font-size: 11px; font-weight: 700;
      letter-spacing: .18em; text-transform: uppercase;
      color: var(--muted);
      line-height: 1.4;
    }

    /* ── Philosophy responsive ── */
    @media (max-width: 1080px) {
      .lrc-phi { padding: 70px 72px 80px; }
      .lrc-phi-card { padding: 52px 48px 48px; }
    }
    @media (max-width: 860px) {
      .lrc-phi { padding: 60px 28px 70px; }
      .lrc-phi-card { padding: 40px 32px 36px; }
      .lrc-phi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .lrc-phi-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .lrc-phi-stat:nth-child(2)::after { display: none; }
    }
    @media (max-width: 560px) {
      .lrc-phi { padding: 50px 20px 60px; }
      .lrc-phi-card { padding: 32px 24px 28px; }
      .lrc-phi-grid { grid-template-columns: minmax(0, 1fr); }
      .lrc-phi-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .lrc-phi-h2 { font-size: clamp(24px, 7vw, 34px); }
    }

    /* ═══════════════════════════════════════════
       CTA BANNER SECTION
    ═══════════════════════════════════════════ */
    .lrc-cta-sec {
      padding: 0 340px 110px;
      background: #f4f6fb;
    }

    /* ── Card wrapper ── */
    .lrc-cta-card {
      position: relative;
      border-radius: 32px;
      overflow: hidden;
      min-height: 440px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 40px 48px;
      opacity: 0; transform: scale(.97) translateY(28px);
      transition: opacity .90s var(--ease), transform .90s var(--ease);
    }
    .lrc-cta-card.revealed { opacity: 1; transform: scale(1) translateY(0); }

    /* ── BG photo ── */
    .lrc-cta-photo {
      position: absolute; inset: 0; z-index: 0; overflow: hidden;
    }
    .lrc-cta-photo img {
      width: 100%; height: 100%;
      object-fit: cover; object-position: center 30%;
      transform: scale(1.05);
      transition: transform 1.1s var(--ease);
      will-change: transform;
    }
    .lrc-cta-card.revealed:hover .lrc-cta-photo img { transform: scale(1.04); }

    /* ── Gradient overlays ── */
    .lrc-cta-overlay {
      position: absolute; inset: 0; z-index: 1;
      background:
        linear-gradient(115deg,
          rgba(0,7,45,.88)  0%,
          rgba(0,7,45,.62) 38%,
          rgba(0,7,45,.28) 65%,
          rgba(0,7,45,.08) 100%),
        linear-gradient(to top,
          rgba(0,7,45,.90)  0%,
          rgba(0,7,45,.35) 38%,
          transparent      65%);
    }

    /* ── Aurora glow on top of photo ── */
    .lrc-cta-aurora {
      position: absolute; inset: 0; z-index: 2; pointer-events: none;
    }
    .lrc-cta-aurora::before {
      content: "";
      position: absolute;
      width: 560px; height: 560px;
      top: -18%; right: 8%;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(30,167,141,.22), transparent 66%);
      filter: blur(64px);
      animation: aurora 13s ease-in-out infinite alternate;
    }
    .lrc-cta-aurora::after {
      content: "";
      position: absolute;
      width: 340px; height: 340px;
      bottom: -12%; right: 32%;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(18,107,163,.18), transparent 66%);
      filter: blur(52px);
      animation: aurora 18s ease-in-out infinite alternate-reverse;
    }

    /* ── Grid texture overlay ── */
    .lrc-cta-texture {
      position: absolute; inset: 0; z-index: 3; pointer-events: none;
      background-image:
        linear-gradient(rgba(255,255,255,.030) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.030) 1px, transparent 1px);
      background-size: 50px 50px;
      mask-image: radial-gradient(ellipse 70% 80% at 72% 40%, rgba(0,0,0,.5), transparent 100%);
      -webkit-mask-image: radial-gradient(ellipse 70% 80% at 72% 40%, rgba(0,0,0,.5), transparent 100%);
    }

    /* ── Badge (top-left) ── */
    .lrc-cta-badge {
      position: relative; z-index: 4;
      display: inline-flex; align-items: center; justify-content: center;
      width: 58px; height: 58px; border-radius: 50%;
      background: rgba(255,255,255,.90);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      color: var(--primary); font-size: 22px;
      box-shadow:
        0 6px 22px rgba(0,7,45,.28),
        inset 0 1px 0 rgba(255,255,255,.6);
      align-self: flex-start;
      flex-shrink: 0;
      transition: transform .32s var(--ease), box-shadow .32s var(--ease), color .22s ease;
    }
    .lrc-cta-card.revealed:hover .lrc-cta-badge {
      transform: scale(1.06) rotate(-6deg);
      color: var(--secondary);
      box-shadow: 0 12px 36px rgba(18,107,163,.34), inset 0 1px 0 rgba(255,255,255,.6);
    }

    /* ── Bottom content row ── */
    .lrc-cta-bottom {
      display: flex; align-items: flex-end; justify-content: space-between;
      gap: 36px;
      position: relative; z-index: 4;
    }

    /* Headline */
    .lrc-cta-h2 {
      font-size: clamp(26px, 3.2vw, 40px);
      font-weight: 800;
      letter-spacing: -.035em; line-height: 1.06;
      color: #fff;
      max-width: 520px;
    }
    .lrc-cta-h2 em {
      font-style: normal;
      background: linear-gradient(90deg, #ffffff, rgba(30,167,141,.85));
      -webkit-background-clip: text; background-clip: text;
      color: transparent;
    }

    /* Button group */
    .lrc-cta-btns {
      display: flex; align-items: center; gap: 10px;
      flex-shrink: 0;
    }

    /* Main pill CTA */
    .lrc-cta-btn {
      display: inline-flex; align-items: center; gap: 0;
      padding: 15px 30px;
      border-radius: var(--r-pill);
      background: var(--secondary);
      color: #fff; font-size: 14px; font-weight: 700; letter-spacing: .01em;
      box-shadow: 0 10px 32px rgba(30,167,141,.44);
      position: relative; overflow: hidden;
      transition: transform .30s var(--ease), box-shadow .30s var(--ease);
    }
    .lrc-cta-btn::before {
      content: "";
      position: absolute; inset: 0;
      background: linear-gradient(110deg, transparent, rgba(255,255,255,.26), transparent);
      transform: translateX(-210%); transition: transform .68s var(--ease);
    }
    .lrc-cta-btn:hover::before { transform: translateX(210%); }
    .lrc-cta-btn:hover {
      transform: translateY(-3px);
      box-shadow: 0 18px 50px rgba(30,167,141,.56);
    }

    /* Arrow button */
    .lrc-cta-arrow {
      display: inline-flex; align-items: center; justify-content: center;
      width: 52px; height: 52px; border-radius: 50%;
      background: var(--secondary);
      color: #fff; font-size: 16px;
      box-shadow: 0 10px 30px rgba(30,167,141,.42);
      transition: all .32s var(--ease);
      flex-shrink: 0;
    }
    .lrc-cta-arrow i {
      display: inline-block;
      transform: rotate(-45deg);
      transition: transform .28s var(--ease);
    }
    .lrc-cta-arrow:hover {
      transform: scale(1.08);
      background: var(--grad-brand);
      box-shadow: 0 16px 46px rgba(30,167,141,.56);
    }
    .lrc-cta-arrow:hover i { transform: rotate(0deg); }

    /* ── CTA responsive ── */
    @media (max-width: 1080px) {
      .lrc-cta-sec { padding: 0 72px 90px; }
    }
    @media (max-width: 860px) {
      .lrc-cta-sec { padding: 0 28px 72px; }
      .lrc-cta-card { padding: 32px; min-height: 380px; }
      .lrc-cta-bottom { flex-direction: column; align-items: flex-start; gap: 24px; }
      .lrc-cta-h2 { font-size: clamp(22px, 5.4vw, 30px); }
    }
    @media (max-width: 560px) {
      .lrc-cta-sec { padding: 0 20px 60px; }
      .lrc-cta-card { padding: 28px 24px; min-height: 340px; }
    }

    /* ═══════════════════════════════════════════
       PARTNERS STRIP
    ═══════════════════════════════════════════ */
    .lrc-par {
      padding: 32px 340px;
      background: #fff;
      border-top: 1px solid rgba(18,107,163,.07);
      border-bottom: 1px solid rgba(18,107,163,.06);
    }
    .lrc-par-inner {
      display: flex; align-items: center; justify-content: space-between;
      gap: 24px; flex-wrap: wrap;
    }
    .lrc-par-item {
      font-size: 15px; font-weight: 800;
      letter-spacing: -.01em;
      color: rgba(0,7,45,.32);
      white-space: nowrap;
      transition: color .24s ease;
      cursor: default;
    }
    .lrc-par-item:hover { color: rgba(0,7,45,.58); }
    .lrc-par-divider {
      width: 1px; height: 20px;
      background: rgba(18,107,163,.12);
      flex-shrink: 0;
    }

    /* ═══════════════════════════════════════════
       CONTACT FORM SECTION
    ═══════════════════════════════════════════ */
    .lrc-cf {
      padding: 80px 340px 100px;
      background: #f4f6fb;
      position: relative;
    }
    .lrc-cf::before {
      content: "";
      position: absolute; inset: 0;
      background:
        radial-gradient(circle at 8% 30%, rgba(18,107,163,.06), transparent 32%),
        radial-gradient(circle at 92% 70%, rgba(30,167,141,.05), transparent 28%);
      pointer-events: none;
    }

    .lrc-cf-card {
      position: relative; z-index: 1;
      display: grid;
      grid-template-columns: 1fr 1fr;
      border-radius: 28px;
      overflow: hidden;
      box-shadow:
        0 4px 18px  rgba(0,18,76,.06),
        0 28px 72px rgba(0,18,76,.09),
        0 0   0 1px rgba(18,107,163,.06);
      opacity: 0; transform: translateY(36px);
      transition: opacity .85s var(--ease), transform .85s var(--ease);
    }
    .lrc-cf-card.revealed { opacity: 1; transform: translateY(0); }

    /* ── Form side (left) ── */
    .lrc-cf-form-side {
      background: #fff;
      padding: 56px 52px;
    }
    .lrc-cf-tag {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 7px 14px;
      border-radius: var(--r-pill);
      background: rgba(18,107,163,.06);
      border: 1px solid rgba(18,107,163,.09);
      font-size: 10px; font-weight: 700;
      letter-spacing: .20em; text-transform: uppercase;
      color: var(--primary);
      margin-bottom: 18px;
    }
    .lrc-cf-h2 {
      font-size: clamp(26px, 2.8vw, 36px);
      font-weight: 800;
      letter-spacing: -.03em; line-height: 1.1;
      color: var(--ink);
      margin-bottom: 10px;
    }
    .lrc-cf-sub {
      font-size: 14px; line-height: 1.65;
      color: var(--muted);
      margin-bottom: 28px;
      max-width: 380px;
    }

    /* Grid inputs */
    .lrc-form-2col {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      margin-bottom: 0;
    }
    .lrc-ff { display: flex; flex-direction: column; gap: 7px; }
    .lrc-ff.full { grid-column: 1 / -1; }
    .lrc-fl {
      font-size: 12px; font-weight: 700;
      letter-spacing: .06em;
      color: rgba(0,7,45,.65);
    }
    .lrc-fi, .lrc-ft {
      padding: 13px 16px;
      border-radius: 14px;
      border: 1px solid rgba(18,107,163,.14);
      background: rgba(18,107,163,.025);
      font-family: var(--font);
      font-size: 14px; color: var(--ink);
      outline: none;
      transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
      width: 100%;
    }
    .lrc-fi::placeholder, .lrc-ft::placeholder {
      color: rgba(0,7,45,.28);
    }
    .lrc-fi:focus-visible, .lrc-ft:focus-visible {
      border-color: rgba(30,167,141,.44);
      box-shadow: 0 0 0 4px rgba(30,167,141,.10);
      transform: translateY(-1px);
    }
    .lrc-ft {
      min-height: 108px;
      resize: vertical;
    }
    .lrc-form-submit {
      margin-top: 18px;
      display: inline-flex; align-items: center; gap: 8px;
      padding: 15px 28px;
      border-radius: var(--r-pill);
      background: var(--grad-brand);
      color: #fff; font-size: 14px; font-weight: 700;
      font-family: var(--font);
      cursor: pointer; border: none;
      box-shadow: 0 10px 32px rgba(18,107,163,.28);
      position: relative; overflow: hidden;
      transition: transform .28s var(--ease), box-shadow .28s var(--ease);
    }
    .lrc-form-submit::before {
      content: "";
      position: absolute; inset: 0;
      background: linear-gradient(110deg, transparent, rgba(255,255,255,.24), transparent);
      transform: translateX(-210%); transition: transform .65s var(--ease);
    }
    .lrc-form-submit:hover::before { transform: translateX(210%); }
    .lrc-form-submit:hover {
      transform: translateY(-3px);
      box-shadow: 0 18px 48px rgba(18,107,163,.40);
    }

    /* ── Photo side (right) ── */
    .lrc-cf-photo-side {
      position: relative; overflow: hidden; min-height: 520px;
    }
    .lrc-cf-photo-side img {
      width: 100%; height: 100%;
      object-fit: cover; object-position: center 20%;
      transition: transform .75s var(--ease);
      display: block;
    }
    .lrc-cf-card.revealed:hover .lrc-cf-photo-side img { transform: scale(1.03); }
    .lrc-cf-overlay {
      position: absolute; inset: 0;
      background:
        linear-gradient(to bottom, transparent 25%, rgba(0,7,45,.78) 100%),
        linear-gradient(to right, rgba(0,7,45,.10), transparent 55%);
    }

    /* Floating contact chip */
    .lrc-cf-chip {
      position: absolute; bottom: 28px; left: 22px; right: 22px;
      display: flex; align-items: flex-start; gap: 14px;
      padding: 18px 20px;
      border-radius: 18px;
      background: rgba(0,7,45,.66);
      backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
      border: 1px solid rgba(255,255,255,.14);
      box-shadow: 0 16px 50px rgba(0,7,45,.32);
    }
    .lrc-cf-chip-icon {
      flex-shrink: 0;
      width: 42px; height: 42px; border-radius: 50%;
      display: grid; place-items: center;
      background: var(--secondary);
      color: #fff; font-size: 16px;
      box-shadow: 0 6px 20px rgba(30,167,141,.38);
    }
    .lrc-cf-chip p {
      margin: 0; font-size: 13px; line-height: 1.72;
      color: rgba(255,255,255,.80);
    }
    .lrc-cf-chip a { color: rgba(30,167,141,.95); font-weight: 700; }

    /* ═══════════════════════════════════════════
       NEWSLETTER STRIP
    ═══════════════════════════════════════════ */
    .lrc-nl {
      padding: 52px 340px;
      background:
        radial-gradient(circle at 10% 50%, rgba(18,107,163,.24), transparent 30%),
        radial-gradient(circle at 90% 50%, rgba(30,167,141,.18), transparent 28%),
        var(--ink);
      display: flex; align-items: center; justify-content: space-between;
      gap: 48px;
    }
    .lrc-nl-text h3 {
      font-size: 20px; font-weight: 800; letter-spacing: -.02em;
      color: #fff; margin-bottom: 6px; line-height: 1.34;
    }
    .lrc-nl-text p {
      font-size: 15px; line-height: 1.65;
      color: rgba(255,255,255,.54); margin: 0; max-width: 420px;
    }
    .lrc-nl-form {
      display: flex; align-items: center; gap: 10px;
      flex-shrink: 0; width: 380px;
    }
    .lrc-nl-input {
      flex: 1; padding: 14px 20px;
      border-radius: var(--r-pill);
      border: 1px solid rgba(255,255,255,.13);
      background: rgba(255,255,255,.07);
      backdrop-filter: blur(12px);
      font-family: var(--font); font-size: 14px; color: #fff; outline: none;
      transition: border-color .22s ease, box-shadow .22s ease;
    }
    .lrc-nl-input::placeholder { color: rgba(255,255,255,.32); }
    .lrc-nl-input:focus-visible {
      border-color: rgba(30,167,141,.44);
      box-shadow: 0 0 0 4px rgba(30,167,141,.12);
    }
    .lrc-nl-btn {
      display: inline-flex; align-items: center; justify-content: center;
      width: 48px; height: 48px; border-radius: 50%;
      background: var(--secondary); color: #fff; font-size: 15px;
      box-shadow: 0 8px 24px rgba(30,167,141,.35);
      border: none; cursor: pointer; font-family: var(--font);
      transition: all .28s var(--ease); flex-shrink: 0;
    }
    .lrc-nl-btn:hover { transform: scale(1.08); box-shadow: 0 12px 36px rgba(30,167,141,.52); background: var(--primary); }
    .lrc-nl-wa {
      display: inline-flex; align-items: center; gap: 10px;
      padding: 13px 22px;
      border-radius: var(--r-pill);
      background: #25d366;
      color: #fff;
      font-size: 14px; font-weight: 700;
      letter-spacing: .01em;
      box-shadow: 0 10px 30px rgba(37,211,102,.32);
      transition: transform .28s var(--ease), box-shadow .28s var(--ease), background .28s ease;
      flex-shrink: 0;
    }
    .lrc-nl-wa:hover {
      transform: translateY(-2px);
      box-shadow: 0 14px 38px rgba(37,211,102,.42);
      background: #20bf5a;
    }
    .lrc-nl-wa i { font-size: 16px; }

    /* ═══════════════════════════════════════════
       FOOTER
    ═══════════════════════════════════════════ */
    .lrc-footer {
      background: linear-gradient(180deg, #000820, var(--ink));
      padding: 84px 340px 0;
    }
    .lrc-footer-grid {
      display: grid;
      grid-template-columns: 1.7fr 1fr 1fr 1fr;
      gap: 60px;
      padding-bottom: 68px;
    }

    /* Brand col */
    .lrc-ft-brand { display: flex; flex-direction: column; align-items: flex-start; }
    .lrc-ft-logo {
      height: 46px; width: auto;
      object-fit: contain; display: block;
      margin-bottom: 24px;
      margin-left: -8px;
      filter: drop-shadow(0 2px 8px rgba(18,107,163,.25));
    }
    .lrc-ft-addr {
      font-size: 14px; line-height: 1.85;
      color: rgba(255,255,255,.40);
      font-style: normal;
      margin-bottom: 14px;
    }
    .lrc-ft-contact {
      margin-bottom: 26px;
    }
    .lrc-ft-contact a {
      display: block;
      font-size: 14px; line-height: 1.9;
      color: rgba(255,255,255,.42);
      transition: color .22s ease;
    }
    .lrc-ft-contact a:hover { color: rgba(30,167,141,.90); }

    .lrc-ft-cta {
      display: inline-flex; align-items: center; gap: 10px;
      padding: 12px 22px;
      border-radius: var(--r-pill);
      background: var(--secondary);
      color: #fff; font-size: 13px; font-weight: 700;
      box-shadow: 0 8px 24px rgba(30,167,141,.26);
      width: fit-content; align-self: flex-start;
      position: relative; overflow: hidden;
      transition: all .28s var(--ease);
    }
    .lrc-ft-cta::before {
      content: "";
      position: absolute; inset: 0;
      background: linear-gradient(110deg, transparent, rgba(255,255,255,.22), transparent);
      transform: translateX(-200%); transition: transform .60s var(--ease);
    }
    .lrc-ft-cta:hover::before { transform: translateX(200%); }
    .lrc-ft-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(30,167,141,.40); }
    .lrc-ft-cta-arrow {
      display: inline-flex; align-items: center; justify-content: center;
      width: 24px; height: 24px; border-radius: 50%;
      background: rgba(255,255,255,.18); font-size: 10px;
    }
    .lrc-ft-cta-arrow i { display: inline-block; transform: rotate(-45deg); }

    /* Nav columns */
    .lrc-ft-col h4 {
      font-size: 11px; font-weight: 700;
      letter-spacing: .20em; text-transform: uppercase;
      color: rgba(255,255,255,.28);
      margin-bottom: 20px;
    }
    .lrc-ft-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
    .lrc-ft-col .menu-item { list-style: none; margin: 0; padding: 0; }
    .lrc-ft-col a {
      font-size: 14px; color: rgba(255,255,255,.52);
      display: inline-block;
      transition: color .22s ease, transform .22s ease;
    }
    .lrc-ft-col a:hover { color: rgba(255,255,255,.90); transform: translateX(3px); }

    /* Bottom bar */
    .lrc-ft-bottom {
      display: flex; align-items: center; justify-content: space-between;
      gap: 20px; flex-wrap: wrap;
      border-top: 1px solid rgba(255,255,255,.07);
      padding: 24px 0 30px;
    }
    .lrc-ft-copy {
      font-size: 11px; font-weight: 700;
      letter-spacing: .12em; text-transform: uppercase;
      color: rgba(255,255,255,.22);
    }
    .lrc-ft-legal { display: flex; gap: 28px; }
    .lrc-ft-legal a {
      font-size: 11px; font-weight: 700;
      letter-spacing: .12em; text-transform: uppercase;
      color: rgba(255,255,255,.34);
      transition: color .22s ease;
    }
    .lrc-ft-legal a:hover { color: rgba(255,255,255,.70); }
    .lrc-ft-social { display: flex; gap: 10px; }
    .lrc-ft-social a {
      display: inline-flex; align-items: center; justify-content: center;
      width: 38px; height: 38px; border-radius: 50%;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.09);
      color: rgba(255,255,255,.50); font-size: 14px;
      transition: all .24s var(--ease);
    }
    .lrc-ft-social a:hover {
      background: rgba(30,167,141,.16);
      border-color: rgba(30,167,141,.28);
      color: rgba(30,167,141,.90);
      transform: translateY(-2px);
    }

    /* ── Partners + Contact + Newsletter + Footer responsive ── */
    @media (max-width: 1080px) {
      .lrc-par  { padding: 28px 72px; }
      .lrc-cf   { padding: 64px 72px 80px; }
      .lrc-cf-form-side { padding: 44px 38px; }
      .lrc-nl   { padding: 46px 72px; }
      .lrc-footer { padding: 72px 72px 0; }
      .lrc-footer-grid { gap: 44px; }
    }
    @media (max-width: 860px) {
      .lrc-par { padding: 22px 28px; }
      .lrc-par-inner { justify-content: center; gap: 16px 32px; }
      .lrc-par-divider { display: none; }
      .lrc-cf { padding: 50px 28px 72px; }
      .lrc-cf-card { grid-template-columns: minmax(0, 1fr); }
      .lrc-cf-photo-side { min-height: 280px; }
      .lrc-form-2col { grid-template-columns: minmax(0, 1fr); }
      .lrc-nl { padding: 44px 28px; flex-direction: column; align-items: flex-start; gap: 28px; }
      .lrc-nl-form { width: 100%; max-width: 420px; }
      .lrc-footer { padding: 60px 28px 0; }
      .lrc-footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
      .lrc-ft-brand { grid-column: 1 / -1; }
    }
    @media (max-width: 560px) {
      .lrc-par  { padding: 18px 20px; }
      .lrc-cf   { padding: 36px 20px 60px; }
      .lrc-cf-form-side { padding: 32px 24px; }
      .lrc-nl   { padding: 36px 20px; }
      .lrc-nl-form { max-width: 100%; }
      .lrc-footer { padding: 52px 20px 0; }
      .lrc-footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
      .lrc-ft-brand { grid-column: auto; }
      .lrc-ft-bottom { flex-direction: column; align-items: flex-start; gap: 16px; }
    }

    /* ═══════════════════════════════════════════
       FOCUS STATES (accessibility)
    ═══════════════════════════════════════════ */
    .lrc-btn-primary:focus-visible,
    .lrc-btn-ghost:focus-visible,
    .lrc-nav-cta:focus-visible,
    .lrc-srv-cta:focus-visible,
    .lrc-cta-btn:focus-visible,
    .lrc-form-submit:focus-visible,
    .lrc-nl-btn:focus-visible,
    .lrc-ft-cta:focus-visible {
      outline: 2px solid var(--secondary);
      outline-offset: 3px;
    }
    .lrc-menu a:focus-visible,
    .lrc-card-arrow:focus-visible,
    .lrc-srv-go:focus-visible,
    .lrc-cta-arrow:focus-visible,
    .lrc-bot-card:focus-visible,
    .lrc-ft-col a:focus-visible,
    .lrc-ft-legal a:focus-visible,
    .lrc-ft-social a:focus-visible,
    .lrc-nav-icon:focus-visible {
      outline: 2px solid rgba(30,167,141,.6);
      outline-offset: 2px;
      border-radius: inherit;
    }

    /* Mobile panel CTA highlight */
    .lrc-mobile-cta {
      color: var(--secondary) !important;
      font-weight: 700 !important;
    }

    /* Floating WhatsApp */
    .lrc-wa-float-wrap {
      position: fixed;
      right: 24px;
      bottom: 24px;
      z-index: 320;
    }
    .lrc-wa-fab {
      width: 62px; height: 62px;
      border: 0; border-radius: 50%;
      display: inline-flex; align-items: center; justify-content: center;
      text-decoration: none;
      -webkit-tap-highlight-color: transparent;
      background: linear-gradient(135deg, #25d366 0%, #1ea78d 100%);
      color: #fff;
      box-shadow: 0 16px 40px rgba(30,167,141,.45), 0 0 0 1px rgba(255,255,255,.22) inset;
      cursor: pointer;
      transition: transform .26s var(--ease), box-shadow .26s var(--ease), filter .26s ease;
      animation: lrcWaPulse 2.4s ease-in-out infinite;
    }
    .lrc-wa-fab i { font-size: 30px; }
    .lrc-wa-fab:hover {
      transform: translateY(-3px) scale(1.04);
      box-shadow: 0 22px 54px rgba(30,167,141,.5), 0 0 0 1px rgba(255,255,255,.28) inset;
      filter: saturate(1.05);
    }
    .lrc-wa-mini {
      position: absolute;
      right: 0;
      bottom: 76px;
      width: min(340px, calc(100vw - 24px));
      background: rgba(0,7,45,.92);
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 20px;
      box-shadow: 0 26px 60px rgba(0,7,45,.45);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      transform: translateY(14px) scale(.96);
      opacity: 0;
      visibility: hidden;
      transition: all .28s var(--ease);
      overflow: hidden;
    }
    .lrc-wa-mini.open {
      transform: translateY(0) scale(1);
      opacity: 1;
      visibility: visible;
    }
    .lrc-wa-mini-head {
      padding: 12px 14px;
      display: flex; align-items: center; justify-content: space-between; gap: 10px;
      background: linear-gradient(90deg, rgba(18,107,163,.36), rgba(30,167,141,.30));
      border-bottom: 1px solid rgba(255,255,255,.14);
      color: #fff;
    }
    .lrc-wa-mini-head strong { font-size: 13px; letter-spacing: .03em; }
    .lrc-wa-mini-close {
      width: 30px; height: 30px;
      border: 0; border-radius: 50%;
      display: inline-flex; align-items: center; justify-content: center;
      color: rgba(255,255,255,.92);
      background: rgba(0,7,45,.36);
      cursor: pointer;
      transition: all .2s ease;
    }
    .lrc-wa-mini-close:hover { background: rgba(0,7,45,.58); color: #fff; }
    .lrc-wa-mini-body {
      padding: 14px;
      color: rgba(255,255,255,.86);
      font-size: 14px;
      line-height: 1.56;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .lrc-wa-mini-text { margin: 0; }
    .lrc-wa-mini-cta {
      margin-top: 2px;
      display: inline-flex; align-items: center; gap: 10px;
      width: fit-content;
      padding: 11px 16px;
      border-radius: var(--r-pill);
      background: #25d366;
      color: #fff;
      font-weight: 700;
      font-size: 13px;
      box-shadow: 0 10px 24px rgba(37,211,102,.36);
      transition: transform .22s var(--ease), box-shadow .22s var(--ease), background .22s ease;
    }
    .lrc-wa-mini-cta:hover {
      transform: translateY(-2px);
      background: #1fbe5a;
      box-shadow: 0 14px 30px rgba(37,211,102,.45);
    }
    @keyframes lrcWaPulse {
      0%, 100% { box-shadow: 0 16px 40px rgba(30,167,141,.45), 0 0 0 0 rgba(37,211,102,.32); }
      50% { box-shadow: 0 20px 48px rgba(30,167,141,.5), 0 0 0 10px rgba(37,211,102,.06); }
    }
    @media (max-width: 560px) {
      .lrc-wa-float-wrap { right: 14px; bottom: 14px; }
      .lrc-wa-fab { width: 56px; height: 56px; }
      .lrc-wa-fab i { font-size: 26px; }
      .lrc-wa-mini { width: min(320px, calc(100vw - 20px)); bottom: 68px; }
    }
