:root{
  --ink:#0c0d0f; --ink-2:#14161a; --ink-3:#1c1f24;
  --paper:#ece7de; --mute:#a39e94; --line:rgba(236,231,222,.12);
  --red:#c8323a; --red-text:#e0575c; --navy:#1d2f6f;
  --display:"Big Shoulders Display",Impact,sans-serif;
  --serif:"Instrument Serif",Georgia,serif;
  --sans:Inter,system-ui,sans-serif;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:144px;
  --wrap:1200px; --r:14px; --ease:cubic-bezier(.2,.7,.1,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--ink);color:var(--paper);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
.wrap{width:min(var(--wrap),100% - 48px);margin-inline:auto}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--paper);color:var(--ink);padding:8px 14px;border-radius:999px}
.skip:focus{left:12px}
:focus-visible{outline:2px solid var(--paper);outline-offset:3px;border-radius:4px}

/* type */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 11px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--red-text)}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.eyebrow.c::after{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.h-xl{font:800 clamp(3.4rem,8.4vw,7.2rem)/.86 var(--display);text-transform:uppercase;letter-spacing:.005em}
.h-l{font:800 clamp(2.6rem,5.6vw,4.6rem)/.9 var(--display);text-transform:uppercase}
.it{font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;color:var(--paper);opacity:.92}
.h-l .it{font-size:.92em;line-height:1}
.lead{font-size:1.125rem;color:var(--mute);max-width:56ch}
p+p{margin-top:var(--s4)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 24px;border-radius:999px;font:600 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .3s var(--ease),background .3s,border-color .3s}
.btn-p{background:var(--paper);color:var(--ink)}
.btn-p:hover{transform:translateY(-2px);background:#fff}
.btn-g{border-color:rgba(236,231,222,.35);color:var(--paper);background:rgba(12,13,15,.35);backdrop-filter:blur(6px)}
.btn-g:hover{border-color:var(--paper)}

/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;transition:background .4s,border-color .4s;border-bottom:1px solid transparent}
.nav.solid{background:rgba(12,13,15,.86);backdrop-filter:blur(14px);border-color:var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:34px;height:auto}
.brand b{font:800 1.25rem/0.9 var(--display);text-transform:uppercase;letter-spacing:.02em}
.brand b small{display:block;font:600 9px/1.6 var(--sans);letter-spacing:.3em;color:var(--mute)}
.nav ul{display:flex;gap:32px;list-style:none}
.nav ul a{font:500 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--mute);transition:color .2s}
.nav ul a:hover{color:var(--paper)}
.nav .btn{height:40px;padding:0 18px}
@media (max-width:900px){.nav ul{display:none}}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:40% 62%;transform:scale(1.08);animation:settle 2.4s var(--ease) forwards}
@keyframes settle{to{transform:scale(1)}}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,13,15,.72) 0%,rgba(12,13,15,.15) 30%,rgba(12,13,15,.35) 55%,rgba(12,13,15,.97) 100%),linear-gradient(90deg,rgba(12,13,15,.75),rgba(12,13,15,0) 60%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1fr 300px;gap:var(--s7);align-items:end;padding-bottom:var(--s8)}
.hero h1{margin:var(--s5) 0}
.hero h1 .it{display:block;font-size:.8em;margin-top:.08em}
.hero .lead{color:#cfc9be}
.hero .ctas{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s6)}
.proof{display:flex;align-items:center;gap:12px;margin-top:var(--s5);font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.proof i{font-style:normal;color:var(--paper);letter-spacing:.1em}
.badge{background:rgba(20,22,26,.78);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:22px;padding:var(--s6) var(--s5);text-align:center}
.badge img{width:56px;margin:0 auto var(--s4)}
.badge strong{display:block;font:400 italic 1.75rem/1.1 var(--serif)}
.badge span{display:block;margin-top:var(--s3);font:600 10px/1.6 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--mute)}
.badge hr{border:0;height:1px;width:48px;background:var(--red);margin:var(--s4) auto}
.badge p{font-size:13px;color:var(--mute);line-height:1.55}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}.badge{display:none}}

