@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#182522;--forest:#173b32;--forest2:#102b24;--gold:#c8a568;--gold2:#e2c996;--cream:#f7f6f1;--white:#fff;--muted:#697671;--line:#e0e5df;--pale:#eaf0eb;--sans:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;background:var(--cream);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.header{position:sticky;top:0;z-index:50;background:rgba(247,246,241,.96);backdrop-filter:blur(12px);border-bottom:1px solid #173b3214}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:11px;min-width:max-content}.brand img{width:47px;height:47px}.brand-name{font:800 13px/1.2 var(--display);letter-spacing:.11em;color:var(--forest)}.brand-name small{display:block;font:600 9px var(--sans);letter-spacing:.35em;color:#987a45;margin-top:5px}.nav{display:flex;align-items:center;gap:28px;font-size:12px;font-weight:700;color:#4d5a53}.nav>a:hover,.nav>a.active{color:#98753a}.nav .nav-button{padding:12px 17px;background:var(--forest);color:white}.nav-button span,.btn span{margin-left:12px}.menu-toggle{display:none;border:0;background:transparent;padding:9px}.menu-toggle i{display:block;width:24px;height:2px;background:var(--forest);margin:5px}
.hero{position:relative;overflow:hidden;background:linear-gradient(112deg,#f7f6f1 0%,#f7f6f1 58%,#eaece4 58%,#eaece4 100%);padding:56px 0 52px}.hero-grid{display:grid;grid-template-columns:1fr .94fr;gap:68px;align-items:center}.eyebrow{display:flex;align-items:center;gap:10px;color:#9a7942;font-size:10px;letter-spacing:.19em;font-weight:800;text-transform:uppercase;margin:0 0 20px}.eyebrow:before{content:"";width:28px;height:1px;background:var(--gold)}h1,h2,h3{font-family:var(--display);letter-spacing:-.045em;line-height:1.1;margin-top:0}h1{font-size:clamp(42px,5.4vw,72px);font-weight:600;color:var(--forest);margin-bottom:23px}h1 em,h2 em{font-style:normal;color:#a17b3f}h2{font-size:clamp(34px,4.1vw,53px);font-weight:600;color:var(--forest);margin-bottom:22px}h3{font-weight:700}.lead{font-size:15px;line-height:1.95;color:var(--muted);max-width:570px}.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:27px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;background:var(--forest);color:#fff;font-size:12px;font-weight:800;border:1px solid var(--forest);transition:transform .2s,background .2s,border-color .2s;cursor:pointer}.btn:hover{transform:translateY(-2px);background:#285344;border-color:#285344}.btn.gold{background:var(--gold);border-color:var(--gold);color:#192821}.btn.gold:hover{background:var(--gold2);border-color:var(--gold2)}.btn.outline{background:transparent;color:var(--forest)}.btn.outline:hover{background:var(--pale)}.text-link{font-size:12px;font-weight:800;border-bottom:1px solid #bdbba9;padding-bottom:5px}.text-link span{margin-left:10px}.hero-visual{position:relative;padding:0 13px 20px 0}.hero-photo{width:100%;height:480px;object-fit:cover;background:#d9ddd4}.photo-tag{position:absolute;bottom:0;left:0;right:13px;padding:35px 22px 20px;background:linear-gradient(transparent,#10251fe8);color:white}.photo-tag strong{display:block;font-size:13px}.photo-tag small{font-size:10px;color:#d8e0d8}.hero-chip{position:absolute;top:24px;right:-8px;z-index:2;width:116px;height:116px;border-radius:50%;background:var(--gold);display:grid;place-content:center;text-align:center;color:var(--forest);transform:rotate(8deg);box-shadow:0 8px 25px #12271c1a}.hero-chip b{font:800 17px/1.15 var(--display)}.hero-chip small{font-size:8px;letter-spacing:.15em}.dots{position:absolute;right:-20px;bottom:0;width:94px;height:90px;background-image:radial-gradient(#a88b55 1px,transparent 1px);background-size:9px 9px;z-index:0}
.section{padding:62px 0}.section.pale{background:#eef1eb}.section.dark{background:var(--forest2);color:white}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:26px}.section-head h2{margin:0}.section-head:not(:has(.lead)){justify-content:flex-start}.section-head .lead{max-width:360px;font-size:13px;margin:0 0 4px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{border:1px solid var(--line);background:#fff;min-width:0;transition:transform .25s,box-shadow .25s,border-color .25s}.card:hover{transform:translateY(-4px);box-shadow:0 14px 35px #19372a0c;border-color:#c7d2c9}.card-img{width:100%;height:210px;object-fit:cover;background:#d8ddd5}.card-body{padding:18px}.card h3{font-size:20px;color:var(--forest);margin:10px 0}.card p{font-size:12px;color:var(--muted);line-height:1.85;margin-bottom:17px}.card-link{font-size:11px;font-weight:800;color:#98753a}.card-link span{margin-left:8px}.service-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid #d5c399;color:#9c7a3e;margin-bottom:14px}.service-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.service-card{padding:21px;background:#fff;border:1px solid var(--line);position:relative;transition:transform .25s,background .25s}.service-card:hover{transform:translateY(-4px);background:#fcfcf8}.service-card .num{position:absolute;right:19px;top:18px;color:#a6b0a7;font:italic 13px Georgia}.service-card h3{font-size:18px;color:var(--forest);margin:0 0 9px}.service-card p{font-size:11px;line-height:1.85;color:var(--muted);margin:0 0 18px}.service-card>a{font-size:10px;font-weight:800;color:#98753a}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.split-photo{position:relative;padding:0 28px 28px 0}.split-photo img{width:100%;height:460px;object-fit:cover}.split-photo:after{content:"";position:absolute;z-index:-1;right:0;bottom:0;left:25px;height:75%;border:1px solid #cbb889}.note-box{position:absolute;right:0;bottom:0;background:var(--forest);color:white;padding:16px 21px;font:600 13px/1.5 var(--display)}.note-box small{display:block;color:var(--gold2);font:10px var(--sans);margin-top:4px}.check-list{padding:0;margin:23px 0;list-style:none;display:grid;gap:13px}.check-list li{display:flex;gap:11px;color:#58665e;font-size:12px}.check-list li:before{content:"✓";display:grid;place-items:center;flex:0 0 20px;height:20px;border-radius:50%;background:#e2ebe2;color:var(--forest);font-weight:800}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff28;border-bottom:1px solid #ffffff28;margin-top:40px}.stat{padding:23px 18px;border-right:1px solid #ffffff28}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat b{font:700 24px var(--display);color:var(--gold2);display:block}.stat span{font-size:11px;color:#d3ded6}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}.process-step{padding:25px 23px 0 0;position:relative}.process-step:not(:last-child):after{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--gold);border-radius:50%}.process-step span{font-size:10px;color:#9a7a42;font-weight:800;letter-spacing:.15em}.process-step h3{font-size:18px;color:var(--forest);margin:12px 0}.process-step p{font-size:12px;color:var(--muted);line-height:1.85}
.cta-band{background:var(--forest);color:white;padding:42px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-inner h2{font-size:clamp(30px,3.6vw,44px);color:white;margin:0}.cta-inner h2 em{color:var(--gold2)}.cta-inner p{font-size:12px;color:#c6d2ca;margin:12px 0 0}.page-hero{background:linear-gradient(110deg,#f7f6f1 0%,#f7f6f1 67%,#e8ece5 67%);padding:46px 0 42px}.breadcrumbs{display:flex;gap:9px;align-items:center;font-size:10px;color:#7b867e;margin-bottom:16px}.breadcrumbs a{color:#99783f}.page-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center}.page-hero h1{font-size:clamp(38px,4.7vw,60px)}.page-hero .lead{max-width:620px}.page-hero-img{width:100%;height:310px;object-fit:cover}.service-detail{display:grid;grid-template-columns:1fr .7fr;gap:40px;align-items:start}.service-detail h2{font-size:35px}.detail-aside{background:#edf1eb;padding:22px;position:sticky;top:110px}.detail-aside h3{font-size:21px;color:var(--forest)}.detail-aside p{font-size:12px;color:var(--muted)}.detail-aside a{display:block;margin-top:12px}.faq-list{max-width:850px;margin:auto;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:18px 0}summary{font-weight:800;font-size:13px;color:var(--forest);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px}summary:after{content:"+";font-size:18px;color:#9a7a42}details[open] summary:after{content:"−"}details p{font-size:12px;line-height:1.9;color:var(--muted);max-width:760px;margin:12px 0 0}
.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px}.contact-info{display:grid;gap:16px;margin-top:20px}.info-item{display:flex;gap:15px}.info-symbol{display:grid;place-items:center;flex:0 0 42px;height:42px;border:1px solid #d5c399;color:#98753a}.info-item small{display:block;font-size:9px;font-weight:800;letter-spacing:.14em;color:#98753a}.info-item p,.info-item a{font-size:12px;color:#53625a;line-height:1.85;margin:4px 0 0}.form-panel{background:#fff;padding:28px;border:1px solid var(--line);box-shadow:0 15px 45px #173b320a}.form-panel h2{font-size:30px;margin-bottom:8px}.form-panel>p{font-size:12px;color:var(--muted);margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{margin-bottom:16px}.field label{display:block;font-size:10px;font-weight:800;color:#53625a;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;border:1px solid #dfe4dd;background:#fbfcf9;padding:12px 13px;font-size:12px;color:var(--ink);outline:none;border-radius:0}.field input:focus,.field textarea:focus,.field select:focus{border-color:#b69a5f}.field textarea{min-height:105px;resize:vertical}.form-note{font-size:10px!important;text-align:center;color:#929c94!important;margin:12px 0 0!important}.footer{background:#102720;color:#d6e0d8}.footer-main{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:32px;padding:32px 0 26px}.footer .brand-name{color:white}.footer .brand-name small{color:var(--gold2)}.footer-desc{font-size:11px;line-height:1.9;color:#aab9b0;max-width:280px;margin-top:17px}.footer h4{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--gold2);margin:0 0 14px}.footer-links{display:grid;gap:9px;font-size:11px;color:#c4d0c8}.footer-links a:hover{color:var(--gold2)}.footer-bottom{border-top:1px solid #ffffff25;padding:15px 0 18px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:9px;color:#9cafa3}.wa-float{position:fixed;right:20px;bottom:20px;z-index:30;width:51px;height:51px;background:#218957;color:white;border-radius:50%;display:grid;place-items:center;box-shadow:0 7px 24px #10272045;transition:transform .2s}.wa-float:hover{transform:translateY(-3px)}.wa-float svg{width:24px;height:24px;fill:white}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}.stagger>*{transition-delay:var(--delay,0ms)}.error{color:#a13b30;font-size:11px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
@media(max-width:1020px){.nav{gap:17px}.hero-grid{gap:35px}.hero-photo{height:420px}.split{gap:45px}.grid-4{grid-template-columns:repeat(2,1fr)}.footer-main{gap:25px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.nav-wrap{height:72px}.brand img{width:42px;height:42px}.brand-name{font-size:11px}.brand-name small{font-size:8px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--cream);padding:14px 22px 22px;box-shadow:0 15px 22px #10272013;align-items:stretch;flex-direction:column;gap:0;border-top:1px solid var(--line)}.nav.open{display:flex}.nav>a{padding:12px 3px;border-bottom:1px solid var(--line)}.nav .nav-button{margin-top:10px;text-align:center}.hero{padding:48px 0;background:linear-gradient(155deg,#f7f6f1 0%,#f7f6f1 63%,#eaece4 63%)}.hero-grid,.page-hero-grid{grid-template-columns:1fr;gap:32px}.hero h1{font-size:clamp(42px,11vw,60px)}.hero .lead{font-size:13px}.hero-photo{height:clamp(275px,78vw,400px)}.hero-chip{width:92px;height:92px;right:-9px;top:15px}.hero-chip b{font-size:14px}.hero-chip small{font-size:7px}.section{padding:68px 0}.section-head{display:block;margin-bottom:27px}.section-head .lead{margin-top:18px}.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr;gap:10px}.card-img{height:185px}.card-body{padding:18px}.service-card{padding:20px 16px}.service-card h3{font-size:16px}.service-card p{font-size:10px}.split{grid-template-columns:1fr;gap:37px}.split-photo{padding-right:20px;padding-bottom:23px}.split-photo img{height:clamp(290px,90vw,420px)}.note-box{padding:12px 15px;font-size:11px}.stats{grid-template-columns:1fr 1fr}.stat{padding:17px 12px;border-bottom:1px solid #ffffff28}.stat:nth-child(2){border-right:0}.stat:nth-child(3){padding-left:0;border-bottom:0}.stat:last-child{border-bottom:0}.stat b{font-size:22px}.process{grid-template-columns:1fr 1fr;row-gap:23px}.process-step{padding-right:16px}.cta-inner{align-items:flex-start;flex-direction:column}.page-hero{padding:44px 0}.page-hero h1{font-size:clamp(36px,9vw,51px)}.page-hero-img{height:250px}.service-detail{grid-template-columns:1fr;gap:28px}.detail-aside{position:static}.contact-layout{grid-template-columns:1fr;gap:38px}.form-panel{padding:26px 20px}.form-row{grid-template-columns:1fr;gap:0}.footer-main{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{line-height:1.7}}
@media(max-width:390px){.wrap{width:calc(100% - 28px)}.hero .actions{gap:10px}.btn{padding:13px 14px;font-size:11px}.grid-4{grid-template-columns:1fr}.service-card{padding:22px}.card-img{height:200px}.process{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}}

/* Final compact spacing pass */
.section p:last-child{margin-bottom:0}
@media(max-width:760px){.section{padding:46px 0}.section-head{margin-bottom:22px}.hero{padding:38px 0 36px}.page-hero{padding:34px 0}.hero-grid,.page-hero-grid{gap:24px}.cta-band{padding:32px 0}.footer-main{padding:26px 0 22px}.breadcrumbs{margin-bottom:12px}}


/* Lightweight motion system: CSS-only, no animation libraries */
@keyframes logoEntrance{0%{opacity:.45;transform:translateY(4px) scale(.94)}65%{transform:translateY(-2px) scale(1.025)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes logoGlow{0%,100%{filter:drop-shadow(0 0 0 rgba(200,165,104,0))}50%{filter:drop-shadow(0 2px 5px rgba(200,165,104,.34))}}
@keyframes heroFloat{0%,100%{transform:translateY(0) rotate(8deg)}50%{transform:translateY(-7px) rotate(5deg)}}
@keyframes accentSweep{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes softFadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.brand img{transform-origin:center;animation:logoEntrance .7s cubic-bezier(.2,.75,.25,1) both,logoGlow 5.5s ease-in-out 1s infinite;transition:transform .25s ease,filter .25s ease}
.brand:hover img{transform:translateY(-2px) rotate(-3deg) scale(1.04);filter:drop-shadow(0 4px 7px rgba(200,165,104,.28))}
.brand-name{animation:softFadeUp .55s ease both;animation-delay:.12s}
.hero h1,.page-hero h1{animation:softFadeUp .65s ease both}
.hero .lead,.page-hero .lead{animation:softFadeUp .7s ease .08s both}
.hero .actions{animation:softFadeUp .7s ease .15s both}
.hero-chip{animation:heroFloat 5.5s ease-in-out infinite}
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.18) 45%,transparent 65%);background-size:220% 100%;background-position:200% 0;transition:background-position .65s ease}
.btn:hover:after{background-position:-200% 0}
.card,.service-card,.info-item,.process-step{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.card:hover,.service-card:hover{transform:translateY(-5px)}
.service-icon{transition:transform .3s ease,background .3s ease,color .3s ease}
.service-card:hover .service-icon{transform:translateY(-3px) rotate(-3deg);background:#f8f3e8;color:#80612e}
.split-photo img,.hero-photo,.page-hero-img{transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .6s ease}
.split-photo:hover img{transform:scale(1.012);filter:saturate(1.04)}
.wa-float{animation:waPulse 3.2s ease-in-out 1.2s infinite}
@keyframes waPulse{0%,85%,100%{box-shadow:0 7px 24px #10272045,0 0 0 0 rgba(33,137,87,0)}92%{box-shadow:0 7px 24px #10272045,0 0 0 9px rgba(33,137,87,.12)}}
@media(prefers-reduced-motion:reduce){.brand img,.brand-name,.hero h1,.page-hero h1,.hero .lead,.page-hero .lead,.hero .actions,.hero-chip,.wa-float{animation:none!important}.btn:after{display:none}}

/* Visible logo mark animation + lightweight custom cursor */
.brand{position:relative}
.brand::before{content:"";position:absolute;left:0;top:50%;width:47px;height:47px;border:1px solid rgba(200,165,104,.72);border-radius:9px;transform:translateY(-50%) scale(.92);pointer-events:none;animation:brandRingPulse 2.8s ease-out infinite}
.brand img{position:relative;z-index:1;animation:logoEntrance .7s cubic-bezier(.2,.75,.25,1) both,logoMarkFloat 3.6s ease-in-out .8s infinite,logoGlow 5.5s ease-in-out 1s infinite}
@keyframes brandRingPulse{0%{transform:translateY(-50%) scale(.92);opacity:.8}70%,100%{transform:translateY(-50%) scale(1.22);opacity:0}}
@keyframes logoMarkFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(-2deg)}}
/* Small gold custom cursor on desktop; preserve normal touch interaction on phones */
@media (hover:hover) and (pointer:fine){
 html,body{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='5' fill='%23c8a568' stroke='%23173b32' stroke-width='1.5'/%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='%23c8a568' stroke-width='1' opacity='.8'/%3E%3C/svg%3E") 12 12, auto}
 a,button,summary,[role="button"],input[type="submit"]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='7' fill='%23e2c996' stroke='%23173b32' stroke-width='1.5'/%3E%3Cpath d='M8 12h8M12 8v8' stroke='%23173b32' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") 12 12, pointer}
}
@media(prefers-reduced-motion:reduce){.brand::before{animation:none;opacity:.35}.brand img{animation:none!important}}

/* Final contact map and enquiry action layout */
.map-frame{overflow:hidden;border:1px solid var(--line);min-height:300px;background:#e9ede7}.map-frame iframe{display:block;width:100%;height:340px;border:0}.form-panel .actions{display:flex;flex-wrap:wrap;gap:10px}.form-panel .actions .btn{cursor:pointer;font:inherit}.btn.outline{background:transparent;border:1px solid #b9c5bc;color:var(--forest)}.btn.outline:hover{background:#edf0e9}.nav{flex-wrap:wrap}.footer-links a{line-height:1.6}@media(max-width:760px){.map-frame iframe{height:280px}.form-panel .actions{display:grid;grid-template-columns:1fr}.nav{flex-wrap:nowrap}}

/* Company profile download section */
.profile-download-card{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);gap:36px;align-items:center;padding:clamp(24px,4vw,48px);border:1px solid var(--line);background:var(--white);border-radius:4px;box-shadow:0 16px 45px rgba(23,59,50,.06)}.profile-copy h2{margin-bottom:16px}.profile-copy p{max-width:700px}.profile-copy .lead{margin-bottom:14px}.profile-note{font-size:12px;color:var(--muted);margin:12px 0 0}.profile-icon{min-height:220px;background:linear-gradient(145deg,var(--pale),#f7f6f1);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--forest)}.document-icon{width:78px;height:96px;background:#fff;border:1px solid var(--gold);display:flex;flex-direction:column;justify-content:center;gap:7px;padding:13px;margin-bottom:15px;box-shadow:6px 6px 0 rgba(200,165,104,.22)}.document-icon span{font-size:11px;font-weight:800;letter-spacing:.12em;color:#a17b3f}.document-icon i{display:block;height:2px;background:#d9ded8;width:100%}.profile-icon strong{font-family:var(--display);font-size:16px;line-height:1.35}.profile-icon small{color:var(--muted);margin-top:5px}@media(max-width:700px){.profile-download-card{grid-template-columns:1fr;gap:24px}.profile-icon{min-height:175px;order:-1}}

/* Mobile homepage headline: keep the hero title compact and on two lines. */
@media (max-width: 760px) {
  .hero h1 {
    font-size: clamp(30px, 9.2vw, 36px);
    line-height: 1.12;
    letter-spacing: -0.045em;
    max-width: 100%;
    text-wrap: balance;
  }
}

/* Lightweight testimonial slider and on-demand map */
.map-actions{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 14px}.map-placeholder{min-height:245px;display:grid;place-items:center;background:linear-gradient(135deg,#edf0e9,#f7f6f1)}.map-placeholder-content{max-width:520px;text-align:center;padding:28px}.map-pin-mark{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:var(--forest);color:#fff;font-size:27px}.map-placeholder-content strong{font-size:18px;color:var(--forest)}.map-placeholder-content p{font-size:13px;line-height:1.7;color:var(--muted);margin:8px 0}.map-placeholder-content small{font-size:11px;color:var(--muted)}.map-frame iframe{display:block;width:100%;height:340px;border:0}.testimonial-controls{display:flex;gap:8px;align-self:end}.slider-btn{width:42px;height:42px;border:1px solid var(--line);background:#fff;color:var(--forest);font-size:22px;cursor:pointer;transition:background .2s,color .2s}.slider-btn:hover{background:var(--forest);color:#fff}.testimonial-viewport{overflow:hidden}.testimonial-track{display:flex;gap:16px;transition:transform .35s ease;will-change:transform}.testimonial-card{flex:0 0 calc((100% - 32px)/3);min-height:245px;text-align:left;padding:26px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 12px 30px rgba(23,59,50,.035);transition:transform .2s,border-color .2s}.testimonial-card:hover{transform:translateY(-3px);border-color:var(--gold)}.review-stars{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#a17b3f}.testimonial-card h3{font-size:20px;margin:18px 0 8px}.testimonial-card p{font-size:13px;line-height:1.75;color:var(--muted);margin:0 0 18px}.read-review{font-size:11px;font-weight:800;color:#98753a;margin-top:auto}.testimonial-card small{font-size:10px;color:var(--muted);margin-top:14px}.testimonial-dots{display:flex;justify-content:center;gap:7px;margin-top:20px}.testimonial-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#cbd1c9;cursor:pointer}.testimonial-dots button.active{background:var(--gold);transform:scale(1.25)}.review-dialog{width:min(560px,calc(100% - 32px));border:1px solid var(--line);padding:clamp(24px,5vw,40px);color:var(--ink);background:var(--cream);box-shadow:0 25px 90px #10272045}.review-dialog::backdrop{background:#102720a6;backdrop-filter:blur(3px)}.review-dialog h2{font-size:clamp(24px,4vw,34px);margin:8px 0 14px}.review-dialog p:not(.eyebrow){font-size:15px;line-height:1.9;color:var(--muted)}.dialog-close{float:right;border:0;background:transparent;font-size:28px;color:var(--forest);cursor:pointer;line-height:1}.review-dialog .eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#98753a}
@media(max-width:900px){.testimonial-card{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:600px){.testimonial-card{flex-basis:100%;min-height:220px;padding:22px}.testimonial-controls{margin-top:16px}.map-actions{display:grid;grid-template-columns:1fr}.map-actions .btn{text-align:center}.map-frame iframe{height:270px}}
@media(prefers-reduced-motion:reduce){.testimonial-track,.testimonial-card,.slider-btn{transition:none!important}}
