:root{--color-bg:#f5f2ec;--color-surface:#fbfaf7;--color-dark:#1d1d1b;--color-text:#292724;--color-muted:#77716a;--color-border:#ddd7ce;--color-accent:#9a8063;--color-white:#fff;--nav-height:84px}html,body,#root{width:100%;height:100%;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;overflow-x:hidden}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}h1,h2,h3{margin:0;font-family:Playfair Display,Georgia,serif}h1{font-size:clamp(32px,5vw,64px);line-height:1.02}h2{font-size:clamp(20px,2.6vw,32px)}p{margin:0}section{scroll-margin-top:calc(var(--nav-height) + 12px)}@media (width<=1024px){:root{--nav-height:72px}}:root{--primary:#1d1d1b;--muted:#77716a;--ivory:#fbfaf7;--accent:#9a8063;--nav-height:84px}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}.container{max-width:1280px;margin:0 auto;padding:clamp(24px,5vw,80px)}.nav{z-index:100;background:#fffffff2;transition:background .3s,box-shadow .3s;position:fixed;top:0;left:0;right:0}.nav--scrolled{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;box-shadow:0 2px 12px #0000000f}.nav-inner{justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.brand{cursor:pointer;line-height:1.1}.brand-title{letter-spacing:2px;font-size:20px;font-weight:700}.brand-sub{letter-spacing:3px;opacity:.7;font-size:10px}.links--desktop{align-items:center;gap:32px;display:flex}.links--desktop a{cursor:pointer;letter-spacing:.3px;opacity:.85;font-size:14px;font-weight:500;transition:opacity .2s}.links--desktop a:hover{opacity:1}.nav-actions{align-items:center;gap:16px;display:flex}.cta{cursor:pointer;color:#fff;background:#111;border:none;border-radius:999px;padding:10px 22px;font-size:13px;font-weight:600;transition:opacity .2s}.cta:hover{opacity:.85}.hamburger{cursor:pointer;color:inherit;z-index:101;background:0 0;border:none;padding:4px;display:none}.nav-backdrop{z-index:90;background:#0006;position:fixed;inset:0}.links--mobile{z-index:95;background:#fff;flex-direction:column;justify-content:center;align-items:flex-start;gap:26px;width:min(78vw,340px);padding:40px 32px;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #0000001f}.links--mobile a{cursor:pointer;font-size:22px;font-weight:600}.cta--mobile{text-align:center;width:100%;margin-top:12px;padding:14px}.cta--desktop{display:inline-block}@media (width<=860px){.links--desktop,.cta--desktop{display:none}.hamburger{display:inline-flex}}.hero-section{align-items:center;min-height:92vh;display:flex;position:relative}.hero-media{position:absolute;inset:0;overflow:hidden}.hero-media img{object-fit:cover;filter:contrast(.9)brightness(.56);width:100%;height:100%}.hero-overlay{background:linear-gradient(#00000047,#0000007a);position:absolute;inset:0}.hero-content{color:#fff;z-index:2;padding-top:calc(var(--nav-height) + 40px);padding-bottom:80px;position:relative}.eyebrow{letter-spacing:2px;opacity:.95;font-size:13px}.hero-title{margin:12px 0;font-family:Playfair Display,Georgia,serif;font-size:clamp(34px,6vw,64px);line-height:1}.hero-lead{color:#ffffffeb;max-width:720px;margin-bottom:18px;font-size:18px}.hero-ctas{gap:12px;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;height:48px;padding:12px 20px;font-weight:600}.btn-primary{background:var(--primary);color:var(--color-white)}.btn-outline{color:#fff;background:0 0;border:1px solid #ffffffa6}.hero-floating{color:var(--primary);background:#ffffffe6;border-radius:6px;padding:8px 12px;position:absolute;top:60%;right:40px}.scroll-indicator{position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.scroll-indicator span{border:1px solid #ffffffb3;border-radius:20px;width:28px;height:42px;display:block}h2{color:var(--primary);font-family:Georgia,serif}.muted{color:var(--muted)}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:36px;display:grid}.about-media img{object-fit:cover;border-radius:6px;width:100%;height:100%}.highlights{gap:18px;margin-top:22px;display:flex}.highlight{align-items:flex-start;gap:12px;display:flex}.num{color:var(--primary);width:36px;font-weight:700}.services-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px;display:grid}.service{background:0 0;border-left:4px solid #0000;border-radius:6px;align-items:flex-start;gap:12px;padding:18px;display:flex}.service:hover{border-left-color:var(--color-accent);background:linear-gradient(#ffffff05,#0000)}.service-index{color:var(--muted);min-width:36px;font-weight:700}.filters{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.filters button{border:1px solid var(--color-border);background:0 0;border-radius:999px;padding:8px 12px}.filters .active{background:var(--primary);color:#fff;border-color:var(--primary)}.projects-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.project-card{cursor:pointer}.project-card .media{border-radius:8px;position:relative;overflow:hidden}.project-card img{object-fit:cover;width:100%;height:320px;display:block}.project-card .overlay{color:#fff;background:linear-gradient(#0000,#00000073);align-items:flex-end;padding:18px;display:flex;position:absolute;inset:0}.modal-backdrop{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--color-white);border-radius:8px;width:100%;max-width:1100px;position:relative;overflow:hidden}.modal-media img{object-fit:cover;width:100%;height:420px}.modal-body{padding:18px}.modal-close{background:0 0;border:none;font-size:22px;position:absolute;top:12px;right:12px}.faq{background:#faf9f7;padding:96px 0}.faq-header{text-align:center;max-width:620px;margin:0 auto 48px}.faq-header .eyebrow{letter-spacing:3px;color:#b08b57;margin-bottom:10px;font-size:12px;font-weight:700}.faq-header h2{margin-bottom:12px;font-size:clamp(28px,4vw,40px)}.faq-subtitle{color:#6b6b6b;font-size:16px}.faq-list{flex-direction:column;gap:14px;max-width:760px;margin:0 auto;display:flex}.faq-item{background:#fff;border:1px solid #ececec;border-radius:14px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.faq-item.open{border-color:#d8c6a8;box-shadow:0 8px 24px #0000000d}.faq-question{cursor:pointer;text-align:left;color:#1a1a1a;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:20px 24px;font-size:16px;font-weight:600;display:flex}.faq-icon{color:#b08b57;background:#f3ede3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.faq-answer-wrapper{overflow:hidden}.faq-answer{color:#666;padding:0 24px 22px;font-size:15px;line-height:1.6}.principles{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.timeline{flex-wrap:wrap;gap:12px;display:flex}.stats-grid{gap:24px;display:flex}.test-wrap{align-items:center;gap:12px;display:flex}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:36px;display:grid}.contact-form label{margin-bottom:12px;display:block}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid var(--color-border);background:var(--color-white);border-radius:6px;width:100%;padding:12px}.form-error{color:#b00020}.form-ok{color:green}.site-footer{background:var(--color-surface);margin-top:48px;padding:48px 0}.footer-grid{justify-content:space-between;align-items:flex-start;gap:28px;padding-inline:clamp(20px,4vw,80px);display:flex}.copyright{text-align:center;color:var(--muted);padding:18px}.whatsapp{color:#fff;background:#25d366;border-radius:50px;padding:12px 14px;font-weight:700;text-decoration:none;transition:transform .18s;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 20px #0000001f}.whatsapp:hover{transform:translateY(-4px)}@media (width<=1024px){.services-grid,.projects-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.principles,.contact-grid{grid-template-columns:1fr}.hero-title{font-size:32px}.nav-inner{padding-inline:20px}}@media (width<=600px){.projects-grid{grid-template-columns:repeat(1,1fr)}.services-grid{grid-template-columns:1fr}.hero-content{padding-top:calc(var(--nav-height) + 20px);padding-bottom:40px}}
