:root{
  --ink:#161817;
  --ink-soft:#242725;
  --paper:#f2efe8;
  --white:#fff;
  --gold:#c6a15d;
  --gold-light:#e0c58c;
  --line:rgba(20,22,21,.15);
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:1000;top:12px;left:12px;background:#fff;padding:10px 14px;transform:translateY(-150%)}
.skip-link:focus{transform:none}

.site-header{
  position:fixed;z-index:100;top:0;left:0;width:100%;
  min-height:84px;padding:0 max(24px,calc((100vw - var(--max))/2));
  display:flex;align-items:center;justify-content:space-between;
  transition:.35s ease;border-bottom:1px solid transparent;color:#fff;
}
.site-header.scrolled{background:rgba(17,19,18,.94);backdrop-filter:blur(14px);border-color:rgba(255,255,255,.1);min-height:72px}
.brand{width:160px}
.brand img{width:100%;height:auto}
.main-nav{display:flex;align-items:center;gap:30px;font-size:13px;text-transform:uppercase;letter-spacing:.14em}
.main-nav a{position:relative;padding:10px 0}
.main-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:3px;width:0;height:1px;background:var(--gold);transition:.25s}
.main-nav a:hover::after{width:100%}
.nav-cta{border:1px solid rgba(255,255,255,.55);padding:12px 18px!important}
.nav-cta:hover{background:var(--gold);border-color:var(--gold);color:#151616}
.menu-button{display:none;background:none;border:0;padding:10px}
.menu-button span:not(.sr-only){display:block;width:26px;height:1px;background:#fff;margin:6px 0}

.hero{height:100svh;min-height:680px;position:relative;color:#fff;display:flex;align-items:flex-end}
.hero-media{position:absolute;inset:0;background:url("assets/proyecto-sala-comedor.webp") center 52%/cover no-repeat}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,11,.82) 0%,rgba(10,12,11,.45) 52%,rgba(10,12,11,.12) 100%),linear-gradient(0deg,rgba(10,12,11,.6),transparent 50%)}
.hero-content{position:relative;z-index:2;width:min(var(--max),calc(100% - 48px));margin:0 auto 12vh}
.eyebrow{margin:0 0 18px;font-size:12px;text-transform:uppercase;letter-spacing:.24em;color:var(--gold-light);font-weight:700}
.eyebrow.dark{color:#99733b}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(48px,6.7vw,98px);line-height:.98;max-width:980px;margin:0 0 26px;letter-spacing:-.035em}
.hero-copy{font-size:clamp(16px,1.5vw,21px);max-width:720px;color:rgba(255,255,255,.8);margin:0 0 35px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;cursor:pointer;transition:.25s}
.button-primary{background:var(--gold);color:#161817}
.button-primary:hover{background:var(--gold-light);transform:translateY(-2px)}
.button-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.button-ghost:hover{background:#fff;color:#151616}
.scroll-cue{position:absolute;z-index:2;right:max(24px,calc((100vw - var(--max))/2));bottom:45px;display:flex;align-items:center;gap:14px;font-size:10px;text-transform:uppercase;letter-spacing:.22em}
.scroll-cue i{display:block;width:55px;height:1px;background:rgba(255,255,255,.6)}

.section{padding:120px max(24px,calc((100vw - var(--max))/2))}
.intro{display:grid;grid-template-columns:100px 1.25fr .85fr;gap:50px;align-items:start}
.section-number{font:400 17px Georgia,serif;color:#98753d;padding-top:12px}
.intro h2,.section-heading h2,.method h2,.contact h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(40px,5vw,70px);line-height:1.05;letter-spacing:-.03em;margin:0}
.intro-text{border-left:1px solid var(--line);padding-left:38px;color:#585b58;font-size:17px}
.intro-text p:first-child{margin-top:7px}

.section-dark{background:var(--ink);color:#fff}
.section-heading{display:grid;grid-template-columns:1.25fr .6fr;gap:80px;align-items:end;margin-bottom:68px}
.section-heading>p{color:rgba(255,255,255,.57);max-width:400px;margin:0 0 8px;font-size:17px}
.light-heading>p{color:#5d605d}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16)}
.service-card{padding:40px 34px 48px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);min-height:270px;transition:.3s}
.service-card:hover{background:#202321;transform:translateY(-4px)}
.service-card>span{display:block;color:var(--gold);font:400 14px Georgia,serif;margin-bottom:55px}
.service-card h3{font:400 27px Georgia,serif;margin:0 0 15px}
.service-card p{color:rgba(255,255,255,.58);margin:0;font-size:15px}

.projects{background:#f5f2ec}
.project-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
.project{position:relative;overflow:hidden;min-height:520px;background:#ddd}
.project-large{grid-row:span 2;min-height:1062px}
.project-wide{grid-column:1/-1;min-height:620px}
.project img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.project:hover img{transform:scale(1.035)}
.project::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(10,11,10,.75))}
.project-caption{position:absolute;z-index:2;left:32px;bottom:28px;color:#fff}
.project-caption p{margin:0 0 5px;text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:var(--gold-light)}
.project-caption h3{margin:0;font:400 30px Georgia,serif}

.method{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}
.method-title{position:sticky;top:130px;align-self:start}
.method-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.method-list li{display:grid;grid-template-columns:75px 1fr;gap:25px;padding:34px 0;border-bottom:1px solid var(--line)}
.method-list>li>span{font:400 14px Georgia,serif;color:#99733b}
.method-list h3{margin:0 0 8px;font:400 27px Georgia,serif}
.method-list p{margin:0;color:#666965;max-width:560px}

.contact{display:grid;grid-template-columns:1fr .85fr;gap:100px}
.contact-copy>p:not(.eyebrow){font-size:18px;color:rgba(255,255,255,.62);max-width:570px}
.contact-details{display:flex;flex-direction:column;gap:8px;margin-top:45px;font:400 19px Georgia,serif}
.contact-details a:hover{color:var(--gold-light)}
.contact-form{display:grid;gap:22px;padding:40px;background:#202321;border:1px solid rgba(255,255,255,.13)}
.contact-form label{display:grid;gap:8px}
.contact-form label span{font-size:10px;text-transform:uppercase;letter-spacing:.19em;color:rgba(255,255,255,.57)}
.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.27);
  background:transparent;color:#fff;padding:10px 0 12px;border-radius:0;outline:none
}
.contact-form select option{color:#111}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold)}
.form-note{font-size:11px;color:rgba(255,255,255,.45);margin:0}

.site-footer{background:#0e0f0f;color:rgba(255,255,255,.65);padding:55px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:40px;font-size:13px}
.footer-brand img{width:145px;margin-bottom:16px}
.site-footer p{margin:3px 0}
.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:28px;margin-top:15px!important;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.whatsapp-float{position:fixed;z-index:90;right:24px;bottom:24px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25d366;box-shadow:0 10px 30px rgba(0,0,0,.28);transition:.25s}
.whatsapp-float:hover{transform:translateY(-4px) scale(1.03)}
.whatsapp-float svg{width:29px;fill:#fff}

@media (max-width:900px){
  .site-header{min-height:72px}
  .brand{width:138px}
  .menu-button{display:block;position:relative;z-index:102}
  .main-nav{position:fixed;inset:0;background:#111312;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;font-size:18px;transform:translateX(100%);transition:.35s;z-index:101}
  .main-nav.open{transform:none}
  .menu-button.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-button.open span:nth-child(2){opacity:0}
  .menu-button.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .menu-button span{transition:.25s}
  .hero-content{margin-bottom:13vh}
  .hero h1{font-size:clamp(46px,12vw,76px)}
  .scroll-cue{display:none}
  .section{padding-top:85px;padding-bottom:85px}
  .intro{grid-template-columns:1fr;gap:20px}
  .section-number{display:none}
  .intro-text{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}
  .section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:45px}
  .service-grid{grid-template-columns:1fr 1fr}
  .project-grid{grid-template-columns:1fr}
  .project,.project-large,.project-wide{grid-column:auto;grid-row:auto;min-height:600px}
  .method{grid-template-columns:1fr;gap:55px}
  .method-title{position:static}
  .contact{grid-template-columns:1fr;gap:55px}
}
@media (max-width:600px){
  .hero{min-height:700px}
  .hero-media{background-position:62% center}
  .hero-content{width:calc(100% - 36px)}
  .hero h1{font-size:47px}
  .hero-copy{font-size:16px}
  .hero-actions{display:grid}
  .button{width:100%}
  .section{padding-left:18px;padding-right:18px}
  .service-grid{grid-template-columns:1fr}
  .service-card{min-height:auto}
  .project,.project-large,.project-wide{min-height:520px}
  .project-caption{left:22px;bottom:22px}
  .project-caption h3{font-size:25px}
  .contact-form{padding:28px 22px}
  .site-footer{grid-template-columns:1fr}
  .copyright{grid-column:auto}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
}
