  :root{
    --bg: #F3EEE3;
    --bg-alt: #ECE5D4;
    --ink: #1C1912;
    --ink-soft: #6E6656;
    --ink-faint: #A79E8A;
    --gold: #A5793A;
    --gold-deep: #8A5F2B;
    --rule: #D9D0B8;
    --rule-soft: #E4DCC7;
    --serif: 'Cormorant Garamond', serif;
    --sans: 'Inter', sans-serif;
  }

  html.js-enabled .approach-animated .section-head > *,
  html.js-enabled .approach-animated .pillar,
  html.js-enabled .approach-animated .pillars::before{
    opacity:0;
    transform:translateY(24px);
  }

  html.js-enabled .approach-animated::after{
    content:"";
    position:absolute;
    inset:18% 8% auto;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(165,121,58,.26), transparent);
    opacity:0;
    transform:scaleX(.55);
    pointer-events:none;
  }

  html.js-enabled .approach-animated .section-head > *{
    transition:opacity .9s ease, transform .9s ease;
  }

  html.js-enabled .approach-animated .pillars::before{
    transition:opacity 1.1s ease, transform 1.1s ease;
  }

  html.js-enabled .approach-animated .pillar{
    transition:opacity .8s ease, transform .8s ease, box-shadow .3s ease;
  }

  html.js-enabled .approach-animated.is-visible .section-head > *,
  html.js-enabled .approach-animated.is-visible .pillar,
  html.js-enabled .approach-animated.is-visible .pillars::before{
    opacity:1;
    transform:translateY(0);
  }

  html.js-enabled .approach-animated.is-visible::after{
    opacity:1;
    animation:sectionSweep 6s ease-in-out infinite;
  }

  html.js-enabled .approach-animated.is-visible .section-head .eyebrow{
    transition-delay:.05s;
  }

  html.js-enabled .approach-animated.is-visible .section-head h2{
    transition-delay:.16s;
  }

  html.js-enabled .approach-animated.is-visible .pillar:nth-child(1){transition-delay:.12s;}
  html.js-enabled .approach-animated.is-visible .pillar:nth-child(2){transition-delay:.24s;}
  html.js-enabled .approach-animated.is-visible .pillar:nth-child(3){transition-delay:.36s;}

  html.js-enabled .approach-animated.is-visible .pillars::before{
    animation:floatRing 9s ease-in-out infinite;
  }

  html.js-enabled .approach-animated.is-visible .pillar-icon{
    animation:iconDrift 4.8s ease-in-out infinite;
  }

  html.js-enabled .approach-animated.is-visible .pillar:nth-child(2) .pillar-icon{
    animation-delay:.6s;
  }

  html.js-enabled .approach-animated.is-visible .pillar:nth-child(3) .pillar-icon{
    animation-delay:1.1s;
  }

  html.js-enabled .approach-animated .pillar:hover{
    transform:translateY(-6px);
  }

  html.js-enabled .approach-animated .pillar-icon{
    transition:transform .35s ease, color .35s ease;
  }

  html.js-enabled .approach-animated .pillar:hover .pillar-icon{
    transform:translateY(-2px) scale(1.06);
    color:var(--gold-deep);
  }

  @keyframes floatRing{
    0%,100%{transform:translateY(0) scale(1);}
    50%{transform:translateY(10px) scale(1.02);}
  }
  @keyframes beamRock{
    0%,100%{transform:rotate(-7deg);}
    50%{transform:rotate(7deg);}
  }
  
  @keyframes shipSail{
    0%,100%{transform:translateX(-34px) translateY(3px);}
    50%{transform:translateX(34px) translateY(-3px);}
  }

  @keyframes sectionSweep{
    0%,100%{transform:translateX(-2%) scaleX(.55);}
    50%{transform:translateX(2%) scaleX(.95);}
  }

  @keyframes iconDrift{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-4px);}
  }

  @media (prefers-reduced-motion: reduce){
    html.js-enabled .approach-animated .section-head > *,
    html.js-enabled .approach-animated .pillar,
    html.js-enabled .approach-animated .pillars::before,
    html.js-enabled .approach-animated .pillar,
    html.js-enabled .approach-animated .pillar-icon{
      transition:none !important;
      animation:none !important;
      transform:none !important;
      opacity:1 !important;
    }
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:var(--sans);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;text-decoration:none;}
  img,svg{display:block;}

  .wrap{
    max-width:1180px;
    margin:0 auto;
    padding:0 48px;
  }

  .eyebrow{
    font-family:var(--sans);
    font-size:11px;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--gold);
    font-weight:600;
  }

  .rule{
    height:1px;
    background:var(--rule);
    border:none;
    width:100%;
  }

  /* ---------- NAV ---------- */
  header{
    position:sticky;
    top:0;
    background:rgba(243,238,227,.92);
    backdrop-filter:blur(6px);
    z-index:120;
    border-bottom:1px solid var(--rule-soft);
  }
  nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:26px 0;
  }
  .logo{
    display:flex;
    align-items:baseline;
    gap:12px;
  }
  .logo-mark{
    font-family:var(--serif);
    font-size:24px;
    letter-spacing:.14em;
    font-weight:500;
  }
  .logo-sub{
    font-family:var(--sans);
    font-size:10.5px;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:var(--ink-faint);
  }
  .nav-links{
    display:flex;
    align-items:center;
    gap:40px;
    font-size:13.5px;
    color:var(--ink-soft);
  }
  .nav-links a{position:relative;padding-bottom:4px;transition:color .2s;}
  .nav-links a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:1px;
    background:var(--gold);
    transform:scaleX(0);
    transform-origin:right;
    transition:transform .35s cubic-bezier(.22,1,.36,1);
  }
  .nav-links a:hover{color:var(--ink);}
  .nav-links a:hover::after{transform:scaleX(1);transform-origin:left;}
  .nav-links a.active{color:var(--ink);border-bottom:1px solid var(--gold);}
  .nav-links a.active::after{content:none;}
  .nav-toggle{
    display:none;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    padding:0;
    border:none;
    background:none;
    cursor:pointer;
    position:relative;
    z-index:110;
  }
  .nav-toggle-box{
    position:relative;
    width:22px;
    height:15px;
    display:block;
  }
  .nav-toggle-line{
    position:absolute;
    left:0;
    width:100%;
    height:1.5px;
    border-radius:2px;
    background:var(--ink);
    transition:transform .45s cubic-bezier(.22,1,.36,1), opacity .3s ease, background .3s ease, width .3s ease;
  }
  .nav-toggle-line:nth-child(1){top:0;}
  .nav-toggle-line:nth-child(2){top:50%;width:70%;transform:translateY(-50%);}
  .nav-toggle-line:nth-child(3){bottom:0;}
  .nav-toggle.is-active .nav-toggle-line:nth-child(1){
    top:50%;
    transform:translateY(-50%) rotate(45deg);
    background:var(--gold-deep);
  }
  .nav-toggle.is-active .nav-toggle-line:nth-child(2){
    opacity:0;
    width:0;
    transform:translateY(-50%);
  }
  .nav-toggle.is-active .nav-toggle-line:nth-child(3){
    top:50%;
    transform:translateY(-50%) rotate(-45deg);
    background:var(--gold-deep);
  }

  /* ---------- MOBILE MENU ---------- */
  html.menu-open{overflow:hidden;}
  .mobile-menu{
    position:fixed;
    inset:0;
    z-index:100;
    visibility:hidden;
    pointer-events:none;
    transition:visibility 0s linear .6s;
  }
  .mobile-menu.is-open{
    visibility:visible;
    pointer-events:auto;
    transition:visibility 0s linear 0s;
  }
  .mobile-menu-backdrop{
    position:absolute;
    inset:0;
    background:rgba(22,20,15,.5);
    backdrop-filter:blur(3px);
    opacity:0;
    transition:opacity .55s ease;
  }
  .mobile-menu.is-open .mobile-menu-backdrop{opacity:1;}
  .mobile-menu-panel{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:22px;
    background:
      radial-gradient(circle at 18% 14%, rgba(165,121,58,.16), transparent 42%),
      radial-gradient(circle at 86% 82%, rgba(165,121,58,.12), transparent 40%),
      var(--bg);
    opacity:0;
    transform:translateY(-18px) scale(.98);
    transition:opacity .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1);
  }
  .mobile-menu.is-open .mobile-menu-panel{
    opacity:1;
    transform:translateY(0) scale(1);
  }
  .mobile-menu-panel a{
    position:relative;
    font-family:var(--serif);
    font-size:clamp(30px, 8vw, 46px);
    font-weight:400;
    color:var(--ink);
    letter-spacing:.01em;
    opacity:0;
    transform:translateY(20px);
    transition:opacity .5s cubic-bezier(.22,1,.36,1), transform .5s cubic-bezier(.22,1,.36,1), color .3s ease;
  }
  .mobile-menu.is-open .mobile-menu-panel a{
    opacity:1;
    transform:translateY(0);
  }
  .mobile-menu.is-open .mobile-menu-panel a:nth-child(1){transition-delay:.14s;}
  .mobile-menu.is-open .mobile-menu-panel a:nth-child(2){transition-delay:.22s;}
  .mobile-menu.is-open .mobile-menu-panel a:nth-child(3){transition-delay:.3s;}
  .mobile-menu.is-open .mobile-menu-panel a:nth-child(4){transition-delay:.38s;}
  .mobile-menu-panel a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-8px;
    width:0;
    height:1px;
    background:var(--gold);
    transform:translateX(-50%);
    transition:width .35s ease;
  }
  .mobile-menu-panel a:hover::after,
  .mobile-menu-panel a.active::after{width:56%;}
  .mobile-menu-panel a.active{color:var(--gold-deep);}
  .mobile-menu-panel .logo-sub{
    opacity:0;
    transform:translateY(14px);
    transition:opacity .5s ease, transform .5s ease;
    transition-delay:.05s;
  }
  .mobile-menu.is-open .mobile-menu-panel .logo-sub{opacity:1;transform:translateY(0);}

  @media (prefers-reduced-motion: reduce){
    .nav-toggle-line,
    .mobile-menu,
    .mobile-menu-backdrop,
    .mobile-menu-panel,
    .mobile-menu-panel a,
    .mobile-menu-panel .logo-sub{
      transition:none !important;
    }
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    padding:96px 0 88px;
    overflow:hidden;
  }
  .hero-arc{
    position:absolute;
    right:-180px;
    top:-220px;
    width:640px;
    height:640px;
    border:1px solid var(--rule);
    border-radius:50%;
    opacity:.6;
  }
  .hero-arc.inner{
    right:-40px;
    top:60px;
    width:340px;
    height:340px;
    opacity:.5;
  }
  .hero-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:44px;
    position:relative;
  }
  .hero-top .est{
    font-size:11.5px;
    letter-spacing:.18em;
    color:var(--ink-faint);
    font-variant-numeric:tabular-nums;
  }
  h1.headline{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(40px, 5.4vw, 74px);
    line-height:1.08;
    letter-spacing:-.01em;
    max-width:820px;
    position:relative;
  }
  .hero-body{
    display:grid;
    grid-template-columns:1.6fr 1fr;
    gap:64px;
    margin-top:52px;
    align-items:end;
    position:relative;
  }
  .hero-copy p{
    font-size:16px;
    color:var(--ink-soft);
    max-width:480px;
    font-weight:300;
  }
  .hero-meta{
    display:flex;
    flex-direction:column;
    gap:20px;
  }
  .meta-row{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    padding-top:14px;
    border-top:1px solid var(--rule);
  }
  .meta-label{font-size:12.5px;color:var(--ink-faint);}
  .meta-value{font-family:var(--serif);font-size:19px;letter-spacing:.02em;}

  /* ---------- GROUP / PILLARS ---------- */
  .section{
    padding:100px 0;
    position:relative;
  }
  .section.alt{background:rgba(236,229,212,.92);}
  .section-head{
    text-align:center;
    max-width:640px;
    margin:0 auto 64px;
  }
  .section-head h2{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(30px,3.4vw,44px);
    margin-top:14px;
    letter-spacing:-.01em;
  }

  .pillars{
    position:relative;
    display:grid;
    grid-template-columns:repeat(3,1fr);
  }
  .pillars::before{
    content:"";
    position:absolute;
    right:8%;
    top:-30px;
    width:420px;
    height:420px;
    border:1px solid var(--rule);
    border-radius:50%;
    opacity:.55;
    z-index:0;
  }
  .pillar{
    padding:0 40px;
    position:relative;
    z-index:1;
    text-align:center;
  }
  .pillar + .pillar{border-left:1px solid var(--rule);}
  .pillar-icon{
    width:44px;height:44px;
    margin:0 auto 22px;
    display:flex;align-items:center;justify-content:center;
    color:var(--gold);
  }
  .pillar-num{
    font-size:11px;
    letter-spacing:.2em;
    color:var(--ink-faint);
    margin-bottom:10px;
  }
  .pillar h3{
    font-family:var(--serif);
    font-weight:500;
    font-size:24px;
    margin-bottom:12px;
  }
  .pillar p{
    font-size:14.5px;
    color:var(--ink-soft);
    font-weight:300;
    max-width:280px;
    margin:0 auto;
  }

  /* ---------- MANDATE ---------- */
  .mandate-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:80px;
    align-items:start;
  }
  .mandate-grid .eyebrow{display:block;margin-bottom:16px;}
  .mandate-grid h2{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(28px,3vw,38px);
    line-height:1.15;
  }
  .mandate-list{
    display:flex;
    flex-direction:column;
  }
  .mandate-item{
    display:grid;
    grid-template-columns:120px 1fr;
    gap:28px;
    padding:26px 0;
    border-top:1px solid var(--rule);
  }
  .mandate-item:last-child{border-bottom:1px solid var(--rule);}
  .mandate-item .m-title{
    font-family:var(--serif);
    font-size:20px;
    color:var(--gold-deep);
  }
  .mandate-item p{
    font-size:14.5px;
    color:var(--ink-soft);
    font-weight:300;
  }

  /* ---------- HOLDINGS ---------- */
  .holdings-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:var(--rule);
    border:1px solid var(--rule);
  }
  .holding-card{
    background:var(--bg);
    padding:40px 36px;
  }
  .holding-card .cat{
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--ink-faint);
    margin-bottom:16px;
  }
  .holding-card h4{
    font-family:var(--serif);
    font-weight:500;
    font-size:22px;
    margin-bottom:12px;
  }
  .holding-card p{
    font-size:14px;
    color:var(--ink-soft);
    font-weight:300;
  }

  /* ---------- LEADERSHIP ---------- */
  .leadership{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
  }
  .leadership h2{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(28px,3vw,38px);
    line-height:1.15;
    margin-bottom:20px;
  }
  .leadership p{
    font-size:15px;
    color:var(--ink-soft);
    font-weight:300;
    max-width:460px;
    margin-bottom:28px;
  }
  .text-link{
    font-size:13px;
    letter-spacing:.08em;
    text-transform:uppercase;
    border-bottom:1px solid var(--gold);
    padding-bottom:4px;
    color:var(--ink);
  }
  .leadership-panel{
    border:1px solid var(--rule);
    padding:44px;
    background:var(--bg-alt);
  }
  .leadership-panel .row{
    display:flex;
    justify-content:space-between;
    padding:16px 0;
    border-top:1px solid var(--rule);
    font-size:13.5px;
  }
  .leadership-panel .row:first-child{border-top:none;}
  .leadership-panel .row span:first-child{color:var(--ink-faint);}

  /* ---------- CONTACT / FOOTER ---------- */
  footer{
    background:var(--ink);
    color:#EFE9DA;
    padding:88px 0 32px;
  }
  .footer-top{
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr 1fr;
    gap:48px;
    padding-bottom:56px;
    border-bottom:1px solid rgba(239,233,218,.14);
  }
  .footer-top .logo-mark{
    color:#EFE9DA;
    transition:color .25s ease, letter-spacing .25s ease;
  }
  .footer-top:hover .logo-mark{color:#F5EFE3;}
  .footer-top .logo-sub{color:#948C77;}
  .footer-blurb{
    font-size:13.5px;
    color:#B7AF9B;
    font-weight:300;
    max-width:280px;
    line-height:1.7;
    margin-top:18px;
  }
  .footer-col h5{
    position:relative;
    display:inline-block;
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:#948C77;
    margin-bottom:20px;
    padding-top:14px;
  }
  .footer-col h5::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:22px;
    height:2px;
    background:#C7944F;
  }
  .footer-col a{
    position:relative;
    display:flex;
    width:fit-content;
    align-items:center;
    gap:6px;
    font-size:13.5px;
    color:#D8D2C0;
    font-weight:300;
    margin-bottom:12px;
    transition:color .25s ease, gap .25s ease, padding-left .25s ease;
  }
  .footer-col p{
    display:block;
    font-size:13.5px;
    color:#D8D2C0;
    font-weight:300;
    margin-bottom:10px;
    line-height:1.6;
  }
  .footer-col a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-2px;
    width:100%;
    height:1px;
    background:#C7944F;
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .3s ease;
  }
  .footer-col a:hover{color:#fff;gap:10px;}
  .footer-col a:hover::after{transform:scaleX(1);}
  .footer-col a .arrow{
    display:inline-block;
    opacity:0;
    transform:translateX(-4px);
    transition:opacity .25s ease, transform .25s ease;
    color:#C7944F;
  }
  .footer-col a:hover .arrow{opacity:1;transform:translateX(0);}
  .footer-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-top:28px;
    font-size:12px;
    color:#7A735F;
  }
  .footer-bottom-text{display:flex;gap:24px;flex-wrap:wrap;}
  .footer-bottom-actions{
    display:flex;
    align-items:center;
    gap:20px;
  }
  .footer-social{
    display:flex;
    align-items:center;
    gap:10px;
  }
  .social-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border-radius:50%;
    border:1px solid rgba(239,233,218,.28);
    color:#D8D2C0;
    flex-shrink:0;
    transition:background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
  }
  .social-link:hover{
    background:#C7944F;
    border-color:#C7944F;
    color:#16140F;
    transform:translateY(-3px);
  }
  .social-link svg{width:15px;height:15px;}
  .back-to-top{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    border-radius:50%;
    border:1px solid rgba(239,233,218,.28);
    color:#D8D2C0;
    flex-shrink:0;
    transition:background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
  }
  .back-to-top:hover{
    background:#C7944F;
    border-color:#C7944F;
    color:#16140F;
    transform:translateY(-3px);
  }
  .back-to-top svg{width:15px;height:15px;}

  .float-top{
    position:fixed;
    right:28px;
    bottom:28px;
    z-index:80;
    display:flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    border-radius:50%;
    background:var(--ink);
    border:1px solid rgba(217,208,184,.3);
    color:#F0E9D8;
    box-shadow:0 14px 34px rgba(28,25,18,.28);
    opacity:0;
    transform:translateY(16px) scale(.9);
    pointer-events:none;
    transition:opacity .4s ease, transform .4s cubic-bezier(.22,1,.36,1), background .3s ease, border-color .3s ease, box-shadow .3s ease;
  }

  .float-top.is-visible{
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
    animation:floatBob 2.8s ease-in-out infinite;
  }

  .float-top svg{
    width:19px;
    height:19px;
    transition:transform .3s ease;
  }

  .float-top:hover{
    background:var(--gold);
    border-color:var(--gold);
    color:#16140F;
    box-shadow:0 18px 40px rgba(165,121,58,.38);
    animation-play-state:paused;
  }

  .float-top:hover svg{transform:translateY(-3px);}

  @keyframes floatBob{
    0%,100%{transform:translateY(0) scale(1);}
    50%{transform:translateY(-7px) scale(1);}
  }

  @media (max-width: 720px){
    .float-top{width:46px;height:46px;right:18px;bottom:18px;}
    .float-top svg{width:17px;height:17px;}
  }

  @media (prefers-reduced-motion: reduce){
    .float-top.is-visible{animation:none;}
  }

  @media (max-width: 720px){
    .wrap{padding:0 24px;}
    .nav-links{display:none;}
    .nav-toggle{display:flex;}
    .hero-body, .mandate-grid, .leadership, .footer-top{grid-template-columns:1fr;gap:36px;}
    .pillars{grid-template-columns:1fr;}
    .pillar + .pillar{border-left:none;border-top:1px solid var(--rule);padding-top:40px;margin-top:40px;}
    .holdings-grid{grid-template-columns:1fr;}
    .mandate-item{grid-template-columns:1fr;gap:8px;}
    .hero-arc{display:none;}
    html.js-enabled .approach-animated::after{left:24px;right:24px;top:14%;}
    .ambient-ring,
    .ambient-line,
    .ambient-dot{
      display:none;
    }
  }

  body{
    background:
      radial-gradient(circle at top left, rgba(165,121,58,.12), transparent 28%),
      radial-gradient(circle at 86% 6%, rgba(28,25,18,.08), transparent 26%),
      linear-gradient(180deg, #F7F2E8 0%, #F3EEE3 22%, #EFE8DA 100%);
  }

  header{
    background:rgba(247,242,232,.78);
    border-bottom:1px solid rgba(217,208,184,.75);
  }

  .premium-main{
    position:relative;
    overflow:hidden;
  }

  .premium-main::before,
  .premium-main::after{
    content:"";
    position:absolute;
    border-radius:50%;
    pointer-events:none;
    z-index:0;
    filter:blur(4px);
  }

  .premium-main::before{
    width:640px;
    height:640px;
    right:-240px;
    top:200px;
    background:radial-gradient(circle, rgba(165,121,58,.09), transparent 64%);
  }

  .premium-main::after{
    width:420px;
    height:420px;
    left:-180px;
    top:980px;
    background:radial-gradient(circle, rgba(28,25,18,.06), transparent 68%);
  }

  .ambient-layer{
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:0;
    overflow:hidden;
    opacity:.55;
  }

  .ambient-ring,
  .ambient-line,
  .ambient-dot{
    position:absolute;
    display:block;
  }

  .ambient-ring{
    border-radius:50%;
    border:1px solid rgba(154,123,79,.22);
    box-shadow:0 0 0 1px rgba(255,255,255,.22) inset;
    animation:ringDrift 14s ease-in-out infinite;
  }

  .ambient-line{
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(154,123,79,.35), transparent);
    transform-origin:left center;
    animation:lineSweep 12s ease-in-out infinite;
  }

  .ambient-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:rgba(154,123,79,.48);
    box-shadow:0 0 0 8px rgba(154,123,79,.08);
    animation:dotPulse 4.8s ease-in-out infinite;
  }

  .ambient-ring.r1{width:420px;height:420px;left:-120px;top:120px;animation-duration:18s;}
  .ambient-ring.r2{width:300px;height:300px;right:-70px;top:520px;animation-duration:16s;animation-delay:-4s;}
  .ambient-ring.r3{width:180px;height:180px;left:58%;top:1320px;animation-duration:15s;animation-delay:-7s;}
  .ambient-ring.r4{width:260px;height:260px;right:-90px;top:2260px;animation-duration:17s;animation-delay:-6s;}
  .ambient-ring.r5{width:210px;height:210px;left:-70px;top:3180px;animation-duration:14s;animation-delay:-3s;}
  .ambient-line.l1{width:34vw;left:12%;top:300px;animation-delay:-2s;}
  .ambient-line.l2{width:28vw;right:6%;top:980px;animation-delay:-5s;}
  .ambient-line.l3{width:20vw;left:16%;top:1760px;animation-delay:-8s;}
  .ambient-line.l4{width:24vw;right:10%;top:2620px;animation-delay:-3.4s;}
  .ambient-dot.d1{left:8%;top:230px;animation-delay:-1s;}
  .ambient-dot.d2{right:12%;top:760px;animation-delay:-2.5s;}
  .ambient-dot.d3{left:70%;top:1560px;animation-delay:-3.8s;}
  .ambient-dot.d4{right:20%;top:2480px;animation-delay:-1.6s;}
  .ambient-dot.d5{left:14%;top:3320px;animation-delay:-2.2s;}

  @keyframes ringDrift{
    0%,100%{transform:translateY(0) scale(1);opacity:.45;}
    50%{transform:translateY(16px) scale(1.03);opacity:.72;}
  }

  @keyframes lineSweep{
    0%,100%{transform:scaleX(.72);opacity:.18;}
    50%{transform:scaleX(1);opacity:.42;}
  }

  @keyframes dotPulse{
    0%,100%{transform:scale(.9);opacity:.35;}
    50%{transform:scale(1.18);opacity:.9;}
  }

  .orbit-seam-layer{
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
  }

  .orbit-seam{
    position:absolute;
    width:420px;
    color:#9A7B4F;
    opacity:.5;
  }

  .orbit-seam svg{width:100%;height:auto;display:block;}

  .orbit-seam.gold{color:#E7C88F;opacity:.62;}

  .orbit-seam-1{left:-6%;top:1170px;transform:translateY(-50%);}
  .orbit-seam-2{width:220px;right:8%;top:2020px;transform:translateY(-50%);}
  .orbit-seam-3{right:-8%;top:2915px;transform:translateY(-50%);}
  .orbit-seam-4{left:-6%;top:3910px;transform:translateY(-50%);}

  @media (max-width: 860px){
    .orbit-seam-layer{display:none;}
  }

  .ornament-layer{
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    overflow:hidden;
    opacity:.32;
  }

  .ornament-top-left,
  .ornament-top-right,
  .ornament-mid-left,
  .ornament-low-right,
  .ornament-hair{
    position:absolute;
  }

  .ornament-top-left{
    left:-14%;
    top:-2%;
    width:46vw;
    max-width:560px;
    opacity:.85;
  }

  .ornament-top-right{
    right:-8%;
    top:11%;
    width:52vw;
    max-width:680px;
    opacity:.72;
  }

  .ornament-mid-left{
    left:2.5%;
    top:42%;
    width:84px;
    opacity:.38;
    animation:floatSlow 15s ease-in-out infinite 4s;
  }

  .ornament-low-right{
    right:4%;
    bottom:12%;
    width:112px;
    opacity:.28;
    animation:shipSail 22s ease-in-out infinite 2s;
  }

  .ornament-top-left svg,
  .ornament-top-right svg,
  .ornament-mid-left svg,
  .ornament-low-right svg{
    width:100%;
    height:auto;
    display:block;
  }

  .ornament-hair{
    top:-10%;
    width:1px;
    height:120%;
    background:linear-gradient(180deg,transparent,rgba(22,20,15,0.12) 30%,rgba(22,20,15,0.12) 70%,transparent);
    animation:hairDrift 18s ease-in-out infinite;
  }

  .ornament-hair.h1{left:18%;}
  .ornament-hair.h2{left:50%;animation-duration:24s;animation-delay:2s;}
  .ornament-hair.h3{left:82%;animation-duration:21s;animation-delay:1s;}

  @keyframes hairDrift{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-2.2vh);}
  }

  @keyframes drawPath{
    to{stroke-dashoffset:0;}
  }

  @keyframes globeTrace{
    to{stroke-dashoffset:0;}
  }

  @keyframes nodeGlow{
    0%,100%{opacity:.85;}
    50%{opacity:.12;}
  }

  @keyframes floatSlow{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-8px);}
  }

  .reveal-section,
  .reveal-item{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .9s ease, transform .9s ease;
    will-change:opacity, transform;
  }

  .reveal-section.is-visible,
  .reveal-item.is-visible{
    opacity:1;
    transform:translateY(0);
  }

  .signal-stack .signal-card,
  .mandate-list .mandate-item-premium,
  .leadership-list .leadership-note{
    opacity:0;
    transform:translateY(22px);
    transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
  }

  .signal-stack.is-visible .signal-card,
  .mandate-copy.is-visible .mandate-item-premium,
  .leadership-copy.is-visible .leadership-note{
    opacity:1;
    transform:translateY(0);
  }

  .signal-stack.is-visible .signal-card:nth-child(1){transition-delay:.05s;}
  .signal-stack.is-visible .signal-card:nth-child(2){transition-delay:.18s;}
  .signal-stack.is-visible .signal-card:nth-child(3){transition-delay:.31s;}

  .mandate-copy.is-visible .mandate-item-premium:nth-child(1){transition-delay:.15s;}
  .mandate-copy.is-visible .mandate-item-premium:nth-child(2){transition-delay:.28s;}
  .mandate-copy.is-visible .mandate-item-premium:nth-child(3){transition-delay:.41s;}

  .leadership-copy.is-visible .leadership-note:nth-child(1){transition-delay:.15s;}
  .leadership-copy.is-visible .leadership-note:nth-child(2){transition-delay:.28s;}

  .holdings-grid.premium-holdings .holding-card:nth-child(1){transition-delay:0s;}
  .holdings-grid.premium-holdings .holding-card:nth-child(2){transition-delay:.14s;}
  .holdings-grid.premium-holdings .holding-card:nth-child(3){transition-delay:.28s;}

  .leadership-note::before{
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .6s cubic-bezier(.22,1,.36,1);
    transition-delay:inherit;
  }

  .leadership-copy.is-visible .leadership-note::before{transform:scaleX(1);}

  .approach-visual img,
  .mandate-visual img,
  .leadership-media figure img,
  .holding-card figure img{
    transform:scale(1.12);
  }

  .approach-visual.is-visible img,
  .mandate-visual.is-visible img,
  .leadership-media.is-visible figure img,
  .holding-card.is-visible figure img{
    transform:scale(1);
    transition-delay:.1s;
  }

  @media (prefers-reduced-motion: reduce){
    .approach-visual img,
    .mandate-visual img,
    .leadership-media figure img,
    .holding-card figure img{
      transform:none;
    }
    .approach-visual-slide,
    .mandate-visual-slide{
      transition:none !important;
      transform:none !important;
    }
  }

  @media (prefers-reduced-motion: reduce){
    .signal-stack .signal-card,
    .mandate-list .mandate-item-premium,
    .leadership-list .leadership-note{
      opacity:1;
      transform:none;
      transition:none;
    }
  }

  .hero-premium{
    position:relative;
    z-index:1;
    padding:88px 0 72px;
  }

  .hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);
    gap:clamp(28px, 5vw, 64px);
    align-items:start;
    min-height:min(76vh, 760px);
  }

  .hero-copy-block{
    position:relative;
    z-index:1;
  }

  .hero-chip{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 14px;
    border:1px solid rgba(165,121,58,.22);
    background:rgba(255,255,255,.28);
    border-radius:999px;
    color:var(--gold-deep);
    font-size:11px;
    letter-spacing:.22em;
    text-transform:uppercase;
    margin-bottom:22px;
    backdrop-filter:blur(8px);
  }

  .hero-chip::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--gold);
    box-shadow:0 0 0 6px rgba(165,121,58,.12);
  }

  .hero-title{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(46px, 6vw, 92px);
    line-height:1.04;
    letter-spacing:-.025em;
    max-width:12ch;
    text-wrap:balance;
    overflow-wrap:normal;
    word-break:normal;
    margin-bottom:22px;
  }

  .hero-text{
    max-width:540px;
    font-size:17px;
    line-height:1.75;
    color:var(--ink-soft);
    margin-bottom:28px;
    font-weight:300;
  }

  .hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-bottom:32px;
  }

  .btn-primary,
  .btn-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 20px;
    border-radius:999px;
    transition:transform .3s cubic-bezier(.22,1,.36,1), border-color .3s ease, background .3s ease, color .3s ease, box-shadow .3s ease;
    font-size:13px;
    letter-spacing:.12em;
    text-transform:uppercase;
  }

  .btn-primary{
    background:var(--ink);
    color:#F8F2E7;
    border:1px solid var(--ink);
  }

  .btn-primary:hover{
    transform:translateY(-3px);
    background:var(--gold-deep);
    border-color:var(--gold-deep);
    box-shadow:0 16px 34px rgba(138,95,43,.32);
  }

  .btn-secondary:hover{
    transform:translateY(-3px);
    border-color:var(--gold);
    color:var(--gold-deep);
    box-shadow:0 14px 30px rgba(28,25,18,.1);
  }

  .btn-secondary{
    border:1px solid rgba(28,25,18,.18);
    color:var(--ink);
    background:rgba(255,255,255,.42);
  }

  .hero-metrics{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
    max-width:680px;
  }

  .metric-card{
    border:1px solid rgba(217,208,184,.85);
    background:rgba(255,255,255,.45);
    backdrop-filter:blur(12px);
    padding:18px 16px;
    border-radius:18px;
    box-shadow:0 12px 30px rgba(28,25,18,.06);
    transition:transform .35s cubic-bezier(.22,1,.36,1), border-color .35s ease, box-shadow .35s ease, background .35s ease;
  }

  .metric-card:hover{
    transform:translateY(-5px);
    border-color:var(--gold);
    background:rgba(255,255,255,.68);
    box-shadow:0 20px 44px rgba(28,25,18,.12);
  }

  .metric-card span{
    display:block;
    font-size:10px;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--ink-faint);
    margin-bottom:10px;
  }

  .metric-card strong{
    display:block;
    font-family:var(--serif);
    font-size:20px;
    font-weight:500;
    line-height:1.1;
  }

  .hero-collage{
    position:relative;
    min-height:560px;
    border-radius:34px;
    overflow:hidden;
    border:1px solid rgba(217,208,184,.82);
    background:rgba(255,255,255,.36);
    box-shadow:0 24px 80px rgba(28,25,18,.1);
  }

  .hero-collage-main,
  .hero-collage-side figure,
  .pillar-card,
  .mandate-visual,
  .holding-card,
  .leadership-media,
  .leadership-note{
    border:1px solid rgba(217,208,184,.85);
    background:rgba(255,255,255,.5);
    box-shadow:0 20px 60px rgba(28,25,18,.08);
  }

  .hero-collage-main{
    position:relative;
    position:absolute;
    inset:0;
    overflow:hidden;
    border-radius:inherit;
  }

  .hero-collage-main img,
  .hero-collage-side img,
  .mandate-visual img,
  .pillar-card img,
  .holding-card img,
  .leadership-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .6s cubic-bezier(.22,1,.36,1);
  }

  .hero-collage-main:hover img{transform:scale(1.05);}
  .hero-collage-side figure:hover img{transform:scale(1.08);}

  .hero-collage-main img{
    position:absolute;
    inset:0;
  }

  .hero-collage-main::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(28,25,18,.05) 0%, rgba(28,25,18,.08) 42%, rgba(28,25,18,.42) 100%);
  }

  .hero-collage-copy{
    position:absolute;
    left:24px;
    right:24px;
    bottom:24px;
    z-index:2;
    color:#F7F0E2;
  }

  .hero-collage-copy span{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:10px;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:rgba(247,240,226,.82);
    margin-bottom:10px;
  }

  .hero-collage-copy strong{
    display:block;
    font-family:var(--serif);
    font-weight:500;
    font-size:clamp(26px, 2.7vw, 40px);
    line-height:1.05;
    max-width:12ch;
  }

  .hero-collage-side{
    position:absolute;
    right:22px;
    top:22px;
    width:min(280px, 36%);
    display:grid;
    gap:12px;
  }

  .hero-collage-side figure{
    position:relative;
    overflow:hidden;
    border-radius:22px;
    min-height:148px;
    box-shadow:0 16px 40px rgba(28,25,18,.18);
    border:1px solid rgba(255,255,255,.22);
  }

  .hero-collage-side figure::after,
  .pillar-card figure::after,
  .holding-card figure::after,
  .leadership-media figure::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, transparent 30%, rgba(28,25,18,.22) 100%);
    pointer-events:none;
  }

  .hero-collage-side figure:nth-child(2){min-height:176px;}

  .hero-collage-label{
    position:absolute;
    left:16px;
    bottom:16px;
    z-index:1;
    font-size:10px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:#F8F2E7;
  }

  .section-head.compact{margin-bottom:36px;}

  .section-deck{
    position:relative;
    z-index:1;
  }

  .section-lead{
    max-width:660px;
    margin:14px auto 0;
    color:var(--ink-soft);
    font-size:16px;
    line-height:1.75;
    font-weight:300;
  }

  .approach-layout{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:24px;
    align-items:stretch;
  }

  .approach-visual,
  .signal-stack{
    border:1px solid rgba(217,208,184,.82);
    background:rgba(255,255,255,.46);
    backdrop-filter:blur(12px);
    box-shadow:0 24px 70px rgba(28,25,18,.08);
  }

  .approach-visual{
    position:relative;
    overflow:hidden;
    border-radius:32px;
    min-height:560px;
  }

  .approach-visual-slide{
    position:absolute;
    inset:0;
    z-index:0;
    opacity:0;
    transform:translateX(3.5%) scale(1.08);
    transition:opacity 1.3s cubic-bezier(.22,1,.36,1), transform 7s cubic-bezier(.22,1,.36,1);
  }

  .approach-visual-slide.is-active{
    z-index:1;
    opacity:1;
    transform:translateX(0) scale(1);
  }

  .approach-visual-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .approach-visual::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    background:linear-gradient(180deg, rgba(22,20,15,.02) 0%, rgba(22,20,15,.18) 44%, rgba(22,20,15,.62) 100%);
  }

  .approach-visual-dots{
    position:absolute;
    right:24px;
    top:24px;
    z-index:3;
    display:flex;
    gap:6px;
  }

  .approach-visual-dots span{
    width:6px;
    height:6px;
    border-radius:50%;
    background:rgba(246,239,227,.45);
    transition:background .4s ease, width .4s ease;
  }

  .approach-visual-dots span.is-active{
    width:18px;
    border-radius:3px;
    background:#E7C88F;
  }

  .approach-visual-copy{
    position:absolute;
    left:24px;
    right:24px;
    bottom:24px;
    z-index:3;
    color:#F6EFE3;
  }

  .approach-visual-copy span{
    display:block;
    font-size:10px;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:rgba(246,239,227,.76);
    margin-bottom:10px;
  }

  .approach-visual-copy strong{
    display:block;
    font-family:var(--serif);
    font-size:clamp(26px, 2.8vw, 42px);
    line-height:1.05;
    font-weight:500;
    max-width:12ch;
  }

  .signal-stack{
    border-radius:32px;
    padding:24px;
    display:grid;
    gap:16px;
    align-content:start;
  }

  .signal-card{
    border-radius:24px;
    padding:18px 18px 16px;
    background:rgba(244,241,234,.88);
    border:1px solid rgba(217,208,184,.76);
    display:grid;
    grid-template-columns:76px 1fr;
    gap:16px;
    align-items:center;
    box-shadow:0 12px 28px rgba(28,25,18,.05);
    transition:transform .35s cubic-bezier(.22,1,.36,1), border-color .35s ease, box-shadow .35s ease, background .35s ease;
  }

  .signal-card:hover{
    transform:translateY(-5px);
    border-color:var(--gold);
    background:rgba(255,255,255,.96);
    box-shadow:0 22px 46px rgba(28,25,18,.1);
  }

  .signal-icon{
    width:72px;
    height:72px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.36));
    border:1px solid rgba(217,208,184,.72);
    color:var(--gold-deep);
    transition:transform .35s cubic-bezier(.22,1,.36,1), border-color .35s ease, color .35s ease;
  }

  .signal-card:hover .signal-icon{
    transform:scale(1.08);
    border-color:var(--gold);
    color:var(--gold);
  }

  .signal-icon svg{width:48px;height:48px;display:block;}

  .signal-copy .signal-kicker{
    font-size:10px;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--ink-faint);
    margin-bottom:6px;
  }

  .signal-copy h3{
    font-family:var(--serif);
    font-weight:500;
    font-size:24px;
    line-height:1.05;
    margin-bottom:8px;
  }

  .signal-copy p{
    font-size:14px;
    line-height:1.65;
    color:var(--ink-soft);
    font-weight:300;
    margin:0;
  }

  .signal-card:nth-child(1) .signal-icon{animation:tradeFlowIcon 3.2s ease-in-out infinite;}
  .signal-card:nth-child(2) .signal-icon{animation:assetRiseIcon 4s ease-in-out infinite;}
  .signal-card:nth-child(3) .signal-icon{animation:equityPulseIcon 5.4s ease-in-out infinite;}

  @keyframes tradeFlowIcon{
    0%,100%{transform:translateX(0);}
    50%{transform:translateX(4px);}
  }

  @keyframes assetRiseIcon{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-4px);}
  }

  @keyframes equityPulseIcon{
    0%,100%{transform:scale(1);}
    50%{transform:scale(1.06);}
  }

  .mandate-layout,
  .leadership-layout{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    align-items:stretch;
  }

  .mandate-copy h2,
  .leadership-copy h2{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(30px, 4vw, 54px);
    line-height:1.06;
    letter-spacing:-.02em;
    max-width:12ch;
    margin-top:14px;
  }

  .mandate-copy p,
  .leadership-copy p{
    margin-top:18px;
    font-size:16px;
    line-height:1.75;
    color:var(--ink-soft);
    font-weight:300;
    max-width:54ch;
  }

  .mandate-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:8px 0;
  }

  .mandate-copy .eyebrow{color:var(--gold);}

  .mandate-list,
  .leadership-list{
    display:grid;
    gap:14px;
    margin-top:28px;
  }

  .mandate-list{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .leadership-list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .mandate-item-premium,
  .leadership-note{
    border-radius:22px;
    padding:20px 18px;
    background:rgba(255,255,255,.52);
    backdrop-filter:blur(10px);
  }

  .mandate-item-premium{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    min-height:176px;
    border:1px solid rgba(217,208,184,.55);
    box-shadow:0 16px 40px rgba(28,25,18,.06);
    transition:transform .35s cubic-bezier(.22,1,.36,1), border-color .35s ease, box-shadow .35s ease, background .35s ease;
  }

  .mandate-item-premium:hover{
    transform:translateY(-5px);
    border-color:var(--gold);
    background:rgba(255,255,255,.78);
    box-shadow:0 22px 46px rgba(28,25,18,.12);
  }

  .leadership-note{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    min-height:168px;
    border:1px solid rgba(217,208,184,.22);
    background:rgba(255,255,255,.1);
    box-shadow:0 16px 40px rgba(0,0,0,.08);
  }

  .mandate-item-premium span,
  .leadership-note span{
    display:block;
    font-size:10px;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--ink-faint);
    margin-bottom:10px;
  }

  .mandate-item-premium strong,
  .leadership-note strong{
    display:block;
    font-family:var(--serif);
    font-size:22px;
    font-weight:500;
    margin-bottom:8px;
  }

  .mandate-item-premium p,
  .leadership-note p{
    margin:0;
    font-size:14px;
    line-height:1.7;
    color:var(--ink-soft);
    max-width:none;
  }

  .mandate-visual,
  .leadership-media{
    position:relative;
    border-radius:32px;
    overflow:hidden;
    min-height:560px;
  }

  .mandate-visual img,
  .leadership-media img{
    position:absolute;
    inset:0;
  }

  .mandate-visual{
    border:1px solid rgba(217,208,184,.72);
    box-shadow:0 24px 60px rgba(28,25,18,.12);
  }

  .mandate-visual:hover img{transform:scale(1.05);}

  .mandate-visual-slide{
    position:absolute;
    inset:0;
    z-index:0;
    opacity:0;
    transform:translateX(3.5%) scale(1.08);
    transition:opacity 1.3s cubic-bezier(.22,1,.36,1), transform 7s cubic-bezier(.22,1,.36,1);
  }

  .mandate-visual-slide.is-active{
    z-index:1;
    opacity:1;
    transform:translateX(0) scale(1);
  }

  .mandate-visual-dots{
    position:absolute;
    right:24px;
    top:24px;
    z-index:4;
    display:flex;
    gap:6px;
  }

  .mandate-visual-dots span{
    width:6px;
    height:6px;
    border-radius:50%;
    background:rgba(246,239,227,.45);
    transition:background .4s ease, width .4s ease;
  }

  .mandate-visual-dots span.is-active{
    width:18px;
    border-radius:3px;
    background:#E7C88F;
  }

  .mandate-visual::before{
    content:"";
    position:absolute;
    inset:16px;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.14);
    z-index:3;
    pointer-events:none;
  }

  .mandate-visual::after,
  .leadership-media figure::after{
    background:linear-gradient(180deg, rgba(28,25,18,.08) 0%, rgba(28,25,18,.42) 100%);
  }

  .mandate-visual::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
  }

  .floating-note{
    position:absolute;
    left:22px;
    right:22px;
    bottom:22px;
    z-index:4;
    border-radius:20px;
    padding:18px 18px 16px;
    background:rgba(243,238,227,.88);
    backdrop-filter:blur(12px);
    border:1px solid rgba(217,208,184,.75);
  }

  .floating-note span{
    display:block;
    font-size:10px;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--ink-faint);
    margin-bottom:6px;
  }

  .floating-note strong{
    display:block;
    font-family:var(--serif);
    font-size:22px;
    font-weight:500;
  }

  .holdings-grid.premium-holdings{
    gap:18px;
    background:none;
    border:none;
  }

  .holding-card{
    border-radius:28px;
    overflow:hidden;
    padding:18px;
    transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease;
  }

  .holding-card:hover{
    transform:translateY(-6px);
    border-color:var(--gold);
    box-shadow:0 26px 54px rgba(28,25,18,.16);
  }

  .holding-card figure{
    position:relative;
    height:260px;
    overflow:hidden;
    border-radius:20px;
    margin-bottom:18px;
  }

  .holding-card .cat{
    color:var(--gold);
    transition:color .3s ease;
  }

  .holding-card:hover h4{color:var(--gold-deep);}

  .holding-card h4{
    font-size:24px;
    line-height:1.08;
    transition:color .3s ease;
  }

  .holding-card:hover figure img{transform:scale(1.06);}

  .section-band{
    border-radius:34px;
    background:linear-gradient(150deg, #15130E 0%, #1E1912 48%, #241C13 100%);
    color:#F5EFE3;
    padding:40px;
    display:grid;
    grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
    gap:28px;
    align-items:stretch;
    overflow:hidden;
    box-shadow:0 30px 90px rgba(12,10,7,.4);
    position:relative;
    min-height:620px;
  }

  .section-band::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at 14% 12%, rgba(199,148,79,.16), transparent 32%),
      radial-gradient(circle at 90% 88%, rgba(199,148,79,.1), transparent 30%);
    pointer-events:none;
  }

  .section-band > *{position:relative;z-index:1;}

  .section-band p{color:rgba(245,239,227,.76);}

  .section-band .eyebrow{color:#E7C88F;}

  .section-band .band-images{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
  }

  .band-images figure{
    position:relative;
    overflow:hidden;
    border-radius:18px;
    min-height:160px;
  }

  .band-images figure img{width:100%;height:100%;object-fit:cover;display:block;}

  .leadership-layout{align-items:stretch;}

  .leadership-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    max-width:640px;
    padding:6px 2px;
  }

  .leadership-copy .eyebrow{color:#E7C88F;}

  .leadership-copy p{color:rgba(245,239,227,.68);}

  .leadership-list{gap:16px;}

  .leadership-note{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(231,200,143,.16);
    border-radius:20px;
    box-shadow:0 0 0 rgba(0,0,0,0);
    transition:transform .35s cubic-bezier(.22,1,.36,1), border-color .35s ease, background .35s ease, box-shadow .35s ease;
  }

  .leadership-note::before{
    content:"";
    display:block;
    width:26px;
    height:2px;
    background:#C7944F;
    margin-bottom:14px;
    transition:width .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
  }

  .leadership-note:hover{
    transform:translateY(-5px);
    background:rgba(255,255,255,.09);
    border-color:rgba(231,200,143,.4);
    box-shadow:0 20px 44px rgba(0,0,0,.28);
  }

  .leadership-note:hover::before{
    width:40px;
    box-shadow:0 0 14px rgba(199,148,79,.55);
  }

  .leadership-note span{color:rgba(231,200,143,.8);}

  .leadership-note strong{
    color:#F5EFE3;
    transition:color .3s ease;
  }

  .leadership-note:hover strong{color:#F3D9A8;}

  .leadership-note p{color:rgba(245,239,227,.62);}

  .leadership-media{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:16px;
    padding:16px;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(10px);
    border:1px solid rgba(217,208,184,.18);
    box-shadow:0 18px 50px rgba(0,0,0,.14);
    min-height:100%;
  }

  .leadership-media figure{
    position:relative;
    overflow:hidden;
    border-radius:22px;
    min-height:100%;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 16px 40px rgba(0,0,0,.18);
    transition:border-color .35s ease, box-shadow .35s ease, transform .35s cubic-bezier(.22,1,.36,1);
  }

  .leadership-media figure:hover{
    border-color:rgba(231,200,143,.55);
    box-shadow:0 26px 58px rgba(0,0,0,.32);
    transform:translateY(-6px);
  }

  .leadership-media figure:nth-child(1){min-height:520px;}
  .leadership-media figure:nth-child(2){min-height:520px;}

  .leadership-media figure img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    filter:grayscale(38%) sepia(16%) saturate(115%) contrast(1.05) brightness(.9);
    transition:transform .6s cubic-bezier(.22,1,.36,1), filter .5s ease;
  }

  .leadership-media figure:hover img{
    transform:scale(1.06);
    filter:grayscale(20%) sepia(12%) saturate(120%) contrast(1.05) brightness(.98);
  }

  .leadership-media figure::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(155deg, rgba(199,148,79,.22) 0%, rgba(21,17,11,.12) 45%, rgba(15,12,8,.55) 100%);
    mix-blend-mode:multiply;
    pointer-events:none;
    transition:opacity .45s ease;
  }

  .leadership-media figure:hover::before{opacity:.68;}

  .footer-top{
    border-bottom:1px solid rgba(239,233,218,.18);
  }

  footer{
    position:relative;
    z-index:1;
  }

  .footer-seam{
    position:absolute;
    left:40%;
    top:-130px;
    width:260px;
    color:#E7C88F;
    opacity:.55;
    pointer-events:none;
  }

  .footer-seam svg{width:100%;height:auto;display:block;}

  @media (max-width: 860px){
    .footer-seam{display:none;}
  }

  @media (max-width: 860px){
    .hero-grid,
    .approach-layout,
    .mandate-layout,
    .leadership-layout,
    .section-band{grid-template-columns:1fr;}
    .hero-collage{min-height:460px;}
    .hero-collage-side{width:min(260px, 58%);}
    .hero-metrics{grid-template-columns:1fr;}
    .approach-visual{min-height:360px;}
    .signal-stack{padding:18px;}
    .signal-card{grid-template-columns:64px 1fr;}
    .signal-icon{width:60px;height:60px;}
    .section-band .band-images{grid-template-columns:1fr 1fr;}
    .leadership-media{grid-template-columns:1fr;}
    .leadership-media figure:nth-child(1),
    .leadership-media figure:nth-child(2),
    .mandate-visual{min-height:320px;}
    .mandate-list{grid-template-columns:1fr;}
    .leadership-list{grid-template-columns:1fr;}
  }

  @media (max-width: 600px){
    .hero-premium{padding-top:64px;}
    .hero-title{max-width:none;}
    .section-band .band-images{grid-template-columns:1fr;}
    .hero-collage-main{min-height:420px;}
    .pillar-card figure,
    .holding-card figure{height:190px;}
    .hero-collage-side{left:16px;right:16px;top:16px;width:auto;}
    .hero-collage-copy{left:16px;right:16px;bottom:16px;}
    .signal-card{grid-template-columns:1fr;}
    .signal-icon{width:64px;height:64px;}
    .section-band{padding:22px;min-height:auto;}
    .leadership-media{padding:12px;}
    .footer-bottom{flex-wrap:wrap;gap:20px;}
  }

  /* ---------- CONTACT PAGE ---------- */
  .contact-layout{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    align-items:stretch;
  }

  .contact-form-panel{
    border-radius:28px;
    padding:44px;
    border:1px solid rgba(217,208,184,.85);
    background:rgba(255,255,255,.5);
    backdrop-filter:blur(10px);
    box-shadow:0 20px 60px rgba(28,25,18,.08);
  }

  .contact-form-panel h2{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(26px, 2.8vw, 34px);
    line-height:1.12;
    margin-top:12px;
  }

  .contact-form-lead{
    margin-top:14px;
    font-size:14.5px;
    line-height:1.7;
    color:var(--ink-soft);
    font-weight:300;
    max-width:44ch;
  }

  .contact-form{
    display:flex;
    flex-direction:column;
    gap:18px;
    margin-top:28px;
  }

  .form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
  }

  .form-field{
    display:flex;
    flex-direction:column;
    gap:8px;
  }

  .form-field label{
    font-family:var(--sans);
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--ink-faint);
  }

  .form-field input,
  .form-field textarea{
    width:100%;
    font-family:var(--sans);
    font-size:14px;
    color:var(--ink);
    background:rgba(255,255,255,.6);
    border:1px solid var(--rule);
    border-radius:12px;
    padding:13px 16px;
    transition:border-color .3s ease, box-shadow .3s ease, background .3s ease;
  }

  .form-field textarea{resize:vertical;min-height:120px;line-height:1.6;}

  .form-field input::placeholder,
  .form-field textarea::placeholder{color:var(--ink-faint);}

  .form-field input:focus,
  .form-field textarea:focus{
    outline:none;
    border-color:var(--gold);
    background:rgba(255,255,255,.85);
    box-shadow:0 0 0 4px rgba(165,121,58,.14);
  }

  .contact-form button.btn-primary{
    align-self:flex-start;
    border:1px solid var(--ink);
    cursor:pointer;
    font-family:var(--sans);
    margin-top:4px;
  }

  .contact-info{
    display:flex;
    flex-direction:column;
    gap:16px;
  }

  .contact-info .mandate-item-premium{min-height:auto;}

  .contact-info .mandate-item-premium strong a{
    color:var(--gold-deep);
    border-bottom:1px solid transparent;
    transition:border-color .25s ease;
  }

  .contact-info .mandate-item-premium strong a:hover{border-color:var(--gold-deep);}

  .contact-social{margin-top:6px;gap:10px;}

  .social-link.on-light{
    border-color:rgba(28,25,18,.18);
    color:var(--ink-soft);
  }

  .social-link.on-light:hover{
    background:var(--gold);
    border-color:var(--gold);
    color:#16140F;
  }

  .contact-cards{grid-template-columns:repeat(2, minmax(0,1fr));}

  .leadership-media.single{grid-template-columns:1fr;}

  .leadership-copy .btn-primary{align-self:flex-start;margin-top:8px;}

  .section-band .btn-primary{
    background:var(--gold);
    border-color:var(--gold);
    color:#16140F;
  }

  .section-band .btn-primary:hover{
    background:#E7C88F;
    border-color:#E7C88F;
    box-shadow:0 16px 34px rgba(0,0,0,.35);
  }

  @media (max-width: 860px){
    .contact-layout{grid-template-columns:1fr;}
  }

  @media (max-width: 720px){
    .contact-cards{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
    .contact-form-panel{padding:28px;}
  }

  .status-pill{
    display:inline-flex;
    align-items:center;
    gap:9px;
    font-size:11.5px;
    letter-spacing:.06em;
    color:var(--ink-soft);
    margin-bottom:18px;
  }

  .status-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--gold);
    box-shadow:0 0 0 4px rgba(165,121,58,.14);
    animation:dotPulse 2.6s ease-in-out infinite;
  }

  .form-field:focus-within label{color:var(--gold-deep);}

  .submit-toast{
    position:fixed;
    left:50%;
    bottom:28px;
    z-index:200;
    max-width:min(90vw, 360px);
    text-align:center;
    background:var(--ink);
    color:#F6EFE3;
    padding:14px 22px;
    border-radius:999px;
    font-size:13px;
    letter-spacing:.02em;
    box-shadow:0 20px 44px rgba(28,25,18,.28);
    opacity:0;
    pointer-events:none;
    transform:translate(-50%, 16px);
    transition:opacity .4s ease, transform .4s cubic-bezier(.22,1,.36,1);
  }

  .submit-toast.is-visible{
    opacity:1;
    transform:translate(-50%, 0);
  }

  @media (prefers-reduced-motion: reduce){
    .status-dot{animation:none;}
    .submit-toast{transition:opacity .2s ease;}
  }

  /* ---------- ABOUT PAGE ---------- */
  .stat-layout{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(220px,.7fr);
    gap:32px;
    align-items:stretch;
  }

  .stat-band{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:20px;
    border-radius:32px;
    padding:44px 36px;
    border:1px solid rgba(217,208,184,.85);
    background:rgba(255,255,255,.55);
    backdrop-filter:blur(12px);
    box-shadow:0 24px 64px rgba(28,25,18,.08);
  }

  .stat-item{
    text-align:center;
    padding:0 14px;
  }

  .stat-item + .stat-item{border-left:1px solid var(--rule);}

  .stat-value{
    font-family:var(--serif);
    font-weight:500;
    font-size:clamp(46px, 5.4vw, 68px);
    line-height:1;
    letter-spacing:-.01em;
    color:var(--ink);
    transition:color .35s cubic-bezier(.22,1,.36,1), transform .35s cubic-bezier(.22,1,.36,1);
    display:inline-block;
  }

  .stat-item:hover .stat-value{
    color:var(--gold-deep);
    transform:scale(1.06);
  }

  .stat-label{
    margin-top:14px;
    font-size:10.5px;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--gold);
    font-weight:600;
  }

  .stat-item p{
    margin-top:10px;
    font-size:13.5px;
    line-height:1.6;
    color:var(--ink-soft);
    font-weight:300;
  }

  .stat-visual{
    position:relative;
    overflow:hidden;
    border-radius:32px;
    min-height:220px;
    border:1px solid rgba(217,208,184,.72);
    box-shadow:0 20px 54px rgba(28,25,18,.1);
  }

  .stat-visual img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .6s cubic-bezier(.22,1,.36,1);
  }

  .stat-visual:hover img{transform:scale(1.07);}

  .stat-visual::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(28,25,18,.02) 0%, rgba(28,25,18,.32) 100%);
    pointer-events:none;
  }

  @media (max-width:860px){
    .stat-layout{grid-template-columns:1fr;}
    .stat-visual{min-height:180px;}
  }

  @media (max-width:600px){
    .stat-band{grid-template-columns:1fr;padding:30px 24px;}
    .stat-item + .stat-item{border-left:none;border-top:1px solid var(--rule);padding-top:22px;margin-top:6px;}
  }

  /* ---- timeline / milestones ---- */
  .timeline-section{overflow:hidden;}

  .timeline-bg{
    position:absolute;
    inset:0;
    z-index:0;
    opacity:.14;
    pointer-events:none;
  }

  .timeline-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    filter:grayscale(35%);
  }

  .timeline-bg::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, var(--bg) 0%, transparent 26%, transparent 74%, var(--bg) 100%);
    pointer-events:none;
  }

  .timeline-wrap{
    position:relative;
    z-index:1;
    max-width:860px;
    margin:0 auto;
  }

  .timeline{
    position:relative;
    display:grid;
    gap:52px;
    padding:4px 0;
  }

  .timeline-line{
    position:absolute;
    left:23px;
    top:6px;
    bottom:6px;
    width:2px;
    color:var(--gold);
  }

  .timeline-line svg{width:100%;height:100%;display:block;overflow:visible;}

  .timeline-line line{stroke-dashoffset:100;}

  .timeline-section.is-visible .timeline-line line{
    animation:drawPath 2.4s cubic-bezier(.22,1,.36,1) .15s forwards;
  }

  .timeline-step{
    position:relative;
    padding-left:76px;
    display:grid;
    gap:4px;
  }

  .timeline-node{
    position:absolute;
    left:0;
    top:-4px;
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .timeline-node svg{width:100%;height:100%;transition:transform .35s cubic-bezier(.22,1,.36,1);}

  .node-halo{
    position:absolute;
    inset:-10px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(165,121,58,.4), transparent 70%);
    opacity:.5;
    transform:scale(1);
    transition:opacity .35s ease, transform .35s cubic-bezier(.22,1,.36,1);
    pointer-events:none;
  }

  .timeline-step:hover .node-halo{opacity:1;transform:scale(1.4);}
  .timeline-step:hover .timeline-node svg{transform:scale(1.12);}

  .timeline-kicker{
    display:block;
    font-size:10px;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--gold);
    font-weight:600;
    margin-bottom:8px;
    transition:color .3s ease;
  }

  .timeline-copy h3{
    font-family:var(--serif);
    font-weight:500;
    font-size:23px;
    line-height:1.18;
    max-width:44ch;
    transition:color .3s ease;
  }

  .timeline-step:hover .timeline-copy h3{color:var(--gold-deep);}

  @media (max-width:600px){
    .timeline-node{width:40px;height:40px;}
    .timeline-line{left:19px;}
    .timeline-step{padding-left:60px;}
  }

  /* ---- shine-sweep hover ---- */
  .shine-hover{position:relative;overflow:hidden;}

  .shine-hover::after{
    content:"";
    position:absolute;
    top:0;
    left:-60%;
    width:40%;
    height:100%;
    background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.55) 50%, transparent 100%);
    transform:skewX(-20deg);
    pointer-events:none;
    z-index:2;
    transition:left .75s cubic-bezier(.22,1,.36,1);
  }

  .shine-hover:hover::after{left:130%;}

  #leadership .shine-hover::after{background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.22) 50%, transparent 100%);}

  /* ---- timeline node ripple ---- */
  .timeline-node::before{
    content:"";
    position:absolute;
    inset:-4px;
    border-radius:50%;
    border:1px solid var(--gold);
    opacity:0;
    pointer-events:none;
  }

  .timeline-step:hover .timeline-node::before{animation:nodeRipple 1.1s ease-out infinite;}

  @keyframes nodeRipple{
    0%{opacity:.6;transform:scale(1);}
    100%{opacity:0;transform:scale(1.9);}
  }

  /* ---- signal icon tilt (About page "Our Approach") ---- */
  /* targets the inner svg, not .signal-icon itself, since .signal-icon already
     carries a continuous idle keyframe animation on transform that would
     otherwise win over this hover transition for the same property */
  .signal-card.tilt-icon .signal-icon svg{transition:transform .35s cubic-bezier(.22,1,.36,1);}
  .signal-card.tilt-icon:hover .signal-icon svg{transform:scale(1.1) rotate(-10deg);}

  /* ---- reveal-arrow overlay on single leadership-media figures ---- */
  .with-reveal figure{position:relative;}

  .reveal-arrow{
    position:absolute;
    top:50%;
    left:50%;
    z-index:3;
    width:56px;
    height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(255,255,255,.14);
    backdrop-filter:blur(6px);
    border:1px solid rgba(255,255,255,.4);
    color:#F5EFE3;
    opacity:0;
    pointer-events:none;
    transform:translate(-50%,-50%) scale(.7);
    transition:opacity .4s ease, transform .4s cubic-bezier(.22,1,.36,1);
  }

  .reveal-arrow svg{width:22px;height:22px;}

  .with-reveal figure:hover .reveal-arrow{
    opacity:1;
    transform:translate(-50%,-50%) scale(1);
  }

  /* ---- hero metric accent bar (About page) ---- */
  .metric-card.with-bar{position:relative;overflow:hidden;}

  .metric-card.with-bar::before{
    content:"";
    position:absolute;
    left:50%;
    bottom:0;
    width:0;
    height:2px;
    background:var(--gold);
    transform:translateX(-50%);
    transition:width .4s cubic-bezier(.22,1,.36,1);
  }

  .metric-card.with-bar:hover::before{width:70%;}

  @media (prefers-reduced-motion: reduce){
    .timeline-line line{stroke-dashoffset:0 !important;animation:none !important;}
    .timeline-node circle.node-core{animation:none !important;opacity:.85 !important;}
    .node-halo{transition:none !important;}
    .stat-value{transition:none !important;}
    .shine-hover::after{transition:none !important;display:none;}
    .timeline-node::before{animation:none !important;display:none;}
    .reveal-arrow{transition:none !important;}
    .metric-card.with-bar::before{transition:none !important;}
  }

  /* ---------- SERVICES PAGE ---------- */
  .tab-switcher{margin-top:8px;}

  .tab-list{
    position:relative;
    display:flex;
    gap:4px;
    padding:6px;
    width:fit-content;
    max-width:100%;
    border-radius:999px;
    border:1px solid rgba(217,208,184,.85);
    background:rgba(255,255,255,.5);
    backdrop-filter:blur(10px);
    overflow-x:auto;
    scrollbar-width:none;
  }

  .tab-list::-webkit-scrollbar{display:none;}

  .tab-btn{
    position:relative;
    z-index:2;
    flex:0 0 auto;
    white-space:nowrap;
    padding:13px 22px;
    border:none;
    border-radius:999px;
    background:none;
    cursor:pointer;
    font-family:var(--sans);
    font-size:12.5px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--ink-soft);
    transition:color .35s ease;
  }

  .tab-btn.is-active{color:#F8F2E7;}

  .tab-btn:hover{color:var(--ink);}

  .tab-btn.is-active:hover{color:#F8F2E7;}

  .tab-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

  .tab-indicator{
    position:absolute;
    top:6px;
    left:6px;
    height:calc(100% - 12px);
    width:0;
    border-radius:999px;
    background:var(--ink);
    box-shadow:0 10px 24px rgba(28,25,18,.2);
    z-index:1;
    pointer-events:none;
    transition:transform .45s cubic-bezier(.22,1,.36,1), width .45s cubic-bezier(.22,1,.36,1);
  }

  .tab-panels{
    position:relative;
    display:grid;
    margin-top:28px;
    border-radius:32px;
    overflow:hidden;
    border:1px solid rgba(217,208,184,.82);
    background:rgba(255,255,255,.46);
    backdrop-filter:blur(12px);
    box-shadow:0 24px 70px rgba(28,25,18,.08);
  }

  .tab-panel{
    grid-area:1/1;
    display:grid;
    grid-template-columns:1fr 1fr;
    opacity:0;
    transform:translateY(16px) scale(.98);
    pointer-events:none;
    transition:opacity .5s cubic-bezier(.22,1,.36,1), transform .5s cubic-bezier(.22,1,.36,1);
  }

  .tab-panel.is-active{
    position:relative;
    z-index:2;
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
  }

  .tab-panel-media{
    position:relative;
    min-height:420px;
    overflow:hidden;
  }

  .tab-panel-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .tab-panel-copy{
    padding:44px 42px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .tab-panel-copy .cat{
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--ink-faint);
    margin-bottom:14px;
  }

  .tab-panel-copy h3{
    font-family:var(--serif);
    font-weight:500;
    font-size:clamp(26px, 2.6vw, 34px);
    margin-bottom:14px;
  }

  .tab-panel-copy p{
    font-size:15px;
    line-height:1.75;
    color:var(--ink-soft);
    font-weight:300;
    max-width:46ch;
  }

  .check-list{
    list-style:none;
    margin:22px 0 0;
    padding:0;
    display:grid;
    gap:12px;
  }

  .check-list li{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:14px;
    color:var(--ink-soft);
  }

  .check-icon{width:20px;height:20px;flex:0 0 auto;color:var(--gold-deep);}

  .check-icon path{stroke-dasharray:24;stroke-dashoffset:24;}

  .tab-panel.checks-run .check-icon path{animation:drawPath .5s cubic-bezier(.22,1,.36,1) forwards;}

  .check-list li:nth-child(1) .check-icon path{animation-delay:.05s;}
  .check-list li:nth-child(2) .check-icon path{animation-delay:.16s;}
  .check-list li:nth-child(3) .check-icon path{animation-delay:.27s;}
  .check-list li:nth-child(4) .check-icon path{animation-delay:.38s;}

  /* ---- horizontal process stepper ---- */
  .stepper{
    position:relative;
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:24px;
  }

  .stepper-line{
    position:absolute;
    left:12.5%;
    right:12.5%;
    top:54px;
    height:2px;
    color:var(--gold);
    z-index:0;
    pointer-events:none;
  }

  .stepper-line svg{width:100%;height:2px;display:block;overflow:visible;}

  .stepper-line-path{stroke-dasharray:100;stroke-dashoffset:100;}

  #process.is-visible .stepper-line-path{
    animation:drawPath 2.2s cubic-bezier(.22,1,.36,1) .2s forwards;
  }

  .step{
    position:relative;
    z-index:1;
    text-align:center;
    padding:28px 20px 24px;
    border-radius:22px;
    border:1px solid rgba(217,208,184,.55);
    background:rgba(255,255,255,.4);
    backdrop-filter:blur(8px);
    box-shadow:0 12px 28px rgba(28,25,18,.05);
    transition:transform .35s cubic-bezier(.22,1,.36,1), border-color .35s ease, box-shadow .35s ease, background .35s ease;
  }

  .step:hover{
    transform:translateY(-6px);
    border-color:var(--gold);
    background:rgba(255,255,255,.72);
    box-shadow:0 22px 46px rgba(165,121,58,.18);
  }

  .step-node{
    width:52px;
    height:52px;
    margin:0 auto 16px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--serif);
    font-size:17px;
    font-weight:500;
    color:var(--gold-deep);
    background:linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.5));
    border:1px solid rgba(217,208,184,.75);
  }

  .step h3{
    font-family:var(--serif);
    font-weight:500;
    font-size:21px;
    margin-bottom:8px;
  }

  .step p{
    margin:0;
    font-size:13.5px;
    line-height:1.6;
    color:var(--ink-soft);
    font-weight:300;
  }

  /* ---- why-taseg capability grid ---- */
  .capability-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:18px;
  }

  .capability-card{
    position:relative;
    border-radius:26px;
    padding:30px 26px;
    border:1px solid rgba(217,208,184,.65);
    background:rgba(255,255,255,.48);
    backdrop-filter:blur(10px);
    box-shadow:0 16px 40px rgba(28,25,18,.06);
    transition:transform .35s cubic-bezier(.22,1,.36,1), border-color .35s ease, box-shadow .35s ease, background .35s ease;
  }

  .capability-card:hover{
    transform:translateY(-6px);
    border-color:var(--gold);
    background:rgba(255,255,255,.78);
    box-shadow:0 24px 50px rgba(28,25,18,.12);
  }

  .capability-card .signal-icon{margin-bottom:18px;}

  .capability-card h3{
    font-family:var(--serif);
    font-weight:500;
    font-size:21px;
    margin-bottom:10px;
  }

  .capability-card p{
    margin:0;
    font-size:13.5px;
    line-height:1.65;
    color:var(--ink-soft);
    font-weight:300;
  }

  @media (max-width:860px){
    .tab-panel{grid-template-columns:1fr;}
    .tab-panel-media{min-height:260px;}
    .tab-panel-copy{padding:32px 28px;}
    .capability-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
  }

  @media (max-width:720px){
    .tab-btn{padding:11px 16px;font-size:11.5px;}
    .stepper{grid-template-columns:1fr;gap:18px;}
    .stepper-line{display:none;}
    .capability-grid{grid-template-columns:1fr;}
  }

  @media (prefers-reduced-motion: reduce){
    .tab-indicator{transition:none !important;}
    .tab-panel{transition:none !important;transform:none !important;}
    .check-icon path{stroke-dashoffset:0 !important;animation:none !important;}
    .stepper-line-path{stroke-dashoffset:0 !important;animation:none !important;}
  }
