:root{--ink:#111;--muted:#6b6b6b;--line:#e4e2de;--soft:#f4f3f0;--white:#fff;
--serif:"Fraunces",Georgia,serif;--sans:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--white);line-height:1.7;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:12px;top:12px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:1px solid var(--ink);outline-offset:4px}
.notice{background:var(--ink);color:#fff;text-align:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:9px 16px;font-weight:400}
.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:84px}
.logo img{width:auto;height:46px}
nav ul{list-style:none;display:flex;gap:40px;margin:0;padding:0}
nav a{text-decoration:none;font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;padding:8px 0;border-bottom:1px solid transparent}
nav a:hover{border-color:var(--ink)}
.eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-weight:400;margin:0 0 18px}
h1,h2,h3{font-family:var(--serif);font-weight:300;line-height:1.15;margin:0 0 20px;letter-spacing:-.01em}
h1{font-size:clamp(38px,4.4vw,64px);max-width:12ch}
h2{font-size:clamp(30px,3.4vw,44px)}
h3{font-size:24px;margin-bottom:10px}
.small{font-size:14px;color:var(--muted)}
.btn{display:inline-block;font:inherit;font-size:13px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;
background:var(--ink);color:#fff;border:1px solid var(--ink);padding:16px 34px;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:#fff;color:var(--ink)}
.btn-outline{background:transparent;color:var(--ink)}
.btn[disabled]{cursor:default;color:var(--muted);border-color:#cfcdc9;background:transparent}
.hero{background:var(--soft)}
.hero-inner{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:5fr 7fr;align-items:center;min-height:calc(100vh - 120px);max-height:860px}
.hero-text{padding:60px 20px 60px calc(max(28px,(min(100vw,1440px) - 1240px)/2 + 28px))}
.hero-img img{width:100%;aspect-ratio:1800/1150;object-fit:cover}
.hero-mark{width:280px;height:auto;margin:0 0 36px}
.lede{max-width:460px;margin:0 0 38px;color:#3b3b3b;font-size:18px}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;padding-top:110px;padding-bottom:110px;text-align:center}
.values h2{font-size:28px;margin-bottom:10px}
.values p{margin:0;color:var(--muted);max-width:300px;margin:0 auto}
.shop{border-top:1px solid var(--line);padding:110px 0}
.section-head{text-align:center;margin-bottom:64px}
.section-head h2{margin-bottom:10px}
.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.card{text-align:center}
.card-img{background:#fff;border:1px solid var(--line);margin-bottom:28px;overflow:hidden}
.card-img img{transition:transform .6s ease}
.card:hover .card-img img{transform:scale(1.03)}
.desc{color:var(--muted);font-size:15px;max-width:320px;margin:0 auto 14px}
.price{margin:0 0 22px;font-size:18px;font-weight:400}
.tag{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:400;margin-left:6px}
.detail{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-top:40px;padding-bottom:120px}
.detail-img{border:1px solid var(--line)}
.detail-text p{color:#3b3b3b}
details{border-top:1px solid var(--line);padding:16px 0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;list-style:none;display:flex;justify-content:space-between}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:18px;line-height:1}
details[open] summary::after{content:"–"}
details p{margin:12px 0 0;font-size:15px;color:var(--muted)}
.story{background:var(--soft);padding:120px 0}
.story-inner{display:grid;grid-template-columns:380px 1fr;gap:90px;align-items:center;max-width:1080px}
.story p{color:#3b3b3b}
.soon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0;text-align:center}
.soon p{margin:0;font-family:var(--serif);font-size:clamp(20px,2.4vw,28px);font-weight:300}
.soon .eyebrow{display:inline-block;margin:0 18px 0 0;vertical-align:middle;font-family:var(--sans)}
.signup-mark{width:170px;height:auto;margin:0 auto 34px}
.signup{text-align:center;padding-top:110px;padding-bottom:110px;max-width:720px}
.signup>p{color:var(--muted)}
.signup-form{display:flex;gap:0;margin:34px auto 12px;max-width:520px}
.signup-form input{flex:1;min-width:0;font:inherit;font-size:16px;padding:15px 18px;border:1px solid var(--ink);border-right:0;border-radius:0;background:#fff;color:var(--ink)}
.signup-form input::placeholder{color:#8a8a8a}
.site-footer{background:var(--ink);color:#fff;padding:70px 0 50px}
.footer-inner{display:grid;grid-template-columns:auto 1fr;gap:20px 60px;align-items:center}
.footer-inner img{width:auto;height:40px}
.contact{list-style:none;margin:0;padding:0;justify-self:end;text-align:right;font-size:15px}
.contact a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.site-footer .small{grid-column:1/-1;color:#a3a3a3;border-top:1px solid #333;padding-top:26px;margin:20px 0 0;font-size:13px}
@media (max-width:900px){
 .hero-inner{grid-template-columns:1fr;min-height:0;max-height:none}
 .hero-img{order:-1}
 .hero-text{text-align:center;padding:32px 24px 72px}
 .lede{margin:0 auto 34px}
 .hero h1{margin-left:auto;margin-right:auto}
 .hero-mark{width:200px;margin:0 auto 26px}
 .grid{grid-template-columns:1fr;gap:64px;max-width:440px;margin:0 auto}
 .detail{grid-template-columns:1fr;gap:40px}
 .story-inner{grid-template-columns:1fr;gap:40px;text-align:center}
 .story .badge{width:240px;margin:0 auto}
}
@media (max-width:640px){
 body{font-size:16px}
 .wrap{padding:0 22px}
 .header-inner{height:auto;flex-direction:column;gap:6px;padding:14px 22px 10px}
 .logo img{height:34px;max-width:100%}
 nav ul{gap:26px}
 nav a{font-size:12px}
 .values{grid-template-columns:1fr;gap:40px;padding-top:70px;padding-bottom:70px}
 .shop,.story{padding:70px 0}
 .detail{padding-bottom:70px}
 .signup{padding-top:70px;padding-bottom:70px}
 .signup-form{flex-direction:column;gap:12px}
 .signup-form input{border-right:1px solid var(--ink)}
 .soon .eyebrow{display:block;margin:0 0 6px}
 .footer-inner{grid-template-columns:1fr;text-align:center;justify-items:center}
 .contact{justify-self:center;text-align:center}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* go-live: coming-soon status (no prices) */
.card .desc{margin-bottom:22px}
.status{margin:0 0 22px}
.status .tag{margin-left:0;color:var(--ink)}
.thanks{text-align:center;padding-top:120px;padding-bottom:140px;max-width:720px}
.thanks>p{color:var(--muted)}
