/* Layout: a paper masthead over a full-bleed cloth film, then a cutting-table page —
   white and chalk-grey work surfaces, one pattern-card section, one chalkboard-navy
   section and one wine section — set on a 1240px measure with 16–48px gutters. */
:root{
  --white:#FFFFFF; --chalk:#EDEFF2; --ink:#0D1423; --navy:#16213B;
  --burgundy:#7A1320; --claret:#C22A37; --wine:#560E19;
  --card:#E2D6B8; --tape:#E6D7A0; --bone:#E9E6DE;
  --text:#141A29; --mute:#5A6172; --mute-d:#A9AFBC;
  --rule:rgba(13,20,35,.14); --rule-d:rgba(233,230,222,.2);
  --f-display:"Libre Caslon Display","Libre Caslon Text",Baskerville,"Times New Roman",serif;
  --f-serif:"Libre Caslon Text",Baskerville,Georgia,serif;
  --f-sans:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;
  --f-mono:"DM Mono",ui-monospace,Menlo,Consolas,monospace;
  --ease:cubic-bezier(.2,.7,.2,1); --ease-io:cubic-bezier(.7,0,.2,1);
  --gut:clamp(16px,4vw,48px); --sec:clamp(72px,9vw,136px);
  --hero-h:clamp(520px,calc(100vh - 214px),740px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--text);font:400 1rem/1.6 var(--f-sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--claret);outline-offset:3px}
.wrap{width:min(1240px,100%);margin-inline:auto;padding-inline:var(--gut)}
.sec{padding-block:var(--sec)}
.skip{position:absolute;left:var(--gut);top:-60px;z-index:120;background:var(--ink);color:var(--bone);padding:10px 14px}
.skip:focus{top:8px}

/* ---------- type */
.eyebrow{font:500 .75rem/1.3 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy)}
.h2{font:400 clamp(2rem,3.7vw,3.3rem)/1.08 var(--f-display);letter-spacing:.01em;text-wrap:balance}
.h3{font:400 clamp(1.3rem,1.7vw,1.6rem)/1.15 var(--f-display);letter-spacing:.06em;text-transform:uppercase}
.lede{font:400 clamp(1.05rem,1.3vw,1.2rem)/1.6 var(--f-sans);color:var(--mute);max-width:58ch}
.ital{font-family:var(--f-serif);font-style:italic}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.sec-head{display:grid;gap:18px;max-width:780px}

/* ---------- buttons */
.btn{display:inline-flex;align-items:center;gap:14px;padding:17px 26px;background:var(--burgundy);color:var(--white);
  font:600 .78rem/1 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;transition:background .35s var(--ease)}
.btn svg{width:18px;height:10px;transition:transform .45s var(--ease)}
.btn:hover{background:var(--wine)}
.btn:hover svg{transform:translateX(6px)}
.btn--light{background:var(--bone);color:var(--ink)}
.btn--light:hover{background:var(--white)}
.btn--claret{background:var(--claret)}
.btn--claret:hover{background:var(--burgundy)}
.link{display:inline-flex;align-items:center;gap:12px;font:600 .78rem/1 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;
  padding-block:8px;border-bottom:1px solid currentColor}
.link svg{width:18px;height:10px;transition:transform .45s var(--ease)}
.link:hover svg{transform:translateX(6px)}

/* ---------- loader */
.loader{position:fixed;inset:0;z-index:200;background:var(--white);display:grid;place-items:center;
  animation:loader-out .9s 2.05s var(--ease-io) forwards}
.loader-in{display:grid;justify-items:center;gap:22px;padding:24px}
.loader img{width:min(230px,56vw);height:auto;opacity:0;animation:fade 1s .1s var(--ease) forwards}
.loader p{font:500 .72rem/1.9 var(--f-sans);letter-spacing:.34em;text-transform:uppercase;text-align:center;color:var(--text);
  opacity:0;animation:fade .8s .5s var(--ease) forwards}
.loader-bar{width:150px;height:1px;background:var(--rule);overflow:hidden}
.loader-bar i{display:block;height:100%;background:var(--burgundy);transform:scaleX(0);transform-origin:left;
  animation:grow 1.55s .35s var(--ease-io) forwards}
@keyframes loader-out{to{transform:translateY(-100%);visibility:hidden}}
@keyframes fade{to{opacity:1}}
@keyframes grow{to{transform:scaleX(1)}}

/* ---------- utility strip + masthead */
.util{background:var(--ink);color:var(--bone);font:400 .78rem/1.3 var(--f-sans);letter-spacing:.04em}
.util .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;padding-block:9px}
.util a:hover{color:var(--white);text-decoration:underline;text-underline-offset:3px}
.util-r{display:flex;gap:22px}
.mast{background:var(--white);border-bottom:1px solid var(--rule)}
.mast .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding-block:14px}
.mast-logo img{height:108px;width:auto}
.nav{display:flex;gap:clamp(18px,2.6vw,38px);align-items:center}
.nav--r{justify-content:flex-end}
.nav a:not(.btn){position:relative;font:500 .74rem/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;padding-block:10px;white-space:nowrap}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--burgundy);
  transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.nav a:not(.btn):hover::after{transform:scaleX(1)}
.nav .btn{padding:14px 20px}
.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center}
.burger span{display:block;width:24px;height:1px;background:var(--text);box-shadow:0 7px 0 var(--text),0 -7px 0 var(--text)}
.mast-book{display:none}

