@font-face{font-family:Gill;src:url("assets/fonts/GillSansNova-Light.ttf") format("truetype");font-weight:300;font-display:swap}@font-face{font-family:Gill;src:url("assets/fonts/GillSansNova-Book.ttf") format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Gill;src:url("assets/fonts/GillSansNova-SemiBold.ttf") format("truetype");font-weight:600;font-display:swap}
:root{--cream:#f9f5ee;--ink:#252526;--muted:#6d6b66;--line:#d6d0c7;--terracotta:#bf663d}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Gill,Arial,sans-serif;color:var(--ink);background:var(--cream)}a{color:inherit;text-decoration:none}.site-shell{position:relative;height:100dvh;display:grid;grid-template-columns:minmax(330px,32vw) 1fr;overflow:hidden}.intro-panel{position:relative;z-index:2;isolation:isolate;overflow:hidden;padding:clamp(26px,3vw,52px);display:flex;flex-direction:column;justify-content:space-between;background:var(--cream);min-height:0}.intro-top,.gallery-header,.gallery-footer,.intro-footer,.contact-header,.contact-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.logo{display:block;width:min(220px,54%);height:auto;filter:brightness(0) contrast(1.2)}.tag,.eyebrow,.gallery-header{font-size:11px;letter-spacing:.18em;text-transform:uppercase}.tag{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;white-space:nowrap}.tag::before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:var(--ink)}.intro-content{margin:auto 0;padding:30px 0}.eyebrow{margin:0 0 34px;color:var(--muted)}h1{font-weight:300;font-size:clamp(42px,4.1vw,76px);letter-spacing:-.055em;line-height:.92;margin:0;max-width:500px}.description{font-size:clamp(16px,1.2vw,20px);line-height:1.45;color:#595852;max-width:390px;margin:40px 0 0}.cta-group{display:flex;flex-wrap:wrap;gap:12px;margin-top:42px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--ink);border-radius:999px;padding:14px 20px 13px;font-size:13px;letter-spacing:.07em;line-height:1;transition:background .25s,color .25s,box-shadow .25s,transform .25s}.button-dark{background:var(--ink);color:var(--cream)}.button-dark:hover{background:var(--terracotta);border-color:var(--terracotta);box-shadow:0 8px 18px rgba(191,102,61,.25);transform:translateY(-2px)}.button-outline:hover{background:var(--ink);color:var(--cream);box-shadow:0 8px 18px rgba(37,37,38,.14);transform:translateY(-2px)}.intro-footer{font-size:13px;line-height:1.48;color:#64615d}.intro-footer p{margin:0}.social-links{display:flex;gap:10px}.social-links a{display:grid;place-items:center;width:34px;height:34px;border:1px solid #8e8a84;border-radius:50%;font-size:12px;font-weight:600}.social-links a:hover{background:var(--ink);color:var(--cream)}
.gallery-panel{position:relative;z-index:1;isolation:isolate;overflow:hidden;background:#ebe5dc;min-width:0;height:100dvh;padding:0;display:block}.carousel-window{position:absolute;inset:0;overflow:hidden;min-width:0;outline:none;contain:layout paint}.carousel-window:focus-visible{outline:2px solid var(--ink);outline-offset:-3px}.carousel-track{height:100%;display:flex;gap:1px;width:max-content;transform:translateZ(0)}.project-card{position:relative;flex:0 0 clamp(285px,35vw,550px);height:100%;min-height:0;overflow:hidden;background:#bbb}.project-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.project-card:hover img{transform:scale(1.035)}.card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.02) 52%,rgba(0,0,0,.48) 100%)}.project-card span{position:absolute;top:34px;left:28px;color:#fff;font-size:15px}.project-card h2{position:absolute;top:61px;left:28px;bottom:auto;margin:0;color:#fff;font-size:clamp(20px,1.8vw,32px);line-height:1;font-weight:300;letter-spacing:-.035em;max-width:78%}.gallery-footer{position:absolute;z-index:3;bottom:0;left:0;right:0;padding:22px clamp(24px,3vw,52px);font-size:12px;color:#f9f5ee;background:linear-gradient(0deg,rgba(0,0,0,.42),rgba(0,0,0,0));justify-content:flex-end}.carousel-controls{display:flex;gap:8px}.carousel-controls button{width:42px;height:42px;border:1px solid rgba(249,245,238,.8);border-radius:50%;background:rgba(0,0,0,.15);color:#fff;font:300 20px Gill,Arial;cursor:pointer;transition:background .25s,color .25s,transform .25s}.carousel-controls button:hover{background:var(--cream);color:var(--ink);transform:translateY(-2px)}
.contact-body{background:var(--cream)}.contact-page{min-height:100dvh;padding:clamp(28px,5vw,72px);display:grid;grid-template-rows:auto 1fr auto}.contact-header .logo{width:min(220px,46vw)}.back-link{font-size:13px;letter-spacing:.08em;border-bottom:1px solid var(--ink);padding-bottom:4px}.contact-content{width:min(1120px,100%);display:grid;grid-template-columns:.85fr 1fr;gap:clamp(52px,11vw,180px);align-items:center;margin:auto}.contact-content h1{font-size:clamp(56px,6.5vw,102px)}.contact-form{display:grid;gap:22px}.contact-form label{display:grid;gap:8px;text-transform:uppercase;font-size:11px;letter-spacing:.14em;color:#5f5c57}.contact-form input,.contact-form textarea{appearance:none;border:0;border-bottom:1px solid #aaa39a;border-radius:0;background:transparent;padding:5px 0 10px;color:var(--ink);font:400 18px Gill,Arial;outline:0}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink)}.contact-form textarea{min-height:72px;resize:vertical}.contact-form .button{justify-self:start;cursor:pointer}.form-message{margin:0;color:#57544f;font-size:15px}.contact-footer{border-top:1px solid var(--line);padding-top:17px;color:#6d6962;font-size:12px}
@media(max-width:900px){body{overflow:auto}.site-shell{height:auto;min-height:100dvh;display:block;overflow:visible}.intro-panel{min-height:620px}.gallery-panel{height:690px}.project-card{flex-basis:min(80vw,430px)}.contact-content{grid-template-columns:1fr;padding:80px 0;gap:50px}.contact-footer{line-height:1.8}.contact-footer span{display:none}}@media(max-width:540px){.intro-panel{min-height:600px;padding:26px}.logo{width:145px}.tag{font-size:9px}.intro-content{padding:38px 0}.intro-footer{font-size:11px}.gallery-panel{height:625px}.gallery-header{height:72px}.gallery-header span:last-child{display:none}.gallery-footer{justify-content:flex-end}.project-card{flex-basis:84vw;min-height:0}.contact-page{padding:26px}.contact-content{padding:65px 0}.contact-header .logo{width:150px}}@media(min-width:901px) and (max-height:700px){.intro-panel{padding:20px 28px}.intro-content{padding:16px 0}.eyebrow{margin-bottom:18px}h1{font-size:clamp(35px,3.2vw,55px)}.description{margin-top:23px;font-size:15px}.cta-group{margin-top:27px}.button{padding:12px 16px 11px;font-size:12px}.intro-footer{font-size:10px}.social-links a{width:25px;height:25px;font-size:9px}}
#gallery.carousel-window{overflow-x:hidden!important;overflow-y:hidden!important;min-width:0!important}

/* Refined material, signature and interaction details */
.intro-panel{background:rgba(249,245,238,.9);border-right:1px solid rgba(255,255,255,.72);box-shadow:12px 0 38px rgba(37,37,38,.08),inset -1px 0 rgba(37,37,38,.06);backdrop-filter:blur(18px) saturate(115%);-webkit-backdrop-filter:blur(18px) saturate(115%)}
.intro-panel::before{content:"";position:absolute;inset:1px;background:linear-gradient(135deg,rgba(255,255,255,.38),rgba(255,255,255,0) 42%);pointer-events:none;z-index:-1}
.tag::before{background:#15191a;animation:coming-soon-pulse 1.7s ease-in-out infinite alternate}
.social-links a{transition:background .25s,color .25s,border-color .25s,transform .25s}
.social-links a:hover{background:var(--terracotta);border-color:var(--terracotta);color:var(--cream);transform:translateY(-2px)}
.gallery-year{position:absolute;z-index:4;top:20px;right:clamp(24px,3vw,52px);margin:0;color:#fff;font-size:11px;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 1px 12px rgba(0,0,0,.3);pointer-events:none}
@keyframes coming-soon-pulse{0%{background:#15191a;box-shadow:0 0 0 0 rgba(21,25,26,.26)}100%{background:var(--terracotta);box-shadow:0 0 0 6px rgba(191,102,61,0)}}
.intro-panel>*{position:relative;z-index:1}.intro-panel::before{z-index:0}
@media(max-width:540px){.gallery-year{top:16px;font-size:9px}.intro-panel::before{background:linear-gradient(135deg,rgba(255,255,255,.3),rgba(255,255,255,0) 45%)}}

/* More pronounced glass treatment for the cream panel and carousel controls */
.intro-panel{background:rgba(249,245,238,.58);border-right:1px solid rgba(255,255,255,.94);box-shadow:18px 0 46px rgba(37,37,38,.14),inset 0 1px 0 rgba(255,255,255,.88),inset -1px 0 rgba(37,37,38,.08);backdrop-filter:blur(30px) saturate(145%) brightness(1.08);-webkit-backdrop-filter:blur(30px) saturate(145%) brightness(1.08)}
.intro-panel::before{inset:0;background:linear-gradient(128deg,rgba(255,255,255,.58),rgba(255,255,255,.14) 38%,rgba(249,245,238,.08) 68%,rgba(255,255,255,.28));border-right:1px solid rgba(255,255,255,.32)}
.carousel-controls{gap:12px}
.carousel-controls button{display:grid;place-items:center;width:54px;height:54px;padding:0;border:1px solid rgba(255,255,255,.72);background:rgba(249,245,238,.16);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 8px 24px rgba(0,0,0,.16);backdrop-filter:blur(13px) saturate(125%);-webkit-backdrop-filter:blur(13px) saturate(125%)}
.carousel-controls button svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.carousel-controls button:hover{background:rgba(249,245,238,.82);border-color:rgba(249,245,238,.95);color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 11px 26px rgba(0,0,0,.2);transform:translateY(-3px)}
@media(max-width:540px){.carousel-controls{gap:9px}.carousel-controls button{width:48px;height:48px}.carousel-controls button svg{width:19px;height:19px}}

/* Contact page — same editorial glass language as the coming-soon page */
.contact-body{overflow:hidden;background:#15191a}
.contact-page{position:relative;isolation:isolate;overflow:hidden;min-height:100dvh;padding:clamp(26px,3.5vw,56px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(20px,2.6vh,34px);background:#15191a}
.contact-backdrop{position:absolute;z-index:0;inset:0;background:url("assets/images/recibidor.jpeg") center/cover no-repeat;transform:scale(1.03)}
.contact-page::before{content:"";position:absolute;z-index:1;inset:0;background:rgba(21,25,26,.27)}
.contact-header,.contact-layout,.contact-footer{position:relative;z-index:2}
.contact-header{min-height:42px}.contact-header .logo{width:min(215px,45vw);filter:none}.back-link{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(249,245,238,.72);border-radius:999px;padding:10px 16px 9px;color:var(--cream);font-size:11px;letter-spacing:.12em;transition:background .25s,color .25s,transform .25s}.back-link:hover{background:rgba(249,245,238,.9);color:var(--ink);transform:translateY(-2px)}
.contact-layout{width:min(1230px,100%);height:100%;margin:auto;display:grid;grid-template-columns:minmax(330px,.82fr) minmax(450px,1fr);gap:clamp(28px,5vw,80px);align-items:center}
.contact-intro{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,4vw,66px);color:var(--ink);background:rgba(249,245,238,.64);border:1px solid rgba(255,255,255,.8);box-shadow:0 20px 55px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.82);backdrop-filter:blur(30px) saturate(145%);-webkit-backdrop-filter:blur(30px) saturate(145%)}
.contact-intro h1{max-width:530px;font-size:clamp(52px,5.4vw,90px);line-height:.9}.contact-intro .description{max-width:385px;margin-top:36px}.contact-note{display:flex;align-items:center;gap:10px;margin:42px 0 0;color:#5a5751;font-size:13px}.contact-note span{width:7px;height:7px;border-radius:50%;background:var(--terracotta);box-shadow:0 0 0 5px rgba(191,102,61,.12)}
.contact-form{padding:clamp(30px,3.6vw,56px);display:grid;gap:30px;color:var(--ink);background:rgba(249,245,238,.84);border:1px solid rgba(255,255,255,.84);box-shadow:0 22px 58px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%)}
.contact-form-heading .eyebrow{margin-bottom:12px}.contact-form-heading p:last-child{max-width:360px;margin:0;color:#5e5b55;font-size:16px;line-height:1.35}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.contact-form label{display:grid;gap:8px;color:#54514b;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.contact-form label span{display:block}.contact-form label small{font-size:9px;letter-spacing:.06em;color:#85817b}.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(79,76,70,.28);border-radius:12px;background:rgba(255,255,255,.36);padding:13px 14px 12px;color:var(--ink);font:400 15px Gill,Arial;line-height:1.25;transition:border-color .2s,background .2s,box-shadow .2s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#89847c}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--terracotta);background:rgba(255,255,255,.62);box-shadow:0 0 0 3px rgba(191,102,61,.13)}.contact-form textarea{min-height:112px;resize:vertical}.field-full{grid-column:1/-1}.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.contact-form .button{justify-self:start;cursor:pointer}.form-message{flex:1;min-width:200px;margin:0;color:#5b5751;font-size:13px;line-height:1.35}
.contact-footer{display:flex;justify-content:space-between;gap:24px;border:0;padding:0;color:rgba(249,245,238,.88);font-size:11px;letter-spacing:.08em}.contact-footer span:last-child{max-width:300px;text-align:right;letter-spacing:0}
@media(max-width:900px){.contact-body{overflow:auto}.contact-page{height:auto;overflow:visible;min-height:100dvh}.contact-layout{grid-template-columns:1fr;align-items:stretch}.contact-intro{min-height:360px}.contact-form{max-width:none}.contact-footer{padding-top:0}.contact-footer span{display:block!important}}
@media(max-width:540px){.contact-page{padding:24px;gap:28px}.contact-header .logo{width:155px}.back-link{padding:8px 12px;font-size:10px}.contact-intro{padding:32px 27px;min-height:0}.contact-intro h1{font-size:53px}.contact-intro .description{margin-top:26px}.contact-note{margin-top:30px}.contact-form{padding:29px 24px;gap:25px}.form-grid{grid-template-columns:1fr;gap:15px}.field-full{grid-column:auto}.contact-footer{display:block;font-size:10px;line-height:1.5}.contact-footer span:last-child{margin-top:6px;text-align:left}}
@media(min-width:901px) and (max-height:800px){.contact-page{padding:24px 32px;gap:18px}.contact-layout{gap:42px}.contact-intro{padding:34px}.contact-intro h1{font-size:clamp(46px,4.6vw,68px)}.contact-intro .description{margin-top:24px;font-size:16px}.contact-note{margin-top:26px}.contact-form{padding:26px 30px;gap:22px}.form-grid{gap:13px 14px}.contact-form textarea{min-height:82px}.contact-footer{font-size:10px}}

/* Contact wizard */
.contact-wizard-page{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:clamp(20px,3vw,48px);background:#15191a}.contact-wizard-page::before{background:rgba(21,25,26,.36)}.contact-wizard-page .contact-backdrop{animation:contact-backdrop-drift 22s ease-in-out infinite alternate}.contact-glow{position:absolute;z-index:1;width:38vw;max-width:550px;aspect-ratio:1;border-radius:50%;filter:blur(34px);opacity:.28;pointer-events:none}.contact-glow-one{top:-16%;right:-8%;background:#bf663d;animation:contact-glow-float 14s ease-in-out infinite alternate}.contact-glow-two{bottom:-22%;left:-10%;background:#d9c49e;animation:contact-glow-float 17s ease-in-out infinite alternate-reverse}.contact-card{position:relative;z-index:2;width:min(1240px,100%);display:grid;grid-template-rows:auto 1fr auto;gap:clamp(22px,3vw,42px);padding:clamp(26px,4vw,60px);border:1px solid rgba(255,255,255,.78);border-radius:28px;color:var(--ink);background:rgba(249,245,238,.66);box-shadow:0 25px 80px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.92),inset 0 -1px 0 rgba(91,82,68,.1);backdrop-filter:blur(28px) saturate(145%);-webkit-backdrop-filter:blur(28px) saturate(145%)}.contact-card::before{content:"";position:absolute;inset:1px;border-radius:27px;background:linear-gradient(125deg,rgba(255,255,255,.46),rgba(255,255,255,0) 37%,rgba(249,245,238,.12) 72%,rgba(255,255,255,.3));pointer-events:none}.contact-card>*{position:relative;z-index:1}.contact-card .contact-header{min-height:42px}.contact-card .logo{filter:brightness(0) contrast(1.2)}.contact-card .back-link{border-color:rgba(37,37,38,.45);color:var(--ink);background:rgba(249,245,238,.3)}.contact-card .back-link:hover{background:var(--ink);color:var(--cream)}
.wizard-main{display:grid;grid-template-columns:minmax(270px,.7fr) minmax(440px,1.15fr);gap:clamp(34px,6vw,92px);align-items:stretch}.contact-card .contact-intro{min-height:440px;padding:clamp(8px,1vw,18px) clamp(28px,4vw,60px) clamp(8px,0vw,0) 0;border:0;border-right:1px solid rgba(68,63,57,.22);box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.contact-card .contact-intro h1{font-size:clamp(48px,5vw,78px);max-width:440px}.contact-card .contact-intro .description{margin-top:30px;font-size:clamp(16px,1.3vw,20px);max-width:340px}.wizard-progress{margin-top:auto;padding-top:42px}.wizard-progress p{margin:0 0 12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6b665f}.wizard-progress strong{font-weight:400;color:var(--ink)}.wizard-progress span{color:#8f8980}.progress-line{height:1px;background:rgba(71,67,61,.25);overflow:hidden}.progress-line span{display:block;width:33.333%;height:100%;background:var(--terracotta);transition:width .35s ease}.wizard-progress ol{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none;color:#847e75;font-size:12px}.wizard-progress li{display:flex;align-items:center;gap:8px}.wizard-progress li::before{content:"";width:5px;height:5px;border:1px solid currentColor;border-radius:50%}.wizard-progress li.is-current{color:var(--ink)}.wizard-progress li.is-current::before{background:var(--terracotta);border-color:var(--terracotta)}
.wizard-area{min-width:0;align-self:center}.contact-card .contact-form{display:block;padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.form-step h2,.wizard-success h2{max-width:580px;margin:0 0 30px;font-size:clamp(28px,2.6vw,42px);font-weight:300;letter-spacing:-.045em;line-height:1}.step-label{margin:0 0 13px;color:#716b63;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.contact-card .form-grid{gap:16px}.contact-card .contact-form label{gap:7px}.contact-card .contact-form input,.contact-card .contact-form textarea,.contact-card .contact-form select{appearance:none;width:100%;border:1px solid rgba(79,76,70,.3);border-radius:11px;background:rgba(255,255,255,.3);padding:13px 14px 12px;color:var(--ink);font:400 15px Gill,Arial;line-height:1.25;transition:border-color .2s,background .2s,box-shadow .2s}.contact-card .contact-form select{padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,#56514a 50%),linear-gradient(135deg,#56514a 50%,transparent 50%);background-position:calc(100% - 19px) 52%,calc(100% - 14px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}.contact-card .contact-form input:focus,.contact-card .contact-form textarea:focus,.contact-card .contact-form select:focus{border-color:var(--terracotta);background-color:rgba(255,255,255,.6);box-shadow:0 0 0 3px rgba(191,102,61,.13)}.field-help{display:block;margin:-1px 0 4px;color:#777168;font:400 12px/1.35 Gill,Arial;letter-spacing:0;text-transform:none}.contact-card .contact-form textarea{min-height:120px}.contact-card .form-actions{margin-top:28px}.form-actions-end{justify-content:flex-end}.contact-card .privacy-note{margin:21px 0 0;color:#69645c;font-size:11px;line-height:1.4}.wizard-success{padding:clamp(10px,2vw,26px) 0}.wizard-success p:not(.step-label){max-width:435px;margin:0 0 30px;color:#5b5650;font-size:18px;line-height:1.4}.wizard-success .button{width:max-content}
.contact-details{display:grid;grid-template-columns:.8fr 1fr 1.15fr 1.2fr;gap:22px;border-top:1px solid rgba(70,65,59,.22);padding-top:22px;color:#615c55}.contact-details>*{display:grid;gap:5px;align-content:start;font-size:12px;line-height:1.45}.contact-details strong{color:var(--ink);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.contact-details a{transition:color .2s}.contact-details a:hover{color:var(--terracotta)}
@keyframes contact-backdrop-drift{0%{transform:scale(1.07) translate3d(-1.5%,-1%,0)}100%{transform:scale(1.15) translate3d(1.5%,1%,0)}}@keyframes contact-glow-float{0%{transform:translate3d(-4%,-3%,0) scale(.94)}100%{transform:translate3d(7%,6%,0) scale(1.08)}}
@media(max-width:900px){.contact-wizard-page{display:block;padding:24px}.contact-card{max-width:720px;margin:auto}.wizard-main{grid-template-columns:1fr}.contact-card .contact-intro{min-height:0;padding:0 0 30px;border-right:0;border-bottom:1px solid rgba(68,63,57,.22)}.wizard-progress{margin-top:38px;padding-top:0}.wizard-progress ol{grid-template-columns:repeat(3,1fr);font-size:11px}.contact-details{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.contact-wizard-page{padding:14px}.contact-card{padding:25px 21px;border-radius:20px;gap:28px}.contact-card::before{border-radius:19px}.contact-card .contact-header .logo{width:152px}.contact-card .back-link{padding:8px 11px}.contact-card .contact-intro{padding-bottom:25px}.contact-card .contact-intro h1{font-size:48px}.contact-card .contact-intro .description{margin-top:22px}.wizard-progress{margin-top:30px}.wizard-progress ol{display:none}.form-step h2,.wizard-success h2{margin-bottom:25px;font-size:32px}.contact-card .form-grid{grid-template-columns:1fr;gap:14px}.contact-card .field-full{grid-column:auto}.contact-card .form-actions{margin-top:24px}.contact-card .form-actions .button{width:100%}.contact-card .form-actions:not(.form-actions-end){display:grid;grid-template-columns:1fr 1fr}.contact-details{grid-template-columns:1fr;gap:18px;padding-top:20px}.contact-glow{opacity:.2}}
@media(prefers-reduced-motion:reduce){.contact-wizard-page .contact-backdrop,.contact-glow{animation:none}.progress-line span{transition:none}}

/* Custom selects keep the IMNOVA palette instead of the operating-system menu colours. */
.contact-card .button-back{background:#15191a;border-color:#15191a;color:var(--cream)}.contact-card .button-back:hover{background:var(--terracotta);border-color:var(--terracotta)}
.contact-card .custom-select{position:relative}.contact-card .native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;inset:0!important}.contact-card .select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:45px;border:1px solid rgba(79,76,70,.3);border-radius:11px;background:rgba(255,255,255,.3);padding:12px 43px 11px 14px;color:#89847c;font:400 15px/1.25 Gill,Arial;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;position:relative}.contact-card .select-trigger::after{content:"";position:absolute;right:17px;top:50%;width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .2s}.contact-card .select-trigger.has-value{color:var(--ink)}.contact-card .custom-select.is-open .select-trigger,.contact-card .select-trigger:focus{outline:0;border-color:var(--terracotta);background:rgba(255,255,255,.62);box-shadow:0 0 0 3px rgba(191,102,61,.13)}.contact-card .custom-select.is-open .select-trigger::after{transform:translateY(-30%) rotate(225deg)}.select-options{position:absolute;z-index:10;top:calc(100% + 7px);left:0;right:0;overflow:hidden;border:1px solid rgba(91,81,69,.35);border-radius:12px;background:rgba(249,245,238,.98);box-shadow:0 16px 30px rgba(37,37,38,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.select-options[hidden]{display:none}.select-options [role=option]{display:block;width:100%;border:0;background:transparent;padding:11px 14px;color:var(--ink);font:400 15px/1.25 Gill,Arial;text-align:left;cursor:pointer;transition:background .16s,color .16s}.select-options [role=option]:disabled{display:none}.select-options [role=option]:hover,.select-options [role=option]:focus,.select-options [role=option][aria-selected=true]{outline:0;background:var(--terracotta);color:var(--cream)}
.contact-card .wizard-success{min-height:390px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(22px,4vw,58px) 0}.contact-card .wizard-success[hidden],.contact-card .contact-details[hidden]{display:none}.contact-card:has(.wizard-main[hidden]){grid-template-rows:auto 1fr auto}.contact-card:has(.wizard-main[hidden]) .contact-header{border-bottom:1px solid rgba(70,65,59,.22);padding-bottom:22px}.contact-card:has(.wizard-main[hidden]) .contact-details{margin-top:0}
@media(max-width:540px){.contact-card .form-actions:not(.form-actions-end){display:grid;grid-template-columns:1fr 1fr}.contact-card .button-back{background:#15191a}.contact-card .select-trigger{font-size:14px}.select-options [role=option]{font-size:14px}.contact-card .wizard-success{min-height:330px;padding:18px 0}.contact-card .wizard-success .button{width:100%}}
@media(min-width:901px) and (max-height:800px){.contact-wizard-page{padding:16px}.contact-card{gap:18px;padding:24px 32px}.wizard-main{gap:42px}.contact-card .contact-intro{min-height:350px;padding-right:38px}.contact-card .contact-intro h1{font-size:clamp(44px,4.4vw,60px)}.contact-card .contact-intro .description{margin-top:20px;font-size:16px}.wizard-progress{padding-top:24px}.wizard-progress ol{display:none}.form-step h2,.wizard-success h2{margin-bottom:20px;font-size:32px}.step-label{margin-bottom:9px}.contact-card .form-grid{gap:11px 13px}.contact-card .contact-form input,.contact-card .contact-form textarea{padding:10px 12px}.contact-card .select-trigger{min-height:40px;padding:10px 39px 9px 12px}.contact-card .contact-form textarea{min-height:82px}.contact-card .form-actions{margin-top:18px}.contact-card .privacy-note{margin-top:14px}.contact-card .wizard-success{min-height:330px;padding:20px 0}}

/* Lighter, more compact contact experience. */
.contact-card{width:min(1040px,100%);padding:clamp(24px,3.1vw,44px);background:rgba(249,245,238,.78);box-shadow:0 18px 52px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(91,82,68,.08);backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%)}.wizard-main{grid-template-columns:minmax(250px,.65fr) minmax(390px,1fr);gap:clamp(28px,4.5vw,58px)}.contact-card .contact-intro{min-height:390px;padding-right:clamp(26px,3vw,42px)}.contact-card .contact-intro h1{font-size:clamp(44px,4.35vw,66px)}.contact-card .contact-intro .description{margin-top:24px;font-size:17px}.form-step h2,.wizard-success h2{font-size:clamp(27px,2.25vw,36px);margin-bottom:24px}.contact-card .contact-form textarea{min-height:102px}.contact-card .contact-details{gap:16px}.contact-card .wizard-success{min-height:330px}.contact-wizard-page .contact-backdrop{will-change:transform}.contact-glow{filter:none;opacity:.13;animation:none}.select-options{backdrop-filter:none;-webkit-backdrop-filter:none}.contact-card .custom-select{contain:layout style paint}
@media(min-width:901px) and (max-height:800px){.contact-card{padding:22px 28px}.wizard-main{gap:34px}.contact-card .contact-intro{min-height:330px;padding-right:32px}.contact-card .contact-intro h1{font-size:clamp(42px,4vw,56px)}.contact-card .contact-intro .description{font-size:15px}.form-step h2,.wizard-success h2{font-size:30px}.contact-card .wizard-success{min-height:290px}}

/* Native selects: the browser owns their popup interaction for maximum responsiveness. */
.contact-card .contact-form select{appearance:auto;-webkit-appearance:auto;background-image:none;padding-right:14px;cursor:pointer}.contact-card .contact-form select:focus{outline:2px solid rgba(191,102,61,.3);outline-offset:1px}

/* The confirmation replaces the wizard instead of sitting below it. */
.contact-card .wizard-main[hidden]{display:none!important}

/* Área táctil accesible sin alterar la composición aprobada. */
.button,.back-link{min-height:44px}

/* Clear visual affordance for direct contact actions. */
.contact-details .contact-link{min-height:76px;padding:12px 13px;border:1px solid rgba(79,76,70,.28);border-radius:12px;background:rgba(255,255,255,.2);color:var(--ink);transition:background .2s,border-color .2s,color .2s,transform .2s}.contact-details .contact-link strong{display:flex;align-items:center;justify-content:space-between;gap:8px}.contact-details .contact-link strong span{font-size:14px;transition:transform .2s}.contact-details .contact-link span{color:#57524b}.contact-details .contact-link em{display:block;margin-top:3px;color:var(--terracotta);font-size:10px;font-style:normal;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.contact-details .contact-link:hover,.contact-details .contact-link:focus-visible{border-color:var(--terracotta);background:var(--terracotta);color:var(--cream);outline:0;transform:translateY(-2px)}.contact-details .contact-link:hover strong span,.contact-details .contact-link:focus-visible strong span{transform:translate(2px,-2px)}.contact-details .contact-link:hover span,.contact-details .contact-link:focus-visible span,.contact-details .contact-link:hover em,.contact-details .contact-link:focus-visible em{color:var(--cream)}

/* Lightweight background gallery and editorial motion. */
.contact-wizard-page .contact-backdrop{overflow:hidden;background:none;animation:none;will-change:auto}.contact-backdrop-slide{position:absolute;inset:-3%;opacity:0;background:center/cover no-repeat;transform:scale(1.04);transition:opacity 1.35s ease;will-change:opacity,transform}.contact-backdrop-slide.is-active{opacity:1;animation:contact-slide-drift 9s ease-in-out both}.form-step.is-active{will-change:transform,opacity}.wizard-success{will-change:transform,opacity}@keyframes contact-slide-drift{0%{transform:scale(1.04) translate3d(-.8%,-.5%,0)}100%{transform:scale(1.11) translate3d(.8%,.5%,0)}}
.is-revealing{animation:form-reveal var(--reveal-duration,.5s) cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0s) both}@keyframes form-reveal{from{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:reduce){.contact-backdrop-slide{transition:none!important}.contact-backdrop-slide.is-active{animation:none!important}}

/* Responsive safeguard: this rule follows the compact desktop layout so it cannot be overridden by it. */
@media(max-width:900px){.contact-wizard-page{overflow-x:clip}.contact-card,.contact-card .contact-header,.wizard-main,.wizard-area{min-width:0}.wizard-main{grid-template-columns:minmax(0,1fr)}.contact-card .contact-intro{min-width:0;padding-right:0}.contact-card .contact-header{width:100%}}
@media(max-width:540px){.contact-card .contact-header{flex-wrap:wrap}.contact-card .back-link{margin-left:auto}.wizard-main{width:100%}.contact-card .form-actions{min-width:0}}

/* Vector arrow prevents iOS from replacing the desktop glyph with a colour emoji. */
.button-arrow{display:block;flex:0 0 14px;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}

/* The gallery is composited with translate3d for consistently smooth motion. */
.carousel-window{cursor:grab;touch-action:pan-y}
.carousel-window.is-dragging{cursor:grabbing;user-select:none}
.carousel-track{gap:0;will-change:transform;backface-visibility:hidden;transform-style:preserve-3d}

/* Slightly wider cards reveal more of each project without affecting page overflow. */
@media(min-width:901px){.project-card{flex-basis:clamp(310px,38vw,610px)}}
@media(min-width:581px) and (max-width:900px){.project-card{flex-basis:min(84vw,460px)}}
@media(max-width:580px){.project-card{flex-basis:88vw}}

/* Project name and location remain paired at every card width. */
.project-card{border-right:1px solid rgba(249,245,238,.62);background-clip:padding-box;backface-visibility:hidden}.project-card img{backface-visibility:hidden;transform:translateZ(0)}.project-meta{position:absolute;top:34px;left:28px;z-index:2;max-width:calc(100% - 56px);color:#fff;pointer-events:none}
.project-meta>span{position:static;display:block;color:inherit;font-size:15px;line-height:1}
.project-copy{margin-top:18px}
.project-copy h2{position:static;margin:0;color:inherit;font-size:clamp(20px,1.8vw,32px);line-height:1;font-weight:300;letter-spacing:-.035em;max-width:none}
.project-location{margin:10px 0 0;padding:0;border:0;background:transparent;color:rgba(249,245,238,.9);font-size:10px;font-weight:500;letter-spacing:.14em;line-height:1.1;text-transform:uppercase}

/* Full-project viewer stays within the gallery, so it preserves the landing composition. */
.project-expand{position:absolute;z-index:3;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.project-expand:focus-visible{outline:2px solid #f9f5ee;outline-offset:-5px}.project-lightbox{position:absolute;z-index:12;inset:0;display:grid;place-items:center;padding:clamp(20px,3vw,44px);background:rgba(12,14,14,.94);color:#f9f5ee;opacity:0;transition:opacity .24s ease}.project-lightbox[hidden]{display:none}.project-lightbox.is-open{opacity:1}.project-lightbox figure{display:grid;gap:12px;justify-items:center;max-width:100%;margin:0}.project-lightbox img{display:block;max-width:100%;max-height:calc(100dvh - 112px);object-fit:contain}.project-lightbox figcaption{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(249,245,238,.78)}.project-lightbox-close{position:absolute;z-index:1;top:clamp(16px,2vw,30px);right:clamp(16px,2vw,30px);display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid rgba(249,245,238,.6);border-radius:50%;background:rgba(21,25,26,.28);color:#f9f5ee;font:300 32px/1 Arial,sans-serif;cursor:pointer;transition:background .2s,transform .2s}.project-lightbox-close:hover,.project-lightbox-close:focus-visible{outline:0;background:#bf663d;transform:scale(1.04)}

/* A single composited divider replaces sub-pixel gaps, avoiding flicker under the controls. */
.gallery-footer{isolation:isolate}.carousel-controls{position:relative;z-index:1;isolation:isolate}.carousel-controls::before{display:none}.carousel-controls button{background:linear-gradient(135deg,rgba(249,245,238,.3),rgba(249,245,238,.1));border-color:rgba(249,245,238,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 9px 25px rgba(0,0,0,.18);backdrop-filter:blur(14px) saturate(135%);-webkit-backdrop-filter:blur(14px) saturate(135%)}
@media(max-width:900px){.project-meta{top:22px;left:18px;max-width:calc(100% - 36px);padding:12px 14px 13px;border:1px solid rgba(255,255,255,.35);border-radius:14px;background:linear-gradient(135deg,rgba(21,25,26,.56),rgba(21,25,26,.24));box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 24px rgba(0,0,0,.16);backdrop-filter:blur(13px) saturate(125%);-webkit-backdrop-filter:blur(13px) saturate(125%)}.project-meta>span{font-size:13px}.project-copy{margin-top:11px}.project-copy h2{font-size:clamp(18px,4vw,27px);max-width:100%}.project-location{margin-top:8px;font-size:9px}.project-lightbox{padding:16px}.project-lightbox img{max-height:calc(100% - 86px)}}
.project-lightbox figure{width:100%;height:100%;grid-template-rows:minmax(0,1fr) auto}.project-lightbox img{width:100%;height:100%;min-height:0;max-width:100%;max-height:100%;object-fit:contain}.project-lightbox figcaption{padding-bottom:2px}
@media(min-width:901px){.project-lightbox{display:none!important}}
