/* ==========================================================================
   Yaldis Advisory — design system ("Night map")
   One stylesheet for every public page: static pages, the Opportunities pages
   rendered by the main Worker and the Blog rendered by the Blog Worker.
   Concept: every page opens at night — a deep indigo sky where the UK is drawn
   in points of light — and resolves into daylight "sheets" where the practical
   work happens. One amber star, one display face, motion in CSS only.
   Logical properties throughout so Persian (RTL) is designed, not mirrored.
   ========================================================================== */

/* ---------- 1. tokens ---------- */
:root{
  --night:#0B1226; --night-2:#121B37; --night-3:#1C2749; --night-4:#28355E;
  --night-line:rgba(190,203,245,.14); --night-text:#C6CDE2; --mist:#8F9AB8;
  --star:#F6B13D; --star-2:#FFC764; --glow:#FFD992; --star-deep:#8E5208;
  --day:#F2F3F7; --day-2:#E6E9F0; --white:#FFFFFF;
  --ink:#0E1530; --slate:#525B73; --line:#DCE0E9; --line-2:#C5CBD8;
  --ok:#24785B; --ok-bg:#DFF1E9; --warn:#96560E; --warn-bg:#FCEEDA; --no:#A1413A;
  --display:"Bricolage Grotesque","Instrument Sans","Segoe UI",system-ui,sans-serif;
  --sans:"Instrument Sans","Inter","Segoe UI",system-ui,-apple-system,sans-serif;
  --r-s:8px; --r:14px; --r-l:22px; --r-xl:32px;
  --wrap:1240px; --gut:clamp(18px,4.2vw,48px);
  --sec:clamp(72px,9vw,136px);
  --ease:cubic-bezier(.2,.75,.2,1);
  --shadow:0 1px 0 rgba(14,21,48,.04),0 24px 48px -28px rgba(14,21,48,.32);
  --hd:76px;
}
html[lang="fa"]{--display:"Vazirmatn",Tahoma,sans-serif; --sans:"Vazirmatn",Tahoma,"Segoe UI",sans-serif}

/* ---------- 2. base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:110px;background:var(--night)}
body{background:var(--white);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
html[lang="fa"] body{font-size:16.5px;line-height:1.95}
img,svg{max-width:100%;display:block}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
ul,ol{list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--star);color:var(--ink)}
:focus-visible{outline:2px solid var(--star-deep);outline-offset:3px;border-radius:4px}
.dark :focus-visible,.hero :focus-visible,.h-hero :focus-visible,.eco :focus-visible,.site-ft :focus-visible,.opp-hero :focus-visible,.cf :focus-visible,.opp-cf :focus-visible,.b2b :focus-visible,.pj-find :focus-visible,.result :focus-visible,.site-menu :focus-visible,.nf :focus-visible{outline-color:var(--star)}
[lang="en"]{font-family:"Instrument Sans","Inter",system-ui,sans-serif}
bdi{unicode-bidi:isolate}
.ltr{unicode-bidi:isolate}

h1,h2{font-family:var(--display);font-weight:600;letter-spacing:-.035em;color:inherit;text-wrap:balance;font-variation-settings:"opsz" 96}
h1{font-size:clamp(42px,6.4vw,96px);line-height:.98}
h2{font-size:clamp(34px,4.6vw,66px);line-height:1.02;margin-bottom:20px}
h3{font-family:var(--sans);font-size:19px;font-weight:600;line-height:1.3;letter-spacing:-.01em}
:where(html[lang="fa"]) h1,:where(html[lang="fa"]) h2{font-weight:800;letter-spacing:0;line-height:1.4}
:where(html[lang="fa"]) h1{font-size:clamp(34px,5vw,72px)}
:where(html[lang="fa"]) h2{font-size:clamp(28px,3.6vw,50px)}
:where(html[lang="fa"]) h3{font-size:18px;line-height:1.65;letter-spacing:0}
p{text-wrap:pretty}
.lead{font-size:19px;line-height:1.6;color:var(--slate);max-width:58ch}
html[lang="fa"] .lead{font-size:18px;line-height:1.95}
.wrap{width:100%;max-width:calc(var(--wrap) + 2*var(--gut));margin-inline:auto;padding-inline:var(--gut)}
main{display:block}
main>section,.sec{padding-block:var(--sec);position:relative}
main>section>.wrap>.lead+*,.sec-head+*{margin-top:clamp(36px,4.5vw,60px)}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px clamp(32px,6vw,96px);align-items:end}
.sec-head h2{margin:0}
@media (max-width:860px){.sec-head{grid-template-columns:1fr}}

.skip{position:absolute;inset-inline-start:12px;top:-200px;z-index:100;background:var(--white);color:var(--ink);border:2px solid var(--ink);padding:10px 16px;border-radius:var(--r-s);font-weight:600;text-decoration:none}
.skip:focus{top:12px}
.sr,.opp-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.star{fill:var(--star)}

/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn{--b:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 24px;border-radius:999px;font-weight:600;font-size:16px;line-height:1.2;text-decoration:none;border:1.5px solid var(--b);background:transparent;color:var(--ink);cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,transform .2s var(--ease)}
.btn:hover{background:var(--ink);color:var(--white)}
.btn:active{transform:scale(.98)}
.btn-main{background:var(--star);border-color:var(--star);color:var(--ink)}
.btn-main:hover{background:var(--star-2);border-color:var(--star-2);color:var(--ink)}
.btn-ink{background:var(--ink);border-color:var(--ink);color:var(--white)}
.btn-ink:hover{background:var(--night-4);border-color:var(--night-4)}
.btn-ghost,.hero .btn-line,.b2b .btn-line,.opp-hero .btn-line{border-color:rgba(255,255,255,.35);color:var(--white)}
.btn-ghost:hover,.hero .btn-line:hover,.b2b .btn-line:hover{background:var(--white);border-color:var(--white);color:var(--ink)}
.arw{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--ease)}
html[dir="rtl"] .arw{transform:scaleX(-1)}
a:hover>.arw{transform:translateX(3px)}
html[dir="rtl"] a:hover>.arw{transform:scaleX(-1) translateX(3px)}
.txt{font-weight:600;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:.3em}

/* ---------- 3. header: one floating capsule on every page ---------- */
.site-hd{position:sticky;top:0;z-index:60;padding:12px var(--gut) 0;margin-bottom:calc(-1*var(--hd));pointer-events:none;view-transition-name:site-header}
.hdbar{pointer-events:auto;max-width:var(--wrap);margin-inline:auto;height:64px;display:flex;align-items:center;gap:18px;padding-inline:22px 10px;border-radius:999px;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border:1px solid rgba(255,255,255,.6);box-shadow:0 10px 30px -14px rgba(5,10,30,.45)}
html[dir="rtl"] .hdbar{padding-inline:22px 10px}
.site-hd .logo{flex:0 0 auto;display:block}
.site-hd .logo img{height:38px;width:auto}
.site-menu{display:flex;align-items:center;gap:16px;flex:1;min-width:0}
.site-nav{margin-inline-start:auto}
.site-nav ul{display:flex;align-items:center;gap:2px}
.site-nav a{display:block;padding:8px 12px;font-size:15px;font-weight:500;text-decoration:none;white-space:nowrap;color:var(--ink);border-radius:999px;transition:background-color .2s}
.site-nav a:hover{background:var(--day)}
.site-nav a[aria-current="page"]{background:var(--ink);color:var(--white)}
.hd-act{display:flex;align-items:center;gap:6px}
.site-lang{font-size:14px;font-weight:600;text-decoration:none;padding:8px 12px;border-radius:999px;color:var(--slate);white-space:nowrap}
.site-lang:hover{color:var(--ink);background:var(--day)}
.site-lang[lang="fa"]{font-family:"Vazirmatn",Tahoma,sans-serif}
.site-cta{display:inline-flex;align-items:center;min-height:44px;padding:9px 18px;border-radius:999px;background:var(--star);color:var(--ink);font-size:15px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background-color .2s}
.site-cta:hover{background:var(--star-2)}
.nav-tg{display:none}
@media (max-width:1180px) and (min-width:1041px){.site-nav a{padding:8px 9px;font-size:14.5px}.site-menu{gap:10px}.hdbar{gap:12px}}
@media (max-width:1040px){
  :root{--hd:70px}
  .site-hd{padding-top:10px}
  .hdbar{height:58px;padding-inline:18px 6px}
  html[dir="rtl"] .hdbar{padding-inline:18px 6px}
  .site-hd .logo img{height:34px}
  .nav-tg{display:inline-flex;align-items:center;gap:10px;margin-inline-start:auto;min-height:46px;padding:8px 16px;border:0;border-radius:999px;background:var(--ink);color:var(--white);font-size:15px;font-weight:600;cursor:pointer;position:relative;z-index:2}
  .nav-tg-i{position:relative;width:16px;height:10px;border-block:2px solid currentColor}
  .nav-tg-i::before,.nav-tg-i::after{content:"";position:absolute;inset-inline:0;top:2px;height:2px;background:currentColor;opacity:0}
  .nav-tg[aria-expanded="true"]{background:var(--star);color:var(--ink)}
  .nav-tg[aria-expanded="true"] .nav-tg-i{border-color:transparent}
  .nav-tg[aria-expanded="true"] .nav-tg-i::before{opacity:1;transform:rotate(45deg)}
  .nav-tg[aria-expanded="true"] .nav-tg-i::after{opacity:1;transform:rotate(-45deg)}
  .site-menu{position:fixed;inset:0;z-index:1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:96px var(--gut) 28px;background:var(--night);color:var(--white);overflow-y:auto;visibility:hidden;opacity:0;transition:opacity .25s,visibility 0s .25s}
  .site-menu::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(600px 400px at 90% 0%,rgba(246,177,61,.16),transparent 60%),radial-gradient(rgba(198,205,226,.18) 1px,transparent 1.4px) 0 0/22px 22px}
  .site-hd.is-open .site-menu{visibility:visible;opacity:1;transition:opacity .25s}
  .site-hd.is-open .hdbar{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .site-hd.is-open .logo{visibility:hidden}
  .site-nav{margin:0}
  .site-nav ul{flex-direction:column;align-items:stretch;gap:0}
  .site-nav li{border-bottom:1px solid var(--night-line)}
  .site-nav a{padding:16px 0;font-family:var(--display);font-size:clamp(28px,7.5vw,40px);font-weight:600;letter-spacing:-.02em;color:var(--white);border-radius:0;background:none!important}
  html[lang="fa"] .site-nav a{font-weight:700;letter-spacing:0}
  .site-nav a[aria-current="page"]{color:var(--star)}
  .site-hd.is-open .site-nav li{animation:menuIn .45s var(--ease) both}
  .site-hd.is-open .site-nav li:nth-child(2){animation-delay:.04s}.site-hd.is-open .site-nav li:nth-child(3){animation-delay:.08s}.site-hd.is-open .site-nav li:nth-child(4){animation-delay:.12s}.site-hd.is-open .site-nav li:nth-child(5){animation-delay:.16s}.site-hd.is-open .site-nav li:nth-child(6){animation-delay:.2s}
  .hd-act{margin-top:28px;gap:12px}
  .site-cta{flex:1;justify-content:center;min-height:56px;font-size:17px}
  .site-lang{min-height:56px;display:inline-flex;align-items:center;padding-inline:22px;color:var(--white);border:1px solid var(--night-line)}
  .site-lang:hover{background:var(--night-3);color:var(--white)}
}
@keyframes menuIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
html.menu-open{overflow:hidden}