.bar{position:fixed;left:0;right:0;top:0;z-index:90;background:var(--white);border-bottom:1px solid var(--rule);
  padding-top:env(safe-area-inset-top,0px);transform:translateY(-102%);transition:transform .6s var(--ease)}
.bar.on{transform:none}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:8px}
.bar img{height:52px;width:auto}

.menu{position:fixed;inset:0;z-index:150;background:var(--white);display:grid;align-content:center;justify-items:center;gap:30px;
  padding:calc(24px + env(safe-area-inset-top,0px)) var(--gut) 24px;visibility:hidden;opacity:0;transition:opacity .4s var(--ease),visibility .4s}
.menu.open{visibility:visible;opacity:1}
.menu a{font:400 1.7rem/1.1 var(--f-display);letter-spacing:.08em;text-transform:uppercase}
.menu .btn{font:600 .78rem/1 var(--f-sans);letter-spacing:.18em;margin-top:8px}
.menu-x{position:absolute;right:var(--gut);top:calc(16px + env(safe-area-inset-top,0px));font:500 .74rem/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;padding:14px 0}

/* ---------- hero */
.hero{position:relative;height:var(--hero-h);background:var(--ink);color:var(--bone);overflow:hidden;--dur:8500ms}
.slide{position:absolute;inset:0;visibility:hidden;opacity:0;background:var(--ink)}
.slide.is-active{visibility:visible;opacity:1;z-index:2}
.slide.is-prev{visibility:visible;opacity:1;z-index:1}
.slide.wipe{animation:wipe 1.35s var(--ease-io) both}
@keyframes wipe{from{clip-path:polygon(112% 0,112% 0,112% 100%,100% 100%)}to{clip-path:polygon(0 0,112% 0,112% 100%,-12% 100%)}}
.wipe-edge{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;
  background:linear-gradient(99deg,transparent 0,rgba(5,9,18,.5) 2.5%,rgba(255,255,255,.07) 5.5%,transparent 10%)}
.wipe-edge.run{animation:wipe-edge 1.35s var(--ease-io) both}
@keyframes wipe-edge{0%{transform:translateX(100%);opacity:1}92%{opacity:1}100%{transform:translateX(-12%);opacity:0}}

.stage{position:absolute;top:50%;right:0;width:max(100%,calc(var(--hero-h) * 16 / 9));aspect-ratio:16/9;max-width:none;transform:translateY(-50%)}
.cam{position:absolute;inset:0;transform-origin:70% 50%}
.plate{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.fx{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(9,14,26,.94) 0,rgba(9,14,26,.82) 26%,rgba(9,14,26,.34) 54%,rgba(9,14,26,0) 76%),
             linear-gradient(0deg,rgba(9,14,26,.55) 0,rgba(9,14,26,0) 26%)}
.copy{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:22px;padding-bottom:56px}
.copy .eyebrow{color:var(--bone);opacity:.8}
.hero-h{font:400 clamp(2.5rem,5.5vw,5.1rem)/1.02 var(--f-display);letter-spacing:.025em;text-transform:uppercase}
.hero-h .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero-h .ln>span{display:block}
.hero-h .sm{font-size:.42em;letter-spacing:.2em;line-height:1.5;margin-top:.5em;max-width:none;white-space:nowrap}
.hero-rule{width:132px;height:2px;background:var(--claret);transform-origin:left}
.hero-sub{font:italic 400 clamp(1.1rem,1.5vw,1.35rem)/1.5 var(--f-serif);color:var(--bone);max-width:30ch}
.copy .btn{margin-top:8px}
.copy .link{margin-top:8px;color:var(--bone)}

.js .copy>*{opacity:0}
.js .hero-h{opacity:1}
.js .hero-h .ln>span{transform:translateY(108%)}
.js .hero-rule{opacity:1;transform:scaleX(0)}
.is-ready .slide.is-active .copy>*{animation:rise 1s var(--ease) both;animation-delay:calc(var(--t,0s) + var(--o,0s))}
.is-ready .slide.is-active .hero-h{animation:none}
.is-ready .slide.is-active .hero-h .ln>span{animation:line-up 1.15s var(--ease) both;animation-delay:calc(var(--t,0s) + .15s + var(--k,0) * .13s)}
.is-ready .slide.is-active .hero-rule{animation:grow 1.1s var(--ease-io) both;animation-delay:calc(var(--t,0s) + .75s)}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes line-up{from{transform:translateY(108%)}to{transform:none}}

/* slide 1 — the photograph */
.photo{position:absolute;top:0;bottom:0;right:0;width:47%;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40%);mask-image:linear-gradient(90deg,transparent 0,#000 40%)}
.photo img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 8%;transform-origin:36% 36%;--z:1.5}
.is-ready .slide.is-active .photo img{animation:fit-zoom 9.5s var(--ease) both}
@keyframes fit-zoom{from{transform:scale(var(--z)) translate(2%,3%)}to{transform:scale(1.03)}}
.glow{position:absolute;inset:0;background:radial-gradient(60% 80% at 78% 40%,rgba(40,62,112,.5),rgba(13,20,35,0) 70%)}

/* slide 2 — the craft */
.is-ready .slide.is-active .cam-craft{animation:cam-craft 10.5s linear both}
@keyframes cam-craft{from{transform:scale(1.09) translate(1.6%,-1.2%)}to{transform:scale(1.01)}}
.is-ready .slide.is-active .stitch{animation:stitch 6.6s .35s linear both}
@keyframes stitch{
  from{clip-path:polygon(100.1% 192.5%,8.2% -32.1%,-97.1% 104%,-5.2% 328.6%)}
  to{clip-path:polygon(145.6% 133.7%,53.7% -91%,-51.6% 45.2%,40.3% 269.8%)}}
