
:root{--ink:#183138;--muted:#5c7075;--brand:#0f4c5c;--brand-2:#176b78;--aqua:#4fb8b1;--aqua-soft:#dff4f1;--coral:#e9795d;--coral-soft:#fce8e1;--cream:#f7f4ed;--paper:#fff;--line:#d8e2e1;--success:#23735f;--warning:#9b6718;--danger:#a33b32;--shadow:0 18px 50px rgba(15,76,92,.12);--shadow-sm:0 8px 24px rgba(15,76,92,.1);--radius:1.2rem;--radius-sm:.75rem;--max:1180px;--focus:3px solid #e9795d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;font-size:1rem}img,svg{max-width:100%;display:block}a{color:var(--brand);text-decoration-thickness:.08em;text-underline-offset:.18em}a:hover{color:var(--brand-2)}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3{line-height:1.12;letter-spacing:-.025em;margin:0 0 .75rem}h1{font-size:clamp(2.45rem,6vw,5.3rem)}h2{font-size:clamp(1.9rem,4vw,3.35rem)}h3{font-size:clamp(1.2rem,2vw,1.55rem)}p{margin:.2rem 0 1rem}.container{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}.narrow{width:min(calc(100% - 2rem),780px);margin-inline:auto}.section{padding:clamp(4rem,8vw,7rem) 0}.section-soft{background:var(--cream)}.section-aqua{background:linear-gradient(145deg,#e8f7f5,#f7fbfa)}.section-dark{background:var(--brand);color:#fff}.section-header{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.2rem}.section-header>div{max-width:760px}.section-header p:last-child{color:var(--muted);font-size:1.1rem}.section-dark .section-header p:last-child{color:#d7ecec}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.78rem;color:var(--brand-2);margin-bottom:.7rem}.section-dark .eyebrow{color:#9be3dd}.lead{font-size:clamp(1.08rem,2vw,1.32rem);max-width:68ch;color:var(--muted)}.section-dark .lead{color:#d9ebed}.muted{color:var(--muted)}.center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:#fff;color:var(--ink);padding:.8rem 1rem;border-radius:.5rem;box-shadow:var(--shadow);font-weight:700}.skip-link:focus{top:1rem}*:focus-visible{outline:var(--focus);outline-offset:3px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(216,226,225,.8)}.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:1.4rem}.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--brand)}.brand:hover{color:var(--brand)}.brand-mark{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round}.brand-type{display:flex;flex-direction:column;line-height:.9}.brand-type strong{font-size:1.25rem;letter-spacing:.07em}.brand-type small{font-size:.7rem;letter-spacing:.32em;margin-top:.38rem}.main-nav{display:flex;align-items:center;gap:.28rem}.nav-link{padding:.65rem .72rem;text-decoration:none;color:var(--ink);font-weight:650;border-radius:.65rem}.nav-link:hover,.nav-link.is-active{background:var(--aqua-soft);color:var(--brand)}.nav-toggle{display:none;background:none;border:0;padding:.7rem}.nav-toggle span:not(.sr-only){display:block;width:26px;height:2px;background:var(--ink);margin:5px 0;border-radius:4px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.78rem 1.15rem;border:2px solid var(--coral);border-radius:.85rem;background:var(--coral);color:#fff;text-decoration:none;font-weight:800;box-shadow:0 8px 20px rgba(233,121,93,.23);transition:.18s ease}.button:hover{transform:translateY(-1px);color:#fff;background:#d96549;border-color:#d96549}.button-secondary{background:transparent;color:var(--brand);border-color:var(--brand);box-shadow:none}.button-secondary:hover{background:var(--brand);color:#fff}.button-ghost{background:transparent;color:var(--brand);border-color:var(--line);box-shadow:none}.button-ghost:hover{background:var(--aqua-soft);border-color:var(--aqua);color:var(--brand)}.button-small{min-height:42px;padding:.58rem .85rem;font-size:.92rem}.button-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.text-link{display:inline-flex;align-items:center;gap:.35rem;font-weight:800;text-decoration:none}.icon{width:24px;height:24px;flex:0 0 auto}.icon-small{width:18px;height:18px}
.hero{position:relative;overflow:hidden;padding:clamp(4.5rem,9vw,8rem) 0;background:radial-gradient(circle at 85% 20%,rgba(79,184,177,.27),transparent 30%),linear-gradient(130deg,#f7f4ed 0%,#fff 55%,#ecf8f6 100%)}.hero:after{content:"";position:absolute;left:-10%;bottom:-160px;width:120%;height:230px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:clamp(2rem,6vw,5rem)}.hero h1 span{color:var(--brand)}.hero .lead{font-size:clamp(1.12rem,2.2vw,1.4rem)}.trust-row{display:flex;flex-wrap:wrap;gap:.65rem 1.2rem;margin-top:1.7rem}.trust-row span{display:flex;align-items:center;gap:.4rem;font-weight:700;color:var(--muted)}.hero-art{position:relative;min-height:480px}.hero-orbit{position:absolute;inset:5% 3%;border:1px dashed rgba(15,76,92,.24);border-radius:50%;animation:spin 40s linear infinite}.hero-figure{position:absolute;inset:10% 12% 8%;border-radius:48% 52% 42% 58%/58% 40% 60% 42%;background:linear-gradient(145deg,var(--brand),var(--brand-2));box-shadow:var(--shadow);overflow:hidden}.hero-figure:before,.hero-figure:after{content:"";position:absolute;left:-15%;width:130%;height:110px;border-radius:50%;border:22px solid rgba(255,255,255,.16)}.hero-figure:before{top:18%}.hero-figure:after{bottom:12%}.hero-person{position:absolute;left:50%;top:48%;width:180px;height:220px;transform:translate(-50%,-50%)}.hero-person .head{position:absolute;width:46px;height:46px;border-radius:50%;background:#f8c8a5;left:67px;top:4px}.hero-person .body{position:absolute;width:70px;height:108px;border-radius:35px 35px 22px 22px;background:var(--coral);left:55px;top:50px;transform:rotate(-5deg)}.hero-person .arm,.hero-person .leg{position:absolute;height:18px;border-radius:10px;background:#f8c8a5;transform-origin:left center}.hero-person .arm.a{width:100px;left:60px;top:72px;transform:rotate(-28deg)}.hero-person .arm.b{width:95px;left:22px;top:86px;transform:rotate(198deg)}.hero-person .leg.a{width:105px;left:83px;top:150px;transform:rotate(62deg);background:#174956}.hero-person .leg.b{width:105px;left:80px;top:154px;transform:rotate(124deg);background:#174956}.floating-card{position:absolute;background:#fff;border:1px solid var(--line);border-radius:1rem;padding:.9rem 1rem;box-shadow:var(--shadow-sm);font-weight:800}.floating-card small{display:block;font-weight:650;color:var(--muted)}.floating-card.one{top:7%;left:0}.floating-card.two{right:0;top:48%}.floating-card.three{left:5%;bottom:4%}@keyframes spin{to{transform:rotate(360deg)}}
.stat-strip{position:relative;z-index:3;margin-top:-1rem}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius);overflow:hidden}.stat{padding:1.3rem 1.5rem;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{display:block;font-size:1.35rem;color:var(--brand)}.stat span{color:var(--muted)}
.course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}.course-card{display:grid;grid-template-columns:190px 1fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 6px 24px rgba(15,76,92,.06);transition:.2s ease}.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.course-visual{min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;color:var(--brand);background:var(--aqua-soft);padding:1rem}.course-visual span{font-weight:800;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.course-icon{width:92px;height:92px}.course-blue{background:#e2eff8;color:#285b83}.course-green{background:#e5f3e7;color:#397247}.course-coral{background:var(--coral-soft);color:#9f4a35}.course-card-body{padding:1.55rem;display:flex;flex-direction:column}.course-card-body>p{color:var(--muted)}.course-meta{display:grid;gap:.7rem;margin:1rem 0 1.3rem}.course-meta div{display:grid;grid-template-columns:100px 1fr;gap:.6rem}.course-meta dt{display:flex;align-items:center;gap:.35rem;font-weight:800}.course-meta dd{margin:0;color:var(--muted)}.card-actions{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.8rem}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}.value-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem}.value-card .icon-wrap{width:54px;height:54px;display:grid;place-items:center;border-radius:1rem;background:var(--aqua-soft);color:var(--brand);margin-bottom:1.1rem}.value-card p{color:var(--muted)}
.schedule-preview{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:start}.schedule-list{display:grid;gap:.9rem}.schedule-item{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:1rem;padding:1rem 1.1rem;background:#fff;border:1px solid var(--line);border-radius:1rem}.schedule-item .day{font-weight:850;color:var(--brand)}.schedule-item strong{display:block}.schedule-item small{color:var(--muted)}.schedule-note{background:var(--brand);color:#fff;border-radius:var(--radius);padding:2rem;position:sticky;top:110px}.schedule-note p{color:#d7ecec}.schedule-note .button-secondary{border-color:#fff;color:#fff}.schedule-note .button-secondary:hover{background:#fff;color:var(--brand)}
.cta-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;padding:clamp(2rem,5vw,4rem);border-radius:calc(var(--radius) + .5rem);background:linear-gradient(135deg,var(--brand),#176d79);color:#fff;box-shadow:var(--shadow)}.cta-panel p{color:#d7ecec;max-width:62ch}.cta-panel .button{white-space:nowrap}
.page-hero{padding:clamp(3.5rem,8vw,6.5rem) 0;background:linear-gradient(135deg,var(--cream),#edf8f6);overflow:hidden}.page-hero-inner{display:grid;grid-template-columns:1fr 330px;gap:3rem;align-items:center}.page-hero h1{font-size:clamp(2.4rem,5vw,4.6rem)}.page-hero-art{position:relative;width:290px;height:230px;margin:auto;border-radius:44% 56% 55% 45%/55% 45% 55% 45%;background:var(--brand);display:grid;place-items:center;color:#fff}.page-hero-art .brand-mark{width:110px;height:110px}.page-hero-art span{position:absolute;border:2px solid rgba(255,255,255,.35);border-radius:50%}.page-hero-art span:nth-child(2){width:130%;height:55%;transform:rotate(20deg)}.page-hero-art span:nth-child(3){width:100%;height:125%;transform:rotate(-20deg)}.page-hero-art span:nth-child(4){width:60px;height:60px;right:-15px;top:0;background:var(--coral);border:0}.breadcrumbs{padding-top:1rem}.breadcrumbs ol{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0;gap:.45rem;color:var(--muted);font-size:.9rem}.breadcrumbs li:not(:last-child):after{content:"/";margin-left:.45rem;color:#9cafb1}.breadcrumbs a{color:var(--muted)}
.detail-layout{display:grid;grid-template-columns:1fr 360px;gap:clamp(2rem,5vw,5rem);align-items:start}.detail-layout>*,.contact-grid>*,.schedule-preview>*{min-width:0}.detail-copy img{width:100%;height:auto}.detail-copy h2{margin-top:2.5rem}.info-panel{position:sticky;top:110px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}.info-panel dl{margin:0;display:grid;gap:1rem}.info-panel div{padding-bottom:1rem;border-bottom:1px solid var(--line)}.info-panel div:last-child{border:0;padding-bottom:0}.info-panel dt{font-weight:850;color:var(--brand)}.info-panel dd{margin:.2rem 0 0;color:var(--muted)}.notice{display:flex;gap:.9rem;padding:1rem 1.1rem;border-radius:1rem;background:#fff7e6;border:1px solid #ecd3a2;color:#6d4d12}.notice strong{display:block}.notice-info{background:#e9f5f7;border-color:#b8dde2;color:#164f58}.notice-danger{background:#fff0ee;border-color:#efc2bd;color:#7d312a}.content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}.content-card{padding:1.6rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.content-card p:last-child{margin-bottom:0}.check-list{list-style:none;padding:0;margin:1.2rem 0;display:grid;gap:.75rem}.check-list li{display:flex;gap:.6rem}.check-list .icon{color:var(--success);margin-top:.15rem}
.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.price-row{display:flex;justify-content:space-between;gap:1rem;padding:1.2rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.price-row strong:last-child{color:var(--warning);text-align:right}.faq-list{display:grid;gap:.8rem}.faq-list details{border:1px solid var(--line);border-radius:1rem;background:#fff;padding:0 1.15rem}.faq-list summary{font-weight:850;cursor:pointer;padding:1.15rem 2rem 1.15rem 0;position:relative;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:0;top:.9rem;font-size:1.6rem;color:var(--brand)}.faq-list details[open] summary:after{content:"−"}.faq-list details p{color:var(--muted);padding-bottom:1rem}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;align-items:start}.contact-cards{display:grid;gap:1rem}.contact-card{display:flex;gap:1rem;padding:1.25rem;border:1px solid var(--line);border-radius:1rem;background:#fff;text-decoration:none;color:var(--ink)}.contact-card:hover{border-color:var(--aqua);box-shadow:var(--shadow-sm);color:var(--ink)}.contact-card .icon-wrap{width:48px;height:48px;display:grid;place-items:center;background:var(--aqua-soft);color:var(--brand);border-radius:.9rem}.contact-card strong{display:block}.contact-card span:last-child{color:var(--muted)}.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.4rem,4vw,2.4rem);box-shadow:var(--shadow-sm)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.field{display:grid;gap:.35rem}.field-full{grid-column:1/-1}.field label{font-weight:800}.field input,.field select,.field textarea{width:100%;padding:.8rem .9rem;border:1px solid #aebfc1;border-radius:.7rem;background:#fff;color:var(--ink)}.field textarea{min-height:150px;resize:vertical}.field-help{font-size:.88rem;color:var(--muted)}.checkbox{display:flex;align-items:flex-start;gap:.6rem}.checkbox input{width:20px;height:20px;margin-top:.2rem}.form-status{margin-top:1rem;padding:.85rem;border-radius:.7rem;display:none}.form-status.is-visible{display:block}.form-status.success{background:#e5f5ed;color:#1b684f}.form-status.error{background:#fff0ee;color:#87342c}
.legal-copy{font-size:1rem}.legal-copy h2{font-size:1.55rem;margin-top:2.4rem}.legal-copy h3{font-size:1.2rem;margin-top:1.7rem}.placeholder{background:#fff7e6;border:1px dashed #c8902c;border-radius:.7rem;padding:.9rem;color:#6f4d11}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);padding:.9rem .7rem;vertical-align:top}.data-table th{color:var(--brand);font-size:.9rem}.tag{display:inline-flex;padding:.25rem .55rem;border-radius:999px;background:var(--aqua-soft);color:var(--brand);font-size:.82rem;font-weight:800}
.site-footer{background:#102f37;color:#dce9eb;padding:4rem 0 0}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:2rem}.brand-footer{color:#fff;margin-bottom:1rem}.brand-footer:hover{color:#fff}.footer-grid p{color:#aec6ca;max-width:32ch}.footer-title{font-size:1rem;color:#fff;letter-spacing:.02em;margin-bottom:1rem}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}.footer-grid a,.footer-grid span{color:#dce9eb;text-decoration:none}.footer-grid a:hover{color:#fff;text-decoration:underline}.footer-grid a,.footer-grid>div>span{display:flex;gap:.45rem;align-items:flex-start}.footer-bottom{margin-top:3rem;padding:1.2rem 0;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:1rem;color:#9eb7bb;font-size:.9rem}
@media(max-width:1020px){.main-nav{position:fixed;inset:84px 0 auto;background:#fff;display:none;flex-direction:column;align-items:stretch;padding:1rem;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.main-nav.is-open{display:flex}.nav-link{padding:.9rem}.nav-toggle{display:block}.hero-grid,.page-hero-inner,.detail-layout,.contact-grid{grid-template-columns:1fr}.hero-art{min-height:420px}.page-hero-art{display:none}.course-grid{grid-template-columns:1fr}.value-grid{grid-template-columns:repeat(2,1fr)}.schedule-preview{grid-template-columns:1fr}.schedule-note,.info-panel{position:static}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){body{font-size:.98rem}.container,.narrow{width:min(calc(100% - 1.25rem),var(--max))}.section{padding:3.7rem 0}.header-inner{min-height:72px}.main-nav{top:72px}.brand-mark{width:38px;height:38px}.brand-type strong{font-size:1.05rem}.hero{padding-top:3.6rem}.hero-grid{gap:1rem}.hero-art{min-height:340px}.hero-figure{inset:10% 8%}.hero-person{transform:translate(-50%,-50%) scale(.82)}.floating-card{font-size:.85rem;padding:.7rem}.stat-grid{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.course-card{grid-template-columns:1fr}.course-visual{min-height:180px}.course-icon{width:75px;height:75px}.section-header{display:block}.section-header .button{margin-top:1rem}.value-grid,.content-grid,.price-grid,.form-grid{grid-template-columns:1fr}.schedule-item{grid-template-columns:1fr auto}.schedule-item .day{grid-column:1/-1}.cta-panel{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.card-actions{align-items:flex-start;flex-direction:column}.course-meta div{grid-template-columns:90px 1fr}.data-table{display:block;overflow-x:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-orbit{animation:none}}
@media print{.site-header,.site-footer,.button,.nav-toggle{display:none!important}.section,.page-hero{padding:1.5rem 0}.hero-art{display:none}.hero{background:#fff}.course-card,.content-card,.info-panel{box-shadow:none;break-inside:avoid}}