/* ---------- 4. night surfaces shared by every page top ---------- */
.night-sky,.hero,.h-hero,.opp-hero,.nf{background:var(--night);color:var(--white);position:relative;isolation:isolate;overflow:hidden}
.hero::before,.opp-hero::before,.nf::before,.h-sky{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(900px 560px at 88% -12%,rgba(246,177,61,.17),transparent 62%),
    radial-gradient(800px 600px at -10% 115%,rgba(88,110,200,.22),transparent 62%),
    radial-gradient(rgba(198,205,226,.16) 1px,transparent 1.5px) 0 0/24px 24px;
  -webkit-mask-image:linear-gradient(180deg,#000 40%,rgba(0,0,0,.55));mask-image:linear-gradient(180deg,#000 40%,rgba(0,0,0,.55))}
html[dir="rtl"] .hero::before,html[dir="rtl"] .opp-hero::before,html[dir="rtl"] .h-sky{transform:scaleX(-1)}

/* interior page heroes (about, programmes, book, assessment, calculator, opportunities, blog) */
.hero,.opp-hero{padding-block:calc(var(--hd) + clamp(56px,7vw,104px)) clamp(72px,8vw,120px)}
.hero>.wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(36px,6vw,96px);align-items:center}
.hero h1{max-width:15ch}
.hero .sub,.opp-hero .sub{font-size:19px;line-height:1.6;color:var(--night-text);max-width:54ch;margin-top:24px}
.hero .sub+.sub{margin-top:14px}
html[lang="fa"] .hero .sub,html[lang="fa"] .opp-hero .sub{font-size:18px;line-height:1.95}
.hero .btns{margin-top:34px}
.crumb{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;color:var(--star);margin-bottom:22px;padding:6px 14px 6px 10px;border:1px solid var(--night-line);border-radius:999px;background:rgba(255,255,255,.04)}
html[dir="rtl"] .crumb{padding:6px 10px 6px 14px}
.crumb::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--star);box-shadow:0 0 0 4px rgba(246,177,61,.18)}
.crumb a{color:inherit;text-decoration:none}.crumb a:hover{text-decoration:underline}
.hero .down{margin-top:32px;font-size:15px;color:var(--mist);display:flex;align-items:center;gap:10px}
.hero .down::before{content:"";width:9px;height:9px;border:solid var(--star);border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-3px)}
.trust{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:40px;font-size:14.5px;color:var(--night-text)}
.trust li,.trust span{display:inline-flex;align-items:center;gap:9px}
.trust li::before,.trust span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--star)}
@media (max-width:900px){.hero>.wrap{grid-template-columns:1fr}.hero h1{max-width:none}}

/* daylight sheet that slides over the night (used where a day section follows a night one) */
.sheet-top{border-radius:var(--r-xl) var(--r-xl) 0 0;margin-top:calc(-1*var(--r-xl));position:relative;z-index:1}

/* white "sheet" surfaces placed on the night */
.sheet,.record,.rates,.facts,.intakes{background:var(--white);color:var(--ink);border-radius:var(--r-l);box-shadow:0 40px 80px -36px rgba(0,0,0,.7)}

/* ---------- 5. scroll reveals (CSS scroll-driven; content is visible without support) ---------- */
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .reveal,.steps li,.stack .pj-copy,.tier,.person,.subj-list li,.dest-list li,.beyond-list li,.b2b-points li,.std-list li,.commit li,.opp-item,.blog-card,.card,.path,.m,.journey-list li,.node,.qa>div,.areas li,.extra,.opp-trustitem{
      animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
  }
}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}