.needle{opacity:0}
.is-ready .slide.is-active .needle{animation:needle 6.6s .35s linear both}
@keyframes needle{0%{transform:translate(1040px,866px);opacity:0}5%{opacity:1}96%{opacity:1}100%{transform:translate(1913.5px,230.9px);opacity:0}}
.is-ready .slide.is-active .needle-bob{animation:bob .733s ease-in-out infinite alternate}
@keyframes bob{from{transform:rotate(-2.6deg)}to{transform:rotate(1.2deg)}}

/* slide 3 — measured */
.is-ready .slide.is-active .cam-measure{animation:cam-measure 10s linear both}
@keyframes cam-measure{from{transform:scale(1.07) translateX(-1.4%)}to{transform:scale(1.07) translateX(1.4%)}}
.tape{position:absolute;left:-6%;top:-6%;width:112%;height:112%;max-width:none}
.is-ready .slide.is-active .tape{animation:tape 10s var(--ease) both}
@keyframes tape{from{transform:translate(-5.2%,3.4%)}to{transform:translate(1.6%,-1.05%)}}
.dim{fill:none;stroke:var(--bone);stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:0;opacity:.85}
.dim-t{font:400 15px var(--f-mono);letter-spacing:.3em;fill:var(--bone);opacity:.85}
.is-ready .slide.is-active .dim{animation:draw 2.2s 1.1s var(--ease-io) both}
.is-ready .slide.is-active .dim-t{animation:fade-in .9s 2.6s var(--ease) both}
@keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes fade-in{from{opacity:0}to{opacity:.85}}

/* slide 4 — bespoke */
.is-ready .slide.is-active .cam-bespoke{animation:cam-bespoke 10s linear both}
@keyframes cam-bespoke{from{transform:scale(1.08) translateX(2.2%)}to{transform:scale(1.08) translateX(-2.2%)}}
.bunch{position:absolute;right:10%;top:17%;width:12.5%;aspect-ratio:3/4.4}
.bunch span{position:absolute;inset:0;background-size:240%;background-position:40% 40%;transform-origin:50% 4%;transform:rotate(var(--r));
  box-shadow:0 18px 30px rgba(0,0,0,.5);
  -webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/5.5% 100%;
          mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/5.5% 100%}
.bunch span::after{content:"";position:absolute;left:0;right:0;top:0;height:13%;background:var(--bone)}
.bunch i{position:absolute;left:50%;top:2.6%;width:5%;aspect-ratio:1;border-radius:50%;background:#8a8f99;transform:translateX(-50%);z-index:2;box-shadow:inset 0 -1px 2px rgba(0,0,0,.5)}
.is-ready .slide.is-active .bunch span{animation:sway 5.5s ease-in-out infinite alternate;animation-delay:var(--sd)}
@keyframes sway{from{transform:rotate(calc(var(--r) - 1.6deg))}to{transform:rotate(calc(var(--r) + 1.6deg))}}
.light{position:absolute;inset:0;mix-blend-mode:soft-light;opacity:.9;
  background:linear-gradient(105deg,transparent 30%,rgba(255,244,224,.34) 48%,transparent 66%);transform:translateX(-40%)}
.is-ready .slide.is-active .light{animation:light 10s linear both}
@keyframes light{from{transform:translateX(-40%)}to{transform:translateX(40%)}}

/* hero navigation */
.hero-nav{position:absolute;left:0;right:0;bottom:0;z-index:4;pointer-events:none}
.hero-nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:22px}
.ticks{display:flex;gap:clamp(14px,2.4vw,30px);pointer-events:auto}
.tick{display:flex;align-items:center;gap:12px;padding-block:12px;font:400 .78rem/1 var(--f-mono);letter-spacing:.08em;color:var(--bone);opacity:.6;transition:opacity .4s}
.tick:hover,.tick.is-active{opacity:1}
.trk{display:block;width:clamp(28px,5vw,72px);height:2px;background:rgba(233,230,222,.28);overflow:hidden}
.trk i{display:block;height:100%;background:var(--claret);transform:scaleX(0);transform-origin:left}
.is-ready .tick.is-active .trk i{animation:prog var(--dur) linear forwards}
.hero.is-paused .tick.is-active .trk i,.hero.is-off .tick.is-active .trk i{animation-play-state:paused}
@media (hover:hover){.hero:hover .tick.is-active .trk i{animation-play-state:paused}}
@keyframes prog{to{transform:scaleX(1)}}
.pause{pointer-events:auto;font:500 .7rem/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--bone);opacity:.7;padding:12px 0}
.pause:hover{opacity:1}

/* ---------- statement */
.statement{background:var(--white)}
.statement .wrap{display:grid;gap:clamp(28px,4vw,52px)}
.state-h{font:400 clamp(1.9rem,4.3vw,3.9rem)/1.08 var(--f-display);letter-spacing:.02em;text-transform:uppercase;text-wrap:balance}
.state-h em{display:block;font-style:normal;color:var(--burgundy)}
.ruler{position:relative;height:58px;overflow:hidden}
.ruler-in{position:absolute;inset:0;border-top:1px solid var(--text);
  background:
   repeating-linear-gradient(90deg,var(--text) 0 1px,transparent 1px 96px) 0 0/100% 22px no-repeat,
   repeating-linear-gradient(90deg,var(--text) 0 1px,transparent 1px 48px) 0 0/100% 15px no-repeat,
   repeating-linear-gradient(90deg,var(--mute) 0 1px,transparent 1px 12px) 0 0/100% 8px no-repeat}
