:root{--ink:#405476;--text:#596b89;--muted:#6c7b98;--line:#cfdaf0;--lilac:#eae3f5;--pink:#f7e4f3;--blue:#e3effd;--green:#e8f3ec;--white:#fff;--shadow:0 24px 60px rgba(78,95,137,.10);font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fbfcff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;min-width:320px}button,summary{font:inherit}a{color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #667eb1;outline-offset:4px}.skip-link{position:absolute;left:12px;top:-70px;z-index:200;background:white;padding:12px}.skip-link:focus{top:12px}.container{width:min(1120px,calc(100% - 40px));margin:auto}.section{padding:92px 0}.eyebrow{margin:0 0 22px;color:#627fa9;text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.78rem}.eyebrow:before{content:"";display:inline-block;width:38px;height:1px;margin:0 14px 4px 0;background:linear-gradient(90deg,#ecbcdc,#7fa3ce)}h1,h2,h3,h4,p,figure{margin-top:0}h1,h2,h3,.about-card summary,.contact-card strong{font-family:Georgia,"Times New Roman",serif;font-weight:400}h2{font-size:clamp(2.3rem,5vw,4.8rem);line-height:1.06;letter-spacing:-.03em;margin-bottom:30px}p{line-height:1.65}a{text-decoration-thickness:1px;text-underline-offset:4px}.site-header{position:sticky;top:0;z-index:100;background:rgba(253,253,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid #e4e9f5}.header-inner{width:min(1320px,calc(100% - 36px));margin:auto;min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;text-decoration:none;font-size:clamp(1.05rem,1.7vw,1.45rem);font-weight:800;color:#627da9}.brand img{width:52px;height:58px;object-fit:contain}.main-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 10px}.main-nav a{display:inline-block;padding:10px 14px;border:1px solid #e0e8f6;border-radius:999px;text-decoration:none;color:#586c8d;font-size:.94rem;white-space:nowrap}.main-nav a:hover,.main-nav a[aria-current="page"]{background:#edf4ff;border-color:#b9cbe7}.hero{min-height:calc(100svh - 84px);display:flex;align-items:center;background:linear-gradient(90deg,rgba(252,252,255,.94) 0%,rgba(252,252,255,.70) 52%,rgba(251,246,255,.24) 100%),url("assets/pearl-lavender-hero.png") center right/cover no-repeat}.hero-inner{width:min(1120px,calc(100% - 40px));margin:auto;padding:92px 0 104px}.hero h1{font-size:clamp(4rem,9vw,8.4rem);line-height:.95;letter-spacing:-.055em;margin:0 0 34px}.hero h1 span{font-size:.80em;letter-spacing:.015em}.hero-lead{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,3.4vw,3rem);margin-bottom:44px}.hero-actions,.game-controls,.result-links{display:flex;flex-wrap:wrap;gap:14px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 24px;border-radius:14px;font-weight:750;text-decoration:none;cursor:pointer;border:1px solid transparent;text-align:center}.button-primary{color:#fff;background:#687fb0;box-shadow:0 10px 28px rgba(86,102,150,.2)}.button-primary:hover{background:#536a9b}.button-light{background:#fff;color:#536c9a;border-color:#cbd8ef}.button-light:hover{background:#f1f6ff}.button-text{background:transparent;color:#6078a7}.about-section{background:radial-gradient(circle at 90% 20%,#fcecf8,transparent 48%),linear-gradient(#fdfcff,#f6f6ff)}.about-card{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.9);box-shadow:var(--shadow);margin:0 0 22px;overflow:hidden}.about-card summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding:30px 42px;font-size:clamp(2rem,4.5vw,4rem)}.about-card summary::-webkit-details-marker,.program-card summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker{display:none}.about-card summary span{font-family:Arial,sans-serif;color:#829cc4;transition:transform .2s}.about-card[open] summary span{transform:rotate(180deg)}.about-copy{padding:0 42px 30px;max-width:850px;font-size:1.05rem;color:var(--text)}.letter-card{background:linear-gradient(120deg,#f7fbff,#fff8fd)}.game-section{background:linear-gradient(125deg,#f3f7ff,#f7f2ff 54%,#eef8f5)}.game-layout{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}.game-intro p:not(.eyebrow){font-size:1.05rem;color:var(--text)}.game-note{font-size:.89rem!important;padding:14px 18px;border-left:3px solid #829cbd;background:rgba(255,255,255,.64)}.field-board{position:relative;width:100%;height:clamp(360px,43vw,590px);border:1px solid #c9d8ee;border-radius:26px;overflow:hidden;touch-action:none;background:linear-gradient(90deg,transparent calc(50% - .75px),#9fb6d8 calc(50% - .75px),#9fb6d8 calc(50% + .75px),transparent calc(50% + .75px)),linear-gradient(transparent calc(50% - .75px),#9fb6d8 calc(50% - .75px),#9fb6d8 calc(50% + .75px),transparent calc(50% + .75px)),radial-gradient(circle at 52% 56%,#e4ebfa,#f5f6ff 58%,#eaf4ff);box-shadow:var(--shadow)}.figure{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);transform:translate(-50%,-50%);width:clamp(58px,6vw,80px);height:clamp(58px,6vw,80px);border-radius:50%;border:2px solid white;box-shadow:0 8px 24px rgba(61,82,130,.18);font-size:clamp(.66rem,1.2vw,.9rem);font-weight:800;color:#3c5375;cursor:grab;touch-action:none;user-select:none;padding:4px;overflow-wrap:anywhere}.figure:active,.figure.is-dragging{cursor:grabbing;z-index:10}.figure-self{background:#899bc6;color:white}.figure-mother{background:#d5cdea}.figure-father{background:#cce5f7}.figure-friends{background:#d8f0e4}.figure-partner{background:#f5d8eb}.figure-work{background:#f0e2ce}.field-help{font-size:.83rem;color:var(--muted);margin:12px 0 18px}.game-result{margin-top:26px;padding:25px;border:1px solid #cbd8ed;border-radius:20px;background:white}.game-result[hidden],.review[hidden]{display:none}.game-result h3{font-size:2rem;margin-bottom:10px}.game-result p:not(.eyebrow){color:var(--text)}.result-links a{font-size:.86rem}.programs-section{background:linear-gradient(#fbfdff,#f8f8ff)}.program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.program-card{border:1px solid #d6e0ef;border-radius:22px;padding:28px 30px;background:rgba(255,255,255,.92);box-shadow:0 12px 32px rgba(73,92,135,.05)}.program-number{font-size:.76rem;letter-spacing:.17em;text-transform:uppercase;color:#718ab5;font-weight:800;margin-bottom:13px}.program-card h3{font-size:clamp(1.6rem,2.5vw,2.45rem);line-height:1.13;margin-bottom:14px}.program-card h3 span{font-size:.65em;color:#6d7d98}.program-card>p:not(.program-number){color:var(--text);margin-bottom:14px}.program-status{font-size:.84rem}.program-card details{border-top:1px solid #e5ebf5;margin-top:18px;padding-top:16px}.program-card summary{list-style:none;cursor:pointer;color:#5d76a5;font-weight:800}.program-card summary:after,.faq-list summary:after{content:"⌄";float:right;color:#8099c0}.program-card details[open] summary:after,.faq-list details[open] summary:after{transform:rotate(180deg)}.program-detail{padding-top:20px;color:var(--text)}.program-detail h4{font-size:1rem;margin-bottom:8px}.program-detail ul{padding-left:22px;line-height:1.65}.program-detail li{margin-bottom:6px}.text-link{display:inline-block;font-weight:750;color:#546fa4;padding:6px 0}.group-heading{margin:88px 0 16px}.group-intro{max-width:750px;color:var(--text);margin-bottom:30px}.faq-section{background:linear-gradient(125deg,#fff8fd,#f3f7ff)}.faq-list{display:grid;gap:14px}.faq-list details{border:1px solid #dce4f3;border-radius:18px;background:white;padding:0 24px}.faq-list summary{list-style:none;cursor:pointer;padding:24px 0;font-weight:760;font-size:1.15rem}.faq-list p{color:var(--text);padding:0 0 22px;margin:0}.faq-list a{color:#526da6}.reviews-section{background:#fbfcff}.reviews-controls{display:flex;align-items:center;justify-content:flex-end;gap:15px;margin:-8px 0 20px}.reviews-controls button{width:44px;height:44px;border:1px solid #cad8ee;border-radius:50%;background:white;color:var(--ink);cursor:pointer}.reviews-controls button:hover{background:#edf4ff}.review{min-height:320px;margin:0;padding:clamp(24px,5vw,60px);border:1px solid #d5dff0;border-radius:24px;background:linear-gradient(130deg,#fff,#f4f7ff);box-shadow:var(--shadow)}.review blockquote{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.05rem,1.65vw,1.35rem);line-height:1.65;white-space:pre-wrap}.review figcaption{font-weight:800;color:#657da8;margin-top:30px}.contacts-section{background:linear-gradient(130deg,#f4f8ff,#f7f0fa 67%,#edf8f2)}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.contact-card{display:flex;min-height:180px;flex-direction:column;justify-content:space-between;padding:26px;text-decoration:none;border:1px solid #d3deef;border-radius:22px;background:white}.contact-card.primary{background:linear-gradient(135deg,#e4f0ff,#e9d9ef);border-color:#b9cce8}.contact-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.contact-card span{font-size:.84rem;font-weight:800;color:#718cb5}.contact-card strong{font-size:clamp(1.5rem,2.3vw,2.15rem);line-height:1.1}.contact-card small{font-weight:750;color:#6781af}.social-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.social-links a{padding:9px 15px;border:1px solid #cbd8ee;border-radius:999px;background:white;text-decoration:none;font-size:.9rem}.site-footer{padding:40px 0;background:#fdfcff;border-top:1px solid #dce4f2;text-align:center}.site-footer .container{display:flex;flex-direction:column;align-items:center;gap:4px}.site-footer p{margin:0 0 16px;line-height:1.65;font-size:.88rem;font-weight:650}.site-footer a{color:#9d5c86}
@media(max-width:920px){.header-inner{flex-direction:column;gap:3px;padding:8px 0 12px}.brand img{width:42px;height:47px}.main-nav{gap:4px}.main-nav a{padding:7px 11px;font-size:.85rem}.hero{min-height:620px}.game-layout{grid-template-columns:1fr;gap:22px}.game-intro{max-width:720px}.field-board{height:min(70vw,570px)}}
@media(max-width:640px){html{scroll-padding-top:130px}.container,.hero-inner{width:min(100% - 28px,1120px)}.section{padding:65px 0}.header-inner{width:calc(100% - 14px)}.brand{font-size:1.05rem}.brand img{width:34px;height:38px}.main-nav a{font-size:.72rem;padding:7px 8px}.hero{min-height:calc(100svh - 106px);background-position:60% center}.hero-inner{padding:65px 0}.hero h1{font-size:clamp(3.1rem,13vw,5rem)}.hero h1 span{font-size:.72em}.hero-lead{font-size:1.8rem}.hero-actions{flex-direction:column;align-items:stretch;max-width:340px}.about-card summary{padding:20px;font-size:2rem}.about-copy{padding:0 20px 22px}.field-board{height:390px;border-radius:18px}.figure{width:59px;height:59px;font-size:.7rem}.program-grid,.contact-grid{grid-template-columns:1fr}.program-card{padding:24px}.group-heading{margin-top:62px}.review{min-height:0}.contact-card{min-height:140px}.social-links{gap:8px}.social-links a{font-size:.8rem}.eyebrow{font-size:.72rem}}
@media(max-width:380px){.main-nav a{font-size:.69rem;padding:6px 6px}.field-board{height:340px}.figure{width:52px;height:52px;font-size:.64rem}.hero h1{font-size:3.1rem}.game-result{padding:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.contact-card:hover{transform:none}}
.program-grid{align-items:start}
.site-header a.brand > span{font-family:Georgia,"Times New Roman",serif}
.result-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}
.result-recommendation{padding:18px;border:1px solid #d6e0ef;border-radius:16px;background:#f9fbff}
.result-recommendation h4{font-family:Georgia,"Times New Roman",serif;font-size:1.4rem;margin-bottom:12px}
.result-recommendation p{font-size:.94rem;margin-bottom:14px}
.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:640px){.contact-grid{grid-template-columns:1fr}}

/* User annotations, 2026-09-23: scoped colors and flexible contact heading height. */
:root{--annotated-heading:#4365ad;--annotated-hero-lead:#627fa9}
#hero-title,#game-title,#programs-title,#programs > .container > .group-heading,#faq-title,#reviews-title,#contacts-title{color:var(--annotated-heading)}
#top .hero-lead{color:var(--annotated-hero-lead)}
#contacts .contact-grid > a.contact-card > strong{min-height:82.84px}
.programs-start{margin:0 0 36px;padding:24px 28px;border:1px solid var(--line);border-left:4px solid #829cbd;border-radius:18px;background:linear-gradient(120deg,#f2f7ff,#f3f8f4);color:var(--text)}
.programs-start h3{max-width:850px;margin:0 0 12px;font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.25;color:var(--ink)}
.programs-start p{max-width:920px;margin:0}
.programs-start a{color:#526da6}
.program-card h3:focus-visible{outline:3px solid #667eb1;outline-offset:6px;border-radius:4px}
@media(max-width:640px){.programs-start{padding:20px;margin-bottom:28px}}

body{min-width:0}
.header-inner{width:min(1120px,calc(100% - 40px));gap:24px}
.main-nav a{transition:background-color .18s,border-color .18s,box-shadow .18s}
.main-nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 #829cbd}
.hero{min-height:min(760px,calc(100svh - 84px))}
.hero-inner{padding:100px 0 108px}
.hero h1{margin-bottom:28px;line-height:1.05}
.hero h1 .hero-school{display:block;margin-bottom:18px;font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:0}
.hero h1 .hero-name{display:block;font-size:clamp(2.6rem,6.8vw,6rem);letter-spacing:.01em}
.hero-lead{font-size:clamp(1.7rem,3vw,2.6rem);margin-bottom:36px}
.hero-actions{gap:12px}
.button{transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s}
.button:active{transform:translateY(1px)}
.button-light:hover{border-color:#829cbd}
.section{padding:clamp(64px,7vw,96px) 0}
h2{font-size:clamp(2.25rem,4.6vw,4rem);line-height:1.1}
.about-card summary{padding:26px 34px;font-size:clamp(1.9rem,3.3vw,2.8rem)}
.about-copy{padding:0 34px 30px;line-height:1.7}
.about-card:focus-within{border-color:#829cbd}
.game-layout{grid-template-columns:minmax(250px,.82fr) minmax(0,1.18fr);gap:48px}
.game-intro p:not(.eyebrow){line-height:1.8}
.field-board{height:auto;aspect-ratio:1;border-radius:24px;transition:border-color .18s,box-shadow .18s}
.field-board.is-interacting{border-color:#829cbd;box-shadow:0 18px 45px rgba(78,95,137,.17)}
.figure{transition:box-shadow .16s,border-color .16s;will-change:auto}
.figure.is-selected{border-color:#fff;box-shadow:0 0 0 3px #829cbd,0 10px 25px rgba(61,82,130,.2);z-index:2}
.figure.is-dragging{box-shadow:0 0 0 4px #829cbd,0 14px 30px rgba(61,82,130,.24);z-index:10}
.figure:focus-visible{outline:3px solid #405476;outline-offset:7px}
.game-controls{margin-top:22px}
.game-result{border-top:3px solid #829cbd;padding:28px}
.game-result:focus-visible{outline:3px solid #667eb1;outline-offset:5px}
.game-result h3{font-size:1.7rem;margin:24px 0 16px}
.result-recommendation{display:flex;flex-direction:column;align-items:flex-start;padding:20px}
.result-recommendation .button{margin-top:auto}
.programs-start{margin-bottom:42px;box-shadow:0 10px 28px rgba(73,92,135,.04)}
.program-grid{gap:20px}
.program-grid-open{grid-template-columns:repeat(3,minmax(0,1fr))}
.program-card{padding:28px;transition:border-color .18s,box-shadow .18s}
.program-card:focus-within,.program-card:has(details[open]){border-color:#829cbd;box-shadow:0 12px 32px rgba(73,92,135,.1)}
.program-grid-open .program-card{min-height:240px}
.program-number{display:inline-flex;align-items:center;padding:6px 10px;border-radius:8px;background:#edf4ff;letter-spacing:.1em;font-size:.7rem;margin-bottom:20px}
.program-grid-closed .program-number{background:#f2edf8}
.program-card h3{font-size:clamp(1.65rem,2.35vw,2.1rem);line-height:1.2}
.program-card h3 span{display:block;margin-top:5px;font-size:.65em}
.program-card>p:not(.program-number){line-height:1.75}
.program-card summary{padding:5px 0;min-height:32px}
.program-card summary:after,.faq-list summary:after{transition:transform .2s}
.program-card summary:hover,.faq-list summary:hover{color:#4365ad}
.group-heading{margin-top:68px;margin-bottom:30px}
.program-detail{line-height:1.75}
.faq-list details{transition:border-color .18s,background-color .18s}
.faq-list details[open]{border-color:#b9cbe7;background:#fdfdff}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:1.08rem;line-height:1.5}
.faq-list summary:after{flex:none}
.review{padding:clamp(26px,4vw,48px)}
.review blockquote{max-width:70ch;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.8}
.reviews-controls button{transition:background-color .18s,border-color .18s}
#reviews-count{font-variant-numeric:tabular-nums}
.contact-card{transition:transform .18s,border-color .18s,box-shadow .18s}
.contact-card:focus-within{border-color:#829cbd}
.social-links a{transition:background-color .18s,border-color .18s}
.social-links a:hover{background:#edf4ff;border-color:#829cbd}
@supports (interpolate-size:allow-keywords){
  details{interpolate-size:allow-keywords}
  details::details-content{block-size:0;opacity:0;overflow:clip;transition:block-size .24s ease,opacity .2s ease,content-visibility .24s allow-discrete}
  details[open]::details-content{block-size:auto;opacity:1}
}
@media(max-width:1050px){.program-grid-open{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:920px){.game-layout{grid-template-columns:1fr;gap:24px}.field-board{max-width:640px;margin-inline:auto}.hero{min-height:600px}}
@media(max-width:640px){
  .header-inner{width:calc(100% - 28px);gap:4px}
  .main-nav{gap:4px}
  .hero{min-height:calc(100svh - 106px)}
  .hero-inner{padding:70px 0 80px}
  .hero h1 .hero-school{margin-bottom:14px}
  .hero h1 .hero-name{font-size:clamp(2.25rem,10vw,3.9rem)}
  .hero-lead{font-size:1.7rem;margin-bottom:30px}
  .about-card summary{padding:22px}
  .about-copy{padding:0 22px 24px}
  .game-result{padding:22px}
  .program-grid-open,.program-grid-closed{grid-template-columns:1fr}
  .program-grid-open .program-card{min-height:0}
  .program-card{padding:24px}
  .programs-start{margin-bottom:32px}
  .faq-list details{padding:0 20px}
  .faq-list summary{font-size:1rem;padding:20px 0}
}
@media(prefers-reduced-motion:reduce){
  details::details-content{transition:none!important}
  .button:active{transform:none}
}
:root{--section-seam:#f8f8ff;--section-fade:clamp(72px,8vw,128px)}
.brand img.brand-logo-light{clip-path:circle(31% at 50% 53%);transform:scale(1.6);transform-origin:50% 53%}
#about{padding-bottom:clamp(32px,4vw,48px)}
#about .about-card:last-child{margin-bottom:0}
#game{padding-top:clamp(32px,4vw,48px)}
.programs-start h3{margin:0}
.programs-start summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;cursor:pointer;list-style:none}
.programs-start summary::-webkit-details-marker{display:none}
.programs-start summary::after{content:"⌄";flex:none;color:#8099c0}
.programs-start[open] summary::after{transform:rotate(180deg)}
.programs-start[open] summary{margin-bottom:12px}
main{background:radial-gradient(ellipse at 100% 20%,rgba(247,228,243,.35),transparent 30%),radial-gradient(ellipse at 0% 42%,rgba(227,239,253,.4),transparent 35%),var(--section-seam)}
main > .section{background:transparent}
main > .hero{position:relative;isolation:isolate}
main > .hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(to top,var(--section-seam),rgba(248,248,255,0) var(--section-fade))}
.site-footer{border-top:0;background:var(--section-seam)}
.social-transition{display:flex;justify-content:center;flex-wrap:nowrap;gap:12px;padding:24px 14px;background:transparent}
.social-transition a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;color:#627fa9;background:#fff;border:1px solid #cbd8ee;border-radius:50%;transition:background-color .18s,border-color .18s}
.social-transition a:hover,.social-transition a:focus-visible{background:#edf4ff;border-color:#829cbd}
.social-transition svg{display:block;width:22px;height:22px}
#contacts .social-links{flex-wrap:nowrap;justify-content:center;gap:12px;margin-top:24px}
#contacts .social-links a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;padding:0;color:#627fa9}
#contacts .social-links svg{display:block;width:22px;height:22px}
#contacts .social-label{display:none}
#contacts .contact-grid{align-items:start}
#contacts .contact-card{display:grid;grid-template-columns:max-content minmax(0,1fr);align-content:start;align-items:baseline;gap:6px 8px;min-height:0;box-shadow:none;transform:none}
#contacts .contact-card > span{font-size:.75rem;line-height:1.4}
#contacts .contact-card strong{line-height:1.4}
#contacts .contact-grid > a.contact-card > strong{min-height:0}
#contacts .contact-card > div{grid-column:2;display:flex;flex-wrap:wrap;column-gap:12px;font-size:.875rem}
#contacts .contact-card > div a{display:flex;align-items:center;width:fit-content}
#contacts a.contact-card:hover strong{color:#4365ad}
  #contacts .contact-grid{align-items:stretch}
  #contacts .contact-card{padding:14px 16px;border:1px solid #d3deef;border-radius:18px;background:#fff}
  #contacts .contact-card.primary{background:linear-gradient(135deg,#e4f0ff,#e9d9ef);border-color:#b9cce8}
  #contacts .contact-card > span{font-size:.84rem}
  #contacts .contact-card strong{font-size:clamp(1rem,1.7vw,1.35rem);line-height:1.4}
  #contacts .contact-card > div a{min-height:28px}
  #contacts .contact-card:hover,#contacts .contact-card:focus-within{border-color:#829cbd;box-shadow:var(--shadow)}
#program-03 .program-purchase:disabled{background:#687fb0;cursor:not-allowed;box-shadow:none;opacity:.7;transform:none}
#program-03 .purchase-note{font-size:.85rem;margin:10px 0 0;color:var(--muted)}
@media(max-width:640px){
  #top #hero-title,#top .hero-lead{text-align:center}
  #top .hero-inner{display:flex;flex-direction:column;min-height:0;padding-top:64px;padding-bottom:32px}
  #top .hero-lead{margin-bottom:150px}
  #top .hero-actions{width:100%;margin-inline:auto;margin-top:8px}
  html{scroll-padding-top:calc(var(--mobile-header-height,106px) + 16px)}
  body{padding-top:var(--mobile-header-height,106px)}
  .site-header{position:fixed;top:0;left:0;right:0;padding-top:env(safe-area-inset-top,0px);background:#fdfdff;backdrop-filter:none}
  #top{min-height:0}
  #about .about-card summary{font-size:1rem;line-height:1.4;min-height:52px;padding:16px 22px}
  #about .about-card summary span{flex:none}
  #game-title{font-size:clamp(1.125rem,5.3vw,1.5rem);line-height:1.25;margin-bottom:24px}
  #programs-title,.group-heading{font-size:clamp(1.45rem,6.1vw,1.85rem);line-height:1.25}
  #contacts .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  #contacts .contact-card{min-height:0;padding:12px;gap:4px 8px;border-radius:16px}
  #contacts .contact-card strong{font-size:.875rem;line-height:1.4}
  #contacts .contact-card > div a{min-height:24px}
  #contacts .contact-card > div{font-size:.875rem}
}

.button-primary{background:#536c9b}
.button-primary:hover{background:#455d8b}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.about-card{box-shadow:0 10px 26px rgba(78,95,137,.06)}
.about-card summary{padding:22px 30px;font-size:clamp(1.25rem,2vw,1.8rem)}
.game-instructions{margin:0;padding-left:1.4em;color:var(--text);font-size:1.05rem;line-height:1.8}
.game-instructions li{padding-left:.3em;margin-bottom:14px}
.game-instructions li::marker{color:#536c9b;font-weight:650}
.program-inquiry{margin-top:10px;font-size:.875rem;min-height:44px;padding:10px 16px}
.review{min-height:0;scroll-margin-top:calc(var(--mobile-header-height,100px) + 20px)}
.review-preview{max-width:70ch;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.8;color:var(--ink)}
.review [hidden]{display:none}
.review-toggle{display:block;min-height:44px;margin-top:16px;padding:8px 0;border:0;background:none;color:#455d8b;text-decoration:underline;text-underline-offset:4px;font-weight:600;cursor:pointer}
.review figcaption{margin-top:18px}
.eyebrow,.program-number,.review figcaption,#contacts .contact-card > span{color:#4d6085}
.program-card summary{color:#4d6085}
.field-help,#program-03 .purchase-note,.program-card h3 span{color:#586b89}
.menu-toggle{display:none}
@media(max-width:640px){
  .main-nav{display:grid;width:100%;max-width:440px;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
  .main-nav a{grid-column:span 2;display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 4px;font-size:.875rem}
  .main-nav a:nth-child(4){grid-column:2 / span 2}
  .main-nav a:nth-child(5){grid-column:4 / span 2}
  .header-inner{gap:8px;padding-bottom:10px}
  .program-card h3{font-size:1.3rem;line-height:1.3}
  .programs-start h3{font-size:1.15rem;line-height:1.4}
  .site-header.is-menu-ready .header-inner{flex-direction:row;min-height:60px;gap:10px;padding:8px 7px}
  .menu-toggle:not([hidden]){display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:44px;min-width:82px;padding:8px 12px;border:1px solid #b9cbe7;border-radius:999px;background:#fff;color:#405476;font-size:.875rem;cursor:pointer}
  .menu-toggle[aria-expanded="true"]{background:#edf4ff}
  .site-header.is-menu-ready .main-nav{display:none}
  .site-header.is-menu-open .main-nav{display:grid;position:absolute;top:100%;left:0;right:0;max-width:none;padding:12px 14px 16px;background:#fdfdff;border-bottom:1px solid #cfdaf0;box-shadow:0 12px 24px rgba(78,95,137,.1);max-height:calc(100svh - var(--mobile-header-height,61px));overflow-y:auto}
}
