:root{--ink:#142f2b;--ink2:#0c2521;--gold:#d4a95f;--cream:#f4f0e8;--paper:#fbfaf7;--line:#d9d6ce;--white:#fff;--muted:#66726e;--sans:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.nav-wrap{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(251,250,247,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(20,47,43,.1)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-size:.78rem;line-height:1.05;letter-spacing:.16em;font-weight:600}.brand b{color:var(--gold)}.brand small{display:block;font-size:.5rem;letter-spacing:.35em;margin-top:5px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;font:500 1.35rem var(--display);color:var(--gold)}.menu{display:flex;align-items:center;gap:34px;font-size:.88rem}.menu a:not(.nav-cta):hover{color:var(--gold)}.nav-cta{border:1px solid var(--ink);padding:11px 18px;transition:.2s}.nav-cta:hover{background:var(--ink);color:white}.menu-btn{display:none;border:0;background:none;font:600 .9rem var(--sans)}.hero{padding:150px 0 80px;min-height:720px;background:linear-gradient(110deg,var(--paper) 0 62%,var(--cream) 62%)}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:72px}.eyebrow,.section-index{font-size:.75rem;letter-spacing:.18em;font-weight:700;color:#6b766f}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow span{width:24px;height:1px;background:var(--gold)}h1,h2,h3{font-family:var(--display);line-height:1.08;margin:0;font-weight:500}h1{font-size:clamp(3rem,5.3vw,5.3rem);letter-spacing:-.055em;max-width:760px}.lead{font-size:1.15rem;color:#53615d;max-width:590px;margin:28px 0 35px}.hero-actions{display:flex;align-items:center;gap:30px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;min-height:52px;padding:0 24px;font:700 .9rem var(--sans);cursor:pointer}.btn-gold{background:var(--gold);color:var(--ink2);box-shadow:0 8px 22px rgba(120,89,33,.12)}.btn-gold:hover{background:#e2bc77}.text-link{font-weight:700;font-size:.9rem;border-bottom:1px solid;padding-bottom:4px}.text-link span{display:inline-block;margin-left:5px}.proof-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:70px;border-top:1px solid var(--line);padding-top:24px}.proof-row strong,.proof-row span{display:block}.proof-row strong{font:500 1.25rem var(--display)}.proof-row span{font-size:.75rem;color:var(--muted)}.hero-visual{position:relative;padding:20px 25px 35px 0}.hero-visual:before{content:"";position:absolute;right:-25px;top:-22px;width:82%;height:88%;border:1px solid var(--gold)}.hero-visual img{position:relative;z-index:1;width:100%;height:520px;object-fit:cover;filter:saturate(.82) contrast(1.04)}.visual-card{position:absolute;z-index:3;left:-48px;bottom:5px;width:350px;background:white;padding:20px;box-shadow:0 15px 45px rgba(13,35,31,.16);display:flex;align-items:center;gap:14px}.visual-card b,.visual-card small{display:block}.visual-card b{font-size:.88rem}.visual-card small{font-size:.72rem;color:var(--muted)}.pulse{width:12px;height:12px;flex:0 0 12px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 6px rgba(212,169,95,.18)}.vertical-note{position:absolute;right:-39px;bottom:112px;z-index:2;transform:rotate(90deg);font-size:.65rem;letter-spacing:.22em}.marquee{overflow:hidden;background:var(--gold);color:var(--ink);padding:14px 0;white-space:nowrap;font-size:.7rem;letter-spacing:.22em;font-weight:700}.marquee div{width:max-content;animation:marquee 24s linear infinite}.marquee i{margin:0 28px;font-style:normal}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding:120px 0}.split-heading{display:grid;grid-template-columns:.36fr 1fr;gap:40px;align-items:start}.split-heading h2,.offer-heading h2,.team h2,.impact-copy h2,.contact h2{font-size:clamp(2.5rem,4.4vw,4.3rem);letter-spacing:-.045em}.split-heading h2 em,.offer-heading h2 em,.team h2 em,.impact-copy h2 em,.contact h2 em{font-style:normal;color:var(--gold)}.split-heading>div>p{font-size:1.05rem;color:var(--muted);max-width:700px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:65px}.service-card{border:1px solid var(--line);padding:28px;min-height:400px;display:flex;flex-direction:column;transition:.25s}.service-card:hover{transform:translateY(-7px);box-shadow:0 18px 45px rgba(20,47,43,.09)}.service-card.featured{background:var(--ink);color:white;border-color:var(--ink);transform:translateY(-18px)}.service-card>span{font-size:.72rem;color:var(--gold);font-weight:700}.line-icon{font-size:2.6rem;color:var(--gold);margin:35px 0 25px}.service-card h3{font-size:1.6rem}.service-card p{color:var(--muted);font-size:.92rem}.featured p{color:#bdc9c5}.service-card ul{list-style:none;padding:0;margin:auto 0 0}.service-card li{border-top:1px solid var(--line);padding:9px 0;font-size:.84rem}.featured li{border-color:rgba(255,255,255,.16)}.dark-section{background:var(--ink);color:white;padding:120px 0}.impact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:110px}.section-index.light{color:#9db0aa}.impact-copy p:not(.section-index){color:#b5c2be;margin:28px 0}.text-link.light{color:white}.impact-steps{display:grid;grid-template-columns:1fr 1fr}.impact-steps>div{padding:30px;border-left:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}.impact-steps b{color:var(--gold);font-size:.75rem}.impact-steps h3{font-size:1.5rem;margin:38px 0 8px}.impact-steps p{color:#aebdb8;font-size:.88rem;margin:0}.offer-heading{display:grid;grid-template-columns:1fr .4fr;gap:65px;align-items:end}.offer-heading>p{color:var(--muted);margin:0}.tabs{margin-top:60px}.tab-list{display:flex;gap:8px;border-bottom:1px solid var(--line)}.tab{background:none;border:0;border-bottom:3px solid transparent;padding:14px 24px;font:700 .9rem var(--sans);color:var(--muted);cursor:pointer}.tab.active{color:var(--ink);border-color:var(--gold)}.tab-panel{display:none}.tab-panel.active{display:grid}.tab-panel#part{grid-template-columns:repeat(4,1fr);gap:12px;padding-top:24px}.price-card{position:relative;background:white;border:1px solid var(--line);padding:27px 22px;min-height:510px;display:flex;flex-direction:column}.price-card.popular{border-top:4px solid var(--gold);padding-top:24px}.tag{font-size:.68rem;letter-spacing:.15em;font-weight:700;color:#718079}.tag span{float:right;background:var(--gold);color:var(--ink);padding:3px 6px;letter-spacing:.05em}.price-card h3{font-size:1.65rem;margin-top:9px}.price{font:500 2rem var(--display);margin:18px 0}.price small{font:500 .7rem var(--sans);color:var(--muted)}.price-card>p:not(.tag){font-size:.84rem;color:var(--muted);min-height:70px}.price-card ul{list-style:none;padding:0;margin:10px 0 25px}.price-card li{font-size:.78rem;padding:9px 0;border-top:1px solid #eceae4}.price-card li:before{content:'✓';color:var(--gold);font-weight:700;margin-right:8px}.price-card>a{margin-top:auto;font-weight:700;font-size:.8rem;border-bottom:1px solid var(--ink);padding-bottom:4px;width:max-content}.business-card{margin-top:24px;background:var(--ink);color:white;padding:55px;display:grid;grid-template-columns:1fr .35fr;gap:80px;align-items:center}.business-card h3{font-size:2.4rem;max-width:700px}.business-card p:not(.tag):not(.business-price){color:#b9c7c2}.business-price{font:500 1.8rem var(--display);color:var(--gold)}.team{background:var(--cream)}.team-grid{display:grid;grid-template-columns:1.1fr .8fr .8fr;gap:22px;align-items:end}.team-copy{padding-right:45px}.team-copy>p:last-child{color:var(--muted);margin-top:30px}.portrait-card{position:relative;background:var(--ink);color:white;overflow:hidden}.portrait-card .portrait-bg{position:absolute;width:180px;height:180px;border-radius:50%;background:var(--gold);opacity:.8;top:45px;left:50%;transform:translateX(-50%)}.portrait-card img{height:390px;width:100%;object-fit:contain;object-position:bottom;position:relative;z-index:1}.portrait-card>div:last-child{padding:20px;position:relative;z-index:2;background:var(--ink)}.portrait-card h3{font-size:1.1rem}.portrait-card p{font-size:.75rem;color:#aab8b4;margin:4px 0}.contact{background:var(--ink2);color:white;padding:120px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-copy>p:not(.section-index){color:#adbbb6}.locations{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:60px}.locations div{border-top:1px solid rgba(255,255,255,.17);padding-top:18px}.locations b,.locations span,.locations a{display:block}.locations span{font-size:.76rem;color:#98aaa4}.locations a{font-size:.8rem;color:var(--gold);margin-top:10px}.contact-form{background:white;color:var(--ink);padding:40px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:block;font-size:.75rem;font-weight:700;margin-bottom:19px}.contact-form input,.contact-form textarea,.contact-form select{display:block;width:100%;margin-top:7px;border:0;border-bottom:1px solid #cfd4d1;background:#f7f6f2;padding:13px;font:400 .9rem var(--sans);color:var(--ink);border-radius:0}.contact-form textarea{resize:vertical}.contact-form .btn{width:100%}.form-note{font-size:.67rem;color:#75817d;text-align:center;margin:10px 0 0}footer{background:#071b18;color:white;padding:50px 0}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px}.footer-grid>p{font-size:.77rem;color:#819690}.footer-grid>div:last-child{text-align:right}.footer-grid>div:last-child a,.footer-grid>div:last-child small{display:block}.footer-grid>div:last-child a{color:var(--gold);font-size:.78rem}.footer-grid>div:last-child small{color:#607773;margin-top:10px}.floating{position:fixed;right:22px;bottom:22px;z-index:20;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--ink);font-weight:800;box-shadow:0 8px 28px rgba(0,0,0,.25)}.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.menu-btn{display:block}.menu{display:none;position:absolute;top:84px;left:0;right:0;background:var(--paper);padding:24px 20px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:18px}.menu.open{display:flex}.hero{padding-top:125px;background:var(--paper)}.hero-grid{grid-template-columns:1fr;gap:60px}.hero-visual{width:min(620px,100%);margin:auto}.hero-visual img{height:480px}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.service-card.featured{transform:none}.impact-grid,.contact-grid{grid-template-columns:1fr;gap:60px}.tab-panel#part{grid-template-columns:1fr 1fr}.team-grid{grid-template-columns:1fr 1fr}.team-copy{grid-column:1/-1}.offer-heading{grid-template-columns:1fr}.price-card>p:not(.tag){min-height:auto}}
@media(max-width:640px){.shell{width:min(100% - 28px,1180px)}.nav{height:72px}.menu{top:72px}.hero{padding:110px 0 60px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.proof-row{grid-template-columns:1fr 1fr;margin-top:50px}.proof-row>div:last-child{grid-column:1/-1}.hero-visual{padding:0}.hero-visual:before,.vertical-note{display:none}.hero-visual img{height:390px}.visual-card{position:relative;left:0;bottom:auto;width:calc(100% - 20px);margin:-35px auto 0}.section,.dark-section,.contact{padding:80px 0}.split-heading,.offer-heading{display:block}.split-heading h2{margin-top:18px}.impact-steps{grid-template-columns:1fr}.tab-panel#part,.team-grid{grid-template-columns:1fr}.business-card{grid-template-columns:1fr;padding:32px;gap:20px}.team-copy{padding:0}.portrait-card img{height:360px}.field-row,.locations{grid-template-columns:1fr}.contact-form{padding:26px 20px}.footer-grid{grid-template-columns:1fr;text-align:center}.footer-brand{justify-content:center}.footer-grid>div:last-child{text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* Free diagnostic */
.diagnostic-section{padding:120px 0;background:linear-gradient(135deg,#f7f5ef 0%,#fff 58%,#f3eee2 100%);scroll-margin-top:82px}
.diagnostic-heading{display:grid;grid-template-columns:1.15fr .65fr;gap:80px;align-items:end;margin-bottom:50px}.diagnostic-heading h2{font-size:clamp(2.6rem,4.4vw,4.45rem);letter-spacing:-.05em;max-width:820px}.diagnostic-heading h2 em{font-style:normal;color:var(--gold)}.diagnostic-heading>div:last-child>p{color:var(--muted);margin:0 0 20px}.diagnostic-trust{display:flex;flex-wrap:wrap;gap:9px 18px;color:#52635e;font-size:.75rem;font-weight:700}.diagnostic-trust span::first-letter{color:var(--gold)}
.diagnostic-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr);gap:28px;align-items:stretch}.diagnostic-card{background:#fff;border:1px solid var(--line);padding:clamp(24px,4vw,48px);box-shadow:0 24px 65px rgba(20,47,43,.11)}.diagnostic-progress{display:flex;align-items:center;gap:18px;margin-bottom:34px;color:var(--muted);font-size:.75rem;font-weight:700}.diagnostic-progress>div{height:5px;flex:1;background:#ece9df;overflow:hidden}.diagnostic-progress i{display:block;width:16.666%;height:100%;background:var(--gold);transition:width .3s ease}.diagnostic-step{display:none;border:0;padding:0;margin:0}.diagnostic-step.active{display:block}.diagnostic-step legend{font:500 clamp(1.55rem,2.4vw,2.25rem) var(--display);letter-spacing:-.025em;margin-bottom:24px}.diagnostic-step label{display:flex;align-items:center;gap:15px;border:1px solid #dedfd9;padding:15px 17px;margin:10px 0;cursor:pointer;transition:.2s;background:#fff}.diagnostic-step label:hover,.diagnostic-step label:has(input:checked){border-color:var(--gold);background:#fbf6ea;transform:translateX(4px)}.diagnostic-step input{width:19px;height:19px;flex:0 0 auto;accent-color:var(--gold)}.diagnostic-step span,.diagnostic-step b,.diagnostic-step small{display:block}.diagnostic-step b{font-size:.91rem}.diagnostic-step small{font-size:.75rem;color:var(--muted);margin-top:3px;line-height:1.35}.diagnostic-actions{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:28px}.diagnostic-back{border:0;background:none;color:var(--muted);font:700 .82rem var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:4px}.diagnostic-error{min-height:20px;margin:13px 0 -10px;color:#9c382e;font-size:.78rem;font-weight:700}.diagnostic-aside{background:var(--ink);color:#fff;padding:42px 34px;display:flex;flex-direction:column}.diagnostic-aside h3{font-size:2rem;margin:12px 0 18px}.diagnostic-aside>p:not(.tag){color:#b9c7c2}.diagnostic-aside ul{list-style:none;padding:0;margin:28px 0}.diagnostic-aside li{padding:13px 0;border-top:1px solid rgba(255,255,255,.14);font-size:.84rem}.diagnostic-aside li:before{content:'✓';color:var(--gold);margin-right:10px}.diagnostic-aside small{margin-top:auto;color:#8ea39d;line-height:1.55}.diagnostic-result{margin-top:28px;background:var(--ink);color:#fff;padding:clamp(28px,5vw,58px);border-left:6px solid var(--gold);box-shadow:0 25px 65px rgba(20,47,43,.18)}.diagnostic-result[hidden]{display:none}.result-grid{display:grid;grid-template-columns:1fr .62fr;gap:70px;align-items:center}.result-kicker{color:var(--gold);font-size:.7rem;letter-spacing:.15em;font-weight:800}.result-grid h3{font-size:clamp(2rem,3.3vw,3.35rem);margin:10px 0 18px}.result-grid p{color:#bdc9c5}.result-plan{border:1px solid rgba(212,169,95,.55);padding:28px}.result-plan small,.result-plan strong{display:block}.result-plan small{color:#9db0aa;font-size:.7rem;letter-spacing:.12em}.result-plan strong{font:500 2.15rem var(--display);color:var(--gold);margin:7px 0 20px}.result-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.result-actions .text-link{color:#fff}
.property-link-field{display:block;margin:-8px 0 34px;padding:18px 20px;background:#f7f6f2;border-left:3px solid var(--gold)}.property-link-field span,.property-link-field b,.property-link-field small{display:block}.property-link-field b{font-size:.9rem}.property-link-field small{margin-top:2px;color:var(--muted);font-size:.72rem;font-weight:500}.property-link-field input{display:block;width:100%;margin:12px 0 7px;border:1px solid #d5d7d1;background:#fff;padding:13px 14px;font:400 .9rem var(--sans);color:var(--ink)}.property-link-field input:focus{outline:2px solid var(--gold);outline-offset:1px}.property-link-field em{display:block;color:#77827e;font-size:.68rem;font-style:normal;line-height:1.4}
@media(max-width:980px){.diagnostic-heading,.diagnostic-layout{grid-template-columns:1fr;gap:35px}.diagnostic-aside{min-height:390px}.result-grid{grid-template-columns:1fr;gap:35px}}
@media(max-width:640px){.diagnostic-section{padding:80px 0}.diagnostic-card{padding:25px 18px}.diagnostic-progress{align-items:flex-start;flex-direction:column;gap:9px}.diagnostic-progress>div{width:100%;flex:none}.diagnostic-step label{padding:14px 12px}.diagnostic-actions{justify-content:space-between}.diagnostic-actions .btn{padding:0 17px}.diagnostic-aside{min-height:auto;padding:30px 23px}.result-actions{align-items:flex-start;flex-direction:column}}

/* Refined photography system */
.hero-visual picture{position:relative;z-index:1;display:block;overflow:hidden;box-shadow:0 28px 65px rgba(20,47,43,.18)}
.hero-visual picture img{width:100%;height:560px;object-fit:cover;object-position:58% center;filter:saturate(.94) contrast(1.02)}
.experience-feature{margin-top:95px;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:72px}
.experience-photo{position:relative}
.experience-photo:before{content:"";position:absolute;left:-18px;top:-18px;width:58%;height:62%;border:1px solid var(--gold);z-index:-1}
.experience-photo picture{display:block;overflow:hidden;box-shadow:0 24px 55px rgba(20,47,43,.14)}
.experience-photo img{width:100%;height:430px;object-fit:cover;object-position:center;transition:transform .7s ease}
.experience-photo:hover img{transform:scale(1.025)}
.experience-photo>span{position:absolute;right:-22px;bottom:-20px;background:var(--gold);color:var(--ink);padding:13px 18px;font-size:.72rem;letter-spacing:.06em;font-weight:700}
.experience-copy h3{font-size:clamp(2rem,3.3vw,3.25rem);letter-spacing:-.04em;margin:16px 0 24px}
.experience-copy>p:not(.section-index){color:var(--muted);margin-bottom:28px}
.portrait-card{border:1px solid rgba(212,169,95,.42);box-shadow:0 20px 45px rgba(20,47,43,.12)}
.portrait-card .portrait-bg{width:240px;height:240px;background:linear-gradient(135deg,#e6c98d,var(--gold));opacity:.92;top:32px}
.portrait-card img{height:430px;object-position:center bottom;filter:contrast(1.03)}
@media(max-width:980px){.hero-visual picture img{height:480px}.experience-feature{grid-template-columns:1fr;gap:55px}.experience-photo{max-width:760px}}
@media(max-width:640px){.hero-visual picture img{height:390px;object-position:62% center}.experience-feature{margin-top:70px}.experience-photo img{height:330px}.experience-photo>span{right:8px;bottom:-18px}.experience-copy{padding-top:8px}}

/* Team portrait */
.team-grid{grid-template-columns:.76fr 1.24fr;align-items:center;gap:62px}
.team-copy{padding-right:0}
.team-photo-card{position:relative;margin:0;background:var(--ink);box-shadow:0 28px 65px rgba(20,47,43,.2);border:1px solid rgba(212,169,95,.5)}
.team-photo-card:before{content:"";position:absolute;left:-18px;top:-18px;width:42%;height:48%;border:1px solid var(--gold);z-index:0}
.team-photo-card picture{position:relative;display:block;overflow:hidden;z-index:1}
.team-photo-card img{display:block;width:100%;height:auto;aspect-ratio:1409/1117;object-fit:cover;object-position:center}
.team-location{position:absolute;left:22px;bottom:20px;z-index:2;display:inline-flex;align-items:center;gap:9px;padding:9px 13px;background:rgba(12,37,33,.88);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(7px);box-shadow:0 8px 25px rgba(0,0,0,.2)}
.team-location:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(212,169,95,.18)}
.team-photo-card figcaption{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:22px 26px;color:white;background:var(--ink)}
.team-photo-card figcaption span{width:1px;height:42px;background:rgba(212,169,95,.45)}
.team-photo-card h3{font-size:1rem}.team-photo-card p{margin:3px 0 0;color:#aebdb8;font-size:.72rem}.team-photo-card figcaption div:last-child{text-align:right}
@media(max-width:980px){.team-grid{grid-template-columns:1fr;gap:45px}.team-photo-card{width:100%;max-width:820px;margin-inline:auto}}
@media(max-width:640px){.team-photo-card:before{left:-9px;top:-9px}.team-location{left:12px;bottom:12px;padding:7px 10px;font-size:.64rem}.team-photo-card figcaption{grid-template-columns:1fr;padding:18px;gap:14px}.team-photo-card figcaption span{width:100%;height:1px}.team-photo-card figcaption div:last-child{text-align:left}}

/* Matterport immersive tour */
.tour-section{padding:115px 0 125px;background:var(--ink2);color:white;overflow:hidden}
.tour-heading{display:grid;grid-template-columns:1.15fr .6fr;gap:80px;align-items:end;margin-bottom:46px}
.tour-heading h2{font-size:clamp(2.5rem,4.4vw,4.3rem);letter-spacing:-.045em}.tour-heading h2 em{font-style:normal;color:var(--gold)}
.tour-heading>div:last-child>p{color:#adbbb6;margin:0 0 24px}
.matterport-wrap{position:relative;padding:10px;background:rgba(255,255,255,.06);border:1px solid rgba(212,169,95,.5);box-shadow:0 28px 70px rgba(0,0,0,.3)}
.matterport-wrap:before{content:"360°";position:absolute;right:-1px;top:-40px;background:var(--gold);color:var(--ink);padding:9px 16px;font-size:.75rem;letter-spacing:.15em;font-weight:800}
.matterport-wrap iframe{display:block;width:100%;aspect-ratio:16/9;min-height:520px;border:0;background:#061613}
@media(max-width:980px){.tour-heading{grid-template-columns:1fr;gap:25px}.matterport-wrap iframe{min-height:420px}}
@media(max-width:640px){.tour-section{padding:80px 0 90px}.tour-heading{margin-bottom:35px}.matterport-wrap{padding:5px}.matterport-wrap iframe{min-height:240px;aspect-ratio:4/3}}

/* Language switcher */
.language-switcher{display:flex;align-items:center;border:1px solid rgba(20,47,43,.2);padding:3px;gap:2px}.language-switcher button{border:0;background:transparent;color:var(--muted);font:700 .68rem var(--sans);letter-spacing:.06em;padding:6px 7px;cursor:pointer}.language-switcher button.active{background:var(--ink);color:white}.language-switcher button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:980px){.language-switcher{width:max-content}.language-switcher button{padding:8px 11px}}
.hero-slogan{margin:18px 0 0;color:var(--gold);font:600 clamp(1rem,1.5vw,1.2rem) var(--display);letter-spacing:.01em}
body{--sans:'Segoe UI',Arial,sans-serif;--display:'Avenir Next','Segoe UI',Arial,sans-serif}
.matterport-consent{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px;background:#102c27}.matterport-consent p{max-width:680px;color:#bdc9c5}.matterport-consent a{margin-top:17px;color:var(--gold);font-size:.78rem;text-decoration:underline;text-underline-offset:3px}.matterport-wrap iframe[hidden]{display:none}.privacy-check{display:flex!important;align-items:flex-start;gap:10px;font-weight:500!important;line-height:1.5}.privacy-check input{width:18px;height:18px;margin-top:2px;flex:0 0 auto;accent-color:var(--gold)}.privacy-form-link{display:inline-block;margin:-10px 0 18px;color:#6e5323;font-size:.72rem;text-decoration:underline;text-underline-offset:3px}

/* Legal pages */
.legal-page{background:var(--paper)}.legal-header{min-height:88px;padding:18px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border-bottom:1px solid var(--line)}.legal-header-links{display:flex;align-items:center;gap:10px}.language-link{display:grid;place-items:center;min-width:38px;height:34px;border:1px solid var(--line);font-size:.75rem;font-weight:700}.language-link.active{background:var(--ink);border-color:var(--ink);color:#fff}.legal-back{margin-left:14px;font-size:.82rem;font-weight:700}.legal-main{width:min(1160px,calc(100% - 40px));margin:auto;padding:78px 0 110px}.legal-title{max-width:900px;margin-bottom:58px}.legal-title h1{font-size:clamp(2.7rem,5.5vw,5rem);letter-spacing:-.05em;margin:16px 0;color:var(--ink)}.legal-title>p{color:var(--muted)}.legal-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:70px;align-items:start}.legal-nav{position:sticky;top:24px;display:grid;gap:10px;padding:22px;background:#fff;border:1px solid var(--line)}.legal-nav strong{margin-bottom:8px}.legal-nav a{font-size:.78rem;color:var(--muted)}.legal-nav a:hover{color:var(--gold)}.legal-content{background:#fff;border:1px solid var(--line);padding:clamp(26px,5vw,58px)}.legal-intro{font-size:1.15rem!important;color:var(--ink)!important;border-left:3px solid var(--gold);padding-left:20px;margin-top:0!important}.legal-content section{scroll-margin-top:25px;padding-top:40px;margin-top:40px;border-top:1px solid var(--line)}.legal-content h2{font-size:1.55rem;margin-bottom:16px}.legal-content p,.legal-content li{color:#53615d;line-height:1.75}.legal-content a{color:#785a25;text-decoration:underline;text-underline-offset:3px}.legal-content ul{padding-left:21px}.legal-content li+li{margin-top:7px}.legal-table{overflow-x:auto}.legal-content table{width:100%;border-collapse:collapse;margin:18px 0;min-width:560px}.legal-content th,.legal-content td{text-align:left;vertical-align:top;padding:14px;border:1px solid var(--line);font-size:.85rem}.legal-content th{background:var(--ink);color:#fff}.legal-footer{background:#071b18;color:#fff;padding:30px 20px;display:flex;flex-wrap:wrap;justify-content:center;gap:22px;font-size:.78rem}.legal-footer a{color:var(--gold)}@media(max-width:820px){.legal-layout{grid-template-columns:1fr;gap:28px}.legal-nav{position:static;grid-template-columns:1fr 1fr}.legal-nav strong{grid-column:1/-1}}@media(max-width:640px){.matterport-consent{min-height:240px;padding:28px 18px}.legal-header{align-items:flex-start}.legal-header .brand span:last-child{display:none}.legal-header-links{flex-wrap:wrap;justify-content:flex-end}.legal-back{width:100%;text-align:right;margin:0}.legal-main{width:min(100% - 28px,1160px);padding:58px 0 80px}.legal-nav{grid-template-columns:1fr}.legal-content{padding:24px 19px}}

/* VGE logo adapted to the original green-and-gold palette */
.brand-logo{width:68px;height:68px;object-fit:contain;border-radius:50%;background:#fff;padding:2px}
.footer-brand .brand-logo{width:96px;height:96px}.legal-header .brand-logo{width:68px;height:68px}
@media(max-width:980px){.brand-logo{width:62px;height:62px}}
@media(max-width:640px){.brand-logo{width:56px;height:56px}.footer-brand .brand-logo{width:88px;height:88px}.legal-header .brand-logo{width:56px;height:56px}}

/* Mobile pricing carousel: keep the offers compact and easy to compare by touch. */
.mobile-plan-nav{display:none}
@media(max-width:640px){
  .mobile-plan-nav:not([hidden]){
    display:grid;
    grid-template-columns:auto minmax(90px,1fr);
    align-items:center;
    gap:14px;
    margin:18px 0 -6px;
  }
  .mobile-plan-nav>span{
    color:var(--muted);
    font-size:.72rem;
    font-weight:700;
    white-space:nowrap;
  }
  .mobile-plan-nav>span b{color:var(--gold);font-size:1rem;margin-left:4px}
  .mobile-plan-track{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
  .mobile-plan-track button{
    min-width:0;
    height:4px;
    padding:0;
    border:0;
    border-radius:2px;
    background:var(--line);
    cursor:pointer;
    transition:background-color .2s ease,transform .2s ease;
  }
  .mobile-plan-track button.active{background:var(--gold);transform:scaleY(1.5)}
  .mobile-plan-track button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
  .tab-panel#part.active{
    display:flex;
    gap:14px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0;
    padding:24px 14px 12px 0;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .tab-panel#part::-webkit-scrollbar{display:none}
  .tab-panel#part .price-card{
    flex:0 0 min(86vw,340px);
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}

/* Mobile impact carousel: show the four steps without lengthening the page. */
.impact-cards{min-width:0}.mobile-impact-nav{display:none}
@media(max-width:640px){
  .mobile-impact-nav{
    display:grid;
    grid-template-columns:auto minmax(90px,1fr);
    align-items:center;
    gap:14px;
    margin:0 0 16px;
  }
  .mobile-impact-nav>span{
    color:#b5c2be;
    font-size:.72rem;
    font-weight:700;
    white-space:nowrap;
  }
  .mobile-impact-nav>span b{color:var(--gold);font-size:1rem;margin-left:4px}
  .mobile-impact-track{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
  .mobile-impact-track button{
    min-width:0;
    height:4px;
    padding:0;
    border:0;
    border-radius:2px;
    background:rgba(255,255,255,.2);
    cursor:pointer;
    transition:background-color .2s ease,transform .2s ease;
  }
  .mobile-impact-track button.active{background:var(--gold);transform:scaleY(1.5)}
  .mobile-impact-track button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
  .impact-steps{
    display:flex;
    gap:14px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    padding:0 14px 12px 0;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .impact-steps::-webkit-scrollbar{display:none}
  .impact-steps>div{
    flex:0 0 min(86vw,340px);
    min-height:220px;
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.025);
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}

/* Social links */
.social-links{display:flex!important;justify-content:flex-end;gap:10px;margin:14px 0}
.footer-grid>div:last-child .social-links a{display:grid!important;place-items:center;width:38px;height:38px;border:1px solid rgba(212,169,95,.55);border-radius:50%;color:var(--gold);transition:background-color .2s ease,color .2s ease,transform .2s ease}
.social-links a:hover{background:var(--gold);color:var(--ink);transform:translateY(-2px)}
.social-links svg{width:18px;height:18px;fill:currentColor}
.floating svg{width:25px;height:25px;fill:currentColor}
@media(max-width:640px){.social-links{justify-content:center}}

/* Discreet Matterport privacy information */
.matterport-privacy-note{margin:8px 4px 1px;color:#93a7a0;font-size:.69rem;line-height:1.45;text-align:right}.matterport-privacy-note a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}@media(max-width:640px){.matterport-privacy-note{text-align:left;margin:8px 5px 3px}}
.client-login{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:1px solid #d4a95f;border-radius:999px;color:#142f2b!important;font-weight:700;text-decoration:none;white-space:nowrap}.client-login:hover{background:#f7f1e4}

/* Information meeting next to email and in diagnostic results */
.social-links{flex-wrap:wrap}.social-links a.booking-link{width:auto;height:auto;max-width:100%;padding:12px 16px;border:1px solid var(--gold);border-radius:6px;color:var(--gold);font-size:14px;line-height:1.5;text-align:center;white-space:normal}.social-links a.booking-link:hover{background:var(--gold);color:var(--ink)}.booking-link:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.result-actions .booking-link{white-space:normal;text-align:center;max-width:100%}
.footer-booking .calendar-icon{width:18px;height:18px;fill:currentColor}
.contact-booking{margin:26px 0}.contact-booking .btn{white-space:normal;text-align:center}.contact-map{margin:32px 0 0;background:var(--paper);border-radius:12px;overflow:hidden;color:var(--ink)}.contact-map img{width:100%;height:auto;display:block}.contact-map figcaption{padding:14px 20px;font-size:14px;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.contact-map small{font-size:12px;color:var(--muted)}.cookie-banner{position:fixed;z-index:1000;bottom:18px;left:18px;width:min(620px,calc(100% - 36px));max-height:80vh;overflow:auto;background:white;color:var(--ink);padding:24px;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 50px #0003}.cookie-banner[hidden],.tour-consent[hidden],.matterport-wrap iframe[hidden]{display:none!important}.cookie-banner h2{font-size:22px;margin:0 0 12px}.cookie-banner p{font-size:16px;line-height:1.6;margin:0 0 18px}.cookie-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.cookie-actions button,.tour-consent button{font:inherit;padding:10px 18px;border:1px solid var(--ink);border-radius:6px;background:white;color:var(--ink);cursor:pointer}.cookie-actions a{font-size:14px;text-decoration:underline}.cookie-actions button:hover{background:var(--ink);color:white}.cookie-settings{position:fixed;bottom:12px;left:12px;z-index:990;background:var(--ink);color:white;border:1px solid #fff6;border-radius:6px;padding:8px 12px;font:inherit;font-size:14px;cursor:pointer}.tour-consent{padding:60px 24px;text-align:center;background:#17342e;color:white;min-height:260px;display:grid;place-content:center;gap:18px}.tour-consent p{font-size:16px}.contact-grid>*{min-width:0}

.contact-map{background:var(--ink);border:1px solid rgba(212,169,95,.35)}.contact-map figcaption{background:var(--ink);color:var(--cream)}.tour-revoke{position:absolute;bottom:12px;left:12px;z-index:2;padding:12px 18px;background:#142f2b;color:#fff;border:1px solid #d4a95f;border-radius:8px;cursor:pointer}.tour-revoke[hidden]{display:none}.legal-content table{width:100%;border-collapse:collapse}.legal-content td,.legal-content th{padding:12px;border-bottom:1px solid #ddd;text-align:left;vertical-align:top}.legal-content a{overflow-wrap:anywhere}
*[hidden]{display:none!important}

/* Immersive journey in the contact section. */
.contact-film video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:var(--ink2);border-radius:11px}