.ruler-n{position:absolute;left:0;top:28px;display:flex}
.ruler-n span{flex:0 0 96px;font:400 .72rem/1 var(--f-mono);color:var(--mute);padding-left:5px}
.ruler-n span:nth-child(12n){color:var(--burgundy)}
.js .ruler-in,.js .ruler-n{clip-path:inset(0 100% 0 0);transition:clip-path 2.2s var(--ease-io)}
.js .ruler.in .ruler-in,.js .ruler.in .ruler-n{clip-path:inset(0)}
.craft{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.craft li{font:400 clamp(.95rem,1.5vw,1.3rem)/1 var(--f-display);letter-spacing:.2em;text-transform:uppercase;padding-top:16px;border-top:1px solid var(--rule);position:relative}
.craft li::before{content:"";position:absolute;left:0;top:-1px;width:28px;height:1px;background:var(--burgundy)}
.craft .mono{display:block;font-size:.7rem;letter-spacing:.1em;color:var(--mute);margin-bottom:12px}
.state-foot{display:grid;grid-template-columns:1fr auto;gap:24px 48px;align-items:end}

/* ---------- services */
.services{background:var(--chalk);--cover:var(--chalk)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.6vw,36px);margin-top:clamp(40px,5vw,72px)}
.svc{display:grid;gap:22px;align-content:start;color:var(--text)}
.svc:nth-child(2){margin-top:clamp(0px,5vw,64px)}
.svc-img{overflow:hidden;aspect-ratio:4/5;background:var(--navy)}
.svc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.svc h3{transition:transform .6s var(--ease)}
.svc p{color:var(--mute);max-width:36ch;opacity:.86;transition:opacity .5s var(--ease)}
.svc-more{display:flex;align-items:center;gap:14px;font:600 .74rem/1 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--burgundy)}
.svc-more i{display:block;width:56px;height:1px;background:var(--burgundy);transform:scaleX(.4);transform-origin:left;transition:transform .6s var(--ease)}
.svc-more svg{width:18px;height:10px;transition:transform .6s var(--ease)}
.svc-more span{transition:transform .6s var(--ease)}
.svc-more span,.svc-more svg{transform:translateX(-34px)}
.svc:hover .svc-img img,.svc:focus-visible .svc-img img{transform:scale(1.05)}
.svc:hover h3,.svc:focus-visible h3{transform:translateX(7px)}
.svc:hover p,.svc:focus-visible p{opacity:1}
.svc:hover .svc-more i,.svc:focus-visible .svc-more i{transform:scaleX(1)}
.svc:hover .svc-more span,.svc:focus-visible .svc-more span{transform:none}
.svc:hover .svc-more svg,.svc:focus-visible .svc-more svg{transform:translateX(7px)}
.svc-body{display:grid;gap:12px}
.readymade{margin-top:clamp(36px,4vw,56px);padding-top:22px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:8px 24px;align-items:baseline;color:var(--mute)}
.readymade strong{font:400 1.05rem/1.2 var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--text)}

/* ---------- cloth / bespoke */
.cloth{background:var(--white);overflow:hidden}
.cloth .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}
.jacket{position:relative}
.jacket svg{width:100%;height:auto;overflow:visible}
.jk-cloth{filter:drop-shadow(0 26px 30px rgba(13,20,35,.26))}
.jk-b{opacity:0}
.jacket.swap .jk-b{opacity:1;transition:opacity .75s var(--ease)}
.jk-seams{fill:none;stroke:#000;stroke-opacity:.42;stroke-width:1.3;stroke-linejoin:round}
.jk-draw{fill:none;stroke:var(--burgundy);stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round;opacity:0}
.js .jacket .jk-cloth{opacity:0}
.js .jacket.in .jk-draw{animation:jk-draw 2.6s var(--ease-io) both}
.js .jacket.in .jk-cloth{animation:fade 1.2s 1.7s var(--ease) forwards}
@keyframes jk-draw{0%{stroke-dasharray:1;stroke-dashoffset:1;opacity:1}70%{stroke-dashoffset:0;opacity:1}100%{stroke-dasharray:1;stroke-dashoffset:0;opacity:0}}
.js .jk-btn{transform-box:fill-box;transform-origin:center;transform:scale(0)}
.js .jacket.in .jk-btn{animation:pop .7s var(--ease) forwards;animation-delay:calc(2.5s + var(--b,0) * .09s)}
@keyframes pop{from{transform:scale(0) translateY(-10px)}to{transform:scale(1)}}
.jk-note{position:absolute;left:0;bottom:0;font:400 .72rem/1.5 var(--f-mono);color:var(--mute);letter-spacing:.04em}
.cloth-copy{display:grid;gap:26px}
.pick{display:grid;grid-template-columns:132px minmax(0,1fr);gap:22px;align-items:start;padding-block:24px;border-block:1px solid var(--rule)}
.pick-macro{aspect-ratio:1;overflow:hidden;background:var(--navy)}
.pick-macro img{width:100%;height:100%;object-fit:cover;transform:scale(1.5);animation:drift 16s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1.5) translate(-5%,-4%)}to{transform:scale(1.5) translate(5%,4%)}}
.pick-txt{display:grid;gap:10px;min-height:132px;align-content:start}
.pick-txt p{color:var(--mute)}
.pick-txt.chg>*{animation:rise .6s var(--ease) both}
.pick-txt.chg>p{animation-delay:.08s}
.swatches{display:flex;flex-wrap:wrap;gap:14px 18px}
.sw{display:grid;gap:10px;justify-items:start;font:500 .68rem/1 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.sw-chip{display:block;width:66px;height:66px;background-size:260%;background-position:45% 45%;transition:transform .5s var(--ease);position:relative}
.sw-chip::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--burgundy);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.sw:hover .sw-chip{transform:scale(1.08)}
.sw[aria-pressed="true"]{color:var(--text)}
.sw[aria-pressed="true"] .sw-chip{transform:scale(1.08)}
.sw[aria-pressed="true"] .sw-chip::after{transform:scaleX(1)}
.cloth-cta{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center}
.fine{font-size:.82rem;color:var(--mute)}

