/* ==========================================================
   Drive Wise Birmingham v2 Light Theme — Main CSS
   Aesthetic: Clean editorial · Light/warm · Navy accents
   Fonts: Bebas Neue + DM Sans
   ========================================================== */

/* ---- WP RESET ---- */
html{margin-top:0!important;padding-top:0!important;}
body{margin:0!important;padding:0!important;}
#wpadminbar{display:none!important;}
.wp-site-blocks,.entry-content,.site-content,.site-main,#content,#primary,#main,main,article,.hentry{all:unset;display:block!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;}
:where(body .is-layout-flow)>*{margin-block-start:0!important;margin-block-end:0!important;}
.wp-block-group,.wp-block-post-content,.post-content,.page-content,.hentry{all:unset;display:block;width:100%;max-width:none;padding:0;margin:0;}
.alignwide,.alignfull{max-width:none!important;padding-left:0!important;padding-right:0!important;}

/* ---- RESET & BASE ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --w:#FFFFFF;
  --off:#F9F7F4;
  --soft:#F2EFE9;
  --g1:#EAE7E1;
  --g2:#D5D1C8;
  --g3:#A8A49C;
  --g4:#6B6762;
  --g5:#3A3632;
  --red:#C41E1E;
  --red2:#E02020;
  --redsoft:#FBE9E9;
  --redmid:#F5C0C0;
  --navy:#1A2B4A;
  --navysoft:#EEF2F8;
  --font-display:'Bebas Neue',sans-serif;
  --font-body:'DM Sans',sans-serif;
  --r:8px;
  --rl:14px;
  --rx:20px;
  --max:1200px;
  --shadow-sm:0 2px 12px rgba(26,43,74,.07);
  --shadow:0 4px 24px rgba(26,43,74,.09);
  --shadow-lg:0 8px 40px rgba(26,43,74,.13);
}

html{scroll-behavior:smooth;font-size:16px;}
body{font-family:var(--font-body);background:var(--off);color:var(--g5);line-height:1.6;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:var(--font-body);cursor:pointer;}
.container{max-width:var(--max);margin:0 auto;padding:0 clamp(1.25rem,5vw,3rem);}

/* ---- TYPOGRAPHY ---- */
.section-label{font-size:.7rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:.65rem;display:block;}
.section-title{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,3.4rem);line-height:.95;letter-spacing:.01em;color:var(--g5);margin-bottom:.9rem;}
.section-sub{font-size:1rem;color:var(--g4);max-width:520px;}
.section-header{margin-bottom:clamp(2rem,4vw,3.2rem);}
.section-header.centered{text-align:center;}
.section-header.centered .section-sub{margin:0 auto;}

/* ---- BUTTONS ---- */
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--red);color:var(--w);font-family:var(--font-display);font-size:.95rem;padding:.8rem 1.9rem;border-radius:var(--r);border:2px solid var(--red);transition:all .25s;cursor:pointer;}
.btn-primary:hover{background:var(--red2);border-color:var(--red2);transform:translateY(-2px);box-shadow:0 6px 20px rgba(196,30,30,.25);}
.btn-outline{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--g5);font-family:var(--font-display);font-size:.95rem;padding:.8rem 1.9rem;border-radius:var(--r);border:2px solid var(--g2);transition:all .25s;cursor:pointer;}
.btn-outline:hover{border-color:var(--g5);}