/* trust strip */
.strip{border-block:1px solid var(--line)}
.strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);padding-block:var(--s6)}
.strip h2{font:600 10px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--mute);margin-bottom:var(--s3)}
.strip .wrap>div{min-width:0}
.strip p{font:italic 400 1.2rem/1.5 var(--serif);color:var(--paper)}
.strip p span{color:var(--red);margin:0 .2em;font-style:normal}
.strip .r{border-left:1px solid var(--line);padding-left:var(--s6)}
@media (max-width:760px){.strip .wrap{grid-template-columns:1fr}.strip .r{border:0;padding:0}}

section{position:relative}
.pad{padding-block:var(--s10)}
@media (max-width:760px){.pad{padding-block:var(--s9)}}

/* story */
.story .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--s9);align-items:center}
.story h2{margin:var(--s5) 0 var(--s6)}
.story p{color:#c5bfb3;max-width:52ch}
.story p em{color:var(--paper)}
.stats{display:flex;gap:var(--s7);margin-top:var(--s7);padding-top:var(--s6);border-top:1px solid var(--line)}
.stats b{display:block;font:400 2.4rem/1 var(--serif)}
.stats span{font:600 10px/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.frame{position:relative;padding:12px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(160deg,rgba(200,50,58,.10),rgba(29,47,111,.12));box-shadow:0 40px 120px -40px rgba(200,50,58,.25)}
.frame img{border-radius:18px;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%}
.frame figcaption{position:absolute;left:36px;bottom:32px;right:36px}
.frame figcaption small{display:block;font:600 10px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:#d8d2c7}
.frame figcaption b{display:block;margin-top:8px;font:400 1.6rem/1 var(--serif)}
.frame::after{content:"";position:absolute;inset:12px;border-radius:18px;background:linear-gradient(180deg,transparent 55%,rgba(12,13,15,.85));pointer-events:none}
.frame figcaption{z-index:1}
@media (max-width:900px){.story .wrap{grid-template-columns:1fr;gap:var(--s8)}}

/* walkaround (scroll-scrubbed) */
.walk{height:850vh}
.walk .stick{position:sticky;top:0;height:100svh;overflow:hidden;background:#000}
.walk .cam{position:absolute;inset:0;will-change:transform;transform-origin:0 0}
.walk .cam img,.walk canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.walk canvas{display:none}
.walk.has-video canvas{display:block}
@media (max-aspect-ratio:1/1){.walk.has-video canvas{inset:auto;left:0;top:50%;width:100%;height:auto;aspect-ratio:16/9;transform:translateY(-50%)}}
.walk.has-video .cam{display:none}
.walk .shade{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 50%,transparent 45%,rgba(0,0,0,.7)),linear-gradient(0deg,rgba(12,13,15,.85),transparent 40%)}
.walk .cap{position:absolute;left:0;right:0;bottom:var(--s8)}
.walk .cap .eyebrow{margin-bottom:var(--s4)}
.walk .line{position:absolute;left:0;bottom:0;opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.walk .line.on{opacity:1;transform:none}
.walk .lines{position:relative;height:clamp(3rem,6vw,5rem)}
.walk .lines .h-l{white-space:nowrap}
.walk .bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--line)}
.walk .bar i{display:block;height:100%;width:0;background:var(--red)}

/* work ring */
.work .head{display:flex;justify-content:space-between;align-items:end;gap:var(--s6);flex-wrap:wrap}
.work .head a{font:600 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute);text-decoration:none}
.work .head a:hover{color:var(--paper)}
.stage{height:600px;perspective:1600px;margin-top:var(--s7);cursor:grab;touch-action:pan-y;user-select:none}
.stage:active{cursor:grabbing}
.ring{position:relative;width:300px;height:400px;margin:70px auto 0;transform-style:preserve-3d}
.card{position:absolute;inset:0;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--ink-2);backface-visibility:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.8)}
.card img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(12,13,15,.92))}
.card figcaption{position:absolute;left:18px;right:18px;bottom:16px;z-index:1}
.card figcaption small{display:block;font:600 9px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--red-text)}
.card figcaption b{display:block;margin-top:6px;font:400 1.3rem/1.1 var(--serif)}
.hint{text-align:center;font:600 10px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:#8f8a81}
@media (max-width:700px){.stage{height:460px}.ring{width:200px;height:280px;margin-top:40px}}

/* services */
.svc .panel{margin-top:var(--s8);display:grid;grid-template-columns:340px 1fr;gap:var(--s7);background:var(--ink-2);border:1px solid var(--line);border-radius:24px;padding:var(--s6)}
.svc .pic{position:relative;border-radius:16px;overflow:hidden;min-height:420px}
.svc .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .9s var(--ease),transform 1.6s var(--ease)}
.svc .pic img.on{opacity:1;transform:scale(1)}
.svc .pic p{transition:opacity .45s var(--ease),transform .45s var(--ease)}
.svc .pic p.out{opacity:0;transform:translateY(8px)}
.svc li{transition:background .3s}
.svc li.on h3{color:#fff}
.svc li h3{transition:color .3s;color:#c5bfb3}
.svc li.on h3::before{content:"";display:inline-block;width:18px;height:1px;background:var(--red);vertical-align:middle;margin-right:10px}
.svc .pic::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(12,13,15,.9))}
.svc .pic p{position:absolute;left:20px;right:20px;bottom:20px;z-index:1;font-size:13px;color:#cfc9be}
.svc .pic p b{display:block;font:400 1.6rem/1.1 var(--serif);color:var(--paper);margin-bottom:6px}
.svc ol{list-style:none}
.svc li{display:grid;grid-template-columns:1fr auto;gap:var(--s4);align-items:center;padding:var(--s5) 0;border-bottom:1px solid var(--line)}
.svc li:first-child{padding-top:0}
.svc li h3{font:400 1.45rem/1.15 var(--serif)}
.svc li p{font-size:13px;color:var(--mute);margin-top:4px}
.svc li .tag{display:inline-block;margin-left:10px;padding:3px 8px;border:1px solid rgba(224,87,92,.5);border-radius:999px;font:600 9px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--red-text);vertical-align:middle}
.svc li a{height:34px;padding:0 16px;border-radius:999px;background:var(--paper);color:var(--ink);font:600 10px/34px var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:transform .25s var(--ease)}
.svc li a:hover{transform:translateY(-2px)}
@media (max-width:900px){.svc .panel{grid-template-columns:1fr}.svc .pic{min-height:260px}}

