/* Estudio Trazo (ejemplo): papel cálido, tinta, ladrillo y azul de plano */
:root{
  --papel:#f3efe7; --papel2:#e9e3d7; --tinta:#171614; --gris:#6a655c; --linea:#d8d0c2;
  --ladrillo:#b9532c; --ladrillo2:#9c4321; --plano:#163a62; --plano2:#0e2846;
  --serif:"Instrument Serif",Georgia,serif; --sans:"Archivo",system-ui,sans-serif; --mono:"JetBrains Mono",ui-monospace,monospace;
  --r:4px; --ancho:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--papel);color:var(--tinta);font:400 16px/1.6 var(--sans);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
.aq-wrap{width:min(var(--ancho),100% - 32px);margin-inline:auto}
.aq-eyebrow{font:500 .72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ladrillo);display:flex;align-items:center;gap:10px}
.aq-eyebrow::before{content:"";width:22px;height:1px;background:currentColor}
.aq-h2{font:400 clamp(2.2rem,5vw,3.6rem)/1.02 var(--serif);letter-spacing:-.01em;margin:.5rem 0 1rem}
.aq-h2 em{font-style:italic;color:var(--ladrillo)}
.aq-sub{color:var(--gris);max-width:560px}
.aq-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border:0;border-radius:999px;background:var(--ladrillo);color:#fff;font-weight:600;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}
.aq-btn:hover{background:var(--ladrillo2);transform:translateY(-1px)}
.aq-btn svg{width:20px;height:20px}
.aq-btn-linea{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff}
.aq-btn-linea:hover{background:rgba(255,255,255,.12)}

/* ---- Encabezado */
.aq-top{position:fixed;inset:0 0 auto;z-index:30;transition:background .3s,color .3s,box-shadow .3s;color:#fff}
.aq-top .aq-wrap{display:flex;align-items:center;gap:24px;height:68px}
.aq-top.solido{background:rgba(243,239,231,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--tinta);box-shadow:0 1px 0 var(--linea)}
.aq-logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:400 1.5rem/1 var(--serif)}
.aq-logo img{width:36px;height:36px;border-radius:6px}
.aq-logo small{display:block;font:500 .6rem/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;opacity:.7;margin-top:4px}
.aq-nav{display:flex;gap:26px;margin-left:auto;font-size:.92rem}
.aq-nav a{text-decoration:none;opacity:.85}
.aq-nav a:hover{opacity:1}
.aq-top-cta{min-height:40px;padding:0 18px;font-size:.9rem}
@media (max-width:900px){.aq-nav{display:none}.aq-top-cta{margin-left:auto}}

