:root{--ink:#273f51;--body:#354550;--muted:#607686;--blue:#6c92a8;--pale:#edf4f6;--paper:#fffdf8;--line:#cddce2;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{background:var(--paper);color:var(--body);font-family:var(--serif);margin:0;font-size:17px;line-height:2.05}a{color:var(--ink);text-underline-offset:6px}a:focus-visible{outline-offset:5px;outline:3px solid #ae794f}p{margin:0 0 1.3em}h1,h2,h3{color:var(--ink);font-weight:500;line-height:1.6}h2{letter-spacing:.12em;margin:0 0 50px;font-size:clamp(25px,3.5vw,36px)}h3{margin:0 0 15px;font-size:21px}strong,b{font-weight:600}img{max-width:100%;height:auto;display:block}.draft-bar{text-align:center;letter-spacing:.08em;color:#536574;background:#e8eef0;padding:6px 12px;font:12px/1.5 sans-serif}.site-header{justify-content:space-between;align-items:center;max-width:1200px;margin:auto;padding:21px 30px;display:flex}.site-name{letter-spacing:.12em;font-size:20px;text-decoration:none}.site-name span{letter-spacing:.2em;color:var(--muted);margin-left:16px;font:10px sans-serif}nav{gap:28px;font-size:13px;display:flex}nav a{text-decoration:none}.hero{max-width:1200px;margin:auto}.hero img{width:100%;height:auto}.intro{text-align:center;background:linear-gradient(var(--paper),#f3f7f7);padding:65px 22px 74px}.eyebrow{letter-spacing:.24em;color:var(--muted);margin:0 0 15px;font:11px/1.8 Arial,sans-serif}.intro .eyebrow{margin-bottom:32px}.kicker{letter-spacing:.28em;margin-bottom:8px;font-size:18px}h1{letter-spacing:.12em;margin:0 0 9px;font-size:clamp(28px,4.2vw,49px)}.subtitle{letter-spacing:.08em;margin-bottom:32px;font-size:clamp(14px,2vw,20px)}.date-line{flex-wrap:wrap;justify-content:center;gap:6px 23px;font-size:20px;display:flex}.location-line{letter-spacing:.08em;margin:6px 0 30px;font-size:16px}.text-link{font-size:14px;display:inline-block}.text-link span{margin-left:16px}.section{max-width:920px;margin:0 auto;padding:90px 36px}.section>.eyebrow,.section>h2{text-align:center}.prose{max-width:740px;margin:auto}.prose p{margin-bottom:1.9em}.prose .signature{text-align:right;margin:15px 0 0;font-size:21px}.program{background:var(--pale)}.program-part{max-width:740px;margin:0 auto 55px}.program-part:last-child{margin-bottom:0}.part-number{letter-spacing:.17em;color:#638394;margin:0 0 6px;font-size:14px}.program-part h3{letter-spacing:.05em;border-bottom:1px solid #a8c0cd;margin-bottom:16px;padding-bottom:18px;font-size:clamp(21px,3vw,28px)}.program ul{margin:0;padding:0;list-style:none}.program li{border-bottom:1px solid #d3e0e6;padding:10px 0 10px 24px;position:relative}.program li:before{content:"";border:1px solid #7f9fae;width:5px;height:5px;position:absolute;top:25px;left:2px;transform:rotate(45deg)}.details{margin:0}.details>div{border-top:1px solid var(--line);grid-template-columns:130px minmax(0,1fr);gap:20px;padding:30px 0;display:grid}.details>div:last-child{border-bottom:1px solid var(--line)}dt{color:#597c90;padding-top:3px;font-size:17px}dd{margin:0}dd p{margin-bottom:12px}.large{letter-spacing:.03em;color:var(--ink);font-size:22px}.times{flex-wrap:wrap;gap:25px;margin:10px 0;display:flex}.times b{margin-left:9px}.note{color:var(--muted);font-size:14px}.price-row{border-bottom:1px dotted var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.price-row:last-child{border:0}.price-row b{font-variant-numeric:tabular-nums;font-size:23px}.price-row span:last-child{font-size:13px}.perks{color:#f1f5f5;background:#263f52}.perks h2,.perks h3{color:#f1f5f5}.perks .eyebrow{color:#aac6d3}.perk{border-top:1px solid #ffffff30;gap:28px;padding:28px 0;display:flex}.perk:last-child{border-bottom:1px solid #ffffff30}.number{color:#c7b48a;font:italic 30px/1.8 Georgia,serif}.perk h3{font-size:21px}.perk p{margin:0;font-size:16px}.notes article{border-bottom:1px solid var(--line);padding:27px 0}.notes article h3{color:#55798e}.notes article p{margin-bottom:14px;font-size:16px}.notes article p:last-child{margin-bottom:0}.notes .viewing-deadline{background:var(--pale);border:0;margin-top:15px;padding:25px 28px}.application{text-align:center;background:#f3f7f8;border:1px solid #a8c0cd;max-width:848px;margin:0 auto 20px;padding:45px 28px}.application h2{margin-bottom:18px;font-size:25px}.application>p:last-child{margin-bottom:0;font-size:16px}.profile{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:60px;max-width:1100px;margin:auto;padding:100px 36px;display:grid}.profile h2{margin-bottom:25px;font-size:32px}.profile p:not(.eyebrow){font-size:15px}.profile-links{flex-wrap:wrap;gap:12px 22px;font-size:13px;display:flex}.contact{text-align:center;background:var(--pale);padding:40px 20px;font-size:15px}.contact p{margin-bottom:5px}.contact a{overflow-wrap:anywhere}footer{text-align:center;color:#d1dde5;letter-spacing:.08em;background:#203749;padding:28px 16px;font-size:13px}@media (max-width:700px){body{font-size:16px;line-height:2}.site-header{padding:15px 20px}.site-name{font-size:18px}.site-name span{margin-left:10px;font-size:9px}nav{gap:16px;font-size:11px}nav a:first-child{display:none}.intro{padding:42px 20px 48px}.intro .eyebrow{letter-spacing:.15em;margin-bottom:24px;font-size:9px}.kicker{font-size:16px}h1{letter-spacing:.07em;font-size:clamp(25px,6.5vw,39px)}.subtitle{letter-spacing:.02em;font-size:clamp(11px,3.1vw,17px)}.date-line{gap:4px 16px;font-size:17px}.location-line{font-size:14px}.section{padding:58px 24px}h2{letter-spacing:.07em;margin-bottom:34px;font-size:25px}.prose p{margin-bottom:1.8em}.program-part{margin-bottom:40px}.program-part h3{letter-spacing:.01em;font-size:22px}.program li{padding-left:20px;font-size:15px}.details>div{grid-template-columns:1fr;gap:12px;padding:24px 0}dt{font-size:15px}dd .large{font-size:21px}.times{gap:18px;font-size:15px}.note{font-size:13px}.price-row{gap:8px;font-size:15px}.price-row b{font-size:23px}.price-row span:last-child{font-size:12px}.perk{gap:17px}.perk h3{font-size:18px}.perk p{font-size:15px}.number{font-size:26px}.notes article p{font-size:15px}.notes .viewing-deadline{padding:22px 18px}.application{margin:0 20px;padding:34px 18px}.application h2{font-size:23px}.application>p:last-child{font-size:15px}.profile{grid-template-columns:1fr;gap:32px;padding:64px 24px}.profile img{max-width:420px;margin:auto}.profile h2{font-size:29px}.profile-links{gap:15px}.contact{font-size:13px}}.profile>*{min-width:0}.profile img{width:100%;max-width:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
