/* Mantraminds International — styled as a sibling of mantraminds.com (Option B).
   Same fonts (Plus Jakarta Sans), shapes, logo and orange accent as the main site; the primary colour is shifted
   ~20° from the main site's indigo (#24389C) to ocean blue (#24649C) so the international (non-clinical) service is
   recognisably related but distinct. Variable names (--teal etc.) are kept so older rules still work: --teal = primary. */
:root {
  --bg: #F8F9FF;            /* page background (main site: #FAF8FF) */
  --surface: #FFFFFF;
  --mist: #EBF4FF;          /* tinted panels (main site: #EBEDFF) */
  --footer-bg: #E4F1FE;     /* footer (main site: #E4E7FE) */
  --line: #DCE4F0;
  --ink: #171B2B;           /* headings (same as main site) */
  --muted: #454652;         /* body text (same as main site) */
  --teal: #24649C;          /* PRIMARY: buttons, links (main site: #24389C) */
  --teal-2: #1C5084;        /* primary hover */
  --grad: linear-gradient(135deg, #1C5084, #24649C 50%, #3570A8);
  --sage: #FD8A44;          /* ACCENT orange (same as main site): stripes, bullets, focus ring */
  --accent-ink: #B4520E;    /* orange for text (meets contrast) */
  --peach: #FFDBCA;
  --on-teal: #FFFFFF;
  --alert-bg: #FFF1EA;
  --alert-line: #F3C3A6;
  --alert-ink: #7A3418;
  --ph-bg: #FFF4C9;
  --ph-ink: #5C4A00;
  --font-display: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --radius: 24px;           /* cards (main site: 24px) */
  --radius-btn: 16px;       /* buttons (main site: 16px) */
  --shadow: 0 1px 2px rgba(23, 27, 43, .04), 0 8px 24px rgba(23, 27, 43, .05);
  --wrap: 1180px;
  --text: 66ch;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0D1524; --surface: #141F33; --mist: #1A2A44; --footer-bg: #111B2D; --line: #283954;
    --ink: #E8EDF7; --muted: #AEB7C8; --teal: #8BBEFF; --teal-2: #A9CFFF; --sage: #FD9A5E; --accent-ink: #FDB283; --peach: #4A2C1C;
    --on-teal: #0D1524; --alert-bg: #33201A; --alert-line: #6E4434; --alert-ink: #F7CDB8; --ph-bg: #4A3F12; --ph-ink: #FBE9A6;
    --grad: linear-gradient(135deg, #1C5084, #24649C 55%, #3F7CB5); --shadow: none;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #0D1524; --surface: #141F33; --mist: #1A2A44; --footer-bg: #111B2D; --line: #283954;
  --ink: #E8EDF7; --muted: #AEB7C8; --teal: #8BBEFF; --teal-2: #A9CFFF; --sage: #FD9A5E; --accent-ink: #FDB283; --peach: #4A2C1C;
  --on-teal: #0D1524; --alert-bg: #33201A; --alert-line: #6E4434; --alert-ink: #F7CDB8; --ph-bg: #4A3F12; --ph-ink: #FBE9A6;
  --grad: linear-gradient(135deg, #1C5084, #24649C 55%, #3F7CB5); --shadow: none;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-bottom: 96px; scroll-padding-top: 80px; }
[hidden] { display: none !important; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font-body); font-size: 17px; line-height: 1.6; }
img { max-width: 100%; }
a { color: var(--teal); text-underline-offset: 3px; }
a:hover { color: var(--teal-2); }
:focus-visible { outline: 3px solid var(--sage); outline-offset: 2px; border-radius: 4px; }
h1, h2, h3 { font-family: var(--font-display); font-weight: 500; line-height: 1.15; text-wrap: balance; margin: 0; letter-spacing: -0.01em; }
h1 { font-size: clamp(2.1rem, 4.6vw, 3.4rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); }
h3 { font-size: 1.3rem; }
p { margin: 0; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding-inline: 20px; }
.eyebrow { font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--teal); font-weight: 600; }
.ph { background: var(--ph-bg); color: var(--ph-ink); border-radius: 4px; padding: 0 4px; font-size: 0.92em; overflow-wrap: anywhere; }
.skip { position: absolute; left: -999px; }
.skip:focus { left: 16px; top: 16px; background: var(--surface); padding: 8px 12px; z-index: 50; }

/* Header */
.site-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
.site-header .wrap { display: flex; align-items: center; gap: 16px; padding-block: 12px; flex-wrap: wrap; }
.brand { font-family: var(--font-display); font-size: 1.45rem; color: var(--ink); text-decoration: none; display: flex; align-items: baseline; gap: 8px; }
.brand small { font-family: var(--font-body); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.nav { margin-left: auto; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.nav select { font: inherit; font-size: 0.92rem; padding: 6px 10px; border-radius: 999px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font: inherit; font-weight: 600; font-size: 1rem; padding: 12px 22px; border-radius: 999px; border: 1.5px solid var(--teal); background: var(--teal); color: var(--on-teal); text-decoration: none; cursor: pointer; transition: background .15s, transform .15s; }
.btn:hover { background: var(--teal-2); border-color: var(--teal-2); color: var(--on-teal); }
.btn.ghost { background: transparent; color: var(--teal); }
.btn.ghost:hover { background: var(--mist); color: var(--teal); }
.btn.small { padding: 8px 16px; font-size: 0.92rem; }
.btn[disabled] { opacity: .45; cursor: not-allowed; }
.cta-row { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

/* Hero */
.hero { padding-block: 56px 48px; }
.hero .wrap { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 48px; align-items: end; }
.hero h1 { max-width: 18ch; }
.hero .lede { font-size: 1.18rem; color: var(--muted); max-width: 52ch; margin-top: 18px; }
.hero .cta-row { margin-top: 28px; }
.chips { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 22px; padding: 0; list-style: none; }
.chips li { font-size: 0.85rem; padding: 4px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: var(--surface); }
.clock { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; display: grid; gap: 14px; }
.clock-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.clock-row span:first-child { font-size: 0.85rem; color: var(--muted); }
.clock-time { font-family: var(--font-display); font-size: 2rem; font-variant-numeric: tabular-nums; }
.clock-bridge { height: 1px; background: repeating-linear-gradient(90deg, var(--sage) 0 6px, transparent 6px 12px); }
.clock p { font-size: 0.88rem; color: var(--muted); }

/* Sections */
section.block { padding-block: 56px; border-top: 1px solid var(--line); }
section.block.tint { background: var(--mist); }
.block-head { display: grid; gap: 10px; margin-bottom: 28px; max-width: var(--text); }
.prose { max-width: var(--text); display: grid; gap: 16px; }
.prose p { color: var(--ink); }
.prose ul, .prose ol { margin: 0; padding-left: 1.2em; display: grid; gap: 6px; }
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 48px; align-items: start; }

.grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }

.grid.wide { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; display: grid; gap: 8px; align-content: start; min-width: 0; }
.card h3 { font-size: 1.2rem; }
.card p { color: var(--muted); font-size: 0.96rem; }

.features { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; }
.features li { display: grid; grid-template-columns: 14px minmax(0, 1fr); gap: 14px; padding-block: 14px; border-bottom: 1px solid var(--line); }
.features li::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--sage); margin-top: 9px; }
.features strong { color: var(--ink); }

.steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; counter-reset: s; }
.steps li { counter-increment: s; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; min-width: 0; }
.steps li::before { content: counter(s); display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--teal); color: var(--on-teal); font-weight: 700; margin-bottom: 12px; }
.steps p { color: var(--muted); font-size: 0.96rem; }

