/* ─── RESET ─────────────────────────────── */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Poppins',sans-serif; color:#333; overflow-x:hidden; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }

/* ─── VARIABLES ──────────────────────────── */
:root {
    --navy:      #1f3a5f;
    --navy-deep: #16294a;
    --steel:     #7a8ea6;
    --btn-dark:  #4a6485;
    --btn-mid:   #6b85a3;
    --offwhite:  #f5f5f3;
    --gold:      #c8a96a;
    --text:      #4a4a4a;
    --muted:     #8b929c;
}

/* ═══════════════════════════════════════════════ */
/* ───────────── TRANSLUCENT HEADER ─────────────  */
/* ═══════════════════════════════════════════════ */
.top-header {
    background:rgba(255,255,255,0.82);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    box-shadow:0 2px 24px rgba(0,0,0,0.08);
    position:sticky; top:0; z-index:1000;
}
.top-header-inner {
    max-width:1380px; margin:0 auto; padding:10px 40px;
    display:flex; justify-content:space-between; align-items:center; gap:24px;
}
.hdr-logo { display:flex; align-items:center; gap:14px; flex-shrink:0; }
.hdr-logo svg.logo-mark { width:62px; height:62px; flex-shrink:0; }
.hdr-logo img.logo-img { height:105px; width:auto; flex-shrink:0; }
.hdr-logo img.logo-mark-img { height:78px; width:auto; flex-shrink:0; }
.hdr-logo-text { line-height:1.1; }
.hdr-logo-text .top-line {
    font-family:'Allura',cursive;
    font-size:42px; color:var(--navy); line-height:1;
}
.hdr-logo-text .bottom-line {
    font-family:'Rubik',sans-serif;
    font-size:14px; font-weight:500; color:var(--navy);
    text-transform:uppercase; letter-spacing:2.8px;
    margin-top:3px;
}
.hdr-contact { display:flex; align-items:center; gap:24px; }
.hdr-contact-block { display:flex; align-items:center; gap:11px; }
.hdr-contact-icon {
    width:44px; height:44px; flex-shrink:0;
    background:var(--offwhite); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
}
.hdr-contact-icon svg { width:20px; height:20px; }
.hdr-contact-text { line-height:1.3; }
.hdr-contact-label {
    font-size:11px; color:var(--muted);
    text-transform:uppercase; letter-spacing:1.5px;
    margin-bottom:2px;
}
.hdr-contact-val { font-size:13.5px; font-weight:600; color:var(--navy); }
.hdr-contact-val a { color:inherit; }
.hdr-sep { width:1px; height:42px; background:rgba(31,58,95,0.15); flex-shrink:0; }
.hdr-btns { display:flex; gap:9px; flex-shrink:0; }
.hdr-btn {
    display:inline-flex; align-items:center; gap:9px;
    background:linear-gradient(74deg, var(--btn-dark) 0%, var(--btn-mid) 100%);
    color:white; border-radius:50px;
    padding:9px 20px 9px 9px;
    font-family:'Rubik',sans-serif; font-size:13.5px; font-weight:500;
    transition:all .25s; white-space:nowrap;
    box-shadow:0 4px 16px rgba(31,58,95,.15);
}
.hdr-btn:hover { transform:translateY(-1px); box-shadow:0 6px 20px rgba(31,58,95,.25); }
.hdr-btn-circle {
    width:38px; height:38px; background:rgba(255,255,255,.2); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
}
.hdr-btn-circle svg { width:18px; height:18px; }
.nav-bar {
    border-top:1px solid rgba(31,58,95,0.1);
    background:rgba(255,255,255,0.4);
}
.nav-inner {
    max-width:1380px; margin:0 auto; padding:0 40px;
    display:flex; justify-content:center; align-items:center;
}
.nav-menu { display:flex; gap:0; list-style:none; }
.nav-menu li a {
    display:inline-block;
    padding:14px 22px;
    font-family:'Rubik',sans-serif; font-size:13px; font-weight:500;
    color:var(--navy); text-transform:uppercase; letter-spacing:1.2px;
    transition:color .2s; position:relative;
}
.nav-menu li a:hover { color:var(--btn-mid); }
.nav-menu li a::after {
    content:""; position:absolute; bottom:8px; left:22px; right:22px;
    height:2px; background:var(--btn-mid);
    transform:scaleX(0); transition:transform .25s;
}
.nav-menu li a:hover::after { transform:scaleX(1); }
.nav-toggle { display:none; }