/* space gallery */
.space h2,.space .lead{text-align:center;margin-inline:auto}
.space h2{margin:var(--s5) auto var(--s4)}
.gal{margin-top:var(--s8);display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:280px 280px;gap:var(--s3)}
.gal figure{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.gal figure:first-child{grid-row:span 2}
.gal figure:nth-child(2){grid-column:span 2}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.gal figure:hover img{transform:scale(1.04)}
.gal figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(12,13,15,.75))}
.gal figcaption{position:absolute;left:18px;bottom:14px;z-index:1;font:400 1.1rem/1.2 var(--serif)}
.gal small{position:absolute;left:18px;top:16px;z-index:1;font:600 9px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:#e9e3d9;text-shadow:0 1px 8px rgba(0,0,0,.7)}
@media (max-width:760px){.gal{grid-template-columns:1fr 1fr;grid-template-rows:auto}.gal figure{aspect-ratio:1}.gal figure:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:4/3}.gal figure:nth-child(2){grid-column:span 2;aspect-ratio:16/10}}

/* offers */
.offers .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--s5)}
.offer{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;padding:var(--s7) var(--s6);background:linear-gradient(140deg,var(--ink-3),var(--ink-2))}
.offer.img{background:none}
.offer.img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}
.offer > *:not(img){position:relative}
.offer h3{font:400 clamp(1.7rem,2.6vw,2.2rem)/1.1 var(--serif);margin:var(--s4) 0 var(--s3)}
.offer p{color:#c5bfb3;font-size:14px;max-width:44ch}
.offer .btn{margin-top:var(--s5);height:42px}
@media (max-width:860px){.offers .wrap{grid-template-columns:1fr}}

/* review */
.review{text-align:center}
.review blockquote{max-width:20ch;margin:var(--s6) auto 0;font:400 clamp(2.2rem,4.6vw,3.8rem)/1.08 var(--serif)}
.review blockquote::before{content:"\201C";display:block;font-size:2em;line-height:.6;color:var(--red)}
.review cite{display:block;margin-top:var(--s5);font:600 11px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--mute);font-style:normal}
.review .score{display:inline-flex;gap:var(--s6);margin-top:var(--s7);padding:var(--s4) var(--s6);border:1px solid var(--line);border-radius:999px;font-size:13px;color:var(--mute)}
.review .score b{color:var(--paper);font-weight:600}

