:root{--wine:#791a2b;--ink:#292a28;--paper:#f6f4ef;--muted:#74756f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.6}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #bc8e58;outline-offset:4px}header{height:98px;padding:20px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--paper)}header img,footer img{width:205px;height:auto;display:block}nav{display:flex;gap:34px;font-size:13px}nav a:hover{color:var(--wine)}.private{font-size:10px;letter-spacing:.1em;text-transform:uppercase;border:1px solid #d8d1c8;border-radius:30px;padding:7px 12px}.hero{position:relative;min-height:650px;height:calc(100svh - 98px);max-height:980px;color:white;isolation:isolate}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,24,29,.77),rgba(12,24,29,.12) 80%),linear-gradient(0deg,rgba(0,0,0,.3),transparent 40%);z-index:-1}.hero-copy{padding:9vh 7%;max-width:820px}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:.2em;margin:0 0 22px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;margin:0 0 26px;letter-spacing:-.035em}h1{font-size:clamp(52px,5.8vw,90px)}h2{font-size:clamp(40px,4.2vw,64px)}.hero-copy>p:not(.eyebrow){font-size:17px;color:#eceeea;line-height:1.7;margin-bottom:32px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:34px;background:var(--wine);color:white;border:1px solid var(--wine);padding:17px 23px;font-size:13px;transition:background .2s}.button:hover{background:#581321}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.light:hover{background:#e2dbcf}.button span{font-size:21px;line-height:1}.image-caption{position:absolute;bottom:25px;left:7%;font-size:10px;opacity:.8}.scroll-hint{position:absolute;right:5%;bottom:22px;font-size:30px}.section{padding:100px 7%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:44px}.section-heading h2{margin:0}.section-heading .eyebrow{color:var(--wine)}.intro{max-width:410px;font-size:16px}.muted{color:var(--muted);font-size:12px}.building-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px}.building{position:relative;overflow:hidden;align-self:start}.building>img{display:block;width:100%;height:auto}.building-note{position:absolute;left:18px;top:18px;background:var(--paper);padding:9px 14px;font-size:9px;letter-spacing:.13em}.building-note span{padding-left:12px}.render-caption{position:absolute;bottom:12px;left:16px;color:white;text-shadow:0 1px 3px #000;font-size:9px}.floor-hotspot{position:absolute;left:39.8%;width:16.2%;height:4.8%;padding:0 7px;border:1px solid rgba(255,255,255,.7);background:rgba(121,26,43,.17);color:white;display:flex;align-items:center;justify-content:flex-end;font-size:10px;line-height:1;text-shadow:0 1px 3px black;transition:background .15s,transform .15s}.floor-hotspot:hover,.floor-hotspot:focus-visible{background:rgba(121,26,43,.92);z-index:2;transform:scaleX(1.08)}.floor-hotspot span{padding:1px 3px;background:rgba(65,21,29,.55)}.floor-card{background:#eae6de;padding:28px;display:flex;flex-direction:column;align-items:flex-start}.floor-card .eyebrow{margin:0;font-size:9px}.floor-number{font-family:Georgia,serif;font-size:80px;line-height:1;margin:18px 0 12px;color:var(--wine)}.floor-number span{display:block;font-family:Arial,sans-serif;font-size:12px;color:var(--ink);margin-top:12px}.floor-card>p:not(.floor-number){font-size:13px}.floor-card label{font-size:11px;margin:12px 0 5px}.floor-card select{width:100%;padding:10px;background:transparent;border:1px solid #b5ada2;margin-bottom:10px}.floor-card .button{width:100%;padding:13px;font-size:12px}.floor-card small{font-size:10px;color:var(--muted);margin-top:20px}.project{background:#eae6de}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px}.gallery figure{margin:0}.gallery .wide{grid-column:1/-1}.gallery img{display:block;width:100%;aspect-ratio:1.45;object-fit:cover}.gallery .wide img{aspect-ratio:2.25}.gallery figcaption{padding-top:12px;font-size:12px}.film video{display:block;width:100%;margin-top:35px;background:#1b2428;max-height:75vh}.film>div{max-width:750px}footer{display:flex;align-items:center;justify-content:space-between;padding:36px 7%;border-top:1px solid #d8d1c8;gap:30px}footer p{font-family:Georgia,serif;font-size:24px}footer small{font-size:10px;color:var(--muted)}dialog{border:0;padding:0;background:#18232a;color:white;max-width:none;max-height:none;width:100%;height:100dvh;inset:0;margin:0;overflow:hidden}dialog::backdrop{background:#18232a}#panorama{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#panorama:active{cursor:grabbing}.viewer-top{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;align-items:flex-start;padding:30px 40px;background:linear-gradient(#0007,transparent);pointer-events:none}.viewer-top>*{pointer-events:auto}.viewer-top .eyebrow{font-size:9px;margin:0 0 6px}.viewer-top h2{font-size:40px;margin:0}.round,.viewer-controls button{color:white;background:#1a262bcc;border:1px solid #ffffff50;width:45px;height:45px;border-radius:50%;font-size:19px}.floor-rail{position:absolute;right:35px;top:50%;transform:translateY(-50%);background:#152329d9;padding:12px 9px;border-radius:30px;backdrop-filter:blur(12px)}.floor-rail>span{display:block;font-size:8px;text-align:center;letter-spacing:.08em;margin-bottom:7px}.floor-rail button{display:block;border:0;background:none;color:#eee;width:42px;height:33px;border-radius:25px;font-size:12px;margin:1px 0}.floor-rail button:hover{background:#ffffff20}.floor-rail button[aria-current=true]{background:var(--paper);color:var(--wine);font-weight:bold}.viewer-bottom{position:absolute;bottom:0;left:0;right:0;text-align:center;padding:25px 95px;background:linear-gradient(transparent,#0009);pointer-events:none}.viewer-bottom p{font-size:12px;margin:0 0 13px}.viewer-bottom p span{margin:0 8px}.viewer-bottom small{display:block;font-size:9px;margin-top:13px;opacity:.8}.viewer-controls{display:flex;gap:8px;justify-content:center;pointer-events:auto}.viewer-controls button:hover,.round:hover{background:var(--wine)}#status{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);background:#152329e8;padding:12px 25px;border-radius:30px;pointer-events:none;font-size:13px}#status:empty{display:none}#viewer-error{position:absolute;top:40%;left:50%;transform:translateX(-50%);background:#152329;padding:25px;max-width:80%;text-align:center}#viewer-error a{display:block;margin-top:15px;text-decoration:underline;font-size:12px}
@media(min-width:1600px){.building-layout{grid-template-columns:1fr 310px}.floor-hotspot{font-size:14px}.floor-card{padding:40px}}@media(max-width:1000px){.section{padding:75px 5%}.section-heading{gap:35px}.building-layout{grid-template-columns:1fr}.floor-card{display:grid;grid-template-columns:1fr 1fr;gap:8px 30px}.floor-card .eyebrow{grid-column:1/-1}.floor-card .floor-number{grid-row:2/5}.floor-card>p:not(.floor-number),.floor-card small{display:none}.floor-card label{margin:0}.floor-card select{margin:0}.private{display:none}.floor-hotspot{font-size:12px}}@media(max-width:600px){header{height:78px;padding:15px 6%;gap:20px}header img{width:154px}nav{gap:16px;font-size:11px}nav a:last-child{display:none}.hero{height:calc(88svh - 78px);min-height:550px}.hero-copy{padding:60px 7%}.hero-image{object-position:63% center}.hero:after{background:linear-gradient(90deg,#0c181dbb,#0c181d30),linear-gradient(0deg,#0006,transparent)}h1{font-size:54px}.hero-copy>p:not(.eyebrow){font-size:14px}.section{padding:60px 6%}.section-heading{display:block;margin-bottom:27px}.intro{margin-top:25px;font-size:14px}h2{font-size:42px}.building{margin:0 -6.82%;width:113.64%;}.building>img{width:150%;max-width:none;margin-left:-25%}.floor-hotspot{left:34.7%;width:24.3%;font-size:11px}.building-note{left:10px;top:10px;font-size:8px;padding:6px}.floor-card{padding:22px;gap:8px 20px}.floor-number{font-size:65px}.floor-number span{font-size:10px}.gallery{gap:25px;grid-template-columns:1fr}.gallery .wide{grid-column:auto}.gallery .wide img,.gallery img{aspect-ratio:1.3}.film video{margin-top:25px}footer{align-items:flex-start;flex-direction:column;gap:16px}footer p{margin:0}.viewer-top{padding:22px 18px}.viewer-top .eyebrow{font-size:7px;max-width:230px}.viewer-top h2{font-size:32px}.floor-rail{right:10px;padding:8px 5px}.floor-rail button{width:35px;height:30px}.viewer-bottom{padding:20px 65px 20px 15px}.viewer-bottom p{font-size:10px}.viewer-bottom p span{display:none}.viewer-bottom p{max-width:220px;margin:0 auto 10px}.viewer-controls button{width:40px;height:40px}.floor-rail>span{font-size:7px}}
@media(max-height:620px){.floor-rail{top:80px;bottom:110px;transform:none;overflow:auto;border-radius:15px}.viewer-top{padding:15px 20px}.viewer-bottom{padding:10px 80px}.viewer-bottom p,.viewer-bottom small{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* The scene stays in place while natural document scrolling blends the light. */
.hero-scroll{position:relative;height:220svh;background:#172831}
.hero-scroll .hero{position:sticky;top:0;height:100svh;min-height:550px;max-height:none}
.hero-layers{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-layers .hero-image{z-index:auto;will-change:opacity}
.hero-layers .hero-image:not(:first-child){opacity:0}
.day-progress{position:absolute;left:7%;bottom:66px;display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.08em}
.day-track{display:block;width:110px;height:2px;background:#ffffff50;overflow:hidden}
.day-track>span{display:block;width:100%;height:100%;background:white;transform:scaleX(0);transform-origin:left}
.gallery-open{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;color:white;text-align:left;cursor:zoom-in;overflow:hidden}
.gallery-open img{transition:transform .5s}
.gallery-open:hover img{transform:scale(1.025)}
.gallery-open .expand-label{position:absolute;right:16px;bottom:16px;border:1px solid #ffffff80;border-radius:24px;padding:7px 13px;background:#152329b3;backdrop-filter:blur(5px);font-size:11px}
#gallery-viewer{background:#111c22f7}
.gallery-toolbar{position:absolute;top:22px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:center;z-index:2}
#gallery-count{font-size:12px;letter-spacing:.15em}
.gallery-full{position:absolute;inset:80px 90px 75px;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
#gallery-image{display:block;max-width:100%;max-height:calc(100% - 40px);width:auto;height:auto;object-fit:contain;touch-action:pan-y}
#gallery-caption{font-size:14px;text-align:center}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;font-size:30px}
#gallery-prev{left:22px}#gallery-next{right:22px}
.gallery-help{position:absolute;bottom:18px;left:20px;right:20px;text-align:center;font-size:10px;color:#c1c7c8;margin:0}
@media(max-width:600px){.hero-scroll{height:190svh}.hero-scroll .hero{min-height:0}.day-progress{bottom:65px;font-size:9px}.gallery-toolbar{top:16px;left:18px;right:18px}.gallery-full{inset:85px 12px 115px}.gallery-arrow{top:auto;bottom:45px;transform:none}#gallery-prev{left:calc(50% - 55px)}#gallery-next{right:calc(50% - 55px)}#gallery-caption{font-size:12px}.gallery-open .expand-label{font-size:10px;right:10px;bottom:10px}}
@media(prefers-reduced-motion:reduce){.hero-scroll{height:auto}.hero-scroll .hero{position:relative;height:calc(100svh - 98px);min-height:550px}.hero-layers .hero-image:not(:first-child),.day-progress{display:none}.gallery-open:hover img{transform:none}}

/* Compact layout for phones held sideways. */
@media (orientation:landscape) and (max-height:500px){
 .hero-scroll .hero{height:100svh;min-height:0}
 .hero-copy{padding:22px 7%;max-width:650px}
 .hero-copy .eyebrow{font-size:8px;margin-bottom:10px}
 .hero-copy h1{font-size:40px;margin-bottom:12px}
 .hero-copy>p:not(.eyebrow){font-size:12px;line-height:1.5;margin:0 0 16px}
 .hero-copy .button{padding:10px 16px;font-size:11px}
 .day-progress{bottom:35px;font-size:8px}
 .image-caption{bottom:12px;font-size:8px}
 .scroll-hint{bottom:10px;font-size:24px}
 .gallery-toolbar{top:10px;left:20px;right:20px}
 .gallery-toolbar .round,.gallery-arrow{width:38px;height:38px}
 .gallery-full{inset:48px 70px 38px;gap:6px}
 #gallery-image{max-height:calc(100% - 24px)}
 #gallery-caption{font-size:11px}
 .gallery-help{bottom:8px;font-size:9px}
 .gallery-arrow{top:50%;bottom:auto;transform:translateY(-50%)}
 #gallery-prev{left:16px}#gallery-next{right:16px}
}
.floor-stepper{display:none}
@media (orientation:landscape) and (max-height:500px){
 .floor-rail{display:none}
 .floor-stepper{position:absolute;top:16px;right:82px;display:flex;align-items:center;gap:7px;padding:4px 6px;border:1px solid #ffffff35;border-radius:28px;background:#152329e8;backdrop-filter:blur(8px)}
 .floor-stepper button{width:42px;height:42px;border:0;border-radius:50%;background:transparent;color:white;font-size:28px;line-height:1}
 .floor-stepper button:hover:not(:disabled){background:#ffffff20}
 .floor-stepper button:disabled{opacity:.25;cursor:default}
 .floor-stepper>div{min-width:62px;text-align:center;line-height:1.35}
 .floor-stepper span{display:block;font-size:7px;letter-spacing:.15em}
 .floor-stepper output{display:block;font-size:14px;font-variant-numeric:tabular-nums}
}

/* Geometric chevrons remain centered independently of font baselines. */
.gallery-arrow{display:grid;place-items:center;padding:0;line-height:1}
.gallery-arrow svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}

/* A full-width moving scene with discreet, accessible controls. */
.film{position:relative;isolation:isolate;min-height:540px;height:85svh;max-height:1000px;padding:65px 7%;overflow:hidden;background:#17232a;color:white}
.film video{position:absolute;inset:0;width:100%;height:100%;max-height:none;margin:0;object-fit:cover;z-index:-2}
.film:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#102027b3,transparent 48%,#10202799);z-index:-1;pointer-events:none}
.film .film-copy{max-width:900px;pointer-events:none}
.film-copy h2{margin-bottom:16px}.film-copy>p:last-child{font-size:14px}
.film-controls{position:absolute;left:7%;right:7%;bottom:24px;display:flex;align-items:center;gap:12px;max-width:580px!important;padding:8px 12px;background:#102027bb;backdrop-filter:blur(8px);border:1px solid #ffffff30;border-radius:6px}
.film-controls button{min-height:36px;padding:0 8px;border:0;background:transparent;color:white;font-size:11px;white-space:nowrap}
.film-controls button:hover{background:#ffffff15;border-radius:4px}
#film-toggle{min-width:78px;text-align:left}#film-progress{min-width:50px;flex:1;height:4px;accent-color:#f6f4ef;cursor:pointer}
#film-time{font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}#film-fullscreen{font-size:23px;min-width:36px}
#film-message{position:absolute;bottom:90px;left:7%;font-size:12px;background:#102027dd;margin:0}#film-message:not(:empty){padding:8px 12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.film{height:75svh;min-height:480px;padding:38px 6%}.film-copy h2{font-size:39px}.film-copy>p:last-child{font-size:12px;max-width:260px}.film-controls{left:4%;right:4%;gap:5px;padding:6px}.film-controls button{font-size:10px;padding:0 5px}#film-toggle{min-width:68px}#film-time{font-size:9px}#film-message{left:4%;right:4%;font-size:11px}}
@media(orientation:landscape) and (max-height:500px){.film{height:100svh;min-height:0;padding:24px 7%}.film-copy .eyebrow{font-size:8px;margin-bottom:10px}.film-copy h2{font-size:38px;margin-bottom:10px}.film-copy>p:last-child{font-size:12px}.film-controls{bottom:14px}}

#film-video:fullscreen{object-fit:contain;background:#000}
#film-video:-webkit-full-screen{object-fit:contain;background:#000}

.gallery .home-view img{aspect-ratio:16/9;height:auto;object-fit:contain}

.contact{background:var(--paper)}.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:70px}.contact h3{font-family:Georgia,serif;font-weight:400;font-size:28px;letter-spacing:-.025em;margin:0 0 18px}.contact-details>p{font-size:14px}.contact-details strong{font-size:12px;font-weight:400;color:var(--wine)}.contact-people{display:flex;gap:35px;margin:25px 0}.contact-people span{display:block;font-size:11px;color:var(--muted)}.contact-people a{font-size:18px;color:var(--wine)}.contact-email{font-size:14px;border-bottom:1px solid #ba959b;padding-bottom:5px;overflow-wrap:anywhere}.contact-form{background:#eae6de;padding:30px}.contact-form label{display:block;font-size:11px;margin:0 0 17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;padding:10px 11px;margin-top:5px;border:1px solid #b9b1a6;border-radius:0;background:#f9f7f2;color:var(--ink);font:inherit;font-size:15px}.contact-form textarea{resize:vertical;min-height:105px}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--wine);outline-offset:2px}.optional{color:var(--muted)}.contact-form .form-consent{display:flex;gap:9px;align-items:flex-start;font-size:11px}.form-consent input{margin:4px 0 0;accent-color:var(--wine)}.form-consent a{text-decoration:underline}.form-preview-note{font-size:11px;color:#6c5348;margin-bottom:18px}.contact-form button:disabled{opacity:.55;cursor:not-allowed}#contact-status{font-size:12px;margin:12px 0 0}.related-project{margin-top:70px;padding-top:38px;border-top:1px solid #d0c9be;display:flex;align-items:center;justify-content:space-between;gap:35px}.related-project .eyebrow{color:var(--wine);margin-bottom:12px}.related-project h3{font-size:34px;margin-bottom:10px}.related-project p:last-child{font-size:13px;margin:0}footer{flex-wrap:wrap}.footer-legal{width:100%;display:flex;justify-content:flex-end;gap:25px;font-size:11px}.legal-page{max-width:920px;margin:auto;padding:65px 6% 100px}.legal-page h1{font-size:52px}.legal-page h2{font-size:26px;letter-spacing:-.02em;margin:32px 0 14px}.legal-page p,.legal-page li{font-size:14px}.legal-page a{text-decoration:underline;color:var(--wine)}.legal-draft{background:#eee3d2;border-left:3px solid #aa7b3f;padding:16px 20px;font-size:13px}.legal-page dl{font-size:14px}.legal-page dt{font-weight:bold;margin-top:14px}.legal-page dd{margin:0}
@media(max-width:900px){.contact-grid{gap:30px}.contact-people{flex-direction:column;gap:0}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:600px){header nav{gap:12px}header nav a[href="#proyecto"],header nav a[href="#pelicula"]{display:none}header nav a[href="#contacto"]{display:block}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-people{flex-direction:row;gap:26px}.contact-people a{font-size:16px}.contact-form{padding:23px}.related-project{flex-direction:column;align-items:flex-start;margin-top:45px}.related-project h3{font-size:30px}.footer-legal{justify-content:flex-start;gap:22px}.footer-legal a:last-child{display:block}.legal-page h1{font-size:40px}}

.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-privacy-summary{font-size:12px;line-height:1.6;color:var(--muted)}
