/* ==== FLEET THEME STANDARD — sizing tokens (from WordPress Design & Development Core)
   docs/elementor-pro/13-global-layout-foundation.md · 15-global-content-spacing-policy.md ·
   docs/quy-chuan-layout-va-tuong-tac.md. Paste this block verbatim at the top of the theme CSS.
   Change only colours/fonts/radius below the block, never the sizing values. ==== */
:root{
  /* Content width = OUTER container max-width (padding sits inside it) */
  --container-max:1440px;
  --container-pad:clamp(48px,5vw,96px);
  /* Section Spacing (band padding-block) */
  --section-y:120px; --section-y-compact:80px;
  /* Content Spacing (gap of content stacks) — sm <= md <= lg */
  --content-gap-sm:12px; --content-gap-md:24px; --content-gap-lg:48px;
  /* Grid / card collection gap */
  --grid-gap:32px;
  /* Component padding (inside cards/surfaces) */
  --card-pad:32px;
  /* Interaction */
  --touch:44px;
}
/* Laptop 1025–1366 */
@media (max-width:1366px){:root{--container-max:1366px;--container-pad:clamp(40px,4.5vw,72px);--section-y:104px;--section-y-compact:72px;--content-gap-md:20px;--content-gap-lg:40px;--grid-gap:28px;--card-pad:28px}}
/* Tablet 769–1024 */
@media (max-width:1024px){:root{--container-max:1024px;--container-pad:clamp(24px,4vw,48px);--section-y:80px;--section-y-compact:64px;--content-gap-sm:10px;--content-gap-md:20px;--content-gap-lg:32px;--grid-gap:24px;--card-pad:24px}}
/* Mobile <=768 */
@media (max-width:768px){:root{--container-max:768px;--container-pad:clamp(16px,5vw,24px);--section-y:64px;--section-y-compact:48px;--content-gap-sm:8px;--content-gap-md:16px;--content-gap-lg:28px;--grid-gap:16px;--card-pad:20px}}

