/* Adaptação do padrão publicado de Lapa/Pirituba para as duas marcas ClubLine. */
:root{--ink:#14283f;--primary:#ed8b27;--body:#3f4650;--cream:#f5f0e7}
.clubline{background:white}.clubline section{scroll-margin-top:20px}.clubline .fade-in{opacity:1;transform:none}
.clubline .hero{padding-top:300px;min-height:100svh}.clubline .hero-content{flex-direction:column;max-width:1080px;gap:20px;transform:none}
.clubline .hero-title{font-size:clamp(34px,4.2vw,68px);text-shadow:0 2px 16px #0008;line-height:1.12}
.clubline .hero-subtitle{font-size:clamp(17px,1.8vw,25px);color:white;text-shadow:0 2px 8px #000}
.clubline .ready-ribbon{width:100%;max-width:680px;margin:0;padding:13px 20px;background:var(--primary);color:var(--ink);font-size:clamp(16px,2vw,24px);font-weight:800;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;text-align:center}
.hero-eyebrow{font-size:12px;letter-spacing:.22em;font-weight:600;color:white}
.clubline .hero::after{background:linear-gradient(180deg,#10203185 0%,#10203112 36%,#1020319c 100%)}
.clubline .public-hero-image img{filter:none;object-fit:cover;object-position:center}.clubline .public-hero-image::after{display:none}.clubline .public-visit{padding:12px 28px;font-size:17px;font-weight:600}
.clubline .header .logo-svg{object-fit:contain;width:240px;height:150px}.clubline.stays .header .logo-svg{height:190px;width:190px}
.clubline .header-programs .hero-program-logo{width:100px;height:100px}.clubline .header .logo{top:40px}
.clubline .section-label{font-size:13px;letter-spacing:.18em;margin-bottom:24px;font-weight:700}
.clubline .section-header{margin-bottom:44px}.clubline h2{font-size:clamp(28px,3.1vw,46px);text-transform:none;line-height:1.18}
.clubline .section-desc{margin-top:24px;font-size:clamp(17px,1.5vw,21px);max-width:860px;line-height:1.65}
.clubline #section-projeto .projeto-text p{font-size:clamp(18px,1.9vw,25px);line-height:1.6}.clubline #section-projeto .btn{margin-top:32px}
.btn-dark{background:var(--ink);color:white}.clubline .section-apartamentos,.clubline #section-viewco,.clubline #section-diferenciais{background:var(--cream)}
.zoom-link{display:block}.zoom-link img{display:block;width:100%;height:auto}.clubline .gallery-item img{aspect-ratio:16/9;object-fit:cover}
.clubline .gallery-overlay{min-height:88px}.clubline .gallery-label{font-size:18px}.clubline .gallery-desc{font-size:12px}
.amenities{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:center;margin:28px auto 36px;max-width:960px;font-size:14px}.amenities span::before{content:'·';margin-right:10px;color:var(--primary)}
.plans{display:grid;grid-template-columns:1fr;gap:40px;margin:56px auto 24px;max-width:1120px}.plan{padding:24px;background:white}.plan h3{font-size:24px;text-align:center;margin-bottom:24px}.plan img{width:100%;height:auto;object-fit:contain}
.planta-disclaimer{max-width:960px;margin:24px auto;font-size:12px;line-height:1.7}.clubline .diff-row{display:grid;grid-template-columns:1fr 1fr}.clubline .diff-text{background:var(--ink);padding:48px;color:white}.clubline .diff-text h2{color:white;font-size:34px}.clubline .diff-text p{margin:24px 0}.clubline .diff-image{min-width:0}.clubline .diff-image a{height:100%}.clubline .diff-image img{height:100%;object-fit:cover;aspect-ratio:1}
.tour-placeholder{text-align:center;background:white;border:1px solid #dadada;padding:40px}.tour-placeholder p{margin:20px 0}.tour-placeholder iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.clubline .public-map img{aspect-ratio:auto;width:100%;height:auto}.clubline .loc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.clubline .loc-card{flex-direction:column;text-align:center}.clubline .loc-card img{width:180px;height:180px;border-width:5px}.clubline .loc-card-info h3{font-size:18px}.clubline #section-localizacao .btn{display:table;margin:28px auto 0}.small{font-size:12px;text-align:center;margin-top:24px}
.clubline .institutional-brand{display:block}.institutional-brand img{width:260px;height:auto;margin:auto}.clubline .viewco-text{font-size:18px;line-height:1.8}.clubline .viewco-text p{margin-bottom:24px}.clubline .viewco-text h3{margin-top:40px}
.faq-list{max-width:900px;margin:auto}.faq-list details{border-bottom:1px solid #d7d9dc;padding:22px 0}.faq-list summary{font-size:18px;cursor:pointer;font-weight:600;line-height:1.5}.faq-list details p{padding-top:16px;color:var(--body)}
.clubline-form{max-width:760px;margin:auto;background:white;padding:40px;display:grid;gap:20px;color:var(--ink)}
.clubline-form label{display:block;font-size:14px;font-weight:600}.clubline-form .form-group{display:grid;gap:8px;margin:0}.clubline-form input:not([type=checkbox]){width:100%;padding:14px;border:1px solid #8e959c;border-radius:2px;font:inherit;min-height:50px;background:white;color:var(--ink)}
.clubline-form .contact-consent{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.7;font-weight:400}.contact-consent input{margin-top:4px;width:20px;height:20px;flex:none}.contact-consent a{text-decoration:underline}.clubline-form .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.clubline-form button:disabled{opacity:.6;cursor:wait}#contact-status{font-size:14px;line-height:1.6}#contact-status:empty{display:none}
.footer-brands{display:flex;justify-content:center;align-items:center;gap:64px;flex-wrap:wrap;margin:16px 0 40px}.footer-brands>img{max-width:200px;object-fit:contain}.footer-brands a img{width:220px;height:auto}.clubline .footer-legal{font-size:11px;line-height:1.8;max-width:1080px;margin:auto}.clubline .footer-policy-links{margin:28px 0 44px;display:flex;justify-content:center;flex-wrap:wrap;gap:24px}
.contact-float{position:fixed;bottom:20px;right:20px;border-radius:50px;background:var(--primary);color:var(--ink);padding:13px 22px;box-shadow:0 4px 24px #0002;z-index:90;font-size:14px;font-weight:600;display:flex;align-items:center;gap:16px;min-height:48px}
.mobile-nav{display:none}.mobile-nav summary{list-style:none;cursor:pointer}.mobile-nav summary::-webkit-details-marker{display:none}
#image-dialog{border:0;padding:52px 16px 16px;width:min(96vw,1600px);max-width:96vw;max-height:96dvh;background:var(--ink);color:white;overflow:auto}#image-dialog::backdrop{background:#08101de8}#image-dialog img{display:block;margin:auto;max-height:78dvh;max-width:100%;width:auto;object-fit:contain}#image-dialog p{margin:12px 0;text-align:center;font-size:14px}.dialog-close{position:absolute;right:12px;top:4px;width:44px;height:44px;border:0;background:none;color:white;font-size:36px;cursor:pointer}
.legal-page{padding-block:60px;max-width:900px}.legal-page h1{margin:40px 0}.legal-page p{margin:24px 0}.legal-page a{text-decoration:underline}
@media(max-width:1023px){.clubline .nav-desktop{display:none}.mobile-nav{display:block;position:fixed;top:20px;left:20px;pointer-events:auto;z-index:1002}.mobile-nav summary{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--ink);color:white;border-radius:4px;min-height:44px;font-size:11px}.mobile-nav nav{display:flex;flex-direction:column;gap:4px;background:var(--ink);padding:16px;box-shadow:0 12px 20px #0002}.mobile-nav nav a{color:white;min-height:44px;display:flex;align-items:center}.clubline .header .logo{top:80px}.clubline .header .logo-svg{width:220px;height:120px}.clubline.stays .header .logo-svg{width:160px;height:160px}.clubline .header-programs{top:24px;right:20px}.clubline .header-programs .hero-program-logo{width:74px;height:70px}.clubline .hero{padding:300px 24px 80px;min-height:90svh}.clubline .loc-grid{grid-template-columns:1fr 1fr}.clubline .diff-text{padding:32px}.clubline .diff-text h2{font-size:28px}}
@media(max-width:600px){.clubline section{padding-block:56px}.clubline .container{padding-inline:20px}.clubline .hero{padding-top:270px;padding-bottom:80px;min-height:90svh}.clubline .hero-title{font-size:36px}.clubline .hero-content{gap:18px}.clubline .hero-ctas{flex-direction:column;gap:12px}.clubline .section-header{margin-bottom:32px}.clubline .section-label{font-size:11px}.plans{grid-template-columns:1fr;gap:20px;margin-top:32px}.plan{padding:8px}.clubline .diff-row{grid-template-columns:1fr}.clubline .diff-image img{aspect-ratio:4/3}.clubline .loc-grid{grid-template-columns:1fr;gap:32px}.clubline .loc-card{flex-direction:row;text-align:left;gap:16px}.clubline .loc-card img{width:100px;height:100px}.clubline .gallery-overlay{padding:14px 16px}.clubline .gallery-item img{aspect-ratio:4/3}.clubline .gallery-controls{gap:12px}.clubline .gallery-controls p{min-width:0;flex:1;font-size:12px}.clubline .gallery-controls button{flex:none}.clubline-form{padding:24px}.clubline .footer-brands{gap:32px}.footer-brands>img{max-width:150px;height:100px}.footer-brands a img{width:190px}.clubline .institutional-brand img{width:230px}.clubline .viewco-text{font-size:16px}.contact-float{font-size:12px;right:12px;bottom:12px;padding:12px 16px}.tour-placeholder{padding:20px}.clubline .public-hero-caption{font-size:9px;bottom:12px;left:16px}.clubline #section-projeto .projeto-text p{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

[hidden]{display:none!important}

/* Enquadra o desenho; a prancha oficial completa continua no link de ampliação. */
.plan[data-plan]{--crop-width:460;--crop-height:520;--crop-x:570;--crop-y:300}
.plan[data-plan="planta-2d"]{--crop-width:670;--crop-height:550;--crop-x:470;--crop-y:280}
.plan[data-plan="planta-3d"]{--crop-width:780;--crop-height:690;--crop-x:410;--crop-y:210}
.plan[data-plan="planta-studio"]{--crop-width:400;--crop-height:510;--crop-x:560;--crop-y:280}
.plan .zoom-link{position:relative;overflow:hidden;aspect-ratio:var(--crop-width)/var(--crop-height);max-width:760px;margin:auto}
.plan .zoom-link img{position:absolute;max-width:none;width:calc(1600 / var(--crop-width) * 100%);height:auto;left:calc(-1 * var(--crop-x) / var(--crop-width) * 100%);top:calc(-1 * var(--crop-y) / var(--crop-height) * 100%)}
