@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,500&display=swap');
:root{--green:#123a2d;--green2:#1a4b39;--lime:#dfff47;--cream:#f5f1e8;--paper:#fbfaf6;--ink:#17231d;--muted:#68736c;--line:#d9ddd6;--white:#fff;--radius:24px;--shadow:0 24px 70px rgba(14,42,32,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.55}img{display:block;width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.skip{position:fixed;left:16px;top:-80px;z-index:100;background:#fff;padding:12px 18px;border-radius:10px}.skip:focus{top:12px}.topline{background:#0c2a21;color:#d9e9df;font-size:12px;letter-spacing:.08em}.topline .container{display:flex;justify-content:space-between;padding:8px 0}.topline span:first-child{color:var(--lime)}.header{position:absolute;top:0;left:0;right:0;z-index:20;color:#fff}.nav{height:86px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:44px;height:44px;border:2px solid var(--lime);border-radius:50% 50% 44% 56%;display:grid;place-items:center;color:var(--lime);font:italic 700 30px 'Playfair Display';transform:rotate(-8deg)}.brand>span:last-child{display:flex;flex-direction:column;line-height:1}.brand b{font:700 21px Manrope;letter-spacing:-.06em}.brand small{font-size:8px;letter-spacing:.28em;margin-top:4px}.nav-links{display:flex;align-items:center;gap:30px;font-size:14px}.nav-links>a:not(.btn){opacity:.83}.nav-links>a:hover{opacity:1}.menu{display:none;background:none;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:34px;padding:16px 22px;border-radius:999px;background:var(--lime);color:#153126;font-weight:700;border:0;cursor:pointer;transition:transform .25s,box-shadow .25s}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(223,255,71,.18)}.btn-small{padding:11px 18px;gap:12px}.hero{position:relative;min-height:820px;color:#fff;display:flex;align-items:center;overflow:hidden;background:var(--green)}.hero-photo{position:absolute;inset:0;background:url('assets/ecoloja-hero.png') center/cover no-repeat;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,32,24,.95) 0%,rgba(8,32,24,.78) 38%,rgba(8,32,24,.12) 72%),linear-gradient(0deg,rgba(8,32,24,.38),transparent 50%)}.hero-content{position:relative;padding-top:100px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:700;color:var(--lime)}.eyebrow.dark{color:#47705f}.hero h1,.section h2,.split h2,.closing h2,.faq h2{font:600 clamp(48px,7vw,92px)/.98 Manrope;letter-spacing:-.065em;margin:22px 0}.hero h1 em,.section h2 em,.split h2 em,.closing h2 em,.faq h2 em{font-family:'Playfair Display';font-weight:500;color:var(--lime)}.hero p{font-size:18px;max-width:570px;color:#d9e4df}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px}.link-arrow{border-bottom:1px solid rgba(255,255,255,.45);padding:12px 0}.link-arrow span{margin-left:20px}.trust-row{display:flex;gap:55px;margin-top:70px;padding-top:22px;border-top:1px solid rgba(255,255,255,.2);max-width:760px}.trust-row div{display:flex;flex-direction:column}.trust-row strong{font:600 20px Manrope}.trust-row span{font-size:12px;color:#b8c9c1}.marquee{background:var(--lime);color:#19372b;overflow:hidden;white-space:nowrap;padding:12px 0;font:700 12px Manrope;letter-spacing:.14em}.marquee div{width:max-content;animation:marquee 25s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding:130px 0}.section-head{display:grid;grid-template-columns:1.6fr .65fr;gap:90px;align-items:end;margin-bottom:70px}.section h2,.faq h2{font-size:clamp(42px,5.2vw,72px);margin:17px 0 0}.section h2 em,.faq h2 em{color:#36705a}.section-head>p{color:var(--muted);font-size:17px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{padding:32px 24px 35px;border-right:1px solid var(--line);min-height:360px;display:flex;flex-direction:column;transition:background .3s,transform .3s}.service-card:first-child{border-left:1px solid var(--line)}.service-card:hover{background:#fff;transform:translateY(-6px)}.service-card.featured{background:var(--green);color:#fff}.service-card .num{font-size:11px;color:#87938c}.service-card .icon{font-size:28px;margin:35px 0}.service-card h3{font:600 24px Manrope;margin:0 0 12px}.service-card p{color:var(--muted);font-size:14px}.service-card.featured p{color:#b8cbc2}.text-btn{margin-top:auto;border:0;background:none;text-align:left;padding:0;font-weight:700;color:inherit;cursor:pointer}.split{display:grid;grid-template-columns:1.1fr .9fr;background:var(--green);color:#fff}.split-image{position:relative;min-height:720px}.split-image img{height:100%;object-fit:cover}.image-note{position:absolute;bottom:18px;left:18px;background:rgba(0,0,0,.5);padding:5px 9px;border-radius:30px;font-size:10px}.split-copy{padding:100px max(7vw,50px);display:flex;flex-direction:column;justify-content:center}.split h2{font-size:clamp(42px,5vw,68px)}.split p{color:#c6d7cf;max-width:550px}.checks{list-style:none;padding:0;margin:35px 0}.checks li{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:18px 0;border-top:1px solid rgba(255,255,255,.16)}.checks li span{color:#adc1b8;font-size:14px}.btn.light{align-self:flex-start}.portfolio{background:var(--cream)}.gallery{display:grid;grid-template-columns:1.7fr .7fr;gap:20px}.gallery-main{position:relative;margin:0;min-height:580px;border-radius:var(--radius);overflow:hidden}.gallery-main img{height:100%;object-fit:cover}.gallery-main figcaption{position:absolute;left:28px;right:28px;bottom:25px;background:rgba(12,42,33,.88);backdrop-filter:blur(12px);color:#fff;border-radius:18px;padding:20px 22px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:25px}.gallery-main figcaption span,.gallery-main figcaption small{font-size:11px;color:#bed0c7}.gallery-side{display:grid;gap:20px}.stat-card,.quote-card{border-radius:var(--radius);padding:35px;background:var(--lime)}.stat-card strong{display:block;font:600 72px Manrope;letter-spacing:-.07em;margin:35px 0 0}.quote-card{background:var(--green);color:#fff}.quote-card>span{font:italic 80px Playfair Display;color:var(--lime);line-height:.6}.quote-card blockquote{margin:25px 0;font:500 22px/1.4 Manrope}.quote-card cite{font-size:11px;color:#b9cbc2}.booking{background:#0f2f25;color:#fff}.booking-wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:85px}.booking-intro{position:sticky;top:40px;align-self:start}.booking-intro h2{font-size:58px}.booking-intro p{color:#b5c9bf}.booking-intro>small{display:block;color:#8eaaa0;font-size:11px;margin-top:30px}.progress{display:flex;align-items:center;margin:35px 0}.progress span{width:34px;height:34px;border:1px solid #527066;border-radius:50%;display:grid;place-items:center;font-size:12px}.progress span.active{background:var(--lime);color:var(--green);border-color:var(--lime)}.progress i{height:1px;flex:1;background:#527066}.booking-form{background:#f8f7f1;color:var(--ink);border-radius:28px;padding:38px}.booking-form fieldset{border:0;padding:0;margin:0 0 36px}.booking-form legend{font:600 20px Manrope;margin-bottom:18px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-grid label,.chips label{cursor:pointer}.choice-grid input,.chips input{position:absolute;opacity:0}.choice-grid label>span{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;padding:18px;min-height:125px;transition:.2s}.choice-grid input:checked+span{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 10px 30px rgba(18,58,45,.18)}.choice-grid b{font-size:18px}.choice-grid small{font-size:12px;color:#78847d;margin-top:5px}.choice-grid input:checked+span small{color:#bad0c5}.choice-grid em{font-style:normal;font-size:12px;color:#507262;margin-top:auto}.choice-grid input:checked+span em{color:var(--lime)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips span{display:block;border:1px solid var(--line);border-radius:999px;padding:10px 15px;font-size:13px}.chips input:checked+span{background:var(--lime);border-color:#c8e63b;font-weight:700}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fields label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.fields input,.fields select,.fields textarea{display:block;width:100%;border:0;border-bottom:1px solid #bcc4bf;background:transparent;padding:10px 0 12px;color:var(--ink);outline:none;text-transform:none;letter-spacing:0}.fields input:focus,.fields select:focus,.fields textarea:focus{border-color:var(--green)}.fields .full{grid-column:1/-1}.submit{width:100%;background:var(--green);color:#fff}.form-status{font-size:12px;text-align:center;color:#b13939}.units{background:#fff}.unit-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.unit-card{padding:38px;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream)}.unit-card.green{background:var(--green);color:#fff}.unit-top{display:flex;justify-content:space-between;font-size:12px}.unit-top strong small{font-weight:400;opacity:.65}.unit-card h3{font:600 44px Manrope;margin:50px 0 15px}.unit-card p{color:var(--muted)}.unit-card.green p{color:#b9cbc2}.unit-actions{display:flex;gap:10px;margin-top:35px}.unit-actions a{border:1px solid currentColor;border-radius:999px;padding:10px 15px;font-size:12px}.unit-actions a:first-child{background:var(--lime);color:var(--green);border-color:var(--lime);font-weight:700}.phone{display:block;margin-top:25px;opacity:.65}.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.map-grid iframe{width:100%;height:340px;border:0;border-radius:var(--radius);filter:saturate(.75) contrast(1.05)}.faq{background:var(--cream)}.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.accordion details{border-top:1px solid #cbd1ca}.accordion details:last-child{border-bottom:1px solid #cbd1ca}.accordion summary{display:flex;justify-content:space-between;gap:25px;padding:22px 0;font:600 17px Manrope;cursor:pointer;list-style:none}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font-size:24px;transition:transform .2s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion p{margin:0 40px 22px 0;color:var(--muted)}.closing{background:var(--green);color:#fff;text-align:center;padding:120px 0;position:relative;overflow:hidden}.closing:before{content:'e';position:absolute;font:italic 600 460px Playfair Display;color:rgba(255,255,255,.025);left:50%;top:50%;transform:translate(-50%,-55%)}.closing .container{position:relative}.closing h2{font-size:clamp(52px,7vw,92px)}footer{background:#0b241c;color:#e9f1ed;padding:75px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr .6fr 1fr 1fr;gap:50px}.footer-grid>div{display:flex;flex-direction:column;gap:10px}.footer-grid p,.footer-grid span,.footer-grid a{font-size:12px;color:#9fb4aa}.footer-grid b{font-size:13px}.footer-brand{margin-bottom:15px}.footnote{display:flex;justify-content:space-between;border-top:1px solid #27463b;margin-top:60px;padding-top:22px;font-size:10px;color:#738b81}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:30;background:#24d366;color:#09291b;border-radius:999px;padding:10px 17px 10px 10px;display:flex;align-items:center;gap:8px;box-shadow:0 12px 35px rgba(0,0,0,.25);font-size:12px}.whatsapp-float span{width:31px;height:31px;background:#fff;color:#24a955;border-radius:50%;display:grid;place-items:center;font-size:18px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:920px){.nav-links{position:absolute;top:86px;left:20px;right:20px;background:#fff;color:var(--ink);padding:25px;border-radius:18px;display:none;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.nav-links.open{display:flex}.menu{display:flex;flex-direction:column;gap:7px}.menu span{width:28px;height:2px;background:#fff}.service-grid{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.split-image{min-height:560px}.split-copy{padding:80px 30px}.booking-wrap,.faq-wrap{grid-template-columns:1fr;gap:45px}.booking-intro{position:static}.gallery{grid-template-columns:1fr}.gallery-side{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.section-head{grid-template-columns:1fr;gap:15px}}
@media(max-width:620px){.container{width:min(100% - 28px,1180px)}.topline .container{justify-content:center}.topline span:last-child{display:none}.hero{min-height:760px;align-items:flex-end;padding-bottom:55px}.hero-photo{background-position:63% center}.hero-shade{background:linear-gradient(0deg,rgba(7,31,23,.98) 5%,rgba(7,31,23,.68) 62%,rgba(7,31,23,.2))}.hero-content{padding-top:150px}.hero h1{font-size:51px}.hero p{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.trust-row{gap:20px;margin-top:45px;overflow-x:auto}.trust-row>div{min-width:120px}.section{padding:85px 0}.section-head{margin-bottom:40px}.section h2,.faq h2{font-size:44px}.service-grid{grid-template-columns:1fr}.service-card{min-height:300px;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.split-image{min-height:430px}.split-copy{padding:70px 24px}.checks li{grid-template-columns:1fr;gap:5px}.gallery-main{min-height:450px}.gallery-main figcaption{grid-template-columns:1fr;gap:5px}.gallery-side{grid-template-columns:1fr}.booking-intro h2{font-size:45px}.booking-form{padding:25px 18px;border-radius:20px}.choice-grid,.fields,.unit-grid,.map-grid{grid-template-columns:1fr}.unit-card{padding:27px}.unit-actions{flex-direction:column}.map-grid iframe{height:280px}.footer-grid{grid-template-columns:1fr;gap:35px}.footnote{flex-direction:column;gap:6px}.whatsapp-float b{display:none}.whatsapp-float{padding:8px}.marquee div{animation-duration:16s}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.marquee div{animation:none}.btn{transition:none}}