/* ---------- 6. homepage ---------- */
/* 6.1 hero: the map of lights */
.h-hero{min-height:min(100svh,980px);padding-block:calc(var(--hd) + clamp(32px,5vw,72px)) clamp(48px,6vw,88px);display:flex;align-items:center}
.h-sky{z-index:-1}
.h-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,72px);align-items:center}
.live{display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--night-line);font-size:14px;font-weight:500;color:var(--night-text);margin-bottom:28px}
html[dir="rtl"] .live{padding:7px 12px 7px 16px}
.live b{color:var(--white);font-weight:600}
.live-dot{position:relative;width:8px;height:8px;border-radius:50%;background:#58D3A1}
.live-dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid #58D3A1;opacity:0}
.h-title{font-size:clamp(44px,6.1vw,98px);line-height:.95;letter-spacing:-.045em}
@media (min-width:901px){.h-title .ln>span{white-space:nowrap}}
html[lang="fa"] .h-title{font-size:clamp(36px,5vw,76px);line-height:1.3;letter-spacing:0}
.h-title .ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.h-title .ln>span{display:inline-block}
.h-title .ln:last-child>span{color:var(--star)}
.h-sub{font-size:clamp(17.5px,1.4vw,20px);line-height:1.6;color:var(--night-text);max-width:50ch;margin-top:28px}
html[lang="fa"] .h-sub{line-height:1.95}
.h-hero .btns{margin-top:36px}
.h-map{position:relative;justify-self:center;width:100%;max-width:520px}
.ukmap{width:100%;height:auto;max-height:min(76svh,760px);margin-inline:auto;overflow:visible}
.ukmap-dots{fill:none;stroke:#34426F;stroke-width:2.4;stroke-linecap:round}
.st-c{fill:var(--star)}
.st-h{fill:rgba(246,177,61,.22)}
.st text{font:600 12px/1 "Instrument Sans",system-ui,sans-serif;fill:var(--white);paint-order:stroke;stroke:var(--night);stroke-width:4px;stroke-linejoin:round;opacity:0;transition:opacity .2s;pointer-events:none}
.st{cursor:default}
.st:hover text{opacity:1}
.st:hover .st-h{fill:rgba(246,177,61,.45)}
.h-map figcaption{margin-top:14px;font-size:13.5px;color:var(--mist);max-width:44ch;margin-inline:auto;text-align:center}
@media (prefers-reduced-motion:no-preference){
  .h-title .ln>span{animation:lineUp 1s var(--ease) both}
  .h-title .ln:nth-child(2)>span{animation-delay:.08s}
  .h-title .ln:nth-child(3)>span{animation-delay:.16s}
  .h-sub,.h-hero .btns,.h-hero .trust,.live{animation:fadeUp .9s var(--ease) both}
  .h-sub{animation-delay:.3s}.h-hero .btns{animation-delay:.4s}.h-hero .trust{animation-delay:.5s}
  .ukmap-dots{animation:dawn 1.6s var(--ease) .1s both}
  .st{animation:starIn .7s var(--ease) both;animation-delay:calc(.7s + var(--i)*40ms)}
  .st:nth-child(4n+1) .st-h{animation:twinkle 4.5s ease-in-out infinite;animation-delay:calc(var(--i)*-.37s)}
  .live-dot::after{animation:ping 2.4s ease-out infinite}
}
@keyframes lineUp{from{transform:translateY(105%)}to{transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes dawn{from{clip-path:inset(100% 0 0 0);opacity:.2}to{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes starIn{from{opacity:0}}
@keyframes twinkle{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes ping{0%{opacity:.8;transform:scale(.6)}100%{opacity:0;transform:scale(2.2)}}
@media (max-width:900px){
  .h-hero{min-height:min(100svh,860px);align-items:flex-end}
  .h-grid{grid-template-columns:1fr;position:relative}
  .h-copy{position:relative;z-index:1}
  /* on phones the map becomes the sky behind the headline */
  .h-map{position:absolute;inset-inline-end:-8%;top:-120px;width:72%;max-width:none;opacity:.55;pointer-events:none}
  html[dir="rtl"] .h-map{inset-inline-end:auto;inset-inline-start:-8%}
  .h-map figcaption{display:none}
  .ukmap{max-height:none}
}
@media (max-width:520px){.h-hero .btns .btn{flex:1 1 100%}.h-title{max-width:none}}

/* 6.2 the ecosystem: names in motion, then the claim and its limits */
.eco{background:var(--night);color:var(--white);padding-block:clamp(24px,3vw,48px) clamp(96px,10vw,150px)}
.marquee{display:grid;gap:4px;border-block:1px solid var(--night-line);padding-block:clamp(14px,2vw,24px);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq{overflow:hidden;direction:ltr}
.mq-track{display:flex;align-items:center;gap:clamp(18px,2.4vw,36px);width:max-content;padding-inline-end:clamp(18px,2.4vw,36px)}
.mq-track span{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-size:clamp(30px,4.6vw,68px);font-weight:500;letter-spacing:-.03em;line-height:1.15;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(198,205,226,.42)}
.mq-rev .mq-track span{color:var(--night-text);-webkit-text-stroke:0}
.mq-track .star{width:clamp(16px,1.8vw,24px);height:auto;flex:0 0 auto}
@media (prefers-reduced-motion:no-preference){
  .mq-track{animation:mq 90s linear infinite}
  .mq-rev .mq-track{animation-direction:reverse;animation-duration:110s}
  .marquee:hover .mq-track{animation-play-state:paused}
}
@keyframes mq{to{transform:translateX(-50%)}}
.eco-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,6vw,96px);margin-top:clamp(56px,7vw,104px);align-items:start}
.eco h2{margin:0;max-width:14ch}
.eco .lead{color:var(--night-text)}
.eco .btn{margin-top:28px}
.eco-list{margin-top:28px;border-top:1px solid var(--night-line)}
.eco-list summary{cursor:pointer;padding:16px 0;font-weight:600;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}
.eco-list summary::-webkit-details-marker{display:none}
.eco-list summary::after{content:"";width:9px;height:9px;border:solid currentColor;border-width:0 1.6px 1.6px 0;transform:rotate(45deg) translateY(-3px);transition:transform .2s}
.eco-list[open] summary::after{transform:rotate(-135deg)}
.eco-list ul{columns:2;column-gap:28px;padding-bottom:12px}
.eco-list li{break-inside:avoid;padding:7px 0;font-size:15px;color:var(--white);border-bottom:1px solid var(--night-line)}
.eco-list li span{display:block;font-size:13px;color:var(--mist)}
.eco-note{margin-top:20px;font-size:14px;color:var(--mist);max-width:56ch;padding-inline-start:16px;border-inline-start:2px solid var(--star)}
@media (max-width:860px){.eco-grid{grid-template-columns:1fr}.eco-list ul{columns:1}}

/* 6.3 the journey: three stacked sheets */
.h-journey{background:var(--day);border-radius:var(--r-xl) var(--r-xl) 0 0;margin-top:calc(-1*var(--r-xl));z-index:1}
.j-head{max-width:20ch;margin-bottom:clamp(40px,5vw,72px)}
.stack{display:grid;gap:clamp(18px,2.4vw,28px)}
.panel-j{position:sticky;top:calc(var(--hd) + 24px + var(--k,0)*16px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;min-height:min(78svh,620px);padding:clamp(28px,4.5vw,64px);border-radius:var(--r-xl);overflow:hidden;box-shadow:0 -12px 40px -24px rgba(14,21,48,.35)}
.panel-j:nth-child(2){--k:1}.panel-j:nth-child(3){--k:2}
.pj-find{background:var(--night-2);color:var(--white)}
.pj-prep{background:var(--white);border:1px solid var(--line)}
.pj-apply{background:var(--star);color:var(--ink)}
.pj-n{display:flex;align-items:baseline;gap:14px;font-weight:600;font-size:16px;margin-bottom:20px}
.pj-n span{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-size:15px;font-weight:600;padding:3px 11px;border-radius:999px;border:1px solid currentColor;opacity:.75}
.panel-j h3{font-family:var(--display);font-size:clamp(30px,3.6vw,52px);font-weight:600;line-height:1.02;letter-spacing:-.035em;margin-bottom:18px;max-width:14ch}
html[lang="fa"] .panel-j h3{font-weight:800;letter-spacing:0;line-height:1.45;font-size:clamp(26px,3vw,40px)}
.pj-copy>p:not(.pj-n):not(.pj-links){font-size:18px;max-width:46ch;opacity:.86}
.pj-find .pj-copy>p{color:var(--night-text);opacity:1}
.pj-links{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:30px}
.pj-find .btn-ghost{color:var(--white)}
.pj-vis{display:grid;place-items:center;min-width:0}
/* live opportunity rail */
.rail{width:100%;max-width:460px;background:rgba(255,255,255,.04);border:1px solid var(--night-line);border-radius:var(--r-l);padding:20px}
.rail-h{font-size:14px;font-weight:600;color:var(--mist);margin-bottom:10px}
.rail-list{display:grid;gap:10px}
.rail-list a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:center;padding:14px 16px;border-radius:var(--r);background:var(--night-3);text-decoration:none;transition:background-color .2s,transform .25s var(--ease)}
.rail-list a:hover{background:var(--night-4);transform:translateY(-2px)}
.rail-mono{grid-row:span 2;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--white);color:var(--ink);font:700 14px/1 "Bricolage Grotesque",system-ui,sans-serif;letter-spacing:-.02em}
.rail-t{font-weight:600;font-size:15px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rail-m{font-size:13px;color:var(--mist);display:flex;flex-wrap:wrap;gap:4px 12px}
.rail-m b{color:var(--star);font-weight:600}
.rail-sk{height:70px;border-radius:var(--r);background:linear-gradient(90deg,var(--night-3),var(--night-4),var(--night-3));background-size:200% 100%}
@media (prefers-reduced-motion:no-preference){.rail-sk{animation:sk 1.4s linear infinite}}
@keyframes sk{to{background-position:-200% 0}}
.rail-all{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-weight:600;font-size:15px;color:var(--white);text-decoration:none}
.rail[data-state="empty"] .rail-list,.rail[data-state="empty"] .rail-h{display:none}
/* file review sheet */
.pj-prep .sheet{box-shadow:var(--shadow);border:1px solid var(--line);width:100%;max-width:440px}
.sheet{padding:24px 26px}
.sheet-hd{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.sheet-hd strong{font-family:var(--display);font-size:22px;font-weight:600;letter-spacing:-.02em}
html[lang="fa"] .sheet-hd strong{font-weight:800;letter-spacing:0}
.sheet-tag{font-size:12.5px;font-weight:600;color:var(--slate);border:1px dashed var(--line-2);border-radius:999px;padding:2px 10px;white-space:nowrap}
.sheet-rows li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.sheet-rows b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--day);font:700 15px/1 "Bricolage Grotesque",system-ui,sans-serif}
.sheet-rows span{font-weight:500;font-size:15.5px;min-width:0}
.sheet-rows em{font-style:normal;font-size:12.5px;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap;background:var(--ok-bg);color:var(--ok)}
.sheet-rows li[data-s="fix"] em{background:var(--warn-bg);color:var(--warn)}
.sheet-meter{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 16px;padding-top:16px}
.sheet-meter>span{font-weight:600;font-size:14.5px}
.meter{position:relative;height:8px;border-radius:999px;background:var(--day-2);overflow:hidden}
.meter i{position:absolute;inset-block:0;inset-inline-start:0;width:78%;background:var(--star);border-radius:inherit}
.sheet-gate{display:flex;align-items:center;gap:10px;margin-top:16px;padding:11px 14px;border-radius:var(--r-s);background:var(--day);font-size:14px;color:var(--slate)}
.sheet-gate::before{content:"";flex:0 0 9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px var(--ok-bg)}
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .pj-prep .sheet-rows em{animation:stamp linear both;animation-timeline:view();animation-range:entry 30% cover 40%}
    .pj-prep .meter i{animation:fill linear both;animation-timeline:view();animation-range:entry 40% cover 45%}
  }
}
@keyframes stamp{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}
@keyframes fill{from{width:0}}
/* portrait in an arch */
.arch{position:relative;overflow:hidden;border-radius:999px 999px var(--r-l) var(--r-l);aspect-ratio:4/5;background:var(--day-2)}
.arch img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.arch-wide{aspect-ratio:9/11}
.pj-photo{width:min(100%,360px);text-align:center}
.pj-photo .arch{background:rgba(14,21,48,.12)}
.pj-photo figcaption{margin-top:14px;font-size:14.5px}
.pj-photo strong{display:block;font-size:16px}
@media (max-width:900px){
  .panel-j{position:relative;top:auto;grid-template-columns:1fr;min-height:0}
  .pj-vis{justify-items:stretch}
  .pj-photo{margin-inline:auto;width:min(100%,300px)}
}

/* 6.4 PROOF */
.proof{background:var(--day)}
.proof-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px clamp(32px,6vw,96px);align-items:end;margin-bottom:clamp(32px,4vw,56px)}
.proof-head h2{margin:0}
.letters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(6px,1vw,14px);direction:ltr}
.letters button{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:8px;min-height:clamp(120px,15vw,220px);padding:clamp(12px,1.6vw,22px);border:1px solid var(--line-2);border-radius:var(--r-l);background:var(--white);cursor:pointer;text-align:start;color:var(--ink);transition:background-color .25s,border-color .25s,color .25s,transform .25s var(--ease)}
.letters button{font:700 clamp(54px,9vw,140px)/.8 "Bricolage Grotesque",system-ui,sans-serif;letter-spacing:-.05em}
.letters button::after{content:attr(data-name);font:500 clamp(12px,1.1vw,15px)/1.3 var(--sans);letter-spacing:0;color:var(--slate)}
html[lang="fa"] .letters button::after{direction:rtl;align-self:stretch;text-align:right}
.letters button:hover{border-color:var(--ink);transform:translateY(-3px)}
.letters button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--star)}
.letters button[aria-selected="true"]::after{color:var(--night-text)}
.panel{margin-top:clamp(12px,1.6vw,18px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px clamp(28px,5vw,72px);background:var(--white);border-radius:var(--r-l);padding:clamp(26px,3.6vw,48px);box-shadow:var(--shadow)}
.panel .k{grid-column:1/-1;font-size:14px;font-weight:600;color:var(--star-deep)}
.panel h3{font-family:var(--display);font-size:clamp(26px,2.8vw,38px);font-weight:600;line-height:1.08;letter-spacing:-.03em}
html[lang="fa"] .panel h3{font-weight:800;letter-spacing:0;line-height:1.5;font-size:clamp(22px,2.4vw,30px)}
.panel>p:not(.k){grid-column:2;color:var(--slate);grid-row:2}
.panel ul{grid-column:2;border-top:1px solid var(--line);margin-top:14px}
.panel li{padding:12px 0;padding-inline-start:30px;border-bottom:1px solid var(--line);position:relative}
.panel li::before{content:"";position:absolute;inset-inline-start:4px;top:20px;width:12px;height:7px;border:solid var(--ok);border-width:0 0 2px 2px;transform:rotate(-45deg)}
html[lang="fa"] .panel li::before{top:24px}
.panel h3{grid-row:2/span 2}
@media (prefers-reduced-motion:no-preference){.panel>*{animation:fadeUp .45s var(--ease) both}}
.cri{margin-top:clamp(18px,2vw,24px);display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(18px,3vw,40px);align-items:center;padding:clamp(22px,3vw,36px);border-radius:var(--r-l);background:var(--night);color:var(--white)}
.cri .cri-n{font:700 clamp(60px,8vw,120px)/.85 "Bricolage Grotesque",system-ui,sans-serif;letter-spacing:-.05em;color:var(--star)}
html[lang="fa"] .cri .cri-n{font-family:var(--display)}
.cri h3{font-size:19px;margin-bottom:6px}
.cri p{color:var(--night-text);font-size:16px;max-width:80ch}
@media (max-width:820px){.proof-head{grid-template-columns:1fr}.panel{grid-template-columns:1fr}.panel>p:not(.k),.panel ul,.panel h3{grid-column:1;grid-row:auto}.letters button{min-height:96px;align-items:center}.letters button::after{display:none}.cri{grid-template-columns:1fr}}

/* 6.5 fees ledger */
.tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line-2);border-radius:var(--r-l);overflow:hidden;background:var(--white)}
.tier{display:flex;flex-direction:column;padding:32px 26px 28px;position:relative}
.tier+.tier{border-inline-start:1px solid var(--line-2)}
.tier h3{font-size:18px}
.tier .for{font-size:14.5px;color:var(--slate);margin-top:6px;min-height:3.2em}
.tier .price{font:600 clamp(40px,3.6vw,52px)/1 var(--display);letter-spacing:-.04em;margin:28px 0 24px;padding-bottom:24px;border-bottom:1px solid var(--line)}
html[lang="fa"] .tier .price{font-weight:800;letter-spacing:0;font-size:36px;line-height:1.35}
.tier .price small{font-family:var(--sans);font-size:14px;color:var(--slate);font-weight:500;letter-spacing:0;margin-inline-start:6px}
.tier ul{display:grid;gap:10px;margin-bottom:30px;font-size:15.5px}
.tier li{position:relative;padding-inline-start:20px}
.tier li::before{content:"";position:absolute;inset-inline-start:0;top:.7em;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--star-deep)}
.tier .btn{margin-top:auto;width:100%}
.tier.assured{background:var(--night);color:var(--white)}
.tier.assured .for,.tier.assured .price small{color:var(--mist)}
.tier.assured .price{border-color:var(--night-line)}
.tier.assured li::before{border-color:var(--star)}
.tier.open .price{color:var(--ok)}
.fine{margin-top:22px;font-size:14px;color:var(--slate);max-width:90ch}
@media (max-width:1040px){.tiers{grid-template-columns:1fr 1fr}.tier:nth-child(3){border-inline-start:0}.tier:nth-child(n+3){border-top:1px solid var(--line-2)}}
@media (max-width:620px){.tiers{grid-template-columns:1fr}.tier+.tier{border-inline-start:0;border-top:1px solid var(--line-2)}.tier .for{min-height:0}}