.counsellor { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px; align-items: start; }
.avatar { width: 64px; height: 64px; border-radius: 50%; background: var(--mist); border: 1px dashed var(--sage); display: grid; place-items: center; color: var(--muted); font-size: 0.7rem; text-align: center; }
.counsellor .role { font-size: 0.85rem; color: var(--teal); font-weight: 600; }
.counsellor .cred { font-size: 0.9rem; color: var(--muted); }
.counsellor .team { font-size: 0.8rem; color: var(--muted); font-style: italic; }

.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
table { border-collapse: collapse; width: 100%; font-variant-numeric: tabular-nums; }
th, td { text-align: left; padding: 12px 16px; border-bottom: 1px solid var(--line); vertical-align: top; font-size: 0.96rem; }
tr:last-child td { border-bottom: 0; }
td:first-child { font-weight: 600; width: 34%; }
th { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); }

.notlist { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.notlist li { padding-left: 28px; position: relative; }
.notlist li::before { content: "×"; position: absolute; left: 4px; top: -1px; color: var(--alert-ink); font-weight: 700; font-size: 1.1rem; }

.urgent { background: var(--alert-bg); border: 1px solid var(--alert-line); border-radius: var(--radius); padding: 24px; display: grid; gap: 12px; color: var(--alert-ink); }
.urgent h2, .urgent h3 { color: var(--alert-ink); font-size: 1.4rem; }
.urgent ul { margin: 0; padding-left: 1.2em; display: grid; gap: 4px; }
.urgent a { color: var(--alert-ink); }

.faq { display: grid; gap: 0; max-width: 800px; }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { cursor: pointer; padding: 18px 0; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.faq summary::after { content: "+"; color: var(--teal); font-size: 1.3rem; line-height: 1; }
.faq details[open] summary::after { content: "−"; }
.faq summary::-webkit-details-marker { display: none; }
.faq .answer { padding-bottom: 18px; color: var(--muted); max-width: var(--text); }

.closing { padding-block: 72px; text-align: left; }
.closing .wrap { display: grid; gap: 16px; }
.closing p { color: var(--muted); font-size: 1.12rem; max-width: 52ch; }
.closing .fine { font-size: 0.9rem; }

.country-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.country { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; display: grid; gap: 10px; text-decoration: none; color: var(--ink); transition: border-color .15s, transform .15s; }
.country:hover { border-color: var(--teal); transform: translateY(-2px); color: var(--ink); }
.country .code { font-size: 0.78rem; letter-spacing: 0.12em; color: var(--muted); }
.country strong { font-family: var(--font-display); font-size: 1.5rem; font-weight: 500; }
.country span.go { color: var(--teal); font-weight: 600; font-size: 0.92rem; }
.country .tz { font-size: 0.85rem; color: var(--muted); font-variant-numeric: tabular-nums; }

/* Doc pages (legal, local support) */
.doc { padding-block: 48px 64px; }
.doc .wrap { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 48px; }
.doc aside { position: sticky; top: 90px; align-self: start; font-size: 0.9rem; display: grid; gap: 6px; }
.doc aside a { color: var(--muted); text-decoration: none; }
.doc aside a:hover { color: var(--teal); }
.doc article { max-width: 760px; min-width: 0; display: grid; gap: 14px; }
.doc article h1 { margin-bottom: 8px; }
.doc article h2 { margin-top: 28px; font-size: 1.5rem; }
.doc article h3 { margin-top: 12px; font-size: 1.15rem; font-family: var(--font-body); font-weight: 700; }
.doc article ul, .doc article ol { margin: 0; padding-left: 1.3em; display: grid; gap: 6px; }
.doc article table { margin: 4px 0; }
.doc article .table-wrap { margin: 4px 0; }
.doc article blockquote { margin: 0; padding: 14px 18px; border-left: 3px solid var(--sage); background: var(--mist); border-radius: 0 8px 8px 0; }
.doc article hr { border: 0; border-top: 1px solid var(--line); margin: 16px 0; width: 100%; }
.draft-banner { background: var(--ph-bg); color: var(--ph-ink); font-size: 0.88rem; padding: 10px 14px; border-radius: 8px; }

/* Footer */
.site-footer { border-top: 1px solid var(--line); padding-block: 40px; background: var(--surface); font-size: 0.92rem; color: var(--muted); }
.site-footer .wrap { display: grid; gap: 24px; grid-template-columns: minmax(0, 1.3fr) repeat(4, minmax(0, 1fr)); }
.site-footer .foot-countries { gap: 10px; }
.site-footer .foot-region { display: block; color: var(--ink); font-size: 0.8rem; }
.site-footer .foot-social { margin-top: 10px; }
@media (max-width: 1100px) and (min-width: 861px) { .site-footer .wrap { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.site-footer h4 { margin: 0 0 8px; font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink); }
.site-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.site-footer a { color: var(--muted); }
.site-footer .disclaimer { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: 18px; font-size: 0.85rem; }

/* Intake */
.intake { padding-block: 40px 72px; }
.intake .wrap { max-width: 760px; }
.progress { height: 6px; background: var(--mist); border-radius: 999px; overflow: hidden; margin: 18px 0 28px; }
.progress div { height: 100%; background: var(--teal); width: 0; transition: width .3s; }
.step { display: grid; gap: 18px; }
.step h2 { font-size: 1.7rem; }
.step .hint { color: var(--muted); }
.q { display: grid; gap: 10px; border: 0; padding: 0; margin: 0; min-width: 0; }
.q legend, .q > label.qlabel { font-weight: 600; margin-bottom: 4px; padding: 0; }
.opts { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.opt { position: relative; }
.opt input { position: absolute; opacity: 0; inset: 0; }
.opt span { display: block; padding: 11px 14px; border: 1.5px solid var(--line); border-radius: 10px; background: var(--surface); cursor: pointer; font-size: 0.96rem; }
.opt input:checked + span { border-color: var(--teal); background: var(--mist); font-weight: 600; }
.opt input:focus-visible + span { outline: 3px solid var(--sage); outline-offset: 2px; }
.scale { display: grid; gap: 4px; padding-block: 10px; border-bottom: 1px solid var(--line); }
.scale .opts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.scale .opt span { font-size: 0.82rem; text-align: center; padding: 8px 6px; }
input[type=text], input[type=email], input[type=tel], textarea, select.field { font: inherit; width: 100%; padding: 11px 14px; border: 1.5px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); }
textarea { min-height: 90px; resize: vertical; }
.check { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 0.96rem; }
.check input { width: 20px; height: 20px; margin-top: 3px; accent-color: var(--teal); }
.err { color: var(--alert-ink); font-size: 0.92rem; }
.nav-row { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 8px; }
.outcome { display: grid; gap: 16px; }
.slots { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
.slot { font: inherit; padding: 10px; border: 1.5px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); cursor: pointer; font-variant-numeric: tabular-nums; }
.slot[aria-pressed="true"] { border-color: var(--teal); background: var(--mist); font-weight: 600; }
.slot small { display: block; color: var(--muted); font-size: 0.78rem; }
.summary { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; display: grid; gap: 8px; }
.summary div { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.demo-note { font-size: 0.85rem; color: var(--muted); border: 1px dashed var(--line); border-radius: 8px; padding: 10px 12px; }

@media (max-width: 860px) {
  .hero .wrap, .split, .doc .wrap, .site-footer .wrap { grid-template-columns: minmax(0, 1fr); }
  .doc aside { position: static; }
  .hero { padding-block: 36px 32px; }
  section.block { padding-block: 44px; }
}
@media (max-width: 480px) {
  body { font-size: 16px; padding-bottom: 72px; }
  .scale .opts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav .hide-sm { display: none; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* Cookie banner */
.cookie-banner { position: fixed; left: 16px; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 50; max-width: 720px; margin: 0 auto; background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,.12); padding: 16px 18px; display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.cookie-banner p { margin: 0; flex: 1 1 280px; font-size: .92rem; color: var(--muted); }
.cookie-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.linklike { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; }
.site-footer .linklike { color: var(--muted); }

/* Location suggestion bar */
.geo-bar { background: var(--mist); border-bottom: 1px solid var(--line); }
.geo-bar .wrap { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 10px; padding-bottom: 10px; }
.geo-bar p { margin: 0; font-size: .95rem; color: var(--ink); }
.geo-bar a { font-weight: 600; }
.geo-close { background: none; border: 0; font-size: 1rem; color: var(--muted); cursor: pointer; padding: 6px; flex: none; }
.avatar.photo { object-fit: cover; border: 0; background: none; }

/* Breadcrumbs, at-a-glance facts, quick answers (SEO/AEO) */
.crumbs { font-size: .88rem; color: var(--muted); border-bottom: 1px solid var(--line); background: var(--surface); }
.crumbs .wrap { padding-top: 10px; padding-bottom: 10px; }
.crumbs a { color: var(--muted); }
.crumbs span[aria-current] { color: var(--ink); }
.lead-answer { font-size: 1.05rem; color: var(--ink); }
.facts { margin: 0; }
.facts > div { display: grid; grid-template-columns: 9.5rem 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.facts > div:last-child { border-bottom: 0; }
.facts dt { font-weight: 600; color: var(--ink); }
.facts dd { margin: 0; }
@media (max-width: 480px) { .facts > div { grid-template-columns: 1fr; gap: 2px; } }
.quick-answer { background: var(--mist); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 18px; margin: 14px 0 18px; }


/* ===== Mantraminds brand layer (matches mantraminds.com shapes and type) ===== */
body { font-size: 16px; line-height: 1.65; color: var(--muted); }
h1, h2, h3 { color: var(--ink); font-weight: 800; letter-spacing: -0.025em; line-height: 1.15; }
h1 { font-size: clamp(2.1rem, 4.4vw, 3.3rem); }
h2 { font-size: clamp(1.6rem, 2.8vw, 2.25rem); }
h3 { font-size: 1.1rem; font-weight: 700; letter-spacing: 0; }
.prose p, .doc article { color: var(--muted); }
.doc article h1, .doc article h2 { color: var(--ink); }
.doc article h3 { color: var(--teal); }
strong { color: var(--ink); }
.urgent strong { color: inherit; }
/* Header and logo */
.site-header { background: color-mix(in srgb, var(--bg) 90%, transparent); }
.brand { align-items: center; gap: 10px; }
.brand img { display: block; height: 34px; width: auto; }
.brand small { font-weight: 700; font-size: .7rem; letter-spacing: .14em; color: var(--accent-ink); border-left: 1px solid var(--line); padding-left: 10px; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .brand img { filter: brightness(0) invert(1); } }
:root[data-theme="dark"] .brand img { filter: brightness(0) invert(1); }
@media (max-width: 480px) { .brand img { height: 28px; } .brand small { display: none; } }
/* Buttons */
.btn { border-radius: var(--radius-btn); font-weight: 600; padding: 14px 28px; box-shadow: 0 6px 16px color-mix(in srgb, var(--teal) 22%, transparent); }
.btn.small { border-radius: 999px; padding: 9px 18px; font-size: .88rem; box-shadow: none; }
.btn.ghost { box-shadow: none; border-color: color-mix(in srgb, var(--teal) 35%, transparent); }
/* Pill label (main site: "Daily Check-in") */
.eyebrow { display: inline-block; justify-self: start; width: fit-content; background: color-mix(in srgb, var(--teal) 8%, transparent); color: var(--teal); border-radius: 999px; padding: 6px 14px; font-size: .72rem; font-weight: 700; letter-spacing: .1em; }
.chips li { border-color: transparent; background: var(--surface); box-shadow: var(--shadow); color: var(--ink); font-weight: 500; }
/* Hero */
.hero { background: radial-gradient(1200px 400px at 85% 0%, color-mix(in srgb, var(--teal) 9%, transparent), transparent 70%); }
.hero .lede { font-size: 1.12rem; line-height: 1.6; }
.clock { border: 0; box-shadow: var(--shadow); }
.clock-time { font-family: var(--font-body); font-weight: 800; letter-spacing: -0.02em; color: var(--teal); }
/* Sections */
section.block { border-top: 0; }
section.block.tint { background: var(--mist); }
/* Cards: rounded 24px, soft shadow, coloured stripe on the left (indigo/orange on the main site) */
.card, .steps li, .country, .table-wrap, .summary { border: 1px solid color-mix(in srgb, var(--line) 70%, transparent); box-shadow: var(--shadow); }
.grid .card { border-left: 4px solid var(--teal); }
.grid .card:nth-child(even) { border-left-color: var(--sage); }
.grid .card:nth-child(even) h3 { color: var(--accent-ink); }
.card h3 { color: var(--teal); font-size: 1.1rem; }
.counsellor { border-left-width: 1px !important; }
.counsellor h3 { color: var(--ink) !important; }
.avatar { border: 0; background: var(--mist); color: var(--teal); font-weight: 700; font-size: .95rem; }
.steps li::before { background: var(--grad); }
.features li::before { background: var(--sage); }
.country strong { font-family: var(--font-body); font-weight: 800; font-size: 1.25rem; letter-spacing: -0.01em; }
.country .code { color: var(--accent-ink); font-weight: 700; }
.country:hover { border-color: var(--teal); box-shadow: 0 10px 28px rgba(23, 27, 43, .09); }
th { color: var(--teal); }
td:first-child { color: var(--ink); }
.faq details { background: var(--surface); border: 1px solid color-mix(in srgb, var(--line) 70%, transparent); border-radius: 16px; padding: 0 18px; margin-bottom: 10px; }
.faq summary { color: var(--ink); }
.faq summary::after { color: var(--sage); font-weight: 700; }
.urgent { border-radius: var(--radius); }
.quick-answer { border-left: 4px solid var(--sage); }
/* Closing band (main site uses solid indigo bands and gradients) */
.closing { background: var(--grad); color: #fff; }
.closing h2, .closing p, .closing .fine { color: #fff; }
.closing .fine { opacity: .85; }
.closing .btn { background: #fff; color: #1C5084; border-color: #fff; box-shadow: none; }
.closing .btn:hover { background: #F0F6FF; color: #1C5084; }
/* Footer */
.site-footer { background: var(--footer-bg); border-top: 0; }
.site-footer h4 { color: var(--teal); }
.site-footer strong { font-family: var(--font-body) !important; font-weight: 800 !important; }
/* Forms */
.opt span, input[type=text], input[type=email], input[type=tel], textarea, select.field, .slot { border-radius: 14px; }
.progress div { background: var(--grad); }
.footer-logo { display: block; height: 30px; width: auto; margin-bottom: 4px; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .footer-logo { filter: brightness(0) invert(1); } }
:root[data-theme="dark"] .footer-logo { filter: brightness(0) invert(1); }
.hero + .doc { padding-top: 8px; }

/* 20 Oct 2026: simple link back to the India site; header button never wraps */
.nav .india-link { font-size: 0.85rem; font-weight: 600; color: var(--muted); text-decoration: none; white-space: nowrap; }
.nav .india-link:hover { color: var(--teal); text-decoration: underline; }
.btn.small { white-space: nowrap; }
.agree-summary { background: var(--mist); border-radius: 14px; padding: 14px 18px; margin: 8px 0 12px; font-size: 0.95rem; }
.agree-summary p { margin: 0 0 6px; }
.agree-summary ul { margin: 0; padding-left: 18px; display: grid; gap: 4px; }

.card-cta { margin-top: 12px; font-weight: 600; }
.card-cta a:not(.btn) { color: var(--teal); }
