:root{--ivory:#f3efe6;--paper:#faf8f3;--navy:#10283b;--gold:#a88b5b;--khaki:#65705b;--ink:#17242a;--line:rgba(16,40,59,.18);--serif:'Cormorant Garamond',serif;--sans:'Manrope',sans-serif}

/* Portada inicial */
.landing-page{--logo-background:#faf7f2;min-height:100svh;background:var(--logo-background)}
.landing{min-height:100svh;display:grid;place-items:center;padding:clamp(4.5rem,8vh,6rem) 1rem clamp(2.5rem,5vh,4rem);overflow:hidden}
.landing-center{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.landing-logo{width:min(72vw,520px,calc(100svh - 210px));height:auto;flex:0 1 auto;object-fit:contain;animation:logo-arrival 1.1s cubic-bezier(.22,1,.36,1) both}
.landing-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;margin-top:clamp(.25rem,1vh,.75rem)}
.landing-button{min-width:130px;padding:.9rem 1.4rem;border:1px solid var(--navy);color:var(--navy);text-align:center;text-transform:uppercase;font:500 9px/1.25 var(--sans);letter-spacing:.2em;opacity:0;transform:translateY(32px);animation:button-rise .85s cubic-bezier(.22,1,.36,1) forwards;transition:color .35s ease,background-color .35s ease,border-color .35s ease,transform .35s ease}
.landing-button:nth-child(1){animation-delay:.35s}
.landing-button:nth-child(2){animation-delay:.47s}
.landing-button:nth-child(3){animation-delay:.59s}
.landing-button:nth-child(4){animation-delay:.71s}
.landing-button:hover,.landing-button:focus-visible{background:var(--navy);border-color:var(--navy);color:var(--paper);transform:translateY(-4px)}
.landing-button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.social-rail{position:fixed;z-index:10;right:clamp(.7rem,2vw,1.75rem);top:50%;display:flex;flex-direction:column;gap:.45rem;transform:translateY(-50%)}
.social-link{width:34px;height:34px;display:grid;place-items:center;color:var(--navy);border:1px solid rgba(16,40,59,.2);border-radius:50%;transition:color .3s ease,border-color .3s ease,transform .3s ease,background-color .3s ease}
.social-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.social-link .social-dot,.social-link .social-fill{fill:currentColor;stroke:none}
.social-link:hover,.social-link:focus-visible{color:var(--paper);background:var(--gold);border-color:var(--gold);transform:translateX(-3px)}
.social-link:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.language-toggle{position:fixed;z-index:20;top:clamp(1rem,2vw,1.75rem);right:clamp(1rem,2vw,1.75rem);width:44px;height:34px;border:1px solid rgba(16,40,59,.28);background:rgba(250,247,242,.82);color:var(--navy);font:600 9px/1 var(--sans);letter-spacing:.16em;cursor:pointer;backdrop-filter:blur(6px);transition:background-color .3s ease,color .3s ease,border-color .3s ease}
.language-toggle:hover,.language-toggle:focus-visible{background:var(--navy);border-color:var(--navy);color:var(--paper)}
.language-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.gallery-language{top:clamp(1.25rem,4vw,2.5rem)}
@keyframes logo-arrival{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@keyframes button-rise{to{opacity:1;transform:translateY(0)}}
@media (max-width:620px){.landing{padding:4.5rem .75rem 2.5rem}.landing-logo{width:min(84vw,430px,calc(100svh - 230px))}.landing-actions{width:min(82vw,300px)}.landing-button{flex:1 1 calc(50% - .75rem);min-width:0;padding-inline:.65rem}}
@media (max-width:620px){.social-rail{right:.4rem;gap:.3rem}.social-link{width:30px;height:30px;background:rgba(250,247,242,.78);backdrop-filter:blur(5px)}.social-link svg{width:14px;height:14px}}
@media (max-height:520px){.landing{padding-block:3.25rem 1.25rem}.landing-logo{width:min(38vw,calc(100svh - 125px))}.landing-actions{flex-wrap:nowrap;margin-top:.25rem}.landing-button{min-width:96px;padding:.7rem .8rem;font-size:8px}}
@media (prefers-reduced-motion:reduce){.landing-logo,.landing-button{animation:none;opacity:1;transform:none}.landing-button{transition:none}}

/* Galería de fotografías apiladas */
.gallery-page{height:100svh;overflow:hidden;background:var(--paper)}
.gallery-page.has-inquiry{height:auto;overflow-x:hidden;overflow-y:auto}
.gallery-home{position:fixed;z-index:20;top:clamp(1.25rem,4vw,2.5rem);left:clamp(1.25rem,4vw,3.5rem);color:var(--navy);font:500 20px/1 var(--serif);letter-spacing:.14em;text-transform:uppercase}
.gallery-logo-link{width:clamp(68px,7vw,96px);height:auto;transition:transform .3s ease,opacity .3s ease}
.gallery-logo-link img{width:100%;height:auto;object-fit:contain}
.gallery-logo-link:hover,.gallery-logo-link:focus-visible{transform:translateY(-2px);opacity:.82}
.gallery-logo-link:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.gallery-layout{height:100svh;display:grid;grid-template-columns:minmax(220px,.65fr) minmax(300px,1fr);align-items:center;gap:clamp(2rem,7vw,7rem);width:min(1080px,88vw);margin:auto;padding:clamp(4rem,6vh,5rem) 0}
.gallery-heading h1{max-width:520px;margin:.8rem 0 1.2rem;color:var(--navy);font:400 clamp(3.5rem,7vw,7.5rem)/.82 var(--serif);letter-spacing:-.045em}
.gallery-heading h1.long-title{font-size:clamp(2.8rem,5.2vw,5.6rem);line-height:.88}
.gallery-heading p{margin:0;color:#667277;font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.section-logo{width:clamp(92px,11vw,145px);height:auto;margin:0 0 .5rem auto;object-fit:contain}
.enquiry-jump{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:1.5rem;padding:0 20px;border:1px solid var(--navy);color:var(--navy);font:600 9px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;transition:background-color .3s ease,color .3s ease,border-color .3s ease}
.enquiry-jump:hover,.enquiry-jump:focus-visible{background:var(--navy);border-color:var(--navy);color:var(--paper)}
.enquiry-jump:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.photo-stack{position:relative;width:min(38vw,460px,calc(80svh - 88px));aspect-ratio:4/5;justify-self:center;touch-action:none;perspective:1200px}
.photo-stack-message{position:absolute;z-index:20;right:clamp(1.25rem,3vw,2rem);bottom:clamp(1.25rem,3vw,2rem);left:clamp(1.25rem,3vw,2rem);margin:0;padding:1.1rem 1.25rem;background:rgba(16,40,59,.78);color:var(--ivory);font:italic 400 clamp(1.15rem,2vw,1.65rem)/1.15 var(--serif);text-align:center;pointer-events:none;backdrop-filter:blur(4px)}
.text-card{display:grid;place-items:center;padding:clamp(2rem,4vw,4rem);cursor:pointer}
.text-card span{max-width:340px;color:var(--navy);font:italic 400 clamp(1.8rem,3.6vw,3.4rem)/1.04 var(--serif);text-align:center;pointer-events:none}
.text-card-one,.text-card-two,.text-card-three,.text-card-four{background:var(--ivory);color:var(--navy);border:1px solid var(--line)}
.text-card:hover span{transform:scale(1.025)}
.text-card span{transition:transform .6s cubic-bezier(.22,.75,.25,1)}
.portfolio-note{display:grid;place-items:center;width:min(38vw,460px);min-height:min(58svh,560px);justify-self:center;padding:clamp(2rem,5vw,4.5rem);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.portfolio-note p{margin:0;color:var(--navy);font:italic 400 clamp(1.8rem,3.3vw,3.2rem)/1.08 var(--serif)}
.about-page{height:auto;min-height:100svh;overflow-x:hidden;overflow-y:auto}
.about-copy{max-width:600px;justify-self:center;color:#4f5e64}
.about-copy h2{margin:0 0 1.6rem;color:var(--navy);font:400 clamp(1.8rem,3vw,2.8rem)/1.05 var(--serif)}
.about-copy p{margin:0 0 1rem;font-size:clamp(12px,1.05vw,15px);line-height:1.65}
.about-copy .about-closing{margin-top:1.8rem;color:var(--navy);font:italic 400 clamp(1.8rem,3vw,2.8rem)/1.15 var(--serif)}
.photo-card{--position:0;--stack-x:-8px;--stack-y:0;--stack-rotation:-1.35deg;position:absolute;inset:0;width:100%;height:100%;padding:clamp(.45rem,1vw,.75rem);border:0;background:#fff;box-shadow:0 18px 50px rgba(16,40,59,.16);cursor:grab;overflow:hidden;z-index:calc(10 - var(--position));transform:translate(var(--stack-x),var(--stack-y)) rotate(var(--stack-rotation));transition:transform .43s cubic-bezier(.22,.75,.25,1),opacity .35s ease,box-shadow .3s ease;user-select:none}
.photo-card img{pointer-events:none;transition:transform .8s cubic-bezier(.22,.75,.25,1)}
.photo-card:hover img{transform:scale(1.055)}
.photo-card.crop-one img{object-position:74% center}
.photo-card.crop-two img{object-position:28% center}
.photo-card.crop-three img{object-position:center center;filter:saturate(.82)}
.photo-card.crop-four img{object-position:88% center;filter:contrast(.94) sepia(.08)}
.photo-card:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.photo-card.is-dragging{cursor:grabbing;transition:none;box-shadow:0 28px 65px rgba(16,40,59,.25)}
.photo-card.is-leaving{opacity:0;transform:translateX(var(--exit-x)) rotate(var(--exit-rotation))}
.photo-card.is-resetting{transition:none!important}
@media(max-width:760px){.gallery-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-content:start;gap:clamp(.6rem,2vh,1.2rem);width:min(92vw,480px);padding:4.5rem 0 .75rem}.gallery-heading{text-align:center}.section-logo{width:88px;margin:0 auto .2rem}.gallery-heading h1{font-size:clamp(2.7rem,13vw,4.5rem);margin:.3rem auto .55rem}.gallery-heading h1.long-title{max-width:380px;font-size:clamp(2rem,8.5vw,3.4rem);line-height:.9}.gallery-heading p{font-size:8px}.enquiry-jump{min-height:40px;margin-top:.9rem}.photo-stack{width:min(74vw,350px,calc(80svh - 164px));align-self:start}.gallery-home{font-size:16px}.gallery-logo-link{width:62px}}
@media(max-width:760px){.portfolio-note{width:min(80vw,350px);min-height:clamp(190px,34svh,300px);padding:2rem}.portfolio-note p{font-size:clamp(1.45rem,7vw,2.25rem)}}
@media(max-width:760px){.photo-stack-message{right:1rem;bottom:1rem;left:1rem;padding:.8rem .9rem;font-size:clamp(1rem,4.8vw,1.35rem)}}
@media(max-width:760px){.text-card{padding:1.5rem}.text-card span{font-size:clamp(1.45rem,7vw,2.35rem)}}
@media(max-width:760px){.about-page .gallery-layout{height:auto;min-height:100svh;padding-bottom:5rem}.about-copy{width:min(88vw,540px);padding-top:1rem}.about-copy h2{text-align:center}.about-copy p{font-size:13px}.about-copy .about-closing{text-align:center}}
@media(max-height:600px) and (min-width:761px){.gallery-layout{padding:3rem 0 .75rem}.photo-stack{width:min(34vw,380px,calc(80svh - 56px))}.gallery-heading h1{font-size:clamp(3rem,8vw,5.5rem)}}
@media(max-height:470px){.gallery-home{top:.75rem}.gallery-layout{padding-top:2.5rem}.gallery-heading p{display:none}}
@media(prefers-reduced-motion:reduce){.photo-card,.photo-card img{transition:none}.photo-card.is-leaving{opacity:1}.photo-card:hover img{transform:none}}

/* Formularios breves de primer contacto */
.inquiry-page{min-height:100svh;background:var(--ivory)}
.inquiry-page .inquiry-section{min-height:100svh;padding-top:clamp(110px,13vw,170px);border-top:0}
.inquiry-page .gallery-logo-link{position:absolute;top:clamp(1.25rem,4vw,2.5rem);right:auto;left:50%;transform:translateX(-50%)}
.inquiry-page .gallery-logo-link:hover,.inquiry-page .gallery-logo-link:focus-visible{transform:translate(-50%,-2px)}
.inquiry-back{position:absolute;z-index:20;top:clamp(1.25rem,4vw,2.5rem);left:clamp(1.25rem,4vw,3.5rem);display:flex;align-items:center;gap:.55rem;margin:0;color:var(--navy);font:600 9px/1 var(--sans);letter-spacing:.15em;text-transform:uppercase;transition:color .3s ease,transform .3s ease}
.inquiry-back span[aria-hidden]{font-size:18px;font-weight:400}
.inquiry-back:hover,.inquiry-back:focus-visible{color:var(--gold);transform:translateX(-3px)}
.inquiry-back:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.inquiry-section{position:relative;padding:clamp(80px,10vw,140px) max(6vw,24px);background:var(--ivory);border-top:1px solid var(--line);scroll-margin-top:20px}
.inquiry-heading{max-width:760px;margin:0 auto clamp(42px,6vw,72px);text-align:center}
.inquiry-heading h1{margin:.7rem 0 1.1rem;color:var(--navy);font:400 clamp(2.8rem,5vw,5.4rem)/.95 var(--serif);letter-spacing:-.035em}
.inquiry-heading p{max-width:620px;margin:auto;color:#667277}
.inquiry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 34px;width:min(900px,100%);margin:auto}
.form-field{min-width:0}
.form-wide{grid-column:1/-1}
.form-field label{display:block;margin-bottom:8px;color:var(--navy);font:600 9px/1.45 var(--sans);letter-spacing:.13em;text-transform:uppercase}
.form-field input,.form-field select,.form-field textarea{width:100%;min-height:48px;padding:10px 0;border:0;border-bottom:1px solid rgba(16,40,59,.28);border-radius:0;background:transparent;color:var(--ink);font:400 15px/1.4 var(--sans)}
.form-field textarea{min-height:92px;resize:vertical}
.form-field select{cursor:pointer}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 1px 0 var(--gold)}
.form-submit{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:18px}
.form-submit>p:first-child{margin:0;color:#667277;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.form-button{min-height:52px;padding:0 28px;border:1px solid var(--navy);background:var(--navy);color:var(--paper);font:600 9px/1 var(--sans);letter-spacing:.17em;text-transform:uppercase;cursor:pointer;transition:.3s}
.form-button:hover,.form-button:focus-visible{background:var(--gold);border-color:var(--gold)}
.form-button:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.form-status{flex-basis:100%;margin:6px 0 0;padding:14px 18px;border-left:2px solid var(--gold);background:rgba(255,255,255,.55);color:var(--navy)}
.form-status.is-error{border-left-color:#8a3d35}
.form-status a{text-decoration:underline;text-underline-offset:3px}
.form-status[hidden]{display:none}
.honeypot{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.form-button:disabled{cursor:wait;opacity:.68}
@media(max-width:650px){.inquiry-form{grid-template-columns:1fr;gap:24px}.form-wide{grid-column:auto}.form-submit{align-items:flex-start;flex-direction:column}.form-button{width:100%}}

/* Nota discreta sobre cookies */
.cookie-note{position:fixed;z-index:30;left:clamp(.75rem,2vw,1.5rem);bottom:clamp(.55rem,1.5vw,1rem);margin:0;color:rgba(16,40,59,.52);font:500 7px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;pointer-events:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:300 15px/1.7 var(--sans)}body.menu-open{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}::selection{background:var(--gold);color:white}.skip{position:fixed;z-index:999;left:1rem;top:-5rem;background:var(--navy);color:white;padding:.7rem 1rem}.skip:focus{top:1rem}.nav{position:fixed;z-index:50;inset:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:96px;padding:0 4vw;color:#fff;transition:.4s}.nav.scrolled,.nav.inner{height:76px;background:rgba(250,248,243,.95);color:var(--navy);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.brand{text-align:center;font:500 28px/1 var(--serif);letter-spacing:.16em;text-transform:uppercase}.brand small{display:block;margin-top:8px;font:500 7px var(--sans);letter-spacing:.42em}.navlinks{display:flex;gap:1.6rem;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.nav-right{justify-self:end;display:flex;align-items:center;gap:1.2rem}.lang{border:0;background:none;color:inherit;font-size:10px;letter-spacing:.12em;cursor:pointer}.menu-btn{display:none;background:none;border:0;color:inherit}.hero{position:relative;height:100svh;min-height:680px;color:white;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy)}.hero-media{position:absolute;inset:0}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,18,27,.52),rgba(5,18,27,.08) 65%),linear-gradient(0deg,rgba(5,18,27,.35),transparent 50%)}.hero-media img{transform:scale(1.03)}.hero-content{position:relative;z-index:2;padding:0 8vw 11vh;max-width:1000px}.eyebrow{display:flex;align-items:center;gap:14px;text-transform:uppercase;letter-spacing:.24em;font-size:10px;font-weight:600}.eyebrow:before{content:'';width:42px;height:1px;background:currentColor}.hero h1,.page-hero h1{font:400 clamp(4.4rem,9vw,9.5rem)/.78 var(--serif);letter-spacing:-.045em;margin:25px 0 35px}.hero h1 em{font-weight:400}.hero-actions{display:flex;gap:1.6rem;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:1px solid currentColor;text-transform:uppercase;letter-spacing:.17em;font-size:9px;font-weight:600;transition:.35s}.button.solid{background:var(--ivory);border-color:var(--ivory);color:var(--navy)}.button:hover{background:var(--gold);border-color:var(--gold);color:white}.text-link{text-transform:uppercase;letter-spacing:.16em;font-size:9px;border-bottom:1px solid;padding-bottom:5px}.scroll{position:absolute;z-index:3;right:4vw;bottom:10vh;writing-mode:vertical-rl;font-size:8px;letter-spacing:.24em;text-transform:uppercase}.section{padding:clamp(90px,12vw,180px) 8vw}.intro{display:grid;grid-template-columns:1fr 1.4fr;gap:12vw;align-items:start}.kicker{text-transform:uppercase;color:var(--gold);font-size:9px;letter-spacing:.25em;font-weight:600}.display{font:400 clamp(3rem,5.5vw,6.5rem)/.95 var(--serif);letter-spacing:-.035em;margin:1rem 0 2rem}.lead{font:400 clamp(1.25rem,2vw,1.7rem)/1.55 var(--serif)}.muted{color:#667277}.services{background:var(--navy);color:var(--ivory)}.services-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:5rem}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.2)}.service{position:relative;padding:42px 22px 60px 0;border-bottom:1px solid rgba(255,255,255,.2);min-height:280px}.service+.service{padding-left:28px;border-left:1px solid rgba(255,255,255,.2)}.service-index{font:italic 18px var(--serif);color:var(--gold)}.service h3{font:400 35px/1 var(--serif);margin:70px 0 20px}.service p{font-size:12px;color:#b8c0bd}.service-arrow{position:absolute;right:22px;bottom:25px;font-size:24px;transition:.3s}.service:hover .service-arrow{transform:translateX(8px);color:var(--gold)}.editorial-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:560px 300px;gap:18px}.shot{overflow:hidden;position:relative;background:#ddd}.shot:first-child{grid-row:span 2}.shot img{transition:transform 1.2s}.shot:hover img{transform:scale(1.045)}.shot.crop-a img{object-position:78% center}.shot.crop-b img{object-position:15% center}.quote{text-align:center;max-width:920px;margin:auto}.quote blockquote{font:italic 400 clamp(2.4rem,4.5vw,5.2rem)/1.05 var(--serif);margin:0}.quote cite{display:block;margin-top:2rem;text-transform:uppercase;letter-spacing:.2em;font-size:9px}.cta{background:var(--khaki);color:white;text-align:center}.cta .display{max-width:900px;margin:1rem auto 2.5rem}.instagram{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.instagram .shot{aspect-ratio:1}.footer{background:#0b1d2a;color:#dce0da;padding:80px 8vw 35px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8vw;padding-bottom:70px}.footer h2{font:400 55px var(--serif);margin:0 0 20px}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:8px 0;font-size:12px}.footer-label{color:var(--gold);font-size:9px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px}.footer-bottom{display:flex;justify-content:space-between;padding-top:25px;border-top:1px solid rgba(255,255,255,.15);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.page-hero{height:74vh;min-height:590px;position:relative;color:#fff;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy)}.page-hero .hero-content{padding-bottom:10vh}.page-hero h1{font-size:clamp(4rem,8vw,8rem);margin-bottom:0}.page-hero[data-theme=corporate] .hero-media img{filter:saturate(.65) contrast(1.08)}.content-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:10vw}.feature-list{border-top:1px solid var(--line)}.feature{display:grid;grid-template-columns:70px 1fr;gap:1rem;padding:27px 0;border-bottom:1px solid var(--line)}.feature span{color:var(--gold);font:italic 18px var(--serif)}.feature h3{margin:0;font:400 29px var(--serif)}.feature p{margin:8px 0 0}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.process article{border-top:1px solid var(--navy);padding-top:20px}.process b{font:italic 20px var(--serif);color:var(--gold)}.process h3{font:400 28px var(--serif)}details{border-top:1px solid var(--line);padding:22px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font:400 23px var(--serif)}details p{max-width:740px}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem}.field{position:relative}.field.full{grid-column:1/-1}.field label{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:8px;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:8px 0 13px;color:var(--ink);border-radius:0}.field textarea{height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--gold)}.map{min-height:400px;background:var(--navy);color:white;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden}.map:before{content:'';position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.3);border-radius:50%}.map-pin{z-index:1}.map-pin b{display:block;font:400 34px var(--serif)}.whatsapp{position:fixed;right:24px;bottom:24px;z-index:30;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--khaki);color:#fff;font-size:11px;font-weight:600;box-shadow:0 8px 25px rgba(0,0,0,.18)}

/* Approved SEO content: reuse the existing brand variables and leave the opening composition intact. */
.gallery-page.has-seo-content{height:auto;min-height:100svh;overflow-x:hidden;overflow-y:auto}
.has-seo-content > .gallery-home,.has-seo-content > .gallery-language{position:absolute}
.seo-copy{width:min(780px,84vw);margin:0 auto;padding:3rem 0 5rem;color:var(--ink);font:400 15px/1.7 var(--sans)}
.seo-copy h1{margin:0 0 2rem;color:var(--navy);font:400 clamp(2.2rem,4vw,3.5rem)/1.1 var(--serif)}
.seo-copy h2{margin:2rem 0 1rem;color:var(--navy);font:400 clamp(1.8rem,3vw,2.8rem)/1.1 var(--serif)}
.seo-copy p{margin:0 0 1.25rem}
.seo-links{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:2rem}
.seo-links a{color:var(--navy);text-decoration:underline;text-underline-offset:.25em}
.seo-links a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.landing-button{font-size:11px}
/* Keep the footer and final form controls clear of fixed hosting UI. */
.inquiry-page .cookie-note,.has-seo-content .cookie-note,.landing-page .cookie-note{position:static;padding:0 1.5rem 5rem}
.inquiry-page{padding-bottom:1rem}
@media(max-width:760px){.seo-copy{padding-top:2rem}.seo-links{flex-direction:column;align-items:flex-start}}
@media(max-height:520px){.landing-actions{flex-wrap:wrap}.landing-logo{width:min(38vw,calc(100svh - 125px))}}

.inquiry-page > .gallery-language{position:absolute}
