:root{
  --blue:#1689c8; --deep-blue:#0d5f94; --sky:#eaf7ff; --green:#69b934; --deep-green:#3c8b24;
  --teal:#20b6ad; --gold:#e3a70c; --cream:#fff9df; --ink:#1f2f3a; --muted:#667784; --line:#d9e9ed;
  --bg:#fbfeff; --white:#fff; --shadow:0 12px 30px rgba(13,95,148,.14); --radius:16px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;background:var(--bg);line-height:1.75} a{color:inherit;text-decoration:none} img{max-width:100%;display:block}.container{width:min(1080px,92vw);margin-inline:auto}.center{text-align:center}.note{font-size:13px;color:var(--muted)}
.site-header{background:#fff;border-top:6px solid var(--teal);box-shadow:0 2px 16px rgba(0,0,0,.06);position:sticky;top:0;z-index:20}.header-inner{width:min(1120px,94vw);margin:auto;display:flex;align-items:center;gap:22px;padding:8px 0}.brand{flex:0 0 auto}.brand-logo{width:360px;height:auto;max-height:108px;object-fit:contain;object-position:left center}.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.tel-box{color:var(--deep-blue);font-weight:900;font-size:26px;line-height:1.05;text-align:center}.tel-icon{font-size:21px;margin-right:4px;color:var(--teal)}.tel-box small{display:block;font-size:12px;color:var(--muted);font-weight:700}.square-btn{width:90px;height:72px;border-radius:10px;display:grid;place-items:center;text-align:center;font-weight:900;font-size:14px;border:2px solid #d9ecf2;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}.square-btn.light{width:112px;white-space:nowrap;background:linear-gradient(#fff,#eaf7ff);color:var(--deep-blue)}.square-btn.gold{background:linear-gradient(#f2be24,var(--gold));color:#fff;border-color:#d59c00}.nav-toggle{display:none;margin-left:auto;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;border:none;border-radius:8px;padding:10px 14px;font-weight:900}.global-nav{background:linear-gradient(90deg,var(--blue),var(--teal),var(--green))}.global-nav>ul{width:min(1120px,94vw);margin:0 auto;list-style:none;display:flex;padding:0}.global-nav li{position:relative}.global-nav a{display:block;color:#fff;font-weight:800;padding:14px 17px;border-left:1px solid rgba(255,255,255,.23);font-size:14px}.global-nav li:last-child a{border-right:1px solid rgba(255,255,255,.23)}.global-nav a:hover{background:rgba(0,0,0,.18)}.sub-menu{position:absolute;top:100%;left:0;list-style:none;background:var(--deep-blue);padding:0;margin:0;min-width:220px;display:none;box-shadow:var(--shadow)}.has-menu:hover .sub-menu{display:block}.sub-menu a{border:0;border-bottom:1px solid rgba(255,255,255,.12)}
.hero{background:#fff}.slider{height:460px;position:relative;overflow:hidden;border-bottom:12px solid var(--teal)}.slide{position:absolute;inset:0;opacity:0;transition:opacity .75s ease;background-size:cover;background-position:center}.slide.is-active{opacity:1}.hero-copy{width:min(620px,88vw);margin-left:calc((100vw - min(1080px,92vw))/2);padding-top:72px;text-shadow:0 2px 0 #fff,0 0 12px #fff}.eyebrow{font-size:22px;font-weight:900;color:var(--teal);margin:0 0 5px}.hero h1{font-size:43px;line-height:1.25;color:var(--deep-blue);margin:0 0 18px;font-weight:900;letter-spacing:.03em}.hero p:not(.eyebrow){font-size:18px;font-weight:700}.slider-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:10px}.slider-dots button{width:12px;height:12px;border-radius:50%;border:2px solid var(--blue);background:#fff;cursor:pointer}.slider-dots button.is-active{background:var(--blue)}
.cta-band{background:#fff;padding:24px 0}.cta-inner{display:flex;justify-content:center;gap:22px}.cta-btn{display:inline-flex;align-items:center;justify-content:center;min-width:240px;padding:16px 30px;border-radius:999px;font-weight:900;box-shadow:var(--shadow);transition:transform .2s}.cta-btn:hover{transform:translateY(-2px)}.cta-btn.primary{background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff}.cta-btn.secondary{background:linear-gradient(135deg,var(--green),var(--gold));color:#fff}.outline-btn{display:inline-block;border:2px solid var(--blue);color:var(--blue);border-radius:999px;padding:10px 28px;font-weight:900}.card-section{padding:50px 0 64px}.section-title{text-align:center;margin-bottom:28px}.section-title h2{color:var(--deep-blue);font-size:31px;margin:0;font-weight:900}.section-title p{margin:4px 0 0;color:var(--gold);font-family:Georgia,serif;font-style:italic}.section-title.left{text-align:left}.card-grid{display:grid;gap:22px}.card-grid.four{grid-template-columns:repeat(4,1fr)}.info-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.info-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(13,95,148,.2)}.info-card img{height:112px;width:100%;object-fit:cover}.card-body{padding:18px}.card-body h2{font-size:19px;margin:0 0 8px;color:var(--deep-blue);border-bottom:2px dotted #b9dfec;padding-bottom:8px}.card-body p{font-size:14px;margin:0;color:var(--muted)}
.about-section{padding:68px 0;background:linear-gradient(#f1fbff,#fff)}.two-col{display:grid;grid-template-columns:1fr 380px;gap:46px;align-items:start}.about-text h3{font-size:25px;color:var(--deep-blue);line-height:1.45;margin:0 0 18px}.about-lead{margin:22px 0;padding:18px 20px;border-left:5px solid var(--teal);border-radius:0 12px 12px 0;background:#fff;font-weight:700;box-shadow:0 8px 20px rgba(13,95,148,.08)}.side-banners{display:grid;gap:18px}.side-banner{display:block;border:4px solid #d8eff7;background:#fff;box-shadow:var(--shadow);border-radius:14px;padding:26px;position:relative;overflow:hidden}.side-banner:after{content:"";position:absolute;right:-28px;top:-28px;width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--green));opacity:.2}.side-banner strong{display:block;color:var(--deep-blue);font-size:28px;font-weight:900}.side-banner span{font-size:15px;color:var(--muted)}
.feature-section{padding:70px 0;background:#fff}.feature-section.alt{background:linear-gradient(180deg,#fff,#f2fbf7)}.feature-box{display:grid;grid-template-columns:1.35fr .65fr;gap:34px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow)}.feature-box h3{font-size:25px;color:var(--deep-blue);margin:0 0 14px}.program-detail{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}.program-detail>div{padding:18px;border-radius:16px;background:linear-gradient(145deg,#f0faff,#fff);border:1px solid var(--line)}.program-detail h4{margin:8px 0;color:var(--deep-blue);font-size:17px;line-height:1.45}.program-detail p{font-size:14px;margin:0;color:var(--muted)}.program-label{display:inline-block;padding:3px 12px;border-radius:999px;background:var(--blue);color:#fff;font-weight:900;letter-spacing:.04em}.program-label.design{background:var(--deep-green)}.stat-panel{display:grid;gap:14px}.stat-panel div{background:linear-gradient(135deg,#eaf7ff,#f2fbf7);border-radius:16px;padding:18px;border:1px solid var(--line)}.stat-panel span{display:block;color:var(--blue);font-size:28px;font-weight:900}.stat-panel small{color:var(--muted);font-weight:700}.effects-title{text-align:center;color:var(--deep-blue);font-size:25px;margin:34px 0 0}.content-grid{display:grid;gap:20px;margin-top:24px}.content-grid.three{grid-template-columns:repeat(3,1fr)}.effects-grid .mini-card{border-top:4px solid var(--teal)}.mini-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 8px 20px rgba(13,95,148,.08)}.mini-card h3{margin:0 0 8px;color:var(--deep-green)}.mini-card p{margin:0;color:var(--muted)}
.planner-section{padding:70px 0;background:linear-gradient(#fff,#f7fdff)}.mission-card{background:linear-gradient(135deg,var(--deep-blue),var(--teal));color:#fff;border-radius:24px;padding:30px;margin-bottom:26px;box-shadow:var(--shadow)}.mission-card h3{font-size:24px;margin:0 0 8px}.mission-card p{font-size:18px;margin:0}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:15px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{text-align:center;background:var(--deep-blue);color:#fff}td:first-child{font-weight:900;color:var(--blue);white-space:nowrap}.timeline{display:grid;gap:16px}.timeline-item{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 8px 20px rgba(13,95,148,.08)}.timeline-item strong{color:var(--deep-blue);font-size:18px}.timeline-item span{color:var(--muted)}
.news-section{background:#fff;padding:66px 0}.tabs{display:flex;justify-content:center;gap:10px;margin-bottom:24px;flex-wrap:wrap}.tab{border:1px solid var(--line);background:#fff;color:var(--blue);border-radius:999px;padding:8px 20px;font-weight:900;cursor:pointer}.tab.is-active{background:var(--blue);color:#fff}.news-list{border-top:1px solid var(--line);margin-bottom:24px}.news-item{display:grid;grid-template-columns:150px 100px 1fr;gap:16px;align-items:center;padding:16px 8px;border-bottom:1px solid var(--line)}.news-item time{color:var(--muted);font-weight:700}.label{display:inline-block;text-align:center;border-radius:999px;font-size:12px;font-weight:900;padding:3px 10px}.label.blue{background:var(--sky);color:var(--deep-blue)}.label.green{background:#eef9e8;color:var(--deep-green)}.label.gold{background:#fff3c7;color:#9a6b00}.news-item a{font-weight:700}.news-item a:hover{color:var(--blue);text-decoration:underline}.contact-section{padding:72px 0;background:linear-gradient(135deg,#eaf7ff,#effbe8)}.site-footer{background:linear-gradient(90deg,var(--deep-blue),#14736f);color:#fff;padding:38px 0 28px}.footer-inner{display:grid;place-items:center;gap:20px}.footer-logo{width:260px;background:#fff;border-radius:12px;padding:8px}.footer-nav{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;font-size:14px}.footer-nav a:hover{text-decoration:underline}.copyright{font-size:12px;color:#d6f3f8}.page-top{position:fixed;right:18px;bottom:18px;background:var(--blue);color:#fff;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:900;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.2s}.page-top.is-show{opacity:1;pointer-events:auto}
@media (max-width:900px){.brand-logo{width:260px}.tel-box,.square-btn{display:none}.nav-toggle{display:block}.global-nav{display:none}.global-nav.is-open{display:block}.global-nav>ul{display:block;width:100%}.global-nav a{border-bottom:1px solid rgba(255,255,255,.16)}.sub-menu{position:static;display:block;box-shadow:none;background:rgba(0,0,0,.15)}.slider{height:520px}.hero-copy{padding-top:58px}.hero h1{font-size:34px}.card-grid.four,.content-grid.three{grid-template-columns:repeat(2,1fr)}.two-col,.feature-box{grid-template-columns:1fr}.news-item{grid-template-columns:1fr;gap:6px}.cta-inner{flex-direction:column;align-items:stretch}.timeline-item{grid-template-columns:1fr}}
@media (max-width:560px){.header-inner{gap:10px}.brand-logo{width:220px}.hero h1{font-size:28px}.hero p:not(.eyebrow){font-size:15px}.hero-copy br{display:none}.slider{height:460px}.card-grid.four,.content-grid.three,.program-detail{grid-template-columns:1fr}.cta-btn{width:100%}.section-title h2{font-size:25px}}

/* Photo-led visual update */
.global-nav>ul>li{position:relative;flex:1;min-width:0;text-align:center}
.global-nav a{display:flex;align-items:center;justify-content:center;height:100%;padding:14px 8px;white-space:nowrap}
.sub-menu{width:100%;min-width:180px;text-align:left}
.sub-menu a{justify-content:flex-start;padding-inline:16px}
.slider{height:540px;border-bottom-width:8px;background:var(--deep-blue)}
.slide{transition:opacity .9s ease}
.slide:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,45,72,.92) 0%,rgba(7,67,84,.72) 42%,rgba(7,67,84,.12) 72%)}
.slide.is-active{z-index:1}
.hero-copy{position:relative;width:min(610px,88vw);padding-top:68px;color:#fff;text-shadow:none;opacity:0;transform:translateY(20px)}
.slide.is-active .hero-copy{animation:heroIn .75s .2s ease forwards}
.hero-kicker{display:inline-flex;align-items:center;margin:0 0 12px!important;padding:6px 14px;border:1px solid rgba(255,255,255,.48);border-radius:999px;font-size:13px!important;letter-spacing:.08em}
.eyebrow{font-size:20px;color:#7fe0d6}
.hero h1{font-size:44px;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.22)}
.hero p:not(.eyebrow){font-size:17px}
.hero-link{display:inline-flex;align-items:center;gap:18px;margin-top:10px;padding:12px 20px;border-radius:999px;background:#fff;color:var(--deep-blue);font-weight:900;box-shadow:0 8px 22px rgba(0,0,0,.2);transition:transform .2s,background .2s}
.hero-link:hover{transform:translateY(-3px);background:#e8fbf7}
.hero-link span{color:var(--teal);font-size:20px}
.slider-dots{z-index:3;bottom:22px;align-items:center;gap:12px}
.slider-dots button{box-sizing:border-box;flex:0 0 14px;width:14px;height:14px;min-width:14px;min-height:14px;aspect-ratio:1;padding:0;border-radius:50%;border:2px solid #fff;background:transparent;box-shadow:0 1px 7px rgba(0,0,0,.25);transition:background .2s,transform .2s}
.slider-dots button.is-active{background:#fff;transform:scale(1.2)}
.info-card img{height:175px;transition:transform .5s}
.info-card:hover img{transform:scale(1.045)}
.card-body{padding:20px}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:none}
@keyframes heroIn{to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide,.hero-copy,.hero-link,.info-card,.info-card img,.reveal{animation:none!important;transition:none!important;transform:none!important}.reveal,.hero-copy{opacity:1}}
@media (max-width:900px){.global-nav>ul>li{text-align:left}.global-nav a{justify-content:flex-start;padding-inline:5vw}.sub-menu{width:100%}.slider{height:540px}.slide:before{background:linear-gradient(90deg,rgba(5,45,72,.9),rgba(7,67,84,.58))}.hero-copy{padding-top:58px}.hero h1{font-size:34px}}
@media (max-width:560px){.slider{height:510px}.hero-copy{padding-top:42px}.hero h1{font-size:28px}.hero-link{padding:10px 16px}}

/* Content depth, anchor navigation and contact form */
html{scroll-padding-top:166px}
section[id]{scroll-margin-top:166px}
.square-btn.light{width:112px;font-size:14px}
.about-section{position:relative;overflow:hidden;padding-bottom:82px}
.about-section:before{content:"";position:absolute;width:420px;height:420px;right:-180px;bottom:-180px;border-radius:50%;background:radial-gradient(circle,rgba(105,185,52,.14),transparent 68%)}
.training-highlight{position:relative;overflow:hidden;margin-bottom:28px;padding:34px 38px;border-radius:24px;background:linear-gradient(120deg,#0d5f94 0%,#147d8a 62%,#3c8b24 100%);color:#fff;box-shadow:var(--shadow)}
.training-highlight:after{content:none}
.training-highlight h3{position:relative;z-index:1;margin:7px 0 10px;font-size:27px;line-height:1.45}
.training-highlight p{position:relative;z-index:1;margin:0;max-width:750px}
.highlight-label{color:#f5c441!important;font-size:12px!important;font-weight:900!important;letter-spacing:.16em}
.timeline-item{position:relative;overflow:hidden;border-left:5px solid var(--teal)}
.timeline-item:nth-child(even){border-left-color:var(--green)}
.timeline-item strong{font-size:20px}
.news-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#f4fbff 100%)}
.news-section:after{content:"NEWS";position:absolute;right:-20px;bottom:-55px;color:rgba(22,137,200,.045);font-family:Georgia,serif;font-size:180px;font-weight:900;pointer-events:none}
.contact-section{position:relative;overflow:hidden;background:linear-gradient(135deg,#eaf7ff,#effbe8);padding:78px 0}
.contact-section:before,.contact-section:after{content:"";position:absolute;border-radius:50%;filter:blur(2px)}
.contact-section:before{width:380px;height:380px;left:-170px;top:-170px;background:rgba(32,182,173,.13)}
.contact-section:after{width:340px;height:340px;right:-120px;bottom:-180px;background:rgba(227,167,12,.12)}
.contact-layout{position:relative;z-index:1;display:grid;grid-template-columns:.72fr 1.28fr;gap:36px;align-items:start}
.contact-intro{padding:34px;border-radius:24px;background:linear-gradient(145deg,var(--deep-blue),#14736f);color:#fff;box-shadow:var(--shadow)}
.contact-intro h3{margin:8px 0 14px;font-size:29px;line-height:1.45}
.contact-intro p{margin:0}
.contact-intro ul{margin:24px 0 0;padding:0;list-style:none}
.contact-intro li{padding:11px 0 11px 27px;border-top:1px solid rgba(255,255,255,.18);position:relative}
.contact-intro li:before{content:"\f00c";position:absolute;left:2px;color:#7fe0d6;font-family:"Font Awesome 6 Free";font-weight:900}
.contact-form{display:grid;gap:18px;padding:32px;border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.contact-form label{display:block;color:var(--ink);font-size:14px;font-weight:800}
.contact-form label>span{display:inline-block;justify-self:start;margin-left:7px;padding:1px 7px;border-radius:999px;background:#e95757;color:#fff;font-size:10px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:7px;border:1px solid #c8dce2;border-radius:10px;background:#fbfeff;padding:12px 13px;color:var(--ink);font:inherit;outline:none;transition:border .2s,box-shadow .2s}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(32,182,173,.12)}
.contact-form textarea{resize:vertical}
.contact-form .privacy-check{display:flex;grid-template-columns:auto 1fr;align-items:center;justify-content:center;gap:9px;font-weight:700}
.privacy-check input{width:18px;height:18px;margin:0}
.form-submit{display:flex;align-items:center;justify-content:center;gap:20px;width:100%;border:0;border-radius:999px;padding:15px 22px;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 10px 22px rgba(13,95,148,.2);transition:transform .2s}
.form-submit:hover{transform:translateY(-2px)}
.form-submit b{font-size:20px}
.form-status{text-align:center;margin:0;color:var(--deep-green);font-weight:800}
.section-nav{position:fixed;z-index:18;right:19px;top:50%;transform:translateY(-50%);display:grid;gap:11px;padding:12px 9px;border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 8px 28px rgba(13,95,148,.18);backdrop-filter:blur(8px)}
.section-nav a{position:relative;display:block;width:12px;height:12px;border:2px solid var(--blue);border-radius:50%;background:#fff;transition:background .2s,transform .2s}
.section-nav a:hover,.section-nav a.is-active{background:var(--teal);border-color:var(--teal);transform:scale(1.2)}
.section-nav span{position:absolute;right:22px;top:50%;transform:translateY(-50%) translateX(5px);width:max-content;padding:5px 10px;border-radius:7px;background:var(--deep-blue);color:#fff;font-size:11px;font-weight:800;opacity:0;pointer-events:none;transition:.2s}
.section-nav a:hover span,.section-nav a:focus-visible span{opacity:1;transform:translateY(-50%) translateX(0)}
@media (max-width:900px){html{scroll-padding-top:88px}section[id]{scroll-margin-top:88px}.contact-layout{grid-template-columns:1fr}.section-nav{display:none}.contact-intro{padding:28px}}
@media (max-width:560px){.training-highlight{padding:28px 24px}.training-highlight h3{font-size:23px}.form-row{grid-template-columns:1fr}.contact-form{padding:24px 18px}.contact-intro h3{font-size:25px}}

.spam-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-form>input[type="hidden"]{display:none}
.spam-protection{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 14px;border:1px solid #cfe5df;border-radius:12px;background:#f3fbf8;color:var(--deep-green)}
.spam-protection>span{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--deep-green);color:#fff;font-weight:900}
.spam-protection p{margin:0;font-size:12px;line-height:1.4}
.spam-protection strong,.spam-protection small{display:block}
.spam-protection small{margin-top:2px;color:var(--muted);font-weight:500}

.purpose-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:38px}
.purpose-item{display:flex;align-items:center;gap:13px;min-height:112px;padding:20px 18px;border:1px solid #cde6e8;border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 9px 22px rgba(13,95,148,.09);transition:transform .2s,box-shadow .2s,border-color .2s}
.purpose-item:hover{transform:translateY(-4px);border-color:var(--teal);box-shadow:0 16px 30px rgba(13,95,148,.16)}
.purpose-item span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;font-size:18px;font-weight:900;box-shadow:0 6px 14px rgba(13,95,148,.2)}
.purpose-item:nth-child(even) span{background:linear-gradient(135deg,var(--teal),var(--green))}
.purpose-item p{margin:0;color:var(--deep-blue);font-size:15px;font-weight:900;line-height:1.65}
@media (max-width:900px){.purpose-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.purpose-grid{grid-template-columns:1fr;gap:12px}.purpose-item{min-height:82px;padding:16px 18px}.purpose-item p br{display:none}}

.request-contact{min-height:255px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#fff,#ecfbf7);border-color:#bfe6e2}
.request-contact small{color:var(--teal);font-size:11px;font-weight:900;letter-spacing:.14em}
.request-contact strong{margin:5px 0 12px;line-height:1.35}
.request-contact b{display:grid;place-items:center;width:42px;height:42px;margin-top:20px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;font-size:20px;transition:transform .2s}
.request-contact:hover b{transform:translateX(5px)}
.meeting-lead>span,.meeting-lead>strong{display:block}
.meeting-lead>span{font-size:20px;line-height:1.65}
.meeting-lead>strong{position:relative;display:inline-block;margin-top:5px;color:var(--deep-blue);font-size:32px;line-height:1.35;background:linear-gradient(transparent 72%,rgba(245,196,65,.52) 72%)}
@media (max-width:560px){.request-contact{min-height:0}.meeting-lead>span{font-size:17px}.meeting-lead>strong{font-size:27px}}

.newsletter-section{position:relative;overflow:hidden;padding:70px 0;background:linear-gradient(120deg,#0d5f94 0%,#14736f 70%,#3c8b24 100%);color:#fff}
.newsletter-section:after{content:"MAIL";position:absolute;right:-30px;bottom:-65px;color:rgba(255,255,255,.055);font-family:Georgia,serif;font-size:190px;font-weight:900;line-height:1}
.newsletter-box{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.newsletter-copy>span{color:#f5c441;font-size:12px;font-weight:900;letter-spacing:.18em}
.newsletter-copy h2{margin:8px 0 14px;font-size:31px;line-height:1.45}
.newsletter-copy p{margin:0;color:#dff5f2}
.newsletter-form{position:relative;padding:28px;border:1px solid rgba(255,255,255,.25);border-radius:22px;background:rgba(255,255,255,.12);box-shadow:0 14px 38px rgba(0,0,0,.14);backdrop-filter:blur(8px)}
.newsletter-form>label:first-of-type{display:block;margin-bottom:8px;font-size:13px;font-weight:900}
.newsletter-input{display:grid;grid-template-columns:1fr auto;gap:10px}
.newsletter-input input{min-width:0;border:0;border-radius:12px;padding:13px 14px;background:#fff;color:var(--ink);font:inherit;outline:none}
.newsletter-input input:focus{box-shadow:0 0 0 4px rgba(127,224,214,.35)}
.newsletter-input button{display:flex;align-items:center;gap:15px;border:0;border-radius:12px;padding:13px 20px;background:#f5c441;color:#3c4b16;font-weight:900;cursor:pointer;transition:transform .2s}
.newsletter-input button:hover{transform:translateY(-2px)}
.newsletter-consent{display:flex!important;align-items:center;gap:8px;margin-top:14px!important;font-size:12px!important;font-weight:700!important}
.newsletter-consent input{width:17px;height:17px;margin:0}
.newsletter-note{margin:10px 0 0;color:#d9eeee;font-size:11px}
.newsletter-status{margin:8px 0 0;color:#fff3b5;font-size:12px;font-weight:800}
@media (max-width:900px){.newsletter-box{grid-template-columns:1fr;gap:28px}}
@media (max-width:560px){.newsletter-section{padding:56px 0}.newsletter-copy h2{font-size:26px}.newsletter-form{padding:22px 18px}.newsletter-input{grid-template-columns:1fr}.newsletter-input button{justify-content:center}}

/* System states and news archive */
.empty-state{padding:28px;text-align:center;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:14px}
.submission-complete{max-width:760px;margin:auto;padding:52px 36px;text-align:center;background:#fff;border-radius:24px;box-shadow:var(--shadow)}
.submission-complete>span,.newsletter-result>span{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 18px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--green));color:#fff;font-size:30px;font-weight:900}
.submission-complete h3,.newsletter-result h3{margin:0 0 10px;color:var(--deep-blue);font-size:28px}
.submission-complete p{color:var(--muted)}
.submission-complete a{display:inline-flex;margin-top:12px;padding:11px 22px;border-radius:999px;background:var(--deep-blue);color:#fff;font-weight:900}
.form-error{margin:0;text-align:center;color:#b42318;font-weight:800}
.newsletter-result{padding:30px;text-align:center;border:1px solid rgba(255,255,255,.3);border-radius:22px;background:rgba(255,255,255,.13)}
.newsletter-result h3{color:#fff}.newsletter-result p{margin:0;color:#dff5f2}
.newsletter-result.is-existing>span{background:#f5c441;color:#334b3d}
.simple-header{background:#fff;border-top:6px solid var(--teal);box-shadow:0 4px 18px rgba(13,95,148,.08)}
.simple-header-inner{display:flex;align-items:center;justify-content:space-between;padding:9px 0}
.simple-header img{width:310px;max-height:92px;object-fit:contain;object-position:left center}
.subpage-main{min-height:75vh;padding:38px 0 80px;background:linear-gradient(#f4fbff,#fff)}
.breadcrumbs{display:flex;gap:10px;align-items:center;margin-bottom:36px;color:var(--muted);font-size:13px}
.breadcrumbs a{color:var(--blue);font-weight:800}
.archive-filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.archive-filters a{padding:7px 18px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--blue);font-weight:900}
.archive-filters a.is-active{background:var(--blue);color:#fff}
.archive-list{display:grid;gap:14px}
.archive-list article{display:grid;grid-template-columns:120px 80px 1fr;gap:16px;align-items:center;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 22px rgba(13,95,148,.07)}
.archive-list time{color:var(--muted);font-weight:800}.archive-list article>span{padding:3px 9px;text-align:center;border-radius:999px;background:var(--sky);color:var(--deep-blue);font-size:12px;font-weight:900}
.archive-list h2{margin:0;color:var(--deep-blue);font-size:18px}.archive-list p{grid-column:3;margin:0;color:var(--muted);font-size:14px}
.pagination{display:flex;justify-content:center;gap:8px;margin-top:34px}.pagination a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--blue);font-weight:900}.pagination a.is-current{background:var(--blue);color:#fff}
.news-detail{max-width:900px}.news-detail>header{padding:34px;background:#fff;border-radius:20px 20px 0 0;border:1px solid var(--line)}.news-detail>header div{display:flex;gap:14px;color:var(--muted)}.news-detail>header span{color:var(--deep-green);font-weight:900}.news-detail h1{margin:14px 0;font-size:34px;line-height:1.5;color:var(--deep-blue)}.news-detail .lead{color:var(--muted);font-size:17px}.news-body{min-height:240px;padding:40px 34px;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 20px 20px;line-height:2}
@media(max-width:700px){.simple-header img{width:220px}.archive-list article{grid-template-columns:1fr;gap:7px}.archive-list p{grid-column:1}.news-detail h1{font-size:27px}.news-detail>header,.news-body{padding:26px 22px}}


/* Consolidated from css/editorial.css */
/* Calm editorial layer. Distinctive overlap is reserved for photography. */
:root{--ed-blue:#0877a5;--ed-deep:#173b48;--ed-green:#86a83c;--ed-line:#d5e0e2;--ed-pale:#f3f8f7}
.global-nav>ul{display:flex}.global-nav>ul>li{flex:1;min-width:0}.global-nav>ul>li>a{width:100%;box-sizing:border-box;text-align:center;white-space:nowrap}
#about,#meeting,#planner,#training,#news,#contact,#newsletter{scroll-margin-top:150px}
.about-section,.feature-section,.planner-section,.news-section,.contact-section,.newsletter-section{padding-block:clamp(78px,9vw,128px)}.section-title{margin-bottom:46px}.section-title h2{font-size:clamp(2rem,3.6vw,3.7rem)}
.about-section .two-col{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(45px,7vw,100px);align-items:center}.about-text{grid-column:1}.about-lead{padding:20px 25px;border-left:4px solid var(--ed-blue);background:var(--ed-pale)}
.about-photo{grid-column:2;grid-row:1;margin:0;position:relative;min-height:560px}.about-photo img{width:100%;height:560px;object-fit:cover}.about-photo figcaption{position:absolute;right:calc((100vw - min(1160px,100% - 48px))/-2);bottom:42px;width:min(570px,calc(100% + 90px));padding:32px 44px;color:#fff;background:rgba(7,101,139,.94);border-radius:70px 0 0 70px;box-sizing:border-box}.about-photo strong,.about-photo span{display:block}.about-photo strong{font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.5}.about-photo span{margin-top:8px;font-size:.9rem}.side-banners{grid-column:1/-1}.side-banner{max-width:650px;margin-left:auto;border-radius:46px 0 0 46px!important}
.purpose-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0!important;margin-top:58px!important;border-block:1px solid var(--ed-line)}.purpose-item{min-width:0;padding:26px 20px!important;border-right:1px solid var(--ed-line);border-radius:0!important;background:transparent!important;box-shadow:none!important}.purpose-item:last-child{border-right:0}.purpose-item p{font-size:clamp(.86rem,1.05vw,1rem)!important;line-height:1.7}
.feature-box{border-radius:0!important;border-top:4px solid var(--ed-blue);box-shadow:0 18px 55px rgba(20,61,73,.08)}.meeting-lead strong{display:inline-block;margin-top:12px;padding:5px 18px;color:#fff;background:var(--ed-blue);font-size:clamp(1.6rem,2.6vw,2.6rem)}.program-detail>div{border-radius:0!important;}.stat-panel{border-radius:42px 0 0 42px!important}
.effects-title{text-align:left!important;margin-top:62px!important}.effects-grid{gap:20px!important}.effects-grid .mini-card{min-height:190px;border-radius:0!important;border:1px solid var(--ed-line)!important;border-top:4px solid var(--ed-blue)!important;box-shadow:none!important}.effects-grid .mini-card:nth-child(2){border-top-color:var(--ed-green)!important}.effects-grid .mini-card:nth-child(3){border-top-color:#e9a82d!important}
.planner-section{background:var(--ed-pale)}.mission-card{border-radius:0 58px 0 0!important}.table-wrap{border-radius:0!important}.training-highlight{border-radius:0 68px 0 0!important;background:linear-gradient(120deg,#075f87,#1187a6)!important}.timeline{max-width:980px;margin-inline:auto}.timeline-item{display:grid!important;grid-template-columns:210px 1fr;gap:32px;border-radius:0!important;border:0!important;border-bottom:1px solid var(--ed-line)!important;background:transparent!important;padding:28px 0!important}.timeline-item strong{color:var(--ed-blue)}
.news-item{display:grid!important;grid-template-columns:120px 90px minmax(0,1fr);align-items:center;gap:20px}.news-item .label{width:90px;box-sizing:border-box;text-align:center}.tabs{display:grid!important;grid-template-columns:repeat(4,108px);justify-content:end}.tab{width:108px!important}
.contact-section{background:linear-gradient(90deg,var(--ed-pale) 0 36%,#fff 36%)}.contact-layout{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr)!important;gap:clamp(45px,7vw,96px)!important}.contact-form{border-radius:0 60px 0 0!important;box-shadow:0 20px 60px rgba(20,61,73,.08)!important}.newsletter-box{border-radius:58px 0 0 58px!important}.newsletter-form button{min-width:190px}
@media(max-width:900px){.global-nav>ul>li>a{white-space:normal}.about-section .two-col{grid-template-columns:1fr}.about-photo{grid-column:1;grid-row:auto;min-height:430px}.about-photo img{height:430px}.about-photo figcaption{right:-24px}.purpose-grid{grid-template-columns:1fr 1fr}.purpose-item:nth-child(2){border-right:0}.contact-section{background:var(--ed-pale)}.contact-layout{grid-template-columns:1fr!important}.timeline-item{grid-template-columns:170px 1fr}}
@media(max-width:600px){.about-photo,.about-photo img{min-height:350px;height:350px}.about-photo figcaption{right:-24px;bottom:20px;width:calc(100% + 6px);padding:25px 28px;border-radius:42px 0 0 42px}.purpose-grid{grid-template-columns:1fr}.purpose-item{border-right:0;border-bottom:1px solid var(--ed-line)}.timeline-item{grid-template-columns:1fr;gap:8px}.news-item{grid-template-columns:80px 70px;gap:10px}.news-item a{grid-column:1/-1}.tabs{grid-template-columns:repeat(4,1fr)}.tab{width:auto!important}.contact-form,.training-highlight,.mission-card{border-radius:0 40px 0 0!important}.newsletter-box{border-radius:40px 0 0 40px!important}}


/* Consolidated from css/front-fixes.css */
.card-grid .info-card{cursor:default;color:inherit;text-decoration:none}
.about-photo figcaption{right:-24px!important}
.side-banners{display:flex!important;justify-content:center}.side-banner{margin:0 auto!important;max-width:680px!important;border-radius:42px!important}.side-banner>b{display:none!important}
.effects-grid .mini-card:nth-child(1) h3{color:var(--ed-blue)!important}.effects-grid .mini-card:nth-child(2) h3{color:var(--ed-green)!important}.effects-grid .mini-card:nth-child(3) h3{color:#d18b12!important}
.section-photo{position:relative;margin:54px 0 66px;min-height:480px}.section-photo img{display:block;width:72%;height:480px;object-fit:cover}.section-photo figcaption{position:absolute;right:-24px;top:50%;width:min(610px,48%);padding:42px 50px;transform:translateY(-50%);box-sizing:border-box;color:#fff;background:rgba(7,101,139,.95);border-radius:64px 0 0 64px}.section-photo strong,.section-photo span{display:block}.section-photo strong{font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.5}.section-photo span{margin-top:10px;line-height:1.8}.training-photo figcaption{background:rgba(78,116,40,.95)}.planner-entry-link{display:inline-flex;align-items:center;justify-content:center;min-width:190px;margin-top:22px;padding:12px 24px;border-radius:99px;color:#07577c!important;background:#ffd22d;font-size:.9rem;font-weight:800;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease}.planner-entry-link:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(3,43,61,.25)}
@media(min-width:1200px){.about-photo figcaption,.section-photo figcaption{right:calc((1160px - 100vw)/2)!important}}
@media(max-width:900px){.section-photo{min-height:0}.section-photo img{width:92%;height:400px}.section-photo figcaption{position:relative;right:-24px;top:auto;width:82%;margin:-80px 0 0 auto;padding:34px 38px;transform:none}}
@media(max-width:600px){.about-photo figcaption{right:-24px!important}.side-banner{border-radius:30px!important}.section-photo img{width:100%;height:330px}.section-photo figcaption{right:-24px;width:94%;margin-top:-48px;padding:28px 30px;border-radius:42px 0 0 42px}}

/* Final shared spacing and icon alignment */
.purpose-item>.fa-check{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--blue),var(--teal));font-size:16px;box-shadow:0 6px 14px rgba(13,95,148,.2)}.purpose-item:nth-child(even)>.fa-check{background:linear-gradient(135deg,var(--teal),var(--green))}
.timeline-item.reveal.is-visible>strong{padding-left:10px}
.submission-complete>.fa-check,.newsletter-result>.fa-check{display:grid;width:62px;height:62px;margin:0 auto 18px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--teal),var(--green));font-size:27px}
.info-card .card-body,.mini-card,.timeline-item>div,.contact-copy,.contact-form,.newsletter-copy,.newsletter-form{padding-right:clamp(22px,3vw,38px);padding-left:clamp(22px,3vw,38px)}
.about-text,.meeting-copy,.planner-copy{padding-inline:clamp(8px,2vw,26px)}
@media(max-width:600px){.about-text,.meeting-copy,.planner-copy{padding-inline:8px}}