/* Band -> Inner. Header, main and footer inners all use .container */
.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad);box-sizing:border-box}
.band{padding-block:var(--section-y)}
.band.compact{padding-block:var(--section-y-compact)}
/* Content stacks: sibling spacing ONLY via parent gap */
.stack{display:flex;flex-direction:column;gap:var(--content-gap-md)}
.stack-sm{display:flex;flex-direction:column;gap:var(--content-gap-sm)}
.stack-lg{display:flex;flex-direction:column;gap:var(--content-gap-lg)}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
/* Reset default UA margins so nothing spaces siblings by accident */
h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote,dl,dd{margin:0}
/* Prose exception (rich text inside ONE article body) */
.prose p,.prose ul,.prose ol,.prose blockquote,.prose figure{margin-block:0 1em}
.prose h2,.prose h3{margin-block:1.6em .5em}
[hidden]{display:none!important}
/* Accessibility baseline */
:focus-visible{outline:3px solid currentColor;outline-offset:3px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* ==== END FLEET THEME STANDARD ==== */

/* ==== LINGUA LOFT theme — colours, type, components ==== */
:root{
  --paper:#F5F2EA; --white:#FFFFFF; --ink:#12142B; --ink-2:#4A4D66; --line:rgba(18,20,43,.14);
  --blue:#2438E8; --blue-d:#1A28B0; --red:#F04E2D; --red-d:#B8321A; --yellow:#FFC233; --green:#0F8F6A; --green-d:#0B6B50;
  --display:"Unbounded",system-ui,sans-serif; --sans:"Figtree",system-ui,sans-serif;
  --r:6px; --r-lg:14px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
main{overflow-x:clip;display:block}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.08;letter-spacing:-.02em}
h1{font-size:clamp(40px,5.4vw,80px)}
.h1-sm{font-size:clamp(34px,4.2vw,60px)}
h2{font-size:clamp(30px,3.4vw,50px)}
h3,.h3{font-size:clamp(19px,1.5vw,22px);letter-spacing:-.01em}
h4{font-size:15px;font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.12em}
h3 a,h2 a{text-decoration:none}
h3 a:hover,h2 a:hover{text-decoration:underline;text-underline-offset:4px}
.lead{font-size:clamp(18px,1.35vw,20px);color:var(--ink-2);max-width:58ch}
.muted{color:var(--ink-2)}
.center{text-align:center;align-items:center}
.center .lead{text-align:center}
.narrow{max-width:62ch}
.jc{justify-content:center}
.bg-paper{background:var(--paper)}
.bg-blue{background:var(--blue);color:#fff}
/* colour blocks */
.c-blue{background:var(--blue);color:#fff}
.c-red{background:var(--red);color:var(--ink)}
.c-yellow{background:var(--yellow);color:var(--ink)}
.c-green{background:var(--green);color:#fff}
.c-ink{background:var(--ink);color:#fff}
/* tags */
.tag{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;font:700 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:8px 12px;border-radius:999px}
.center>.tag,.center .tag{align-self:center}
.t-blue{background:var(--blue);color:#fff}.t-red{background:var(--red);color:var(--ink)}.t-yellow{background:var(--yellow);color:var(--ink)}.t-green{background:var(--green);color:#fff}.t-ink{background:var(--ink);color:#fff}
.t-soft{background:var(--paper);color:var(--ink-2);border:1px solid var(--line)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding-inline:26px;border-radius:999px;border:2px solid var(--ink);background:var(--ink);color:#fff;font:700 16px/1 var(--sans);text-decoration:none;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.btn:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-2px);box-shadow:4px 4px 0 var(--yellow)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.light{background:#fff;color:var(--ink);border-color:#fff}
.btn.light:hover{background:var(--yellow);border-color:var(--yellow)}
.btn.ink{background:var(--ink)}
.btn.full{width:100%}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
.push{margin-inline-start:auto}
/* header */
.skip{position:absolute;left:12px;top:-60px;z-index:300;background:var(--ink);color:#fff;padding:12px 16px;border-radius:var(--r)}
.skip:focus{top:12px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:2px solid var(--ink)}
.site-header .container{display:flex;align-items:center;gap:20px;min-height:80px;position:relative}
.logo{display:inline-flex;align-items:center;gap:10px;font:800 21px/1 var(--display);letter-spacing:-.03em;text-decoration:none;white-space:nowrap;min-height:var(--touch)}
.logo .mark{display:grid;grid-template-columns:repeat(2,11px);gap:2px}
.logo .mark i{width:11px;height:11px;display:block}
.logo .mark i:nth-child(1){background:var(--blue)}.logo .mark i:nth-child(2){background:var(--red)}.logo .mark i:nth-child(3){background:var(--yellow)}.logo .mark i:nth-child(4){background:var(--green)}
.nav{display:flex;gap:2px}
.nav a{display:inline-flex;align-items:center;min-height:var(--touch);padding-inline:12px;border-radius:999px;text-decoration:none;font-weight:600;font-size:15px;transition:background-color .2s ease,color .2s ease}
.nav a:hover{background:var(--paper)}
.nav a[aria-current=page]{background:var(--yellow)}
.hbtn{min-height:var(--touch);padding-inline:20px;font-size:15px}
.burger{display:none;width:var(--touch);height:var(--touch);border-radius:50%;border:2px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;align-items:center;justify-content:center}
.burger svg{width:20px;height:20px}
@media (max-width:1366px){.nav a{padding-inline:9px;font-size:14px}}
@media (max-width:1024px){
  .burger{display:inline-flex}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:2px;padding:16px var(--container-pad) 24px;background:#fff;border-bottom:2px solid var(--ink)}
  .nav.open{display:flex}
  .nav a{font-size:17px}
}
@media (max-width:480px){.hbtn{display:none}.site-header .container{min-height:68px}}
/* hero */
.hero{background:var(--paper)}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:var(--content-gap-lg);align-items:center}
.hello{display:inline-block;background:var(--blue);color:#fff;padding:0 .18em;border-radius:var(--r);transition:background-color .35s ease,color .35s ease}
.hello.swap{animation:pop .45s ease}
@keyframes pop{0%{transform:translateY(.25em);opacity:0}100%{transform:none;opacity:1}}
.hero-facts{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:var(--grid-gap)}
.hero-facts li{display:flex;flex-direction:column;gap:2px}
.hero-facts strong{font:700 26px/1 var(--display)}
.hero-facts span{font-size:14px;color:var(--ink-2)}
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,minmax(110px,1fr));gap:12px;aspect-ratio:1/1}
.tile{border-radius:var(--r-lg);overflow:hidden;position:relative;border:0;padding:0;font:inherit}
.tile .ph,.tile .ph img{width:100%;height:100%}
.tile .ph img{object-fit:cover}
.tile.big{grid-column:1/3;grid-row:1/3}
.mosaic .tile:nth-child(4){grid-column:2/4;grid-row:3}
.say{cursor:pointer;display:flex;align-items:flex-end;justify-content:flex-start;padding:16px;transition:transform .2s ease,box-shadow .2s ease}
.say span{font:800 clamp(24px,2.6vw,40px)/1 var(--display);text-transform:uppercase}
.say:hover{transform:translateY(-4px);box-shadow:6px 6px 0 var(--ink)}
.say.on{box-shadow:6px 6px 0 var(--ink)}
.say .bubble{position:absolute;inset:12px 12px auto 12px;font:700 15px/1.2 var(--sans);text-transform:none;background:#fff;color:var(--ink);padding:8px 10px;border-radius:var(--r)}
@media (max-width:1024px){.hero-grid{grid-template-columns:1fr}.mosaic{max-width:640px;aspect-ratio:auto;grid-template-rows:repeat(3,140px)}}
@media (max-width:768px){.mosaic{grid-template-rows:repeat(3,96px);gap:8px}.hero-facts{grid-template-columns:repeat(3,1fr);gap:12px}.hero-facts strong{font-size:21px}.say{padding:10px}.say .bubble{inset:8px 8px auto 8px;font-size:13px}}
/* language strip */
.strip{background:var(--ink)}
.langs{list-style:none;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.langs a{display:flex;flex-direction:column;gap:4px;padding:18px 20px;min-height:var(--touch);border-radius:var(--r-lg);text-decoration:none;font-weight:700;transition:transform .2s ease}
.langs li{border-radius:var(--r-lg)}
.langs a:hover{transform:translateY(-3px)}
.langs .code{font:800 30px/1 var(--display);text-transform:uppercase}
@media (max-width:1024px){.langs{grid-template-columns:repeat(3,1fr)}}
@media (max-width:480px){.langs{grid-template-columns:repeat(2,1fr);gap:8px}.langs a{padding:14px}}
/* section heads */
.shead{max-width:760px}
.split-head{display:flex;align-items:flex-end;gap:var(--content-gap-md);flex-wrap:wrap}
/* steps */
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap)}
.step{display:flex;flex-direction:column;gap:var(--content-gap-sm);padding:var(--card-pad);border-radius:var(--r-lg);min-height:260px}
.step .num{font:800 54px/1 var(--display);opacity:.9}
.step .num{flex:1}
@media (max-width:1024px){.steps{grid-template-columns:1fr}.step{min-height:0}.step .num{font-size:40px}}
/* course cards */
.cgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gap)}
.ccard{display:flex;flex-direction:column;background:#fff;border:2px solid var(--ink);border-radius:var(--r-lg);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.ccard:hover{transform:translateY(-4px);box-shadow:6px 6px 0 var(--ink)}
.ccard-media{position:relative;aspect-ratio:4/3;border-bottom:2px solid var(--ink)}
.ccard-media .ph,.ccard-media img{width:100%;height:100%;object-fit:cover}
.lvl{position:absolute;left:12px;top:12px;background:#fff;color:var(--ink);font:700 13px/1 var(--display);padding:8px 10px;border-radius:var(--r)}
.ccard-body{padding:var(--card-pad);flex:1;background:var(--paper)}
.ccard-foot{display:flex;align-items:center;gap:12px;padding-top:4px;border-top:1px solid var(--line)}
.price{font:700 22px/1 var(--display)}
.arrow{display:inline-flex;align-items:center;justify-content:center;width:var(--touch);height:var(--touch);border-radius:50%;background:var(--ink);color:#fff;text-decoration:none;font-weight:700;transition:background-color .2s ease}
.arrow:hover{background:var(--blue)}
@media (max-width:1366px){.cgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){.cgrid{grid-template-columns:1fr}}
/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gap)}
.stat{display:flex;flex-direction:column;gap:8px;border-top:3px solid var(--yellow);padding-top:20px}
.stat strong{font:800 clamp(38px,4vw,64px)/1 var(--display)}
@media (max-width:1024px){.stats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.stat strong{font-size:32px}.stat span{font-size:15px}}
/* feature split */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:var(--content-gap-lg);align-items:center}
.ph.r{border-radius:var(--r-lg);overflow:hidden}
.ph.r img{width:100%;aspect-ratio:3/2;object-fit:cover}
.ph.tall img{aspect-ratio:4/5}
.ph.sq img{aspect-ratio:1/1}
.ph.wide img{aspect-ratio:16/8}
.ticks{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}
.ticks li{display:flex;gap:12px;align-items:flex-start}
.ticks li::before{content:"";flex:none;width:14px;height:14px;background:var(--green);border-radius:3px;position:relative;top:6px}
@media (max-width:1024px){.feature{grid-template-columns:1fr}.ph.tall img{aspect-ratio:3/2}}
/* teachers */
.tgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gap)}
@media (max-width:1024px){.tgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.tgrid{gap:12px}.teacher h3{font-size:16px}.teacher .muted,.teacher p{font-size:14px}}
/* quotes */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap)}
.quote{display:flex;flex-direction:column;gap:var(--content-gap-md);justify-content:space-between;padding:var(--card-pad);border-radius:var(--r-lg)}
.quote p{font:500 clamp(18px,1.4vw,21px)/1.45 var(--sans)}
.quote footer{font-weight:700}
@media (max-width:1024px){.quotes{grid-template-columns:1fr}}
/* CTA */
.cta-box{display:grid;grid-template-columns:1.4fr auto;gap:var(--content-gap-lg);align-items:center;background:var(--yellow);border:2px solid var(--ink);border-radius:var(--r-lg);padding:clamp(28px,5vw,72px);box-shadow:10px 10px 0 var(--ink)}
.cta-box .lead{color:var(--ink)}
@media (max-width:1024px){.cta-box{grid-template-columns:1fr;box-shadow:6px 6px 0 var(--ink)}}
/* page hero */
.phero .crumbs{display:flex;gap:8px;flex-wrap:wrap;font-weight:600;font-size:15px}
.phero .crumbs a{display:inline-flex;align-items:center;min-height:var(--touch)}
.phero .crumbs span{display:inline-flex;align-items:center}
.phero.c-blue .lead,.phero.c-green .lead{color:#fff}
.phero.c-red .lead,.phero.c-yellow .lead{color:var(--ink)}
.phero h1{max-width:18ch}
/* values, gallery */
.vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gap)}
.value{display:flex;flex-direction:column;gap:var(--content-gap-sm);padding:var(--card-pad);border-radius:var(--r-lg);min-height:220px}
@media (max-width:1366px){.vgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){.vgrid{grid-template-columns:1fr}.value{min-height:0}}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap)}
@media (max-width:768px){.gallery{grid-template-columns:repeat(2,1fr);gap:8px}}
/* languages page */
.lgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap)}
.lang{border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;scroll-margin-top:100px}
.lang .ph img{width:100%;aspect-ratio:16/10;object-fit:cover}
.lang-body{padding:var(--card-pad);flex:1;background:rgba(18,20,43,.07)}
.lang .hi{font:800 clamp(26px,2.4vw,36px)/1.1 var(--display)}
.lang-foot{display:flex;align-items:center;gap:12px;font-weight:700}
.lang .arrow{background:#fff;color:var(--ink)}
.lang .arrow:hover{background:var(--yellow)}
@media (max-width:1024px){.lgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){.lgrid{grid-template-columns:1fr}}
/* course detail */
.detail-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--content-gap-lg);align-items:center}
.chip{display:inline-flex;align-items:center;min-height:36px;padding-inline:14px;border-radius:999px;background:#fff;color:var(--ink);font-weight:700;font-size:14px}
.detail{display:grid;grid-template-columns:1fr 380px;gap:var(--content-gap-lg);align-items:start}
.weeks{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--grid-gap)}
.week{display:flex;gap:16px;padding:var(--card-pad);border:2px solid var(--ink);border-radius:var(--r-lg);background:#fff}
.week .num{font:800 18px/1 var(--display);color:var(--blue);flex:none;width:64px}
.buybox{position:sticky;top:104px;padding:var(--card-pad);border:2px solid var(--ink);border-radius:var(--r-lg);background:var(--paper);box-shadow:8px 8px 0 var(--red)}
.big-price{font:800 48px/1 var(--display)}
@media (max-width:1024px){.detail-hero,.detail{grid-template-columns:1fr}.buybox{position:static}}
@media (max-width:768px){.weeks{grid-template-columns:1fr}}
/* quiz */
.quiz-wrap{display:grid;grid-template-columns:1fr 340px;gap:var(--content-gap-lg);align-items:start}
.quiz{padding:clamp(24px,4vw,56px);border:2px solid var(--ink);border-radius:var(--r-lg);background:#fff;box-shadow:10px 10px 0 var(--green)}
.bar{height:10px;border-radius:999px;background:var(--paper);overflow:hidden}
.bar span{display:block;height:100%;width:0;background:var(--blue);transition:width .3s ease}
.langpick{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.langpick legend{font-weight:700;padding:0;float:left;width:100%}
.opts{gap:8px}
.opt{position:relative;display:inline-flex;align-items:center;min-height:var(--touch);padding-inline:16px;border:2px solid var(--ink);border-radius:999px;font-weight:700;cursor:pointer;transition:background-color .2s ease,color .2s ease}
.opt input{position:absolute;inset:0;opacity:0;clip-path:inset(0);margin:0;cursor:pointer}
.opt:hover{background:var(--paper)}
.opt:has(input:checked){background:var(--ink);color:#fff}
.opt:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:3px}
.qtext{font-size:clamp(22px,2.2vw,32px)}
.answers{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.ans{min-height:64px;padding:14px 18px;text-align:left;border:2px solid var(--ink);border-radius:var(--r-lg);background:#fff;font:600 17px/1.3 var(--sans);color:var(--ink);cursor:pointer;transition:background-color .2s ease,transform .2s ease}
.ans:hover{background:var(--paper);transform:translateY(-2px)}
.ans[aria-pressed=true]{background:var(--yellow)}
.lvlbig{display:inline-block;background:var(--blue);color:#fff;padding:0 .2em;border-radius:var(--r)}
.result-course{display:flex;flex-direction:column;gap:6px;padding:var(--card-pad);background:var(--paper);border-radius:var(--r-lg)}
.cefr{padding:var(--card-pad);background:var(--paper);border-radius:var(--r-lg)}
.scale{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}
.scale li{display:flex;gap:14px;align-items:center;padding:12px 14px;border-radius:var(--r)}
.scale b{font:800 18px/1 var(--display);width:30px}
@media (max-width:1024px){.quiz-wrap{grid-template-columns:1fr}}
@media (max-width:768px){.answers{grid-template-columns:1fr}.quiz{box-shadow:6px 6px 0 var(--green)}}
/* schedule */
.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;padding:var(--card-pad);background:var(--paper);border-radius:var(--r-lg)}
.field{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px}
.field input,.field select,.field textarea{min-height:var(--touch);padding:10px 14px;border:2px solid var(--ink);border-radius:var(--r);font:400 16px/1.4 var(--sans);background:#fff;color:var(--ink);width:100%}
.field textarea{resize:vertical}
.filters .field{min-width:200px}
.tablewrap{overflow-x:auto;border:2px solid var(--ink);border-radius:var(--r-lg)}
.sched{width:100%;border-collapse:collapse;min-width:760px;background:#fff}
.sched th,.sched td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.sched th{background:var(--ink);color:#fff;font:700 13px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.sched tbody tr:hover{background:var(--paper)}
.dot{display:inline-block;width:12px;height:12px;border-radius:3px;flex:none}
.lg{display:inline-flex;align-items:center;gap:10px}
.seats{display:inline-block;padding:4px 10px;border-radius:999px;background:#DDF3EA;color:var(--green-d);font-weight:700;font-size:14px}
.seats.full{background:#FDE3DC;color:var(--red-d)}
.compare{min-width:560px}
@media (max-width:768px){.filters .field{min-width:0;flex:1 1 100%}.filters .push{margin-inline-start:0}}
/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap);align-items:stretch}
.plan{padding:var(--card-pad);border:2px solid var(--ink);border-radius:var(--r-lg);background:#fff}
.plan .ticks{flex:1}
.plan.feat{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:8px 8px 0 var(--yellow)}
.plan.feat .muted{color:#DDE1FF}
.plan.feat .ticks li::before{background:var(--yellow)}
.amount{font:800 44px/1 var(--display)}
.amount small{font:600 16px/1 var(--sans);opacity:.8}
.note{padding:var(--card-pad);background:var(--paper);border-radius:var(--r-lg);border-left:6px solid var(--red)}
.note a{font-weight:700}
@media (max-width:1024px){.plans{grid-template-columns:1fr}}
/* blog */
.lead-post{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--content-gap-lg);align-items:center}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap)}
@media (max-width:1024px){.lead-post{grid-template-columns:1fr}.pgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){.pgrid{grid-template-columns:1fr}}
.article{display:flex;flex-direction:column;gap:var(--content-gap-lg);max-width:900px;margin-inline:auto}
.prose{font-size:19px;line-height:1.75;max-width:68ch}
.prose h2{font-size:clamp(24px,2.2vw,32px)}
.prose blockquote{font:700 clamp(22px,2vw,28px)/1.3 var(--display);padding-inline-start:24px;border-left:6px solid var(--yellow)}
.prose ul{padding-inline-start:1.2em}
.author{display:flex;gap:18px;align-items:center;padding:var(--card-pad);background:var(--paper);border-radius:var(--r-lg)}
.author img{width:72px;height:72px;border-radius:50%;object-fit:cover}
/* contact */
.contact{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--content-gap-lg);align-items:start}
.cform{padding:var(--card-pad);border:2px solid var(--ink);border-radius:var(--r-lg);background:#fff}
.fgrid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--content-gap-md)}
.infobox{padding:var(--card-pad);border-radius:var(--r-lg)}
.infobox a{display:inline-flex;align-items:center;min-height:var(--touch);font-weight:700}
.faq-wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:var(--content-gap-lg);align-items:start}
.faq{display:flex;flex-direction:column;gap:12px}
.faq details{border:2px solid var(--ink);border-radius:var(--r-lg);background:#fff}
.faq summary{display:flex;align-items:center;min-height:60px;padding:14px var(--card-pad);font-weight:700;font-size:18px;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";margin-inline-start:auto;font:800 24px/1 var(--display);padding-inline-start:16px}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 var(--card-pad) var(--card-pad)}
@media (max-width:1024px){.contact,.faq-wrap{grid-template-columns:1fr}}
@media (max-width:768px){.fgrid2{grid-template-columns:1fr}}
/* 404 */
.nf{background:var(--paper)}
.nfblocks{display:flex;gap:12px;justify-content:center}
.nfblocks span{display:grid;place-items:center;width:clamp(80px,12vw,160px);aspect-ratio:1;border-radius:var(--r-lg);font:800 clamp(48px,8vw,110px)/1 var(--display)}
/* footer */
.site-footer{background:var(--ink);color:#C9CBE0;padding-block:var(--section-y-compact)}
.site-footer .container{display:flex;flex-direction:column;gap:var(--content-gap-lg)}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:var(--grid-gap)}
.fcol{display:flex;flex-direction:column;gap:6px}
.fcol h4{color:#fff}
.fcol a{display:inline-flex;align-items:center;min-height:var(--touch);text-decoration:none;align-self:flex-start}
.fcol a:hover{color:#fff;text-decoration:underline}
.site-footer .logo{color:#fff}
.news{display:flex;gap:8px}
.news input{flex:1;min-width:0;min-height:var(--touch);padding:10px 14px;border-radius:999px;border:2px solid #fff;background:transparent;color:#fff;font:inherit}
.news input::placeholder{color:#AEB1CC}
.news .btn{background:var(--yellow);color:var(--ink);border-color:var(--yellow);min-height:var(--touch)}
.fbottom{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding-top:24px;border-top:1px solid rgba(255,255,255,.18);font-size:14px}
@media (max-width:1024px){.fgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.fgrid{grid-template-columns:1fr}}
@media (max-width:480px){h1{font-size:34px}.h1-sm{font-size:30px}}
h1,h2{overflow-wrap:break-word}
.week .num{white-space:nowrap}
