/* Section corrections D-114 / D-115. The approved blue 3D composition is retained. */
:root{--gold:#d3b77d;--gold-light:#f0dfb4;--gold-finish:linear-gradient(112deg,#a48851 0%,#e6cf98 23%,#fff0c5 40%,#c2a064 58%,#edd6a1 76%,#ab8b50 100%)}
.mobile-scene{display:none}
.gold-text{color:var(--gold);background:var(--gold-finish);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 12px #a8863226)}
.gold-mark{position:relative}.gold-mark img{opacity:0}.gold-mark:after{content:'';position:absolute;top:0;left:0;width:100%;aspect-ratio:3;transform:translateY(-27.2%);background:var(--gold-finish);mask:url('assets/khaoz-blanco.png') center/contain no-repeat;-webkit-mask:url('assets/khaoz-blanco.png') center/contain no-repeat}
.section-label .line,.tag-line{background:linear-gradient(90deg,var(--gold),#e6d6b130)}.case-number,.case-number~span .case-subtitle,.form-top,.sculpture-tag,.process-bottom a span:last-child,.contact-channels span,.footer-links span{color:var(--gold)}.official-link{border-bottom-color:#d3b77d70}.official-link>span:last-child{color:var(--gold)}.nav .contact{border-color:#d3b77d77}.languages button[aria-pressed=true]{color:var(--gold-light)}.primary>span:last-child{color:#7b602c}.page-progress{background:linear-gradient(90deg,#9bbcc8,var(--gold-light));box-shadow:0 0 10px #d3b77d44}
/* A still display above a layered background: no pointer tilt or pointer glare. */
.project-depth{isolation:isolate}.project-depth:after{content:'';position:absolute;inset:15px -8px -14px 10px;background:linear-gradient(145deg,#15233188,#091016);border:1px solid #d3b77d23;z-index:-1;box-shadow:0 35px 60px #0008;pointer-events:none}.live-browser{transform:none!important;transition:box-shadow .7s;box-shadow:0 35px 90px #000b,0 10px 25px #0008,inset 0 1px 0 #ffffff18;border-color:#a7b9c331}.live-browser:after{background:linear-gradient(135deg,#f5e7c805,transparent 45%);opacity:.6}
/* One softly illuminated plate moves between the statements, without numbers. */
.service-details{position:relative;isolation:isolate}.service-hover-surface{position:absolute;left:0;right:0;top:0;height:var(--item-height,150px);transform:translateY(var(--item-top,0px));background:linear-gradient(105deg,#39658138,#1a324323 75%,transparent);border-left:1px solid #d3b77d99;border-top:1px solid #b8d7e820;border-bottom:1px solid #ffffff08;box-shadow:0 15px 35px #0004,inset 0 1px 0 #ffffff09;pointer-events:none;z-index:-1;opacity:0;transition:transform .55s cubic-bezier(.2,.7,.2,1),height .5s,opacity .35s}.has-selection .service-hover-surface{opacity:1}.service-item{display:block;padding:28px 22px;border-top-color:#ffffff20;transition:opacity .9s,transform .65s cubic-bezier(.2,.7,.2,1)}.service-item:hover{padding:28px 22px;background:none}.service-item h3{transition:color .45s,text-shadow .45s}.service-item.is-selected h3{color:var(--gold-light);text-shadow:0 3px 18px #dec69518}.motion-ready .service-item.is-revealed.is-selected{transform:translate3d(7px,-2px,0)}
/* Stages stand above the track; a luminous path travels through the scenery. */
.process{background:#0c131b}.process-atmosphere>img{opacity:.8;width:68%;object-position:50% 72%}.process-shade{background:linear-gradient(90deg,#0b121b 9%,#0b121bcc 48%,#0b121b3d),linear-gradient(0deg,#0b121b,transparent 58%,#0b121bb0)}.journey-path{position:absolute;inset:0;width:100%;height:100%;transform:perspective(1400px) rotateX(15deg) translateY(var(--scroll-drift));filter:drop-shadow(0 0 12px #d7b77933);opacity:.55}.journey-path path{fill:none;stroke:url(#journey-gold);stroke-width:1.2;stroke-dasharray:180 950;animation:journey-travel 18s linear infinite;animation-play-state:paused}.journey-path path:nth-child(2){stroke-width:.55;opacity:.5;animation-delay:-7s}.is-active .journey-path path{animation-play-state:running}.process-steps{gap:24px;margin-top:75px;perspective:1400px}.process-steps:before{display:none}.process-step{position:relative;padding:30px 24px 32px;background:linear-gradient(145deg,#1c2b38bd,#0b121bd6);border:1px solid #b4c8d12b;border-top-color:#dfcaa04a;box-shadow:0 20px 55px #0006,inset 0 1px 0 #f3ddb314;isolation:isolate;transition:transform .65s cubic-bezier(.2,.7,.2,1),opacity .9s,border-color .4s,box-shadow .4s}.process-step:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,50%),#b8dce810,transparent 70%)}.motion-ready .process-step.is-revealed{transform:perspective(1300px) rotateX(var(--depth-x,0deg)) rotateY(var(--depth-y,0deg)) translateY(var(--step-lift,0px))}.process-step:hover{--step-lift:-7px;border-color:#ddc79977;box-shadow:0 30px 70px #0009,inset 0 1px 0 #f3ddb329}.step-number{font-size:96px;margin-bottom:24px;background:var(--gold-finish);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold);-webkit-text-stroke:0;text-shadow:none!important;filter:drop-shadow(0 8px 15px #0006)}.step-node{margin-bottom:26px;border-color:var(--gold);background:#09121c;box-shadow:0 0 0 6px #d8bb9e0e}.process-step h3{font-size:27px;line-height:1.13}.process-step p{font-size:16px;line-height:1.7;color:#c9d2d9}.process-bottom{border-top-color:#d3b77d33}
/* Questions move into the sporting palette, with dark surfaces and warm edges. */
.faq{background:radial-gradient(ellipse at 10% 85%,#263e4a8a,transparent 55%),radial-gradient(ellipse at 90% 8%,#7c61321a,transparent 50%),#101920;color:#f0f2f1;border-top-color:#d3b77d33;min-height:890px}.faq .muted{color:var(--gold-light)}.faq .section-label{color:#c2cfd6}.faq .line{background:linear-gradient(90deg,var(--gold),#d3b77d22)}.faq .section-description{color:#b8c7d0}.faq .official-link{border-color:#d3b77d70}.faq-atmosphere{opacity:1}.faq-architecture{left:-30%;opacity:.45}.faq-architecture span{border-color:#c5dbe518;box-shadow:inset 15px 5px 60px #b0c7d907,15px 20px 80px #0002}.faq-orbit{position:absolute;width:350px;height:350px;left:8%;bottom:-25px;perspective:900px;opacity:.6;transform:translateY(var(--scroll-drift))}.faq-orbit span{position:absolute;inset:0;border:1px solid #d9be8830;border-radius:50%;transform:rotateY(54deg) rotateX(-12deg);box-shadow:0 0 70px #b0cbd707;animation:question-orbit 24s ease-in-out infinite alternate;animation-play-state:paused}.faq-orbit span:nth-child(2){inset:8%;transform:rotateX(58deg) rotateY(25deg);border-color:#8ab4c43d;animation-delay:-8s}.faq-orbit span:nth-child(3){inset:17%;transform:rotateY(-50deg) rotateX(-30deg);animation-delay:-14s}.is-active .faq-orbit span{animation-play-state:running}.faq-list details,.faq-list details:last-child{border:1px solid #9eacb928;border-top-color:#c4b08b33;background:linear-gradient(130deg,#1b2a33a6,#101a2399);box-shadow:0 12px 30px #0003,inset 0 1px 0 #ffffff05;margin-bottom:12px;padding:0 24px;transition:background .4s,border-color .4s,box-shadow .4s,opacity .9s,transform 1.1s}.faq-list details:hover{border-color:#d3b77d6e;box-shadow:0 16px 40px #0005}.faq-list summary{font-size:18px;padding:25px 0}.faq-symbol{border-color:#d3b77d55;background:#d3b77d07}.faq-symbol:before,.faq-symbol:after{background:var(--gold-light)}.faq details[open]{background:linear-gradient(125deg,#25404d99,#17232b);border-color:#d3b77d91;box-shadow:0 20px 45px #0006,inset 0 1px 0 #e7c98920}.faq-answer p{color:#c1cdd4}.faq a:focus-visible,.faq summary:focus-visible{outline-color:var(--gold-light)}
/* Every field has a complete lit perimeter and a raised surface on focus. */
.project-form input,.project-form textarea{padding:13px 14px;border:1px solid #a6c6d436;background:#08131c4d;box-shadow:inset 0 2px 8px #0003;transition:border-color .35s,box-shadow .35s,transform .35s,background .35s;scroll-margin:120px}.project-form input:hover,.project-form textarea:hover{border-color:#a6c6d46b}.project-form input:focus,.project-form textarea:focus{border-color:#b8e5f7;outline:0;background:#162c3a;box-shadow:0 0 0 3px #98d7f10b,0 0 18px #9fddfa14,0 10px 20px -8px #000c,inset 0 1px 0 #dcf4ff25;transform:translateY(-2px)}.project-form label:focus-within>span{color:#d7edf8}.project-form{border-top-color:#d3b77d55}.contact-copy h2>span:last-child{color:var(--gold-light)}
@keyframes journey-travel{from{stroke-dashoffset:1250}to{stroke-dashoffset:0}}
@keyframes question-orbit{from{rotate:-10deg;translate:0 -8px}to{rotate:20deg;translate:0 8px}}
@media(max-width:1100px){.process-steps{gap:18px}.process-step{padding:26px 19px}.process-step h3{font-size:24px}.step-number{font-size:82px}.faq-list details{padding:0 20px}}
@media(max-width:800px){.process-steps{gap:25px}.process-step{padding:30px 26px}.process-step h3{font-size:28px}.faq-orbit{width:280px;height:280px;left:auto;right:-85px;top:40px;bottom:auto;opacity:.45}.faq{min-height:0}}
@media(max-width:700px){
 .hero{min-height:720px}.hero .scene{display:none}.hero .mobile-scene{display:block;position:absolute;inset:0;height:100%;z-index:-2;background:url('assets/hero-mobile-instalaciones.webp') center/cover no-repeat}.hero .shade{background:linear-gradient(180deg,#03070930,transparent 22%,transparent 48%,#0307091a 65%,#03070959)}
 .project-depth:after{inset:9px -5px -10px 6px}.live-browser{box-shadow:0 25px 50px #000b}.service-item,.service-item:hover{padding:25px 16px}.service-item h3{font-size:27px}.motion-ready .service-item.is-revealed.is-selected{transform:translate3d(4px,-1px,0)}
 .process-atmosphere>img{width:100%;opacity:.4}.process-shade{background:linear-gradient(0deg,#0b121b,#0b121b9c 60%,#0b121baa)}.journey-path{inset:0 -20%;width:140%;opacity:.4}.process-steps{margin-top:50px;padding-left:25px}.process-steps:before{display:block;top:0;left:3px;bottom:0;height:100%;width:1px;background:linear-gradient(var(--gold),#b7d5dd5c);transform:none!important}.process-step{padding:24px 22px 26px;margin-bottom:25px}.process-step:hover{--step-lift:0px}.motion-ready .process-step.is-revealed{transform:none}.step-number{font-size:65px;margin-bottom:22px}.step-node{position:absolute;left:-26px;top:45px;margin:0}.process-step h3{font-size:27px}
 .faq-list details{padding:0 18px;margin-bottom:11px}.faq-list summary{font-size:17px;padding:22px 0;gap:15px}.faq-answer{padding-right:0}.faq-orbit{right:-90px;opacity:.3}.faq-architecture{left:-60%}.project-form input,.project-form textarea{padding:13px 12px}
}
@media(max-width:350px){.process-step{padding:23px 17px}.process-step h3{font-size:25px}.faq-list details{padding:0 14px}.faq-list summary{font-size:16px}.service-item,.service-item:hover{padding:24px 13px}}
@media(prefers-reduced-motion:reduce){.journey-path path,.faq-orbit span{animation:none!important}.motion-ready .process-step.is-revealed,.motion-ready .service-item.is-revealed.is-selected{transform:none!important}.project-form input:focus,.project-form textarea:focus{transform:none}.service-hover-surface{transition:none}}

/* One gold finish: the same gradient as LANDI, applied to every gold headline. */
.gold-text,.faq h2 .gold-text,.contact-copy h2 .gold-text{color:var(--gold);background-image:var(--gold-finish);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 12px 35px #0007}
.service-item.is-selected h3{background:var(--gold-finish);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold)}
.nav-links a{color:#f0f3f3;transition:color .3s}.nav-links a:after{background:var(--gold-finish)}.nav-links a:hover,.nav-links a:focus-visible{color:#f0f3f3;background:none;-webkit-text-fill-color:currentColor}
.hero-actions .primary:hover,.hero-actions .primary:focus-visible{background:var(--gold-finish);box-shadow:0 10px 30px #0008,inset 0 1px 0 #fff2}.hero-actions .primary span,.hero-actions .primary:hover span{color:inherit;transform:none}
.site-footer .gold-mark:hover,.site-footer .gold-mark:focus-visible{filter:drop-shadow(0 0 14px #d3b77d70);transform:translateY(-3px)}
.case-role{padding-left:0}
/* Raised actions keep real links and their visible labels. */
a.raised-link,.contact-channels a.raised-link,.footer-links a.raised-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:50px;width:fit-content;max-width:100%;padding:15px 20px;border:1px solid #d3b77d60;border-top-color:#e6cf987d;background:linear-gradient(135deg,#2a3033,#121e27);color:#eceeed;border-radius:2px;box-shadow:0 9px 22px #0006,inset 0 1px 0 #f0dfb415,inset 0 -2px 0 #0004;text-decoration:none;transition:background .35s,border-color .35s,color .35s,box-shadow .35s,transform .35s,opacity .9s}
a.raised-link:hover,a.raised-link:focus-visible{background:var(--gold-finish);color:#131a20;border-color:var(--gold);box-shadow:0 14px 30px #0008,0 0 20px #d3b77d17,inset 0 1px 0 #fff4;transform:translateY(-3px);text-decoration:none}
.motion-ready a.raised-link.is-revealed:hover,.motion-ready a.raised-link.is-revealed:focus-visible{transform:translateY(-3px)}
.button-icon{width:19px;height:19px;flex-shrink:0;color:var(--gold);transition:color .35s,transform .35s}.raised-link:hover .button-icon,.raised-link:focus-visible .button-icon{color:inherit;transform:scale(1.08)}
.raised-link>span,.raised-link:hover>span,.raised-link:focus-visible>span{color:inherit;transform:none!important}.raised-link:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.contact-channels{gap:16px}.footer-links{gap:16px}.contact-channels .raised-link,.footer-links .raised-link{text-transform:none;letter-spacing:0;font-size:13px}
/* Back plate, rim and a diagonal sweep clipped to the actual photograph. */
.portrait-polished{isolation:isolate;border:1px solid #d3b77d70;box-shadow:12px 26px 45px #000b,0 0 0 5px #d3b77d07,inset 0 1px 0 #fff2}
.portrait-polished:before{inset:-13px 13px 13px -13px;background:linear-gradient(140deg,#6e582e40,#15232ddd);border:1px solid #d3b77d55;box-shadow:0 18px 40px #0008;transform:translateZ(-15px)}
.portrait-shine{position:absolute;inset:0;overflow:hidden;pointer-events:none}.portrait-shine:after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 37%,#e6cf9808 42%,#fff0c55e 49%,#e6cf9818 54%,transparent 62%);transform:translate(-110%,-110%);animation:portrait-shine 7.5s cubic-bezier(.25,.55,.25,1) infinite;animation-play-state:paused;mix-blend-mode:screen}.is-active .portrait-shine:after{animation-play-state:running}
@keyframes portrait-shine{0%,18%{transform:translate(-110%,-110%)}55%,100%{transform:translate(110%,110%)}}
@media(max-width:700px){a.raised-link,.contact-channels a.raised-link,.footer-links a.raised-link{padding:14px 16px;gap:16px;min-height:48px}.footer-links{width:100%}.contact-channels .raised-link,.footer-links .raised-link{font-size:12px}.portrait-polished{box-shadow:8px 18px 28px #000b,0 0 0 4px #d3b77d07}}
@media(prefers-reduced-motion:reduce){.portrait-shine:after{animation:none;opacity:0}a.raised-link:hover,a.raised-link:focus-visible,.motion-ready a.raised-link.is-revealed:hover,.motion-ready a.raised-link.is-revealed:focus-visible{transform:none}.site-footer .gold-mark:hover,.hero-actions .primary:hover{transform:none}}

/* D-116: a single mobile header row, with white navigation text. */
@media(max-width:700px){
 .nav{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:clamp(7px,2vw,14px);padding:22px var(--gutter);flex-wrap:nowrap}
 .nav .small-logo{width:clamp(78px,25vw,112px);max-width:100%;grid-column:1}
 .nav .languages{grid-column:2;order:initial;width:auto;gap:2px;margin:0;justify-content:center;font-size:9px;letter-spacing:.5px}
 .nav .languages button{padding:7px 5px;min-height:32px;font-size:9px;letter-spacing:.5px}
 .nav .contact{grid-column:3;order:initial;margin:0;padding:10px 11px;font-size:9px;letter-spacing:.7px;gap:0;white-space:nowrap;min-height:32px;justify-content:center}

}
@media(max-width:350px){.nav{column-gap:6px}.nav .languages{gap:1px}.nav .languages button{padding:7px 4px;font-size:8px}.nav .contact{padding:10px 8px;font-size:8px;letter-spacing:.5px}}

/* D-119: distinguish the project section from the hero. */
.projects{background:linear-gradient(180deg,#101923,#0d131a 60%,#0a0f14);box-shadow:inset 0 24px 50px -28px #6e85933f}
.projects:before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#d3b77d80 25%,#b9d4dd70 65%,transparent);pointer-events:none}

/* D-121: the process scenery is still on mobile. */
@media(max-width:700px){
 .process .process-atmosphere{--scroll-drift:0px}
 .process .journey-path path{animation:none!important}
}

/* D-124: preserve FAQ depth with a still background on mobile. */
@media(max-width:700px){
 .faq .faq-atmosphere{--scroll-drift:0px}
 .faq .faq-architecture,.faq .faq-orbit span{animation:none!important}
}
