/* whois850 — newsprint theme (light + dark) */
:root{
  --bg:#F3EEE4; --ink:#171513; --soft:#5B554C; --acc:#BD432B; --onacc:#FFFFFF;
  --ph:#DDD5C6; --ph2:#D1C8B7; --rule:rgba(23,21,19,.22); --frame:#171513;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --pad:64px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#131516; --ink:#EEE8DD; --soft:#A8A296; --acc:#F07A5E; --onacc:#131516;
    --ph:#23272B; --ph2:#2B3035; --rule:rgba(238,232,221,.2); --frame:#2E3236; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#131516; --ink:#EEE8DD; --soft:#A8A296; --acc:#F07A5E; --onacc:#131516;
  --ph:#23272B; --ph2:#2B3035; --rule:rgba(238,232,221,.2); --frame:#2E3236; color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;overflow-x:hidden;
  padding-bottom:env(safe-area-inset-bottom,0px)}
a{color:var(--ink)} a:hover{color:var(--acc)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
img{max-width:100%}
.wrap{padding-inline:var(--pad)}
.label{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--acc);text-transform:uppercase}
.it{font-style:italic}
.btn{display:inline-block;font-family:var(--sans);font-weight:700;font-size:16px;padding:17px 28px;background:var(--acc);color:var(--onacc);text-decoration:none;border:0;cursor:pointer}
.btn:hover{color:var(--onacc);filter:brightness(1.07)}
.btn--line{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.btn--line:hover{color:var(--ink);border-color:var(--acc)}
.ulink{font-family:var(--sans);font-weight:700;font-size:15px;text-underline-offset:6px;text-decoration-color:var(--acc);text-decoration-thickness:2px}

/* top strip + masthead */
.strip{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px var(--pad);padding-top:calc(14px + env(safe-area-inset-top,0px));
  font-family:var(--sans);font-size:13px;font-weight:600;color:var(--soft);border-bottom:1px solid var(--rule)}
.theme-toggle{font:inherit;color:var(--soft);background:none;border:1px solid var(--rule);padding:6px 12px;cursor:pointer}
.theme-toggle:hover{color:var(--ink);border-color:var(--ink)}
.masthead{padding:28px var(--pad) 0;display:flex;flex-direction:column;align-items:center;gap:18px}
.nameplate{font-family:var(--sans);font-weight:900;font-size:clamp(64px,14.9vw,214px);line-height:.85;letter-spacing:-.045em;color:var(--ink);text-decoration:none}
.nav{width:100%;display:flex;justify-content:center;flex-wrap:wrap;gap:12px 48px;padding:16px 0;border-top:3px solid var(--ink);border-bottom:1px solid var(--ink);
  font-family:var(--sans);font-size:15px;font-weight:600}
.nav a{text-decoration:none}
.nav a.hot,.nav a[aria-current="page"]{color:var(--acc)}
.nav a.btn[aria-current="page"]{color:var(--onacc)}
.masthead--compact{flex-direction:row;justify-content:space-between;align-items:center;padding:22px var(--pad);border-bottom:3px solid var(--ink)}
.masthead--compact .nameplate{font-size:56px;line-height:1}
.masthead--compact .nav{width:auto;border:0;padding:0;gap:12px 40px;align-items:center}

/* hero */
.hero{padding:56px var(--pad) 0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:64px;align-items:end}
.hero h1{margin:0;font-weight:400;font-size:clamp(56px,8.5vw,122px);line-height:.9;letter-spacing:-.025em}
.hero__side{display:flex;flex-direction:column;gap:22px;padding-bottom:12px}
.hero__side p{margin:0;font-size:23px;line-height:1.5}
.hero__cta{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px}
.hero__cta span{font-family:var(--sans);font-size:15px;color:var(--soft)}

/* collection carousel */
.collection{margin-top:72px;padding:36px 0 44px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:30px}
.collection__head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap}
.collection__head h2{margin:0;font-weight:400;font-size:44px;letter-spacing:-.01em}
.collection__head h2 span{font-style:italic;color:var(--soft)}
.rail{overflow:hidden;padding-left:var(--pad)}
.track{display:flex;gap:36px;width:max-content;animation:slide 130s linear infinite;will-change:transform}
.rail:hover .track,.rail:focus-within .track{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .track{animation:none}
  .track .dup{display:none}
  .rail{overflow-x:auto}
}

