  :root{
    --ink:#0e1417;
    --blue:#003352;
    --blue-deep:#00263e;
    --bone:#f6f2ea;
    --bone-2:#efe9dd;
    --paper:#fbf9f4;
    --bronze:#a9814e;
    --bronze-soft:#c19a6b;
    --line:rgba(14,20,23,.12);
    --line-light:rgba(246,242,234,.16);
    --muted:#5c6469;
    --serif:"Fraunces",Georgia,"Times New Roman",serif;
    --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
    --wrap:1460px;
    --gutter:clamp(1.15rem,3.2vw,3rem);
    --ease:cubic-bezier(.22,.61,.36,1);
  }
  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:88px;}
  body{
    margin:0;font-family:var(--sans);font-weight:400;color:var(--ink);background:var(--paper);
    line-height:1.65;font-size:clamp(1rem,.96rem + .3vw,1.075rem);
    -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;margin:0;line-height:1.08;}
  .wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter);}

  .eyebrow{
    font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.22em;
    text-transform:uppercase;color:var(--bronze);margin:0 0 1.4rem;
    display:flex;align-items:center;gap:.85rem;
  }
  .eyebrow::before{content:"";width:26px;height:1px;background:var(--bronze);opacity:.7;}

  .btn{
    display:inline-flex;align-items:center;gap:.9rem;
    font-family:var(--sans);font-size:.98rem;font-weight:600;letter-spacing:.01em;
    padding:1.15rem 2.3rem;border-radius:2px;
    background:var(--bronze);color:#1c1206;border:1px solid var(--bronze);
    position:relative;overflow:hidden;z-index:0;cursor:pointer;
    box-shadow:0 12px 30px -14px rgba(0,0,0,.5);
    transition:background .4s var(--ease),color .4s var(--ease),transform .4s var(--ease);
  }
  .btn::before{
    content:"";position:absolute;inset:0;z-index:-1;background:var(--bronze-soft);
    transform:translateX(-101%);transition:transform .55s var(--ease);
  }
  .btn:hover{transform:translateY(-2px);}
  .btn:hover::before{transform:translateX(0);}
  .btn .arw{font-size:1.15em;transition:transform .45s var(--ease);}
  .btn:hover .arw{transform:translateX(6px);}

  /* ============ HEADER (solid variant — no hero video on this page) ============ */
  .site-header{
    position:fixed;top:0;left:0;right:0;z-index:50;
    background:rgba(251,249,244,.9);
    backdrop-filter:saturate(140%) blur(14px);
    -webkit-backdrop-filter:saturate(140%) blur(14px);
    border-bottom:1px solid var(--line);
    box-shadow:0 1px 26px rgba(14,20,23,.06);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;height:clamp(76px,7.5vh,94px);}
  .brand{display:flex;align-items:baseline;gap:.7rem;}
  .brand .mark{font-family:var(--serif);font-size:1.45rem;letter-spacing:.06em;color:var(--blue);}
  .brand .mark b{font-weight:500;}
  .brand .sub{
    font-family:var(--sans);font-size:.56rem;font-weight:500;letter-spacing:.28em;
    text-transform:uppercase;color:var(--muted);opacity:.85;
  }
  .nav-links{display:none;align-items:center;gap:2.5rem;list-style:none;margin:0;padding:0;}
  .nav-links a{
    font-size:.78rem;letter-spacing:.05em;color:var(--ink);opacity:.72;font-weight:400;
    position:relative;padding:.45rem 0;transition:opacity .3s var(--ease);
  }
  .nav-links a::after{
    content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
    background:var(--bronze);transition:width .35s var(--ease);
  }
  .nav-links a:hover{opacity:1;}
  .nav-links a:hover::after{width:100%;}
  .nav-links a.is-current{opacity:1;}
  .nav-links a.is-current::after{width:100%;}
  .nav-cta{display:flex;align-items:center;gap:1.1rem;}
  .nav-cta .btn{
    padding:.78rem 1.6rem;font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;
    font-weight:500;border-radius:2px;background:transparent;color:var(--blue);
    border:1px solid rgba(0,51,82,.35);box-shadow:none;
  }
  .nav-cta .btn::before{display:none;}
  .nav-cta .btn:hover{background:var(--blue);border-color:var(--blue);color:var(--bone);transform:none;}
  .menu-btn{display:inline-flex;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:.4rem;}
  .menu-btn span{width:24px;height:1.5px;background:var(--ink);transition:.3s var(--ease);}
  @media(min-width:1000px){.nav-links{display:flex;}.menu-btn{display:none;}}

  /* mobile drawer */
  .drawer{
    position:fixed;inset:0;z-index:60;background:var(--blue);color:var(--bone);
    transform:translateY(-100%);transition:transform .5s var(--ease);
    display:flex;flex-direction:column;padding:var(--gutter);visibility:hidden;
  }
  .drawer.open{transform:translateY(0);visibility:visible;}
  .drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;}
  .drawer .mark{font-family:var(--serif);font-size:1.4rem;color:var(--bone);}
  .drawer-close{background:none;border:0;color:var(--bone);font-size:2rem;line-height:1;cursor:pointer;}
  .drawer nav{display:flex;flex-direction:column;gap:.2rem;}
  .drawer nav a{
    font-family:var(--serif);font-size:2rem;padding:.5rem 0;
    border-bottom:1px solid var(--line-light);color:var(--bone);
  }
  .drawer .btn{margin-top:2.4rem;justify-content:center;}

  /* ============ PAGE HERO ============ */
  .page-hero{position:relative;min-height:min(72vh,680px);display:flex;align-items:flex-end;overflow:hidden;background:var(--blue-deep);}
  .page-hero .media{position:absolute;inset:0;}
  .page-hero .media img{width:100%;height:100%;object-fit:cover;object-position:center 40%;}
  .page-hero::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(0,17,29,.5) 0%,rgba(0,17,29,.25) 40%,rgba(0,17,29,.82) 100%);
  }
  .page-hero .wrap{position:relative;z-index:2;width:100%;padding-top:clamp(9rem,16vh,12rem);padding-bottom:clamp(2.8rem,6vw,4.5rem);}
  .page-hero .eyebrow{color:var(--bronze-soft);}
  .page-hero .eyebrow::before{background:var(--bronze-soft);}
  .page-hero .title{
    font-family:var(--serif);color:var(--bone);font-weight:300;letter-spacing:-.02em;
    font-size:clamp(2.4rem,1.6rem + 3.6vw,4.6rem);max-width:18ch;margin:0;line-height:1.06;
    text-shadow:0 2px 30px rgba(0,15,26,.5);
  }
  .page-hero .title em{font-style:italic;color:var(--bronze-soft);font-weight:400;}
  .page-hero .sub{
    color:rgba(246,242,234,.92);max-width:52ch;margin:1.6rem 0 0;font-weight:400;
    font-size:clamp(1rem,.96rem + .35vw,1.18rem);line-height:1.6;
    text-shadow:0 1px 16px rgba(0,15,26,.55);
  }

  /* ============ INTRO ============ */
  .intro{background:var(--bone);border-bottom:1px solid var(--line);}
  .intro .wrap{padding-block:clamp(4rem,8vw,7rem);}
  .intro h1{
    font-weight:300;letter-spacing:-.015em;line-height:1.3;
    font-size:clamp(1.5rem,1.05rem + 1.9vw,2.4rem);max-width:44ch;margin:0;
  }
  .intro h1 em{font-style:italic;color:var(--blue);}
  .intro p{color:var(--muted);font-weight:300;max-width:52ch;margin:1.8rem 0 0;}

  /* ============ SERVICES LIST ============ */
  .svc-list-sec{background:var(--paper);}
  .svc-list-sec .wrap{padding-block:clamp(4.5rem,9vw,8rem);}
  .svc-rows{margin-top:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--line);}
  .svc-row{
    display:grid;grid-template-columns:1fr;gap:.5rem 3rem;
    padding:clamp(1.8rem,3.5vw,2.8rem) 0;border-bottom:1px solid var(--line);
    transition:padding-left .5s var(--ease);
  }
  .svc-row:hover{padding-left:.8rem;}
  .svc-row .idx{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;color:var(--bronze);font-weight:500;text-transform:uppercase;}
  .svc-row h3{font-size:clamp(1.35rem,1.1rem + 1vw,1.85rem);}
  .svc-row h3 .tag{
    display:inline-block;vertical-align:middle;margin-left:.9rem;transform:translateY(-.12em);
    font-family:var(--sans);font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;
    color:var(--blue);border:1px solid var(--line);border-radius:2px;padding:.3rem .6rem;
  }
  .svc-row p{color:var(--muted);font-weight:300;max-width:56ch;margin:.5rem 0 0;}
  @media(min-width:840px){
    .svc-row{grid-template-columns:.28fr 1fr;align-items:start;}
    .svc-row .idx{padding-top:.5rem;}
  }

  /* ============ IMAGE BAND ============ */
  .band{position:relative;min-height:clamp(320px,52vh,520px);overflow:hidden;}
  .band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,23,38,.25),rgba(0,23,38,.45));}
  .band .caption{
    position:absolute;left:0;right:0;bottom:0;z-index:2;
    padding:clamp(1.5rem,3vw,2.5rem) var(--gutter);
    color:rgba(246,242,234,.85);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;
  }

  /* ============ ABOUT REVIEWS ============ */
  .about-reviews{overflow:hidden;background:var(--bone);color:var(--ink);padding-block:clamp(4.5rem,8vw,7rem);}
  .about-reviews-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:clamp(2.8rem,5vw,4rem);}
  .about-reviews-intro h2{font-size:clamp(2.15rem,1.55rem + 2.5vw,3.7rem);font-weight:300;letter-spacing:-.025em;}
  .about-reviews-intro .sub{max-width:40rem;margin-top:1rem;color:var(--muted);font-weight:300;}
  .about-reviews-nav{display:flex;gap:.65rem;flex:0 0 auto;}
  .about-rv-arrow{
    width:52px;height:52px;border:1px solid var(--line);border-radius:50%;
    display:grid;place-items:center;background:transparent;color:var(--blue);font-size:1.15rem;
    cursor:pointer;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease),opacity .35s var(--ease);
  }
  .about-rv-arrow:hover:not(:disabled){background:var(--blue);border-color:var(--blue);color:var(--bone);transform:translateY(-2px);}
  .about-rv-arrow:disabled{opacity:.28;cursor:default;}
  .about-reviews-track{
    display:flex;gap:clamp(1rem,2vw,1.5rem);overflow-x:auto;overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scroll-behavior:smooth;
    padding:0 var(--gutter) 1.8rem;scrollbar-width:none;
  }
  .about-reviews-track::-webkit-scrollbar{display:none;}
  .about-reviews-track:focus-visible{outline:2px solid var(--bronze);outline-offset:-2px;}
  .about-rv-card{
    flex:0 0 clamp(320px,84vw,470px);min-height:clamp(370px,40vw,460px);
    padding:clamp(2rem,3vw,2.7rem);display:flex;flex-direction:column;
    scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:14px;
    box-shadow:0 1px 2px rgba(14,20,23,.04),0 18px 40px -28px rgba(14,20,23,.28);
    transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease);
  }
  .about-rv-card:hover{transform:translateY(-4px);border-color:rgba(0,51,82,.18);box-shadow:0 2px 4px rgba(14,20,23,.04),0 24px 48px -28px rgba(14,20,23,.34);}
  .about-rv-stars{color:var(--bronze);letter-spacing:.2em;font-size:1.05rem;}
  .about-rv-text{
    margin:auto 0;font-family:var(--serif);font-size:clamp(1.18rem,1.04rem + .5vw,1.48rem);
    line-height:1.56;font-weight:300;letter-spacing:-.008em;
  }
  .about-rv-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:1.2rem;padding-top:1.4rem;border-top:1px solid var(--line);}
  .about-rv-name{font-family:var(--serif);font-size:1.08rem;}
  .about-rv-source{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;text-align:right;color:var(--muted);}
  .about-rv-stat{
    flex-basis:clamp(240px,60vw,300px);align-items:flex-start;justify-content:center;text-align:left;
    color:var(--blue);background:rgba(255,255,255,.5);
  }
  .about-rv-score{font-family:var(--serif);font-size:clamp(4.2rem,7vw,5.8rem);font-weight:300;line-height:.9;letter-spacing:-.05em;}
  .about-rv-stat-stars{margin-top:1.7rem;color:var(--bronze);letter-spacing:.18em;}
  .about-rv-stat-label{margin-top:.75rem;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
  .about-rv-feature{
    flex-basis:clamp(360px,76vw,590px);background:linear-gradient(145deg,var(--blue) 0%,#003b5e 100%);border-color:var(--blue);color:var(--bone);
    box-shadow:0 24px 60px -40px rgba(0,38,62,.7);
  }
  .about-rv-feature .about-rv-stars{color:var(--bronze-soft);}
  .about-rv-feature .about-rv-text{font-size:clamp(1.38rem,1.12rem + .85vw,1.86rem);line-height:1.42;max-width:28ch;}
  .about-rv-feature .about-rv-text em{font-style:italic;color:var(--bronze-soft);}
  .about-rv-feature .about-rv-foot{border-color:rgba(246,242,234,.16);}
  .about-rv-feature .about-rv-name{color:var(--bone);}
  .about-rv-feature .about-rv-source{color:rgba(246,242,234,.58);}
  @media(min-width:1280px){
    .about-reviews-track{padding-left:max(var(--gutter),calc((100vw - 1440px)/2 + var(--gutter)));padding-right:max(var(--gutter),calc((100vw - 1440px)/2 + var(--gutter)));}
  }
  @media(max-width:819px){
    .about-reviews-head{align-items:flex-end;}
    .about-reviews-intro .sub{max-width:24rem;}
    .about-rv-arrow{width:46px;height:46px;}
  }
  @media(max-width:580px){
    .about-reviews-head{align-items:flex-start;flex-direction:column;}
    .about-reviews-nav{align-self:flex-end;}
    .about-rv-card{min-height:420px;}
    .about-rv-foot{align-items:flex-start;flex-direction:column;}
    .about-rv-source{text-align:left;}
  }

  /* ============ CLOSING CTA ============ */
  .closing{
    position:relative;overflow:hidden;color:var(--bone);text-align:center;
    background:linear-gradient(180deg,var(--blue) 0%,var(--blue-deep) 100%);
    border-top-left-radius:32px;border-top-right-radius:32px;
  }
  .closing-video{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 60%,rgba(0,0,0,.62) 80%,rgba(0,0,0,.2) 93%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0%,#000 60%,rgba(0,0,0,.62) 80%,rgba(0,0,0,.2) 93%,transparent 100%);
  }
  .closing::after{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:
      radial-gradient(85% 65% at 50% 46%,rgba(0,26,43,.42),transparent 72%),
      linear-gradient(180deg,rgba(0,38,62,.68) 0%,rgba(0,38,62,.52) 48%,rgba(0,38,62,.72) 84%,var(--blue-deep) 100%);
  }
  .closing .wrap{position:relative;z-index:2;padding-block:clamp(4rem,7vw,6rem);}
  .closing .eyebrow{justify-content:center;color:var(--bronze-soft);}
  .closing .eyebrow::before{background:var(--bronze-soft);}
  .closing h2{font-size:clamp(2rem,1.4rem + 2.8vw,3.6rem);font-weight:300;max-width:18ch;margin-inline:auto;color:var(--bone);}
  .closing h2 em{font-style:italic;color:var(--bronze-soft);}
  .closing p{max-width:44ch;margin:1.7rem auto 0;color:rgba(246,242,234,.84);font-weight:300;}
  .closing .btn{margin-top:2.6rem;}

  /* ============ FOOTER ============ */
  footer{background:var(--blue-deep);color:rgba(246,242,234,.72);overflow:hidden;}
  footer .wrap{padding-block:clamp(4rem,7vw,6rem) 0;}
  .f-grid{display:grid;grid-template-columns:1fr;gap:2.8rem;}
  .f-tag{max-width:34ch;margin:0 0 1.9rem;font-weight:300;color:rgba(246,242,234,.66);line-height:1.62;}
  .f-cta{background:transparent;border-color:rgba(246,242,234,.32);color:var(--bone);box-shadow:none;}
  .f-cta::before{display:none;}
  .f-cta:hover{background:rgba(246,242,234,.08);transform:none;}
  .f-col h4{font-family:var(--sans);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze-soft);margin:0 0 1.1rem;font-weight:500;}
  .f-col h4.mt{margin-top:1.8rem;}
  .f-col a{display:block;font-size:.94rem;padding:.3rem 0;color:rgba(246,242,234,.82);transition:color .3s var(--ease);}
  .f-col a:hover{color:var(--bronze-soft);}
  .f-note{display:block;font-size:.94rem;padding:.3rem 0;color:rgba(246,242,234,.68);}
  .f-creds{display:block;font-size:.82rem;color:rgba(246,242,234,.5);margin-top:1.4rem;line-height:1.7;}
  .f-word{
    font-family:var(--serif);font-weight:400;letter-spacing:0;line-height:.74;
    color:rgba(246,242,234,.055);text-align:center;user-select:none;pointer-events:none;
    width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
    font-size:clamp(5rem,27.5vw,34rem);margin-top:clamp(3rem,6vw,5rem);margin-bottom:-0.06em;
  }
  @media(min-width:820px){.f-grid{grid-template-columns:1.7fr 1fr 1fr 1fr;gap:clamp(2rem,4vw,4rem);}}

  /* reveal */
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
  .reveal.in{opacity:1;transform:none;}
  @media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    .reveal{opacity:1;transform:none;transition:none;}
    *{transition-duration:.001ms !important;animation-duration:.001ms !important;}
  }
  :focus-visible{outline:2px solid var(--bronze);outline-offset:3px;}
  .skip{position:absolute;left:-999px;top:0;background:var(--blue);color:var(--bone);padding:.8rem 1.2rem;z-index:100;}
  .skip:focus{left:1rem;top:1rem;}

  /* smooth scroll (Lenis) */
  html.lenis,html.lenis body{height:auto;}
  .lenis.lenis-smooth{scroll-behavior:auto !important;}

  /* about page */
  main > *{position:relative;z-index:1;}
  .about-hero{position:relative;z-index:1;background:var(--bone);border-bottom:1px solid var(--line);}
  .about-hero .wrap{padding-top:clamp(9rem,16vh,12rem);padding-bottom:clamp(3.5rem,7vw,5.5rem);}
  .about-hero h1{font-weight:300;letter-spacing:-.02em;font-size:clamp(2.2rem,1.5rem + 3vw,4rem);max-width:20ch;margin:0;line-height:1.12;}
  .about-hero h1 em{font-style:italic;color:var(--blue);}
  .about-story{background:var(--paper);}
  .about-story .wrap{padding-block:clamp(4rem,8vw,7rem);}
  .about-grid{display:grid;grid-template-columns:1fr;gap:clamp(2.5rem,5vw,4rem);align-items:center;}
  .about-media{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:1/1;
    background:linear-gradient(160deg,rgba(0,51,82,.055),rgba(0,51,82,.02) 55%,rgba(201,154,107,.05));
    border:1px solid var(--line);display:flex;align-items:center;justify-content:center;}
  .about-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;}
  .about-media .ph-label{position:relative;text-align:center;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
    color:var(--muted);max-width:24ch;line-height:1.9;padding:1.5rem;}
  .about-media .ph-label b{display:block;color:var(--bronze);margin-bottom:.6rem;}
  .about-body .lead{font-family:var(--serif);font-weight:300;color:var(--ink);
    font-size:clamp(1.15rem,1rem + .6vw,1.4rem);line-height:1.5;margin:0;max-width:42ch;}
  .about-body p{color:var(--muted);font-weight:300;line-height:1.68;margin:1.2rem 0 0;max-width:52ch;}
  .about-meta{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem .9rem;margin:2.2rem 0 0;padding:1.8rem 0 0;border-top:1px solid var(--line);}
  .about-meta li{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
    border:1px solid var(--line);border-radius:100px;padding:.4rem 1rem;}
  @media(min-width:900px){.about-grid{grid-template-columns:.8fr 1fr;gap:clamp(3rem,6vw,6rem);}}

  /* how we work — animated system diagram */
  .work-layout{
    display:grid;grid-template-columns:1fr;gap:clamp(3rem,7vw,7rem);
    align-items:start;margin-top:clamp(2.5rem,5vw,4rem);
  }
  .work-layout .svc-rows{margin-top:0;}
  .work-layout .svc-row{
    position:relative;min-height:clamp(190px,25vh,255px);
    opacity:.62;transition:opacity .65s var(--ease),padding-left .65s var(--ease),background .65s var(--ease);
  }
  .work-layout .svc-row:hover{padding-left:0;}
  .work-layout .svc-row.is-active{opacity:1;padding-left:clamp(.8rem,1.5vw,1.35rem);}
  .work-layout .svc-row.is-active::after{
    content:"";position:absolute;left:0;top:26%;bottom:26%;width:1px;background:var(--bronze);
    animation:workRuleIn .7s var(--ease) both;
  }
  .work-layout .svc-row.is-active h3{color:var(--blue);}
  .work-visual{min-width:0;}
  .work-canvas{
    position:relative;max-width:620px;margin-inline:auto;
    background:
      radial-gradient(circle at 50% 47%,rgba(193,154,107,.09),transparent 20%),
      radial-gradient(circle at 50% 47%,rgba(0,51,82,.045),transparent 66%);
  }
  .work-canvas svg{display:block;width:100%;height:auto;overflow:visible;}
  .work-field{fill:rgba(0,51,82,.018);stroke:rgba(0,51,82,.07);stroke-width:1;}
  .work-grid{fill:none;stroke:rgba(0,51,82,.07);stroke-width:1;stroke-dasharray:2 12;}

  .work-orbits,.work-plan,.work-connectors,.work-node,.work-core,.work-lifecycle,.work-ground,.work-flow-dot{
    transition:opacity .85s var(--ease);
  }
  .work-orbits{opacity:.16;transform-origin:280px 300px;animation:workOrbit 30s linear infinite;}
  .work-orbit{fill:none;stroke:rgba(0,51,82,.34);stroke-width:1;}
  .work-orbit--outer{stroke-dasharray:3 12;}
  .work-orbit--inner{stroke:rgba(169,129,78,.42);stroke-dasharray:2 9;}
  .work-orbit-dot{fill:var(--bronze);}
  .work-orbit-dot--second{fill:var(--blue);}

  .work-plan{opacity:.2;fill:none;stroke:var(--blue);stroke-width:1.5;}
  .work-blueprint{
    fill:none;stroke:var(--blue);stroke-linecap:round;stroke-linejoin:round;
    stroke-dasharray:760;stroke-dashoffset:760;
    transition:stroke-dashoffset 1.8s var(--ease),opacity .8s var(--ease);
  }
  .work-blueprint--inner{stroke:rgba(0,51,82,.52);stroke-dasharray:520;stroke-dashoffset:520;transition-delay:.14s;}
  .work-blueprint--base{stroke:var(--bronze);stroke-dasharray:320;stroke-dashoffset:320;transition-delay:.28s;}
  .work-plan-point{fill:var(--bronze);stroke:none;}

  .work-connectors{opacity:.2;fill:none;stroke:rgba(0,51,82,.6);stroke-width:1.4;}
  .work-connector{stroke-dasharray:7 10;animation:workFlow 5s linear infinite;}

  .work-node{opacity:.24;color:var(--blue);}
  .work-node-ring,.work-node-pulse{fill:var(--paper);stroke:currentColor;stroke-width:1.3;}
  .work-node-pulse{
    fill:none;stroke:var(--bronze);opacity:.28;transform-box:fill-box;transform-origin:center;
    animation:workPulse 3.4s var(--ease) infinite;
  }
  .work-node-core{fill:var(--bronze);}
  .work-node-mark{
    fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;
  }
  .work-node text{
    fill:var(--muted);font-family:var(--sans);font-size:9px;font-weight:500;
    letter-spacing:2.2px;text-anchor:middle;
  }
  .work-node--air text{text-anchor:start;}
  .work-node--water text{text-anchor:end;}

  .work-core{opacity:.46;}
  .work-core-glow{fill:url(#workCoreGlow);filter:url(#workSoftGlow);}
  .work-core-ring{fill:none;stroke:var(--bronze);stroke-width:1.4;transform-origin:280px 300px;}
  .work-core-ring--outer{stroke-dasharray:5 9;animation:workOrbit 13s linear infinite;}
  .work-core-ring--inner{stroke:var(--blue);stroke-dasharray:2 7;animation:workOrbitReverse 9s linear infinite;}
  .work-core-dot{fill:var(--blue);}

  .work-lifecycle{opacity:.12;fill:none;stroke:var(--bronze);stroke-width:1.4;}
  .work-life-line{stroke-dasharray:5 9;animation:workFlow 6s linear infinite;}
  .work-life-point{fill:var(--paper);stroke:var(--bronze);stroke-width:1.5;}

  .work-ground{opacity:.1;fill:none;stroke:var(--blue);stroke-width:1.4;}
  .work-ground-line{stroke-dasharray:260;stroke-dashoffset:260;transition:stroke-dashoffset 1.4s var(--ease);}
  .work-ground-mark{stroke:var(--bronze);}
  .work-ground-anchor{fill:var(--paper);stroke:var(--blue);stroke-width:1.4;}

  .work-flow-dot{opacity:.08;fill:var(--bronze);}
  .work-flow-dot--b{fill:var(--blue);}

  .work-canvas[data-stage="1"] .work-plan{opacity:1;}
  .work-canvas[data-stage="1"] .work-blueprint{stroke-dashoffset:0;}
  .work-canvas[data-stage="1"] .work-core{opacity:.68;}
  .work-canvas[data-stage="1"] .work-orbits{opacity:.28;}

  .work-canvas[data-stage="2"] .work-connectors,
  .work-canvas[data-stage="2"] .work-node,
  .work-canvas[data-stage="2"] .work-core,
  .work-canvas[data-stage="2"] .work-flow-dot{opacity:1;}
  .work-canvas[data-stage="2"] .work-plan{opacity:.22;}
  .work-canvas[data-stage="2"] .work-blueprint{stroke-dashoffset:0;}

  .work-canvas[data-stage="3"] .work-orbits,
  .work-canvas[data-stage="3"] .work-lifecycle,
  .work-canvas[data-stage="3"] .work-core{opacity:1;}
  .work-canvas[data-stage="3"] .work-node{opacity:.54;}
  .work-canvas[data-stage="3"] .work-connectors,
  .work-canvas[data-stage="3"] .work-flow-dot{opacity:.48;}
  .work-canvas[data-stage="3"] .work-plan{opacity:.18;}
  .work-canvas[data-stage="3"] .work-blueprint{stroke-dashoffset:0;}

  .work-canvas[data-stage="4"] .work-ground,
  .work-canvas[data-stage="4"] .work-plan{opacity:1;}
  .work-canvas[data-stage="4"] .work-ground-line,
  .work-canvas[data-stage="4"] .work-blueprint{stroke-dashoffset:0;}
  .work-canvas[data-stage="4"] .work-core{opacity:.72;}
  .work-canvas[data-stage="4"] .work-orbits{opacity:.34;}
  .work-canvas[data-stage="4"] .work-node{opacity:.28;}

  .work-visual-meta{
    display:flex;align-items:center;gap:1rem;margin-top:-1rem;padding-inline:clamp(1rem,4vw,2.6rem);
    font-size:.66rem;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);
  }
  .work-visual-index{color:var(--bronze);font-weight:500;}
  .work-visual-label{transition:opacity .35s var(--ease);}
  .work-mobile-copy{display:none;}

  @keyframes workOrbit{to{transform:rotate(360deg);}}
  @keyframes workOrbitReverse{to{transform:rotate(-360deg);}}
  @keyframes workFlow{to{stroke-dashoffset:-85;}}
  @keyframes workPulse{
    0%,100%{transform:scale(.88);opacity:.16;}
    50%{transform:scale(1.08);opacity:.4;}
  }
  @keyframes workRuleIn{from{transform:scaleY(0);}to{transform:scaleY(1);}}

  @media(min-width:960px){
    .work-layout{
      --work-sticky-top:clamp(105px,12vh,135px);
      grid-template-columns:minmax(360px,.86fr) minmax(0,1.14fr);
    }
    .work-layout .svc-row:last-child{
      min-height:calc(100svh - var(--work-sticky-top) - clamp(1.5rem,3vh,2.5rem));
      align-content:start;
    }
    .work-visual{position:sticky;top:var(--work-sticky-top);}
    .work-canvas{
      width:min(100%,calc(100svh - var(--work-sticky-top) - clamp(1.5rem,3vh,2.5rem)));
    }
  }
  @media(max-width:959px){
    .work-canvas{max-width:540px;}
    .work-layout .svc-row{min-height:auto;}
  }
  @media(max-width:580px){
    .work-layout{gap:2.6rem;}
    .work-canvas{max-width:390px;}
    .work-visual-meta{margin-top:-.5rem;}
    .work-layout .svc-row{opacity:1;}
    .work-layout .svc-row.is-active{padding-left:.75rem;}
    .work-node text{font-size:8px;}
  }
  @media(prefers-reduced-motion:reduce){
    .work-orbits,.work-core-ring,.work-connector,.work-node-pulse,.work-life-line{animation:none!important;}
    .work-flow-dot{display:none;}
    .work-blueprint,.work-ground-line{stroke-dashoffset:0!important;}
  }

  /* simplified scene states */
  .work-canvas{
    max-width:560px;
    background:radial-gradient(circle at 50% 48%,rgba(193,154,107,.075),transparent 48%);
  }
  .work-canvas .work-field{
    fill:rgba(0,51,82,.018);stroke:rgba(0,51,82,.08);stroke-width:1;
  }
  .work-scene{
    opacity:0;transform:translateY(8px) scale(.94);transform-origin:280px 270px;
    pointer-events:none;transition:opacity .42s var(--ease),transform .72s var(--ease);
  }
  .work-canvas[data-stage="1"] .work-scene--design,
  .work-canvas[data-stage="2"] .work-scene--system,
  .work-canvas[data-stage="3"] .work-scene--life,
  .work-canvas[data-stage="4"] .work-scene--local{
    opacity:1;transform:translateY(0) scale(1);
  }

  .work-scene-line,.work-system-line,.work-life-ring,.work-life-arrow,
  .work-life-arrowhead,.work-local-mountains,.work-local-ground,
  .work-local-home,.work-local-roots{
    fill:none;stroke-linecap:round;stroke-linejoin:round;
  }

  /* 01 — a single plan draws */
  .work-scene-line{
    stroke:var(--blue);stroke-width:1.7;stroke-dasharray:760;stroke-dashoffset:760;
    transition:stroke-dashoffset 1.25s var(--ease);
  }
  .work-design-dimensions{
    stroke:var(--bronze);stroke-width:1.25;stroke-dasharray:620;stroke-dashoffset:620;
  }
  .work-design-plan{stroke:var(--blue);transition-delay:.18s;}
  .work-design-loop{
    stroke:rgba(201,154,107,.88);stroke-width:2;stroke-dasharray:980;stroke-dashoffset:980;
    transition-delay:.46s;
  }
  .work-design-point{
    fill:var(--bronze);opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(0);
    transition:opacity .3s var(--ease),transform .4s var(--ease);
  }
  .work-canvas[data-stage="1"] .work-scene-line{stroke-dashoffset:0;}
  .work-canvas[data-stage="1"] .work-design-point{opacity:1;transform:scale(1);}
  .work-canvas[data-stage="1"] .work-design-point--one{transition-delay:1.15s;}
  .work-canvas[data-stage="1"] .work-design-point--two{transition-delay:1.3s;}

  /* 02 — four services connect once */
  .work-system-line{
    stroke:var(--bronze);stroke-width:1.5;stroke-dasharray:420;stroke-dashoffset:420;
    transition:stroke-dashoffset .9s var(--ease);
  }
  .work-system-core{fill:var(--paper);stroke:var(--blue);stroke-width:1.6;}
  .work-system-dot{fill:var(--blue);}
  .work-system-node{opacity:0;transition:opacity .38s var(--ease);color:var(--blue);}
  .work-system-node circle{fill:var(--paper);stroke:currentColor;stroke-width:1.5;}
  .work-system-node path{
    fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;
  }
  .work-system-node text{
    fill:var(--muted);font-family:var(--sans);font-size:9px;font-weight:500;
    letter-spacing:2.2px;text-anchor:middle;
  }
  .work-system-node--two text{text-anchor:start;}
  .work-system-node--four text{text-anchor:end;}
  .work-canvas[data-stage="2"] .work-system-line{stroke-dashoffset:0;}
  .work-canvas[data-stage="2"] .work-system-node{opacity:1;}
  .work-canvas[data-stage="2"] .work-system-node--one{transition-delay:.2s;}
  .work-canvas[data-stage="2"] .work-system-node--two{transition-delay:.32s;}
  .work-canvas[data-stage="2"] .work-system-node--three{transition-delay:.44s;}
  .work-canvas[data-stage="2"] .work-system-node--four{transition-delay:.56s;}
  .work-canvas[data-stage="2"] .work-system-core{
    transform-box:fill-box;transform-origin:center;animation:workSystemSettle .7s var(--ease) both;
  }

  /* 03 — one continuous life cycle */
  .work-life-ring{
    stroke:var(--blue);stroke-width:1.6;stroke-dasharray:830;stroke-dashoffset:830;
    transition:stroke-dashoffset 1.35s var(--ease);
  }
  .work-life-arrow,.work-life-arrowhead{
    stroke:var(--bronze);stroke-width:2;stroke-dasharray:240;stroke-dashoffset:240;
    transition:stroke-dashoffset .85s var(--ease) .3s;
  }
  .work-life-core{fill:var(--paper);stroke:var(--blue);stroke-width:1.5;}
  .work-life-core-dot{fill:var(--bronze);}
  .work-life-markers{fill:var(--paper);stroke:var(--bronze);stroke-width:1.7;transform-origin:280px 270px;}
  .work-scene-copy{
    fill:var(--muted);font-family:var(--sans);font-size:10px;font-weight:500;
    letter-spacing:3px;text-anchor:middle;
  }
  .work-canvas[data-stage="3"] .work-life-ring,
  .work-canvas[data-stage="3"] .work-life-arrow,
  .work-canvas[data-stage="3"] .work-life-arrowhead{stroke-dashoffset:0;}
  .work-canvas[data-stage="3"] .work-life-markers{animation:workLifeTurn 16s linear infinite;}

  /* 04 — a simple local foundation */
  .work-local-mountains{
    stroke:rgba(0,51,82,.34);stroke-width:1.4;stroke-dasharray:520;stroke-dashoffset:520;
    transition:stroke-dashoffset 1.2s var(--ease);
  }
  .work-local-ground{
    stroke:var(--bronze);stroke-width:1.8;stroke-dasharray:340;stroke-dashoffset:340;
    transition:stroke-dashoffset .9s var(--ease) .12s;
  }
  .work-local-home{
    fill:var(--paper);stroke:var(--blue);stroke-width:1.7;stroke-dasharray:280;stroke-dashoffset:280;
    transition:stroke-dashoffset .9s var(--ease) .28s;
  }
  .work-local-anchor{fill:var(--paper);stroke:var(--blue);stroke-width:1.7;}
  .work-local-roots{
    stroke:var(--bronze);stroke-width:1.5;stroke-dasharray:150;stroke-dashoffset:150;
    transition:stroke-dashoffset .7s var(--ease) .5s;
  }
  .work-canvas[data-stage="4"] .work-local-mountains,
  .work-canvas[data-stage="4"] .work-local-ground,
  .work-canvas[data-stage="4"] .work-local-home,
  .work-canvas[data-stage="4"] .work-local-roots{stroke-dashoffset:0;}
  .work-canvas[data-stage="4"] .work-local-anchor{
    transform-box:fill-box;transform-origin:center;animation:workAnchorSettle .75s var(--ease) .38s both;
  }

  .work-visual-meta{
    margin-top:-.25rem;justify-content:center;padding-inline:1rem;
    transition:opacity .22s var(--ease),transform .22s var(--ease);
  }
  .work-canvas.is-changing .work-visual-meta{opacity:.25;transform:translateY(2px);}

  @keyframes workSystemSettle{
    0%{transform:scale(.65);}
    68%{transform:scale(1.08);}
    100%{transform:scale(1);}
  }
  @keyframes workLifeTurn{to{transform:rotate(360deg);}}
  @keyframes workAnchorSettle{
    0%{transform:translateY(-18px);opacity:0;}
    100%{transform:translateY(0);opacity:1;}
  }
  @media(prefers-reduced-motion:reduce){
    .work-scene{transform:none!important;}
    .work-system-core,.work-life-markers,.work-local-anchor{animation:none!important;}
    .work-scene-line,.work-system-line,.work-life-ring,.work-life-arrow,
    .work-life-arrowhead,.work-local-mountains,.work-local-ground,
    .work-local-home,.work-local-roots{stroke-dashoffset:0!important;}
  }

  /* Mobile story stage — keep the changing diagram in view while each idea is read */
  @media(max-width:959px){
    .work-layout{
      --work-mobile-top:74px;
      display:block;
    }
    .work-visual{
      position:sticky;
      top:var(--work-mobile-top);
      z-index:4;
      margin-inline:calc(var(--gutter) * -1);
      margin-bottom:clamp(1.75rem,5vw,2.6rem);
      padding:clamp(.35rem,1.5vw,.7rem) var(--gutter) clamp(.85rem,2vw,1.1rem);
      background:rgba(250,248,243,.94);
      border-top:1px solid rgba(0,51,82,.045);
      border-bottom:1px solid rgba(0,51,82,.1);
      box-shadow:0 16px 30px rgba(0,36,58,.055);
      -webkit-backdrop-filter:blur(14px) saturate(1.08);
      backdrop-filter:blur(14px) saturate(1.08);
    }
    .work-canvas{
      width:clamp(210px,48vw,290px);
      max-width:none;
      background:radial-gradient(circle at 50% 48%,rgba(193,154,107,.095),transparent 53%);
    }
    .work-visual-meta{
      min-height:1rem;
      margin-top:-.65rem;
      padding-inline:0;
      gap:.75rem;
      white-space:nowrap;
    }
    .work-visual-label{
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .work-layout .svc-rows{
      position:relative;
      z-index:1;
    }
    .work-layout .svc-row{
      min-height:clamp(235px,40svh,350px);
      align-content:center;
      opacity:.48;
    }
    .work-layout .svc-row.is-active{
      opacity:1;
    }
    .work-layout .svc-row:last-child{
      min-height:clamp(340px,61svh,520px);
      align-content:start;
      padding-top:clamp(3rem,10svh,6rem);
    }
  }

  @media(max-width:580px){
    .work-layout{
      --work-mobile-top:72px;
    }
    .work-canvas{
      width:clamp(205px,56vw,245px);
    }
    .work-visual-meta{
      margin-top:-.55rem;
      font-size:.59rem;
      letter-spacing:.145em;
    }
    .work-layout .svc-row{
      min-height:clamp(250px,42svh,360px);
      opacity:.46;
    }
    .work-layout .svc-row.is-active{
      padding-left:.75rem;
    }
    .work-layout .svc-row:last-child{
      min-height:clamp(380px,64svh,540px);
    }
  }

  /* Pinned mobile narrative — one calm scene, four scroll-led concepts */
  @media(max-width:699px){
    .work-layout{
      --work-mobile-top:72px;
      position:relative;
    }
    .work-visual{
      position:sticky;
      top:var(--work-mobile-top);
      z-index:3;
      height:calc(100svh - var(--work-mobile-top));
      display:flex;
      flex-direction:column;
      justify-content:center;
      gap:clamp(.75rem,2.5svh,1.4rem);
      margin:0;
      padding:clamp(.75rem,2svh,1.25rem) 0 calc(5.25rem + env(safe-area-inset-bottom,0px));
      background:var(--paper);
      border:0;
      box-shadow:none;
      -webkit-backdrop-filter:none;
      backdrop-filter:none;
    }
    .work-canvas{
      width:min(clamp(351px,94vw,468px),57svh);
      flex:0 0 auto;
    }
    .work-visual-meta{
      margin-top:-.65rem;
    }
    .work-mobile-copy{
      position:relative;
      width:100%;
      max-width:34rem;
      display:block;
      margin-inline:auto;
      padding:clamp(1rem,2.5svh,1.5rem) 0 0 clamp(1rem,4vw,1.35rem);
      border-top:1px solid var(--line);
      opacity:1;
      transform:translateY(0);
      transition:opacity .24s var(--ease),transform .42s var(--ease);
    }
    .work-mobile-copy::before{
      content:"";
      position:absolute;
      left:0;
      top:clamp(1rem,2.5svh,1.5rem);
      bottom:0;
      width:1px;
      background:var(--bronze);
    }
    .work-mobile-copy.is-changing{
      opacity:0;
      transform:translateY(10px);
    }
    .work-mobile-index{
      display:block;
      margin-bottom:.6rem;
      color:var(--bronze);
      font-family:var(--sans);
      font-size:.63rem;
      font-weight:500;
      letter-spacing:.2em;
    }
    .work-mobile-copy h3{
      margin:0;
      color:var(--blue);
      font-size:clamp(1.45rem,6.3vw,1.8rem);
      line-height:1.15;
    }
    .work-mobile-copy p{
      max-width:35ch;
      margin:.65rem 0 0;
      color:var(--muted);
      font-size:clamp(.92rem,3.8vw,1.02rem);
      font-weight:300;
      line-height:1.62;
    }
    .work-layout .svc-rows{
      z-index:1;
      margin-top:calc(-100svh + var(--work-mobile-top));
      border-top:0;
      pointer-events:none;
    }
    .work-layout .svc-row,
    .work-layout .svc-row:last-child{
      min-height:50svh;
      padding:0;
      opacity:0!important;
    }
    .work-layout .svc-row.is-active{
      padding:0;
    }
    .work-layout .svc-row:last-child{
      min-height:70svh;
    }
  }

  @media(max-width:699px) and (prefers-reduced-motion:reduce){
    .work-mobile-copy{transition:none;}
  }
