:root{color-scheme:light;--paper:#f7f5ed;--ink:#142422;--muted:#435450;--line:#bfc7ba;--teal:#123b36;--acid:#dcf872;--display:"Bricolage Grotesque",system-ui,sans-serif}
*{box-sizing:border-box} [hidden]{display:none!important}
html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 "DM Sans",system-ui,sans-serif}
h1,h2,h3,p,figure{margin:0} h1,h2,h3{font-family:var(--display);text-wrap:balance;line-height:1.02;letter-spacing:-.06em} h2{font-size:clamp(2.4rem,5.2vw,4.9rem)} h3{font-size:clamp(1.35rem,2.8vw,2rem)}
a{color:inherit;text-decoration:none} a,button,summary{touch-action:manipulation} a:hover{text-decoration:underline;text-underline-offset:.22em} button,select,textarea{font:inherit} button,summary,select{cursor:pointer}
:focus-visible{outline:3px solid #166d5c;outline-offset:4px} section[id]{scroll-margin-top:1.4rem} img{display:block;width:100%;height:auto}
.wrap{width:min(90%,1296px);margin-inline:auto} .section{padding-block:clamp(3.4rem,8vw,7rem)}
.skip{position:fixed;top:.5rem;left:.5rem;z-index:2;background:var(--acid);padding:.65rem;transform:translateY(-160%)} .skip:focus{transform:none}
header{border-bottom:1px solid var(--line)} .bar{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1rem} .logo{font-size:1.6rem;font-weight:850;letter-spacing:-.075em;white-space:nowrap} .logo span{display:inline-grid;place-items:center;width:1.9rem;height:1.9rem;margin-right:.1rem;background:var(--teal);color:var(--acid);font-size:1.1rem;vertical-align:middle}
nav{display:flex;flex-wrap:wrap;gap:clamp(.65rem,3vw,2.5rem)} nav a,.text-link{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;font-weight:700}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:48px;padding:.6rem 1.05rem;background:var(--acid);border:1px solid var(--ink);color:var(--ink);font-weight:750;text-align:center;border-radius:3px;transition:background-color .16s,color .16s}
.button:hover{background:var(--ink);color:white;text-decoration:none} .outline{background:transparent} .label{font-size:.76rem;font-weight:780;letter-spacing:.13em;text-transform:uppercase}
.hero{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:clamp(1.2rem,5vw,5rem);padding-block:clamp(3rem,8vw,7.5rem)}
.hero h1{font-size:clamp(3.25rem,7.25vw,7.2rem);margin:.65rem 0 1.3rem;line-height:.94;letter-spacing:-.085em}
.hero h1 em{font:italic 400 .99em Georgia,serif;letter-spacing:-.095em;color:#1b6557;white-space:nowrap}
.hero-copy>p:not(.label){max-width:46ch;color:var(--muted);font-size:clamp(1rem,1.8vw,1.2rem)}
.actions{display:flex;flex-wrap:wrap;gap:.55rem 1.2rem;margin-top:1.5rem}
.emblem{position:relative;overflow:hidden;isolation:isolate;display:grid;place-items:center;aspect-ratio:1.12;background:var(--teal);color:var(--acid);border-radius:50% 50% 4px 4px}
.emblem svg{width:68%;z-index:1}.orbit{position:absolute;width:110%;height:44%;border:1px solid #9cc3aa;border-radius:50%;transform:rotate(-34deg)}.orbit.reverse{transform:rotate(34deg)}
.projects,.contact{background:var(--teal);color:var(--paper)}
.projects :focus-visible,.contact :focus-visible{outline-color:var(--acid)}
.projects .label,.contact .label{color:var(--acid)} .projects .section-head>p,.contact-copy{color:#dae7dd}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:1.3rem 3rem;margin-bottom:2rem}
.section-head>p{max-width:37ch} .section-head h2,.split h2{margin-top:.5rem}
.project-grid,.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.project-grid article{border:1px solid #85a399} .project-grid figure{background:#264944} .project-grid img{aspect-ratio:1425/710;object-fit:cover}
.project-copy{padding:clamp(1rem,3vw,2rem)} .project-copy h3{margin:.45rem 0 .55rem}.project-copy .text-link{margin-top:.5rem;color:var(--acid)}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.5rem,7vw,7rem)}
.rows{margin:0;padding:0} .rows article,.rows li{border-top:1px solid var(--line);padding:1rem 0 1.4rem} .rows p{color:var(--muted);margin-top:.55rem}
.offers,.faq{background:#ecf0e2}.plans article{background:var(--paper);border:1px solid #8f9d8f;padding:clamp(1rem,3vw,2rem);display:flex;align-items:start;flex-direction:column}.plans article:last-child{border-top:5px solid var(--teal)}
.price{font-size:clamp(2.5rem,6vw,4.5rem);letter-spacing:-.08em;line-height:1.15;font-weight:850;font-variant-numeric:tabular-nums;margin:.35rem 0}.plans ul{padding-left:1.2rem;margin:1rem 0 1.35rem}.plans .button{margin-top:auto}.terms{margin-top:1.2rem}
.process{padding-left:1.45rem}.process li::marker{font-weight:800;color:#225d50}
details{border-top:1px solid #9fae9e}details:last-child{border-bottom:1px solid #9fae9e} summary{min-height:48px;padding:.85rem .2rem;font-weight:750} summary:hover{color:#225d50} details p{padding:0 .2rem 1rem;color:var(--muted)}
.contact-copy{max-width:42ch;margin-top:1.25rem} form{background:var(--paper);color:var(--ink);padding:clamp(1rem,4vw,2rem);min-width:0}.contact form :focus-visible{outline-color:#166d5c}
label{display:block;font-weight:750;margin:0 0 .25rem} select,textarea{display:block;width:100%;margin:0 0 .8rem;padding:.6rem;border:1px solid #6d8077;background:white;color:var(--ink);border-radius:3px;min-height:48px} textarea{resize:vertical}[aria-invalid=true]{border:2px solid #9c2828}.error{color:#9c2828}.error:not(:empty){margin-bottom:.75rem}.feedback:not(:empty){padding:.75rem;margin-top:1rem;background:#e7efd9;overflow-wrap:anywhere}
footer .bar{flex-wrap:wrap;padding-block:.65rem}
@media(max-width:760px){.bar{flex-wrap:wrap;min-height:0;padding-block:.7rem;gap:.5rem 1rem}.bar nav{order:2;width:100%}.hero,.split,.project-grid,.plans{grid-template-columns:1fr}.emblem{width:min(100%,23rem);aspect-ratio:1.6}.emblem svg{width:46%}.section-head{flex-direction:column;align-items:start}}
@media(max-width:360px){.hero h1{font-size:2.8rem}.logo{font-size:1.35rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.contact-email{margin-top:.65rem;color:var(--acid)}
.floating-whatsapp{position:fixed;z-index:1;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));box-shadow:0 4px 16px #14242235}
html:has(.floating-whatsapp:not([hidden])){scroll-padding-bottom:5rem}
body:has(.floating-whatsapp:not([hidden])) footer{padding-bottom:4rem}
