@import "tailwindcss";
:root{--ink:#153c3a;--green:#2f8275;--mint:#e9f5ee;--cream:#faf8ef;--orange:#e9904d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}.header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,76px);background:#fff;position:relative;z-index:10}.brand{display:flex;gap:12px;align-items:center}.brandMark{width:48px;height:48px;border-radius:50% 50% 44% 56%;display:grid;place-items:center;background:var(--orange);color:#fff;font-weight:800}.brand b{display:block;font-size:15px;letter-spacing:.05em}.brand small{display:block;color:#68827f;font-size:11px}.header nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:700}.navCta{background:var(--ink);color:#fff;padding:12px 20px;border-radius:30px}.hero{min-height:670px;background:linear-gradient(110deg,#f4f1e5 0 53%,#dceee4 53%);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:50px clamp(24px,7vw,110px) 70px;gap:5vw;overflow:hidden}.heroCopy{position:relative;z-index:2}.eyebrow,.sectionLabel{font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--green)}.eyebrow:before{content:"";display:inline-block;width:34px;height:2px;background:var(--orange);vertical-align:middle;margin-right:12px}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(43px,5.2vw,76px);line-height:1.3;letter-spacing:.04em;margin:20px 0 24px}.hero h1 em{font-style:normal;color:var(--green)}.lead{color:#46625f;font-size:16px;line-height:2}.heroActions{display:flex;align-items:center;gap:32px;margin-top:38px}.primary{padding:17px 30px;background:var(--orange);color:#fff;border-radius:50px;font-weight:700;box-shadow:0 10px 24px #d88b4b35}.textLink{font-weight:700;font-size:14px}.textLink span{color:var(--orange);margin-left:8px}.heroVisual{position:relative;height:520px}.heroVisual:before{content:"";position:absolute;inset:6% -15% -2% 8%;border-radius:48% 52% 36% 64%;background:#8db9a7;transform:rotate(-4deg)}.heroVisual img{position:absolute;width:92%;height:88%;right:0;top:3%;object-fit:cover;border-radius:48% 52% 42% 58%;filter:saturate(.85);box-shadow:0 20px 45px #24584c33}.floatNote{position:absolute;left:-4%;bottom:2%;background:#fff;padding:20px 26px;border-radius:18px;box-shadow:0 15px 35px #264b4030}.floatNote b,.floatNote span{display:block}.floatNote b{font-family:"Yu Mincho",serif;color:var(--orange);font-size:20px}.floatNote span{font-size:11px;color:#71827f}.message{text-align:center;padding:120px 24px}.message h2,.sectionHead h2,.schoolCopy h2,.support h2,.contact h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(30px,3.5vw,48px);line-height:1.55;letter-spacing:.04em;margin:14px 0 24px}.message>p:last-child{color:#5b6f6d;line-height:2.2}.activity{padding:110px clamp(24px,7vw,110px);background:var(--mint)}.sectionHead{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.sectionHead>p{color:#5c716e}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cards article{position:relative;background:#fff;border-radius:18px;padding:35px 25px 30px;min-height:290px;box-shadow:0 7px 25px #214c3f0a}.number{position:absolute;right:18px;top:14px;color:#c6d8d0;font-weight:800;font-size:13px}.icon{width:52px;height:52px;background:#eff7f2;color:var(--green);border-radius:50%;display:grid;place-items:center;font-size:23px}.cards h3{font-size:17px;margin:24px 0 12px}.cards p{font-size:13px;color:#60716f}.school{display:grid;grid-template-columns:1fr 1fr;min-height:600px}.schoolImage img{width:100%;height:100%;object-fit:cover}.schoolCopy{padding:100px clamp(35px,7vw,100px);display:flex;flex-direction:column;justify-content:center;background:var(--cream)}.schoolCopy>p:not(.sectionLabel){color:#586d69}.schoolCopy .small{font-size:13px;border-top:1px solid #d9d5c8;padding-top:20px}.support{background:var(--ink);color:#fff;padding:90px clamp(24px,7vw,110px);display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:center}.sectionLabel.light{color:#8fc7b8}.support>div>p:not(.sectionLabel){color:#c3d3d0}.supportBox{background:#fff;color:var(--ink);border-radius:20px;padding:30px;text-align:center}.supportBox p,.supportBox b,.supportBox small{display:block}.supportBox p{font-size:12px;margin:0}.supportBox b{font-size:18px;margin:5px 0 22px}.supportBox a{display:block;background:var(--orange);color:#fff;border-radius:40px;padding:15px;font-weight:800}.supportBox small{margin-top:10px;color:#7c8987}.contact{text-align:center;padding:110px 24px}.contact>p:not(.sectionLabel){color:#647674}.contactGrid{display:grid;grid-template-columns:1fr 1fr;max-width:860px;margin:45px auto 0;border:1px solid #dce5e0;border-radius:18px;overflow:hidden}.contactGrid a{padding:30px;display:flex;flex-direction:column}.contactGrid a+a{border-left:1px solid #dce5e0}.contactGrid small,.contactGrid span{font-size:11px;color:#73827f}.contactGrid b{font-size:22px;color:var(--green);margin:4px 0}footer{background:#0e302f;color:#c4d2cf;padding:60px clamp(24px,7vw,110px) 25px;font-size:12px}.footerTop{display:grid;grid-template-columns:1.4fr 1fr .6fr;gap:40px}.brand.inverse b{color:#fff}.footerTop>div:last-child{display:flex;flex-direction:column;gap:8px}.footerTop>div:last-child a{color:#fff}.footerBottom{border-top:1px solid #ffffff25;margin-top:40px;padding-top:20px;display:flex;justify-content:space-between}
@media(max-width:900px){.header nav a:not(.navCta){display:none}.hero{grid-template-columns:1fr;padding-top:60px}.heroVisual{height:400px}.cards{grid-template-columns:1fr 1fr}.sectionHead{display:block}.school{grid-template-columns:1fr}.schoolImage{height:400px}.support{grid-template-columns:1fr}.footerTop{grid-template-columns:1fr 1fr}.footerTop .brand{grid-column:1/-1}}
@media(max-width:600px){.header{height:72px;padding:0 16px}.brandMark{width:40px;height:40px}.brand b{font-size:12px}.brand small{font-size:9px}.navCta{padding:10px 14px;font-size:11px}.hero{background:linear-gradient(165deg,#f4f1e5 0 58%,#dceee4 58%);padding:48px 22px 55px}.hero h1{font-size:42px}.lead{font-size:14px}.desktop{display:none}.heroActions{align-items:flex-start;flex-direction:column;gap:20px}.heroVisual{height:340px}.floatNote{left:0;padding:14px 18px}.message,.activity,.contact{padding:80px 22px}.message h2{font-size:28px}.sectionHead h2,.schoolCopy h2,.support h2,.contact h2{font-size:30px}.cards{grid-template-columns:1fr}.cards article{min-height:auto}.schoolImage{height:300px}.schoolCopy{padding:70px 24px}.support{padding:70px 22px}.contactGrid{grid-template-columns:1fr}.contactGrid a+a{border-left:0;border-top:1px solid #dce5e0}.footerTop{grid-template-columns:1fr}.footerTop .brand{grid-column:auto}.footerBottom{display:block}.footerBottom span{display:block;margin-top:8px}}

/* Refined visual finish */
body{background:#fbfdfb}.hero,.message,.activity,.school,.support,.contact{scroll-margin-top:88px}.header{position:sticky;top:0;z-index:50;border-bottom:1px solid #e7eee9;box-shadow:0 5px 18px #153c3a08}.header nav a{position:relative;transition:color .2s ease}.header nav a:not(.navCta):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--orange);transition:right .2s ease}.header nav a:not(.navCta):hover{color:var(--green)}.header nav a:not(.navCta):hover:after{right:0}.navCta,.primary,.supportBox a{transition:transform .2s ease,box-shadow .2s ease}.navCta:hover,.primary:hover,.supportBox a:hover{transform:translateY(-2px);box-shadow:0 14px 28px #153c3a28}.heroVisual{overflow:visible}.heroVisual img{filter:saturate(.92);object-position:center center}.message{background:linear-gradient(180deg,#fff,#fbfdfb)}.message>p:last-child{max-width:850px;margin-left:auto;margin-right:auto}.cards article{border:1px solid #e5efe9;transition:transform .25s ease,box-shadow .25s ease}.cards article:hover{transform:translateY(-6px);box-shadow:0 18px 38px #214c3f18}.cards .icon{box-shadow:inset 0 0 0 1px #dcece3}.schoolImage{overflow:hidden}.schoolImage img{object-position:center 45%;transition:transform .5s ease}.school:hover .schoolImage img{transform:scale(1.02)}.schoolCopy{position:relative}.schoolCopy:before{content:"";position:absolute;left:clamp(35px,7vw,100px);top:72px;width:44px;height:3px;background:var(--orange)}.supportBox{box-shadow:0 20px 45px #071f1e35}.contactGrid{background:#fff;box-shadow:0 16px 38px #153c3a0d}.contactGrid a{transition:background .2s ease}.contactGrid a:hover{background:#f2f9f5}footer{border-top:4px solid var(--orange)}
@media(max-width:900px){.hero,.message,.activity,.school,.support,.contact{scroll-margin-top:78px}.schoolCopy:before{top:72px}}
@media(max-width:600px){body{line-height:1.75}.hero,.message,.activity,.school,.support,.contact{scroll-margin-top:72px}.hero h1{font-size:38px;letter-spacing:.02em}.hero h1 em{white-space:nowrap}.heroVisual img{object-position:center center}.sectionHead{margin-bottom:36px}.schoolCopy:before{left:24px;top:50px}.contactGrid b{font-size:19px}}

/* Keep the main message together without leaving a single character on a line. */
.hero h1{font-size:clamp(38px,4vw,58px);line-height:1.35;letter-spacing:.03em}
.heroLine{display:block;white-space:nowrap}
@media(max-width:600px){.hero h1{font-size:clamp(30px,9vw,38px)}}

/* Learning style panel */
.schoolCopy{background:#173b60;color:#fff}.schoolCopy:before{background:var(--orange)}.schoolCopy .sectionLabel{color:#80c5bc}.schoolCopy>p:not(.sectionLabel){color:#d2dfdf}.schoolPoints{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}.schoolPoints span{display:block;padding:13px 15px;border:1px solid #ffffff2c;border-radius:9px;color:#f4f7f7;font-size:13px;line-height:1.75}.schoolPoints span::first-letter{color:#e8a657}
@media(max-width:600px){.schoolPoints{grid-template-columns:1fr}.schoolCopy h2{font-size:clamp(27px,8vw,34px)}}

.schoolCopy h2{font-size:clamp(28px,2.8vw,42px);line-height:1.55;letter-spacing:.025em}.schoolLine{display:block;white-space:nowrap}
@media(max-width:600px){.schoolCopy h2{font-size:clamp(25px,7.2vw,31px)}.schoolLine{white-space:normal}}

/* White breathing space between the learning panel and the support section. */
.support{border-top:38px solid #fff}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.cards article{padding:0;overflow:hidden}.cardPhoto{position:relative;height:170px;overflow:hidden}.cardPhoto img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease}.cards article:nth-child(2) .cardPhoto img{object-position:center 42%}.cards article:nth-child(4) .cardPhoto img{object-position:center 38%}.cards article:hover .cardPhoto img{transform:scale(1.035)}.cardPhoto .number{top:13px;right:13px;background:#ffffffea;color:var(--green);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;box-shadow:0 5px 14px #153c3a20}.cardBody{padding:24px 24px 28px}.cardBody .icon{width:46px;height:46px;font-size:20px}.cardBody h3{margin:18px 0 10px}@media(max-width:900px){.cardPhoto{height:220px}}@media(max-width:600px){.cardPhoto{height:230px}.cardBody{padding:22px 22px 26px}}

/* Responsive link banner for Asuno High School */
.asunoSchoolBanner{padding:0 clamp(16px,6vw,90px) 70px;background:#fff}.asunoSchoolBanner a{display:block;width:100%;max-width:1600px;margin:0 auto;overflow:hidden;border-radius:12px;box-shadow:0 14px 34px #153c3a18}.asunoSchoolBanner img{display:block;width:100%;max-width:1600px;height:auto;margin:0 auto}@media(max-width:600px){.asunoSchoolBanner{padding:0 14px 48px}.asunoSchoolBanner a{border-radius:7px}}

/* Clear footer logo: reuse the sharper header logo on a white panel. */
.footerLogoBox{width:min(100%,360px)}.footerLogoBox img{display:block;width:100%;height:auto;background:#fff;border-radius:10px;padding:10px 16px}.footerLogoBox small{display:block;margin-top:9px;color:#c4d2cf;letter-spacing:.06em}@media(max-width:900px){.footerLogoBox{grid-column:1/-1}}@media(max-width:600px){.footerLogoBox{width:min(100%,310px)}}
