/* ============================================================
   Global Scans and Labs — Global Stylesheet
   All site CSS consolidated here (loaded by every layout).
   Brand: green #0d6e5f (primary) + mint #5cba90 (accent) + deep green #0a4a40 (ink).
   ============================================================ */

/* ---------- Brand palette ---------- */
:root{
    --brand:#0d6e5f; --brand-dark:#094c41; --mint:#5cba90; --ink:#0a4a40;
}

/* ---------- Base ---------- */
body{ font-family:'DM Sans','Inter',sans-serif; color:#1f2937; }
a{ text-decoration:none; }

/* ---------- Brand utilities (public + admin + auth) ---------- */
.text-brand{ color:var(--brand)!important; }
.bg-brand{ background:var(--brand)!important; }
.btn-brand{ background:var(--brand); border-color:var(--brand); color:#fff; font-weight:600; }
.btn-brand:hover{ background:var(--brand-dark); border-color:var(--brand-dark); color:#fff; }
.btn-outline-brand{ color:var(--brand); border-color:var(--brand); font-weight:600; }
.btn-outline-brand:hover{ background:var(--brand); color:#fff; }

/* ============================================================
   Public layout (navbar, hero, footer, shared sections)
   ============================================================ */
.navbar .nav-link{ color:#374151; font-weight:500; position:relative; }
.navbar .nav-link:hover,.navbar .nav-link.active{ color:var(--brand); }
.navbar .nav-link.active::after{ content:""; position:absolute; left:0; right:0; bottom:-2px; height:3px; background:var(--brand); border-radius:2px; }
.brand-logo{ font-weight:800; color:var(--brand); font-size:1.25rem; }

/* ============================================================
   Home page — v3 editorial design (serif display, cream hero,
   numbered lists, ticket card, big-quote slider; g2-* components)
   ============================================================ */
.g2-display{ font-family:'DM Serif Display', Georgia, serif; font-weight:400; letter-spacing:0; }
.g2-eyebrow{ display:inline-flex; align-items:center; gap:.55rem; font-size:.78rem; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--brand); }
.g2-eyebrow::before{ content:""; width:30px; height:2px; background:var(--brand); }

/* --- cream hero with arch image --- */
.g2-hero{ position:relative; overflow:hidden;
    background:
        radial-gradient(640px 420px at 92% 0%, rgba(92,186,144,.18), transparent 60%),
        radial-gradient(520px 380px at 0% 100%, rgba(13,110,95,.08), transparent 60%),
        #f6f4ec;
}
.g2-hero .slide-min{ min-height:560px; }
.g2-title{ color:var(--ink); }
.g2-title .accent{ color:var(--brand); font-style:italic; }
.g2-sub{ color:#51655f; }
.g2-searchbar{ position:relative; background:#fff; border:2px solid var(--brand); border-radius:999px; display:flex; align-items:center; padding:.3rem .3rem .3rem .75rem; max-width:520px; box-shadow:0 4px 14px rgba(10,74,64,.10); transition:box-shadow .2s; }
.g2-searchbar:focus-within{ box-shadow:0 0 0 4px rgba(13,110,95,.15); }
.g2-searchbar .loc-btn{ display:inline-flex; align-items:center; gap:.4rem; background:none; border:0; font-weight:700; color:var(--ink); font-size:.95rem; padding:.45rem .4rem; white-space:nowrap; }
.g2-searchbar .loc-btn::after{ margin-left:.15rem; color:#7d938b; }
.g2-searchbar .loc-btn .pin{ color:#f6b73c; font-size:1.1rem; }
.g2-searchbar .div{ width:1px; height:26px; background:#dbe7e1; margin:0 .5rem; flex-shrink:0; }
.g2-searchbar .form-control{ border:0; box-shadow:none; background:transparent; padding:.55rem .4rem; font-size:.97rem; min-width:0; }
.g2-searchbar .go-btn{ width:46px; height:46px; border-radius:50%; background:var(--brand); border:0; color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0; transition:background .2s, transform .2s; }
.g2-searchbar .go-btn:hover{ background:var(--ink); transform:translateX(2px); }
.g2-searchbar .dropdown-menu{ border:1px solid #dbe7e1; border-radius:.8rem; box-shadow:0 14px 32px rgba(10,74,64,.12); }
@media (max-width:420px){ .g2-searchbar .loc-btn span{ max-width:74px; overflow:hidden; text-overflow:ellipsis; } }
/* live test suggestions under the searchbar */
.g2-suggest{ position:absolute; top:calc(100% + 8px); left:0; right:0; background:#fff; border:1px solid #dbe7e1; border-radius:.9rem; box-shadow:0 18px 40px rgba(10,74,64,.15); z-index:30; overflow:hidden; display:none; }
.g2-suggest.show{ display:block; }
.g2-suggest a{ display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.65rem 1rem; color:var(--ink); font-weight:500; font-size:.95rem; }
.g2-suggest a:hover{ background:#f1f9f5; color:var(--brand); }
.g2-suggest .c{ color:#7d938b; font-size:.78rem; white-space:nowrap; }
button.g2-link{ background:none; border:0; padding:0; }

/* floating WhatsApp chat button */
.wa-float{ position:fixed; right:20px; bottom:20px; z-index:1050; width:54px; height:54px; border-radius:50%; background:#25d366; color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.7rem; box-shadow:0 10px 24px rgba(0,0,0,.25); transition:transform .2s, box-shadow .2s; }
.wa-float:hover{ transform:scale(1.08); color:#fff; box-shadow:0 14px 30px rgba(0,0,0,.3); }
.btn-ink{ background:var(--ink); border-color:var(--ink); color:#fff; font-weight:600; }
.btn-ink:hover{ background:var(--brand); border-color:var(--brand); color:#fff; }
.g2-link{ color:var(--ink); font-weight:600; text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:2px; text-decoration-color:var(--mint); }
.g2-link:hover{ color:var(--brand); }
.g2-ticks{ display:flex; flex-wrap:wrap; gap:.4rem 1.4rem; color:#41544e; font-size:.88rem; }
.g2-ticks i{ color:var(--brand); margin-right:.35rem; }
.g2-arch-wrap{ position:relative; display:inline-block; }
.g2-arch-wrap::before{ content:""; position:absolute; inset:16px -16px -12px 16px; border-radius:999rem 999rem 1.1rem 1.1rem; background:rgba(92,186,144,.35); }
.g2-arch{ position:relative; width:100%; max-width:470px; height:500px; object-fit:cover; border-radius:999rem 999rem 1.1rem 1.1rem; }
.g2-hero .carousel-indicators{ bottom:20px; margin-bottom:0; }
.g2-hero .carousel-indicators [data-bs-target]{ width:10px; height:10px; border-radius:50%; background:transparent; border:2px solid var(--ink); opacity:.45; margin:0 4px; }
.g2-hero .carousel-indicators .active{ background:var(--brand); border-color:var(--brand); opacity:1; }
@media (max-width:991px){
    .g2-hero .slide-min{ min-height:auto; }
    .g2-arch{ height:340px; max-width:380px; }
}

/* --- dark trust band --- */
.g2-band{ background:var(--ink); color:#e8f4ef; }
.g2-band .col-item{ padding:1.15rem 1.3rem; }
.g2-band .bi-wrap{ width:46px;height:46px; border-radius:50%; border:1.5px solid rgba(92,186,144,.55); color:var(--mint); display:flex; align-items:center; justify-content:center; font-size:1.15rem; flex-shrink:0; }
.g2-band .small{ color:#9dbfb4; }
@media (min-width:992px){ .g2-band .col-item + .col-item{ border-left:1px solid rgba(255,255,255,.12); } }

/* --- numbered service rows --- */
.g2-row{ display:flex; align-items:center; gap:1.1rem; padding:1.05rem .75rem; border-bottom:1px solid #e4ebe7; border-radius:.5rem; transition:.25s; }
.g2-row .num{ font-family:'DM Serif Display', Georgia, serif; font-size:1.6rem; color:#bcd9cd; min-width:2.4rem; line-height:1; transition:.25s; }
.g2-row .g2-go{ margin-left:auto; width:34px;height:34px;border-radius:50%; border:1.5px solid #d5e4dc; color:var(--brand); display:flex; align-items:center; justify-content:center; opacity:0; transform:translateX(-6px); transition:.25s; flex-shrink:0; }
.g2-row:hover{ background:#f1f9f5; border-color:transparent; }
.g2-row:hover .num{ color:var(--brand); }
.g2-row:hover .g2-go{ opacity:1; transform:none; }

/* --- category pills --- */
.g2-catpill{ display:inline-flex; align-items:center; gap:.65rem; border:1.5px solid #dbe7e1; border-radius:999px; padding:.5rem 1.2rem .5rem .6rem; background:#fff; transition:.25s; }
.g2-catpill .dot{ width:38px;height:38px;border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.05rem; }
.g2-catpill .name{ color:var(--ink); font-weight:600; }
.g2-catpill .cnt{ font-size:.75rem; color:#7d938b; }
.g2-catpill:hover{ background:var(--ink); border-color:var(--ink); }
.g2-catpill:hover .name{ color:#fff; }
.g2-catpill:hover .cnt{ color:#a9cabd; }

/* --- package ticket card --- */
.g2-ticket{ background:#fff; border-radius:1.1rem; overflow:hidden; box-shadow:0 18px 44px rgba(10,74,64,.10); }
.g2-ticket .t-img{ width:100%; height:100%; min-height:280px; object-fit:cover; display:block; }
.g2-ticket .t-body{ position:relative; padding:2rem; }
@media (min-width:768px){
    .g2-ticket .t-body{ border-left:2px dashed #d6e4de; }
    .g2-ticket .t-body::before,.g2-ticket .t-body::after{ content:""; position:absolute; left:-13px; width:24px; height:24px; border-radius:50%; background:#eef7f2; }
    .g2-ticket .t-body::before{ top:-12px; }
    .g2-ticket .t-body::after{ bottom:-12px; }
}

/* --- awareness media row --- */
.g2-media{ background:#fff; border:1px solid #e4ebe7; border-radius:1.1rem; padding:1.1rem; display:flex; gap:1.4rem; align-items:center; transition:.25s; }
.g2-media img{ width:280px; height:200px; object-fit:cover; border-radius:.8rem; flex-shrink:0; }
.g2-media:hover{ box-shadow:0 16px 36px rgba(10,74,64,.10); }
@media (max-width:767px){ .g2-media{ flex-direction:column; align-items:stretch; } .g2-media img{ width:100%; height:190px; } }

/* --- cta band --- */
.g2-cta{ color:#fff; border-radius:1.25rem; overflow:hidden;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cpath d='M22 15v14M15 22h14' stroke='%23ffffff' stroke-opacity='0.08' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"),
        linear-gradient(120deg,#052620 0%, #0a4a40 60%, #0d6e5f 100%);
}
.g2-cta .g2-ticks{ color:#cfe6db; }
.g2-cta .g2-ticks i{ color:var(--mint); }

/* --- big-quote testimonial slider --- */
.g2-quote{ max-width:760px; margin:0 auto; text-align:center; }
.g2-quote .mark{ font-family:'DM Serif Display', Georgia, serif; font-size:4.5rem; line-height:.6; color:var(--mint); display:block; }
.g2-quote p{ font-size:1.12rem; color:#3c4f49; }
.g2-tslider .carousel-indicators{ position:static; margin:1.25rem 0 0; }
.g2-tslider .carousel-indicators [data-bs-target]{ width:9px;height:9px;border-radius:50%; background:#cfe2d9; border:0; opacity:1; margin:0 4px; }
.g2-tslider .carousel-indicators .active{ background:var(--brand); }

/* --- flush numbered faq --- */
.g2-faq .accordion-item{ background:transparent; border:0; border-top:1px solid #dfe9e4; }
.g2-faq .accordion-item:last-child{ border-bottom:1px solid #dfe9e4; }
.g2-faq .accordion-button{ background:transparent; font-weight:600; padding:1.1rem .25rem; box-shadow:none; color:var(--ink); }
.g2-faq .accordion-button:not(.collapsed){ color:var(--brand); }
.g2-faq .accordion-button:focus{ box-shadow:none; }
.g2-faq .qn{ font-family:'DM Serif Display', Georgia, serif; color:var(--mint); margin-right:.9rem; font-size:1.15rem; }
.g2-faq .accordion-body{ padding:.25rem .25rem 1.2rem 2.6rem; }

/* --- map with dark address card --- */
.g2-map{ position:relative; border-radius:1.1rem; overflow:hidden; }
.g2-map .addr{ position:absolute; left:1.1rem; bottom:1.1rem; background:var(--ink); color:#fff; border-radius:.8rem; padding:.8rem 1.1rem; max-width:360px; z-index:2; box-shadow:0 14px 32px rgba(0,0,0,.25); }

/* inner-page banner + breadcrumb */
.page-hero{
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cpath d='M22 15v14M15 22h14' stroke='%23ffffff' stroke-opacity='0.10' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"),
        linear-gradient(120deg,#06302a 0%, #0a4a40 60%, #11705f 100%);
}
.page-hero .breadcrumb-item.active{ color:rgba(255,255,255,.75); }
.page-hero .breadcrumb-item+.breadcrumb-item::before{ color:rgba(255,255,255,.6); }

footer.site{ background:#052620; color:#a7c1b8; }
footer.site a{ color:#cfe2d9; }
footer.site a:hover{ color:#fff; }

/* ===== Page preloader ===== */
#preloader{ position:fixed; inset:0; z-index:9999; background:#fff; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:1rem; transition:opacity .5s ease, visibility .5s ease; }
#preloader.hide{ opacity:0; visibility:hidden; }
#preloader .pl-logo{ height:48px; animation:plPulse 1.4s ease-in-out infinite; }
#preloader .pl-spin{ width:42px;height:42px;border:4px solid #d2ecdf;border-top-color:var(--brand);border-radius:50%;animation:plSpin .8s linear infinite; }
@keyframes plSpin{ to{ transform:rotate(360deg); } }
@keyframes plPulse{ 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(1.08); opacity:.7; } }

/* ===== Scroll reveal ===== */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .6s ease, transform .6s ease; }
.reveal.reveal-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
    .reveal{ opacity:1 !important; transform:none !important; transition:none; }
    #preloader .pl-logo,#preloader .pl-spin{ animation:none; }
}

/* ============================================================
   Admin dashboard layout (sidebar / topbar)
   ============================================================ */
.sidebar{ width:260px; min-height:100vh; background:linear-gradient(180deg,#06302a 0%, #0a4a40 100%); position:sticky; top:0; align-self:flex-start; }
.sidebar .nav-link{ color:#b6d0c6; border-radius:.5rem; padding:.55rem .85rem; font-size:.92rem; font-weight:500; }
.sidebar .nav-link:hover{ background:rgba(255,255,255,.08); color:#fff; }
.sidebar .nav-link.active{ background:var(--brand); color:#fff; box-shadow:0 4px 14px rgba(13,110,95,.4); }
.sidebar::-webkit-scrollbar{ width:6px; }
.sidebar::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.15); border-radius:3px; }
.topbar{ height:66px; background:#fff; border-bottom:1px solid #eef1f2; }
.topbar .search{ background:#f3f6f7; border:0; border-radius:999px; padding:.5rem 1rem; min-width:240px; }
.avatar-circle{ width:38px;height:38px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700; }
@media (max-width:768px){ .sidebar{ width:100%; min-height:auto; position:static; } }

/* ============================================================
   Page: About Us
   ============================================================ */
.ab-hero{ background:linear-gradient(120deg,#e6f5ee 0%, #f2faf6 55%, #cfeadd 100%); }
.ab-eyebrow{ letter-spacing:1.5px;font-weight:700;color:var(--brand);font-size:.8rem; }
.ab-eyebrow::after{ content:"";display:block;width:46px;height:3px;background:var(--brand);border-radius:2px;margin-top:.4rem; }
.mvv-ico{ width:56px;height:56px;border-radius:50%;background:#eaf6f0;color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:1.5rem; }
.stats-band{ background:linear-gradient(120deg,#0a4a40,#06302a); color:#fff; border-radius:1rem; }
.stats-band .s-ico{ font-size:1.6rem; opacity:.9; }
.stats-band .divider{ border-left:1px solid rgba(255,255,255,.2); }
.wc-ico{ width:42px;height:42px;border-radius:.6rem;background:#eaf6f0;color:var(--brand);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.doc-card{ border:1px solid #eef1f2;border-radius:1rem;background:#fff;text-align:center;transition:.2s; }
.doc-card:hover{ box-shadow:0 14px 30px rgba(13,110,95,.12);transform:translateY(-4px); }
.doc-avatar{ width:96px;height:96px;border-radius:50%;margin:1.25rem auto .75rem;display:flex;align-items:center;justify-content:center;
    font-weight:700;font-size:1.6rem;color:#fff;background:linear-gradient(135deg,#0d6e5f,#094c41); }

/* ============================================================
   Page: Our Services (tests index)
   ============================================================ */
.svc-hero{ background:linear-gradient(120deg,#e6f5ee 0%, #f2faf6 50%, #cfeadd 100%); position:relative; overflow:hidden; }
.svc-hero .svc-img{ position:absolute; right:0; top:0; height:100%; width:46%; object-fit:cover; clip-path:polygon(14% 0, 100% 0, 100% 100%, 0% 100%); }
@media (max-width:991px){ .svc-hero .svc-img{ display:none; } }
.svc-eyebrow{ letter-spacing:2px; font-weight:700; color:var(--brand); font-size:.85rem; }
.svc-card{ border:1px solid #eef1f2; border-radius:1rem; background:#fff; transition:.2s; text-align:center; }
.svc-card:hover{ box-shadow:0 16px 34px rgba(13,110,95,.12); transform:translateY(-4px); }
.svc-ico{ width:74px;height:74px;border-radius:50%; display:flex;align-items:center;justify-content:center; font-size:1.8rem; margin:1.25rem auto .25rem; }
.title-rule{ width:70px;height:4px;background:var(--brand);border-radius:2px;margin:.5rem auto 0; }
.svc-strip{ background:#f2faf6; border-radius:1rem; }
.svc-strip .ic{ width:48px;height:48px;border-radius:50%;background:#fff;color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0; }

/* ============================================================
   Page: Service detail (tests show)
   ============================================================ */
.sd-hero{ background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='52' viewBox='0 0 60 52'%3E%3Cpath d='M15 1l13 7v15l-13 7-13-7V8z' fill='none' stroke='%230d6e5f' stroke-opacity='0.10'/%3E%3C/svg%3E"),
    linear-gradient(120deg,#e6f5ee 0%, #f2faf6 55%, #cfeadd 100%); position:relative; overflow:hidden; }
.sd-hero .sd-img{ position:absolute; right:0; top:0; height:100%; width:44%; object-fit:cover; clip-path:ellipse(75% 100% at 75% 50%); }
@media (max-width:991px){ .sd-hero .sd-img{ display:none; } }
.sd-eyebrow{ letter-spacing:1.5px;font-weight:700;color:var(--brand);font-size:.8rem; }
.sd-eyebrow::after{ content:"";display:block;width:46px;height:3px;background:var(--brand);border-radius:2px;margin-top:.35rem; }
.info-chip{ background:#fff;border:1px solid #e9f4ef;border-radius:.7rem;padding:.6rem .85rem;display:flex;align-items:center;gap:.6rem; }
.info-chip .ic{ width:38px;height:38px;border-radius:.55rem;background:#eaf6f0;color:var(--brand);display:flex;align-items:center;justify-content:center; }
.sd-tabs{ position:sticky; top:64px; background:#fff; z-index:10; border-bottom:1px solid #eef1f2; }
.sd-tabs a{ padding:1rem .25rem; color:#5b6b72; font-weight:600; border-bottom:3px solid transparent; }
.sd-tabs a.active,.sd-tabs a:hover{ color:var(--brand); border-color:var(--brand); }
.sd-sec{ scroll-margin-top:130px; }
.check-li{ display:flex;align-items:center;gap:.5rem; }
.check-li i{ color:var(--brand); }
.benefit-ico{ width:46px;height:46px;border-radius:50%;background:#eaf6f0;color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:1.2rem; }
.side-ico{ width:40px;height:40px;border-radius:50%;background:#eaf6f0;color:var(--brand);display:flex;align-items:center;justify-content:center;flex-shrink:0; }

/* ============================================================
   Page: Health Blog (index + article)
   ============================================================ */
.blog-hero{ background:linear-gradient(120deg,#eaf6f0 0%, #f2faf6 55%, #f1f9f5 100%); position:relative; overflow:hidden; }
.blog-hero .bh-img{ position:absolute; right:4%; top:50%; transform:translateY(-50%); max-height:80%; }
@media (max-width:991px){ .blog-hero .bh-img{ display:none; } }
.blog-eyebrow{ letter-spacing:1.5px;font-weight:700;color:var(--brand);font-size:.8rem; }
.topic-chip{ border:1px solid #d8ece2;border-radius:999px;padding:.4rem 1rem;font-size:.85rem;color:#0a4a40;white-space:nowrap; }
.topic-chip.active,.topic-chip:hover{ background:var(--brand);border-color:var(--brand);color:#fff; }
.post-card{ border:1px solid #eef1f2;border-radius:.9rem;overflow:hidden;background:#fff;transition:.2s;height:100%; }
.post-card:hover{ box-shadow:0 14px 30px rgba(13,110,95,.12);transform:translateY(-4px); }
.post-thumb{ height:170px;display:flex;align-items:center;justify-content:center;font-size:2.4rem;color:#fff; }
.post-cat{ font-size:.75rem;font-weight:700;color:var(--brand); }
.side-card{ border:1px solid #eef1f2;border-radius:.9rem;background:#fff; }
.cat-row{ display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f1f4f5; }
.cat-count{ background:#eaf6f0;color:var(--brand);border-radius:999px;padding:.1rem .55rem;font-size:.75rem;font-weight:600; }
.news-box{ background:#f2faf6;border-radius:.9rem; }
/* blog article (show) */
.share-btn{ width:38px;height:38px;border-radius:50%;border:1px solid #e1e9ea;color:var(--brand);display:inline-flex;align-items:center;justify-content:center; }
.share-btn:hover{ background:var(--brand);color:#fff;border-color:var(--brand); }
.author-avatar{ width:46px;height:46px;border-radius:50%;object-fit:cover;background:#0d6e5f;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700; }
.post-body{ color:#3b4a4f;line-height:1.8; }
.post-body h2,.post-body h3{ color:#0a4a40;font-weight:700;margin-top:1.5rem; }
.post-body img{ max-width:100%;border-radius:.75rem; }
.post-body ul,.post-body ol{ padding-left:1.2rem; }
.cta-strip{ background:#f2faf6;border-radius:.9rem; }
.navpost{ border:1px solid #eef1f2;border-radius:.7rem; }

/* ============================================================
   Page: Contact Us
   ============================================================ */
.ct-hero{ background:linear-gradient(120deg,#e6f5ee 0%, #f2faf6 55%, #cfeadd 100%); position:relative; overflow:hidden; }
.ct-hero .ct-img{ position:absolute; right:0; top:0; height:100%; width:50%; object-fit:cover; clip-path:polygon(12% 0, 100% 0, 100% 100%, 0 100%); }
@media (max-width:991px){ .ct-hero .ct-img{ display:none; } }
.ct-eyebrow{ letter-spacing:1.5px;font-weight:700;color:var(--brand);font-size:.8rem; }
.ct-eyebrow::after{ content:"";display:block;width:46px;height:3px;background:var(--brand);border-radius:2px;margin-top:.4rem; }
.ct-ico{ width:42px;height:42px;border-radius:50%;background:#eaf6f0;color:var(--brand);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.input-icon{ position:relative; }
.input-icon .ib{ position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:#9aa7ad; }
.input-icon .form-control,.input-icon .form-select{ padding-left:2.4rem; }
.ct-strip{ background:#f2faf6;border-radius:1rem; }
.ct-strip .ic{ width:48px;height:48px;border-radius:50%;background:#fff;color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0; }
.social-btn{ width:36px;height:36px;border-radius:50%;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center; }
.social-btn:hover{ background:var(--brand-dark);color:#fff; }

/* ============================================================
   Page: Book Your Test (wizard)
   ============================================================ */
.bt-hero{ background:linear-gradient(120deg,#e6f5ee 0%, #f2faf6 50%, #cfeadd 100%); position:relative; overflow:hidden; }
.bt-hero .bt-img{ position:absolute; right:0; top:0; height:100%; width:48%; object-fit:cover; opacity:.95; }
@media (max-width:991px){ .bt-hero .bt-img{ display:none; } }
.stepper{ display:flex; align-items:center; }
.stepper .step{ display:flex; align-items:center; gap:.5rem; color:#9aa7ad; font-weight:600; white-space:nowrap; }
.stepper .step .num{ width:34px;height:34px;border-radius:50%;border:2px solid #d4dde0; display:flex;align-items:center;justify-content:center; background:#fff; }
.stepper .step.active{ color:#0a4a40; }
.stepper .step.active .num{ background:var(--brand); border-color:var(--brand); color:#fff; }
.stepper .step.done .num{ background:#cfeadd; border-color:var(--brand); color:var(--brand); }
.stepper .line{ flex:1; height:2px; margin:0 .75rem; border-top:2px dashed #d4dde0; background:none; }
.wizard-step{ display:none; }
.wizard-step.active{ display:block; }
.ib-icon{ position:absolute; left:.85rem; top:50%; transform:translateY(-50%); color:#9aa7ad; }
.why-card{ border:1px solid #e7eef0; border-radius:.8rem; text-align:center; padding:1rem .5rem; }
.why-card .ic{ width:46px;height:46px;border-radius:50%;background:#eaf6f0;color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin:0 auto .4rem; }
.chip{ border:1px solid #d8ece2; border-radius:999px; padding:.4rem 1rem; font-size:.85rem; color:#0a4a40; }
.chip:hover{ border-color:var(--brand); color:var(--brand); }