/* phone thumbnail of a card design */
.thumb{margin:0;flex:none;display:flex;flex-direction:column;gap:14px;width:232px;text-decoration:none;color:var(--ink)}
.thumb:hover{color:var(--ink)}
.thumb__screen{width:232px;height:470px;border:7px solid var(--frame);border-radius:34px;background:var(--t-bg);overflow:hidden;
  display:flex;flex-direction:column;align-items:center;padding:40px 18px 18px;gap:6px;transition:transform .25s ease}
.thumb:hover .thumb__screen,.thumb:focus-visible .thumb__screen{transform:translateY(-6px)}
.thumb__av{width:62px;height:62px;border-radius:var(--t-av);background:var(--t-acc);color:var(--t-on);display:grid;place-items:center;
  font-family:var(--t-font);font-weight:var(--t-w);font-size:20px}
.thumb__name{font-family:var(--t-font);font-weight:var(--t-w);letter-spacing:var(--t-ls);font-size:25px;color:var(--t-ink);margin-top:10px;white-space:nowrap}
.thumb__title{font-family:var(--sans);font-size:10px;color:var(--t-dim)}
.thumb__bar{width:100%;height:26px;border-radius:var(--t-r);background:var(--t-soft)}
.thumb__bar--save{height:30px;margin-top:14px;background:var(--t-acc)}
.thumb__duo{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.thumb__duo i{height:26px;border-radius:var(--t-r);border:1px solid var(--t-dim)}
.thumb__dots{display:flex;gap:6px;margin:10px 0}
.thumb__dots i{width:18px;height:18px;border-radius:50%;border:1px solid var(--t-dim)}
.thumb figcaption{font-family:var(--sans);font-size:14px;display:flex;gap:8px}
.thumb figcaption em{font-family:var(--serif);color:var(--acc)}
.thumb figcaption b{font-weight:600}

/* how it works */
.how{margin-top:110px;display:grid;grid-template-columns:380px minmax(0,1fr);gap:80px}
.how h2{margin:0;font-weight:400;font-size:72px;line-height:.95;letter-spacing:-.02em}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin:0;padding:0;list-style:none}
.steps li{display:flex;flex-direction:column;gap:10px;padding-top:20px;border-top:1px solid var(--ink)}
.steps .n{font-style:italic;font-size:30px;color:var(--acc)}
.steps .h{font-size:30px}
.steps .b{font-family:var(--sans);font-size:16px;line-height:1.55;color:var(--soft)}

/* photos */
.photo{margin:0;background-color:var(--ph);background-image:repeating-linear-gradient(135deg,var(--ph2) 0 1px,transparent 1px 14px);position:relative;overflow:hidden}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

/* feature articles */
.feature{margin-top:140px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px}
.feature .photo{min-height:820px}
.article{display:flex;flex-direction:column;gap:26px;padding-top:20px}
.article h2{margin:0;font-weight:400;font-size:clamp(44px,5vw,72px);line-height:.98;letter-spacing:-.02em}
.article p{margin:0;font-size:21px;line-height:1.6}
.dropcap::first-letter{float:left;font-size:92px;line-height:.8;padding:6px 12px 0 0;color:var(--acc)}
.pull{margin:12px 0;padding:26px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-size:44px;font-style:italic;line-height:1.15}
.article .btn{align-self:flex-start}

.events{margin-top:150px;display:flex;flex-direction:column;gap:48px}
.events .photo--wide{height:640px}
.events__text{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px}
.events__text h2{margin:10px 0 0;font-weight:400;font-size:clamp(56px,6.7vw,96px);line-height:.92;letter-spacing:-.025em;font-style:italic}
.events__text .body{display:flex;flex-direction:column;gap:22px;padding-top:38px}
.events__text p{margin:0;font-size:21px;line-height:1.6}
.events__text .btn{align-self:flex-start;margin-top:6px}

/* field notes */
.notes{margin-top:150px;padding-top:72px;border-top:3px solid var(--ink);display:grid;grid-template-columns:420px minmax(0,1fr);gap:80px}
.notes h2{margin:14px 0 18px;font-weight:400;font-size:84px;line-height:.92;letter-spacing:-.02em}
.notes__intro p{margin:0;font-size:20px;line-height:1.55;color:var(--soft)}
.toc{margin:0;padding:0;list-style:none;border-bottom:1px solid var(--rule)}
.toc li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:24px;padding:26px 0;border-top:1px solid var(--rule)}
.toc .n{font-size:34px;font-style:italic;color:var(--acc);line-height:1}
.toc .k{display:block;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--soft);margin-bottom:8px}
.toc .t{font-size:30px;line-height:1.15}
.toc .soon{font-family:var(--sans);font-size:13px;color:var(--soft);margin-left:10px}