/* 6.6 people */
.people{background:var(--day)}
.team-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,32px)}
.person .arch{margin-bottom:18px}
.person:hover .arch img{transform:scale(1.04)}
.person .desk{font-size:13.5px;font-weight:600;color:var(--star-deep);margin-bottom:4px}
.person h3{font:600 24px/1.15 var(--display);letter-spacing:-.025em}
html[lang="fa"] .person h3{font-weight:800;font-size:20px;line-height:1.6;letter-spacing:0}
.person .role{font-size:14.5px;font-weight:600;margin:6px 0 8px}
.person .bio{font-size:15px;color:var(--slate)}
.person:nth-child(even){margin-top:clamp(0px,5vw,64px)}
@media (max-width:1000px){.team-row{grid-template-columns:repeat(4,minmax(240px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;margin-inline:calc(-1*var(--gut));padding-inline:var(--gut);scrollbar-width:thin}.person{scroll-snap-align:start}.person:nth-child(even){margin-top:0}}

/* 6.7 subjects + destinations */
.where-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,6vw,104px);align-items:start}
.where-img{position:sticky;top:calc(var(--hd) + 32px)}
.subj-list{margin-top:32px;border-top:1px solid var(--line-2)}
.subj-list li{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:6px 28px;padding:20px 0;border-bottom:1px solid var(--line)}
.subj-list strong{font:600 clamp(19px,1.7vw,23px)/1.25 var(--display);letter-spacing:-.02em}
html[lang="fa"] .subj-list strong{font-weight:700;letter-spacing:0;line-height:1.6}
.subj-list span{color:var(--slate);font-size:15.5px}
.dest-h{margin-top:56px;margin-bottom:12px;font-size:15px;color:var(--slate);font-weight:600}
.dest-list li{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4px 28px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.dest-list li:first-child{border-top:1px solid var(--line-2)}
.dest-list span{color:var(--slate)}
.dest-list .uk strong::after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--star);margin-inline-start:10px;vertical-align:middle}
@media (max-width:860px){.where-grid{grid-template-columns:1fr}.where-img{position:static;max-width:420px}.subj-list li,.dest-list li{grid-template-columns:1fr}}

