@font-face{font-family:Gilda;src:url(../fonts/GildaDisplay-Regular.ttf);font-display:swap}
.only-strip{background:var(--burgundy);color:#f3e6d0;text-align:center;font-size:.68rem;letter-spacing:.18em;padding:.55rem 1rem;text-transform:uppercase}
.crest-brand{display:flex;align-items:center;gap:.9rem}.crest-brand img{height:84px;width:auto}
.crest-brand b{display:block;font-family:Gilda,serif;font-weight:400;color:var(--burgundy);font-size:2.1rem;line-height:1;letter-spacing:0;text-transform:none}
.crest-brand small{display:block;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-top:.45rem;white-space:nowrap}
.header-call{white-space:nowrap}
@media (min-width:701px) and (max-width:1240px){
 .site-header{flex-wrap:wrap;row-gap:.5rem}.site-header nav{display:flex!important;order:3;width:100%;justify-content:center;gap:1.4rem;position:static;background:none;padding:0;box-shadow:none}
 .site-header nav a{font-size:.66rem}.menu-toggle{display:none!important}.crest-brand img{height:72px}.crest-brand b{font-size:1.8rem}}
@media (max-width:700px){.crest-brand img{height:52px}.crest-brand b{font-size:1.35rem}.crest-brand small{font-size:.5rem;letter-spacing:.18em}}
.vhero{position:relative;height:min(78vh,760px);min-height:500px;overflow:hidden;background:#1d1214}
.vhero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.vhero-ov{position:absolute;inset:0;background:rgba(25,8,12,.45);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 1.5rem;color:#fff}
.vh-name{font-family:Gilda,serif;color:#f6eddc;font-size:clamp(3rem,7.5vw,6.5rem);line-height:1;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.vh-tag{color:#e9cf9c;font-size:.8rem;letter-spacing:.32em;text-transform:uppercase;margin-top:1rem}
.vh-rule{width:70px;height:1px;background:#e9cf9c;margin:1.4rem auto}
.vhero h1{font-family:"Cormorant",serif;font-weight:400;font-size:clamp(1.5rem,2.6vw,2.1rem);color:#f6eddc}.vhero h1 em{color:#e9cf9c}
.vh-lede{max-width:34rem;margin:1rem auto 1.8rem;line-height:1.7;color:#f3ece2}
.vh-ctas{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}
.vbtn1{background:var(--burgundy);border-color:var(--burgundy);color:#fff;justify-content:center}.vbtn1:hover{background:#7a2a3a}
.vbtn2{border-color:#fff;color:#fff}.vbtn2:hover{background:#fff;color:var(--ink)}
.trustbar{display:flex;justify-content:center;gap:1.2rem 4vw;flex-wrap:wrap;padding:1.4rem var(--pad);border-bottom:1px solid var(--line);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.trustbar b{color:var(--gold);font-size:1.05rem;letter-spacing:0;font-weight:500}
.consult{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1.8rem;text-align:left}
.consult .cf-title{grid-column:1/-1;font-family:"Cormorant",serif;font-size:1.5rem;color:var(--burgundy)}
.consult label{display:flex;flex-direction:column;gap:.3rem;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.consult input,.consult textarea{font:inherit;font-size:.95rem;letter-spacing:0;text-transform:none;padding:.75rem;border:1px solid #d9ccb8;background:#fff;color:var(--ink)}
.consult .full{grid-column:1/-1}.consult .hp{position:absolute;left:-9999px}
.visit2 h2{color:var(--burgundy)}.only-line{border-left:3px solid var(--gold);padding:.6rem 1rem;margin:1.2rem 0 1.6rem;color:var(--burgundy)!important;font-weight:500}
.hours{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.6rem}
.hours h3{font-family:"Cormorant",serif;font-size:1.35rem;color:var(--burgundy);margin-bottom:.5rem;border-bottom:1px solid var(--gold-lt);padding-bottom:.3rem}
.hours td{padding:.2rem 1rem .2rem 0;font-size:.9rem}.hours td:first-child{color:var(--muted)}
.call-lbl{margin-bottom:.2rem}.visit2 .phone{font-weight:600;color:var(--burgundy)}
.only-foot{color:#cfc4b2!important;border-top:0!important;padding-top:0!important;margin-bottom:.6rem!important}
@media (min-width:701px) and (max-width:1040px){.contact.visit2{grid-template-columns:1fr 1fr}.visit2 .hours{grid-template-columns:1fr}}
@media (max-width:600px){.hours,.consult{grid-template-columns:1fr}}
@media (min-width:701px) and (max-width:1240px){.site-header nav{flex-direction:row!important;flex-wrap:wrap;border-top:0!important;margin-top:0!important;padding:.2rem 0 .3rem!important}.site-header nav a{padding:.35rem 0!important;border:0!important}}
.consult label{min-width:0}.consult input,.consult textarea{width:100%;min-width:0;box-sizing:border-box}
.wedding-film .wf-text .consult{margin-top:1.8rem}
@media (max-width:700px){.only-strip{font-size:.58rem;letter-spacing:.1em}}
/* mobile call bar */
.kf-callbar{display:none}
@media (max-width:768px){
 .kf-callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:999;background:#5a1a2a;border-top:2px solid #b8975a;padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:8px}
 .kf-callbar a{flex:1;text-align:center;padding:12px 6px;font:600 15px/1 Georgia,serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:#5a1a2a;background:#f5ecdd;border-radius:3px}
 .kf-callbar a+a{background:#b8975a;color:#fff}.kf-callbar a{font-size:13px;padding:12px 4px}
 body{padding-bottom:72px}
 html,body{overflow-x:hidden}
 img,video,iframe{max-width:100%}
 .vh-name{font-size:clamp(2rem,11vw,3.4rem)!important;word-break:break-word}
 .vh-ctas{flex-wrap:wrap}
}
.fb-link{color:#b8975a;text-decoration:underline;font-weight:600}
@media (max-width:768px){
 .site-header{flex-wrap:nowrap!important}
 .site-header .header-actions{display:none!important}
 .vhero-ov{padding-top:110px!important}
}
@media (max-width:360px){.crest-brand small{display:none}.crest-brand b{font-size:1.25rem}}

@media (max-width:360px){.hero a[href^="tel:"]{white-space:nowrap;font-size:.85em}}
/* ===== navfix + elder-friendly 10/23 ===== */
html{font-size:16px}
body{font:400 19px/1.6 "Montserrat",system-ui,sans-serif;color:#1d1a17}
p,li,td,label,figcaption{font-size:19px;line-height:1.6}
.occasions p,.feature-text p,.pair figcaption,.wedding-film p,.contact p{font-size:19px!important;color:#2b2622!important;line-height:1.6}
.eyebrow{font-size:15px!important;font-weight:600!important;letter-spacing:.16em!important;color:#7a5a2a!important}
.section-head h2,.contact h2{font-size:clamp(2.4rem,5vw,3.6rem)}
.occasions h3,.feature-text h3{font-size:1.9rem!important;color:#5e1f2b}
.intro{font-style:normal;color:#1d1a17;font-size:clamp(1.3rem,2.4vw,1.7rem)}
.only-strip{font-size:15px!important;letter-spacing:.06em!important;padding:.6rem 1rem}
/* header */
.menu-toggle{display:none!important}
.site-header{flex-wrap:wrap!important;gap:.5rem 1rem!important}
.site-header .header-actions{display:flex!important;align-items:center;gap:1rem}
.header-call,.site-header .header-call{display:inline-flex!important;align-items:center;min-height:48px;font:700 1.4rem/1 "Montserrat",sans-serif;letter-spacing:.02em;color:#5e1f2b!important;white-space:nowrap}
.fb-icon{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;color:#5e1f2b}.fb-icon svg{width:24px;height:24px}
@media (max-width:600px){.site-header{justify-content:center!important}.crest-brand{margin:0 auto!important}.site-header .header-actions{width:100%;justify-content:center}.header-call{font-size:1.35rem}}
/* nav band */
.nav-band{display:flex!important;flex-wrap:wrap;justify-content:center;gap:0 .3rem;background:#5e1f2b;border-top:2px solid #b8975a;border-bottom:2px solid #b8975a;padding:.2rem 1rem;position:sticky;top:0;z-index:9}
.nav-band a{display:inline-flex;align-items:center;min-height:48px;padding:0 1rem;color:#fbf5ea!important;font:600 18px/1.2 "Montserrat",sans-serif;letter-spacing:.06em;text-decoration:none;white-space:nowrap}
.nav-band a:hover,.nav-band a:focus{color:#5e1f2b!important;background:#f3e6d0}
@media (max-width:700px){.nav-band{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 .4rem}.nav-band a{font-size:17px;padding:0 .8rem}}
.site-header{position:relative!important}
/* hero */
.hero2{height:auto!important;min-height:0!important;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:#5e1f2b}
.h2-panel{background:#5e1f2b;color:#fbf5ea;padding:2.5rem clamp(1.2rem,4vw,3.5rem);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4rem}
.h2-crest{background:#f7f3ec;border:2px solid #b8975a;border-radius:50%;width:150px;height:150px;display:flex;align-items:center;justify-content:center;margin-bottom:.6rem}
.h2-crest img{height:118px;width:auto}
.hero2 .vh-name{font-size:clamp(2.2rem,4vw,3.2rem)!important;color:#fbf5ea;text-shadow:none}
.h2-loc{font:700 21px/1.4 "Montserrat",sans-serif;color:#f1d9a6;margin:0}
.h2-addr{font:500 20px/1.4 "Montserrat",sans-serif;color:#fbf5ea;margin:0}
.h2-phone{font:800 clamp(2rem,4vw,2.6rem)/1.2 "Montserrat",sans-serif;color:#fff;text-decoration:none;margin:.5rem 0 .1rem;min-height:48px;display:inline-flex;align-items:center}
.h2-hours{font-size:18px;color:#fbf5ea;margin:0 0 1rem}
.hero2 .vh-ctas{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;width:100%}
.hero2 .vh-ctas>a,.hero2 .vh-ctas .order-btn{min-height:56px;padding:0 1.4rem;font:700 18px/1 "Montserrat",sans-serif!important;letter-spacing:.03em;text-transform:none;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;border:2px solid #f3e6d0;color:#5e1f2b!important;background:#f7f3ec}
.hero2 .vh-ctas .order-btn{background:#b8975a;border-color:#b8975a;color:#1d1a17!important}
.vh-consult{margin-top:1rem;color:#f1d9a6;font-size:18px;font-weight:600;min-height:48px;display:inline-flex;align-items:center}
.h2-media{position:relative;min-height:420px}
.h2-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.hero2{grid-template-columns:1fr}.h2-media{min-height:300px;order:2}.hero2 .vh-ctas>*{flex:1 1 100%}.hero2 .vh-ctas>a,.hero2 .vh-ctas .order-btn{width:100%}}
/* services + weddings high contrast */
#services,#weddings{max-width:none!important;background:#5e1f2b;color:#fbf5ea;padding-top:4rem!important;padding-bottom:4rem!important;margin-bottom:0}
#weddings{background:#f7f3ec;color:#1d1a17}
#services .section-head h2,#services h3{color:#fbf5ea!important}#services .eyebrow{color:#f1d9a6!important}
#services .occasions p{color:#f3e6d0!important}
#services .occasions{max-width:1320px;margin:0 auto}
#weddings h2,#weddings h3{color:#5e1f2b!important}
/* footer */
.site-footer{font-size:19px;color:#efe6d6}
.site-footer .foot-addr{font:600 20px/1.5 "Montserrat",sans-serif;color:#fbf5ea;margin:.3rem 0 .6rem}
.site-footer p,.site-footer a{color:#efe6d6;font-size:18px}
.site-footer .fine{color:#d6cbb8!important;font-size:16px!important}
@media (max-width:768px){body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}
/* order menu */
.order-wrap{position:relative;display:inline-flex}
button.order-btn{cursor:pointer}
.order-menu{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);z-index:1001;min-width:240px;background:#fff;border:2px solid #5e1f2b;box-shadow:0 8px 24px rgba(0,0,0,.3);display:flex;flex-direction:column;border-radius:6px;overflow:hidden}
.order-menu[hidden]{display:none}
.order-menu a{display:flex;align-items:center;min-height:52px;color:#5e1f2b!important;background:#fff!important;padding:0 1.1rem!important;font:700 18px/1.2 "Montserrat",sans-serif!important;text-decoration:none;border-bottom:1px solid #e2d8c8;white-space:nowrap;text-transform:none!important;letter-spacing:0!important;border-radius:0!important;flex:none!important}
.order-menu a:last-child{border-bottom:0}.order-menu a:hover,.order-menu a:focus{background:#f3e6d0!important}
.kf-callbar .order-wrap{flex:1}
.kf-callbar button.order-btn{width:100%;min-height:52px;font:700 15px/1 "Montserrat",sans-serif;color:#1d1a17;background:#b8975a;border:0;border-radius:3px}
.kf-callbar a{min-height:52px;display:flex;align-items:center;justify-content:center;font:700 15px/1 "Montserrat",sans-serif!important}
.kf-callbar a+a{background:#f7f3ec!important;color:#5e1f2b!important}
.order-wrap.up .order-menu{top:auto;bottom:calc(100% + 12px);left:50%}
@media (max-width:420px){.order-wrap.up .order-menu{min-width:220px}}
/* nav v2: large pills */
.nav-band{background:#f7f3ec!important;border-top:2px solid #b8975a;border-bottom:2px solid #b8975a;flex-wrap:wrap!important;justify-content:center!important;overflow:visible!important;gap:.5rem!important;padding:.6rem .6rem!important}
.nav-band a{min-height:50px;padding:0 1.1rem!important;font:700 21px/1.1 "Montserrat",sans-serif!important;letter-spacing:.01em!important;color:#5e1f2b!important;background:#fff;border:2px solid #5e1f2b;border-radius:999px}
.nav-band a.hot{background:#5e1f2b;color:#fbf5ea!important;font-size:22px!important}
.nav-band a:hover,.nav-band a:focus{background:#f3e6d0;color:#5e1f2b!important}
@media (max-width:700px){.nav-band{position:static}.nav-band a{font-size:20px!important;padding:0 .9rem!important}.nav-band a.hot{font-size:21px!important}}
/* hero v3: cream, subtle floral */
.hero2{display:block!important;background:#f7f1e6!important;position:relative;overflow:hidden}
.hero2::before{content:"";position:absolute;right:-6%;top:-10%;width:55%;height:120%;background:url(../assets/video/hero-poster.jpg) center/cover no-repeat;opacity:.14;filter:blur(3px) saturate(.6);-webkit-mask-image:radial-gradient(ellipse at 70% 50%,#000 30%,transparent 70%);mask-image:radial-gradient(ellipse at 70% 50%,#000 30%,transparent 70%);pointer-events:none}
.hero2::after{content:"";position:absolute;left:-60px;bottom:-60px;width:260px;height:320px;background:url(../assets/img/crest.svg) center/contain no-repeat;opacity:.08;pointer-events:none}
.h2-panel{position:relative;z-index:1;background:transparent!important;color:#1d1a17!important;max-width:900px;margin:0 auto}
.h2-crest{background:#fff!important}
.hero2 .vh-name{color:#5e1f2b!important}
.h2-loc{color:#5e1f2b!important}.h2-addr{color:#1d1a17!important}.h2-phone{color:#5e1f2b!important}.h2-hours{color:#2b2622!important}
.hero2 .vh-ctas>a{background:#5e1f2b!important;color:#fbf5ea!important;border-color:#5e1f2b!important}
.hero2 .vh-ctas .order-btn{background:#b8975a!important;border-color:#8a6a35!important;color:#1d1a17!important}
.vh-consult{color:#5e1f2b!important;text-decoration:underline}
@media (min-width:901px){.hero2 .vh-ctas>*{flex:0 0 auto}}
/* nav v3 equal */
.nav-band a,.nav-band a.hot{background:#fff!important;color:#5e1f2b!important;font-size:21px!important}
.nav-band a:hover,.nav-band a:focus{background:#5e1f2b!important;color:#fbf5ea!important}
/* service feature cards */
.svc-feature{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;max-width:1100px;margin:0 auto 3rem}
.svc-card{display:flex;flex-direction:column;gap:.4rem;padding:1.6rem 1.8rem;min-height:120px;background:#f7f1e6;border:3px solid #b8975a;border-radius:10px;text-decoration:none;color:#1d1a17}
.svc-t{font:400 clamp(2rem,3.5vw,2.6rem)/1.1 Gilda,serif;color:#5e1f2b}
.svc-s{font-size:19px;line-height:1.5;color:#2b2622}
.svc-card:hover,.svc-card:focus{background:#fff}
@media (max-width:700px){.svc-feature{grid-template-columns:1fr}}
.back-link{max-width:1320px;margin:1.5rem auto;padding:0 var(--pad)}.back-link a{font:700 19px/1 "Montserrat",sans-serif;color:#5e1f2b;min-height:48px;display:inline-flex;align-items:center}
.ev-cta{text-align:center;font-size:20px;margin-top:2rem}.ev-cta a{color:#5e1f2b;font-weight:700}
.crest-brand small{font:600 15px/1.3 "Montserrat",sans-serif!important;letter-spacing:.04em!important;color:#5e1f2b!important;text-transform:none!important;display:block!important}
.trust,.trust *,[class*="trust"] span{font-size:16px!important;color:#3a2a20!important}
/* shop by occasion */
.occasions2{background:#f7f1e6;padding:4rem var(--pad)}
.occasions2 .section-head,.oc-group,.oc-grid{max-width:1200px;margin-left:auto;margin-right:auto}
.oc-intro{font-size:20px;color:#2b2622;text-align:center}
.oc-group{font:400 clamp(1.9rem,3.4vw,2.5rem)/1.2 Gilda,serif;color:#5e1f2b;border-bottom:2px solid #b8975a;padding-bottom:.4rem;margin-top:2.5rem;margin-bottom:1.2rem}
.oc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.oc-card{background:#fff;border:2px solid #d9c6a0;border-radius:10px;padding:1.3rem 1.4rem;display:flex;flex-direction:column;gap:.5rem}
.oc-card h4{font:700 22px/1.25 "Montserrat",sans-serif;color:#5e1f2b;margin:0}
.oc-card p{font-size:19px!important;color:#2b2622!important;margin:0;flex:1}
.oc-acts{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.4rem}
.oc-order{min-height:56px;min-width:140px;padding:0 1.4rem;font:700 19px/1 "Montserrat",sans-serif;background:#5e1f2b;color:#fbf5ea;border:0;border-radius:6px}
.oc-order:hover,.oc-order:focus{background:#7a2a3a}
.oc-more{min-height:56px;display:inline-flex;align-items:center;font:700 19px/1 "Montserrat",sans-serif;color:#5e1f2b;text-decoration:underline}
.oc-card .order-menu{left:0;transform:none}
.oc-link{text-align:center;margin:0 0 1.5rem}.oc-link a{display:inline-flex;align-items:center;min-height:56px;padding:0 1.6rem;border-radius:6px;background:#f7f1e6;color:#5e1f2b!important;font:700 20px/1 "Montserrat",sans-serif;text-decoration:none;border:2px solid #b8975a}
.getwell{background:#fff;border-bottom:2px solid #e2d8c8}.gw-grid{grid-template-columns:1fr!important;max-width:640px}.oc-big h4{font-size:26px}
@media (min-width:1041px){#services .occasions{gap:3rem 1.6rem}#services .occasions article{flex:0 0 calc((100% - 4*1.6rem)/5)}}
@media (min-width:1041px){#services .occasions article{flex:0 0 calc((100% - 2*1.6rem)/3)!important}}
#services .oc-order{background:#f7f1e6;color:#5e1f2b}#services .oc-order:hover,#services .oc-order:focus{background:#fff}
#services .oc-more{color:#fbf5ea}
.accounts2 .acct-grid{max-width:1200px;margin:2rem auto 0}
.accounts2 .oc-card{background:#fff}
.accounts2 .sub,.acct-how{font-size:20px!important;color:#f3ece0!important;max-width:46rem;margin:0 auto .6rem;text-align:center}
.acct-how strong{color:#f1d9a6}
.acct-call{text-align:center;margin-top:2rem}.acct-call .btn{min-height:56px;font-size:19px;color:#1d1a17}
.ev-hotel{margin-top:2.5rem}
.accounts2 .eyebrow{font-size:16px!important;font-weight:700!important;color:#f1d9a6!important;letter-spacing:.12em!important}
.acct-call .btn{font:700 19px/1.2 "Montserrat",sans-serif!important;text-transform:none!important;letter-spacing:.01em!important;padding:0 1.8rem;display:inline-flex;align-items:center}
.accounts2 .acct-grid{display:flex!important;flex-wrap:wrap;justify-content:center}
.accounts2 .acct-grid .oc-card{flex:0 1 calc((100% - 2rem)/3);min-width:260px}
@media (max-width:900px){.accounts2 .acct-grid .oc-card{flex-basis:calc((100% - 1rem)/2)}}
@media (max-width:600px){.accounts2 .acct-grid .oc-card{flex-basis:100%}}
/* reviews */
.reviews{background:#fff;padding:3.5rem var(--pad);border-bottom:2px solid #e2d8c8}
.reviews .section-head{text-align:center;margin-bottom:2rem}
.rv-score{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem 1rem;margin:0}
.rv-num{font:800 clamp(2.6rem,5vw,3.4rem)/1 "Montserrat",sans-serif;color:#5e1f2b}
.rv-stars{font-size:clamp(2rem,4vw,2.8rem);color:#a8782a;letter-spacing:.05em}
.rv-meta{font:700 22px/1.3 "Montserrat",sans-serif;color:#1d1a17}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;max-width:1200px;margin:0 auto}
@media (max-width:1040px){.rv-grid{grid-template-columns:1fr;max-width:720px}}
.rv-card{background:#f7f1e6;border:2px solid #d9c6a0;border-radius:10px;padding:1.5rem 1.6rem;margin:0;display:flex;flex-direction:column}
.rv-card-stars{color:#a8782a;font-size:24px!important;margin:0 0 .5rem;letter-spacing:.05em}
.rv-card blockquote{margin:0;flex:1;font-size:19px;line-height:1.6;color:#1d1a17}
.rv-card figcaption{margin-top:1rem;font:700 19px/1.3 "Montserrat",sans-serif!important;color:#5e1f2b}
.rv-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin:2rem 0 0}
.rv-btn{min-height:56px;display:inline-flex;align-items:center;padding:0 1.6rem;border-radius:6px;background:#5e1f2b;color:#fbf5ea!important;font:700 19px/1 "Montserrat",sans-serif;text-decoration:none;border:2px solid #5e1f2b}
.rv-btn.alt{background:#fff;color:#5e1f2b!important}
.google-link{display:inline-flex;align-items:center;min-height:48px;margin-left:1rem;font-weight:700;color:inherit;text-decoration:underline}
.qr-block img{width:190px!important;height:190px!important}.footer-qr img{width:170px!important;height:170px!important}
.footer-qr figcaption{font-size:15px!important;color:#efe6d6!important}
.oc-card.has-img{padding-top:0;overflow:hidden}
.oc-img{margin:0 -1.4rem .6rem;aspect-ratio:4/3;overflow:hidden;background:#f3ece0}
.oc-img img{width:100%;height:100%;object-fit:cover;display:block}
.oc-ph{background:#f7f1e6 url(../assets/img/crest.svg) center/auto 62% no-repeat;position:relative}
.oc-ph::after{content:"";position:absolute;inset:0;background:rgba(247,241,230,.78)}
@media (max-width:768px){.kf-callbar a,.kf-callbar button.order-btn{font-size:14px!important;line-height:1.15!important;text-transform:none!important;letter-spacing:0!important;padding:6px 4px!important;white-space:normal;text-align:center}}
/* ==== 10/23 3:30 pass ==== */
.loc-quiet{font:400 17px/1.4 "Montserrat",sans-serif!important;color:#6b5a4e!important;letter-spacing:.02em;margin:.15rem 0 0}
.site-footer .loc-quiet{color:#cfc4b2!important;font-size:16px!important}
.hero2 .h2-loc.loc-quiet{font-weight:400!important;font-size:17px!important;color:#6b5a4e!important;margin-bottom:.2rem}
/* call strip */
.call-strip{background:#5e1f2b;color:#fbf5ea;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.8rem 2rem;padding:1.1rem var(--pad);border-top:2px solid #b8975a;border-bottom:2px solid #b8975a}
.call-strip p{margin:0;font:500 22px/1.3 "Montserrat",sans-serif;color:#fbf5ea}
.cs-num{font-weight:800;color:#fff;text-decoration:none;font-size:26px;white-space:nowrap}
.cs-btns{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}
.cs-btn{min-height:52px;display:inline-flex;align-items:center;padding:0 1.3rem;border-radius:6px;background:#f7f1e6;color:#5e1f2b!important;font:700 18px/1 "Montserrat",sans-serif;text-decoration:none;border:2px solid #f7f1e6;cursor:pointer}
.cs-btn.gold{background:#b8975a;border-color:#b8975a;color:#1d1a17!important}
@media (max-width:600px){.cs-btns{width:100%}.cs-btns>*{flex:1 1 100%}.cs-btn{width:100%;justify-content:center}}
/* visit */
.visit3{background:#f7f1e6;padding:4rem var(--pad);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;max-width:none;align-items:start}
.visit3 .contact-text{max-width:620px;justify-self:end;width:100%}
.visit3 h2{color:#5e1f2b;font-size:clamp(2.4rem,4.5vw,3.4rem);margin:0 0 1.2rem}
.v-addr{border-left:3px solid #b8975a;padding:.2rem 0 .2rem 1.1rem;margin-bottom:1.8rem}
.v-street{font:600 26px/1.3 "Montserrat",sans-serif!important;color:#1d1a17!important;margin:0}
.v-city{font:500 21px/1.4 "Montserrat",sans-serif!important;color:#1d1a17!important;margin:0}
.visit3 .hours{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;background:#fff;border:1px solid #e2d8c8;border-radius:10px;padding:1.3rem 1.5rem;margin-bottom:1.6rem}
.visit3 .hours td{font-size:18px;padding:.2rem .8rem .2rem 0;color:#1d1a17}
.v-call .call-lbl{font:600 17px/1 "Montserrat",sans-serif;color:#7a5a2a;margin:0 0 .3rem}
.visit3 .phone{font:800 clamp(2.2rem,4vw,2.8rem)/1.1 "Montserrat",sans-serif;color:#5e1f2b;margin:0 0 1rem;text-decoration:none}
.v-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:0 0 1.5rem}.v-links a{min-height:48px;display:inline-flex;align-items:center;font:700 18px/1 "Montserrat",sans-serif;color:#5e1f2b;margin:0}
.visit3 .map{position:sticky;top:90px;border:2px solid #d9c6a0;border-radius:10px;overflow:hidden;min-height:520px}.visit3 .map iframe{width:100%;height:100%;min-height:520px;border:0;display:block}
@media (max-width:900px){.visit3{grid-template-columns:1fr}.visit3 .contact-text{justify-self:stretch}.visit3 .map{position:static;min-height:340px}.visit3 .map iframe{min-height:340px}}
@media (max-width:520px){.visit3 .hours{grid-template-columns:1fr}}
/* services links */
.svc-imglink{display:block}.svc-title{color:inherit;text-decoration:none}.svc-title:hover{text-decoration:underline}
.svc-go{margin:.4rem 0 0}#services .svc-go .oc-more{color:#f1d9a6}
.svc-card{cursor:pointer;position:relative;z-index:2}
/* thumbs + watch */
.oc-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:-.4rem -1.4rem .6rem}
.oc-thumbs a{display:block;aspect-ratio:1;overflow:hidden}.oc-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.oc-watch{min-height:56px;padding:0 1rem;font:700 17px/1 "Montserrat",sans-serif;background:#fff;color:#5e1f2b;border:2px solid #5e1f2b;border-radius:6px;cursor:pointer}
.oc-card{cursor:pointer}
#vid-dlg{border:0;border-radius:12px;padding:0;width:min(92vw,560px);background:#f7f1e6}
#vid-dlg::backdrop{background:rgba(20,10,12,.7)}
.vd-head{display:flex;justify-content:space-between;align-items:center;padding:.6rem .9rem}
.vd-title{margin:0;font:400 26px/1.2 Gilda,serif;color:#5e1f2b}
.vd-close{min-height:48px;padding:0 1rem;font:700 17px/1 "Montserrat",sans-serif;background:#5e1f2b;color:#fff;border:0;border-radius:6px;cursor:pointer}
#vid-dlg video{width:100%;display:block;max-height:80vh;background:#000}
.w25{max-width:560px;margin:2rem auto;text-align:center}.w25 h3{color:#5e1f2b;font-size:2rem}.w25 video{width:100%;border:2px solid #d9c6a0;border-radius:8px}
@media (max-width:768px){.kf-callbar a,.kf-callbar button.order-btn{font-size:14px!important;line-height:1.15!important;text-transform:none!important;letter-spacing:0!important;padding:6px 4px!important;white-space:normal;text-align:center}}
.visit3{max-width:1320px!important;margin:0 auto!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)!important}
.visit3 .contact-text{padding:0!important;max-width:none!important;justify-self:stretch!important}
.visit3 .map{min-height:560px!important;height:560px;width:100%}
.visit3 .map iframe{position:static!important;width:100%!important;height:100%!important;min-height:560px!important;filter:none}
.visit3 .hours td{white-space:nowrap}
.visit3 .hours h3{font-size:1.5rem!important;color:#5e1f2b!important}
.visit3 .eyebrow{color:#7a5a2a!important}
.visit3 .qr-title{font:700 18px/1.2 "Montserrat",sans-serif!important;color:#5e1f2b!important}
@media (max-width:900px){.visit3{grid-template-columns:1fr!important}.visit3 .map{height:360px;min-height:360px!important}.visit3 .map iframe{min-height:360px!important}}
.w-addr{font:600 20px/1.4 "Montserrat",sans-serif;color:#1d1a17;margin:0}
