:root{--ink:#1d1a16;--ink2:#4a443c;--cream:#f7f1e6;--paper:#fffaf2;--red:#a8141c;--red2:#7c0e14;--gold:#b8955a;--vine:#5c6b3f;--line:#e4d9c6;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Jost",system-ui,sans-serif;--w:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:var(--red)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(44px,7vw,92px)}h2{font-size:clamp(34px,4.4vw,56px)}h3{font-size:clamp(24px,2.4vw,32px)}h4{font-size:22px}
p{margin:0 0 1.1em}em{font-family:var(--serif);font-size:1.12em}
.wrap{max-width:var(--w);margin:0 auto;padding:0 28px}.narrow{max-width:780px}
.eyebrow{font:500 12px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;display:block}
.lede{font-size:20px;color:var(--ink2);max-width:640px}
section{padding:110px 0}.tight{padding:70px 0}.cream{background:var(--cream)}.dark{background:var(--ink);color:#efe6d6}.dark .lede{color:#cdbfa8}
.rule{width:56px;height:1px;background:var(--gold);margin:26px 0}
/* header */
.site-head{position:sticky;top:0;z-index:50;background:rgba(255,250,242,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{font:500 26px/1 var(--serif);color:var(--ink);text-decoration:none;letter-spacing:.02em}.logo b{color:var(--red);font-weight:600}.logo small{display:block;font:500 9.5px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-top:5px}
.nav{display:flex;gap:30px;align-items:center}.nav a{color:var(--ink);text-decoration:none;font-size:13px;letter-spacing:.14em;text-transform:uppercase}.nav a:hover,.nav a[aria-current]{color:var(--red)}
.menu-btn{display:none;background:none;border:0;font:inherit;font-size:13px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.btn{display:inline-block;padding:16px 30px;background:var(--red);color:#fff!important;text-decoration:none;font:500 12.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--red);transition:.25s;cursor:pointer}
.btn:hover{background:var(--red2);border-color:var(--red2)}.btn.ghost{background:transparent;color:var(--ink)!important;border-color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:#fff!important}
.dark .btn.ghost,.hero .btn.ghost{color:#fff!important;border-color:#fff}.nav .btn{padding:12px 20px;color:#fff}
/* hero */
.hero{position:relative;min-height:92vh;display:flex;align-items:flex-end;color:#fff;padding:0 0 90px;overflow:hidden}
.hero>img,.hero>.vista{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,26,22,.05) 30%,rgba(29,26,22,.78)),linear-gradient(90deg,rgba(120,60,20,.25),transparent 60%)}
.hero .wrap{position:relative;z-index:2;width:100%}.hero h1{max-width:900px}.hero .lede{color:#f1e6d4}
.hero.short{min-height:58vh}
.ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
/* grids */
.grid{display:grid;gap:28px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}.split.rev>:first-child{order:2}
.path{position:relative;min-height:560px;color:#fff;display:flex;align-items:flex-end;padding:44px;overflow:hidden;text-decoration:none}
.path img,.path .vista{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s}
.path:hover img{transform:scale(1.04)}.path:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(20,16,12,.85))}
.path>div{position:relative;z-index:2}.path p{color:#e9dcc6;max-width:420px}.path .more{font-size:12px;letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding-bottom:4px}
.card{background:#fff;border:1px solid var(--line);padding:34px}.card h3{font-size:27px}
.icon{font:italic 500 40px/1 var(--serif);color:var(--gold);margin-bottom:14px}
.photo{position:relative;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover}
.tall{aspect-ratio:4/5}.wide{aspect-ratio:3/2}
/* vineyard placeholder */
.vista{background:url(../img/vista.svg) center/cover;position:relative;min-height:240px}
.vista[data-slot]:before{content:"Vineyard photo slot";position:absolute;left:14px;top:14px;font:500 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;background:rgba(29,26,22,.7);color:#f4ead8;padding:7px 10px;z-index:1}
/* stats / facts */
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts div{padding:30px 22px;border-right:1px solid var(--line)}.facts div:last-child{border:0}
.facts b{display:block;font:500 40px/1 var(--serif);color:var(--red);margin-bottom:8px}.facts span{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}
.answer{border-left:3px solid var(--gold);background:var(--cream);padding:24px 28px;margin:0 0 34px}.answer strong{display:block;font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
blockquote{font:italic 400 clamp(26px,3vw,38px)/1.3 var(--serif);margin:0;max-width:880px}blockquote cite{display:block;font:500 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:22px;font-style:normal}
/* rates */
.tabs{display:flex;gap:0;border:1px solid var(--ink);width:max-content;margin:0 auto 50px}.tabs button{background:none;border:0;padding:15px 30px;font:500 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer}.tabs button[aria-selected=true]{background:var(--ink);color:#fff}
.tier{background:#fff;border:1px solid var(--line);padding:40px 34px;display:flex;flex-direction:column}.tier.feature{border:1px solid var(--red);box-shadow:0 30px 60px -30px rgba(124,14,20,.35);position:relative}
.tier.feature:before{content:"Most booked";position:absolute;top:-12px;left:34px;background:var(--red);color:#fff;font:500 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:7px 12px}
.price{font:500 54px/1 var(--serif);margin:14px 0 4px}.price small{font:400 15px var(--sans);color:var(--ink2)}
.tier ul,.ticks{list-style:none;padding:0;margin:22px 0 30px;flex:1}.tier li,.ticks li{padding:9px 0 9px 26px;border-bottom:1px solid var(--line);position:relative;font-size:15.5px}.tier li:before,.ticks li:before{content:"";position:absolute;left:2px;top:19px;width:12px;height:1px;background:var(--gold)}
table{width:100%;border-collapse:collapse;font-size:15.5px;background:#fff}th,td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--line)}th{font:500 11.5px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);background:var(--cream)}
.tablewrap{overflow-x:auto;border:1px solid var(--line)}
/* faq */
details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font:500 23px/1.3 var(--serif);list-style:none;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--gold);font-size:28px;line-height:1}details[open] summary:after{content:"–"}details p{margin:14px 0 0;color:var(--ink2)}
/* gallery */
.filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:40px}.filters button{border:1px solid var(--line);background:#fff;padding:11px 20px;font:500 11.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer}.filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.masonry{columns:3 340px;column-gap:18px}.masonry figure{break-inside:avoid;margin:0 0 18px;background:#fff;cursor:zoom-in}.masonry figure .vista{min-height:300px}
figcaption{font-size:14px;color:var(--ink2);padding:14px 4px 6px;line-height:1.55}figcaption b{display:block;font:500 19px/1.3 var(--serif);color:var(--ink);margin-bottom:3px}
.lightbox{position:fixed;inset:0;background:rgba(15,12,9,.94);display:none;align-items:center;justify-content:center;z-index:100;padding:30px;flex-direction:column}.lightbox.on{display:flex}.lightbox img{max-height:80vh;width:auto}.lightbox p{color:#e9dcc6;max-width:760px;text-align:center;margin-top:18px}.lightbox button{position:absolute;top:20px;right:26px;background:none;border:0;color:#fff;font-size:36px;cursor:pointer}
/* forms */
form .row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font:500 11.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink2);margin:0 0 8px}
input,select,textarea{width:100%;padding:15px 16px;border:1px solid var(--line);background:#fff;font:400 16px var(--sans);color:var(--ink);margin-bottom:22px;border-radius:0}input:focus,select:focus,textarea:focus{outline:1px solid var(--gold);border-color:var(--gold)}
.checks{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:24px}.checks label{display:flex;gap:8px;align-items:center;text-transform:none;letter-spacing:0;font-size:15px;color:var(--ink);margin:0}.checks input{width:auto;margin:0}
.notice{display:none;background:var(--cream);border:1px solid var(--gold);padding:24px;margin-top:20px}.notice.on{display:block}
.map{background:var(--cream);border:1px solid var(--line);aspect-ratio:4/3;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}
/* article */
.article h2{font-size:clamp(30px,3.4vw,42px);margin-top:1.6em}.article h3{margin-top:1.4em}.article ul,.article ol{padding-left:22px}.article li{margin-bottom:8px}
.toc{background:var(--cream);padding:26px 30px;margin-bottom:40px}.toc ol{margin:0;padding-left:20px}.toc a{color:var(--ink);text-decoration:none}
.meta{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.post{display:block;text-decoration:none;color:inherit}.post .photo{aspect-ratio:4/3;margin-bottom:22px}.post h3{transition:.2s}.post:hover h3{color:var(--red)}
.crumbs{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px}.crumbs a{color:inherit;text-decoration:none;opacity:.8}
/* cta band */
.band{position:relative;padding:140px 0;color:#fff;text-align:center;overflow:hidden}.band>.vista,.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.band:after{content:"";position:absolute;inset:0;background:rgba(29,26,22,.62)}.band .wrap{position:relative;z-index:2}.band .lede{margin:0 auto;color:#efe3cf}.band .ctas{justify-content:center}
/* footer */
footer{background:var(--ink);color:#bfb3a0;padding:80px 0 40px;font-size:15px}footer h4{color:#fff;font-size:20px}footer a{color:#e9dcc6;text-decoration:none}footer ul{list-style:none;padding:0;margin:0}footer li{margin-bottom:8px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;margin-bottom:60px}.legal{border-top:1px solid #3a342c;padding-top:26px;font-size:13px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.sticky-book{display:none}
@media(max-width:960px){.nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);flex-direction:column;padding:26px;border-bottom:1px solid var(--line);gap:20px}.nav.open{display:flex}.menu-btn{display:block}
.g2,.g3,.g4,.split,.foot-grid,form .row{grid-template-columns:1fr}.split{gap:40px}.split.rev>:first-child{order:0}.facts{grid-template-columns:1fr 1fr}.facts div:nth-child(2){border-right:0}.facts div{border-bottom:1px solid var(--line)}section{padding:80px 0}.path{min-height:440px}
.sticky-book{display:block;position:fixed;bottom:0;left:0;right:0;z-index:60;text-align:center;padding:16px}}
.hero .eyebrow,.band .eyebrow,.path .eyebrow,.dark .eyebrow{color:#ecd3a1;text-shadow:0 1px 8px rgba(0,0,0,.45)}
/* ── Mobile optimization ── */
body{overflow-x:clip}
.split.top{align-items:start}
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center}
.hero{min-height:92svh}.hero.short{min-height:58svh}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:960px){
 body{font-size:16.5px;padding-bottom:calc(80px + env(safe-area-inset-bottom))}
 .wrap{padding:0 20px}
 section{padding:64px 0}.tight{padding:48px 0}.band{padding:90px 0}
 .site-head .wrap{height:64px}.nav{top:64px;max-height:calc(100svh - 64px);overflow-y:auto}.nav a{font-size:15px;padding:6px 0}.nav .btn{width:100%;margin-top:6px}
 .logo{font-size:23px}.menu-btn{min-height:44px;padding:0 4px}
 .hero{min-height:86svh;padding-bottom:56px}.hero.short{min-height:52svh;padding-bottom:44px}
 .hero>img{object-position:62% center}
 .lede{font-size:18px}
 .ctas{flex-direction:column}.ctas .btn{width:100%}
 .path{min-height:420px;padding:26px}.path h3{font-size:32px!important}
 .card,.tier{padding:28px 22px}.price{font-size:44px}
 .tabs{width:100%;margin-bottom:34px}.tabs button{flex:1;padding:14px 6px;font-size:10.5px;letter-spacing:.12em}
 .facts b{font-size:32px}.facts div{padding:22px 16px}
 table{font-size:14px}th,td{padding:12px 12px}.tablewrap{-webkit-overflow-scrolling:touch}
 summary{font-size:20px}
 .answer{padding:20px}
 .masonry{column-gap:12px}.masonry figure{margin-bottom:12px}
 .lightbox{padding:16px}.lightbox img{max-width:100%;max-height:70svh}
 .split .photo.tall{aspect-ratio:4/4.4}
 .sticky-book{display:flex;gap:8px;background:rgba(255,250,242,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
 .sticky-book .btn{flex:1;padding:14px 10px;font-size:11px;letter-spacing:.14em}.sticky-book .btn.ghost{flex:0 0 auto;color:var(--ink)!important;border-color:var(--ink)}
 footer{padding:60px 0 30px}
}
@media(max-width:420px){.facts{grid-template-columns:1fr 1fr}h1{font-size:40px}.hero.short h1{font-size:38px}}
.article figure{margin:34px 0}
.band .btn.ghost{color:#fff!important;border-color:#fff}.band .btn.ghost:hover{background:#fff;color:var(--ink)!important}
.tier.feature:before{content:"Book on DriveShare"}
.masonry img{width:100%!important;height:auto!important}
.band:after{background:rgba(29,26,22,.5)}
.card-top{margin:-34px -34px 24px}
@media(max-width:960px){.card-top{margin:-28px -22px 22px}}
/* wineries */
.wcover{position:relative;background:radial-gradient(120% 90% at 20% 0%,#9b1c24 0%,#5a0f15 55%,#2b0a0d 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:22px;color:#f4e6d0;overflow:hidden}
.wcover:before{content:"";position:absolute;inset:0;background:url(../img/vista.svg) center bottom/cover;opacity:.18;mix-blend-mode:screen}
.wcover b{position:relative;font:500 clamp(22px,2.4vw,30px)/1.1 var(--serif)}.wcover small{position:relative;font:500 10px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#d9b77c;margin-top:10px}
.hero>.wcover{position:absolute;inset:0;padding:0}
.wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:26px}
.wcard{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);transition:.25s}.wcard:hover{border-color:var(--gold);transform:translateY(-2px)}
.wcard .photo,.wcard .wcover{aspect-ratio:16/10}.wcard div.txt{padding:18px 20px 22px}.wcard h3{font-size:24px;margin:0 0 6px}.wcard p{font-size:14.5px;color:var(--ink2);margin:0}
.trailnav{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 50px}.trailnav a{border:1px solid var(--line);padding:10px 16px;font:500 11.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);text-decoration:none;background:#fff}
.facts-table th{width:34%}
.credit{font-size:12px;color:var(--ink2);margin-top:8px}
.nav{gap:24px}
.wcover.mono{align-items:center;justify-content:center;text-align:center}.wcover.mono b{font-size:54px;font-style:italic;letter-spacing:.02em}
@media(max-width:1100px) and (min-width:961px){.nav{gap:16px}.nav a{font-size:12px;letter-spacing:.1em}}
