:root{--navy:#0c3550;--navy-deep:#061f31;--red:#f5222d;--coral:#f24c35;--orange:#ff9015;--cream:#f7f1e8;--paper:#fffdf9;--ink:#102b3d;--muted:#647581;--line:#0c355026}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Avenir Next,Avenir,Noto Sans JP,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}main{overflow:hidden}.section-shell{width:min(1180px,100% - 48px);margin-inline:auto}.site-header{z-index:20;color:#fff;border-bottom:1px solid #fff3;align-items:center;height:88px;padding:0 max(28px,50vw - 590px);display:flex;position:absolute;top:0;left:0;right:0}.brand{align-items:center;gap:12px;margin-right:auto;display:flex}.brand img{object-fit:contain;width:45px;height:45px}.brand span{flex-direction:column;line-height:1.15;display:flex}.brand strong{letter-spacing:-.02em;font-size:16px}.brand small{opacity:.72;text-transform:uppercase;letter-spacing:.12em;margin-top:4px;font-size:10px}.desktop-nav{align-items:center;gap:28px;font-size:14px;display:flex}.desktop-nav a{opacity:.78;transition:opacity .2s}.desktop-nav a:hover{opacity:1}.header-actions{align-items:center;gap:20px;margin-left:auto;display:flex}.language-link{opacity:.8;font-size:13px}.header-cta{border:1px solid #ffffff80;border-radius:999px;padding:11px 18px;font-size:13px}.hero{isolation:isolate;color:#fff;background-image:linear-gradient(90deg,#031521f0 0%,#031521d1 38%,#0315214d 68%,#03152114 100%),linear-gradient(#0315212e 0%,#0000 48%,#03152161 100%),url(/assets/okayama-castle-hero.jpg);background-position:50%;background-size:cover;align-items:center;min-height:780px;display:grid;position:relative}.hero:before{content:"";z-index:-1;opacity:.7;background:radial-gradient(circle at 18% 48%,#f24c352e,#0000 34%);position:absolute;inset:0}.hero-shade{z-index:-1;background:linear-gradient(#0315212e,#0000 30%);position:absolute;inset:0}.hero-content{z-index:3;width:min(1180px,100% - 48px);margin:70px auto 0;position:relative}.eyebrow{color:var(--coral);text-transform:uppercase;letter-spacing:.18em;margin:0 0 18px;font-size:12px;font-weight:700}.eyebrow.light{color:#ffc273}.hero h1{letter-spacing:-.065em;max-width:760px;margin:0;font-size:clamp(58px,7vw,104px);font-weight:750;line-height:.94}.hero h1 em{color:#ffb04b;font-style:normal}.hero-lead{color:#ffffffc2;max-width:560px;margin:28px 0 0;font-size:19px;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button{border-radius:999px;justify-content:center;align-items:center;min-height:50px;padding:0 24px;font-size:14px;font-weight:700;display:inline-flex}.button.primary{background:linear-gradient(135deg, var(--orange), var(--coral));box-shadow:0 14px 35px #ee462440}.button.secondary{background:#ffffff14;border:1px solid #ffffff73}.hero-credit{z-index:3;color:#ffffff9e;letter-spacing:.08em;margin:0;font-size:10px;position:absolute;bottom:82px;right:max(16px,50vw - 590px)}.hero-meta{backdrop-filter:blur(12px);background:#041a2961;border-top:1px solid #fff3;align-items:center;gap:0;min-height:68px;padding-left:max(28px,50vw - 590px);display:flex;position:absolute;bottom:0;left:0;right:0}.hero-meta span{letter-spacing:.12em;text-transform:uppercase;color:#ffffffb3;border-left:1px solid #ffffff40;padding:0 32px;font-size:11px}.hero-meta span:first-child{border:0;padding-left:0}.about{grid-template-columns:140px 1fr 370px;align-items:start;gap:54px;padding-block:130px;display:grid}.section-label{align-items:center;gap:13px;padding-top:8px;display:flex}.section-label span{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:10px;display:grid}.section-label p{text-transform:uppercase;letter-spacing:.15em;margin:0;font-size:11px;font-weight:700}.about-copy h2,.program-heading h2,.board h2,.contact h2{letter-spacing:-.05em;margin:0;font-size:clamp(38px,4.5vw,64px);line-height:1.06}.about-copy .large-copy{color:var(--ink);margin:34px 0 18px;font-size:21px;line-height:1.55}.about-copy>p:last-child{color:var(--muted);font-size:16px;line-height:1.75}.quote-card{color:#fff;background:linear-gradient(145deg, var(--coral), #e52331);border-radius:6px 70px 6px 6px;min-height:330px;margin-top:45px;padding:40px;position:relative;overflow:hidden}.quote-card:after{content:"";border:42px solid #ffffff1a;border-radius:50%;width:210px;height:210px;position:absolute;bottom:-90px;right:-85px}.quote-mark{opacity:.5;font-family:Georgia,serif;font-size:70px;line-height:.7}.quote-card blockquote{margin:28px 0 34px;font-size:22px;font-weight:600;line-height:1.45}.quote-card p{text-transform:uppercase;letter-spacing:.13em;opacity:.72;margin:0;font-size:11px}.program-section{color:#fff;background:var(--navy-deep);padding:120px 0 130px;position:relative}.program-section:after{content:"";border:100px solid #ff901514;border-radius:50%;width:500px;height:500px;position:absolute;top:-260px;right:-180px}.program-heading{z-index:1;grid-template-columns:200px 1fr;gap:60px;display:grid;position:relative}.light-label span{background:var(--orange);color:var(--navy-deep)}.program-heading h2{max-width:800px}.program-grid{z-index:1;background:#ffffff24;border:1px solid #ffffff24;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:75px;display:grid;position:relative}.program-card{background:var(--navy-deep);min-height:330px;padding:30px;transition:background .25s,transform .25s}.program-card:hover{background:#0d3d59;transform:translateY(-5px)}.program-card>span{color:#ffae39;letter-spacing:.14em;font-size:11px}.program-card h3{margin:90px 0 18px;font-size:22px;line-height:1.2}.program-card p{color:#ffffff9e;margin:0;font-size:14px;line-height:1.75}.news-home{grid-template-columns:140px 1fr;gap:54px;padding-block:130px 110px;display:grid}.news-heading{justify-content:space-between;align-items:end;gap:40px;display:flex}.news-heading h2{letter-spacing:-.05em;margin:0;font-size:clamp(38px,4.5vw,64px);line-height:1.06}.news-heading>a{border-bottom:1px solid var(--ink);white-space:nowrap;padding:12px 0;font-size:13px;font-weight:700}.news-heading>a span{margin-left:14px}.news-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:55px;display:grid}.news-card{min-width:0}.news-image{aspect-ratio:16/10;background:linear-gradient(145deg, var(--navy), var(--coral));place-items:center;display:grid;overflow:hidden}.news-image img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.news-image:hover img{transform:scale(1.035)}.news-image>span{color:#fff;text-transform:uppercase;letter-spacing:.18em;font-size:13px}.news-card-meta{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;gap:20px;margin-top:18px;font-size:10px;display:flex}.news-card-meta span{color:var(--coral);font-weight:700}.news-card h3{letter-spacing:-.025em;margin:15px 0 12px;font-size:23px;line-height:1.25}.news-card>p{color:var(--muted);margin:0;font-size:14px;line-height:1.7}.board{grid-template-columns:140px 1fr;gap:54px;padding-block:130px;display:grid}.board-heading{justify-content:space-between;align-items:end;gap:40px;display:flex}.board-heading>p{max-width:340px;color:var(--muted);margin:0 0 7px;font-size:14px;line-height:1.7}.board-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-top:58px;display:grid}.member-card{border-top:3px solid var(--ink);padding-top:15px}.member-photo{aspect-ratio:4/5;color:#0c35504d;letter-spacing:-.05em;background:linear-gradient(145deg,#dfe6e8,#f0e6d9);place-items:center;font-size:48px;font-weight:800;display:grid;overflow:hidden}.member-card p{color:var(--coral);text-transform:uppercase;letter-spacing:.15em;margin:18px 0 7px;font-size:10px;font-weight:700}.member-card h3{margin:0;font-size:19px}.member-card>span{color:var(--muted);margin-top:8px;font-size:12px;display:block}.contact{background:linear-gradient(130deg, var(--coral), var(--red));color:#fff;padding:100px 0}.contact-inner{grid-template-columns:1.5fr 1fr;align-items:end;gap:80px;display:grid}.contact h2{max-width:700px}.contact-links{flex-direction:column;display:flex}.contact-links a{border-bottom:1px solid #ffffff59;padding:18px 0;font-size:15px}.contact-links a:after{content:"↗";float:right}.footer{min-height:150px;color:var(--muted);justify-content:space-between;align-items:center;gap:30px;font-size:12px;display:flex}.footer-brand{color:var(--ink);align-items:center;gap:12px;display:flex}.footer-brand img{object-fit:contain;width:48px;height:48px}.footer-brand p{margin:0;line-height:1.5}.inner-header{color:#fff;background:var(--navy-deep);border-bottom:1px solid #ffffff26;align-items:center;min-height:88px;padding:0 max(28px,50vw - 590px);display:flex}.inner-header .brand{margin-right:auto}.inner-header .header-actions{margin-left:auto}.page-hero{color:#fff;background:radial-gradient(circle at 83% 8%, #ff901585, transparent 23%), linear-gradient(120deg, var(--navy-deep), #0c4767 70%, #b33b31);padding:105px 0 95px}.page-hero h1{letter-spacing:-.06em;margin:0;font-size:clamp(52px,7vw,88px);line-height:1}.page-hero>div>p:last-child{color:#ffffffb8;max-width:570px;margin:24px 0 0;font-size:18px;line-height:1.7}.news-index{padding-block:100px 130px}.news-index .news-grid{margin-top:0}.news-index .news-card h2{letter-spacing:-.025em;margin:15px 0 12px;font-size:25px;line-height:1.25}.article-page{padding-bottom:120px}.article-header{max-width:970px;padding-top:90px;padding-bottom:60px}.back-link{color:var(--muted);margin-bottom:55px;font-size:13px;font-weight:700;display:inline-block}.article-meta{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:22px;font-size:11px;display:flex}.article-meta span{color:var(--coral);font-weight:700}.article-header h1{letter-spacing:-.052em;max-width:950px;margin:22px 0 25px;font-size:clamp(42px,6vw,76px);line-height:1.05}.article-header>p{max-width:710px;color:var(--muted);margin:0;font-size:19px;line-height:1.65}.article-cover{max-width:1080px;margin-top:0;margin-bottom:70px}.article-cover img{object-fit:contain;background:var(--cream);width:100%;max-height:760px}.article-body{max-width:750px}.article-body>p{margin:0 0 25px;font-family:Georgia,Noto Serif JP,serif;font-size:19px;line-height:1.85}.article-body aside{border-left:4px solid var(--orange);background:var(--cream);margin-top:55px;padding:30px}.article-body aside p{margin:12px 0 18px;line-height:1.7}.article-body aside a{color:var(--coral);font-size:13px;font-weight:700}.missing-page{text-align:center;place-content:center;gap:20px;min-height:70vh;display:grid}@media (width<=980px){.desktop-nav{display:none}.hero-content{z-index:4}.about{grid-template-columns:110px 1fr}.quote-card{grid-column:2;margin-top:0}.program-grid,.board-grid{grid-template-columns:repeat(2,1fr)}.program-heading{grid-template-columns:150px 1fr}.board,.news-home{grid-template-columns:110px 1fr}.board-heading{display:block}.board-heading>p{margin-top:25px}}@media (width<=680px){.section-shell{width:min(100% - 32px,1180px)}.site-header{height:72px;padding:0 16px}.brand img{width:40px;height:40px}.brand span,.header-cta{display:none}.hero{background-image:linear-gradient(90deg,#031521f0 0%,#031521cc 70%,#0315215c 100%),linear-gradient(#03152140 0%,#0000 48%,#0315217a 100%),url(/assets/okayama-castle-hero.jpg);background-position:66%;align-items:start;min-height:720px}.hero-content{width:calc(100% - 32px);margin-top:150px}.hero h1{max-width:570px;font-size:clamp(52px,16vw,72px)}.hero-lead{max-width:430px;font-size:16px}.hero-credit{bottom:78px;right:16px}.hero-meta span{padding:0 14px;font-size:8px}.hero-meta span:first-child{padding-left:0}.about,.board,.news-home{padding-block:85px;display:block}.section-label{margin-bottom:45px}.quote-card{margin-top:45px}.program-section{padding-block:85px}.program-heading{display:block}.program-grid,.board-grid{grid-template-columns:1fr}.program-card{min-height:260px}.program-card h3{margin-top:60px}.board-grid{gap:38px}.news-heading{display:block}.news-heading>a{margin-top:24px;display:inline-block}.news-grid{grid-template-columns:1fr;gap:45px}.member-photo{aspect-ratio:5/4}.contact{padding-block:80px}.contact-inner{display:block}.contact-links{margin-top:45px}.footer{flex-direction:column;align-items:flex-start;padding-block:35px}.inner-header{min-height:72px;padding:0 16px}.inner-header .brand span{display:none}.page-hero{padding-block:80px}.news-index{padding-block:70px 90px}.article-header{padding-top:60px;padding-bottom:42px}.back-link{margin-bottom:38px}.article-header>p{font-size:17px}.article-cover{width:100%;margin-bottom:50px}.article-body>p{font-size:17px}}
