/*
Theme Name: Bolton Place Caledon
Theme URI: https://boltonplace.co
Description: Pre-construction landing page for Bolton Place at Caledon Station by OPUS Homes
Author: Jatin Gill
Version: 1.0
Text Domain: bolton-place-caledon
*/

/* ========== RESET & BASE ========== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --green:#2D5A3D;
  --green-dark:#1A2E1F;
  --taupe:#8B7355;
  --bg:#F5F7F2;
  --sage:#A8C5A0;
  --sage-light:#E8EDE5;
  --white:#FFFFFF;
  --text:#2A2A2A;
  --text-light:#666;
  --heading-font:'Cormorant Garamond',Georgia,serif;
  --body-font:'DM Sans',Helvetica,Arial,sans-serif;
  --max-w:1200px;
  --section-pad:100px 0;
  --transition:0.3s ease;
}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--body-font);color:var(--text);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
ul,ol{list-style:none}
button,input,textarea,select{font-family:inherit;font-size:inherit;border:none;outline:none}
.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}
h1,h2,h3,h4,h5{font-family:var(--heading-font);font-weight:600;line-height:1.2;color:var(--green-dark)}
h1{font-size:clamp(2.4rem,5vw,4rem)}
h2{font-size:clamp(2rem,4vw,3rem)}
h3{font-size:clamp(1.4rem,2.5vw,1.8rem)}
p{margin-bottom:1em}

/* ========== INTRO SPLASH ========== */
.intro-splash{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--green-dark);transition:opacity .8s ease,visibility .8s ease}
.intro-splash.hidden{opacity:0;visibility:hidden;pointer-events:none}
.intro-splash::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(45,90,61,.3),var(--green-dark) 70%)}
.intro-dev-logo{width:140px;height:auto;opacity:0;animation:fadeUp .8s .3s forwards;position:relative;z-index:2;filter:brightness(0) invert(1)}
.intro-logo{max-width:220px;opacity:0;animation:fadeUp .8s 1.2s forwards;margin:28px 0 20px;position:relative;z-index:2}
.intro-tagline{font-family:var(--heading-font);font-size:clamp(1rem,2vw,1.4rem);color:var(--sage-light);letter-spacing:3px;opacity:0;animation:fadeUp .8s 2s forwards;position:relative;z-index:2}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.3}50%{transform:scale(1.15);opacity:.6}}

/* ========== HEADER ========== */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:9000;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--sage-light);transition:transform .35s ease,box-shadow .35s ease;padding:0 24px}
.site-header.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.06)}
.site-header.header-hidden{transform:translateY(-100%)}
.header-inner{max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:70px}
.header-logo img{height:44px;width:auto}
.header-nav{display:flex;align-items:center;gap:36px}
.header-nav a{font-size:.88rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--green-dark);font-weight:500;position:relative;transition:color var(--transition)}
.header-nav a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--green);transition:width var(--transition)}
.header-nav a:hover::after{width:100%}
.header-cta{display:inline-block;padding:10px 26px;background:var(--green);color:var(--white);border-radius:4px;font-size:.85rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;transition:background var(--transition),transform var(--transition)}
.header-cta:hover{background:var(--green-dark);transform:translateY(-1px)}
.header-cta::after{display:none!important}
.mobile-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;z-index:9999}
.mobile-toggle span{display:block;width:24px;height:2px;background:var(--green-dark);transition:var(--transition)}
.mobile-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.mobile-toggle.active span:nth-child(2){opacity:0}
.mobile-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ========== HERO — SPLIT LAYOUT ========== */
.hero{padding:140px 0 80px;background:var(--sage-light)}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;max-width:var(--max-w);margin:0 auto;padding:0 24px}
.hero-content{max-width:520px}
.hero-label{font-family:var(--body-font);font-size:.8rem;letter-spacing:4px;text-transform:uppercase;color:var(--taupe);margin-bottom:16px;font-weight:600}
.hero h1{margin-bottom:20px;color:var(--green-dark)}
.hero-sub{font-size:clamp(1.05rem,1.8vw,1.25rem);color:var(--text-light);margin-bottom:36px;line-height:1.6}
.hero-btn{display:inline-block;padding:16px 40px;background:var(--green);color:var(--white);font-size:.9rem;letter-spacing:2px;text-transform:uppercase;font-weight:600;border-radius:4px;transition:all var(--transition);cursor:pointer}
.hero-btn:hover{background:var(--green-dark);transform:translateY(-2px);box-shadow:0 8px 30px rgba(45,90,61,.25)}
.hero-image{position:relative;border-radius:8px;overflow:hidden}
.hero-image img{width:100%;height:100%;object-fit:cover;min-height:420px;border-radius:8px}
.hero-image::after{content:'';position:absolute;inset:0;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(45,90,61,.1)}

