/* =========================================================
   EMREE UAE — light clinical theme
   Palette: navy #10253F · teal #159B98 · light blue #E8F3F8 · gold #D6AD60
            charcoal #243447 · soft grey #F4F7FA · white
   Type:    Manrope (headings) · Inter (body) · Noto Sans Arabic (fallback)
   ========================================================= */
@font-face { font-family: "Manrope"; font-weight: 600; font-style: normal; font-display: swap; src: url(../fonts/manrope-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Manrope"; font-weight: 700; font-style: normal; font-display: swap; src: url(../fonts/manrope-latin-700-normal.woff2) format("woff2"); }
@font-face { font-family: "Manrope"; font-weight: 800; font-style: normal; font-display: swap; src: url(../fonts/manrope-latin-800-normal.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 400; font-style: normal; font-display: swap; src: url(../fonts/inter-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 500; font-style: normal; font-display: swap; src: url(../fonts/inter-latin-500-normal.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 600; font-style: normal; font-display: swap; src: url(../fonts/inter-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 700; font-style: normal; font-display: swap; src: url(../fonts/inter-latin-700-normal.woff2) format("woff2"); }
@font-face { font-family: "Noto Sans Arabic"; font-weight: 400; font-display: swap; src: url(../fonts/noto-sans-arabic-arabic-400-normal.woff2) format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFF; }
@font-face { font-family: "Noto Sans Arabic"; font-weight: 700; font-display: swap; src: url(../fonts/noto-sans-arabic-arabic-700-normal.woff2) format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFF; }

:root {
	--c-navy: #10253F;
	--c-navy-2: #1A3557;
	--c-teal: #159B98;
	--c-teal-dark: #0E7C7A;
	--c-sky: #E8F3F8;
	--c-gold: #D6AD60;
	--c-gold-dark: #8A6A22;
	--c-ink: #243447;
	--c-mute: #5B6B80;
	--c-line: #DCE5EE;
	--c-soft: #F4F7FA;
	--f-head: "Manrope", "Noto Sans Arabic", system-ui, -apple-system, "Segoe UI", sans-serif;
	--f-body: "Inter", "Noto Sans Arabic", system-ui, -apple-system, "Segoe UI", sans-serif;
	--r: 14px;
	--r-lg: 22px;
	--sh: 0 1px 2px rgba(16, 37, 63, .05), 0 8px 24px rgba(16, 37, 63, .06);
	--sh-lg: 0 24px 60px rgba(16, 37, 63, .12);
	--wrap: 1200px;
	--header-h: 76px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); }
body { margin: 0; font: 400 1rem/1.65 var(--f-body); color: var(--c-ink); background: #fff; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img, svg { max-width: 100%; height: auto; }
a { color: var(--c-teal-dark); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--c-navy); }
:focus-visible { outline: 3px solid var(--c-gold); outline-offset: 2px; border-radius: 4px; }
h1, h2, h3, h4 { font-family: var(--f-head); color: var(--c-navy); line-height: 1.2; letter-spacing: -.015em; margin: 0 0 .6em; }
h1 { font-size: clamp(2rem, 1.3rem + 2.6vw, 3.25rem); font-weight: 800; letter-spacing: -.025em; }
h2 { font-size: clamp(1.5rem, 1.15rem + 1.3vw, 2.25rem); font-weight: 800; }
h3 { font-size: 1.2rem; font-weight: 700; }
p { margin: 0 0 1em; }
ul, ol { padding-left: 1.25rem; }
.sr-only, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip { position: absolute; left: 12px; top: -60px; z-index: 1000; background: var(--c-navy); color: #fff; padding: .7rem 1rem; border-radius: 8px; font-weight: 600; }
.skip:focus { top: 12px; color: #fff; }
main:focus { outline: none; }
.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 clamp(16px, 4vw, 32px); }
.narrow { max-width: 860px; }
.center { text-align: center; }
.small { font-size: .88rem; }
.muted { color: var(--c-mute); }
.section { padding: clamp(56px, 8vw, 104px) 0; }
.section-sm { padding: clamp(40px, 6vw, 72px) 0; }
.ic { flex: 0 0 auto; vertical-align: middle; }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 46px; padding: .7em 1.3em; border-radius: 12px; border: 1.5px solid transparent; font: 600 .97rem/1.2 var(--f-body); text-decoration: none; cursor: pointer; transition: background .18s, color .18s, border-color .18s, transform .18s, box-shadow .18s; white-space: nowrap; }
.btn:hover { transform: translateY(-1px); }
.btn:disabled, .btn[aria-busy="true"] { opacity: .6; cursor: progress; transform: none; }
.btn-primary { background: var(--c-teal-dark); color: #fff; box-shadow: 0 6px 18px rgba(14, 124, 122, .25); }
.btn-primary:hover { background: var(--c-navy); color: #fff; }
.btn-ghost { background: #fff; color: var(--c-navy); border-color: var(--c-line); }
.btn-ghost:hover { border-color: var(--c-navy); color: var(--c-navy); }
.btn-dark { background: var(--c-navy); color: #fff; }
.btn-dark:hover { background: var(--c-teal-dark); color: #fff; }
.btn-onDark { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .4); }
.btn-onDark:hover { background: #fff; color: var(--c-navy); }
.btn-lg { min-height: 54px; padding: .85em 1.6em; font-size: 1.02rem; border-radius: 14px; }
.btn-block { width: 100%; }
.link-arrow { display: inline-flex; align-items: center; gap: .4em; font-weight: 700; color: var(--c-teal-dark); text-decoration: none; }
.link-arrow .ic { transition: transform .18s; }
.link-arrow:hover .ic { transform: translateX(3px); }

/* Kickers */
.kicker, .eyebrow { font: 700 .78rem/1.3 var(--f-body); letter-spacing: .12em; text-transform: uppercase; color: var(--c-teal-dark); margin: 0 0 .9rem; }
.kicker a { color: inherit; text-decoration: none; }
.kicker-gold { color: var(--c-gold); }
.eyebrow { display: inline-flex; align-items: center; gap: .55rem; background: #fff; border: 1px solid var(--c-line); padding: .45rem .85rem; border-radius: 99px; letter-spacing: .06em; font-size: .74rem; color: var(--c-navy); }
.eyebrow .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c-teal); box-shadow: 0 0 0 4px rgba(21, 155, 152, .18); }

/* ---------------- Top bar & header ---------------- */
.topbar { background: var(--c-navy); color: #C9D6E4; font-size: .84rem; }
.topbar-in { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 40px; }
.topbar p { margin: 0; display: flex; align-items: center; gap: .5rem; }
.topbar .ic { color: var(--c-gold); }
.topbar a { color: #fff; font-weight: 600; }
.topbar-links { display: flex; gap: 1.2rem; list-style: none; margin: 0; padding: 0; }
.topbar-links a { color: #C9D6E4; font-weight: 500; text-decoration: none; }
.topbar-links a:hover { color: #fff; }

.site-head { position: sticky; top: 0; z-index: 100; background: rgba(255, 255, 255, .97); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid transparent; transition: border-color .2s, box-shadow .2s; }
.site-head.is-scrolled { border-bottom-color: var(--c-line); box-shadow: 0 6px 24px rgba(16, 37, 63, .06); }
.admin-bar .site-head { top: 32px; }
.head-in { display: flex; align-items: center; gap: 1.5rem; min-height: 76px; }
.brand { display: flex; flex: 0 0 auto; }
.brand .logo { width: 196px; height: auto; display: block; }
.nav { flex: 1; }
.nav-list { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; gap: .15rem; }
.nav-item { position: static; display: flex; align-items: center; }
.nav-link { display: block; white-space: nowrap; padding: .6rem .6rem; font: 600 .93rem/1 var(--f-body); color: var(--c-ink); text-decoration: none; border-radius: 8px; }
.nav-link:hover, .nav-item.is-open > .nav-link, .nav-item.is-current > .nav-link { color: var(--c-teal-dark); }
.nav-item.is-current > .nav-link { box-shadow: inset 0 -2px 0 var(--c-teal); border-radius: 0; }
.nav-tog { display: inline-grid; place-items: center; width: 26px; height: 32px; margin-left: -.45rem; border: 0; background: none; color: var(--c-mute); cursor: pointer; border-radius: 6px; }
.nav-tog .ic { transition: transform .2s; }
.nav-item.is-open .nav-tog .ic { transform: rotate(180deg); }
.mega { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid var(--c-line); box-shadow: var(--sh-lg); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s; }
.nav-item.is-open > .mega { opacity: 1; visibility: visible; transform: none; }
.mega-in { display: grid; grid-template-columns: 300px 1fr; gap: 2rem; padding-top: 1.75rem; padding-bottom: 2rem; }
.mega-intro { background: var(--c-sky); border-radius: var(--r); padding: 1.4rem; align-self: start; }
.mega-k { font: 800 1.15rem/1.2 var(--f-head); color: var(--c-navy); margin-bottom: .5rem; }
.mega-intro p { font-size: .92rem; color: var(--c-mute); }
.mega-all { display: inline-flex; align-items: center; gap: .35rem; font-weight: 700; text-decoration: none; font-size: .92rem; }
.mega-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem 1rem; align-content: start; }
.mega-list a { display: block; padding: .65rem .8rem; border-radius: 10px; text-decoration: none; }
.mega-list a:hover, .mega-list a[aria-current] { background: var(--c-soft); }
.mt { display: block; font-weight: 600; color: var(--c-navy); font-size: .95rem; }
.md { display: block; font-size: .82rem; color: var(--c-mute); margin-top: .1rem; }
.head-act { display: flex; align-items: center; gap: .8rem; flex: 0 0 auto; margin-left: auto; }
.head-login { display: inline-flex; align-items: center; gap: .4rem; font-weight: 600; color: var(--c-navy); text-decoration: none; padding: .5rem; }
.head-cta { min-height: 42px; padding: .55em 1.05em; }
.burger { display: none; width: 46px; height: 46px; border: 1px solid var(--c-line); border-radius: 12px; background: #fff; color: var(--c-navy); cursor: pointer; place-items: center; }
.burger .ic-close { display: none; }
.nav-mob-act { display: none; }

@media (max-width: 1440px) { .head-cta { display: none; } }
@media (max-width: 1320px) { .nav-link { padding: .6rem .45rem; font-size: .9rem; } .head-login span { display: none; } .brand .logo { width: 176px; } .head-in { gap: 1rem; } }
@media (max-width: 1080px) {
	.site-head { backdrop-filter: none; background: #fff; } /* backdrop-filter would make the fixed drawer relative to the header */
	.burger { display: grid; }
	.head-cta { display: none; }
	.nav { position: fixed; inset: calc(var(--header-h) + 0px) 0 0 0; background: #fff; overflow-y: auto; padding: 1rem clamp(16px, 4vw, 32px) 2rem; transform: translateX(100%); transition: transform .25s ease; visibility: hidden; border-top: 1px solid var(--c-line); }
	.nav-open .nav { transform: none; visibility: visible; }
	.nav-open body, html.nav-open { overflow: hidden; }
	.nav-open .burger .ic-menu { display: none; }
	.nav-open .burger .ic-close { display: block; }
	.nav-list { flex-direction: column; gap: 0; }
	.nav-item { flex-wrap: wrap; border-bottom: 1px solid var(--c-line); }
	.nav-link { flex: 1; padding: 1rem .2rem; font-size: 1.05rem; }
	.nav-item.is-current > .nav-link { box-shadow: none; }
	.nav-tog { width: 48px; height: 48px; margin: 0; }
	.mega { position: static; flex-basis: 100%; box-shadow: none; border: 0; opacity: 1; visibility: visible; transform: none; display: none; }
	.nav-item.is-open > .mega { display: block; }
	.mega-in { grid-template-columns: 1fr; padding: 0 0 1rem; gap: .5rem; }
	.mega-intro { display: none; }
	.mega-list { grid-template-columns: 1fr; }
	.nav-mob-act { display: grid; gap: .7rem; margin-top: 1.5rem; }
	.topbar-links { display: none; }
}
@media (max-width: 600px) {
	.brand .logo { width: 160px; }
	.topbar p span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
	.topbar p a { display: none; }
	.head-in { min-height: 66px; gap: .6rem; }
	.admin-bar .site-head { top: 0; }
}

/* ---------------- Homepage ---------------- */
.h-hero { position: relative; overflow: hidden; background: radial-gradient(1200px 500px at 85% -10%, rgba(21, 155, 152, .14), transparent 60%), linear-gradient(180deg, var(--c-sky) 0%, #fff 100%); }
.h-hero::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(16, 37, 63, .09) 1px, transparent 1px); background-size: 22px 22px; mask-image: linear-gradient(180deg, #000 0%, transparent 85%); -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 85%); pointer-events: none; }
.h-hero-in { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; padding-top: clamp(48px, 7vw, 96px); padding-bottom: clamp(56px, 7vw, 104px); }
.h-hero h1 { margin: 1.1rem 0 1.1rem; }
.h-hero h1 em { font-style: normal; color: var(--c-teal-dark); background: linear-gradient(transparent 70%, rgba(214, 173, 96, .35) 0); }
.lead { font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); color: var(--c-mute); max-width: 38em; }
.h-hero-act { display: flex; flex-wrap: wrap; gap: .8rem; margin: 1.8rem 0 1.4rem; align-items: center; }
.h-hero-act .ex-msg { flex-basis: 100%; margin: 0; order: 9; }
.h-hero-act .ex-msg:empty { display: none; }
.h-ticks { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; font-size: .92rem; color: var(--c-ink); }
.h-ticks li { display: flex; align-items: center; gap: .4rem; }
.h-ticks .ic, .ticks .ic { color: var(--c-teal-dark); }
.h-hero-card { position: relative; }
.h-card-k { display: inline-flex; align-items: center; gap: .4rem; margin: 0 0 .8rem; font-weight: 700; font-size: .85rem; color: var(--c-navy); }
.h-hero-card .sq { max-height: 640px; overflow: auto; }
.h-hero-card::after { content: ""; position: absolute; z-index: -1; right: -28px; bottom: -28px; width: 70%; height: 70%; border-radius: 30px; background: linear-gradient(135deg, var(--c-teal), var(--c-navy)); opacity: .12; }

.h-facts { background: var(--c-navy); color: #fff; padding: 1.6rem 0 1.2rem; }
.facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }
.facts li { display: flex; flex-direction: column; padding-left: 1rem; border-left: 2px solid rgba(214, 173, 96, .6); }
.facts strong { font: 800 1.6rem/1.15 var(--f-head); }
.facts span { color: #B7C7D9; font-size: .88rem; }
.facts-src { margin: 1rem 0 0; font-size: .8rem; color: #9FB3C8; display: flex; align-items: center; gap: .4rem; }
.facts-src a { color: #fff; }

.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.essentials { background: var(--c-soft); border: 1px solid var(--c-line); border-radius: var(--r-lg); padding: clamp(1.3rem, 3vw, 2rem); }
.ess-h { font: 800 .8rem/1 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--c-mute); margin: 0 0 1rem; }
.essentials dl { margin: 0; display: grid; gap: 0; }
.essentials dl div { display: grid; grid-template-columns: 120px 1fr; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid var(--c-line); }
.essentials dt { color: var(--c-mute); font-size: .9rem; }
.essentials dd { margin: 0; font-weight: 600; color: var(--c-navy); }
.ess-links { list-style: none; padding: 0; margin: 1.2rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.ess-links a { display: inline-block; padding: .45rem .8rem; border-radius: 99px; background: #fff; border: 1px solid var(--c-line); font-size: .88rem; font-weight: 600; text-decoration: none; color: var(--c-navy); }
.ess-links a:hover { border-color: var(--c-teal); }

.sec-head { max-width: 720px; margin-bottom: clamp(1.8rem, 4vw, 3rem); }
.sec-head p:last-child { color: var(--c-mute); }
.sec-head-row { max-width: none; display: flex; justify-content: space-between; align-items: end; gap: 1rem; flex-wrap: wrap; }
.sec-head-row h2 { margin-bottom: 0; }
.h-blue { background: var(--c-soft); }
.bp { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 2rem; }
.bp-bars { list-style: none; margin: 0; padding: 1.2rem; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg); display: grid; gap: .25rem; }
.bp-bars a { display: grid; grid-template-columns: minmax(130px, 220px) 1fr 52px 64px; gap: 1rem; align-items: center; padding: .7rem .6rem; border-radius: 10px; text-decoration: none; color: var(--c-ink); }
.bp-bars a:hover { background: var(--c-soft); }
.bp-name { font-weight: 600; color: var(--c-navy); }
.bp-track { height: 12px; background: var(--c-sky); border-radius: 99px; overflow: hidden; }
.bp-track i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, var(--c-teal), var(--c-teal-dark)); }
.bp-pct { font: 800 1.05rem var(--f-head); color: var(--c-navy); text-align: right; }
.bp-n { font-size: .82rem; color: var(--c-mute); text-align: right; }
.bp-side { background: var(--c-navy); color: #fff; border-radius: var(--r-lg); padding: 1.6rem; }
.bp-side .ess-h { color: #9FB3C8; }
.diff { display: flex; border-radius: 10px; overflow: hidden; margin-bottom: 1.6rem; font-size: .8rem; font-weight: 700; }
.diff span { padding: .65rem .5rem; text-align: center; white-space: nowrap; }
.d-e { background: #3FB8B4; color: var(--c-navy); } .d-m { background: var(--c-teal-dark); color: #fff; } .d-d { background: var(--c-gold); color: var(--c-navy); }
.bp-comp { list-style: none; padding: 0; margin: 0 0 1.4rem; display: grid; gap: .6rem; font-size: .92rem; color: #D5E1EC; }
.bp-comp b { display: inline-block; min-width: 64px; color: var(--c-gold); }
.bp-side .link-arrow { color: #fff; }

.modes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.modes li:not(.modes-cta) a { display: flex; flex-direction: column; gap: .35rem; height: 100%; padding: 1.4rem; border: 1px solid var(--c-line); border-radius: var(--r-lg); text-decoration: none; background: #fff; transition: border-color .18s, box-shadow .18s, transform .18s; }
.modes li:not(.modes-cta) a:hover { border-color: var(--c-teal); box-shadow: var(--sh); transform: translateY(-2px); }
.m-ic { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 12px; background: var(--c-sky); color: var(--c-teal-dark); margin-bottom: .5rem; }
.m-t { font: 700 1.08rem var(--f-head); color: var(--c-navy); }
.m-d { font-size: .9rem; color: var(--c-mute); }
.modes-cta { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: .6rem; padding: 1.4rem; border-radius: var(--r-lg); background: var(--c-sky); }
.modes-cta p { margin: 0; font: 700 1.05rem var(--f-head); color: var(--c-navy); }

.h-steps { background: var(--c-soft); }
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; counter-reset: s; position: relative; }
.steps li { position: relative; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg); padding: 1.6rem 1.4rem; }
.st-n { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--c-navy); color: #fff; font: 800 1rem var(--f-head); margin-bottom: 1rem; box-shadow: 0 0 0 6px var(--c-sky); }
.steps p { color: var(--c-mute); font-size: .94rem; margin: 0; }

.h-diag { background: linear-gradient(120deg, var(--c-navy) 0%, var(--c-navy-2) 60%, #134a63 100%); color: #fff; position: relative; overflow: hidden; }
.h-diag::after { content: ""; position: absolute; right: -80px; top: -80px; width: 320px; height: 320px; border-radius: 50%; border: 40px solid rgba(21, 155, 152, .18); }
.h-diag-in { position: relative; display: grid; grid-template-columns: 1.4fr 1fr; gap: 2rem; align-items: center; padding-top: clamp(48px, 6vw, 80px); padding-bottom: clamp(48px, 6vw, 80px); }
.h-diag h2 { color: #fff; }
.h-diag p { color: #C9D6E4; }
.h-diag-act { display: flex; flex-direction: column; align-items: flex-start; gap: .6rem; }
.h-diag-act .small { color: #9FB3C8; margin: 0; }
.h-diag .ex-msg, .h-final .ex-msg { color: #FFD9D3; }

.ticks { list-style: none; padding: 0; margin: 1.2rem 0 0; display: grid; gap: .6rem; }
.ticks li { display: flex; gap: .5rem; align-items: flex-start; }
.split-rev > :first-child { order: 2; }
.dash-mock { margin: 0; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg); box-shadow: var(--sh-lg); overflow: hidden; }
.dm-head { display: flex; align-items: center; gap: .4rem; padding: .7rem 1rem; background: var(--c-soft); border-bottom: 1px solid var(--c-line); }
.dm-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--c-line); }
.dm-url { margin-left: .6rem; font-size: .8rem; color: var(--c-mute); font-weight: 600; }
.dm-body { padding: 1.3rem; display: grid; gap: .7rem; }
.dm-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin-bottom: .5rem; }
.dm-kpis div { background: var(--c-sky); border-radius: 12px; padding: .8rem; }
.dm-kpis b { display: block; font: 800 1.4rem var(--f-head); color: var(--c-navy); }
.dm-kpis span { font-size: .78rem; color: var(--c-mute); }
.dm-row { display: grid; grid-template-columns: 130px 1fr 44px; gap: .7rem; align-items: center; font-size: .85rem; }
.dm-row i { height: 8px; border-radius: 99px; background: var(--c-soft); overflow: hidden; }
.dm-row i b { display: block; height: 100%; background: var(--c-teal); border-radius: 99px; }
.dm-row i b.low { background: var(--c-gold); }
.dm-row em { font-style: normal; font-weight: 700; color: var(--c-navy); text-align: right; }
.dash-mock figcaption { font-size: .75rem; color: var(--c-mute); padding: .6rem 1.3rem; border-top: 1px solid var(--c-line); background: var(--c-soft); }

.h-subjects { background: var(--c-soft); }
.subj-grid { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.subj-grid a { position: relative; display: flex; flex-direction: column; min-height: 150px; padding: 1.3rem; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg); text-decoration: none; overflow: hidden; transition: border-color .18s, box-shadow .18s; }
.subj-grid a:hover { border-color: var(--c-teal); box-shadow: var(--sh); }
.subj-code { position: absolute; right: 1rem; top: .6rem; font: 800 2.6rem/1 var(--f-head); color: var(--c-sky); letter-spacing: -.04em; }
.subj-t { position: relative; font: 700 1.08rem var(--f-head); color: var(--c-navy); margin-top: auto; }
.subj-m { position: relative; font-size: .85rem; color: var(--c-mute); margin-top: .25rem; display: inline-flex; align-items: center; gap: .3rem; }
.subj-all a { background: var(--c-navy); border-color: var(--c-navy); }
.subj-all .subj-t { color: #fff; } .subj-all .subj-m { color: var(--c-gold); }

.timeline { list-style: none; margin: 0; padding: 0 0 0 1.4rem; border-left: 2px solid var(--c-line); display: grid; gap: 1.1rem; }
.timeline li { position: relative; display: grid; grid-template-columns: 150px 1fr; gap: 1rem; }
.timeline li::before { content: ""; position: absolute; left: calc(-1.4rem - 7px); top: .35rem; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 3px solid var(--c-teal); }
.timeline b { font-family: var(--f-head); color: var(--c-navy); }
.timeline span { color: var(--c-mute); font-size: .94rem; }

.h-res { background: var(--c-sky); }
.res-grid { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.res-grid > li { background: #fff; border-radius: var(--r-lg); padding: 1.6rem; display: flex; flex-direction: column; box-shadow: var(--sh); }
.res-grid h3 { display: flex; align-items: center; gap: .5rem; }
.res-grid h3 .ic { color: var(--c-teal-dark); }
.res-grid ul { padding-left: 1.1rem; margin: 0 0 1.2rem; color: var(--c-ink); font-size: .94rem; display: grid; gap: .45rem; }
.res-grid .link-arrow { margin-top: auto; }

.trust { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.4rem; }
.trust li { padding-top: 1.2rem; border-top: 3px solid var(--c-teal); }
.trust .ic { color: var(--c-teal-dark); margin-bottom: .6rem; }
.trust p { color: var(--c-mute); font-size: .94rem; margin: 0; }
.disc-inline { display: flex; gap: .6rem; align-items: flex-start; padding: 1rem 1.2rem; background: var(--c-soft); border-radius: var(--r); font-size: .9rem; color: var(--c-mute); margin: 0; }
.disc-inline .ic { color: var(--c-gold-dark); margin-top: .1rem; }

.h-pricing { background: linear-gradient(180deg, #fff 0%, var(--c-soft) 100%); }
.h-pricing .sec-head, .h-faq .sec-head { margin-left: auto; margin-right: auto; text-align: center; }
.res-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.res-cards a { display: flex; flex-direction: column; gap: .15rem; padding: 1.5rem; border-radius: var(--r-lg); border: 1px solid var(--c-line); background: #fff; text-decoration: none; height: 100%; }
.res-cards a:hover { border-color: var(--c-teal); box-shadow: var(--sh); }
.res-cards b { font: 800 3rem/1 var(--f-head); color: var(--c-teal-dark); letter-spacing: -.04em; }
.res-cards span { font: 700 1.05rem var(--f-head); color: var(--c-navy); }
.res-cards em { font-style: normal; font-size: .88rem; color: var(--c-mute); }
.rc-dl a { background: var(--c-navy); border-color: var(--c-navy); }
.rc-dl .ic { color: var(--c-gold); margin-bottom: .6rem; }
.rc-dl span { color: #fff; } .rc-dl em { color: #B7C7D9; }
.h-blog { background: var(--c-soft); }

.h-final { background: var(--c-navy); color: #fff; text-align: center; padding: clamp(56px, 8vw, 96px) 0; background-image: radial-gradient(600px 300px at 50% 120%, rgba(21, 155, 152, .35), transparent 70%); }
.h-final h2 { color: #fff; font-size: clamp(1.7rem, 1.2rem + 2vw, 2.6rem); }
.h-final p { color: #C9D6E4; font-size: 1.1rem; }
.h-final .h-hero-act { justify-content: center; }

/* ---------------- Page heroes & guides ---------------- */
.p-hero { background: linear-gradient(180deg, var(--c-sky), #fff); border-bottom: 1px solid var(--c-line); }
.p-hero-in { padding-top: clamp(28px, 4vw, 44px); padding-bottom: clamp(32px, 5vw, 56px); max-width: 980px; margin-left: 0; }
.p-hero .wrap { padding-top: clamp(24px, 3vw, 36px); padding-bottom: clamp(28px, 4vw, 48px); }
.p-hero-in.wrap { margin: 0 auto; max-width: var(--wrap); }
.p-hero h1 { max-width: 22em; font-size: clamp(1.8rem, 1.2rem + 2.2vw, 2.9rem); }
.p-intro { font-size: 1.1rem; color: var(--c-mute); max-width: 46em; }
.p-intro p:last-child { margin-bottom: 0; }
.p-hero-sm h1 { font-size: clamp(1.7rem, 1.2rem + 1.8vw, 2.5rem); }
.p-meta { list-style: none; margin: 1.3rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.p-meta li { display: inline-flex; align-items: center; gap: .35rem; font-size: .84rem; font-weight: 600; color: var(--c-navy); background: #fff; border: 1px solid var(--c-line); border-radius: 99px; padding: .35rem .75rem; }
.p-meta .ic { color: var(--c-teal-dark); }
.p-residency { background: linear-gradient(180deg, #EAF2EF, #fff); }
.p-mocks, .p-mcqs { background: linear-gradient(180deg, #EEF0F8, #fff); }

.crumbs ol { list-style: none; margin: 0 0 1.2rem; padding: 0; display: flex; flex-wrap: wrap; gap: .3rem; font-size: .84rem; color: var(--c-mute); }
.crumbs li:not(:last-child)::after { content: "/"; margin-left: .35rem; color: #A9B6C6; }
.crumbs a { color: var(--c-mute); text-decoration: none; }
.crumbs a:hover { color: var(--c-teal-dark); text-decoration: underline; }
.crumbs [aria-current] { color: var(--c-navy); font-weight: 600; }

.guide > * { min-width: 0; }
.guide { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); padding-top: clamp(32px, 5vw, 56px); padding-bottom: clamp(32px, 5vw, 56px); align-items: start; }
.guide-side { position: sticky; top: calc(var(--header-h) + 20px); display: grid; gap: 1.2rem; }
.toc { border-left: 2px solid var(--c-line); padding-left: 1rem; }
.toc-h { font: 800 .76rem/1 var(--f-body); letter-spacing: .12em; text-transform: uppercase; color: var(--c-mute); margin-bottom: .8rem; }
.toc ol { list-style: none; padding: 0; margin: 0; display: grid; gap: .1rem; }
.toc a { display: block; padding: .35rem 0; font-size: .9rem; color: var(--c-mute); text-decoration: none; line-height: 1.35; }
.toc a:hover { color: var(--c-navy); }
.toc a[aria-current] { color: var(--c-teal-dark); font-weight: 700; margin-left: -1.13rem; padding-left: 1rem; border-left: 2px solid var(--c-teal); }
.side-card { background: var(--c-navy); color: #C9D6E4; border-radius: var(--r-lg); padding: 1.3rem; font-size: .9rem; }
.side-k { font: 700 .72rem var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--c-gold); margin-bottom: .4rem; }
.side-t { font: 800 1.15rem var(--f-head); color: #fff; margin-bottom: .4rem; }

.prose { font-size: 1.04rem; max-width: 760px; }
.prose > * + * { margin-top: 0; }
.prose h2 { margin-top: 2.4rem; padding-top: .4rem; font-size: clamp(1.4rem, 1.15rem + .8vw, 1.85rem); }
.prose h2:first-child { margin-top: 0; }
.prose h3 { margin-top: 1.8rem; }
.prose ul, .prose ol { margin: 0 0 1.2em; }
.prose li { margin-bottom: .4em; }
.prose li::marker { color: var(--c-teal-dark); }
.prose blockquote { margin: 1.5rem 0; padding: 1rem 1.3rem; border-left: 4px solid var(--c-gold); background: #FFFBF2; border-radius: 0 12px 12px 0; }
.prose blockquote p:last-child { margin: 0; }
.prose .note, .note { padding: 1rem 1.2rem; border-radius: 12px; background: var(--c-sky); border-left: 4px solid var(--c-teal); margin: 1.4rem 0; }
.prose .note p:last-child, .note p:last-child { margin-bottom: 0; }
.prose .callout, .prose .warning { padding: 1rem 1.2rem; border-radius: 12px; background: #FFF6E5; border-left: 4px solid var(--c-gold); margin: 1.4rem 0; }
.tbl-scroll { overflow-x: auto; margin: 1.4rem 0; border: 1px solid var(--c-line); border-radius: 14px; }
.prose table { width: 100%; border-collapse: collapse; font-size: .93rem; min-width: 520px; }
.prose th, .prose td { padding: .75rem .9rem; text-align: left; border-bottom: 1px solid var(--c-line); vertical-align: top; }
.prose thead th { background: var(--c-soft); color: var(--c-navy); font-weight: 700; font-size: .85rem; }
.prose tr:last-child td { border-bottom: 0; }
.prose img { border-radius: 14px; }

.tool-box { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; flex-wrap: wrap; margin: 1.8rem 0; padding: 1.4rem 1.5rem; background: var(--c-sky); border: 1px solid #CFE4EE; border-radius: var(--r-lg); }
.tool-copy { flex: 1 1 260px; }
.tool-k { font: 700 .74rem var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--c-teal-dark); margin: 0 0 .25rem; }
.tool-t { font: 800 1.15rem/1.3 var(--f-head); color: var(--c-navy); margin: 0; }
.tool-box .ex-msg { flex-basis: 100%; margin: 0; }
.tool-wide { margin: 2rem 0; }
.tool-subject .tool-box { margin-top: 1rem; }
.guide-main .pr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.faqs { margin-top: 3rem; }
.faq-list { display: grid; gap: .7rem; }
.faq { border: 1px solid var(--c-line); border-radius: 14px; background: #fff; }
.faq summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.2rem; cursor: pointer; list-style: none; font: 700 1.02rem/1.4 var(--f-head); color: var(--c-navy); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary .ic { color: var(--c-teal-dark); transition: transform .2s; }
.faq[open] summary .ic { transform: rotate(180deg); }
.faq[open] { border-color: #BFD8E2; box-shadow: var(--sh); }
.faq-a { padding: 0 1.2rem 1rem; color: var(--c-ink); }
.faq-a p:last-child { margin-bottom: 0; }

.sources { margin-top: 2.6rem; padding: 1.4rem 1.5rem; background: var(--c-soft); border-radius: var(--r-lg); }
.sources h2 { font-size: 1.15rem; margin: 0 0 .8rem; padding: 0; }
.verified { display: flex; gap: .55rem; align-items: flex-start; font-size: .92rem; color: var(--c-ink); }
.verified .ic { color: var(--c-teal-dark); margin-top: .15rem; }
.src-list { margin: 0; font-size: .9rem; display: grid; gap: .35rem; }
.src-list .ic { color: var(--c-mute); }
.byline { display: flex; align-items: flex-start; gap: .5rem; font-size: .88rem; color: var(--c-mute); margin-top: 1.6rem; padding-top: 1.2rem; border-top: 1px solid var(--c-line); }

.related { padding: clamp(32px, 5vw, 56px) 0 0; border-top: 1px solid var(--c-line); }
.related h2 { font-size: 1.5rem; }
.rel-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.rel-grid a { position: relative; display: flex; flex-direction: column; gap: .3rem; height: 100%; padding: 1.2rem 2.8rem 1.2rem 1.2rem; border: 1px solid var(--c-line); border-radius: var(--r); text-decoration: none; }
.rel-grid a:hover { border-color: var(--c-teal); background: var(--c-soft); }
.rel-t { font: 700 1rem var(--f-head); color: var(--c-navy); }
.rel-d { font-size: .86rem; color: var(--c-mute); }
.rel-grid .ic { position: absolute; right: 1rem; top: 1.25rem; color: var(--c-teal-dark); }

.cta-band { display: flex; justify-content: space-between; align-items: center; gap: 2rem; flex-wrap: wrap; margin: clamp(40px, 6vw, 72px) 0; padding: clamp(1.6rem, 4vw, 2.6rem); border-radius: var(--r-lg); background: linear-gradient(120deg, var(--c-navy), #164766); color: #fff; }
.cta-band > div:first-child { flex: 1 1 380px; }
.cta-band h2 { color: #fff; font-size: clamp(1.35rem, 1.1rem + 1vw, 1.9rem); margin-bottom: .4rem; }
.cta-band p { color: #C9D6E4; margin: 0; }
.cta-act { display: flex; gap: .8rem; flex-wrap: wrap; }

/* App & plain pages */
.app-head { background: var(--c-soft); border-bottom: 1px solid var(--c-line); padding: 1.4rem 0 1rem; }
.app-head h1 { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); margin: 0; }
.app-head .crumbs ol { margin-bottom: .5rem; }
.app-body { padding-top: 2rem; padding-bottom: 4rem; }
.pg-exam .app-head { display: none; }
.prose-wrap { padding-top: 2.5rem; padding-bottom: 4rem; }

/* Contact */
.contact { display: grid; grid-template-columns: 1fr 1.2fr; gap: 3rem; }
.contact h2 { margin-top: 0; }
.contact-list { list-style: none; padding: 0; display: grid; gap: .6rem; }
.contact-list li { display: flex; align-items: center; gap: .5rem; }
.contact-form-wrap { background: var(--c-soft); border: 1px solid var(--c-line); border-radius: var(--r-lg); padding: 1.6rem; }
.cluster-general .prose-wrap .prose { max-width: none; }

/* Blog */
.p-blog .chips, .chips { list-style: none; margin: 1.4rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.chips a { display: inline-block; padding: .45rem .95rem; border-radius: 99px; border: 1px solid var(--c-line); background: #fff; font-size: .88rem; font-weight: 600; text-decoration: none; color: var(--c-navy); }
.chips a[aria-current] { background: var(--c-navy); color: #fff; border-color: var(--c-navy); }
.sec-h2 { font-size: 1.6rem; }
.post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; }
.pcard-link { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg); overflow: hidden; text-decoration: none; transition: box-shadow .18s, transform .18s; }
.pcard-link:hover { box-shadow: var(--sh-lg); transform: translateY(-3px); }
.pcard-top img, .pcard-art { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.pcard-art { display: grid; place-items: center; color: var(--c-teal-dark); background: linear-gradient(135deg, var(--c-sky), #fff); background-image: radial-gradient(rgba(16, 37, 63, .08) 1px, transparent 1px), linear-gradient(135deg, var(--c-sky), #fff); background-size: 16px 16px, auto; }
.pcard-body { padding: 1.3rem; display: flex; flex-direction: column; flex: 1; }
.pcard-cat { font: 700 .72rem var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--c-teal-dark); margin: 0 0 .5rem; }
.pcard-t { font-size: 1.15rem; margin: 0 0 .5rem; }
.pcard-x { color: var(--c-mute); font-size: .92rem; }
.pcard-m { margin: auto 0 0; font-size: .8rem; color: var(--c-mute); }
.post-img { width: 100%; margin-bottom: 1.5rem; }
.nav-links { display: flex; gap: .5rem; justify-content: center; margin-top: 2rem; }
.page-numbers { display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 .8rem; border: 1px solid var(--c-line); border-radius: 10px; text-decoration: none; color: var(--c-navy); }
.page-numbers.current { background: var(--c-navy); color: #fff; border-color: var(--c-navy); }
.empty, .nf { text-align: center; padding: 4rem 0; }
.nf-code { font: 800 clamp(4rem, 10vw, 7rem)/1 var(--f-head); color: var(--c-sky); -webkit-text-stroke: 2px var(--c-teal); margin: 0; }
.nf-links { list-style: none; padding: 0; margin: 2rem auto; max-width: 640px; display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.nf-links a { display: flex; gap: .6rem; align-items: center; padding: 1rem; border: 1px solid var(--c-line); border-radius: var(--r); text-decoration: none; font-weight: 600; color: var(--c-navy); }
.sform { display: flex; gap: .5rem; max-width: 520px; margin: 1.2rem auto 0; }
.p-hero .sform { margin-left: 0; }
.sform input { flex: 1; min-height: 48px; padding: 0 1rem; border: 1px solid var(--c-line); border-radius: 12px; font: inherit; }

/* ---------------- Footer ---------------- */
.site-foot { background: #0B1B2E; color: #A9BDD4; font-size: .93rem; }
.foot-news { background: var(--c-navy); border-bottom: 1px solid rgba(255, 255, 255, .08); }
.foot-news-in { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; padding-top: 2.6rem; padding-bottom: 2.6rem; }
.foot-news h2 { color: #fff; font-size: 1.5rem; margin-bottom: .4rem; }
.foot-news p { margin: 0; }
.foot-news .nl-row input { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .2); color: #fff; }
.foot-news .nl-row input::placeholder { color: #8FA4BB; }
.foot-news .nl-consent { color: #A9BDD4; }
.foot-grid { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 2rem; padding-top: 3.2rem; padding-bottom: 2.4rem; }
.foot-brand .logo { width: 210px; margin-bottom: 1rem; }
.foot-brand p { max-width: 30em; }
.foot-h { font: 700 .78rem var(--f-body); letter-spacing: .12em; text-transform: uppercase; color: var(--c-gold); margin: 0 0 1rem; }
.f-links, .foot-social { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.foot-social { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.site-foot a { color: #DCE6F0; text-decoration: none; }
.site-foot a:hover { color: #fff; text-decoration: underline; }
.foot-legal { border-top: 1px solid rgba(255, 255, 255, .08); padding-top: 1.6rem; padding-bottom: 2rem; }
.foot-disc { display: flex; gap: .6rem; align-items: flex-start; font-size: .85rem; line-height: 1.6; max-width: 980px; }
.foot-disc .ic { color: var(--c-gold); margin-top: .15rem; }
.foot-copy { font-size: .82rem; color: #7F95AD; margin: 0; }

.cookie { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 500; max-width: 560px; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg); box-shadow: var(--sh-lg); padding: 1.2rem 1.3rem; font-size: .9rem; }
.cookie[hidden] { display: none; }
.cookie p { margin: 0 0 .9rem; }
.cookie-act { display: flex; gap: .6rem; justify-content: flex-end; flex-wrap: wrap; }

/* ---------------- WooCommerce (account, checkout) ---------------- */
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce #respond input#submit { background: var(--c-teal-dark) !important; color: #fff !important; border-radius: 12px !important; padding: .8em 1.4em !important; font-weight: 600 !important; }
.woocommerce .button:hover { background: var(--c-navy) !important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row select, .woocommerce form .form-row textarea { border: 1px solid var(--c-line); border-radius: 10px; padding: .7rem .85rem; min-height: 46px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; border: 1px solid var(--c-line); border-radius: var(--r); overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: .8rem 1rem; text-decoration: none; color: var(--c-navy); border-bottom: 1px solid var(--c-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--c-sky); font-weight: 700; }
.woocommerce form.login, .woocommerce form.register { border: 1px solid var(--c-line) !important; border-radius: var(--r-lg) !important; padding: 1.6rem !important; background: #fff; }
.co-note { display: flex; gap: .5rem; align-items: flex-start; font-size: .86rem; color: var(--c-mute); }
.woocommerce-info, .woocommerce-message { border-top-color: var(--c-teal) !important; }
.woocommerce-info::before, .woocommerce-message::before { color: var(--c-teal) !important; }

/* ---------------- Responsive ---------------- */
@media (max-width: 1080px) {
	.h-hero-in { grid-template-columns: 1fr; }
	.h-hero-card { max-width: 640px; }
	.facts { grid-template-columns: repeat(3, 1fr); row-gap: 1.2rem; }
	.modes { grid-template-columns: repeat(2, 1fr); }
	.subj-grid { grid-template-columns: repeat(2, 1fr); }
	.steps, .trust { grid-template-columns: repeat(2, 1fr); }
	.bp { grid-template-columns: 1fr; }
	.res-grid { grid-template-columns: 1fr; }
	.res-cards { grid-template-columns: repeat(2, 1fr); }
	.guide { grid-template-columns: minmax(0, 1fr); }
	.guide-side { position: static; order: 2; }
	.guide-side .toc { display: none; }
	.post-grid { grid-template-columns: repeat(2, 1fr); }
	.rel-grid { grid-template-columns: repeat(2, 1fr); }
	.foot-grid { grid-template-columns: repeat(2, 1fr); }
	.foot-brand { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
	.split, .h-diag-in, .foot-news-in, .contact { grid-template-columns: 1fr; }
	.split-rev > :first-child { order: 0; }
	.facts { grid-template-columns: repeat(2, 1fr); }
	.facts li:last-child { grid-column: 1 / -1; }
	.bp-bars a { grid-template-columns: 1fr 52px; row-gap: .4rem; }
	.bp-track { grid-column: 1 / -1; grid-row: 2; }
	.bp-n { display: none; }
	.timeline li { grid-template-columns: 1fr; gap: .1rem; }
	.essentials dl div { grid-template-columns: 1fr; gap: .1rem; }
	.guide-main .pr-grid { grid-template-columns: 1fr; }
	.prose { font-size: 1rem; }
}
@media (max-width: 560px) {
	.modes, .subj-grid, .steps, .trust, .post-grid, .rel-grid, .res-cards, .nf-links { grid-template-columns: 1fr; }
	.foot-grid { grid-template-columns: 1fr 1fr; gap: 1.6rem 1rem; }
	.h-hero-act .btn, .cta-act .btn { width: 100%; }
	.dm-row { grid-template-columns: 96px 1fr 40px; }
	.tool-box > .btn, .tool-box > a.btn { width: 100%; }
	.cookie-act .btn { flex: 1; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
@media print { .topbar, .site-head, .site-foot, .guide-side, .cta-band, .cookie, .related { display: none !important; } .guide { display: block; } }

/* ---------------- Subscribe page (checkout) ---------------- */
.pg-subscribe .app-head { background: linear-gradient(180deg, var(--c-sky), #fff); border: 0; padding-bottom: .4rem; }
.pg-subscribe .app-head h1 { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem); }
.pg-subscribe .app-body { padding-top: 1rem; }
.sub-steps { list-style: none; margin: 0 0 1.6rem; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; font-size: .88rem; font-weight: 600; color: var(--c-mute); }
.sub-steps li { display: flex; align-items: center; gap: .45rem; }
.sub-steps span { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--c-line); font-size: .78rem; }
.sub-steps .done span { background: var(--c-teal-dark); border-color: var(--c-teal-dark); color: #fff; }
.sub-steps .on { color: var(--c-navy); }
.sub-steps .on span { border-color: var(--c-navy); }
.sub-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .9fr); gap: 1.6rem; align-items: start; }
.sub-main { display: grid; gap: 1.2rem; min-width: 0; }
.sub-card { background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-lg); padding: clamp(1.2rem, 3vw, 1.8rem); box-shadow: var(--sh); }
.sub-h { display: flex; align-items: center; gap: .6rem; font-size: 1.2rem; margin: 0 0 .3rem; }
.sub-n { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--c-navy); color: #fff; font-size: .85rem; }
.sub-sub { color: var(--c-mute); font-size: .9rem; margin: 0 0 1.2rem; display: flex; gap: .4rem; align-items: flex-start; }
.sub-sub .ic { color: var(--c-teal-dark); margin-top: .15rem; }
.sub-form .woocommerce-billing-fields h3, .sub-form .woocommerce-account-fields h3, .sub-form #ship-to-different-address, .sub-form .woocommerce-additional-fields { display: none; }
.sub-form .woocommerce-billing-fields__field-wrapper, .sub-form .create-account { display: flex; flex-wrap: wrap; gap: 0 1rem; }
.sub-form .form-row { flex: 1 1 100%; margin: 0 0 1rem; padding: 0; float: none; width: auto; }
.sub-form .form-row-first, .sub-form .form-row-last { flex: 1 1 calc(50% - .5rem); }
.sub-form label { display: block; font-weight: 600; font-size: .88rem; color: var(--c-navy); margin-bottom: .35rem; }
.sub-form .required { color: var(--c-teal-dark); text-decoration: none; border: 0; }
.sub-form .optional { color: var(--c-mute); font-weight: 400; }
.sub-form input.input-text, .sub-form select, .sub-form .select2-container .select2-selection--single { width: 100%; min-height: 48px; border: 1px solid var(--c-line) !important; border-radius: 10px !important; padding: .7rem .85rem; font: 400 1rem var(--f-body); color: var(--c-ink); background: #fff; transition: border-color .15s, box-shadow .15s; }
.sub-form .select2-container .select2-selection--single { padding: .45rem .5rem; height: 48px; }
.sub-form .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.sub-form input.input-text:focus, .sub-form select:focus { outline: none; border-color: var(--c-teal-dark) !important; box-shadow: 0 0 0 3px rgba(21, 155, 152, .18); }
.sub-form .woocommerce-invalid input.input-text { border-color: #B42318 !important; }
.sub-form .create-account { margin-top: .4rem; padding-top: 1rem; border-top: 1px dashed var(--c-line); }
.sub-form .woocommerce-form__label-for-checkbox { display: flex; gap: .5rem; align-items: center; font-weight: 500; }
/* payment */
.sub-pay #payment { background: none; border-radius: 0; }
.sub-pay .wc_payment_methods { list-style: none; margin: 0 0 1rem; padding: 0; border: 0 !important; display: grid; gap: .6rem; }
.sub-pay .wc_payment_method { border: 1.5px solid var(--c-line); border-radius: 12px; padding: .9rem 1rem; }
.sub-pay .wc_payment_method:has(input:checked) { border-color: var(--c-teal-dark); background: #FBFEFE; }
.sub-pay .wc_payment_method > label { display: inline-flex; align-items: center; gap: .5rem; margin: 0; font-size: .98rem; }
.sub-pay .wc_payment_method img { max-height: 22px; width: auto; margin-left: .3rem; }
.sub-pay .payment_box { background: none !important; padding: .8rem 0 0 !important; margin: 0 !important; font-size: .9rem; color: var(--c-mute); }
.sub-pay .payment_box::before { display: none !important; }
.sub-pay .woocommerce-notice, .sub-pay .woocommerce-info { border-radius: 12px; }
.sub-pay .place-order { padding: .6rem 0 0 !important; margin: 0; }
.sub-pay .sub-btn, .sub-pay #place_order { width: 100%; min-height: 56px; font-size: 1.08rem !important; border-radius: 14px !important; background: var(--c-teal-dark) !important; color: #fff !important; border: 0; float: none !important; }
.sub-pay #place_order:hover { background: var(--c-navy) !important; }
.co-note { font-size: .84rem; color: var(--c-mute); margin: 0 0 .8rem; }
/* plan summary */
.sub-side { position: sticky; top: calc(var(--header-h) + 16px); display: grid; gap: .9rem; }
.sub-plan { padding: 0; overflow: hidden; }
.sub-plan-head { position: relative; background: linear-gradient(135deg, var(--c-navy), #164766); color: #fff; padding: 1.4rem 1.5rem; }
.sub-plan-head h2 { color: #fff; font-size: 1.5rem; margin: .1rem 0 .3rem; }
.sub-k { font: 700 .72rem var(--f-body); letter-spacing: .12em; text-transform: uppercase; color: var(--c-gold); margin: 0; }
.sub-dur { display: flex; align-items: center; gap: .4rem; margin: 0; color: #C9D6E4; font-size: .92rem; }
.sub-change { position: absolute; right: 1.2rem; top: 1.3rem; color: #fff; font-size: .82rem; font-weight: 600; }
.sub-change:hover { color: var(--c-gold); }
.sub-feat { list-style: none; margin: 0; padding: 1.1rem 1.5rem; display: grid; gap: .5rem; font-size: .92rem; border-bottom: 1px solid var(--c-line); }
.sub-feat li { display: flex; gap: .45rem; align-items: flex-start; }
.sub-feat .ic { color: var(--c-teal-dark); margin-top: .2rem; }
.sub-coupon { padding: 1.1rem 1.5rem; border-bottom: 1px solid var(--c-line); }
.sub-coupon label { font-weight: 600; font-size: .86rem; color: var(--c-navy); display: block; margin-bottom: .4rem; }
.sub-coupon-row { display: flex; gap: .5rem; }
.sub-coupon-row input { flex: 1; min-width: 0; min-height: 44px; border: 1px solid var(--c-line); border-radius: 10px; padding: 0 .8rem; font: 600 .95rem var(--f-body); letter-spacing: .04em; text-transform: uppercase; }
.sub-coupon-row input::placeholder { text-transform: none; letter-spacing: 0; font-weight: 400; }
.sub-coupon-row input:focus { outline: none; border-color: var(--c-teal-dark); box-shadow: 0 0 0 3px rgba(21, 155, 152, .18); }
.sub-coupon-row .btn { min-height: 44px; padding: .5rem 1rem; }
.sub-coupon-msg { margin: .45rem 0 0; font-size: .84rem; min-height: 1em; }
.sub-coupon-msg.is-ok { color: #13795B; } .sub-coupon-msg.is-err { color: #B42318; }
.sub-plan #order_review { padding: .6rem 1.5rem 0; }
.sub-totals { width: 100%; border-collapse: collapse; margin: 0; border: 0 !important; }
.sub-totals th, .sub-totals td { padding: .55rem 0 !important; border: 0 !important; font-size: .95rem; background: none !important; }
.sub-totals th { text-align: left; font-weight: 500; color: var(--c-ink); }
.sub-totals td { text-align: right; font-weight: 600; color: var(--c-navy); }
.sub-totals .cart-discount td, .sub-totals .cart-discount th { color: #13795B; }
.sub-totals .woocommerce-remove-coupon { font-size: .8rem; margin-left: .3rem; color: var(--c-mute); }
.sub-totals tfoot .order-total th, .sub-totals tfoot .order-total td { border-top: 1px solid var(--c-line) !important; padding-top: .9rem !important; font: 800 1.25rem var(--f-head); color: var(--c-navy); }
.sub-totals .includes_tax { display: block; font: 400 .78rem var(--f-body); color: var(--c-mute); }
.sub-trust { list-style: none; margin: .4rem 0 0; padding: 1rem 1.5rem 1.3rem; display: grid; gap: .5rem; font-size: .86rem; color: var(--c-mute); background: var(--c-soft); }
.sub-trust li { display: flex; gap: .5rem; align-items: center; }
.sub-trust .ic { color: var(--c-teal-dark); }
.sub-disc { font-size: .76rem; color: var(--c-mute); margin: 0 .3rem; }
.woocommerce-form-login-toggle .woocommerce-info { background: var(--c-soft); border: 1px solid var(--c-line); border-radius: 12px; color: var(--c-ink); padding: .8rem 1rem .8rem 2.8rem; margin-bottom: 1rem; }
.pg-subscribe .woocommerce-form-login { max-width: 520px; }
.blockUI.blockOverlay { border-radius: var(--r-lg); }
/* confirmation */
.sub-done { max-width: 640px; margin: 0 auto; }
.sub-result { text-align: center; }
.sub-tick { display: inline-grid; place-items: center; width: 68px; height: 68px; border-radius: 50%; background: #E6F6EF; color: #13795B; margin-bottom: .8rem; }
.sub-result.is-failed h2 { color: #B42318; }
.sub-meta { display: grid; gap: 0; text-align: left; margin: 1.4rem 0 0; border-top: 1px solid var(--c-line); }
.sub-meta div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--c-line); }
.sub-meta dt { color: var(--c-mute); } .sub-meta dd { margin: 0; font-weight: 600; color: var(--c-navy); }
@media (max-width: 900px) {
	.sub-grid { grid-template-columns: 1fr; }
	.sub-side { position: static; order: -1; }
	.sub-feat { display: none; }
}
@media (max-width: 520px) { .sub-form .form-row-first, .sub-form .form-row-last { flex-basis: 100%; } }

/* Blog covers */
.pcard-cover, .post-cover { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.post-cover { border-radius: var(--r-lg); margin-bottom: 1.6rem; box-shadow: var(--sh); }
.woocommerce table.shop_table.sub-totals, .sub-totals.shop_table { border: 0 !important; border-radius: 0 !important; margin: 0 !important; }
.sub-pay .place-order, .sub-form .form-row.place-order { display: block; }
.sub-pay .woocommerce-privacy-policy-text p { font-size: .82rem; color: var(--c-mute); }

/* Subscribe page polish (v1.1.1) */
.sub-pay .co-note { display: block; line-height: 1.6; }
.sub-pay fieldset { border: 0 !important; padding: 0 !important; margin: 0 !important; }
.sub-pay .wc-stripe-upe-element, .sub-pay #wc-stripe-upe-form { border: 0 !important; padding: 0 !important; background: none !important; }
#wc-stripe-express-checkout-button-separator { display: none !important; }
#wc-stripe-express-checkout-element:has(iframe) ~ #wc-stripe-express-checkout-button-separator { display: block !important; text-align: center; color: var(--c-mute); margin: .8rem 0 1.2rem; }
#wc-stripe-express-checkout-element:not(:has(iframe)) { display: none !important; }
