@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--ink:#252522;--gold:#b18a4b;--paper:#f7f5f0;--muted:#706d66;--line:#e7e0d4}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.6}
a{color:inherit}.site-header{height:100px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:10px clamp(22px,6vw,90px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand img{width:76px;height:76px;object-fit:contain}.brand strong{display:block;font-size:23px;letter-spacing:.13em}.brand small{display:block;color:var(--gold);font-size:10px;letter-spacing:.22em}
.nav{display:flex;gap:30px}.nav a{text-decoration:none;font-size:14px;font-weight:600}.nav a:hover,.instagram:hover{color:var(--gold)}.menu-toggle{display:none;border:0;background:none;font-size:27px}
.hero{min-height:590px;background:var(--ink);color:white;display:grid;grid-template-columns:1.05fr .95fr}.hero-copy{padding:100px clamp(28px,7vw,105px);align-self:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--gold);margin:0 0 18px}.hero h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:600;line-height:1.12}.hero h1{font-size:clamp(39px,4.5vw,66px);margin:0 0 25px}.hero h1 em{color:#d4b77f;font-style:normal}.intro{max-width:520px;color:#e3dfd6;font-size:18px;margin-bottom:34px}.hero-photo{background:linear-gradient(90deg,var(--ink),transparent 25%),url("assets/terraza-despues.jpg") center/cover no-repeat;min-height:590px}
.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:4px;padding:15px 23px;font-weight:700;font-size:14px;transition:.2s}.button:hover{transform:translateY(-2px);filter:brightness(1.05)}.button-gold{background:var(--gold);color:white}
.section{padding:88px clamp(22px,8vw,120px)}h2{font-size:clamp(32px,3.5vw,46px);margin:0 0 34px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{background:white;border:1px solid var(--line);padding:28px 25px;min-height:190px}.service-card span{color:var(--gold);font-size:13px;font-weight:700}.service-card h3{font-family:"Playfair Display",Georgia,serif;font-size:25px;margin:13px 0 8px}.service-card p,.section-intro{color:var(--muted);margin:0}
.projects{background:#eeeae2}.section-intro{margin-top:-18px;margin-bottom:30px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-grid figure{margin:0;background:white;box-shadow:0 8px 24px #24252212}.project-grid img{display:block;width:100%;height:430px;object-fit:cover}.project-grid figcaption{padding:17px 20px;display:flex;gap:16px;align-items:center}.project-grid figcaption span{font-size:12px;letter-spacing:.12em;font-weight:700;color:var(--gold)}.project-grid figcaption strong{font-family:"Playfair Display",Georgia,serif;font-size:20px}.note{font-size:13px;color:var(--muted);margin-top:18px}
.service-area{text-align:center;padding:78px 20px;background:#fff}.service-area h2{margin-bottom:16px}.service-area p:last-child{font-size:19px}.service-area b{color:var(--gold);padding:0 7px}
.contact{text-align:center;background:#252522;color:white}.contact h2{margin-bottom:15px}.contact>p:not(.eyebrow){color:#e2ded5}.contact-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:28px 0 20px}.button-green{background:#238b55;color:white}.button-outline{border:1px solid #d2b77e;color:#fff}.instagram{color:#d2b77e;text-decoration:none}
footer{background:#171816;color:white;text-align:center;padding:35px 20px}footer p{margin:7px;color:#d8d4cc;font-size:14px}footer a{text-decoration:none}.footer-brand{font-size:25px;font-weight:700;letter-spacing:.12em;color:#d2b77e}.footer-brand span{font-size:11px;letter-spacing:.1em}footer small{display:block;color:#aaa;margin-top:20px}.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:4;background:#238b55;color:#fff;padding:13px 20px;border-radius:30px;text-decoration:none;font-weight:700;box-shadow:0 5px 20px #0003}
@media(max-width:900px){.service-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 30px}.hero-photo{min-height:360px;background-image:url("assets/terraza-despues.jpg")}.nav{gap:15px}}
@media(max-width:640px){.site-header{height:82px;padding:8px 16px}.brand img{width:60px;height:60px}.brand strong{font-size:18px}.brand small{font-size:8px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:81px;left:0;right:0;background:#fff;padding:18px 24px;flex-direction:column;border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero-copy{padding:65px 24px}.hero-photo{min-height:300px}.section{padding:65px 22px}.service-grid{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.project-grid img{height:340px}.service-area{padding:60px 20px}.floating-whatsapp{right:14px;bottom:14px}}