/* ═══════════════════════════════════════════════ */
/* ───────────────── HERO ───────────────────────  */
/* ═══════════════════════════════════════════════ */
.hero {
    position:relative; width:100%;
    height:100vh; min-height:620px;
    overflow:hidden;
    display:flex; align-items:center; justify-content:center;
    margin-top:-160px;
    padding-top:160px;
}
.hero video {
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    z-index:0;
}
.hero::before {
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,.2) 0%, rgba(0,0,0,.5) 100%);
    z-index:1;
}
.hero-content {
    position:relative; z-index:2;
    text-align:center;
    padding:0 20px;
    max-width:1100px;
}
.hero-title {
    font-family:'Poppins',sans-serif;
    font-weight:700;
    color:white;
    font-size:clamp(40px, 6.4vw, 84px);
    line-height:1.1;
    letter-spacing:-1px;
    text-shadow:0 4px 24px rgba(0,0,0,.5);
    margin-bottom:42px;
}
.hero-title .script {
    font-family:'Allura',cursive;
    font-weight:400;
    color:#ffd87a;
    font-size:1.5em;
    font-style:normal;
    display:inline-block;
    padding:0 .05em;
    transform:translateY(.08em);
    text-shadow:0 4px 30px rgba(0,0,0,.55);
}
.hero-cta {
    display:inline-flex; align-items:center; gap:12px;
    background:linear-gradient(74deg, var(--btn-dark) 0%, var(--btn-mid) 100%);
    color:white; border-radius:50px;
    padding:18px 38px;
    font-family:'Rubik',sans-serif; font-size:16px; font-weight:500;
    letter-spacing:.5px;
    transition:all .3s;
    box-shadow:0 8px 28px rgba(0,0,0,.35);
}
.hero-cta:hover { transform:translateY(-2px); box-shadow:0 12px 36px rgba(0,0,0,.45); }
.hero-cta svg { width:18px; height:18px; }
.hero-edge { position:absolute; bottom:-2px; left:0; width:100%; pointer-events:none; line-height:0; z-index:2; }
.hero-edge svg { display:block; width:100%; }

/* ═══════════════════════════════════════════════ */
/* ────────────── GRASS DIVIDERS ────────────────  */
/* ═══════════════════════════════════════════════ */
.grass { line-height:0; overflow:hidden; position:relative; z-index:1; }
.grass svg { display:block; width:100%; }

/* ═══════════════════════════════════════════════ */
/* ────────── SECTION LABELS (shared) ───────────  */
/* ═══════════════════════════════════════════════ */
.sec-eyebrow {
    font-family:'Rubik',sans-serif; font-size:15px; font-weight:500;
    color:var(--steel); text-transform:uppercase; letter-spacing:5px;
    text-align:center; margin-bottom:14px;
}
.sec-eyebrow.white { color:rgba(255,255,255,.75); }
.sec-h {
    font-family:'Poppins',sans-serif; font-size:clamp(32px,3.8vw,52px);
    font-weight:600; letter-spacing:-.5px;
    color:var(--navy); text-align:center; margin-bottom:55px; line-height:1.15;
}
.sec-h.white { color:white; }
.sec-h.left { text-align:left; }
.services-intro {
    text-align:center; max-width:760px; margin:-30px auto 50px;
    font-size:16px; color:var(--text); line-height:1.7;
}



