:root{--red:#E8311A;--bone:#F1EADB;--ink:#111010;--dusk:#FF7A6B;--dusk2:#F4A28C;--mute:#3f3934}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bone);color:var(--ink);font:18px/1.6 "Archivo",system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative}
img{max-width:100%;height:auto;display:block}a{color:inherit}
.serif{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.01em}
.cond{font-family:Anton,Impact,sans-serif;text-transform:uppercase;letter-spacing:-.005em;font-weight:400;line-height:.86}
h1,h2,h3{margin:0;font-weight:400}
.lbl{font:600 .72rem/1.3 "Archivo",sans-serif;letter-spacing:.16em;text-transform:uppercase}
.pad{padding-inline:clamp(18px,4vw,56px)}
/* header */
header.site{position:sticky;top:0;z-index:50;background:var(--bone);border-bottom:1px solid var(--ink)}
.bar{display:flex;align-items:stretch;justify-content:space-between;height:60px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:400 1.7rem Anton,sans-serif;text-transform:uppercase;letter-spacing:.01em}
.logo em{font:italic 400 1.75rem "Instrument Serif",serif;text-transform:none;color:var(--red);margin-left:-4px}
nav.main{display:none}nav.main a{display:flex;align-items:center;padding:0 16px;text-decoration:none;font:600 .74rem Archivo;letter-spacing:.14em;text-transform:uppercase;border-left:1px solid var(--ink)}
nav.main a:hover,nav.main a[aria-current]{background:var(--ink);color:var(--bone)}
.req{display:flex;align-items:center;gap:8px;padding:0 18px;margin-right:calc(-1*clamp(18px,4vw,56px));background:var(--red);color:var(--bone);text-decoration:none;font:400 1.15rem Anton,sans-serif;text-transform:uppercase;letter-spacing:.02em}
.req:hover{background:var(--ink)}
.mnav{display:flex;gap:20px;overflow-x:auto;padding:9px clamp(18px,4vw,56px);border-top:1px solid var(--ink);font:600 .7rem Archivo;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.mnav a{text-decoration:none}
@media(min-width:1000px){nav.main{display:flex;margin-left:auto}.mnav{display:none}}
/* hero */
.hero{position:relative;padding-top:clamp(20px,4vw,40px);padding-bottom:40px}
.hero-grid{display:grid;grid-template-columns:repeat(12,1fr);position:relative}
.hero .big{grid-column:1/-1;grid-row:1;position:relative;z-index:3;font-size:clamp(5.2rem,23vw,22rem);color:var(--ink);margin:0;mix-blend-mode:normal;line-height:.8}
.hero .big .r{color:var(--red)}
.hero .ph{margin-inline:0;margin-bottom:0;grid-column:3/-1;grid-row:1/3;margin-top:clamp(70px,13vw,190px);position:relative;z-index:1}
.hero .ph img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 60%}
.hero .tag{grid-column:1/8;grid-row:3;position:relative;z-index:4;background:var(--bone);margin-top:-60px;padding:22px 24px 0 0}
.hero .tag h2{font-size:clamp(2.2rem,5.6vw,4.8rem);line-height:.95}
.hero .tag p{max-width:440px;margin:16px 0 22px;color:var(--mute)}
.vert{position:absolute;right:0;top:140px;writing-mode:vertical-rl;white-space:nowrap;z-index:4}
.plate-cap{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--ink);padding-top:8px;margin-top:8px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;background:var(--red);color:var(--bone);text-decoration:none;border:0;cursor:pointer;font:400 1.3rem Anton,sans-serif;text-transform:uppercase;letter-spacing:.02em}
.btn:hover{background:var(--ink)}.btn.line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.btn.line:hover{background:var(--ink);color:var(--bone)}
@media(max-width:700px){.hero .big{font-size:34vw}.hero .ph{grid-column:1/-1;margin-top:52vw}.hero .tag{grid-column:1/-1;margin-top:-30px;padding-right:0}.vert{display:none}}
/* marquee */
.mq{border-block:1px solid var(--ink);overflow:hidden;white-space:nowrap;background:var(--red);color:var(--bone)}
.mq div{display:inline-block;padding:10px 0 14px;font-size:clamp(2rem,5vw,3.6rem);animation:mq 40s linear infinite}
.mq span{font-family:Anton;text-transform:uppercase;font-style:normal;margin:0 .4em;font-size:.8em}
@keyframes mq{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.mq div{animation:none}}
/* sections */
.sec{padding-block:clamp(60px,9vw,130px)}
.kicker{display:flex;gap:18px;align-items:baseline;border-bottom:1px solid var(--ink);padding-bottom:10px;margin-bottom:clamp(30px,5vw,60px)}
.kicker .n{font:400 1rem Anton}.kicker .lbl{flex:1}
.h-xl{font-size:clamp(3.4rem,10vw,9.5rem)}.h-l{font-size:clamp(2.6rem,6.5vw,6rem)}
/* catalogue (home) */
.cat{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(14px,2vw,28px);align-items:start}
.plate{text-decoration:none;display:block;position:relative}
.duo{position:relative;background:var(--red);overflow:hidden}
.duo img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1) contrast(1.15) brightness(1.08);mix-blend-mode:multiply;transition:filter .4s}
.duo:after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,transparent 40%,rgba(255,122,107,.45));mix-blend-mode:screen}
.plate:hover .duo img{filter:none;mix-blend-mode:normal}
.plate .no{position:absolute;top:-.42em;left:-.06em;z-index:2;font-size:clamp(4rem,9vw,8.5rem);color:var(--ink);pointer-events:none}
.plate .no small{font-size:.32em;margin-left:.05em}
.plate .cap{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;border-top:1px solid var(--ink);margin-top:10px;padding-top:8px;font-size:.9rem}
.plate .cap b{font:600 .7rem Archivo;letter-spacing:.14em;text-transform:uppercase;padding-top:3px}
.plate .cap i{font:italic 1.25rem "Instrument Serif",serif;grid-column:1/-1}
.cat .plate{grid-column:span 12}
@media(min-width:760px){.cat .p1{grid-column:1/6}.cat .p2{grid-column:7/13;margin-top:120px}.cat .p3{grid-column:2/7;margin-top:-40px}.cat .p4{grid-column:8/13;margin-top:60px}.cat .p5{grid-column:3/10;margin-top:20px}}
/* ribs statement */
.ribs{position:relative;color:var(--bone);background:var(--ink) url(/img/texture-ribs.webp) center/cover;min-height:70vh;display:grid;align-items:end}
.ribs:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,16,16,.85),rgba(17,16,16,.1) 70%)}
.ribs>*{position:relative}
.ribs h2{font-size:clamp(3rem,9vw,8.5rem);line-height:.9;max-width:12ch}
/* steps editorial */
.steps{display:grid;grid-template-columns:repeat(12,1fr);gap:0 24px}
.steps .art{grid-column:1/-1;position:relative;margin-bottom:30px}
.steps .art img{width:100%;aspect-ratio:1/1;object-fit:cover}
.steps ol{grid-column:1/-1;list-style:none;margin:0;padding:0}
.steps li{display:grid;grid-template-columns:minmax(90px,.9fr) 2fr;gap:20px;border-top:1px solid var(--ink);padding:18px 0 30px}
.steps li .num{font-size:clamp(5.5rem,13vw,12rem);color:var(--red);line-height:.78}
.steps li h3{font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1;margin-bottom:10px}
.steps li p{margin:0;color:var(--mute);max-width:42ch}
@media(min-width:900px){.steps .art{grid-column:1/6;position:sticky;top:90px;align-self:start}.steps ol{grid-column:7/13}}
/* dusk band */
.dusk{position:relative;overflow:hidden;background:#2a0f1d}
.dusk img{width:100%;height:clamp(420px,70vw,860px);object-fit:cover}
.dusk .over{position:absolute;inset:auto 0 0 0;padding-bottom:clamp(24px,4vw,56px);color:var(--bone)}
.dusk .over h2{font-size:clamp(3.4rem,12vw,12rem);line-height:.82;color:var(--bone)}
.dusk:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,6,14,.75),transparent 55%);pointer-events:none}.dusk .over{z-index:2}
.dusk .over .serif{font-size:clamp(2rem,5vw,4.4rem);color:var(--dusk2);display:block}
/* collage (who) */
.collage{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;align-items:start}
.collage .a{grid-column:1/-1}.collage .b{grid-column:4/-1;margin-top:-60px;position:relative;z-index:2;border:10px solid var(--bone)}.collage .t{grid-column:1/-1}
.collage img{width:100%;aspect-ratio:16/10;object-fit:cover}
@media(min-width:900px){.collage .a{grid-column:1/8}.collage .b{grid-column:6/12;margin-top:-180px}.collage .t{grid-column:8/13;grid-row:1;align-self:center;padding-left:20px}}
/* rooms */
.room{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;padding-block:clamp(40px,6vw,90px);border-top:1px solid var(--ink);align-items:center}
.room .im{grid-column:1/-1;position:relative}.room .im img{width:100%;aspect-ratio:3/2;object-fit:cover}
.room .tx{grid-column:1/-1}
.room .tx h2{font-size:clamp(3rem,8vw,7rem)}
.room .tx p{color:var(--mute);max-width:46ch}
.room .rn{font-size:clamp(1.4rem,2vw,1.8rem)}
@media(min-width:900px){.room .im{grid-column:1/8}.room .tx{grid-column:8/13}.room.flip .im{grid-column:6/13;grid-row:1}.room.flip .tx{grid-column:1/6;grid-row:1}}
/* page head */
.phead{padding-block:clamp(40px,7vw,100px) clamp(30px,4vw,60px);position:relative;border-bottom:1px solid var(--ink);overflow:hidden}
.phead h1{font-size:clamp(4.4rem,16vw,15rem)}.phead h1 .serif{text-transform:none;color:var(--red);font-size:.7em}
.phead p{max-width:52ch;color:var(--mute);margin:20px 0 0;font-size:1.1rem}
.phead .bgimg{position:absolute;right:clamp(18px,4vw,56px);top:clamp(30px,5vw,70px);width:min(38vw,520px);z-index:-1;opacity:1}
@media(max-width:800px){.phead .bgimg{position:static;width:100%;margin-top:24px}}
/* catalogue page */
.entry{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;padding-block:clamp(40px,6vw,90px);border-bottom:1px solid var(--ink);align-items:end}
.entry .duo{grid-column:1/-1}
.entry .meta{grid-column:1/-1}
.entry .meta>.lbl{display:block;margin-bottom:22px}
.entry .yd{font-size:clamp(7rem,20vw,17rem);line-height:.78;color:var(--red)}
.entry .yd small{font-size:.22em;color:var(--ink);margin-left:.1em}
.entry h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1;margin:16px 0 14px}
.entry dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0 0 22px;border-top:1px solid var(--ink);padding-top:12px}
.entry dt{font:600 .7rem Archivo;letter-spacing:.14em;text-transform:uppercase;padding-top:4px}.entry dd{margin:0}
@media(min-width:900px){.entry .duo{grid-column:1/8}.entry .meta{grid-column:8/13}.entry:nth-of-type(even) .duo{grid-column:6/13;grid-row:1}.entry:nth-of-type(even) .meta{grid-column:1/6;grid-row:1}}
/* form */
.qsec{background:var(--ink);color:var(--bone);position:relative;overflow:hidden}
.qgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:30px}
.qgrid .intro{grid-column:1/-1}.qgrid form{grid-column:1/-1}
.qgrid h2{font-size:clamp(3.4rem,9vw,8rem);line-height:.86}.qgrid h2 .serif{color:var(--dusk);text-transform:none;display:block;font-size:.72em;line-height:1}
.qgrid .intro p{color:#c9c0b2;max-width:40ch}
@media(min-width:1000px){.qgrid .intro{grid-column:1/6}.qgrid form{grid-column:7/13}}
form#quote{background:var(--bone);color:var(--ink);padding:clamp(20px,3vw,36px);position:relative}
form#quote:before{content:"Request form · No. 001";position:absolute;top:-28px;left:0;font:600 .7rem Archivo;letter-spacing:.16em;text-transform:uppercase;color:var(--dusk)}
.fg{display:grid;gap:0 18px}@media(min-width:600px){.fg{grid-template-columns:1fr 1fr}.fg .full{grid-column:1/-1}}
label{display:block;font:600 .7rem Archivo;letter-spacing:.14em;text-transform:uppercase}
.field{width:100%;height:48px;border:0;border-bottom:1.5px solid var(--ink);background:transparent;padding:0 2px;margin:2px 0 18px;font:400 1.35rem "Instrument Serif",serif;color:var(--ink);border-radius:0}
select.field{appearance:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M0 0l6 8 6-8z' fill='%23111'/%3E%3C/svg%3E") right 4px center no-repeat}
.field:focus{outline:none;border-bottom-color:var(--red);border-bottom-width:3px}
.hint{text-transform:none;letter-spacing:0;font-weight:400;color:var(--mute)}
#form-msg{min-height:1.4em;font:italic 1.25rem "Instrument Serif",serif;margin:0 0 14px}
form#quote .btn{width:100%;justify-content:center;font-size:1.6rem}
/* faq */
.faq details{border-top:1px solid var(--ink);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--ink)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:60px 1fr 30px;gap:12px;align-items:baseline}
.faq summary::-webkit-details-marker{display:none}
.faq summary .k{font:400 1.2rem Anton;color:var(--red)}
.faq summary .q{font:italic 400 clamp(1.6rem,3.6vw,2.8rem)/1.05 "Instrument Serif",serif}
.faq summary:after{content:"+";font:400 2rem Anton;color:var(--red)}.faq details[open] summary:after{content:"−"}
.faq details p{margin:12px 0 0 72px;max-width:62ch;color:var(--mute)}
@media(max-width:600px){.faq summary{grid-template-columns:40px 1fr 24px}.faq details p{margin-left:52px}}
.end{padding-block:clamp(60px,9vw,120px);text-align:left}
.end h2{font-size:clamp(3.4rem,11vw,10rem);line-height:.84}.end h2 .serif{text-transform:none;color:var(--red)}
footer.site{background:var(--red);color:var(--bone);padding-block:50px 24px;position:relative;overflow:hidden}
footer.site .huge{font-size:clamp(5rem,24vw,23rem);line-height:.78;color:var(--ink);margin:0 0 30px;white-space:nowrap}
.fcols{display:grid;gap:24px;grid-template-columns:1fr 1fr}@media(min-width:800px){.fcols{grid-template-columns:2fr 1fr 1fr 1fr}}
footer.site a{display:block;text-decoration:none;margin:4px 0}footer.site a:hover{text-decoration:underline}
footer .mail{font:italic 400 clamp(1.8rem,3.4vw,2.8rem)/1 "Instrument Serif",serif}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid rgba(241,234,219,.5);margin-top:36px;padding-top:14px;font-size:.78rem}
.note{font-size:.85rem;color:var(--mute)}

