:root{color-scheme:light;--cream:#f9f9f5;--paper:#fffefb;--sand:#e9f3eb;--accent:#2f6657;--teal:#329590;--apricot:#d89c68;--ink:#271e19;--muted:#6a645f;--line:rgba(47,102,87,.15);--panel:linear-gradient(150deg,#f8fbf6,#e7f1e9);--cta:linear-gradient(145deg,#267d78,#3e7954)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 15% 5%,rgba(176,217,204,.34),transparent 24%),radial-gradient(circle at 86% 22%,rgba(216,156,104,.12),transparent 20%),var(--cream);color:var(--ink);font:1rem/1.55 Arial,Helvetica,sans-serif}
a{color:inherit}
a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
[hidden]{display:none!important}
.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.top,.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:21px}
.top{color:var(--accent)}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:.83rem;letter-spacing:.12em}
.logo span{border:1px solid;border-radius:50%;display:grid;place-items:center;width:34px;height:34px;letter-spacing:0}
.top-link{font-size:.86rem;text-underline-offset:4px}
.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:clamp(30px,5vw,78px);align-items:center;padding:clamp(24px,4vw,55px);border:1px solid var(--line);border-radius:0 0 34px 34px;background:radial-gradient(circle at 91% 9%,rgba(156,208,160,.28),transparent 25%),radial-gradient(circle at 7% 40%,rgba(176,217,204,.25),transparent 23%),linear-gradient(160deg,#fffefb,#f1f6ee);box-shadow:0 24px 55px rgba(55,91,69,.09),inset 0 1px 0 white}
.eyebrow,.number{font-size:.72rem;letter-spacing:.16em;font-weight:750;margin:0 0 20px}
.eyebrow,.number{color:var(--accent)}
.eyebrow i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--teal);margin-right:7px}
h1,h2,h3{font-family:Georgia,serif;font-weight:400;margin:0;line-height:1.10;letter-spacing:-.045em}
h1{font-size:clamp(3rem,4.9vw,5.1rem)}
h2{font-size:clamp(2.55rem,5vw,4.75rem)}
h3{font-size:clamp(1.65rem,2.4vw,2.3rem)}
em{color:var(--accent);font-weight:400}
.intro{max-width:46ch;font:1.16rem/1.5 Georgia,serif;color:var(--muted);margin-block:25px}
.button{display:inline-flex;min-height:54px;align-items:center;gap:24px;justify-content:space-between;background:var(--cta);color:#fff;text-decoration:none;padding:13px 21px;border-radius:14px;font-weight:680;box-shadow:0 14px 28px rgba(50,130,112,.25),inset 0 1px 0 rgba(255,255,255,.20)}
.button:hover{background:var(--accent)}
.button span{font-size:1.25em}
.hint{font-size:.82rem;color:var(--muted);margin:11px 0 0}
.hero-art{position:relative;margin:0;overflow:hidden;border-radius:20px;background:var(--sand)}
.hero-art img{display:block;width:100%;height:auto;aspect-ratio:5/6;object-fit:cover;object-position:82% center}
.hero-art figcaption{position:absolute;bottom:18px;left:18px;display:grid;background:var(--paper);padding:10px 16px;border-left:3px solid var(--apricot);border-radius:10px}
figcaption strong{font:1.6rem Georgia,serif}
figcaption span{font-size:.74rem}
.ribbon{margin-top:20px;color:var(--accent)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);padding:15px 22px;background:var(--panel);border:1px solid var(--line);border-radius:14px;gap:14px;font-size:.84rem;letter-spacing:.035em}
.facts span:nth-child(2){text-align:center}
.facts span:last-child{text-align:right}
.section{padding-block:clamp(54px,8vw,104px)}
.approach,.join-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,8vw,112px)}
.approach{border-bottom:1px solid var(--line);align-items:start}
.approach p:not(.eyebrow),.join p:not(.eyebrow):not(.hint){max-width:48ch;font-size:1.08rem}
.approach p:last-child{margin-bottom:0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px}
.cards article{padding:24px;background:linear-gradient(150deg,#fff,#f0f7ef);border:1px solid var(--line);border-radius:18px;min-height:215px}
.number{display:block}
.cards p{margin-bottom:0;color:var(--muted)}
.join{background:radial-gradient(circle at 90% 8%,rgba(156,208,160,.30),transparent 28%),var(--panel);border-block:1px solid var(--line)}
.steps{list-style:none;padding:0;margin:0;counter-reset:steps;align-self:center}
.steps li{counter-increment:steps;border-top:1px solid var(--line);padding:15px 0 15px 43px;position:relative}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps li::before{content:"0" counter(steps);position:absolute;left:0;color:var(--accent)}
.steps span{display:block;color:var(--muted);font-size:.94rem}
.faq{max-width:830px}
.faq h2{margin-bottom:26px}
details{border-top:1px solid var(--line);padding:15px 0}
details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:650}
details p{max-width:65ch;margin-bottom:0;color:var(--muted)}
.footer{border-top:1px solid var(--line);font-size:.84rem}
@media(max-width:850px){.wrap{width:calc(100% - 48px)}.hero{gap:22px}h1{font-size:clamp(2.4rem,5.8vw,3.35rem)}.cards article{padding:18px}}
@media(max-width:650px){.wrap{width:calc(100% - 34px)}.top,.footer{gap:12px}.hero,.approach,.join-grid,.cards{grid-template-columns:1fr}.hero{padding:22px 17px 17px}.hero-art{max-width:460px;width:100%;margin-inline:auto}.facts{font-size:.74rem;padding:12px}.facts span:nth-child(2),.facts span:last-child{text-align:left}.footer{flex-wrap:wrap}.footer p{order:3;width:100%;margin:0}.cards article{min-height:0}.button{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.team{background:var(--panel);border-block:1px solid var(--line)}
.team-list span{color:var(--accent)}
.team-intro{max-width:62ch;margin:22px 0 28px}
.team-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;margin:0;list-style:none}
.team-list li{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.team-list img{display:block;width:100%;aspect-ratio:5/4;object-fit:cover;object-position:center 30%}
.team-list li div{padding:16px}
.team-list span{display:block;margin-top:4px}
@media(max-width:650px){.team-list{grid-template-columns:1fr}.team-list li{display:grid;grid-template-columns:minmax(105px,38%) 1fr;align-items:center}.team-list img{height:100%;aspect-ratio:1}}
.offer{max-width:830px;border-bottom:1px solid var(--line)}
.offer-list{padding:0;margin:26px 0;list-style:none;border-top:1px solid var(--line)}
.offer-list li{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.offer-list li::before{content:"✓";color:var(--accent);font-weight:800}
@media(max-width:420px){h1{font-size:clamp(1.85rem,8.4vw,2.4rem)}.hero-art figcaption{bottom:10px;left:10px}.facts span{text-wrap:balance}}

.signal-list{padding-left:20px}
.signal-list li+li{margin-top:10px}
.results,.continuation{background:var(--panel);border-block:1px solid var(--line)}
.results h2,.continuation h2{max-width:20ch}
.timeline{list-style:none;counter-reset:format;margin:30px 0 0;padding:0}
.timeline li{counter-increment:format;display:grid;grid-template-columns:3rem minmax(0,1fr) minmax(0,1.2fr);gap:18px;align-items:start;padding:22px 0;border-top:1px solid var(--line)}
.timeline li::before{content:"0" counter(format);font-weight:700;color:var(--accent)}
.timeline p{margin:0;color:var(--muted)}
.story{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.story-body{background:var(--paper);border-left:4px solid var(--apricot);border-radius:0 18px 18px 0;padding:clamp(18px,4vw,42px)}
.story-body>p:first-child{margin:0;font:1.3rem/1.5 Georgia,serif}
.continuation-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;margin-top:28px}
.continuation-grid article{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:clamp(20px,4vw,40px)}
.continuation-grid article p:last-child{margin-bottom:0}
.stage-count{display:block;color:var(--accent);font:clamp(3rem,7vw,5.5rem)/1 Georgia,serif}
.participation{max-width:830px;padding:22px 24px;margin-bottom:clamp(36px,6vw,72px);background:var(--paper);border-left:3px solid var(--apricot);border-radius:0 14px 14px 0}
.participation h2{font-size:1.6rem}
.participation p{margin-bottom:0;color:var(--muted)}
.registration{max-width:440px}
.registration fieldset{margin:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.registration legend{padding:0 6px;font-weight:700}
.registration label{display:flex;gap:9px;align-items:flex-start;margin-bottom:14px}
.registration input{accent-color:var(--accent);margin-top:5px}
.registration button{border:0;font:inherit;font-weight:700;cursor:pointer}
.registration button:disabled{background:var(--sand);color:var(--muted);box-shadow:none;cursor:default}
.registration input:focus-visible,.registration button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(max-width:650px){.story,.continuation-grid{grid-template-columns:1fr}.timeline li{grid-template-columns:2rem minmax(0,1fr);gap:8px 12px}.timeline p{grid-column:2}}

.join .registration p.registration-note{margin:0 0 14px;font-size:.94rem;color:var(--muted)}

.hero{position:relative;isolation:isolate;overflow:hidden;min-height:620px;display:flex;align-items:center;background:#f0f3ef}
.hero-text{width:min(56%,610px);position:relative;z-index:1}
.hero h1{font-size:clamp(3.1rem,7vw,6.3rem);line-height:.98}
.hero .intro{max-width:40ch}
.hero-art{position:absolute;inset:0;z-index:-1;border-radius:0;background:#eef1ed}
.hero-art img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:82% center}
.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(249,249,245,.96),rgba(249,249,245,.84) 37%,transparent 62%);pointer-events:none}
.start-date{display:inline-flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:19px 0 0;padding:8px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--accent);font-size:.9rem}
.start-date time{font-weight:800;font-size:1.15rem}
.hero-promise{max-width:22ch;margin:19px 0 0;font:clamp(1.45rem,3vw,2.4rem)/1.23 Georgia,serif}
.hero-secondary{display:inline-block;margin-top:14px;color:var(--accent);font-weight:700;text-underline-offset:4px}
.map h2{max-width:19ch}
.map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:30px}
.map-grid article{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:12px;padding:clamp(17px,3vw,35px);border:1px solid var(--line);border-radius:23px;background:var(--panel)}
.map-grid article:nth-child(2){background:var(--paper)}
.map-grid p{margin:0;color:var(--muted)}
.map-value{font:clamp(3.4rem,7.8vw,7.7rem)/.82 Georgia,serif;color:var(--accent);letter-spacing:-.08em}
.map-value small{font:700 .83rem/1.2 Arial,sans-serif;letter-spacing:0}
.day-track,.stage-track,.map-portraits{display:flex;align-items:center;min-height:45px;gap:4px;margin:4px 0}
.day-track i{display:block;width:clamp(5px,.75vw,12px);height:21px;border-radius:8px;background:#9cc8a5}
.day-track i:nth-child(-n+7){background:#428471}
.stage-track{gap:5px}
.stage-track span{display:flex;gap:3px;padding:5px;background:#d5e8d9;border-radius:5px}
.stage-track i{width:5px;height:12px;border-radius:4px;background:#428471}
.stage-track i:last-child{background:#a4653f}
.map-portraits img{width:44px;height:44px;object-fit:cover;object-position:center 27%;border-radius:50%;border:2px solid white}
.map-portraits img+img{margin-left:-9px}
.question-preview{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,6vw,78px);align-items:start}
.question-list details:first-child{border-top:0}
.team-lead .eyebrow{margin-bottom:5px}
.team-lead strong{font-size:1.2rem}
.case-metrics{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin:20px 0 12px}
.case-metrics div{padding-top:12px;border-top:1px solid var(--line)}
.case-metrics dt{font-size:.8rem;color:var(--muted)}
.case-metrics dd{margin:4px 0 0;font:clamp(1.2rem,2.65vw,2.5rem)/1.1 Georgia,serif;color:var(--accent)}
.case-metrics dd span{color:#a4653f}
.registration{width:100%;max-width:530px;align-self:center}
.registration fieldset{padding:clamp(16px,3vw,28px)}
.registration label{margin:0 0 5px;font-weight:700}
.registration input:not([type=checkbox]){display:block;width:100%;min-height:45px;margin:0 0 14px;padding:9px 12px;font:inherit;border:1px solid #a8b9ae;border-radius:8px;background:#fff;color:var(--ink)}
.registration label.consent{font-size:.85rem;font-weight:400;margin:12px 0}
.registration .consent input{flex:0 0 auto}
.registration .policy-note{margin:0 0 12px;font-size:.82rem}
.registration .policy-note:has(a[hidden]){display:none}
.registration button{width:100%;margin-top:6px;text-align:left}
.steps{margin-top:22px}
@media(max-width:850px){.hero{min-height:550px}.hero .intro{font-size:1rem}.hero-art img{object-position:76% center}}
@media(max-width:650px){.hero{display:grid;min-height:0;gap:0;padding:0}.hero-text{width:100%;padding:27px 18px 16px}.hero h1{font-size:clamp(2.6rem,11vw,4.6rem)}.hero-art{position:relative;inset:auto;z-index:0;height:clamp(200px,62vw,340px)}.hero-art img{object-position:81% 19%}.hero-art::after{background:linear-gradient(180deg,#f0f3ef,transparent 23%)}.map-grid,.question-preview{grid-template-columns:1fr}.map-grid article{gap:9px}.day-track i{width:12px}}

.reviews-header{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:24px}
.review-controls{display:flex;align-items:center;gap:10px;flex-shrink:0;color:var(--accent);font-variant-numeric:tabular-nums}
.review-controls button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--accent);font:1.25rem Arial,sans-serif;cursor:pointer}
.review-controls button:hover{background:var(--sand)}
.review-controls button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.review-slide{min-height:215px;margin-bottom:12px;padding:clamp(20px,5vw,52px);border:1px solid var(--line);border-radius:24px;background:var(--panel)}
.review-slide p:last-child{max-width:62ch;margin-bottom:0;font-size:1.05rem}
@media(max-width:650px){.reviews-header{align-items:flex-start;flex-direction:column}.review-slide{min-height:245px}}

/* The portrait and date share a single composition, including on phones. */
.hero {
  display: block;
  min-height: 0;
  padding: 0;
}
.hero-stage {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(350px, 40vw, 535px);
  padding: clamp(26px, 5vw, 72px);
}
.hero-stage .hero-art {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: auto;
  max-width: none;
  height: auto;
}
.hero-stage .hero-art img {
  object-position: center 18%;
}
.hero-stage .hero-art::after {
  background: linear-gradient(90deg, #f0f3ef 4%, #f0f3efd9 31%, transparent 66%);
}
.hero-heading { max-width: 60%; }
.hero-heading h1 { font-size: clamp(3rem, 6.4vw, 6rem); }
.start-date {
  display: inline-grid;
  gap: 3px;
  padding: 9px 14px;
  margin-top: 22px;
}
.start-date time { font-size: clamp(1.3rem, 2.7vw, 2.1rem); line-height: 1.05; }
.hero-promise { max-width: 17ch; margin-top: 20px; }
.hero-text {
  width: auto;
  padding: clamp(24px, 5vw, 52px);
  background: var(--paper);
  border-top: 1px solid var(--line);
}
.hero .intro { max-width: 65ch; margin-top: 0; }
.hero-benefits {
  margin: 16px 0 22px;
  padding-left: 20px;
}
.hero-benefits li + li { margin-top: 7px; }
.hero-age { color: var(--muted); font-size: .95rem; }
.results article ul { padding-left: 19px; color: var(--muted); }
.results article li + li { margin-top: 8px; }
.case-slide {
  min-height: 285px;
  padding: clamp(22px, 5vw, 52px);
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--panel);
}
.case-slide p { max-width: 64ch; }
.case-slide .story-body { margin-top: 18px; }
.case-slide .story-body > p:first-child { font: inherit; }
.case-slide dl:not(.case-metrics) { margin-bottom: 0; }
.case-slide dl:not(.case-metrics) div + div { margin-top: 12px; }
.case-slide dl:not(.case-metrics) dt { color: var(--accent); font-weight: 700; }
.case-slide dl:not(.case-metrics) dd { margin: 3px 0 0; max-width: 65ch; }
.registration {
  max-width: none;
  align-self: start;
  padding: clamp(16px, 3vw, 28px);
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--paper);
}
.registration fieldset { min-width: 0; padding: 0; border: 0; }
.registration legend { padding: 0; margin-bottom: 14px; font-size: 1.12rem; }
.registration .consent a, .registration .policy-note a, .legal-preview > a {
  color: var(--accent);
  text-underline-offset: 3px;
}
.legal-preview { max-width: 790px; }
.legal-preview .eyebrow { margin-top: 28px; }
.legal-preview section { border-top: 1px solid var(--line); padding: 20px 0; }
.legal-preview section h2 { font-size: clamp(1.5rem, 4vw, 2.2rem); }

@media (max-width: 650px) {
  .hero-stage { min-height: clamp(325px, 85vw, 435px); padding: 23px 16px; }
  .hero-heading { max-width: 100%; }
  .hero-heading .eyebrow { font-size: .64rem; margin-bottom: 14px; }
  .hero-heading h1 { font-size: clamp(2.15rem, 9vw, 3.6rem); white-space: nowrap; }
  .hero-stage .hero-art img {
    position: absolute;
    width: 190%;
    height: auto;
    max-width: none;
    right: -12%;
    top: 47px;
  }
  .hero-stage .hero-art::after {
    background: linear-gradient(90deg, #f0f3ef 3%, #f0f3efa8 36%, transparent 54%);
  }
  .start-date { margin-top: 21px; font-size: .74rem; }
  .hero-promise { max-width: 49%; font-size: clamp(1.13rem, 5vw, 1.6rem); }
  .join-grid { gap: 22px; }
}

.hero-benefit-title {
  max-width: 22ch;
  margin: 24px 0 18px;
  font-size: clamp(1.65rem, 3.8vw, 2.85rem);
}
.hero-benefits {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 12px;
}
.hero-benefits li {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 3px 12px;
  align-items: start;
}
.hero-benefits li::before {
  content: "";
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #dcefe0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h9m-4-4 4 4-4 4' fill='none' stroke='%232f6754' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px 14px no-repeat;
}
.hero-benefits li > strong { display: block; }
.hero-benefits li > span { color: var(--muted); }
.approach .signal-list, .participation .signal-list {
  list-style: none;
  padding: 0;
}
.approach .signal-list > li, .participation .signal-list > li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding-block: 10px;
  border-bottom: 1px solid var(--line);
}
.approach .signal-list > li + li, .participation .signal-list > li + li { margin-top: 0; }
.item-icon, .program-icon, .support-icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
  color: var(--accent);
}
.item-icon, .program-icon {
  flex: none;
  width: 36px;
  height: 36px;
  padding: 7px;
  background: #e4efe4;
  border-radius: 11px;
}
.group-button { margin-top: 20px; }
.timeline li {
  grid-template-columns: 1.7rem 52px minmax(0, 1fr) minmax(0, 1.2fr);
  align-items: start;
}
.timeline li::before { padding-top: 12px; }
.program-icon {
  width: 50px;
  height: 50px;
  padding: 10px;
  border-radius: 15px;
}
.continuation-grid article { position: relative; overflow: hidden; }
.support-icon {
  float: right;
  width: clamp(64px, 13vw, 100px);
  height: clamp(64px, 13vw, 100px);
  margin: 0 0 12px 14px;
  padding: 15px;
  border-radius: 34% 48% 37% 45%;
  background: #e3efe4;
}
.continuation-grid article:nth-child(2) .support-icon {
  color: #895738;
  background: #f5e9da;
}
.participation { border-left-color: #bd645c; }
.participation .signal-list > li::before {
  content: "×";
  display: grid;
  place-items: center;
  flex: 0 0 23px;
  height: 23px;
  margin-top: 2px;
  border-radius: 50%;
  background: #f7e6e3;
  color: #a43f37;
  font-weight: 700;
  line-height: 1;
}
.registration legend {
  margin-bottom: 24px;
  font: clamp(1.45rem, 3vw, 2rem)/1.12 Georgia, serif;
}
#telegram-status:empty { margin: 0; }
.site-footer {
  background: #e6eee7;
  border-top: 1px solid var(--line);
}
.site-footer .footer {
  border: 0;
  align-items: flex-start;
  padding-block: 32px;
}
.footer-details { margin: 14px 0 0; color: var(--muted); }
.site-footer nav { display: grid; gap: 8px; }
.site-footer nav a { color: var(--accent); text-underline-offset: 3px; }
@media (max-width: 650px) {
  .hero-stage .hero-art img { top: 61px; }
  .timeline li { grid-template-columns: 1.4rem 42px minmax(0, 1fr); gap: 8px 10px; }
  .timeline .program-icon { width: 42px; height: 42px; padding: 8px; }
  .timeline h3, .timeline p { grid-column: 3; }
  .site-footer .footer { flex-direction: column; gap: 22px; }
  .site-footer .footer-details { margin-top: 12px; }
}

.button { position: relative; isolation: isolate; overflow: hidden; }
.button:not(:disabled)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 32%, #ffffff30 50%, transparent 68%);
  transform: translateX(-120%);
  animation: button-shimmer 7s ease-in-out infinite;
}
.group-button::after { animation-delay: 1s !important; }
@keyframes button-shimmer {
  0%, 60% { transform: translateX(-120%); }
  81%, 100% { transform: translateX(120%); }
}
.back-to-top {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 10;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--paper);
  color: var(--accent);
  box-shadow: 0 4px 15px #15382a1f;
}
.back-to-top:hover { background: #e4efe4; }
@media (prefers-reduced-motion: reduce) {
  .button:not(:disabled)::after { animation: none; }
}

.hero-benefit-title { line-height: 1.14; }
.approach .signal-list > li:last-child { border-bottom: 0; }
.approach > .signal-list,
.approach > div:nth-child(2) > p:first-child { margin-top: 0; }

.question-list summary, .faq summary {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  gap: 11px;
  align-items: baseline;
  list-style: none;
}
.question-list summary::-webkit-details-marker, .faq summary::-webkit-details-marker {
  display: none;
}
.question-list summary::before, .faq summary::before {
  content: "";
  width: 8px;
  height: 8px;
  align-self: start;
  margin-top: .48em;
  background: var(--accent);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  transition: transform .2s ease;
}
.question-list details[open] > summary::before, .faq details[open] > summary::before {
  transform: rotate(90deg);
}
@media (prefers-reduced-motion: no-preference) {
  .question-list details:first-child:not([open]) > summary::before,
  .faq details:first-of-type:not([open]) > summary::before {
    animation: disclosure-nudge 6s ease-in-out infinite;
  }
}
@keyframes disclosure-nudge {
  0%, 75%, 100% { transform: translateX(0); }
  82%, 91% { transform: translateX(2px); }
  87% { transform: translateX(0); }
}
.legal-preview .legal-content {
  margin-block: 20px;
  overflow-wrap: anywhere;
}
.legal-preview > h2 {
  font-size: clamp(1.35rem, 3.2vw, 2.1rem);
  margin-top: 32px;
}

/* Keep the program number attached to its name at every viewport. */
.program-name-nowrap { white-space: nowrap; }
