/* Interior chapters extend the approved homepage, not its CSS cascade. */
.article-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.interior-body .article-photo-gallery{border:0;padding:0}.interior-body .article-photo-gallery figure{margin:0}.single .interior-body img{display:block;width:100%;height:auto;object-fit:cover}.article-cover{display:block;max-width:640px}.article-cover img{display:block;width:100%;height:auto;object-fit:cover}.article-index .eyebrow{margin-top:22px}@media(max-width:700px){.article-photo-gallery{grid-template-columns:1fr}}
.interior{--gutter:clamp(22px,5vw,76px)}
.interior-topline{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:22px var(--gutter);font-size:12px;color:#41516a;border-bottom:1px solid var(--hairline)}
.interior-topline a{text-underline-offset:4px}.staging-label{margin-left:auto;font-size:11px}
.interior-hero{display:grid;border-bottom:1px solid var(--hairline)}
.interior-hero.has-photo{grid-template-columns:1.08fr 1fr;min-height:570px}
.interior-intro{padding:clamp(46px,6vw,90px) var(--gutter)}
.interior-intro .eyebrow{color:var(--red);line-height:1.7;margin:0 0 26px}
.interior h1{font-size:clamp(42px,5.2vw,76px);line-height:1.01;letter-spacing:-.055em;margin:0 0 28px;max-width:1000px;text-wrap:balance;overflow-wrap:break-word}
.interior-lede{font-size:clamp(18px,1.6vw,22px);line-height:1.6;max-width:760px;margin:0}
.interior-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:32px}.interior .button{padding:15px 23px;line-height:1.4;text-align:center;height:auto}
.interior-photo{position:relative;min-width:0;overflow:hidden;background:#e8e1d5;padding:0}
.interior-photo img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}
.interior-photo figcaption{position:absolute;bottom:16px;left:16px;max-width:calc(100% - 32px);padding:8px 10px;background:rgba(255,255,255,.92);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#41516a}
.text-hero .interior-intro{padding-bottom:64px;max-width:1160px}
.interior-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(240px,1fr);gap:clamp(40px,7vw,110px);padding:70px var(--gutter) 100px;max-width:1600px;margin:auto}
.interior-body{font-size:18px;line-height:1.75;min-width:0;overflow-wrap:break-word}
.interior-body h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.035em;line-height:1.14;margin:0 0 24px;text-wrap:balance}
.interior-body h3{font-size:24px;line-height:1.3;letter-spacing:-.025em}
.interior-body p{margin:0 0 22px}.interior-body ul{padding-left:24px;margin:0 0 26px}.interior-body li{padding-left:6px;margin-bottom:10px}
.interior-body .wp-block-group{margin-bottom:52px;padding-bottom:34px;border-bottom:1px solid var(--hairline)}
.interior-body a{color:var(--blue);text-underline-offset:4px}.interior-body figure{margin:30px 0}.interior-body img{height:auto}
.interior-body details{border-bottom:1px solid var(--hairline);padding:20px 0}.interior-body summary{font-size:19px;line-height:1.45;font-weight:700;cursor:pointer;min-height:44px;padding-right:20px}.interior-body details p{margin:20px 0 8px}
.interior-rail{border-top:4px solid var(--red);padding-top:26px;align-self:start}.interior-rail h2{font-family:Georgia,serif;font-weight:400;font-size:36px;line-height:1.07;letter-spacing:-.025em;margin:22px 0}.interior-rail p{line-height:1.7;font-size:16px}.interior-rail a{display:flex;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid var(--hairline);text-decoration:none;font-weight:600;font-size:14px;min-height:48px}.interior-rail a:hover{color:var(--red)}
.interior-end{padding:56px var(--gutter);background:var(--blue);color:#fff;display:flex;gap:32px;align-items:center;justify-content:space-between}.interior-end>span{font-size:clamp(29px,4vw,52px);line-height:1.1;letter-spacing:-.03em}.interior-end em{font-family:Georgia,serif;font-weight:400}
.program-index{padding:60px var(--gutter) 0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px}.program-tile{grid-column:span 2}.program-tile:nth-child(n+4){grid-column:span 3}.program-tile{text-decoration:none;display:block;min-width:0}.program-tile img{width:100%;height:300px;object-fit:cover;object-position:center;background:#e8e1d5;padding:0}.program-tile>div:not(.program-art){display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--hairline);padding:18px 0}.program-tile h2{font-size:26px;line-height:1.2;letter-spacing:-.035em;margin:0}.program-tile:hover{color:var(--red)}
.article-index article{padding:30px 0 45px;border-bottom:1px solid var(--hairline)}.article-index h2{margin:14px 0 20px}.article-index h2 a{text-decoration:none;color:var(--ink)}
.program-tile .program-art{height:300px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:30px;background:var(--blue);color:white;border:0}.program-art span{font-family:Georgia,serif;font-size:clamp(30px,4vw,48px)}.program-art small{font-size:12px;line-height:1.6;letter-spacing:.08em;text-transform:uppercase}.program-tile:last-child .program-art{background:var(--red)}
@media(max-width:1000px){.program-tile,.program-tile:nth-child(n+4){grid-column:auto}.program-tile:last-child{grid-column:1/-1}.interior-hero.has-photo{min-height:0;grid-template-columns:1.1fr 1fr}.interior-intro{padding:44px var(--gutter)}.interior-photo{padding:0}.interior-layout{gap:40px;grid-template-columns:minmax(0,1fr) 240px}.program-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.interior-topline{gap:8px;line-height:1.6}.staging-label{margin-left:0;flex-basis:100%}.interior-hero.has-photo{grid-template-columns:1fr}.interior-photo{padding:0;aspect-ratio:4/3;min-height:0}.interior-photo img{height:100%;max-height:none}.interior-photo figcaption{left:16px;bottom:16px}.interior-intro{padding:40px var(--gutter)}.interior-layout{grid-template-columns:1fr;padding-top:44px;padding-bottom:56px;gap:28px}.interior-body{font-size:17px}.interior-body .wp-block-group{margin-bottom:32px;padding-bottom:24px}.interior-rail h2 br{display:none}.interior-end{align-items:flex-start;flex-direction:column;padding-block:38px}.program-index{padding-top:32px;gap:28px}.program-tile img,.program-tile .program-art{height:260px}.program-tile h2{font-size:22px}.interior-actions{align-items:flex-start;gap:20px}.text-hero .interior-intro{padding-bottom:44px}}
/* Subject-aware cover crops: no letterboxing or image padding. */
@media(min-width:701px){.interior-hero:has(img[src*="programs__hapkido"]){grid-template-columns:1fr}.interior-hero:has(img[src*="programs__hapkido"]) .interior-intro{max-width:1120px}.interior-photo:has(img[src*="programs__hapkido"]){aspect-ratio:2/1;min-height:0}}
.program-tile img[src*="programs__hapkido"],.interior-photo img[src*="programs__hapkido"]{object-position:50% 38%}
.program-tile img[src*="programs__hopaesool"],.interior-photo img[src*="programs__hopaesool"]{object-position:52% 53%}
.program-tile img[src*="programs__children"],.interior-photo img[src*="programs__children"]{object-position:50% 28%}
.program-tile img[src*="sport-taekwondo"]{object-position:50% 25%}
.program-tile img[src*="programs__families"]{object-position:50% 0%}
.interior-photo img[src*="programs__families"]{object-position:50% 28%}
.program-tile img[src*="gumdo-sword-training"],.interior-photo img[src*="gumdo-sword-training"]{object-position:50% 45%}
@media(max-width:700px){.interior-photo:has(img[src*="gumdo-sword-training-approved-v3"]){aspect-ratio:4/3!important}}
@media(max-width:700px){.interior-photo:has(img[src*="programs__children"]),.interior-photo:has(img[src*="gumdo-sword-training"]){aspect-ratio:3/4}.interior-photo:has(img[src*="programs__families"]){aspect-ratio:1/1}}
@media(max-width:420px){.program-index{grid-template-columns:1fr}.program-tile img{height:260px}}