/* visit + form */
.visit .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--s9)}
.visit h2{margin:var(--s5) 0 var(--s6)}
.dl{display:grid;grid-template-columns:auto 1fr;gap:var(--s3) var(--s6);font-size:15px}
.dl dt{font:600 10px/2.2 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute)}
.dl a{text-decoration:none;border-bottom:1px solid var(--line)}
.dl a:hover{border-color:var(--paper)}
.hours{margin-top:var(--s6);border-top:1px solid var(--line)}
.hours div{display:flex;justify-content:space-between;padding:var(--s3) 0;border-bottom:1px solid var(--line);font-size:14px}
.hours span:first-child{font:600 11px/1.9 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
form{background:var(--ink-2);border:1px solid var(--line);border-radius:24px;padding:var(--s7) var(--s6)}
form h3{font:400 2rem/1.1 var(--serif);margin-bottom:var(--s2)}
form > p{font-size:14px;color:var(--mute);margin-bottom:var(--s6)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
label{display:block;margin-bottom:var(--s4)}
label span{display:block;font:600 10px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
input,select,textarea{width:100%;background:var(--ink);border:1px solid rgba(236,231,222,.18);border-radius:10px;color:var(--paper);font:400 15px/1.4 var(--sans);padding:13px 14px;transition:border-color .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--paper)}
textarea{min-height:96px;resize:vertical}
form .btn{width:100%;justify-content:center;margin-top:var(--s2)}
form small{display:block;margin-top:var(--s4);font-size:12px;color:var(--mute);text-align:center}
.sent{display:none;text-align:center;padding:var(--s4) 0;color:var(--paper)}
@media (max-width:900px){.visit .wrap{grid-template-columns:1fr;gap:var(--s8)}.row{grid-template-columns:1fr}}

/* hiring + footer */
.hire{background:var(--navy)}
.hire .wrap{display:flex;justify-content:space-between;align-items:center;gap:var(--s5);flex-wrap:wrap;padding-block:var(--s6)}
.hire p{font:400 1.5rem/1.2 var(--serif)}
.hire p small{display:block;font:600 10px/1.8 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#c9cfe4}
footer{padding-block:var(--s8) var(--s6);text-align:center;color:var(--mute);font-size:13px}
footer img{width:48px;margin:0 auto var(--s4)}
footer .soc{display:flex;justify-content:center;gap:var(--s5);margin:var(--s5) 0}
footer .soc a{font:600 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none}
.mob-call{display:none}
@media (max-width:520px){.walk .lines .h-l{white-space:normal;font-size:2.4rem}.walk .lines{height:5.2rem}.nav .btn{display:none}.stats{gap:var(--s5)}.stats b{font-size:2rem}}
@media (max-width:700px){.mob-call{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;justify-content:center;box-shadow:0 12px 40px rgba(0,0,0,.6)}footer{padding-bottom:96px}}

/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
  .walk{height:auto}.walk .stick{position:relative;height:80svh}
}

/* service picker (custom listbox, native select kept for the form value) */
.pick{position:relative}
.pick select{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.pick-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:var(--ink);border:1px solid rgba(236,231,222,.18);border-radius:10px;color:var(--paper);font:400 15px/1.4 var(--sans);padding:13px 14px;cursor:pointer;transition:border-color .2s}
.pick-btn:hover,.pick.open .pick-btn{border-color:var(--paper)}
.pick-btn svg{flex:none;transition:transform .3s var(--ease)}
.pick.open .pick-btn svg{transform:rotate(180deg)}
.pick-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);max-height:340px;overflow:auto;list-style:none;background:var(--ink-3);border:1px solid rgba(236,231,222,.2);border-radius:12px;padding:6px;box-shadow:0 24px 60px -12px rgba(0,0,0,.8);opacity:0;transform:translateY(-6px);visibility:hidden;transition:opacity .2s,transform .2s var(--ease),visibility 0s .2s}
.pick.open .pick-list{opacity:1;transform:none;visibility:visible;transition:opacity .2s,transform .2s var(--ease)}
.pick-list li{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:8px;cursor:pointer}
.pick-list li b{font:500 15px/1.3 var(--sans)}
.pick-list li small{display:block;margin:0;text-align:left;font-size:12px;color:var(--mute)}
.pick-list li[aria-selected="true"] b::after{content:" ✓";color:var(--red-text)}
.pick-list li.act{background:rgba(236,231,222,.08)}
@media (max-width:700px){.pick-list{max-height:280px}}

