/* Self-hosted so the condensed display face is present everywhere. The stack below
   named only Windows/macOS faces, so on Linux and Android it fell back to a normal-width
   sans and the masthead overflowed the page at every width from 320 to 1440px.
   Latin subset, variable 600-700. Must travel with the template - see templates/CLAUDE.md. */
@font-face{font-family:'Oswald TK';src:url('../_fonts/oswald.woff2') format('woff2');font-weight:600 700;font-style:normal;font-display:swap}
:root{--ink:#0d0d0f;--bone:#f3f0ec;--paper:#fff;--orchid:#b662d6;--rule:#28282c;--grey:#67676e;
--cond:'Oswald TK','Haettenschweiler','Arial Narrow',Impact,'Oswald',sans-serif;--sans:'Helvetica Neue',Helvetica,Arial,sans-serif}
body{margin:0;background:var(--bone);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--orchid);outline-offset:4px}
.strip{margin:0;background:var(--ink);color:var(--bone);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:9px 5vw;display:flex;flex-wrap:wrap;gap:6px 14px}
.strip a{text-decoration:underline;text-underline-offset:3px}
header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 5vw;border-bottom:1px solid var(--rule)}
.mark{font-family:var(--cond);font-size:34px;letter-spacing:.02em;line-height:.9;display:flex;align-items:baseline;gap:9px}
.mark span{font-family:var(--sans);font-size:10px;letter-spacing:.34em;text-transform:uppercase;font-weight:700}
nav{display:flex;align-items:center;gap:26px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
nav a:not(.pill):hover{text-decoration:underline;text-underline-offset:5px}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border:1px solid var(--ink);border-radius:40px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;background:transparent;color:inherit}
.pill:hover{background:var(--ink);color:var(--bone)}
.pill.solid{background:var(--ink);color:var(--bone);font-weight:700}
.pill.solid:hover{background:var(--orchid);border-color:var(--orchid)}
.pill:disabled{opacity:.5}
.masthead{background:var(--ink);color:var(--bone);padding:44px 5vw 30px}
.masthead h1{font-family:var(--cond);font-size:clamp(52px,15.2vw,215px);line-height:.8;letter-spacing:.005em;margin:0;text-transform:uppercase}
.masthead h1 span{display:block}
.masthead h1 span:last-child{text-indent:.09em}
.masthead h1 em{font-style:normal;color:var(--orchid)}
.masthead-note{margin-top:26px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;line-height:2;border-top:1px solid #3b3b41;padding-top:16px}
.opening{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:5vw;padding:52px 5vw 60px;align-items:start}
.opening figure{margin:0}
.opening img{width:100%;aspect-ratio:11/15;object-fit:cover;object-position:52% 42%;filter:grayscale(1) contrast(1.06)}
.opening figcaption{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--grey);margin-top:10px}
.lede{font-size:clamp(19px,2.1vw,27px);line-height:1.45;max-width:30ch}
.facts{margin:40px 0 0;border-top:1px solid var(--rule)}
.facts>div{display:grid;grid-template-columns:1fr 2fr;gap:20px;padding:17px 0;border-bottom:1px solid #ccc7c1}
.facts dt{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--grey)}
.facts dd{margin:0;font-size:14px}
.list{background:var(--paper);padding:64px 5vw 70px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.list-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:flex-end}
.list-top h2,.studio h2,.book h2{font-family:var(--cond);text-transform:uppercase;line-height:.86;letter-spacing:.01em}
.list-top h2{font-size:clamp(56px,9vw,128px)}
.list-top p{max-width:42ch;font-size:13px;color:#35353a}
.filter{margin:34px 0 0}
.filter fieldset{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.filter legend{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--grey);margin-bottom:12px}
.filter label{position:relative}
.filter input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0}
.filter span{display:flex;align-items:center;min-height:44px;padding:0 20px;border:1px solid var(--rule);border-radius:40px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.filter input:checked+span{background:var(--orchid);border-color:var(--orchid);color:var(--ink)}
.filter input:focus-visible+span{outline:3px solid var(--orchid);outline-offset:4px}
.tally{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--grey);margin:22px 0 4px}
.rows article{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,11fr) minmax(0,4fr);gap:20px;align-items:baseline;padding:20px 0;border-top:1px solid #d8d3cd}
.rows article[hidden]{display:none}
.rows h3{font-size:20px;font-weight:600;letter-spacing:-.01em}
.rows p{font-size:13px;color:#43434a}
.price{font-family:var(--cond);font-size:24px;letter-spacing:.02em;text-align:right;text-transform:uppercase}
.fine{font-size:11.5px;line-height:1.8;color:var(--grey);max-width:76ch;margin-top:26px}
.studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6vw;padding:64px 5vw}
.studio h2{font-size:clamp(46px,6.4vw,88px);margin-bottom:24px}
.studio p{font-size:15px;max-width:44ch;margin-bottom:16px}
.notes{list-style:none;margin:0;padding:0}
.notes li{display:grid;gap:8px;padding:20px 0;border-top:1px solid var(--rule)}
.notes strong{font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.notes span{font-size:14px;color:#3a3a40}
.book{background:var(--ink);color:var(--bone);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:6vw;padding:64px 5vw 72px}
.book h2{font-size:clamp(52px,7.6vw,110px);color:var(--bone)}
.disclosure{margin-top:26px;font-size:12.5px;line-height:1.8;border-left:2px solid var(--orchid);padding-left:16px;max-width:38ch}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;margin-bottom:28px}
.fields>div{min-width:0}
label{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:9px}
input,select{width:100%;min-width:0;min-height:46px;padding:11px 12px;background:transparent;color:var(--bone);border:0;border-bottom:1px solid #55555d;border-radius:0;font-size:15px}
select{background:var(--ink)}
input:focus-visible,select:focus-visible{outline:2px solid var(--orchid);outline-offset:3px}
.book .fine{color:#9a9aa2}
.book .pill.solid{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.book .pill.solid:hover{background:var(--orchid);color:#fff;border-color:var(--orchid)}
.book noscript .fine{color:#c9c9d0}
footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:36px 5vw}
footer p{font-size:11.5px;color:var(--grey)}
.under{font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px}
.motion-toggle{font-size:11px;letter-spacing:.14em;text-transform:uppercase;min-height:44px;padding:0 18px;border-radius:40px;border-color:var(--rule)}
@media(max-width:900px){.opening,.studio,.book{grid-template-columns:1fr;gap:34px}
.opening img{aspect-ratio:4/3;object-position:52% 38%}
.rows article{grid-template-columns:minmax(0,1fr) minmax(0,3.5fr)}
.rows p{grid-column:1/-1;order:3}
.price{grid-column:2;text-align:right}}
@media(max-width:620px){header{flex-wrap:wrap;gap:14px}
nav{width:100%;justify-content:space-between;gap:10px;font-size:11px}
.masthead{padding:30px 5vw 24px}
.masthead-note{font-size:11px;line-height:1.9}
.opening,.list,.studio,.book{padding-left:6vw;padding-right:6vw}
.list,.studio{padding-top:46px;padding-bottom:46px}
.book{padding-top:46px;padding-bottom:52px}
.facts>div{grid-template-columns:1fr;gap:6px}
.rows article{grid-template-columns:1fr auto;gap:8px 16px;padding:18px 0}
.rows h3{font-size:18px}
.fields{grid-template-columns:1fr}
footer{flex-direction:column;align-items:flex-start}}
