@font-face{font-family:Inter;src:url('/assets/inter.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('/assets/source-serif.woff2') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
:root{color-scheme:light;--gold:#e3d061;--gold-dark:#877a35;--ink:#111827;--muted:#57534e;--paper:#fafaf9;--stone:#f5f5f4;--line:#e7e5e4}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif}
button{font:inherit}
.screen{width:100%;min-height:100svh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto 4px}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;padding:2.2vh 3.5vw}
.logo{width:clamp(220px,24vw,470px);height:auto;max-height:9vh;object-fit:contain;object-position:left center}
.masthead-right{display:flex;align-items:center;gap:3vw;color:var(--muted);font-size:clamp(12px,1.1vw,24px)}
.masthead-right time{font-size:clamp(16px,1.7vw,32px);font-variant-numeric:tabular-nums;color:var(--ink)}
.topics{display:flex;justify-content:center;gap:4.5vw;padding:1.45vh 3vw;background:var(--ink);color:#e7e5e4;border-bottom:4px solid var(--gold);font-size:clamp(12px,1.25vw,25px)}
.topics span{position:relative;white-space:nowrap}
.topics .active{color:var(--gold)}
.topics .active:after{content:'';position:absolute;height:3px;background:var(--gold);bottom:-1.45vh;left:0;right:0}
#stage{position:relative;display:grid;min-height:0;overflow:hidden}
.slide{display:grid;grid-template-columns:56% 44%;width:100%;min-height:0;animation:arrive .8s ease both}
.photo{margin:0;position:relative;background:#e7e5e4;min-height:300px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.photo>img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:contain;background:#e7e5e4;animation:breathe 18s ease-out both}
.photo .photo-label{position:absolute;left:3.5vw;top:3vh;font-size:clamp(11px,1vw,20px);font-weight:600;letter-spacing:.08em;background:var(--ink);color:#fff;padding:.7em 1em;border-left:4px solid var(--gold)}
.photo .image-missing{position:relative;text-align:center;max-width:70%;font:400 clamp(22px,3vw,50px)/1.15 'Source Serif 4',Georgia,serif;color:var(--muted);padding:40px}
.product-copy{padding:3.7vh 3.5vw 3vh;display:flex;flex-direction:column;justify-content:center;min-width:0;background:var(--paper)}
.eyebrow{color:var(--gold-dark);font-size:clamp(12px,1vw,22px);font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1.7vh}
.section-title{font:400 clamp(18px,1.6vw,34px)/1.25 'Source Serif 4',Georgia,serif;margin:0 0 1.7vh;color:var(--muted)}
.product-title{font:500 clamp(26px,2.65vw,62px)/1.13 'Source Serif 4',Georgia,serif;margin:0 0 2.5vh;overflow-wrap:anywhere;text-wrap:balance}
.price-block{margin-top:1vh}
.price-label{color:var(--muted);font-size:clamp(12px,1.1vw,23px);display:block;margin-bottom:.5vh}
.price{font-size:clamp(34px,3.55vw,80px);font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1.1}
.product-meta{font-size:clamp(12px,1.15vw,24px);color:var(--muted);margin-top:1.7vh;line-height:1.5}
.closing{display:block;color:var(--gold-dark);margin-top:.3em}
.cta{align-self:flex-start;display:inline-block;background:var(--gold);color:var(--ink);font-size:clamp(12px,1.15vw,24px);font-weight:500;padding:.85em 1.15em;margin-top:3vh;border-radius:7px;line-height:1.25}
.service .photo>img{object-fit:cover}
.service .product-title{font-size:clamp(34px,3.6vw,78px)}
.service .product-meta{font-size:clamp(16px,1.5vw,29px);line-height:1.65;max-width:32em}
.service .photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#11182777,transparent 60%)}
.photo-quote{position:absolute;bottom:5vh;left:3.5vw;right:3.5vw;z-index:1;color:white;font:400 clamp(28px,3vw,65px)/1.12 'Source Serif 4',Georgia,serif;text-wrap:balance}
.bottom{background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:3vw;padding:1.8vh 3.5vw}
.address span{display:block;font-size:clamp(11px,.9vw,19px);color:var(--muted);margin-bottom:.4em}
.address strong{font-family:'Source Serif 4',Georgia,serif;font-size:clamp(26px,2.8vw,58px);font-weight:500;letter-spacing:-.03em}
.bottom-middle{display:flex;flex-direction:column;gap:.5em;font-size:clamp(12px,1.1vw,24px);color:var(--muted);text-align:center}
.bottom-middle small{font-size:clamp(10px,.8vw,17px)}
.qr-wrap{display:flex;align-items:center;gap:1.5vw;font-size:clamp(11px,1vw,22px);color:var(--muted);line-height:1.5;text-align:right}
.qr-wrap img{height:clamp(68px,10vh,130px);width:auto;background:white}
.progress-track{background:var(--line);height:4px}.progress-track div{height:100%;background:var(--gold);width:0}
.toolbar{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:5px;background:#111827f5;padding:8px;border:1px solid #ffffff33;border-radius:10px;box-shadow:0 5px 30px #0003;opacity:0;transition:opacity .3s;pointer-events:none;max-width:calc(100% - 24px);flex-wrap:wrap;justify-content:center}
.toolbar.show,.toolbar:focus-within{opacity:1;pointer-events:auto}
.toolbar button{border:0;border-radius:5px;background:#ffffff15;color:#fff;padding:10px 12px;white-space:nowrap;font-size:13px;min-height:40px;cursor:pointer}
.toolbar button:hover{background:var(--gold);color:var(--ink)}
.toolbar .separator{height:20px;width:1px;background:#ffffff33;margin:0 3px}
button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px;text-align:center;gap:20px;min-height:350px;background:var(--stone)}
.loading h1{font:400 clamp(28px,4vw,64px) 'Source Serif 4',Georgia,serif;margin:0}
.loading p{font-size:clamp(16px,1.5vw,24px);line-height:1.6;color:var(--muted);margin:0}
@keyframes arrive{from{opacity:.1;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes breathe{from{transform:scale(1)}to{transform:scale(1.025)}}
@media(min-width:900px) and (min-aspect-ratio:13/9){.screen{height:100svh;min-height:640px}.photo{min-height:0}}
@media(min-aspect-ratio:21/9){.screen{max-width:2400px;margin:auto}.photo>img{object-fit:contain}.product-title{font-size:clamp(28px,2.3vw,54px)}}
@media(max-width:700px){.masthead{padding:18px 20px}.logo{width:230px;max-height:65px}.masthead-right>span{display:none}.topics{gap:20px;padding:13px 15px;flex-wrap:wrap;font-size:11px}.topics .active:after{bottom:-10px}.slide{grid-template-columns:1fr}.photo{min-height:300px}.product-copy{padding:28px 24px}.product-title{font-size:32px;margin-bottom:20px}.eyebrow{margin-bottom:12px}.section-title{margin-bottom:12px}.photo .photo-label{left:20px;top:20px}.price{font-size:40px}.bottom{padding:15px 20px;gap:15px;flex-wrap:wrap}.bottom-middle{order:3;width:100%;text-align:left}.qr-wrap img{height:70px}.qr-wrap span{display:none}.service .product-meta{font-size:17px}.toolbar button{min-height:44px;padding:8px}.photo-quote{bottom:25px;left:24px;right:24px}}
@media(prefers-reduced-motion:reduce){.slide,.photo>img{animation:none}.toolbar{transition:none}}
