:root{--blue:#0a5c82;--blue2:#0e739f;--ink:#26343c;--muted:#667680;--soft:#eef7fa;--gold:#c99b2f;--white:#fff;--shadow:0 14px 38px rgba(10,58,82,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI","Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
.wrap{width:min(1120px,92%);margin:auto}.topbar{position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);z-index:20;border-bottom:1px solid #e8eef1}
.nav{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:16px}.nav-left{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.nav-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.logo{height:54px;width:auto;object-fit:contain}
.site-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.site-nav a{font-weight:800;text-decoration:none;color:#fff;background:var(--blue);padding:10px 14px;border-radius:12px;border:1px solid var(--blue)}
.site-nav a:hover{background:var(--blue2)}
.lang-switch{display:flex;border:1px solid #cbdce3;border-radius:999px;overflow:hidden;background:#fff}.lang-btn{border:0;background:#fff;padding:8px 10px;cursor:pointer;font-weight:800;color:var(--blue)}
.lang-btn.active{background:var(--blue);color:#fff}.hero{display:grid;grid-template-columns:1.08fr .92fr;gap:42px;align-items:center;padding:64px 0}
.hero h1{font-size:clamp(2.5rem,5vw,4.7rem);line-height:.98;margin:.3rem 0 1rem;letter-spacing:-.045em}.lead{font-size:1.15rem;color:var(--muted);max-width:680px}
.eyebrow{font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem}.chips{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0}
.chips span{background:var(--soft);border:1px solid #d8eaf1;border-radius:999px;padding:7px 11px;font-size:.9rem;font-weight:700}.actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{border:0;background:var(--blue);color:#fff;text-decoration:none;border-radius:12px;padding:14px 18px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn:hover{background:var(--blue2)}
.btn-small{padding:10px 13px;font-size:.9rem}.btn.ghost{background:#fff;color:var(--blue);border:1px solid #bfdce7}.btn.gold{background:var(--gold);color:#fff}.btn.gold:hover{background:#b58927}.micro{font-size:.82rem;color:var(--muted)}
.card{border-radius:22px;box-shadow:var(--shadow);border:1px solid #e5edf0;background:#fff}.hero-photo{overflow:hidden;min-height:460px}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.section{padding:72px 0}.soft{background:var(--soft)}.section-head{max-width:760px;margin-bottom:30px}.section h2{font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.05;margin:.35rem 0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.feature{padding:24px}.feature h3{margin-top:0;color:var(--blue)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery img{width:100%;height:300px;object-fit:cover}
.qr-section{background:#fffaf0}.qr-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:38px;align-items:center}.qr-card{padding:24px;text-align:center;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.qr-card img{width:220px;height:220px}.warning{background:#fff2c7;border-left:4px solid var(--gold);padding:10px 12px;border-radius:8px;font-size:.9rem}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:start}.checklist{padding-left:1.15rem}.lead-form{padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lead-form label{display:flex;flex-direction:column;font-weight:700;font-size:.9rem;gap:6px}.lead-form input,.lead-form select,.lead-form textarea{border:1px solid #cad8df;border-radius:10px;padding:12px;font:inherit;background:#fff}.lead-form input[type="date"]{cursor:pointer;min-height:46px;color-scheme:light}.lead-form .btn,.lead-form #formStatus,.lead-form .span-2,.lead-form .form-block,.lead-form .check-row,.lead-form .confirm-check,.lead-form .schedule-pick{grid-column:1/-1}
.form-block{margin-top:4px;padding-top:12px;border-top:1px solid #e7edef}
.form-block h3{margin:0 0 4px;color:var(--blue);font-size:1.05rem}
.check-row{display:flex;flex-wrap:wrap;gap:10px 16px;font-weight:700}
.check-row label{flex-direction:row;align-items:center;gap:6px;font-size:.9rem}
.schedule-pick{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.schedule-opt{border:1px solid #cad8df;border-radius:14px;padding:14px;cursor:pointer;background:#fff}
.schedule-opt.selected{border-color:var(--blue);background:var(--soft)}
.schedule-opt strong{display:block;color:var(--blue);font-size:1.2rem;margin-top:4px}
.confirm-check{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-weight:700}
@media(max-width:800px){.schedule-pick{grid-template-columns:1fr}}
.program-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}
.program-tab{border:1px solid #bfdce7;background:#fff;color:var(--blue);border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer}
.program-tab.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.register-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:28px;align-items:start}
.program-info{padding:28px}.program-info h2{margin:.35rem 0 1rem;font-size:1.8rem}
.date-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.date-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.date-chip{display:flex;flex-direction:row;align-items:flex-start;gap:10px;padding:12px;border:1px solid #cad8df;border-radius:14px;cursor:pointer;background:#fff;font-weight:700}
.date-chip small{display:block;color:var(--muted);font-weight:600;margin-top:2px}
.date-chip.selected{border-color:var(--blue);background:var(--soft)}
.date-chip input{margin-top:3px}
.price-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;background:var(--soft);border:1px solid #d8eaf1;border-radius:16px;padding:16px}
.cal-month{margin:0 0 22px;padding:16px;border:1px solid #dbe8ed;border-radius:18px;background:#fff}
.cal-month h3{margin:0 0 12px;color:var(--blue)}
.cal-weekdays,.cal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.cal-weekdays span{text-align:center;font-size:.78rem;font-weight:800;color:var(--muted)}
.cal-cell{min-height:54px;border:1px solid #dce7ec;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#fff;position:relative;cursor:pointer;padding:6px 4px}
.cal-cell input{position:absolute;opacity:0}
.cal-cell.empty{border:0;background:transparent;cursor:default;min-height:24px}
.cal-cell.muted{opacity:.35;cursor:default;background:#f4f7f8}
.cal-cell.selected{border-color:var(--blue);background:var(--soft)}
.cal-cell.school-pa{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.cal-cell em{font-style:normal;font-size:.62rem;font-weight:800;color:#8a6a12;text-align:center;line-height:1.1}
.pillar-band{background:linear-gradient(180deg,#0a5c82 0%,#0e739f 100%);padding:28px 0 34px;color:#fff}
.pillar-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pillar{position:relative;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:22px;padding:28px 22px 22px;text-align:center;backdrop-filter:blur(8px)}
.pillar .nail{display:block;width:22px;height:22px;border-radius:50%;background:var(--gold);margin:-40px auto 14px;box-shadow:0 6px 0 #8f6e1c,0 10px 18px rgba(0,0,0,.18)}
.pillar .pillar-kicker{letter-spacing:.18em;font-size:.72rem;font-weight:800;text-transform:uppercase;opacity:.8;margin:0 0 6px}
.pillar h2{margin:0;font-size:clamp(1.6rem,3vw,2.35rem);letter-spacing:-.03em;line-height:1}
.pillar p{margin:.7rem 0 0;opacity:.92;font-size:.95rem}
.price-box div{display:flex;flex-direction:column;gap:4px}.price-box span{color:var(--muted);font-size:.82rem}.price-box strong{font-size:1.15rem;color:var(--blue)}
.price-total strong{font-size:1.45rem}
.admin-tabs{display:flex;gap:8px;margin:8px 0 4px}
.admin-tab{border:1px solid #bfdce7;background:#fff;color:var(--blue);border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}
.admin-tab.active{background:var(--blue);color:#fff}
.dates-cell{max-width:280px;font-size:.85rem;color:#44545c}
.roster-block{margin:22px 0 28px}
.roster-block h2{margin:0 0 8px;font-size:1.45rem;color:var(--blue)}
.roster-meta{color:var(--muted);margin:0 0 14px}
.people-list{margin:0;padding-left:1.1rem;font-size:.9rem}
.compact-table{min-width:760px}
.footer{padding:32px 0;border-top:1px solid #e7edef}.footer .wrap{display:flex;flex-direction:column;gap:5px}
.chat-launch{position:fixed;right:22px;bottom:22px;z-index:40;background:var(--blue);color:#fff;border:0;border-radius:999px;padding:14px 18px;font-weight:800;box-shadow:var(--shadow);cursor:pointer}
.chat-panel{position:fixed;right:22px;bottom:82px;width:min(390px,calc(100vw - 24px));height:570px;background:#fff;border:1px solid #dfe8ec;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.18);z-index:50;display:none;overflow:hidden}
.chat-panel.open{display:grid;grid-template-rows:auto 1fr auto auto}.chat-head{background:var(--blue);color:#fff;padding:15px 16px;display:flex;justify-content:space-between;align-items:center}.chat-head small{display:block;opacity:.82}
.chat-head button{background:none;border:0;color:#fff;font-size:28px;cursor:pointer}.chat-body{padding:16px;overflow:auto;background:#f8fbfc}.bubble{max-width:86%;padding:11px 13px;border-radius:14px;margin:0 0 10px;font-size:.94rem}
.bubble.bot{background:#fff;border:1px solid #dbe8ed;border-bottom-left-radius:4px}.bubble.user{margin-left:auto;background:var(--blue);color:#fff;border-bottom-right-radius:4px}
.quick{padding:9px 12px;display:flex;gap:7px;overflow:auto;border-top:1px solid #edf1f3}.quick button{white-space:nowrap;border:1px solid #cbdde5;background:#fff;border-radius:999px;padding:7px 10px;cursor:pointer}
.chat-input{display:grid;grid-template-columns:1fr auto;border-top:1px solid #e4eaed}.chat-input input{border:0;padding:14px;outline:none;font:inherit}.chat-input button{border:0;background:var(--blue);color:#fff;padding:0 18px;font-weight:800;cursor:pointer}
@media (max-width:800px){.nav{align-items:flex-start;flex-wrap:wrap}.nav-actions{flex-direction:column;align-items:flex-end}.hero,.visit-grid,.qr-grid,.register-grid,.pillar-row{grid-template-columns:1fr}.hero{padding-top:36px}.hero-photo{min-height:320px}.grid3,.grid2,.gallery{grid-template-columns:1fr}.gallery img{height:260px}.lead-form{grid-template-columns:1fr}.lead-form .btn,.lead-form #formStatus,.lead-form .span-2{grid-column:auto}.price-box{grid-template-columns:1fr}}