/* ========== STATS BANNER ========== */
.stats-banner{background:var(--green-dark);padding:40px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:var(--max-w);margin:0 auto;padding:0 24px;text-align:center}
.stat-item h3{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--sage);margin-bottom:4px;font-weight:700}
.stat-item p{color:rgba(255,255,255,.7);font-size:.85rem;letter-spacing:1px;text-transform:uppercase;margin:0}

/* ========== ABOUT ========== */
.about{padding:var(--section-pad);background:var(--white)}
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:start;max-width:var(--max-w);margin:0 auto;padding:0 24px}
.about-label{font-size:.8rem;letter-spacing:4px;text-transform:uppercase;color:var(--taupe);margin-bottom:16px;font-weight:600}
.about h2{margin-bottom:28px}
.about-text{font-size:1.05rem;color:var(--text-light);line-height:1.8;margin-bottom:24px}
.about-pullquote{font-family:var(--heading-font);font-size:clamp(1.3rem,2.5vw,1.7rem);color:var(--green);border-left:3px solid var(--sage);padding-left:24px;margin:36px 0;line-height:1.5;font-style:italic}
.about-images{display:flex;flex-direction:column;gap:20px}
.about-images img{border-radius:6px;width:100%;object-fit:cover}
.about-images img:first-child{height:260px}
.about-images img:last-child{height:200px}

/* ========== COMMUNITY VISION ========== */
.community{padding:var(--section-pad);background:var(--sage-light)}
.community .container{text-align:center}
.community-label{font-size:.8rem;letter-spacing:4px;text-transform:uppercase;color:var(--taupe);margin-bottom:16px;font-weight:600}
.community h2{margin-bottom:16px}
.community-intro{max-width:640px;margin:0 auto 60px;color:var(--text-light);font-size:1.05rem}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:var(--max-w);margin:0 auto}
.feature-card{background:var(--white);border-radius:8px;padding:40px 28px;text-align:center;transition:transform var(--transition),box-shadow var(--transition)}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.06)}
.feature-icon{width:56px;height:56px;margin:0 auto 20px;background:var(--sage-light);border-radius:50%;display:flex;align-items:center;justify-content:center}
.feature-icon svg{width:26px;height:26px;stroke:var(--green);fill:none;stroke-width:1.5}
.feature-card h3{font-size:1.2rem;margin-bottom:10px;color:var(--green-dark)}
.feature-card p{color:var(--text-light);font-size:.92rem;margin:0;line-height:1.6}

/* ========== DISCOVER BOLTON ========== */
.discover{padding:var(--section-pad);background:var(--green-dark);color:var(--white)}
.discover .container{text-align:center}
.discover-label{font-size:.8rem;letter-spacing:4px;text-transform:uppercase;color:var(--sage);margin-bottom:16px;font-weight:600}
.discover h2{color:var(--white);margin-bottom:16px}
.discover-intro{color:rgba(255,255,255,.7);max-width:560px;margin:0 auto 50px;font-size:1.05rem}
.discover-gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:auto auto;gap:16px;max-width:var(--max-w);margin:0 auto}
.gallery-item{position:relative;border-radius:6px;overflow:hidden}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gallery-item:hover img{transform:scale(1.04)}
.gallery-item:first-child{grid-row:1/3;min-height:400px}
.gallery-item:nth-child(2){min-height:190px}
.gallery-item:nth-child(3){min-height:190px}
.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:20px 24px;background:linear-gradient(transparent,rgba(0,0,0,.65));color:var(--white)}
.gallery-caption h3{font-size:1.1rem;margin-bottom:2px;color:var(--white)}
.gallery-caption p{font-size:.82rem;margin:0;opacity:.85}

