/* Blue Door Websites - style.css (Updated Header/Hero) */

:root{
 --primary:#0b5ea8;
 --primary-dark:#08487f;
 --accent:#d4af37;
 --text:#222;
 --muted:#666;
 --bg:#f7f9fc;
 --white:#fff;
 --radius:18px;
 --shadow:0 10px 28px rgba(0,0,0,.08);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Poppins,sans-serif;color:var(--text);line-height:1.6;background:#fff}
img{display:block;max-width:100%}
a{text-decoration:none}
.container{width:min(1180px,92%);margin:auto}

/* Header */
header{
 position:sticky;
 top:0;
 background:#fff;
 box-shadow:0 2px 10px rgba(0,0,0,.06);
 z-index:1000;
}
header .container{
 display:flex;
 align-items:center;
 justify-content:space-between;
 padding:16px 0;
}
.logo img{
 height:70px;
 width:auto;
}
nav ul{
 list-style:none;
 display:flex;
 gap:2rem;
 align-items:center;
}
nav a{
 color:var(--text);
 font-weight:600;
}
.header-button,.primary-button,.secondary-button,.package-button{
 display:inline-block;
 padding:14px 28px;
 border-radius:999px;
 font-weight:600;
 transition:.25s;
}
.header-button,.primary-button,.package-button{
 background:var(--primary);
 color:#fff;
}
.secondary-button{
 border:2px solid var(--primary);
 color:var(--primary);
}
.header-button:hover,.primary-button:hover,.package-button:hover{background:var(--primary-dark)}
.secondary-button:hover{background:var(--primary);color:#fff}


/* Blue Door hero animation */
 .hero-logo-animation{
  width:min(580px,84%);
  margin:0 auto 22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:0;
}

.hero-door-video{
  width:min(235px,36vw);
  aspect-ratio:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  overflow:hidden;
  flex:0 0 auto;
}

.hero-door-media{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff;
}

.hero-logo-static{
  display:block;
  width:min(490px,100%);
  height:auto;
  flex:0 0 auto;
  margin-top:-2px;
}

.hero-tagline-static{
  display:block;
  width:392px !important;
  max-width:100% !important;
  height:auto;
  margin-top:4px;
}

@media (max-width:768px){
  .hero-logo-animation{
    width:min(340px,92%);
    margin-bottom:26px;
  }

  .hero-door-video{
    width:min(210px,54vw);
  }

  .hero-logo-static{
    width:100%;
  }

  .hero-tagline-static{
    width:100%;
    margin-top:2px;
  }
}

/* Hero */
.hero{
 padding:16px 0 34px;
 text-align:center;
}
.hero-logo{
 width:min(520px,90%);
 margin:0 auto 50px;
}
.hero h1{
 font-size:3.2rem;
 line-height:1.15;
 margin-bottom:24px;
}
.hero-intro{
 max-width:760px;
 margin:0 auto 40px;
 color:var(--muted);
 font-size:1.15rem;
}
.hero-buttons{
 display:flex;
 justify-content:center;
 gap:18px;
 flex-wrap:wrap;
}

/* Pricing */
.pricing{
 background:var(--bg);
 padding:90px 0;
}
.section-heading{text-align:center;margin-bottom:50px}
.section-heading h2{font-size:2.3rem;margin-bottom:15px}
.pricing-grid{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
 gap:30px;
}
.pricing-card{
 background:#fff;
 border-radius:var(--radius);
 padding:36px;
 box-shadow:var(--shadow);
 position:relative;
}
.featured{
 border:3px solid var(--accent);
 transform:scale(1.04);
}
.popular-badge{
 position:absolute;
 top:-16px;
 left:50%;
 transform:translateX(-50%);
 background:var(--accent);
 padding:8px 18px;
 border-radius:999px;
 font-weight:700;
}
.price{font-size:2.5rem;color:var(--primary);font-weight:700;margin:18px 0}
.pricing-card ul{list-style:none;margin:25px 0}
.pricing-card li{margin-bottom:12px}
.pricing-card i{color:#28a745;margin-right:8px}



/* Pricing call prompt */
.pricing-call-prompt{
  max-width:820px;
  margin:34px auto 0;
  padding:24px 28px;
  text-align:center;
  background:#fff;
  border:1px solid #e3e8f0;
  border-radius:14px;
  box-shadow:0 5px 16px rgba(0,0,0,.06);
}
.pricing-call-prompt h3{
  color:#16264a;
  font-size:1.2rem;
  margin-bottom:6px;
  font-weight:700;
}
.pricing-call-prompt p{
  color:#666;
  margin:0 auto 16px;
  max-width:650px;
}
.pricing-call-prompt a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  background:#0b5ea8;
  color:#fff;
  padding:12px 22px;
  border-radius:999px;
  font-weight:700;
  transition:.25s;
}
.pricing-call-prompt a:hover{
  background:#08487f;
}
@media (max-width:768px){
  .pricing-call-prompt{
    margin:26px auto 0;
    padding:20px 16px;
  }
  .pricing-call-prompt h3{font-size:1.05rem}
  .pricing-call-prompt p{font-size:.9rem}
  .pricing-call-prompt a{
    width:100%;
    max-width:300px;
  }
}

/* Benefits */
.benefits{
 background:#fff;
 padding:0 0 60px;
 border-top:3px solid #1d1d1d;
}
.benefits .section-heading{
 margin:0 0 28px;
}
.benefits .section-heading h2{
 color:#16264a;
 font-size:2rem;
 font-weight:800;
 letter-spacing:.2px;
}
.benefits-grid{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:18px 24px;
}
.benefit-card{
 background:#fff;
 border-radius:14px;
 overflow:hidden;
 box-shadow:0 5px 16px rgba(0,0,0,.10);
 text-align:center;
 transition:transform .25s ease,box-shadow .25s ease;
}
.benefit-card:hover{
 transform:translateY(-4px);
 box-shadow:0 9px 22px rgba(0,0,0,.14);
}
.benefit-image{
 position:relative;
 height:150px;
 overflow:visible;
}
.benefit-image img{
 width:100%;
 height:100%;
 object-fit:cover;
}
.benefit-icon{
 position:absolute;
 left:50%;
 bottom:-24px;
 transform:translateX(-50%);
 width:50px;
 height:50px;
 border-radius:50%;
 background:#0d4fd7;
 border:3px solid #fff;
 box-shadow:0 2px 7px rgba(0,0,0,.18);
 display:flex;
 align-items:center;
 justify-content:center;
 color:#fff;
 font-size:21px;
 z-index:2;
}
.benefit-content{
 padding:36px 18px 16px;
 min-height:91px;
}
.benefit-content h3{
 color:#151515;
 font-size:1rem;
 line-height:1.2;
 font-weight:800;
 margin-bottom:7px;
}
.benefit-content p{
 color:#26334f;
 font-size:.86rem;
 line-height:1.45;
 margin:0 auto;
 max-width:245px;
}


/* Final CTA */
.cta-banner{
  background:linear-gradient(180deg,#073fc8 0%,#0b4bd8 100%);
  color:#fff;
  padding:0;
}
.cta-inner{width:100%;max-width:none}
.cta-main{
  min-height:168px;
  display:grid;
  grid-template-columns:150px minmax(0,1fr) minmax(420px,1fr);
  align-items:center;
  gap:24px;
  padding:22px 8%;
}
.cta-phone-icon{
  width:104px;
  height:104px;
  border:2px solid rgba(255,255,255,.92);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:44px;
}
.cta-message h2{
  font-size:2rem;
  line-height:1.12;
  font-weight:800;
  margin:0 0 8px;
}
.cta-message p{
  font-size:1rem;
  margin:0;
  color:rgba(255,255,255,.94);
}
.cta-call{
  position:relative;
  text-align:center;
  min-height:130px;
  padding-top:2px;
}
.cta-call-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-width:355px;
  padding:16px 28px;
  background:#fff;
  color:#114ed5;
  border-radius:8px;
  font-weight:800;
  font-size:1.05rem;
  box-shadow:0 4px 10px rgba(0,0,0,.12);
}
.cta-call-button:hover{
  background:#fff;
  color:#08487f;
}
.cta-chat{
  margin-top:10px;
  font-family:"Brush Script MT","Segoe Script","Comic Sans MS",cursive;
  font-size:2rem;
  font-style:italic;
  color:#fff;
}
.cta-benefits{
  min-height:78px;
  background:#031a52;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center;
  padding:0 8%;
  gap:30px;
}
.cta-benefits>div{
  display:flex;
  align-items:center;
  gap:14px;
  font-size:.86rem;
  line-height:1.3;
  font-weight:600;
}
.cta-benefits i{
  width:40px;
  text-align:center;
  font-size:29px;
  color:#fff;
}

/* Large-screen responsive sizing */
@media (min-width: 1400px){
  .container{
    max-width: 1450px;
  }
}
@media (min-width: 1800px){
  .container{
    max-width: 1650px;
  }
}
@media (min-width: 2200px){
  .container{
    max-width: 1850px;
  }
}

@media (max-width:768px){
  .cta-main{
    grid-template-columns:1fr;
    text-align:center;
    gap:14px;
    padding:30px 6%;
  }
  .cta-phone-icon{margin:0 auto;width:76px;height:76px;font-size:30px}
  .cta-message h2{font-size:1.45rem}
  .cta-message p{font-size:.95rem}
  .cta-call{min-height:0}
  .cta-call-button{min-width:0;width:100%;max-width:360px;font-size:1rem}
  .cta-chat{font-size:1.6rem}
  .cta-benefits{
    grid-template-columns:1fr 1fr;
    padding:20px 6%;
    gap:18px 12px;
  }
  .cta-benefits>div{font-size:.72rem;gap:8px}
  .cta-benefits i{font-size:23px;width:28px}
}
/* JS fade helper */
.fade-section{opacity:0;transform:translateY(30px);transition:.6s ease}
.fade-section.visible{opacity:1;transform:none}

@media (max-width:1020px){
 .benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:768px){
 .hero h1{font-size:2.2rem}
 .featured{transform:none}
 .logo img{height:58px}
 .hero-logo{width:min(360px,92%)}
 .benefits{padding-bottom:45px}
 .benefits .section-heading h2{font-size:1.55rem}
 .benefits-grid{grid-template-columns:1fr;max-width:430px;margin:0 auto}
 .benefit-image{height:180px}
}

/* Compact mobile header */
.mobile-menu-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.mobile-menu-toggle span{display:block;width:24px;height:2.5px;background:var(--primary);border-radius:3px;transition:.2s}
.header-menu{display:flex;align-items:center;justify-content:flex-end;gap:2rem}
.mobile-call-button{
 display:none;
 align-items:center;
 justify-content:center;
 gap:8px;
 padding:9px 16px;
 min-height:42px;
 border:2px solid #111;
 border-radius:999px;
 background:#fff;
 color:#111;
 font-weight:800;
 font-size:.84rem;
 letter-spacing:.01em;
 white-space:nowrap;
}
.mobile-call-button i{font-size:.82rem}
.mobile-call-button:hover{background:#fff;color:#111}

@media (max-width:768px){
 header .container{height:68px;min-height:68px;flex-direction:row;gap:0;padding:0 4%}
 .logo{display:none}
 .mobile-call-button{display:inline-flex;margin-left:0;margin-right:auto}
 .mobile-menu-toggle{display:flex;margin-left:auto}
 .header-menu{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;padding:18px 6% 22px;box-shadow:0 8px 18px rgba(0,0,0,.12);border-top:1px solid #eef1f7;flex-direction:column;align-items:stretch;gap:16px}
 .header-menu.open{display:flex}
 .header-menu nav ul{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;gap:0}
 .header-menu nav li{border-bottom:1px solid #edf0f5}
 .header-menu nav a{display:block;padding:13px 4px;font-size:1rem}
 .header-menu .header-button{text-align:center;margin-top:2px}
 .mobile-menu-toggle.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
 .mobile-menu-toggle.open span:nth-child(2){opacity:0}
 .mobile-menu-toggle.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
}

/* Final mobile hero position */
@media (max-width:768px){
  .hero{
    padding-top: clamp(22px, 5vw, 34px);
  }
  .hero-logo,
  .hero-branding{
    margin-top: 0;
  }
}


@media (max-width:768px){
  .hero-logo-animation{
    width:min(360px,92%);
    margin-bottom:34px;
  }
}

/* Mobile benefit-page home button — hidden on desktop */
.mobile-home-button{display:none}
@media (max-width:768px){
  .benefit-page header .container,
  .benefit3-page header .container,
  .benefit4-page header .container,
  .benefit5-page header .container,
  .benefit6-page header .container,
  .benefit7-page header .container,
  .benefit8-page header .container{
    display:flex;
    align-items:center;
  }
  .mobile-home-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    margin-left:10px;
    margin-right:8px;
    border:2px solid var(--primary);
    border-radius:50%;
    color:var(--primary);
    background:#fff;
    font-size:17px;
    flex:0 0 42px;
  }
  .mobile-home-button:hover{background:#fff;color:var(--primary)}
}