.towns{margin-top:130px}
.towns p{margin:0;font-size:clamp(26px,2.8vw,40px);line-height:1.35;letter-spacing:-.01em}
.towns .label{vertical-align:middle;margin-right:16px}

/* order form */
.order{margin-top:120px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px}
.order h2{margin:0;font-weight:400;font-size:clamp(64px,7.6vw,110px);line-height:.9;letter-spacing:-.025em}
.order__intro{display:flex;flex-direction:column;gap:24px}
.order__intro p{margin:0;font-size:21px;line-height:1.6;color:var(--soft);max-width:30ch}
.form{display:flex;flex-direction:column;gap:10px;font-family:var(--sans)}
.form label{font-size:14px;font-weight:600;color:var(--soft);margin-top:18px}
.form label:first-of-type{margin-top:0}
.form input,.form select{height:52px;border:0;border-bottom:2px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font-size:22px;font-family:var(--serif);padding:0 2px;width:100%}
.form select option{background:var(--bg);color:var(--ink)}
.form .btn{margin-top:30px;align-self:flex-start;height:58px;padding:0 34px}
.form .btn[disabled]{opacity:.6;cursor:default}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form__status{min-height:1.5em;font-size:16px;margin:8px 0 0;color:var(--ink)}

/* footer */
.footer{margin-top:130px;padding:36px var(--pad);border-top:3px solid var(--ink);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;
  font-family:var(--sans);font-size:14px;color:var(--soft)}
.footer__brand{display:flex;align-items:center;gap:14px}
.footer__brand img{width:40px;height:40px}
.footer__brand span{font-weight:900;font-size:20px;letter-spacing:-.02em;color:var(--ink)}
.footer nav{display:flex;flex-wrap:wrap;gap:12px 32px}
.footer nav a{text-decoration:none;color:var(--soft)}
.footer nav a:hover{color:var(--acc)}

