/* BookedByKB — shared styles for service landing pages
   Matches the homepage design system (navy / blue / sky). */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
--navy:#0D1B2A;--navy-mid:#1B2D45;--blue:#1E88E5;--sky:#4DB6FF;
--ice:#B3E5FC;--white:#FFFFFF;--gray:#94A3B8;--light:#F0F7FF;
--green:#22C55E;--orange:#F59E0B;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:var(--navy);background:var(--white);overflow-x:hidden}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;transition:all .4s;background:rgba(13,27,42,.55)}
nav.scrolled{background:rgba(13,27,42,.97);backdrop-filter:blur(12px);box-shadow:0 2px 30px rgba(0,0,0,.15)}
.nav-logo{font-family:'Poppins',sans-serif;font-weight:800;font-size:1.5rem;color:var(--white);text-decoration:none}
.nav-logo span{color:var(--sky)}
.nav-links{display:flex;gap:1.8rem;align-items:center}
.nav-links a{color:rgba(255,255,255,.85);text-decoration:none;font-size:.85rem;font-weight:500;transition:color .3s}
.nav-links a:hover{color:var(--sky)}
.nav-cta{background:var(--blue);color:var(--white)!important;padding:.55rem 1.4rem;border-radius:50px;font-weight:600;transition:all .3s!important}
.nav-cta:hover{background:var(--sky);transform:translateY(-2px);box-shadow:0 4px 20px rgba(77,182,255,.4)}
.menu-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:101}
.menu-toggle span{width:24px;height:2px;background:var(--white);transition:all .3s}

/* BUTTONS */
.btn-primary{background:var(--blue);color:var(--white);padding:.85rem 2rem;border-radius:50px;text-decoration:none;font-weight:600;font-size:.95rem;transition:all .3s;display:inline-flex;align-items:center;gap:.5rem;border:none;cursor:pointer}
.btn-primary:hover{background:var(--sky);transform:translateY(-3px);box-shadow:0 8px 30px rgba(77,182,255,.3)}
.btn-primary.large{padding:1rem 2.5rem;font-size:1.05rem}
.btn-outline{border:1.5px solid rgba(255,255,255,.25);color:var(--white);padding:.85rem 2rem;border-radius:50px;text-decoration:none;font-weight:500;font-size:.95rem;transition:all .3s;display:inline-flex;align-items:center;gap:.5rem}
.btn-outline:hover{border-color:var(--sky);color:var(--sky)}