/* 6.8 beyond the offer */
.beyond{background:var(--day);padding-top:0}
.beyond-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px);margin-top:36px}
.beyond-list li{display:flex;gap:18px;align-items:flex-start;padding:26px;background:var(--white);border-radius:var(--r-l);border:1px solid var(--line)}
.ico{flex:0 0 auto;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--night);color:var(--star)}
.ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.beyond-list h3{margin-bottom:6px}
.beyond-list p{color:var(--slate);font-size:15.5px}
@media (max-width:860px){.beyond-list{grid-template-columns:1fr}}

/* 6.9 universities and sponsors */
.b2b{padding-block:0 var(--sec)}
.b2b-in{background:var(--night);color:var(--white);border-radius:var(--r-xl);padding:clamp(32px,5vw,72px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,88px);align-items:start;position:relative;overflow:hidden;isolation:isolate}
.b2b-in::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(rgba(198,205,226,.14) 1px,transparent 1.5px) 0 0/24px 24px;-webkit-mask-image:radial-gradient(circle at 100% 0,#000,transparent 60%);mask-image:radial-gradient(circle at 100% 0,#000,transparent 60%)}
.p-home .b2b{background:var(--day)}
.b2b .lead{color:var(--night-text)}
.b2b .btns{margin-top:30px}
.b2b-points{border-top:1px solid var(--night-line)}
.b2b-points li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6px 28px;padding:20px 0;border-bottom:1px solid var(--night-line)}
.b2b-points strong{font-weight:600}
.b2b-points span{color:var(--night-text);font-size:15.5px}
@media (max-width:860px){.b2b-in{grid-template-columns:1fr}.b2b-points li{grid-template-columns:1fr}}

