/* TrueView Diagnostics, build 2 (2 Nov 2026). Standard: knowledge/taste.md.
   Two typefaces with strict roles: Afacad (the live site's display face) for headings and prices only,
   Inter for everything else. Palette: ink, white, one cool off-white, one hairline grey,
   one logo blue used only for small marks, WhatsApp green only on WhatsApp controls.
   Both fonts are served from this site (no third-party requests; the privacy page promises that). */

@font-face { font-family: "Afacad"; src: url(/fonts/afacad-latin.woff2) format("woff2"); font-weight: 400 700; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Afacad"; src: url(/fonts/afacad-rupee.woff2) format("woff2"); font-weight: 400 700; font-display: swap; unicode-range: U+20B9; }
@font-face { font-family: "Inter"; src: url(/fonts/inter-latin.woff2) format("woff2"); font-weight: 100 900; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; src: url(/fonts/inter-rupee.woff2) format("woff2"); font-weight: 100 900; font-display: swap; unicode-range: U+20B9; }

:root {
  --ink: #0A2A55;        /* headings, body, solid buttons, footer */
  --ink-2: #3D4759;      /* secondary text on white and mist (8.9:1 on white) */
  --muted: #5E687A;      /* labels and notes (5.6:1 on white, 5.2:1 on mist) */
  --line: #D9E3EE;       /* hairlines */
  --mist: #F2F7FB;       /* the one off-white */
  --white: #FFFFFF;
  --blue: #04A6E1;       /* logo light blue: rules, dots, focus. Never body text. */
  --wa: #157F45;         /* WhatsApp controls only (white text 5.0:1) */
  --wa-hi: #116B3A;
  --display: "Afacad", "Avenir Next", "Segoe UI", sans-serif;
  --sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --wrap: 1240px;
  --gut: 20px;
  --sec: 88px;
}
@media (min-width: 900px) { :root { --gut: 48px; --sec: 128px; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 96px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { margin: 0; background: var(--white); color: var(--ink); font: 400 18px/1.6 var(--sans); font-feature-settings: "cv11", "ss01"; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration-color: var(--blue); text-decoration-thickness: 1px; text-underline-offset: 4px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
p { margin: 0 0 1em; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3 { font-family: var(--display); font-weight: 600; color: var(--ink); margin: 0; letter-spacing: -0.01em; text-wrap: balance; }
h1 { font-size: clamp(2.5rem, 1.6rem + 3.4vw, 4.25rem); line-height: 1.02; }
h2 { font-size: clamp(2.1rem, 1.5rem + 2.1vw, 3.25rem); line-height: 1.04; }
h3 { font-size: 1.6rem; line-height: 1.12; }
mark { background: #E2EEF7; color: var(--ink); padding: 1px 3px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.wrap { max-width: calc(var(--wrap) + var(--gut) * 2); margin: 0 auto; padding: 0 var(--gut); }
.skip { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--ink); color: #fff; padding: 12px 16px; }
.skip:focus { left: 8px; }

/* Small tracked labels carry the structure */
.label { display: inline-flex; align-items: center; gap: 12px; font: 600 12.5px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 0 0 20px; }
.label::before { content: ""; width: 28px; height: 1px; background: var(--blue); }
.label.c { justify-content: center; }
.lead { font-size: 1.125rem; color: var(--ink-2); max-width: 40em; }
.sec { padding: var(--sec) 0; }
.mist { background: var(--mist); }
.sec-head { max-width: 760px; margin-bottom: 56px; }
.sec-head.c { margin-left: auto; margin-right: auto; text-align: center; }
.sec-head h2 + .lead { margin-top: 20px; }

/* Buttons: barely rounded, solid or outline */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 14px 26px; border-radius: 3px;
  font: 600 16px/1.2 var(--sans); letter-spacing: .01em; text-decoration: none; border: 1px solid transparent; cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.btn svg { width: 20px; height: 20px; flex: none; }
.btn-wa { background: var(--wa); color: #fff; }
.btn-wa:hover { background: var(--wa-hi); }
.btn-ink { background: var(--ink); color: #fff; }
.btn-ink:hover { background: #22304F; }
.btn-line { background: transparent; color: var(--ink); border-color: var(--ink); }
.btn-line:hover { background: var(--ink); color: #fff; }
.btn-wa-line svg { color: var(--wa); }
.btn-wa-line:hover svg { color: #fff; }
.bar .btn-line svg { color: var(--ink); }
.btn-block { width: 100%; }
.tlink { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font: 600 15px/1.3 var(--sans); color: var(--ink); text-decoration: underline; text-decoration-color: var(--blue); text-underline-offset: 6px; }
.tlink::after { content: "\2192"; text-decoration: none; display: inline-block; transition: transform .15s; }
.tlink:hover::after { transform: translateX(3px); }

/* Announcement bar + header */
.ann { background: var(--ink); color: #E6EAF1; font: 500 12.5px/1.3 var(--sans); letter-spacing: .06em; }
.ann .wrap { display: flex; justify-content: space-between; align-items: center; min-height: 36px; gap: 16px; }
.ann a { color: #fff; text-decoration: none; }
.ann .ann-l { display: none; }
@media (min-width: 760px) { .ann .ann-l { display: block; } }
.top { position: sticky; top: 0; z-index: 40; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); }
.top .wrap { display: flex; align-items: center; gap: 16px; min-height: 68px; }
.brand { display: block; flex: none; }
.brand img { width: 128px; height: auto; }
.nav { margin: 0 auto; }
.nav ul { display: flex; gap: 30px; }
.nav a { display: inline-flex; align-items: center; min-height: 44px; font: 600 12.5px/1 var(--sans); letter-spacing: .13em; text-transform: uppercase; text-decoration: none; color: var(--ink); }
.nav a:hover { text-decoration: underline; text-decoration-color: var(--blue); text-underline-offset: 8px; }
.top-call { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font: 600 15px/1 var(--sans); color: var(--ink); text-decoration: none; white-space: nowrap; }
.top-call svg { width: 17px; height: 17px; color: var(--ink); }
.top-wa { min-height: 44px; padding: 10px 16px; font-size: 14.5px; }
.menu-btn { display: none; }
@media (min-width: 1100px) { .brand img { width: 150px; } .top .wrap { min-height: 80px; } }
@media (max-width: 1099px) {
  .nav { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--line); display: none; margin: 0; }
  .nav.open { display: block; }
  .nav ul { flex-direction: column; gap: 0; padding: 8px var(--gut) 20px; }
  .nav li + li { border-top: 1px solid var(--line); }
  .nav a { min-height: 54px; width: 100%; font-size: 14px; }
  .top-call { margin-left: auto; }
  .top-wa { display: none; }
  .menu-btn { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-right: -10px; background: none; border: 0; color: var(--ink); cursor: pointer; }
  .menu-btn svg { width: 26px; height: 26px; }
}

/* Hero: the photo full bleed, the words in its own white left side. No panel, no fade. */

/* Reviews */
.quote-lead { display: grid; gap: 40px; align-items: start; }
.quote-lead blockquote { margin: 0; }
.quote-lead .q { font: 500 clamp(1.7rem, 1.2rem + 1.6vw, 2.6rem)/1.18 var(--display); letter-spacing: -0.01em; color: var(--ink); margin: 0 0 24px; text-wrap: pretty; }
.quote-lead .q::before { content: "\201C"; color: var(--blue); }
.quote-lead .q::after { content: "\201D"; color: var(--blue); }
.cite { font-size: 15px; color: var(--muted); }
.cite b { color: var(--ink); font-weight: 600; }
.shot { margin: 0; }
.shot img { border: 1px solid var(--line); width: 100%; max-width: 320px; }
.shot figcaption { font-size: 14.5px; color: var(--muted); margin-top: 12px; max-width: 320px; }
.quotes { display: grid; gap: 0; margin-top: 64px; border-top: 1px solid var(--ink); }
.quotes article { padding: 28px 0; border-bottom: 1px solid var(--line); }
.quotes h3 { font-size: 1.35rem; margin-bottom: 10px; }
.quotes p { color: var(--ink-2); font-size: 16.5px; margin-bottom: 12px; }
@media (min-width: 900px) {
  .quote-lead { grid-template-columns: minmax(0, 1fr) 320px; gap: 120px; }
  .quotes { grid-template-columns: repeat(4, 1fr); }
  .quotes article { padding: 32px 32px 8px 0; border-bottom: 0; }
  .quotes article + article { padding-left: 32px; border-left: 1px solid var(--line); }
}

/* Prices: single tests + package table */
.tests { border-top: 1px solid var(--ink); margin-bottom: 20px; }
.tests li { display: grid; grid-template-columns: 1fr auto; gap: 4px 24px; align-items: baseline; padding: 20px 0; border-bottom: 1px solid var(--line); }
.tests .n { font: 600 1.45rem/1.2 var(--display); }
.tests .d { grid-column: 1; font-size: 15.5px; color: var(--muted); }
.tests .p { grid-row: 1 / span 2; grid-column: 2; font: 600 1.9rem/1 var(--display); align-self: center; }
.slip { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding: 4px 0 0; font-size: 16px; color: var(--ink-2); }
.slip p { margin: 0; max-width: 36em; }
.price-grid { display: grid; gap: 48px; }
@media (min-width: 900px) { .price-grid { grid-template-columns: 340px 1fr; gap: 96px; } .price-grid .sticky { position: sticky; top: 120px; align-self: start; } }

.pk-head { display: none; }
.pkgs { border-top: 1px solid var(--ink); }
.pkg { display: grid; gap: 14px; padding: 32px 0; border-bottom: 1px solid var(--line); }
.pkg h3 { font-size: 1.9rem; }
.pkg h3 a { text-decoration: none; }
.pkg h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.pkg .who { margin: 6px 0 0; color: var(--ink-2); font-size: 16.5px; }
.pkg .list { margin: 10px 0 0; font-size: 14.5px; line-height: 1.6; color: var(--muted); }
.pkg .facts { display: flex; flex-wrap: wrap; gap: 6px 22px; font-size: 15px; color: var(--ink-2); }
.pkg .facts b { font: 600 1.2rem/1 var(--display); color: var(--ink); margin-right: 4px; }
.pkg .price { font: 600 2.4rem/1 var(--display); letter-spacing: -0.01em; }
.pkg .bonus { font-size: 14.5px; color: var(--ink-2); margin: 14px 0 0; display: flex; gap: 10px; }
.pkg .bonus::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); flex: none; margin-top: .55em; }
.pkg .act { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 22px; }
.pkg .act .btn { padding: 12px 20px; min-height: 50px; font-size: 15px; }
@media (min-width: 900px) {
  .pk-head { display: grid; grid-template-columns: minmax(0, 1fr) 90px 100px 120px; gap: 28px; padding: 0 0 14px; font: 600 12px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
  .pk-head span:nth-child(n+2) { text-align: right; }
  .pkg { grid-template-columns: minmax(0, 1fr) 90px 100px 120px; gap: 10px 28px; align-items: baseline; padding: 36px 0; }
  .pkg .main { grid-column: 1; grid-row: 1 / span 2; }
  .pkg .facts { display: contents; }
  .pkg .facts span { text-align: right; font-size: 15px; }
  .pkg .facts span:nth-child(1) { grid-column: 2; grid-row: 1; }
  .pkg .facts span:nth-child(2) { grid-column: 3; grid-row: 1; }
  .pkg .facts .lbl { display: none; }
  .pkg .price { grid-column: 4; grid-row: 1; text-align: right; }
  .pkg .act { grid-column: 2 / span 3; grid-row: 2; justify-content: flex-end; flex-direction: column; align-items: flex-end; gap: 4px; margin-top: 14px; }
}
.facts .lbl { color: var(--muted); }

/* Full-bleed photo bands */
.band { position: relative; min-height: 300px; overflow: hidden; background: #DCE7EF; display: flex; align-items: flex-end; }
.band picture, .band picture img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.band picture img { object-position: 68% 50%; }
.band .wrap { position: relative; width: 100%; padding-top: 48px; padding-bottom: 48px; }
.band-line { max-width: 15em; margin: 0; font: 600 clamp(1.9rem, 1.3rem + 2vw, 3rem)/1.06 var(--display); color: #fff; letter-spacing: -0.01em; text-shadow: 0 1px 24px rgba(16,26,48,.35); }
.band.scrim::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(16,26,48,.55), rgba(16,26,48,0) 70%); }
.band.scrim .wrap { z-index: 1; }
@media (min-width: 900px) { .band { min-height: 460px; } }

/* Offer: the one dark band in the page body */
.offer { background: var(--ink); color: #E6EAF1; }
.offer h2 { color: #fff; max-width: 17em; }
.offer .label { color: #B9C3D3; }
.offer p { color: #D3DAE5; max-width: 38em; }
.offer-grid { display: grid; gap: 36px; }
.offer-grid .dl { font: 600 1.05rem/1.4 var(--sans); color: #fff; }
.offer-grid .dl { color: #D3DAE5; font-weight: 400; }
.offer-grid .dl b { display: block; font: 600 2.6rem/1.05 var(--display); color: #fff; letter-spacing: -0.01em; margin-bottom: 12px; }
.offer .btn-wa { margin-top: 12px; }
@media (min-width: 900px) { .offer-grid { grid-template-columns: 1fr 300px; gap: 96px; align-items: end; } .offer-grid .dl { border-left: 1px solid #34405A; padding-left: 40px; } }

/* Steps */
.steps { display: grid; gap: 0; counter-reset: s; border-top: 1px solid var(--ink); }
.steps li { padding: 28px 0; border-bottom: 1px solid var(--line); counter-increment: s; display: grid; grid-template-columns: 56px 1fr; column-gap: 8px; }
.steps li::before { content: "0" counter(s); grid-row: 1 / span 2; font: 600 1.6rem/1.1 var(--display); color: var(--blue); }
.steps h3 { font-size: 1.45rem; margin-bottom: 8px; }
.steps p { margin: 0; color: var(--ink-2); font-size: 16.5px; }
@media (min-width: 900px) {
  .steps { grid-template-columns: repeat(4, 1fr); }
  .steps li { display: block; padding: 32px 32px 8px 0; border-bottom: 0; }
  .steps li + li { padding-left: 32px; border-left: 1px solid var(--line); }
  .steps li::before { display: block; font-size: 2.6rem; margin-bottom: 28px; }
}

/* Two-column text blocks with a hairline between */
.pair { display: grid; gap: 64px; }
.pair > div { max-width: 34em; }
.pair p { color: var(--ink-2); }
.pair h2 { font-size: clamp(1.9rem, 1.4rem + 1.5vw, 2.6rem); margin-bottom: 22px; }
.pair h3 { margin-bottom: 14px; }
.pair .btn { margin-top: 10px; }
@media (min-width: 900px) { .pair { grid-template-columns: 1fr 1fr; gap: 0; } .pair > div + div { padding-left: 72px; border-left: 1px solid var(--line); } .pair > div:first-child { padding-right: 72px; } }

/* Lab: the second full-bleed photo, words in its white left side like the hero */
.lab { position: relative; background: #F6F7F8; overflow: hidden; }
.lab picture img { width: 100%; height: 100%; object-fit: cover; }
.lab .txt { padding: 36px 0 var(--sec); max-width: 520px; position: relative; }
.lab .txt h2 { margin-bottom: 22px; }
.lab .txt p:last-child { color: var(--ink-2); margin: 0; }
@media (max-width: 1099px) { .lab picture { display: block; aspect-ratio: 1060 / 592; } }
@media (min-width: 1100px) {
  .lab { min-height: clamp(520px, 40vw, 640px); display: flex; align-items: center; }
  .lab > .wrap { width: 100%; }
  .lab picture { position: absolute; inset: 0; }
  .lab picture img { object-position: 62% 50%; }
  .lab .txt { padding: 80px 0; }
}
.lab-info .wrap { display: grid; gap: 36px; padding-top: 56px; padding-bottom: 56px; }
.lab-info h3 { font-size: 1.35rem; margin-bottom: 10px; }
.lab-info p { color: var(--ink-2); font-size: 16.5px; }
.hours { display: grid; grid-template-columns: auto 1fr; gap: 10px 28px; margin: 0; align-content: start; font-size: 16.5px; }
.hours dt { font-weight: 600; }
.hours dd { margin: 0; color: var(--ink-2); }
@media (min-width: 900px) { .lab-info .wrap { grid-template-columns: 1fr 1fr 1fr; gap: 0; } .lab-info .wrap > * + * { padding-left: 48px; margin-left: 48px; border-left: 1px solid var(--line); } }

/* FAQ: every answer visible */
.faq-grid { display: grid; gap: 40px; }
.faq { border-top: 1px solid var(--ink); }
.faq div { padding: 26px 0; border-bottom: 1px solid var(--line); }
.faq h3 { font-size: 1.4rem; margin-bottom: 8px; }
.faq p { margin: 0; color: var(--ink-2); }
@media (min-width: 900px) { .faq-grid { grid-template-columns: 340px 1fr; gap: 96px; } .faq-grid .sticky { position: sticky; top: 120px; align-self: start; } .faq { display: grid; grid-template-columns: 1fr 1fr; column-gap: 56px; } }

/* Booking */
.book { display: grid; gap: 56px; }
.field { margin-bottom: 22px; }
.field label { display: block; font-weight: 600; font-size: 16px; margin-bottom: 8px; }
.opt { font-weight: 400; color: var(--muted); }
input[type=text], input[type=tel], select { width: 100%; min-height: 56px; padding: 12px 16px; font: 400 18px/1.3 var(--sans); color: var(--ink); background: #fff; border: 1px solid #AEB8C6; border-radius: 3px; }
input:focus, select:focus { border-color: var(--ink); outline: 3px solid var(--blue); outline-offset: 1px; }
select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101A30' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 20px; padding-right: 44px; }
[aria-invalid=true] { border-color: #B42318 !important; }
.err { display: block; min-height: 1.5em; font-size: 15px; color: #B42318; margin-top: 6px; }
.check { display: flex; align-items: center; gap: 14px; min-height: 48px; font-size: 16px; margin: 0 0 22px; cursor: pointer; }
.check input { width: 26px; height: 26px; accent-color: var(--ink); flex: none; }
.form-note { font-size: 14.5px; color: var(--muted); margin: 16px 0 0; }
.done { display: none; margin: 14px 0 0; padding: 14px 16px; background: #EAF4EE; border-left: 3px solid var(--wa); font-size: 16px; }
.done.show { display: block; }
.direct h3 { margin-bottom: 18px; }
.direct .btn { width: 100%; margin-bottom: 12px; }
.direct p { color: var(--ink-2); font-size: 16.5px; }
@media (min-width: 900px) { .book { grid-template-columns: 1.15fr 1fr; gap: 0; } .book > form { padding-right: 80px; } .book .direct { padding-left: 80px; border-left: 1px solid var(--line); } }

/* Footer: the dark statement */
footer { background: var(--ink); color: #C9D1DD; padding: 96px 0 calc(28px + 76px); font-size: 16px; }
@media (min-width: 900px) { footer { padding-bottom: 32px; } }
footer h2 { font: 600 12.5px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: #fff; margin: 0 0 16px; }
footer a { color: #fff; }
footer p { margin: 0 0 10px; }
footer .cols { display: grid; gap: 40px; }
@media (min-width: 900px) { footer .cols { grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 48px; } }
.addr { font-style: normal; }
.wordmark { margin: 80px 0 0; font: 600 clamp(4.2rem, 1rem + 15vw, 15rem)/.82 var(--display); letter-spacing: -0.03em; color: #fff; white-space: nowrap; }
.wordmark span { color: var(--blue); }
.legal { display: flex; flex-wrap: wrap; gap: 4px 28px; margin-top: 36px; padding-top: 18px; border-top: 1px solid #2B3752; font-size: 14.5px; }
.legal a { display: inline-flex; align-items: center; min-height: 44px; color: #C9D1DD; }
.legal span { display: inline-flex; align-items: center; min-height: 44px; margin-right: auto; }
footer .fl a { display: inline-flex; align-items: center; min-height: 44px; }

/* Sticky phone bar */
.bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--line); transition: transform .2s; }
.bar .btn { min-height: 52px; padding: 12px 18px; }
.bar.hide { transform: translateY(110%); }
@media (min-width: 900px) { .bar { display: none; } }

/* Inner pages */
.crumbs { padding-top: 22px; font-size: 14.5px; color: var(--muted); }
.crumbs a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink-2); }
.p-hero { padding: 24px 0 var(--sec); }
.p-grid { display: grid; gap: 56px; }
.p-hero h1 { font-size: clamp(2.4rem, 1.6rem + 2.8vw, 3.9rem); max-width: 12em; }
.p-hero .sub { font-size: 1.15rem; color: var(--ink-2); margin: 22px 0 30px; max-width: 32em; }
.receipt { background: var(--mist); padding: 36px 32px; }
.receipt .top-line { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding-bottom: 20px; border-bottom: 1px solid var(--ink); }
.receipt .top-line b { font: 600 3rem/1 var(--display); }
.receipt .top-line span { font-size: 15px; color: var(--ink-2); }
.receipt ol { counter-reset: t; }
.receipt li { padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 16.5px; display: flex; gap: 14px; }
.receipt li::before { counter-increment: t; content: counter(t, decimal-leading-zero); font: 600 14px/1.9 var(--sans); color: var(--muted); min-width: 22px; }
.receipt .bonus { margin: 20px 0 0; font-size: 15px; color: var(--ink-2); }
.receipt .meta { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: 18px; font-size: 15px; color: var(--ink-2); }
@media (min-width: 900px) { .p-grid { grid-template-columns: 1fr 460px; gap: 96px; align-items: start; } .receipt { padding: 44px 40px; } }
.others li { border-bottom: 1px solid var(--line); }
.others a { display: flex; justify-content: space-between; gap: 16px; min-height: 60px; align-items: center; text-decoration: none; font-size: 17px; }
.others a b { font: 600 1.4rem/1 var(--display); }
.others a:hover span { text-decoration: underline; text-decoration-color: var(--blue); }
.others { border-top: 1px solid var(--ink); }
.legal-page { max-width: 760px; padding-top: 32px; padding-bottom: var(--sec); }
.legal-page h1 { font-size: clamp(2.4rem, 1.8rem + 2vw, 3.6rem); margin-bottom: 28px; }
.legal-page h2 { font-size: 1.7rem; margin: 44px 0 12px; }
.legal-page p, .legal-page li { color: var(--ink-2); }
.legal-page ul { list-style: disc; padding-left: 22px; margin-bottom: 1em; }
.legal-page li { margin-bottom: 8px; }
@media (max-width: 1099px) { .lab .txt { padding-bottom: 56px; } }
@media (max-width: 899px) { .pkg .act .btn { width: 100%; } }
.label { display: flex; width: fit-content; }
.brand { display: flex; align-items: center; min-height: 44px; }
.pkg h3 a { display: inline-flex; align-items: center; min-height: 44px; }
.check input { font-size: 16px; }
@media (max-width: 899px) {
  /* Older readers: nothing under 16px on a phone except the small tracked labels */
  .proof, .reassure, .ledger-foot, .cite, .shot figcaption, .tests .d, .pkg .list, .pkg .bonus, .form-note,
  .receipt .meta, .receipt .bonus, .legal, .crumbs, .slip { font-size: 16px; }
}

/* Build 3 hero: brand tint field, words left, a framed photo with the report and a review layered over it */
.hero { position: relative; overflow: hidden; background:
  radial-gradient(60% 70% at 85% 30%, #D6EEFA 0%, rgba(214,238,250,0) 70%),
  linear-gradient(180deg, #F3F9FD 0%, #FFFFFF 100%); }
.hero::before { content: ""; position: absolute; width: 520px; height: 520px; right: -140px; top: -160px; border-radius: 50%;
  border: 1px solid rgba(4,166,225,.22); box-shadow: 0 0 0 70px rgba(4,166,225,.04), 0 0 0 140px rgba(4,166,225,.03); pointer-events: none; }
.hero-grid { position: relative; display: grid; gap: 36px; padding-top: 28px; padding-bottom: 8px; }
.proof { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin: 0 0 18px; font: 500 15px/1.4 var(--sans); color: var(--ink-2); }
.proof .g { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(10,42,85,.18);
  font: 700 13px/1 var(--sans); color: #4285F4; }
.proof a { color: var(--ink-2); }
.stars { color: #F2A100; letter-spacing: .1em; font-size: 15px; }
.hero h1 { font-size: clamp(2.3rem, 1.5rem + 3.2vw, 4.1rem); line-height: 1.04; letter-spacing: -0.02em; max-width: 12em; }
.hero .sub { font-size: 1.15rem; line-height: 1.55; color: var(--ink-2); max-width: 31em; margin: 20px 0 28px; }
.hero .sub b { color: var(--ink); }
.ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.hero .btn { border-radius: 10px; min-height: 56px; }
.hero .btn-wa { box-shadow: 0 10px 24px -10px rgba(21,127,69,.6); }
.hero .btn-line { background: #fff; border-color: #C5D3E3; }
.hero .btn-line:hover { background: var(--ink); border-color: var(--ink); }
.reassure { margin: 16px 0 0; font-size: 15px; line-height: 1.5; color: var(--muted); max-width: 32em; }

.hero-visual { position: relative; padding: 0 0 92px; }
.hv-frame { position: relative; border-radius: 22px; overflow: hidden; aspect-ratio: 780 / 700; box-shadow: 0 30px 60px -30px rgba(10,42,85,.45); }
.hv-frame::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(10,42,85,.06); }
.hv-photo img, .hv-photo { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.hv-review { position: absolute; margin: 0; background: #fff; border-radius: 16px; padding: 14px 16px 14px; box-shadow: 0 18px 40px -18px rgba(10,42,85,.45);
  right: 12px; top: 12px; width: min(250px, 62%); }
.hv-stars { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font: 600 11.5px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.hv-stars .stars { font-size: 13px; }
.hv-review blockquote { margin: 0; font: 500 14.5px/1.45 var(--sans); color: var(--ink); }
.hv-review figcaption { margin-top: 8px; font-size: 13px; color: var(--muted); }
.hv-report { position: absolute; left: 12px; bottom: 0; width: min(300px, 82%); background: #EFEAE2; border-radius: 18px; padding: 0 0 12px;
  box-shadow: 0 24px 50px -20px rgba(10,42,85,.55); overflow: hidden; }
.hv-chat-top { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: #0B5C4C; color: #fff; }
.hv-chat-top img { width: 28px; height: 28px; border-radius: 50%; background: #fff; }
.hv-chat-top span { display: flex; flex-direction: column; font-size: 14px; line-height: 1.2; }
.hv-chat-top small { font-size: 12px; opacity: .85; }
.hv-bubble { position: relative; margin: 12px 28px 0 12px; background: #fff; border-radius: 4px 12px 12px 12px; padding: 8px 8px 22px; box-shadow: 0 1px 1px rgba(0,0,0,.08); }
.hv-file { display: flex; align-items: center; gap: 10px; background: #F2F4F5; border-radius: 8px; padding: 8px 10px; color: #C0392B; }
.hv-file svg { width: 26px; height: 26px; flex: none; }
.hv-file span { display: flex; flex-direction: column; font-size: 13px; line-height: 1.25; color: var(--ink); }
.hv-file small { color: var(--muted); font-size: 12px; }
.hv-bubble p { margin: 8px 4px 0; font-size: 14px; line-height: 1.4; color: #1F2A37; }
.hv-time { position: absolute; right: 8px; bottom: 5px; display: inline-flex; align-items: center; gap: 3px; font-size: 11.5px; color: #667781; }
.hv-time i { display: inline-flex; color: #34B7F1; }
.hv-time svg { width: 13px; height: 13px; margin-left: -7px; }
.hv-note { margin: 8px 14px 0; font-size: 12px; line-height: 1.35; color: #5B6470; }

.hero-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line);
  border: 1px solid var(--line); border-radius: 16px; overflow: hidden; box-shadow: 0 16px 40px -28px rgba(10,42,85,.4); margin-top: 28px; margin-bottom: 8px; }
.hero-facts li { background: #fff; padding: 16px 16px 18px; }
.hero-facts b { display: block; font: 600 1.75rem/1.05 var(--display); color: var(--ink); letter-spacing: -0.01em; }
.hero-facts span { display: block; margin-top: 4px; font-size: 14.5px; line-height: 1.4; color: var(--ink-2); }
@media (max-width: 899px) {
  .hero .ctas .btn { width: 100%; }
  .hero-visual { margin: 0 -4px; }
  .hv-review { top: auto; bottom: 108px; right: 10px; width: 62%; }
  .hv-review blockquote { font-size: 13.5px; }
  .hv-report { left: 10px; width: 78%; }
}
@media (max-width: 899px) {
  .hero .btn-line { display: none; }
  .hero .sub { margin: 16px 0 22px; }
  .hero-visual { padding-bottom: 0; display: grid; }
  .hv-frame { aspect-ratio: 780 / 860; }
  .hv-report { position: relative; left: auto; bottom: auto; width: auto; margin: -64px 14px 0 34px; order: 1; z-index: 2; }
  .hv-frame { order: 0; }
  .hv-review { position: relative; right: auto; bottom: auto; top: auto; width: auto; margin: 16px 0 0; order: 2; box-shadow: 0 10px 30px -18px rgba(10,42,85,.45); border: 1px solid var(--line); }
}
@media (min-width: 900px) {
  .hero-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: center; gap: 56px; padding-top: 56px; }
  .hero-visual { padding: 0 0 70px 0; }
  .hv-frame { aspect-ratio: 1 / 1; margin-left: 40px; }
  .hv-review { right: -20px; top: auto; bottom: 150px; width: 260px; }
  .hv-report { left: 0; width: 310px; }
  .hero-facts { grid-template-columns: repeat(4, 1fr); margin-top: 36px; margin-bottom: 0; }
  .hero-facts li { padding: 22px 24px; }
  .hero-facts b { font-size: 2.1rem; }
}

/* ===== Build 3 sections: one card system, same depth as the hero ===== */
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tint { background: linear-gradient(180deg, #F2F8FC 0%, #EAF4FB 100%); }
.sec-head h2 { font-size: clamp(2rem, 1.4rem + 2.2vw, 3rem); line-height: 1.08; letter-spacing: -0.015em; max-width: 18em; }
.sec-head .lead { margin-top: 14px; }
.sec-head { margin-bottom: 36px; }
.label { color: #0A6FA6; }
.label-on-dark { color: #9FDCF5; }
.label-on-dark::before { background: #9FDCF5; }
:root { --card-sh: 0 1px 2px rgba(10,42,85,.06), 0 18px 40px -26px rgba(10,42,85,.35); }
.rcard, .tcard, .pcard, .dcard, .sgrid li { background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--card-sh); }

/* reviews */
.rgrid { display: grid; gap: 16px; }
.rcard { padding: 22px 22px 24px; }
.rc-who { display: flex; align-items: center; gap: 12px; }
.av { flex: none; display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: #fff; font: 600 19px/1 var(--sans); }
.rc-who > span:nth-child(2) { display: flex; flex-direction: column; line-height: 1.25; flex: 1; min-width: 0; }
.rc-who b { font-size: 16px; text-transform: capitalize; }
.rc-who small { font-size: 13.5px; color: var(--muted); }
.gmark { flex: none; display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--line); font: 700 13px/1 var(--sans); color: #4285F4; }
.rc-stars { margin: 14px 0 6px; }
.rcard h3 { font-size: 1.3rem; line-height: 1.2; margin-bottom: 6px; }
.rcard p:last-child { margin: 0; color: var(--ink-2); font-size: 16px; line-height: 1.55; }
.r-more { margin: 22px 0 0; }

/* single tests */
.tgrid { display: grid; gap: 16px; }
.tcard { padding: 22px 22px 22px; }
.tcard h3 { font-size: 1.35rem; }
.tcard .tc-p { margin: 6px 0 4px; font: 600 2.6rem/1 var(--display); color: var(--ink); letter-spacing: -0.02em; }
.tcard p { margin: 0; color: var(--ink-2); font-size: 16px; }
.tc-f { margin-top: 12px !important; padding-top: 12px; border-top: 1px solid var(--line); font-size: 14.5px !important; color: var(--muted) !important; }
.tslip { background: var(--ink); border-color: var(--ink); color: #fff; display: flex; flex-direction: column; gap: 10px; }
.tslip h3 { color: #fff; }
.tslip p { color: #D6E2F0; }
.tslip .btn { margin-top: auto; align-self: flex-start; }

/* packages */
.pgrid { display: grid; gap: 18px; }
.pcard { position: relative; padding: 24px 22px 22px; display: flex; flex-direction: column; overflow: hidden; }
.pcard::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--ink), var(--blue)); }
.pc-top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.pc-top h3 { font-size: 1.55rem; line-height: 1.15; }
.pc-top h3 a { text-decoration: none; }
.pc-price { margin: 0; font: 600 2.1rem/1 var(--display); color: var(--ink); white-space: nowrap; }
.pc-who { margin: 8px 0 14px; color: var(--ink-2); font-size: 16px; line-height: 1.5; }
.pc-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.pc-chips span { background: #EAF4FB; color: var(--ink); border-radius: 999px; padding: 6px 12px; font-size: 14px; }
.pc-list { list-style: none; margin: 0 0 14px; padding: 14px 0 0; border-top: 1px solid var(--line); display: grid; gap: 6px 18px; }
.pc-list li { position: relative; padding-left: 20px; font-size: 15px; line-height: 1.45; color: var(--ink-2); }
.pc-list li::before { content: ""; position: absolute; left: 2px; top: .5em; width: 9px; height: 5px; border-left: 2px solid #0A8F6A; border-bottom: 2px solid #0A8F6A; transform: rotate(-45deg); }
.pc-bonus { margin: 0 0 18px; padding: 10px 12px; background: #FFF6E0; border-radius: 10px; font-size: 14.5px; line-height: 1.45; color: #5A4300; }
.pc-act { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; }
.pc-act .btn { width: 100%; border-radius: 10px; }

/* offer */
.offer2 { padding: 8px 0 var(--sec); }
.o-card { position: relative; overflow: hidden; display: grid; gap: 22px; padding: 32px 24px; border-radius: 24px; color: #fff;
  background: radial-gradient(80% 120% at 100% 0%, #0E6FB0 0%, rgba(14,111,176,0) 60%), linear-gradient(135deg, #0A2A55 0%, #07203F 100%);
  box-shadow: 0 30px 60px -30px rgba(10,42,85,.6); }
.o-card h2 { color: #fff; font-size: clamp(1.9rem, 1.3rem + 2vw, 2.8rem); line-height: 1.1; max-width: 16em; }
.o-card p { color: #D6E2F0; max-width: 36em; }
.o-card .btn { border-radius: 10px; margin-top: 6px; }
.o-date { align-self: center; justify-self: start; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 172px; height: 172px; border-radius: 50%; padding: 18px;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.25); text-align: center; }
.o-date span { font-size: 12.5px; line-height: 1; letter-spacing: .1em; text-transform: uppercase; color: #9FDCF5; }
.o-date b { font: 600 3.4rem/0.9 var(--display); color: #fff; }

/* steps */
.sgrid { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; counter-reset: none; }
.sgrid li { padding: 22px; }
.sgrid .n { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, var(--ink), #0E6FB0); color: #fff; font: 600 18px/1 var(--display); margin-bottom: 14px; }
.sgrid h3 { font-size: 1.3rem; margin-bottom: 6px; }
.sgrid p { margin: 0; color: var(--ink-2); font-size: 16px; }

/* duo cards */
.duo { display: grid; gap: 18px; }
.dcard { padding: 28px 24px; display: flex; flex-direction: column; }
.dcard h2 { font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.3rem); line-height: 1.12; margin-bottom: 12px; }
.dcard h3 { font-size: 1.45rem; margin-bottom: 10px; }
.dcard p { color: var(--ink-2); font-size: 16.5px; }
.dcard .btn { margin-top: auto; align-self: flex-start; border-radius: 10px; }

/* lab, real photos */
.labx { display: grid; gap: 36px; }
.lx-photos { position: relative; padding: 0 0 70px; }
.lx-photos figure { margin: 0; border-radius: 20px; overflow: hidden; box-shadow: 0 30px 60px -30px rgba(10,42,85,.5); }
.lx-photos img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lx-a { width: 72%; aspect-ratio: 1000 / 1133; }
.lx-b { position: absolute; right: 0; bottom: 0; width: 50%; aspect-ratio: 1000 / 1083; border: 6px solid #fff; }
.lx-txt h2 { font-size: clamp(2rem, 1.4rem + 2vw, 2.9rem); line-height: 1.08; margin-bottom: 14px; }
.lx-txt > p { color: var(--ink-2); }
.lx-info { display: grid; gap: 18px; margin: 22px 0 14px; padding: 20px; background: var(--mist); border-radius: 16px; border: 1px solid var(--line); }
.lx-info h3 { font-size: 1.2rem; margin-bottom: 4px; }
.lx-info p { margin: 0 0 4px; font-size: 16px; color: var(--ink-2); }
.lx-info .hours { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; font-size: 16px; }
.lx-info dt { color: var(--muted); }
.lx-info dd { margin: 0; font-weight: 600; }
.lx-note { font-size: 15px; color: var(--muted); }

@media (min-width: 700px) {
  .rgrid { grid-template-columns: 1fr 1fr; }
  .tgrid { grid-template-columns: 1fr 1fr; }
  .sgrid { grid-template-columns: 1fr 1fr; }
  .pc-list { grid-template-columns: 1fr 1fr; }
  .pc-act .btn { width: auto; }
}
@media (min-width: 1000px) {
  .rgrid { grid-template-columns: repeat(4, 1fr); }
  .tgrid { grid-template-columns: repeat(4, 1fr); }
  .pgrid { grid-template-columns: 1fr 1fr; }
  .sgrid { grid-template-columns: repeat(4, 1fr); }
  .duo { grid-template-columns: 1fr 1fr; }
  .o-card { grid-template-columns: 1fr auto; padding: 56px 64px; align-items: center; }
  .o-date { width: 200px; height: 200px; justify-self: end; }
  .o-date b { font-size: 4.4rem; }
  .labx { grid-template-columns: 1fr 1fr; align-items: center; gap: 72px; }
  .lx-info { grid-template-columns: 1fr 1fr; }
  .dcard { padding: 36px 36px; }
}

/* Hero on phones: the review and the WhatsApp report sit over the photo, as on desktop */
@media (max-width: 899px) {
  .hero-visual { display: block; position: relative; padding-bottom: 150px; margin-top: 44px; }
  .hv-frame { aspect-ratio: 780 / 860; }
  .hv-review { position: absolute; order: 0; margin: 0; right: -6px; left: auto; top: -36px; bottom: auto; width: 52%; padding: 12px 13px; border: 0;
    box-shadow: 0 18px 40px -16px rgba(10,42,85,.55); }
  .hv-review blockquote { font-size: 12.5px; line-height: 1.38; }
  .hv-review figcaption { font-size: 12px; margin-top: 6px; }
  .hv-stars { font-size: 10.5px; }
  .hv-report { position: absolute; margin: 0; left: -6px; bottom: 0; width: 76%; }
  .hv-bubble p { font-size: 13px; }
  .hv-note { font-size: 11.5px; }
}
.o-card h2 { margin-bottom: 16px; }
@media (max-width: 899px) { .hv-stars, .hv-note, .hv-time { font-size: 12px; } }

/* ===== Build 3 multi-page parts ===== */
.lang { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: 999px;
  font: 600 14px/1 var(--sans); color: var(--ink); text-decoration: none; white-space: nowrap; background: #fff; }
.lang:hover { border-color: var(--ink); }
.nav a[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--blue); text-underline-offset: 8px; text-decoration-thickness: 2px; }
@media (max-width: 1099px) { .lang { min-height: 40px; padding: 0 10px; font-size: 13px; } .top-call span { display: none; } }
@media (min-width: 1100px) and (max-width: 1340px) { .top-call span { display: none; } .nav ul { gap: 22px; } }

.crumbs { margin: 0 0 18px; font-size: 14.5px; color: var(--muted); }
.crumbs a { color: var(--ink-2); }
.crumbs-top { margin: 24px 0 -40px; }
.phead { background: radial-gradient(60% 90% at 90% 0%, #D6EEFA 0%, rgba(214,238,250,0) 70%), linear-gradient(180deg, #F3F9FD 0%, #FFFFFF 100%);
  padding: 32px 0 56px; }
.phead h1 { font-size: clamp(2.2rem, 1.5rem + 2.8vw, 3.6rem); line-height: 1.06; letter-spacing: -0.02em; max-width: 15em; }
.phead .lead { margin: 18px 0 26px; max-width: 36em; }
.phead .btn { border-radius: 10px; min-height: 54px; }
.phead .btn-line { background: #fff; border-color: #C5D3E3; }
.phead .ctas .btn-wa { box-shadow: 0 10px 24px -10px rgba(21,127,69,.6); }
@media (max-width: 699px) { .phead .ctas .btn { width: 100%; } }

.pk-grid { display: grid; gap: 32px; }
.pk-inc { margin: 0; }
.pk-inc h2 { font-size: 1.5rem; }
.pc-list-1 { grid-template-columns: 1fr !important; }
@media (min-width: 1000px) { .pk-grid { grid-template-columns: 1.1fr 1fr; align-items: start; gap: 56px; } .phead { padding: 48px 0 80px; } }

.pgrid-s { grid-template-columns: 1fr; }
.pcard-s .pc-chips { margin-bottom: 18px; }
@media (min-width: 700px) { .pgrid-s { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .pgrid-s { grid-template-columns: repeat(3, 1fr); } }

.nlist { margin: 6px 0 16px; padding-left: 22px; color: var(--ink-2); font-size: 16.5px; }
.nlist li { margin-bottom: 8px; padding-left: 4px; }
.dlink { text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }
.dlink:hover { transform: translateY(-2px); box-shadow: 0 1px 2px rgba(10,42,85,.06), 0 26px 50px -26px rgba(10,42,85,.45); }
.dlink h3 { font-size: clamp(1.45rem, 1.2rem + 1vw, 1.9rem); line-height: 1.15; }
.dlink .tlink { margin-top: auto; }
@media (prefers-reduced-motion: reduce) { .dlink { transition: none; } .dlink:hover { transform: none; } }
.ph-grid { display: grid; gap: 32px; }
.ph-photo { border-radius: 22px; overflow: hidden; aspect-ratio: 5 / 4; box-shadow: 0 30px 60px -30px rgba(10,42,85,.45); }
.ph-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; display: block; }
.ph-card h2 { font-size: 1.5rem; margin-bottom: 14px; }
.ph-card .pc-bonus { margin: 6px 0 0; }
@media (min-width: 1000px) { .ph-grid { grid-template-columns: 1.15fr 1fr; align-items: center; gap: 56px; } .ph-photo { aspect-ratio: 1 / 1; } }
.phead + .sec, .phead + section { padding-top: 64px; }

/* Malayalam pages: the brand fonts have no Malayalam letters, so Malayalam uses the phone's own Malayalam font
   (Noto Sans Malayalam on Android, Malayalam Sangam on iPhone, Nirmala UI on Windows). Taller lines, no tracking. */
:lang(ml) { --ml: "Noto Sans Malayalam", "Malayalam Sangam MN", "Nirmala UI", "Kartika", sans-serif; }
html:lang(ml) body { font-family: var(--sans), var(--ml); line-height: 1.75; }
html:lang(ml) h1, html:lang(ml) h2, html:lang(ml) h3 { font-family: var(--display), var(--ml); line-height: 1.3; letter-spacing: 0; }
html:lang(ml) .hero h1 { font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3.1rem); }
html:lang(ml) .phead h1 { font-size: clamp(1.8rem, 1.3rem + 2vw, 2.9rem); }
html:lang(ml) .sec-head h2 { font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem); }
html:lang(ml) .label, html:lang(ml) .nav a, html:lang(ml) .hv-stars { letter-spacing: 0; text-transform: none; }
html:lang(ml) .nav a { font-size: 15px; }
html:lang(ml) .ann { letter-spacing: 0; }
.lang:lang(en) { font-family: var(--sans); }
html:lang(ml) .nav a { white-space: nowrap; }
html:lang(ml) .bar .btn { font-size: 15px; }
@media (min-width: 1100px) and (max-width: 1340px) { html:lang(ml) .nav ul { gap: 18px; } }
html:lang(ml) .btn { line-height: 1.35; }
html:lang(ml) .faq-grid h2, html:lang(ml) .faq-grid h1 { font-size: clamp(1.6rem, 1.2rem + 1vw, 2rem); overflow-wrap: anywhere; }

/* Home: the two doors to the family and office pages, on a dark band */
.paths { background: radial-gradient(70% 90% at 100% 0%, #0E6FB0 0%, rgba(14,111,176,0) 60%), linear-gradient(135deg, #0A2A55 0%, #07203F 100%); }
.paths .sec-head h2 { color: #fff; }
.paths .dcard { border: 0; box-shadow: 0 30px 60px -30px rgba(0,0,0,.55); position: relative; overflow: hidden; }
.paths .dcard::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: linear-gradient(90deg, #04A6E1, #0E6FB0); }
.d-ico { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: #EAF4FB; color: #0A6FA6; margin-bottom: 16px; }
.d-ico svg { width: 28px; height: 28px; }
.d-go { margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 20px; border-radius: 10px;
  background: var(--ink); color: #fff; font: 600 15.5px/1.2 var(--sans); }
.d-go svg { width: 18px; height: 18px; transition: transform .15s; }
.dlink:hover .d-go svg { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) { .d-go svg { transition: none; } }
