/* 2026-11-10: reproduce the two supplied section references. */
.header-actions .button { font-size: 18px; font-weight: bold; }
#admissions,#features{overflow:hidden;isolation:isolate}
#admissions:before,#features:before{content:'';position:absolute;inset:0 auto auto 0;width:36%;height:200px;background:linear-gradient(145deg,#cce6be85,#edf7e780);clip-path:polygon(0 0,100% 0,68% 13%,42% 36%,19% 62%,0 100%);pointer-events:none;z-index:-1}
#admissions:after,#features:after{content:'';position:absolute;inset:auto 0 0 auto;width:38%;height:160px;background:linear-gradient(150deg,#e7f3dc77,#bcdca18c);border-radius:100% 0 0 0;clip-path:polygon(0 100%,25% 65%,53% 40%,100% 0,100% 100%);z-index:-1}
#admissions{background:#fdfefd;padding:54px 0 65px}
#admissions>.wrap{width:94%;max-width:1880px}
#admissions .admission-layout{display:grid;grid-template-columns:20.5fr 79.5fr;gap:28px;align-items:center}
#admissions .section-head{display:block;margin:0;align-self:center}
#admissions .eyebrow{font-size:clamp(14px,1.3vw,25px);letter-spacing:.01em;color:#26841d;margin-bottom:22px}
#admissions .eyebrow:before{height:25px;width:6px;border-radius:0;margin-right:15px;vertical-align:-4px}
#admissions h2{font-family:var(--serif);font-weight:900;font-size:clamp(30px,3.15vw,60px);line-height:1.28;letter-spacing:.025em;color:#113b10;position:relative;padding-bottom:28px;white-space:nowrap}
#admissions h2:after{content:'';position:absolute;bottom:8px;left:5px;width:74%;height:15px;border-radius:100% 75% 0 30%;border-top:8px solid #c2e68b;transform:rotate(-5deg)}
#admissions .section-head p{font-size:clamp(13px,1.25vw,24px);white-space:nowrap;color:#333;margin-top:20px;line-height:1.6}
#admissions .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2vw}
#admissions .admission-card{padding:0;border:1px solid #f0f5ee;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 5px 20px #3e682419;display:flex;flex-direction:column}
#admissions .admission-card:before{display:none}
.admission-card-head{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;min-height:115px;padding:14px 10px 20px;isolation:isolate}
.admission-card-head:before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,#f5faf2 20%,#d6efb3);border-radius:0 0 80% 0 / 0 0 70% 0;z-index:-1}
#admissions .admission-card-head h3{padding:0;margin:0;border:0;font-family:inherit;font-size:clamp(25px,2.45vw,47px);font-weight:900;line-height:1.25;white-space:nowrap;color:#0c3009}
#admissions .admission-card-head h3:after{display:none}
.admission-card-head>svg{width:clamp(44px,4.3vw,82px);height:70px;overflow:visible;fill:none;stroke:#2b871f;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.admission-card-body{padding:18px 21px 24px;display:flex;flex-direction:column;flex:1}
#admissions .school-lines{min-height:98px;display:flex;flex-direction:column;gap:13px;justify-content:center}
#admissions .school-line{display:flex;align-items:center;gap:3px;margin:0;font-size:clamp(13px,1.2vw,23px);line-height:1.5;white-space:nowrap;color:#111;font-weight:600}
.school-pill{display:inline-flex;gap:5px;align-items:center;background:linear-gradient(#349725,#287d16);color:#fff;border-radius:30px;padding:4px 10px;flex-shrink:0;font-weight:700}
.school-pill svg{width:13px;height:18px;fill:currentColor}
#admissions .elementary-detail{font-size:clamp(12px,1.05vw,20px);margin:0;color:#222;line-height:1.6}
#admissions .admission-description{border-top:1px solid #dce8d5;padding-top:16px;margin:13px 0 25px;font-size:clamp(13px,1.16vw,22px);line-height:1.65;color:#171717;font-weight:600}
#admissions .admission-card .button{margin-top:auto;min-height:49px;border:1.5px solid #3b962a;border-radius:99px;box-shadow:none;background:#fff;color:#174c11;font-size:clamp(16px,1.35vw,26px);font-weight: bold;gap:20px;width:100%;padding:7px 10px;line-height:1.4;white-space:nowrap}
#admissions .admission-card .button:after{content:'→';font-size:1.3em;font-weight:400}
#features{background:radial-gradient(ellipse at 50% 36%,#fff 15%,#f1f9ec 90%);padding:43px 0 35px}
#features>.wrap{width:94%;max-width:1356px}
#features .section-head{margin:0 0 45px}
#features .eyebrow{font-family:var(--serif);font-size:26px;letter-spacing:.13em;margin-bottom:20px;color:#255d19}
#features .eyebrow:before,#features .eyebrow:after{width:43px;height:1px;background:#477c36;vertical-align:9px;margin:0 24px}
#features .section-head h2{font-family:var(--serif);font-size:clamp(42px,5vw,72px);font-weight: bold;letter-spacing:.045em;line-height:1.35;color:#171717}
#features .section-head h2 strong{color:#327e1b;font-weight: bold}
#features .section-head p{color:#333;font-size:clamp(17px,1.8vw,25px);line-height:1.7;letter-spacing:.02em;margin-top:17px}
#features .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
#features .feature-card{border:0;border-radius:23px;overflow:hidden;box-shadow:0 9px 18px #406b2924;background:#fff}
/* Keep source pixels unchanged; only expose the photo rectangle from the supplied design. */
.feature-photo{width:100%;aspect-ratio:435/264;background-image:url('assets/feature-reference.png');background-size:332.87356% 411.36364%;background-repeat:no-repeat;flex:none}
.feature-photo-0{background-position:4.541% 46.594%}
.feature-photo-1{background-position:50.049% 46.594%}
.feature-photo-2{background-position:95.459% 46.594%}
#features .feature-card .card-body{padding:17px 30px 29px}
#features .feature-card h3{font-family:var(--serif);font-size:clamp(24px,2.5vw,36px);font-weight: bold;line-height:1.3;color:#245e15;border:0;margin:0 0 15px;padding:0 0 20px;letter-spacing:0;position:relative}
#features .feature-card h3:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;margin:0;background:#bddda3;border-radius:5px}
#features .feature-card p{font-size:clamp(15px,1.57vw,22px);color:#272727;line-height:1.48;letter-spacing:.02em}
#features .center-actions{margin-top:46px}
#features .center-actions .button{width:510px;min-width:0;min-height:80px;margin:0;padding:12px 35px;background:linear-gradient(110deg,#4b9b2a,#2d7617);border:0;border-radius:99px;font-size:30px;font-weight:700;color:#fff;box-shadow:0 9px 16px #35671a29;position:relative}
#features .center-actions .button:after{content:'→';position:absolute;right:38px;font-size:40px;font-weight:400;line-height:1}
@media(min-width:1600px){.admission-card-head{min-height:130px}.admission-card-body{padding:20px 28px 30px}#admissions .school-lines{min-height:105px}#admissions .admission-card .button{min-height:62px}#admissions .admission-description{margin-bottom:30px}}
@media(max-width:1150px){#admissions .admission-layout{grid-template-columns:1fr;gap:24px}#admissions h2{font-size:37px;white-space:normal}#admissions h2 br{display:none}#admissions h2:after{width:250px}#admissions .section-head p{font-size:16px}#admissions .eyebrow{font-size:17px;margin-bottom:10px}#admissions .admission-card-head h3{font-size:30px}#admissions .school-line{font-size:14px}#admissions .admission-description{font-size:14px}#admissions .admission-card .button{font-size:18px}#features .feature-card .card-body{padding:17px 18px 24px}#features .cards{gap:20px}#features .feature-card h3{font-size:24px}}
@media(max-width:760px){#admissions,#features{padding:45px 0}#admissions>.wrap,#features>.wrap{width:calc(100% - 36px)}#admissions .cards,#features .cards{grid-template-columns:1fr;gap:25px}#admissions .section-head{margin-bottom:10px}#admissions h2{font-size:34px}#admissions .section-head p{font-size:15px;white-space:normal}#admissions .admission-card-head{min-height:105px}#admissions .admission-card-head h3{font-size:34px}.admission-card-head>svg{width:65px}#admissions .school-line{font-size:16px}#admissions .school-lines{min-height:90px}#admissions .elementary-detail{font-size:15px}#admissions .admission-description{font-size:16px}#admissions .admission-card .button{font-size:20px;min-height:50px}#features .eyebrow{font-size:18px;margin-bottom:18px}#features .eyebrow:before,#features .eyebrow:after{width:25px;vertical-align:6px;margin:0 14px}#features .section-head h2{font-size:clamp(26px,6.9vw,48px);letter-spacing:0;line-height:1.45}#features .section-head p{font-size:16px;margin-top:20px;line-height:1.8}#features .section-head{margin-bottom:28px}#features .feature-card h3{font-size:27px;line-height:1.4}#features .feature-card .card-body{padding:20px 24px 26px}#features .feature-card p{font-size:17px;line-height:1.8}#features .center-actions{margin-top:30px}#features .center-actions .button{width:100%;min-height:64px;font-size:23px;padding:12px 40px 12px 20px}#features .center-actions .button:after{right:22px;font-size:30px}}
@media(max-width:360px){#admissions .school-line{font-size:14px}.admission-card-body{padding-inline:17px}#features .feature-card h3{font-size:23px}#features .feature-card p{font-size:16px}#features .center-actions .button{font-size:20px}}
/* Visual QA corrections: remove inherited v4 decorations and restore reference typography. */
#admissions,#features{--serif:'Noto Serif JP','Noto Serif CJK JP','Yu Mincho',serif}
#admissions .admission-card{gap:0}
#admissions .admission-card-head h3{background:none;width:auto;flex:none}
#admissions .admission-card .button:after{color:inherit}
#features .feature-card h3:after{display:block}
#admissions:before,#features:before{clip-path:none;transform:none;border:0;border-radius:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 200' preserveAspectRatio='none'%3E%3Cpath fill='%23d8edca' fill-opacity='.65' d='M0 0H500C270 40 150 22 0 115Z'/%3E%3Cpath fill='%23c4e4b6' fill-opacity='.38' d='M0 0H220C120 75 55 85 0 200Z'/%3E%3C/svg%3E") left top/100% 100% no-repeat}
#admissions:after,#features:after{clip-path:none;transform:none;border:0;border-radius:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 160' preserveAspectRatio='none'%3E%3Cpath fill='%23d8edca' fill-opacity='.65' d='M0 160C230 80 295 70 500 0V160Z'/%3E%3Cpath fill='%23c4e4b6' fill-opacity='.38' d='M100 160C250 65 400 140 500 38V160Z'/%3E%3C/svg%3E") right bottom/100% 100% no-repeat}
@media(min-width:1151px){#admissions .admission-card-head{min-height:90px}#admissions .school-lines{min-height:78px}#admissions .admission-description{font-size:clamp(12px,1.1vw,21px);letter-spacing:-.03em;margin-bottom:20px}#admissions .admission-card-body{padding-top:12px}#admissions .admission-card .button{min-height:48px}}

#features .feature-card h3{width:100%;align-self:stretch}

/* User-requested CSS adjustments, 2026-11-10. */
#admissions .admission-card-head h3 { background-image: none; }
#admissions .section-head { align-self: start; }
.row-actions button { width: 40%; }
.brand span strong { font-family: 'Noto Serif CJK JP', 'Yu Mincho', serif; }
.brand strong { font-size: clamp(29px, 2.9vw, 38px); }
.header-actions .button { width: 220px; }
.school-pill { gap: 10px; display: flex; justify-content: center; }
.results .eyebrow { font-size: 18px; }
#features .center-actions .button { font-size: 24px; }
section#admissions,
section#features,
section#results,
section#courses,
section#about,
section#schools,
section#steps,
section#faq,
section#news,
section#contact { padding: 8rem 0 8rem !important; }

.site-footer .brand strong { font-size: clamp(29px, 2.9vw, 38px); }

/* User-requested typography and full-capacity display. */
.eyebrow { font-size: 36px !important; }
.eyebrow:before { height: 26px !important; }
#features .feature-card h3 { line-height: 1.5; }
#admissions h2 { font-size: clamp(30px, 3.15vw, 36px); }
#admissions .admission-card-head h3 { font-size: clamp(25px, 2.45vw, 26px); }
.admission-card-head>svg { width: clamp(44px, 4.3vw, 32px); height: 46px; }
.school-pill { width: 150px; }
.school-course { color: #cc0000; }
#admissions .admission-card .button { font-size: clamp(16px, 1.35vw, 24px); font-weight: bold; }

/* Remove eyebrow leading decoration everywhere; keep footer actions as plain links. */
.eyebrow::before { content: none !important; display: none !important; }
.footer-actions > a { color: inherit; font-size: 16px; text-decoration: underline; text-underline-offset: .2em; }

/* Latest requested card typography. */
#features .feature-card h3 { font-size: 24px; }
.card-body p { font-size: 17px !important; }
.section-head p { color: #272727 !important; }

/* Latest label, flow-heading decoration and title wrapping requests. */
#steps .eyebrow::after { content: none; display: none; }
#features .section-head h2 { font-size: 52px; white-space: normal; overflow-wrap: anywhere; }
#features .section-head h2 strong { display: inline; }
.school-course { flex: 1; text-align: center; }

#features .section-head h2 { max-width: none; width: 100%; }

#features .section-head.center h2 { max-width: none; }

/* School-by-school availability table requested 2026-11-10. */
#admissions h2 { font-weight: bold; }
.admission-availability { min-width: 0; }
.availability-table { width: 100%; table-layout: fixed; border-collapse: collapse; background: #fff; font-size: 24px; color: #173f12; }
.availability-table th,.availability-table td { padding: 23px 18px; border-bottom: 1px solid #dce8d5; text-align: center; }
.availability-table thead { background: #edf6e6; }
.availability-table th { font-weight: bold; }
.availability-table tbody th { text-align: left; }
.availability-table .availability-status { color: #cc0000; font-weight: bold; }
.availability-actions { text-align: center; margin-top: 30px; }
.availability-actions .button { width: min(100%,420px); color: #245e15; border: 1px solid #3b962a; border-radius: 99px; background: white; font-size: 24px; font-weight: bold; padding: 14px 24px; }
.availability-actions .button:after { content: '→'; color: inherit; }
@media(max-width:760px) { .availability-table { font-size: 17px; } .availability-table th,.availability-table td { padding: 20px 7px; } .availability-table tbody th { white-space: nowrap; } .availability-actions .button { font-size: 20px; } }

.availability-table .availability-status.available { color: #000; }

#admissions > .wrap { width: 1280px; max-width: calc(100% - 36px); }

/* Supplied photos and continuous, restrained section transitions. */
#features .eyebrow::after { content: none; display: none; }
#features img.feature-photo { display:block; width:100%; height:auto; aspect-ratio:435/290; object-fit:cover; object-position:center; background:none; }
.result-photos { padding-bottom:0; }
.result-main { width:100%; aspect-ratio:1000/685; object-fit:cover; object-position:center; }
.course-card > img { width:100%; height:auto; aspect-ratio:1000/685; object-fit:cover; object-position:center; }
.about-figure img { object-position:center; }
.hero:after { background:linear-gradient(90deg,#fffffffa 0%,#fffffff5 30%,#ffffffd9 43%,#ffffff00 65%); }
.hero-image { object-position:center; }
#admissions { background:linear-gradient(#fff,#f5faef); }
#features { background:linear-gradient(#f5faef,#fff 45%,#fff); }
#admissions:before,#admissions:after,#features:before,#features:after { content:none; }
.section.leaf-edge:not(#admissions):not(#features):not(#contact)::before,
.section.leaf-edge:not(#admissions):not(#features):not(#contact)::after { content:none; }
.section.pale { background:linear-gradient(#fff,#f1f7ec 22%,#f1f7ec 78%,#fff); }
#results { position:relative; overflow:hidden; }
#results::before,#results::after { content:''; position:absolute; left:0; width:100%; height:45px; pointer-events:none; background:white; }
#results::before { top:-1px; clip-path:ellipse(60% 100% at 50% 0%); }
#results::after { bottom:-1px; clip-path:ellipse(60% 100% at 50% 100%); }
#contact { background:#fff; }
#contact::before { content:none; }
@media(max-width:600px) {
 .hero { display:flex; flex-direction:column; padding-bottom:0; min-height:0; }
 .hero-content { order:0; padding-bottom:30px; background:white; }
 .hero-image { order:1; position:relative; z-index:0; height:auto; aspect-ratio:1000/685; object-fit:cover; }
 .hero:after { display:none; }
 #results::before,#results::after { height:28px; }
 .course-card h3 { font-size:25px; line-height:1.5; }
}

/* Requested copy and matching section headings, 2026-11-10. */
.course-card h3, .school-card h3 { font-size:28px; }
#steps .eyebrow, #faq .faq-heading h2 { font-family:inherit; font-size:36px; color:var(--green-dark); font-weight:bold; line-height:1.5; }
#faq .faq-heading > .eyebrow:empty { display:none; }
.faq-actions { margin-top:36px; text-align:center; }

/* Keep the long admissions introduction from squeezing the availability table. */
#admissions .admission-layout { grid-template-columns: 320px minmax(0, 1fr); align-items: start; }
#admissions .section-head { min-width: 0; }
#admissions .section-head p { white-space: normal; overflow-wrap: break-word; }
#admissions h2 { white-space: normal; }
@media (max-width: 1150px) {
  #admissions .admission-layout { grid-template-columns: minmax(0, 1fr); }
}
/* Use the existing compact menu before fixed-width desktop actions overflow. */
@media (max-width: 1440px) {
  .site-header .desktop-nav, .site-header .header-actions { display: none; }
  .site-header .menu-toggle { display: block; }
}
/* Requested section introduction size across all responsive overrides. */
.section-head p { font-size: 17px !important; }

/* Requested statistics spacing and numeric hierarchy. */
.stats { margin-top: 4rem; }
.stats .stat .value { font-size: 64px; }
.stats .stat-number { font-size: 64px; font-weight: bold; }
.stats .stat-unit { font-size: 28px; }

/* Requested section spacing. */
section#admissions, section#features, section#results, section#courses, section#about, section#schools, section#steps, section#faq, section#news, section#contact { padding: 4rem 0 4rem !important; }

/* Five supplied statistics and clearly separated educational goals. */
.stats-grid { grid-template-columns: minmax(0,1.5fr) repeat(4,minmax(0,1fr)); }
.stat { min-width:0; padding-inline:12px; }
.education-goals { margin:28px 0; padding:22px 24px; border-left:4px solid var(--green); border-radius:0 12px 12px 0; background:#f1f7ec; }
.education-goals h3 { color:var(--green-dark); font-size:22px; font-weight:bold; }
.education-goals ul { margin:14px 0 0; padding-left:1.25em; font-size:16px; line-height:1.8; }
.education-goals li + li { margin-top:10px; }
@media (max-width:1200px) {
 .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:24px; }
 .stats-grid .stat:nth-child(2n) { border-right:0; }
 .stats-grid .stat:last-child { grid-column:1 / -1; }
}

.stats .stat-amount { display:inline-block; white-space:nowrap; }
@media (max-width:600px) { .stats .stat:nth-child(3) .value > .stat-unit:first-child { display:block; line-height:1.4; } }
