/* Verso — "this month's issue". Didone display, blush / black / lipstick red, lots of white. */
:root{
  --ink:#0D0B0C; --blush:#FFC2CC; --red:#D0122D;
  --bg:#fff; --fg:#0D0B0C; --acc:#D0122D; --mute:#5d5658; --hair:rgba(13,11,12,.22);
  --btn:#0D0B0C; --btn-t:#fff; --btn-h:#D0122D; --btn-ht:#fff;
  --display:"Bodoni Moda","Didot","Bodoni 72",serif; --text:"Manrope",system-ui,sans-serif;
  --ease:cubic-bezier(.77,0,.18,1); --ease-out:cubic-bezier(.16,.84,.3,1);
  --gut:clamp(20px,4.4vw,72px);
}
/* themes: the whole page flips colour as sections pass the middle of the screen (body.t-*). Without JS each section paints itself. */
body.t-black,html:not(.js) [data-bg="black"],html.paint [data-bg="black"],.foot,.ticker{--bg:#0D0B0C;--fg:#fff;--acc:#FF2D4A;--mute:#c9c1c3;--hair:rgba(255,255,255,.28);--btn:#fff;--btn-t:#0D0B0C;--btn-h:#FF2D4A;--btn-ht:#fff}
body.t-red,html:not(.js) [data-bg="red"],html.paint [data-bg="red"]{--bg:#D0122D;--fg:#fff;--acc:#0D0B0C;--mute:#ffe6e9;--hair:rgba(255,255,255,.45);--btn:#0D0B0C;--btn-t:#fff;--btn-h:#fff;--btn-ht:#0D0B0C}
html:not(.js) [data-bg="white"],html.paint [data-bg="white"]{--bg:#fff;--fg:#0D0B0C;--acc:#D0122D;--mute:#5d5658;--hair:rgba(13,11,12,.22);--btn:#0D0B0C;--btn-t:#fff;--btn-h:#D0122D;--btn-ht:#fff}
html:not(.js) [data-bg],html.paint [data-bg]{background:var(--bg);color:var(--fg)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);transition:background-color .8s var(--ease-out),color .8s var(--ease-out);font:400 16px/1.65 var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p,figure,blockquote,dl,dd,ol,ul{margin:0;padding:0}
ol,ul{list-style:none}
em{font-style:italic}
section[id],form[id]{scroll-margin-top:84px}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:#0D0B0C;color:#fff;padding:12px 16px;z-index:100;transition:top .2s}
.skip:focus{top:12px}

/* ---------- shared type ---------- */
.eyebrow{font:600 11px/1 var(--text);letter-spacing:.22em;text-transform:uppercase;color:var(--acc)}
.folio{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--fg);padding:12px 0 0;font:600 11px/1 var(--text);letter-spacing:.2em;text-transform:uppercase}
.folio span:last-child{font:italic 400 22px/1 var(--display);letter-spacing:0;text-transform:none}
.folio sup{font-size:.7em;text-transform:lowercase;letter-spacing:0}
.cap{display:block;font:500 12px/1.55 var(--text);letter-spacing:.02em;color:var(--mute);max-width:34ch}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 34px;background:var(--btn);color:var(--btn-t);border:0;border-radius:0;font:600 12px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:color .45s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;background:var(--btn-h);transform:translateY(101%);transition:transform .45s var(--ease);z-index:-1}
.btn:hover::before,.btn:focus-visible::before{transform:none}
.btn:hover,.btn:focus-visible{color:var(--btn-ht)}
.btn--red{background:var(--red);color:#fff}
.btn--red::before{background:#0D0B0C}
.btn--red:hover,.btn--red:focus-visible{color:#fff}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:clamp(16px,3vw,44px);height:64px;padding:0 var(--gut);background:var(--bg);border-bottom:1px solid var(--fg);transition:background-color .8s var(--ease-out),border-color .8s}
.top__mark{font:500 28px/1 var(--display);letter-spacing:.02em;text-transform:uppercase;text-decoration:none}
.top__issue{display:flex;gap:18px;font:600 10px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.top__issue span+span::before{content:"/";margin-right:18px;color:var(--acc)}
.top__issue sup{font-size:.75em;text-transform:lowercase;letter-spacing:0}
.top__nav{display:flex;gap:clamp(14px,2vw,30px)}
.top__nav a{font:italic 400 17px/1 var(--display);text-decoration:none;padding:14px 0;background:linear-gradient(var(--acc),var(--acc)) 0 72%/0 1px no-repeat;transition:background-size .4s var(--ease)}
.top__nav a:hover,.top__nav a:focus-visible{background-size:100% 1px}
.top__book{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;background:var(--btn);color:var(--btn-t);text-decoration:none;font:600 13px/1 var(--text);letter-spacing:.04em;transition:background .3s}
.top__book:hover,.top__book:focus-visible{background:var(--btn-h);color:var(--btn-ht)}
.top__book-k{font:italic 400 16px/1 var(--display);letter-spacing:0}

/* ---------- cover ---------- */
.cover{position:relative;overflow:hidden;height:calc(100svh - 100px);min-height:620px;max-height:960px}
.cover__mast{position:absolute;left:0;right:0;top:clamp(4px,1.2vw,22px);z-index:1;text-align:center;font:500 27.4vw/.86 var(--display);font-variation-settings:"opsz" 96;letter-spacing:-.035em;text-transform:uppercase;white-space:nowrap;will-change:transform;color:var(--acc)}
.cover__mast span{display:inline-block}
.cover__mast i{display:inline-block;font-style:normal}
.cover__model{position:absolute;z-index:2;bottom:0;left:50%;height:106%;aspect-ratio:1200/1490;transform:translateX(-47%);transform-origin:50% 100%;will-change:transform;pointer-events:none}
.cover__model img{position:absolute;inset:0;width:100%;height:100%}
.cover__lines{position:absolute;z-index:4}
.cover__lines--l{left:var(--gut);bottom:clamp(28px,5vh,56px);max-width:min(30vw,400px)}
.cover__kicker{display:inline-block;background:#0D0B0C;color:#fff;font:600 11px/1 var(--text);letter-spacing:.24em;text-transform:uppercase;padding:9px 12px 8px}
.cover__big{font:400 clamp(38px,4.3vw,68px)/.98 var(--display);letter-spacing:-.02em;margin:18px 0 14px}
.cover__big em{color:var(--acc)}
.cover__sub{font-size:15px;line-height:1.5;max-width:28ch}
.cover__act{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:24px}
.cover__tel{font:italic 400 19px/1 var(--display);padding:14px 0;text-underline-offset:5px;text-decoration-thickness:1px}
.cover__tel:hover{color:var(--acc)}
.cover__lines--r{right:var(--gut);top:46%;width:min(19vw,250px);display:grid;gap:0}
.cover__lines--r li{border-top:1px solid var(--fg)}
.cover__lines--r li:last-child{border-bottom:1px solid var(--fg)}
.cover__lines--r a{display:block;padding:14px 0 15px;text-decoration:none;font:400 19px/1.22 var(--display);transition:color .3s,padding-left .45s var(--ease)}
.cover__lines--r b{display:block;font:600 10px/1 var(--text);letter-spacing:.22em;text-transform:uppercase;color:var(--acc);margin-bottom:7px}
.cover__lines--r a:hover,.cover__lines--r a:focus-visible{color:var(--acc);padding-left:10px}
.cover__code{position:absolute;z-index:4;right:var(--gut);bottom:clamp(28px,5vh,56px);background:#fff;color:#0D0B0C;padding:10px 10px 8px;display:grid;gap:6px;justify-items:center}
.cover__code span{font:600 9px/1 var(--text);letter-spacing:.2em;text-transform:uppercase}

/* cover entrance (JS gated) */
.js .cover__mast i{transform:translateY(105%);opacity:0;animation:rise 1.1s var(--ease-out) forwards}
.js .cover__mast i:nth-child(2){animation-delay:.07s}.js .cover__mast i:nth-child(3){animation-delay:.14s}.js .cover__mast i:nth-child(4){animation-delay:.21s}.js .cover__mast i:nth-child(5){animation-delay:.28s}
.js .cover__model{clip-path:inset(100% 0 0 0);animation:wipeup 1.3s var(--ease) .35s forwards}
.js .cover__lines--l>*,.js .cover__lines--r li,.js .cover__code{opacity:0;transform:translateY(14px);animation:settle .9s var(--ease-out) forwards}
.js .cover__lines--l>*:nth-child(1){animation-delay:1.05s}.js .cover__lines--l>*:nth-child(2){animation-delay:1.15s}.js .cover__lines--l>*:nth-child(3){animation-delay:1.25s}.js .cover__lines--l>*:nth-child(4){animation-delay:1.35s}
.js .cover__lines--r li:nth-child(1){animation-delay:1.2s}.js .cover__lines--r li:nth-child(2){animation-delay:1.3s}.js .cover__lines--r li:nth-child(3){animation-delay:1.4s}
.js .cover__code{animation-delay:1.5s}
@keyframes rise{to{transform:none;opacity:1}}
@keyframes wipeup{to{clip-path:inset(0 0 0 0)}}
@keyframes settle{to{opacity:1;transform:none}}

/* ---------- ticker ---------- */
.ticker{background:#0D0B0C;color:#fff;overflow:hidden;white-space:nowrap;padding:18px 0 16px}
.ticker__run{display:inline-flex;animation:tick 32s linear infinite}
.ticker__run span{font:italic 400 clamp(22px,2.4vw,34px)/1 var(--display);padding-right:1.2em}
.ticker__run span b{font-style:normal;font-weight:400;color:var(--acc);padding-right:1.2em}
@keyframes tick{to{transform:translateX(-50%)}}
[data-drift]{will-change:transform}

/* ---------- reveal system: vertical wipe + typeset captions ---------- */
.wipe{display:block;overflow:hidden;position:relative}
.js .wipe{clip-path:inset(0 0 100% 0);transition:clip-path 1.25s var(--ease)}
.js .wipe>img:first-child{transform:scale(1.14);transition:transform 1.7s var(--ease-out)}
.js .wipe.in{clip-path:inset(0 0 0 0)}
.js .wipe.in>img:first-child{transform:none}
.js [data-type] .ch{opacity:0;transition:opacity .01s linear}
.js [data-type].in .ch{opacity:1}
.w{display:inline-block;white-space:nowrap}

/* ---------- editor's letter ---------- */
.letter{padding:clamp(28px,4vw,48px) var(--gut) clamp(80px,11vw,170px)}
.letter__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(16px,2vw,32px);margin-top:clamp(56px,8vw,120px);align-items:start}
.letter__copy{grid-column:2/8}
.letter__h{font:400 clamp(44px,5.4vw,88px)/.96 var(--display);letter-spacing:-.025em;margin:22px 0 40px}
.letter__h em{color:var(--acc)}
.letter__body{columns:1;max-width:52ch}
.letter__body p+p{margin-top:1.1em}
.dropcap::first-letter{float:left;font:500 5.4em/.74 var(--display);padding:.08em .1em 0 0;color:var(--fg)}
.letter__sig{display:grid;gap:4px;margin-top:34px;font:600 11px/1.4 var(--text);letter-spacing:.16em;text-transform:uppercase}
.letter__fig{grid-column:8/12;margin-top:clamp(40px,9vw,150px)}
.letter__fig .cap{margin:14px 0 0 auto;text-align:right;transform:translateX(clamp(0px,2.5vw,40px))}
.toc{grid-column:2/7;margin-top:clamp(48px,6vw,90px)}
.toc ol{margin-top:18px;border-top:1px solid var(--fg)}
.toc a{display:flex;align-items:baseline;gap:12px;min-height:54px;padding:12px 0;border-bottom:1px solid var(--hair);text-decoration:none;font:400 clamp(22px,2vw,28px)/1.1 var(--display);transition:color .3s,padding .45s var(--ease)}
.toc a i{flex:1;border-bottom:1px dotted var(--hair);transform:translateY(-5px)}
.toc a b{font:italic 400 1em/1 var(--display);color:var(--acc)}
.toc a:hover,.toc a:focus-visible{color:var(--acc);padding-left:12px}

/* ---------- the looks ---------- */
.looks{padding:clamp(28px,4vw,48px) var(--gut) clamp(70px,8vw,120px);position:relative;overflow-x:clip}
.looks{--hs:clamp(84px,20vw,330px)}
.looks__h{font:500 var(--hs)/.8 var(--display);font-variation-settings:"opsz" 96;letter-spacing:-.04em;margin-top:clamp(40px,6vw,90px);pointer-events:none}
.looks__h1{display:block;position:relative;z-index:1}
.looks__h2{display:block;text-align:right;position:relative;z-index:3;color:var(--acc)}
.looks__h2 em{font-weight:400}
.looks__board{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(16px,2vw,32px);margin-top:calc(var(--hs) * -.98);position:relative;z-index:2}
.looks__dek{grid-column:1/5;grid-row:1;margin-top:calc(var(--hs) * 1.12);font-size:15px;max-width:34ch;padding-left:8.33vw;grid-column:1/6}
.look{position:relative}
.look figcaption{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;margin-top:16px}
.look__n{font:italic 400 44px/.8 var(--display);color:var(--acc)}
.look--1{grid-column:8/13;grid-row:1/3;margin-top:calc(var(--hs) * .52)}
.look--2{grid-column:1/7;grid-row:2/4;margin-top:clamp(40px,6vw,100px)}
.look--2 figcaption{margin-left:16%}
.look--3{grid-column:6/11;grid-row:4;z-index:2;margin-top:clamp(-260px,-14vw,-90px)}
.looks__pull{grid-column:1/6;grid-row:4;align-self:end;margin:0;padding-bottom:clamp(30px,6vw,100px)}
.looks__pull p{font:italic 400 clamp(26px,2.9vw,46px)/1.12 var(--display);letter-spacing:-.01em;text-indent:-.4em}
.look__swap{display:block;width:100%;padding:0;border:0;background:var(--blush);cursor:pointer;position:relative;overflow:hidden;border-radius:0;aspect-ratio:3/4}
.look__swap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.look__swap .look__b{clip-path:inset(100% 0 0 0);transition:clip-path .9s var(--ease)}
.look__swap[aria-pressed="true"] .look__b{clip-path:inset(0 0 0 0)}
@media (hover:hover){.look__swap:hover .look__b{clip-path:inset(0 0 0 0)}}
.look__tag{position:absolute;right:0;bottom:0;background:#fff;color:#0D0B0C;font:600 10px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;padding:11px 12px 10px;z-index:2}
.look__tag::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:8px}

/* ---------- full-bleed quote ---------- */
.bleed{min-height:86svh;display:grid;align-content:center;padding:clamp(80px,11vw,180px) var(--gut);overflow:hidden}
.bleed__q{font:400 clamp(46px,9.4vw,164px)/.92 var(--display);font-variation-settings:"opsz" 96;letter-spacing:-.035em}
.bleed__q span{display:block}
.bleed__q span:nth-child(2){padding-left:12vw}
.bleed__q span:nth-child(3){text-align:right;color:var(--acc)}
.bleed__by{margin-top:clamp(28px,4vw,56px);font:600 11px/1 var(--text);letter-spacing:.22em;text-transform:uppercase}
.js .bleed__q span{transform:translateY(40px);opacity:0;transition:transform 1.1s var(--ease-out),opacity 1.1s var(--ease-out)}
.js .bleed__q span:nth-child(2){transition-delay:.12s}.js .bleed__q span:nth-child(3){transition-delay:.24s}
.js .bleed__q.in span{transform:none;opacity:1}

/* ---------- price list ---------- */
.prices{padding:clamp(28px,4vw,48px) var(--gut) clamp(80px,11vw,170px)}
.prices__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(16px,2vw,32px);margin-top:clamp(56px,8vw,120px);align-items:start}
.prices__fig{grid-column:1/6;position:sticky;top:96px}
.prices__fig .cap{margin-top:14px}
.prices__page{grid-column:7/13}
.prices__h{font:400 clamp(60px,9vw,150px)/.84 var(--display);font-variation-settings:"opsz" 96;letter-spacing:-.04em;margin-left:-.35em;position:relative;z-index:2}
.prices__h em{color:var(--acc)}
.prices__note{max-width:46ch;margin:28px 0 0;font-size:15px}
.plist{margin-top:clamp(40px,5vw,72px)}
.plist h3{display:flex;gap:16px;align-items:baseline;font:600 12px/1 var(--text);letter-spacing:.24em;text-transform:uppercase;padding-bottom:14px;border-bottom:1px solid var(--fg)}
.plist h3 span{font:italic 400 26px/1 var(--display);letter-spacing:0;color:var(--acc);text-transform:none;min-width:34px}
.plist dl>div{display:flex;align-items:baseline;gap:14px;padding:15px 0 14px;border-bottom:1px solid var(--hair);transition:padding .45s var(--ease),color .3s}
.plist dl>div:hover{padding-left:12px;color:var(--acc)}
.plist dt{font:400 clamp(20px,1.75vw,26px)/1.15 var(--display);flex:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px}
.plist dt small{font:500 12px/1.4 var(--text);letter-spacing:.02em;color:var(--mute)}
.plist dd{font:italic 400 clamp(20px,1.75vw,26px)/1 var(--display);white-space:nowrap}
.prices__foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;margin-top:44px}
.prices__foot span{font:italic 400 19px/1.3 var(--display);max-width:28ch}

/* ---------- letters ---------- */
.letters{padding:clamp(28px,4vw,48px) var(--gut) clamp(80px,10vw,150px);overflow-x:clip}
.letters__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:clamp(40px,6vw,90px)}
.letters__h{font:500 clamp(84px,17vw,280px)/.8 var(--display);font-variation-settings:"opsz" 96;letter-spacing:-.04em;margin-left:-.04em}
.letters__score{display:flex;align-items:center;gap:20px;padding-bottom:1.2vw}
.letters__num{font:italic 500 clamp(64px,7vw,110px)/.8 var(--display);color:var(--acc)}
.letters__meta{font:600 11px/1.5 var(--text);letter-spacing:.14em;text-transform:uppercase;margin-top:8px;max-width:30ch}
.letters__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--fg)}
.ltr{padding:26px clamp(14px,1.8vw,28px) 8px;border-left:1px solid var(--hair)}
.ltr:first-child{border-left:0;padding-left:0}
.ltr:nth-child(even){margin-top:clamp(0px,5vw,80px);border-top:1px solid var(--fg);position:relative;top:-1px}
.ltr h3{font:italic 400 clamp(24px,2.1vw,32px)/1.08 var(--display);letter-spacing:-.01em;margin-bottom:16px}
.ltr p{font-size:15px;line-height:1.62}
.ltr footer{margin-top:18px;font:600 11px/1.5 var(--text);letter-spacing:.12em;text-transform:uppercase}
.ltr time{display:block;color:var(--mute);font-weight:500}

/* ---------- masthead ---------- */
.mast{padding:clamp(28px,4vw,48px) var(--gut) clamp(70px,9vw,140px)}
.mast__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(16px,2vw,32px);margin-top:clamp(48px,7vw,100px)}
.mast__h{grid-column:1/6;font:400 clamp(54px,7vw,116px)/.86 var(--display);letter-spacing:-.035em;font-style:italic}
.mast__list{grid-column:7/13;text-align:center;display:grid;gap:34px}
.mast__list dt{font:600 10px/1 var(--text);letter-spacing:.24em;text-transform:uppercase;color:var(--acc);margin-bottom:10px}
.mast__list dd{font:400 clamp(26px,2.6vw,38px)/1.05 var(--display)}
.mast__list .mast__d{font:400 14px/1.55 var(--text);color:var(--mute);max-width:40ch;margin:8px auto 0}

/* ---------- visit ---------- */
.visit{padding:clamp(28px,4vw,48px) var(--gut) clamp(80px,10vw,150px)}
.visit__fig{margin:clamp(40px,6vw,90px) calc(var(--gut) * -1) 0 8.33%}
.visit__fig .cap{margin-top:14px}
.visit__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(16px,2vw,32px);margin-top:clamp(-150px,-8vw,-40px);position:relative;z-index:2;align-items:start}
.visit__info{grid-column:1/6;padding-top:clamp(150px,12vw,220px)}
.visit__h{font:400 clamp(64px,9vw,150px)/.84 var(--display);letter-spacing:-.04em;margin-bottom:36px}
.visit__h em{color:var(--acc)}
address{font-style:normal;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:15px}
address b{font:500 22px/1.3 var(--display);text-transform:uppercase;letter-spacing:.04em}
address a{display:inline-block;padding:4px 0;text-underline-offset:4px;text-decoration-thickness:1px}
address a:hover{color:var(--acc)}
.hours{width:100%;border-collapse:collapse;margin-top:34px;font-size:15px}
.hours caption{text-align:left;font:600 11px/1 var(--text);letter-spacing:.22em;text-transform:uppercase;color:var(--acc);padding-bottom:12px}
.hours th,.hours td{padding:11px 0;border-top:1px solid var(--hair);text-align:left;font-weight:400}
.hours td{text-align:right;font:italic 400 19px/1 var(--display)}
.circ{margin-top:36px}
.circ p+p{margin-top:12px;font-size:15px;max-width:48ch}
.book{--bg:#fff;--fg:#0D0B0C;--acc:#D0122D;--mute:#5d5658;--hair:rgba(13,11,12,.22);--btn:#0D0B0C;grid-column:7/13;background:#fff;color:#0D0B0C;border:0;padding:clamp(24px,3.4vw,52px);display:grid;gap:20px;box-shadow:16px 16px 0 #0D0B0C}
.book__h{font:400 clamp(34px,3.4vw,52px)/1 var(--display);letter-spacing:-.02em}
.book__dek{font-size:15px;margin-top:-10px;color:var(--mute)}
.book label{display:grid;gap:8px}
.book label span{font:600 10px/1 var(--text);letter-spacing:.22em;text-transform:uppercase}
.book input,.book select,.book textarea{width:100%;min-height:48px;border:0;border-bottom:1px solid var(--fg);border-radius:0;background:transparent;font:400 20px/1.3 var(--display);color:var(--fg);padding:8px 0;appearance:none;transition:border-color .3s,box-shadow .3s}
.book select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230D0B0C' stroke-width='1.4'/%3E%3C/svg%3E") right 4px center/12px no-repeat}
.book textarea{resize:vertical}
.book ::placeholder{color:#8d8587;font-style:italic}
.book input:focus-visible,.book select:focus-visible,.book textarea:focus-visible{outline:0;border-color:var(--acc);box-shadow:0 2px 0 var(--acc)}
.book .btn{justify-self:start;margin-top:6px}
.book__msg{font:italic 400 19px/1.3 var(--display);color:var(--acc)}

/* ---------- footer ---------- */
.foot{background:#0D0B0C;color:#fff;padding:40px var(--gut) 0;overflow:hidden}
.foot__row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 30px;font:500 12px/1.6 var(--text);letter-spacing:.06em}
.foot__row a{display:inline-block;padding:6px 0}
.foot__mast{font:500 27.4vw/.74 var(--display);font-variation-settings:"opsz" 96;letter-spacing:-.035em;text-align:center;white-space:nowrap;color:var(--red);margin:28px 0 -5.6vw}

/* ---------- mobile dock ---------- */
.dock{display:none}

/* ---------- tablet ---------- */
@media (max-width:1080px){
  .top{grid-template-columns:auto 1fr auto}
  .top__issue{display:none}
  .top__nav{justify-content:center}
  .cover__lines--r{width:210px}
  .letters__cols{grid-template-columns:1fr 1fr}
  .ltr:nth-child(odd){border-left:0;padding-left:0}
  .ltr:nth-child(n+3){border-top:1px solid var(--fg);margin-top:34px}
  .ltr:nth-child(even){margin-top:0;border-top:0;top:0}
  .ltr:nth-child(4){border-top:1px solid var(--fg);margin-top:34px}
}

/* ---------- mobile ---------- */
@media (max-width:760px){
  body{padding-bottom:64px}
  .top{height:56px;grid-template-columns:1fr auto}
  .top__nav{display:none}
  .top__mark{font-size:24px}
  .top__book{min-height:44px;padding:0 14px;font-size:12px}
  .top__book-k{display:none}

  .cover{height:auto;min-height:0;max-height:none;padding-bottom:0;display:flex;flex-direction:column}
  .cover__mast{position:relative;top:0;padding-top:10px;font-size:29vw;margin-bottom:-21vw}
  .cover__model{position:relative;left:auto;bottom:auto;height:auto;width:96%;margin-left:4%;transform:none}
  .cover__lines--r,.cover__code{display:none}
  .cover__lines--l{position:relative;left:auto;bottom:auto;max-width:none;background:#0D0B0C;color:#fff;--acc:#FF2D4A;--bg:#0D0B0C;--btn:#fff;--btn-t:#0D0B0C;margin:-62% 0 0;padding:22px var(--gut) 30px;width:86%;z-index:5}
  .cover__big{font-size:42px;margin:14px 0 12px}
  .cover__sub{font-size:16px}
  .cover__act .btn{width:100%}

  .letter__grid,.prices__grid,.mast__grid,.visit__grid,.looks__board{display:block}
  .letter__grid{margin-top:48px}
  .letter__h{font-size:46px;margin-bottom:28px}
  .letter__fig{margin:56px 0 0 18%}
  .letter__fig .cap{transform:none;margin-left:0;text-align:left}
  .toc{margin-top:64px}

  .looks{--hs:31vw}
  .looks__h{margin-top:44px}
  .looks__dek{margin:0;padding:0}
  .looks__board{margin-top:-13vw}
  .looks__dek{padding-top:19vw;max-width:30ch}
  .look{margin-top:0}
  .look--1{width:82%;margin:28px 0 0 18%}
  .look--2{width:88%;margin-top:64px;margin-left:calc(var(--gut) * -1)}
  .look--2 figcaption{margin-left:var(--gut)}
  .look--3{width:78%;margin:64px 0 0 22%}
  .look--3 figcaption{transform:none;width:100%;margin-top:16px;padding:0;background:none}
  .looks__pull{margin:64px 0 0;padding:0}
  .looks__pull p{font-size:30px;text-indent:0}

  .bleed__q{font-size:15vw}
  .bleed__q span:nth-child(2){padding-left:0}
  .bleed__q span:nth-child(3){text-align:left}

  .prices__fig{position:relative;top:0;width:64%}
  .prices__fig .cap{max-width:none}
  .prices__page{margin-top:40px}
  .prices__h{font-size:21vw;margin-left:0}
  .plist dt{flex-direction:column;gap:3px}
  .prices__foot .btn{width:100%}

  .letters__h{font-size:27vw}
  .letters__cols{display:block}
  .ltr,.ltr:nth-child(n){border-left:0;padding:26px 0 8px;margin-top:0;border-top:1px solid var(--hair);top:0}
  .ltr:first-child{border-top:0}
  .ltr:nth-child(even){padding-left:14%}

  .mast__list{text-align:left;margin-top:40px}
  .mast__list .mast__d{margin-left:0}

  .visit__fig{margin-left:0}
  .visit__grid{margin-top:0}
  .visit__info{padding-top:48px}
  address{grid-template-columns:1fr}
  .book{margin-top:56px;box-shadow:8px 8px 0 #0D0B0C}
  .book .btn{width:100%}
  .foot__row{font-size:13px}
  .foot__row a{padding:12px 0}
  .top__mark{display:inline-flex;align-items:center;min-height:44px}
  address a{padding:10px 0}
  .eyebrow,.folio,.cover__kicker,.letter__sig,.bleed__by,.letters__meta,.ltr footer,.hours caption{font-size:12.5px}
  .cap,.plist dt small{font-size:14px}
  .looks__dek,.prices__note,.ltr p,address,.hours,.circ p+p,.book__dek{font-size:16px}
  .mast__list .mast__d{font-size:15.5px}

  .dock{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1.25fr 1fr;border-top:1px solid #0D0B0C}
  .dock a{display:flex;align-items:center;justify-content:center;min-height:56px;background:#fff;color:#0D0B0C;text-decoration:none;font:600 12px/1 var(--text);letter-spacing:.1em;text-transform:uppercase}
  .dock .dock__book{background:var(--red);color:#fff}
}

/* ---------- reduced motion ---------- */
/* Reduce Motion keeps the page alive with fades, colour flips and a slower ticker;
   slides, wipes, zooms, drift and parallax stay off. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .cover__mast i,.js .cover__lines--l>*,.js .cover__lines--r li,.js .cover__code{opacity:1;transform:none;animation-name:fadein;animation-fill-mode:both}
  .js .cover__model{clip-path:none;animation:fadein 1.2s ease .2s both}
  .ticker__run{animation-duration:64s}
  .js .wipe{clip-path:none;opacity:0;transition:opacity 1s ease}
  .js .wipe.in{opacity:1}
  .js .wipe>img:first-child{transform:none;transition:none}
  .js .bleed__q span{transform:none;transition:opacity 1.1s ease}
  .look__swap .look__b{clip-path:none;opacity:0;transition:opacity .5s ease}
  .look__swap[aria-pressed="true"] .look__b{opacity:1}
  @keyframes fadein{from{opacity:0}}
}
@media (prefers-reduced-motion:reduce) and (hover:hover){.look__swap:hover .look__b{opacity:1}}
