/* ==========================================================================
   GHOST — editorial design (Jan, 2026-10-30)
   Paper, ink, one green accent, Archivo headlines, Inter body. Loaded after
   styles.css and variants.css: the tokens below turn every sub-page over, the
   ed-* classes build the home page and the shared header and footer.
   Both fonts are OFL and self-hosted.
   ========================================================================== */

@font-face {
  font-family: 'Archivo';
  src: url('../fonts/Archivo-Variable.woff2') format('woff2');
  font-weight: 400 900;
  font-stretch: 62% 125%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('../fonts/Inter-Variable.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Noto Sans Arabic';
  src: url('../fonts/NotoSansArabic-Variable.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --paper: #FFFFFF;
  --beige: #E6FBEE;
  --ink: #111;
  --rule: #DADADA;

  --bg-base: var(--paper);
  --bg-screen: var(--paper);
  --surface-card: rgba(17, 17, 17, .045);
  --surface-stroke: rgba(17, 17, 17, .16);
  --surface-stroke-strong: rgba(17, 17, 17, .3);
  --text-primary: var(--ink);
  --text-secondary: #3D3D3A;
  --text-tertiary: #55544F;
  --track-base: #D8D3C8;
  --green-deep: #0C7A3A;
  --font-display: 'Archivo', 'Arial Narrow', Arial, sans-serif;
  --font-body: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --ed-gutter: clamp(18px, 5.5vw, 80px);
}

/* overflow-x: hidden on html and body would stop every sticky bar. */
html, body { overflow-x: clip; }
html { scroll-padding-top: 112px; }
body { background: var(--paper); color: var(--ink); font-size: clamp(19px, 1.5vw, 21px); line-height: 1.5; }
a { color: var(--ink); }
a:hover { color: #0C7A3A; }
u { text-decoration-color: #22E06A; text-decoration-thickness: .14em; text-underline-offset: .12em; text-decoration-skip-ink: none; }

/* ----- Header ------------------------------------------------------------ */
.ed-wrap { max-width: 1440px; margin: 0 auto; padding: 0 var(--ed-gutter); box-sizing: border-box; }
.ed-top { position: sticky; top: 0; z-index: 20; background: var(--paper); }
.ed-header { display: flex; align-items: center; justify-content: space-between; gap: 14px 32px; padding: 16px 0 12px; border-bottom: 2px solid var(--ink); }
.ed-logo { display: flex; align-items: center; gap: 13px; flex: none; text-decoration: none; color: var(--ink); }
.ed-logo:hover { color: var(--ink); }
.ed-logo-icon { width: 72px; height: 72px; border-radius: 16px; display: block; }
.ed-logo-text { display: grid; gap: 7px; }
.ed-logo-word { width: auto; height: 36px; display: block; }
.ed-logo-tag { font-weight: 700; font-size: 20px; line-height: 1; white-space: nowrap; color: var(--ink); }
.ed-nav { display: flex; align-items: center; gap: 6px 28px; font-weight: 600; font-size: 18px; }
.ed-navlink { text-decoration: none; }
.ed-get { text-decoration: none; background: #22E06A; color: #0A0A0A; padding: 13px 24px; border-radius: 999px; font-weight: 700; white-space: nowrap; }
.ed-get:hover { color: #0A0A0A; background: #1BCB5E; }
.nav-toggle { display: none; align-items: center; justify-content: center; flex-direction: column; gap: 5px; width: 48px; height: 48px; flex: none;
  background: transparent; border: 2px solid var(--ink); border-radius: 12px; color: var(--ink); cursor: pointer; }
.nav-toggle span { background: var(--ink); }

/* ----- Bar at the bottom of the phone ------------------------------------- */
.getbar { display: none; position: sticky; bottom: 0; z-index: 20; align-items: center; gap: 12px;
  padding: 10px var(--ed-gutter) max(10px, env(safe-area-inset-bottom)); background: var(--paper); border-top: 2px solid var(--ink); }
.getbar-icon { width: 52px; height: 52px; border-radius: 12px; display: block; flex: none; }
.getbar-btn { flex: 1; min-width: 0; text-align: center; background: #22E06A; color: #0A0A0A; padding: 12px 16px; border-radius: 999px;
  font-family: var(--font-display); font-weight: 800; font-size: 22px; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.getbar-btn:hover { color: #0A0A0A; }
.mobile-menu { position: fixed; left: 0; right: 0; bottom: 0; z-index: 19; padding: 8px var(--ed-gutter) 16px; background: var(--paper); border-top: 2px solid var(--ink); }
.mobile-menu a { color: var(--ink); font-size: 20px; font-weight: 600; text-decoration: none; }

/* ----- Shared type -------------------------------------------------------- */
.ed-rubric { margin: 0; display: flex; align-items: center; gap: 12px; font-weight: 700; font-size: 20px; line-height: 1.5; color: var(--ink); }
.ed-rubric--rule { padding-bottom: 12px; border-bottom: 2px solid var(--ink); }
.ed-dot { width: 14px; height: 14px; border-radius: 50%; background: #22E06A; flex: none; }
.ed-h1, .ed-h2, .ed-h3 { font-family: var(--font-display); font-weight: 800; color: var(--ink); }
.ed-h1 { margin: 18px 0 0; font-size: clamp(64px, 6.9vw, 100px); line-height: .96; letter-spacing: -.035em; }
.ed-h2 { margin: 0; font-size: clamp(40px, 5vw, 68px); line-height: 1; letter-spacing: -.03em; }
.ed-h2--big { font-size: clamp(44px, 6.4vw, 92px); line-height: .98; letter-spacing: -.035em; }
.ed-h2--under { margin-top: 22px; }
.ed-h2--narrow { max-width: 16em; }
.ed-h2--close { font-size: clamp(50px, 8vw, 112px); line-height: .96; letter-spacing: -.035em; }
.ed-h3 { margin: 0; font-size: 30px; line-height: 1.08; letter-spacing: -.02em; }
.ed-lede { margin: 24px 0 0; max-width: 31em; font-size: clamp(20px, 1.65vw, 24px); }
.ed-copy { margin: 18px 0 0; max-width: 31em; }
.ed-copy--flush { margin-top: 0; }
main p { color: inherit; }

/* ----- Hero --------------------------------------------------------------- */
.ed-hero { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: clamp(28px, 4vw, 64px);
  padding: clamp(28px, 4vw, 56px) 0 clamp(36px, 5vw, 72px); align-items: stretch; }
.ed-hero-body { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.store-links--ed { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: flex-start; margin-top: 28px; }
.store-links--ed .badge-link { display: block; }
.store-links--ed img { height: 58px; width: auto; display: block; }
.ed-trial { margin: 14px 0 0; font-weight: 600; }
.ed-hero-art { position: relative; margin: 0; min-width: 0; min-height: clamp(460px, 46vw, 640px); }
.ed-hero-photo img { position: absolute; inset: 0 0 0 12%; width: 88%; height: 100%; object-fit: cover; display: block; }
.ed-phone { container-type: inline-size; width: min(100%, 300px); }
.ed-phone .iphone { --pw: 100cqw; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22), 0 22px 44px rgba(17, 17, 17, .28); }
.ed-hero-phone { position: absolute; left: 0; bottom: clamp(18px, 3vw, 40px); width: clamp(190px, 22vw, 290px); }
.iphone-fade { position: absolute; top: calc(var(--pw) * .026); left: calc(var(--pw) * .026); right: calc(var(--pw) * .026); height: 7.6%;
  background: linear-gradient(#000 74%, rgba(0, 0, 0, 0)); border-radius: calc(var(--pw) * .128) calc(var(--pw) * .128) 0 0; }

.ed-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 0 28px; border-top: 2px solid var(--ink); }
.ed-facts p { margin: 0; padding: 16px 0; border-bottom: 1px solid var(--rule); display: grid; }
.ed-facts b { font-family: var(--font-display); font-weight: 800; font-size: 34px; line-height: 1.1; letter-spacing: -.02em; }
.ed-facts span { font-size: 19px; }

/* ----- Sections ----------------------------------------------------------- */
.ed-section { padding: clamp(52px, 7vw, 96px) 0 0; }
.ed-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: clamp(24px, 4vw, 56px); padding-top: 28px; align-items: center; }
.ed-split--top { align-items: stretch; padding-top: 24px; }
.ed-col { min-width: 0; }
.ed-fill { display: block; min-width: 0; }
.ed-fill img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; display: block; }
.ed-wide img { width: 100%; height: clamp(260px, 38vw, 540px); object-fit: cover; display: block; margin-top: 24px; }
.ed-stakes { margin: 22px 0 0; }
.ed-stakes div { padding: 14px 0; border-top: 1px solid var(--rule); }
.ed-stakes dt { font-family: var(--font-display); font-weight: 800; font-size: 24px; letter-spacing: -.015em; color: var(--ink); }
.ed-stakes dd { margin: 2px 0 0; color: var(--ink); }
.ed-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: clamp(32px, 3.4vw, 48px); margin-top: 32px; }
.ed-steps article { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.ed-steps p { margin: -8px 0 0; }
.ed-phone--map { width: min(100%, 360px); justify-self: center; }
.ed-band { background: var(--beige); margin-top: clamp(52px, 7vw, 96px); padding: clamp(36px, 5vw, 72px) 0; }
.ed-laurel { display: grid; justify-items: center; gap: 10px; min-width: 0; }
.ed-laurel-row { display: flex; align-items: center; justify-content: center; gap: clamp(4px, 1vw, 14px); max-width: 100%; }
.ed-laurel-leaf { height: min(13vw, 187px); width: auto; flex: none; }
.ed-laurel-leaf--r { transform: scaleX(-1); }
.ed-laurel-num { font-family: var(--font-display); font-weight: 800; font-size: min(5.4vw, 80px); line-height: .9; letter-spacing: -.035em; }
.ed-laurel-text { font-weight: 600; font-size: 20px; text-align: center; }
.ed-points { list-style: none; margin: 14px 0 0; padding: 0; }
.ed-points li { padding: 12px 0; border-top: 1px solid var(--rule); font-weight: 600; list-style: none; }
.ed-rides { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: clamp(28px, 3vw, 40px); margin-top: 28px; }
.ed-rides article { min-width: 0; }
.ed-rides picture img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.ed-rides p { margin: 8px 0 0; }
.ed-platforms { display: flex; gap: 10px; min-height: 44px; margin: 16px 0 12px; }
.ed-platforms img { width: 44px; height: 44px; display: block; }
.ed-people { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; min-width: 0; }
.ed-people img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; display: block; }
.ed-close { padding: clamp(60px, 8vw, 110px) 0 clamp(48px, 6vw, 80px); display: grid; justify-items: start; }
.ed-close-text { margin: 18px 0 0; font-size: 24px; font-weight: 600; }
.ed-close-btn { margin-top: 24px; background: #22E06A; color: #0A0A0A; padding: 17px 36px; border-radius: 999px; font-family: var(--font-display); font-weight: 800; font-size: 22px; text-decoration: none; }
.ed-close-btn:hover { color: #0A0A0A; background: #1BCB5E; }
.ed-close .store-links--ed { margin-top: 18px; }

/* ----- Footer ------------------------------------------------------------- */
.ed-footer { padding: 0 0 36px; }
.ed-footer .ed-wrap > * { border: 0; }
.ed-footer-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 32px; padding-top: 20px; border-top: 2px solid var(--ink) !important; }
.ed-footer .social { order: 3; flex: 0 0 100%; justify-content: center; }
.ed-footer-links { display: flex; flex-wrap: wrap; gap: 8px 22px; font-weight: 600; font-size: 18px; }
.ed-footer-links a { text-decoration: underline; text-underline-offset: 3px; }
.ed-footer-legal { margin-top: 18px; font-size: 18px; color: var(--ink); }
.ed-footer-legal p { margin: 0 0 6px; color: var(--ink); font-size: 18px; }

/* ----- Sub-pages: paper instead of graphite, and no small type ------------- */
.doc { max-width: 52rem; }
.doc h1, .doc h2, .doc h3 { font-family: var(--font-display); font-weight: 800; letter-spacing: -.02em; color: var(--ink); }
.doc h1 { font-size: clamp(40px, 5.6vw, 68px); line-height: 1.02; letter-spacing: -.03em; }
.doc-meta { color: var(--text-secondary); font-size: 16px; }
.doc-body p, .doc-body li { color: var(--ink); font-size: 19px; }
.lede { color: var(--text-secondary); font-size: clamp(20px, 1.65vw, 23px); }
.eyebrow { color: var(--ink); font-size: 18px; letter-spacing: 0; text-transform: none; font-weight: 700; }
.doc a, .answer a, .faq a { color: var(--green-deep); }
.ghost-cta { background: var(--beige); border-color: transparent; color: var(--ink); }
.ghost-cta li, .ghost-cta p { color: var(--ink); }
.ghost-cta .store-links { justify-content: flex-start; }
.field-note, .cta-note, .form-msg, .contact-direct { font-size: 17px; }
input, select, textarea { background: #fff; color: var(--ink); border-color: var(--surface-stroke-strong); }
input::placeholder, textarea::placeholder { color: #6B6A64; }

/* Panels the old graphite theme hard-coded. */
.kp, .block, .ai-grid li, .stat, .signs, .news-lead, .lead-card, .feature { background: #fff; box-shadow: inset 0 0 0 1px var(--surface-stroke); }
.kp { box-shadow: inset 3px 0 0 #22E06A, inset 0 0 0 1px var(--surface-stroke); }
.kp h2 { font-size: 17px; letter-spacing: 0; text-transform: none; color: var(--ink); font-weight: 700; font-family: var(--font-display); }
.kp li { color: var(--ink); }
.stat-big { color: var(--ink); }
.data-table thead th { background: var(--beige); color: var(--ink); font-size: 15px; letter-spacing: 0; text-transform: none; }
.data-table tr.is-hot td, .data-table tr.is-hot th { color: #B3261E; }
.chip { color: var(--ink); background: rgba(34, 224, 106, .22); border-color: rgba(12, 122, 58, .35); font-size: 15px; letter-spacing: 0; }
.chip--sm { font-size: 14px; padding: 3px 10px; }
.crumbs, .article-meta, .doc-lang, .sources-note, .field-note { font-size: 16px; }
.hero-photo figcaption, .gfx figcaption { font-size: 15px; color: var(--text-secondary); }
.toc h2 { font-size: 17px; letter-spacing: 0; text-transform: none; color: var(--ink); font-family: var(--font-display); font-weight: 700; }
.toc a { font-size: 17px; }
.answer, .faq .answer, .faq summary { font-size: 18px; color: var(--ink); }
.contact-form input, .contact-form select, .contact-form textarea { background: #fff; color: var(--ink); }
.form-msg.is-err { color: #B3261E; }
.consent { background: var(--paper); color: var(--ink); border-top: 2px solid var(--ink); }
.consent p, .consent a { color: var(--ink); font-size: 17px; }

.chip--sm { font-size: 15px; }
.ghost-cta .cta-note, .cta-note { font-size: 17px; }
.sources li, .sources a { font-size: 16px; }
.data-table, .data-table td, .data-table th, .data-table caption { font-size: 15px; }

.gfx { overflow-x: auto; }
.ghost-cta-note { margin-top: 12px; font-weight: 600; color: var(--ink); }

/* ----- Articles and tables: ink on paper, nothing pale ---------------------
   variants.css still carries the graphite theme's fixed colours; these rules
   overrule every one of them. tools/audit-contrast.mjs measures the result. */
.article-body, .article-body p, .article-body li, .article-body em,
.article-faq .answer, .faq-group .answer { color: var(--ink); }
.article-body { font-size: 19px; line-height: 1.65; }
.article-body a, .article-faq a, .faq .answer a, .faq-group .answer a, .sources a, .faq-more a, .doc a,
.answer a, .data-table a, .lede a, .contact-direct a, .field-note a, .doc-lang a {
  color: var(--ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--green);
  text-decoration-thickness: 2px; text-underline-offset: 3px; }
.article-body a:hover, .article-faq a:hover, .faq .answer a:hover, .faq-group .answer a:hover, .sources a:hover, .faq-more a:hover,
.doc a:hover, .answer a:hover, .data-table a:hover, .lede a:hover, .contact-direct a:hover, .field-note a:hover, .doc-lang a:hover { color: var(--green-deep); }
.news-card:hover .news-card-title, .news-lead:hover .news-lead-title { color: var(--ink); text-decoration: underline; text-decoration-color: var(--green); text-decoration-thickness: 3px; text-underline-offset: 4px; }
.news-cats a.chip { color: var(--ink); }
.news-card-dek, .news-lead .news-card-dek { color: var(--text-secondary); font-size: 17px; }
.data-table, .data-table td, .data-table th, .data-table caption { font-size: 17px; line-height: 1.45; }
.data-table caption { color: var(--ink); }
.data-table th, .data-table td { border-top-color: var(--rule); }
.data-table td, .data-table tbody th { color: var(--ink); }
.data-table thead .is-ghost { color: var(--ink); }
.data-table tr.is-hot td, .data-table tr.is-hot td:first-of-type, .data-table tr.is-hot th { color: #A11D16; }
.sources-note, .article-meta, .crumbs { color: var(--text-secondary); font-size: 16px; }
.hero-photo figcaption, .gfx figcaption { color: var(--text-secondary); font-size: 16px; }
.timeline li { border-top-color: var(--rule); }
.tl-date { color: var(--ink); font-size: 16px; }
.tl-road { color: var(--ink); font-size: 17px; }
.tl-arrow { color: var(--ink); }
.limit-sign.is-old { opacity: .6; }
.ai-grid li { color: var(--text-secondary); font-size: 16px; }
.ai-grid li span { font-size: 16px; }
.gfx--chart svg { background: #fff; box-shadow: inset 0 0 0 1px var(--surface-stroke); }
.c-label, .c-name, .c-val { fill: var(--ink); }
.c-name { font-size: 15.5px; }
.c-note, .c-small { fill: var(--text-secondary); font-size: 15px; }
.c-bar--limit { fill: #55544F; }
.c-bar--amber { fill: #D98E04; }
.c-tick { stroke: var(--ink); }

/* ----- News desks: the visitor's desk comes first, all of them stay --------
   The Worker sets data-region on <html>. The HTML is the same for everyone. */
.news-flow { display: flex; flex-direction: column; }
html[data-region="uk"] .news-desk[data-region="uk"], html[data-region="usa"] .news-desk[data-region="usa"],
html[data-region="dach"] .news-desk[data-region="dach"], html[data-region="france"] .news-desk[data-region="france"],
html[data-region="spain"] .news-desk[data-region="spain"], html[data-region="italy"] .news-desk[data-region="italy"],
html[data-region="turkey"] .news-desk[data-region="turkey"], html[data-region="saudi"] .news-desk[data-region="saudi"],
html[data-region="gulf"] .news-desk[data-region="gulf"], html[data-region="benelux"] .news-desk[data-region="benelux"],
html[data-region="poland"] .news-desk[data-region="poland"], html[data-region="canada"] .news-desk[data-region="canada"],
html[data-region="australia"] .news-desk[data-region="australia"], html[data-region="southafrica"] .news-desk[data-region="southafrica"],
html[data-region="latam"] .news-desk[data-region="latam"] { order: -1; margin-top: var(--s10); }
.news-more { margin-top: 20px; font-weight: 700; }
.news-more a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--green); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.news-grid--hub { margin-top: var(--s10); }
.news-countries { margin-top: var(--s10); padding-top: 28px; border-top: 1px solid var(--rule); }
.news-countries .news-cats { margin-top: 18px; }
.news-cats a.chip--all { background: var(--ink); color: #FFFFFF; border-color: var(--ink); }

/* ----- Article furniture, from the template Jan chose --------------------- */
.byline { display: flex; align-items: center; gap: 12px; margin-top: 18px; }
.byline > span { display: grid; gap: 1px; font-size: 16px; color: var(--text-secondary); }
.byline b { color: var(--ink); font-size: 17px; }
.byline img, .byline svg { width: 44px; height: 44px; flex: none; }
.kp-answer { margin: 0 0 10px; font-size: 19px; font-weight: 600; color: var(--ink); }
.toc { background: #fff; border-radius: 16px; margin-top: 28px; }
.toc a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--green); text-underline-offset: 3px; }
.toc li { color: var(--ink); }
.mid-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 16px; margin: 32px 0; padding: 18px 20px; background: #fff; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--surface-stroke); }
.mid-cta div { flex: 1 1 240px; min-width: 0; }
.mid-cta p { margin: 0; font-size: 17px; }
.mid-cta .mid-cta-title { font-family: var(--font-display); font-weight: 800; font-size: 20px; }
.mid-cta-btn { flex: none; padding: 11px 20px; border-radius: 999px; background: var(--green); color: var(--ink) !important; font-weight: 700; text-decoration: none !important; }
[dir="rtl"] .data-table th, [dir="rtl"] .data-table td, [dir="rtl"] .data-table caption { text-align: right; }
[dir="rtl"] .ghost-cta li { padding-left: 0; padding-right: 24px; }
[dir="rtl"] .ghost-cta li::before { left: auto; right: 0; }
[dir="rtl"] .kp { box-shadow: inset -3px 0 0 #22E06A, inset 0 0 0 1px var(--surface-stroke); }

.ed-cta { margin-top: clamp(40px, 5vw, 64px); padding: clamp(24px, 3.5vw, 40px); display: grid; gap: 18px; justify-items: start; background: var(--beige); border-radius: 18px; }
.ed-cta-text { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: clamp(24px, 2.6vw, 32px); line-height: 1.15; letter-spacing: -.015em; color: var(--ink); max-width: 26em; }
.ed-questions { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 0 clamp(24px, 4vw, 56px); margin-top: 18px; }

/* The map shows the app full screen, never covered (Jan, 2026-11-04). Its
   speed reads 60 under 70: tools/map-speed-under-limit.mjs. */

.country-search { display: block; margin-top: 28px; max-width: 460px; }
.country-search input { width: 100%; min-height: 54px; padding: 12px 18px; font: 600 18px var(--font-body); color: var(--ink); background: #fff; border: 2px solid var(--ink); border-radius: 14px; }
.country-search input:focus-visible { outline: 3px solid var(--green); outline-offset: 2px; }
.country-tiles { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(46%, 250px), 1fr)); gap: 14px; }
.country-tiles a { display: grid; gap: 2px; padding: 20px; height: 100%; color: var(--ink); text-decoration: none; background: #fff; border: 1px solid var(--rule); border-radius: 16px; transition: border-color .15s; }
.country-tiles a:hover { border-color: var(--green); }
.country-tiles b { font-family: var(--font-display); font-weight: 800; font-size: clamp(28px, 3vw, 40px); line-height: 1.1; letter-spacing: -.02em; }
.country-tiles span { font-size: 16px; color: var(--text-secondary); }
.country-tiles .country-tile-name { font-size: 19px; font-weight: 700; color: var(--ink); }
.country-list { list-style: none; margin: 36px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 0 28px; }
.country-list li { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--rule); font-size: 18px; }
.country-list a { color: var(--ink); font-weight: 700; text-decoration: none; }
.country-list a:hover { text-decoration: underline; text-decoration-color: var(--green); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.country-list span { color: var(--text-secondary); font-size: 16px; white-space: nowrap; }

/* The comparison: one highlighted Ghost column, a tick against a muted cross. */
.ed-cmp { width: 100%; max-width: 900px; margin-top: 30px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.ed-cmp-col { width: 190px; }
.ed-cmp th, .ed-cmp td { padding: 18px 14px; text-align: center; vertical-align: middle; }
.ed-cmp thead th { padding: 18px 6px 14px; vertical-align: bottom; font-family: var(--font-display); font-weight: 800; font-size: 19px; line-height: 1.1; color: var(--ink); }
.ed-cmp thead td { border: 0; }
.ed-cmp thead th:last-child { font-family: var(--font-body); font-weight: 700; font-size: 16px; color: var(--text-tertiary); }
.ed-cmp thead .is-ghost img { display: block; width: 44px; height: 44px; margin: 0 auto 8px; border-radius: 11px; }
.ed-cmp tbody th { padding-inline-start: 0; text-align: start; font-family: var(--font-body); font-weight: 600; font-size: clamp(17px, 1.6vw, 20px); line-height: 1.3; color: var(--ink); border-top: 1px solid var(--rule); }
.ed-cmp tbody td { border-top: 1px solid var(--rule); }
.ed-cmp .is-ghost { background: #EFFCF4; border-inline: 2px solid var(--green); }
.ed-cmp thead .is-ghost { border-top: 2px solid var(--green); border-radius: 18px 18px 0 0; }
.ed-cmp tbody .is-ghost { border-top-color: #CFEFDC; }
.ed-cmp tbody tr:last-child .is-ghost { border-bottom: 2px solid var(--green); border-radius: 0 0 18px 18px; }
.ed-cmp svg { display: block; margin: 0 auto; }
.ed-cmp-note { display: block; margin-top: 6px; color: var(--text-tertiary); font-size: 15px; line-height: 1.25; }


.country-list { list-style: none; margin: 36px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 0 28px; }
.country-list li { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--rule); font-size: 18px; }
.country-list a { color: var(--ink); font-weight: 700; text-decoration: none; }
.country-list a:hover { text-decoration: underline; text-decoration-color: var(--green); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.country-list span { color: var(--text-secondary); font-size: 16px; white-space: nowrap; }

/* ----- Languages ----------------------------------------------------------- */
.ed-header { position: relative; }
.ed-nav { margin-inline-start: auto; }
.lang-menu { position: relative; flex: none; }
.lang-menu summary { display: flex; align-items: center; gap: 6px; min-height: 44px; list-style: none; cursor: pointer; padding: 8px 12px; font-weight: 700; font-size: 17px; color: var(--ink); border: 2px solid var(--ink); border-radius: 12px; }
.lang-menu summary::-webkit-details-marker { display: none; }
.lang-menu summary:hover { background: var(--beige); }
.lang-list { position: absolute; inset-inline-end: 0; top: calc(100% + 6px); z-index: 30; display: grid; min-width: 160px; padding: 8px; background: #fff; border-radius: 12px; box-shadow: 0 8px 28px rgba(0, 0, 0, .16); }
.lang-list a { padding: 9px 12px; border-radius: 8px; color: var(--ink); font-weight: 600; text-decoration: none; }
.lang-list a:hover, .lang-list a[aria-current] { background: var(--beige); }
.ed-navlink { white-space: nowrap; }
.lang-list a[lang="ar"], .lang-foot a[lang="ar"] { font-family: 'Noto Sans Arabic', Tahoma, Arial, sans-serif; font-size: 18px; }
.lang-foot { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 16px; font-weight: 600; font-size: 18px; }
.lang-foot a { color: var(--ink); }
.lang-foot a[aria-current] { text-decoration: underline; text-decoration-color: var(--green); text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* ----- Arabic: its own letters, and no tracking, which would break the joins */
html[lang="ar"] { --font-display: 'Noto Sans Arabic', Tahoma, Arial, sans-serif; --font-body: 'Noto Sans Arabic', Tahoma, Arial, sans-serif; }
html[lang="ar"] * { letter-spacing: 0 !important; }
html[lang="ar"] .ed-h1, html[lang="ar"] .ed-h2 { line-height: 1.22; }
html[lang="ar"] .iphone, html[lang="ar"] .ed-laurel-row { direction: ltr; }
/* Off-screen left is a 10,000 px scroll on a right-to-left page. */
[dir="rtl"] .skip-link { left: auto; right: 0; top: 0; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
[dir="rtl"] .hp-field { left: auto; right: 0; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
[dir="rtl"] .skip-link:focus { width: auto; height: auto; overflow: visible; clip-path: none; }

/* ----- Waiting list -------------------------------------------------------- */
.ed-notify-link { margin: 10px 0 0; font-size: 18px; font-weight: 600; }
.ed-waitlist { margin-top: clamp(40px, 5vw, 56px); padding-top: 28px; border-top: 1px solid var(--rule); width: 100%; max-width: 34rem; }
.ed-waitlist > p { margin: 8px 0 18px; font-size: 19px; }
.ed-waitlist-label { display: block; margin-bottom: 8px; font-weight: 700; font-size: 17px; }
.ed-waitlist .waitlist { max-width: none; }
.ed-waitlist select, .ed-waitlist input[type='email'] { width: 100%; min-height: 54px; font-size: 18px; color: var(--ink); background: #FFFFFF;
  border: 1.5px solid #8A8A85; border-radius: 12px; }
.ed-waitlist input[type='email'] { flex: 1 1 14rem; padding: 0 16px; }
.ed-waitlist select:invalid { color: #5E5E59; }
.ed-waitlist-btn { flex: 0 0 auto; min-height: 54px; padding: 0 28px; border: 0; border-radius: 999px; background: #22E06A; color: #0A0A0A;
  font-family: var(--font-display); font-weight: 800; font-size: 19px; cursor: pointer; }
.ed-waitlist-btn:hover { background: #1BCB5E; }
.ed-waitlist .cta-note { color: #4A4A46; margin: 12px 0 0; }
[dir="rtl"] .select-wrap::after { right: auto; left: 18px; }
[dir="rtl"] .ed-waitlist select { padding: 0 var(--s4) 0 48px; }

/* ----- Sizes -------------------------------------------------------------- */
@media (max-width: 1240px) {
  .ed-navlink { display: none; }
  .nav-toggle { display: inline-flex; }
  .ed-nav { gap: 14px; }
}
@media (max-width: 1081px) {
  .ed-h1 { font-size: clamp(40px, 13.4vw, 104px); }
}
@media (max-width: 987px) {
  .ed-laurel-num { font-size: min(10.5vw, 84px); }
  .ed-laurel-leaf { height: min(28vw, 190px); }
}
@media (max-width: 760px) {
}
@media (max-width: 760px) {
  .ed-header { gap: 10px 12px; }
  .ed-nav { gap: 10px; }
}
@media (max-width: 760px) {
  .ed-cmp-col { width: 84px; }
  .ed-cmp th, .ed-cmp td { padding: 15px 6px; }
  .ed-cmp thead th { font-size: 17px; }
  .ed-cmp thead th:last-child { font-size: 15px; }
  .ed-cmp-note { display: none; }
}
@media (max-width: 700px) {
  .ed-logo-icon { width: 58px; height: 58px; }
  .ed-logo-word { height: 32px; }
  .ed-logo-tag { font-size: 18px; }
}
@media (min-width: 601px) and (max-width: 700px) {
  .ed-logo { gap: 9px; }
  .ed-logo-tag { font-size: 16px; }
  .lang-menu summary { padding: 8px 9px; }
  .lang-menu summary span { display: none; }
}
@media (max-width: 600px) {
  html { scroll-padding-top: 0; }
  .ed-top { position: static; }
  .ed-nav { display: none; }
  .getbar { display: flex; }
  .getbar .nav-toggle { display: inline-flex; }
  .ed-close-btn { display: none; }
  .ed-waitlist input[type='email'] { flex: 0 0 auto; }
  .ed-waitlist-btn { width: 100%; }
  .store-links--ed { gap: 12px; flex-wrap: nowrap; }
  .store-links--ed img { height: min(13.2vw, 58px); }
  .data-table, .data-table td, .data-table th { font-size: 16px; }
  .mobile-menu { bottom: calc(74px + env(safe-area-inset-bottom)); }
}
@media (max-width: 480px) {
  .ed-logo-icon { width: 58px; height: 58px; }
  .ed-logo-word { height: 32px; }
  .ed-logo-tag { font-size: 18px; }
}
@media (max-width: 400px) {
  .ed-logo { gap: 9px; }
  .ed-logo-icon { width: 48px; height: 48px; }
  .ed-logo-word { height: 27px; }
  .ed-logo-tag { font-size: 16px; }
}
@media (max-width: 365px) {
  .lang-menu summary { padding: 8px 9px; }
  .lang-menu summary span { display: none; }
}
@media (max-width: 340px) {
  .ed-logo-tag { font-size: 15px; }
}
