  :root{
    --paper:#F6F4EE;--paper-2:#FFFFFF;--paper-3:#EEEAE0;
    --navy:#13294B;        /* PLACEHOLDER brand navy — swap for your exact hex */
    --navy-2:#1c3a66;--ink:#1b2330;--muted:#5d6675;
    --line:rgba(19,41,75,0.14);--line-soft:rgba(19,41,75,0.08);--steel:#3a6ea5;
    --display:"Fraunces",Georgia,serif;--body:"Spectral",Georgia,serif;--mono:"JetBrains Mono",ui-monospace,monospace;
    --maxw:1320px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-snap-type:y mandatory;scroll-behavior:smooth}
  body{background:var(--paper);color:var(--ink);font-family:var(--body);font-weight:400;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;text-align:justify}
  body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(110% 80% at 88% -10%, rgba(58,110,165,0.08), transparent 55%)}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;position:relative;z-index:5}
  a{color:inherit;text-decoration:none}
  ::selection{background:var(--navy);color:var(--paper)}
  .eyebrow{font-family:var(--display);font-size:14px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);display:inline-block}
  .eyebrow .dash{color:var(--muted);margin-right:14px}

  header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .4s ease,border-color .4s ease,backdrop-filter .4s ease;border-bottom:1px solid transparent}
  header.scrolled{background:rgba(246,244,238,0.82);backdrop-filter:blur(14px) saturate(120%);border-bottom:1px solid var(--line-soft)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:88px}
  .brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:21px;letter-spacing:.01em;color:var(--navy)}
  .brand .mark{height:48px;width:auto;flex:0 0 auto;display:block}
  .navlinks{display:flex;gap:38px;align-items:center}
  .navlinks a{font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);position:relative;padding:4px 0}
  .navlinks a::after{content:"";position:absolute;left:0;bottom:-2px;height:1px;width:0;background:var(--steel);transition:width .35s cubic-bezier(.2,.7,.2,1)}
  .navlinks a:hover{color:var(--navy)}.navlinks a:hover::after{width:100%}
  .navlinks a.cta{color:var(--navy);border:1px solid var(--line);padding:9px 18px}
  .navlinks a.cta::after{display:none}.navlinks a.cta:hover{background:var(--navy);color:var(--paper);border-color:var(--navy)}
  .menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--navy);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:9px 14px;cursor:pointer}

  .hero{min-height:96vh;display:flex;align-items:center;padding-top:88px;position:relative}
  .hero .grid-lines{position:absolute;inset:0;z-index:0;opacity:.6;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px);background-size:100% 116px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent)}
  .hero-inner{position:relative;z-index:5;padding:60px 0 90px}
  .hero h1{font-family:var(--display);font-weight:300;font-size:clamp(2.6rem,6.2vw,5.4rem);line-height:1.03;letter-spacing:-.015em;margin:30px 0 0;max-width:16ch;color:var(--navy);font-optical-sizing:auto}
  .hero h1 em{font-style:italic;color:var(--steel)}
  .hero .lede{margin-top:32px;max-width:72ch;font-size:clamp(1.05rem,1.55vw,1.3rem);color:var(--ink);font-weight:300;line-height:1.62}
  .hero .lede strong{color:var(--navy);font-weight:500}
  .hero-meta{margin-top:58px;display:flex;gap:54px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:28px}
  .hero-meta .item{display:flex;flex-direction:column;gap:7px}
  .hero-meta .k{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
  .hero-meta .v{font-family:var(--display);font-size:1.16rem;color:var(--navy);font-weight:400}

  .reveal{opacity:0;transform:translateY(22px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  .d1{transition-delay:.05s}.d2{transition-delay:.15s}.d3{transition-delay:.25s}.d4{transition-delay:.35s}

  section{padding:118px 0;position:relative}
  /* ARION-SITE-7 — snap-scroll page sections (desktop; opted out on mobile + reduced-motion below).
     align-items:stretch overrides the hero's align-items:center so .wrap keeps its
     max-width + margin:auto under the new column flex instead of shrinking to content. */
  .hero,section{scroll-snap-align:start;scroll-snap-stop:always;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:stretch}
  .sec-head{margin-bottom:64px}
  #expertise .sec-head .rule{margin-left:34px;width:calc(100% - 68px)}
  #expertise .sec-head .eyebrow{margin-left:34px}
  .sec-head h2{font-family:var(--display);font-weight:400;font-size:clamp(1.9rem,3.3vw,2.85rem);line-height:1.1;letter-spacing:-.01em;color:var(--navy)}
  .sec-head h2 em{font-style:italic;color:var(--steel)}
  .rule{height:1px;background:var(--line);width:100%;margin:0 0 18px}

  .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
  #expertise .pillars{border-top:1px solid var(--line);margin:0 34px;width:calc(100% - 68px)}
  .pillar{padding:44px 34px 48px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--paper);transition:background .5s ease}
  .pillar:nth-child(3n){border-right:none}.pillar:hover{background:var(--paper-2)}
  .pillar .num{font-family:var(--mono);font-size:12px;color:var(--steel);letter-spacing:.1em}
  .pillar h3{font-family:var(--display);font-weight:400;font-size:1.6rem;margin:20px 0 14px;line-height:1.14;color:var(--navy)}
  .pillar p{color:var(--ink);font-weight:300;font-size:1rem;line-height:1.6}
  /* ARION-SITE-8 — italic qualifier sub-line. Scoped as .pillar .pillar-qualifier
     (0,2,0) to win over .pillar p (0,1,1); -0.5rem top collapses with h3's 14px
     bottom margin → ~6px to title vs 12px to body, binding it to the title. */
  .pillar .pillar-qualifier{font-family:var(--display);font-style:italic;font-weight:400;font-size:0.95rem;color:var(--steel);margin-top:-0.5rem;margin-bottom:0.75rem}
  .pillar ul{list-style:none;margin-top:18px;display:flex;flex-direction:column;gap:8px}
  .pillar li{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted);padding-left:16px;position:relative;text-transform:uppercase}
  .pillar li::before{content:"";position:absolute;left:0;top:6px;width:5px;height:5px;background:var(--steel);transform:rotate(45deg)}

  .approach{background:var(--navy);color:var(--paper)}
  .approach .sec-head h2{color:var(--paper)}.approach .sec-head h2 em{color:#9bc0e6}
  .approach .rule{background:rgba(246,244,238,0.16)}.approach .eyebrow{color:#9bc0e6}
  .edge{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(246,244,238,0.16);border:1px solid rgba(246,244,238,0.16)}
  .edge .cell{background:var(--navy);padding:38px 36px}
  .edge .cell .k{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#9bc0e6;display:block;margin-bottom:14px}
  .edge .cell h4{font-family:var(--display);font-weight:400;font-size:1.3rem;margin-bottom:11px;line-height:1.18;color:var(--paper)}
  .edge .cell p{color:rgba(246,244,238,0.82);font-weight:300;font-size:1.01rem}
  /* ARION-SITE-6 — Approach is now a single paragraph (cells removed) */
  .approach p{max-width:74ch;color:rgba(246,244,238,0.86);font-weight:300;font-size:1.08rem;line-height:1.72;margin-bottom:1.4em}

  .deals{border-top:1px solid var(--line)}
  .deal{display:grid;grid-template-columns:140px 1fr;gap:32px;align-items:baseline;padding:30px 0;border-bottom:1px solid var(--line);transition:padding-left .4s ease}
  .deal:hover{padding-left:10px}
  .deal .tag{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
  .deal .title{font-family:var(--display);font-size:1.28rem;color:var(--navy);font-weight:400;line-height:1.2}
  .deal .desc{color:var(--ink);font-weight:300;font-size:1rem;max-width:72ch}
  .deals-note{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted);margin-top:24px;text-transform:uppercase}
  /* ARION-SITE-6 — Track Record lead-in paragraph */
  .deals-lead{max-width:70ch;color:var(--ink);font-weight:300;font-size:1.08rem;line-height:1.6;margin-bottom:36px}

  .origin{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:center}
  .origin .body h2{font-family:var(--display);font-weight:400;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.12;letter-spacing:-.01em;margin-bottom:24px;color:var(--navy)}
  .origin .body h2 em{font-style:italic;color:var(--steel)}
  .origin .body p{color:var(--ink);font-weight:300;font-size:1.08rem;margin-bottom:16px;max-width:54ch}
  .origin .side{border-left:1px solid var(--line);padding-left:40px;display:flex;flex-direction:column;gap:28px}
  .origin .side .row .k{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:8px}
  .origin .side .row .v{font-family:var(--display);font-size:1.12rem;color:var(--navy)}

  .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
  .person{background:var(--paper-2);padding:34px 30px 36px}
  .person .ph{width:100%;aspect-ratio:1/1;background:var(--paper-3);border:1px solid var(--line);margin-bottom:22px;display:flex;align-items:center;justify-content:center}
  .person .ph span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}
  .person h4{font-family:var(--display);font-size:1.3rem;color:var(--navy);font-weight:400;margin-bottom:5px}
  .person .role{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);margin-bottom:14px}
  .person p{color:var(--ink);font-weight:300;font-size:.96rem;line-height:1.55}

  .contact{text-align:center;padding:140px 0}
  .contact .eyebrow{margin-bottom:28px}
  .contact h2{font-family:var(--display);font-weight:400;font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.08;letter-spacing:-.015em;max-width:22ch;margin:0 auto 18px;color:var(--navy)}
  .contact h2 em{font-style:italic;color:var(--steel)}
  .contact .sub{color:var(--muted);font-weight:300;max-width:50ch;margin:0 auto 38px}
  .mailto{display:inline-flex;align-items:center;gap:14px;font-family:var(--mono);font-size:14px;letter-spacing:.06em;border:1px solid var(--navy);padding:18px 30px;transition:background .4s ease,color .4s ease;color:var(--navy)}
  .mailto:hover{background:var(--navy);color:var(--paper)}
  .mailto .arrow{transition:transform .4s ease}.mailto:hover .arrow{transform:translateX(5px)}

  footer{border-top:1px solid var(--line);padding:54px 0 46px;background:var(--paper-3);scroll-snap-align:end}
  .foot-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap}
  .foot-brand{font-family:var(--display);font-size:1.5rem;color:var(--navy)}
  .foot-links{display:flex;gap:28px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
  .foot-links a:hover{color:var(--steel)}
  .disclaimer{margin-top:38px;padding-top:24px;border-top:1px solid var(--line-soft);font-size:.82rem;color:var(--muted);font-weight:300;line-height:1.7;max-width:100ch}
  .copyline{margin-top:22px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}

  .cookie{position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--navy);color:var(--paper);transform:translateY(110%);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
  .cookie.show{transform:none}
  .cookie .inner{max-width:var(--maxw);margin:0 auto;padding:18px 32px;display:flex;align-items:center;gap:24px;justify-content:space-between;flex-wrap:wrap}
  .cookie p{font-size:.86rem;font-weight:300;color:rgba(246,244,238,0.88);max-width:70ch}
  .cookie .btns{display:flex;gap:10px}
  .cookie button{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:10px 18px;cursor:pointer;border:1px solid rgba(246,244,238,0.4);background:none;color:var(--paper)}
  .cookie button.accept{background:var(--paper);color:var(--navy);border-color:var(--paper)}

  @media(max-width:880px){
    html{scroll-snap-type:none}
    .hero,section{min-height:auto}
    .navlinks{display:none}.menu-btn{display:block}.lang-toggle--m{display:flex}
    .sec-head{margin-bottom:40px}
    .pillars,.team-grid{grid-template-columns:1fr}.pillar{border-right:none}
    .edge{grid-template-columns:1fr}
    .origin{grid-template-columns:1fr;gap:38px}
    .origin .side{border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:30px}
    .deal{grid-template-columns:1fr;gap:8px;padding:24px 0}
    section{padding:88px 0}
  }
  @media(max-width:480px){.wrap{padding:0 22px}.hero-meta{gap:30px}.hero-meta .item{flex:1 1 40%}}

  /* ARION-SITE-7 — reduced-motion users opt out of snap-scroll (and smooth) */
  @media(prefers-reduced-motion:reduce){
    html{scroll-snap-type:none;scroll-behavior:auto}
    .hero,section{min-height:auto}
  }

  .inline-link{color:var(--steel)}
  .inline-link:hover{text-decoration:underline}

  /* ARION-SITE-3 — language toggle (EN / ES) */
  /* Force the [hidden] layer off even when a class (.eyebrow/.deal/.item)
     sets its own display — otherwise the inactive language leaks through. */
  [hidden]{display:none !important}
  .lang-toggle{display:flex;align-items:center;gap:10px}
  .lang-toggle button{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:none;border:none;padding:4px 0;margin:0;cursor:pointer;position:relative}
  .lang-toggle button:hover{color:var(--navy)}
  .lang-toggle button.active{color:var(--navy)}
  .lang-toggle button.active::after{content:"";position:absolute;left:0;bottom:-2px;height:1px;width:100%;background:var(--steel)}
  .lang-toggle .divider{color:var(--line);font-family:var(--mono);font-size:12px}
  .lang-toggle--m{display:none}            /* mobile-only twin; shown at ≤880px */