/* nav current page */
.nav ul a[aria-current="page"]{color:var(--paper)}

/* sub pages */
.page-hero{padding:calc(76px + var(--s9)) 0 var(--s8);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.page-hero .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,13,15,.4),var(--ink))}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{margin:var(--s5) 0}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--s9);align-items:start}
@media (max-width:900px){.cols{grid-template-columns:1fr;gap:var(--s8)}}
.roles{display:grid;gap:var(--s4);margin-top:var(--s6)}
.role{border:1px solid var(--line);border-radius:18px;padding:var(--s5) var(--s6);background:var(--ink-2)}
.role h3{font:400 1.6rem/1.15 var(--serif)}
.role p{font-size:14px;color:var(--mute);margin-top:6px}
.role .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:var(--s4)}
.role .tags span{padding:4px 10px;border:1px solid var(--line);border-radius:999px;font:600 9px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#cfc9be}
.checks{list-style:none;margin-top:var(--s5)}
.checks li{padding:var(--s3) 0 var(--s3) 28px;border-bottom:1px solid var(--line);position:relative;color:#c5bfb3}
.checks li::before{content:"";position:absolute;left:0;top:1.15em;width:14px;height:1px;background:var(--red)}
.note{font-size:12px;color:#8f8a81;margin-top:var(--s5)}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin-top:var(--s7)}
@media (max-width:900px){.rev-grid{grid-template-columns:1fr}}
.rev{border:1px solid var(--line);border-radius:18px;padding:var(--s6);background:var(--ink-2);display:flex;flex-direction:column;gap:var(--s4)}
.rev .stars{color:var(--red-text);letter-spacing:.2em;font-size:13px}
.rev q{font:400 1.35rem/1.3 var(--serif);quotes:none}
.rev cite{font:600 10px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mute);font-style:normal;margin-top:auto}
.rev.empty{border-style:dashed;background:transparent;justify-content:center;color:var(--mute);font-size:14px}
.cta-row{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s6)}
.field{margin-bottom:var(--s4)}
.field > span{display:block;font:600 10px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.stage:focus-visible{outline-offset:-6px}

/* ring pause control */
.hint span{opacity:.5;margin:0 .4em}
.hint button{font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--paper);background:none;border:1px solid var(--line);border-radius:999px;padding:7px 12px;cursor:pointer}
.hint button:hover{border-color:var(--paper)}

/* file upload: match the pickers instead of the browser's grey button */
input[type=file]{padding:10px;cursor:pointer;color:var(--mute);font-size:14px}
input[type=file]::file-selector-button{margin-right:14px;height:36px;padding:0 16px;border-radius:999px;border:1px solid rgba(236,231,222,.35);background:transparent;color:var(--paper);font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:border-color .2s}
input[type=file]:hover::file-selector-button{border-color:var(--paper)}
