/* Fresh Powder · shared site styles (case template + work hub), canvas build */
:root{
  --paper:#F7F6F1;--cream:#EEECE3;--ink:#10140F;--ink-soft:#2B2F29;--muted:#5C615A;
  --line:#E2E0D6;--line-2:#CDCABF;
  --green:#3F076E;--green-700:#33065A;--green-bright:#8A4FD6;--green-deep:#1E0B38;--green-black:#0E0716;
  --maxw:1240px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hanken Grotesk','Helvetica Neue',Arial,sans-serif;
  font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
body::after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
h1,h2,h3,h4,p{margin:0;}a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px;}
.narrow{max-width:920px;}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--green);}
.h2{font-family:'Archivo';font-weight:800;line-height:1.04;letter-spacing:-.02em;font-size:clamp(28px,4.3vw,50px);}
.lead{font-size:clamp(18px,2vw,21px);line-height:1.5;color:var(--ink-soft);max-width:58ch;}

.btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;padding:15px 26px;border-radius:100px;border:1.6px solid transparent;cursor:pointer;min-height:50px;transition:.25s;}
.btn .arr{transition:transform .28s cubic-bezier(.2,.7,.3,1);font-family:'Archivo';}
.btn:hover .arr{transform:translateX(5px);}
.btn-primary{background:var(--green);color:#fff;}.btn-primary:hover{background:var(--green-700);}
.btn-light{background:var(--paper);color:var(--ink);}.btn-light:hover{background:#fff;}
.tlink{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--green);}
.tlink .arr{transition:transform .28s cubic-bezier(.2,.7,.3,1);font-family:'Archivo';}
.tlink:hover .arr{transform:translateX(5px);}
:focus-visible{outline:3px solid var(--green);outline-offset:3px;}

header.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:.3s;padding:22px 0;}
header.nav.scrolled{background:rgba(247,246,241,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);padding:14px 0;}
.nav-in{display:flex;align-items:center;justify-content:space-between;}
.brand{display:flex;flex-direction:column;line-height:1;}
.brand b{font-family:'Archivo';font-weight:800;font-size:21px;letter-spacing:-.02em;}
.brand small{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-weight:600;}
.nav-links{display:flex;align-items:center;gap:34px;}
.nav-links a.lk{font-weight:600;font-size:15px;position:relative;padding:4px 0;}
.nav-links a.lk[aria-current]{color:var(--green);}
.nav-links a.lk::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--green);transition:width .28s;}
.nav-links a.lk:hover::after,.nav-links a.lk[aria-current]::after{width:100%;}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:10px;}
.burger span{width:24px;height:2px;background:var(--ink);display:block;}
.mobile-menu{position:fixed;inset:0;z-index:99;background:var(--green-black);color:#fff;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:40px;transform:translateY(-100%);transition:transform .45s cubic-bezier(.5,0,.2,1);visibility:hidden;}
.mobile-menu.open{transform:translateY(0);visibility:visible;}
.mobile-menu a{font-family:'Archivo';font-weight:700;font-size:clamp(34px,9vw,56px);letter-spacing:-.02em;padding:8px 0;color:#fff;}
.mm-close{position:absolute;top:26px;right:30px;background:none;border:0;color:#fff;font-size:32px;cursor:pointer;}

.carve{fill:none;stroke:var(--green);stroke-linecap:round;stroke-linejoin:round;}
.carve.bright{stroke:var(--green-bright);}
html.js .draw{stroke-dasharray:1;stroke-dashoffset:1;}
.run .draw{animation:ftdraw 1.9s .15s cubic-bezier(.4,0,.15,1) forwards;}
@keyframes ftdraw{to{stroke-dashoffset:0;}}
html.js .spray{opacity:0;transform:translate(-5px,5px);}
.run .spray{animation:ftspray .7s 1.4s ease forwards;}
@keyframes ftspray{to{opacity:.85;transform:translate(0,0);}}
.spray line,.spray circle{stroke:var(--green-bright);fill:var(--green-bright);stroke-linecap:round;}

.crumb{padding:104px 0 0;}
.crumb .bar{display:flex;align-items:center;justify-content:space-between;padding:14px 0;}
.crumb a.back{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:14px;color:var(--green);}
.crumb a.back .arr{font-family:'Archivo';transition:transform .25s;}
.crumb a.back:hover .arr{transform:translateX(-4px);}
.crumb .where{font-size:13px;color:var(--muted);letter-spacing:.02em;}

.hero{position:relative;background:radial-gradient(130% 130% at 72% 8%,#2D1254,var(--green-deep) 40%,var(--green-black));color:#fff;overflow:hidden;border-radius:20px;corner-shape:squircle;margin-top:10px;}
.hero .g2{position:absolute;inset:0;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.hero svg.hcarve{position:absolute;left:-3%;bottom:-8%;width:80%;height:auto;z-index:1;opacity:.85;}
.hero-in{position:relative;z-index:2;padding:70px 56px 60px;min-height:54vh;display:flex;flex-direction:column;justify-content:flex-end;}
.hero .chip{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.66);font-weight:700;margin-bottom:auto;}
.hero h1{font-family:'Archivo';font-weight:800;letter-spacing:-.03em;line-height:.92;font-size:clamp(54px,11vw,128px);margin:30px 0 18px;}
.hero .sub{font-size:clamp(15px,1.9vw,19px);color:rgba(255,255,255,.82);max-width:60ch;}
.hero .htags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px;}
.htag{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.28);border-radius:100px;padding:5px 12px;}

.sec{padding:96px 0;}
.sec.sm{padding:64px 0;}
.band{background:var(--cream);}

.idea .eyebrow{display:block;margin-bottom:18px;}
.idea h2{max-width:16ch;margin-bottom:26px;}

.spec{display:grid;grid-template-columns:repeat(6,1fr);border-top:1.5px solid var(--ink);}
.spec .cell{padding:26px 20px 24px;border-right:1px solid var(--line-2);}
.spec .cell:last-child{border-right:0;}
.spec .k{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:700;}
.spec .v{font-family:'Archivo';font-weight:700;font-size:18px;letter-spacing:-.01em;margin-top:10px;line-height:1.1;}

.cols{display:grid;grid-template-columns:1fr 1fr;gap:64px;}
.blk .eyebrow{display:block;margin-bottom:16px;}
.blk p{font-size:16px;color:var(--ink-soft);max-width:46ch;}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px;}
.chip2{font-size:12px;font-weight:700;letter-spacing:.03em;color:var(--green);border:1px solid var(--green);border-radius:100px;padding:6px 13px;}
.wins{list-style:none;margin:6px 0 0;padding:0;}
.wins li{position:relative;padding:14px 0 14px 26px;border-top:1px solid var(--line);font-size:15px;color:var(--ink-soft);}
.wins li::before{content:"";position:absolute;left:0;top:21px;width:11px;height:2px;background:var(--green);}

.feature{position:relative;border-radius:20px;corner-shape:squircle;overflow:hidden;background:radial-gradient(120% 130% at 30% 15%,#2C1252,var(--green-deep) 45%,var(--green-black));aspect-ratio:21/9;display:flex;align-items:center;justify-content:center;}
.feature .g2{position:absolute;inset:0;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.feature svg{position:absolute;right:-4%;top:-12%;width:55%;opacity:.4;}
.feature .ph{position:relative;z-index:2;color:rgba(255,255,255,.5);font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;}
.cap{font-size:13.5px;color:var(--muted);margin-top:16px;font-style:italic;}

.idgrid{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;}
.panel{position:relative;border-radius:16px;corner-shape:squircle;overflow:hidden;background:radial-gradient(120% 120% at 30% 20%,#33155C,var(--green-deep) 45%,var(--green-black));display:flex;align-items:center;justify-content:center;}
.panel.tall{aspect-ratio:4/5;}
.panel.half{aspect-ratio:16/10;}
.panel .g2{position:absolute;inset:0;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.mono{position:relative;z-index:2;font-family:'Archivo';font-weight:800;color:#fff;line-height:.82;text-align:center;}
.mono.word{font-size:clamp(26px,3vw,40px);letter-spacing:-.02em;}
.mono.sm{font-size:clamp(20px,2.3vw,30px);letter-spacing:-.01em;color:rgba(255,255,255,.92);}
.panel svg.pc{position:absolute;z-index:1;}
.panel svg.grid{position:absolute;z-index:1;}
.idstack{display:grid;gap:28px;}

.pull{text-align:center;}
.pull blockquote{font-family:'Archivo';font-weight:700;letter-spacing:-.02em;line-height:1.1;font-size:clamp(26px,4vw,46px);max-width:20ch;margin:18px auto 0;}
.pull .src{font-size:13px;color:var(--muted);margin-top:22px;letter-spacing:.04em;}

.scope .chips{margin-top:24px;}

.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.work-card{display:block;}
.poster{position:relative;aspect-ratio:16/11;border-radius:20px;corner-shape:squircle;overflow:hidden;background:radial-gradient(120% 120% at 30% 20%,#34165E,var(--green-deep) 45%,var(--green-black));display:flex;align-items:flex-end;padding:26px;}
.poster .g2{position:absolute;inset:0;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.poster .scale{position:absolute;inset:0;background:inherit;transition:transform .6s cubic-bezier(.2,.7,.2,1);}
.work-card:hover .poster .scale{transform:scale(1.05);}
.poster svg{position:absolute;right:-16%;top:-14%;width:62%;opacity:.4;z-index:1;}
.poster .pchip{position:absolute;top:22px;left:22px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);font-weight:600;z-index:2;}
.poster .pname{position:relative;z-index:2;font-family:'Archivo';font-weight:800;color:#fff;font-size:clamp(26px,2.6vw,38px);line-height:.98;letter-spacing:-.02em;}
.work-meta{padding-top:18px;}.work-meta .tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
.tag{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-2);border-radius:100px;padding:4px 11px;}
.work-meta p{font-size:15px;color:var(--ink-soft);margin-bottom:12px;}
.soon{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--muted);}

.cta{position:relative;background:linear-gradient(160deg,var(--green-deep),var(--green-black));color:#fff;text-align:center;overflow:hidden;}
.cta svg{position:absolute;left:50%;top:-26%;transform:translateX(-50%);width:88%;opacity:.32;}
.cta .eyebrow{color:var(--green-bright);}
.cta .h2{max-width:16ch;margin:18px auto 0;}
.cta p{color:rgba(255,255,255,.78);max-width:46ch;margin:20px auto 30px;font-size:18px;}

footer{background:var(--ink);color:rgba(255,255,255,.7);padding:80px 0 36px;}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.6fr;gap:40px;padding-bottom:54px;border-bottom:1px solid rgba(255,255,255,.12);}
footer .brand b{color:#fff;}footer .brand small{color:rgba(255,255,255,.5);}
.foot-desc{margin-top:18px;font-size:14.5px;max-width:34ch;line-height:1.5;}
footer h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:16px;}
footer .fl a,footer .fl p{display:block;font-size:14.5px;color:rgba(255,255,255,.78);margin:8px 0;}
footer .fl a:hover{color:var(--green-bright);}
.dispatch p{font-size:14px;margin-bottom:14px;}
.dispatch form{display:flex;gap:8px;}
.dispatch input{flex:1;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:100px;padding:13px 18px;color:#fff;font:inherit;font-size:14px;min-height:48px;}
.dispatch input::placeholder{color:rgba(255,255,255,.45);}
.dispatch .btn{padding:13px 20px;min-height:48px;}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:30px;font-size:13px;color:rgba(255,255,255,.5);flex-wrap:wrap;gap:14px;}
.foot-bottom .soc{display:flex;gap:22px;}.foot-bottom .soc a:hover{color:#fff;}

.reveal{will-change:transform,opacity;}
html.js .anim .reveal{opacity:0;transform:translateY(18px);}
.anim.run .reveal{animation:fadeUp .9s cubic-bezier(.2,.7,.2,1) forwards;}
@keyframes fadeUp{to{opacity:1;transform:translateY(0);}}

@media (max-width:1024px){.cols{grid-template-columns:1fr;gap:44px;}.idgrid{grid-template-columns:1fr;}.work-grid{grid-template-columns:1fr;}.spec{grid-template-columns:repeat(3,1fr);}.spec .cell:nth-child(3){border-right:0;}.spec .cell:nth-child(n+4){border-top:1px solid var(--line-2);}}
@media (max-width:860px){.nav-links{display:none;}.burger{display:flex;}}
@media (max-width:600px){
  .wrap{padding:0 22px;}.sec{padding:64px 0;}.hero-in{padding:48px 26px 40px;min-height:60vh;}
  .spec{grid-template-columns:repeat(2,1fr);}.spec .cell{border-right:0;}.spec .cell:nth-child(odd){border-right:1px solid var(--line-2);}.spec .cell:nth-child(n+3){border-top:1px solid var(--line-2);}
  .feature{aspect-ratio:4/3;}.foot-top{grid-template-columns:1fr;gap:32px;}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important;}html.js .draw{stroke-dashoffset:0;}html.js .spray{opacity:.85;transform:none;}html.js .anim .reveal{opacity:1;transform:none;}}
  /* Type finishing pass: Creative Director of Type Layout */
  h1,h2,h3,.display,.post-title,.h2,.h3{text-wrap:balance;}
  p,.lead,.post-dek,.sub,.dek,.work-meta p{text-wrap:pretty;}
  body{font-feature-settings:"kern" 1,"liga" 1;}
  .stat,.agg,.spec .v,.wins li{font-variant-numeric:tabular-nums lining-nums;}
  html{hanging-punctuation:first last;}
/* extras from the Esplanade template */
.display{font-family:'Archivo';font-weight:800;line-height:.98;letter-spacing:-.025em;font-size:clamp(44px,7.4vw,92px);}
.h3{font-family:'Archivo';font-weight:700;letter-spacing:-.01em;font-size:20px;line-height:1.15;}
.muted{color:var(--muted);}
.btn-ghost{border-color:var(--ink);color:var(--ink);}.btn-ghost:hover{background:var(--ink);color:var(--paper);}
.divider{height:1px;background:var(--line);}
.mono.big{font-size:clamp(90px,16vw,180px);}
.panel svg.grid{position:absolute;z-index:1;}
/* work hub */
.phead{position:relative;padding:72px 0 50px;overflow:hidden;}
.phead svg.hc{position:absolute;right:-4%;top:18%;width:62%;height:auto;z-index:0;}
.phead .in{position:relative;z-index:2;}
.phead h1{max-width:16ch;margin:18px 0 26px;}
.phead .lead{margin-bottom:40px;max-width:60ch;}
.aggs{display:flex;gap:54px;flex-wrap:wrap;border-top:1.5px solid var(--ink);padding-top:26px;}
.agg .n{font-family:'Archivo';font-weight:800;font-size:clamp(28px,3.4vw,40px);letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums lining-nums;}
.agg .l{font-size:13px;color:var(--muted);margin-top:9px;font-weight:600;}
.fbar{position:sticky;top:72px;z-index:40;background:rgba(247,246,241,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.fbar-in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;flex-wrap:wrap;}
.filters{display:flex;gap:8px;flex-wrap:wrap;}
.fbtn{font:inherit;font-size:13.5px;font-weight:700;color:var(--ink-soft);background:transparent;border:1.4px solid var(--line-2);border-radius:100px;padding:9px 16px;min-height:44px;cursor:pointer;transition:.2s;}
.fbtn:hover{border-color:var(--ink);}
.fbtn[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.count{font-size:13px;color:var(--muted);font-weight:600;white-space:nowrap;}
.work{padding:60px 0 96px;}
.wgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 30px;}
.wgrid .card{display:flex;flex-direction:column;}
.wgrid .poster{aspect-ratio:4/5;}
.wgrid a.card:hover .poster .scale{transform:scale(1.05);}
.wgrid .poster svg{right:-16%;top:-12%;width:64%;}
.wgrid .poster .pstat{position:absolute;top:22px;right:22px;font-size:11px;letter-spacing:.06em;color:rgba(255,255,255,.55);font-weight:600;z-index:2;}
.wgrid .poster .pname{font-size:clamp(26px,2.5vw,36px);line-height:.96;}
.wgrid .work-meta p{line-height:1.45;margin-bottom:13px;}
@media (max-width:1024px){.wgrid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:600px){.wgrid{grid-template-columns:1fr;}.phead{padding:48px 0 40px;}.aggs{gap:32px;}.fbar{top:110px;}}
/* canvas build: nav is sticky and always solid, no script-driven burger; links wrap on narrow screens */
header.nav{position:sticky;top:0;background:rgba(247,246,241,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);padding:14px 0;}
.crumb{padding:0;}
.burger,.mobile-menu{display:none!important;}
@media (max-width:860px){.nav-in{flex-wrap:wrap;gap:12px;}.nav-links{display:flex!important;flex-wrap:wrap;gap:8px 20px;}.nav-links .btn{min-height:44px;padding:10px 18px;}}
/* mobile brand line + nav spacing */
@media (max-width:860px){.brand small{font-size:8.5px;letter-spacing:.12em;white-space:nowrap}.nav-in{row-gap:10px}.nav-links{width:100%;justify-content:flex-start}.nav-links .btn{margin-left:auto}}
/* v3: SVG wordmark lockup */
.brand{flex-direction:row;align-items:center;gap:14px;line-height:1.25}
.brand .mark{display:block;height:38px;width:auto}
.brand small{white-space:nowrap;margin-top:0;padding-left:14px;border-left:1px solid rgba(16,20,15,.22);font-size:9px;letter-spacing:.16em;line-height:1.5}
footer .brand small{border-left-color:rgba(255,255,255,.28)}
footer .brand .mark{height:44px}
@media (max-width:860px){.brand .mark{height:30px}.brand small{font-size:8px;letter-spacing:.1em;white-space:normal;padding-left:10px}}

/* v4 corner system: 6 / 12 / 20 / pill, continuous curve where supported; rollover on cards */
.poster,.feature,.hero,.panel{transition:transform .45s cubic-bezier(.2,.6,.2,1),box-shadow .45s cubic-bezier(.2,.6,.2,1)}
.work-card:hover .poster,.card:hover .poster{transform:translateY(-6px);box-shadow:0 22px 44px -18px rgba(14,7,22,.45)}
.work-card .tlink .arr,.card .tlink .arr,.note-card .tlink .arr{display:inline-block;transition:transform .35s cubic-bezier(.2,.6,.2,1)}
.work-card:hover .tlink .arr,.card:hover .tlink .arr{transform:translateX(4px)}
.btn{transition:transform .3s cubic-bezier(.2,.6,.2,1),background .25s,color .25s,border-color .25s}
.btn:hover{transform:translateY(-1px)}
@media (prefers-reduced-motion: reduce){.work-card:hover .poster,.card:hover .poster,.btn:hover{transform:none}}

/* v5: full-viewport sections, content centred; normal scroll; off on mobile */
.vp{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}
.vp>.wrap{width:100%}
@media (max-width:860px){.vp{min-height:0}}

/* build additions */
/* hamburger + mobile nav */
.burger{display:none;width:44px;height:44px;border:0;background:none;padding:10px;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;margin-left:auto}
.burger span{display:block;height:2px;background:#10140F;border-radius:2px;transition:transform .3s,opacity .3s}
header.nav.open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
header.nav.open .burger span:nth-child(2){opacity:0}
header.nav.open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:860px){
  .nav-in{flex-wrap:nowrap}
  .burger{display:flex!important}
  .nav-links{display:none!important;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 22px 22px;background:rgba(247,246,241,.98);border-bottom:1px solid #E2E0D6;box-shadow:0 18px 40px -24px rgba(14,7,22,.35)}
  header.nav.open .nav-links{display:flex!important}
  .nav-links a.lk{font-size:18px;padding:10px 0}
  .nav-links .btn{margin-top:10px}
}
/* skip link */
.skip{position:absolute;left:-9999px;top:0;background:#3F076E;color:#fff;padding:10px 14px;z-index:1000}
.skip:focus{left:12px;top:12px}
/* images never overflow */
img{max-width:100%}
/* mobile: scope line wraps, full-viewport sections relax, hero stays */
.chips{display:flex!important;flex-wrap:wrap;gap:4px 0}
.chips .chip2{white-space:normal!important}
@media (max-width:860px){
  .vp,.hm main>section.pad,.hm .cta,.hm .vh,.hm .vh-tall,.ab .ab-hero.vp{min-height:0!important}
  .hero-in{min-height:0!important}
  .hero{aspect-ratio:4/5}
  .gal2-head .gal-nav:only-child{display:none}
}
.idgrid>*,.idstack>*,.cols>*,.get-grid>*,.rs-head>*,.tl-head>*{min-width:0}
.gal2,.gal{min-width:0}
@media (max-width:1024px){.idgrid,.idstack{grid-template-columns:minmax(0,1fr)}}

.dispatch-msg{margin:12px 0 0;font-size:13.5px;line-height:1.5;color:rgba(247,246,241,.85)}

/* typography: balanced headlines, no short last lines, mobile hero names on one line */
h1,h2,h3,blockquote{text-wrap:balance}
p,li,figcaption,dd,dt{text-wrap:pretty}
.get-note{max-width:70ch}
@media (max-width:860px){.hero h1{font-size:clamp(34px,9.2vw,54px)}}
@media (max-width:480px){.ab .ab-hero h1.display{font-size:clamp(30px,8.6vw,38px)!important;max-width:none!important}}
