/* Villa Miami (started from the MBPB file): styles for the homepage blocks the multi-page template copies onto every page
   (advisor section#advisor.advisor with .advisor-grid/.advisor-photo video/.advisor-info/.advisor-channels, contact
   section#contact.contact with .contact-grid/.contact-info/.contact-channels/.contact-form-wrap/.form-group/.form-submit,
   and footer.site-footer with .footer-inner/.footer-top/.footer-brand/.footer-bottom/.footer-legal), in the canonical
   12-token grayscale with zero radius. The homepage tokens the copied blocks read (--font-display, --text-dark, --text-body,
   --text-light, --border, --primary) are defined here with canonical values.
   Source: C:\Users\adria\wire-tools\multipage\sites\villa\site.css (deployed as /wire-pages-site.css) */
:root{--font-display:var(--font-heading);--text-dark:var(--g900);--text-body:var(--g800);--text-light:var(--g600);--border:var(--g200);--primary:var(--g600);--tone:var(--g500)}
.section-label{display:block;font-family:var(--font-body);font-weight:600;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--g600);margin-bottom:12px}

/* the homepage's .reveal classes ride along inside the copied blocks; the pages run their own section reveal */
section.advisor.reveal,section.contact.reveal{opacity:1;transform:none}

/* ADVISOR (white, as on the homepage) */
section#advisor.advisor{background:var(--white);border-top:1px solid var(--g200);padding:96px 60px}
#advisor .section-inner{max-width:var(--max-width);margin:0 auto}
#advisor .advisor-grid{display:grid;grid-template-columns:300px 1fr;gap:64px;align-items:start}
#advisor .advisor-photo{overflow:hidden;background:var(--g100);aspect-ratio:3/4}
#advisor .advisor-photo video,#advisor .advisor-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
#advisor .advisor-info h3{font-family:var(--font-heading);font-size:32px;font-weight:300;color:var(--g900);margin-bottom:4px}
#advisor .advisor-title{font-size:12px;color:var(--g600);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:24px}
#advisor .advisor-bio{font-size:16px;line-height:1.8;color:var(--g800);margin-bottom:32px;max-width:680px}
#advisor .advisor-bio p+p{margin-top:12px}
#advisor .advisor-channels{display:flex;gap:12px;flex-wrap:wrap}
#advisor .advisor-channels a{display:inline-flex;align-items:center;padding:12px 24px;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;min-height:44px}
#advisor .advisor-channels .ch-phone{background:var(--g900);color:var(--white)}
#advisor .advisor-channels .ch-phone:hover{background:var(--black)}
#advisor .advisor-channels .ch-email{background:var(--white);color:var(--g900);border:1px solid var(--g300)}
#advisor .advisor-channels .ch-email:hover{border-color:var(--g900)}
#advisor .advisor-channels .ch-whatsapp{background:var(--g700);color:var(--white)}
#advisor .advisor-channels .ch-whatsapp:hover{background:var(--g800)}
@media(max-width:768px){section#advisor.advisor{padding:64px 20px}#advisor .advisor-grid{grid-template-columns:1fr;gap:28px;text-align:center}#advisor .advisor-photo{width:180px;margin:0 auto}#advisor .advisor-channels{justify-content:center}}

/* CONTACT (white, as on the homepage) */
section#contact.contact{background:var(--white);border-top:1px solid var(--g200);padding:96px 60px}
#contact .section-inner{max-width:var(--max-width);margin:0 auto}
#contact .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
#contact .contact-info h3{font-family:var(--font-heading);font-size:32px;font-weight:300;color:var(--g900);margin-bottom:16px}
#contact .contact-info p{margin-bottom:28px;color:var(--g800)}
#contact .contact-channels{list-style:none;padding:0;margin:0}
#contact .contact-channels li{padding:6px 0;border-bottom:1px solid var(--g200)}
#contact .contact-channels a{display:flex;align-items:center;font-size:15px;font-weight:500;color:var(--g900);min-height:44px}
#contact .contact-channels a:hover{color:var(--black)}
#contact .contact-form-wrap{background:var(--g50);padding:44px;border:1px solid var(--g200)}
#contact .contact-form-wrap h3{font-family:var(--font-heading);font-size:24px;font-weight:300;color:var(--g900);margin-bottom:28px}
#contact .form-group{margin-bottom:20px}
#contact .form-group label{display:block;font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--g800);margin-bottom:8px}
#contact .form-group input,#contact .form-group select,#contact .form-group textarea{width:100%;padding:14px 16px;border:1px solid var(--g300);background:var(--white);font-family:var(--font-body);font-size:1rem;color:var(--g900);border-radius:0;-webkit-appearance:none;appearance:none}
#contact .form-group input:focus,#contact .form-group select:focus,#contact .form-group textarea:focus{outline:none;border-color:var(--black)}
#contact .form-group textarea{resize:vertical;min-height:100px}
#contact .form-submit{display:block;width:100%;background:var(--black);color:var(--white);padding:16px;border:none;border-radius:0;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;min-height:44px}
#contact .form-submit:hover{background:var(--g800)}
#contact .form-consent{color:var(--g700)!important}
#contact #form-success{padding:20px;background:var(--g100);color:var(--g800);text-align:center;margin-top:20px}
@media(max-width:1024px){#contact .contact-grid{grid-template-columns:1fr;gap:48px}}
@media(max-width:768px){section#contact.contact{padding:64px 20px}#contact .contact-form-wrap{padding:28px 20px}}

/* FOOTER (footer.site-footer) */
footer.site-footer{background:var(--g900);color:rgba(255,255,255,0.6);padding:72px 60px 40px}
footer.site-footer .footer-inner{max-width:var(--max-width);margin:0 auto}
footer.site-footer .footer-top{display:block;margin-bottom:32px}
footer.site-footer .footer-logo img{height:28px;width:auto;margin-bottom:20px}
footer.site-footer .footer-brand p{font-size:14px;margin-bottom:6px}
footer.site-footer .footer-brand a{color:rgba(255,255,255,0.75)}
footer.site-footer .footer-brand a:hover{color:var(--white)}
footer.site-footer .footer-explore{display:flex;flex-wrap:wrap;gap:8px 24px;margin:28px 0 0;padding:0;list-style:none}
footer.site-footer .footer-explore a{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,0.7);display:inline-block;padding:6px 0}
footer.site-footer .footer-explore a:hover{color:var(--white)}
footer.site-footer .footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:28px;margin-top:32px}
footer.site-footer .footer-legal-links{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:16px}
footer.site-footer .footer-legal-links a{font-size:12px;color:rgba(255,255,255,0.6)}
footer.site-footer .footer-legal-links a:hover{color:var(--white)}
footer.site-footer .footer-copy{font-size:12px;color:rgba(255,255,255,0.55);line-height:1.7}
footer.site-footer .footer-legal p{color:rgba(255,255,255,0.6)}
@media(max-width:768px){footer.site-footer{padding:48px 20px 100px}}

/* GATES (pricing request box, unit prices, floor plan chips) */
.request-box{background:var(--white);border:1px solid var(--g300);padding:36px}
.request-box h3{font-size:26px;margin-bottom:10px}
.request-box p{font-size:16px;color:var(--g700)}
.gate-wrap{position:relative}
.gate-wrap .wire-lock-overlay{padding:0 20px;text-align:center}
.wire-gated{filter:blur(6px);pointer-events:none;user-select:none;opacity:.6}
/* light frosted lock. Prefixed with body: wire-lead-capture.js injects its own dark .wire-lock-overlay rules after this
   stylesheet, and equal specificity would let them win (dark text on dark). */
body .wire-lock-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(250,250,250,0.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;z-index:5;padding:20px;text-align:center;color:var(--g900)}
body .wire-lock-overlay .lock-text{font-family:var(--font-heading);font-size:28px;font-weight:300;color:var(--g900)}
body .wire-lock-overlay .lock-sub{font-size:14px;color:var(--g600);max-width:420px}
.inv-price{display:inline-block;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--g900);border-bottom:1px solid var(--g500);padding:2px 0;min-height:24px}
.inv-price:hover{border-bottom-color:var(--g900)}

/* PAGE TABLES */
.unit-table td{white-space:nowrap}
.unit-table td a{color:var(--g800);border-bottom:1px solid var(--g400)}
.bg-dark .section-sub{color:rgba(255,255,255,0.7)}
.deposit-box .deposit-pct{text-align:right}
.not-this{border-left:2px solid var(--g900);padding:4px 0 4px 20px;margin:28px 0 0;max-width:760px}
.not-this p{font-size:16px;color:var(--g800)}