/* collection page */
.page-title{padding:80px var(--pad) 64px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:64px;align-items:end;border-bottom:1px solid var(--rule)}
.page-title h1{margin:0;font-weight:400;font-size:clamp(72px,10.4vw,150px);line-height:.86;letter-spacing:-.03em}
.page-title p{margin:0 0 14px;font-size:22px;line-height:1.55}
.catalog{padding:64px var(--pad) 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));column-gap:28px;row-gap:64px;margin:0;list-style:none}
.catalog li{display:flex;flex-direction:column;gap:14px}
.catalog p{margin:0;font-size:17px;line-height:1.45;color:var(--soft)}
.catalog .links{display:flex;gap:20px;font-family:var(--sans);font-size:14px;font-weight:700}
.catalog .links a{text-underline-offset:5px}
.catalog .links a+a{color:var(--acc)}
.split{margin-top:140px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.split .photo{min-height:620px}
.split .text{display:flex;flex-direction:column;gap:24px}
.split h2,.sect h2{margin:0;font-weight:400;font-size:clamp(48px,5.3vw,76px);line-height:.95;letter-spacing:-.02em}
.split p{margin:0;font-size:21px;line-height:1.6}
.split .btn{align-self:flex-start}
.sect{margin-top:140px}
.sect--side{display:grid;grid-template-columns:420px minmax(0,1fr);gap:80px}
.sect--side .head{display:flex;flex-direction:column;gap:18px}
.prices{margin:0;border-bottom:1px solid var(--ink)}
.prices div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:baseline;padding:26px 0;border-top:1px solid var(--ink)}
.prices dt{font-size:32px}
.prices dt small{display:block;font-family:var(--sans);font-size:15px;color:var(--soft);margin-top:6px}
.prices dd{margin:0;font-family:var(--sans);font-size:22px;font-weight:700}
.faq{margin-top:28px;border-bottom:1px solid var(--rule)}
.faq div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:48px;padding:30px 0;border-top:1px solid var(--rule)}
.faq dt{font-size:30px;line-height:1.2}
.faq dd{margin:0;font-size:19px;line-height:1.6;color:var(--soft)}
.closer{margin-top:130px;padding:72px var(--pad);border-top:3px solid var(--ink);display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.closer h2{margin:0;font-weight:400;font-size:clamp(56px,6.4vw,92px);line-height:.9;letter-spacing:-.025em}
.closer + .footer{margin-top:0}

/* 404 */
.lost{min-height:60vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:24px;padding:80px var(--pad)}
.lost h1{margin:0;font-weight:400;font-size:clamp(64px,10vw,140px);line-height:.9;letter-spacing:-.03em}
.lost p{margin:0;font-size:21px;line-height:1.6;color:var(--soft);max-width:36ch}

/* responsive */
@media (max-width:1100px){
  :root{--pad:40px}
  .hero,.page-title{grid-template-columns:1fr;gap:28px}
  .how,.notes,.sect--side{grid-template-columns:1fr;gap:32px}
  .masthead--compact{flex-direction:column;align-items:flex-start;gap:14px}
}
@media (max-width:820px){
  :root{--pad:20px}
  .strip span:nth-child(2){display:none}
  .nav{justify-content:space-between;gap:10px 18px;font-size:13px;padding:12px 0}
  .hero{padding-top:32px}
  .hero__side p{font-size:18px}
  .hero__cta{flex-direction:column;align-items:stretch;text-align:center}
  .collection{margin-top:36px;padding:24px 0 28px}
  .collection__head h2{font-size:30px}
  .collection__head h2 span{display:block;font-size:18px}
  .track{gap:30px}
  .thumb,.thumb__screen{width:190px}
  .thumb__screen{height:385px;padding:32px 14px 14px;border-width:6px;border-radius:28px}
  .thumb__name{font-size:20px}
  .how{margin-top:64px}
  .how h2,.notes h2{font-size:48px}
  .steps{grid-template-columns:1fr;gap:24px}
  .feature,.events__text,.order,.split{grid-template-columns:1fr;gap:32px}
  .feature{margin-top:80px}
  .feature .photo{min-height:420px}
  .events{margin-top:80px}
  .events .photo--wide{height:320px}
  .events__text .body{padding-top:0}
  .article p,.events__text p,.split p{font-size:18px}
  .pull{font-size:32px}
  .notes{margin-top:80px;padding-top:48px}
  .toc .t{font-size:22px}
  .toc li{grid-template-columns:44px minmax(0,1fr);gap:16px}
  .towns,.order,.sect,.split{margin-top:80px}
  .footer{margin-top:80px;flex-direction:column;align-items:flex-start}
  .masthead--compact .nameplate{font-size:40px}
  .catalog{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));column-gap:16px;row-gap:40px}
  .catalog .thumb,.catalog .thumb__screen{width:100%}
  .masthead--compact .nav{width:100%;justify-content:space-between;gap:10px 16px}
  .masthead--compact .nav .btn{padding:10px 14px;font-size:13px}
  .catalog .links{flex-direction:column;gap:8px;font-size:13px}
  .prices dt{font-size:24px}
  .faq div{grid-template-columns:1fr;gap:10px}
  .faq dt{font-size:24px}
  .closer{margin-top:80px;padding:48px var(--pad)}
}

/* tiers: classic + link-page thumbnails */
.thumb figcaption{flex-wrap:wrap;align-items:baseline}
.thumb__tier{margin-left:auto;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);border:1.5px solid var(--ink);padding:3px 8px;border-radius:999px;line-height:1.2}
.thumb__screen--classic{background:radial-gradient(120% 90% at 50% -10%,var(--t-bg2),var(--t-bg) 55%);justify-content:center;padding:18px 20px;gap:8px}
.thumb__eyebrow{font-family:var(--sans);font-size:8px;letter-spacing:.28em;text-transform:uppercase;color:var(--t-acc2)}
.thumb__big{font-family:var(--t-font);font-weight:var(--t-w);font-size:40px;line-height:.92;text-align:center;color:var(--t-ink);margin-top:6px}
.thumb__sig{width:56px;height:0;border-top:2px solid var(--t-acc);margin:8px 0}
.thumb__screen--classic .thumb__title{font-size:11px;margin-bottom:16px}
.thumb__screen--classic .thumb__bar--save{margin-top:0}
.thumb__bar--line{background:transparent;border:1px solid var(--t-soft)}
.thumb__screen--links{background:linear-gradient(170deg,var(--t-bg2),var(--t-bg) 65%);justify-content:center;padding:18px 20px;gap:6px}
.thumb__av--round{border-radius:50%}
.thumb__screen--links .thumb__title{font-size:10px;margin-bottom:14px}
.thumb__lk{width:100%;height:28px;flex:none;border-radius:var(--t-r);background:var(--t-lbg);border:var(--t-lbd);box-sizing:border-box}
.thumb__lk + .thumb__lk{margin-top:4px}