/* ═══════════════════════════════════════════════ */
/* ──────────────── SERVICES ────────────────────  */
/* ═══════════════════════════════════════════════ */
.services-sec { background:var(--offwhite); padding:90px 0 110px; }
.container { max-width:1320px; margin:0 auto; padding:0 36px; }
.services-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:26px; }
.srv-card {
    background:white; border-radius:18px; overflow:hidden;
    box-shadow:0 4px 22px rgba(0,0,0,.06); transition:transform .3s,box-shadow .3s;
}
.srv-card:hover { transform:translateY(-7px); box-shadow:0 16px 40px rgba(0,0,0,.12); }
.srv-card-img { height:340px; overflow:hidden; }
.srv-card-img img { width:100%; height:100%; object-fit:cover; object-position:center 45%; transition:transform .4s; image-orientation:from-image; }
.srv-card:hover .srv-card-img img { transform:scale(1.06); }
.srv-card-body { padding:24px 26px 30px; }
.srv-card-body h3 {
    font-family:'Poppins',sans-serif; font-size:22px; font-weight:600;
    color:var(--navy); margin-bottom:12px;
}
.srv-card-body p { font-size:14px; color:var(--text); line-height:1.7; margin-bottom:18px; }
.srv-card-body .rd-btn {
    display:inline-block; font-size:13px; font-weight:500; color:var(--steel);
    border:1.5px solid var(--steel); border-radius:50px; padding:8px 22px;
    text-transform:uppercase; letter-spacing:1px;
    transition:all .25s;
}
.srv-card-body .rd-btn:hover { background:var(--steel); color:white; }
.see-all { text-align:center; margin-top:56px; }
.pill-btn {
    display:inline-flex; align-items:center; gap:10px;
    background:linear-gradient(74deg, var(--btn-dark) 0%, var(--btn-mid) 100%);
    color:white; border-radius:50px; padding:16px 36px;
    font-family:'Rubik',sans-serif; font-size:15px; font-weight:500;
    letter-spacing:.5px;
    transition:all .3s;
    box-shadow:0 4px 16px rgba(31,58,95,.15);
}
.pill-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(31,58,95,.25); }
.pill-btn.outline {
    background:transparent; border:2px solid rgba(255,255,255,.7); color:white; box-shadow:none;
}
.pill-btn.outline:hover { background:rgba(255,255,255,.12); border-color:white; }
.pill-btn svg { width:16px; height:16px; flex-shrink:0; }

/* ═══════════════════════════════════════════════ */
/* ──────────── DROP-OFF SERVICES ───────────────  */
/* ═══════════════════════════════════════════════ */
.drop-off-sec {
    background:linear-gradient(180deg, #162840 0%, #264a70 40%, #4a6485 65%, #6b85a3 85%, #6b85a3 100%);
    padding:110px 0 130px; position:relative; overflow:hidden;
}
.drop-off-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:60px; margin-bottom:58px; }
.doff-item { text-align:center; }
.doff-icon { width:100px; height:100px; margin:0 auto 26px; }
.doff-icon svg { width:100%; height:100%; }
.doff-item h3 {
    font-family:'Poppins',sans-serif; font-size:24px; font-weight:600;
    color:white; margin-bottom:14px;
}
.doff-item p { font-size:15px; color:rgba(255,255,255,.78); line-height:1.7; }
.drop-cta { text-align:center; }

/* ═══════════════════════════════════════════════ */
/* ─────────────── WELCOME / ABOUT ──────────────  */
/* ═══════════════════════════════════════════════ */
.welcome-sec { background:white; padding:110px 0; }
.welcome-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.welcome-img { border-radius:18px; overflow:hidden; height:580px; box-shadow:0 18px 52px rgba(0,0,0,.1); }
.welcome-img img { width:100%; height:100%; object-fit:cover; object-position:center 30%; image-orientation:from-image; }
.welcome-text .sec-eyebrow { text-align:left; }
.welcome-text .sec-h { text-align:left; margin-bottom:26px; }
.welcome-text p { font-size:15px; color:var(--text); line-height:1.9; margin-bottom:20px; }

/* ═══════════════════════════════════════════════ */
/* ───────────── SCHEDULING CTA ─────────────────  */
/* ═══════════════════════════════════════════════ */
.scheduling-sec {
    background:linear-gradient(180deg, #162840 0%, #264a70 40%, #4a6485 65%, #6b85a3 85%, #6b85a3 100%);
    padding:110px 0; position:relative; overflow:hidden;
}
.scheduling-inner {
    max-width:900px; margin:0 auto; padding:0 36px;
    text-align:center; position:relative; z-index:2;
}
.scheduling-sec .sec-h { margin-bottom:26px; }
.scheduling-sec p {
    font-size:16px; color:rgba(255,255,255,.82); line-height:1.85;
    margin-bottom:42px; max-width:760px; margin-left:auto; margin-right:auto;
}
.sched-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ═══════════════════════════════════════════════ */
/* ─────────────── WHY CHOOSE US ────────────────  */
/* ═══════════════════════════════════════════════ */
.why-sec { background:white; padding:110px 0; }
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:38px; }
.why-item { text-align:center; }
.why-photo { border-radius:14px; overflow:hidden; height:280px; margin-bottom:22px; }
.why-photo img { width:100%; height:100%; object-fit:cover; object-position:center 25%; image-orientation:from-image; }
.why-item h5 {
    font-family:'Poppins',sans-serif; font-size:19px; font-weight:600;
    color:var(--navy); margin-bottom:10px;
}
.why-item p { font-size:14px; color:var(--text); line-height:1.7; }
.why-cta { text-align:center; margin-top:56px; }

