:root{--cream:#fbf5ec;--sand:#f1e3cf;--terra:#984527;--coral:#e8826a;--gold:#d9a35b;--plum:#3d2230;--espresso:#2e211b;--muted:#7a6558;--rule:#d8c4ad}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Work Sans",system-ui,sans-serif;color:var(--espresso);background:var(--cream);line-height:1.65;font-size:17px}
h1,h2,h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;color:var(--plum);line-height:1.08;margin:0 0 .5em}
a{color:var(--terra)}
.wrap{max-width:1180px;margin:0 auto;padding:0 1.5rem}
.top{border-bottom:1px solid var(--rule);background:var(--cream)}
.top .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:1.1rem;padding-bottom:1.1rem;gap:1rem}
.brand{white-space:nowrap;font-family:"DM Serif Display",serif;font-size:1.5rem;color:var(--plum);text-decoration:none}
.brand em{color:var(--terra)}
nav ul{list-style:none;display:flex;gap:1.6rem;margin:0;padding:0}
nav a{color:var(--espresso);text-decoration:none;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}
nav a:hover{color:var(--terra)}
.kicker{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--terra);font-weight:600}
.hero{display:grid;grid-template-columns:1.25fr 1fr;min-height:min(78vh,720px);border-bottom:1px solid var(--rule)}
.hero .copy{padding:5rem 3.5rem 4rem max(1.5rem,calc((100vw - 1180px)/2 + 1.5rem));display:flex;flex-direction:column;justify-content:center}
.hero h1{font-size:clamp(2.8rem,6.4vw,5.6rem);letter-spacing:-.01em}
.hero h1 i{color:var(--terra)}
.hero p.lede{font-size:1.2rem;max-width:34rem;color:var(--muted)}
.hero .art{position:relative;background:linear-gradient(180deg,#f6c58f 0%,#ec9a6e 38%,#c0603e 70%,#5a2c33 100%);overflow:hidden}
.hero .art::before{content:"";position:absolute;width:44%;aspect-ratio:1;border-radius:50%;left:28%;top:34%;background:radial-gradient(circle,#ffe7b8,#f7b77a 70%)}
.hero .art::after{content:"";position:absolute;left:0;right:0;bottom:0;height:36%;background:repeating-linear-gradient(180deg,rgba(61,34,48,.85) 0 3px,rgba(61,34,48,.55) 3px 14px)}
.stamp{position:absolute;right:2rem;top:2rem;z-index:2;width:128px;padding:10px;background:var(--cream);transform:rotate(6deg);outline:3px dotted var(--cream);outline-offset:3px;box-shadow:0 8px 16px rgba(0,0,0,.18)}
.stamp div{border:2px solid var(--terra);padding:.7rem .4rem;text-align:center;font-family:"DM Serif Display",serif;color:var(--plum);line-height:1.1}
.stamp small{display:block;font-family:"Work Sans",sans-serif;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);margin-top:.3rem}
.postmark{position:absolute;left:1.5rem;bottom:40%;z-index:2;width:120px;height:120px;border:2px solid rgba(251,245,236,.8);border-radius:50%;display:grid;place-items:center;text-align:center;color:var(--cream);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;transform:rotate(-12deg)}
.link{display:inline-block;margin:1.4rem 1.6rem 0 0;font-weight:600;text-decoration:none;color:var(--plum);border-bottom:2px solid var(--coral);padding-bottom:3px;letter-spacing:.04em}
.link.solid{background:var(--terra);color:var(--cream);border:0;padding:.85rem 1.4rem}
.link:hover{color:var(--terra)}.link.solid:hover{background:var(--plum);color:var(--cream)}
.sec{padding:5.5rem 0;border-bottom:1px solid var(--rule)}
.sec.tint{background:var(--sand)}
.sechead{display:grid;grid-template-columns:140px 1fr;gap:2rem;align-items:start;margin-bottom:2.5rem}
.num{font-family:"DM Serif Display",serif;font-size:5rem;line-height:.8;color:var(--coral)}
.sechead h2{font-size:clamp(2rem,4vw,3.2rem);max-width:22ch}
.body{margin-left:172px}
.lead{font-size:1.15rem;max-width:42rem}
.tags{margin:1.2rem 0 0;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.tags span{display:inline-block;border:1px solid var(--terra);color:var(--terra);padding:.4rem .8rem;margin:0 .5rem .5rem 0}
.cols{display:grid;grid-template-columns:repeat(2,1fr);column-gap:3.5rem;margin-top:2.5rem}
.cols article{border-top:1px solid var(--plum);padding:1.2rem 0 1.8rem}
.cols h3{font-size:1.5rem}
.cols p{margin:0;color:var(--muted)}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.steps li{border-left:1px solid var(--rule);padding-left:1.2rem}
.steps b{display:block;font-family:"DM Serif Display",serif;font-weight:400;font-size:1.5rem;color:var(--plum);margin:.2rem 0 .4rem}
.steps em{font-style:normal;font-size:.75rem;letter-spacing:.2em;color:var(--terra)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.postcard{display:block;text-decoration:none;background:#fffaf2;padding:1.2rem;box-shadow:0 18px 40px rgba(61,34,48,.18);transform:rotate(-2deg);color:var(--espresso)}
.postcard .pic{aspect-ratio:3/2;background:linear-gradient(160deg,#f3b57f,#d9735a 55%,#5a2c33);display:grid;place-items:center;position:relative}
.postcard .pic span{width:70px;height:70px;border-radius:50%;border:2px solid var(--cream);display:grid;place-items:center}
.postcard .pic span::after{content:"";border-left:20px solid var(--cream);border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:5px}
.postcard .cap{display:flex;justify-content:space-between;align-items:baseline;padding-top:.9rem;font-family:"DM Serif Display",serif;font-size:1.25rem;color:var(--plum)}
.postcard .cap small{font-family:"Work Sans";font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra)}
blockquote{margin:0;font-family:"DM Serif Display",serif;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.3;color:var(--plum);border-left:3px solid var(--coral);padding-left:1.5rem}
.contact{text-align:left}
.letter{border:1px solid var(--rule);background:#fffaf2;padding:3rem;display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;position:relative}
.letter .addr{border-left:1px dashed var(--rule);padding-left:2rem;font-size:.95rem;color:var(--muted)}
.letter .addr p{border-bottom:1px solid var(--rule);padding-bottom:.5rem}
footer{padding:2.5rem 0;font-size:.85rem;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}
@media(max-width:860px){
 body{font-size:16px}
 nav li.hide-sm{display:none}nav ul{gap:1rem}
 .hero{grid-template-columns:1fr;min-height:0}.hero .copy{padding:3rem 1.5rem}.hero .art{height:300px;order:-1}
 .sechead{grid-template-columns:1fr;gap:.5rem}.num{font-size:3.4rem}.body{margin-left:0}
 .cols,.split,.letter{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}
 .letter{padding:1.8rem}.letter .addr{border-left:0;padding-left:0;border-top:1px dashed var(--rule);padding-top:1rem}
 .sec{padding:3.5rem 0}
}
@media(max-width:480px){.steps{grid-template-columns:1fr}.brand{white-space:nowrap;font-size:1.12rem}nav a{font-size:.68rem;letter-spacing:.08em}nav ul{gap:.6rem}.top .wrap{padding-left:1rem;padding-right:1rem}}

.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.6rem;margin-top:2.4rem}
.vcard{display:block;background:#fff;padding:10px 10px 1rem;text-decoration:none;color:var(--espresso);box-shadow:0 6px 16px rgba(61,34,48,.12);transition:transform .2s}
.vcard:nth-child(odd){transform:rotate(-.8deg)}.vcard:nth-child(even){transform:rotate(.8deg)}
.vcard:hover{transform:rotate(0) translateY(-4px)}
.vcard .th{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--sand)}
.vcard img{width:100%;height:100%;object-fit:cover;display:block}
.vcard .th span{position:absolute;right:8px;bottom:8px;width:44px;height:44px;border-radius:50%;background:var(--terra);box-shadow:0 0 0 3px var(--cream)}
.vcard .th span:after{content:"";position:absolute;left:17px;top:13px;border-left:14px solid var(--cream);border-top:9px solid transparent;border-bottom:9px solid transparent}
.vcard h3{font-size:1.15rem;margin:.9rem .3rem .3rem;line-height:1.2}
.vcard small{display:block;margin:0 .3rem;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);border-top:1px dashed var(--rule);padding-top:.5rem}
.vmore{text-align:center;margin-top:2.6rem}
.link.sft{margin-top:.9rem;font-size:.9rem}
.vsearch{width:100%;max-width:520px;margin:2rem 0 .5rem;padding:.9rem 1.1rem;font:inherit;border:2px solid var(--terra);background:var(--cream);color:var(--espresso)}
.vyear h2{margin:3rem 0 0;border-bottom:1px dashed var(--terra);padding-bottom:.4rem}.vyear h2 small{font-family:"Work Sans",sans-serif;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra)}
.vnone{color:var(--muted)}.vcard[hidden],.vyear[hidden]{display:none}
.vrow{font-size:1.6rem;margin:2.6rem 0 0}.vrow+.vgrid{margin-top:1.2rem}
@media(min-width:800px){#videos .vgrid{grid-template-columns:repeat(3,1fr)}}
