/* EngPeak site layer (19 Sep 2026) — shared header nav, footer links, and the v2 page system.
   Loaded after each page's own <style>. Selectors are scoped (.sn, .sf, body.v2) so older
   page styles stay intact; see docs/DESIGN_SYSTEM.md. */
:root{
  /* EngPeak identity (pre-redesign palette): navy + brand orange, cool greys, one colour per exam */
  --ep-navy-900:#16224F;--ep-navy:#1B2A6B;--ep-navy-700:#24378A;--ep-ink:#1F2A44;--ep-ink-2:#4B5563;
  --ep-paper:#FFFFFF;--ep-paper-2:#F7F8FC;--ep-paper-3:#EEF1F8;--ep-line:#E6E8F0;--ep-blue-soft:#EAF1FF;
  --ep-orange:#F26B21;--ep-orange-2:#E0560F;--ep-orange-deep:#CC4A0B;--ep-orange-ink:#B4410C;--ep-orange-soft:#FFF1E8;
  --ep-gold:var(--ep-orange);--ep-gold-ink:var(--ep-orange-ink);--ep-gold-soft:var(--ep-orange-soft);
  --ep-ok:#146C43;--ep-ok-soft:#E4F3EA;--ep-prep:#5B4B8A;--ep-prep-soft:#EFEBF8;
  --ep-r-s:12px;--ep-r:18px;--ep-r-l:24px;
  --ep-sh:0 10px 28px rgba(27,42,107,.08);
  --ep-glass:rgba(255,255,255,.94);
  --ep-disp:'Plus Jakarta Sans','Sarabun',system-ui,sans-serif;--ep-font:'Sarabun',-apple-system,system-ui,sans-serif;
}