/* ========== LOCATION MAP ========== */
.location{padding:var(--section-pad);background:var(--white)}
.location .container{text-align:center}
.location-label{font-size:.8rem;letter-spacing:4px;text-transform:uppercase;color:var(--taupe);margin-bottom:16px;font-weight:600}
.location h2{margin-bottom:16px}
.location-intro{color:var(--text-light);max-width:560px;margin:0 auto 50px;font-size:1.05rem}
.site-map-wrap{position:relative;max-width:var(--max-w);margin:0 auto 40px;border-radius:8px;overflow:hidden}
.site-map-wrap img{width:100%;border-radius:8px}
.map-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:var(--max-w);margin:0 auto 40px}
.map-card{background:var(--sage-light);border-radius:8px;padding:28px 24px;text-align:left}
.map-card h3{font-size:1.05rem;color:var(--green);margin-bottom:12px}
.map-card ul{padding:0;margin:0}
.map-card li{font-size:.9rem;color:var(--text-light);padding:4px 0;border-bottom:1px solid rgba(0,0,0,.05)}
.map-card li:last-child{border-bottom:none}
.map-embed{max-width:var(--max-w);margin:0 auto;border-radius:8px;overflow:hidden}
.map-embed iframe{width:100%;height:380px;border:0;border-radius:8px}

/* ========== NEIGHBOURHOOD GUIDE ========== */
.neighbourhood{padding:var(--section-pad);background:var(--sage-light)}
.neighbourhood .container{text-align:center}
.neighbourhood-label{font-size:.8rem;letter-spacing:4px;text-transform:uppercase;color:var(--taupe);margin-bottom:16px;font-weight:600}
.neighbourhood h2{margin-bottom:16px}
.neighbourhood-intro{max-width:560px;margin:0 auto 50px;color:var(--text-light);font-size:1.05rem}
.hood-scroll{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:var(--max-w);margin:0 auto}
.hood-card{background:var(--white);border-radius:8px;padding:36px 24px;text-align:left;transition:transform var(--transition),box-shadow var(--transition)}
.hood-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.06)}
.hood-card-icon{width:48px;height:48px;background:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.hood-card-icon svg{width:22px;height:22px;stroke:var(--white);fill:none;stroke-width:1.5}
.hood-card h3{font-size:1.1rem;margin-bottom:14px;color:var(--green-dark)}
.hood-card ul{padding:0;margin:0}
.hood-card li{font-size:.88rem;color:var(--text-light);padding:5px 0;border-bottom:1px solid var(--sage-light)}
.hood-card li:last-child{border-bottom:none}

/* ========== FAQ ========== */
/* FLOOR PLANS & PRICE LIST */
.floorplans{padding:var(--section-pad);background:var(--sage-light)}
.floorplans-label{font-size:.8rem;letter-spacing:4px;text-transform:uppercase;color:var(--taupe);margin-bottom:16px;font-weight:600;text-align:center}
.floorplans h2{text-align:center;margin-bottom:16px}
.floorplans-intro{max-width:700px;margin:0 auto 48px;text-align:center;color:var(--text-light);font-size:1.05rem;line-height:1.7}
.floorplans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.fp-card{background:var(--white);border-radius:16px;padding:36px 28px;border:1px solid var(--sage);transition:all var(--transition);display:flex;flex-direction:column}
.fp-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(45,90,61,.12);border-color:var(--green)}
.fp-card--dark{background:var(--green-dark);border-color:var(--green-dark)}
.fp-card--dark h3,.fp-card--dark p{color:var(--white)}
.fp-card--dark .fp-features li{color:var(--sage-light)}
.fp-card--dark .fp-features li::before{color:var(--sage)}
.fp-card--dark:hover{border-color:var(--sage)}
.fp-card-icon{margin-bottom:20px}
.fp-card-icon svg{width:40px;height:40px;stroke:var(--green);stroke-width:1.5;fill:none}
.fp-card--dark .fp-card-icon svg{stroke:var(--sage)}
.fp-card h3{font-family:var(--heading-font);font-size:1.4rem;color:var(--green-dark);margin-bottom:12px}
.fp-card p{color:var(--text-light);font-size:.95rem;line-height:1.6;margin-bottom:20px}
.fp-features{list-style:none;margin-bottom:24px;flex-grow:1}
.fp-features li{padding:6px 0;font-size:.9rem;color:var(--text-light);position:relative;padding-left:20px}
.fp-features li::before{content:"\2713";position:absolute;left:0;color:var(--green);font-weight:700}
.fp-cta{display:inline-block;padding:14px 28px;background:var(--green);color:var(--white);border-radius:8px;font-weight:600;font-size:.9rem;letter-spacing:1px;text-transform:uppercase;text-decoration:none;text-align:center;transition:all var(--transition);margin-top:auto;width:100%}
.fp-cta:hover{background:var(--green-dark);transform:translateY(-2px)}
@media(max-width:1024px){.floorplans-grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}}
.faq{padding:var(--section-pad);background:var(--white)}
.faq .container{max-width:800px}
.faq-label{font-size:.8rem;letter-spacing:4px;text-transform:uppercase;color:var(--taupe);margin-bottom:16px;font-weight:600;text-align:center}
.faq h2{text-align:center;margin-bottom:50px}
.faq-item{border-bottom:1px solid var(--sage-light)}
.faq-item:first-child{border-top:1px solid var(--sage-light)}
.faq-question{display:flex;align-items:center;justify-content:space-between;padding:22px 0;cursor:pointer;font-family:var(--heading-font);font-size:1.15rem;color:var(--green-dark);font-weight:600;transition:color var(--transition)}
.faq-question:hover{color:var(--green)}
.faq-toggle{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--sage);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition)}
.faq-toggle svg{width:14px;height:14px;stroke:var(--green);stroke-width:2;fill:none;transition:transform .3s ease}
.faq-item.active .faq-toggle{background:var(--green);border-color:var(--green)}
.faq-item.active .faq-toggle svg{stroke:var(--white);transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-answer-inner{padding:0 0 22px;color:var(--text-light);font-size:.95rem;line-height:1.7}

/* ========== VIP PRESENTATION / BOOKING ========== */
.booking{padding:var(--section-pad);background:var(--green)}
.booking .container{text-align:center;max-width:900px}
.booking-label{font-size:.8rem;letter-spacing:4px;text-transform:uppercase;color:var(--sage);margin-bottom:16px;font-weight:600}
.booking h2{color:var(--white);margin-bottom:16px}
.booking-intro{color:rgba(255,255,255,.75);margin:0 auto 40px;font-size:1.05rem;max-width:540px}
.booking .calendly-inline-widget{border-radius:8px;overflow:hidden;background:var(--white);min-width:320px;height:700px}

/* ========== REGISTER ========== */
.register{padding:var(--section-pad);background:var(--bg)}
.register .container{max-width:600px;text-align:center}
.register-label{font-size:.8rem;letter-spacing:4px;text-transform:uppercase;color:var(--taupe);margin-bottom:16px;font-weight:600}
.register h2{margin-bottom:16px}
.register-intro{color:var(--text-light);margin-bottom:40px;font-size:1.05rem}
.register-form{text-align:left}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:.82rem;letter-spacing:1px;text-transform:uppercase;color:var(--green-dark);margin-bottom:6px;font-weight:600}
.form-group input,.form-group textarea{width:100%;padding:14px 16px;background:var(--white);border:1.5px solid var(--sage-light);border-radius:6px;font-size:.95rem;transition:border-color var(--transition)}
.form-group input:focus,.form-group textarea:focus{border-color:var(--green)}
.form-group textarea{resize:vertical;min-height:100px}
.phone-input-wrap{display:flex;gap:0}
.phone-prefix{padding:14px 12px;background:var(--sage-light);border:1.5px solid var(--sage-light);border-radius:6px 0 0 6px;font-size:.95rem;color:var(--text-light);flex-shrink:0;border-right:none}
.phone-input-wrap input{border-radius:0 6px 6px 0}
.register-submit{width:100%;padding:16px;background:var(--green);color:var(--white);font-size:.9rem;letter-spacing:2px;text-transform:uppercase;font-weight:600;border-radius:6px;cursor:pointer;transition:all var(--transition);border:none;margin-top:8px}
.register-submit:hover{background:var(--green-dark);transform:translateY(-1px)}
.register-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
.form-success{display:none;text-align:center;padding:40px 20px}
.form-success h3{color:var(--green);margin-bottom:10px}
.form-success p{color:var(--text-light)}