/* 6.10 standards + notice */
.standards>.wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,6vw,88px);align-items:start}
.std-list,.commit{margin-top:28px;border-top:1px solid var(--line-2)}
.std-list li,.commit li{padding:16px 0;padding-inline-start:36px;border-bottom:1px solid var(--line);position:relative}
.std-list li::before,.commit li::before,.check li::before{content:"";position:absolute;inset-inline-start:2px;top:20px;width:20px;height:20px;border-radius:50%;background:var(--ok-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5.5 10.4 3 2.8 6-6' fill='none' stroke='%2324785B' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
html[lang="fa"] .std-list li::before,html[lang="fa"] .commit li::before,html[lang="fa"] .check li::before{top:24px}
.commit strong{display:block;font-weight:600}
.commit span{display:block;font-size:15.5px;color:var(--slate)}
.notice{background:var(--white);border:1px solid var(--line);border-radius:var(--r-l);padding:28px 30px;position:relative;overflow:hidden}
.notice::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:4px;background:var(--star)}
.notice h3{font-size:17px;margin-bottom:12px}
.notice p{font-size:15.5px;color:var(--slate)}
.notice p+p{margin-top:10px}
.notice a{color:var(--ink);font-weight:600}
.notice .btns{margin-top:22px}
@media (max-width:860px){.standards>.wrap{grid-template-columns:1fr}}

/* ---------- 7. footer: the night returns ---------- */
.site-ft{background:var(--night);color:var(--night-text);font-size:15px;line-height:1.7;border-radius:var(--r-xl) var(--r-xl) 0 0;margin-top:calc(-1*var(--r-xl));position:relative;z-index:2;overflow:hidden;isolation:isolate}
.site-ft::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(700px 420px at 12% 0%,rgba(246,177,61,.12),transparent 60%),radial-gradient(rgba(198,205,226,.12) 1px,transparent 1.5px) 0 0/24px 24px;-webkit-mask-image:linear-gradient(#000,transparent 70%);mask-image:linear-gradient(#000,transparent 70%)}
.site-ft a{color:inherit;text-decoration:none}
.site-ft a:hover{color:var(--white);text-decoration:underline}
.ftwrap{max-width:calc(var(--wrap) + 2*var(--gut));margin-inline:auto;padding-inline:var(--gut)}
.ft-cta{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px 48px;padding-block:clamp(72px,9vw,128px) clamp(48px,6vw,80px);border-bottom:1px solid var(--night-line)}
.ft-cta-t{display:flex;align-items:flex-start;gap:16px;max-width:15ch;font:600 clamp(36px,5.2vw,76px)/1 var(--display);letter-spacing:-.04em;color:var(--white)}
html[lang="fa"] .ft-cta-t{font-weight:800;letter-spacing:0;line-height:1.4;max-width:16ch;font-size:clamp(30px,4vw,56px)}
.ft-cta-t .star{flex:0 0 auto;width:.5em;height:.5em;margin-top:.12em}
.ft-cta-b{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.ftbtn{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:12px 28px;border-radius:999px;background:var(--star);color:var(--ink)!important;font-weight:600;font-size:16px;text-decoration:none!important;transition:background-color .2s}
.ftbtn:hover{background:var(--star-2)}
.ftlink{font-weight:600;text-decoration:underline!important;text-underline-offset:.3em;text-decoration-color:rgba(255,255,255,.4)!important;color:var(--white)!important}
.ftcols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:40px;padding-block:56px 32px}
.ftcols h2{font:600 14px/1.4 var(--sans);letter-spacing:0;color:var(--white);margin-bottom:14px}
.ftcols ul{display:grid;gap:7px}
.ftcols li{color:var(--mist)}
.ftcols address{font-style:normal;color:var(--mist)}
.ft-contact{margin-top:10px}
.ftlogo img{height:44px;width:auto}
.ft-brand .about{color:var(--mist);margin-top:16px;max-width:34ch}
.social{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.social a{border:1px solid var(--night-line);border-radius:999px;padding:5px 13px;font-size:13px}
.social a:hover{border-color:var(--mist);text-decoration:none}
.ft-mark{font:700 clamp(96px,23vw,360px)/.78 "Bricolage Grotesque",system-ui,sans-serif;letter-spacing:-.06em;text-align:center;color:transparent;-webkit-text-stroke:1px rgba(198,205,226,.18);user-select:none;padding-top:12px;overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}
html[lang="fa"] .ft-mark{font-family:var(--display);font-weight:900;letter-spacing:0;line-height:1.1;font-size:clamp(84px,19vw,300px)}
.legal{border-top:1px solid var(--night-line);position:relative}
.legal .ftwrap{display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between;padding-block:18px;font-size:13px;color:var(--mist)}
.legal .note{flex-basis:100%;font-size:12.5px}
@media (max-width:980px){.ftcols{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ftcols{grid-template-columns:1fr;gap:32px}.ft-cta-b{width:100%}.ftbtn{flex:1;justify-content:center}}
/* pages that end with their own dark call to action skip the footer one */
.p-programs .ft-cta,.opp-page .ft-cta{display:none}
.p-programs .ftcols,.opp-page .ftcols{padding-top:72px}

/* ---------- 8. shared page patterns ---------- */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:st;border-top:1px solid var(--line-2)}
.steps li{counter-increment:st;padding:30px 28px 8px 0;position:relative}
html[dir="rtl"] .steps li{padding:30px 0 8px 28px}
.steps li+li{padding-inline-start:28px;border-inline-start:1px solid var(--line)}
.steps li::before{content:counter(st,decimal-leading-zero);display:inline-block;font:600 14px/1 "Bricolage Grotesque",system-ui,sans-serif;padding:5px 11px;border-radius:999px;border:1px solid var(--ink);margin-bottom:22px}
html[lang="fa"] .steps li::before{content:counter(st,persian)}
.steps h3{margin-bottom:10px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.steps p{color:var(--slate);font-size:16px}
.free{display:inline-block;font-family:var(--sans);font-size:12.5px;font-weight:600;line-height:1.5;padding:2px 10px;border-radius:999px;background:var(--ok-bg);color:var(--ok)}
.steps li>.free{margin-top:14px}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}.steps li:nth-child(3){border-inline-start:0;padding-inline-start:0}.steps li:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:560px){.steps{grid-template-columns:1fr}.steps li,.steps li+li{border-inline-start:0;padding-inline:0;border-top:1px solid var(--line)}.steps li:first-child{border-top:0}}
.side{display:grid;gap:18px;align-content:start}
.talk{background:var(--night);color:var(--night-text);border-radius:var(--r-l);padding:28px 30px}
.talk h3{color:var(--white);margin-bottom:8px}
.talk p{font-size:15.5px}
.talk .btn{margin-top:18px;background:var(--star);border-color:var(--star);color:var(--ink)}
.talk .btn:hover{background:var(--star-2);border-color:var(--star-2)}
.talk .alt{display:block;margin-top:14px;font-size:15px;font-weight:600;color:var(--white)}
.check li{position:relative;padding:14px 0;padding-inline-start:36px;border-top:1px solid var(--line)}
.check li:first-child{border-top:0}
.check li::before{top:18px}
.check strong{display:block;font-weight:600}
.check span{display:block;color:var(--slate);font-size:15.5px}
.cf,.opp-cf{background:var(--night);color:var(--white)}
.cf>.wrap,.opp-cf>.wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.cf .lead,.opp-cf .lead{color:var(--night-text)}
.opts{display:grid;gap:12px}
.opt{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid var(--night-line);border-radius:var(--r-l);padding:22px 24px;text-decoration:none;color:var(--white);background:var(--night-2);transition:border-color .2s,background-color .2s,transform .25s var(--ease)}
.opt:hover{border-color:var(--mist);transform:translateY(-2px)}
.opt.main{background:var(--star);border-color:var(--star);color:var(--ink)}
.opt.main:hover{background:var(--star-2);border-color:var(--star-2)}
.opt strong{display:block;font:600 19px/1.25 var(--display);letter-spacing:-.02em}
html[lang="fa"] .opt strong{font-weight:700;letter-spacing:0}
.opt span{display:block;font-size:14.5px;opacity:.82;margin-top:2px}
.opt i{flex:0 0 10px;width:10px;height:10px;border:solid currentColor;border-width:1.8px 1.8px 0 0;transform:rotate(45deg)}
html[dir="rtl"] .opt i{transform:rotate(-135deg)}
@media (max-width:860px){.cf>.wrap,.opp-cf>.wrap{grid-template-columns:1fr}}
.embed{background:var(--day)}
.embed .wrap{max-width:calc(1000px + 2*var(--gut))}
.p-assess .embed .wrap{max-width:calc(880px + 2*var(--gut))}
.embed h2{margin-bottom:10px}
.embed .lead{margin-bottom:28px}
.embed-box{background:var(--white);border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(8px,2vw,24px);min-height:640px;box-shadow:var(--shadow)}
.embed-box:has(iframe){min-height:0}
.embed-box #my-cal-inline{width:100%;height:100%;overflow:auto}
.embed iframe{display:block;border:0;width:100%}
.embed-alt{margin-top:16px;font-size:15px}
.embed-alt a{font-weight:600;color:var(--ink)}

/* ---------- 9. about ---------- */
.p-about .why,.p-about .how,.p-about .standards,.p-programs .subj,.p-book .before,.p-assess .prep,.p-assess .next,.p-calc .calc{background:var(--day)}
.v-wrap .visual{position:relative;padding-bottom:64px}
.visual img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:999px 999px var(--r-l) var(--r-l);background:var(--night-3)}
.record{position:absolute;inset-inline-end:-8px;bottom:0;width:min(340px,88%);padding:22px 24px}
.record h2,html[lang="fa"] .record h2{font:600 15px/1.4 var(--sans);letter-spacing:0;margin-bottom:10px;color:var(--slate)}
.record dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 16px;font-size:14.5px}
.record dt{color:var(--slate);padding:7px 0;border-top:1px solid var(--line)}
.record dd{padding:7px 0;border-top:1px solid var(--line);font-weight:500}
.record dt:first-of-type,.record dd:first-of-type{border-top:0}
.record a{color:var(--ink);font-weight:600}
@media (max-width:900px){.record{inset-inline-end:12px}}
.why>.wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:start}
.why .body p{color:var(--slate);margin-top:16px;max-width:60ch}
.why .body p:first-child{font:500 clamp(20px,1.8vw,25px)/1.45 var(--display);letter-spacing:-.015em;color:var(--ink)}
html[lang="fa"] .why .body p:first-child{font-weight:600;letter-spacing:0;line-height:1.95;font-size:19px}
.rules{background:var(--white);border-radius:var(--r-l);box-shadow:var(--shadow);overflow:hidden}
.rules-head,.rules .row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(0,1fr);gap:12px;padding:16px 24px;align-items:baseline}
.rules-head{background:var(--night);color:var(--night-text);font-size:13.5px;font-weight:600}
.rules .row+.row{border-top:1px solid var(--line)}
.rules .row strong{font-weight:600;font-size:15.5px}
.rules .old{color:var(--slate);text-decoration:line-through;text-decoration-color:var(--line-2)}
.rules .old.same{text-decoration:none}
.rules .new{font:600 30px/1 var(--display);letter-spacing:-.03em;color:var(--ink)}
.rules .new small{display:block;font:500 12.5px/1.4 var(--sans);letter-spacing:0;color:var(--warn);margin-top:6px}
.src{margin-top:14px;font-size:13.5px;color:var(--slate)}
@media (max-width:860px){.why>.wrap{grid-template-columns:1fr}}
@media (max-width:440px){.rules-head,.rules .row{padding:14px 16px}}
.gate-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:end;margin-bottom:clamp(36px,5vw,56px)}
.quote{font:500 clamp(22px,2.3vw,30px)/1.3 var(--display);letter-spacing:-.02em;padding-inline-start:22px;border-inline-start:3px solid var(--star)}
html[lang="fa"] .quote{font-weight:600;letter-spacing:0;line-height:1.85}
.flow{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr) 44px minmax(0,1.3fr);align-items:stretch}
.node{border:1px solid var(--line-2);border-radius:var(--r-l);padding:24px;background:var(--white)}
.node .k{font-size:13.5px;font-weight:600;color:var(--star-deep);margin-bottom:8px}
.node h3{margin-bottom:6px}
.node p:not(.k){color:var(--slate);font-size:15px}
.arrow{position:relative}
.arrow::before{content:"";position:absolute;top:50%;inset-inline:8px;height:1.5px;background:var(--line-2)}
.arrow::after{content:"";position:absolute;top:calc(50% - 4px);inset-inline-end:8px;width:9px;height:9px;border:solid var(--line-2);border-width:1.5px 1.5px 0 0;transform:rotate(45deg)}
html[dir="rtl"] .arrow::after{transform:rotate(-135deg)}
.gatebox{background:var(--night);border-color:var(--night);color:var(--white)}
.gatebox .k{color:var(--star)}
.outcomes{display:grid;gap:10px;margin-top:6px}
.outcomes li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 12px;align-items:baseline}
.outcomes b{font-weight:600;display:flex;align-items:center;gap:8px}
.outcomes b::before{content:"";width:9px;height:9px;border-radius:50%;background:#58D3A1}
.outcomes .fix b::before{background:var(--star)}
.outcomes .no b::before{background:#E08A82}
.outcomes span{color:var(--night-text);font-size:14.5px}
@media (max-width:980px){.flow{grid-template-columns:1fr}.arrow{height:36px}.arrow::before{inset-inline:auto;inset-inline-start:50%;top:6px;bottom:6px;width:1.5px;height:auto}.arrow::after,html[dir="rtl"] .arrow::after{top:auto;bottom:7px;inset-inline-end:auto;inset-inline-start:calc(50% - 4px);transform:rotate(135deg)}.gate-top{grid-template-columns:1fr}}
.journey-list,.how .journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:j;border-top:1px solid var(--line-2);background:none;border-radius:0;margin:0}
.how .journey li{counter-increment:j;padding:26px 24px 26px 0;border-bottom:1px solid var(--line)}
html[dir="rtl"] .how .journey li{padding:26px 0 26px 24px}
.how .journey li:not(:nth-child(4n+1)){padding-inline-start:24px;border-inline-start:1px solid var(--line)}
.how .journey li::before{content:counter(j,decimal-leading-zero);display:inline-block;font:600 13px/1 "Bricolage Grotesque",system-ui,sans-serif;padding:4px 10px;border-radius:999px;border:1px solid currentColor;margin-bottom:16px}
html[lang="fa"] .how .journey li::before{content:counter(j,persian)}
.how .journey h3{margin-bottom:6px}
.how .journey p{color:var(--slate);font-size:15px}
.how .journey .key{background:var(--night);color:var(--white);padding-inline:24px!important;border-radius:var(--r)}
.how .journey .key::before{color:var(--star)}
.how .journey .key p{color:var(--night-text)}
@media (max-width:980px){.how .journey{grid-template-columns:1fr 1fr}.how .journey li:not(:nth-child(4n+1)){border-inline-start:0;padding-inline-start:0}.how .journey li:nth-child(even){padding-inline-start:24px;border-inline-start:1px solid var(--line)}}
@media (max-width:560px){.how .journey{grid-template-columns:1fr}.how .journey li,.how .journey li:nth-child(even){padding-inline:0;border-inline-start:0}}
.team .team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,30px)}
.team .photo{position:relative;aspect-ratio:4/5;border-radius:999px 999px var(--r-l) var(--r-l);overflow:hidden;background:var(--day-2);margin-bottom:18px}
.team .photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.team .person:hover .photo img{transform:scale(1.04)}
.team .photo .desk{position:absolute;inset-inline-start:12px;bottom:12px;margin:0;background:var(--white);color:var(--ink);padding:3px 11px;border-radius:999px;font-size:13px;font-weight:600}
.team .person h3{font:600 23px/1.15 var(--display);letter-spacing:-.025em}
html[lang="fa"] .team .person h3{font-weight:800;font-size:20px;line-height:1.6;letter-spacing:0}
.team .person .role{font-size:14.5px;font-weight:600;margin:4px 0 10px}
.team .person p:not(.role){font-size:15px;color:var(--slate)}
@media (max-width:980px){.team .team-grid{grid-template-columns:1fr 1fr}}