/* ---------- process */
.process{background:var(--card);position:relative;overflow:hidden}
.blueprint{position:absolute;right:-4%;top:50%;width:min(1100px,96%);height:auto;transform:translateY(-50%);opacity:.5;pointer-events:none}
.blueprint *{fill:none;stroke:var(--burgundy);stroke-width:1;stroke-opacity:.2}
.blueprint text{fill:var(--burgundy);fill-opacity:.3;stroke:none;font:400 10px var(--f-mono);letter-spacing:.12em}
.blueprint .dash{stroke-dasharray:5 5}
.process .wrap{position:relative}
.steps{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(16px,2.2vw,32px);margin-top:clamp(44px,6vw,84px)}
.stitchline{position:absolute;left:0;right:0;top:35px;height:2px;
  background:repeating-linear-gradient(90deg,var(--burgundy) 0 11px,transparent 11px 19px)}
.stitchline::after{content:"";position:absolute;inset:-2px 0;background:var(--card);transform-origin:100% 50%;transform:scaleX(0)}
.js .stitchline::after{transform:scaleX(1)}
.js .steps.in .stitchline::after{animation:sew 2.8s .2s steps(54) forwards}
@keyframes sew{to{transform:scaleX(0)}}
.step{display:grid;gap:14px;align-content:start;position:relative}
.step-n{position:relative;width:72px;height:72px;display:grid;place-items:center;background:var(--card);font:400 1.05rem/1 var(--f-mono);color:var(--burgundy)}
.step-n svg{position:absolute;inset:0;width:100%;height:100%}
.step-n circle{fill:none;stroke:var(--burgundy);stroke-width:5;stroke-dasharray:1 4}
.step-n .ring{stroke-width:1;stroke-dasharray:none;stroke-opacity:.5}
.js .step-n svg{transform:rotate(-90deg) scale(.86);opacity:0;transition:transform 1.2s var(--ease),opacity .8s var(--ease);transition-delay:calc(.25s + var(--i,0) * .16s)}
.js .steps.in .step-n svg{transform:none;opacity:1}
.step p{color:#4a4335;max-width:30ch;font-size:.96rem}

/* ---------- alterations */
.alter{background:var(--ink);color:var(--bone)}
.alter .eyebrow{color:var(--claret)}
.alter .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.board{position:sticky;top:112px}
.board svg{width:100%;height:auto;overflow:visible}
.ck{fill:none;stroke:var(--bone);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.js .ck{stroke-dasharray:1;stroke-dashoffset:1}
.js .board.in .ck{animation:draw 3s var(--ease-io) forwards}
.js .board.in .ck--2{animation-delay:.9s}
.mk{fill:none;stroke:var(--bone);stroke-width:1.5;stroke-linecap:round;opacity:.55;transition:opacity .4s,stroke .4s}
.mk-d{stroke-dasharray:6 6}
.mk text{fill:var(--bone);stroke:none;font:400 18px var(--f-mono);letter-spacing:.1em;transition:fill .4s}
.js .mk{opacity:0}
.js .board.in .mk{opacity:.55;transition:opacity .9s 2.6s var(--ease),stroke .4s}
.board .mk.hot{opacity:1!important;stroke:var(--claret);transition:opacity .3s,stroke .3s}
.board .mk.hot text{fill:var(--bone)}
.alter-copy{display:grid;gap:28px}
.alter-copy .lede{color:var(--mute-d)}
.alist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px clamp(20px,3vw,44px)}
.agroup{display:grid;gap:12px;align-content:start;padding-top:16px;border-top:1px solid var(--rule-d);transition:border-color .4s}
.agroup:hover,.agroup:focus-within{border-color:var(--claret)}
.agroup h3{font:400 1.02rem/1.2 var(--f-display);letter-spacing:.14em;text-transform:uppercase}
.agroup ul{display:grid;gap:6px;color:var(--mute-d);font-size:.95rem}

/* ---------- details */
.details{background:var(--white)}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2.2vw,30px);margin-top:clamp(40px,5vw,72px)}
.tile{display:grid;gap:14px;text-align:left;align-content:start;width:100%}
.tile:nth-child(3n+2){margin-top:clamp(0px,5vw,64px)}
.tile-img{overflow:hidden;aspect-ratio:4/5;background:var(--navy);display:block}
.tile-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.tile:hover .tile-img img,.tile:focus-visible .tile-img img{transform:scale(1.05)}
.tile-cap{display:flex;justify-content:space-between;gap:12px;align-items:baseline;border-top:1px solid var(--rule);padding-top:12px}
.tile-cap b{font:400 1rem/1.2 var(--f-display);letter-spacing:.12em;text-transform:uppercase}
.tile-cap span{font:400 .72rem/1 var(--f-mono);color:var(--mute);white-space:nowrap}
.tile-txt{color:var(--mute);font-size:.94rem;max-width:34ch}