/* collection page segments */
.jump{display:flex;flex-wrap:wrap;gap:12px 40px;padding-top:28px;padding-bottom:28px;border-bottom:1px solid var(--rule);font-family:var(--sans);font-size:16px;font-weight:700}
.jump a{text-decoration:none}
.jump span{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--acc);margin-left:4px}
.segment{padding-top:88px;scroll-margin-top:12px}
.segment + .segment{margin-top:40px;border-top:3px solid var(--ink)}
.segment__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:64px;row-gap:12px;align-items:end}
.segment__head .label{grid-column:1 / -1}
.segment__head h2{margin:0;font-weight:400;font-size:clamp(48px,5.3vw,76px);line-height:.95;letter-spacing:-.02em}
.segment__head p{margin:0 0 8px;font-size:20px;line-height:1.55;color:var(--soft)}
.segment .catalog{padding-top:48px}
@media (max-width:820px){
  .segment{padding-top:56px}
  .segment__head{grid-template-columns:1fr}
  .thumb__big{font-size:32px}
  .jump{gap:10px 24px;font-size:14px}
}

/* live page swapped in on hover */
.thumb__screen{position:relative}
.thumb__live{position:absolute;top:0;left:0;width:390px;height:900px;border:0;transform-origin:0 0;pointer-events:none;opacity:0;transition:opacity .25s ease;background:transparent}
.thumb.is-live .thumb__live{opacity:1}
.thumb{cursor:pointer}