/* ═══════════════════════════════════════════════ */
/* ──────────── PAYMENT PLANS ───────────────────  */
/* ═══════════════════════════════════════════════ */
.payment-sec {
    background:linear-gradient(180deg, #162840 0%, #264a70 40%, #4a6485 65%, #6b85a3 85%, #6b85a3 100%);
    padding:110px 0;
}
.payment-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; max-width:1000px; margin:0 auto; }
.pay-card {
    background:var(--offwhite); border-radius:18px; padding:40px 36px;
    text-align:center; transition:transform .3s,box-shadow .3s;
    border:1px solid #e8e8e3;
}
.pay-card:hover { transform:translateY(-5px); box-shadow:0 12px 32px rgba(0,0,0,.08); }
.pay-card-logo { height:54px; display:flex; align-items:center; justify-content:center; margin-bottom:22px; }
.pay-card-logo .cc-logo {
    font-family:'Poppins',sans-serif; font-size:30px; font-weight:700;
    color:#006A4E; letter-spacing:-.5px;
}
.pay-card-logo .sp-logo {
    font-family:'Poppins',sans-serif; font-size:30px; font-weight:700;
    color:#E94B6B; letter-spacing:-.5px;
}
.pay-card h3 { font-family:'Poppins',sans-serif; font-size:22px; font-weight:600; color:var(--navy); margin-bottom:12px; }
.pay-card p { font-size:14.5px; color:var(--text); line-height:1.75; margin-bottom:24px; }
.pay-card .apply-btn {
    display:inline-flex; align-items:center; gap:8px;
    background:linear-gradient(74deg, var(--btn-dark) 0%, var(--btn-mid) 100%);
    color:white; border-radius:50px; padding:13px 28px;
    font-family:'Rubik',sans-serif; font-size:14px; font-weight:500;
    transition:all .25s; box-shadow:0 4px 14px rgba(31,58,95,.12);
}
.pay-card .apply-btn:hover { transform:translateY(-1px); box-shadow:0 6px 18px rgba(31,58,95,.2); }
.pay-card .apply-btn svg { width:14px; height:14px; }

/* ═══════════════════════════════════════════════ */
/* ──────────────── REVIEWS ─────────────────────  */
/* ═══════════════════════════════════════════════ */
.reviews-sec { background:var(--offwhite); padding:110px 0; }
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.rev-card {
    background:white; border-radius:14px; padding:34px 30px;
    box-shadow:0 4px 18px rgba(0,0,0,.06);
}
.rev-stars { color:#f5a623; font-size:18px; letter-spacing:2px; margin-bottom:16px; }
.rev-card p {
    font-size:14px; color:var(--text); line-height:1.78;
    font-style:italic; margin-bottom:22px;
}
.rev-author { display:flex; align-items:center; gap:12px; }
.rev-avatar {
    width:44px; height:44px; background:var(--navy); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:white; font-weight:700; font-size:16px; flex-shrink:0;
}
.rev-name { font-weight:600; color:var(--navy); font-size:14px; }
.rev-source { font-size:12px; color:var(--muted); }

/* ═══════════════════════════════════════════════ */
/* ────────────── CONTACT FORM ──────────────────  */
/* ═══════════════════════════════════════════════ */
.contact-sec { background:var(--offwhite); padding:110px 0; }
.contact-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:80px; align-items:center; }
.contact-img { border-radius:18px; overflow:hidden; height:620px; }
.contact-img img { width:100%; height:100%; object-fit:cover; object-position:center 30%; image-orientation:from-image; }
.contact-label {
    font-family:'Rubik',sans-serif; font-size:15px; color:var(--steel);
    text-transform:uppercase; letter-spacing:5px; margin-bottom:14px;
}
.contact-form h2 {
    font-family:'Poppins',sans-serif; font-size:clamp(32px,3.8vw,52px);
    font-weight:600; letter-spacing:-.5px;
    color:var(--navy); margin-bottom:32px;
}
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.fg { margin-bottom:16px; }
.fg input, .fg select, .fg textarea {
    width:100%; padding:14px 16px;
    border:1.5px solid #dde1e8; border-radius:10px;
    font-family:'Poppins',sans-serif; font-size:14px; color:#333;
    outline:none; transition:border-color .2s; background:white;
}
.fg input:focus, .fg select:focus, .fg textarea:focus { border-color:var(--navy); }
.fg textarea { resize:vertical; }
.form-submit {
    width:100%; background:linear-gradient(74deg, var(--btn-dark), var(--btn-mid));
    color:white; border:none; border-radius:50px;
    padding:16px; font-family:'Rubik',sans-serif; font-size:16px; font-weight:500;
    cursor:pointer; transition:all .3s; margin-top:6px;
    display:flex; align-items:center; justify-content:center; gap:10px;
    box-shadow:0 4px 16px rgba(31,58,95,.15);
}
.form-submit:hover { transform:translateY(-1px); box-shadow:0 8px 24px rgba(31,58,95,.25); }
.form-submit svg { width:17px; height:17px; }

