/* Living VPO · Edificio La Portada V2 — home-scale typography and independent lightbox */
:root{--lp-ink:#151515;--lp-gold:#f0b534;--lp-muted:#555b5a;--lp-line:#e6e6e4}
body.lp-design-page{font-family:'Inter',Arial,sans-serif;font-weight:400;line-height:1.6;letter-spacing:-.012em;color:#212121}
body.lp-design-page .lp-width{width:min(1320px,calc(100% - 72px));max-width:1320px}
body.lp-design-page .lp-part{padding:clamp(95px,9vw,145px) 0}
body.lp-design-page .lp-small-label{font-size:12px;letter-spacing:.16em;color:#a47617;margin-bottom:27px}
body.lp-design-page .lp-part h2,body.lp-design-page .lp-location h2,body.lp-design-page .lp-gallery-section h2{font-size:clamp(42px,5vw,78px);font-weight:550;line-height:1.05;letter-spacing:-.062em;margin:0 0 28px;color:#141414;text-wrap:balance}
body.lp-design-page .lp-part p,body.lp-design-page .lp-location p,body.lp-design-page .lp-gallery-section p{font-size:clamp(17px,1.4vw,20px);font-weight:400;line-height:1.72;color:#505050;max-width:750px}
body.lp-design-page .lp-button{min-height:59px;padding:17px 29px;font-size:14px;border-radius:6px}
body.lp-design-page .lp-inline-link{font-size:15px}
/* Hero: same hero controls, larger editorial scale; promo logo at upper right */
body.lp-design-page .lp-visual{height:clamp(570px,52vw,810px)}
body.lp-design-page .lp-hero-copy{left:clamp(75px,8vw,140px);max-width:780px}
body.lp-design-page .lp-hero-copy h1{font-size:clamp(66px,7.3vw,116px);line-height:.96}
body.lp-design-page .lp-overline{font-size:13px}
body.lp-design-page .lp-hero-copy>p{font-size:clamp(19px,1.9vw,28px)}
body.lp-design-page .lp-statline{font-size:14px;gap:27px;margin-bottom:36px}
.lp-hero-logo{position:absolute;right:clamp(30px,6vw,100px);top:clamp(24px,4vw,65px);z-index:2;background:rgba(255,255,255,.96);border:1px solid #fff6;border-radius:8px;width:clamp(125px,14vw,190px);padding:11px 22px;box-shadow:0 15px 35px #0002}
.lp-hero-logo img{width:100%;height:auto;object-fit:contain;display:block}
/* Static editorial presentation – left copy, right independent image */
body.lp-design-page .lp-overview{padding-bottom:clamp(95px,9vw,140px)}
body.lp-design-page .lp-overview-grid{grid-template-columns:1fr 1.05fr;gap:clamp(60px,7vw,105px);align-items:center}
body.lp-design-page .lp-overview .lp-feature-list{gap:25px 30px;margin-top:45px}
body.lp-design-page .lp-feature-list>div{font-size:15px;line-height:1.5}
body.lp-design-page .lp-glyph{font-size:34px}
.lp-intro-visual{height:clamp(400px,38vw,590px);position:relative;border-radius:8px;overflow:hidden;background:#eaeae7}
.lp-intro-visual>img{width:100%;height:100%;object-fit:cover;object-position:center}
.lp-intro-logo{position:absolute;left:28px;bottom:28px;width:clamp(130px,13vw,177px);padding:10px 17px;background:rgba(255,255,255,.96);border-radius:5px;box-shadow:0 10px 38px #0003}
.lp-intro-logo img{width:100%;height:auto}
/* Gallery: independent image track, no interaction with introductory image or hero */
body.lp-design-page .lp-gallery-section{padding:clamp(100px,9vw,140px) 0;background:#f6f6f4}
.lp-gallery-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:45px}
.lp-gallery-head>div:first-child{max-width:850px}
body.lp-design-page .lp-gallery-head p{margin:0}
.lp-gallery-controls{display:flex;gap:12px;padding-bottom:5px;flex:none}
.lp-gallery-scroll{display:grid;place-items:center;border-radius:50%;border:1px solid #c6c9c6;background:#fff;color:#151515;cursor:pointer;width:56px;height:56px;font-size:26px;transition:background .2s,color .2s}
.lp-gallery-scroll:hover{background:#161616;color:#fff}
.lp-gallery-track{display:flex;align-items:stretch;gap:20px;overflow-x:auto;padding:0 0 16px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#c1c1c1 transparent;overscroll-behavior-inline:contain}
.lp-gallery-item{flex:0 0 clamp(270px,31vw,415px);scroll-snap-align:start;display:flex;flex-direction:column;text-align:left;padding:0;border:0;background:#fff;cursor:zoom-in;overflow:hidden;border-radius:5px;transition:box-shadow .2s}
.lp-gallery-item:hover{box-shadow:0 20px 50px #0002}
.lp-gallery-item img{width:100%;height:clamp(260px,29vw,395px);object-fit:cover;transition:transform .35s}
.lp-gallery-item:hover img{transform:scale(1.035)}
.lp-gallery-caption{display:block;padding:23px 23px 26px;color:#171717;font-size:15px;font-weight:550}
body.lp-design-page .lp-gallery-section .lp-fig-note{font-size:13px;margin-top:22px;color:#7b7e7c;line-height:1.6}
/* Types, location, access and FAQ scaled to match homepage */
body.lp-design-page .lp-types-layout{grid-template-columns:minmax(300px,.86fr) minmax(0,1.14fr);gap:clamp(50px,6vw,110px)}
body.lp-design-page .lp-home-types{background:#fff}
body.lp-design-page .lp-plan-cards{gap:16px}
body.lp-design-page .lp-plan-card{padding:20px 13px 27px}
body.lp-design-page .lp-plan-image{height:235px}
body.lp-design-page .lp-plan-card img{max-height:220px}
body.lp-design-page .lp-plan-card h3{font-size:17px}
body.lp-design-page .lp-plan-card p{font-size:13px}
body.lp-design-page .lp-location{padding:clamp(95px,9vw,145px) 0;background:#f5f5f3}
body.lp-design-page .lp-location-grid{gap:clamp(40px,7vw,110px)}
body.lp-design-page .lp-map-embed{height:480px}
body.lp-design-page .lp-map-link{font-size:15px;padding:23px 25px}
body.lp-design-page .lp-map-link strong{font-size:13px}
body.lp-design-page .lp-steps{gap:22px;margin:34px 0}
body.lp-design-page .lp-steps li{font-size:17px;align-items:flex-start;gap:20px}
body.lp-design-page .lp-steps li>span{width:45px;height:45px;font-size:18px}
body.lp-design-page .lp-resources h3{font-size:28px}
body.lp-design-page .lp-resources>a{padding:22px 24px;margin:10px 0;gap:17px}
body.lp-design-page .lp-resources b{font-size:16px}
body.lp-design-page .lp-resources small{font-size:13px}
body.lp-design-page .lp-resources .lp-access-note{font-size:13px!important;max-width:none}
body.lp-design-page .lp-faq-grid{grid-template-columns:.8fr 1.2fr;gap:clamp(60px,7vw,115px)}
body.lp-design-page .lp-faq-details summary{padding:29px 35px 29px 0;font-size:19px}
body.lp-design-page .lp-faq-details details p{font-size:16px;padding-bottom:26px}
/* Contact typography remains shared with V8 */
body.lp-design-page .lvpo-ref-contact{padding:clamp(100px,9vw,145px) 0}
body.lp-design-page .lvpo-ref-contact .lvpo-ref-grid{gap:clamp(50px,7vw,105px)}
body.lp-design-page .lvpo-ref-contact .lvpo-ref-copy h2{font-size:clamp(44px,5vw,78px)}
body.lp-design-page .lvpo-ref-contact .lvpo-ref-intro{font-size:18px}
/* Lightbox */
.lp-lightbox[hidden]{display:none!important}
.lp-lightbox{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:clamp(16px,3vw,40px)}
.lp-lightbox-backdrop{position:absolute;inset:0;border:0;background:rgba(10,13,14,.94);cursor:zoom-out}
.lp-lightbox-panel{position:relative;width:min(1300px,100%);height:min(88vh,980px);display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;justify-items:center;isolation:isolate}
.lp-lightbox-photo{width:100%;height:100%;object-fit:contain;min-height:0}
.lp-lightbox-close,.lp-lightbox-step{position:absolute;z-index:1;border:1px solid #ffffff82;background:#141414bb;color:white;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:background .2s}
.lp-lightbox-close:hover,.lp-lightbox-step:hover{background:#fff;color:#111}
.lp-lightbox-close{right:6px;top:8px;width:52px;height:52px;font-size:35px}
.lp-lightbox-step{top:48%;width:58px;height:58px;font-size:38px}
.lp-lightbox-prev{left:6px}.lp-lightbox-next{right:6px}
.lp-lightbox-info{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 8px;color:#fff;font-size:16px}
.lp-lightbox-count{color:#b6b6b6;font-variant-numeric:tabular-nums}
/* Sticky customer WhatsApp; user-supplied icon */
.lp-whatsapp-float{position:fixed;right:clamp(18px,2.2vw,36px);bottom:clamp(20px,2.2vw,35px);width:72px;height:72px;z-index:10000;display:grid;place-items:center;border-radius:50%;filter:drop-shadow(0 10px 13px #0004);transition:transform .2s}
.lp-whatsapp-float:hover{transform:translateY(-4px) scale(1.035)}
.lp-whatsapp-float img{width:100%;height:100%;object-fit:contain}
body:has(.lp-lightbox:not([hidden])) .lp-whatsapp-float{visibility:hidden}
.lp-whatsapp-float:focus-visible,.lp-gallery-item:focus-visible,.lp-gallery-scroll:focus-visible{outline:3px solid #a57811;outline-offset:5px}
@media(max-width:1050px){body.lp-design-page .lp-overview-grid{gap:45px}body.lp-design-page .lp-types-layout{grid-template-columns:1fr}body.lp-design-page .lp-plan-image{height:210px}body.lp-design-page .lp-faq-grid{grid-template-columns:1fr 1.3fr;gap:40px}}
@media(max-width:780px){body.lp-design-page .lp-width{width:calc(100% - 38px)}body.lp-design-page .lp-part,body.lp-design-page .lp-gallery-section,body.lp-design-page .lp-location{padding:83px 0}body.lp-design-page .lp-part h2,body.lp-design-page .lp-location h2,body.lp-design-page .lp-gallery-section h2{font-size:clamp(38px,8vw,61px)}body.lp-design-page .lp-overview-grid,body.lp-design-page .lp-location-grid,body.lp-design-page .lp-access-grid,body.lp-design-page .lp-faq-grid{grid-template-columns:1fr;gap:36px}body.lp-design-page .lp-overview{padding-bottom:83px}body.lp-design-page .lp-visual{height:620px}body.lp-design-page .lp-hero-copy{left:30px;right:22px;top:49%;transform:translateY(-44%)}body.lp-design-page .lp-hero-copy h1{font-size:clamp(61px,12vw,92px)}body.lp-design-page .lp-hero-logo{top:20px;right:17px;width:123px;padding:5px 12px}body.lp-design-page .lp-statline{font-size:12px;gap:10px}body.lp-design-page .lp-overview .lp-feature-list{gap:21px}body.lp-design-page .lp-intro-visual{height:440px}body.lp-design-page .lp-gallery-head{align-items:start}body.lp-design-page .lp-gallery-item{flex-basis:75vw}body.lp-design-page .lp-gallery-item img{height:320px}body.lp-design-page .lp-gallery-controls{align-self:end}body.lp-design-page .lp-map-embed{height:380px}body.lp-design-page .lvpo-ref-contact{padding:85px 0}.lp-whatsapp-float{width:62px;height:62px;right:17px;bottom:17px}.lp-lightbox-panel{height:90vh}.lp-lightbox-step{height:44px;width:44px;font-size:29px}.lp-lightbox-close{width:46px;height:46px}}
@media(max-width:520px){body.lp-design-page .lp-visual{height:660px}body.lp-design-page .lp-hero-copy{top:47%}body.lp-design-page .lp-hero-copy>p{font-size:19px}body.lp-design-page .lp-actions{gap:10px;flex-wrap:wrap}body.lp-design-page .lp-gallery-head{flex-direction:column;gap:25px}body.lp-design-page .lp-gallery-controls{align-self:start}body.lp-design-page .lp-gallery-item{flex-basis:85vw}body.lp-design-page .lp-gallery-item img{height:300px}body.lp-design-page .lp-plan-cards{grid-template-columns:1fr;gap:18px}body.lp-design-page .lp-plan-image{height:280px}body.lp-design-page .lp-plan-card img{max-height:250px}body.lp-design-page .lp-steps li{font-size:16px}body.lp-design-page .lp-intro-visual{height:340px}body.lp-design-page .lp-lightbox-info{font-size:12px}.lp-lightbox-step{top:auto;bottom:70px}}
@media(prefers-reduced-motion:reduce){.lp-gallery-track{scroll-behavior:auto}}