.lightbox{position:fixed;inset:0;z-index:160;background:rgba(9,14,26,.94);display:grid;place-items:center;padding:calc(20px + env(safe-area-inset-top,0px)) var(--gut) 20px;
  visibility:hidden;opacity:0;transition:opacity .45s var(--ease),visibility .45s}
.lightbox.open{visibility:visible;opacity:1}
.lightbox figure{display:grid;gap:16px;justify-items:center;max-height:100%}
.lightbox img{max-height:calc(100vh - 150px);width:auto;transform:scale(.97);transition:transform .7s var(--ease)}
.lightbox.open img{transform:none}
.lightbox figcaption{color:var(--bone);font:400 1rem/1.2 var(--f-display);letter-spacing:.14em;text-transform:uppercase;text-align:center}
.lightbox-x{position:absolute;right:var(--gut);top:calc(14px + env(safe-area-inset-top,0px));color:var(--bone);font:500 .74rem/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;padding:14px 0}

/* ---------- ladies */
.ladies{background:var(--chalk);--cover:var(--chalk)}
.ladies .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,6vw,96px);align-items:center}
.ladies-img{overflow:hidden;aspect-ratio:4/5;background:#cfc6b4}
.ladies-img img{width:100%;height:112%;max-width:none;object-fit:cover}
.ladies-copy{display:grid;gap:24px;justify-items:start}
.ladies-list{display:grid;gap:0;width:100%;max-width:460px}
.ladies-list li{display:flex;justify-content:space-between;gap:16px;padding-block:15px;border-top:1px solid var(--rule);font:400 1.1rem/1.2 var(--f-display);letter-spacing:.1em;text-transform:uppercase}
.ladies-list li:last-child{border-bottom:1px solid var(--rule)}
.ladies-list span{font:400 .72rem/1.6 var(--f-mono);color:var(--mute);letter-spacing:.04em;text-transform:none}

/* ---------- visit */
.visit{background:var(--wine);color:var(--bone)}
.visit .eyebrow{color:var(--tape)}
.visit .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:start}
.visit-info{display:grid;gap:28px}
.facts{display:grid;gap:0}
.fact{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;padding-block:16px;border-top:1px solid var(--rule-d);align-items:baseline}
.fact:last-child{border-bottom:1px solid var(--rule-d)}
.fact dt{font:500 .7rem/1.4 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--tape)}
.fact dd{margin:0;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;font-size:1.05rem;overflow-wrap:anywhere}
.fact a{text-decoration:underline;text-decoration-color:rgba(233,230,222,.4);text-underline-offset:4px}
.fact a:hover{text-decoration-color:var(--bone)}
.copy-btn{font:500 .66rem/1 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--tape);border:1px solid rgba(230,215,160,.4);padding:6px 9px;transition:background .3s,color .3s}
.copy-btn:hover{background:var(--tape);color:var(--wine)}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;background:rgba(0,0,0,.16);padding:clamp(20px,3vw,40px)}
.form h3{grid-column:1/-1}
.field{display:grid;gap:8px}
.field--full{grid-column:1/-1}
.field label{font:500 .7rem/1.2 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--tape)}
.field input,.field select,.field textarea{width:100%;min-width:0;font:400 1rem/1.4 var(--f-sans);color:var(--bone);background:transparent;border:0;border-bottom:1px solid rgba(233,230,222,.45);
  padding:10px 0;border-radius:0;color-scheme:dark;transition:border-color .3s}
.field select option{color:var(--text);background:var(--white)}
.field textarea{resize:vertical;min-height:84px}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-bottom-color:var(--tape)}
.field input::placeholder,.field textarea::placeholder{color:rgba(233,230,222,.45)}
.form-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center}
.form-note{grid-column:1/-1;border:1px solid rgba(230,215,160,.5);padding:14px 16px;font-size:.95rem}
.form-err{grid-column:1/-1;color:var(--tape);font-size:.92rem}

/* ---------- footer */
.foot{background:var(--white);padding-block:clamp(48px,6vw,88px) 28px}
.foot-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(28px,6vw,96px);align-items:center;padding-bottom:clamp(36px,5vw,64px)}
.foot-top img{width:clamp(150px,16vw,210px);height:auto}
.foot-line{font:400 clamp(1.3rem,2.6vw,2.2rem)/1.2 var(--f-display);letter-spacing:.06em;text-transform:uppercase;max-width:24ch;text-wrap:balance}
.foot-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px;padding-block:32px;border-top:1px solid var(--rule)}
.foot-cols h4{margin:0 0 14px;font:500 .7rem/1.2 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy)}
.foot-cols li{padding-block:4px;color:var(--mute);overflow-wrap:anywhere}
.foot-cols a:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:20px;border-top:1px solid var(--rule);font-size:.8rem;color:var(--mute)}

/* ---------- reveals */
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:calc(var(--i,0) * 110ms)}
.js [data-reveal].in{opacity:1;transform:none}
.js [data-reveal="img"]{opacity:1;position:relative;transform:scale(.97);transition:transform 1s var(--ease-io);transition-delay:calc(var(--i,0) * 130ms)}
.js [data-reveal="img"]::after{content:"";position:absolute;inset:-2px;background:var(--cover,var(--white));transform-origin:50% 0;transition:transform 1s var(--ease-io);transition-delay:inherit}
.js [data-reveal="img"].in{transform:none}
.js [data-reveal="img"].in::after{transform:scaleY(0)}
.js [data-reveal="hold"]{opacity:1;transform:none}