/* ---- Portada: del plano a la casa */
.aq-hero{position:relative;height:310vh;background:var(--plano2)}
.aq-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;color:#fff}
.aq-fondo{position:absolute;inset:0}
.aq-fondo-cielo{background:linear-gradient(180deg,#141b33 0%,#3a3558 34%,#a4646a 66%,#e9a374 88%,#f2c08a 100%)}
.aq-fondo-plano{background-color:var(--plano);
  background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    radial-gradient(ellipse at 65% 50%,rgba(255,255,255,.08),transparent 60%);
  background-size:120px 120px,120px 120px,24px 24px,24px 24px,100% 100%}
.aq-3d{position:absolute;top:0;right:0;width:64%;height:100%;display:block;touch-action:pan-y}
.aq-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.sin3d .aq-fallback{display:block}.sin3d .aq-3d{display:none}
.aq-hero-txt{position:absolute;z-index:2;left:max(16px,calc((100vw - var(--ancho))/2));top:50%;transform:translateY(-50%);width:min(470px,36%)}
.aq-hero-txt .aq-eyebrow{color:#f2c08a}
.aq-hero h1{font:400 clamp(2.5rem,5.2vw,4.6rem)/.98 var(--serif);letter-spacing:-.015em;margin:1rem 0 1.1rem}
.aq-hero h1 em{font-style:italic;color:#f2c08a}
.aq-hero-sub{color:rgba(255,255,255,.82);font-size:1.06rem;max-width:420px}
.aq-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.8rem}
.aq-etapas{position:absolute;z-index:2;left:max(16px,calc((100vw - var(--ancho))/2));bottom:36px;list-style:none;display:flex;gap:10px}
.aq-etapas li{cursor:pointer;padding:12px 16px 12px 14px;border:1px solid rgba(255,255,255,.22);border-radius:var(--r);min-width:150px;background:rgba(8,20,38,.25);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:border-color .3s,background .3s}
.aq-etapas b{display:block;font:500 .68rem/1 var(--mono);letter-spacing:.14em;color:rgba(255,255,255,.6)}
.aq-etapas span{display:block;font:400 1.3rem/1.2 var(--serif);margin-top:6px}
.aq-etapas small{display:block;font-size:.8rem;color:rgba(255,255,255,.7);max-width:190px;line-height:1.35;margin-top:4px}
.aq-etapas li.on{border-color:#f2c08a;background:rgba(8,20,38,.45)}
.aq-etapas li.on b{color:#f2c08a}
.aq-barra{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.12);z-index:2}
.aq-barra i{display:block;height:100%;width:calc(var(--p,0) * 100%);background:#f2c08a}
.aq-cota{position:absolute;z-index:2;right:max(16px,calc((100vw - var(--ancho))/2));bottom:40px;font:500 .7rem/1 var(--mono);letter-spacing:.16em;color:rgba(255,255,255,.7);padding:8px 10px;border:1px solid rgba(255,255,255,.25)}
.aq-baja{position:absolute;z-index:2;left:50%;bottom:22px;width:1px;height:38px;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.8));opacity:calc(1 - var(--p,0) * 8);animation:aq-baja 1.8s ease-in-out infinite}
@keyframes aq-baja{0%,100%{transform:translateY(-6px);opacity:.3}50%{transform:translateY(4px)}}
@media (max-width:820px){
  .aq-hero{height:270vh}
  .aq-hero-txt{top:84px;transform:none;width:auto;right:16px}
  .aq-hero h1{font-size:clamp(2.2rem,10.5vw,2.9rem);margin:.7rem 0 .7rem}
  .aq-hero-sub{font-size:.95rem}
  .aq-hero-cta{margin-top:1rem}.aq-hero-cta .aq-btn{min-height:46px;padding:0 18px;font-size:.95rem}
  .aq-3d{top:44%;height:56%;width:100%}
  .aq-etapas{left:16px;right:84px;bottom:18px;gap:6px}
  .aq-etapas li{min-width:0;flex:1;padding:9px 10px}
  .aq-etapas span{font-size:1.05rem;margin-top:4px}
  .aq-etapas small,.aq-cota,.aq-baja{display:none}
}
@media (max-width:820px) and (max-height:700px){.aq-hero-sub{display:none}}
@media (min-width:821px) and (max-height:760px){.aq-etapas small{display:none}.aq-etapas li{padding:9px 14px}.aq-hero-txt{top:46%}}

/* ---- Franja de servicios clave */
.aq-franja{background:var(--tinta);color:var(--papel);overflow:hidden}
.aq-franja ul{list-style:none;display:flex;gap:44px;padding:18px 0;white-space:nowrap;width:max-content;animation:aq-correr 38s linear infinite}
.aq-franja li{font:400 1.3rem/1 var(--serif);display:flex;align-items:center;gap:44px}
.aq-franja li::after{content:"";width:7px;height:7px;background:var(--ladrillo);transform:rotate(45deg)}
@keyframes aq-correr{to{transform:translateX(-50%)}}

.aq-sec{padding:clamp(72px,10vw,128px) 0}
.aq-cab{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:34px}

/* ---- Proyectos */
.aq-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.aq-chip{border:1px solid var(--linea);background:transparent;border-radius:999px;padding:9px 16px;cursor:pointer;font-size:.9rem;transition:all .2s}
.aq-chip[aria-pressed="true"]{background:var(--tinta);border-color:var(--tinta);color:var(--papel)}
.aq-grilla{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.aq-proy{grid-column:span 4;position:relative}
.aq-proy:nth-child(6n+1){grid-column:span 7}.aq-proy:nth-child(6n+2){grid-column:span 5}
.aq-proy-foto{position:relative;overflow:hidden;border-radius:var(--r);aspect-ratio:4/3;background:var(--papel2)}
.aq-proy-foto img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.aq-proy:hover .aq-proy-foto img{transform:scale(1.04)}
.aq-proy-tipo{position:absolute;left:12px;top:12px;font:500 .66rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;background:rgba(243,239,231,.92);padding:7px 9px;border-radius:2px}
.aq-proy-info{display:flex;justify-content:space-between;gap:12px;align-items:start;padding-top:14px;border-top:1px solid var(--linea);margin-top:14px}
.aq-proy h3{font:400 1.5rem/1.1 var(--serif)}
.aq-proy p{color:var(--gris);font-size:.88rem;margin-top:4px}
.aq-proy-datos{font:500 .7rem/1.6 var(--mono);color:var(--gris);text-align:right;white-space:nowrap}
.aq-proy a{display:inline-block;margin-top:8px;font-size:.88rem;font-weight:600;color:var(--ladrillo);text-decoration:none}
.aq-proy a:hover{text-decoration:underline}
@media (max-width:820px){.aq-grilla{grid-template-columns:1fr;gap:34px}.aq-proy,.aq-proy:nth-child(n){grid-column:auto}}

/* ---- Antes y después */
.aq-ad-sec{background:var(--papel2)}
.aq-ad-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(28px,5vw,72px);align-items:center}
.aq-ad{--corte:50%;position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;user-select:none;-webkit-user-select:none}
.aq-ad img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.aq-ad .aq-antes{clip-path:inset(0 calc(100% - var(--corte)) 0 0)}
.aq-ad-linea{position:absolute;top:0;bottom:0;left:var(--corte);width:2px;margin-left:-1px;background:#fff;pointer-events:none}
.aq-ad-linea::after{content:"⟷";position:absolute;top:50%;left:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#fff;color:var(--tinta);display:grid;place-items:center;font-size:1.2rem;box-shadow:0 4px 18px rgba(0,0,0,.25)}
.aq-ad-et{position:absolute;top:14px;font:500 .68rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;background:rgba(23,22,20,.75);color:#fff;padding:8px 10px;border-radius:2px;pointer-events:none}
.aq-ad-et.a{left:14px}.aq-ad-et.d{right:14px}
.aq-ad input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.aq-ad-lista{list-style:none;margin-top:22px;display:grid;gap:12px}
.aq-ad-lista li{display:flex;gap:12px;align-items:baseline}
.aq-ad-lista li::before{content:"";flex:none;width:8px;height:8px;background:var(--ladrillo);transform:rotate(45deg) translateY(-2px)}
@media (max-width:820px){.aq-ad-grid{grid-template-columns:1fr}}

/* ---- Servicios */
.aq-serv{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--linea);border-left:1px solid var(--linea)}
.aq-serv li{list-style:none;padding:30px 28px 32px;border-right:1px solid var(--linea);border-bottom:1px solid var(--linea);display:flex;flex-direction:column;gap:10px;transition:background .25s}
.aq-serv li:hover{background:#fbf9f4}
.aq-serv svg{width:38px;height:38px;color:var(--ladrillo)}
.aq-serv h3{font:400 1.55rem/1.1 var(--serif);margin-top:6px}
.aq-serv p{color:var(--gris);font-size:.94rem;flex:1}
.aq-serv a{font-size:.88rem;font-weight:600;color:var(--tinta);text-decoration:none;border-bottom:1px solid var(--ladrillo);align-self:start;padding-bottom:2px}
@media (max-width:900px){.aq-serv{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.aq-serv{grid-template-columns:1fr}.aq-serv li{padding:24px 20px}}

/* ---- Cómo trabajamos */
.aq-pasos-sec{background:var(--tinta);color:var(--papel)}
.aq-pasos-sec .aq-sub{color:rgba(243,239,231,.7)}
.aq-pasos-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(32px,6vw,90px);align-items:start}
.aq-pasos-grid > img{border-radius:var(--r);position:sticky;top:96px;aspect-ratio:3/4;object-fit:cover;width:100%}
.aq-pasos{list-style:none;counter-reset:p;margin-top:30px}
.aq-pasos li{counter-increment:p;display:grid;grid-template-columns:56px 1fr;gap:4px 16px;padding:22px 0;border-top:1px solid rgba(243,239,231,.16)}
.aq-pasos li::before{content:"0" counter(p);font:500 .78rem/1.9 var(--mono);color:#f2c08a;grid-row:span 2}
.aq-pasos b{font:400 1.55rem/1.15 var(--serif);font-weight:400}
.aq-pasos span{color:rgba(243,239,231,.72);font-size:.95rem}
@media (max-width:820px){.aq-pasos-grid{grid-template-columns:1fr}.aq-pasos-grid > img{position:static;aspect-ratio:4/3;order:2}}

/* ---- Contanos tu proyecto */
.aq-form-sec .aq-wrap{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(28px,5vw,80px);align-items:start}
.aq-form{background:#fbf9f4;border:1px solid var(--linea);border-radius:var(--r);padding:clamp(20px,3.5vw,34px);display:grid;gap:20px}
.aq-field > span,.aq-field-t{display:block;font:500 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gris);margin-bottom:10px}
.aq-pills{display:flex;flex-wrap:wrap;gap:8px}
.aq-pills button{border:1px solid var(--linea);background:#fff;border-radius:999px;padding:9px 14px;cursor:pointer;font-size:.9rem;transition:all .15s}
.aq-pills button[aria-checked="true"]{background:var(--tinta);color:var(--papel);border-color:var(--tinta)}
.sin-terreno .aq-terreno{display:none}
.aq-field input:not([type=range]),.aq-field textarea{width:100%;border:1px solid var(--linea);background:#fff;border-radius:var(--r);padding:12px 14px;font-size:1rem}
.aq-field input:focus,.aq-field textarea:focus{outline:2px solid var(--ladrillo);outline-offset:1px;border-color:transparent}
.aq-fila{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){.aq-fila{grid-template-columns:1fr}}
.aq-m2{display:grid;grid-template-columns:1fr 92px;gap:18px;align-items:center}
.aq-m2-val{font:400 2.2rem/1 var(--serif)}.aq-m2-val small{font:500 .8rem var(--mono);color:var(--gris);margin-left:4px}
.aq-m2 input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--ladrillo) var(--lleno,30%),var(--linea) var(--lleno,30%));margin-top:16px}
.aq-m2 input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid var(--ladrillo);box-shadow:0 2px 6px rgba(0,0,0,.2);cursor:pointer}
.aq-m2 input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid var(--ladrillo);cursor:pointer}
.aq-lote{aspect-ratio:1;border:1px dashed #b9b0a1;position:relative;background:repeating-linear-gradient(45deg,transparent 0 6px,rgba(0,0,0,.03) 6px 7px)}
.aq-lote i{position:absolute;left:0;bottom:0;background:rgba(185,83,44,.16);border:1.5px solid var(--ladrillo);transition:width .15s,height .15s}
.aq-form .aq-btn{width:100%}
.aq-nota{font-size:.82rem;color:var(--gris);text-align:center;margin-top:-6px}
@media (max-width:820px){.aq-form-sec .aq-wrap{grid-template-columns:1fr}}

/* ---- Preguntas */
.aq-faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(28px,5vw,80px)}
.aq-faq details{border-top:1px solid var(--linea);padding:4px 0}
.aq-faq details:last-child{border-bottom:1px solid var(--linea)}
.aq-faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;position:relative;font-weight:600}
.aq-faq summary::-webkit-details-marker{display:none}
.aq-faq summary::after{content:"+";position:absolute;right:4px;top:12px;font:300 1.7rem/1 var(--sans);color:var(--ladrillo);transition:transform .2s}
.aq-faq details[open] summary::after{transform:rotate(45deg)}
.aq-faq details p{color:var(--gris);padding:0 0 20px;max-width:640px}
@media (max-width:820px){.aq-faq-grid{grid-template-columns:1fr}}

/* ---- Cierre y pie */
.aq-cierre{position:relative;color:#fff;text-align:center;overflow:hidden}
.aq-cierre img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.aq-cierre::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,20,36,.55),rgba(14,20,36,.75));z-index:1}
.aq-cierre .aq-wrap{position:relative;z-index:2;padding:clamp(90px,14vw,170px) 0}
.aq-cierre .aq-h2{font-size:clamp(2.4rem,6vw,4.4rem)}.aq-cierre .aq-h2 em{color:#f2c08a}
.aq-cierre p{color:rgba(255,255,255,.82);max-width:520px;margin:0 auto 28px}
.aq-pie{padding:42px 0 110px;font-size:.88rem;color:var(--gris)}
.aq-pie .aq-wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.aq-pie .aq-logo{color:var(--tinta)}
.aq-muestra{font:500 .7rem/1.5 var(--mono);letter-spacing:.06em;width:100%;border-top:1px solid var(--linea);padding-top:18px;margin-top:6px}
.aq-wa-fijo{position:fixed;right:16px;bottom:16px;z-index:40;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.aq-wa-fijo svg{width:30px;height:30px}
@media (min-width:901px){.aq-wa-fijo{display:none}}
@media (prefers-reduced-motion:reduce){.aq-franja ul,.aq-baja{animation:none}html{scroll-behavior:auto}}