/* ---------- header nav (all public pages) ---------- */
header .sn{display:flex;align-items:center;margin:0 0 0 18px;font-size:.93rem;font-weight:600;gap:0}
header .sn ul{list-style:none;margin:0;padding:0}
header .sn .sn-list{display:flex;align-items:center;gap:2px}
header .sn .sn-item{position:relative}
header .sn .sn-top{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:999px;color:var(--ep-ink);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;white-space:nowrap}
header .sn .sn-top:hover{background:var(--ep-paper-2)}
header .sn .sn-top[aria-current="page"]{color:var(--ep-navy);box-shadow:inset 0 -2px 0 var(--ep-gold)}
header .sn .sn-top[data-panel]::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.7;transition:transform .15s}
header .sn .sn-top[aria-expanded="true"]::after{transform:translateY(1px) rotate(-135deg)}
header .sn .sn-panel{display:none;position:absolute;top:calc(100% + 8px);left:0;z-index:30;min-width:280px;padding:18px;border-radius:var(--ep-r);
  background:#fff;border:1px solid var(--ep-line);box-shadow:0 18px 48px rgba(14,24,56,.16)}
header .sn .sn-panel.open{display:block}
html:not(.js) header .sn .sn-item:hover .sn-panel,html:not(.js) header .sn .sn-item:focus-within .sn-panel{display:block}
header .sn .sn-cols{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(170px,1fr));gap:18px 26px}
header .sn .sn-h{margin:0 0 6px;font-size:.8rem;color:var(--ep-gold-ink);font-weight:700}
header .sn .sn-panel a{display:block;padding:8px 10px;margin:0 -10px;border-radius:10px;color:var(--ep-ink);text-decoration:none;line-height:1.35}
header .sn .sn-panel a:hover{background:var(--ep-paper-2)}
header .sn .sn-panel a small{display:block;font-weight:400;font-size:.8rem;color:var(--ep-ink-2)}
header .sn .sn-panel .sn-all{margin-top:12px;padding-top:12px;border-top:1px solid var(--ep-line);font-weight:700;color:var(--ep-navy)}
header .sn .sn-toggle{display:none}
header .sn :focus-visible{outline:3px solid var(--ep-navy-700);outline-offset:2px}
@media (max-width:960px){
  header .wrap{flex-wrap:wrap;height:auto;min-height:64px;gap:8px 12px;padding-top:10px;padding-bottom:10px}
  header .sn{order:2;margin:0 0 0 auto}
  header .navbtns{order:3;margin-left:0;flex-basis:100%;display:flex;gap:8px}
  header .navbtns .btn{flex:1;display:inline-flex}
  html.js header .sn .sn-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--ep-line);background:var(--ep-paper);color:var(--ep-ink);font:inherit;font-weight:700;cursor:pointer}
  html.js header .sn .sn-toggle::before{content:"";width:16px;height:10px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;box-shadow:inset 0 -4px 0 -2px currentColor}
  html.js header .sn .sn-list{display:none;position:absolute;left:0;right:0;top:100%;z-index:30;max-height:calc(100vh - 120px);overflow:auto;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 18px;background:var(--ep-paper);border-bottom:1px solid var(--ep-line);box-shadow:0 18px 40px rgba(14,24,56,.14)}
  html.js header .sn.open .sn-list{display:flex}
  html:not(.js) header .sn .sn-list{flex-wrap:wrap}
  header .sn .sn-item{border-bottom:1px solid var(--ep-line)}
  html:not(.js) header .sn .sn-item{border:0}
  header .sn .sn-item:last-child{border-bottom:0}
  html.js header .sn .sn-top{width:100%;justify-content:space-between;min-height:52px;padding:0 4px;border-radius:0}
  header .sn .sn-panel{position:static;box-shadow:none;border:0;padding:0 4px 12px;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;min-width:0}
  header .sn .sn-cols{grid-template-columns:1fr 1fr;gap:12px 16px}
}
@media (max-width:420px){header .sn .sn-cols{grid-template-columns:1fr}}
@media (max-width:960px){
  body.v2 header .wrap{flex-wrap:nowrap;min-height:60px;padding-top:8px;padding-bottom:8px;gap:8px}
  body.v2 header .navbtns{order:2;flex-basis:auto;margin-left:auto}
  body.v2 header .navbtns .btn{flex:none}
  body.v2 header .sn{order:3;margin:0}
  header .navbtns .btn{min-height:44px}
}
@media (max-width:520px){
  body.v2 header .navbtns .btn.primary{display:none}
  body.v2 header .logo small{display:none}
  html.js body.v2 header .sn .sn-toggle{padding:0 14px}
}
@media (max-width:420px){body.ep.v2 header .wrap{gap:6px;padding-left:12px;padding-right:10px}body.v2 header .navbtns .btn{padding:0 14px}html.js body.v2 header .sn .sn-toggle{padding:0 12px}}
@media (max-width:370px){body.v2 header .logo span{display:none}}