/* ---------- cursor */
.cursor{position:fixed;left:0;top:0;z-index:180;pointer-events:none;width:0;height:0;display:none}
.cursor i{position:absolute;left:0;top:0;width:86px;height:86px;margin:-43px 0 0 -43px;border-radius:50%;background:var(--bone);color:var(--ink);
  display:grid;place-items:center;font:600 .62rem/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;font-style:normal;
  transform:scale(0);transition:transform .45s var(--ease),background .3s}
.cursor.view i,.cursor.explore i{transform:scale(1)}
.cursor.arrow i{transform:translate(26px,26px) scale(.4);background:var(--claret);color:#fff;font-size:1.7rem;letter-spacing:0}
@media (hover:hover) and (pointer:fine){.cursor.live{display:block}}

/* ---------- tablet */
@media (max-width:1040px){
  .nav a:not(.btn){letter-spacing:.14em}
  .mast-logo img{height:92px}
  .steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:40px}
  .stitchline{display:none}
  .alter .wrap,.visit .wrap{grid-template-columns:minmax(0,1fr)}
  .board{max-width:560px;position:relative;top:auto}
}
@media (max-width:860px){
  :root{--hero-h:clamp(540px,calc(100svh - 150px),680px)}
  .util-r{display:none}
  .util .wrap{justify-content:center;text-align:center}
  .mast .wrap{padding-block:10px}
  .mast .nav{display:none}
  .burger{display:flex}
  .mast-book{display:block;justify-self:end;font:600 .72rem/1 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--burgundy);padding:14px 0}
  .mast-logo img{height:78px}
  .bar .nav a:not(.btn){display:none}
  .bar img{height:46px}
  .scrim{background:linear-gradient(0deg,rgba(9,14,26,.95) 0,rgba(9,14,26,.82) 38%,rgba(9,14,26,.2) 70%,rgba(9,14,26,.1) 100%)}
  .copy{justify-content:flex-end;padding-bottom:92px;gap:16px}
  .hero-h .sm{white-space:normal}
  .photo{width:100vw;-webkit-mask-image:none;mask-image:none}
  .photo img{--z:1.2}
  .bunch{right:7%;top:9%;width:15%}
  .is-ready .slide.is-active .cam{animation:none;transform:scale(1.03)}
  .light{display:none}
  .pause{display:none}
  .craft{grid-template-columns:minmax(0,1fr);gap:0}
  .craft li{display:flex;gap:18px;align-items:baseline;padding-block:15px}
  .craft .mono{margin:0}
  .state-foot{grid-template-columns:1fr}
  .state-foot .link{justify-self:start}
  .svc-grid{grid-template-columns:minmax(0,1fr);gap:44px}
  .svc:nth-child(2){margin-top:0}
  .svc-img{aspect-ratio:5/4}
  .cloth .wrap,.ladies .wrap{grid-template-columns:minmax(0,1fr)}
  .jacket{max-width:440px;margin-inline:auto;width:100%}
  .steps{grid-template-columns:minmax(0,1fr);row-gap:30px}
  .step{grid-template-columns:72px minmax(0,1fr);column-gap:18px}
  .step-n{grid-row:1/3}
  .step p{grid-column:2;max-width:none}
  .blueprint{width:170%;right:-60%;opacity:.4}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile:nth-child(3n+2){margin-top:0}
  .tile:nth-child(2n){margin-top:32px}
  .tile-txt{display:none}
  .tile-cap{flex-direction:column;gap:6px}
  .foot-top{grid-template-columns:minmax(0,1fr);justify-items:start}
  .foot-cols{grid-template-columns:minmax(0,1fr)}
  .js [data-reveal]{transform:translateY(14px);transition-duration:.7s}
}
@media (max-width:520px){
  .alist,.form{grid-template-columns:minmax(0,1fr)}
  .pick{grid-template-columns:92px minmax(0,1fr);gap:16px}
  .fact{grid-template-columns:minmax(0,1fr);gap:4px}
  .sw-chip{width:54px;height:54px}
  .swatches{gap:14px 10px;justify-content:space-between}
  .sw{font-size:.56rem;letter-spacing:.08em}
  .ticks{gap:12px}
}


