:root {
      /* Brand palette: navy #294859, cream #FFF8E1, white #ffffff */
      --cream:      #FFF8E1;
      --cream-mid:  #FAF1CF;
      --cream-deep: #F3E7BD;
      --beige:      #E6D7AC;
      --navy:       #294859;
      --navy-light: #3b5d70;
      --navy-muted: #6d8492;
      --accent:     #4a6741;
      --accent-soft:#e8efe7;
      --rust:       #a0614a;
      --rust-soft:  #f0e8e4;
      --white:      #ffffff;
      --shadow:     rgba(41,72,89,0.12);
      --radius:     16px;
      --font-serif: 'Lora', serif;
      --font-sans:  'Public Sans', sans-serif;
    }
    *{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{background:var(--cream);color:var(--navy);font-family:var(--font-sans);font-size:16px;overflow-x:hidden;}

    .plat img { height: 30px; }

    /* NAVBAR */
    .luma-nav{background: linear-gradient(180deg, #000000F2 30%, #000000d1 100%); backdrop-filter:blur(14px);border-bottom:1px solid var(--beige);position:sticky;top:0;z-index:1000;padding:13px 0;}
    .logo-wordmark{font-family:var(--font-serif);font-size:1.45rem;font-weight:600;color:var(--navy);letter-spacing:.03em;}
    .nav-link-luma{color:var(--navy-light)!important;font-size:.87rem;font-weight:500;text-decoration:none;transition:color .2s;padding:4px 8px;}
    .nav-link-luma:hover{color:var(--navy)!important;}
    .btn-navy{background:var(--navy);color:var(--cream)!important;border-radius:50px;padding:9px 22px;font-size:.84rem;font-weight:600;text-decoration:none;display:inline-block;transition:all .3s;border:none;}
    .btn-navy:hover{background:var(--navy-light);transform:translateY(-1px);box-shadow:0 8px 24px var(--shadow);}
    .navbar-toggler{border-color:var(--beige);}
    .nav-ic-wrap{display:flex;align-items:center;gap:10px;}
    .nav-ic{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(217,208,195,.4);display:inline-flex;align-items:center;justify-content:center;color:var(--cream);font-size:1rem;text-decoration:none;transition:all .25s;}
    .nav-ic:hover{background:rgba(255,255,255,.18);color:var(--cream);}
    .nav-ic-wa{background:#25D366;border-color:#25D366;color:#fff;}
    .nav-ic-wa:hover{background:#1da851;color:#fff;}
    .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2842%2C51%2C64%2C0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");}

    /* BUTTONS */
    .btn-pl{background:var(--navy);color:var(--cream);border-radius:50px;padding:13px 30px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .3s;border:none;}
    .btn-pl:hover{background:var(--navy-light);color:var(--cream);transform:translateY(-2px);box-shadow:0 12px 30px var(--shadow);}
    .btn-ol{background:transparent;color:var(--navy);border-radius:50px;padding:12px 28px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .3s;border:1.5px solid var(--navy);}
    .btn-ol:hover{background:var(--navy);color:var(--cream);}
    .btn-wa{background:#25D366;color:#fff;border-radius:50px;padding:13px 28px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .3s;border:none;}
    .btn-wa:hover{background:#1da851;color:#fff;transform:translateY(-2px);}

    /* SECTION */
    section{padding:84px 0;}
    .eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
    .sec-title{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3.1rem);font-weight:600;line-height:1.2;color:var(--navy);margin-bottom:14px;}
    .sec-title em{font-style:italic;color:var(--rust);}
    .sec-sub{color:var(--navy-muted);font-size:1rem;line-height:1.8;max-width:580px;}
    .leaf{width:48px;height:3px;background:linear-gradient(90deg,var(--accent),var(--beige));border-radius:3px;margin:14px 0 26px;}
    .leaf.c{margin-left:auto;margin-right:auto;}

    /* HERO */
    .hero{min-height:auto;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(255,248,225,.94) 0%,rgba(255,248,225,.82) 32%,rgba(255,248,225,.35) 62%,rgba(255,248,225,.05) 100%);background-size:cover;background-position:center right;background-repeat:no-repeat;}
    .hero-content{position:relative;z-index:2;}
    .hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--accent-soft);border:1px solid rgba(74,103,65,.25);border-radius:50px;padding:7px 18px;font-size:.78rem;font-weight:600;color:var(--accent);margin-bottom:22px;letter-spacing:.04em;}
    .hero h1{font-family:var(--font-serif);font-size:clamp(2.5rem,5.5vw,3.3rem);font-weight:600;line-height:1.15;color:var(--navy);margin-bottom:20px;}
    .hero h1 em{font-style:italic;color:var(--rust);}
    .hero-sub{font-size:1.05rem;color:var(--navy-light);line-height:1.78;max-width:500px;margin-bottom:34px;}
    .stat-strip{display:flex;gap:0;margin-top:36px;background:var(--white);border-radius:16px;border:1px solid var(--beige);overflow:hidden;max-width:520px;box-shadow:0 4px 24px var(--shadow);}
    .stat-cell{flex:1;padding:17px 14px;text-align:center;border-right:1px solid var(--beige);}
    .stat-cell:last-child{border-right:none;}
    .stat-cell .num{font-family:var(--font-serif);font-size:1.85rem;font-weight:700;color:var(--navy);display:block;line-height:1;}
    .stat-cell .lbl{font-size:.66rem;color:var(--navy-muted);text-transform:uppercase;letter-spacing:.07em;display:block;margin-top:4px;}

    /* TRUST BAR */
    .trust-bar{background:var(--navy);padding:18px 0;}
    .trust-pill{display:flex;align-items:center;gap:10px;justify-content: left;}
    .trust-pill i{color:rgba(242,237,230,.5);font-size:.95rem;}
    .trust-pill .tv{font-weight:600;color:var(--cream);font-size:.88rem;}
    .trust-pill .tl{font-size:.73rem;color:rgba(242,237,230,.45);}

    /* INLINE CTA BAND */
    .cta-band{background:var(--navy);padding:40px 0;}
    .cta-band h3{font-family:var(--font-serif);font-size:clamp(1.6rem,3vw,2.2rem);color:var(--cream);font-weight:600;margin-bottom:8px;}
    .cta-band p{color:rgba(242,237,230,.65);font-size:.95rem;margin-bottom:0;}
    .cta-band-cream{background:var(--cream-deep);border-top:1px solid var(--beige);border-bottom:1px solid var(--beige);padding:36px 0;}
    .cta-band-cream h3{font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,2.1rem);color:var(--navy);font-weight:600;margin-bottom:8px;}
    .cta-band-cream p{color:var(--navy-muted);font-size:.93rem;margin-bottom:0;}

    /* FORM */
    .form-wrap{background:var(--white);border-radius:var(--radius);border:1px solid var(--beige);padding:38px;box-shadow:0 8px 40px var(--shadow);}
    .form-control,.form-select{background:var(--cream);border:1px solid var(--beige);color:var(--navy);border-radius:10px;padding:12px 16px;font-family:var(--font-sans);font-size:.92rem;}
    .form-control:focus,.form-select:focus{background:var(--white);border-color:var(--navy);color:var(--navy);box-shadow:0 0 0 3px rgba(42,51,64,.08);}
    .form-control::placeholder{color:var(--navy-muted);}
    .flbl{font-size:.79rem;font-weight:600;color:var(--navy);margin-bottom:5px;letter-spacing:.04em;}

    /* CARDS */
    .luma-card{background:var(--white);border:1px solid var(--beige);border-radius:var(--radius);padding:28px;height:100%;transition:all .3s;}
    .luma-card:hover{border-color:var(--navy);transform:translateY(-4px);box-shadow:0 16px 48px var(--shadow);}
    .cicon{width:50px;height:50px;background:var(--accent-soft);border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
    .cicon i{color:var(--accent);font-size:1.25rem;}
    .cicon.rust{background:var(--rust-soft);} .cicon.rust i{color:var(--rust);}
    .cicon.nv{background:rgba(42,51,64,.07);} .cicon.nv i{color:var(--navy);}
    .luma-card h5{color:var(--navy);font-weight:600;font-size:1.03rem;margin-bottom:9px;}
    .luma-card p{color:var(--navy-muted);font-size:.87rem;line-height:1.7;}

    /* IVF STEPS */
    .step-wrap{position:relative;}
    .step-wrap::before{content:'';position:absolute;left:22px;top:46px;bottom:0;width:1px;background:linear-gradient(to bottom,var(--beige),transparent);}
    .step-item{display:flex;gap:18px;margin-bottom:24px;align-items:flex-start;}
    .step-num{width:44px;height:44px;min-width:44px;background:var(--navy);color:var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-weight:700;font-size:1rem;box-shadow:0 4px 12px var(--shadow);}
    .step-body{flex:1;}
    .step-body h5{color:var(--navy);font-weight:600;margin-bottom:5px;font-size:.98rem;}
    .step-body p{color:var(--navy-muted);font-size:.87rem;line-height:1.65;margin-bottom:10px;}
    .step-img{width:100%;border-radius:12px;border:1px solid var(--beige);height:140px;object-fit:cover;display:block;margin-top:8px;}

    /* OPEN HOUSE — HORIZONTAL STEP TIMELINE */
    .oh-timeline{display:flex;flex-wrap:nowrap;margin-top:46px;position:relative;}
    .oh-timeline::before{content: ''; position: absolute; top: 28px; left: 0; right: 0; height: 2px; background: var(--beige); z-index: 0; width: 100%;}
    .oh-step{flex:1 1 0;min-width:0;text-align:center;position:relative;padding:0 18px;}
    .oh-node{width:56px;height:56px;border-radius:50%;background:var(--cream-deep);border:1px solid var(--beige);color:var(--navy);font-family:var(--font-serif);font-weight:700;font-size:1.2rem;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;position:relative;z-index:2;box-shadow:0 4px 14px var(--shadow);transition:all .3s;}
    .oh-step:hover .oh-node{background:var(--navy);color:var(--cream);transform:translateY(-3px);}
    .oh-step h5{font-family:var(--font-serif);font-size:17px;font-weight:500;color:var(--navy);margin-bottom:9px;}
    .oh-step p{color:var(--navy-muted);font-size:.9rem;line-height:1.62;margin:0;}
    @media(max-width:767px){
      .oh-timeline{flex-direction:column;gap:34px;margin-top:34px;}
      .oh-timeline::before{display:none;}
      .oh-step{padding:0;}
    }

    /* COMPARISON */
    .cmp-wrap{overflow-x:auto;}
    .cmp-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--beige);}
    .cmp-table th{background:var(--navy);color:var(--cream);padding:15px 18px;font-size:.84rem;font-weight:600;letter-spacing:.03em;}
    .cmp-table th:first-child{background:var(--navy-light);}
    .cmp-table td{padding:13px 18px;font-size:.87rem;border-bottom:1px solid var(--beige);vertical-align:middle;color:var(--navy-light);}
    .cmp-table tr:nth-child(odd) td{background:var(--white);}
    .cmp-table tr:nth-child(even) td{background:var(--cream);}
    .cmp-table tr:last-child td{border-bottom:none;}
    .cmp-table td:first-child{font-weight:600;color:var(--navy);}
    .cy{color:var(--accent);font-size:.95rem;} .cn{color:#b85c4a;font-size:.95rem;}

    /* DOCTORS */
    .doc-card{background:var(--white);border:1px solid var(--beige);border-radius:var(--radius);overflow:hidden;transition:all .3s;}
    .doc-card:hover{border-color:var(--navy);transform:translateY(-4px);box-shadow:0 16px 40px var(--shadow);}
    .doc-img{width:100%;height:290px;object-fit:cover;object-position:top center;}
    .doc-info{padding:22px;}
    .doc-info .role{font-size:.71rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--rust);margin-bottom:4px;}
    .doc-info h5{font-family:var(--font-serif);font-size:1.3rem;font-weight:600;color:var(--navy);margin-bottom:4px;}
    .doc-info .exp{font-size:.79rem;color:var(--navy-muted);margin-bottom:9px;}
    .doc-info p{font-size:.84rem;color:var(--navy-muted);line-height:1.65;}
    .doc-call{display:inline-flex;align-items:center;gap:7px;margin-top:14px;background:var(--navy);color:var(--cream);border-radius:50px;padding:9px 20px;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .3s;}
    .doc-call:hover{background:var(--accent);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow);}
    .doc-call i{font-size:.74rem;}

    /* DOCTORS SLIDER */
    .doc-slider-wrap{position:relative;}
    .doc-slider{display:flex;gap:24px;overflow-x:auto;scroll-behavior:smooth;padding:4px 2px 10px;-ms-overflow-style:none;scrollbar-width:none;}
    .doc-slider::-webkit-scrollbar{display:none;}
    .doc-slide{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;}
    .doc-slide .doc-card{height:100%;}
    .doc-nav{position:absolute;top:40%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:var(--white);border:1px solid var(--beige);color:var(--navy);display:none;align-items:center;justify-content:center;cursor:pointer;z-index:5;box-shadow:0 4px 16px var(--shadow);transition:all .25s;}
    .doc-nav:hover{background:var(--navy);color:var(--cream);}
    .doc-prev{left:-6px;}
    .doc-next{right:-6px;}
    @media(max-width:991px){
      .doc-slide{flex:0 0 100%;}
      .doc-nav{display:inline-flex;}
    }

    /* TEAM CARDS */
    .team-card{background:var(--white);border:1px solid var(--beige);border-radius:14px;overflow:hidden;text-align:center;transition:all .3s;}
    .team-card:hover{border-color:var(--navy);transform:translateY(-3px);box-shadow:0 12px 32px var(--shadow);}
    .team-img{width:100%;height:200px;object-fit:cover;object-position:top center;}
    .team-info{padding:16px 14px;}
    .team-info h6{color:var(--navy);font-weight:700;font-size:.93rem;margin-bottom:3px;}
    .team-info .trole{color:var(--accent);font-size:.73rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;}

    /* STAFF GROUP PHOTO */
    .staff-photo{width:100%;border-radius:var(--radius);border:1px solid var(--beige);object-fit:cover;box-shadow:0 8px 32px var(--shadow);}

    /* RATINGS */
    .rat-card{background:var(--white);border:1px solid var(--beige);border-radius:var(--radius);padding:26px 18px;text-align:center;transition:all .3s;}
    .rat-card:hover{border-color:var(--navy);box-shadow:0 8px 32px var(--shadow);}
    .rat-card .plat{font-size:.73rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-muted);margin-bottom:10px;}
    .rat-card .big{font-family:var(--font-serif);font-size:2.9rem;font-weight:700;color:var(--navy);line-height:1;}
    .rat-card .stars{margin:8px 0;} .rat-card .stars i{color:#e5a120;font-size:.88rem;}
    .rat-card .rc{font-size:.75rem;color:var(--navy-muted);}

    /* PRESS SECTION */
    .press-section{background:var(--cream-mid);}
    .press-logo-card{background:var(--white);border:1px solid var(--beige);border-radius:12px;padding:20px 16px;text-align:center;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;transition:all .3s;}
    .press-logo-card:hover{border-color:var(--navy);box-shadow:0 6px 20px var(--shadow);}
    .press-logo-card img{max-height:36px;object-fit:contain;filter:grayscale(1);opacity:.65;transition:all .3s;max-width:110px;}
    .press-logo-card:hover img{filter:grayscale(0);opacity:1;}
    .press-logo-card .pname{font-size:.75rem;font-weight:700;color:var(--navy-muted);letter-spacing:.05em;text-transform:uppercase;}
    .press-quote{font-style:italic;font-size:.82rem;color:var(--navy-muted);margin-top:6px;line-height:1.5;}

    /* TESTIMONIALS */
    .testi-card{background:var(--white);border:1px solid var(--beige);border-radius:var(--radius);padding:30px;margin:6px;height:100%;}
    .testi-card .qt{font-size:2.2rem;color:var(--beige);line-height:1;margin-bottom:10px;font-family:var(--font-serif);}
    .testi-card p{font-size:.92rem;color:var(--navy-light);line-height:1.78;font-style:italic;margin-bottom:18px;}
    .testi-card .nm{font-weight:600;color:var(--navy);font-size:.88rem;}
    .testi-card .tg{font-size:.73rem;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.07em;}
    .testi-card .stars i{color:#e5a120;font-size:.8rem;}
    /* Owl testimonial slider */
    #testiCarousel .owl-stage{display:flex;}
    #testiCarousel .owl-item{display:flex;}
    #testiCarousel .ts-item{display:flex;width:100%;}
    #testiCarousel .testi-card{margin:6px;width:100%;height:340px;display:flex;flex-direction:column;}
    #testiCarousel .testi-card p{flex:1 1 auto;overflow-y:auto;min-height:0;padding-right:10px;margin-bottom:14px;}
    /* webkit scrollbar for testimonial text */
    #testiCarousel .testi-card p::-webkit-scrollbar{width:5px;}
    #testiCarousel .testi-card p::-webkit-scrollbar-track{background:var(--cream);border-radius:10px;}
    #testiCarousel .testi-card p::-webkit-scrollbar-thumb{background:var(--beige);border-radius:10px;}
    #testiCarousel .testi-card p::-webkit-scrollbar-thumb:hover{background:var(--navy-muted);}
    #testiCarousel .testi-card p{scrollbar-width:thin;scrollbar-color:var(--beige) var(--cream);}
    #testiCarousel .owl-nav{margin-top:30px;display:flex;justify-content:center;align-items:center;gap:14px;}
    #testiCarousel .owl-nav button.owl-prev,
    #testiCarousel .owl-nav button.owl-next{width:43px;height:43px;border-radius:50%;border:1.5px solid var(--navy)!important;background:transparent!important;color:var(--navy)!important;font-size:.88rem;display:inline-flex;align-items:center;justify-content:center;transition:all .3s;}
    #testiCarousel .owl-nav button.owl-prev:hover,
    #testiCarousel .owl-nav button.owl-next:hover{background:var(--navy)!important;color:var(--cream)!important;transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow);}
    #testiCarousel .owl-nav button.owl-prev span,
    #testiCarousel .owl-nav button.owl-next span{display:none;}
    #testiCarousel .owl-dots{margin-top:16px;display:flex;justify-content:center;align-items:center;gap:8px;}
    #testiCarousel .owl-dots .owl-dot span{width:9px;height:9px;margin:0;background:var(--beige);border-radius:50%;display:block;transition:all .3s;}
    #testiCarousel .owl-dots .owl-dot.active span{background:var(--navy);width:26px;border-radius:5px;}

    /* BEFORE AFTER */
    .ba-wrap{background:var(--white);border:1px solid var(--beige);border-radius:var(--radius);overflow:hidden;}
    .ba-row{display:flex;}
    .ba-row img{width:50%;height:200px;object-fit:cover;}
    .ba-tags{display:flex;}
    .ba-tag{flex:1;text-align:center;padding:9px;font-size:.73rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;}
    .ba-tag.bef{background:var(--rust-soft);color:var(--rust);}
    .ba-tag.aft{background:var(--accent-soft);color:var(--accent);}
    .ba-body{padding:18px;}
    .ba-body h6{color:var(--navy);font-weight:700;font-size:.93rem;margin-bottom:7px;}
    .ba-body p{color:var(--navy-muted);font-size:.83rem;line-height:1.65;}
    .ba-result{margin-top:9px;font-size:.79rem;font-weight:700;color:var(--accent);}

    /* FAQ */
    .accordion-item{background:var(--white)!important;border:1px solid var(--beige)!important;border-radius:12px!important;margin-bottom:9px;overflow:hidden;}
    .accordion-button{background:var(--white)!important;color:var(--navy)!important;font-weight:600;font-family:var(--font-sans);font-size:.93rem;padding:17px 22px;}
    .accordion-button:not(.collapsed){color:var(--accent)!important;background:var(--accent-soft)!important;box-shadow:none!important;}
    .accordion-button::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232a3340'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");}
    .accordion-body{background:var(--white)!important;color:var(--navy-muted);font-size:.9rem;line-height:1.78;padding:2px 22px 20px;}

    /* PRICING */
    .pc{background:var(--white);border:1px solid var(--beige);border-radius:var(--radius);padding:32px;height:100%;transition:all .3s;}
    .pc:hover{transform:translateY(-4px);box-shadow:0 16px 48px var(--shadow);}
    .pc.feat{border-color:var(--navy);border-width:2px;}
    .ptag{font-size:.71rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-muted);margin-bottom:7px;}
    .pname{font-family:var(--font-serif);font-size:1.45rem;font-weight:600;color:var(--navy);margin-bottom:14px;}
    .pval{font-family:var(--font-serif);font-size:2.4rem;font-weight:700;color:var(--navy);line-height:1;}
    .pnote{font-size:.77rem;color:var(--navy-muted);margin-top:4px;}
    .pd{border-color:var(--beige);margin:20px 0;}
    .fl li{display:flex;align-items:flex-start;gap:9px;color:var(--navy-light);font-size:.87rem;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.05);}
    .fl li:last-child{border-bottom:none;}
    .fl li i{color:var(--accent);margin-top:3px;flex-shrink:0;}

    /* GALLERY — AUTO SLIDER */
    .fac-slider{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);}
    .fac-track{display:flex;width:max-content;animation:facScroll 45s linear infinite;}
    .fac-slider:hover .fac-track{animation-play-state:paused;}
    .fac-item{flex:0 0 auto;width:clamp(280px,32vw,460px);margin-right:18px;}
    .fac-img{width:100%;height:400px;object-fit:cover;border-radius:14px;border:1px solid var(--beige);display:block;}
    @keyframes facScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
    @media(max-width:576px){
      .fac-item{width:82vw;}
      .fac-img{height:240px;}
    }

    /* WHY */
    .why-card{background:var(--white);border:1px solid var(--beige);border-radius:14px;padding:22px 18px;text-align:center;height:100%;transition:all .3s;}
    .why-card:hover{border-color:var(--navy);transform:translateY(-3px);box-shadow:0 12px 32px var(--shadow);}
    .why-card .wi{width:54px;height:54px;margin:0 auto 14px;border-radius:50%;background:var(--accent-soft);color:var(--navy);display:flex;align-items:center;justify-content:center;transition:all .3s;}
    .why-card .wi svg{width:26px;height:26px;}
    .why-card:hover .wi{background:var(--navy);color:var(--cream);}
    .why-card h6{color:var(--navy);font-weight:600;font-size:.91rem;margin-bottom:7px;}
    .why-card p{color:var(--navy-muted);font-size:.81rem;line-height:1.65;}

    /* FOOTER */
    footer{background:var(--navy);color:var(--cream);padding:30px 0 10px;}
    .flogo{font-family:var(--font-serif);font-size:1.45rem;font-weight:600;color:var(--cream);}
    .fsub{color:rgba(242,237,230,.5);font-size:.84rem;line-height:1.7;margin-top:10px;}
    .fhd{color:var(--cream);font-weight:600;font-size:.83rem;letter-spacing:.07em;text-transform:uppercase;margin-bottom:15px;}
    .flnk{color:rgba(242,237,230,.5);text-decoration:none;font-size:.84rem;display:block;margin-bottom:8px;transition:color .2s;}
    .flnk:hover{color:var(--cream);}
    .fdv{border-color:rgba(255,255,255,.08);margin:30px 0 18px;}
    .fcp{color:rgba(242,237,230,.3);font-size:.75rem;text-align:center;}
    .soc{width:35px;height:35px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:inline-flex;align-items:center;justify-content:center;color:rgba(242,237,230,.55);text-decoration:none;font-size:.78rem;transition:all .2s;}
    .soc:hover{background:rgba(255,255,255,.18);color:var(--cream);}

    /* MOBILE STICKY */
    .mob-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--white);border-top:1px solid var(--beige);padding:10px 12px;gap:8px;box-shadow:0 -4px 20px var(--shadow);}
    .mob-cta a{flex:1;text-align:center;padding:12px 6px;border-radius:10px;font-size:.77rem;font-weight:700;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:5px;}
    .mc-call{background:var(--navy);color:var(--cream);}
    .mc-form{background:var(--cream-deep);color:var(--navy);border:1.5px solid var(--navy);}
    .mc-wa{background:#25D366;color:#fff;}

    @media(max-width:991px){
      .mob-cta{display:flex;}
      .hero{background:linear-gradient(180deg,rgba(255,248,225,.93) 0%,rgba(255,248,225,.86) 55%,rgba(255,248,225,.8) 100%),url('../images/herobanner.webp');background-size:cover;background-position:center;}
      section{padding:60px 0;}
      .form-wrap{padding:22px;}
      /* g-5 rows use a 3rem gutter (-24px margins) that exceeds the mobile
         container padding (12px), causing a 12px horizontal overflow. Shrink
         the horizontal gutter on small screens so rows fit the viewport. */
      .row.g-5{--bs-gutter-x:1.5rem;}
    }
    @media(max-width:576px){
      .stat-strip{max-width:100%;}
    }

    /* CAROUSEL */
    .carousel-indicators [data-bs-target]{width:8px;height:8px;border-radius:50%;background:var(--beige);border:none;}
    .carousel-indicators .active{background:var(--navy);}
    /* Testimonials: each slide holds 2-3 cards (md=2, lg=3). On phones the
       full-width cols would stack 2 per slide — show only the first so it's
       a clean 1-up slider. */

       .mobileview {display: none; border-radius: 30px; overflow: hidden; box-shadow: 0px 0px 2px 0px;}

       .desktopview { border-radius: 30px; overflow: hidden; box-shadow: 0px 0px 2px 0px; }
       .mobileview {height: 400px;}
       .mobileview img { height: 100%; width: 100%; object-fit: cover; object-position: top; }
       button.doc-nav { display: none; }
       
    @media(max-width:767.98px){
      #tc .carousel-item .row > [class*="col-"]:not(:first-child){display:none;}

      .hero {background-position: left;}
      .mobileview {display: block;}
      .hero h1 {font-size: 30px;}
      .hero {padding-top: 30px;}
      .desktopview {display: none;}
    }

    /* REVEAL */
    .reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease;}
    .reveal.visible{opacity:1;transform:translateY(0);}

    .feat-badge{display:inline-flex;align-items:center;gap:5px;background:var(--navy);color:var(--cream);border-radius:50px;padding:4px 13px;font-size:.7rem;font-weight:700;margin-bottom:10px;}
    .fi-img{width:100%;border-radius:var(--radius);border:1px solid var(--beige);object-fit:cover;box-shadow:0 8px 32px var(--shadow);}

    /* SECTION ALTERNATES */
    .s-cream{background:var(--cream);}
    .s-mid{background:var(--cream-mid);}
    .s-deep{background:var(--cream-deep);}
    .s-white{background:var(--white);}
    .s-navy{background:var(--navy);}


    .carousel-inner {padding-bottom: 20px;}