/* LANDING HERO (single column, centered) */
.lp-hero{min-height:78vh;background:var(--navy);position:relative;display:flex;align-items:center;overflow:hidden}
.lp-hero-glow{position:absolute;top:-40%;right:-15%;width:70%;height:180%;background:radial-gradient(ellipse,rgba(30,136,229,.14) 0%,transparent 65%);pointer-events:none}
.lp-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(to top,var(--white),transparent);pointer-events:none;z-index:2}
.lp-hero-inner{max-width:820px;margin:0 auto;padding:9rem 2rem 5rem;position:relative;z-index:3;text-align:center}
.lp-badge{display:inline-block;padding:.4rem 1rem;background:rgba(77,182,255,.12);border:1px solid rgba(77,182,255,.25);border-radius:50px;color:var(--sky);font-size:.7rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:1.5rem}
.lp-hero h1{font-family:'Poppins',sans-serif;font-size:clamp(2rem,4.6vw,3.2rem);font-weight:800;line-height:1.12;color:var(--white);margin-bottom:1.1rem}
.lp-hero h1 .accent{color:var(--sky)}
.lp-hero-sub{font-family:'Poppins',sans-serif;font-size:clamp(1rem,2vw,1.25rem);font-weight:500;color:rgba(255,255,255,.72);margin-bottom:1.4rem}
.lp-hero p{color:var(--gray);font-size:1rem;line-height:1.75;margin:0 auto 2rem;max-width:600px}
.lp-hero-buttons{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.lp-hero-trust{display:flex;gap:2.4rem;margin-top:2.2rem;justify-content:center;flex-wrap:wrap}
.trust-item{text-align:center}
.trust-num{font-family:'Poppins',sans-serif;font-size:1.5rem;font-weight:800;color:var(--sky)}
.trust-label{color:var(--gray);font-size:.68rem;text-transform:uppercase;letter-spacing:1px}

/* SECTION BASE */
section{padding:5rem 2rem}
.section-inner{max-width:1000px;margin:0 auto}
.section-tag{display:inline-block;padding:.35rem .9rem;background:rgba(30,136,229,.08);color:var(--blue);border-radius:50px;font-size:.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:1rem}
.section-title{font-family:'Poppins',sans-serif;font-size:clamp(1.6rem,3.2vw,2.3rem);font-weight:800;color:var(--navy);line-height:1.15;margin-bottom:.8rem}
.section-sub{color:#64748B;font-size:.95rem;line-height:1.75;max-width:620px}
.prose p{color:#475569;font-size:.95rem;line-height:1.8;margin-bottom:1.1rem;max-width:680px}
.dark-section{background:var(--navy);color:var(--white)}
.dark-section .section-tag{background:rgba(77,182,255,.12);color:var(--sky)}
.dark-section .section-title{color:var(--white)}
.dark-section .section-sub{color:var(--gray)}

/* PROBLEM LIST */
.pain-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:2.2rem}
.pain-item{background:var(--navy-mid);border:1px solid rgba(77,182,255,.1);border-radius:14px;padding:1.4rem 1.5rem}
.pain-item h4{font-family:'Poppins',sans-serif;font-size:.95rem;font-weight:700;color:var(--white);margin-bottom:.45rem;display:flex;gap:.5rem;align-items:center}
.pain-item p{color:var(--gray);font-size:.85rem;line-height:1.65}

/* SERVICES / WHAT YOU GET */
.services-lp{background:var(--light)}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2.5rem}
.service-card{background:var(--white);padding:2rem;border-radius:16px;border:1px solid rgba(30,136,229,.07);transition:all .4s;position:relative;overflow:hidden}
.service-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(13,27,42,.08);border-color:rgba(30,136,229,.15)}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--sky));transform:scaleX(0);transition:transform .4s;transform-origin:left}
.service-card:hover::before{transform:scaleX(1)}
.service-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--blue),var(--sky));border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;font-size:1.3rem}
.service-card h3{font-family:'Poppins',sans-serif;font-size:1.05rem;font-weight:700;margin-bottom:.5rem}
.service-card p{color:#64748B;font-size:.85rem;line-height:1.65}

/* PROOF / PORTFOLIO CALLOUT */
.proof{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:center;margin-top:2rem;background:var(--light);border-radius:20px;padding:2.5rem;border:1px solid rgba(30,136,229,.08)}
.proof-body h3{font-family:'Poppins',sans-serif;font-size:1.3rem;font-weight:800;color:var(--navy);margin-bottom:.7rem}
.proof-body p{color:#475569;font-size:.9rem;line-height:1.75;margin-bottom:1.2rem}
.proof-link{color:var(--blue);font-weight:700;font-size:.9rem;text-decoration:none;border-bottom:2px solid transparent;transition:border-color .2s}
.proof-link:hover{border-color:var(--blue)}
.proof-visual{background:linear-gradient(135deg,var(--navy),var(--navy-mid));border-radius:16px;padding:2.2rem;color:var(--white);min-height:180px;display:flex;flex-direction:column;justify-content:center;gap:.6rem;box-shadow:0 16px 40px rgba(13,27,42,.15)}
.proof-visual .pv-name{font-family:'Poppins',sans-serif;font-size:1.15rem;font-weight:800}
.proof-visual .pv-url{color:var(--sky);font-size:.82rem;font-weight:600}
.proof-visual .pv-tag{display:inline-block;width:fit-content;padding:.25rem .8rem;background:rgba(77,182,255,.15);color:var(--sky);border-radius:50px;font-size:.68rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}

/* PACKAGE POINTER */
.pkg-pointer{background:var(--white);border:2px solid rgba(30,136,229,.15);border-radius:18px;padding:2.2rem;margin-top:2rem;display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center}
.pkg-pointer h3{font-family:'Poppins',sans-serif;font-size:1.15rem;font-weight:800;color:var(--navy);margin-bottom:.4rem}
.pkg-pointer .pkg-price{font-family:'Poppins',sans-serif;font-size:1.05rem;font-weight:700;color:var(--blue)}
.pkg-pointer p{color:#64748B;font-size:.88rem;line-height:1.65}

/* FAQ */
.faq-list{max-width:760px;margin:2rem auto 0;display:flex;flex-direction:column;gap:1rem}
.faq-item{background:var(--light);border-radius:14px;padding:1.4rem 1.6rem}
.faq-item h4{font-family:'Poppins',sans-serif;font-size:.98rem;font-weight:700;color:var(--navy);margin-bottom:.5rem}
.faq-item p{color:#64748B;font-size:.88rem;line-height:1.7}

/* CTA */
.cta-section{background:linear-gradient(135deg,var(--navy),var(--navy-mid));text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(77,182,255,.1),transparent);border-radius:50%}
.cta-section .section-title{color:var(--white)}
.cta-section .section-sub{color:var(--gray);margin:0 auto 2rem}

/* BREADCRUMB (nav.crumb overrides the fixed nav rule above) */
nav.crumb{position:static;background:transparent;display:block;max-width:1000px;margin:0 auto;padding:1.6rem 2rem 0;font-size:.78rem;color:var(--gray)}
nav.crumb a{color:var(--blue);text-decoration:none}
nav.crumb a:hover{text-decoration:underline}

/* FOOTER */
footer{background:var(--navy);color:var(--gray);padding:3rem 2rem 1.5rem;text-align:center}
.footer-inner{max-width:1100px;margin:0 auto}
.footer-logo{font-family:'Poppins',sans-serif;font-weight:800;font-size:1.3rem;color:var(--white);margin-bottom:.3rem}
.footer-logo span{color:var(--sky)}
.footer-tagline{font-size:.82rem;margin-bottom:1.2rem}
.footer-links{display:flex;justify-content:center;gap:2rem;margin-bottom:1.2rem;flex-wrap:wrap}
.footer-links a{color:var(--gray);text-decoration:none;font-size:.82rem;transition:color .3s}
.footer-links a:hover{color:var(--sky)}
.footer-hours{font-size:.78rem;margin-bottom:1rem;color:var(--gray)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:1rem;font-size:.72rem}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.lp-hero-inner>*{animation:fadeUp .7s ease both}
.lp-hero-inner>*:nth-child(2){animation-delay:.08s}
.lp-hero-inner>*:nth-child(3){animation-delay:.14s}
.lp-hero-inner>*:nth-child(4){animation-delay:.2s}
.reveal{opacity:0;transform:translateY(30px);transition:all .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* MOBILE */
@media(max-width:768px){
.nav-links{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(13,27,42,.98);flex-direction:column;justify-content:center;align-items:center;gap:2rem}
.nav-links.open{display:flex}
.nav-links a{font-size:1.2rem}
.menu-toggle{display:flex}
.lp-hero-inner{padding-top:8rem}
.proof{grid-template-columns:1fr}
.pkg-pointer{grid-template-columns:1fr;text-align:center}
.pkg-pointer .btn-primary{justify-content:center}
}