/* ---------- tabs (prices + style guide) */
.tabs{display:grid;gap:20px;min-width:0}
.tablist-wrap{min-width:0}
.tablist{display:flex;flex-wrap:wrap;gap:4px 24px;border-bottom:1px solid var(--rule)}
.tab{position:relative;padding:13px 0;font:500 .74rem/1 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);white-space:nowrap;transition:color .3s}
.tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--burgundy);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.tab:hover,.tab[aria-selected="true"]{color:var(--text)}
.tab[aria-selected="true"]::after{transform:scaleX(1)}
.tabs--dark .tablist{border-color:var(--rule-d)}
.tabs--dark .tab{color:var(--mute-d)}
.tabs--dark .tab:hover,.tabs--dark .tab[aria-selected="true"]{color:var(--bone)}
.tabs--dark .tab::after{background:var(--claret)}
.tpanel-h{font:400 1.02rem/1.2 var(--f-display);letter-spacing:.14em;text-transform:uppercase;margin:22px 0 4px}
.js .tpanel[data-hide]{display:none}
.js .tpanel-h{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tpanel.show{animation:rise .6s var(--ease) both}
.ptable{width:100%;border-collapse:collapse}
.ptable tr{border-bottom:1px solid var(--rule-d)}
.ptable th{text-align:left;font-weight:400;padding:11px 16px 11px 0;color:var(--bone);font-size:.98rem}
.ptable td{text-align:right;white-space:nowrap;padding:11px 0;font:400 1.15rem/1 var(--f-display);color:var(--tape);font-variant-numeric:tabular-nums lining-nums}
.ptable tr:hover th{color:var(--white)}
.fine--d{color:var(--mute-d)}

/* ---------- style guide */
.styles{background:var(--chalk)}
.styles .tabs{margin-top:clamp(32px,4vw,56px)}
.sty-grid{display:grid;gap:clamp(22px,2.4vw,34px) clamp(12px,1.6vw,24px);margin-top:14px}
.sty-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.sty-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sty-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sty-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}
.sty{display:grid;gap:7px;align-content:start}
.sty-img{display:block;overflow:hidden;aspect-ratio:6/7;background:#d9dbdf;margin-bottom:6px}
.sty--lg .sty-img{aspect-ratio:4/5}
.sty-img img{width:100%;height:100%;object-fit:cover;object-position:50% 0;transition:transform 1.2s var(--ease)}
.sty:hover .sty-img img{transform:scale(1.05)}
.sty-n{font-size:.7rem;color:var(--burgundy)}
.sty b{font:400 1rem/1.25 var(--f-display);letter-spacing:.1em;text-transform:uppercase}
.sty-t{font-size:.9rem;line-height:1.5;color:var(--mute);max-width:34ch}
.sty-also{margin-top:clamp(30px,3.4vw,48px);padding-top:20px;border-top:1px solid var(--rule);display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:14px 32px;align-items:start}
.sty-also h3{font:500 .72rem/1.6 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--burgundy)}
.sty-also ul{display:flex;flex-wrap:wrap;gap:8px}
.sty-also li{font-size:.9rem;padding:7px 12px;background:var(--white);border:1px solid var(--rule)}
.sty-note{margin-top:30px}
.ladies-copy .link{color:var(--burgundy)}
@media (max-width:1040px){
  .sty-grid--5{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sty-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sty-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .tablist-wrap{overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut)}
  .tablist-wrap::-webkit-scrollbar{display:none}
  .tablist{flex-wrap:nowrap;width:max-content;min-width:100%}
  .sty-also{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:520px){
  .sty-grid--5{gap:20px 10px}
  .sty-grid--5 .sty-t{display:none}
  .sty-grid--5 .sty b{font-size:.8rem;letter-spacing:.06em}
  .sty-grid--2{gap:20px 12px}
  .ptable th{font-size:.93rem}
}


/* ---------- walk in, credit, gallery page, plain pages */
.btn--ghost{background:transparent;color:var(--burgundy);box-shadow:inset 0 0 0 1px var(--burgundy)}
.btn--ghost:hover{background:var(--burgundy);color:var(--white)}
.menu .btn--ghost{margin-top:0}
.credit a{color:var(--text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rule)}
.credit a:hover{color:var(--burgundy);text-decoration-color:var(--burgundy)}
.page-head{background:var(--ink);color:var(--bone);padding-block:clamp(56px,8vw,112px) clamp(40px,5vw,72px);position:relative;overflow:hidden}
.page-head .eyebrow{color:var(--claret)}
.page-head h1{font:400 clamp(2.6rem,6vw,5rem)/1.02 var(--f-display);letter-spacing:.03em;text-transform:uppercase;margin-top:16px}
.page-head .lede{color:var(--mute-d);margin-top:18px}
.page-head .hero-rule{margin-top:26px}
.gallery{background:var(--white)}
.ggrid{columns:3 280px;column-gap:clamp(14px,2vw,26px)}
.gitem{display:block;width:100%;break-inside:avoid;margin:0 0 clamp(14px,2vw,26px);text-align:left}
.gitem .tile-img{aspect-ratio:auto}
.gitem img{width:100%;height:auto}
.gitem .tile-cap{margin-top:12px}
.gitem .tile-cap b{font:400 .95rem/1.45 var(--f-sans);letter-spacing:0;text-transform:none;color:var(--mute)}
.page-rule{width:132px;height:2px;background:var(--claret);margin-top:26px}
.gcta{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between;margin-top:clamp(40px,5vw,72px);padding-top:28px;border-top:1px solid var(--rule)}
.gcta p{font:400 clamp(1.3rem,2.2vw,1.9rem)/1.2 var(--f-display);letter-spacing:.04em;text-transform:uppercase;max-width:26ch}
.gcta div{display:flex;flex-wrap:wrap;gap:12px}
.prose{max-width:70ch;display:grid;gap:18px}
.prose h2,.prose h3{font-family:var(--f-display);font-weight:400;letter-spacing:.02em;line-height:1.15}
.prose a{color:var(--burgundy);text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.2em;list-style:revert}
@media (max-width:1240px){.nav .nav-x{display:none}}
@media (max-width:1060px){.mast .btn--ghost{display:none}}
@media (max-width:1140px){.bar .nav a:not(.btn):nth-child(n+3){display:none}}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.admin-bar .bar{top:32px}
@media (max-width:782px){.admin-bar .bar{top:46px}}
.page-content{background:var(--white)}

/* ---------- reduced motion */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .loader{animation:loader-fade .4s .5s forwards!important}
  .trk i{animation:none!important}
  .tick.is-active .trk i{transform:scaleX(1)}
  .needle{display:none}
  .js [data-reveal],.js [data-reveal="img"]{opacity:1;transform:none}
  .js [data-reveal="img"]::after{display:none}
  .cursor{display:none!important}
}
@keyframes loader-fade{to{opacity:0;visibility:hidden}}
