:root{--bg:#fbf8f4;--fg:#222;--accent:#d9841c;--accent-light:#f7d7af;--soft-beige:#f5efe5;--peach-light:#f9e9d9;--peach:#f3d2b3;--light-gray:#767676;--radius:14px;--maxw:1140px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font:400 18px/1.5 "Montserrat",sans-serif;background:var(--bg);color:var(--fg);cursor:default}img{display:block;max-width:100%}.container{max-width:var(--maxw);margin:auto;padding:0 16px}.flex{display:flex;align-items:center;justify-content:space-between}.center{text-align:center}.mb-40{margin-bottom:30px}.hidden{display:none}.btn{background:var(--accent);padding:12px 28px;border-radius:30px;text-decoration:none;color:#fff;font-weight:600;transition:.3s;cursor:pointer;border:0;box-shadow:0 2px 5px rgba(0,0,0,.2);display:inline-block;text-align:center}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.15)}.btn--small{padding:10px 22px;font-size:.9em}.form .btn{padding:10px 24px;font-size:.95em;height:40px}.fade{opacity:0;transform:translateY(40px);transition:.7s}.fade.show{opacity:1;transform:none}@keyframes shake{0%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}100%{transform:translateX(0)}}.checkbox-container.shake{animation:shake .4s ease-in-out}@keyframes tooltip-fade-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes drawCheck{0{stroke-dasharray:0,30;stroke-dashoffset:0}100%{stroke-dasharray:30,30;stroke-dashoffset:0}}.header{background:#fff;position:sticky;top:0;z-index:10;box-shadow:0 2px 10px rgba(0,0,0,.05);padding:16px 0}.logo{font-weight:700;white-space:nowrap;font-size:1.4rem;color:var(--accent)}.nav{display:flex;align-items:center;gap:36px;margin-left:auto}.nav__list{display:flex;gap:28px;list-style:none}.nav a{text-decoration:none;color:inherit;position:relative;padding:12px 0}.nav a.nav__cta{padding:12px 28px}.nav a:not(.nav__cta)::after{content:"";display:block;width:0;height:2px;background:var(--accent);transition:.3s;position:absolute;bottom:0}.nav a:not(.nav__cta):hover::after{width:100%}.nav__cta{margin-left:28px;border-radius:30px;background:var(--accent);color:#fff !important;font-weight:600;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:.3s;display:inline-block;white-space:nowrap;text-align:center}.nav__cta:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.15)}.burger{display:none;background:0;border:0;width:28px;height:20px;position:relative;cursor:pointer;z-index:20}.burger span{position:absolute;width:100%;height:3px;background:var(--accent);left:0;transition:.3s;border-radius:1px}.burger span:nth-child(1){top:0}.burger span:nth-child(2){top:8px}.burger span:nth-child(3){top:16px}.burger.open span:nth-child(1){top:8px;width:0;left:50%}.burger.open span:nth-child(2){transform:rotate(45deg)}.burger.open span:nth-child(3){transform:rotate(-45deg);top:8px}.body-with-menu-open{overflow:hidden}section{padding:70px 0}section[id]{scroll-margin-top:80px}section h2{position:relative;display:inline-block;font-size:2.2rem;font-weight:700;text-align:center;margin-left:auto;margin-right:auto;display:block}section h2:after{content:"";display:block;width:80px;height:3px;background-color:var(--accent);margin:15px auto 0;border-radius:1.5px}.hero{position:relative;color:#fff;padding:0;overflow:hidden;height:calc(100vh - 70px);min-height:500px;display:flex;align-items:center}.hero__bg{position:absolute;inset:0;background:url('images/bg.webp') center/cover}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(211,134,33,0.95),rgba(0,0,0,.5))}.hero__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;position:relative;z-index:1}.hero h1{font-size:clamp(2.2rem,4.5vw,3.8rem);line-height:1.12;letter-spacing:-.02em;margin-bottom:24px;font-weight:700;text-shadow:2px 2px 4px rgba(80,51,13,0.6)}.hero p{max-width:45ch;margin-bottom:36px;font-size:1.05rem;line-height:1.45;opacity:1;text-shadow:1px 1px 10px rgba(80,51,13,0.5)}.hero__photo img{border-radius:var(--radius);box-shadow:0 6px 24px rgba(0,0,0,.25);width:100%;height:auto;object-fit:cover;transition:.3s}.hero__photo:hover img{transform:translateY(-6px);box-shadow:0 8px 24px rgba(0,0,0,.2)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:32px;row-gap:40px;margin-top:60px}.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 3px 10px rgba(0,0,0,.05);transition:.3s;display:flex;flex-direction:column}.card:hover{transform:translateY(-6px);box-shadow:0 8px 16px rgba(0,0,0,.08)}.card img{width:100%;height:300px;object-fit:scale-down;object-position:center}.card h3{padding:24px 24px 6px;font-weight:600}.card p{padding:0 24px 24px;font-size:.95em}#prices{background-color:var(--peach)}.price-cards table{width:calc(100% - 48px);border-collapse:collapse;margin:12px 24px 24px}.price-cards td{padding:6px 0;font-size:1.05em;border-bottom:1px solid #f2f2f2}.price-cards td:first-child{color:#444}.price-cards td:last-child{text-align:right}#about{background-color:var(--soft-beige);position:relative}#services{background-color:var(--peach-light)}#reviews{background-color:var(--soft-beige)}#booking{background-color:#fff;padding:60px 0}.review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:30px;margin-top:60px}.review{display:flex;gap:16px;background:#fff;border-radius:var(--radius);padding:24px;box-shadow:0 3px 12px rgba(0,0,0,.06);height:100%;transition:.3s}.review:hover{transform:translateY(-6px);box-shadow:0 8px 16px rgba(0,0,0,.08)}.review img{width:60px;height:60px;border-radius:50%;object-fit:cover}.review p{margin-bottom:12px}.review strong{display:block}.review__footer{display:flex;align-items:center;gap:8px}.ico{display:inline-block;width:18px;height:18px;background-size:contain;background-repeat:no-repeat;filter:grayscale(1);opacity:.85;transition:.3s}.ico:hover{filter:none;opacity:1}.ico--tg{background-image:url('data:image/svg+xml;utf8,<svg fill="%235d7a93" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M15.8 2.3 1.9 7.7c-1 .4-1 1.1-.1 1.4l3.4 1.1 1.3 4.1c.2.5.4.6.8.6s.6-.2.8-.4l2-2 4.2 3.1c.8.6 1.4.3 1.6-.7l2.7-12c.3-1.1-.4-1.6-1.6-1.1z"/></svg>')}.form{display:grid;gap:18px;max-width:620px;margin:auto}.phone-input-wrapper{display:flex;align-items:center;width:100%;position:relative;border:1px solid #ccc;border-radius:6px;overflow:hidden;font-family:"Montserrat",sans-serif;font-size:15px;height:40px}.phone-prefix{padding:10px 0 10px 10px;color:#767676;font-size:15px;user-select:none;line-height:1;font-family:"Montserrat",sans-serif}.phone-input-wrapper.filled .phone-prefix{color:#333}.phone-input-wrapper.using-8 .phone-prefix{display:none}input[type="tel"]{flex:1;border:0;padding:10px;font-size:15px;outline:0;background:transparent;font-family:"Montserrat",sans-serif}.phone-input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px rgba(211,134,33,0.3)}.range{position:relative;margin-top:16px}.range input{position:absolute;left:0;width:100%;appearance:none;background:0;pointer-events:none;height:0}.range input::-webkit-slider-thumb{appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--accent);pointer-events:auto;cursor:pointer;z-index:2;position:relative}.range::before{content:"";display:block;height:4px;background:#cacaca;border-radius:2px;position:relative}.range-selected-area{position:absolute;height:4px;background:var(--accent);top:0;border-radius:2px;z-index:1}.range output{display:block;margin-top:30px;font-weight:600;text-align:center;font-size:.95em}fieldset{border:1px solid #ddd;border-radius:8px;padding:16px}legend{padding:0 8px;color:#444;font-size:.85em}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 14px;border-radius:18px;background:var(--accent-light);cursor:pointer;user-select:none;transition:.25s;font-size:.9em;display:inline-block}.chip:hover{transform:translateY(-2px);box-shadow:0 2px 5px rgba(0,0,0,.1)}.chip.selected{background:var(--accent);color:#fff}.chips--single .chip.selected{pointer-events:none}.subject-exams{margin-top:15px;padding-top:15px;border-top:1px dashed #ddd;display:none}.subject-exams.active{display:block}.exam-group{margin-bottom:10px}.exam-group:not(.hidden){display:flex;flex-wrap:wrap;gap:10px}.exam-option{font-size:.9em;background-color:var(--accent-light);transition:all .2s ease;opacity:1;display:inline-block;padding:6px 14px;border-radius:18px;cursor:pointer;user-select:none}.exam-option:hover{transform:translateY(-2px);box-shadow:0 2px 5px rgba(0,0,0,.1)}.exam-option:not(.hidden){display:inline-block}.exam-option.selected{background-color:var(--accent);color:#fff}.exam-option.hidden{display:none}.checkbox-container{display:flex;align-items:flex-start;gap:8px;margin-top:5px;position:relative}.custom-checkbox{position:relative;display:inline-block;width:18px;height:18px;flex-shrink:0;margin-top:1px}.custom-checkbox input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:absolute;top:0;left:0;height:18px;width:18px;background-color:#fff;border:1px solid #ccc;border-radius:3px}.custom-checkbox:hover input ~ .checkmark{border-color:var(--accent)}.custom-checkbox input:checked ~ .checkmark{background-color:var(--accent);border-color:var(--accent)}.checkmark:after{content:"";position:absolute;display:none}.custom-checkbox input:checked ~ .checkmark:after{display:block}.custom-checkbox .checkmark:after{left:6px;top:2px;width:5px;height:10px}.checkbox-label{font-size:.85em;color:#444}.checkbox-label a{color:#b16a15;text-decoration:none;border-bottom:1px dashed}.checkbox-label a:hover{color:#8f5511}.checkbox-container.error .checkmark{border-color:#ff6b6b}.checkbox-container.error .checkbox-label{color:#ff6b6b}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.7);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.modal-overlay.show{opacity:1;visibility:visible}.modal{background:#fff;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;border-radius:10px;padding:25px 30px 20px;position:relative;box-shadow:0 5px 20px rgba(0,0,0,0.2);transform:translateY(20px);transition:transform .3s ease}.modal-overlay.show .modal{transform:translateY(0)}.modal-close{position:absolute;top:15px;right:15px;width:20px;height:20px;opacity:.7;cursor:pointer;transition:opacity .2s;background:0;border:0}.modal-close:hover{opacity:1}.modal-close:before,.modal-close:after{content:'';position:absolute;width:2px;height:20px;background:#333;top:0;left:10px}.modal-close:before{transform:rotate(45deg)}.modal-close:after{transform:rotate(-45deg)}.modal h3{margin-bottom:16px;font-size:1.4em}.modal p{margin-bottom:12px;font-size:.95em;line-height:1.5}.modal ul{margin-bottom:15px;padding-left:20px;font-size:.95em}.success-modal-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px}.success-icon{margin-bottom:20px}#success-close-btn{margin-top:20px;min-width:120px}.success-icon path{stroke-dasharray:30,30;animation:drawCheck .8s ease-in-out forwards}.footer{background:#333;padding:40px 0;font-size:.85em;color:#ccc;text-align:center}.validation-tooltip{position:absolute;background-color:#ff6b6b;color:white;padding:8px 15px;border-radius:4px;font-size:.85em;z-index:100;box-shadow:0 3px 10px rgba(0,0,0,0.2);max-width:250px;animation:tooltip-fade-in .3s ease;display:flex;align-items:center;top:100%;left:0;margin-top:8px}.validation-tooltip::before{content:"";position:absolute;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #ff6b6b;top:-8px;left:15px}.validation-tooltip.tooltip-top{bottom:calc(100% + 8px);top:auto;margin-top:0}.validation-tooltip.tooltip-top::before{border-top:8px solid #ff6b6b;border-bottom:0;top:auto;bottom:-8px}.validation-tooltip.tooltip-right::before{left:auto;right:15px}.validation-tooltip .validation-icon{margin-right:8px;display:inline-flex;width:16px;height:16px;flex-shrink:0}.phone-input-wrapper.error{border-color:#ff6b6b;box-shadow:0 0 0 2px rgba(255,107,107,0.2)}@media(max-width:960px){.nav{gap:20px}.nav__list{gap:15px}.nav__cta{margin-left:15px;padding:10px 16px;font-size:.9em}}@media(max-width:850px){.logo{font-size:1.2rem}.nav{gap:15px}.nav__list{gap:10px}.nav a{font-size:.9em}.nav__cta{margin-left:10px;padding:8px 14px}}@media(max-width:800px){.container{padding:0 12px}.header{padding:15px 0}.logo{font-size:1.1rem}.burger{display:block}.nav{position:fixed;inset:0;flex-direction:column;gap:32px;padding:100px 24px 32px;background:var(--bg);transform:translateX(100%);transition:.4s;box-shadow:-5px 0 15px rgba(0,0,0,.1);z-index:10;overflow-y:auto}.nav__list{display:flex;flex-direction:column;gap:20px;width:100%;text-align:center}.nav__cta{margin-left:0;text-align:center;width:100%;max-width:250px;padding:12px 28px;font-size:1em}.nav.open{transform:none}section[id]{scroll-margin-top:70px}html{scroll-padding-top:70px}}@media(max-width:768px){#booking{padding:50px 0}.form{gap:14px}fieldset{padding:12px}.range output{margin-top:22px}.modal{padding:25px 25px 15px}.modal h3{margin-bottom:15px;font-size:1.3em}.modal p{margin-bottom:12px;font-size:.95em}section{padding:60px 0}section h2{font-size:1.8rem}section h2:after{width:60px;margin-top:10px}.hero__grid{grid-template-columns:1fr;gap:24px}.hero__photo{grid-row:1;display:flex;justify-content:center;align-items:center;max-width:350px;margin:0 auto}.hero__photo img{max-width:100%;border-radius:10px;max-height:350px;width:auto;object-fit:cover;object-position:center}.hero{height:auto;padding-top:30px;padding-bottom:40px}.hero h1{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:16px}.hero p{margin-bottom:28px;font-size:1rem}.hero .btn{width:100%;text-align:center;padding-left:20px;padding-right:20px}.hero__text{display:flex;flex-direction:column;align-items:center;text-align:center}.btn{border-radius:25px;padding:12px 28px;font-size:.95em}.card img{height:220px;object-fit:contain}.review-grid{grid-template-columns:1fr}}@media(max-width:480px){.nav__cta{font-size:.95em}section[id]{scroll-margin-top:60px}html{scroll-padding-top:60px}.hero__photo img{max-width:240px;height:240px;object-fit:cover;object-position:center}.hero h1{font-size:2rem}.hero{padding:60px 0}.btn{padding:12px 24px;font-size:1em;max-width:250px}.card img{height:180px;object-fit:contain}.review{padding:16px}section h2{font-size:1.6rem}}.focus-visible{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
