:root{--ink:27.7 18.3% 13.9%;--limestone:39.1 41.8% 89.2%;--limestone-2:40.5 40.7% 82.2%;--bark:23.7 34.5% 21.6%;--bark-dark:27.9 42.4% 12.9%;--bark-light:25.3 36.3% 30.8%;--moss:83.7 26.7% 31.6%;--moss-dark:88.2 29.8% 22.4%;--moss-light:80.8 22.8% 44.7%;--sage:78.0 25.0% 68.6%;--gold:32.8 56.3% 51.6%;--clay:16.7 57.0% 42.0%;--sky:74.1 29.8% 88.8%;--soil:27.7 39.4% 12.9%;--brand-muted:35.5 13.6% 31.8%;--gold-deep:30.0 64.2% 37.3%;--max-w:640px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:hsl(var(--limestone));color:hsl(var(--ink));font-family:'Work Sans',sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:500;line-height:1.08;margin:0 0 .5em 0;letter-spacing:-.01em}
a{color:inherit}
img{max-width:100%}
:focus-visible{outline:3px solid hsl(var(--gold));outline-offset:3px}
.tree-stage{position:fixed;inset:0;overflow:hidden;z-index:0;background:hsl(var(--soil))}
.tree-photo{position:absolute;top:-6%;left:-6%;width:112%;height:112%;max-width:none;object-fit:cover;object-position:center 30%;display:block;will-change:transform}
.tree-fade{position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,rgba(239,231,216,.4) 0%,rgba(239,231,216,.05) 14%,rgba(46,32,20,.08) 60%,rgba(46,32,20,.55) 100%)}
.tree-grade{position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(160deg,rgba(90,74,40,.28),rgba(58,74,40,.22) 55%,rgba(47,32,19,.3));mix-blend-mode:multiply}
.site-nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:1.2rem clamp(1.2rem,4vw,2.6rem);transition:background .25s ease,box-shadow .25s ease,padding .25s ease}
.site-nav.scrolled{background:rgba(42,30,20,.92);backdrop-filter:blur(8px);box-shadow:0 6px 24px -12px rgba(0,0,0,.5);padding-top:.85rem;padding-bottom:.85rem}
.site-nav .mark,.mobile-menu .mark{font-family:'Fraunces',serif;font-weight:500;font-size:1.15rem;color:hsl(var(--limestone));text-shadow:0 1px 6px rgba(0,0,0,.35);text-decoration:none;display:flex;align-items:baseline;gap:.35rem;flex-shrink:0}
.site-nav .mark small{font-family:'Work Sans',sans-serif;font-size:.62rem;font-weight:500;letter-spacing:.06em;color:hsl(var(--sage));text-transform:uppercase}
.site-nav .mark span,.mobile-menu .mark span{color:hsl(var(--gold))}
.nav-right{display:flex;align-items:center;gap:1.2rem}
.nav-links{display:flex;gap:1.15rem;list-style:none;margin:0;padding:0}
.nav-links a{white-space:nowrap;text-decoration:none;color:hsl(var(--limestone));font-size:.92rem;opacity:.92;padding:.2rem 0;border-bottom:1px solid transparent;text-shadow:0 1px 4px rgba(0,0,0,.45);transition:border-color .15s ease,opacity .15s ease}
.nav-links a:hover{opacity:1;border-color:hsl(var(--gold))}
.cta-link{font-size:.9rem;text-decoration:none;color:hsl(var(--limestone));background:rgba(239,231,216,.14);border:1px solid rgba(239,231,216,.55);padding:.55rem 1.1rem;border-radius:2px;white-space:nowrap;transition:background .2s ease}
.cta-link:hover{background:rgba(239,231,216,.28)}
.nav-toggle{display:none;background:none;border:1px solid rgba(239,231,216,.5);width:42px;height:38px;align-items:center;justify-content:center;cursor:pointer}
.nav-toggle svg{width:20px;height:20px;stroke:hsl(var(--limestone))}
.mobile-menu{position:fixed;inset:0;z-index:60;background:rgba(42,30,20,.98);display:flex;flex-direction:column;padding:1.6rem;transform:translateX(100%);transition:transform .3s ease;overflow-y:auto;visibility:hidden}
.mobile-menu.open{transform:translateX(0);visibility:visible}
.mobile-menu-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem}
.mobile-menu-close{background:none;border:none;cursor:pointer}
.mobile-menu-close svg{width:24px;height:24px;stroke:hsl(var(--limestone))}
.mobile-menu ul{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem}
.mobile-menu a{color:hsl(var(--limestone));text-decoration:none;font-family:'Fraunces',serif;font-size:1.5rem}
.mobile-menu .cta-link{margin-top:1rem;text-align:center;font-family:'Work Sans',sans-serif;font-size:1rem}
.mobile-menu .mobile-sub{margin:.6rem 0 0 1rem;gap:.5rem}
.mobile-menu .mobile-sub a{font-family:'Work Sans',sans-serif;font-size:1rem;opacity:.85}
.nav-links>li{position:relative}
.nav-links .caret{font-size:.7em;margin-left:.25rem;opacity:.8}
.nav-links .sub{display:none;position:absolute;top:100%;left:-1rem;min-width:240px;list-style:none;margin:0;padding:.6rem 0;background:hsl(var(--bark-dark)/.97);box-shadow:0 14px 34px -14px rgba(0,0,0,.6);border-top:2px solid hsl(var(--gold))}
.nav-links .has-sub:hover .sub,.nav-links .has-sub:focus-within .sub{display:block}
.nav-links .has-sub>a{padding-bottom:.9rem}
.nav-links .sub a{display:block;padding:.45rem 1.1rem;border:0;text-shadow:none;font-size:.88rem}
.nav-links .sub a:hover{background:hsl(var(--limestone)/.08)}
.nav-phone{display:inline-flex;align-items:center;gap:.4rem;color:hsl(var(--limestone));text-decoration:none;font-weight:600;font-size:.92rem;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.45)}
.nav-phone svg{width:16px;height:16px}
.site-nav .cta-link{background:hsl(var(--clay));border-color:hsl(var(--clay))}
.site-nav .cta-link:hover{background:hsl(var(--gold-deep))}
@media (max-width:1240px){.nav-links{gap:.85rem}.nav-links a{font-size:.85rem}.site-nav .mark small{display:none}}
@media (max-width:1320px){.nav-links{display:none}.nav-toggle{display:flex}}
@media (max-width:640px){.nav-phone{display:none}.site-nav .cta-link{display:none}}
main{position:relative;z-index:2}
.panel{min-height:100vh;display:flex;align-items:center;padding:6rem clamp(1.2rem,6vw,4rem)}
.panel--hero{justify-content:center;text-align:center}
.panel--right{justify-content:flex-end}
.panel__inner{max-width:var(--max-w);background:hsl(var(--limestone)/.9);border:1px solid rgba(74,51,36,.12);padding:2.4rem clamp(1.6rem,4vw,2.8rem);backdrop-filter:blur(6px);box-shadow:0 18px 50px -25px rgba(42,35,29,.5)}
.panel--hero .panel__inner{max-width:580px;background:rgba(239,231,216,.82)}
h1{font-size:clamp(2.6rem,7vw,4.2rem);color:hsl(var(--bark-dark))}
.lede{font-size:1.15rem;max-width:40ch;margin:0 auto 1.8rem auto;color:hsl(var(--ink))}
.hero-actions{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;margin-top:.4rem}
.badge{display:inline-block;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:hsl(var(--moss-dark));border:1px solid hsl(var(--moss-dark));padding:.3rem .7rem;margin-bottom:1rem}
h2{font-size:clamp(1.7rem,3.6vw,2.3rem);color:hsl(var(--bark-dark))}
.panel p{margin:0 0 1rem 0}
.panel p:last-child{margin-bottom:0}
.home-h1{font-size:clamp(2.3rem,6vw,3.6rem)}
.home-h1 span{display:block;font-size:clamp(1.05rem,2.2vw,1.3rem);font-family:'Work Sans',sans-serif;font-weight:500;color:hsl(var(--moss-dark));margin-top:.6rem;line-height:1.35;letter-spacing:0}
.hero-actions .btn-ghost{background:hsl(var(--limestone)/.6)}
.hero-proof{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.2rem;margin:1.4rem 0 0;padding:0;font-size:.88rem;color:hsl(var(--brand-muted))}
.hero-proof li::before{content:'✓ ';color:hsl(var(--moss))}
.text-link{color:hsl(var(--clay));font-weight:600;text-decoration:none;border-bottom:1px solid currentColor}
.center{text-align:center}
.ground{position:relative;z-index:5;background:hsl(var(--limestone))}
.section-wide{padding:5.5rem clamp(1.2rem,6vw,4rem);border-top:1px solid rgba(74,51,36,.1)}
.section-wide.alt{background:hsl(var(--limestone-2))}
.section-head{max-width:680px;margin:0 auto 3rem auto;text-align:center}
.section-head h2{margin-bottom:.6rem}
.section-head p{max-width:56ch;margin:0 auto}
.wrap{max-width:1080px;margin:0 auto}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem}
@media (max-width:820px){.process-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.process-grid{grid-template-columns:1fr}}
.process-step{background:#fff;border:1px solid rgba(74,51,36,.12);padding:1.8rem 1.4rem}
.process-step .num{font-family:'Fraunces',serif;font-size:2.2rem;color:hsl(var(--gold-deep));line-height:1;margin-bottom:.6rem}
.process-step h3{font-size:1.05rem;margin-bottom:.4rem;color:hsl(var(--bark-dark))}
.process-step p{font-size:.92rem;margin:0}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media (max-width:760px){.gallery-grid{grid-template-columns:1fr}}
.gallery-item{background:#fff;border:1px solid rgba(74,51,36,.12);margin:0}
.gallery-item .thumb{aspect-ratio:4/3;overflow:hidden}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
@media (max-width:820px){.why-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.why-grid{grid-template-columns:1fr}}
.why-card{padding-left:1.1rem;border-left:2px solid hsl(var(--moss))}
.why-card h3{font-size:1.05rem;margin-bottom:.3rem;color:hsl(var(--bark-dark))}
.why-card p{font-size:.92rem;margin:0}
.faq-list{max-width:760px;margin:0 auto;display:grid;gap:.8rem}
.faq-item{background:#fff;border:1px solid rgba(74,51,36,.12);padding:.2rem 1.3rem}
.faq-item summary{cursor:pointer;padding:1.1rem 0;font-family:'Fraunces',serif;font-size:1.05rem;color:hsl(var(--bark-dark));list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-family:'Work Sans',sans-serif;font-size:1.4rem;color:hsl(var(--gold-deep));flex:none}
.faq-item[open] summary::after{content:'–'}
.faq-item p{margin:0 0 1.2rem 0;font-size:.95rem}
.panel--wizard{min-height:100vh;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:5.5rem clamp(1.2rem,6vw,4rem)}
.wizard-intro{max-width:520px;margin-bottom:2.2rem;text-align:center}
.wizard-card{width:100%;max-width:640px;background:#fff;border:1px solid rgba(74,51,36,.14);box-shadow:0 24px 60px -34px rgba(42,35,29,.35);padding:clamp(1.6rem,4vw,2.6rem);text-align:left;margin:0 auto}
.wizard-progress{display:flex;gap:.4rem;margin-bottom:1.6rem}
.wizard-progress span{flex:1;height:4px;background:rgba(74,51,36,.18);border-radius:2px;overflow:hidden}
.wizard-progress span i{display:block;height:100%;width:0;background:hsl(var(--moss))}
.wizard-progress span.done i{width:100%}
.wizard-progress span.current i{width:100%;background:hsl(var(--gold))}
.wizard-step{animation:step-in .25s ease}
@keyframes step-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.wizard-step{animation:none}}
.step-label{font-size:.85rem;color:hsl(var(--moss-dark));margin:0 0 .3rem 0}
.wizard-step h3{font-size:1.5rem;margin:0 0 1.3rem 0;color:hsl(var(--bark-dark))}
.option-grid{display:grid;gap:.7rem;grid-template-columns:1fr 1fr}
.option-grid.single-col{grid-template-columns:1fr}
@media (max-width:520px){.option-grid{grid-template-columns:1fr}}
.option-btn{text-align:left;background:#fff;border:1.5px solid rgba(74,51,36,.2);padding:.85rem 1rem;cursor:pointer;font-family:'Work Sans',sans-serif;font-size:.97rem;color:hsl(var(--ink));transition:border-color .15s ease,background .15s ease}
.option-btn strong{display:block;font-size:.98rem;margin-bottom:.15rem}
.option-btn small{display:block;color:hsl(var(--brand-muted));font-size:.85rem}
.option-btn:hover{border-color:hsl(var(--moss))}
.option-btn.selected{border-color:hsl(var(--gold));background:#FBF2E2}
.option-btn .ico{display:block;width:100%;margin-bottom:6px}
.wizard-nav{display:flex;justify-content:space-between;align-items:center;margin-top:1.8rem}
.wizard-btn{font-family:'Work Sans',sans-serif;font-size:.95rem;padding:.65rem 1.2rem;border:1px solid hsl(var(--bark-dark));background:none;color:hsl(var(--bark-dark));cursor:pointer}
.wizard-btn:disabled{opacity:.35;cursor:default}
.wizard-btn.primary{background:hsl(var(--moss-dark));color:hsl(var(--limestone));border-color:hsl(var(--moss-dark))}
.wizard-result{animation:step-in .3s ease}
.result-figure{text-align:center;padding:1.6rem 0 1.2rem 0;border-bottom:1px solid rgba(74,51,36,.15);margin-bottom:1.2rem}
.result-figure .amount{font-family:'Fraunces',serif;font-size:clamp(2.1rem,6vw,2.8rem);color:hsl(var(--bark-dark))}
.result-figure .amount small{font-size:1rem;color:hsl(var(--brand-muted));font-family:'Work Sans',sans-serif}
.result-recap{list-style:none;padding:0;margin:0 0 1.4rem 0;display:grid;gap:.5rem;font-size:.93rem}
.result-recap li{display:flex;justify-content:space-between;gap:1rem}
.result-recap li span:first-child{color:hsl(var(--brand-muted))}
.result-note{font-size:.85rem;color:hsl(var(--brand-muted));margin:0 0 1.4rem 0}
.result-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.btn-solid{display:inline-block;background:hsl(var(--clay));color:hsl(var(--limestone));text-decoration:none;padding:.75rem 1.3rem;font-size:.95rem;border:none;cursor:pointer;font-family:'Work Sans',sans-serif}
.btn-ghost{display:inline-block;background:none;border:1px solid hsl(var(--bark-dark));color:hsl(var(--bark-dark));text-decoration:none;padding:.75rem 1.3rem;font-size:.95rem;cursor:pointer;font-family:'Work Sans',sans-serif}
.btn-light{display:inline-block;background:hsl(var(--limestone)/.14);border:1px solid hsl(var(--limestone)/.7);color:hsl(var(--limestone));text-decoration:none;padding:.75rem 1.3rem;font-size:.95rem}
footer{position:relative;z-index:5;background:hsl(var(--bark-dark));color:hsl(var(--limestone));padding:4.5rem clamp(1.2rem,6vw,4rem) 3rem;text-align:left}
footer h2{color:hsl(var(--limestone));font-size:clamp(1.6rem,3.6vw,2.1rem)}
footer p{max-width:42ch;margin:0 auto 1.6rem auto;color:#E7E0CF}
footer .contact-line{font-size:1.05rem;margin-bottom:.4rem}
footer .contact-line a{color:inherit}
.whatsapp-link{color:#6BCB77!important;text-decoration:none;font-weight:600}
.whatsapp-link:hover{text-decoration:underline}
.whatsapp-float{position:fixed;right:1.2rem;bottom:1.2rem;z-index:70;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px -8px rgba(0,0,0,.5);text-decoration:none}
.whatsapp-float svg{width:28px;height:28px;fill:#fff}
footer .fine{font-size:.8rem;color:#B7AD97;margin-top:1.4rem;text-align:center;max-width:none}
.footer-legal-links{font-size:.85rem;margin-top:1.6rem!important;text-align:center;max-width:none!important}
.footer-legal-links a{color:#D9CFB8;text-decoration:underline}
.footer-legal-links span{margin:0 .5rem;color:#6b6155}
.footer-cta{max-width:720px;margin:0 auto 3.5rem;text-align:center}
.contact-form{max-width:560px;margin:2rem auto 0 auto;text-align:left;background:rgba(239,231,216,.06);border:1px solid rgba(239,231,216,.18);padding:clamp(1.4rem,4vw,2.2rem)}
.hp-field{position:absolute;left:-9999px;top:-9999px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:520px){.form-row{grid-template-columns:1fr}}
.form-field{margin-bottom:1.1rem;display:flex;flex-direction:column;gap:.35rem}
.contact-form label{font-size:.88rem;color:hsl(var(--limestone));text-align:left}
.contact-form label span{color:hsl(var(--gold));margin-left:.15rem}
.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form select,.contact-form textarea{font-family:'Work Sans',sans-serif;font-size:.97rem;padding:.65rem .8rem;border:1px solid rgba(239,231,216,.35);background:rgba(255,255,255,.95);color:hsl(var(--ink))}
.contact-form input[aria-invalid=true],.contact-form textarea[aria-invalid=true]{border-color:#C6553C}
.field-error{font-size:.8rem;color:#F0A98A;margin:0!important;min-height:1em;text-align:left;max-width:none!important}
.form-consent{display:block;font-size:.85rem;color:hsl(var(--limestone));text-align:left;margin-bottom:1.2rem;line-height:1.5}
.form-consent input{margin-right:.5rem;vertical-align:middle}
.form-consent a{color:hsl(var(--gold));text-decoration:underline}
.contact-form .btn-solid{width:100%;text-align:center;font-size:1rem;padding:.9rem}
.contact-form .btn-solid:disabled{opacity:.6;cursor:default}
.form-status{margin:.9rem auto 0!important;font-size:.9rem;text-align:center;min-height:1.2em}
.form-status.success{color:#9DBE7E}
.form-status.error{color:#F0A98A}
.footer-cols{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1fr;gap:2rem;padding-top:2.5rem;border-top:1px solid hsl(var(--limestone)/.15)}
@media (max-width:860px){.footer-cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer-cols{grid-template-columns:1fr}}
.footer-cols h3{font-size:1.05rem;color:hsl(var(--gold));margin-bottom:.8rem}
.footer-cols p{font-size:.9rem;line-height:1.6;margin:0;max-width:none;color:#E7E0CF}
.footer-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem;font-size:.9rem}
.footer-cols ul.cols-2{grid-template-columns:1fr 1fr;column-gap:1rem}
.footer-cols a{color:hsl(var(--limestone));text-decoration:none;opacity:.85}
.footer-cols a:hover{opacity:1;text-decoration:underline}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:hsl(var(--bark-dark));color:hsl(var(--limestone));padding:.6rem 1rem}
.skip-link:focus{left:1rem;top:1rem}
.mobile-bar{display:none}
@media (max-width:760px){
.mobile-bar{display:grid;grid-template-columns:1fr 1fr 1.3fr;position:fixed;left:0;right:0;bottom:0;z-index:55;background:hsl(var(--bark-dark));box-shadow:0 -6px 20px -10px rgba(0,0,0,.5);padding-bottom:env(safe-area-inset-bottom)}
.mobile-bar a{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.85rem .4rem;color:hsl(var(--limestone));text-decoration:none;font-weight:600;font-size:.92rem}
.mobile-bar a svg{width:18px;height:18px}
.mobile-bar .mb-main{background:hsl(var(--clay))}
.whatsapp-float{display:none!important}
body{padding-bottom:56px}}
.page-hero{position:relative;z-index:2;min-height:420px;display:flex;align-items:flex-end;padding:8rem clamp(1.2rem,6vw,4rem) 3.2rem;overflow:hidden;background:hsl(var(--soil))}
.page-hero-img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 30%}
.page-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,hsl(var(--soil)/.55) 0%,hsl(var(--soil)/.35) 40%,hsl(var(--soil)/.85) 100%)}
.page-hero-inner{position:relative;max-width:1080px;margin:0 auto;width:100%;color:hsl(var(--limestone))}
.page-hero h1{color:hsl(var(--limestone));font-size:clamp(2rem,5vw,3.2rem);max-width:22ch;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.page-hero-lede{font-size:1.1rem;max-width:60ch;margin:0 0 1.4rem}
.page-hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}
.crumbs{font-size:.85rem;margin-bottom:1rem;opacity:.9}
.crumbs a{color:inherit}
.crumbs.dark{color:hsl(var(--brand-muted))}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.4rem}
.card-grid.three{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.service-card{display:flex;flex-direction:column;background:hsl(var(--limestone));border:1px solid rgba(74,51,36,.14);text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease}
.service-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(42,35,29,.55)}
.service-card img{width:100%;height:190px;object-fit:cover;display:block}
.service-card>div{padding:1.1rem 1.2rem 1.3rem}
.service-card h3,.service-card .h3{font-size:1.25rem;margin-bottom:.4rem}
.service-card p{margin:0 0 .7rem;font-size:.95rem}
.more{color:hsl(var(--clay));font-weight:600;font-size:.9rem}
.h3{font-size:1.25rem}
.town-chips{list-style:none;margin:0 0 1.6rem;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}
.town-chips a{display:inline-block;padding:.55rem 1rem;border:1px solid hsl(var(--moss)/.5);background:hsl(var(--limestone));text-decoration:none;color:hsl(var(--moss-dark));font-size:.93rem}
.town-chips a:hover{background:hsl(var(--moss));color:hsl(var(--limestone))}
.town-chips small{opacity:.65;margin-left:.25rem}
.town-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem}
.town-card{display:block;padding:1.3rem 1.4rem;background:hsl(var(--limestone));border:1px solid rgba(74,51,36,.14);border-left:3px solid hsl(var(--gold));text-decoration:none;color:inherit}
.town-card:hover{box-shadow:0 14px 28px -18px rgba(42,35,29,.5)}
.town-card p{margin:0 0 .6rem;font-size:.95rem}
.town-meta{color:hsl(var(--brand-muted));font-size:.85rem!important}
.prose-block{max-width:760px}
.prose-block h2{margin-top:2.4rem;font-size:clamp(1.45rem,3vw,1.9rem)}
.prose-block h2:first-child{margin-top:0}
.prose-block p,.prose-block li{line-height:1.7}
.prose-block ul{padding-left:1.2rem}
.prose-block li{margin-bottom:.45rem}
.prose-block a{color:hsl(var(--clay))}
.prose-block .intro{font-size:1.15rem}
.tip-box,.urgent-box{background:hsl(var(--limestone-2));border-left:3px solid hsl(var(--moss));padding:1rem 1.2rem;margin:1.6rem 0}
.tip-box p{margin:.3rem 0 0}
.urgent-box{border-color:hsl(var(--clay));font-weight:600}
.service-list li{margin-bottom:.6rem}
.toc{background:hsl(var(--limestone-2));padding:1rem 1.3rem;margin-bottom:2rem}
.toc ul{margin:.5rem 0 0}
.fine-note{font-size:.88rem;color:hsl(var(--brand-muted));margin-top:2rem}
.inline-photo{margin:2rem 0 0;max-width:420px}
.inline-photo img{width:100%;height:auto;display:block}
.cta-band{background:hsl(var(--moss-dark));color:hsl(var(--limestone));padding:3.5rem clamp(1.2rem,6vw,4rem);text-align:center}
.cta-band h2{color:hsl(var(--limestone))}
.cta-band p{max-width:58ch;margin:0 auto 1.4rem}
.cta-band .page-hero-actions{justify-content:center}
.cta-band .btn-ghost{border-color:hsl(var(--limestone));color:hsl(var(--limestone))}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
@media (max-width:860px){.contact-cards{grid-template-columns:1fr}}
.contact-card{display:block;padding:1.5rem;background:hsl(var(--limestone));border:1px solid rgba(74,51,36,.14);text-decoration:none;color:inherit}
.contact-card .big{font-family:'Fraunces',serif;font-size:1.5rem;color:hsl(var(--clay));margin:.2rem 0 .6rem}
.contact-card .big.small{font-size:1.05rem;word-break:break-all}
.contact-card p{margin:0}
.legal-wrap{padding-top:5.5rem;min-height:70vh}
.legal-page{max-width:760px;margin:0 auto;padding:3rem clamp(1.2rem,6vw,3rem) 5rem;line-height:1.7}
.legal-page h1{font-size:2rem}
.legal-page h2{font-size:1.3rem;margin-top:2.2rem}
.legal-page a{color:hsl(var(--clay))}
.legal-page .updated{color:hsl(var(--brand-muted));font-size:.9rem}
.legal-page ul{padding-left:1.2rem}
.devis-v2{padding-top:4.5rem;background:hsl(var(--limestone));display:block;text-align:left}
.devis-v2 .panel--wizard{min-height:0;padding:3rem clamp(1.2rem,6vw,4rem) 2rem;display:flex}
.devis-v2 .section-wide{display:flex;justify-content:center}
.devis-h1{text-align:center;font-size:clamp(2rem,5vw,3rem);margin:0 0 .6rem}

.gallery-grid.portrait .thumb{aspect-ratio:3/4}


/* Chêne continu en fond de toute la page d'accueil */
.tree-stage .world-strip{position:absolute;top:0;left:0;width:100%;will-change:transform}
.world-hero{position:relative;height:100vh;height:100svh;overflow:hidden;-webkit-mask-image:linear-gradient(#000 78%,transparent);mask-image:linear-gradient(#000 78%,transparent)}
.world-hero .tree-photo{top:0;left:0;width:100%;height:100%;object-position:center 30%}
.world-img{display:block;width:100%;height:auto;max-width:none}
.world-img--first{margin-top:-20vh;-webkit-mask-image:linear-gradient(transparent,#000 20vh);mask-image:linear-gradient(transparent,#000 20vh)}
body.has-world .ground{background:transparent}
body.has-world .ground .section-wide{border-top:none;background:transparent;padding:0 clamp(.8rem,4vw,3rem);margin:0 0 7rem}
body.has-world .ground .section-wide>.wrap{background:rgba(239,231,216,.92);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:3.2rem clamp(1.1rem,4vw,3rem);box-shadow:0 20px 50px -25px rgba(20,12,6,.6)}
body.has-world .ground .section-wide.alt>.wrap{background:rgba(228,215,190,.93)}
body.has-world .ground .panel--wizard{margin-bottom:7rem;min-height:0;padding-top:0}
body.has-world .ground .panel--wizard>.wizard-intro{background:rgba(239,231,216,.92);padding:2rem 1.5rem;margin-bottom:1.2rem}
body.has-world .ground{padding-top:5rem}
body.has-world footer{background:rgba(34,23,14,.84);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.world-img+.world-img{margin-top:-12vw;-webkit-mask-image:linear-gradient(transparent,#000 12vw);mask-image:linear-gradient(transparent,#000 12vw)}

/* ===== Accueil : texte directement sur le chêne (verre sombre, sans fond beige) ===== */
body.has-world{--glass:rgba(16,10,5,.46);--glass-line:rgba(239,231,216,.18);--lt:#f4ecdc;--lt2:rgba(244,236,220,.86)}
.tree-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:rgba(14,9,4,calc(var(--dim,0) * .5))}
body.has-world .ground,body.has-world .panel{color:var(--lt);text-shadow:0 1px 3px rgba(0,0,0,.55),0 2px 22px rgba(0,0,0,.5)}
body.has-world .panel__inner,body.has-world .panel--hero .panel__inner{background:var(--glass);border:1px solid var(--glass-line);box-shadow:none;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
body.has-world h1,body.has-world h2,body.has-world h3,body.has-world .home-h1 span,body.has-world .lede,body.has-world .hero-proof,body.has-world .why-card h3,body.has-world .faq-item summary{color:var(--lt)}
body.has-world .badge{color:var(--lt);border-color:rgba(244,236,220,.6)}
body.has-world .hero-proof{color:var(--lt2)}
body.has-world .hero-proof li::before{color:#c8d99a}
body.has-world .text-link{color:#f0c27a}
body.has-world .btn-ghost,body.has-world .hero-actions .btn-ghost{background:rgba(244,236,220,.1);color:var(--lt);border-color:rgba(244,236,220,.65)}
body.has-world .ground .section-wide>.wrap,body.has-world .ground .section-wide.alt>.wrap{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;padding-left:0;padding-right:0}
body.has-world .ground .panel--wizard>.wizard-intro{background:none;padding:0}
body.has-world .service-card,body.has-world .town-card,body.has-world .process-step,body.has-world .faq-item,body.has-world .town-chips a,body.has-world .wizard-card{background:var(--glass);border:1px solid var(--glass-line);color:var(--lt);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:none}
body.has-world .town-chips a,body.has-world .town-chips a small{color:var(--lt)}
body.has-world .town-chips a:hover{background:rgba(244,236,220,.22)}
body.has-world .process-step .num,body.has-world .faq-item summary::after{color:#f0c27a}
body.has-world .process-step h3,body.has-world .service-card h3,body.has-world .wizard-step h3{color:var(--lt)}
body.has-world .why-card{border-left-color:#c8d99a}
body.has-world .wizard-card,body.has-world .wizard-card *{text-shadow:none}
body.has-world .wizard-btn{color:var(--lt);border-color:rgba(244,236,220,.6)}
body.has-world .wizard-btn.primary{background:#8da15a;color:#121008;border-color:#8da15a}
body.has-world .wizard-progress span{background:rgba(244,236,220,.25)}
body.has-world footer{background:rgba(16,10,5,.72)}

/* Seule la section « Nos chantiers » (photos) garde un fond clair */
body.has-world #chantiers>.wrap{background:rgba(239,231,216,.93);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:0 20px 50px -25px rgba(20,12,6,.6);padding:3.2rem clamp(1.1rem,4vw,3rem);color:hsl(var(--ink));text-shadow:none}
body.has-world #chantiers h2,body.has-world #chantiers h3{color:hsl(var(--bark-dark))}
body.has-world #chantiers .text-link{color:hsl(var(--clay))}
body.has-world .step-label{color:#c8d99a}
body.has-world .option-btn{background:rgba(244,236,220,.1);border-color:rgba(244,236,220,.35);color:var(--lt)}
body.has-world .option-btn small{color:var(--lt2)}
body.has-world .option-btn:hover{border-color:#c8d99a}
body.has-world .option-btn.selected{background:rgba(240,194,122,.22);border-color:#f0c27a}

/* Raccord cime → tronc : fondu long, la photo du haut reste opaque dessous (pas de trou sombre) */
.world-hero{-webkit-mask-image:none;mask-image:none}
.world-img--first{margin-top:-55vh;-webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.25) 14vh,rgba(0,0,0,.7) 33vh,#000 55vh);mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.25) 14vh,rgba(0,0,0,.7) 33vh,#000 55vh)}