/* ═══════════════════════════════════════════════ */
/* ──────────────── FOOTER ──────────────────────  */
/* ═══════════════════════════════════════════════ */
.footer-sec { background:var(--navy-deep); color:rgba(255,255,255,.85); padding:80px 0 30px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:50px; margin-bottom:50px; }
.ft-brand .ft-logo-wrap { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.ft-brand svg.logo-mark { width:56px; height:56px; }
.ft-brand img.logo-img { height:95px; width:auto; }
.ft-brand img.logo-mark-img {
    height:64px; width:auto;
    background:white; padding:9px 12px;
    border-radius:14px;
    box-shadow:0 2px 10px rgba(0,0,0,.15);
}
.ft-brand .ft-logo-text { line-height:1.1; }
.ft-brand .ft-logo-text .top-line { font-family:'Allura',cursive; font-size:32px; color:white; line-height:1; }
.ft-brand .ft-logo-text .bottom-line {
    font-family:'Rubik',sans-serif; font-size:12px;
    color:rgba(255,255,255,.6); text-transform:uppercase; letter-spacing:2.5px; margin-top:2px;
}
.ft-brand p { font-size:14px; color:rgba(255,255,255,.7); line-height:1.75; margin-bottom:10px; }
.ft-brand p svg { width:14px; height:14px; margin-right:6px; vertical-align:middle; flex-shrink:0; }
.ft-col h4 {
    font-family:'Poppins',sans-serif; font-size:16px; font-weight:600;
    color:white; margin-bottom:18px;
}
.ft-col a { display:block; font-size:14px; color:rgba(255,255,255,.7); margin-bottom:10px; transition:color .2s; }
.ft-col a:hover { color:white; }
.footer-bottom {
    border-top:1px solid rgba(255,255,255,.12); padding-top:24px;
    display:flex; justify-content:space-between;
    font-size:13px; color:rgba(255,255,255,.55); flex-wrap:wrap; gap:8px;
}

/* ═══════════════════════════════════════════════ */
/* ─────────── SERVICE DETAIL PAGES ─────────────  */
/* ═══════════════════════════════════════════════ */
.service-hero {
    background:linear-gradient(180deg, #162840 0%, #264a70 40%, #4a6485 65%, #6b85a3 85%, #6b85a3 100%);
    padding:120px 0 100px; text-align:center; color:white;
    position:relative; overflow:hidden;
}
.service-hero .breadcrumb {
    font-family:'Rubik',sans-serif; font-size:13px; font-weight:500;
    color:rgba(255,255,255,.65); text-transform:uppercase; letter-spacing:3px;
    margin-bottom:18px;
}
.service-hero .breadcrumb a { color:inherit; transition:color .2s; }
.service-hero .breadcrumb a:hover { color:white; }
.service-hero h1 {
    font-family:'Poppins',sans-serif; font-weight:600;
    font-size:clamp(36px,5vw,64px); letter-spacing:-1px; line-height:1.1;
    color:white; margin-bottom:22px;
}
.service-hero .lead {
    font-size:18px; color:rgba(255,255,255,.85); line-height:1.7;
    max-width:760px; margin:0 auto;
}
.service-body-sec { background:white; padding:90px 0 110px; }
.service-body-grid {
    display:grid; grid-template-columns:1fr 340px; gap:80px;
    max-width:1180px; margin:0 auto; padding:0 36px;
}
.service-article { font-size:16px; color:var(--text); line-height:1.85; }
.service-article > p:first-of-type { font-size:18px; color:#333; line-height:1.75; margin-bottom:32px; }
.service-article h2 {
    font-family:'Poppins',sans-serif; font-size:28px; font-weight:600;
    color:var(--navy); margin-top:46px; margin-bottom:18px; letter-spacing:-.3px;
}
.service-article h2:first-child { margin-top:0; }
.service-article h3 {
    font-family:'Poppins',sans-serif; font-size:20px; font-weight:600;
    color:var(--navy); margin-top:32px; margin-bottom:12px;
}
.service-article p { margin-bottom:18px; }
.service-article ul, .service-article ol {
    margin:18px 0 26px; padding-left:0; list-style:none;
}
.service-article ul li, .service-article ol li {
    position:relative; padding-left:28px; margin-bottom:11px; line-height:1.75;
}
.service-article ul li::before {
    content:""; position:absolute; left:0; top:11px;
    width:8px; height:8px; background:var(--gold);
    border-radius:50%;
}
.service-article ol { counter-reset:n; }
.service-article ol li { counter-increment:n; }
.service-article ol li::before {
    content:counter(n) ".";
    position:absolute; left:0; top:0;
    color:var(--navy); font-weight:600;
}
.service-article strong { color:var(--navy); font-weight:600; }
.service-callout {
    background:var(--offwhite); border-left:4px solid var(--gold);
    padding:22px 28px; margin:32px 0; border-radius:0 12px 12px 0;
}
.service-callout p { margin:0; font-size:15px; }
.service-sidebar {
    position:sticky; top:200px; align-self:start;
    background:var(--offwhite); border-radius:18px; padding:34px 30px;
}
.service-sidebar h3 {
    font-family:'Poppins',sans-serif; font-size:22px; font-weight:600;
    color:var(--navy); margin-bottom:12px;
}
.service-sidebar p { font-size:14.5px; color:var(--text); line-height:1.75; margin-bottom:22px; }
.service-sidebar .sb-btn {
    display:flex; align-items:center; justify-content:center; gap:10px;
    background:linear-gradient(74deg, var(--btn-dark) 0%, var(--btn-mid) 100%);
    color:white; border-radius:50px; padding:14px 22px;
    font-family:'Rubik',sans-serif; font-size:14px; font-weight:500;
    transition:all .25s; margin-bottom:10px;
    box-shadow:0 4px 14px rgba(31,58,95,.12);
}
.service-sidebar .sb-btn:hover { transform:translateY(-1px); box-shadow:0 6px 18px rgba(31,58,95,.2); }
.service-sidebar .sb-btn.outline {
    background:transparent; color:var(--navy);
    border:1.5px solid var(--navy); box-shadow:none;
}
.service-sidebar .sb-btn.outline:hover { background:var(--navy); color:white; }
.service-sidebar .sb-btn svg { width:15px; height:15px; }
.service-sidebar .sb-info {
    margin-top:24px; padding-top:24px; border-top:1px solid #e0ddd5;
    font-size:13.5px; color:var(--text); line-height:1.75;
}
.service-sidebar .sb-info strong { color:var(--navy); display:block; margin-bottom:4px; }

/* Related services (bottom of service pages) */
.related-sec { background:var(--offwhite); padding:90px 0; }
.related-grid {
    display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:22px;
    max-width:1180px; margin:0 auto; padding:0 36px;
}
.related-card {
    background:white; border-radius:14px; overflow:hidden;
    box-shadow:0 4px 18px rgba(0,0,0,.06); transition:transform .25s, box-shadow .25s;
    display:flex; flex-direction:column;
}
.related-card:hover { transform:translateY(-5px); box-shadow:0 14px 32px rgba(0,0,0,.1); }
.related-card-img { height:340px; overflow:hidden; }
.related-card-img img { width:100%; height:100%; object-fit:cover; object-position:center 45%; image-orientation:from-image; }
.related-card-body { padding:20px 22px; flex:1; display:flex; flex-direction:column; }
.related-card-body h4 {
    font-family:'Poppins',sans-serif; font-size:17px; font-weight:600;
    color:var(--navy); margin-bottom:8px;
}
.related-card-body p { font-size:13.5px; color:var(--text); line-height:1.6; margin-bottom:14px; flex:1; }
.related-card-body .rd-link {
    font-size:12.5px; font-weight:500; color:var(--steel);
    text-transform:uppercase; letter-spacing:1px;
    align-self:flex-start;
}
.related-card-body .rd-link:hover { color:var(--navy); }


/* ═══════════════════════════════════════════════ */

.family-badge {
    display:inline-flex; align-items:center; gap:7px;
    background:linear-gradient(74deg, var(--gold) 0%, #d4b67d 100%);
    color:white;
    padding:6px 14px;
    border-radius:50px;
    font-family:'Rubik',sans-serif; font-size:11.5px; font-weight:500;
    text-transform:uppercase; letter-spacing:1.5px;
    margin-bottom:14px;
    box-shadow:0 3px 10px rgba(200,169,106,.3);
}
.family-badge svg { flex-shrink:0; }

/* ─────────────── MEET DR. DEMIAN ──────────────  */
/* ═══════════════════════════════════════════════ */
.doctor-sec { background:var(--offwhite); padding:100px 0; }
.doctor-grid {
    display:grid; grid-template-columns:1fr 1.3fr; gap:70px; align-items:center;
    max-width:1200px; margin:0 auto;
}
.doctor-photo {
    border-radius:18px; overflow:hidden; height:580px;
    box-shadow:0 18px 52px rgba(0,0,0,.1);
}
.doctor-photo img {
    width:100%; height:100%; object-fit:cover;
    object-position:center 30%; image-orientation:from-image;
}
.doctor-text { padding:0 10px; }
.doctor-title {
    font-family:'Rubik',sans-serif; font-size:14px; font-weight:500;
    color:var(--steel); text-transform:uppercase; letter-spacing:3px;
    margin-bottom:12px;
}
.doctor-name {
    font-family:'Poppins',sans-serif; font-size:clamp(28px,3.4vw,42px); font-weight:600;
    color:var(--navy); margin-bottom:26px; letter-spacing:-.5px; line-height:1.15;
}
.doctor-text p:not(.doctor-title) {
    font-size:15px; color:var(--text); line-height:1.9; margin-bottom:18px;
}
.doctor-sec .sec-h { margin-bottom:55px; }

/* ═══════════════════════════════════════════════ */
/* ──────────────── PETS WE TREAT ───────────────  */
/* ═══════════════════════════════════════════════ */
.pets-sec { background:white; padding:90px 0 110px; }
.pets-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:22px; }
.pet-card {
    background:var(--offwhite); border-radius:18px; overflow:hidden;
    text-align:center; transition:transform .3s, box-shadow .3s;
    border:1px solid #e8e8e3;
}
.pet-card:hover { transform:translateY(-5px); box-shadow:0 14px 30px rgba(0,0,0,.1); }
.pet-card-img { height:220px; overflow:hidden; }
.pet-card-img img {
    width:100%; height:100%; object-fit:cover;
    object-position:center 35%; image-orientation:from-image;
    transition:transform .4s;
}
.pet-card:hover .pet-card-img img { transform:scale(1.05); }
.pet-card-body { padding:22px 18px 26px; }
.pet-card-body h4 {
    font-family:'Poppins',sans-serif; font-size:20px; font-weight:600;
    color:var(--navy); margin-bottom:10px;
}
.pet-card-body p { font-size:13.5px; color:var(--text); line-height:1.7; }
.pets-note {
    max-width:760px; margin:46px auto 0; text-align:center;
    font-size:15px; color:var(--text); line-height:1.75; padding:0 20px;
}
.pets-note strong { color:var(--navy); }

/* ═══════════════════════════════════════════════ */
/* ────────────────── FAQ ───────────────────────  */
/* ═══════════════════════════════════════════════ */
.faq-sec { background:white; padding:90px 0 110px; }
.faq-list { max-width:880px; margin:0 auto; padding:0 20px; }
.faq-item {
    background:var(--offwhite); border-radius:14px;
    margin-bottom:14px; overflow:hidden;
    border:1px solid #e8e8e3;
}
.faq-item summary {
    padding:22px 28px; cursor:pointer;
    font-family:'Poppins',sans-serif; font-size:16.5px; font-weight:600;
    color:var(--navy); list-style:none;
    display:flex; justify-content:space-between; align-items:center; gap:20px;
    transition:background .2s;
}
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after {
    content:""; flex-shrink:0;
    width:11px; height:11px;
    border-right:2px solid var(--navy);
    border-bottom:2px solid var(--navy);
    transform:rotate(45deg) translateY(-3px);
    transition:transform .3s;
}
.faq-item[open] summary::after {
    transform:rotate(-135deg) translateY(-3px);
}
.faq-item[open] summary { background:rgba(31,58,95,0.04); }
.faq-item-body {
    padding:0 28px 24px;
    font-size:14.5px; color:var(--text); line-height:1.8;
}

/* ═══════════════════════════════════════════════ */
/* ─────────────── CONTACT MAP ──────────────────  */
/* ═══════════════════════════════════════════════ */
.contact-map {
    border-radius:18px; overflow:hidden; height:620px;
    box-shadow:0 10px 32px rgba(0,0,0,.08);
}
.contact-map iframe { width:100%; height:100%; border:0; display:block; }

/* ═══════════════════════════════════════════════ */
/* ────────── FADE-UP ANIMATION ─────────────────  */
/* ═══════════════════════════════════════════════ */
.fade-up { opacity:0; transform:translateY(22px); transition:opacity .65s ease,transform .65s ease; }
.fade-up.visible { opacity:1; transform:none; }

/* ═══════════════════════════════════════════════ */
/* ────────────── RESPONSIVE ────────────────────  */
/* ═══════════════════════════════════════════════ */
@media (max-width:1280px) {
    .hdr-contact-block .hdr-contact-text { display:none; }
}
@media (max-width:1100px) {
    .hdr-contact { display:none; }
    .nav-menu li a { padding:14px 14px; font-size:12px; }
}
@media (max-width:980px) {
    .service-body-grid { grid-template-columns:1fr; gap:50px; }
    .service-sidebar { position:static; }
}
@media (max-width:900px) {
    .top-header-inner { padding:10px 20px; gap:14px; }
    .hdr-btns { gap:6px; }
    .hdr-btn { padding:8px 14px 8px 8px; font-size:12px; }
    .hdr-btn-text { display:none; }
    .hdr-btn-circle { margin-right:0; }

    .nav-bar { display:none; }
    .nav-toggle {
        display:flex; align-items:center; gap:6px;
        padding:10px 14px;
        background:transparent;
        border:1.5px solid rgba(31,58,95,0.25);
        border-radius:50px;
        cursor:pointer;
        font-family:'Rubik',sans-serif; font-size:12px; font-weight:500;
        color:var(--navy); text-transform:uppercase; letter-spacing:1px;
        margin-left:auto;
    }
    .nav-toggle svg { width:18px; height:18px; }
    .nav-bar.open {
        display:block;
        position:absolute; top:100%; left:0; right:0;
        background:white;
        box-shadow:0 8px 24px rgba(0,0,0,.08);
    }
    .nav-bar.open .nav-menu {
        flex-direction:column; gap:0; padding:8px 0;
    }
    .nav-bar.open .nav-menu li { border-bottom:1px solid #f0f0f0; }
    .nav-bar.open .nav-menu li:last-child { border-bottom:none; }
    .nav-bar.open .nav-menu li a { display:block; padding:14px 24px; }
    .nav-bar.open .nav-menu li a::after { display:none; }

    .hero { margin-top:-120px; padding-top:120px; }

    .drop-off-grid, .why-grid, .reviews-grid, .payment-grid { grid-template-columns:repeat(2,1fr); gap:30px; }
    .doctor-grid { grid-template-columns:1fr; gap:40px; }
    .doctor-photo { display:none; }
    .welcome-grid, .contact-grid { grid-template-columns:1fr; gap:40px; }
    .welcome-img, .contact-img { display:none; }
    .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
    .hdr-logo svg.logo-mark { width:48px; height:48px; }
    .hdr-logo-text .top-line { font-size:26px; }
    .hdr-logo-text .bottom-line { font-size:10px; letter-spacing:1.5px; }
    .hdr-btns { gap:4px; }
    .hdr-btn { padding:8px; }
    .hdr-btn-circle { width:32px; height:32px; }

    .hero { min-height:540px; }
    .drop-off-grid, .why-grid, .reviews-grid, .payment-grid { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr; gap:34px; }
    .form-row { grid-template-columns:1fr; }
    .sched-btns { flex-direction:column; align-items:center; }
}
