/* ═══════════════════════════════════════════════════════
   main.css — Sun Lok Commerce Limited
   Shared base + all page-specific styles
   Path: /assets/main.css
═══════════════════════════════════════════════════════ */

/* ═══════════════ SHARED BASE + INDEX ═══════════════ */
/* ══════════════════════════════════════════════════
       TOKENS — Light
       Hero stays dark; body / sections = light
    ══════════════════════════════════════════════════ */
    :root {
      /* Page backgrounds */
      --page:      #f5f4f1;      /* warm off-white */
      --surface:   #edecea;      /* slightly darker section bg */
      --panel:     #e6e4e0;      /* card / rule bg */
      --panel-2:   #dddbd6;

      /* Borders */
      --border:    #d0cdc7;
      --border-lt: #e0ddd8;

      /* Text */
      --ink:       #0f1114;      /* near-black body text */
      --body:      #383530;      /* paragraph text */
      --mid:       #6b6660;      /* secondary text */
      --muted:     #9e9a94;      /* placeholders / labels */

      /* Accent — navy blue (same as before, but on light bg it pops well) */
      --em:        #1e3f7a;
      --em-lt:     #2a5298;
      --em-dk:     #162d58;

      /* Highlight — warm gold */
      --gold:      #b07d2a;
      --gold-lt:   #c99040;
      --gold-dk:   #7a5518;
      --gold-bg:   rgba(176,125,42,0.08);

      /* Dark hero tokens (used only in hero section) */
      --hero-bg:   #08090a;
      --hero-txt:  #dde5f0;
      --hero-mid:  rgba(200,210,230,0.72);

      --ff-head: 'DM Serif Display', Georgia, serif;
      --ff-ui:   'Inter', system-ui, sans-serif;
      --ff-body: 'Inter', system-ui, sans-serif;
      --nav-h:   72px;
      --ease:    cubic-bezier(0.16, 1, 0.3, 1);
      --max-w:   1400px;
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      background: var(--page);
      color: var(--body);
      font-family: var(--ff-body);
      font-weight: 400;
      line-height: 1.65;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }
    a { text-decoration: none; color: inherit; }
    ul { list-style: none; }
    ::selection { background: rgba(30,63,122,0.15); color: var(--ink); }
    ::-webkit-scrollbar { width: 3px; }
    ::-webkit-scrollbar-track { background: var(--page); }
    ::-webkit-scrollbar-thumb { background: var(--border); }

    /* ── Utilities ── */
    .lbl {
      font-family: var(--ff-ui); font-size: 0.58rem; font-weight: 700;
      letter-spacing: 0.3em; text-transform: uppercase; color: var(--em-lt);
      display: flex; align-items: center; gap: 12px;
    }
    .lbl::before { content:''; width:22px; height:1px; background:var(--em); display:block; flex-shrink:0; }
    .div-h { height:1px; background: var(--border); }

    /* ── Buttons ── */
    .btn-primary {
      display: inline-flex; align-items: center; gap: 10px;
      font-family: var(--ff-ui); font-size: 0.68rem; font-weight: 700;
      letter-spacing: 0.14em; text-transform: uppercase;
      background: var(--em); color: #fff;
      padding: 15px 32px; border: none; cursor: pointer; transition: background 0.25s;
    }
    .btn-primary:hover { background: var(--em-lt); }
    .btn-outline {
      display: inline-flex; align-items: center; gap: 10px;
      font-family: var(--ff-ui); font-size: 0.68rem; font-weight: 700;
      letter-spacing: 0.14em; text-transform: uppercase;
      border: 1px solid var(--border); color: var(--mid);
      padding: 15px 32px; transition: border-color 0.25s, color 0.25s;
      background: transparent;
    }
    .btn-outline:hover { border-color: var(--ink); color: var(--ink); }
    /* Ghost variant for dark hero background */
    .btn-ghost-light {
      display: inline-flex; align-items: center; gap: 10px;
      font-family: var(--ff-ui); font-size: 0.68rem; font-weight: 700;
      letter-spacing: 0.14em; text-transform: uppercase;
      border: 1px solid rgba(255,255,255,0.3); color: rgba(255,255,255,0.75);
      padding: 15px 32px; transition: border-color 0.25s, color 0.25s;
    }
    .btn-ghost-light:hover { border-color: rgba(255,255,255,0.8); color: #fff; }
    .arrow-link {
      display: inline-flex; align-items: center; gap: 12px;
      font-family: var(--ff-ui); font-size: 0.68rem; font-weight: 700;
      letter-spacing: 0.14em; text-transform: uppercase;
      color: var(--em-lt); transition: gap 0.25s;
    }
    .arrow-link:hover { gap: 18px; }
    .arrow-link svg { stroke: var(--em-lt); fill: none; }

    /* ══════════════════════════════════════════════════
       NAV — white on scroll, transparent over video hero
    ══════════════════════════════════════════════════ */
    .nav {
      position: fixed; top:0; left:0; right:0; z-index:200;
      height: var(--nav-h);
      display: flex; align-items: center;
      transition: background 0.4s, border-color 0.4s, box-shadow 0.4s;
      border-bottom: 1px solid transparent;
    }
    /* Over hero video — stays transparent / light text */
    .nav.at-hero { background: transparent; }
    /* After hero — white bar */
    .nav.scrolled {
      background: rgba(245,244,241,0.96);
      border-color: var(--border);
      backdrop-filter: blur(16px);
      box-shadow: 0 1px 16px rgba(0,0,0,0.06);
    }
    .nav-inner {
      max-width: var(--max-w); margin:0 auto; padding:0 60px;
      width:100%; display:flex; align-items:center; justify-content:space-between;
    }
    .nav-logo {
      display:flex; align-items:center;
      line-height:1;
    }

    .nav-logo img{
        height: 32px;   /* ← change this */
  width: auto;
  display: block;
  transition: opacity 0.15s;
    }
    .nav-logo:hover .nav-logo-img { opacity: 0.8; }
    .nav-links { display:flex; gap:40px; align-items:center; }
    .nav-links a {
      font-family: var(--ff-ui); font-size:0.7rem; font-weight:500;
      letter-spacing:0.1em; text-transform:uppercase;
      color: rgba(255,255,255,0.7); transition: color 0.2s; position:relative;
    }
    .nav.scrolled .nav-links a { color: var(--mid); }
    .nav-links a::after {
      content:''; position:absolute; bottom:-4px; left:0; right:0;
      height:1px; background: var(--gold);
      transform:scaleX(0); transform-origin:left;
      transition:transform 0.3s var(--ease);
    }
    .nav-links a:hover { color: #fff !important; }
    .nav.scrolled .nav-links a:hover { color: var(--ink) !important; }
    .nav-links a:hover::after, .nav-links a.active::after { transform:scaleX(1); }
    .nav-links a.active { color: #fff !important; }
    .nav.scrolled .nav-links a.active { color: var(--ink) !important; }
    .hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; }
    .hamburger span { display:block; width:22px; height:1px; background:#fff; transition:0.3s; }
    .nav.scrolled .hamburger span { background: var(--ink); }
    @media(max-width:960px){
      .nav-links { display:none; }
      .hamburger { display:flex; }
      .nav-inner { padding:0 24px; }
    }
    .mob-menu {
      display:none; position:fixed; inset:0; top:var(--nav-h); z-index:199;
      background: rgba(245,244,241,0.98); backdrop-filter:blur(16px);
      flex-direction:column; align-items:center; justify-content:center; gap:36px;
    }
    .mob-menu.open { display:flex; }
    .mob-menu a {
      font-family:var(--ff-ui); font-size:2rem; font-weight:700;
      letter-spacing:0.06em; text-transform:uppercase; color:var(--ink); transition:color 0.2s;
    }
    .mob-menu a:hover { color:var(--em-lt); }

    /* ══════════════════════════════════════════════════
       HERO — stays dark (video background)
    ══════════════════════════════════════════════════ */

/* ═══════════════ INNER PAGE HERO (shared across all inner pages) ═══════════════ */
.page-hero{position:relative;padding-top:var(--nav-h);min-height:52vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--hero-bg)}
.ph-img{position:absolute;inset:0;z-index:0}
.ph-img img{width:100%;height:100%;object-fit:cover;opacity:0.35;filter:grayscale(20%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 42%);mask-image:linear-gradient(to right,transparent 0%,black 42%)}
.ph-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(8,9,10,0.96) 0%,rgba(8,9,10,0.52) 50%,rgba(8,9,10,0.1) 100%),linear-gradient(to right,rgba(8,9,10,0.72) 0%,transparent 62%)}
.ph-content{position:relative;z-index:2;max-width:var(--max-w);margin:0 auto;padding:60px 60px 72px;width:100%}
.breadcrumb{display:flex;align-items:center;gap:10px;font-family:var(--ff-ui);font-size:0.62rem;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;color:rgba(200,210,230,0.42);margin-bottom:28px}
.breadcrumb a{color:rgba(200,210,230,0.42);transition:color 0.2s}.breadcrumb a:hover{color:rgba(200,210,230,0.85)}
.ph-lbl{font-family:var(--ff-ui);font-size:0.58rem;font-weight:700;letter-spacing:0.3em;text-transform:uppercase;color:rgba(200,170,100,0.78);display:flex;align-items:center;gap:12px;margin-bottom:20px}
.ph-lbl::before{content:'';width:22px;height:1px;background:rgba(200,170,100,0.5);display:block}
.page-hero h1{font-family:var(--ff-head);font-size:clamp(2.8rem,5.5vw,5.5rem);font-weight:400;color:var(--hero-txt);line-height:1.06;margin-bottom:20px}
.page-hero h1 strong{font-weight:300;color:rgba(200,170,100,0.92)}
.page-hero p{font-size:1rem;font-weight:300;color:rgba(200,210,230,0.62);max-width:520px;line-height:1.82}
@media(max-width:768px){.ph-content{padding:40px 24px 56px}}

    .hero {
      position:relative; z-index:1;
      min-height:100vh; display:flex; align-items:flex-end;
      overflow:hidden; background: var(--hero-bg);
    }
    .hero-vid { position:absolute; inset:0; z-index:0; overflow:hidden; }
    .hero-vid video { width:100%; height:100%; object-fit:cover; opacity:0.52; }
    .hero-overlay {
      position:absolute; inset:0; z-index:1;
      background:
        linear-gradient(to top, rgba(8,9,10,0.97) 0%, rgba(8,9,10,0.5) 35%, rgba(8,9,10,0.08) 65%),
        linear-gradient(to right, rgba(8,9,10,0.62) 0%, transparent 55%),
        radial-gradient(ellipse 60% 70% at 8% 65%, rgba(16,22,52,0.5) 0%, transparent 60%);
    }
    /* Ticker */
    .ticker-bar {
      position:absolute; top:var(--nav-h); left:0; right:0; z-index:3;
      height:34px; overflow:hidden;
      border-bottom:1px solid rgba(255,255,255,0.08);
      background:rgba(8,9,10,0.45); backdrop-filter:blur(8px);
      display:none; align-items:center;
    }
    .ticker-track { display:flex; white-space:nowrap; animation:tick 34s linear infinite; }
    .t-item {
      font-family:var(--ff-ui); font-size:0.56rem; font-weight:600;
      letter-spacing:0.22em; text-transform:uppercase;
      color:rgba(200,210,230,0.38);
      padding:0 28px; line-height:34px;
      display:flex; align-items:center; gap:8px;
      border-right:1px solid rgba(255,255,255,0.07);
    }
    .t-item b { color:rgba(200,170,100,0.8); font-weight:400; }
    @keyframes tick { from{transform:translateX(0)} to{transform:translateX(-50%)} }
    /* Hero content */
    .hero-body { position:relative; z-index:2; width:100%; padding-bottom:100px; }
    .hero-grid {
      max-width:var(--max-w); margin:0 auto; padding:0 60px;
      display:grid; grid-template-columns:1fr 400px; gap:80px; align-items:flex-end;
    }
    .hero-tag {
      display:inline-flex; align-items:center; gap:8px;
      font-family:var(--ff-ui); font-size:0.58rem; font-weight:700;
      letter-spacing:0.22em; text-transform:uppercase;
      color:rgba(200,170,100,0.9); border:1px solid rgba(200,170,100,0.25);
      background:rgba(200,170,100,0.07); padding:6px 14px; margin-bottom:28px;
    }
    .hero-tag::before { content:''; width:5px; height:5px; border-radius:50%; background:rgba(200,170,100,0.8); }
    .hero h1 {
      font-family:var(--ff-head);
      font-size: clamp(3.4rem, 6.2vw, 7.5rem);
      font-weight:400; line-height:1.02; color:var(--hero-txt);
      margin-bottom:28px; text-shadow:0 4px 60px rgba(0,0,0,0.5);
    }
    /* Weight variation — light contrast against regular base */
    .hero h1 strong { font-weight:300; color:rgba(200,170,100,0.95); font-style:normal; }
    .hero-sub {
      font-size:1.05rem; font-weight:300; color:var(--hero-mid);
      max-width:480px; line-height:1.85; margin-bottom:48px;
    }
    .hero-btns { display:flex; gap:12px; flex-wrap:wrap; }

    /* Hero stats — 3 inline text lines, no box */
    .hero-facts {
      align-self: flex-end;
      display: flex; flex-direction: column; gap: 0;
      padding-left: 40px;
    }
    .hf-row {
      display: flex; align-items: center; gap: 16px;
      padding: 20px 0;
      border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .hf-row:last-child { border-bottom: none; }
    .hf-val {
      font-family: var(--ff-ui); font-size: 2rem; font-weight: 700;
      color: #fff; line-height: 1; letter-spacing: -0.02em; flex-shrink: 0;
      min-width: 72px;
    }
    .hf-val sup { font-size: 0.9rem; color: rgba(200,170,100,0.9); vertical-align: super; letter-spacing: 0; }
    .hf-txt {
      font-size: 0.88rem; font-weight: 300;
      color: rgba(200,210,230,0.6); line-height: 1.4;
    }
    .hf-txt strong { display: block; font-weight: 600; color: rgba(220,230,245,0.9); font-size: 0.82rem; margin-bottom: 1px; }

    /* Scroll cue */
    .scroll-cue {
      position:absolute; bottom:32px; left:50%; transform:translateX(-50%);
      z-index:3; display:flex; flex-direction:column; align-items:center; gap:8px;
      font-family:var(--ff-ui); font-size:0.52rem; font-weight:600;
      letter-spacing:0.24em; text-transform:uppercase; color:rgba(200,210,230,0.35);
      animation:scrl 2.4s ease-in-out infinite;
    }
    .scroll-cue-line { width:1px; height:36px; background:linear-gradient(rgba(200,210,230,0.4), transparent); }
    @keyframes scrl {
      0%,100%{ opacity:0.35; transform:translateX(-50%) translateY(0); }
      50%    { opacity:0.9;  transform:translateX(-50%) translateY(7px); }
    }
    @media(max-width:900px){
      .hero-grid { grid-template-columns:1fr; padding:0 24px; }
      .hero-facts { display:none; }
      .hero h1 { font-size:clamp(3rem,10vw,5rem); }
    }

    /* ══════════════════════════════════════════════════
       CATEGORIES — boxed, photo fades to transparent at join
    ══════════════════════════════════════════════════ */
    .sec-cats {
      position:relative; z-index:1;
      background: var(--page);
      padding: 0 0 80px;
      overflow: hidden;
    }
    /* Gold wash — top right corner */
    .sec-cats::before {
      content:''; position:absolute;
      width:700px; height:700px; border-radius:50%;
      background: radial-gradient(circle, rgba(176,125,42,0.13) 0%, transparent 68%);
      top:-200px; right:-180px;
      pointer-events:none; z-index:0;
    }
    /* Navy wash — bottom left corner */
    .sec-cats::after {
      content:''; position:absolute;
      width:600px; height:600px; border-radius:50%;
      background: radial-gradient(circle, rgba(30,63,122,0.09) 0%, transparent 68%);
      bottom:-160px; left:-160px;
      pointer-events:none; z-index:0;
    }
    .cats-hd {
      max-width:var(--max-w); margin:0 auto;
      padding:100px 60px 64px;
      display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;
      position:relative; z-index:1;
    }
    .cats-hd-title {
      font-family:var(--ff-head);
      font-size: clamp(2.8rem, 5vw, 5.5rem);
      font-weight:400; color:var(--ink); line-height:1.06;
    }
    .cats-hd-title strong { font-weight:300; color:var(--gold); }
    .cats-hd-sub { font-size:1.2rem; font-weight:300; color:var(--mid); line-height:1.82; }
    @media(max-width:768px){ .cats-hd { grid-template-columns:1fr; padding:80px 24px 48px; } }

    /* Boxed wrapper */
    .cats-rows {
      max-width:var(--max-w); margin:0 auto; padding:0 60px;
      display:flex; flex-direction:column; gap:16px;
      position:relative; z-index:1;
    }
    @media(max-width:768px){ .cats-rows { padding:0 24px; gap:12px; } }

    /* Single row — card with overflow hidden for the mask to work */
    .cr {
      display:grid; grid-template-columns:1fr 1fr;
      min-height:40vh;
      text-decoration:none; color:inherit; cursor:pointer;
      position:relative; overflow:hidden;
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 2px;
      transition: border-color 0.3s var(--ease), box-shadow 0.3s var(--ease);
    }
    .cr:hover {
      border-color: var(--border);
      box-shadow: 0 8px 40px rgba(0,0,0,0.08);
    }
    .cr:hover .cr-photo-img { transform:scale(1.05); }
    .cr:hover .cr-name { color:var(--em-lt); }
    .cr:hover .cr-arrow-wrap { opacity:1; transform:translateX(0); }
    /* Left accent line */
    .cr::before {
      content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
      background: linear-gradient(to bottom, var(--em), var(--gold));
      transform:scaleY(0); transform-origin:top;
      transition:transform 0.4s var(--ease);
      z-index: 2;
    }
    .cr:hover::before { transform:scaleY(1); }

    /* Text column */
    .cr-text {
      display:flex; flex-direction:column; justify-content:center;
      padding:56px 64px; position:relative; z-index:1;
      /* slight page-colour bg so the faded photo doesn't show through */
      background: #fff;
    }
    .cr-meta { display:flex; align-items:center; gap:20px; margin-bottom:18px; }
    .cr-idx {
      font-family:var(--ff-ui); font-size:0.65rem; font-weight:700;
      letter-spacing:0.2em; color:var(--muted);
    }
    .cr-code {
      font-family:var(--ff-ui); font-size:0.56rem; font-weight:600;
      letter-spacing:0.18em; text-transform:uppercase; color:var(--muted);
    }
    .cr-icon-row { display:flex; align-items:center; gap:14px; margin-bottom:16px; }
    .cr-icon {
      width:46px; height:46px; flex-shrink:0;
      background:var(--surface); border:1px solid var(--border);
      display:flex; align-items:center; justify-content:center;
    }
    .cr-icon svg { width:18px; height:18px; stroke:var(--em-lt); fill:none; }
    .cr-name {
      font-family:var(--ff-head);
      font-size: clamp(2rem, 3.2vw, 3.4rem);
      font-weight:400; color:var(--ink); line-height:1.1;
      transition:color 0.3s; margin-bottom:18px;
    }
    .cr-desc {
      font-size:0.96rem; font-weight:300; color:var(--mid); line-height:1.82;
      max-width:440px; margin-bottom:28px;
    }
    .cr-arrow-wrap {
      display:inline-flex; align-items:center; gap:10px;
      font-family:var(--ff-ui); font-size:0.62rem; font-weight:700;
      letter-spacing:0.14em; text-transform:uppercase; color:var(--em-lt);
      opacity:0; transform:translateX(-8px);
      transition:opacity 0.3s, transform 0.3s;
    }
    .cr-arrow-wrap svg { stroke:var(--em-lt); fill:none; }

    /* Photo column — fades to transparent at the left edge via mask */
    .cr-photo {
      position:relative; overflow:hidden;
    }
    .cr-photo-img {
      position:absolute; inset:0;
      width:100%; height:100%; object-fit:cover;
      transition:transform 0.7s var(--ease);
      /* mask: fully transparent on the left, fully visible from ~35% across */
      -webkit-mask-image: linear-gradient(to right, transparent 0%, black 38%);
      mask-image:         linear-gradient(to right, transparent 0%, black 38%);
    }
    .cr-photo-lbl {
      position:absolute; bottom:20px; right:20px; z-index:2;
      font-family:var(--ff-ui); font-size:0.56rem; font-weight:700;
      letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.55);
    }

    @media(max-width:900px){
      .cr { grid-template-columns:1fr; }
      .cr-photo { min-height:220px; }
      .cr-photo-img {
        -webkit-mask-image: linear-gradient(to top, transparent 0%, black 30%);
        mask-image:         linear-gradient(to top, transparent 0%, black 30%);
      }
      .cr-text { padding:40px 24px; }
      .cr-name { font-size:clamp(1.8rem,7vw,2.6rem); }
    }

    /* ══════════════════════════════════════════════════
       SERVICES — richer layout
    ══════════════════════════════════════════════════ */
    .sec-svcs {
      position:relative; z-index:1;
      background-color: var(--surface);
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cpath d='M22 2L42 22L22 42L2 22Z' fill='none' stroke='%231e3f7a' stroke-width='0.5' stroke-opacity='0.10'/%3E%3C/svg%3E");
      background-size: 44px 44px;
      min-height:100vh; display:flex; align-items:center; padding:120px 0;
      overflow:hidden;
    }
    /* Navy wash — top left */
    .sec-svcs::before {
      content:''; position:absolute;
      width:650px; height:650px; border-radius:50%;
      background: radial-gradient(circle, rgba(30,63,122,0.10) 0%, transparent 68%);
      top:-180px; left:-160px;
      pointer-events:none; z-index:0;
    }
    /* Gold wash — bottom right */
    .sec-svcs::after {
      content:''; position:absolute;
      width:550px; height:550px; border-radius:50%;
      background: radial-gradient(circle, rgba(176,125,42,0.11) 0%, transparent 68%);
      bottom:-140px; right:-120px;
      pointer-events:none; z-index:0;
    }
    .svcs-inner {
      max-width:var(--max-w); margin:0 auto; padding:0 60px;
      display:grid; grid-template-columns:400px 1fr; gap:100px; align-items:start;
      position:relative; z-index:1;
    }
    .svcs-sidebar h3 {
      font-family:var(--ff-head); font-size: clamp(2.2rem, 3.5vw, 4rem);
      font-weight:400; color:var(--ink); line-height:1.12; margin-bottom:22px;
    }
    /* weight variation */
    .svcs-sidebar h3 strong { font-weight:300; color:var(--gold); }
    .svcs-sidebar p { font-size:1rem; font-weight:300; color:var(--mid); line-height:1.85; margin-bottom:32px; }
    /* Feature pills */
    .svcs-pills { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:40px; }
    .svcs-pill {
      font-family:var(--ff-ui); font-size:0.6rem; font-weight:600;
      letter-spacing:0.14em; text-transform:uppercase;
      border:1px solid var(--border); color:var(--mid);
      padding:7px 16px; background: var(--page);
    }
    .svcs-list { display:flex; flex-direction:column; }
    .svc-item {
      padding:44px 0;
      display:grid; grid-template-columns:40px 1fr; gap:0 32px; align-items:start;
      border-bottom:1px solid var(--border);
      transition:background-color 0.3s, padding-left 0.3s;
    }
    .svc-item:first-child { border-top:1px solid var(--border); }
    .svc-item:last-child { border-bottom:none; }
    .svc-item:hover { background-color: var(--panel); padding-left:12px; }
    .svc-n {
      font-family:var(--ff-ui); font-size:0.6rem; font-weight:700;
      letter-spacing:0.18em; color:var(--em-lt); padding-top:6px;
    }
    .svc-title {
      font-family:var(--ff-head); font-size: clamp(1.6rem, 2.2vw, 2.2rem);
      font-weight:400; color:var(--ink); margin-bottom:14px; line-height:1.15;
    }
    .svc-body { font-size:0.95rem; font-weight:300; color:var(--mid); line-height:1.8; }
    .svc-meta {
      grid-column:2; display:flex; align-items:center; gap:24px; margin-top:16px;
    }
    .svc-code {
      font-family:var(--ff-ui); font-size:0.56rem; font-weight:500;
      letter-spacing:0.14em; text-transform:uppercase; color:var(--muted);
    }
    .svc-tag {
      font-family:var(--ff-ui); font-size:0.56rem; font-weight:700;
      letter-spacing:0.14em; text-transform:uppercase;
      background: var(--em); color:#fff; padding:4px 10px;
    }
    @media(max-width:900px){
      .svcs-inner { grid-template-columns:1fr; gap:60px; padding:0 24px; }
      .sec-svcs { padding:100px 0; min-height:auto; }
    }

    /* ══════════════════════════════════════════════════
       CTA — dark with photo + directional mask
    ══════════════════════════════════════════════════ */
    .sec-cta {
      position:relative; z-index:1;
      min-height:60vh; display:flex; align-items:center;
      padding:120px 0; overflow:hidden;
      background: var(--em-dk);
    }
    /* Photo — right half, masked to dissolve left */
    .cta-bg-img {
      position:absolute; inset:0; z-index:0;
    }
    .cta-bg-img img {
      width:100%; height:100%; object-fit:cover;
      object-position: center center;
      opacity:0.55;
      filter:grayscale(20%) contrast(1.05);
      /* mask: transparent on left, fully visible from 45% across */
      -webkit-mask-image: linear-gradient(to right, transparent 0%, black 52%);
      mask-image:         linear-gradient(to right, transparent 0%, black 52%);
    }
    /* Base colour tint over everything */
    .cta-bg-img::after {
      content:''; position:absolute; inset:0;
      background:
        linear-gradient(to right, rgba(22,45,88,0.98) 0%, rgba(22,45,88,0.75) 42%, rgba(22,45,88,0.1) 100%),
        linear-gradient(to top, rgba(22,45,88,0.5) 0%, transparent 50%);
    }
    /* Giant background text */
    .cta-bg-text {
      position:absolute; z-index:1;
      right:-20px; top:50%; transform:translateY(-50%);
      font-family:var(--ff-ui); font-size:clamp(8rem,18vw,22rem); font-weight:800;
      letter-spacing:-0.04em; text-transform:uppercase;
      color:rgba(255,255,255,0.04); line-height:1;
      pointer-events:none; user-select:none; white-space:nowrap;
    }
    /* Decorative left rule */
    .cta-left-rule {
      position:absolute; z-index:1;
      left:0; top:0; bottom:0; width:4px;
      background:linear-gradient(to bottom, transparent, rgba(200,170,100,0.6) 30%, rgba(200,170,100,0.6) 70%, transparent);
    }
    .cta-inner {
      max-width:var(--max-w); margin:0 auto; padding:0 60px;
      display:grid; grid-template-columns:1fr auto; gap:80px; align-items:center;
      position:relative; z-index:2;
    }
    .cta-txt {}
    .cta-txt .lbl { color:rgba(200,170,100,0.8); margin-bottom:24px; }
    .cta-txt .lbl::before { background:rgba(200,170,100,0.6); }
    .cta-txt h2 {
      font-family:var(--ff-head); font-size: clamp(2.8rem, 5vw, 6rem);
      font-weight:400; color:#fff; line-height:1.06; margin-bottom:20px;
    }
    /* weight variation — no italic */
    .cta-txt h2 strong { font-weight:300; color:rgba(200,170,100,0.92); }
    .cta-txt p { font-size:1rem; font-weight:300; color:rgba(200,215,235,0.65); max-width:480px; }
    .cta-right { display:flex; flex-direction:column; align-items:flex-end; gap:24px; flex-shrink:0; }
    .cta-divider { width:1px; height:120px; background:rgba(255,255,255,0.1); }
    @media(max-width:768px){
      .cta-inner { grid-template-columns:1fr; padding:0 24px; }
      .cta-right { align-items:flex-start; }
      .cta-divider { display:none; }
      .sec-cta { padding:100px 0; min-height:auto; }
    }
    .btn-cta {
      display: inline-flex; align-items: center; gap: 10px;
      font-family: var(--ff-ui); font-size: 0.75rem; font-weight: 700;
      letter-spacing: 0.14em; text-transform: uppercase;
      background: rgba(200,170,100,0.15); color: rgba(200,170,100,0.95);
      border: 1px solid rgba(200,170,100,0.4);
      padding: 18px 44px; cursor: pointer;
      transition: background 0.25s, border-color 0.25s;
    }
    .btn-cta:hover { background: rgba(200,170,100,0.25); border-color:rgba(200,170,100,0.7); }

    /* ══════════════════════════════════════════════════
       FAQ — light background
    ══════════════════════════════════════════════════ */
    .sec-faq {
      position:relative; z-index:1; background: var(--surface);
      padding:120px 0;
    }
    .faq-bg { position:absolute; inset:0; z-index:0; overflow:hidden; }
    .faq-bg img {
      width:100%; height:100%; object-fit:cover;
      opacity:0.04; filter:grayscale(80%); object-position:center 40%;
    }
    .faq-bg::after {
      content:''; position:absolute; inset:0;
      background: linear-gradient(to bottom, var(--surface) 0%, transparent 15%, transparent 85%, var(--surface) 100%);
    }
    .faq-inner {
      max-width:var(--max-w); margin:0 auto; padding:0 60px;
      display:grid; grid-template-columns:380px 1fr; gap:100px; align-items:start;
      position:relative; z-index:1;
    }
    .faq-sidebar h2 {
      font-family:var(--ff-head); font-size: clamp(2.2rem, 3.5vw, 4rem);
      font-weight:400; color:var(--ink); line-height:1.12; margin-bottom:20px;
    }
    .faq-sidebar h2 strong { font-weight:300; color:var(--gold); }
    .faq-sidebar p { font-size:0.96rem; font-weight:300; color:var(--mid); line-height:1.85; margin-bottom:40px; }
    .faq-list { display:flex; flex-direction:column; }
    .faq-item { border-bottom:1px solid var(--border); }
    .faq-item:first-child { border-top:1px solid var(--border); }
    .faq-q {
      width:100%; background:none; border:none; cursor:pointer;
      display:flex; align-items:center; justify-content:space-between; gap:24px;
      padding:26px 0; text-align:left;
    }
    .faq-q-text {
      font-family:var(--ff-head); font-size:1.2rem;
      font-weight:400; color:var(--ink); line-height:1.3; transition:color 0.25s;
    }
    .faq-item.open .faq-q-text { color:var(--em-lt); }
    .faq-icon {
      width:32px; height:32px; flex-shrink:0;
      border:1px solid var(--border); background: var(--page);
      display:flex; align-items:center; justify-content:center;
      transition:border-color 0.25s, background 0.25s;
    }
    .faq-item.open .faq-icon { border-color:var(--em-lt); background:rgba(42,82,152,0.06); }
    .faq-icon svg { width:12px; height:12px; stroke:var(--mid); fill:none; transition:stroke 0.25s, transform 0.35s var(--ease); }
    .faq-item.open .faq-icon svg { stroke:var(--em-lt); transform:rotate(45deg); }
    .faq-a { max-height:0; overflow:hidden; transition:max-height 0.45s var(--ease); }
    .faq-item.open .faq-a { max-height:400px; }
    .faq-a-inner {
      padding:0 48px 26px 0;
      font-size:0.95rem; font-weight:300; color:var(--mid); line-height:1.85;
    }
    @media(max-width:900px){
      .faq-inner { grid-template-columns:1fr; gap:56px; padding:0 24px; }
      .sec-faq { padding:100px 0; }
    }

    /* ══════════════════════════════════════════════════
       FOOTER — dark (intentional contrast at page end)
    ══════════════════════════════════════════════════ */
    footer {
      position:relative; z-index:1;
      background: #0f1114;
      padding:80px 0 44px;
    }
    .foot-in { max-width:var(--max-w); margin:0 auto; padding:0 60px; }
    .foot-top {
      display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
      gap:56px; padding-bottom:52px; margin-bottom:32px;
      border-bottom:1px solid rgba(255,255,255,0.08);
    }
    .foot-brand-name {
      font-family:var(--ff-ui); font-size:0.8rem; font-weight:700;
      letter-spacing:0.1em; text-transform:uppercase; color:#fff; margin-bottom:14px;
      display:flex; align-items:center; gap:10px;
    }
    .foot-mark {
      width:24px; height:24px; border:1px solid rgba(42,82,152,0.6);
      display:flex; align-items:center; justify-content:center;
      font-size:0.56rem; font-weight:800; color:rgba(200,170,100,0.8); letter-spacing:0;
    }
    .foot-brand p { font-size:0.82rem; font-weight:300; color:rgba(200,210,230,0.4); line-height:1.78; max-width:240px; }
    .foot-col h5 {
      font-family:var(--ff-ui); font-size:0.58rem; font-weight:700;
      letter-spacing:0.22em; text-transform:uppercase; color:rgba(200,170,100,0.7); margin-bottom:16px;
    }
    .foot-col ul { display:flex; flex-direction:column; gap:10px; }
    .foot-col ul a { font-size:0.82rem; font-weight:300; color:rgba(200,210,230,0.4); transition:color 0.2s; }
    .foot-col ul a:hover { color:rgba(200,210,230,0.9); }
    .foot-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
    .foot-bottom p { font-size:0.74rem; font-weight:300; color:rgba(200,210,230,0.3); }
    .foot-bottom a { font-size:0.74rem; color:rgba(200,210,230,0.3); transition:color 0.2s; }
    .foot-bottom a:hover { color:rgba(200,210,230,0.7); }
    @media(max-width:900px){ .foot-top { grid-template-columns:1fr 1fr; } .foot-in { padding:0 24px; } }
    @media(max-width:560px){ .foot-top { grid-template-columns:1fr; } }

    /* ── Animations ── */
    .fu { opacity:0; transform:translateY(28px); transition:opacity 0.75s var(--ease), transform 0.75s var(--ease); }
    .fu.in { opacity:1; transform:translateY(0); }
    .fu.d1 { transition-delay:0.1s; }
    .fu.d2 { transition-delay:0.2s; }
    .fu.d3 { transition-delay:0.32s; }

