:root{
  --evergreen:#2E3D2C; --evergreen-deep:#24301f;
  --gold:#B68A3E; --gold-bright:#C9A24B; --gold-soft:#cBA968;
  --ivory:#F7F3E9; --ink:#1B1D18; --sage:#E7EADD; --stone:#5E6157; --white:#fff;
  --fd:"Playfair Display",Georgia,serif; --fm:"Montserrat",system-ui,sans-serif; --fb:"Montserrat",system-ui,sans-serif;
  --display:var(--fd); --label:var(--fm); --body:var(--fb);
  --maxw:1120px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--ivory);color:var(--ink);font-family:var(--fb);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
h1,h2,h3,h4{font-family:var(--fd);font-weight:500;line-height:1.14;color:var(--evergreen);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.eyebrow{font-family:var(--fm);text-transform:uppercase;letter-spacing:.3em;font-size:12px;color:var(--gold);font-weight:600;}
.rule{display:flex;align-items:center;justify-content:center;gap:13px;}
.rule .ln{height:1px;width:60px;background:var(--gold);opacity:.9;}
.rule .dm{width:7px;height:7px;background:var(--gold);transform:rotate(45deg);}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--fb);font-weight:600;font-size:15.5px;padding:14px 28px;border-radius:11px;cursor:pointer;border:none;transition:transform .15s,background .15s;text-align:center;}
.btn-gold{background:var(--gold);color:var(--evergreen-deep);}
.btn-gold:hover{background:var(--gold-bright);transform:translateY(-2px);}
.btn-ever{background:var(--evergreen);color:var(--ivory);}
.btn-ever:hover{background:var(--evergreen-deep);transform:translateY(-2px);}
.btn-outline{background:transparent;border:1.5px solid var(--gold);color:var(--evergreen);}
.btn-outline:hover{background:rgba(182,138,62,.1);}

.crest .ring{stroke:var(--crest-ring,var(--evergreen));stroke-width:5;fill:none;}
.crest .acc{fill:var(--gold);}
.crest .pet{fill:var(--crest-ring,var(--evergreen));}

header.nav{position:sticky;top:0;z-index:50;background:rgba(36,48,31,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(182,138,62,.45);}
header.nav.scrolled{box-shadow:0 6px 24px rgba(0,0,0,.22);}
.navinner{display:flex;align-items:center;justify-content:space-between;height:78px;}
.brand{display:flex;align-items:center;gap:13px;}
.brand img.crest{height:46px;width:auto;}
.brand .wm{display:flex;flex-direction:column;gap:3px;line-height:1;transform:translateY(3px);}
.brand .wm .a{font-family:var(--fd);font-weight:400;font-size:21px;letter-spacing:.03em;color:var(--ivory);text-transform:uppercase;line-height:.9;white-space:nowrap;}
.brand .wm .b{display:flex;align-items:center;gap:7px;font-family:var(--fm);font-weight:500;font-size:9px;letter-spacing:.28em;color:var(--ivory);text-transform:uppercase;padding-left:.28em;white-space:nowrap;}
.brand .wm .b::before,.brand .wm .b::after{content:"";height:1px;width:13px;background:var(--gold-soft);}
nav.links{display:flex;align-items:center;gap:28px;}
nav.links a{font-size:15px;font-weight:500;color:var(--ivory);position:relative;}
nav.links a::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--gold);transition:width .2s;}
nav.links a:hover::after{width:100%;}
.navcta{display:flex;align-items:center;gap:18px;}
.navcta .tel{font-weight:700;font-size:15px;color:var(--gold-soft);white-space:nowrap;}
.menubtn{display:none;background:none;border:none;cursor:pointer;color:var(--ivory);}
@media(max-width:940px){nav.links,.navcta .tel{display:none;}.menubtn{display:block;}}
.mobilemenu{display:none;flex-direction:column;padding:12px 24px 22px;background:var(--evergreen-deep);border-bottom:1px solid rgba(182,138,62,.3);}
.mobilemenu.open{display:flex;}
.mobilemenu a{padding:11px 4px;font-weight:600;color:var(--ivory);border-bottom:1px solid rgba(247,243,233,.1);}
.mobilemenu .btn{margin-top:12px;justify-content:center;}