/* ---------- footer site links (all public pages) ---------- */
footer .sf{flex-basis:100%;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding:6px 0 18px;margin-bottom:6px;border-bottom:1px solid rgba(255,255,255,.16);font-size:.9rem}
footer .sf .sf-h{margin:0 0 8px;font-size:.84rem;color:#FFC9A8;font-weight:700}
footer .sf ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
footer .sf ul a{display:inline-block;padding:5px 0;color:#fff;text-decoration:none}
footer .sf ul a:hover{text-decoration:underline}
footer .sf ul a:focus-visible{outline:3px solid #FFC9A8;outline-offset:2px;border-radius:4px}
@media (max-width:760px){footer .sf{grid-template-columns:1fr 1fr}}

/* ---------- v2 page system (home, exams, duang, 404) ---------- */
body.v2{margin:0;background:var(--ep-paper);color:var(--ep-ink);font-family:var(--ep-font);font-size:16px;line-height:1.6;-webkit-text-size-adjust:100%}
body.v2 *,body.v2 *::before,body.v2 *::after{box-sizing:border-box}
body.v2 [hidden]{display:none!important}
body.v2 h1,body.v2 h2,body.v2 h3{font-family:var(--ep-disp);color:var(--ep-navy-900);margin:0;line-height:1.3;letter-spacing:-.01em}
body.v2 a{color:var(--ep-navy-700)}
body.v2 :focus-visible{outline:3px solid var(--ep-navy-700);outline-offset:3px;border-radius:6px}
body.v2 .wrap{max-width:1180px;margin:0 auto;padding:0 24px}
@media (max-width:640px){body.v2 .wrap{padding:0 16px}}
body.v2 .skip{position:absolute;left:-9999px;top:8px;z-index:50;background:var(--ep-navy);color:#fff;padding:10px 16px;border-radius:10px}
body.v2 .skip:focus{left:12px}
body.v2 header{position:sticky;top:0;z-index:20;background:var(--ep-glass);border-bottom:1px solid rgba(227,223,213,.8)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){body.v2 header{-webkit-backdrop-filter:saturate(1.5) blur(16px);backdrop-filter:saturate(1.5) blur(16px)}}
body.v2 header .wrap{display:flex;align-items:center;gap:18px;min-height:68px}
body.v2 .logo{display:flex;align-items:center;gap:10px;text-decoration:none;min-height:44px}
body.v2 .logo img{width:38px;height:38px;border-radius:50%}
body.v2 .logo b{display:block;font-family:var(--ep-disp);font-size:1.2rem;font-weight:800;color:var(--ep-navy);line-height:1.05}
body.v2 .logo b i{font-style:normal;color:var(--ep-orange)}
body.v2 .logo small{display:block;font-size:.68rem;color:var(--ep-ink-2);font-weight:600}
body.v2 .navbtns{display:flex;gap:10px;margin-left:auto;align-items:center}
body.v2 .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;border:1.5px solid transparent;font:inherit;font-weight:700;font-size:1rem;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s,box-shadow .15s}
body.v2 .btn.sm{min-height:44px;padding:0 18px;font-size:.93rem}
body.v2 .btn.primary{background:linear-gradient(135deg,var(--ep-orange),var(--ep-orange-2));color:#fff;font-size:1.1875rem;box-shadow:0 8px 18px rgba(242,107,33,.28)}
body.v2 .btn.primary:hover{background:var(--ep-orange-2)}
body.v2 .btn.sm.primary{background:var(--ep-orange-deep);font-size:.93rem}
body.v2 .btn.sm.primary:hover{background:var(--ep-orange-ink)}
body.v2 .btn.navy{background:var(--ep-navy);color:#fff}
body.v2 .btn.secondary{background:var(--ep-paper);color:var(--ep-navy);border-color:var(--ep-navy)}
body.v2 .btn.secondary:hover{background:var(--ep-paper-2)}
body.v2 .btn.quiet{background:var(--ep-paper);color:var(--ep-navy);border-color:var(--ep-navy)}
body.v2 .kicker{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:700;color:var(--ep-gold-ink)}
body.v2 .kicker.en{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
body.v2 .kicker::before{content:"";width:22px;height:2px;background:var(--ep-orange)}
body.v2 section{padding:80px 0 0}
@media (max-width:760px){body.v2 section{padding-top:56px}body.v2 .sh{margin-bottom:22px}}
body.v2 .sh{max-width:680px;margin:0 0 28px}
body.v2 .sh h2{font-size:clamp(1.55rem,2.6vw,2.1rem);font-weight:800;margin-top:10px}
body.v2 .sh p{margin:10px 0 0;color:var(--ep-ink-2);font-size:1.02rem}
body.v2 .muted{color:var(--ep-ink-2)}
body.v2 .pill{display:inline-flex;align-items:center;gap:6px;flex:none;white-space:nowrap;font-size:.78rem;font-weight:700;padding:4px 11px;border-radius:999px}
body.v2 .pill.open{background:var(--ep-ok-soft);color:var(--ep-ok)}
body.v2 .pill.open::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
body.v2 .pill.prep{background:var(--ep-prep-soft);color:var(--ep-prep)}
body.v2 .pill.prep::before{content:"";width:7px;height:7px;border-radius:50%;border:1.5px solid currentColor}
body.v2 .chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
body.v2 .chips li{font-size:.82rem;padding:3px 10px;border-radius:999px;background:var(--ep-paper-2);border:1px solid var(--ep-line);color:var(--ep-ink)}
body.v2 .card{background:var(--ep-paper);border:1px solid var(--ep-line);border-radius:var(--ep-r-l);padding:26px;box-shadow:var(--ep-sh)}
/* faq */
body.v2 .faq{display:grid;gap:10px;max-width:820px}
body.v2 .faq details{border:1px solid var(--ep-line);border-radius:var(--ep-r);background:var(--ep-paper)}
body.v2 .faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:14px 20px;font-weight:700;color:var(--ep-navy-900)}
body.v2 .faq summary::-webkit-details-marker{display:none}
body.v2 .faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--ep-gold-ink);flex:none}
body.v2 .faq details[open] summary::after{content:"−"}
body.v2 .faq details>div{padding:0 20px 18px;color:var(--ep-ink)}
body.v2 .faq details>div p{margin:0}
/* footer */
body.v2 footer{margin-top:80px;background:var(--ep-navy);color:#fff;padding:40px 0 26px}
body.v2 footer .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
body.v2 footer .logo b{color:#fff}
body.v2 footer .logo small{color:#C9D2F0}
body.v2 footer .tag{color:#DBE2F5}
body.v2 footer .disc{width:100%;margin:6px 0 0;color:#C9D2F0;font-size:.8rem;line-height:1.6}
body.v2 footer .disc a{color:#fff}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ======================================================================================
   Glass layer (owner, 19 Sep 2026: "iOS 27, glass design, every page").
   Ambient colour field behind every public page (body.ep) + translucent, blurred surfaces.
   Every surface keeps >= 0.62 white fill over a pale field, so text contrast does not depend
   on what scrolls behind it. Without backdrop-filter support the fills alone stay readable.
   ====================================================================================== */
body.ep{
  --g-fill:rgba(255,255,255,.62);--g-fill-strong:rgba(255,255,255,.82);--g-edge:rgba(255,255,255,.78);
  --g-blur:saturate(180%) blur(22px);
  --g-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(27,42,107,.05),0 14px 34px rgba(27,42,107,.10);
  background-color:#EEF1F8;
  background-image:
    radial-gradient(38vmax 38vmax at 6% 2%,rgba(242,107,33,.22),transparent 62%),
    radial-gradient(44vmax 44vmax at 100% 8%,rgba(36,55,138,.20),transparent 60%),
    radial-gradient(36vmax 36vmax at 78% 92%,rgba(200,30,85,.13),transparent 62%),
    radial-gradient(34vmax 34vmax at 8% 88%,rgba(15,118,110,.12),transparent 62%),
    linear-gradient(180deg,#F5F7FC 0,#EDF0F8 100%);
  background-attachment:fixed}
body.ep main,body.ep section,body.ep .hero{background:transparent}

/* surfaces */
body.ep .path,body.ep .fam,body.ep .ex,body.ep .pk a,body.ep .acct,body.ep .acct li,body.ep .faq details,body.ep .eb,body.ep .rvGrid figure,
body.ep .card,body.ep .week,body.ep .pl,body.ep .faq,body.ep .cta,body.ep .facts div,body.ep .ladder,body.ep .book,body.ep .pair,
body.ep .goal,body.ep .panel,body.ep .compare,body.ep .duang,body.ep .duang .out{
  background:var(--g-fill);border:1px solid var(--g-edge);box-shadow:var(--g-shadow);
  -webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur)}
body.ep .panel{border-top:5px solid var(--navy,#1B2A6B)}
body.ep .ex{border-top:4px solid var(--accent,var(--g-edge))}
body.ep .path:hover,body.ep .card:hover,body.ep .book:hover,body.ep .pk a:hover{background:var(--g-fill-strong)}
body.ep .ex.prep{background:rgba(255,255,255,.42);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
body.ep .prod .fit,body.ep .stage .ext,body.ep .goal .ex,body.ep .panel .facts span,body.ep .chips li{background:rgba(255,255,255,.72);border:1px solid rgba(27,42,107,.08)}
body.ep table,body.ep th{background:rgba(255,255,255,.8)}

/* floating glass header capsule */
body.ep header{position:sticky;top:10px;z-index:40;width:calc(100% - 24px);max-width:1236px;margin:10px auto 0;border-radius:22px;
  background:rgba(255,255,255,.66);border:1px solid var(--g-edge);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 10px 30px rgba(27,42,107,.12);
  -webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px)}
body.ep header .wrap{padding-left:18px;padding-right:14px}
body.ep header .sn .sn-panel{top:calc(100% + 14px);background:rgba(255,255,255,.86);border:1px solid var(--g-edge);border-radius:22px;
  box-shadow:0 24px 60px rgba(27,42,107,.18);-webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px)}
@media (max-width:960px){
  html.js body.ep header .sn .sn-list{top:calc(100% + 8px);border-radius:22px;border:1px solid var(--g-edge);background:rgba(255,255,255,.9);
    -webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px)}
  body.ep header .sn .sn-panel{background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  body.ep header{top:8px;width:calc(100% - 16px);margin-top:8px;border-radius:20px}
}

/* buttons: iOS-like pills with a top highlight */
body.ep .btn{box-shadow:inset 0 1px 0 rgba(255,255,255,.28)}
body.ep .btn.primary,body.ep .btn.pink,body.ep .btn.orange,body.ep .btn.accent,body.ep .btn.navy{box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 8px 20px rgba(27,42,107,.16)}
body.ep .btn.outline,body.ep .btn.ghost,body.ep .btn.quiet,body.ep .btn.secondary{background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
body.ep .btn:active{transform:scale(.98)}

/* footer: deep navy glass */
body.ep footer{background:rgba(27,42,107,.94);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
/* v2 rhythm: centred section heads, centred FAQ, segmented goal control, dark-glass method band */
body.v2.ep .sh{margin-left:auto;margin-right:auto;text-align:center}
body.v2.ep .sh .kicker{justify-content:center}
body.v2.ep .faq{margin:0 auto;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}
body.v2.ep .eb{background:linear-gradient(120deg,rgba(255,241,232,.82),rgba(255,255,255,.6))}
body.v2.ep .method{background:rgba(27,42,107,.9);border:1px solid rgba(255,255,255,.18);box-shadow:0 20px 50px rgba(27,42,107,.25);-webkit-backdrop-filter:saturate(160%) blur(20px);backdrop-filter:saturate(160%) blur(20px)}
body.v2.ep .method-note{background:rgba(255,241,232,.78);border:1px solid var(--g-edge);-webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur)}
body.v2.ep .goal-filter{display:flex;flex-wrap:nowrap;width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none;margin:0 auto 22px;padding:4px;gap:2px;border-radius:999px;
  background:rgba(118,118,128,.12);border:1px solid rgba(255,255,255,.6);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
body.v2.ep .goal-filter[hidden]{display:none}
body.v2.ep .gf{flex:none;white-space:nowrap;border:0;background:transparent;min-height:44px;padding:0 18px;color:var(--ep-ink);transition:background-color .2s,box-shadow .2s}
body.v2.ep .gf[aria-pressed="true"]{background:#fff;color:var(--ep-navy);box-shadow:0 1px 2px rgba(0,0,0,.08),0 4px 12px rgba(27,42,107,.12)}
body.v2.ep .goal-more{text-align:center}
body.v2.ep .fam-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;margin-bottom:14px;color:#fff;
  background:linear-gradient(135deg,var(--ic1,#F26B21),var(--ic2,#E0560F));box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 6px 14px rgba(27,42,107,.16)}
body.v2.ep .fam-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:520px){body.v2.ep .gf{padding:0 12px;font-size:.88rem}}
body.v2.ep .goal-filter::-webkit-scrollbar{display:none}
/* exam pages: FAQ as separate rounded glass rows, same as the homepage (owner, 19 Sep 2026) */
body.ep:not(.v2) .faq{display:grid;gap:10px;padding:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
body.ep:not(.v2) .faq details{padding:0 20px;border-radius:18px;border:1px solid var(--g-edge)}
body.ep:not(.v2) .faq summary{min-height:56px;padding:14px 0}
body.ep:not(.v2) .faq summary::after{color:#B4410C;font-weight:600}
body.ep:not(.v2) .faq details p{padding:0 0 4px}
/* login chooser (owner, 19 Sep 2026: one clear list instead of scattered cards) */
body.v2 .lg{max-width:640px;margin:0 auto;padding:44px 0 0}
body.v2 .lg h1{text-align:center;font-size:clamp(1.9rem,4vw,2.5rem);font-weight:800}
body.v2 .lg .lg-sub{text-align:center;margin:8px 0 28px;color:var(--ep-ink-2)}
body.v2 .lg-h{margin:26px 4px 10px;font-size:.84rem;font-weight:700;color:var(--ep-ink-2)}
body.v2 .lg-list{list-style:none;margin:0;padding:0;border-radius:22px;overflow:hidden;background:var(--g-fill,#fff);border:1px solid var(--g-edge,#E6E8F0);box-shadow:var(--g-shadow,none);
  -webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur)}
body.v2 .lg-list li+li{border-top:1px solid rgba(27,42,107,.08)}
body.v2 .lg-row{display:flex;align-items:center;gap:14px;min-height:72px;padding:14px 18px;color:var(--ep-ink);text-decoration:none}
body.v2 a.lg-row:hover{background:rgba(255,255,255,.55)}
body.v2 .lg-ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;color:#fff;background:var(--c,#1B2A6B);box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
body.v2 .lg-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.v2 .lg-t{flex:1;min-width:0}
body.v2 .lg-t b{display:block;font-family:var(--ep-disp);font-size:1.02rem;color:var(--ep-navy-900)}
body.v2 .lg-t span{display:block;font-size:.88rem;color:var(--ep-ink-2)}
body.v2 .lg-go{flex:none;font-weight:700;color:var(--ep-navy-700);white-space:nowrap}
body.v2 .lg-go::after{content:" ›";font-size:1.2em}
body.v2 .lg-note{margin:18px 4px 0;font-size:.9rem;color:var(--ep-ink-2);text-align:center}
body.v2 .lg-note a{font-weight:700}
@media (max-width:560px){
  body.v2.ep .goal-filter{display:grid;grid-template-columns:1fr 1fr;width:100%;border-radius:22px;overflow:visible}
  body.v2.ep .goal-filter[hidden]{display:none}
  body.v2.ep .gf{justify-content:center;border-radius:16px;white-space:normal;text-align:center}
  body.v2.ep .gf[data-goal="all"]{grid-column:1/-1}
}

/* Cookie bar (20 Sep 2026). Fixed to the bottom on every page; site.js unhides it only when the
   visitor has not answered yet. Colours are literal: the bar also renders inside the dark footer,
   where the page variables would make the text invisible. */
.ep-consent{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;justify-content:center;
  gap:14px;flex-wrap:wrap;padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:#fff;color:#1F2A44;border-top:1px solid #E6E8F0;box-shadow:0 -6px 24px rgba(27,42,107,.14);
  font-size:.86rem;line-height:1.45;text-align:left}
.ep-consent[hidden]{display:none}
.ep-consent p{margin:0;flex:1 1 320px;min-width:0;color:#1F2A44}
.ep-consent a{color:#1B2A6B;font-weight:700}
.ep-consent-act{display:flex;gap:8px;flex:0 0 auto}
.ep-consent button{min-height:44px;padding:10px 22px;border-radius:999px;font:inherit;font-weight:700;cursor:pointer}
.ep-consent .ep-yes{border:1px solid #1B2A6B;background:#1B2A6B;color:#fff}
.ep-consent .ep-no{border:1px solid #C9CDDB;background:#fff;color:#1F2A44}
@media (max-width:560px){
  .ep-consent{gap:10px}
  .ep-consent-act{width:100%}
  .ep-consent button{flex:1}
}