/* ========== FOOTER ========== */
.site-footer{background:var(--green-dark);color:rgba(255,255,255,.7);padding:60px 0 30px}
.footer-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:40px;align-items:start;max-width:var(--max-w);margin:0 auto;padding:0 24px}
.footer-brand img{height:40px;margin-bottom:16px;filter:brightness(0) invert(1)}
.footer-brand p{font-size:.88rem;line-height:1.6;max-width:280px}
.footer-nav{display:flex;flex-direction:column;gap:10px;align-items:center}
.footer-nav a{font-size:.85rem;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.7);transition:color var(--transition)}
.footer-nav a:hover{color:var(--white)}
.footer-contact{text-align:right}
.footer-contact p{font-size:.88rem;margin-bottom:6px}
.footer-contact a{color:var(--sage);transition:color var(--transition)}
.footer-contact a:hover{color:var(--white)}
.footer-opus{text-align:center;margin-top:20px}
.footer-opus img{height:28px;margin:0 auto;opacity:.6}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:24px;text-align:center}
.footer-disclaimer{font-size:.72rem;line-height:1.7;max-width:800px;margin:0 auto;opacity:.5}

/* ========== FLOATING BUTTONS ========== */
.float-whatsapp{position:fixed;bottom:28px;right:28px;z-index:8000;width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.2);transition:transform var(--transition)}
.float-whatsapp:hover{transform:scale(1.1)}
.float-whatsapp svg{width:28px;height:28px;fill:var(--white)}
.float-book{position:fixed;bottom:28px;left:28px;z-index:8000;width:56px;height:56px;background:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.2);transition:transform var(--transition);cursor:pointer}
.float-book:hover{transform:scale(1.1)}
.float-book svg{width:24px;height:24px;stroke:var(--white);fill:none;stroke-width:1.5}

