@font-face{font-family:"Cinzel";src:url(fonts/Cinzel.ttf) format("truetype");font-weight:400 900}
@font-face{font-family:"Cormorant";src:url(fonts/CormorantGaramond.ttf) format("truetype");font-weight:300 700}
@font-face{font-family:"Cormorant";src:url(fonts/CormorantGaramond-Italic.ttf) format("truetype");font-style:italic;font-weight:300 700}
/* Palette B · Vino & Pietra */
:root{--paper:#f1e9dc;--cream:#f1e9dc;--stone:#ddd0bd;--blush:#d9a99a;--wine:#5c1f26;--terra:#a65a3e;--sage:#8c9474;--terra-d:#8b4432;--wine-d:#45141a;--ink:#5c1f26;--ink2:#6b2f33;--line:#c4a596;--cap:"Cinzel","Trajan Pro",Georgia,serif;--ser:"Cormorant",Garamond,Georgia,serif}
*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;border-radius:0!important}html{-webkit-font-smoothing:antialiased}
body{background:var(--cream);color:var(--ink);font-family:var(--ser);font-weight:400;font-size:20px;line-height:1.7}
a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}
section{position:relative}
.lbl{font-family:var(--cap);font-size:11.5px;font-weight:500;letter-spacing:.32em;text-transform:uppercase}
.tc{color:var(--terra-d)}.ol{color:var(--wine)}
.it{font-family:var(--ser);font-style:italic;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.25}
.ttl{font-family:var(--cap);font-weight:400;text-transform:uppercase;letter-spacing:.12em;line-height:1.15;font-size:52px}
.ttl.m{font-size:38px}.ttl.s{font-size:22px;letter-spacing:.16em}
.ttl .it{color:var(--terra);text-transform:none;letter-spacing:0;font-size:1.05em}
.big{font-family:var(--cap);font-weight:400;text-transform:uppercase;letter-spacing:.06em;line-height:.98;font-size:104px}
.stmt{font-family:var(--ser);font-style:italic;font-weight:400;font-size:40px;line-height:1.35;max-width:900px;margin:0 auto;color:var(--ink)}
.txt{font-size:20px;line-height:1.7;color:var(--ink2)}
.c{text-align:center}
.num{font-family:var(--cap);font-size:15px;letter-spacing:.3em;color:var(--terra-d);display:flex;align-items:center;gap:18px}
.num:after{content:"";width:70px;height:1px;background:var(--terra)}
.c .num{justify-content:center}.c .num:before{content:"";width:70px;height:1px;background:var(--terra)}
.btn{display:inline-block;font-family:var(--cap);font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;padding:17px 34px;border:1px solid currentColor;transition:.25s}
.btn:hover{background:var(--wine);border-color:var(--wine);color:var(--paper)}
.btn.f{background:var(--terra);border-color:var(--terra);color:#fff}.btn.f:hover{background:var(--wine);border-color:var(--wine)}
.dr{height:7px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:140px;margin:34px 0}.c .dr,.dr.c{margin-left:auto;margin-right:auto}
/* photos: straight edges, no blocks or shadows behind */
.fx{position:relative}.fx>div{position:relative;overflow:hidden}
.fl{outline:1px solid rgba(241,233,220,.75);outline-offset:-22px}
/* header */
header{position:relative;z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:40px;padding:20px 56px;background:var(--cream);border-bottom:1px solid var(--line)}
header:after{content:"";position:absolute;left:0;right:0;bottom:-5px;border-bottom:1px solid var(--line)}
.mono{display:flex;align-items:center;gap:14px;font-family:var(--cap);font-size:13px;letter-spacing:.3em}
.mono .mk{width:30px;height:30px}
header nav{display:flex;gap:40px;justify-content:flex-end}header nav a{font-family:var(--cap);font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;padding:6px 0;border-bottom:1px solid transparent}header nav a.on{border-color:var(--terra);color:var(--terra-d)}
header .rs{font-family:var(--cap);font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;padding:12px 26px;background:var(--wine);color:var(--paper)}
.burger{display:none}
.mk{display:inline-block}
/* home hero */
.hero{display:grid;grid-template-columns:5fr 7fr;height:calc(100vh - 82px);min-height:760px;max-height:1040px}
.hero .ht{display:flex;flex-direction:column;justify-content:center;padding:60px 70px 60px 90px;position:relative}
.hero .ht:before{content:"";position:absolute;left:44px;top:60px;bottom:60px;border-left:1px solid var(--line)}
.hero .vt{position:absolute;left:30px;top:50%;transform:translate(-50%,-50%) rotate(-90deg);white-space:nowrap;background:var(--cream);padding:0 18px;font-size:10px}
.nm{font-family:var(--cap);font-weight:400;font-size:96px;line-height:.95;letter-spacing:.04em;text-transform:uppercase;margin-top:30px}
.nm i{display:block;font-family:var(--ser);font-style:italic;font-weight:400;font-size:64px;color:var(--terra);letter-spacing:0;text-transform:none;line-height:1.05;margin:6px 0 2px 6px}
.hero .hp{overflow:hidden;position:relative}
.strip{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.strip>div{padding:34px 20px}.strip>div+div{border-left:1px solid rgba(217,169,154,.35)}
.strip .it{font-size:22px;margin-top:6px;color:var(--paper)}
/* split heroes for inner pages */
.ph{display:grid;grid-template-columns:1fr 1fr;min-height:820px}
.ph .pt{display:flex;flex-direction:column;justify-content:center;padding:120px 90px}
.cd{display:flex;justify-content:center}.cd>div{display:flex;flex-direction:column;align-items:center;padding:0 54px}.cd>div+div{border-left:1px solid rgba(217,169,154,.35)}
.cd b{font-family:var(--cap);font-weight:400;font-size:80px;line-height:1;font-variant-numeric:tabular-nums}.cd span{margin-top:16px}
.faq details{border-bottom:1px solid var(--line);padding:24px 0}.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-family:var(--cap);font-size:14px;letter-spacing:.2em;text-transform:uppercase}
.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--terra-d);font-size:20px;line-height:.9}.faq details[open] summary:after{content:"–"}
.faq details p{margin-top:14px;font-size:19px;color:var(--ink2)}
.sched{max-width:1000px;margin:70px auto 0;border-top:1px solid var(--line)}
.sched>div{display:grid;grid-template-columns:200px 1fr 1fr;gap:30px;align-items:baseline;padding:28px 10px;border-bottom:1px solid var(--line);text-align:left}
.sched b{font-family:var(--cap);font-weight:400;font-size:28px;letter-spacing:.06em;color:var(--terra-d)}
.slot{position:relative;background:var(--stone);outline:1px solid var(--line);outline-offset:-14px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.slot img{position:absolute;inset:0}.slot span{font-family:var(--cap);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink2);text-align:center;padding:0 18px}
footer{background:var(--wine);color:var(--paper);text-align:center;padding:90px 20px 50px;display:flex;flex-direction:column;align-items:center}
footer .mk{width:54px;height:54px}footer .fn{font-family:var(--cap);font-size:26px;letter-spacing:.28em;margin-top:24px}footer .it{font-size:22px;margin-top:6px;color:var(--blush)}
footer .frieze{display:flex;gap:26px;align-items:center;color:var(--blush);margin-bottom:54px}footer .frieze .ico{color:var(--blush);width:28px!important;height:28px!important}
.ico{display:inline-block;color:var(--wine)}.sendoff .car{max-width:640px;margin:56px auto 0}
footer small{margin-top:44px;font-family:var(--cap);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--blush)}
.ex{position:fixed;right:18px;bottom:16px;font-family:var(--cap);font-size:9px;letter-spacing:.22em;text-transform:uppercase;background:rgba(241,233,220,.92);color:var(--wine);padding:6px 10px;z-index:50}
.form{max-width:560px;margin:0 auto;text-align:left}.form label{display:block;margin-top:30px;font-family:var(--cap);font-size:11.5px;letter-spacing:.24em;text-transform:uppercase}.form label em{font-family:var(--ser);font-style:italic;font-size:15px;letter-spacing:0;text-transform:none}
.form .in{height:48px;border-bottom:1px solid currentColor;opacity:.55}.form .row{display:grid;grid-template-columns:1fr 1fr;gap:26px}.form small{display:block;margin-top:8px;font-size:15px;font-style:italic}
.form .rad{display:flex;gap:40px;margin-top:14px;font-size:19px}.form .rad span:before{content:"";display:inline-block;width:12px;height:12px;border:1px solid var(--wine);margin-right:12px;vertical-align:0}
html.gl-wait [data-k]{visibility:hidden}
.ov{position:absolute;inset:0}.nw{white-space:nowrap}
/* hand-drawn doodles: corner clusters, dividers, heading icons (currentColor) */
.dd{position:absolute;display:flex;align-items:flex-end;gap:16px;pointer-events:none;z-index:2;line-height:0}
.dd.tl{top:46px;left:52px;transform-origin:top left}.dd.tr{top:46px;right:52px;transform-origin:top right}.dd.bl{bottom:46px;left:52px;transform-origin:bottom left}.dd.br{bottom:46px;right:52px;transform-origin:bottom right}
.ph .pt,.hero .ht,.evc{position:relative}
.idiv{display:flex;align-items:center;justify-content:center;gap:24px;padding:10px 20px 0;line-height:0}
.idiv:before,.idiv:after{content:"";width:110px;height:1px;background:var(--line)}
.bg-wine .idiv:before,.bg-wine .idiv:after{background:rgba(217,169,154,.45)}.bg-wine .idiv{padding-top:54px}
.hi{line-height:0}.c .hi,.strip .hi,.reg .hi,.g3 .hi{display:flex;justify-content:center}.strip .hi{margin-bottom:12px}
.g3 .hi{height:48px;align-items:flex-end;margin-bottom:14px}.reg .hi{height:60px;margin-bottom:0}
.hrow{display:flex;justify-content:center;align-items:flex-end;gap:26px;line-height:0}
.faq summary{position:relative;padding-left:50px}.faq summary:before{content:"";position:absolute;left:0;top:50%;width:34px;height:30px;transform:translateY(-50%);background:var(--si) center/contain no-repeat}
.faq details p{padding-left:48px}
.strip .ico{color:var(--blush)}
/* section colourways (after base rules so they win) */
.bg-stone{background:var(--stone)}
/* wine: paper text, blush accents */
.bg-wine{background:var(--wine);color:var(--paper)}.bg-wine .txt{color:#eadfd0}.bg-wine .tc,.bg-wine .ol,.bg-wine .num,.bg-wine .ttl .it,.bg-wine .lbl{color:var(--blush)}
.bg-wine .num:after,.bg-wine .num:before{background:var(--blush)}.bg-wine .dr{border-color:rgba(217,169,154,.55)}.bg-wine .ico{color:var(--blush)}.bg-wine .stmt{color:var(--blush)}
.bg-wine .btn:hover{background:var(--paper);border-color:var(--paper);color:var(--wine)}
/* blush: wine ink */
.bg-blush{background:var(--blush);color:var(--wine)}.bg-blush .txt,.bg-blush .tc,.bg-blush .ol,.bg-blush .num,.bg-blush .lbl,.bg-blush .ico{color:var(--wine)}.bg-blush .ttl .it,.bg-blush .nm i{color:var(--terra-d)}
.bg-blush .num:after,.bg-blush .num:before{background:var(--wine)}.bg-blush .dr{border-color:rgba(92,31,38,.45)}
/* sage: deep wine ink (AA) */
.bg-sage{background:var(--sage);color:var(--wine-d)}.bg-sage .txt,.bg-sage .tc,.bg-sage .ol,.bg-sage .num,.bg-sage .lbl,.bg-sage .ttl .it,.bg-sage .ico{color:var(--wine-d)}
.bg-sage .num:after,.bg-sage .num:before{background:var(--wine-d)}.bg-sage .dr{border-color:rgba(69,20,26,.5)}.bg-sage .btn:hover{background:var(--wine-d);border-color:var(--wine-d);color:var(--paper)}
/* terracotta: white text */
.bg-terra{background:var(--terra);color:#fff}.bg-terra .txt,.bg-terra .lbl,.bg-terra .num,.bg-terra .ttl .it{color:#fff}.bg-terra .dr{border-color:rgba(255,255,255,.5)}
@media(max-width:800px){
body{font-size:18px}.txt{font-size:18px}
header{padding:14px 20px;grid-template-columns:auto 1fr auto;gap:14px}header nav{display:none}.mono span{display:none}
.burger{display:block;width:26px;height:9px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;margin-left:16px}header .rs{padding:9px 16px;font-size:10.5px}
header>div{display:flex;align-items:center;justify-content:flex-end}
body.nav-open header nav{display:flex;position:fixed;inset:0;flex-direction:column;justify-content:center;align-items:center;gap:28px;background:var(--cream);z-index:30}
.hero{grid-template-columns:1fr;height:auto;min-height:0;max-height:none}.hero .hp{height:520px;order:-1}.hero .ht{padding:60px 28px 70px 44px}.hero .ht:before{left:22px}.hero .vt{display:none}
.nm{font-size:clamp(44px,14vw,62px)!important}.nm i{font-size:clamp(34px,10vw,46px)}
.strip{grid-template-columns:1fr}.strip>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.22)}
.ph{grid-template-columns:1fr;min-height:0}.ph .pt{padding:80px 28px}.ph>div.pi{height:520px}
.g2,.g3{grid-template-columns:1fr!important;gap:70px!important}.pad{padding:90px 28px!important}
.ttl,.big{overflow-wrap:normal;word-break:normal;hyphens:none;max-width:100%}
.ttl{font-size:clamp(26px,8vw,36px)!important;letter-spacing:.08em!important}.ttl.m{font-size:clamp(23px,7vw,30px)!important}.ttl.s{font-size:clamp(17px,5vw,21px)!important;letter-spacing:.12em!important}
.big{font-size:clamp(38px,12.5vw,60px)!important;letter-spacing:.04em!important}
.stmt{font-size:clamp(25px,7vw,31px)}
.cd>div{padding:0 12px}.cd b{font-size:clamp(32px,10vw,42px)}.cd span{font-size:9px!important;letter-spacing:.14em}
.sched>div{grid-template-columns:1fr;gap:4px;padding:22px 6px}
.tall{height:440px!important}.mh{min-height:0!important;margin-top:0!important}
.g2.mh,.g2.fb{gap:0!important}.sendoff{padding:100px 24px 110px!important}footer .frieze{gap:16px;margin-bottom:40px}footer .frieze .ico{width:22px!important;height:22px!important}.eh{height:auto!important}.eh>img{position:relative!important;display:block;width:100%;height:420px}.eh .ov{display:none}.eh>div.pad{position:relative!important;max-width:none!important}
.form .row{grid-template-columns:1fr}
.dd{gap:10px}.dd.tl,.dd.tr{top:22px}.dd.bl,.dd.br{bottom:22px}.dd.tl,.dd.bl{left:18px}.dd.tr,.dd.br{right:18px}.dd{transform:scale(.72)}.dd.dm{display:none}
.idiv:before,.idiv:after{width:54px}.idiv{gap:16px}
footer .fn{font-size:20px;letter-spacing:.2em}footer .it{font-size:19px;padding:0 10px}
html,body{overflow-x:hidden}}
