:root{--black:#111;--black-soft:#222;--gray-dark:#555;--gray-mid:#888;--gray-light:#eaeaea;--gray-bg:#fafafa;--white:#fff}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--white);color:var(--black);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 28px}.section{padding:90px 0}.border-top{border-top:1px solid var(--gray-light)}.bg-subtle{background-color:var(--gray-bg)}.header{border-bottom:1px solid var(--gray-light);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background-color:#fffffff5;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;height:76px;display:flex}.brand{flex-direction:column;display:flex}.brand-name{color:var(--black);letter-spacing:-.02em;font-size:1.05rem;font-weight:600}.brand-role{color:var(--gray-dark);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem}.nav-right{align-items:center;gap:20px;display:flex}.btn-outline-sm{border:1px solid var(--black);color:var(--black);border-radius:2px;padding:8px 20px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s}.btn-outline-sm:hover{background-color:var(--black);color:var(--white)}.hero{padding:90px 0 80px}.hero-grid{grid-template-columns:320px 1fr;align-items:flex-start;gap:70px;display:grid}.hero-portrait{flex-direction:column;align-items:center;display:flex}.image-frame{border:1px solid var(--gray-light);background-color:var(--gray-bg);border-radius:50%;width:280px;height:280px;overflow:hidden}.portrait-img{object-fit:cover;filter:grayscale()contrast(105%);width:100%;height:100%;transition:filter .4s}.portrait-img:hover{filter:grayscale(0%)}.experience-tag{color:var(--gray-dark);letter-spacing:.02em;border-bottom:1px solid var(--gray-light);margin-top:18px;padding-bottom:4px;font-size:.82rem}.hero-content{flex-direction:column;display:flex}.hero-heading{color:var(--black);letter-spacing:-.02em;margin-top:6px;margin-bottom:20px;font-size:2.2rem;font-weight:600;line-height:1.25}.hero-lead{color:var(--gray-dark);margin-bottom:32px;font-size:1.12rem;font-weight:400;line-height:1.6}.quick-specs{background-color:var(--gray-bg);border:1px solid var(--gray-light);grid-template-columns:repeat(2,1fr);gap:16px 24px;margin-bottom:32px;padding:18px 22px;display:grid}.spec-item{flex-direction:column;display:flex}.spec-label{text-transform:uppercase;letter-spacing:.08em;color:var(--gray-mid);margin-bottom:3px;font-size:.72rem}.spec-value{color:var(--black);font-size:.95rem;font-weight:600}.actions{align-items:center;gap:24px;display:flex}.btn-dark{background-color:var(--black);color:var(--white);border:1px solid var(--black);cursor:pointer;border-radius:2px;padding:14px 34px;font-size:.95rem;font-weight:500;transition:all .2s}.btn-dark:hover{color:var(--black);background-color:#0000}.link-subtle{color:var(--gray-dark);font-size:.95rem;text-decoration:none;transition:color .2s}.link-subtle:hover{color:var(--black)}.section-header{margin-bottom:48px}.section-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--gray-mid);margin-bottom:8px;font-size:.75rem;display:block}.section-title{letter-spacing:-.02em;color:var(--black);font-size:1.8rem;font-weight:500}.topics-grid{grid-template-columns:1fr 1fr;gap:60px;display:grid}.topic-block h3{border-bottom:1px solid var(--black);margin-bottom:20px;padding-bottom:12px;font-size:1.15rem;font-weight:600}.topic-block ul{list-style:none}.topic-block li{color:var(--gray-dark);border-bottom:1px solid var(--gray-light);padding:12px 0;font-size:.95rem}.steps-grid{grid-template-columns:repeat(4,1fr);gap:32px;display:grid}.step-item{border-left:1px solid var(--gray-light);padding-left:20px}.step-num{color:var(--gray-mid);margin-bottom:14px;font-size:1.5rem;font-weight:300;display:block}.step-item h4{margin-bottom:8px;font-size:1rem;font-weight:600}.step-item p{color:var(--gray-dark);font-size:.88rem;line-height:1.55}.ket-container{width:100%}.ket-intro{color:var(--black-soft);max-width:860px;margin-bottom:48px;font-size:1.12rem;line-height:1.65}.ket-intro strong{color:var(--black);font-weight:600}.ket-model-wrapper{border:1px solid var(--gray-light);background-color:var(--white);margin-bottom:60px}.ket-diagram-cards{border-bottom:1px solid var(--gray-light);grid-template-columns:repeat(5,1fr);display:grid}.model-card-btn{background:var(--gray-bg);border:none;border-right:1px solid var(--gray-light);text-align:left;cursor:pointer;flex-direction:column;gap:4px;padding:20px 14px;transition:all .2s;display:flex}.model-card-btn:last-child{border-right:none}.model-step{color:var(--black);font-size:.88rem;font-weight:600}.model-sub{color:var(--gray-mid);font-size:.75rem}.model-card-btn:hover{background-color:#f1f1f1}.model-card-btn.active{background-color:var(--white);border-bottom:2px solid var(--black)}.model-card-btn.active .model-step{color:var(--black)}.model-card-btn.active .model-sub{color:var(--black-soft)}.ket-detail-box{background-color:var(--white);padding:36px 40px}.detail-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--gray-mid);margin-bottom:8px;font-size:.72rem}.detail-title{color:var(--black);margin-bottom:14px;font-size:1.25rem;font-weight:600}.detail-text{color:var(--gray-dark);max-width:820px;font-size:1rem;line-height:1.65}.ket-benefits-grid{grid-template-columns:repeat(3,1fr);gap:40px;padding-top:20px;display:grid}.benefit-col{border-top:1px solid var(--black);padding-top:18px}.benefit-col h4{color:var(--black);margin-bottom:10px;font-size:1.05rem;font-weight:600}.benefit-col p{color:var(--gray-dark);font-size:.9rem;line-height:1.6}.faq-container{max-width:820px}.faq-list{flex-direction:column;display:flex}.faq-item{border-bottom:1px solid var(--gray-light);cursor:pointer;-webkit-user-select:none;user-select:none;padding:22px 0}.faq-question{justify-content:space-between;align-items:center;gap:16px;font-size:1.05rem;font-weight:500;display:flex}.faq-icon{color:var(--gray-mid);font-size:1.3rem;font-weight:300}.faq-answer{color:var(--gray-dark);margin-top:14px;font-size:.93rem;line-height:1.65}.cta-banner{text-align:center;padding:90px 0}.cta-inner h2{letter-spacing:-.02em;margin-bottom:12px;font-size:2rem;font-weight:600}.cta-inner p{color:var(--gray-dark);margin-bottom:30px;font-size:1rem}.footer{background-color:var(--white);padding:40px 0}.footer-inner{color:var(--gray-mid);justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.footer-sub{color:var(--gray-mid)}@media (width<=1024px){.section,.hero{padding:70px 0}.hero-grid{grid-template-columns:260px 1fr;gap:48px}.image-frame{width:240px;height:240px}.hero-heading{font-size:1.9rem}.steps-grid{grid-template-columns:1fr 1fr;gap:32px}}@media (width<=680px){.container{padding:0 20px}.section,.hero{padding:50px 0}.nav-inner{flex-direction:column;align-items:flex-start;gap:14px;height:auto;padding:16px 0}.nav-right{justify-content:flex-end;width:100%}.hero-grid{grid-template-columns:1fr;gap:32px}.hero-portrait{align-items:flex-start}.image-frame{width:150px;height:150px}.hero-heading{font-size:1.5rem}.hero-lead{margin-bottom:24px;font-size:1rem}.quick-specs{grid-template-columns:1fr;gap:12px;padding:16px}.actions{flex-direction:column;gap:14px;width:100%}.btn-dark{text-align:center;width:100%;padding:16px}.link-subtle{text-align:center}.topics-grid,.steps-grid{grid-template-columns:1fr;gap:28px}.step-item{border-left:2px solid var(--black);padding-left:16px}.ket-diagram-cards{grid-template-columns:1fr}.model-card-btn{border-right:none;border-bottom:1px solid var(--gray-light);padding:16px 18px}.model-card-btn.active{border-left:3px solid var(--black);border-bottom:1px solid var(--gray-light)}.ket-detail-box{padding:24px 18px}.ket-benefits-grid{grid-template-columns:1fr;gap:28px}.cta-inner h2{font-size:1.6rem}.footer-inner{text-align:center;flex-direction:column;gap:10px}}.registration-page{background-color:var(--gray-bg);min-height:100vh;padding:60px 0}.reg-container{max-width:600px;margin:0 auto}.reg-header{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.back-link{color:var(--gray-dark);margin-bottom:0;font-size:.95rem;text-decoration:none;transition:color .2s;display:inline-block}.back-link:hover{color:var(--black)}.lang-toggle-btn{border:1px solid var(--black);color:var(--black);cursor:pointer;background:0 0;border-radius:2px;padding:6px 14px;font-size:.85rem;font-weight:500;transition:all .2s}.lang-toggle-btn:hover{background-color:var(--black);color:var(--white)}.reg-box{background-color:var(--white);border:1px solid var(--gray-light);border-radius:4px;padding:40px 50px;box-shadow:0 4px 20px #00000008}.reg-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--gray-mid);margin-bottom:8px;font-size:.75rem;display:block}.reg-title{color:var(--black);letter-spacing:-.02em;margin-bottom:12px;font-size:2rem;font-weight:600}.reg-subtitle{color:var(--gray-dark);margin-bottom:32px;font-size:1rem;line-height:1.6}.reg-form{flex-direction:column;gap:24px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--black);font-size:.85rem;font-weight:600}.form-group input,.form-group textarea{border:1px solid var(--gray-light);background-color:var(--gray-bg);border-radius:2px;padding:12px 16px;font-family:inherit;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--black);background-color:var(--white);outline:none}.submit-btn{width:100%;margin-top:10px}.btn-dark{background-color:var(--black);color:var(--white);border:1px solid var(--black);cursor:pointer;border-radius:2px;padding:14px 34px;font-family:inherit;font-size:.95rem;font-weight:500;transition:all .2s}.btn-dark:hover:not(:disabled){color:var(--black);background-color:#0000}.btn-dark:disabled{opacity:.5;cursor:not-allowed}.step-btn{margin-top:32px}.success-message{text-align:center;padding:30px 0}.success-message h3{color:var(--black);margin-bottom:12px;font-size:1.5rem}.success-message p{color:var(--gray-dark);margin-bottom:24px;line-height:1.6}.summary-box{background-color:var(--gray-bg);border:1px solid var(--gray-light);border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px;display:flex}.summary-label{color:var(--gray-dark);margin-bottom:4px;font-size:.85rem;display:block}.change-btn{color:var(--gray-dark);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.95rem;text-decoration:underline}.change-btn:hover{color:var(--black)}.date-picker-header{color:var(--black);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.9rem;display:flex}.date-picker-header button{border:1px solid var(--gray-light);cursor:pointer;color:var(--black);background:0 0;border-radius:4px;padding:6px 14px;font-family:inherit;transition:all .2s}.date-picker-header button:hover:not(:disabled){background:var(--gray-bg);border-color:var(--black)}.date-picker-header button:disabled{opacity:.3;cursor:not-allowed}.calendar-weekdays{text-align:center;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;display:grid}.weekday-cell{text-transform:uppercase;color:var(--gray-dark);font-size:.75rem;font-weight:500}.date-grid{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:16px;display:grid}.date-cell{aspect-ratio:1;border:1px solid var(--gray-light);background-color:var(--white);cursor:pointer;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:all .2s;display:flex;position:relative;overflow:hidden}.empty-cell{pointer-events:none;background:0 0;border:none}.date-cell-num{color:var(--black);font-size:1rem;font-weight:500}.date-cell:before{content:"";height:4px;position:absolute;top:0;left:0;right:0}.date-cell.status-high:before{background-color:#22c55e}.date-cell.status-medium:before{background-color:#f59e0b}.date-cell.status-full{opacity:.5;cursor:not-allowed;background-color:#f9fafb}.date-cell.status-full:before{background-color:#ef4444}.date-cell.status-past{opacity:.3;cursor:not-allowed;background-color:#fafafa}.date-cell.status-past:before{display:none}.date-cell:hover:not(:disabled){border-color:var(--black);transform:translateY(-2px);box-shadow:0 4px 6px #0000000d}.date-cell.selected{border:2px solid var(--black);background-color:var(--black)}.date-cell.selected .date-cell-num{color:var(--white)}.date-legend{color:var(--gray-dark);justify-content:center;gap:16px;margin-top:8px;font-size:.75rem;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px}.legend-dot.status-high{background-color:#22c55e}.legend-dot.status-medium{background-color:#f59e0b}.legend-dot.status-full{background-color:#ef4444}.time-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:12px;margin-top:8px;display:grid}.time-btn{border:1px solid var(--gray-light);background-color:var(--white);color:var(--black);cursor:pointer;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:10px 8px;font-family:inherit;font-weight:500;transition:all .2s;display:flex}.time-main{font-size:1rem}.time-local{color:var(--gray-dark);font-size:.75rem;font-weight:400}.time-btn:hover:not(:disabled){border-color:var(--black)}.time-btn.selected{border:2px solid var(--black);background-color:var(--black);color:var(--white)}.time-btn.selected .time-local{color:#ffffffd9}.time-btn.booked{color:#bbb;cursor:not-allowed;border:1px solid var(--gray-light);background-color:#f5f5f5}.slide-in{animation:.3s forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width<=680px){.reg-box{padding:30px 20px}.date-picker-header{font-size:.85rem}.date-cell-num{font-size:.9rem}.date-legend{flex-direction:column;align-items:center;gap:8px}}.admin-page{background-color:#f9f9fb;max-width:1400px;min-height:100vh;margin:0 auto;padding:30px;font-family:sans-serif}.admin-header{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.admin-back-link{color:#333;font-weight:700;text-decoration:none}.calendar-nav-bar{background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:20px;margin-bottom:20px;padding:12px;display:flex;box-shadow:0 2px 6px #0000000a}.cal-nav-btn,.cal-today-btn{color:#fff;cursor:pointer;background:#222;border:none;border-radius:6px;padding:8px 14px;font-size:.9rem;font-weight:600;transition:background .2s}.cal-nav-btn:hover,.cal-today-btn:hover{background:#444}.cal-today-btn{background:#4f46e5}.cal-today-btn:hover{background:#4338ca}.cal-current-range{color:#333;font-size:1rem;font-weight:700}.calendar-grid-wrapper{background:#fff;border-radius:12px;padding:15px;overflow-x:auto;box-shadow:0 4px 12px #0000000d}.calendar-grid{grid-template-columns:80px repeat(7,minmax(140px,1fr));gap:8px;min-width:1050px;display:grid}.cal-header-cell{color:#fff;text-align:center;background:#111;border-radius:6px;flex-direction:column;justify-content:center;padding:12px 8px;display:flex}.time-col-header{background:#333;font-size:.9rem}.cal-day-name{text-transform:uppercase;opacity:.8;font-size:.8rem}.cal-date-num{font-size:.95rem;font-weight:700}.time-row-label{color:#555;background:#f1f1f3;border-radius:6px;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex}.cal-slot-cell{border-radius:6px;flex-direction:column;justify-content:center;min-height:90px;padding:8px;font-size:.85rem;transition:all .2s;display:flex}.cal-slot-cell.free{color:#cbd5e1;background:#f8f9fa;border:1px dashed #e2e8f0;justify-content:center;align-items:center}.free-text{font-size:.8rem;font-weight:500}.cal-slot-cell.booked{color:#1e1b4b;background:#eef2ff;border:1px solid #c7d2fe;box-shadow:0 2px 4px #6366f10d}.cal-slot-cell.clickable{cursor:pointer}.cal-slot-cell.clickable:hover{background:#e0e7ff;transform:scale(1.02)}.slot-info{flex-direction:column;gap:3px;display:flex}.slot-info strong{color:#312e81;font-size:.9rem}.slot-preview-text{color:#4338ca;margin-top:2px;font-size:.7rem;text-decoration:underline}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;animation:.2s modalFadeIn;overflow:hidden;box-shadow:0 10px 25px #0003}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-header{color:#fff;background:#111;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h2{margin:0;font-size:1.1rem}.modal-close-btn{color:#fff;cursor:pointer;background:0 0;border:none;font-size:1.5rem}.modal-body{color:#333;flex-direction:column;gap:10px;padding:20px;font-size:.95rem;display:flex}.modal-reason-box{color:#475569;background:#f8f9fa;border:1px solid #e2e8f0;border-radius:6px;min-height:60px;padding:12px;font-style:italic}.modal-footer{background:#f1f5f9;justify-content:flex-end;padding:15px 20px;display:flex}.admin-login-wrapper{background-color:#f9f9fb;justify-content:center;align-items:center;height:100vh;font-family:sans-serif;display:flex}.admin-login-box{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:400px;padding:40px;box-shadow:0 4px 20px #00000014}.admin-login-box h2{color:#111;margin-bottom:10px}.admin-login-box p{color:#666;margin-bottom:20px;font-size:.9rem}.admin-login-input{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;width:100%;margin-bottom:15px;padding:12px;font-size:1rem}.admin-login-error{color:#dc2626;margin-bottom:15px;font-size:.85rem}.not-found-page{background-color:var(--gray-bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.not-found-title{color:var(--black);margin-bottom:16px;font-size:2.5rem}.not-found-desc{color:var(--gray-dark);margin-bottom:32px;font-size:1.1rem}.not-found-link{text-decoration:none;display:inline-block}.privacy-page-wrapper{padding-bottom:100px}.privacy-box{padding:40px 50px}.privacy-title{margin-bottom:8px}.privacy-date{color:var(--gray-mid);margin-bottom:40px;font-size:.85rem}.privacy-content{flex-direction:column;gap:24px;display:flex}.privacy-heading{color:var(--black);margin-bottom:8px;font-size:1.1rem}.privacy-text{color:var(--gray-dark);font-size:.95rem;line-height:1.6}@media (width<=680px){.privacy-box{padding:30px 20px}}