/* ========== LEAD POPUP ========== */
.lead-popup-overlay{position:fixed;inset:0;z-index:9500;background:rgba(26,46,31,.5);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease}
.lead-popup-overlay.visible{display:flex;opacity:1}
.lead-popup{background:var(--white);border-radius:12px;max-width:420px;width:90%;padding:44px 36px;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.15);animation:popIn .4s ease}
@keyframes popIn{from{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
.lead-popup-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:var(--sage-light);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition)}
.lead-popup-close:hover{background:var(--sage)}
.lead-popup-close svg{width:14px;height:14px;stroke:var(--green-dark);stroke-width:2}
.lead-popup h3{font-family:var(--heading-font);font-size:1.6rem;color:var(--green-dark);margin-bottom:8px}
.lead-popup p{color:var(--text-light);font-size:.92rem;margin-bottom:24px}
.lead-popup .form-group{margin-bottom:14px}
.lead-popup .form-group input{padding:12px 14px}
.popup-submit{width:100%;padding:14px;background:var(--green);color:var(--white);border:none;border-radius:6px;font-size:.88rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;cursor:pointer;transition:all var(--transition)}
.popup-submit:hover{background:var(--green-dark)}
.popup-submit:disabled{opacity:.6;cursor:not-allowed}
.popup-success{display:none;text-align:center;padding:16px 0}
.popup-success h3{color:var(--green);margin-bottom:6px}

/* ========== SCROLL ANIMATIONS ========== */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ========== RESPONSIVE ========== */
@media(max-width:1024px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero-content{max-width:100%}
  .hero-image img{min-height:320px}
  .about-grid{grid-template-columns:1fr;gap:40px}
  .features-grid{grid-template-columns:repeat(2,1fr)}
  .discover-gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}
  .discover-gallery .gallery-item:first-child{grid-row:auto}
  .map-cards{grid-template-columns:1fr 1fr}
  .map-cards .map-card:last-child{grid-column:1/-1}
  .footer-inner{grid-template-columns:1fr;text-align:center;gap:30px}
  .footer-contact{text-align:center}
  .footer-brand p{margin:0 auto}
}
@media(max-width:768px){
  :root{--section-pad:70px 0}
  .header-nav{position:fixed;top:0;right:-100%;width:75%;max-width:300px;height:100vh;background:var(--white);flex-direction:column;justify-content:center;gap:28px;padding:40px;transition:right .35s ease;box-shadow:-4px 0 20px rgba(0,0,0,.08)}
  .header-nav.open{right:0}
  .header-nav a{font-size:1rem}
  .mobile-toggle{display:flex}
  .stats-grid{grid-template-columns:1fr 1fr;gap:24px}
  .features-grid{grid-template-columns:1fr}
  .discover-gallery{grid-template-columns:1fr}
  .map-cards{grid-template-columns:1fr}
  .hood-scroll{grid-template-columns:1fr 1fr;gap:16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;flex-wrap:nowrap;display:flex;padding-bottom:10px}
  .hood-card{min-width:260px;scroll-snap-align:start;flex-shrink:0}
  .form-row{grid-template-columns:1fr}
  .hero{padding:120px 0 60px}
  .lead-popup{padding:32px 24px}
}
@media(max-width:480px){
  .hero-image img{min-height:260px}
  .stats-grid{grid-template-columns:1fr;gap:16px}
  .hood-scroll{display:flex}
  .hood-card{min-width:240px}
  .float-whatsapp,.float-book{width:50px;height:50px;bottom:20px}
  .float-whatsapp{right:20px}
  .float-book{left:20px}
  .booking .calendly-inline-widget{height:600px}
}