/* ═══════════════ ABOUT PAGE ═══════════════ */
/* INTRO */
    .sec-intro{background:var(--page);position:relative;overflow:hidden}
    .sec-intro::before{content:'';position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(176,125,42,0.10) 0%,transparent 70%);top:-180px;right:-160px;pointer-events:none}
    .intro-inner{max-width:var(--max-w);margin:0 auto;padding:100px 60px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
    @media(max-width:900px){.intro-inner{grid-template-columns:1fr;gap:52px;padding:60px 24px}}
    .intro-title{font-family:var(--ff-head);font-size:clamp(2.2rem,4vw,4.2rem);font-weight:400;color:var(--ink);line-height:1.1;margin-bottom:0}
    .intro-title strong{font-weight:300;color:var(--gold)}
    .intro-body p{font-size:1.05rem;font-weight:300;color:var(--mid);line-height:1.9;margin-bottom:20px}
    .intro-body p:last-child{margin-bottom:0}
    /* STATS ROW */
    .sec-stats{background:var(--surface)}
    .stats-row{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border)}
    @media(max-width:768px){.stats-row{grid-template-columns:1fr 1fr;padding:0 24px}}
    .stat{background:var(--surface);padding:56px 48px}
    .stat-val{font-family:var(--ff-ui);font-size:3.8rem;font-weight:800;color:var(--ink);line-height:1;letter-spacing:-0.04em;margin-bottom:12px}
    .stat-val sup{font-size:1.2rem;color:var(--gold);vertical-align:super;letter-spacing:0}
    .stat-label{font-family:var(--ff-ui);font-size:0.72rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink);margin-bottom:8px}
    .stat-desc{font-size:0.85rem;font-weight:300;color:var(--mid);line-height:1.72}
    /* WHO WE ARE */
    .sec-who{background:var(--page);position:relative;overflow:hidden;padding:100px 0}
    .sec-who::before{content:'';position:absolute;width:550px;height:550px;border-radius:50%;background:radial-gradient(circle,rgba(30,63,122,0.08) 0%,transparent 70%);bottom:-160px;left:-140px;pointer-events:none}
    .who-inner{max-width:var(--max-w);margin:0 auto;padding:0 60px;position:relative;z-index:1}
    @media(max-width:768px){.who-inner{padding:0 24px}}
    .who-hd{margin-bottom:64px}
    .who-title{font-family:var(--ff-head);font-size:clamp(2.2rem,4vw,4rem);font-weight:400;color:var(--ink);line-height:1.1;margin-top:20px}
    .who-title strong{font-weight:300;color:var(--gold)}
    .who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
    @media(max-width:768px){.who-grid{grid-template-columns:1fr}}
    .who-card{background:var(--page);padding:48px 44px;transition:background 0.3s}
    .who-card:hover{background:var(--surface)}
    .wc-icon{width:52px;height:52px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:24px;transition:border-color 0.25s}
    .who-card:hover .wc-icon{border-color:var(--em-lt)}
    .wc-icon svg{width:20px;height:20px;stroke:var(--em-lt);fill:none;stroke-width:1.5}
    .wc-title{font-family:var(--ff-head);font-size:1.35rem;font-weight:400;color:var(--ink);margin-bottom:14px}
    .wc-desc{font-size:0.9rem;font-weight:300;color:var(--mid);line-height:1.82}
    /* LOCATION */
    .sec-location{background:var(--surface);padding:100px 0;position:relative;overflow:hidden}
    .sec-location::before{content:'';position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(176,125,42,0.09) 0%,transparent 70%);top:-150px;right:-130px;pointer-events:none}
    .loc-inner{max-width:var(--max-w);margin:0 auto;padding:0 60px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;position:relative;z-index:1}
    @media(max-width:900px){.loc-inner{grid-template-columns:1fr;gap:52px;padding:0 24px}}
    .loc-title{font-family:var(--ff-head);font-size:clamp(2rem,3.5vw,3.5rem);font-weight:400;color:var(--ink);line-height:1.1;margin-bottom:20px}
    .loc-title strong{font-weight:300;color:var(--gold)}
    .loc-body{font-size:1rem;font-weight:300;color:var(--mid);line-height:1.85;margin-bottom:36px}
    .loc-details{display:flex;flex-direction:column;gap:20px}
    .ld{display:grid;grid-template-columns:20px 1fr;gap:0 16px;align-items:start}
    .ld-icon svg{width:16px;height:16px;stroke:var(--em-lt);fill:none;stroke-width:1.5;margin-top:3px}
    .ld-label{font-family:var(--ff-ui);font-size:0.6rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
    .ld-val{font-size:0.9rem;font-weight:400;color:var(--ink);line-height:1.5}
    .loc-map{aspect-ratio:4/3;background:var(--panel);position:relative;overflow:hidden;border:1px solid var(--border)}
    .loc-map img{width:100%;height:100%;object-fit:cover;opacity:0.7;filter:grayscale(30%)}
    .loc-map-pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;background:var(--em-lt);border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 6px rgba(42,82,152,0.25)}
    /* CTA */
    .sec-cta{position:relative;z-index:1;min-height:55vh;display:flex;align-items:center;padding:120px 0;overflow:hidden;background:var(--em-dk)}
    .cta-bg-img{position:absolute;inset:0;z-index:0}
    .cta-bg-img img{width:100%;height:100%;object-fit:cover;opacity:0.5;filter:grayscale(20%) contrast(1.05);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 52%);mask-image:linear-gradient(to right,transparent 0%,black 52%)}
    .cta-bg-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(22,45,88,0.98) 0%,rgba(22,45,88,0.75) 42%,rgba(22,45,88,0.1) 100%),linear-gradient(to top,rgba(22,45,88,0.5) 0%,transparent 50%)}
    .cta-bg-text{position:absolute;z-index:1;right:-20px;top:50%;transform:translateY(-50%);font-family:var(--ff-ui);font-size:clamp(8rem,18vw,22rem);font-weight:800;letter-spacing:-0.04em;text-transform:uppercase;color:rgba(255,255,255,0.04);line-height:1;pointer-events:none;user-select:none;white-space:nowrap}
    .cta-left-rule{position:absolute;z-index:1;left:0;top:0;bottom:0;width:4px;background:linear-gradient(to bottom,transparent,rgba(200,170,100,0.6) 30%,rgba(200,170,100,0.6) 70%,transparent)}
    .cta-inner{max-width:var(--max-w);margin:0 auto;padding:0 60px;display:grid;grid-template-columns:1fr auto;gap:80px;align-items:center;position:relative;z-index:2}
    .cta-lbl{font-family:var(--ff-ui);font-size:0.58rem;font-weight:700;letter-spacing:0.3em;text-transform:uppercase;color:rgba(200,170,100,0.78);display:flex;align-items:center;gap:12px;margin-bottom:22px}
    .cta-lbl::before{content:'';width:22px;height:1px;background:rgba(200,170,100,0.5);display:block}
    .cta-txt h2{font-family:var(--ff-head);font-size:clamp(2.8rem,5vw,5rem);font-weight:400;color:#fff;line-height:1.06;margin-bottom:18px}
    .cta-txt h2 strong{font-weight:300;color:rgba(200,170,100,0.92)}
    .cta-txt p{font-size:1rem;font-weight:300;color:rgba(200,215,235,0.65);max-width:480px}
    @media(max-width:768px){.cta-inner{grid-template-columns:1fr;padding:0 24px}.sec-cta{padding:80px 0;min-height:auto}}
    /* FOOTER */
    footer{background:#0f1114;padding:80px 0 44px}
    .foot-in{max-width:var(--max-w);margin:0 auto;padding:0 60px}
    .foot-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;padding-bottom:52px;margin-bottom:32px;border-bottom:1px solid rgba(255,255,255,0.08)}
    .foot-brand-name{font-family:var(--ff-ui);font-size:0.8rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#fff;margin-bottom:14px;display:flex;align-items:center;gap:10px}
    .foot-mark{width:24px;height:24px;border:1px solid rgba(42,82,152,0.6);display:flex;align-items:center;justify-content:center;font-size:0.56rem;font-weight:800;color:rgba(200,170,100,0.8)}
    .foot-brand p{font-size:0.82rem;font-weight:300;color:rgba(200,210,230,0.4);line-height:1.78;max-width:240px}
    .foot-col h5{font-family:var(--ff-ui);font-size:0.58rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:rgba(200,170,100,0.7);margin-bottom:16px}
    .foot-col ul{display:flex;flex-direction:column;gap:10px}
    .foot-col ul a{font-size:0.82rem;font-weight:300;color:rgba(200,210,230,0.4);transition:color 0.2s}
    .foot-col ul a:hover{color:rgba(200,210,230,0.9)}
    .foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
    .foot-bottom p{font-size:0.74rem;font-weight:300;color:rgba(200,210,230,0.3)}
    .foot-bottom a{font-size:0.74rem;color:rgba(200,210,230,0.3);transition:color 0.2s}
    .foot-bottom a:hover{color:rgba(200,210,230,0.7)}
    @media(max-width:900px){.foot-top{grid-template-columns:1fr 1fr}.foot-in{padding:0 24px}}
    @media(max-width:560px){.foot-top{grid-template-columns:1fr}}
    .fu{opacity:0;transform:translateY(24px);transition:opacity 0.7s var(--ease),transform 0.7s var(--ease)}
    .fu.in{opacity:1;transform:translateY(0)}
    .fu.d1{transition-delay:0.1s}.fu.d2{transition-delay:0.22s}.fu.d3{transition-delay:0.34s}

/* ═══════════════ CONTACT PAGE ═══════════════ */
.sec-contact {
  background: var(--page);
  position: relative;
  overflow: hidden;
}
.sec-contact::before {
  content: '';
  position: absolute;
  width: 600px; height: 600px; border-radius: 50%;
  background: radial-gradient(circle, rgba(176,125,42,0.09) 0%, transparent 70%);
  top: -180px; right: -160px;
  pointer-events: none;
}
.sec-contact::after {
  content: '';
  position: absolute;
  width: 500px; height: 500px; border-radius: 50%;
  background: radial-gradient(circle, rgba(30,63,122,0.07) 0%, transparent 70%);
  bottom: -150px; left: -130px;
  pointer-events: none;
}
.contact-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 100px 60px;
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 100px;
  align-items: start;
  position: relative;
  z-index: 1;
}
@media(max-width: 960px) {
  .contact-inner { grid-template-columns: 1fr; gap: 60px; padding: 60px 24px; }
}
/* Form side */
    .contact-form-wrap{}
    .cf-title{font-family:var(--ff-head);font-size:clamp(2rem,3.5vw,3.5rem);font-weight:400;color:var(--ink);line-height:1.1;margin-bottom:10px}
    .cf-title strong{font-weight:300;color:var(--gold)}
    .cf-sub{font-size:1rem;font-weight:300;color:var(--mid);line-height:1.82;margin-bottom:48px}
    .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
    @media(max-width:600px){.form-row{grid-template-columns:1fr}}
    .form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
    .form-group label{font-family:var(--ff-ui);font-size:0.62rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted)}
    .form-group input,.form-group select,.form-group textarea{font-family:var(--ff-body);font-size:0.95rem;font-weight:400;color:var(--ink);background:#fff;border:1px solid var(--border);padding:14px 18px;outline:none;transition:border-color 0.2s,box-shadow 0.2s;-webkit-appearance:none;appearance:none;width:100%}
    .form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--em-lt);box-shadow:0 0 0 3px rgba(42,82,152,0.08)}
    .form-group input::placeholder,.form-group textarea::placeholder{color:var(--muted)}
    .form-group textarea{resize:vertical;min-height:140px;line-height:1.65}
    .form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239e9a94' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px;cursor:pointer}
    .form-note{font-size:0.8rem;font-weight:300;color:var(--muted);line-height:1.7;margin-bottom:28px}
    .btn-submit{display:inline-flex;align-items:center;gap:12px;font-family:var(--ff-ui);font-size:0.72rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;background:var(--em);color:#fff;padding:18px 44px;border:none;cursor:pointer;transition:background 0.25s;width:100%;justify-content:center}
    .btn-submit:hover{background:var(--em-lt)}
    /* Info side */
    .contact-info{display:flex;flex-direction:column;gap:0}
    .ci-block{padding:36px 0;border-bottom:1px solid var(--border)}
    .ci-block:first-child{border-top:1px solid var(--border)}
    .ci-label{font-family:var(--ff-ui);font-size:0.58rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;display:flex;align-items:center;gap:10px}
    .ci-label svg{width:14px;height:14px;stroke:var(--em-lt);fill:none;stroke-width:1.5;flex-shrink:0}
    .ci-val{font-size:0.95rem;font-weight:400;color:var(--ink);line-height:1.65}
    .ci-val a{color:var(--em-lt);transition:color 0.2s}.ci-val a:hover{color:var(--em)}
    .ci-sub{font-size:0.85rem;font-weight:300;color:var(--mid);margin-top:6px;line-height:1.65}
    /* Response time badge */
    .response-badge{background:var(--surface);border:1px solid var(--border);padding:20px 24px;display:flex;align-items:center;gap:16px;margin-top:32px}
    .rb-dot{width:10px;height:10px;border-radius:50%;background:#4caf50;flex-shrink:0;box-shadow:0 0 0 3px rgba(76,175,80,0.2)}
    .rb-text{font-size:0.85rem;font-weight:400;color:var(--ink)}
    .rb-text span{font-weight:300;color:var(--mid);display:block}
    /* FOOTER */
    footer{background:#0f1114;padding:80px 0 44px}
    .foot-in{max-width:var(--max-w);margin:0 auto;padding:0 60px}
    .foot-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;padding-bottom:52px;margin-bottom:32px;border-bottom:1px solid rgba(255,255,255,0.08)}
    .foot-brand-name{font-family:var(--ff-ui);font-size:0.8rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#fff;margin-bottom:14px;display:flex;align-items:center;gap:10px}
    .foot-mark{width:24px;height:24px;border:1px solid rgba(42,82,152,0.6);display:flex;align-items:center;justify-content:center;font-size:0.56rem;font-weight:800;color:rgba(200,170,100,0.8)}
    .foot-brand p{font-size:0.82rem;font-weight:300;color:rgba(200,210,230,0.4);line-height:1.78;max-width:240px}
    .foot-col h5{font-family:var(--ff-ui);font-size:0.58rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:rgba(200,170,100,0.7);margin-bottom:16px}
    .foot-col ul{display:flex;flex-direction:column;gap:10px}
    .foot-col ul a{font-size:0.82rem;font-weight:300;color:rgba(200,210,230,0.4);transition:color 0.2s}
    .foot-col ul a:hover{color:rgba(200,210,230,0.9)}
    .foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
    .foot-bottom p{font-size:0.74rem;font-weight:300;color:rgba(200,210,230,0.3)}
    .foot-bottom a{font-size:0.74rem;color:rgba(200,210,230,0.3);transition:color 0.2s}
    .foot-bottom a:hover{color:rgba(200,210,230,0.7)}
    @media(max-width:900px){.foot-top{grid-template-columns:1fr 1fr}.foot-in{padding:0 24px}}
    @media(max-width:560px){.foot-top{grid-template-columns:1fr}}
    .fu{opacity:0;transform:translateY(24px);transition:opacity 0.7s var(--ease),transform 0.7s var(--ease)}
    .fu.in{opacity:1;transform:translateY(0)}
    .fu.d1{transition-delay:0.1s}.fu.d2{transition-delay:0.22s}

/* ═══════════════ SERVICES PAGE ═══════════════ */
/* SERVICE SECTIONS */
    .svc-sec{position:relative;overflow:hidden}
    .svc-sec:nth-child(odd){background:var(--page)}
    .svc-sec:nth-child(even){background:var(--surface)}
    .svc-sec:nth-child(odd)::before{content:'';position:absolute;width:550px;height:550px;border-radius:50%;background:radial-gradient(circle,rgba(176,125,42,0.10) 0%,transparent 70%);top:-160px;right:-140px;pointer-events:none;z-index:0}
    .svc-sec:nth-child(even)::before{content:'';position:absolute;width:550px;height:550px;border-radius:50%;background:radial-gradient(circle,rgba(30,63,122,0.09) 0%,transparent 70%);bottom:-160px;left:-140px;pointer-events:none;z-index:0}
    .svc-inner{max-width:var(--max-w);margin:0 auto;padding:100px 60px;display:grid;grid-template-columns:380px 1fr;gap:100px;align-items:start;position:relative;z-index:1}
    @media(max-width:960px){.svc-inner{grid-template-columns:1fr;gap:52px;padding:60px 24px}}
    .svc-num{font-family:var(--ff-ui);font-size:0.58rem;font-weight:700;letter-spacing:0.28em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
    .svc-title{font-family:var(--ff-head);font-size:clamp(2rem,3.2vw,3rem);font-weight:400;color:var(--ink);line-height:1.1;margin-bottom:20px}
    .svc-desc{font-size:0.96rem;font-weight:300;color:var(--mid);line-height:1.85;margin-bottom:24px}
    .svc-hsic{font-family:var(--ff-ui);font-size:0.62rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--em-lt);border:1px solid rgba(30,63,122,0.2);background:rgba(30,63,122,0.04);padding:8px 14px;display:inline-block;margin-bottom:28px}
    .svc-features{display:flex;flex-direction:column}
    .sf{padding:30px 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:48px 1fr;gap:0 24px;align-items:start;transition:padding-left 0.3s var(--ease)}
    .sf:first-child{border-top:1px solid var(--border)}
    .sf:hover{padding-left:8px}
    .sf:hover .sf-icon{border-color:var(--em-lt);background:rgba(30,63,122,0.06)}
    .sf-icon{width:48px;height:48px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color 0.25s,background 0.25s;margin-top:2px}
    .svc-sec:nth-child(even) .sf-icon{background:var(--surface)}
    .svc-sec:nth-child(odd) .sf-icon{background:var(--page)}
    .sf-icon svg{width:18px;height:18px;stroke:var(--em-lt);fill:none;stroke-width:1.5}
    .sf-title{font-family:var(--ff-head);font-size:1.2rem;font-weight:400;color:var(--ink);margin-bottom:10px;line-height:1.2}
    .sf-desc{font-size:0.9rem;font-weight:300;color:var(--mid);line-height:1.82}
    /* HOW IT WORKS */
    .sec-how{background:var(--surface);position:relative;overflow:hidden;padding:100px 0}
    .sec-how::before{content:'';position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(30,63,122,0.08) 0%,transparent 70%);top:-180px;left:-160px;pointer-events:none}
    .sec-how::after{content:'';position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(176,125,42,0.09) 0%,transparent 70%);bottom:-150px;right:-130px;pointer-events:none}
    .how-inner{max-width:var(--max-w);margin:0 auto;padding:0 60px;position:relative;z-index:1}
    @media(max-width:768px){.how-inner{padding:0 24px}}
    .how-hd{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:64px}
    @media(max-width:768px){.how-hd{grid-template-columns:1fr;margin-bottom:40px}}
    .how-title{font-family:var(--ff-head);font-size:clamp(2.2rem,4vw,4rem);font-weight:400;color:var(--ink);line-height:1.1}
    .how-title strong{font-weight:300;color:var(--gold)}
    .how-sub{font-size:1rem;font-weight:300;color:var(--mid);line-height:1.85}
    .how-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border)}
    @media(max-width:768px){.how-steps{grid-template-columns:1fr 1fr}}
    @media(max-width:480px){.how-steps{grid-template-columns:1fr}}
    .how-step{background:var(--surface);padding:40px 36px}
    .hs-num{font-family:var(--ff-ui);font-size:2.4rem;font-weight:800;color:var(--border);line-height:1;margin-bottom:20px;letter-spacing:-0.04em}
    .hs-title{font-family:var(--ff-head);font-size:1.1rem;font-weight:400;color:var(--ink);margin-bottom:10px}
    .hs-desc{font-size:0.85rem;font-weight:300;color:var(--mid);line-height:1.78}
    /* CTA */
    .sec-cta{position:relative;z-index:1;min-height:55vh;display:flex;align-items:center;padding:120px 0;overflow:hidden;background:var(--em-dk)}
    .cta-bg-img{position:absolute;inset:0;z-index:0}
    .cta-bg-img img{width:100%;height:100%;object-fit:cover;opacity:0.5;filter:grayscale(20%) contrast(1.05);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 52%);mask-image:linear-gradient(to right,transparent 0%,black 52%)}
    .cta-bg-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(22,45,88,0.98) 0%,rgba(22,45,88,0.75) 42%,rgba(22,45,88,0.1) 100%),linear-gradient(to top,rgba(22,45,88,0.5) 0%,transparent 50%)}
    .cta-bg-text{position:absolute;z-index:1;right:-20px;top:50%;transform:translateY(-50%);font-family:var(--ff-ui);font-size:clamp(8rem,18vw,22rem);font-weight:800;letter-spacing:-0.04em;text-transform:uppercase;color:rgba(255,255,255,0.04);line-height:1;pointer-events:none;user-select:none;white-space:nowrap}
    .cta-left-rule{position:absolute;z-index:1;left:0;top:0;bottom:0;width:4px;background:linear-gradient(to bottom,transparent,rgba(200,170,100,0.6) 30%,rgba(200,170,100,0.6) 70%,transparent)}
    .cta-inner{max-width:var(--max-w);margin:0 auto;padding:0 60px;display:grid;grid-template-columns:1fr auto;gap:80px;align-items:center;position:relative;z-index:2}
    .cta-lbl{font-family:var(--ff-ui);font-size:0.58rem;font-weight:700;letter-spacing:0.3em;text-transform:uppercase;color:rgba(200,170,100,0.78);display:flex;align-items:center;gap:12px;margin-bottom:22px}
    .cta-lbl::before{content:'';width:22px;height:1px;background:rgba(200,170,100,0.5);display:block}
    .cta-txt h2{font-family:var(--ff-head);font-size:clamp(2.8rem,5vw,5rem);font-weight:400;color:#fff;line-height:1.06;margin-bottom:18px}
    .cta-txt h2 strong{font-weight:300;color:rgba(200,170,100,0.92)}
    .cta-txt p{font-size:1rem;font-weight:300;color:rgba(200,215,235,0.65);max-width:480px}
    @media(max-width:768px){.cta-inner{grid-template-columns:1fr;padding:0 24px}.sec-cta{padding:80px 0;min-height:auto}}
    /* FOOTER */
    footer{background:#0f1114;padding:80px 0 44px}
    .foot-in{max-width:var(--max-w);margin:0 auto;padding:0 60px}
    .foot-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;padding-bottom:52px;margin-bottom:32px;border-bottom:1px solid rgba(255,255,255,0.08)}
    .foot-brand-name{font-family:var(--ff-ui);font-size:0.8rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#fff;margin-bottom:14px;display:flex;align-items:center;gap:10px}
    .foot-mark{width:24px;height:24px;border:1px solid rgba(42,82,152,0.6);display:flex;align-items:center;justify-content:center;font-size:0.56rem;font-weight:800;color:rgba(200,170,100,0.8)}
    .foot-brand p{font-size:0.82rem;font-weight:300;color:rgba(200,210,230,0.4);line-height:1.78;max-width:240px}
    .foot-col h5{font-family:var(--ff-ui);font-size:0.58rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:rgba(200,170,100,0.7);margin-bottom:16px}
    .foot-col ul{display:flex;flex-direction:column;gap:10px}
    .foot-col ul a{font-size:0.82rem;font-weight:300;color:rgba(200,210,230,0.4);transition:color 0.2s}
    .foot-col ul a:hover{color:rgba(200,210,230,0.9)}
    .foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
    .foot-bottom p{font-size:0.74rem;font-weight:300;color:rgba(200,210,230,0.3)}
    .foot-bottom a{font-size:0.74rem;color:rgba(200,210,230,0.3);transition:color 0.2s}
    .foot-bottom a:hover{color:rgba(200,210,230,0.7)}
    @media(max-width:900px){.foot-top{grid-template-columns:1fr 1fr}.foot-in{padding:0 24px}}
    @media(max-width:560px){.foot-top{grid-template-columns:1fr}}
    .fu{opacity:0;transform:translateY(24px);transition:opacity 0.7s var(--ease),transform 0.7s var(--ease)}
    .fu.in{opacity:1;transform:translateY(0)}
    .fu.d1{transition-delay:0.1s}.fu.d2{transition-delay:0.22s}.fu.d3{transition-delay:0.34s}

/* ═══════════════ PRODUCTS PAGE ═══════════════ */
/* JUMP NAV */
    .jump-nav {
      position: sticky; top: var(--nav-h); z-index: 100;
      background: rgba(245,244,241,0.97);
      border-bottom: 1px solid var(--border);
      backdrop-filter: blur(12px);
    }
    .jn-inner {
      max-width: var(--max-w); margin: 0 auto; padding: 0 60px;
      display: flex; overflow-x: auto; scrollbar-width: none;
    }
    .jn-inner::-webkit-scrollbar { display: none; }
    .jn-inner a {
      font-family: var(--ff-ui); font-size: 0.68rem; font-weight: 600;
      letter-spacing: 0.14em; text-transform: uppercase;
      color: var(--muted); padding: 18px 28px;
      border-right: 1px solid var(--border);
      white-space: nowrap; transition: color 0.2s, background 0.2s;
      display: flex; align-items: center; gap: 10px;
    }
    .jn-inner a:first-child { padding-left: 0; }
    .jn-inner a:last-child { border-right: none; }
    .jn-inner a:hover { color: var(--ink); }
    .jn-inner a.active { color: var(--em-lt); }
    .jn-num { font-size: 0.55rem; font-weight: 700; letter-spacing: 0.1em; opacity: 0.55; }
    @media(max-width:768px){ .jn-inner { padding: 0 24px; } }

    /* PRODUCT SECTIONS */
    .prod-sec {
      position: relative; overflow: hidden;
    }
    .prod-sec:nth-child(odd)  { background: var(--page); }
    .prod-sec:nth-child(even) { background: var(--surface); }

    /* Colour wash per section */
    .prod-sec:nth-child(odd)::before {
      content:''; position:absolute;
      width:520px; height:520px; border-radius:50%;
      background: radial-gradient(circle, rgba(176,125,42,0.10) 0%, transparent 70%);
      top:-160px; right:-140px; pointer-events:none; z-index:0;
    }
    .prod-sec:nth-child(even)::before {
      content:''; position:absolute;
      width:520px; height:520px; border-radius:50%;
      background: radial-gradient(circle, rgba(30,63,122,0.08) 0%, transparent 70%);
      bottom:-160px; left:-140px; pointer-events:none; z-index:0;
    }

    .prod-inner {
      max-width: var(--max-w); margin: 0 auto;
      padding: 100px 60px;
      display: grid; grid-template-columns: 360px 1fr;
      gap: 80px; align-items: start;
      position: relative; z-index: 1;
    }
    @media(max-width:960px){ .prod-inner { grid-template-columns:1fr; gap:48px; padding:60px 24px; } }

    /* Sidebar */
    .prod-sidebar { position: sticky; top: calc(var(--nav-h) + 56px + 56px); }
    @media(max-width:960px){ .prod-sidebar { position:static; } }

    .prod-num {
      font-family: var(--ff-ui); font-size: 0.58rem; font-weight: 700;
      letter-spacing: 0.28em; text-transform: uppercase; color: var(--muted);
      margin-bottom: 14px;
    }
    .prod-title {
      font-family: var(--ff-head);
      font-size: clamp(2rem, 3.2vw, 2.8rem);
      font-weight: 400; color: var(--ink); line-height: 1.1;
      margin-bottom: 20px;
    }
    /* Photo */
    .prod-photo {
      width: 100%; aspect-ratio: 16/10;
      overflow: hidden; margin-bottom: 28px; position: relative;
    }
    .prod-photo img {
      width:100%; height:100%; object-fit:cover;
      transition: transform 0.7s var(--ease); display:block;
    }
    .prod-photo:hover img { transform: scale(1.04); }
    .prod-photo::after {
      content:''; position:absolute; inset:0;
      background: linear-gradient(to top, rgba(15,17,20,0.22) 0%, transparent 50%);
    }
    .prod-desc {
      font-size: 0.96rem; font-weight: 300; color: var(--mid);
      line-height: 1.85; margin-bottom: 32px;
    }

    /* Items */
    .prod-items { display: flex; flex-direction: column; padding-top: 8px; }
    .pi {
      display: grid; grid-template-columns: 3px 1fr;
      gap: 0 24px; align-items: start;
      padding: 30px 0;
      border-bottom: 1px solid var(--border);
      transition: padding-left 0.3s var(--ease);
    }
    .pi:first-child { border-top: 1px solid var(--border); }
    .pi:hover { padding-left: 8px; }
    .pi:hover .pi-bar { background: var(--gold); }
    .pi-bar {
      width: 3px; align-self: stretch; min-height: 20px;
      background: var(--border-lt); transition: background 0.3s;
      margin-top: 5px;
    }
    .pi-name {
      font-family: var(--ff-head); font-size: 1.25rem;
      font-weight: 400; color: var(--ink); margin-bottom: 10px; line-height: 1.2;
    }
    .pi-desc {
      font-size: 0.9rem; font-weight: 300; color: var(--mid); line-height: 1.82;
      margin-bottom: 16px;
    }
    /* Technical data grid — inside each .pi */
    .pi-meta {
      display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px;
    }
    .pi-tag {
      font-family: var(--ff-ui); font-size: 0.56rem; font-weight: 600;
      letter-spacing: 0.12em; text-transform: uppercase;
      padding: 4px 10px;
      border: 1px solid var(--border);
      color: var(--muted);
      background: transparent;
      white-space: nowrap;
    }
    .pi-tag.hsic {
      border-color: rgba(30,63,122,0.25);
      color: var(--em-lt);
      background: rgba(30,63,122,0.04);
    }
    .pi-tag.qty {
      border-color: rgba(176,125,42,0.3);
      color: var(--gold-dk);
      background: rgba(176,125,42,0.05);
    }
    /* Sidebar technical summary block */
    .prod-tech {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 1px; background: var(--border);
      border: 1px solid var(--border);
      margin-bottom: 28px;
    }
    .pt-cell {
      background: var(--page);
      padding: 14px 16px;
    }
    .prod-sec:nth-child(even) .pt-cell { background: var(--surface); }
    .pt-label {
      font-family: var(--ff-ui); font-size: 0.52rem; font-weight: 700;
      letter-spacing: 0.2em; text-transform: uppercase;
      color: var(--muted); margin-bottom: 5px;
    }
    .pt-value {
      font-family: var(--ff-ui); font-size: 0.78rem; font-weight: 500;
      color: var(--ink); line-height: 1.35;
    }

    /* CTA */
    .sec-cta {
      position:relative; z-index:1;
      min-height:55vh; display:flex; align-items:center;
      padding:120px 0; overflow:hidden;
      background: var(--em-dk);
    }
    .cta-bg-img { position:absolute; inset:0; z-index:0; }
    .cta-bg-img img {
      width:100%; height:100%; object-fit:cover;
      opacity:0.5; filter:grayscale(20%) contrast(1.05);
      -webkit-mask-image: linear-gradient(to right, transparent 0%, black 52%);
      mask-image: linear-gradient(to right, transparent 0%, black 52%);
    }
    .cta-bg-img::after {
      content:''; position:absolute; inset:0;
      background:
        linear-gradient(to right, rgba(22,45,88,0.98) 0%, rgba(22,45,88,0.75) 42%, rgba(22,45,88,0.1) 100%),
        linear-gradient(to top, rgba(22,45,88,0.5) 0%, transparent 50%);
    }
    .cta-bg-text {
      position:absolute; z-index:1;
      right:-20px; top:50%; transform:translateY(-50%);
      font-family:var(--ff-ui); font-size:clamp(8rem,18vw,22rem); font-weight:800;
      letter-spacing:-0.04em; text-transform:uppercase;
      color:rgba(255,255,255,0.04); line-height:1;
      pointer-events:none; user-select:none; white-space:nowrap;
    }
    .cta-left-rule {
      position:absolute; z-index:1;
      left:0; top:0; bottom:0; width:4px;
      background:linear-gradient(to bottom, transparent, rgba(200,170,100,0.6) 30%, rgba(200,170,100,0.6) 70%, transparent);
    }
    .cta-inner {
      max-width:var(--max-w); margin:0 auto; padding:0 60px;
      display:grid; grid-template-columns:1fr auto; gap:80px; align-items:center;
      position:relative; z-index:2;
    }
    .cta-lbl {
      font-family: var(--ff-ui); font-size: 0.58rem; font-weight: 700;
      letter-spacing: 0.3em; text-transform: uppercase;
      color: rgba(200,170,100,0.78);
      display: flex; align-items: center; gap: 12px;
      margin-bottom: 22px;
    }
    .cta-lbl::before { content:''; width:22px; height:1px; background:rgba(200,170,100,0.5); display:block; }
    .cta-txt h2 {
      font-family:var(--ff-head); font-size: clamp(2.8rem, 5vw, 5rem);
      font-weight:400; color:#fff; line-height:1.06; margin-bottom:18px;
    }
    .cta-txt h2 strong { font-weight:300; color:rgba(200,170,100,0.92); }
    .cta-txt p { font-size:1rem; font-weight:300; color:rgba(200,215,235,0.65); max-width:480px; }
    @media(max-width:768px){
      .cta-inner { grid-template-columns:1fr; padding:0 24px; }
      .sec-cta { padding:80px 0; min-height:auto; }
    }

    /* FOOTER */
    footer { background: #0f1114; padding: 80px 0 44px; }
    .foot-in { max-width:var(--max-w); margin:0 auto; padding:0 60px; }
    .foot-top {
      display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
      gap:56px; padding-bottom:52px; margin-bottom:32px;
      border-bottom:1px solid rgba(255,255,255,0.08);
    }
    .foot-brand-name {
      font-family:var(--ff-ui); font-size:0.8rem; font-weight:700;
      letter-spacing:0.1em; text-transform:uppercase; color:#fff; margin-bottom:14px;
      display:flex; align-items:center; gap:10px;
    }
    .foot-mark {
      width:24px; height:24px; border:1px solid rgba(42,82,152,0.6);
      display:flex; align-items:center; justify-content:center;
      font-size:0.56rem; font-weight:800; color:rgba(200,170,100,0.8); letter-spacing:0;
    }
    .foot-brand p { font-size:0.82rem; font-weight:300; color:rgba(200,210,230,0.4); line-height:1.78; max-width:240px; }
    .foot-col h5 {
      font-family:var(--ff-ui); font-size:0.58rem; font-weight:700;
      letter-spacing:0.22em; text-transform:uppercase; color:rgba(200,170,100,0.7); margin-bottom:16px;
    }
    .foot-col ul { display:flex; flex-direction:column; gap:10px; }
    .foot-col ul a { font-size:0.82rem; font-weight:300; color:rgba(200,210,230,0.4); transition:color 0.2s; }
    .foot-col ul a:hover { color:rgba(200,210,230,0.9); }
    .foot-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
    .foot-bottom p { font-size:0.74rem; font-weight:300; color:rgba(200,210,230,0.3); }
    .foot-bottom a { font-size:0.74rem; color:rgba(200,210,230,0.3); transition:color 0.2s; }
    .foot-bottom a:hover { color:rgba(200,210,230,0.7); }
    @media(max-width:900px){ .foot-top { grid-template-columns:1fr 1fr; } .foot-in { padding:0 24px; } }
    @media(max-width:560px){ .foot-top { grid-template-columns:1fr; } }

    /* Animations */
    .fu { opacity:0; transform:translateY(24px); transition:opacity 0.7s var(--ease), transform 0.7s var(--ease); }
    .fu.in { opacity:1; transform:translateY(0); }
    .fu.d1 { transition-delay:0.1s; }
    .fu.d2 { transition-delay:0.2s; }

/* ═══════════════ PRIVACY PAGE ═══════════════ */
/* CONTENT */
    .sec-policy{background:var(--page);padding:80px 0 120px}
    .policy-inner{max-width:var(--max-w);margin:0 auto;padding:0 60px;display:grid;grid-template-columns:260px 1fr;gap:80px;align-items:start}
    @media(max-width:900px){.policy-inner{grid-template-columns:1fr;gap:40px;padding:0 24px}}
    /* TOC */
    .policy-toc{position:sticky;top:calc(var(--nav-h) + 32px)}
    @media(max-width:900px){.policy-toc{position:static}}
    .toc-label{font-family:var(--ff-ui);font-size:0.58rem;font-weight:700;letter-spacing:0.24em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
    .toc-list{display:flex;flex-direction:column;gap:2px}
    .toc-list a{font-family:var(--ff-ui);font-size:0.82rem;font-weight:400;color:var(--mid);padding:6px 0;border-left:2px solid transparent;padding-left:14px;transition:color 0.2s,border-color 0.2s;display:block}
    .toc-list a:hover{color:var(--em-lt);border-color:var(--em-lt)}
    .toc-updated{margin-top:32px;font-family:var(--ff-ui);font-size:0.72rem;font-weight:300;color:var(--muted);line-height:1.65;padding-top:24px;border-top:1px solid var(--border)}
    /* Policy prose */
    .policy-body{}
    .policy-section{margin-bottom:56px}
    .policy-section:last-child{margin-bottom:0}
    .ps-num{font-family:var(--ff-ui);font-size:0.58rem;font-weight:700;letter-spacing:0.24em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
    .ps-title{font-family:var(--ff-head);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:400;color:var(--ink);line-height:1.2;margin-bottom:20px}
    .ps-body{font-size:0.96rem;font-weight:300;color:var(--mid);line-height:1.9}
    .ps-body p{margin-bottom:16px}
    .ps-body p:last-child{margin-bottom:0}
    .ps-body ul{margin:16px 0 16px 20px;display:flex;flex-direction:column;gap:8px}
    .ps-body ul li{list-style:disc;font-size:0.96rem;font-weight:300;color:var(--mid);line-height:1.75}
    .ps-body strong{font-weight:600;color:var(--ink)}
    .ps-body a{color:var(--em-lt);text-decoration:underline;text-decoration-color:rgba(42,82,152,0.3)}
    .ps-body a:hover{text-decoration-color:var(--em-lt)}
    .policy-divider{height:1px;background:var(--border);margin-bottom:56px}
    /* FOOTER */
    footer{background:#0f1114;padding:80px 0 44px}
    .foot-in{max-width:var(--max-w);margin:0 auto;padding:0 60px}
    .foot-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;padding-bottom:52px;margin-bottom:32px;border-bottom:1px solid rgba(255,255,255,0.08)}
    .foot-brand-name{font-family:var(--ff-ui);font-size:0.8rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#fff;margin-bottom:14px;display:flex;align-items:center;gap:10px}
    .foot-mark{width:24px;height:24px;border:1px solid rgba(42,82,152,0.6);display:flex;align-items:center;justify-content:center;font-size:0.56rem;font-weight:800;color:rgba(200,170,100,0.8)}
    .foot-brand p{font-size:0.82rem;font-weight:300;color:rgba(200,210,230,0.4);line-height:1.78;max-width:240px}
    .foot-col h5{font-family:var(--ff-ui);font-size:0.58rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:rgba(200,170,100,0.7);margin-bottom:16px}
    .foot-col ul{display:flex;flex-direction:column;gap:10px}
    .foot-col ul a{font-size:0.82rem;font-weight:300;color:rgba(200,210,230,0.4);transition:color 0.2s;text-decoration:none}
    .foot-col ul a:hover{color:rgba(200,210,230,0.9)}
    .foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
    .foot-bottom p{font-size:0.74rem;font-weight:300;color:rgba(200,210,230,0.3)}
    .foot-bottom a{font-size:0.74rem;color:rgba(200,210,230,0.3);transition:color 0.2s;text-decoration:none}
    .foot-bottom a:hover{color:rgba(200,210,230,0.7)}
    @media(max-width:900px){.foot-top{grid-template-columns:1fr 1fr}.foot-in{padding:0 24px}}
    @media(max-width:560px){.foot-top{grid-template-columns:1fr}}