:root{--ink:#172b43;--blue:#235a87;--yellow:#e7eef6;--paper:#fff;--gothic:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Meiryo",Arial,sans-serif}
body,.hero-copy h1,button,input,textarea,select{font-family:var(--gothic);font-weight:400}
h1,h2,h3,h4,legend,strong,b{font-weight:700}
@media screen{
body{background:#fff;color:var(--ink);line-height:1.85}
body>header{background:#fff;border-bottom:1px solid #dce3eb;box-shadow:none;padding-top:18px;padding-bottom:18px}
header b{font-size:17px;letter-spacing:.02em}.brand img{width:48px;height:48px;border:1px solid #dce3eb}
nav{font-size:14px;gap:22px}nav a{color:#34455c;font-weight:500}nav a:hover{text-decoration:underline;text-underline-offset:6px}
.hero{background:#152d49;padding-top:64px;padding-bottom:42px}.hero-grid{grid-template-columns:1.12fr 1fr;gap:44px}
.hero-copy h1,.hero-copy h1 em{font-family:var(--gothic);font-weight:700;line-height:1.45;letter-spacing:.015em;-webkit-text-stroke:0;text-shadow:none;transform:none}
.hero-copy h1{font-size:clamp(36px,4.5vw,58px);margin:24px 0;color:#fff}.hero-copy h1 em{color:#b7d7f3}
.hero-announcement{font-size:18px;font-weight:500;margin:22px 0 0}.hero-announcement strong{font-size:24px;font-weight:700;color:#fff;margin-bottom:4px}.hero-announcement span{font-size:17px;color:#d4e1ed}
.tag{background:transparent;color:#d6e6f6;border:1px solid #68819c;border-radius:4px;font-weight:500;letter-spacing:.07em;padding:5px 13px}
.hero .intro{font-size:18px;line-height:1.95;color:#e1e9f1}.hero-art{border:1px solid #c4ceda;border-radius:8px;box-shadow:none;background:white}.hero-art figcaption{font-size:14px;font-weight:400;padding:12px;color:#475569}
.btn{background:var(--blue);color:white;border:1px solid var(--blue);border-radius:5px;box-shadow:none;font-size:17px;font-weight:700;letter-spacing:0;transition:background .15s}
.btn:hover{transform:none;background:#173f62}.secondary{background:#fff;color:var(--blue);border-color:#9eafc1}.secondary:hover{background:#edf3f8}
.hero .btn:not([href="#application"]){background:transparent;color:#fff;border-color:#839bb4;box-shadow:none}.hero .btn:not([href="#application"]):hover{background:#284561}
.hero a[href="#application"],.closing a[href="#application"],#application-form button[type="submit"]{background:#235a87;color:white;border:1px solid #235a87;box-shadow:none;border-radius:5px;font-size:20px;font-weight:700;padding:17px 22px;letter-spacing:.02em;max-width:560px}
.hero a[href="#application"],.closing a[href="#application"]{background:white;color:#173f62;border-color:white}
.hero a[href="#application"]:hover,.closing a[href="#application"]:hover{background:#e7eff7}#application-form button[type="submit"]:hover{background:#173f62}
#application-form button[type="submit"]{max-width:none}
.facts{border-color:#52677f}.facts div{border-color:#52677f}.facts strong{font-size:26px;font-weight:700}.facts span{font-size:14px;color:#d4e1ed}
main{max-width:1080px}section{padding:64px 0;border-color:#dce3eb}.eyebrow{color:var(--blue);font-weight:700;letter-spacing:.08em}
h2{font-size:clamp(27px,3.4vw,36px);letter-spacing:.015em;line-height:1.55}h3{font-weight:700}
.card,.card:nth-child(1),.card:nth-child(2),.card:nth-child(3){background:#fff;border:1px solid #d8e1eb;border-top:3px solid #235a87;border-radius:6px;box-shadow:none;padding:26px}
.card .num{background:none;border-radius:0;padding:0;color:#235a87;font-size:14px}
.flow article,.flow article:nth-child(2),.flow article:nth-child(3){border-color:#235a87}
.note{color:#526173;font-size:14px}.details dt{background:#f2f5f8}.details dd{background:#fff}.details dt,.details dd{border-color:#dce3eb}.course-price{color:#173f62;font-size:30px;font-weight:700}
.discovery-copy{font-size:18px;line-height:1.95}.discovery-copy strong{background:none;color:#173f62}.discovery-icon{border:1px solid #dce3eb}
.discovery-copy .highlight-message,.cost-message{background:#f2f6fa;border:1px solid #d8e1eb;border-left:4px solid #235a87;border-radius:4px;box-shadow:none;padding:24px 28px}
.discovery-copy .highlight-message{font-size:21px;font-weight:500}.discovery-copy .highlight-message strong{font-weight:700;font-size:1em;color:#173f62}
.cost-message .cost-title{font-size:26px;font-weight:700;line-height:1.65}.cost-message .cost-main{font-size:21px;font-weight:500}.cost-message .cost-main strong{background:none}.cost-message b{color:#173f62}
.example-card,.example-card:nth-child(2),.example-card:nth-child(3),.design-template-card,.design-template-card:nth-child(2),.design-template-card:nth-child(3),.gallery-thumb{border:1px solid #d8e1eb;border-radius:6px;box-shadow:none;background:#fff}
.example-image,.design-preview{border-color:#d8e1eb}.gallery-thumb:hover{border-color:#235a87}.gallery-thumb span{font-weight:500;font-size:15px}
.sample-card,.sample-card:nth-child(2),.sample-card:nth-child(3),.sample-card:nth-child(4){background:#f6f8fb;border:1px solid #d8e1eb;border-radius:6px}.sample-card h3{font-size:24px}
.sample-tag{background:none;border-radius:0;padding:0;color:#235a87;font-weight:500}.sample-note,.curriculum-note,.course-goal{background:#f2f6fa;border:1px solid #d8e1eb;border-radius:5px}.course-goal h3{color:#173f62}
.sample-choice:has(input:checked),.sample-slot[aria-pressed=true]{background:#e3eef7}.sample-table th{background:#edf2f7}.sample-table th,.sample-table td{border-color:#d8e1eb}.sample-slot{background:#edf4fa;border-color:#809db8;color:#173f62;border-radius:4px}
.curriculum-list li,.curriculum-list li.curriculum-break{border-color:#d8e1eb;border-radius:5px;box-shadow:none}.curriculum-list li.curriculum-break{background:#f2f5f8}.curriculum-duration{background:#e8eff6;color:#173f62;border-radius:4px;font-weight:700}
.faq-item,.faq-item:nth-of-type(even){background:#f6f8fb;border:1px solid #d8e1eb;border-radius:5px}.faq-item[open]{border-color:#235a87;border-width:1px;padding:18px 22px}.faq-item summary{font-weight:700;font-size:17px}
.application-card{background:#f6f8fb;border:1px solid #ccd7e3;border-radius:7px;padding:30px}
#application>.eyebrow{background:none;color:#173f62;font-size:28px;font-weight:700;letter-spacing:.03em;padding:0;border-radius:0;margin:0 0 10px}
#application-form #checklist{border-color:#d8e1eb}.count{background:#e8eff6;color:#173f62;border:1px solid #c6d6e5;border-radius:4px;font-weight:500}
#checkform fieldset:nth-child(n) .option{background:white;border:1px solid #ccd7e3;border-radius:4px;color:#172b43}
#checkform fieldset .option:has(input:checked){background:#e5eff8;border:2px solid #235a87;padding:11px 15px;font-weight:700}
#checkform .option:hover{box-shadow:none;border-color:#235a87}.check-intro img{border-radius:6px}
.application-fields input,.application-fields textarea,.application-fields select,input[type=text],textarea,.sample-form input:not([type=radio]),.sample-form textarea,.sample-form select,.sample-choice{border-color:#aabacb;border-radius:4px}
.application-fields .payment-options label{background:#fff;border-color:#aabacb;border-radius:4px}.application-fields .payment-options label:has(input:checked){background:#e5eff8;border-color:#235a87}.required{color:#235a87}
.application-status.success{background:#e8f1f8;border:1px solid #a1bdd4;border-radius:5px}
.closing{background:#152d49;border:0;border-radius:7px;box-shadow:none;padding:36px}.closing>.eyebrow{color:#c4d9ec!important}.host-icon{border:2px solid #c4d9ec}
footer{background:#f2f5f8;border-top:1px solid #dce3eb;color:#475569;padding:32px 24px;font-size:14px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #547fa4;outline-offset:4px}
.legal-page main{max-width:900px}.legal-page h1{font-size:30px;color:#173f62}.legal-page dl{border-color:#d8e1eb;border-radius:5px}.legal-page footer{background:transparent;padding:20px 0}
@media(max-width:800px){.hero-grid{grid-template-columns:1fr;gap:28px}.hero-art{max-width:530px}.hero-copy h1{font-size:clamp(36px,6.5vw,54px)}nav{gap:14px}}
@media(max-width:680px){body>header{padding:12px 6%;gap:10px}.brand img{width:42px;height:42px}header b{font-size:15px}body>header nav{justify-content:flex-start;gap:12px 18px;flex-wrap:wrap;font-size:14px}.hero{padding:36px 6%}.hero-announcement strong{font-size:22px}.hero-announcement span{font-size:16px}.hero-copy h1{font-size:36px;line-height:1.5}.hero .intro{font-size:17px}.hero a[href="#application"],.closing a[href="#application"],#application-form button[type="submit"]{font-size:18px;padding:15px 18px}.facts div{padding:0 12px}.facts strong{font-size:21px}.facts span{font-size:14px}section{padding:46px 0}.application-card{padding:20px}.discovery-copy .highlight-message,.cost-message{padding:20px;font-size:19px}.cost-message .cost-title{font-size:22px}.cost-message .cost-main{font-size:19px}.sample-card{padding:22px}.closing{padding:24px}}
}

@media screen and (min-width:801px){.design-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