.crumb{background:var(--sage);font-size:13px;}
.crumb .wrap{padding:11px 24px;color:var(--stone);}
.crumb a:hover{color:var(--evergreen);}
.crumb .sep{margin:0 8px;color:var(--gold);}

.hero{position:relative;background:var(--evergreen);color:var(--ivory);overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 500px at 16% 10%, rgba(182,138,62,.16), transparent 60%);}
.hero .watermark{position:absolute;right:-90px;bottom:-120px;width:520px;opacity:.06;}
.heroinner{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;padding:70px 0 76px;}
@media(max-width:960px){.heroinner{grid-template-columns:1fr;gap:36px;padding:54px 0 58px;}}
.hero h1{color:var(--ivory);font-size:clamp(34px,5vw,56px);margin-top:16px;}
.hero h1 .u{position:relative;white-space:nowrap;}
.hero h1 .u svg{position:absolute;left:0;right:0;bottom:-9px;width:100%;height:13px;}
.hero .sub{font-size:clamp(16px,2.1vw,19px);color:#D6D9C9;max-width:520px;margin:22px 0 28px;}
.hero .pts{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px;}
.hero .pts span{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;color:#E4E7D8;}
.hero .pts svg{color:var(--gold);flex:none;}
.hero .stars{display:flex;align-items:center;gap:10px;margin-top:24px;color:#D6D9C9;font-size:14.5px;}
.hero .stars .s{color:var(--gold);letter-spacing:2px;font-size:17px;}

.capture{background:rgba(247,243,233,.97);color:var(--ink);border-radius:20px;padding:28px 28px 24px;box-shadow:0 30px 60px rgba(0,0,0,.28);border:1px solid rgba(182,138,62,.4);}
.capture .pill{display:inline-block;font-family:var(--fm);text-transform:uppercase;letter-spacing:.22em;font-size:10.5px;font-weight:600;color:var(--evergreen);background:var(--sage);padding:6px 13px;border-radius:30px;}
.capture h2{font-size:25px;margin:13px 0 3px;}
.capture .cd{font-size:14px;color:var(--stone);margin-bottom:16px;}
.capture .field{margin-bottom:11px;}
.capture label{display:block;font-size:13px;font-weight:600;color:var(--evergreen);margin-bottom:5px;}
.capture input{width:100%;font-family:var(--fb);font-size:16px;padding:12px 13px;border:1px solid rgba(27,29,24,.18);border-radius:10px;background:#fff;color:var(--ink);}
.capture input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(182,138,62,.22);}
.capture .btn{width:100%;justify-content:center;margin-top:5px;}
.consent{display:flex;gap:10px;align-items:flex-start;margin:13px 0 4px;}
.consent input{width:18px;height:18px;margin-top:2px;flex:none;}
.consent span{font-size:12.5px;color:var(--stone);line-height:1.45;}
.finehint{font-size:11.5px;color:var(--stone);margin-top:9px;line-height:1.5;}
.formok{display:none;text-align:center;padding:16px 8px;}
.formok.show{display:block;}
.formok .ic{width:52px;height:52px;border-radius:50%;background:var(--sage);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;color:var(--evergreen);font-size:25px;}
.formok h3{font-size:21px;}
.formok p{color:var(--stone);font-size:14.5px;margin-top:6px;}

.trustbar{background:var(--gold);}
.trustbar .ti{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:18px 0;}
@media(max-width:760px){.trustbar .ti{grid-template-columns:repeat(2,1fr);}}
.trustbar .t{display:flex;align-items:center;gap:10px;justify-content:center;color:var(--evergreen-deep);font-weight:700;font-size:15px;}
.trustbar .t svg{flex:none;}

.sec{padding:78px 0;}
.sec.sage{background:var(--sage);}
.sec.ever{background:var(--evergreen);color:var(--ivory);}
.sechead{text-align:center;max-width:720px;margin:0 auto 44px;}
.sechead h2{font-size:clamp(27px,3.6vw,38px);margin:13px 0 14px;}
.sechead p{color:var(--stone);font-size:17px;}
.sec.ever .sechead h2{color:var(--ivory);}
.sec.ever .sechead p{color:#D6D9C9;}

.svc-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.svc-cols.one{grid-template-columns:1fr;max-width:680px;margin:0 auto;}
@media(max-width:760px){.svc-cols{grid-template-columns:1fr;}}
.svc{background:var(--white);border:1px solid rgba(27,29,24,.09);border-radius:18px;padding:30px 28px;}
.svc h3{font-size:23px;margin-bottom:6px;}
.svc .lede{color:var(--stone);font-size:15.5px;margin-bottom:18px;}
.svc ul{list-style:none;}
.svc li{position:relative;padding-left:28px;margin-bottom:11px;font-size:15.5px;line-height:1.5;}
.svc li svg{position:absolute;left:0;top:3px;color:var(--gold);}

.report-wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
@media(max-width:820px){.report-wrap{grid-template-columns:1fr;gap:30px;}}
.report-wrap h2{font-size:clamp(26px,3.4vw,36px);margin-bottom:14px;}
.report-wrap p{color:var(--stone);margin-bottom:14px;}
.report-wrap .micro{font-size:14px;color:var(--evergreen);font-weight:600;}
.report{background:var(--white);border:1px solid rgba(27,29,24,.1);border-radius:18px;padding:22px;box-shadow:0 24px 50px rgba(46,61,44,.12);}
.report .rhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.report .rhead .who{display:flex;align-items:center;gap:10px;}
.report .rhead .av{width:38px;height:38px;border-radius:50%;background:var(--evergreen);color:var(--ivory);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:600;font-size:15px;}
.report .rhead .nm{font-weight:700;font-size:14px;color:var(--evergreen);}
.report .rhead .tm{font-size:12px;color:var(--stone);}
.report .rhead .badge{font-size:11px;font-weight:700;color:var(--evergreen-deep);background:var(--sage);padding:5px 10px;border-radius:20px;}
.report .map{height:120px;border-radius:12px;background:linear-gradient(135deg,#33402e,#2a3726);position:relative;overflow:hidden;margin-bottom:14px;}
.report .map svg{position:absolute;inset:0;width:100%;height:100%;}
.report .times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;}
.report .times .c{background:var(--ivory);border-radius:10px;padding:9px;text-align:center;}
.report .times .c .k{font-size:10.5px;color:var(--stone);text-transform:uppercase;letter-spacing:.08em;}
.report .times .c .v{font-family:var(--fd);font-size:16px;color:var(--evergreen);font-weight:600;margin-top:2px;}
.report .chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.report .chip{font-size:13px;font-weight:600;background:var(--ivory);border:1px solid rgba(27,29,24,.08);border-radius:20px;padding:6px 12px;color:var(--ink);display:inline-flex;align-items:center;gap:6px;}
.report .chip b{color:var(--evergreen);}
.report .note{font-size:13.5px;color:var(--stone);font-style:italic;border-left:2px solid var(--gold);padding-left:12px;line-height:1.5;}

.highlight{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
@media(max-width:820px){.highlight{grid-template-columns:1fr;gap:26px;}}
.highlight h2{font-size:clamp(26px,3.4vw,36px);margin-bottom:14px;}
.highlight p{color:var(--stone);margin-bottom:14px;}
.highlight .card2{background:var(--white);border:1px solid rgba(27,29,24,.1);border-radius:18px;padding:30px;box-shadow:0 24px 50px rgba(46,61,44,.1);}
.highlight .card2 .big{font-family:var(--fd);font-size:30px;color:var(--evergreen);margin-bottom:10px;}
.highlight .card2 ul{list-style:none;}
.highlight .card2 li{position:relative;padding-left:26px;margin-bottom:10px;font-size:15.5px;}
.highlight .card2 li svg{position:absolute;left:0;top:3px;color:var(--gold);}

.local{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;}
@media(max-width:820px){.local{grid-template-columns:1fr;gap:28px;}}
.local h2{font-size:clamp(26px,3.4vw,36px);margin-bottom:14px;}
.local p{color:var(--stone);margin-bottom:16px;}
.local .chips{display:flex;flex-wrap:wrap;gap:9px;}
.local .chip{background:var(--white);color:var(--evergreen);font-weight:600;font-size:13.5px;padding:8px 14px;border-radius:30px;border:1px solid rgba(46,61,44,.14);}
.localart{background:var(--evergreen);border-radius:20px;min-height:280px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.localart .wmk{width:60%;opacity:.14;}
.localart .tag{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#cfd2c2;font-size:12.5px;font-family:var(--fm);letter-spacing:.16em;text-transform:uppercase;}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
@media(max-width:820px){.steps{grid-template-columns:1fr;}}
.step .n{font-family:var(--fd);font-size:44px;color:var(--gold);line-height:1;}
.step h3{color:var(--ivory);font-size:22px;margin:10px 0 8px;}
.step p{color:#D6D9C9;font-size:15px;}

.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.cards{grid-template-columns:1fr;}}
.card{background:var(--white);border:1px solid rgba(27,29,24,.09);border-radius:16px;padding:28px 24px;transition:transform .18s,box-shadow .18s,border-color .18s;}
.card:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(46,61,44,.12);border-color:rgba(182,138,62,.4);}
.card .ci{width:52px;height:52px;border-radius:13px;background:var(--sage);display:flex;align-items:center;justify-content:center;color:var(--evergreen);margin-bottom:18px;}
.card h3{font-size:21px;margin-bottom:8px;}
.card p{font-size:15px;color:var(--stone);line-height:1.55;}

.ratinghead{text-align:center;margin-bottom:40px;}
.ratinghead .stars{color:var(--gold);font-size:30px;letter-spacing:4px;}
.ratinghead .rt{font-family:var(--fd);font-size:22px;color:var(--evergreen);margin-top:8px;}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:880px){.quotes{grid-template-columns:1fr;}}
.quote{background:var(--white);border:1px solid rgba(27,29,24,.09);border-radius:16px;padding:26px 24px;}
.quote .q{font-family:var(--fd);font-style:italic;font-size:17.5px;color:var(--ink);line-height:1.5;}
.quote .who{display:flex;align-items:center;gap:12px;margin-top:18px;}
.quote .av{width:42px;height:42px;border-radius:50%;background:var(--evergreen);color:var(--ivory);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:600;font-size:16px;}
.quote .nm{font-weight:700;font-size:15px;color:var(--evergreen);}
.quote .loc{font-size:13px;color:var(--stone);}

.faq{max-width:760px;margin:0 auto;}
.fitem{border-bottom:1px solid rgba(27,29,24,.12);}
.fq{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:21px 4px;display:flex;justify-content:space-between;align-items:center;gap:18px;font-family:var(--fd);font-size:19px;font-weight:500;color:var(--evergreen);}
.fq .ix{flex:none;transition:transform .2s;color:var(--gold);}
.fitem.open .fq .ix{transform:rotate(45deg);}
.fa{max-height:0;overflow:hidden;transition:max-height .26s ease;}
.fa .inner{padding:0 4px 21px;color:var(--stone);font-size:16px;}

.related{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:760px){.related{grid-template-columns:1fr;}}
.rel{background:var(--white);border:1px solid rgba(27,29,24,.09);border-radius:14px;padding:22px;transition:transform .16s,border-color .16s;}
.rel:hover{transform:translateY(-4px);border-color:rgba(182,138,62,.4);}
.rel h4{font-size:18px;margin-bottom:5px;}
.rel p{font-size:14px;color:var(--stone);}
.rel .go{margin-top:12px;font-weight:700;font-size:14px;color:var(--evergreen);display:inline-flex;align-items:center;gap:6px;}

.final{background:var(--evergreen-deep);color:var(--ivory);text-align:center;padding:74px 24px;position:relative;overflow:hidden;}
.final::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 360px at 50% 0%, rgba(182,138,62,.18), transparent 62%);}
.final .in{position:relative;}
.final h2{color:var(--ivory);font-size:clamp(28px,4vw,42px);margin:14px 0 13px;}
.final p{color:#D6D9C9;font-size:18px;max-width:520px;margin:0 auto 26px;}
.final .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.final .tel{font-weight:700;color:var(--gold);font-size:18px;display:inline-flex;align-items:center;gap:8px;}

footer{background:var(--ink);color:#cdd0c4;padding:54px 0 26px;font-size:.92rem;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:34px;}
footer h4{font-family:var(--fm);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
footer a{color:#cdd0c4;display:block;margin-bottom:8px;}
footer a:hover{color:#fff;}
.foot-logo{display:flex;justify-content:center;max-width:30ch;margin-bottom:14px;}
.foot-logo img{height:66px;width:auto;max-width:100%;object-fit:contain;}
.foot-brand p{font-size:.86rem;color:#9aa091;max-width:30ch;margin-bottom:14px;}
.foot-social{display:flex;gap:14px;}
.foot-social a{font-weight:600;color:#cdd0c4;margin:0;}
.foot-social a:hover{color:var(--gold-soft);}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.76rem;color:#8d9384;}
.foot-map{margin-top:18px;width:100%;max-width:240px;height:158px;border:1px solid rgba(182,138,62,.42);border-radius:12px;overflow:hidden;box-shadow:0 16px 34px -22px rgba(0,0,0,.75);}
.foot-map iframe{display:block;width:100%;height:100%;border:0;}
@media(max-width:920px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr;}}

.reveal{opacity:0;transform:translateY(16px);}
.reveal.in{opacity:1;transform:none;transition:opacity .65s ease,transform .65s ease;}
@media(prefers-reduced-motion:reduce){.reveal,.reveal.in{opacity:1;transform:none;transition:none;}.fa{transition:none;}}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.skip{position:absolute;left:-999px;}
.skip:focus{left:12px;top:12px;background:var(--ivory);color:var(--evergreen);padding:8px 14px;border-radius:8px;z-index:99;}

/* legal pages (privacy / terms) */
.legal{max-width:780px;margin:0 auto;padding:54px 24px 72px;}
.legal h1{font-size:clamp(30px,4.6vw,44px);margin-bottom:6px;}
.legal .dateline{color:var(--stone);font-family:var(--fm);font-size:14px;margin-bottom:30px;}
.legal h2{font-size:clamp(21px,2.8vw,27px);margin:36px 0 10px;padding-top:22px;border-top:1px solid rgba(46,61,44,.14);}
.legal h3{font-family:var(--fm);font-weight:700;font-size:16px;color:var(--ink);margin:18px 0 4px;}
.legal p,.legal li{color:#33372e;font-size:16px;line-height:1.7;margin-bottom:13px;}
.legal ul{padding-left:22px;margin-bottom:13px;}
.legal li{margin-bottom:6px;}
.legal a{color:var(--gold);text-decoration:underline;text-underline-offset:2px;}
.legal a:hover{color:var(--gold-bright);}
.legal strong{color:var(--ink);}
.legal code{font-family:ui-monospace,Menlo,monospace;font-size:14px;background:var(--sage);padding:1px 6px;border-radius:5px;}
.legal .note{background:var(--sage);border-left:3px solid var(--gold);padding:13px 16px;border-radius:0 10px 10px 0;font-size:14.5px;margin:18px 0;}