/* ---- HEADER ---- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--w);border-bottom:1.5px solid var(--g1);height:68px;transition:box-shadow .3s;}
.site-header.scrolled{box-shadow:var(--shadow);}
.header-inner{max-width:var(--max);margin:0 auto;padding:0 clamp(1.25rem,5vw,3rem);height:68px;display:flex;align-items:center;justify-content:space-between;gap:2rem;}
.logo{display:flex;align-items:center;gap:.65rem;text-decoration:none;}
.logo-mark{width:38px;height:38px;background:var(--red);border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1rem;color:var(--w);flex-shrink:0;}
.logo-text{display:flex;flex-direction:column;line-height:1.1;}
.logo-name{font-family:var(--font-display);font-size:.95rem;color:var(--g5);letter-spacing:.04em;}
.logo-city{font-size:.62rem;color:var(--red);letter-spacing:.1em;text-transform:uppercase;}
.main-nav{display:flex;align-items:center;gap:1.75rem;}
.main-nav a{color:var(--g4);font-size:.88rem;transition:color .2s;}
.main-nav a:hover{color:var(--red);}
.header-cta{background:var(--red);color:var(--w);font-family:var(--font-display);font-size:.88rem;padding:.55rem 1.3rem;border-radius:var(--r);transition:all .2s;white-space:nowrap;}
.header-whatsapp{width:38px;height:38px;background:#25D366;color:var(--w);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;}
.header-whatsapp:hover{background:#1EBE57;transform:translateY(-2px);box-shadow:0 4px 14px rgba(37,211,102,.35);}
.whatsapp-float{position:fixed;bottom:24px;right:24px;z-index:999;width:58px;height:58px;background:#25D366;color:var(--w);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(37,211,102,.4);transition:all .25s;}
.whatsapp-float:hover{background:#1EBE57;transform:scale(1.08);}
.header-cta:hover{background:var(--red2);}
.burger{display:none;flex-direction:column;gap:4px;background:none;border:none;padding:4px;}
.burger span{display:block;width:22px;height:2px;background:var(--g5);border-radius:2px;transition:all .3s;}
.mobile-nav{display:none;flex-direction:column;background:var(--w);border-bottom:1.5px solid var(--g1);padding:1rem clamp(1.25rem,5vw,3rem) 1.5rem;gap:.2rem;}
.mobile-nav.open{display:flex;}
.mobile-nav a{color:var(--g4);font-size:.95rem;padding:.7rem 0;border-bottom:1px solid var(--g1);}
.mobile-nav a:hover{color:var(--red);}
.mobile-cta{display:block;text-align:center;background:var(--red);color:var(--w)!important;border:none!important;font-family:var(--font-display);padding:.85rem;border-radius:var(--r);margin-top:.75rem;}

/* ---- HERO SLIDER ---- */
.hero-slider-section{position:relative;width:100%;height:100vh;min-height:580px;overflow:hidden;margin-top:68px;}
.dw-slider{position:relative;width:100%;height:100%;}
.dw-slide{position:absolute;inset:0;background-image:var(--bg);background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease;display:flex;align-items:center;justify-content:center;}
.dw-slide.active{opacity:1;z-index:2;}
.dw-slide-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(26,43,74,.85) 0%,rgba(26,43,74,.55) 55%,rgba(26,43,74,.1) 100%);z-index:1;}
.dw-slide-content{position:relative;z-index:3;max-width:var(--max);margin:0 auto;width:100%;padding:0 clamp(1.25rem,5vw,3rem);text-align:center;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.45rem;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#93C4F7;background:rgba(147,196,247,.12);border:1px solid rgba(147,196,247,.28);padding:.3rem .85rem;border-radius:50px;margin:0 auto .9rem;}
.eyebrow-dot{width:5px;height:5px;background:#93C4F7;border-radius:50%;flex-shrink:0;}
.hero-headline{font-family:var(--font-display);font-size:clamp(3.8rem,10vw,7.5rem);line-height:.92;color:var(--w);margin:0 auto .9rem;max-width:760px;}
.hero-headline em{color:#F5A0A0;font-style:normal;}
.hero-sub{font-size:.98rem;color:rgba(255,255,255,.7);max-width:480px;margin:0 auto 1.6rem;line-height:1.65;}
.hero-btns{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;}
.btn-hero-primary{display:inline-flex;align-items:center;background:var(--red);color:var(--w);font-family:var(--font-display);font-size:.93rem;padding:.78rem 1.9rem;border-radius:var(--r);border:2px solid var(--red);transition:all .25s;}
.btn-hero-primary:hover{background:var(--red2);transform:translateY(-2px);}
.btn-hero-ghost{display:inline-flex;align-items:center;background:rgba(255,255,255,.1);color:var(--w);font-family:var(--font-display);font-size:.93rem;padding:.78rem 1.9rem;border-radius:var(--r);border:2px solid rgba(255,255,255,.28);transition:all .25s;}
.btn-hero-ghost:hover{background:rgba(255,255,255,.18);}
.dw-slide.active .hero-eyebrow{animation:fadeUp .55s .05s both;}
.dw-slide.active .hero-headline{animation:fadeUp .6s .12s both;}
.dw-slide.active .hero-sub{animation:fadeUp .6s .2s both;}
.dw-slide.active .hero-btns{animation:fadeUp .6s .27s both;}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
.dw-slider-prev,.dw-slider-next{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:42px;height:42px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:50%;color:var(--w);display:flex;align-items:center;justify-content:center;font-size:1.35rem;transition:all .2s;}
.dw-slider-prev{left:1.25rem;}
.dw-slider-next{right:1.25rem;}
.dw-slider-prev:hover,.dw-slider-next:hover{background:var(--red);border-color:var(--red);}
.dw-slider-dots{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;gap:.45rem;}
.dw-dot{width:3px;height:20px;border-radius:2px;background:rgba(255,255,255,.3);border:none;transition:all .35s;padding:0;}
.dw-dot.active{background:var(--w);height:36px;}
.hero-stats-bar{position:absolute;bottom:0;left:0;right:0;z-index:10;background:var(--navy);display:flex;align-items:center;justify-content:center;padding:1rem clamp(1.25rem,5vw,3rem);}
.hero-stat-item{text-align:center;padding:0 clamp(1.2rem,3vw,3rem);}
.hero-stats-bar .hero-stat-num{font-family:var(--font-display);font-size:1.6rem;color:var(--w);display:block;line-height:1;}
.hero-stats-bar .hero-stat-label{font-size:.68rem;color:rgba(255,255,255,.45);letter-spacing:.04em;display:block;margin-top:.2rem;}
.hero-stat-bar-divider{width:1px;height:30px;background:rgba(255,255,255,.12);flex-shrink:0;}

/* ---- MARQUEE ---- */
.marquee-wrap{overflow:hidden;background:var(--navy);padding:.8rem 0;}
.marquee-track{display:flex;align-items:center;gap:2rem;width:max-content;animation:marquee 30s linear infinite;}
.marquee-track span{font-family:var(--font-display);font-size:.9rem;color:rgba(255,255,255,.8);white-space:nowrap;}
.marquee-track .mx{opacity:.35;font-size:.65rem;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.marquee-wrap:hover .marquee-track{animation-play-state:paused;}

/* ---- ABOUT ---- */
#about{background:var(--w);padding:clamp(4rem,8vw,7rem) 0;}
.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,5rem);align-items:center;}
.about-img-stack{position:relative;height:400px;}
.about-img-card{border-radius:var(--rx);overflow:hidden;position:absolute;}
.about-img-main{width:60%;height:300px;bottom:0;left:0;background:var(--navy);display:flex;align-items:center;justify-content:center;}
.about-years-block{text-align:center;}
.years-num{font-family:var(--font-display);font-size:5rem;color:#F5A0A0;display:block;line-height:1;}
.years-label{color:rgba(255,255,255,.5);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;}
.about-img-accent{width:52%;height:220px;top:0;right:0;box-shadow:var(--shadow-lg);}
.about-img-accent img{width:100%;height:100%;object-fit:cover;}
.about-float-badge{position:absolute;bottom:1.5rem;right:-1rem;z-index:10;background:var(--red);color:var(--w);border-radius:var(--rl);padding:.85rem 1.1rem;display:flex;align-items:center;gap:.6rem;box-shadow:0 6px 24px rgba(196,30,30,.25);}
.badge-icon{font-size:1.25rem;}
.about-float-badge strong{display:block;font-family:var(--font-display);font-size:.88rem;}
.about-float-badge small{font-size:.68rem;opacity:.8;}
.about-body{color:var(--g4);font-size:.95rem;line-height:1.75;margin-bottom:.85rem;}
.about-pillars{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1.4rem 0 1.6rem;}
.pillar{background:var(--soft);border-radius:var(--rl);padding:.9rem;display:flex;align-items:flex-start;gap:.6rem;border:1px solid var(--g1);}
.pillar-icon{font-size:1.2rem;flex-shrink:0;margin-top:.05rem;}
.pillar strong{font-family:var(--font-display);font-size:.88rem;display:block;margin-bottom:.15rem;color:var(--g5);}
.pillar p{font-size:.76rem;color:var(--g4);line-height:1.5;margin:0;}
.about-subheading{font-family:var(--font-display);font-size:1.15rem;color:var(--g5);margin:1.5rem 0 1rem;letter-spacing:.01em;}
.about-closing{font-size:.95rem;color:var(--g5);line-height:1.7;font-style:italic;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--g1);}

/* ---- TEAM ---- */
#approach{background:var(--soft);padding:clamp(4rem,8vw,7rem) 0;}
.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;}
.approach-step{background:var(--w);border:1.5px solid var(--g1);border-radius:var(--rx);padding:1.85rem 1.5rem;text-align:center;transition:all .3s;position:relative;}
.approach-step:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--redmid);}
.approach-step-featured{background:var(--navy);border-color:var(--navy);}
.approach-step-featured h3,.approach-step-featured p{color:var(--w)!important;}
.approach-step-featured p{color:rgba(255,255,255,.65)!important;}
.approach-step-featured .approach-num{color:rgba(255,255,255,.15)!important;}
.approach-num{font-family:var(--font-display);font-size:2.4rem;color:var(--g2);line-height:1;margin-bottom:.4rem;}
.approach-icon{font-size:1.8rem;margin-bottom:.6rem;}
.approach-step h3{font-family:var(--font-display);font-size:1.05rem;color:var(--g5);margin-bottom:.5rem;}
.approach-step p{font-size:.82rem;color:var(--g4);line-height:1.65;margin:0;}
.approach-cta{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:2.25rem;}
#team{background:var(--soft);padding:clamp(4rem,8vw,7rem) 0;}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.team-card{background:var(--w);border:1.5px solid var(--g1);border-radius:var(--rx);padding:1.65rem;transition:all .3s;position:relative;overflow:hidden;}
.team-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s;}
.team-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--redmid);}
.team-card:hover::before{transform:scaleX(1);}
.featured-card{background:var(--navy);border-color:var(--navy);}
.featured-card::before{background:rgba(245,160,160,.6);}
.featured-card:hover{border-color:var(--navy)!important;box-shadow:0 16px 44px rgba(26,43,74,.25)!important;}
.featured-card .team-initials{background:rgba(245,160,160,.15)!important;border-color:rgba(245,160,160,.3)!important;color:#F5A0A0!important;}
.featured-card .team-name,.featured-card .team-role-text{color:var(--w)!important;}
.featured-card p{color:rgba(255,255,255,.65)!important;}
.featured-card .team-tag{background:rgba(255,255,255,.08)!important;color:rgba(255,255,255,.6)!important;border-color:rgba(255,255,255,.08)!important;}
.featured-card .team-exp-badge{background:rgba(245,160,160,.2);color:#F5A0A0;}
.team-card-top{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem;}
.team-card-centered{text-align:center;}
.team-card-centered .team-card-top{flex-direction:column;align-items:center;gap:.5rem;}
.team-card-centered .team-tags{align-items:center;}
.team-card-centered .team-tag{margin:0 auto;}
.team-photo-wrap{position:relative;flex-shrink:0;}
.team-initials{width:50px;height:50px;border-radius:50%;background:var(--redsoft);border:2px solid var(--redmid);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1rem;color:var(--red);}
.team-exp-badge{position:absolute;bottom:-3px;right:-3px;background:var(--red);color:var(--w);font-size:.56rem;font-weight:700;padding:2px 5px;border-radius:10px;}
.team-name{font-family:var(--font-display);font-size:1.05rem;color:var(--g5);}
.team-role-text{font-size:.7rem;color:var(--g3);margin-top:.1rem;}
.team-card p{font-size:.83rem;color:var(--g4);line-height:1.7;margin-bottom:.9rem;}
.team-tags{list-style:none;display:flex;flex-direction:column;gap:.3rem;}
.team-tag{font-size:.72rem;color:var(--g4);background:var(--soft);border-radius:50px;padding:.25rem .75rem;display:inline-block;width:fit-content;border:1px solid var(--g1);}

/* ---- SERVICES ---- */
#services{background:var(--w);padding:clamp(4rem,8vw,7rem) 0;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.service-item{background:var(--off);border-radius:var(--rx);padding:1.65rem;border:1.5px solid var(--g1);transition:all .3s;position:relative;overflow:hidden;}
.service-item:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--redmid);}
.si-highlight{background:var(--navy);border-color:var(--navy);}
.si-highlight .si-number,.si-highlight h3,.si-highlight p,.si-highlight .si-link{color:var(--w)!important;}
.si-highlight .si-price{color:#F5A0A0!important;}
.si-highlight .si-number{color:rgba(255,255,255,.1)!important;}
.si-highlight .si-badge{background:rgba(245,160,160,.15);color:#F5A0A0;border-color:rgba(245,160,160,.2);}
.si-number{font-family:var(--font-display);font-size:2.8rem;color:var(--g2);line-height:1;margin-bottom:.4rem;}
.si-icon{font-size:1.6rem;margin-bottom:.55rem;}
.service-item h3{font-family:var(--font-display);font-size:1.05rem;margin-bottom:.5rem;color:var(--g5);}
.service-item p{font-size:.82rem;color:var(--g4);line-height:1.7;margin-bottom:.7rem;}
.si-price{font-family:var(--font-display);font-size:1rem;color:var(--red);margin-bottom:.6rem;}
.si-badge{position:absolute;top:1rem;right:1rem;background:var(--redsoft);color:var(--red);font-size:.58rem;font-weight:700;padding:.22rem .65rem;border-radius:50px;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--redmid);}
.si-link{font-family:var(--font-display);font-size:.83rem;color:var(--red);transition:letter-spacing .2s;}
.service-item:hover .si-link{letter-spacing:.04em;}

/* ---- PRICING ---- */
#pricing{background:var(--soft);padding:clamp(4rem,8vw,7rem) 0;}
.pricing-offer{display:flex;align-items:flex-start;gap:.9rem;background:var(--w);border:1.5px solid var(--redmid);border-radius:var(--rl);padding:1.1rem 1.4rem;max-width:680px;margin:0 auto 2.2rem;box-shadow:var(--shadow-sm);}
.po-icon{font-size:1.5rem;flex-shrink:0;margin-top:.1rem;}
.pricing-offer strong{font-family:var(--font-display);font-size:1rem;color:var(--red);display:block;margin-bottom:.25rem;}
.pricing-offer p{font-size:.86rem;color:var(--g4);line-height:1.6;margin:0;}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-bottom:1.4rem;}
.pricing-grid-5{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
.pc-save{display:inline-block;background:var(--redsoft);color:var(--red);font-size:.7rem;font-weight:700;padding:.2rem .65rem;border-radius:50px;margin-bottom:.9rem;}
.pricing-card.pc-featured .pc-save{background:rgba(245,160,160,.18);color:#F5A0A0;}
.pricing-card{background:var(--w);border:1.5px solid var(--g1);border-radius:var(--rx);padding:1.9rem;transition:all .3s;}
.pricing-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.pricing-card.pc-featured{background:var(--navy);border-color:var(--navy);transform:scale(1.03);}
.pricing-card.pc-featured:hover{transform:scale(1.03) translateY(-4px);}
.pricing-card.pc-featured h3,.pricing-card.pc-featured .pc-amount,.pricing-card.pc-featured .pc-features li{color:var(--w)!important;}
.pricing-card.pc-featured .pc-sub{color:rgba(255,255,255,.5)!important;}
.pricing-card.pc-featured .pc-period{color:rgba(255,255,255,.5)!important;}
.pricing-card.pc-featured .pc-features li::before{color:#F5A0A0!important;}
.pc-popular{display:inline-block;background:var(--redsoft);color:var(--red);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .8rem;border-radius:50px;margin-bottom:1rem;border:1px solid var(--redmid);}
.pricing-card h3{font-family:var(--font-display);font-size:1.15rem;color:var(--g5);margin-bottom:.25rem;}
.pc-sub{font-size:.8rem;color:var(--g3);margin-bottom:1.25rem;}
.pc-amount{font-family:var(--font-display);font-size:2.6rem;color:var(--g5);}
.pc-period{font-size:.8rem;color:var(--g3);margin-left:.2rem;}
.pc-price-block{margin-bottom:1.5rem;}
.pc-features{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;}
.pc-features li{font-size:.82rem;color:var(--g4);padding-left:1.3rem;position:relative;}
.pc-features li::before{content:'✓';position:absolute;left:0;color:var(--red);font-weight:700;}
.pc-btn{display:block;text-align:center;font-family:var(--font-display);font-size:.88rem;padding:.82rem;border-radius:var(--r);background:transparent;color:var(--g5);border:1.5px solid var(--g2);cursor:pointer;transition:all .2s;}
.pc-btn:hover{border-color:var(--g5);}
.pc-btn-primary{background:var(--red)!important;border-color:var(--red)!important;color:var(--w)!important;}
.pc-btn-primary:hover{background:var(--red2)!important;border-color:var(--red2)!important;}
.pricing-note{text-align:center;font-size:.76rem;color:var(--g3);}

/* ---- AREAS ---- */
#areas{background:var(--w);padding:clamp(4rem,8vw,7rem) 0;}
.areas-layout{display:grid;grid-template-columns:1fr 2fr;gap:clamp(2.5rem,5vw,5rem);align-items:center;}
.areas-layout p{color:var(--g4);font-size:.93rem;line-height:1.7;margin-bottom:1.4rem;}
.areas-tags{display:flex;flex-wrap:wrap;gap:.55rem;}
.area-tag{background:var(--soft);border:1.5px solid var(--g1);border-radius:50px;padding:.5rem 1rem;font-size:.82rem;font-weight:500;color:var(--g5);transition:all .2s;cursor:default;}
.area-tag:hover{border-color:var(--redmid);background:var(--redsoft);color:var(--red);}

/* ---- REVIEWS ---- */
#testimonials{background:var(--soft);padding:clamp(4rem,8vw,7rem) 0;}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;}
.review-card{background:var(--w);border:1.5px solid var(--g1);border-radius:var(--rx);padding:1.5rem;transition:all .3s;}
.review-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.review-card.review-featured{background:var(--navy);border-color:var(--navy);}
.review-card.review-featured blockquote{color:rgba(255,255,255,.72)!important;}
.review-card.review-featured .review-stars{color:#F5A0A0!important;}
.review-card.review-featured .review-name{color:var(--w)!important;}
.review-card.review-featured .review-area{color:rgba(255,255,255,.38)!important;}
.review-card.review-featured .review-avatar{background:rgba(245,160,160,.15)!important;color:#F5A0A0!important;border-color:rgba(245,160,160,.2)!important;}
.review-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem;}
.review-stars{color:var(--red);font-size:.85rem;letter-spacing:.1em;}
.review-avatar{width:32px;height:32px;border-radius:50%;background:var(--soft);color:var(--g5);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.7rem;flex-shrink:0;border:1px solid var(--g2);}
blockquote{font-size:.82rem;color:var(--g4);line-height:1.75;font-style:italic;margin-bottom:1rem;}
.review-author{display:flex;align-items:center;gap:.6rem;}
.review-name{font-family:var(--font-display);font-size:.86rem;color:var(--g5);}
.review-area{font-size:.74rem;color:var(--g3);}
.reviews-cta{text-align:center;}

/* ---- FAQ ---- */
#faq{background:var(--w);padding:clamp(4rem,8vw,7rem) 0;}
.faq-layout{display:grid;grid-template-columns:1fr 2fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:start;}
.faq-heading p{color:var(--g4);font-size:.9rem;margin-top:.5rem;}
.faq-list{display:flex;flex-direction:column;gap:.6rem;}
.faq-item{background:var(--off);border:1.5px solid var(--g1);border-radius:var(--rl);overflow:hidden;transition:border-color .25s;}
.faq-item.open{border-color:var(--redmid);background:var(--w);}
.faq-trigger{width:100%;background:none;border:none;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;cursor:pointer;font-family:var(--font-display);font-size:.92rem;color:var(--g5);text-align:left;gap:.85rem;}
.faq-icon{width:22px;height:22px;border-radius:50%;background:var(--g1);color:var(--g4);display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;transition:all .3s;}
.faq-item.open .faq-icon{background:var(--redsoft);color:var(--red);transform:rotate(45deg);}
.faq-body{display:none;padding:0 1.25rem 1rem;font-size:.84rem;color:var(--g4);line-height:1.7;border-top:1px solid var(--g1);}
.faq-item.open .faq-body{display:block;}

/* ---- CTA BANNER ---- */
.cta-banner{background:var(--navy);padding:clamp(3rem,6vw,5rem) 5%;text-align:center;}
.cta-banner h2{font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,3rem);color:var(--w);margin-bottom:.6rem;}
.cta-banner p{color:rgba(255,255,255,.55);font-size:.98rem;margin-bottom:1.75rem;}
.cta-banner-btns{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;}
.btn-white{display:inline-flex;align-items:center;background:var(--w);color:var(--navy);font-family:var(--font-display);font-size:.93rem;padding:.8rem 1.9rem;border-radius:var(--r);transition:all .25s;}
.btn-white:hover{background:var(--off);}
.btn-ghost-white{display:inline-flex;align-items:center;background:transparent;color:var(--w);font-family:var(--font-display);font-size:.93rem;padding:.8rem 1.9rem;border-radius:var(--r);border:2px solid rgba(255,255,255,.35);transition:all .25s;}
.btn-ghost-white:hover{background:rgba(255,255,255,.08);}

/* ---- BOOKING ---- */
#booking{background:var(--soft);padding:clamp(4rem,8vw,7rem) 0;}
.booking-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:start;}
.booking-text .section-title{color:var(--navy);}
.booking-text p{color:var(--g4);font-size:.93rem;}
.booking-benefits{display:flex;flex-direction:column;gap:.85rem;margin-top:1.6rem;}
.booking-benefit{display:flex;align-items:flex-start;gap:.75rem;}
.booking-benefit-icon{font-size:1.1rem;flex-shrink:0;margin-top:.1rem;}
.booking-benefit-title{font-family:var(--font-display);font-size:.86rem;color:var(--g5);display:block;margin-bottom:.1rem;}
.booking-benefit-text{font-size:.78rem;color:var(--g4);margin:0;}
.booking-benefit-text a{color:var(--red);font-weight:600;}
.booking-form{background:var(--w);border-radius:var(--rx);padding:1.9rem;box-shadow:var(--shadow);border:1.5px solid var(--g1);}
.booking-form h3{font-family:var(--font-display);font-size:1.25rem;color:var(--g5);margin-bottom:1.25rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;}
.form-group{margin-bottom:.8rem;}
.form-group label{display:block;font-family:var(--font-display);font-size:.7rem;letter-spacing:.06em;color:var(--g5);margin-bottom:.35rem;}
.form-group input,.form-group select,.form-group textarea{width:100%;border:1.5px solid var(--g1);border-radius:var(--r);padding:.68rem .9rem;font-family:var(--font-body);font-size:.86rem;color:var(--g5);background:var(--off);outline:none;transition:border-color .2s,background .2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--red);background:var(--w);box-shadow:0 0 0 3px rgba(196,30,30,.06);}
.form-group textarea{height:80px;resize:vertical;}
.form-error{color:var(--red);font-size:.8rem;margin-bottom:.75rem;display:none;}
.btn-submit{width:100%;background:var(--red);color:var(--w);font-family:var(--font-display);font-size:.95rem;padding:.9rem;border-radius:var(--r);border:none;cursor:pointer;transition:all .25s;}
.btn-submit:hover{background:var(--red2);transform:translateY(-2px);}
.form-note{font-size:.7rem;color:var(--g3);text-align:center;margin-top:.6rem;}
.booking-success{display:none;text-align:center;padding:2.5rem 1.5rem;background:var(--w);border-radius:var(--rx);border:1.5px solid var(--g1);box-shadow:var(--shadow);}
.booking-success .success-icon{font-size:3rem;margin-bottom:.85rem;}
.booking-success h3{font-family:var(--font-display);font-size:1.3rem;color:#1D7A4A;margin-bottom:.6rem;}
.booking-success p{color:var(--g4);font-size:.88rem;line-height:1.7;}

/* ---- CONTACT ---- */
#contact{background:var(--navy);padding:clamp(4rem,8vw,7rem) 0;}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:start;}
#contact .section-label{color:#93C4F7;}
#contact .section-title{color:var(--w);}
.contact-info p{color:rgba(255,255,255,.5);margin-bottom:1.6rem;}
.contact-cards{display:flex;flex-direction:column;gap:.6rem;}
.contact-card{display:flex;align-items:center;gap:.85rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--rl);padding:.95rem 1.1rem;transition:all .25s;}
.contact-card:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);}
.cc-icon{font-size:1.25rem;flex-shrink:0;}
.cc-icon-whatsapp{color:#3DD16F;display:inline-flex;}
.contact-card small{display:block;font-size:.65rem;color:rgba(255,255,255,.38);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.15rem;}
.contact-card strong{color:var(--w);font-size:.88rem;font-weight:400;}
.contact-hours h3{font-family:var(--font-display);font-size:1.15rem;color:var(--w);margin-bottom:1rem;}
.hours-list{margin-bottom:1.6rem;}
.hours-row{display:flex;justify-content:space-between;padding:.72rem 0;border-bottom:1px solid rgba(255,255,255,.07);}
.hours-row span{font-size:.86rem;color:rgba(255,255,255,.5);}
.hours-row span:last-child{color:var(--w);}
.hours-highlight span{color:#93C4F7!important;}
.quick-msg h4{font-family:var(--font-display);font-size:.92rem;color:var(--w);margin-bottom:.8rem;}
.quick-msg input,.quick-msg textarea{width:100%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:.68rem .9rem;color:var(--w);font-family:var(--font-body);font-size:.85rem;outline:none;margin-bottom:.6rem;transition:border-color .2s;}
.quick-msg input::placeholder,.quick-msg textarea::placeholder{color:rgba(255,255,255,.3);}
.quick-msg input:focus,.quick-msg textarea:focus{border-color:rgba(147,196,247,.5);}
.quick-msg textarea{height:80px;resize:vertical;}
.qm-confirm{display:none;font-size:.78rem;color:#6DD98C;margin-top:.4rem;}

/* ---- FOOTER ---- */
.site-footer{background:var(--navy);border-top:1px solid rgba(255,255,255,.08);padding:clamp(2.5rem,5vw,4.5rem) 0 0;}
.footer-inner{max-width:var(--max);margin:0 auto;padding:0 clamp(1.25rem,5vw,3rem) 2rem;display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:2.5rem;}
.footer-tagline{color:rgba(255,255,255,.38);font-size:.82rem;line-height:1.7;margin:.7rem 0 1rem;}
.footer-social{display:flex;gap:.5rem;}
.footer-social a{width:32px;height:32px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.45);font-size:.85rem;transition:all .2s;}
.footer-social a:hover{background:var(--red);border-color:var(--red);color:var(--w);}
.footer-col h4{font-family:var(--font-display);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:.85rem;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.5rem;}
.footer-links a{color:rgba(255,255,255,.38);font-size:.82rem;transition:color .2s;}
.footer-links a:hover{color:rgba(255,255,255,.8);}
.footer-hours{margin-top:1rem;color:rgba(255,255,255,.28);font-size:.76rem;line-height:1.8;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding:1.1rem clamp(1.25rem,5vw,3rem);display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:0 auto;}
.footer-bottom p{font-size:.72rem;color:rgba(255,255,255,.22);}
.dvsa-badge-wrap{display:flex;align-items:center;gap:.45rem;font-size:.72rem;color:rgba(255,255,255,.28);}
.dvsa-badge{background:var(--red);color:var(--w);font-family:var(--font-display);font-weight:800;font-size:.65rem;padding:2px 6px;border-radius:4px;}

/* ---- SCROLL REVEAL ---- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ---- RESPONSIVE ---- */
@media(max-width:1024px){
  .team-grid,.services-grid,.reviews-grid,.approach-grid{grid-template-columns:1fr 1fr;}
  .footer-inner{grid-template-columns:1fr 1fr;gap:2rem;}
}
@media(max-width:900px){
  .about-layout,.booking-layout,.contact-layout,.areas-layout,.faq-layout{grid-template-columns:1fr;}
  .about-img-stack{height:300px;}
  .about-img-main{width:58%;height:240px;}
  .about-img-accent{width:50%;height:195px;}
  .pricing-grid{grid-template-columns:1fr;}
  .pricing-grid-5{grid-template-columns:1fr;}
  .pricing-card.pc-featured{transform:scale(1);}
  .pricing-card.pc-featured:hover{transform:translateY(-4px)!important;}
}
@media(max-width:768px){
  .main-nav,.header-cta{display:none;}
  .whatsapp-float{width:52px;height:52px;bottom:18px;right:18px;}
  .burger{display:flex;}
  .team-grid,.services-grid,.reviews-grid,.approach-grid{grid-template-columns:1fr;}
  .hero-stats-bar{flex-wrap:wrap;justify-content:space-around;}
  .hero-stat-bar-divider{display:none;}
  .hero-stat-item{padding:.5rem 1rem;}
  .form-row{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr;}
  .dw-slider-dots{display:none;}
}
@media(max-width:480px){
  .hero-headline{font-size:clamp(3rem,16vw,5rem);}
  .areas-layout,.faq-layout{grid-template-columns:1fr;}
}
