@font-face{font-family:"Latin Modern Display";src:url("assets/fonts/lmroman17-regular.otf") format("opentype");font-weight:400;font-display:swap}
@font-face{font-family:"P052";src:url("assets/fonts/P052-Roman.otf") format("opentype");font-weight:400;font-display:swap}
@font-face{font-family:"P052";src:url("assets/fonts/P052-Italic.otf") format("opentype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Nimbus Sans";src:url("assets/fonts/NimbusSans-Regular.otf") format("opentype");font-weight:400;font-display:swap}
@font-face{font-family:"Nimbus Sans";src:url("assets/fonts/NimbusSans-Bold.otf") format("opentype");font-weight:700;font-display:swap}
:root{color-scheme:light;--paper:#f8f0dd;--cream:#fffaee;--forest:#172d20;--wine:#793647;--gold:#e9c787;--ink:#253429;--line:#d5c6a9}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1rem}
body{margin:0;background:var(--paper);color:var(--ink);font:1.08rem/1.6 "P052",Georgia,serif}
[hidden]{display:none!important}
a{color:inherit}
a:focus-visible,summary:focus-visible{outline:3px solid #bd8537;outline-offset:5px}
img{display:block;width:100%;height:auto}
h1,h2,h3,.brand,.subtitle{font-family:"Latin Modern Display",Georgia,serif}
.nav,.eyebrow,.button,.micro,.availability,.footer{font-family:"Nimbus Sans",system-ui,sans-serif}
h1,h2,h3,p,figure{margin:0}
h2{font-size:clamp(2.35rem,5vw,4rem);font-weight:400;line-height:1.05;letter-spacing:-.025em}
h3{font-size:1.55rem;font-weight:400;line-height:1.18}
.wrap{width:min(1120px,calc(100% - 3rem));margin-inline:auto}
.top,.hero,.purchase,footer{background:var(--forest);color:var(--paper)}
.nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-block:1rem;border-bottom:1px solid #b99b6655}
.brand{font-size:1.75rem;text-decoration:none;line-height:1;white-space:nowrap}
.brand i{color:var(--gold)}
nav{display:flex;gap:clamp(1rem,3vw,2.5rem)}
nav a,.nav-cta{font-size:.84rem;text-decoration:none}
nav a:hover,.nav-cta:hover{text-decoration:underline}
.nav-cta{border:1px solid #d8b87580;border-radius:999px;padding:.4rem .85rem}
.hero{padding-block:clamp(3.6rem,8vw,7rem)}
.hero-grid{display:grid;grid-template-columns:1fr 1.02fr;align-items:center;gap:clamp(2rem,5vw,5rem)}
.eyebrow{font-size:.72rem;letter-spacing:.17em;font-weight:700;text-transform:uppercase;color:var(--wine);margin-bottom:1.05rem}
.hero .eyebrow,.purchase .eyebrow{color:var(--gold)}
.hero h1{font-size:clamp(4.75rem,10vw,8.7rem);font-weight:400;letter-spacing:-.045em;line-height:.86;margin-bottom:1.15rem}
h1 em,.brand i{font-family:"P052",Georgia,serif}
h1 em{color:var(--gold);font-weight:400}
.subtitle{font-size:clamp(1.25rem,3vw,1.9rem);line-height:1.15}
.lead{max-width:39ch;margin:1.4rem 0 1.6rem;color:#e6ddc7}
.button{display:inline-flex;align-items:center;gap:.65rem;padding:.83rem 1.15rem;border-radius:4px;text-decoration:none;font-weight:700;font-size:.9rem;line-height:1.35}
.gold{background:var(--gold);color:var(--forest)}
.gold:hover{background:#f4dba8}
.micro{font-size:.75rem;color:#ddd1b4;margin-top:.8rem}
.hero-photo{position:relative;isolation:isolate;border:1px solid #c8ab7190;padding:.55rem;background:#27392b;transform:rotate(1.1deg)}
.photo-clip{--clip-height:clamp(4.5rem,7vw,5.25rem);position:absolute;z-index:2;top:calc(.55rem - var(--clip-height) * .465);left:13%;width:auto;height:var(--clip-height);transform:rotate(-12deg);filter:drop-shadow(1px 2px 1px #100d09a0);pointer-events:none}
.hero-photo figcaption{font:italic .98rem "P052",Georgia,serif;text-align:center;padding:.78rem .2rem .3rem;color:#f2ddb1}
.intro,.kit,.faq{padding-block:clamp(3.7rem,8vw,6.6rem)}
.intro{max-width:740px;text-align:center}
.intro>p:not(.eyebrow){margin:1.45rem auto 0;max-width:64ch}
.signature{color:var(--wine);font-style:italic;font-size:1.25rem}
.steps{padding-block:clamp(3.4rem,7vw,5.7rem);background:#eee1c7;border-block:1px solid var(--line)}
.steps ol,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;padding:0;margin:2.2rem 0 0;list-style:none}
.steps li{border-top:1px solid #b5a482;padding-top:.85rem}
.steps li span{font:italic 1.45rem "P052",Georgia,serif;color:var(--wine)}
.steps h3,.cards h3{margin:.62rem 0 .45rem}
.steps li p,.cards p{font-size:1rem;max-width:35ch}
.section-intro{max-width:66ch;margin-top:1.2rem}
.sample{aspect-ratio:1.63;display:grid;place-items:center;overflow:hidden;border:1px solid #d6c5a7;background:#eee2cc}
.sample img{width:auto;max-width:86%;max-height:84%;object-fit:contain;box-shadow:0 5px 13px #241b1426}
.sample.letter img{max-height:none;align-self:start;margin-top:1rem}
.sample.tag{background:#e5d4c4}
.sample.tag img{max-height:72%;aspect-ratio:1}
.sample.card{background:#dfe5d6}
.purchase{text-align:center;padding-block:clamp(3.6rem,8vw,6rem)}
.purchase-inner>p:not(.eyebrow){max-width:60ch;margin:1.2rem auto}
.purchase-inner .availability{font-weight:700;color:var(--gold)}
.faq{max-width:740px}
.faq h2{margin-bottom:1.75rem}
details{border-bottom:1px solid var(--line);padding:.8rem 0}
summary{cursor:pointer;font-weight:700}
details p{padding:.55rem 0 .2rem;color:#405040}
.footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.6rem;font-size:.77rem}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr;gap:2.5rem}.hero-photo{transform:none}.nav nav{display:none}.steps ol,.cards{grid-template-columns:1fr}.cards{gap:2rem}.sample{max-width:480px}.wrap{width:min(100% - 2rem,1120px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero-phrase{margin-top:1.45rem;font:400 clamp(1.3rem,2.4vw,2rem)/1.17 "P052",Georgia,serif}
.hero-phrase span,.hero-phrase strong{display:block}
.hero-phrase strong{color:var(--gold);font-style:italic;font-weight:400}
.intro .intro-phrase{max-width:32ch;margin:2rem auto 0;color:var(--wine);font:italic clamp(1.35rem,2.5vw,1.85rem)/1.25 "P052",Georgia,serif}
