:root{--ivory:#F7F2E8;--talavera:#2454A4;--navy:#0E2A47;--terra:#B86143;--olive:#566348;--gold:#B69A65;--sand:#D8C3A7;--esp:#29241F;
--bg:var(--ivory);--ink:var(--navy);--txt:#3a3530;--alt:#EFE6D6;--card:#fff;--dark:var(--navy);--line:var(--sand);--rad:4px;--hh:84px}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--txt);font:400 16px/1.7 Montserrat,system-ui,sans-serif;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:"Playfair Display",Georgia,serif;color:var(--ink);font-weight:600;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(38px,6vw,76px);letter-spacing:.01em}h2{font-size:clamp(28px,3.6vw,44px)}h3{font-size:21px}p{margin:0 0 1em}
.wrap{width:min(1200px,100% - 48px);margin-inline:auto}.center{text-align:center;justify-content:center}
.eyebrow{font:600 12px/1.4 Montserrat,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
.script{font-family:Allura,cursive;font-size:34px;line-height:1.2;color:var(--gold);margin:0 0 16px}
.lead{font-size:18px;max-width:720px;margin-inline:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 30px;background:var(--gold);color:#fff;border:1.5px solid var(--gold);border-radius:var(--rad);font:600 13px/1 Montserrat,sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:.2s;text-align:center}
.btn:hover{background:#a3875a;border-color:#a3875a}.btn.ghost{background:transparent;color:var(--ink);border-color:currentColor}.btn.ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.sm{min-height:42px;padding:0 20px;font-size:11.5px}.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.center.btns,.st+.btns{justify-content:center}
.bA,.bB,.bC{background-repeat:repeat-x;background-position:center;background-size:auto 100%}
.bA{height:34px;background-image:url(img/border-a.webp)}.bB{height:50px;background-image:url(img/border-b.webp)}.bC{height:38px;background-image:url(img/border-c.webp)}
.pv{background:var(--olive);color:#fff;text-align:center;font:600 10.5px/26px Montserrat;letter-spacing:.24em;text-transform:uppercase}
.topbar{background:var(--navy);color:#e9dfcd;font-size:12.5px;letter-spacing:.06em}.topbar .wrap{display:flex;justify-content:center;gap:12px;padding:7px 0;flex-wrap:wrap}.topbar a:hover{color:var(--gold)}.sep{opacity:.5}
header.site{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 2px 16px rgba(41,36,31,.06)}
.hbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:var(--hh);position:relative}
.brand{grid-column:2;display:block}.brand img{height:62px;width:auto}.lg-l{display:none}
.brand{grid-row:1}.nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center}.nav li{position:relative}
.nav>ul>li>a:not(.btn){display:block;padding:10px 13px;font:500 12.5px/1 Montserrat;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.nav>ul>li>a.on{color:var(--gold)}.nav>ul>li>a:not(.btn):hover{color:var(--gold)}
.dd>a:after{content:"";display:inline-block;width:5px;height:5px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin:0 0 3px 7px}
.dd ul{position:absolute;left:0;top:100%;min-width:230px;background:var(--card);display:block;padding:10px 0;box-shadow:0 14px 30px rgba(0,0,0,.12);border-top:2px solid var(--gold);opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s}
.dd:hover ul,.dd:focus-within ul{opacity:1;visibility:visible;transform:none}.dd ul a{display:block;padding:9px 20px;font-size:14px;color:var(--navy)}.dd ul a:hover{background:var(--alt)}
@media(min-width:1101px){.nav{display:contents}.nL{grid-column:1;grid-row:1;justify-content:flex-end;padding-right:22px}.nR{grid-column:3;grid-row:1;padding-left:22px}.ctali{margin-left:auto}}
.nt,.burger{display:none}
@media(max-width:1100px){:root{--hh:68px}.brand img{height:48px} .burger{display:flex;grid-column:1;width:44px;height:44px;align-items:center;cursor:pointer}.burger span,.burger span:before,.burger span:after{display:block;width:24px;height:2px;background:var(--ink);position:relative;content:""}.burger span:before{position:absolute;top:-7px}.burger span:after{position:absolute;top:7px}
 .nav{position:fixed;inset:calc(var(--hh) + 1px) 0 auto 0;max-height:calc(100vh - var(--hh));overflow:auto;background:var(--bg);flex-direction:column;align-items:stretch;padding:10px 24px 24px;pointer-events:auto;display:none;box-shadow:0 20px 30px rgba(0,0,0,.15)}
 .nt:checked~.nav{display:flex}.nav>ul{flex-direction:column;align-items:stretch}.nav>ul>li>a:not(.btn){padding:15px 0;border-bottom:1px solid var(--line);font-size:13.5px}.ctali{margin-top:18px}.ctali .btn{width:100%}.dd>a:after{display:none}
 .dd ul{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:0 0 6px 14px}}
/* hero */
.hero{position:relative;min-height:min(86vh,780px);display:grid;align-items:center;color:#fff;overflow:hidden}
.h-img,.ph-img{position:absolute;inset:0}.h-img img,.ph-img img{width:100%;height:100%;object-fit:cover}
.h-img:after,.ph-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,20,30,.35),rgba(14,20,30,.62))}
.h-c,.ph-c{position:relative;z-index:1;text-align:center;padding:90px 0}.hero h1,.phero h1{color:#fff;text-transform:uppercase}.hero .lead,.phero .lead{color:#f3ece0}
.hero .btns,.phero .btns{justify-content:center}.hero .btn.ghost,.phero .btn.ghost{color:#fff}.hero .btn.ghost:hover,.phero .btn.ghost:hover{background:#fff;color:var(--navy);border-color:#fff}
.phero{position:relative;min-height:440px;display:grid;align-items:center;color:#fff;overflow:hidden}.phero h1{font-size:clamp(34px,5vw,62px);max-width:900px;margin-inline:auto}
/* sections */
.sec{padding:96px 0}.st{text-align:center;margin:0 auto 52px;max-width:820px}.st h2{text-transform:uppercase;letter-spacing:.03em}.st .lead{margin-top:6px}
.orn{display:block;width:120px;height:14px;margin:4px auto 18px;background:url(img/border-a.webp) center/auto 100% repeat-x;opacity:.9}
.note{font-size:14px;color:#6b6259;margin-top:24px}
/* quote */
.quote{background:var(--navy);color:#e9e1d3;padding:84px 0}.qgrid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.quote h2{color:#fff;text-transform:uppercase;letter-spacing:.02em}.qlist{list-style:none;padding:0;margin:20px 0 0}.qlist li{padding:6px 0 6px 30px;position:relative}
.qlist li:before{content:"";position:absolute;left:4px;top:13px;width:12px;height:7px;border:solid var(--gold);border-width:0 0 2px 2px;transform:rotate(-45deg)}
form.steps{background:var(--ivory);color:var(--navy);padding:36px;border-radius:var(--rad);box-shadow:0 24px 50px rgba(0,0,0,.28);border-top:4px solid var(--gold)}
.prog{display:flex;justify-content:space-between;font:600 11.5px Montserrat;letter-spacing:.2em;text-transform:uppercase;margin-bottom:10px}
.bar{height:4px;background:var(--sand);border-radius:2px;margin-bottom:26px;overflow:hidden}.bar i{display:block;height:100%;width:50%;background:var(--gold);transition:width .3s}
form label{display:block;font:600 11.5px/1.4 Montserrat;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px}
form input,form select,form textarea{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #cdbca3;border-radius:3px;background:#fff;font:400 16px Montserrat;color:var(--navy);letter-spacing:0;text-transform:none}
form input:focus,form select:focus,form textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.row.r21{grid-template-columns:2fr 1fr}.actions{display:flex;gap:12px}.actions .btn{flex:1}
.step .err{border-color:var(--terra);box-shadow:0 0 0 2px rgba(184,97,67,.18)}.msg{color:var(--terra);font-size:13px;min-height:18px;margin:0 0 6px}.secure{font-size:12.5px;text-align:center;color:#6b6259;margin:14px 0 0}
.thanks{text-align:center;padding:30px 0}.thanks .script{font-size:52px}
/* cards */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card,.cc,.mc,.pc{background:var(--card);border-radius:var(--rad);overflow:hidden;box-shadow:0 10px 30px rgba(41,36,31,.08);display:flex;flex-direction:column}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%}.cb{padding:28px 28px 32px;display:flex;flex-direction:column;flex:1;text-align:center;align-items:center}.cb .btn,.cb .btns{margin-top:auto}.cb .btns{justify-content:center;padding-top:10px}
.ticks{list-style:none;padding:0;margin:4px 0 24px;font-size:14.5px;width:100%}.ticks li{padding:6px 0;border-bottom:1px dotted var(--line)}.ticks li:last-child{border:0}
.occ{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.occ.three-up{grid-template-columns:repeat(3,1fr)}.oc{position:relative;border-radius:var(--rad);overflow:hidden;display:block}.oc img{aspect-ratio:3/4;object-fit:cover;width:100%;transition:transform .5s}.oc:hover img{transform:scale(1.04)}
.oc span{position:absolute;inset:auto 0 0;padding:60px 16px 22px;text-align:center;color:#fff;font:600 21px "Playfair Display";background:linear-gradient(transparent,rgba(14,20,30,.8))}.oc small{display:block;font:600 11px Montserrat;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.feat{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center}.feat img{aspect-ratio:1;object-fit:cover;width:100%;border-radius:var(--rad);margin-bottom:18px}.feat p{font-size:15px}
.steps4{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center}.steps4 .n{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:50%;border:1.5px solid var(--gold);color:var(--gold);font:600 22px "Playfair Display"}.steps4 p{font-size:15px}
.s-how .note{text-align:center;max-width:760px;margin:30px auto}
.founder{background:var(--dark);color:#e9e1d3;padding:96px 0}.fgrid2{display:grid;grid-template-columns:1fr 1.1fr;gap:72px;align-items:center}.fimg img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--rad)}
.founder h2{color:#fff}.crestd{width:88px;height:auto;margin-bottom:20px}.founder .btn.ghost{color:#fff}.founder .btn.ghost:hover{background:#fff;color:var(--navy)}.pull{font:italic 400 24px/1.45 "Playfair Display";color:#fff}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px}.q{margin:0;background:var(--card);padding:40px 32px 32px;border-radius:var(--rad);text-align:center;box-shadow:0 10px 30px rgba(41,36,31,.06);position:relative}
.qm{display:block;font:700 64px/0.6 "Playfair Display";color:var(--gold);height:30px}.q blockquote{margin:0 0 18px;font:italic 400 18px/1.6 "Playfair Display";color:var(--ink)}.q figcaption{font:600 11.5px Montserrat;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gal img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--rad)}.gal.full{grid-template-columns:repeat(3,1fr);grid-auto-flow:dense}.gal.full img:nth-child(6n+1){grid-column:span 2;grid-row:span 2}.gal.full img:nth-child(12n+7){grid-column:2/span 2}
.ig{margin-top:22px}.ig a,.prose a,.locs a{color:var(--gold);border-bottom:1px solid currentColor}
.locs{background:var(--navy);color:#e9e1d3;text-align:center;padding:84px 0}.locs h2{color:#fff;text-transform:uppercase}.regions{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin:40px 0}.regions div{border:1px solid rgba(182,154,101,.45);padding:24px 14px;border-radius:var(--rad)}.regions h3{color:#fff;font-size:18px}.regions p{margin:0;font-size:14px;color:var(--sand)}
.faq{max-width:860px;margin:0 auto 34px}details{border-bottom:1px solid var(--line);padding:18px 4px}summary{cursor:pointer;font:600 19px "Playfair Display";color:var(--ink);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:24px;line-height:1}details[open] summary:after{content:"–"}details p{margin:12px 0 0}
.s-faq .center{display:flex}
.band{background:var(--dark);color:#e9e1d3;text-align:center;padding:84px 0}.band h2{color:#fff;text-transform:uppercase}.band p{max-width:640px;margin:0 auto 26px}.bmono{width:70px;height:auto;margin:0 auto 18px}.band .btn{margin:0 6px 10px}.band .btn.ghost{color:#fff}
.concepts{display:grid;gap:36px}.cc{flex-direction:row}.cc>img{width:46%;object-fit:cover;min-height:420px}.cc:nth-child(even){flex-direction:row-reverse}.cc .cb{justify-content:center;padding:48px}
.pk{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:stretch}.pc{padding:36px 26px;text-align:center;position:relative;align-items:center}.pc .btn{margin-top:auto}.pc.hi{outline:2px solid var(--gold)}.tag{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:var(--gold);color:#fff;font:600 10.5px Montserrat;letter-spacing:.2em;text-transform:uppercase;padding:6px 14px;border-radius:20px;white-space:nowrap}
.tbl{overflow-x:auto;background:var(--card);border-radius:var(--rad);box-shadow:0 10px 30px rgba(41,36,31,.06)}table{width:100%;border-collapse:collapse;min-width:640px}th,td{padding:16px;border-bottom:1px solid var(--line);text-align:center}tbody th{text-align:left;font-weight:500}thead th{font:600 16px "Playfair Display";color:var(--ink)}td{color:var(--gold);font-size:18px}
.s-tbl .note{text-align:center}
.mgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.mc img{aspect-ratio:16/10;object-fit:cover;width:100%}.more{margin-top:auto;font:600 12px Montserrat;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.mlist{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.mgroup h3{text-align:center;text-transform:uppercase;letter-spacing:.08em;font-size:18px;padding-bottom:12px;border-bottom:1px solid var(--gold);margin-bottom:10px}.mgroup ul{list-style:none;margin:0;padding:0}.mgroup li{padding:11px 0;border-bottom:1px dotted var(--line);text-align:center}.mgroup b{display:block;font:600 17px "Playfair Display";color:var(--ink)}.mgroup span{font-size:14px;color:#6b6259}
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:48px}.strip img{aspect-ratio:4/5;object-fit:cover;width:100%;border-radius:var(--rad)}
.price{text-align:center;max-width:760px;margin:0 auto;padding:50px 40px;border:1px solid var(--gold);border-radius:var(--rad);background:var(--card)}.price .btns{justify-content:center}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:center}.three.two{grid-template-columns:repeat(2,1fr)}.three>div{background:var(--card);padding:36px 28px;border-radius:var(--rad);box-shadow:0 10px 30px rgba(41,36,31,.06)}.three+.quotes{margin-top:48px}.s-three .price{margin-bottom:40px}
.prose{max-width:760px;margin:0 auto;font-size:17.5px;text-align:center}
.counties{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.county{background:var(--card);padding:36px;border-radius:var(--rad);text-align:center}.cities{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.cities li{border:1px solid var(--line);border-radius:20px;padding:4px 12px;font-size:13.5px}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center}.team img{aspect-ratio:4/5;object-fit:cover;width:100%;border-radius:var(--rad);margin-bottom:18px}.role{font:600 11px Montserrat;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.team p{font-size:14.5px}
.contact{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.contact a{display:block;text-align:center;background:var(--card);padding:40px 20px;border-radius:var(--rad);border-bottom:3px solid var(--gold);box-shadow:0 10px 30px rgba(41,36,31,.06)}.contact span{display:block;font:600 11.5px Montserrat;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.contact b{font:600 21px "Playfair Display";color:var(--ink);word-break:break-word}
.roles,.mods{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.mods{grid-template-columns:repeat(3,1fr)}.roles article,.mods article{background:var(--card);padding:34px;border-radius:var(--rad);text-align:center;box-shadow:0 10px 30px rgba(41,36,31,.06)}.mods .n{font:600 30px "Playfair Display";color:var(--gold)}
/* footer */
.foot{background:var(--esp);color:#d9cdb9;font-size:14.5px}.foot .bA{filter:brightness(.95)}.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:32px;padding:70px 0 40px}.flogo{width:190px;height:auto;margin-bottom:10px}.fb{text-align:center}.fb .script{font-size:28px}
.foot h4{color:#fff;font:600 12px Montserrat;letter-spacing:.24em;text-transform:uppercase;margin-bottom:16px}.foot a{display:block;padding:4px 0}.foot a:hover{color:var(--gold)}.foot .btn{display:inline-flex;margin-top:14px;color:#fff}.legal{text-align:center;border-top:1px solid rgba(255,255,255,.1);margin:0;padding:22px 24px 26px;font-size:12.5px;color:#a99d8a}
.mbar{display:none}
@media(max-width:1000px){.svc,.feat,.steps4,.team,.mods{grid-template-columns:repeat(2,1fr)}.occ{grid-template-columns:repeat(2,1fr)}.pk{grid-template-columns:repeat(2,1fr);row-gap:34px}.regions{grid-template-columns:repeat(3,1fr)}.mlist{grid-template-columns:1fr;max-width:620px;margin:0 auto}.fgrid{grid-template-columns:1fr 1fr 1fr}.fb{grid-column:1/-1}
 .qgrid,.fgrid2{grid-template-columns:1fr;gap:40px}.qcopy{text-align:center}.qlist{display:inline-block;text-align:left}.cc,.cc:nth-child(even){flex-direction:column}.cc>img{width:100%;min-height:0;aspect-ratio:16/10}.cc .cb{padding:32px 26px}.fcopy{text-align:center}.founder .btns{justify-content:center}.fimg{max-width:520px;margin:0 auto}.crestd{margin-inline:auto}}
@media(max-width:700px){body{font-size:15.5px}.wrap{width:calc(100% - 36px)}.sec{padding:64px 0}.st{margin-bottom:36px}.svc,.feat,.steps4,.team,.mods,.mgrid,.counties,.roles,.contact,.three,.three.two,.occ.three-up,.quotes{grid-template-columns:1fr}.pk{grid-template-columns:1fr}.strip,.gal{grid-template-columns:repeat(2,1fr)}.gal.full img:nth-child(6n+1){grid-column:span 2;grid-row:auto;aspect-ratio:16/10}
 .regions{grid-template-columns:1fr 1fr}.regions div:last-child{grid-column:1/-1}.fgrid{grid-template-columns:1fr 1fr;text-align:center}.foot .btn{margin-inline:auto}.bA{height:24px}.bB{height:36px}.bC{height:28px}
 .hero{min-height:640px}.h-c,.ph-c{padding:70px 0}.phero{min-height:400px}.lead{font-size:16.5px}.btns{flex-direction:column;align-items:stretch}.btns .btn{width:100%}.quote{padding:56px 0}form.steps{padding:26px 20px}.row,.row.r21{grid-template-columns:1fr;gap:0}.topbar .sep{display:none}.topbar .wrap{gap:4px 14px;font-size:12px}
 .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(14,42,71,.97);box-shadow:0 -6px 20px rgba(0,0,0,.2)}.mbar .btn{flex:1}.mbar .call{display:grid;place-items:center;padding:0 20px;border:1.5px solid var(--gold);color:#fff;border-radius:var(--rad);font:600 12px Montserrat;letter-spacing:.16em;text-transform:uppercase}body{padding-bottom:72px}
 .price{padding:36px 22px}.cc .cb,.county,.roles article,.mods article{padding:28px 22px}.q{padding:34px 22px 26px}}
#inquire,section[id]{scroll-margin-top:calc(var(--hh) + 16px)}
@media(max-width:700px){.hm{display:none}}
.nw{white-space:nowrap}
.hero .eyebrow,.phero .eyebrow{text-shadow:0 1px 8px rgba(0,0,0,.7)}.hero h1,.phero h1,.hero .lead,.phero .lead{text-shadow:0 2px 18px rgba(0,0,0,.35)}
@media(max-width:700px){.gal.full{grid-template-columns:repeat(2,1fr)}.gal.full img:nth-child(12n+7){grid-column:span 2}}
.cc .cb .btns{margin-top:16px}
/* V1 Hacienda Classic: ivory, centered, refined */
.v1 .s-occ,.v1 .s-rev,.v1 .s-tbl,.v1 .s-strip{background:var(--alt)}
.v1 .card,.v1 .q,.v1 .three>div,.v1 .county,.v1 .pc{border:1px solid #eadfcd}
.v1 .hero h1{font-weight:500}
/* ===== Hybrid shared: wordmark, form v2, maps, locations band, dark scopes ===== */
.topbar{display:none}
.wm{display:inline-flex;align-items:center;gap:14px;white-space:nowrap}.wm .mono{width:58px;height:58px}
.wt{display:flex;flex-direction:column;line-height:1}.wt b{font:600 27px/1 "Playfair Display",Georgia,serif;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);padding-left:.2em}
.wt i{font:600 8.6px/1 Montserrat;font-style:normal;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-top:8px;padding-left:.34em}
.brand img{height:auto}
/* dark scopes */
.dk,.dkS{--bg:#1A1612;--ink:#F6EFE2;--txt:#d9cfbf;--card:#14263C;--alt:#0E2A47;--line:rgba(182,154,101,.32)}
.dkS{background:var(--bg);color:var(--txt)}.dk main{background:var(--bg);color:var(--txt)}
.dk .note,.dkS .note,.dk .mgroup span,.dkS .mgroup span{color:#b9ae9c}
.dk .card,.dk .q,.dk .three>div,.dk .county,.dk .pc,.dkS .card,.dkS .q,.dkS .three>div,.dkS .county,.dkS .pc{border-color:rgba(182,154,101,.28)}
.dk .btn.ghost,.dkS .btn.ghost{color:#F6EFE2}.dk .btn.ghost:hover,.dkS .btn.ghost:hover{background:#F6EFE2;color:var(--navy);border-color:#F6EFE2}
.dk .price,.dkS .price{background:transparent}.dk .cities li,.dkS .cities li{border-color:rgba(182,154,101,.4)}
.dk .orn,.dkS .orn{filter:saturate(.9) brightness(1.05)}
/* ---- form v2 ---- */
.quote2{position:relative;background:var(--alt);padding:92px 0;overflow:hidden}
.qside{position:absolute;top:0;bottom:0;width:72px;background-repeat:repeat-y;background-size:100% auto}
.qside.l{left:0}.qside.r{right:0;transform:scaleX(-1)}
.qwrap{width:min(620px,100% - 200px);margin:0 auto;position:relative}
.qhead{text-align:center;margin-bottom:30px}.qhead h2{text-transform:uppercase;letter-spacing:.02em;font-size:clamp(26px,3vw,36px)}.qhead .script{margin-bottom:12px}
.qpills{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;font:600 11px Montserrat;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.qpills li{display:flex;align-items:center;gap:8px}.qpills li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}
.quote2 form.steps{box-shadow:0 30px 60px rgba(14,42,71,.18);background:#fff}
.qalt{text-align:center;margin:20px 0 0;font-size:14px}.qalt a{color:var(--gold);font-weight:600;border-bottom:1px solid currentColor}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
form select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23B69A65' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:38px}
form input[type=date]{min-height:50px}
form input::placeholder,form textarea::placeholder{color:#9b8f80}
/* ---- maps ---- */
.map{display:block;width:100%;height:auto;--m-oc:#E6ECF1;--m-land:#EFE6D6;--m-hl:#DCC9AC;--m-st:#B69A65;--m-mx:#F2EDE4;--m-dot:#0E2A47;--m-dot2:#B69A65;--m-lbl:#0E2A47;--m-halo:#F7F2E8;--m-grid:rgba(36,84,164,.09)}
.mapdark .map,.dk .map,.dkS .map{--m-oc:#0B2139;--m-land:#1B3350;--m-hl:#2A4567;--m-st:rgba(182,154,101,.7);--m-mx:#142a43;--m-dot:#D9B877;--m-dot2:#B69A65;--m-lbl:#F6EFE2;--m-halo:#0B2139;--m-grid:rgba(182,154,101,.08)}
.map .ocean{fill:var(--m-oc)}.map .st{fill:var(--m-land);stroke:var(--m-st);stroke-width:.9;stroke-linejoin:round}.map .st.hl{fill:var(--m-hl)}.map .mx{fill:var(--m-mx);stroke:var(--m-st);stroke-width:.5;stroke-opacity:.5}
.map .grat line{stroke:var(--m-grid);stroke-width:1}.map .dot{fill:var(--m-dot)}.map .dot.sm{fill:var(--m-dot2)}.map .ring{fill:none;stroke:var(--m-dot2);stroke-width:1.4;opacity:.85}
.map .rr{fill:none;stroke:var(--m-dot);stroke-width:1.2;stroke-dasharray:3 5;opacity:.55}
.map .lbl{font:600 15px Montserrat,sans-serif;letter-spacing:.04em;fill:var(--m-lbl);paint-order:stroke;stroke:var(--m-halo);stroke-width:4px;stroke-linejoin:round}.map .lbl.lg{font-size:19px}
.map .rose circle{fill:none;stroke:var(--m-dot2)}.map .rose path{fill:var(--m-dot2)}.map .rose text{font:600 12px Montserrat;fill:var(--m-dot2)}
.map .arc{fill:none;stroke:var(--m-dot2);stroke-width:1.6;stroke-dasharray:5 7;opacity:.9}.map .inset{fill:var(--m-oc);stroke:var(--m-st)}
.mframe{padding:12px;background:var(--card);border:1px solid var(--line);box-shadow:0 18px 40px rgba(14,42,71,.10);position:relative}
.mframe:before{content:"";position:absolute;inset:5px;border:1px solid var(--gold);opacity:.55;pointer-events:none}
.mframe.big{max-width:1100px;margin:0 auto}
.rjump{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px}.rjump a{border:1px solid var(--gold);padding:9px 18px;border-radius:30px;font:600 11.5px Montserrat;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}.rjump a:hover{background:var(--gold);color:#fff}
.rgrid{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}.rgn.alt .rmap{order:2}
.rcopy{text-align:center}.rcopy h2{text-transform:uppercase;letter-spacing:.03em}.rcopy .cities{margin-top:18px}.rcopy .btns{justify-content:center}
.cgroup{margin-top:18px}.cgroup h4{font:600 12px Montserrat;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0}
.rgn{border-top:1px solid var(--line)}
/* ---- locations band ---- */
.locs2{text-align:left}.lgrid{display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:center}
.lmap .map{border:1px solid rgba(182,154,101,.4);border-radius:var(--rad)}
.lcopy{text-align:center}.lcopy p{color:#d6cfc2}.rlist{list-style:none;padding:0;margin:22px 0 4px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rlist li{border:1px solid rgba(182,154,101,.45);border-radius:var(--rad);padding:12px 10px}.rlist li:last-child{grid-column:1/-1}.rlist b{display:block;font:600 16px "Playfair Display";color:#fff}.rlist span{font-size:12.5px;color:var(--sand)}
.locs2 .btns{justify-content:center}.locs2 .btn.ghost{color:#fff}
/* card photo framing */
.card img[src*="svc-truck-real"]{object-position:50% 60%}
.mcall{display:none}
@media(max-width:1000px){.rgrid,.lgrid{grid-template-columns:1fr;gap:34px}.rgn.alt .rmap{order:0}.rmap{max-width:640px;margin:0 auto;width:100%}}
@media(max-width:700px){.quote2{padding:60px 0}.qside{width:16px;background-size:100% auto;opacity:.95}.qwrap{width:calc(100% - 56px)}.qpills{flex-direction:column;align-items:center;gap:6px}
 .wm .mono{width:44px;height:44px}.wt b{font-size:20px}.wt i{font-size:7px;letter-spacing:.26em;margin-top:6px}.rlist{grid-template-columns:1fr}.mframe{padding:7px}.mframe:before{inset:3px}}
.btn{white-space:nowrap}.hp{position:absolute!important;left:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0}
.map{overflow:hidden}
.locs2 .btn{color:#fff;border-bottom-width:1.5px}.locs2 .btn.ghost{border-color:rgba(255,255,255,.7)}
.rcopy .btn,.ovsec .btn{border-bottom-width:1.5px}
/* ===== Hybrid A · Hacienda Noir: ivory V1 base, chosen pages fully navy/espresso ===== */
.ha .util{background:var(--navy);border-bottom:1px solid rgba(182,154,101,.35)}
.ha .util .wrap{display:flex;justify-content:center;align-items:center;gap:16px;padding:9px 0;font:600 10.5px/1 Montserrat;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.ha .util a:hover{color:#fff}.dotsep{width:4px;height:4px;border-radius:50%;background:var(--gold);opacity:.6}
.ha header.site{background:#F7F2E8;border-bottom:1px solid #e3d6c0;--hh:96px}
.ha .hbar{min-height:96px}.ha .brand{grid-column:2;grid-row:1}
.ha .nav>ul>li>a:not(.btn){color:var(--navy)}
.ha .dd ul{background:#fff}
@media(min-width:1101px){.ha .nL{padding-right:30px}.ha .nR{padding-left:30px}}
@media(max-width:1260px) and (min-width:1101px){.ha .nav>ul>li>a:not(.btn){padding:10px 9px;font-size:11.5px}.ha .wt b{font-size:23px}.ha .wm .mono{width:50px;height:50px}.ha .ctali .btn{padding:0 14px}}
@media(max-width:1100px){.ha header.site{--hh:76px}.ha .hbar{min-height:76px;grid-template-columns:44px 1fr 44px}.ha .brand{justify-self:center}.ha .mcall{display:grid;place-items:center;grid-column:3;grid-row:1;width:44px;height:44px;color:var(--gold)}.ha .mcall svg{width:22px;height:22px;fill:currentColor}.ha .nav{background:#F7F2E8}}
/* A: dark pages (about, gallery, VIP, private chef) */
.ha.dk .phero .ph-img:after{background:linear-gradient(180deg,rgba(14,20,30,.25),rgba(26,22,18,.92))}
.ha.dk .sec:nth-of-type(even){background:#0E2A47}
.ha.dk .st h2{font-style:italic;text-transform:none;font-weight:400;font-size:clamp(32px,4.2vw,52px)}
.ha.dk .three>div{background:#14263C;box-shadow:none}.ha.dk .q{background:transparent;box-shadow:none;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.ha.dk .gal{gap:8px}.ha.dk .band{background:linear-gradient(rgba(20,15,10,.84),rgba(20,15,10,.84)),url(img/e-lights.webp) center/cover}
.ha.dk .quote2{background:#EFE6D6}
/* A: home dark accents */
.ha .founder{background:linear-gradient(135deg,#0E2A47,#0a1e33)}.ha .founder h2{font-style:italic;font-weight:400;font-size:clamp(34px,4vw,52px)}
.ha .founder .fimg{position:relative}.ha .founder .fimg:after{content:"";position:absolute;inset:14px;border:1px solid rgba(217,184,119,.6);pointer-events:none}
.ha .founder .fimg img{aspect-ratio:4/5;object-position:50% 20%}
.ha.p-index .s-gal{background:var(--esp)}.ha.p-index .s-gal .st h2{color:#fff}.ha.p-index .s-gal .btn.ghost{color:#fff}.ha.p-index .s-gal .ig{color:#d6cfc2}
.ha .foot{background:#16120f}
.ha .qside{background-image:url(img/border-b-v.webp)}
@media(max-width:700px){.ha .util .wrap{letter-spacing:.2em;font-size:10px;gap:12px}}
/* ===== A final edits ===== */
.ha .bigcta{margin:30px 0 18px;display:flex;justify-content:center}
.ha .btn-xl{min-height:72px;padding:0 54px;font-size:16px;letter-spacing:.2em;font-weight:700;border-radius:6px;background:linear-gradient(180deg,#C9AD74,#B69A65 55%,#A3875A);border:1px solid #E3C98F;box-shadow:0 0 0 0 rgba(217,184,119,.55),0 14px 34px rgba(0,0,0,.35);animation:ttglow 2.8s ease-in-out infinite;transition:transform .2s,box-shadow .2s}
.ha .btn-xl:hover{transform:translateY(-2px);background:linear-gradient(180deg,#D4B97F,#BFA36C);box-shadow:0 0 0 8px rgba(217,184,119,.18),0 18px 40px rgba(0,0,0,.4)}
@keyframes ttglow{0%,100%{box-shadow:0 0 0 0 rgba(217,184,119,.0),0 14px 34px rgba(0,0,0,.35)}50%{box-shadow:0 0 26px 4px rgba(217,184,119,.45),0 14px 34px rgba(0,0,0,.35)}}
@media(prefers-reduced-motion:reduce){.ha .btn-xl{animation:none}}
.ha .hsub{margin-bottom:10px}.ha .hlink{display:inline-block;font:600 12px Montserrat;letter-spacing:.24em;text-transform:uppercase;color:#f3ece0;border-bottom:1px solid rgba(243,236,224,.6);padding-bottom:3px}.ha .hlink:hover{color:var(--gold);border-color:var(--gold)}
/* about hero */
.ha .abhero{background:radial-gradient(ellipse at 30% 40%,#163657,#0E2A47 45%,#0a1c30);padding:64px 0 80px;color:#e9e1d3}
.ha .abgrid{display:grid;grid-template-columns:minmax(0,380px) minmax(0,600px);gap:90px;align-items:center;justify-content:center}
.ha .abimg{margin:0;position:relative;padding:16px;border:1px solid rgba(217,184,119,.7);background:rgba(255,255,255,.02)}
.ha .abimg:before{content:"";position:absolute;inset:6px;border:1px solid rgba(217,184,119,.3);pointer-events:none}
.ha .abimg>img:first-child{display:block;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:3/4;object-fit:cover;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.ha .abhero .wrap,.ha .abhero .container{max-width:1140px}
.ha .abcrest{position:absolute;width:86px;bottom:-34px;left:50%;transform:translateX(-50%);filter:drop-shadow(0 6px 14px rgba(0,0,0,.4))}
.ha .abcopy{text-align:center}.ha .abcopy h1{color:#fff;font-style:italic;font-weight:400;font-size:clamp(38px,5vw,64px)}.ha .abcopy .lead{color:#e3dacb}.ha .abcopy .btns{justify-content:center}
@media(max-width:1000px){.ha .abgrid{grid-template-columns:1fr;gap:60px}.ha .abimg{max-width:420px;margin:0 auto;width:100%}}
@media(max-width:700px){.ha .abhero{padding:56px 0}.ha .btn-xl{min-height:64px;padding:0 26px;font-size:14.5px;width:100%}}
/* service areas branding */
.ha .barro{background:#EFE6D6;padding:80px 0}.ha .barro-in{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:40px;align-items:center}
.ha .barro figure{margin:0;padding:10px;background:#fff;border:1px solid #e3d6c0;box-shadow:0 16px 36px rgba(41,36,31,.12)}.ha .barro figure img{aspect-ratio:4/5;object-fit:cover;width:100%}
.ha .barro figure:first-child{transform:rotate(-2deg)}.ha .barro figure:last-child{transform:rotate(2deg)}
.ha .barro-c{text-align:center;position:relative}.ha .barro-c h2{text-transform:uppercase;letter-spacing:.02em}.ha .barro-c .btns{justify-content:center}
.ha .crestw{width:64px;margin:0 auto 14px}
.ha.p-service-areas .rgn{position:relative;overflow:hidden;border-top:0}
.ha.p-service-areas .rgn:after{content:"";position:absolute;width:420px;height:420px;right:-90px;bottom:-110px;background:url(img/logo-monogram.webp) center/contain no-repeat;opacity:.05;pointer-events:none}
.ha.p-service-areas .rgn.alt:after{right:auto;left:-90px}
.ha.p-service-areas .rgn .wrap{position:relative;z-index:1}
.ha .rgsep{opacity:.9}
.ha.p-service-areas .ovsec{background:linear-gradient(rgba(247,242,232,.94),rgba(247,242,232,.94)),url(img/logo-monogram.webp) center 60%/560px no-repeat}
@media(max-width:1000px){.ha .barro-in{grid-template-columns:1fr 1fr}.ha .barro-c{grid-column:1/-1;order:-1}}
@media(max-width:700px){.ha .barro{padding:56px 0}.ha .barro-in{gap:18px}}
/* map markers */
.map use{filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.35))}
.map .ring{stroke-width:1.2;opacity:.7}
/* careers apply dialog */
.apdlg{border:0;padding:0;background:transparent;max-width:min(560px,calc(100% - 28px));width:100%}
.apdlg::backdrop{background:rgba(14,22,34,.72);backdrop-filter:blur(3px)}
.apform{position:relative;text-align:left}.apform h3{font-size:28px;margin-bottom:18px}.apform .eyebrow{margin-bottom:6px}
.apx{position:absolute;top:10px;right:12px;width:40px;height:40px;border:0;background:transparent;font-size:30px;line-height:1;color:var(--navy);cursor:pointer}
.roles button.btn{margin-top:6px}
/* ===== r2 (Oct 13 PM) ===== */
/* home hero: CTA at the very top, photo breathes, copy anchored low */
.ha.p-index .hero{min-height:min(92vh,880px);display:flex;flex-direction:column;justify-content:space-between;align-items:stretch}
.ha.p-index .h-img:after{background:linear-gradient(180deg,rgba(10,16,26,.55) 0%,rgba(10,16,26,.08) 22%,rgba(10,16,26,0) 45%,rgba(10,16,26,.25) 68%,rgba(10,16,26,.78) 100%)}
.ha .bigcta.top{position:relative;z-index:1;margin:0;padding:44px 20px 0}
.ha.p-index .h-c{padding:0 0 54px}
.ha.p-index .hero .eyebrow{margin-bottom:10px}.ha.p-index .hero h1{font-size:clamp(34px,4.6vw,60px);margin-bottom:10px}
.ha.p-index .hsub{margin:0 0 14px}
@media(max-width:700px){.ha.p-index .hero{min-height:calc(100svh - 120px);max-height:none}.ha .bigcta.top{padding:26px 18px 0}.ha.p-index .h-c{padding:0 0 40px}.ha.p-index .hero h1{font-size:34px}}
/* quote block: always ivory card with dark, readable type (also on dark pages) */
.quote2{background:#EFE6D6!important;color:#3d352c}
.quote2 .qhead h2{color:#0E2A47}.quote2 .qhead .eyebrow{color:#8a6a33}.quote2 .qhead .script{color:#9a7a42}
.quote2 .qpills{color:#0E2A47}.quote2 .qalt{color:#3d352c}.quote2 .qalt a{color:#0E2A47;border-color:#B69A65}
.quote2 form.steps,.quote2 form.steps label{color:#0E2A47}
/* packages: three service options */
.pk3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:stretch;padding-top:16px}
.pc3{position:relative;background:#fff;border:1px solid #eadfcd;border-radius:var(--rad);box-shadow:0 10px 30px rgba(41,36,31,.08);display:flex;flex-direction:column;text-align:center}
.pc3 figure{margin:0;overflow:hidden;border-radius:var(--rad) var(--rad) 0 0}.pc3 figure img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.pc3 .pb{padding:30px 28px 34px;display:flex;flex-direction:column;align-items:center;flex:1}
.pc3 h3{font-size:25px;margin-bottom:10px;color:var(--navy)}.pc3 .eyebrow{margin-bottom:8px}.pc3 .ticks{margin:8px 0 26px;width:100%}.pc3 .btn{margin-top:auto}
.pc3.hi{outline:2px solid var(--gold);outline-offset:-1px;box-shadow:0 22px 50px rgba(41,36,31,.16)}
.pc3 .tag{z-index:2;top:0}
@media(min-width:1001px){.pc3.hi{transform:translateY(-10px)}}
@media(max-width:1000px){.pk3{grid-template-columns:1fr;max-width:520px;margin:0 auto;row-gap:40px}}
/* make sure any badge never gets clipped */
.pc.hi{overflow:visible}
.ha.p-index .hero .eyebrow{color:#F1DDB0;text-shadow:0 1px 10px rgba(0,0,0,.85)}
@media(max-width:700px){.ha.p-index .hero{min-height:620px}.ha.p-index .hero .eyebrow{font-size:10.5px;letter-spacing:.2em}.ha.p-index .h-c{padding-bottom:36px}}
.ha .phero .eyebrow{color:#F1DDB0;text-shadow:0 1px 10px rgba(0,0,0,.85)}

.thanks .qin{margin:18px auto 0;padding-top:16px;border-top:1px solid rgba(182,154,101,.35);max-width:320px;text-align:center}