/* live preview dialog */
.preview{border:0;padding:0;max-width:min(920px,calc(100vw - 32px));width:100%;background:var(--bg);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.35)}
.preview::backdrop{background:rgba(10,10,10,.62)}
.preview__inner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:48px;padding:40px;align-items:center}
.preview__phone{width:330px;height:680px;border:10px solid var(--frame);border-radius:44px;overflow:hidden;background:#000}
.preview__phone iframe{width:390px;height:830px;border:0;display:block;transform:scale(.7949);transform-origin:0 0}
.preview__side{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.preview__side h2{margin:0;font-weight:400;font-size:clamp(40px,5vw,64px);line-height:.95;letter-spacing:-.02em}
.preview__side p{margin:0;font-size:18px;line-height:1.55;color:var(--soft)}
.preview__qr{display:flex;align-items:center;gap:16px;margin-top:8px;padding-top:18px;border-top:1px solid var(--rule);width:100%}
.preview__qr #preview-qr{flex:none;width:112px;height:112px;background:#fff;padding:6px}
.preview__qr #preview-qr svg,.preview__qr #preview-qr img{width:100%;height:100%;display:block}
.preview__qr p{font-family:var(--sans);font-size:14px}
.preview__close{font-family:var(--sans);font-size:14px;font-weight:700;background:none;border:0;color:var(--ink);text-decoration:underline;text-underline-offset:5px;cursor:pointer;padding:8px 0}
@media (max-width:820px){
  .preview{max-width:100vw;max-height:100dvh;height:100dvh;margin:0}
  .preview__inner{grid-template-columns:1fr;gap:20px;padding:20px;justify-items:center;height:100%;overflow:auto}
  .preview__phone{width:270px;height:556px;border-width:8px;border-radius:36px}
  .preview__phone iframe{transform:scale(.6513)}
  .preview__side{align-items:stretch;width:100%}
  .preview__side h2{font-size:40px}
  .preview__side .btn{text-align:center}
  .preview__qr{display:none!important}
}
.preview{position:fixed;inset:0;margin:auto;height:fit-content;max-height:calc(100dvh - 32px);overflow:auto}
html:has(dialog[open]){overflow:hidden}
.preview__qr[hidden]{display:none}
.preview__x{position:absolute;top:10px;right:10px;margin:0;z-index:2}
.preview__x button{width:44px;height:44px;display:grid;place-items:center;background:var(--bg);color:var(--ink);border:1px solid var(--rule);cursor:pointer}
.preview__x button:hover{border-color:var(--ink)}

/* skip drawing below-the-fold sections until they're near the screen */
.feature,.events,.limitless,.about,.notes,.towns,.segment + .segment,.split,.closer{content-visibility:auto;contain-intrinsic-size:auto 900px}

/* pricing table */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pricing{display:flex;flex-direction:column;gap:28px}
.pricing__lead{margin:0;font-family:var(--sans);font-size:16px;color:var(--soft)}
.pricing__lead strong{color:var(--acc)}
.tablewrap{overflow-x:auto}
.ptable{width:100%;border-collapse:collapse;min-width:560px}
.ptable th,.ptable td{text-align:left;padding:20px 16px 20px 0;border-top:1px solid var(--ink);vertical-align:top}
.ptable thead th{font-family:var(--sans);font-size:14px;font-weight:700;border-top:3px solid var(--ink)}
.ptable th small,.ptable thead small{display:block;font-family:var(--sans);font-weight:400;font-size:13px;color:var(--soft);margin-top:4px}
.ptable tbody th{font-weight:400;font-size:26px}
.ptable td b{font-family:var(--sans);font-size:24px;font-weight:700;margin-right:10px}
.ptable td s{font-family:var(--sans);font-size:15px;color:var(--soft)}
.ptable tbody tr:last-child th,.ptable tbody tr:last-child td{border-bottom:1px solid var(--ink)}
.pricing__bundle{margin:0;font-size:21px}
.pricing__bundle a{font-style:italic;text-decoration-color:var(--acc);text-underline-offset:5px}
@media (max-width:820px){.ptable tbody th{font-size:20px}.ptable td b{font-size:19px;display:block}}
.sect--side > *{min-width:0}
@media (max-width:820px){
  .ptable{min-width:0}
  .ptable th,.ptable td{padding:14px 8px 14px 0}
  .ptable thead th{font-size:12px}
  .ptable thead small{display:none}
  .ptable tbody th{font-size:18px}
  .ptable tbody th small{font-size:11px}
  .ptable td b{font-size:17px;margin:0}
  .ptable td s{font-size:12px}
  .prices dd{font-size:18px}
  .prices div{gap:16px}
}

/* v3: spacing, styles callout, gallery, limitless */
.order{padding-top:40px;row-gap:48px}
.order h2{line-height:1;padding-top:.06em}
.form{gap:12px}
.form label{margin-top:26px}
.form .btn{margin-top:40px}
.sect{padding-top:8px}
.collection__head .btn{padding:15px 24px;font-size:16px}
.styles{margin-top:56px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.style{display:flex;flex-direction:column;gap:12px;padding:28px 0 0;border-top:3px solid var(--ink);text-decoration:none;color:var(--ink)}
.style:hover{color:var(--ink)}
.style__name{font-size:clamp(30px,3vw,40px);line-height:1.05;letter-spacing:-.01em}
.style__body{font-family:var(--sans);font-size:16px;line-height:1.55;color:var(--soft)}
.style__price{font-family:var(--sans);font-weight:700;font-size:15px;margin-top:4px;text-decoration:underline;text-decoration-color:var(--acc);text-decoration-thickness:2px;text-underline-offset:6px}
.style:hover .style__price{color:var(--acc)}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.gallery img{width:100%;height:auto;display:block;background:var(--ph)}
.events .gallery{margin-top:8px}
.limitless{margin-top:150px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.limitless__head{display:flex;flex-direction:column;gap:22px;position:sticky;top:24px}
.limitless h2{margin:0;font-weight:400;font-size:clamp(48px,5.6vw,80px);line-height:.95;letter-spacing:-.02em}
.limitless p{margin:0;font-size:21px;line-height:1.6}
.ideas{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule)}
.ideas li{font-family:var(--sans);font-size:15px;padding:12px 12px 12px 0;border-bottom:1px solid var(--rule)}
.limitless .btn{align-self:flex-start}
.gallery--two{grid-template-columns:1fr}
@media (max-width:1100px){.styles{grid-template-columns:1fr}.limitless{grid-template-columns:1fr}.limitless__head{position:static}}
@media (max-width:820px){
  .styles{margin-top:36px;gap:24px}
  .gallery{grid-template-columns:1fr;gap:16px}
  .limitless{margin-top:80px}
  .limitless p{font-size:18px}
  .ideas{grid-template-columns:1fr}
  .order{padding-top:24px}
  .collection__head .btn{width:100%;text-align:center}
  .preview{inset:0;margin:0;max-height:100dvh;height:100dvh;width:100vw;max-width:100vw}
}

/* v4: slogan headline */
.hero h1,.page-title h1{display:flex;flex-direction:column;gap:22px}
.slogan{display:block}
.hero .slogan{font-size:clamp(84px,12vw,176px);line-height:.86;letter-spacing:-.035em}
.h1-sub{display:block;font-family:var(--sans);font-size:clamp(17px,1.6vw,22px);font-weight:700;letter-spacing:0;line-height:1.3;color:var(--soft)}
.page-title h1{font-size:inherit}
.page-title .slogan{font-size:clamp(72px,10.4vw,150px);line-height:.86;letter-spacing:-.03em}
.footer__brand em{font-family:var(--serif);font-size:18px;color:var(--soft);margin-left:6px}

/* who we are */
.about{margin-top:150px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:72px;align-items:center}
.about__photo{aspect-ratio:4/3;min-height:0}
.about__text{display:flex;flex-direction:column;gap:24px}
.about h2{margin:0;font-weight:400;font-size:clamp(52px,6vw,88px);line-height:.95;letter-spacing:-.02em}
.about p{margin:0;font-size:21px;line-height:1.6}
.about .btn{align-self:flex-start}
@media (max-width:820px){.about{margin-top:80px;grid-template-columns:1fr;gap:32px}.about p{font-size:18px}}

/* v5: inner pages, made-here band, forms */
.btnrow{display:flex;flex-wrap:wrap;gap:14px;align-self:flex-start}
.madehere{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;margin-top:130px;padding-top:28px;padding-bottom:28px;
  border-top:3px solid var(--ink);border-bottom:1px solid var(--ink);text-decoration:none;color:var(--ink)}
.madehere__line{font-size:clamp(26px,3vw,40px);line-height:1.15}
.madehere__link{font-family:var(--sans);font-weight:700;font-size:16px;text-decoration:underline;text-decoration-color:var(--acc);text-decoration-thickness:2px;text-underline-offset:6px}
.madehere:hover{color:var(--ink)} .madehere:hover .madehere__link{color:var(--acc)}
.madehere + .closer{margin-top:0;border-top:0}
.page-title p{max-width:44ch}
.page-title--solo{grid-template-columns:1fr}
.steps--stack{grid-template-columns:1fr;gap:26px}
.order__prices{font-family:var(--sans);font-size:15px;line-height:1.6;color:var(--soft)!important;max-width:none!important}
.order__prices a{color:var(--ink);font-weight:700}
.order h2{margin:0}
.events__gallery{margin-top:64px}
.notes--page{margin-top:48px;border-top:0;padding-top:0;display:block}
.form textarea{border:0;border-bottom:2px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font-size:20px;font-family:var(--serif);padding:8px 2px;width:100%;resize:vertical}
.form input[type="date"]{color-scheme:inherit}
.form small{font-weight:400}
.checks{border:0;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
.checks legend{font-size:14px;font-weight:600;color:var(--soft);margin-bottom:12px;padding:0}
.form .check{display:flex;align-items:center;gap:10px;margin:0;font-size:16px;font-weight:500;color:var(--ink);cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--acc);flex:none}
.about{margin-top:72px}
@media (max-width:820px){.madehere{margin-top:80px}.checks{grid-template-columns:1fr}}

/* v6: centered styles, caps nav, collection separator */
.styles{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1120px;margin-left:auto;margin-right:auto;gap:48px}
.nav{text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.collection__head h2 .sep{font-style:normal;color:var(--rule);margin:0 6px}
@media (max-width:1100px){.styles{grid-template-columns:1fr}}
@media (max-width:820px){.nav{font-size:12px;letter-spacing:.05em}}

/* v7: packages + checkout */
.packages{margin-top:72px}
.packages__head{display:flex;flex-direction:column;gap:14px;margin-bottom:36px;max-width:62ch}
.packages__head h2{margin:0;font-weight:400;font-size:clamp(44px,5vw,72px);line-height:.95;letter-spacing:-.02em}
.packages__head p{margin:0;font-size:19px;line-height:1.55;color:var(--soft)}
.pkgs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pkg{position:relative;display:flex;flex-direction:column;gap:12px;padding:28px;border:1px solid var(--rule);border-top:3px solid var(--ink);text-decoration:none;color:var(--ink);background:transparent;transition:border-color .2s}
.pkg:hover{color:var(--ink);border-color:var(--ink)}
.pkg__card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;width:100%;aspect-ratio:1.586;border-radius:12px;margin-bottom:8px;padding:16px;box-shadow:0 14px 30px rgba(0,0,0,.18);overflow:hidden}
.pkg__card--plain{background:#FAFAF7;border:1px solid rgba(0,0,0,.08)}
.pkg__card--holo{background:linear-gradient(115deg,#E8D5F7 0%,#B9E6F2 22%,#F7D9E3 40%,#D6F5DA 58%,#F5E9C4 76%,#C9D4F7 100%)}
.pkg__card--holo::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.6) 45%,transparent 60%);background-size:250% 100%;animation:holo 5s ease-in-out infinite}
@keyframes holo{0%,100%{background-position:100% 0}50%{background-position:0 0}}
.pkg__card--sig{background:#131516;color:#EEE8DD}
.pkg__card--sig b{font-family:var(--serif);font-weight:400;font-size:clamp(20px,2vw,26px);line-height:1}
.pkg__card--sig small{font-family:var(--sans);font-size:11px;opacity:.7;margin-top:4px}
.pkg__tap{position:absolute;right:14px;top:14px;width:22px;height:22px;border-radius:50%;border:2px solid currentColor;opacity:.35}
.pkg__card--plain .pkg__tap,.pkg__card--holo .pkg__tap{color:#171513}
.pkg__name{font-size:34px;line-height:1}
.pkg__price{font-family:var(--sans);font-size:40px;font-weight:900;letter-spacing:-.02em;line-height:1}
.pkg__desc{font-family:var(--sans);font-size:15px;line-height:1.55;color:var(--soft)}
.pkg__feats{margin:4px 0 0;padding:0;list-style:none;border-top:1px solid var(--rule)}
.pkg__feats li{font-family:var(--sans);font-size:14px;padding:9px 0;border-bottom:1px solid var(--rule)}
.pkg__cta{margin-top:auto;padding-top:10px;font-family:var(--sans);font-weight:700;font-size:15px;text-decoration:underline;text-decoration-color:var(--acc);text-decoration-thickness:2px;text-underline-offset:6px}
.pkg:hover .pkg__cta{color:var(--acc)}
.pkg--pick{cursor:pointer}
.pkg--pick input{position:absolute;opacity:0;pointer-events:none}
.pkg--pick.is-on{border-color:var(--acc);box-shadow:inset 0 0 0 2px var(--acc)}
.pkg--pick:has(input:focus-visible){outline:2px solid var(--acc);outline-offset:3px}
.prices--extras{margin-top:40px;max-width:760px}
#pricing .pricing__bundle{margin-top:28px}
.checkout{margin-top:48px;display:flex;flex-direction:column;gap:56px}
.checkout__step{border:0;padding:0;margin:0;min-width:0}
.checkout__step legend{font-size:clamp(28px,3vw,40px);padding:0;margin-bottom:24px}
.checkout__step legend .n{font-style:italic;color:var(--acc)}
.checkout__design{max-width:640px}
.checkout__hint{font-family:var(--sans);font-size:14px;color:var(--soft);margin:8px 0 0}
.checkout__summary{display:flex;justify-content:space-between;align-items:baseline;gap:20px;max-width:640px;padding:18px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-family:var(--sans);font-size:16px}
.checkout__summary strong{font-size:32px;font-weight:900}
.checkout__fallback{max-width:640px;margin-top:20px}
.checkout__go{margin-top:28px;height:60px;padding:0 36px}
.checkout__go[disabled]{opacity:.45;cursor:default}
.checkout__fine{font-family:var(--sans);font-size:13px;color:var(--soft);margin:12px 0 0}
@media (max-width:1100px){.pkgs{grid-template-columns:1fr;max-width:520px}}
@media (prefers-reduced-motion:reduce){.pkg__card--holo::after{animation:none}}
.form .premier-only,.form .signature-only{display:flex;flex-direction:column;gap:10px}
.form .premier-only label:first-child{margin-top:26px}
[hidden]{display:none!important}
.checkout > .checkout__go{align-self:flex-start}
.checkout > .form{max-width:640px}

/* v8: home copy refresh, same design */
.hero__side p + p{margin-top:0}
.steps--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.how--doors{grid-template-columns:320px minmax(0,1fr)}
.how--doors .n{font-size:26px}
.towns__list{margin-top:22px!important;font-size:clamp(20px,2vw,28px)!important;color:var(--soft)}
.towns__list .it{color:var(--ink)}
.closer__side{display:flex;flex-direction:column;gap:18px;max-width:520px}
.closer__side p{margin:0;font-size:19px;line-height:1.55}
@media (max-width:1100px){.steps--four{grid-template-columns:repeat(2,minmax(0,1fr))}.how--doors{grid-template-columns:1fr}}
@media (max-width:820px){.steps--four{grid-template-columns:1fr}.closer__side .btnrow{flex-direction:column}.closer__side .btn{text-align:center}}