/* ---------- 10. programmes ---------- */
.ititle{font-size:15px;font-weight:600;color:var(--mist);margin-bottom:14px}
.intakes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}
.intake{padding:26px 20px}
.intake+.intake{border-inline-start:1px solid var(--line)}
.intake b{display:block;font:600 28px/1.1 var(--display);letter-spacing:-.03em}
html[lang="fa"] .intake b{font-weight:800;letter-spacing:0}
.intake span{font-size:14px;color:var(--slate)}
.intake:last-child{background:var(--star)}
.intake:last-child span{color:var(--ink)}
.hero .intakes+.sub{font-size:15px;color:var(--mist)}
@media (max-width:440px){.intake{padding:18px 14px}.intake b{font-size:21px}}
.subj .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.card{background:var(--white);border-radius:var(--r-l);padding:28px 24px;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card h3{font:600 24px/1.12 var(--display);letter-spacing:-.025em;margin-bottom:8px}
html[lang="fa"] .card h3{font-weight:800;font-size:20px;line-height:1.6;letter-spacing:0}
.card>p{color:var(--slate);font-size:15px;margin-bottom:18px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.tags li{font-size:13px;font-weight:500;padding:3px 10px;border-radius:999px;background:var(--day);color:var(--ink)}
.more{margin-top:28px;color:var(--slate)}
.more a{color:var(--ink);font-weight:600}
@media (max-width:1000px){.subj .grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.subj .grid{grid-template-columns:1fr}}
.bar2{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.tabs{display:flex;flex-wrap:wrap;gap:6px}
.tab{padding:9px 18px;border-radius:999px;border:1px solid var(--line-2);background:var(--white);font-size:15px;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}
.tab:hover{border-color:var(--ink)}
.tab[aria-pressed="true"]{background:var(--ink);color:var(--white);border-color:var(--ink)}
.search,.opp-field input[type=search]{min-height:48px;padding:10px 18px;padding-inline-start:44px;border:1px solid var(--line-2);border-radius:999px;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='8.5' cy='8.5' r='5.5' fill='none' stroke='%23525B73' stroke-width='1.6'/%3E%3Cpath d='m13 13 4 4' stroke='%23525B73' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 16px center/18px;min-width:min(340px,100%);font-size:15.5px}
html[dir="rtl"] .search,html[dir="rtl"] .opp-field input[type=search]{background-position:calc(100% - 16px) center}
.search:focus,.opp-field input:focus,.opp-field select:focus,.field input:focus,.field select:focus{outline:2px solid var(--star);outline-offset:1px;border-color:var(--ink)}
.ugrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.ugrid li{border-bottom:1px solid var(--line)}
.uni{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:center;padding:14px 0;text-decoration:none}
.uni:hover .uname{text-decoration:underline}
.shield{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--night)!important;color:var(--white);font:700 14px/1 "Bricolage Grotesque",system-ui,sans-serif;letter-spacing:-.01em}
.uni:hover .shield{background:var(--star)!important;color:var(--ink)}
.uname{display:block;font-weight:600;font-size:15.5px;line-height:1.35}
.umeta{display:block;font-size:14px;color:var(--slate)}
.uni br{display:none}
.rg{display:block;font-size:12px;font-weight:600;color:var(--star-deep);margin-top:2px}
.ugrid .empty{grid-column:1/-1;padding:24px;background:var(--day);border-radius:var(--r);color:var(--slate);border:0}
.note{margin-top:22px;font-size:14px;color:var(--slate);max-width:90ch}
@media (max-width:980px){.ugrid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.ugrid{grid-template-columns:1fr}.search{width:100%}}

/* ---------- 11. book + assessment ---------- */
.facts{padding:10px 26px;display:grid}
.facts li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:18px 0;align-items:start}
.facts li+li{border-top:1px solid var(--line)}
.ic{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--night);color:var(--star)}
.ic svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.facts strong{display:block;font-weight:600}
.facts span:not(.ic){display:block;font-size:15px;color:var(--slate)}
.paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.path{display:flex;flex-direction:column;padding:32px 28px;border:1px solid var(--line-2);border-radius:var(--r-l);background:var(--white)}
.path .if{font-size:14px;font-weight:600;color:var(--star-deep);margin-bottom:10px}
.path h3{font:600 28px/1.1 var(--display);letter-spacing:-.03em;margin-bottom:10px}
html[lang="fa"] .path h3{font-weight:800;font-size:22px;line-height:1.6;letter-spacing:0}
.path>p:not(.if){color:var(--slate);font-size:15.5px;margin-bottom:22px}
.path a{margin-top:auto;font-weight:600;color:var(--ink)}
.path.hl{background:var(--night);border-color:var(--night);color:var(--white)}
.path.hl .if{color:var(--star)}
.path.hl>p:not(.if){color:var(--night-text)}
.path.hl a{color:var(--white)}
@media (max-width:900px){.paths{grid-template-columns:1fr}}
.before>.wrap,.prep>.wrap,.faq>.wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,6vw,80px);align-items:start}
.before .check,.prep .areas{margin-top:28px;border-top:1px solid var(--line-2)}
.before .check li{border-top:0;border-bottom:1px solid var(--line)}
@media (max-width:900px){.before>.wrap,.prep>.wrap,.faq>.wrap{grid-template-columns:1fr}}
.areas li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}
.areas b{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--night);color:var(--star);font:700 22px/1 "Bricolage Grotesque",system-ui,sans-serif}
.areas strong{display:block;font-weight:600}
.areas span{display:block;font-size:15px;color:var(--slate)}
.ready{background:var(--white);border-radius:var(--r-l);padding:30px 30px 26px;box-shadow:var(--shadow)}
.ready h3{font:600 26px/1.15 var(--display);letter-spacing:-.025em;margin-bottom:8px}
html[lang="fa"] .ready h3{font-weight:800;font-size:21px;line-height:1.6;letter-spacing:0}
.ready>p{color:var(--slate);font-size:15.5px;margin-bottom:10px}
.ready .check li{font-size:15.5px}
.tip{margin-top:16px;padding:14px 16px;border-radius:var(--r-s);background:var(--warn-bg);color:#5E3A0C;font-size:14.5px}
.qa{margin-top:28px;border-top:1px solid var(--line-2)}
.qa>div{padding:22px 0;border-bottom:1px solid var(--line)}
.qa h3{margin-bottom:6px}
.qa p{color:var(--slate);font-size:16px;max-width:70ch}

/* ---------- 12. funds calculator ---------- */
.rates{padding:26px 28px}
.rates h2,html[lang="fa"] .rates h2{font:600 17px/1.4 var(--sans);letter-spacing:0;margin-bottom:4px}
.rates .when{font-size:14px;color:var(--slate);margin-bottom:14px}
.rates table{width:100%;border-collapse:collapse}
.rates td{padding:11px 0;border-top:1px solid var(--line);font-size:15.5px}
.rates td.n{text-align:end;font:600 26px/1 var(--display);letter-spacing:-.03em;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
.rates .foot{margin-top:12px;font-size:13.5px;color:var(--slate)}
.calc>.wrap>.grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:clamp(20px,3vw,32px);align-items:start}
.calc .card{padding:clamp(24px,3vw,36px);border:0;box-shadow:var(--shadow)}
.calc .card:hover{transform:none}
.hint{color:var(--slate);font-size:14.5px;margin-bottom:12px}
.field{display:flex;flex-direction:column;gap:7px;padding-top:18px;min-width:0}
.field label{font-weight:600;font-size:15px;line-height:1.4}
.field label .sub{display:block;font-weight:400;font-size:13.5px;color:var(--slate);margin-top:2px}
.field input,.field select{min-height:50px;width:100%;padding:10px 16px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--white);font-size:16px;font-variant-numeric:tabular-nums}
.field select{appearance:none;-webkit-appearance:none;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1.5 5 5 5-5' fill='none' stroke='%230E1530' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat calc(100% - 16px) center/12px;padding-inline-end:40px}
html[dir="rtl"] .field select{background-position:16px center}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;align-items:end}
.seg{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:999px;background:var(--day);gap:4px}
.seg button{min-height:44px;border:0;border-radius:999px;background:transparent;font-weight:600;font-size:15px;cursor:pointer;color:var(--slate);transition:background-color .2s,color .2s}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--white)}
.warnline{font-size:13.5px;color:var(--warn)}
.warnline:empty{display:none}
.ratestatus{font-size:13.5px;color:var(--slate);padding:8px 12px;border-radius:var(--r-s);background:var(--day)}
.ratestatus.live{background:var(--ok-bg);color:var(--ok)}
.ratestatus.manual{background:var(--warn-bg);color:var(--warn)}
.result{position:sticky;top:calc(var(--hd) + 24px);background:var(--night);color:var(--white);border-radius:var(--r-l);padding:clamp(24px,3vw,34px)}
.result h3,.calc .card h3{font:600 28px/1.1 var(--display);letter-spacing:-.03em;margin-bottom:14px}
html[lang="fa"] .result h3,html[lang="fa"] .calc .card h3{font-weight:800;font-size:22px;line-height:1.6;letter-spacing:0}
.result .row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--night-line);font-size:15.5px;color:var(--night-text)}
.result .row b{color:var(--white);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.result .row.minus b{color:#8FDCBB}
.total{padding:22px 0 12px}
.total .k{font-size:14.5px;color:var(--mist)}
.total .v{font:700 clamp(44px,4.8vw,64px)/1 "Bricolage Grotesque",system-ui,sans-serif;letter-spacing:-.04em;color:var(--star);font-variant-numeric:lining-nums tabular-nums;overflow-wrap:anywhere}
.fx{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:12px 0;border-top:1px solid var(--night-line);font-size:14.5px;color:var(--mist)}
.fx .v{font-weight:600;color:var(--white);text-align:end;overflow-wrap:anywhere}
.buffer{font-size:14.5px;color:var(--night-text);padding:10px 0;border-top:1px solid var(--night-line)}
.buffer b{color:var(--white)}
.window{margin-top:8px;padding:14px 16px;border-radius:var(--r);background:var(--night-2);font-size:14.5px;color:var(--night-text)}
.window b{color:var(--white)}
.notes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px}
.notes .note{margin:0;max-width:none;background:var(--white);border-radius:var(--r);padding:20px;font-size:14.5px;color:var(--slate);border:1px solid var(--line)}
.notes .note b{color:var(--ink);display:inline-block;margin-bottom:4px;font-size:15.5px}
.notes .note.warn{border-color:#EBCB9B;background:var(--warn-bg);color:#5E3A0C}
.calc .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.disclaim{margin-top:18px;font-size:13.5px;color:var(--slate);max-width:90ch}
@media (max-width:980px){.calc>.wrap>.grid{grid-template-columns:1fr}.result{position:static}.notes{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.two{grid-template-columns:1fr}.notes{grid-template-columns:1fr}}
.mgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line-2)}
.m{padding:26px 26px 28px 0;border-bottom:1px solid var(--line)}
html[dir="rtl"] .m{padding:26px 0 28px 26px}
.m:not(:nth-child(3n+1)){padding-inline-start:26px;border-inline-start:1px solid var(--line)}
.m .x{display:block;font:700 40px/1 "Bricolage Grotesque",system-ui,sans-serif;color:var(--no);margin-bottom:14px}
.m h3{margin-bottom:6px}
.m p{color:var(--slate);font-size:15.5px}
@media (max-width:900px){.mgrid{grid-template-columns:1fr 1fr}.m:not(:nth-child(3n+1)){border-inline-start:0;padding-inline-start:0}.m:nth-child(even){border-inline-start:1px solid var(--line);padding-inline-start:26px}}
@media (max-width:560px){.mgrid{grid-template-columns:1fr}.m,.m:nth-child(even){border-inline-start:0;padding-inline:0}}

/* ---------- 13. 404 ---------- */
.nf{text-align:center;min-height:80svh;display:grid;align-items:center;padding-block:calc(var(--hd) + 64px) 96px}
.nf .wrap{max-width:calc(700px + 2*var(--gut))}
.nf h1{margin-bottom:16px}
.nf p{color:var(--night-text);margin-bottom:30px}
.nf .star{width:44px;height:44px;margin:0 auto 26px}

/* ---------- 14. cross-page transitions ---------- */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.28s}
::view-transition-group(site-header){animation-duration:0s}
@media (prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{.site-hd,.ft-cta,.nav-tg,.marquee,.ft-mark{display:none}.hero,.h-hero,.opp-hero{background:none;color:var(--ink)}.site-ft{background:none;color:var(--ink)}}

/* every page: the first daylight section rises over the night hero as a sheet */
.hero+section,.opp-hero+section,.opp-dhero+.opp-body{border-radius:var(--r-xl) var(--r-xl) 0 0;margin-top:calc(-1*var(--r-xl));position:relative;z-index:1}
.hero+section:not([class*="embed"]):not(.why):not(.subj):not(.prep):not(.calc){background:var(--white)}
/* privacy notice (text page) */
.p-privacy main .wrap{max-width:calc(820px + 2*var(--gut))}
.p-privacy main h1{margin-bottom:6px}
.p-privacy main h2{font-size:clamp(21px,2.2vw,26px);line-height:1.25;margin:clamp(28px,3.5vw,40px) 0 10px}
.p-privacy main p{margin:0 0 12px;line-height:1.7}
.p-privacy main a{text-decoration:underline}
