
  :root{
    --night:#0B2138; --night-2:#0E2C4C; --ink:#13293c;
    --snow:#F6F9FB; --mist:#EAF0F5; --card:#ffffff;
    --frost:#C7D6E3; --frost-dim:#8FA6B9; --slate:#566776;
    --gold:#C79A4B; --gold-2:#8A5F1B; --gold-soft:#E7D2A6;
    --line:rgba(19,41,60,.12); --line-d:rgba(255,255,255,.14);
    --maxw:1180px; --r:14px; --ease:cubic-bezier(.22,.61,.36,1);
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0; background:var(--snow); color:var(--ink); font-family:"Hanken Grotesk",system-ui,sans-serif; font-size:17px; line-height:1.62; -webkit-font-smoothing:antialiased;}
  h1,h2,h3{font-family:"Fraunces",Georgia,serif; font-weight:500; line-height:1.08; margin:0; letter-spacing:-.01em;}
  a{color:inherit}
  img{display:block; max-width:100%}
  .wrap{max-width:var(--maxw); margin:0 auto; padding-left:max(28px,env(safe-area-inset-left)); padding-right:max(28px,env(safe-area-inset-right))}
  .eyebrow{font-family:"Hanken Grotesk"; font-weight:600; font-size:.74rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-2);}
  .eyebrow.on-dark{color:var(--gold-soft)}

  header.nav{position:fixed; inset:0 0 auto 0; z-index:60; transition:background .4s var(--ease), box-shadow .4s var(--ease);}
  header.nav.solid{background:rgba(8,24,42,.86); backdrop-filter:blur(12px); box-shadow:0 1px 0 var(--line-d);}
  .nav-in{display:flex; align-items:center; justify-content:space-between; height:88px; max-width:var(--maxw); margin:0 auto; padding-left:max(28px,env(safe-area-inset-left)); padding-right:max(28px,env(safe-area-inset-right));}
  .brand{display:flex; align-items:center; gap:11px; max-width:calc(100% - 70px); text-decoration:none; color:#fff;}
  .brand .amark{height:clamp(38px,5vw,56px); width:auto; flex:none}
  .brand svg[role="img"]{width:clamp(150px,23vw,222px); height:auto; max-width:calc(100% - 49px); flex:none}
  footer.site .brand .amark{height:40px}
  footer.site .brand svg[role="img"]{width:158px; height:auto}
  nav.links{display:flex; align-items:center; gap:25px}
  nav.links a{color:rgba(255,255,255,.82); text-decoration:none; font-weight:500; font-size:.95rem; transition:color .2s;}
  nav.links a:hover{color:#fff}
  .nav-cta{border:1px solid var(--gold); color:var(--gold-soft); padding:9px 18px; border-radius:999px; white-space:nowrap; transition:background .25s,color .25s;}
  .nav-cta:hover{background:var(--gold); color:#10202f !important}
  .burger{display:none; background:none; border:0; cursor:pointer; padding:8px; color:#fff}
  .burger span{display:block; width:24px; height:2px; background:#fff; margin:5px 0; transition:.3s}

  .hero{position:relative; min-height:100svh; display:flex; align-items:flex-end; color:#fff; overflow:hidden;}
  .hero-bg{position:absolute; inset:0; background:#08182a center/cover no-repeat; transform:scale(1.04); will-change:transform;}
  .hero::after{content:""; position:absolute; inset:0;
    background:linear-gradient(90deg, rgba(7,20,36,.86) 0%, rgba(7,20,36,.45) 42%, rgba(7,20,36,.12) 75%),
               linear-gradient(0deg, rgba(7,20,36,.92) 0%, rgba(7,20,36,.30) 34%, rgba(7,20,36,0) 60%),
               linear-gradient(180deg, rgba(7,20,36,.62) 0%, rgba(7,20,36,.28) 12%, rgba(7,20,36,0) 26%);}
  .hero-in{position:relative; z-index:2; padding:0 max(28px,env(safe-area-inset-right)) 96px max(28px,env(safe-area-inset-left)); max-width:var(--maxw); margin:0 auto; width:100%;}
  .hero h1{font-size:clamp(2.7rem,6vw,5rem); max-width:14ch; margin:.5rem 0 1.1rem; text-shadow:0 2px 30px rgba(0,0,0,.35);}
  .hero h1 em{font-style:italic; color:var(--gold-soft)}
  .hero p.sub{max-width:50ch; font-size:1.12rem; color:var(--frost); margin:0 0 2rem;}
  .hero-actions{display:flex; gap:14px; flex-wrap:wrap}
  .btn{display:inline-flex; align-items:center; gap:10px; padding:14px 26px; border-radius:999px; text-decoration:none; font-weight:600; font-size:1rem; transition:transform .25s var(--ease), background .25s, box-shadow .25s; border:1px solid transparent;}
  .btn.primary{background:var(--gold); color:#13293c; box-shadow:0 10px 30px rgba(199,154,75,.32)}
  .btn.primary:hover{transform:translateY(-2px); background:var(--gold-soft)}
  .btn.ghost{border-color:rgba(255,255,255,.4); color:#fff}
  .btn.ghost:hover{background:rgba(255,255,255,.1); transform:translateY(-2px)}
  .scrollcue{position:absolute; left:50%; bottom:26px; transform:translateX(-50%); z-index:2; color:rgba(255,255,255,.6); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; display:flex; flex-direction:column; align-items:center; gap:8px;}
  .scrollcue .dot{width:1px; height:34px; background:linear-gradient(rgba(255,255,255,.6),transparent); animation:drop 2s var(--ease) infinite}
  /* On narrow screens the hero buttons stack and run into the cue. */
  @media(max-width:680px){ .scrollcue{display:none} }
  @keyframes drop{0%{opacity:0;transform:scaleY(.2)}40%{opacity:1}100%{opacity:0;transform:translateY(14px) scaleY(.6)}}

  .ridge{display:block; width:100%; height:40px}
  .ridge path{fill:currentColor}

  section{position:relative}
  .pad{padding:104px 0}
  .lead{max-width:720px}
  .lead h2{font-size:clamp(2rem,4vw,3rem); margin:.55rem 0 1rem}
  .lead p{color:var(--slate); font-size:1.12rem; margin:0}
  .dark{background:var(--night); color:#fff}
  .dark .lead p{color:var(--frost)}
  .mist{background:var(--mist)}

  .statement{font-family:"Fraunces"; font-weight:400; font-size:clamp(1.5rem,3vw,2.15rem); line-height:1.32; max-width:24ch;}
  .statement .g{color:var(--gold-2)}
  .two{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start}
  .two p{color:var(--slate); margin:0 0 1.1rem}

  .grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:54px}
  .card{background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:30px 28px; transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;}
  .card:hover{transform:translateY(-5px); box-shadow:0 22px 50px -28px rgba(11,33,56,.4); border-color:rgba(199,154,75,.45)}
  .card .ix{font-family:"Fraunces"; font-size:.95rem; color:var(--gold-2); letter-spacing:.04em}
  .card h3{font-size:1.34rem; margin:.5rem 0 .6rem}
  .card p{margin:0; color:var(--slate); font-size:.98rem; line-height:1.55}
  .dark .grid .card{background:rgba(255,255,255,.04); border-color:var(--line-d)}
  .dark .card h3{color:#fff}
  .dark .card p{color:var(--frost)}
  .dark .card:hover{box-shadow:0 22px 50px -24px rgba(0,0,0,.55)}
  .dark .card .ix{color:var(--gold-soft)}


  .team{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:50px}
  @media(max-width:1000px){ .team{grid-template-columns:repeat(2,1fr)} }
  @media(max-width:560px){ .team{grid-template-columns:1fr} }
  .person{background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:26px 24px;}
  .mono{width:46px; height:46px; border-radius:12px; background:var(--night); color:var(--gold-soft); display:flex; align-items:center; justify-content:center; font-family:"Fraunces"; font-size:1.25rem; margin-bottom:16px;}
  .person h3{font-size:1.18rem}
  .person .role{color:var(--gold-2); font-weight:600; font-size:.82rem; letter-spacing:.04em; margin:.25rem 0 .7rem; text-transform:uppercase}
  .person p{margin:0 0 .8rem; color:var(--slate); font-size:.93rem; line-height:1.5}
  .person a{color:var(--ink); font-weight:600; font-size:.88rem; text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:1px}

  .contact{display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; align-items:start}
  .cdetail{display:flex; gap:14px; margin:0 0 22px}
  .cdetail .ci{flex:none; color:var(--gold-soft); margin-top:3px}
  .cdetail .lbl{font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--frost-dim); margin-bottom:2px}
  .cdetail a,.cdetail span{color:#fff; text-decoration:none; font-size:1.05rem}
  .cdetail a:hover{color:var(--gold-soft)}
  .socials{display:flex; gap:12px; margin-top:30px}
  .socials a{width:42px; height:42px; border:1px solid var(--line-d); border-radius:11px; display:flex; align-items:center; justify-content:center; color:var(--frost); transition:.25s}
  .socials a:hover{border-color:var(--gold); color:var(--gold-soft); transform:translateY(-2px)}
  .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
  form.cform{background:rgba(255,255,255,.04); border:1px solid var(--line-d); border-radius:18px; padding:32px}
  .frow{display:grid; grid-template-columns:1fr 1fr; gap:16px}
  .field{margin-bottom:16px}
  label{display:block; font-size:.82rem; font-weight:600; color:var(--frost); margin-bottom:7px}
  input,textarea{width:100%; background:rgba(255,255,255,.06); border:1px solid var(--line-d); border-radius:10px; padding:13px 15px; color:#fff; font-family:inherit; font-size:1rem; transition:border-color .25s, background .25s;}
  input::placeholder,textarea::placeholder{color:var(--frost-dim)}
  input:focus,textarea:focus{outline:none; border-color:var(--gold); background:rgba(255,255,255,.09)}
  textarea{resize:vertical; min-height:120px}
  form.cform .btn.primary{width:100%; justify-content:center; margin-top:6px; cursor:pointer; border:0; font-family:inherit}
  .formnote{font-size:.8rem; color:var(--frost-dim); margin:14px 0 0; text-align:center}

  #mc_embed_signup{display:flex; gap:8px; max-width:300px; margin:0; flex-wrap:wrap}
  #mc_embed_signup form{display:flex; gap:8px; width:100%}
  #mc_embed_signup input.email{flex:1; min-width:0}
  #mc_embed_signup .button{background:var(--gold); border:0; color:#13293c; font-weight:600; padding:0 18px; font-size:.9rem; border-radius:10px; cursor:pointer; font-family:inherit; transition:background .25s}
  #mc_embed_signup .button:hover{background:var(--gold-soft)}

  footer.site{background:#081726; color:var(--frost-dim); padding:40px 0; font-size:.9rem}
  footer.site .fin{display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; padding-top:24px}
  footer.site .legal-links{display:flex; gap:16px; flex-wrap:wrap}
  footer.site .legal-links a{border-bottom:1px solid rgba(199,154,75,.45)}
  footer.site .legal-links a:hover{color:var(--gold-soft); border-color:var(--gold)}
  .ftop{display:flex; justify-content:space-between; align-items:center; gap:28px; flex-wrap:wrap; padding-bottom:24px; border-bottom:1px solid var(--line-d)}
  .fnews{display:flex; flex-direction:column; gap:8px; align-items:flex-end}
  .fnews .flabel{font-size:.78rem; color:var(--frost-dim)}
  footer.site #mc_embed_signup input.email{padding:10px 13px; font-size:.9rem}
  @media(max-width:680px){ .ftop{flex-direction:column; align-items:flex-start} .fnews{align-items:stretch; width:100%} footer.site #mc_embed_signup{max-width:none} }
  footer.site a{color:var(--frost); text-decoration:none}

  .reveal{opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease)}
  .reveal.in{opacity:1; transform:none}

  @media(max-width:900px){
    .two,.contact{grid-template-columns:1fr; gap:34px}
    .grid{grid-template-columns:repeat(2,1fr)}
    .pad{padding:78px 0}
  }
  /* Nav collapses at 1080px — seven links plus a CTA overflow below ~1000px. */
  @media(max-width:1080px){
    nav.links{position:fixed; inset:88px 0 auto 0; background:rgba(8,24,42,.97); backdrop-filter:blur(12px); flex-direction:column; align-items:stretch; gap:0; padding:8px 0 18px; transform:translateY(-130%); transition:transform .4s var(--ease); border-top:1px solid var(--line-d); max-height:calc(100svh - 88px); overflow-y:auto;}
    nav.links.open{transform:none}
    nav.links a{padding:14px 28px; border-bottom:1px solid var(--line-d)}
    .nav-cta{margin:12px 28px 0; text-align:center}
    .burger{display:block}
    .lang{width:100%}
    .lang-btn{width:100%; justify-content:flex-start; padding:14px 28px; border-bottom:1px solid var(--line-d); color:rgba(255,255,255,.82)}
    .lang-label{display:inline}
    .lang-menu{position:static; border:0; background:none; box-shadow:none; padding:0; min-width:0}
    .lang-menu a{padding:12px 40px}
  }
  @media(max-width:680px){
    body{font-size:16px}
    .brand{gap:8px}
    .brand .amark{height:38px}
    .brand svg[role="img"]{width:clamp(142px,40vw,178px); max-width:calc(100% - 46px)}
    .grid{grid-template-columns:1fr}
    .frow{grid-template-columns:1fr}
    .hero-in{padding-bottom:72px}
    .statement{max-width:none}
  }
  .socials a svg{display:block}
  .lang{position:relative}
  .lang-btn{display:inline-flex; align-items:center; gap:7px; background:none; border:0; color:rgba(255,255,255,.82); font:inherit; font-weight:500; font-size:.95rem; cursor:pointer; padding:0}
  .lang-btn:hover{color:#fff}
  .lang-label{display:none}
  .lang-menu{position:absolute; top:calc(100% + 16px); right:0; background:rgba(10,26,44,.97); backdrop-filter:blur(12px); border:1px solid var(--line-d); border-radius:12px; padding:6px; min-width:168px; display:none; flex-direction:column; box-shadow:0 18px 40px -20px rgba(0,0,0,.6); z-index:70}
  .lang-menu.open{display:flex}
  .lang-menu a{padding:9px 14px; border-radius:8px; color:rgba(255,255,255,.85); text-decoration:none; font-size:.92rem}
  .lang-menu a:hover{background:rgba(255,255,255,.07); color:var(--gold-soft)}
  /* --- accessibility ---------------------------------------------------- */
  .skip{position:absolute; left:-9999px; top:0; z-index:100; background:var(--gold); color:#13293c; padding:12px 20px; border-radius:0 0 10px 0; font-weight:600;}
  .skip:focus{left:0}
  a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold); outline-offset:3px; border-radius:4px}
  .dark a:focus-visible,.dark button:focus-visible{outline-color:var(--gold-soft)}
  .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger.open span:nth-child(2){opacity:0}
  .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  /* --- inline note under a grid ------------------------------------------ */
  .routing{margin:30px 0 0; max-width:70ch; font-size:1rem; color:var(--slate)}
  .routing a{color:var(--gold-2); font-weight:600; text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:1px; white-space:nowrap}

  .note{margin:26px 0 0; display:flex; gap:14px; align-items:baseline; flex-wrap:wrap; font-size:1rem; color:var(--slate)}
  .note strong{font-family:"Fraunces"; font-weight:500; color:var(--ink); font-size:1.08rem}
  .note a{color:var(--gold-2); font-weight:600; text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:1px}

  /* --- numbered process (order carries meaning) -------------------------- */
  .steps-head{margin:52px 0 0; font-size:1.02rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-2); font-family:"Hanken Grotesk"; font-weight:600}
  .steps{list-style:none; margin:22px 0 0; padding:0; counter-reset:st; display:grid; grid-template-columns:repeat(2,1fr); gap:2px; background:var(--line)}
  .steps li{counter-increment:st; background:var(--snow); padding:28px 30px}
  .mist .steps li{background:var(--mist)}
  .steps li::before{content:counter(st,decimal-leading-zero); display:block; font-family:"Fraunces"; font-size:.9rem; color:var(--gold-2); letter-spacing:.06em; margin-bottom:10px}
  .steps h3{font-size:1.16rem; margin:0 0 .45rem}
  .steps p{margin:0; color:var(--slate); font-size:.97rem; line-height:1.55}
  @media(max-width:680px){ .steps{grid-template-columns:1fr} }

  .card.wide{margin-top:22px; display:grid; grid-template-columns:.72fr 1.28fr; gap:34px; align-items:center}
  .card.wide h3{margin:.4rem 0 0}
  .card.wide p{font-size:1.02rem}
  @media(max-width:760px){ .card.wide{grid-template-columns:1fr; gap:14px} }

  .note.on-dark{color:var(--frost)}
  .note.on-dark strong{color:#fff}
  .note.on-dark a{color:var(--gold-soft)}

  .amark{width:auto; flex:none; color:var(--gold)}
  .divider{display:flex; align-items:center; gap:22px; max-width:var(--maxw); margin:0 auto; padding:96px 28px 0}
  @media(max-width:680px){ .divider{padding-top:70px} }
  .divider::before,.divider::after{content:""; flex:1; height:1px; background:var(--line)}
  .divider .amark{height:38px; opacity:.9}
  .dark .divider::before,.dark .divider::after{background:var(--line-d)}
  footer.site .amark{height:38px; color:var(--gold)}
  .fbrand{display:flex; align-items:center; gap:18px}


  .careers-side{display:flex; flex-direction:column; gap:26px; justify-content:center}
  .teamshot{margin:0}
  .teamshot img{display:block; width:100%; height:auto; border-radius:var(--r)}
  .teamshot figcaption{margin:12px 2px 0; font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-2); font-weight:600}

  .lead p + p{margin-top:1.05rem}

  .whorow{margin:54px 0 0; border-top:1px solid var(--line); padding-top:30px}
  .wlabel{display:block; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-2); font-weight:600; margin-bottom:24px}
  .whorow ul{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr)}
  .whorow li{padding:0 26px; border-left:1px solid var(--line); font-size:1rem; color:var(--slate); line-height:1.5}
  .whorow li:first-child{padding-left:0; border-left:0}
  @media(max-width:900px){ .whorow ul{grid-template-columns:repeat(2,1fr); row-gap:26px} .whorow li:nth-child(3){padding-left:0; border-left:0} }
  @media(max-width:540px){ .whorow ul{grid-template-columns:1fr; row-gap:15px} .whorow li{padding:0; border-left:0} }

  /* --- proof band: contour lines of the 3 Valleys (signature) ------------- */
  .proof{position:relative; background:var(--night); color:#fff; overflow:hidden; padding:96px 0}
  .proof .topo{position:absolute; inset:-10% -5%; opacity:.16; pointer-events:none}
  .proof .topo path{fill:none; stroke:var(--gold); stroke-width:1.1; vector-effect:non-scaling-stroke}
  .proof .wrap{position:relative; z-index:2}
  .proof .lead p{color:var(--frost)}
  .quotes{display:grid; grid-template-columns:1.2fr 1fr; grid-auto-rows:1fr; gap:22px; margin-top:56px}
  .quote.tall{grid-row:span 2}
  /* blockquote carries a UA default margin:1em 40px — reset it or every
     card sits 80px narrower than its grid cell. */
  .quote{margin:0; display:flex; flex-direction:column; justify-content:center}
  /* With a 4th quote present, drop to an even 2x2 — no code change needed. */
  /* Scoped to wide screens: :has() outspecifies a plain .quotes rule, and a
     media query adds no specificity, so unscoped it would beat the mobile
     layouts below. */
  @media(min-width:861px){
    .quotes:has(.quote:nth-child(4)){grid-template-columns:1fr 1fr}
    .quotes:has(.quote:nth-child(4)) .quote.tall{grid-row:auto}
  }
  .quote{border:1px solid var(--line-d); border-left:3px solid var(--gold); border-radius:var(--r); padding:30px 32px; background:rgba(255,255,255,.04)}
  .quote p{font-family:"Fraunces"; font-weight:400; font-size:1.14rem; line-height:1.5; margin:0 0 1.2rem; color:#fff}
  .quote footer{font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-soft); line-height:1.6}
  .quote footer span{display:block; color:var(--frost-dim); letter-spacing:.1em}
  /* 700–860px: plenty of width, so just stack them. */
  @media(max-width:860px){
    .quotes{grid-template-columns:1fr; grid-auto-rows:auto}
    .quote.tall{grid-row:auto}
  }

  .qdots{display:none; justify-content:center; gap:9px; margin-top:20px}
  .qdots button{width:8px; height:8px; padding:0; border-radius:50%; cursor:pointer;
    border:1px solid var(--gold); background:none; transition:background .3s var(--ease), transform .3s var(--ease)}
  .qdots button[aria-current="true"]{background:var(--gold); transform:scale(1.35)}

  /* Under 700px a stacked card gets tall and the text starts wrapping badly,
     so swap to a scroll-snap carousel that bleeds to the screen edges. */
  @media(max-width:700px){
    .quotes{
      display:flex; grid-template-columns:none; grid-auto-rows:auto;
      gap:14px; overflow-x:auto; overscroll-behavior-x:contain;
      scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
      margin-left:-28px; margin-right:-28px; padding:4px 28px 8px;
      scrollbar-width:none;
    }
    .quotes::-webkit-scrollbar{display:none}
    .quotes .quote{flex:0 0 82%; scroll-snap-align:center; grid-row:auto}
    .quote p{font-size:1.08rem}
    .qdots{display:flex}
  }


  .stats{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:54px 0 0; border-top:1px solid var(--line-d)}
  .stat{padding:30px 26px 0; border-right:1px solid var(--line-d)}
  .stat:last-child{border-right:0}
  .stat .n{font-variant-numeric:tabular-nums; font-family:"Fraunces"; font-weight:400; font-size:clamp(2.1rem,4.4vw,3.1rem); line-height:1; color:var(--gold-soft); letter-spacing:-.02em}
  .stat .l{display:block; margin-top:12px; font-size:.86rem; color:var(--frost); line-height:1.45}
  @media(max-width:820px){ .stats{grid-template-columns:repeat(2,1fr)} .stat{border-bottom:1px solid var(--line-d); padding-bottom:26px} .stat:nth-child(2n){border-right:0} }
  @media(max-width:480px){ .stats{grid-template-columns:1fr} .stat{border-right:0} }


  /* --- gallery ----------------------------------------------------------- */

  @media(prefers-reduced-motion:reduce){
    *{animation:none !important}
    .reveal{opacity:1; transform:none; transition:none}
    .hero-bg{transform:none}
    html{scroll-behavior:auto}
  }

/* V10: editorial photography and quieter detailing. */
:root{--snow:#FAF9F6;--mist:#F0F0EB}
section[id]{scroll-margin-top:88px}
.hero-in{padding-top:160px}.hero{min-height:max(720px,100svh)}
.btn.primary{box-shadow:0 4px 15px rgba(0,0,0,.09)}
.editorial{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(32px,5vw,80px);align-items:center}
.editorial-photo{margin:0;min-width:0}.editorial-photo img{width:100%;height:100%;object-fit:cover;border-radius:3px}
.welcome-layout .editorial-photo img{aspect-ratio:1.1;height:auto;object-position:60% center}
.editorial-photo figcaption{margin-top:16px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2)}
.editorial-copy h2{font-size:clamp(2rem,3.4vw,3.2rem);margin:20px 0 26px;line-height:1.15}
.editorial-copy p,.about-copy p{color:var(--slate)}
.text-link{display:inline-flex;align-items:center;gap:18px;font-size:.94rem;font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:6px;margin-top:16px}
.cleaning-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.cleaning-photo img{aspect-ratio:1.3;height:auto;object-position:65% center}
#services .grid{gap:0 34px;margin-top:64px}#services .card:not(.wide){border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:28px 0;box-shadow:none;transform:none}
#services .card.wide{background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:30px 0;box-shadow:none;transform:none}
.window-band{isolation:isolate;overflow:hidden;background:#0b2138;color:white;min-height:680px;display:flex;align-items:center}
.window-image{position:absolute;inset:-80px 0;z-index:-2;will-change:transform}
.window-image img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:brightness(1.12)}
.window-band:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,14,22,.76),rgba(4,14,22,.24) 50%,rgba(4,14,22,.03)),linear-gradient(0deg,rgba(4,14,22,.3),transparent 50%)}
.window-content{width:100%;padding-top:100px;padding-bottom:100px}.window-content>div{max-width:490px}
.window-content h2{font-size:clamp(2.7rem,4.8vw,4.6rem);line-height:1.12;margin:22px 0}.window-content p{font-size:1.15rem;color:#f0f2f3}.window-content .text-link{color:white}
.about-layout{grid-template-columns:.85fr 1.15fr}.detail-photo img{aspect-ratio:1.05;height:auto;object-position:65% center}.about-copy .statement{margin-bottom:24px;max-width:28ch}
.quote-context{margin:35px 0 0;color:var(--frost-dim);font-size:.83rem}#quotes{margin-top:20px}.quote{box-shadow:none}
.qdots button{width:28px;height:28px;border:0;position:relative}.qdots button:after{content:'';position:absolute;inset:10px;border:1px solid var(--gold);border-radius:50%}.qdots button[aria-current=true]{background:none;transform:none}.qdots button[aria-current=true]:after{background:var(--gold)}
.lang-btn{min-height:44px;min-width:44px;justify-content:center}.current-lang{font-size:.8rem;letter-spacing:.08em}.translation-label{display:block;padding:12px 14px 4px;color:var(--frost-dim);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;border-top:1px solid var(--line-d);margin-top:4px}.lang-menu [aria-current=page]{color:var(--gold-soft)}
.fnews{max-width:560px}.fnews .flabel{text-align:right}.reveal{opacity:1;transform:none}.motion-ready .reveal:not(.in){opacity:0;transform:translateY(20px)}
@media(max-width:1080px){nav.links{visibility:hidden;pointer-events:none;transform:translateY(-12px);opacity:0;transition:opacity .2s,transform .2s,visibility .2s}nav.links.open{visibility:visible;pointer-events:auto;opacity:1;transform:none}.lang-btn{padding:14px 28px;justify-content:flex-start;width:100%}.lang-menu{position:static;box-shadow:none;background:none;border:0;padding:0 14px}.lang-menu a{padding:12px 26px}.translation-label{padding-left:26px}.cleaning-intro{gap:40px}}
@media(max-width:800px){.editorial,.cleaning-intro,.about-layout{grid-template-columns:1fr;gap:32px}.welcome-layout .editorial-copy{order:-1}.welcome-layout .editorial-photo img{aspect-ratio:1.35}.cleaning-photo img{aspect-ratio:1.25}.detail-photo img{aspect-ratio:1.3}.about-copy{order:-1}.pad{padding:72px 0}#services .grid{margin-top:38px}.window-band{min-height:650px;align-items:flex-end}.window-content{padding-top:250px;padding-bottom:52px}.window-content>div{max-width:360px}.window-content h2{font-size:clamp(2.4rem,8vw,3.6rem)}.window-image{inset:-35px 0}.window-image img{object-position:62% center}.window-band:after{background:linear-gradient(0deg,rgba(4,14,22,.9),rgba(4,14,22,.48) 45%,rgba(4,14,22,.08) 80%)}.fnews .flabel{text-align:left}}
@media(max-width:480px){.hero{min-height:100svh}.hero h1{font-size:clamp(2.45rem,10.5vw,3.2rem)}.hero-in{padding-top:130px;padding-bottom:52px}.hero p.sub{font-size:1rem}.hero-actions{gap:12px}.hero-actions .btn{padding:12px 19px;font-size:.92rem}.window-content h2{font-size:2.65rem}.window-content p{font-size:1.05rem}.routing a{white-space:normal;overflow-wrap:anywhere}.cdetail a{overflow-wrap:anywhere;font-size:1rem}.contact{gap:32px}form.cform{padding:23px}.quote{padding:26px 24px}.stats{grid-template-columns:repeat(2,1fr)}.stat{padding:24px 12px}.stat .l{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal:not(.in){opacity:1;transform:none}.window-image{transform:none!important;will-change:auto}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
