:root{--ink:#253a32;--muted:#75827a;--green:#397c5e;--mint:#dff0e7;--cream:#fbfaf5;--peach:#f4d6c4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Arial,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}a{color:inherit;text-decoration:none}.site-header{justify-content:space-between;align-items:center;max-width:1240px;height:82px;margin:auto;padding:0 48px;display:flex}.brand{letter-spacing:.03em;align-items:center;gap:11px;font-size:16px;font-weight:750;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:50% 50% 50% 12px;place-items:center;width:31px;height:31px;font-family:Georgia,serif;font-size:18px;font-style:italic;display:grid}.nav-links{color:#53665c;align-items:center;gap:38px;font-size:12px;font-weight:600;display:flex}.nav-links a{transition:color .2s}.nav-links a:hover{color:var(--green)}.nav-cta{border:1px solid #d8e2da;border-radius:999px;padding:12px 19px}.nav-cta span{color:var(--green);margin-left:10px}.hero{grid-template-columns:1fr 1fr;align-items:center;max-width:1240px;min-height:590px;margin:0 auto;padding:58px 72px 28px;display:grid;position:relative;overflow:hidden}.hero-copy{z-index:1;padding-bottom:22px;position:relative}.eyebrow,.section-kicker{color:var(--green);letter-spacing:.17em;font-size:10px;font-weight:750}.eyebrow{align-items:center;gap:9px;margin-bottom:27px;display:flex}.eyebrow-dot{background:#edae85;border-radius:50%;width:7px;height:7px}.hero h1{letter-spacing:-.055em;margin:0;font-size:clamp(46px,5vw,68px);font-weight:750;line-height:1.28}.hero h1 span{color:var(--green)}.hero-lead{letter-spacing:.01em;margin:18px 0 14px;font-size:19px;font-weight:700}.hero-description{color:#748078;margin:0 0 26px;font-size:13px;line-height:2.05}.button{border-radius:999px;justify-content:center;align-items:center;gap:25px;height:52px;padding:0 23px;font-size:12px;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex}.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #244c3724}.button-primary{background:var(--green);color:#fff}.button-primary span{font-size:16px}.hero-note{color:#858f88;margin-top:19px;font-size:10px}.note-icon{color:#dc9e79;vertical-align:-1px;margin-right:5px;font-size:14px}.hero-visual{place-items:center;height:430px;display:grid;position:relative}.visual-sun{background:#e6f1e9;border-radius:48% 52% 50% 50%;width:315px;height:315px;position:absolute;transform:rotate(-12deg)}.visual-orbit{border:1px solid #c5ddce;border-radius:50%;position:absolute;transform:rotate(-23deg)}.orbit-one{width:410px;height:220px}.orbit-two{border-color:#d5e4d9;width:365px;height:285px;transform:rotate(50deg)}.spark{color:#e2a77f;position:absolute}.spark-one{font-size:28px;top:14%;right:12%}.spark-two{color:#6d9e7e;font-size:22px;top:26%;left:11%}.chat-card{background:#fff;border-radius:18px;position:absolute;box-shadow:0 18px 48px #35594318}.card-back{opacity:.9;width:220px;height:93px;padding:17px;top:19%;right:4%;transform:rotate(7deg)}.mini-avatar{width:25px;height:25px;color:var(--green);background:#deeee3;border-radius:9px;place-items:center;font-size:9px;font-weight:700;display:inline-grid}.chat-line{background:#e9eee9;border-radius:8px;height:6px;margin-top:-19px;margin-left:35px;display:block}.line-long{width:115px}.line-short{width:76px;margin-top:9px}.card-front{z-index:1;width:270px;padding:20px;transform:translate(-4px,4px)rotate(-3deg)}.card-top{align-items:center;gap:9px;display:flex}.peach{color:#b77e5f;background:#f8e5d9;font-size:16px}.card-label{color:#68776e;font-size:10px;font-weight:700}.card-dots{color:#bdc8c0;letter-spacing:2px;margin-left:auto}.prompt-bubble,.answer-bubble{border-radius:12px;width:fit-content;margin-top:15px;padding:10px 13px;font-size:12px;line-height:1.7}.prompt-bubble{background:#f8f3eb;margin-left:auto}.answer-bubble{color:#446c54;background:#e9f3ec}.answer-star{color:#d69b70;margin-right:4px}.visual-caption{color:#718179;letter-spacing:.06em;font-size:10px;position:absolute;bottom:32px;right:9%}.caption-icon{color:var(--green);margin-right:5px}.hero-bottom{color:#9aa39c;letter-spacing:.16em;align-items:center;gap:17px;font-size:8px;display:flex;position:absolute;bottom:19px;left:72px;right:72px}.bottom-line{background:#e2e6df;flex:1;height:1px}.intro-section{background:#fff;padding:93px max(8vw,50vw - 540px) 100px}.section-kicker{align-items:center;gap:13px;display:flex}.section-kicker span{color:#a8b1aa;font-weight:500}.intro-content{grid-template-columns:1.1fr .9fr;align-items:center;gap:8%;margin-top:32px;display:grid}.intro-content h2,.program-heading h2{letter-spacing:-.04em;margin:0;font-size:33px;line-height:1.55}.intro-content h2 span{color:var(--green)}.intro-text{color:#748078;font-size:13px;line-height:2.05}.intro-text p{margin:0 0 12px}.values{border-top:1px solid #e7ebe6;grid-template-columns:repeat(3,1fr);margin-top:52px;padding-top:28px;display:grid}.values>div{border-right:1px solid #edf0eb;grid-template-columns:44px 1fr;align-items:center;column-gap:12px;padding-left:20px;display:grid}.values>div:first-child{padding-left:0}.values>div:last-child{border:0}.value-icon{width:39px;height:39px;color:var(--green);background:#eaf4ed;border-radius:13px;grid-row:span 2;place-items:center;font-size:20px;display:grid}.sun-icon{color:#ba8b58;background:#f8f0df}.leaf-icon{color:#8d806b;background:#f0eee7}.values strong{font-size:12px}.values small{color:#89938b;margin-top:3px;font-size:10px;line-height:1.7}.access-map{margin-top:54px}.map-heading{justify-content:space-between;align-items:end;margin-bottom:16px;display:flex}.map-label{color:var(--green);letter-spacing:.17em;font-size:9px;font-weight:750}.map-heading h3{margin:7px 0 0;font-size:19px}.map-heading p{color:#7a877e;margin:0 0 2px;font-size:11px}.access-map iframe{border:0;border-radius:16px;width:100%;height:340px;display:block}.program-section{padding:95px max(8vw,50vw - 540px) 90px}.program-heading{justify-content:space-between;align-items:end;display:flex}.program-heading h2{margin-top:20px}.program-heading>p{color:#818b83;margin:0 0 5px;font-size:11px;line-height:1.9}.topic-grid{grid-template-columns:repeat(3,1fr);gap:17px;margin-top:41px;display:grid}.topic-card{background:#fff;border:1px solid #edf0eb;border-radius:16px;flex-direction:column;min-height:240px;padding:23px 23px 21px;transition:transform .2s,box-shadow .2s;display:flex}.topic-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px #3c624612}.topic-top{justify-content:space-between;align-items:center;display:flex}.topic-number{color:#8aac95;font-family:Georgia,serif;font-size:21px}.topic-arrow{color:#8aa495;font-size:17px}.topic-tag{color:#648772;background:#eef5ef;border-radius:99px;align-self:flex-start;margin-top:14px;padding:6px 10px;font-size:9px}.topic-card h3{margin:14px 0 8px;font-size:15px}.topic-card>p{color:#808b83;margin:0 0 15px;font-size:10px;line-height:1.9}.topic-link{color:#62756a;border-top:1px solid #edf0eb;justify-content:space-between;margin-top:auto;padding-top:13px;font-size:9px;display:flex}.topic-link span{color:var(--green);font-size:14px}.program-footnote{color:#8a948c;justify-content:center;align-items:center;gap:8px;margin-top:28px;font-size:10px;display:flex}.footnote-star{color:#d79d78}.contact-section{color:#fff;background:#3d7558;min-height:345px;padding:66px max(10vw,50vw - 480px);position:relative;overflow:hidden}.contact-copy{z-index:1;position:relative}.light-kicker{color:#d4e7da}.contact-section h2{letter-spacing:-.04em;margin:20px 0 8px;font-size:33px;line-height:1.5}.contact-section p{color:#dbe9df;margin:0 0 20px;font-size:11px;line-height:1.9}.button-light{color:#3c7657;background:#fff}.button-light span{font-size:15px}.contact-section small{color:#d0e1d5;margin-top:12px;font-size:9px;display:block}.contact-orb{border:1px solid #ffffff23;border-radius:50%;width:480px;height:480px;position:absolute;top:-75px;right:6%}.contact-orb:before,.contact-orb:after{content:"";border:1px solid #ffffff24;border-radius:50%;position:absolute;inset:35px}.contact-orb:after{inset:75px}.contact-stamp{color:#4e775a;text-align:center;background:#f3d8c4;border-radius:50%;place-content:center;width:124px;height:124px;font-size:17px;font-weight:750;line-height:1.4;display:grid;position:absolute;top:102px;right:19%;transform:rotate(10deg)}.contact-stamp span{color:#fff;font-size:23px;position:absolute;top:4px;right:-11px}.site-footer{align-items:center;gap:25px;max-width:1080px;min-height:100px;margin:auto;padding:24px 0;display:flex}.footer-brand{font-size:12px}.footer-brand .brand-mark{width:26px;height:26px;font-size:15px}.site-footer>p{color:#8b958d;font-size:9px}.back-top{color:#758279;letter-spacing:.12em;margin-left:auto;font-size:8px}.site-footer>small{color:#9aa39c;border-left:1px solid #dfe4df;padding-left:18px;font-size:8px}@media (max-width:760px){.site-header{height:68px;padding:0 22px}.brand{font-size:13px}.nav-links{gap:0}.nav-links a:not(.nav-cta){display:none}.nav-cta{padding:10px 13px;font-size:10px}.hero{flex-direction:column;align-items:stretch;min-height:auto;padding:48px 26px 60px;display:flex}.hero h1{font-size:48px}.hero-lead{font-size:16px}.hero-description{font-size:11px}.desktop-break{display:none}.hero-visual{height:330px;margin:0 -15px;transform:scale(.9)}.visual-sun{width:250px;height:250px}.orbit-one{width:320px;height:175px}.orbit-two{width:300px;height:220px}.card-front{transform:scale(.88)rotate(-3deg)}.card-back{right:0}.hero-bottom{left:26px;right:26px}.intro-section,.program-section{padding:66px 25px}.intro-content{margin-top:25px;display:block}.intro-content h2,.program-heading h2{font-size:27px}.intro-text{margin-top:18px}.values{grid-template-columns:1fr;gap:18px;margin-top:32px}.values>div,.values>div:first-child{border:0;padding:0}.access-map{margin-top:38px}.access-map iframe{border-radius:12px;height:280px}.program-heading{display:block}.program-heading>p{margin-top:14px}.topic-grid{grid-template-columns:1fr;gap:12px;margin-top:27px}.topic-card{min-height:220px}.program-footnote{justify-content:flex-start;line-height:1.7}.contact-section{min-height:390px;padding:58px 27px}.contact-section h2{font-size:28px}.contact-orb{width:320px;height:320px;top:40px;right:-190px}.contact-stamp{width:88px;height:88px;font-size:12px;top:41px;right:10%}.site-footer{flex-wrap:wrap;gap:12px;padding:22px 25px}.site-footer>p{display:none}.site-footer>small{margin-left:auto;padding-left:10px}}
