/*
Theme Name: Access Napa Valley
Version: 1.0.4
Description: Editable Gutenberg theme for the Access Napa Valley staging rebuild.
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: access-napa-valley
*/
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&display=swap');
:root{--navy:#102c43;--ink:#19364a;--ivory:#f6f3ec;--gold:#c7af82;--muted:#5a6971}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ivory);color:var(--ink);font:15px/1.8 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}img{display:block;width:100%;object-fit:cover}figure{margin:0}h1,h2,h3,blockquote{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.07;margin:0}h1{font-size:clamp(55px,5.8vw,88px);letter-spacing:-2px}h2{font-size:clamp(42px,4.2vw,61px);letter-spacing:-1px}h3{font-size:29px}em{font-weight:400}p{margin:0 0 22px}header{padding:27px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--ivory)}.wordmark{font:36px/1 Georgia,serif;letter-spacing:7px;display:inline-block}.wordmark span{display:block;text-align:center;font:10px/1.2 'DM Sans',sans-serif;letter-spacing:5px;margin-top:10px}nav{display:flex;align-items:center;gap:33px;font-size:12px}nav .nav-inquire{border-bottom:1px solid var(--gold);padding:9px 0;min-width:96px;display:flex;justify-content:space-between}.preview-note{font:10px/1.5 Arial,sans-serif;letter-spacing:1.5px;background:#e7e2d7;padding:8px 6%;display:flex;justify-content:space-between}.preview-note span{letter-spacing:.5px}.hero{display:grid;grid-template-columns:47% 53%;background:var(--navy);color:var(--ivory)}.hero-copy{padding:70px 10% 64px 13%}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:600;margin-bottom:24px;line-height:1.5}.hero .eyebrow{color:#ddc9a5}.hero h1 em{color:#d7c29d}.intro{font-size:17px;line-height:1.7;margin-top:26px}.hero-detail{font-size:13px;line-height:1.9;color:#d0d9de;max-width:345px}.hero-image{position:relative;min-height:670px;overflow:hidden}.hero-image img{height:100%;position:absolute;object-position:59% center}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:50px 30px 24px;background:linear-gradient(transparent,rgba(10,23,32,.5));font-size:9px;letter-spacing:2px;color:white}.button{display:inline-flex;gap:42px;align-items:center;justify-content:space-between;font:12px 'DM Sans',sans-serif;padding:18px 23px;border:1px solid var(--gold);cursor:pointer;min-height:48px}.button.light{background:var(--ivory);color:var(--navy)}.button:hover{background:#e6dccb;text-decoration:none}.text-link{display:inline-block;border-bottom:1px solid #aa9778;padding-bottom:6px;font-size:12px}.hero-link{display:block;width:max-content;margin-top:24px;color:#d5dee3;border:0;font-size:11px}.section{padding:95px 8%}.endorsement{padding:62px 12%;display:grid;grid-template-columns:180px 1fr;gap:55px;align-items:center;background:#eae7de}.endorsement img{height:150px;object-position:60% center}.endorsement figcaption{font-size:9px;margin-top:7px;color:var(--muted)}.endorsement .eyebrow{margin-bottom:17px;font-size:9px}.endorsement blockquote{font-size:29px;line-height:1.3;max-width:790px}.attribution{font-size:13px;margin:21px 0 0}.attribution span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.section-heading{max-width:900px;margin-bottom:43px}.experience-layout{display:grid;grid-template-columns:55% 1fr;gap:55px;align-items:center}.experience-layout>img{height:360px}.experience-copy{font-size:14px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:60px}.principles>div{border-top:1px solid #c6c8c1;padding-top:24px}.principles span{font-size:9px;letter-spacing:1.8px}.principles h3{margin:16px 0}.principles p{font-size:13px;color:var(--muted);margin:0}.host{display:grid;grid-template-columns:42% 1fr;gap:9%;align-items:center;background:#edece5}.host figure img{height:510px;object-position:52% center}.host figcaption{font-size:8px;letter-spacing:1.7px;margin-top:14px}.host h2{margin-bottom:25px}.host-copy>p:not(.eyebrow){font-size:14px}.press{border-top:1px solid #c5c8c3;margin-top:30px;padding-top:21px}.press span{display:block;font-size:8px;letter-spacing:1.5px}.press a{display:block;font:24px/1.2 'Cormorant Garamond',Georgia,serif;margin:12px 0}.press small{font-size:9px;color:var(--muted)}.planning{display:grid;grid-template-columns:40% 1fr;gap:12%}.planning h2{margin-bottom:25px}.planning p{font-size:14px}.steps article{border-top:1px solid #caccc5;display:flex;gap:25px;padding:25px 0 6px}.steps article>span{font-size:10px;color:#8c7855;padding-top:7px}.steps h3{margin-bottom:12px}.steps p{color:var(--muted);font-size:13px}.inquiry{background:var(--navy);color:var(--ivory);display:grid;grid-template-columns:37% 1fr;gap:11%}.inquiry .eyebrow{color:#d7c29d}.inquiry h2{font-size:72px;margin-bottom:25px}.inquiry h2 em{color:#d7c29d}.inquiry-copy>p{font-size:14px;color:#d0d9de}.contact{margin-top:38px}.contact span{display:block;color:#d7c29d;font-size:9px;letter-spacing:1.7px;margin-bottom:12px}.contact a{display:block;font-size:14px}.inquiry-copy .form-note{border-top:1px solid #476070;padding-top:20px;margin-top:30px;font-size:11px;color:#b9c6ce}.fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.fields label{font-size:11px}.fields label>span{color:#c2cbd0}.fields .full{grid-column:1/-1}input,textarea{display:block;width:100%;margin-top:7px;background:#17374e;border:1px solid #667c8b;border-radius:0;color:white;font:14px/1.5 'DM Sans',Arial,sans-serif;padding:12px;min-width:0}input::placeholder,textarea::placeholder{color:#c0cbd2;font-size:12px;opacity:1}textarea{resize:vertical}form .button{margin-top:26px}.form-status{font-size:10px;color:#c0cbd2;margin-top:14px;max-width:410px}footer{padding:45px 8% 24px;display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:30px;align-items:start}footer .wordmark{font-size:25px;letter-spacing:5px}footer .wordmark span{font-size:8px;letter-spacing:3px}footer p{font-size:11px;color:var(--muted)}footer>div a{display:block;font-size:10px;margin-bottom:6px}footer>small{grid-column:1/-1;border-top:1px solid #d5d6ce;padding-top:18px;font-size:8px;letter-spacing:1px;color:var(--muted)}:focus-visible{outline:3px solid #b68f4f;outline-offset:5px}
@media(min-width:1600px){body{max-width:1600px;margin:auto}.hero-copy{padding-top:100px;padding-bottom:95px}}
@media(max-width:900px){nav{gap:17px}.hero-copy{padding:50px 9%}.hero-image{min-height:610px}h1{font-size:60px}.endorsement{padding:45px 7%;gap:30px}.endorsement blockquote{font-size:25px}.section{padding:65px 7%}.experience-layout{gap:30px}.host{gap:6%}.host figure img{height:430px}.inquiry{gap:7%}.inquiry h2{font-size:60px}}
@media(max-width:640px){.preview-note{font-size:8px;padding:7px 5%;letter-spacing:1px;gap:12px}.preview-note span{max-width:150px;text-align:right}header{padding:22px 6%;align-items:center}.wordmark{font-size:27px;letter-spacing:5px}.wordmark span{font-size:8px;letter-spacing:3.4px}nav>a:not(.nav-inquire){display:none}nav .nav-inquire{min-width:77px;font-size:11px}.hero{display:flex;flex-direction:column}.hero-copy{padding:45px 7% 40px}.hero .eyebrow{font-size:9px}h1{font-size:64px}.hero-detail{max-width:100%}.hero-image{min-height:330px}.hero-image img{object-position:center}.hero-image figcaption{font-size:8px;padding:35px 7% 18px}.endorsement{display:flex;flex-direction:column-reverse;align-items:start;padding:42px 7%;gap:25px}.endorsement figure{width:170px}.endorsement img{height:125px}.endorsement blockquote{font-size:28px}.section{padding:52px 7%}h2{font-size:43px}.experience-layout,.host,.planning,.inquiry{grid-template-columns:1fr;gap:30px}.experience-layout>img{height:240px}.principles{grid-template-columns:1fr;gap:24px;margin-top:35px}.principles h3{margin:12px 0}.host figure img{height:auto;max-height:430px;object-position:center}.host h2{font-size:44px}.inquiry h2{font-size:64px}.fields{grid-template-columns:1fr}.fields .full{grid-column:auto}input,textarea{font-size:16px}.form-note{max-width:100%}footer{grid-template-columns:1fr;gap:25px;padding:38px 7% 20px}footer p{margin:0}html{scroll-behavior:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:640px){h1{font-size:clamp(46px,12.5vw,60px);letter-spacing:-1px}.hero-copy{padding-top:38px}.hero .intro{font-size:16px}}
.hero-image img{height:125%;top:0;object-position:59% top}@media(max-width:640px){.hero-image img{object-position:59% top}}

/* Readable content scale: 20px body at the default browser text size. */
html{font-size:100%}
body{font-size:1.25rem;line-height:1.65}
nav{font-size:1rem;gap:26px}
.eyebrow,.hero .eyebrow,.endorsement .eyebrow{font-size:.875rem;letter-spacing:1.8px}
.intro{font-size:1.5rem;line-height:1.5}
.hero-detail{font-size:1.125rem;line-height:1.65;max-width:38ch}
.hero-link,.text-link{font-size:1rem}
.hero-link{margin-top:22px}
.button{font-size:1rem;line-height:1.4;gap:24px;padding:18px 23px}
.experience-copy,.host-copy>p:not(.eyebrow),.planning p,.inquiry-copy>p{font-size:1.25rem;line-height:1.65}
.principles p,.steps p{font-size:1.125rem;line-height:1.65}
.principles span,.steps article>span,.contact span,.press span{font-size:.875rem}
.principles h3,.steps h3{font-size:2rem;line-height:1.15}
.endorsement blockquote{font-size:2.125rem;line-height:1.3}
.attribution{font-size:1.125rem}
.attribution span,.endorsement figcaption,.host figcaption,.hero-image figcaption,.press small{font-size:.875rem;line-height:1.5}
.host figcaption{letter-spacing:1px}
.press a{font-size:1.875rem;line-height:1.2}
.contact a{font-size:1.125rem;overflow-wrap:anywhere}
.fields{gap:24px}
.fields label,input,textarea{font-size:1.125rem}
input,textarea{line-height:1.5;padding:13px}
input::placeholder,textarea::placeholder{font-size:1rem}
.inquiry-copy .form-note,.form-status{font-size:.9375rem;line-height:1.6}
footer p,footer>div a{font-size:1rem;line-height:1.6}
footer>small{font-size:.8125rem}
.experience-layout,.host,.planning,.inquiry{min-width:0}
.experience-copy,.host-copy,.steps,form,.hero-copy{min-width:0}
@media(max-width:1050px){header{flex-wrap:wrap}nav{flex-wrap:wrap}.experience-layout,.host,.planning,.inquiry{gap:38px}.hero{grid-template-columns:50% 50%}.hero-copy{padding-left:12%;padding-right:9%}.hero .intro br{display:none}}
@media(max-width:760px){.experience-layout,.host,.planning,.inquiry{grid-template-columns:1fr}.principles{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.hero-image{min-height:400px}.hero-copy{padding:45px 7%}.hero h1{font-size:clamp(46px,8vw,70px)}}
@media(max-width:640px){body{font-size:1.125rem}.hero .intro{font-size:1.375rem}.hero-detail,.experience-copy,.host-copy>p:not(.eyebrow),.planning p,.inquiry-copy>p,.principles p,.steps p{font-size:1.125rem}.hero h1{font-size:clamp(42px,12vw,60px)}nav .nav-inquire{font-size:1rem;min-width:95px}.eyebrow,.hero .eyebrow,.endorsement .eyebrow{font-size:.8125rem;letter-spacing:1.5px}.hero-image{min-height:330px}.hero-image figcaption{font-size:.75rem;letter-spacing:1px}.endorsement blockquote{font-size:1.875rem}.fields label,input,textarea{font-size:1.125rem}.inquiry-copy .form-note{font-size:.9375rem}.hero .button{max-width:100%}footer p,footer>div a{font-size:1rem}}
/* Keller portrait: circular crop with a restrained gold keyline. */
.endorsement{grid-template-columns:260px minmax(0,1fr);gap:55px;padding-left:9%;padding-right:9%}
.endorsement figure{width:260px;max-width:100%;justify-self:center}
.endorsement img{width:100%;height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;object-position:61% center;border:6px solid var(--ivory);outline:1px solid #b59a67;outline-offset:3px}
.endorsement figcaption{text-align:center;margin-top:16px}
@media(max-width:900px){.endorsement{grid-template-columns:220px minmax(0,1fr);gap:34px;padding-left:7%;padding-right:7%}.endorsement figure{width:220px}}
@media(max-width:640px){.endorsement{flex-direction:column;align-items:stretch;gap:32px}.endorsement figure{width:230px;align-self:center}.endorsement img{height:auto}.endorsement blockquote{font-size:1.875rem}}
/* Kevin's host portrait uses an editorial rectangle, distinct from endorsements. */
.host figure{position:relative;isolation:isolate;padding:0 17px 0 0}
.host figure::before{content:"";position:absolute;z-index:-1;top:17px;left:17px;right:0;height:510px;border:1px solid #b59a67;pointer-events:none}
.host figure img{height:510px;object-position:52% center}
.host figcaption{margin-top:35px;letter-spacing:0;line-height:1.5}
.host figcaption strong{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:2rem;font-weight:500;line-height:1.2}
.host figcaption span{display:block;font-size:1rem;margin-top:7px;color:var(--muted)}
@media(max-width:900px){.host figure::before,.host figure img{height:430px}}
@media(max-width:760px){.host figure{max-width:560px;width:100%;justify-self:center}.host figure img{height:auto;max-height:none;aspect-ratio:4/5;object-position:52% center}.host figure::before{height:auto;aspect-ratio:4/5;right:0;width:calc(100% - 17px)}.host figcaption span{font-size:1rem}}
/* More breathing room between the three experience principles. */
.principles{column-gap:clamp(56px,5.5vw,88px);row-gap:32px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.principles{grid-template-columns:1fr;row-gap:32px}}
/* Scenic film: user-initiated, silent playback with native controls. */
.flyover{padding:55px 8% 65px;background:#e4e8e5}
.film-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:30px}
.film-heading .eyebrow{margin-bottom:15px}
.film-heading h2{font-size:clamp(36px,3.7vw,52px);max-width:820px;line-height:1.12}
.film-toggle{flex-shrink:0;background:transparent;border:0;border-bottom:1px solid #aa9778;padding:12px 0;font:1rem/1.4 'DM Sans',Arial,sans-serif;color:var(--navy);cursor:pointer;min-height:44px}
.flyover video{display:block;width:100%;aspect-ratio:1.896;background:var(--navy);object-fit:contain}
.flyover figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:15px;font-size:.875rem;line-height:1.5;color:var(--muted)}
.vehicle-story{grid-column:1/-1;display:grid;grid-template-columns:52% minmax(0,1fr);gap:6%;align-items:center;margin-top:32px;padding-top:55px;border-top:1px solid #caccc5}
.vehicle-story img{height:auto;aspect-ratio:5/3;object-fit:contain}
.vehicle-story figcaption{font-size:.8125rem;letter-spacing:1.1px;margin-top:15px;color:var(--muted)}
.vehicle-story h3{font-size:clamp(34px,3vw,45px);line-height:1.15;margin-bottom:24px}
.vehicle-story p:not(.eyebrow){font-size:1.125rem;line-height:1.65}
@media(max-width:900px){.vehicle-story{grid-template-columns:1fr;gap:28px}.film-heading{display:block}.film-toggle{margin-top:18px}.flyover{padding:45px 7%}.flyover figcaption{flex-direction:column;gap:5px}}
@media(max-width:640px){.vehicle-story{padding-top:35px;margin-top:10px}.vehicle-story h3{font-size:36px}.vehicle-story figcaption{font-size:.75rem}.film-heading h2{font-size:38px}.flyover figcaption{font-size:.875rem}.flyover video{aspect-ratio:1.896}}
.planning{row-gap:50px}
.vehicle-story{margin-top:0}
@media(max-width:900px){.planning{row-gap:38px}}
/* Inline landscape loop replacing the experience photograph. */
.experience-film{position:relative;width:100%;min-width:0;overflow:hidden;background:var(--navy)}
.experience-film video{display:block;width:100%;height:360px;object-fit:cover}
.experience-film .film-toggle{position:absolute;right:16px;bottom:16px;margin:0;padding:10px 15px;border:1px solid rgba(255,255,255,.65);background:rgba(16,44,67,.94);color:var(--ivory);font-size:.875rem;line-height:1.4;min-height:44px}
.experience-film .film-toggle:hover{background:var(--navy)}
.experience-film .film-toggle:focus-visible{outline-color:var(--ivory);outline-offset:-5px}
@media(max-width:640px){.experience-film video{height:240px}.experience-film .film-toggle{right:12px;bottom:12px}}
/* Vehicle portrait echoes Kevin's offset gold frame at a quieter scale. */
.vehicle-story{grid-template-columns:minmax(0,44%) minmax(0,1fr);column-gap:8%}
.vehicle-story figure{position:relative;isolation:isolate;width:100%;max-width:460px;justify-self:center;padding-right:14px}
.vehicle-story figure::before{content:"";position:absolute;z-index:-1;top:14px;left:14px;width:calc(100% - 14px);aspect-ratio:5/3;border:1px solid #b59a67;pointer-events:none}
.vehicle-story figcaption{margin-top:30px;line-height:1.5}
@media(max-width:900px){.vehicle-story{grid-template-columns:1fr;gap:32px}.vehicle-story figure{max-width:420px}}
@media(max-width:640px){.vehicle-story figure{width:90%;max-width:360px}}
/* Keep the wordmark clean when hovered. */
a.wordmark:hover{text-decoration:none}

/* A quiet, manually controlled guest review carousel. */
.guest-reviews{background:#ebe7de;text-align:center}
.guest-reviews-heading{margin-bottom:38px}
.guest-reviews-heading .eyebrow{margin-bottom:18px}
.guest-reviews-heading h2{font-size:clamp(40px,3.6vw,54px);line-height:1.12}
.guest-carousel{max-width:800px;margin:0 auto}
.review-stars{display:flex;justify-content:center;gap:5px;color:#a18a60;margin-bottom:26px}
.review-stars svg{width:20px;height:20px;fill:currentColor}
.guest-reviews-grid{display:grid;gap:32px}
.guest-reviews-grid figure{display:flex;flex-direction:column;align-items:center;min-width:0;margin:0}
.is-carousel .guest-reviews-grid{gap:0}
.is-carousel .guest-reviews-grid figure{grid-area:1/1;visibility:hidden;pointer-events:none}
.is-carousel .guest-reviews-grid figure.is-active{visibility:visible;pointer-events:auto}
.guest-reviews-grid blockquote{font-size:clamp(25px,2vw,30px);line-height:1.4;letter-spacing:0;margin:0 0 25px;max-width:760px}
.guest-reviews-grid figcaption{margin-top:auto;font:0.8125rem/1.6 'DM Sans',Arial,sans-serif;color:var(--muted)}
.guest-reviews-grid figcaption span{display:block}
.guest-reviews-grid .guest-name{font-size:1rem;color:var(--navy);margin-bottom:3px}
.review-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:26px}
.review-controls[hidden]{display:none}
.review-arrow,.review-dots button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--navy);cursor:pointer}
.review-arrow{font:26px/1 Georgia,serif}
.review-arrow:hover{color:#8a7047}
.review-dots{display:flex;align-items:center;gap:0}
.review-dots button::before{content:"";display:block;width:5px;height:5px;border-radius:50%;border:1px solid #8a7047;background:transparent}
.review-dots button[aria-current="true"]::before{background:#8a7047}
.guest-carousel:focus-visible,.review-controls button:focus-visible{outline:2px solid var(--navy);outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.guest-reviews-grid blockquote{font-size:28px}}
@media(max-width:640px){.guest-reviews-grid blockquote{font-size:26px}.guest-reviews-heading h2{font-size:40px}.guest-reviews-heading{margin-bottom:30px}.review-controls{gap:10px;margin-top:20px}}

.review-position{display:none;font:0.875rem/1.5 'DM Sans',Arial,sans-serif;letter-spacing:2px;color:var(--muted)}
@media(max-width:640px){.review-dots{display:none}.review-position{display:block;min-width:72px}.review-controls{gap:22px}}

/* Services and pricing: transparent rates, with the same considered typography. */
nav a[aria-current="page"]{border-bottom:1px solid #a18a60;padding-bottom:7px}
.home-rate-summary{border-top:1px solid #c7c6bb;margin-top:26px;padding-top:22px}
.home-rate-summary p{font-size:1rem;line-height:1.65;margin-bottom:12px;color:var(--muted)}
.home-rate-summary strong{color:var(--navy);font-weight:500}
.form-note a{color:var(--ivory);text-decoration:underline;text-underline-offset:4px}
.services-opening{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:9%;align-items:center;padding-top:75px;padding-bottom:80px}
.services-intro h1{font-size:clamp(54px,5.1vw,78px);line-height:1.02;letter-spacing:-1.5px;margin-bottom:30px}
.services-intro h1 em{color:#76613d}
.services-intro>p:not(.eyebrow){max-width:43ch;color:var(--muted)}
.rate-panel{padding:38px 38px 34px;background:var(--navy);color:var(--ivory);border-top:3px solid #b59a67}
.rate-panel .eyebrow{color:#d7c29d;margin-bottom:15px}
.rate-panel .hourly-rate{font:76px/1.1 'Cormorant Garamond',Georgia,serif;margin-bottom:10px}
.hourly-rate span{font:1.125rem/1.6 'DM Sans',Arial,sans-serif;white-space:nowrap}
.rate-conditions{font-size:1.125rem;line-height:1.7;color:#d6dfe4;margin-bottom:25px}
.rate-example{border-top:1px solid #61717b;padding-top:24px}
.rate-example>span{font-size:.8125rem;letter-spacing:1.5px;color:#d7c29d}
.rate-example dl{font-size:1rem;line-height:1.6;margin:15px 0}
.rate-example dl div{display:flex;justify-content:space-between;gap:20px;margin-bottom:8px}
.rate-example dd{margin:0;white-space:nowrap}
.rate-example .rate-total{border-top:1px solid #61717b;padding-top:13px;margin-top:13px;font-weight:600;font-size:1.25rem}
.rate-example>p{font-size:.9375rem;line-height:1.65;color:#d6dfe4;margin-bottom:24px}
.rate-panel .button{width:100%;gap:15px}
.services-included{background:#edece5;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11%}
.services-section-heading h2{margin-bottom:25px}
.services-section-heading>p:not(.eyebrow){max-width:45ch;color:var(--muted)}
.service-list article{border-top:1px solid #c6c8c1;padding:25px 0 12px}
.service-list article>span{font-size:.8125rem;letter-spacing:1.5px}
.service-list h3{font-size:2.125rem;margin:15px 0}
.service-list p{font-size:1.125rem;color:var(--muted)}
.services-details .services-section-heading{margin-bottom:35px}
.details-columns{display:grid;grid-template-columns:1fr 1fr;gap:9%}
.details-columns article{border-top:1px solid #c6c8c1;padding-top:30px;min-width:0}
.details-columns h3{font-size:2.125rem;margin-bottom:25px}
.details-columns ul{padding-left:22px;margin:0;color:var(--muted);font-size:1.125rem}
.details-columns li{padding-left:5px;margin-bottom:20px}
.details-columns li::marker{color:#a18a60}
.reservation-details{background:#ebe7de;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11%}
.policy-list article{border-top:1px solid #c2c3b9;padding:24px 0 10px}
.policy-list h3{font-size:1.875rem;line-height:1.15;margin-bottom:15px}
.policy-list p{font-size:1.125rem;color:var(--muted)}
.services-close{background:var(--navy);color:var(--ivory);display:grid;grid-template-columns:1.2fr .8fr;gap:10%;align-items:center}
.services-close h2{margin-bottom:25px}
.services-close h2 em,.services-close .eyebrow{color:#d7c29d}
.services-close p:not(.eyebrow){color:#d6dfe4;max-width:46ch;margin-bottom:0}
.services-contact{display:flex;align-items:flex-start;flex-direction:column;gap:16px;min-width:0}
.services-contact>a:not(.button){font-size:1.125rem;overflow-wrap:anywhere;max-width:100%}
@media(max-width:1100px){header{flex-wrap:wrap;row-gap:24px}header nav{gap:22px;flex-wrap:wrap}.services-opening{gap:5%;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr)}.rate-panel{padding:30px}.services-included,.reservation-details{gap:7%}}
@media(max-width:760px){.services-opening,.services-included,.reservation-details,.services-close,.details-columns{grid-template-columns:1fr;gap:38px}.services-opening{padding-top:48px;padding-bottom:52px}.rate-panel{max-width:520px;width:100%}.services-intro h1{font-size:clamp(48px,8vw,65px)}.services-intro>p:not(.eyebrow){font-size:1.125rem}.services-close .button{max-width:100%}}
/* Pricing stays directly reachable on small screens, alongside the inquiry. */
@media(max-width:640px){header{column-gap:12px}header nav{width:100%;justify-content:space-between;gap:12px}nav>a.nav-pricing{display:inline-block;font-size:1rem}.rate-panel{padding:28px 24px}.rate-panel .hourly-rate{font-size:68px}.rate-panel .button{font-size:1rem}.services-section-heading h2,.services-close h2{font-size:42px}}

.rate-panel .service-charge-note{font-size:.9375rem;line-height:1.65;color:#d6dfe4;margin:-8px 0 25px}

/* Kevin's portrait and offset frame reduced by approximately 15%. */
.host figure{width:85%;justify-self:center}
.host figure img,.host figure::before{height:433.5px}
@media(max-width:900px){.host figure img,.host figure::before{height:365.5px}}
@media(max-width:760px){.host figure{width:85%;max-width:476px}.host figure img,.host figure::before{height:auto}}

/* Approved homepage wording review: readable inquiry reassurance. */
.inquiry-assurance{font-size:1rem;line-height:1.65;color:#d0d9de;margin-top:22px;max-width:55ch}
.inquiry-assurance p{margin-bottom:12px}

/* Keep supporting pricing detail quieter than the rate itself. */
.home-rate-summary p.home-rate-detail{font-size:.9375rem;line-height:1.65;color:#68747b}

/* Meet Kevin, the vehicle, and charter pricing read as one section. */
.host-charter{background:#edece5}
.host-charter>.eyebrow{margin-bottom:40px}
.host-charter .host-intro{background:transparent}
.host-charter .combined-vehicle{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:9%;margin-top:60px;padding-top:48px}
.combined-vehicle .charter-copy{min-width:0}
.combined-vehicle .charter-copy>p:not(.eyebrow){font-size:1.25rem;line-height:1.65;max-width:34ch}
.combined-vehicle figure{justify-self:end}
@media(max-width:900px){.host-charter .combined-vehicle{gap:6%;margin-top:46px;padding-top:36px}}
@media(max-width:760px){.host-charter .combined-vehicle{grid-template-columns:1fr;gap:30px;margin-top:40px}.combined-vehicle figure{justify-self:center}.combined-vehicle .charter-copy>p:not(.eyebrow){font-size:1.125rem;max-width:none}.host-charter>.eyebrow{margin-bottom:32px}}
/* Concise, transparent rates with a clear route to full service details. */
.combined-vehicle .charter-copy>p.charter-rate-line{font-size:1rem;line-height:1.7;max-width:none;color:var(--muted);margin:24px 0 20px}
.charter-rate-line strong{font-weight:500;color:var(--navy)}
.charter-copy .pricing-button{background:var(--navy);color:var(--ivory);border-color:var(--navy);gap:24px;max-width:100%;font-size:1rem;text-align:left}
.charter-copy .pricing-button:hover{background:#1c4058;border-color:#1c4058}

/* Compact charter inclusions sit beside the rate, without a repeated story section. */
.charter-inclusions{border-top:1px solid #c7c6bb;margin-top:30px;padding-top:24px;scroll-margin-top:35px}
.charter-inclusions h2{font:500 1rem/1.5 "DM Sans",Arial,sans-serif;margin-bottom:14px}
.charter-inclusions ul{padding-left:20px;margin:0;color:var(--muted);font-size:1rem;line-height:1.65}
.charter-inclusions li{padding-left:5px;margin-bottom:8px}
.charter-inclusions li::marker{color:#a18a60}
.services-page .services-details{border-top:1px solid #d8d6cc}

/* Gutenberg foundations and shared navigation. */
.wp-site-blocks{padding:0}.wp-site-blocks>*,.wp-block-post-content>*{margin-block-start:0;margin-block-end:0}
.wp-block-group,.wp-block-image,.wp-block-quote{box-sizing:border-box}.wp-block-image img{max-width:100%;vertical-align:middle}
.wp-block-group>p:last-child{margin-bottom:0}.wp-block-quote{border:0;padding:0}.wp-block-quote p{font:inherit;line-height:inherit;margin:0}
.wp-block-button__link{border-radius:0;background:var(--ivory);color:var(--navy);border:1px solid var(--gold);font:1rem/1.4 'DM Sans',Arial,sans-serif;padding:18px 23px;text-decoration:none;min-height:48px}
.wp-block-button__link:hover{background:#e6dccb;color:var(--navy)}.wp-block-buttons{margin-top:22px}
.anv-header-shell{position:sticky;top:0;z-index:1000;padding:0;display:block;border-bottom:1px solid #d7d0c1}
.admin-bar .anv-header-shell{top:32px}.anv-header{padding:20px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--ivory)}
.anv-header .wordmark{margin:0;flex-shrink:0}.wordmark a:hover{text-decoration:none}.anv-header nav{display:flex;padding:0;flex-wrap:nowrap;gap:0;font-size:1rem}
.anv-navigation .wp-block-navigation__container{gap:26px;align-items:center}.anv-navigation .nav-inquire{background:var(--navy);color:var(--ivory);padding:12px 18px;border:0;min-width:0}
.anv-navigation .wp-block-navigation-item__content{text-decoration:none}.anv-navigation .wp-block-navigation-item__content:hover{text-decoration:underline}
.anv-navigation .wp-block-navigation__responsive-container{background:var(--ivory);color:var(--navy)}
html{scroll-padding-top:140px}.wp-block-post-content{max-width:none!important}.hero-copy .wp-block-buttons{margin-bottom:0}.hero-image figcaption{margin:0}
.endorsement .wp-block-quote p{font:inherit}.endorsement .wp-block-quote{margin:0}.host-intro .wp-block-image{margin:0}.press .small-label{font-size:.875rem;letter-spacing:1px;margin-bottom:12px}
.principles .small-label{font-size:.875rem;letter-spacing:1.8px}.steps article>.small-label{font-size:.875rem;color:#8c7855;min-width:24px}
.contact>.small-label{color:#d7c29d;font-size:.875rem;letter-spacing:1.7px}.contact p{margin:0 0 8px}
.vehicle-story .pricing-button .wp-block-button__link{background:var(--navy);color:var(--ivory)}
.experience-film .wp-block-video{margin:0}.experience-film video{width:100%;height:360px;object-fit:cover;display:block}
.experience-film.enhanced video::-webkit-media-controls{display:none!important}.review-stars{font-size:20px;letter-spacing:5px;display:block;margin-bottom:26px}
.guest-reviews-grid>.wp-block-quote{margin:0;font-size:clamp(25px,2vw,30px);line-height:1.4;display:flex;flex-direction:column;align-items:center}
.guest-reviews-grid>.wp-block-quote cite{font:1rem/1.5 'DM Sans',Arial,sans-serif;color:var(--muted);margin-top:25px}.guest-reviews-grid>.wp-block-quote cite .guest-name{font-size:1rem}
.is-carousel .guest-reviews-grid>.wp-block-quote{grid-area:1/1;visibility:hidden;pointer-events:none}.is-carousel .guest-reviews-grid>.wp-block-quote.is-active{visibility:visible;pointer-events:auto}
.inquiry .form-placeholder{border:1px solid #667c8b;padding:28px;align-self:start}.form-placeholder h3{font-size:36px;margin-bottom:20px}.form-placeholder .form-status{max-width:none;font-size:1.125rem;margin-top:0}
.anv-footer-shell{display:block;padding:0}.anv-footer{padding:45px 8% 24px;display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:30px}.anv-footer .wordmark{font-size:25px;letter-spacing:5px}.anv-footer .wordmark span{font-size:8px;letter-spacing:3px}.anv-footer p{font-size:1rem;color:var(--muted)}.anv-footer>div p{margin-bottom:6px}.anv-footer>.small-label{grid-column:1/-1;border-top:1px solid #d5d6ce;padding-top:18px;font-size:.8125rem}
.rate-panel .rate-row{display:flex;justify-content:space-between;gap:18px;margin:8px 0}.rate-row p{margin:0}.rate-panel .rate-breakdown{margin:15px 0}.rate-panel .rate-example>.small-label{font-size:.8125rem;letter-spacing:1.5px;color:#d7c29d}.rate-panel .wp-block-button{width:100%}.rate-panel .wp-block-button__link{display:block;text-align:center}.rate-panel .rate-total{border-top:1px solid #61717b;padding-top:13px;font-weight:600;font-size:1.25rem}
.services-intro h1 em{display:inline-block;margin-left:clamp(12px,2vw,28px);margin-top:.08em}.services-intro h1{line-height:1.1}
@media(max-width:1100px){.anv-navigation .wp-block-navigation__container{gap:16px}.anv-header{padding:18px 5%;gap:20px}.anv-header .wordmark{font-size:30px}}
@media(max-width:900px){.anv-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}.anv-navigation .wp-block-navigation__responsive-container-open{display:flex!important;min-width:48px;min-height:48px;align-items:center;justify-content:center}.anv-navigation .wp-block-navigation__responsive-container.is-menu-open{display:flex!important;padding:80px 8% 40px}.anv-navigation .is-menu-open .wp-block-navigation__container{align-items:flex-start;gap:26px}.anv-navigation .is-menu-open .wp-block-navigation-item{font-size:1.5rem}.anv-header nav{width:auto;margin-left:auto}.anv-header-shell header{display:block}.anv-navigation .wp-block-navigation__responsive-container-close{top:24px;right:7%;min-height:44px;min-width:44px}.anv-navigation .is-menu-open .nav-inquire{padding:12px 20px}}
@media(max-width:782px){.admin-bar .anv-header-shell{top:46px}}
@media(max-width:760px){.combined-vehicle>figure{grid-row:1}.combined-vehicle>.charter-copy{grid-row:2}.anv-footer{grid-template-columns:1fr}.guest-reviews-grid>.wp-block-quote{font-size:26px}}
@media(max-width:640px){.anv-header{padding:14px 6%}.anv-header .wordmark{font-size:27px}.anv-header nav{width:auto}.experience-film video{height:240px}.anv-footer{padding:38px 7% 20px}.anv-header-shell{top:0}.services-intro h1 em{margin-left:12px}.hero-image{height:330px}.hero-image img{height:125%}}
/* Editor: show every quote while editing; interactions are frontend-only. */
.editor-styles-wrapper .guest-reviews-grid{display:block}.editor-styles-wrapper .guest-reviews-grid>.wp-block-quote{visibility:visible;position:static;margin-bottom:35px}.editor-styles-wrapper .anv-header-shell{position:static}

/* Button hover remains clean; navigation retains its existing hover underline. */
.wp-block-button__link:hover,.wp-block-button__link:focus-visible,a.button:hover{ text-decoration:none!important; }

/* Give prose and calls to action room within Gutenberg's zero-gap layout groups. */
.wp-block-post-content .hero-copy > p + p,
.wp-block-post-content .experience-copy > p + p,
.wp-block-post-content .host-copy > p + p,
.wp-block-post-content .inquiry-copy > p + p,
.wp-block-post-content .services-intro > p + p,
.wp-block-post-content .services-section-heading > p + p,
.wp-block-post-content .policy-list article > p + p,
.wp-block-post-content .services-close > div > p + p{margin-block-start:28px}
.wp-block-post-content .hero-copy > .wp-block-buttons,
.wp-block-post-content .charter-copy > .wp-block-buttons,
.wp-block-post-content .services-contact > .wp-block-buttons{margin-block-start:32px}
.wp-block-post-content .experience-copy > p.text-link,
.wp-block-post-content .planning > div > p.text-link,
.wp-block-post-content .services-section-heading > p.text-link{margin-block-start:30px}
.wp-block-post-content .hero-copy > p.hero-link{margin-block-start:26px}
.wp-block-post-content .host-copy > .press{margin-block-start:36px}
p.text-link > a.text-link{border-bottom:0;padding-bottom:0}
@media(max-width:640px){
.wp-block-post-content .hero-copy > p + p,
.wp-block-post-content .experience-copy > p + p,
.wp-block-post-content .host-copy > p + p,
.wp-block-post-content .inquiry-copy > p + p{margin-block-start:24px}
}

/* Native Details blocks: readable FAQ content with accessible disclosure controls. */
.faq{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:9%;background:var(--ivory)}
.faq-heading h2{font-size:clamp(42px,4.2vw,61px)}
.faq-items{min-width:0;border-bottom:1px solid #c7c6bb}
.faq-items .wp-block-details{border-top:1px solid #c7c6bb;margin:0;padding:0}
.faq-items summary{list-style:none;position:relative;padding:25px 42px 25px 0;cursor:pointer;font:400 1.75rem/1.25 'Cormorant Garamond',Georgia,serif;color:var(--navy)}
.faq-items summary::-webkit-details-marker{display:none}
.faq-items summary::marker{content:''}
.faq-items summary::after{content:'+';position:absolute;right:4px;top:25px;font:400 1.4rem/1.5 'DM Sans',Arial,sans-serif;color:#8a7047}
.faq-items details[open]>summary::after{content:'−'}
.wp-block-post-content .faq-items details>p{font-size:1.125rem;line-height:1.7;color:var(--muted);margin:0 0 26px;padding-right:20px}
.faq-items a{text-decoration:underline;text-underline-offset:4px}
.faq-items summary:focus-visible{outline:2px solid var(--navy);outline-offset:4px}
@media(max-width:760px){.faq{grid-template-columns:1fr;gap:32px}.faq-items summary{font-size:1.625rem;padding-top:22px;padding-bottom:22px}.faq-items summary::after{top:22px}}


/* Mobile review, October 29: readable native navigation without toolbar overlap. */
@media(max-width:900px){
 .anv-header-shell .wp-block-navigation__responsive-container.is-menu-open{
  background:#f6f3ec!important;color:#102c43!important;
  padding:88px 8% 40px!important;overflow-y:auto;
 }
 .anv-header-shell .is-menu-open .wp-block-navigation__responsive-dialog{margin:0!important;width:100%}
 .anv-header-shell .is-menu-open .wp-block-navigation__responsive-container-content{padding:0!important;align-items:flex-start!important}
 .anv-header-shell .is-menu-open .wp-block-navigation__container{width:100%;align-items:flex-start!important;gap:24px!important}
 .anv-header-shell .is-menu-open .wp-block-navigation-item{font-size:1.5rem!important;text-align:left}
 .anv-header-shell .is-menu-open .wp-block-navigation-item__content{min-height:44px;display:flex;align-items:center;white-space:normal}
 .anv-header-shell .is-menu-open .nav-inquire{background:#102c43;color:#f6f3ec;padding:10px 20px}
 .anv-header-shell .wp-block-navigation__responsive-container-close{position:fixed!important;top:24px!important;right:24px!important;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}
 /* Keep the accessibility tools available again as soon as navigation closes. */
 body:has(.wp-block-navigation__responsive-container.is-menu-open) #pojo-a11y-toolbar{visibility:hidden!important}
}
@media(max-width:640px){
 .wp-block-post-content .inquiry h2{font-size:clamp(44px,13vw,64px)}
 .wp-block-post-content .inquiry-copy .contact a{overflow-wrap:anywhere}
}

/* Accessibility review: retain photographic textures with steadier text contrast. */
.wp-site-blocks .wp-block-post-content .hero-copy,
.wp-site-blocks .wp-block-post-content #endorsement,
.wp-site-blocks .wp-block-post-content #inquire,
.wp-site-blocks .wp-block-post-content .services-close{
 background-image:linear-gradient(rgba(16,44,67,.72),rgba(16,44,67,.72)),url("/wp-content/uploads/access-napa-valley-navy-linen.jpg")!important;
}
.wp-site-blocks .wp-block-post-content #guest-reviews .wp-block-quote cite,
.wp-site-blocks .wp-block-post-content #guest-reviews .guest-name,
.wp-site-blocks .wp-block-post-content #guest-reviews .review-position{
 color:#19364a!important;
}

/* Full-bleed section backgrounds; preserve the established desktop content measure. */
body{max-width:none;margin:0}
@media(min-width:1600px){
 .wp-site-blocks .wp-block-post-content .section,
 .wp-site-blocks .anv-footer{
  padding-left:calc((100% - 1600px)/2 + 128px)!important;
  padding-right:calc((100% - 1600px)/2 + 128px)!important;
 }
 .wp-site-blocks .wp-block-post-content .endorsement{
  padding-left:calc((100% - 1600px)/2 + 144px)!important;
  padding-right:calc((100% - 1600px)/2 + 144px)!important;
 }
 .wp-site-blocks .anv-header{
  padding-left:calc((100% - 1600px)/2 + 128px);
  padding-right:calc((100% - 1600px)/2 + 128px);
 }
 .wp-site-blocks .wp-block-post-content .hero{grid-template-columns:calc(50% - 48px) minmax(0,1fr)}
 .wp-site-blocks .wp-block-post-content .hero-copy{
  padding-left:calc((100vw - 1600px)/2 + 128px);
  padding-right:75px;
 }
}

/* Larger Navigator image and matching offset gold frame. */
.wp-site-blocks .wp-block-post-content .combined-vehicle > figure.wp-block-image{width:100%;max-width:none;padding-right:14px}
.wp-site-blocks .wp-block-post-content .combined-vehicle > figure.wp-block-image img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center}
.wp-site-blocks .wp-block-post-content .combined-vehicle > figure.wp-block-image::before{top:14px;left:14px;width:calc(100% - 14px);height:auto;aspect-ratio:16/9}
@media(min-width:761px){
 .wp-site-blocks .wp-block-post-content .host-charter .combined-vehicle{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);column-gap:6%}
}
@media(max-width:760px){
 .wp-site-blocks .wp-block-post-content .combined-vehicle > figure.wp-block-image{width:95%;max-width:520px;justify-self:center}
}

/* Increase small process-step numerals to readable contrast on ivory. */
.wp-site-blocks .wp-block-post-content .steps article > .small-label{color:#76613d}

/* Preserve reading space at high zoom and in landscape-height viewports. */
@media(max-height:480px){
 .wp-site-blocks .anv-header-shell{position:relative;top:0!important}
}
/* Avoid a narrow text column in portrait tablet hero layouts. */
@media(min-width:761px) and (max-width:900px){
 .wp-site-blocks .wp-block-post-content .hero{grid-template-columns:1fr}
 .wp-site-blocks .wp-block-post-content .hero-copy{padding:50px 7%}
 .wp-site-blocks .wp-block-post-content .hero h1{font-size:clamp(46px,8vw,70px)}
 .wp-site-blocks .wp-block-post-content .hero-image{height:400px;min-height:400px}
}

/* Keep required-field labels clear of the sticky header during validation. */
.wp-site-blocks .anv-form-preview :is(input,select,textarea){scroll-margin-top:210px!important}