/* ===== v3 usability layer ===== */
.grain{position:relative}.grain:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
:focus-visible{outline:3px solid #1f4bff!important;outline-offset:3px}
nav.main a,.req,.mnav a,.btn,summary,footer.site a{min-height:44px}
.mnav a{display:inline-flex;align-items:center;min-height:44px}.mnav{padding-block:0}
nav.main a{font-size:.85rem}
.lbl{font-size:.8rem}
/* hero v3 */
.h3x{display:grid;gap:22px;padding-block:clamp(16px,3vw,36px)}
.h3x .wm{font-size:clamp(4rem,10.5vw,10rem);line-height:.82}.h3x .wm span{color:var(--red)}
.h3x h1{font:700 clamp(2rem,3.6vw,3.3rem)/1.08 "Archivo",sans-serif;letter-spacing:-.02em;max-width:18ch;margin:16px 0 12px}
.h3x .lede{font-size:1.15rem;max-width:44ch;margin:0 0 22px;color:var(--ink)}
.h3x .ctas{display:flex;gap:12px;flex-wrap:wrap}
.h3x figure{margin:0}.h3x figure img{width:100%;aspect-ratio:16/10;object-fit:cover}
.h3x .ticks{display:flex;flex-wrap:wrap;gap:8px 20px;margin:20px 0 0;padding:0;list-style:none;font-weight:600;font-size:1rem}.h3x .ticks li:before{content:"✓ ";color:var(--red)}
@media(min-width:1000px){.h3x{grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;min-height:calc(100vh - 60px)}.h3x figure img{aspect-ratio:4/5;max-height:calc(100vh - 140px)}}
@media(max-width:999px){.h3x .wm{font-size:clamp(3.4rem,17vw,6rem)}.h3x h1{margin-top:10px}.h3x .ticks{display:none}}
.btn{font-size:1.25rem;min-height:56px}
/* plates v3 */
.plates{display:grid;gap:clamp(24px,3vw,40px);grid-template-columns:1fr}
@media(min-width:760px){.plates{grid-template-columns:repeat(2,1fr)}.plates .plate3:nth-child(2){margin-top:80px}.plates .plate3:nth-child(4){margin-top:80px}}
@media(min-width:1200px){.plates{grid-template-columns:repeat(3,1fr)}.plates .plate3:nth-child(n){margin-top:0}.plates .plate3:nth-child(3n+2){margin-top:70px}}
.plate3{background:#fff;border:1.5px solid var(--ink)}
.plate3 .duo img{aspect-ratio:16/10}
.plate3 .body{padding:18px 20px 22px}
.plate3 h3{font:400 2.2rem/1 Anton,sans-serif;text-transform:uppercase}.plate3 h3 .serif{text-transform:none;color:var(--red);font-size:.8em}
.specs{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:14px 0 18px;padding:12px 0 0;border-top:1px solid var(--ink);font-size:1rem}
.specs dt{font:700 .78rem Archivo;letter-spacing:.1em;text-transform:uppercase;padding-top:4px}.specs dd{margin:0}
.plate3 .btn{width:100%;justify-content:center}
.plk{font:700 .78rem Archivo;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
/* panels */
.panel{background:var(--bone);color:var(--ink);padding:clamp(20px,3vw,36px);max-width:620px}
.dusk .over{position:static;padding:0}.dusk{display:grid}.dusk:after{display:none}
.dusk .panel{margin:-90px clamp(18px,4vw,56px) 0 auto;position:relative;z-index:2}
.dusk .panel h2{color:var(--ink);font-size:clamp(2.6rem,6vw,5rem)}
.ribs:before{background:none}.ribs .panel{max-width:760px}
.ribs h2{color:var(--ink)}
/* simple steps */
.s3{display:grid;gap:0;counter-reset:x}@media(min-width:900px){.s3{grid-template-columns:repeat(3,1fr);gap:40px}}
.s3 div{border-top:2px solid var(--ink);padding:14px 0 24px}
.s3 .num{font-size:clamp(5rem,9vw,8rem);color:var(--red);line-height:.85;display:block}
.s3 h3{font:700 1.5rem/1.15 Archivo;margin:10px 0 6px}.s3 p{margin:0}
/* no-go */
.nogo{background:var(--ink);color:var(--bone)}
.nogo ul{list-style:none;padding:0;margin:26px 0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.nogo li{border:1.5px solid var(--bone);padding:14px 16px;font-size:1.1rem;font-weight:600}.nogo li:before{content:"✕  ";color:var(--red);font-weight:800}
.nogo p{font-size:1.1rem;max-width:60ch}
/* short form */
.short{background:var(--red)}
.short .wrapq{display:grid;gap:30px}@media(min-width:1000px){.short .wrapq{grid-template-columns:.8fr 1.2fr;align-items:center}}
.short h2{font-size:clamp(3rem,7vw,6rem);color:var(--ink)}.short h2 .serif{color:var(--bone);text-transform:none;display:block;font-size:.7em}
.short .intro p{font-size:1.15rem;color:var(--ink)}
form#quote:before{color:var(--ink)}
.short form#quote:before{color:var(--bone)}
.field{font:500 1.15rem Archivo,sans-serif;height:52px}
label{font-size:.78rem}.hint{font-size:.85rem}
#form-msg{font:600 1.05rem Archivo}#form-msg.ok{background:#1b7a3e;color:#fff;padding:14px 16px}
form.sent button{opacity:.5;pointer-events:none}
.qsec .intro p{color:#e8e0d2;font-size:1.1rem}
/* faq preview */
.faq summary .q{font-size:clamp(1.4rem,2.6vw,2rem)}.faq details p{font-size:1.05rem;color:var(--ink)}
/* mobile bar */
.qbar{display:none}
@media(max-width:999px){.qbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--ink);transition:transform .25s}
.qbar a{flex:1;display:flex;align-items:center;justify-content:center;min-height:50px;text-decoration:none;font:400 1.2rem Anton;text-transform:uppercase;letter-spacing:.02em}
.qbar .p{background:var(--red);color:var(--bone)}.qbar .s{color:var(--bone);border:1.5px solid var(--bone);flex:.6}
.qbar.hide,.qbar.hide2{transform:translateY(110%)}
body{padding-bottom:76px}}
.entry dd,.entry dl{font-size:1rem}
.plates .plate3:nth-child(n){margin-top:0!important}
.dusk{background:var(--bone)}
@media(min-width:1000px){.h3x figure img{aspect-ratio:4/3;max-height:none}}
