/* ============================================================
   DFSL â€” Design tokens: Urbanist, refined maroon/gold, DNA motif
   ============================================================ */
:root{
  --maroon:#6b1f2e;
  --maroon-dark:#3f121e;
  --maroon-deep:#2a0c15;
  --gold:#a3823f;
  --gold-light:#c9a568;
  --paper:#ffffff;
  --paper-soft:#f8f6f3;
  --ink:#191517;
  --muted:#6b6560;
  --line:#e8e3df;
  --radius:10px;
  --font-sans:'Urbanist',-apple-system,BlinkMacSystemFont,sans-serif;
  --dna-pattern:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22120%22%20height%3D%22220%22%20viewBox%3D%220%200%20120%20220%22%3E%0A%3Cg%20fill%3D%22none%22%20stroke%3D%22%236b1f2e%22%20stroke-width%3D%221.4%22%20stroke-opacity%3D%220.05%22%3E%0A%3Cpath%20d%3D%22M30%200%20C50%2022%2010%2044%2030%2066%20C50%2088%2010%20110%2030%20132%20C50%20154%2010%20176%2030%20198%20C50%20220%2010%20220%2030%20220%22/%3E%0A%3Cpath%20d%3D%22M90%200%20C70%2022%20110%2044%2090%2066%20C70%2088%20110%20110%2090%20132%20C70%20154%20110%20176%2090%20198%20C70%20220%20110%20220%2090%20220%22/%3E%0A%3Cline%20x1%3D%2230%22%20y1%3D%2211%22%20x2%3D%2290%22%20y2%3D%2211%22%20stroke-opacity%3D%220.035%22/%3E%0A%3Cline%20x1%3D%2230%22%20y1%3D%2255%22%20x2%3D%2290%22%20y2%3D%2255%22%20stroke-opacity%3D%220.035%22/%3E%0A%3Cline%20x1%3D%2230%22%20y1%3D%2299%22%20x2%3D%2290%22%20y2%3D%2299%22%20stroke-opacity%3D%220.035%22/%3E%0A%3Cline%20x1%3D%2230%22%20y1%3D%22143%22%20x2%3D%2290%22%20y2%3D%22143%22%20stroke-opacity%3D%220.035%22/%3E%0A%3Cline%20x1%3D%2230%22%20y1%3D%22187%22%20x2%3D%2290%22%20y2%3D%22187%22%20stroke-opacity%3D%220.035%22/%3E%0A%3C/g%3E%0A%3C/svg%3E");
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-sans);color:var(--ink);line-height:1.7;background:#fff;overflow-x:hidden;font-size:16px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--ink);font-weight:700;letter-spacing:-0.02em}
a{text-decoration:none;color:inherit;transition:.2s}
img{max-width:100%}
::selection{background:var(--maroon);color:#fff}
:focus-visible{outline:2px solid var(--maroon);outline-offset:2px}

/* ===== DNA light background utility ===== */
.dna-bg{position:relative}
.dna-bg::before{content:'';position:absolute;inset:0;background-image:var(--dna-pattern);background-repeat:repeat;pointer-events:none;z-index:0}
.dna-bg > *{position:relative;z-index:1}
.dna-bg > .container{position:relative;z-index:1}

/* ===== Eyebrows / labels ===== */
.section-tag{color:var(--maroon);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.76rem}
.section-title{font-size:clamp(1.65rem,3vw,2.1rem);margin-bottom:1rem;font-weight:800;letter-spacing:-0.025em}

/* ===== Header ===== */
.top-bar{background:var(--maroon-deep);color:#e2d3d6;font-size:.82rem}
.top-bar a{color:#e2d3d6;margin-right:1.5rem;opacity:.9;font-weight:500}
.top-bar a:hover{opacity:1;color:#fff}
.top-trust{color:#c9a568;font-weight:600;font-size:.78rem}
.top-social a{margin-right:0;margin-left:1.1rem}
.main-nav{background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:0;position:sticky;top:0;z-index:1030;transition:.25s}
.main-nav.scrolled{box-shadow:0 6px 24px rgba(20,10,12,.08)}
.navbar-brand img{height:100px}
.brand-text{font-weight:800;font-size:1.35rem;color:var(--maroon);letter-spacing:-0.01em}
.main-nav .nav-link{font-weight:600;color:#3a3533;padding:.65rem 1rem !important;font-size:.94rem;position:relative}
.main-nav .nav-link::after{content:'';position:absolute;left:1rem;right:1rem;bottom:.35rem;height:2px;background:var(--maroon);transform:scaleX(0);transform-origin:left;transition:.2s}
.main-nav .nav-link:hover,.main-nav .nav-link.active{color:var(--maroon)}
.main-nav .nav-link:hover::after,.main-nav .nav-link.active::after{transform:scaleX(1)}
.btn-cta{background:var(--maroon);color:#fff;font-weight:700;padding:.7rem 1.7rem;border-radius:8px;border:none;font-size:.92rem;letter-spacing:.01em;transition:.2s;box-shadow:0 4px 14px rgba(107,31,46,.22)}
.btn-cta:hover{background:var(--maroon-dark);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(107,31,46,.3)}
.btn-outline-maroon{border:1.5px solid var(--maroon);color:var(--maroon);font-weight:700;border-radius:8px;padding:.65rem 1.55rem;font-size:.92rem;background:transparent;transition:.2s}
.btn-outline-maroon:hover{background:var(--maroon);color:#fff;transform:translateY(-1px)}

/* ===== World-class mega menu ===== */
.mega-dropdown{position:static}
.mega-menu{width:100%;border:none;border-top:1px solid var(--line);border-radius:0;box-shadow:0 24px 48px rgba(20,10,12,.1);padding:0;margin-top:0;animation:megaFade .22s ease}
@keyframes megaFade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.mega-menu .row{padding:2.2rem 1.5rem}
.mega-col{padding:0 1.3rem;border-left:1px solid var(--line)}
.mega-col:first-child{border-left:none}
.mega-col-head{display:flex;gap:.8rem;margin-bottom:1rem;align-items:flex-start}
.mega-col-icon{flex-shrink:0;width:42px;height:42px;border-radius:9px;background:var(--paper-soft);border:1px solid var(--line);color:var(--maroon);display:flex;align-items:center;justify-content:center;font-size:1.15rem}
.mega-col-icon.sm{width:36px;height:36px;font-size:1rem}
.mega-menu-title{color:var(--ink);font-weight:700;font-size:.98rem;display:block;line-height:1.3}
.mega-menu-title:hover{color:var(--maroon)}
.mega-col-desc{color:var(--muted);font-size:.78rem;margin:.15rem 0 0;line-height:1.4}
.mega-menu ul{margin-bottom:.6rem}
.mega-menu ul li a{display:flex;align-items:center;padding:.32rem 0;color:#5c5652;font-size:.87rem;font-weight:500}
.mega-menu ul li a i{font-size:1.1rem;color:var(--gold);opacity:0;transform:translateX(-4px);transition:.15s}
.mega-menu ul li a:hover{color:var(--maroon);padding-left:2px}
.mega-menu ul li a:hover i{opacity:1;transform:translateX(0)}
.mega-col-viewall{display:inline-block;color:var(--maroon);font-weight:700;font-size:.82rem;margin-top:.3rem}
.mega-col-viewall:hover{text-decoration:underline}
.mega-menu-sm{width:520px;left:auto;right:0;border:1px solid var(--line);box-shadow:0 24px 48px rgba(20,10,12,.1);padding:1.6rem}
.mega-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.mega-service-item{display:flex;align-items:center;gap:.65rem;padding:.6rem .7rem;border-radius:8px;color:#3a3533;font-weight:600;font-size:.86rem;transition:.15s}
.mega-service-item:hover{background:var(--paper-soft);color:var(--maroon)}

/* ===== Hero (DNA double helix signature) ===== */
.hero-slider{position:relative}
.hero-slide{min-height:600px;display:flex;align-items:center;background-size:cover;background-position:center;position:relative;background-color:var(--maroon-deep);overflow:hidden}
.hero-slide::before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(20,10,13,.93) 36%,rgba(20,10,13,.6) 72%,rgba(20,10,13,.32) 100%);z-index:1}
.hero-slide .container{position:relative;z-index:2}
.hero-slide h1{color:#fff;font-size:clamp(2rem,4.2vw,3rem);margin-bottom:1.15rem;font-weight:800;letter-spacing:-0.025em;max-width:640px;line-height:1.15}
.hero-slide p{color:#d9cdd0;font-size:clamp(.95rem,1.4vw,1.08rem);max-width:520px;margin-bottom:2.1rem;font-weight:400}
.hero-badge{display:inline-block;color:var(--gold-light);padding:.35rem .9rem;border:1px solid rgba(201,165,104,.4);border-radius:50px;font-weight:700;font-size:.74rem;margin-bottom:1.3rem;text-transform:uppercase;letter-spacing:.12em}

.hero-helix{position:absolute;top:0;right:2%;bottom:0;width:280px;z-index:1;pointer-events:none;opacity:.55}
.hero-helix-svg{width:100%;height:100%;display:block;animation:helixDrift 22s ease-in-out infinite}
.hero-helix .helix-strand-a{stroke:var(--gold-light)}
.hero-helix .helix-strand-b{stroke:#8a5566}
.hero-helix .helix-rungs line{stroke:#a9727f;opacity:.45}
@keyframes helixDrift{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
@media(prefers-reduced-motion:reduce){.hero-helix-svg{animation:none}}
@media(max-width:991px){.hero-helix{width:150px;opacity:.35}}
@media(max-width:767px){.hero-helix{display:none}}

.helix-divider{width:100%;height:34px;overflow:hidden;line-height:0}
.helix-divider-svg{width:100%;height:100%;display:block}
.helix-divider .helix-strand-a{stroke:var(--maroon)}
.helix-divider .helix-strand-b{stroke:var(--gold)}
.helix-divider .helix-rungs line{stroke:var(--line);opacity:.7}
.helix-divider.on-dark .helix-strand-a{stroke:var(--gold-light)}
.helix-divider.on-dark .helix-strand-b{stroke:#8a5566}
.helix-divider.on-dark .helix-rungs line{stroke:rgba(255,255,255,.15)}

/* ===== Sections ===== */
section{padding:5rem 0}
.bg-cream{background:var(--paper-soft)}
.bg-maroon{background:var(--maroon)}
.bg-maroon-dark{background:var(--maroon-dark)}

.icon-box{width:54px;height:54px;border-radius:10px;background:var(--paper-soft);border:1px solid var(--line);color:var(--maroon);display:flex;align-items:center;justify-content:center;font-size:1.35rem;margin-bottom:1.15rem;transition:.2s}
.bg-maroon .icon-box,.bg-maroon-dark .icon-box{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);color:var(--gold-light)}
.feature-card,.test-card,.service-card,.centre-card,.kit-card,.blog-card{background:#fff;border-radius:var(--radius);padding:1.85rem;box-shadow:none;height:100%;transition:.25s;border:1px solid var(--line)}
.feature-card:hover,.test-card:hover,.service-card:hover,.centre-card:hover,.kit-card:hover{border-color:var(--maroon);box-shadow:0 16px 36px rgba(20,10,12,.09);transform:translateY(-4px)}
.feature-card:hover .icon-box,.test-card:hover .icon-box,.service-card:hover .icon-box{background:var(--maroon);color:#fff;border-color:var(--maroon)}
.test-card h5,.service-card h5{margin:.75rem 0 .5rem;font-size:1.06rem;font-weight:700}
.test-card .badge-court{background:var(--paper-soft);color:var(--maroon);border:1px solid var(--line);font-weight:700;font-size:.67rem;padding:.35rem .65rem;letter-spacing:.03em;border-radius:50px}
.category-tab{border-radius:50px;padding:.62rem 1.4rem;font-weight:700;border:1.5px solid var(--line);color:#5c5652;margin:.25rem;font-size:.85rem;transition:.2s}
.category-tab.active,.category-tab:hover{background:var(--maroon);border-color:var(--maroon);color:#fff}

.stat-item{text-align:center;color:#fff}
.stat-item .num{font-size:clamp(1.9rem,3vw,2.5rem);font-weight:800;color:#fff;letter-spacing:-0.02em}
.stat-item div:last-child{color:#d9c9cd;font-size:.84rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}

.testimonial-card{background:#fff;border-radius:var(--radius);padding:1.9rem;box-shadow:none;border:1px solid rgba(255,255,255,.12);height:100%}
.testimonial-card .stars{color:var(--gold)}
.testimonial-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover}

.centre-card img,.kit-card img,.blog-card img,.test-hero img{border-radius:8px;object-fit:cover}
.blog-card img{height:195px;width:100%;transition:.3s}
.blog-card:hover img{transform:scale(1.03)}
.img-soft{box-shadow:0 14px 34px rgba(20,10,12,.09);border:1px solid var(--line)}

.page-hero{background:var(--maroon-deep);padding:4rem 0 2.75rem;color:#fff;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cg fill='none' stroke='%23c9a568' stroke-opacity='0.18' stroke-width='1.4'%3E%3Cpath d='M20 0 C34 15 6 30 20 45 C34 60 6 75 20 90'/%3E%3Cpath d='M70 0 C56 15 84 30 70 45 C56 60 84 75 70 90'/%3E%3C/g%3E%3C/svg%3E")}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{color:#fff;margin-bottom:.5rem;font-size:clamp(1.6rem,3.4vw,2.2rem);font-weight:800}
.breadcrumb-custom{font-size:.85rem;font-weight:500}
.breadcrumb-custom a{color:#d9c9cd}
.breadcrumb-custom a:hover{color:#fff}
.breadcrumb-custom .active{color:#fff}

.faq-accordion .accordion-item{border:1px solid var(--line);margin-bottom:.6rem;border-radius:10px;overflow:hidden}
.faq-accordion .accordion-button{font-weight:700;color:var(--ink);font-size:.96rem}
.faq-accordion .accordion-button:not(.collapsed){background:var(--paper-soft);color:var(--maroon);box-shadow:none}

.sidebar-widget{background:var(--paper-soft);border-radius:var(--radius);padding:1.6rem;margin-bottom:1.3rem;border:1px solid var(--line)}
.sidebar-widget h6{border-bottom:1px solid var(--line);padding-bottom:.65rem;margin-bottom:1rem;font-weight:700}

.contact-info-box{background:var(--maroon);color:#fff;border-radius:var(--radius);padding:1.9rem}
.contact-info-box .icon-box{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.15);color:#fff}

form .form-control,form .form-select{border-radius:8px;padding:.7rem .95rem;border:1px solid var(--line);font-size:.93rem;font-family:var(--font-sans)}
form .form-control:focus,form .form-select:focus{border-color:var(--maroon);box-shadow:0 0 0 .18rem rgba(107,31,46,.12)}
.modal-header{background:var(--maroon);color:#fff;border-radius:9px 9px 0 0}
.modal-header .btn-close{filter:invert(1)}
.modal-content{border-radius:var(--radius);border:none;box-shadow:0 30px 70px rgba(0,0,0,.25)}

.whatsapp-float{position:fixed;bottom:24px;right:24px;background:#25D366;color:#fff;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.55rem;box-shadow:0 8px 20px rgba(0,0,0,.22);z-index:1040;transition:.2s}
.whatsapp-float:hover{color:#fff;transform:scale(1.08)}

/* ===== Footer ===== */
.footer-trust-strip{background:var(--maroon-dark);color:#f0dede;padding:.9rem 0;font-size:.85rem;font-weight:600}
.footer-trust-strip i{color:var(--gold-light);margin-right:.4rem}
.site-footer{background:var(--maroon-deep);color:#c2adb1;position:relative}
.footer-brand img{height:42px;margin-bottom:1rem;}
.footer-title{color:#fff;margin-bottom:1.15rem;font-size:.88rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.footer-links{list-style:none;padding:0}
.footer-links li{margin-bottom:.6rem;font-size:.9rem}
.footer-links a{color:#c2adb1}
.footer-links a:hover{color:#fff;padding-left:3px}
.footer-link-more{color:var(--gold-light) !important;font-weight:700}
.footer-social a{display:inline-flex;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.07);align-items:center;justify-content:center;margin-right:.5rem;color:#fff;font-size:.86rem;transition:.2s}
.footer-social a:hover{background:var(--maroon);transform:translateY(-2px)}
.footer-contact-row{color:#c2adb1;font-size:.87rem}
.footer-contact-row i{color:var(--gold-light);margin-right:.4rem}
.footer-bottom{background:#150a0d;font-size:.82rem;color:#8f7a7e;border-top:1px solid rgba(255,255,255,.06)}
.footer-credit-link{color:var(--gold-light);font-weight:600}
.footer-credit-link:hover{color:#fff;text-decoration:underline}

/* ===== Responsive ===== */
@media(max-width:1199px){
  .mega-menu-sm{width:460px}
}
@media(max-width:991px){
  .hero-slide{min-height:auto;padding:3.5rem 0}
  section{padding:3.25rem 0}
  .mega-menu{box-shadow:none;padding:0;border:none;animation:none}
  .mega-menu .row{padding:1rem 0}
  .mega-col{border-left:none;border-top:1px solid var(--line);padding:1rem 0 0;margin-top:.75rem}
  .mega-col:first-child{border-top:none;margin-top:0}
  .mega-menu-sm{width:100%;padding:1rem 0;box-shadow:none;border:none}
  .mega-service-grid{grid-template-columns:1fr}
  .main-nav .nav-link::after{display:none}
  .top-trust{display:none}
}
@media(max-width:767px){
  .hero-slide h1{font-size:1.85rem}
  .page-hero{padding:3rem 0 2rem}
  .footer-trust-strip .col-6{font-size:.78rem}
  .footer-trust-strip i{display:block;font-size:1.1rem;margin:0 0 .25rem}
}
@media(max-width:420px){
  .container{padding-left:1.1rem;padding-right:1.1rem}
  .btn-cta,.btn-outline-maroon{width:100%}
}

/* ============================================================
   Preloader â€” DNA helix loop + scanning logo (medical-test feel)
   ============================================================ */
html.preloader-active{overflow:hidden}
#preloader{position:fixed;inset:0;z-index:9999;background:var(--maroon-deep);display:flex;align-items:center;justify-content:center;transition:opacity .55s ease,visibility .55s ease}
#preloader::before{content:'';position:absolute;inset:0;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cg fill='none' stroke='%23c9a568' stroke-opacity='0.15' stroke-width='1.4'%3E%3Cpath d='M20 0 C34 15 6 30 20 45 C34 60 6 75 20 90'/%3E%3Cpath d='M70 0 C56 15 84 30 70 45 C56 60 84 75 70 90'/%3E%3C/g%3E%3C/svg%3E")}
#preloader.preloader-hide{opacity:0;visibility:hidden;pointer-events:none}
#preloader.preloader-skip{display:none !important}

.preloader-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1.4rem;padding:2rem}

.preloader-helix{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90px;height:210px;overflow:hidden;opacity:.4;pointer-events:none}
.preloader-helix-track{display:flex;flex-direction:column;width:100%;animation:preloaderHelixLoop 4.5s linear infinite}
.preloader-helix-track .hero-helix-svg{width:100%;height:820px;flex-shrink:0;display:block}
.preloader-helix-track .helix-strand-a{stroke:var(--gold-light)}
.preloader-helix-track .helix-strand-b{stroke:#8a5566}
.preloader-helix-track .helix-rungs line{stroke:#a9727f;opacity:.5}
@keyframes preloaderHelixLoop{from{transform:translateY(0)}to{transform:translateY(-820px)}}

.preloader-mark{position:relative;width:104px;height:104px;border-radius:50%;background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(201,165,104,.25)}
.preloader-mark img{width:66px;height:66px;object-fit:contain;position:relative;z-index:1}
.preloader-mark-text{font-family:var(--font-sans);font-weight:800;font-size:1.4rem;color:var(--gold-light);letter-spacing:-0.02em;position:relative;z-index:1}
.preloader-ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--gold-light);opacity:0;animation:preloaderPulse 2.2s ease-out infinite}
.preloader-ring-2{animation-delay:1.1s}
@keyframes preloaderPulse{0%{transform:scale(.75);opacity:.55}80%{opacity:0}100%{transform:scale(1.35);opacity:0}}
.preloader-scan{position:absolute;left:6%;right:6%;height:2px;background:linear-gradient(90deg,transparent,var(--gold-light) 50%,transparent);top:0;z-index:2;animation:preloaderScan 2.1s ease-in-out infinite;box-shadow:0 0 8px rgba(201,165,104,.7)}
@keyframes preloaderScan{0%{top:6%}50%{top:94%}100%{top:6%}}

.preloader-status{color:#e2d3d6;font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:0;display:flex;align-items:center}
.preloader-dots span{animation:preloaderDot 1.3s infinite;opacity:0}
.preloader-dots span:nth-child(1){animation-delay:0s}
.preloader-dots span:nth-child(2){animation-delay:.2s}
.preloader-dots span:nth-child(3){animation-delay:.4s}
@keyframes preloaderDot{0%,60%,100%{opacity:0}30%{opacity:1}}

.preloader-bar{width:150px;height:3px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden}
.preloader-bar span{display:block;height:100%;width:40%;background:linear-gradient(90deg,var(--maroon),var(--gold-light));border-radius:3px;animation:preloaderBar 1.3s ease-in-out infinite}
@keyframes preloaderBar{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}

@media(prefers-reduced-motion:reduce){
  .preloader-helix-track,.preloader-ring,.preloader-scan,.preloader-dots span,.preloader-bar span{animation:none !important}
  .preloader-scan{display:none}
}
@media(max-width:480px){
  .preloader-helix{width:64px;height:150px}
  .preloader-helix-track .hero-helix-svg{height:585px}
  @keyframes preloaderHelixLoop{from{transform:translateY(0)}to{transform:translateY(-585px)}}
  .preloader-mark{width:84px;height:84px}
  .preloader-mark img{width:52px;height:52px}
}

/* ============================================================
   Popular Tests â€” image cards + Book Now
   ============================================================ */
.test-card-media{background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);height:100%;display:flex;flex-direction:column;transition:.25s}
.test-card-media:hover{border-color:var(--maroon);box-shadow:0 16px 36px rgba(20,10,12,.1);transform:translateY(-4px)}
.test-card-media-img{position:relative;height:170px;overflow:hidden;background:var(--paper-soft)}
.test-card-media-img img{width:100%;height:100%;object-fit:fill;transition:.4s}
.test-card-media:hover .test-card-media-img img{transform:scale(1.06)}
.badge-court-float{position:absolute;top:.7rem;left:.7rem;background:rgba(255,255,255,.95);color:var(--maroon);font-weight:700;font-size:.66rem;padding:.35rem .6rem;border-radius:50px;letter-spacing:.03em;box-shadow:0 4px 10px rgba(0,0,0,.12)}
.test-card-media-body{padding:1.4rem;display:flex;flex-direction:column;flex:1}
.test-card-category{color:var(--maroon);font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}
.test-card-media-body h5{margin:.4rem 0 .5rem;font-size:1rem;font-weight:700}
.test-card-meta{display:flex;gap:1rem;font-size:.8rem;color:var(--muted);font-weight:600}
.test-card-meta i{color:var(--gold);margin-right:.25rem}

/* ============================================================
   Modern floating-label forms (enquiry modal + contact page)
   ============================================================ */
.form-floating > .form-control,.form-floating > .form-select{border-radius:8px;border:1px solid var(--line);height:calc(3.3rem + 2px)}
.form-floating > label{color:var(--muted);padding:.85rem 1rem}
.form-floating > .form-control:focus,.form-floating > .form-select:focus{border-color:var(--maroon);box-shadow:0 0 0 .18rem rgba(107,31,46,.1)}
.form-floating > .form-control:focus ~ label,.form-floating > .form-control:not(:placeholder-shown) ~ label,.form-floating > .form-select ~ label{color:var(--maroon);opacity:1;transform:scale(.8) translateY(-.55rem) translateX(.2rem)}
textarea.form-control{border-radius:8px}

.enquiry-modal-content{border-radius:16px;overflow:hidden;position:relative}
.enquiry-modal-close{position:absolute;top:1.1rem;right:1.1rem;z-index:2;background:rgba(255,255,255,.9);border-radius:50%;width:34px;height:34px;padding:0;opacity:1}
.enquiry-modal-head{background:linear-gradient(135deg,var(--maroon),var(--maroon-dark));color:#fff;padding:2.2rem 2rem 1.8rem;text-align:center;position:relative;overflow:hidden}
.enquiry-modal-head::before{content:'';position:absolute;inset:0;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cg fill='none' stroke='%23c9a568' stroke-opacity='0.25' stroke-width='1.4'%3E%3Cpath d='M20 0 C34 15 6 30 20 45 C34 60 6 75 20 90'/%3E%3Cpath d='M70 0 C56 15 84 30 70 45 C56 60 84 75 70 90'/%3E%3C/g%3E%3C/svg%3E")}
.enquiry-modal-icon{position:relative;z-index:1;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:.8rem}
.enquiry-modal-head h5{position:relative;z-index:1;color:#fff;margin:0 0 .35rem;font-weight:700}
.enquiry-modal-head p{position:relative;z-index:1;color:#e6d4d8;font-size:.86rem;margin:0}
.enquiry-modal-body{padding:1.8rem 2rem 2rem}
.enquiry-modal-trust{text-align:center;font-size:.78rem;color:var(--muted);margin:.9rem 0 0}
.enquiry-modal-trust i{color:var(--maroon);margin-right:.3rem}

/* ============================================================
   Contact page
   ============================================================ */
.contact-form-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.9rem;box-shadow:0 16px 40px rgba(20,10,12,.06)}
.contact-quick-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.3rem;height:auto;transition:.2s}
.contact-quick-card:hover{border-color:var(--maroon);box-shadow:0 10px 24px rgba(20,10,12,.07)}
.contact-quick-card .icon-box{width:42px;height:42px;font-size:1.05rem;margin-bottom:.7rem}
.contact-quick-card h6{font-weight:700;margin-bottom:.3rem;font-size:.9rem}
.contact-quick-card a{display:block;color:var(--maroon);font-weight:600;font-size:.87rem}
.contact-quick-card a:hover{text-decoration:underline}

@media(max-width:480px){
  .enquiry-modal-body{padding:1.4rem}
  .enquiry-modal-head{padding:1.8rem 1.4rem 1.5rem}
  .contact-form-card{padding:1.3rem}
}

/* ============================================================
   DNA Test detail page â€” premium redesign
   ============================================================ */
.test-hero-media{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 16px 40px rgba(20,10,12,.08)}
.test-hero-media img{width:100%;height:auto;object-fit:cover;display:block}
.test-hero-badges{position:absolute;top:1rem;left:1rem}

.test-quickfacts{display:flex;flex-wrap:wrap;gap:1rem;margin:1.5rem 0 2rem}
.test-quickfact{display:flex;align-items:center;gap:.7rem;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.8rem 1.1rem;flex:1;min-width:150px}
.test-quickfact i{font-size:1.3rem;color:var(--maroon)}
.test-quickfact span{display:block;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.test-quickfact strong{display:block;font-size:.94rem;color:var(--ink)}

.test-process-step{text-align:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.4rem 1rem;height:100%;position:relative;transition:.2s}
.test-process-step:hover{border-color:var(--maroon);transform:translateY(-3px)}
.test-process-num{display:block;font-weight:800;color:var(--line);font-size:1.5rem;margin-bottom:.3rem}
.test-process-step i{font-size:1.5rem;color:var(--maroon);margin-bottom:.6rem;display:block}
.test-process-step p{margin:0;font-weight:600;font-size:.85rem}

.test-booking-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.7rem;box-shadow:0 16px 40px rgba(20,10,12,.07)}
.test-booking-price{font-size:1.9rem;font-weight:800;color:var(--maroon);letter-spacing:-0.02em;margin-bottom:1rem}
.test-booking-list{list-style:none;padding:0;margin:0}
.test-booking-list li{display:flex;align-items:center;gap:.6rem;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.test-booking-list li:last-child{border-bottom:none}
.test-booking-list li i{color:var(--maroon);font-size:1rem}
.test-booking-list li strong{margin-left:auto;color:var(--ink);font-weight:700}

.test-sample-block{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.test-sample-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;margin-bottom:.6rem}
.test-sample-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.test-sample-chip{display:flex;align-items:center;gap:.4rem;background:var(--paper-soft);border:1px solid var(--line);border-radius:50px;padding:.4rem .8rem .4rem .5rem;font-size:.78rem;font-weight:600;color:var(--ink)}
.test-sample-icon{width:26px;height:26px;border-radius:50%;background:#fff;color:var(--maroon);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.test-sample-icon svg{width:15px;height:15px}

.related-test-item{display:flex;align-items:center;gap:.8rem;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.6rem;transition:.2s}
.related-test-item:hover{border-color:var(--maroon);box-shadow:0 6px 16px rgba(20,10,12,.06)}
.related-test-item img{width:52px;height:52px;border-radius:8px;object-fit:cover;flex-shrink:0}
.related-test-item strong{display:block;font-size:.85rem;color:var(--ink)}
.related-test-item span{font-size:.74rem;color:var(--muted)}

@media(max-width:480px){
  .test-hero-media img{height:auto}
  .test-quickfact{min-width:100%}
}