@font-face{font-family:Jakarta;src:url('/assets/fonts/plus-jakarta-sans-v12-latin-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Jakarta;src:url('/assets/fonts/plus-jakarta-sans-v12-latin-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Jakarta;src:url('/assets/fonts/plus-jakarta-sans-v12-latin-800.woff2') format('woff2');font-style:normal;font-weight:800;font-display:swap}
:root{font-family:Jakarta,system-ui,sans-serif;color:#eef8f5;background:#081723;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:280px;background:radial-gradient(circle at 12% 14%,#123e3a 0,transparent 32%),radial-gradient(circle at 85% 6%,#18354b 0,transparent 30%),#081723;color:#eef8f5;line-height:1.55}
body.modal-open{overflow:hidden}
a{color:#77e5bb}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.5}
[hidden]{display:none!important}
.container{width:min(1200px,calc(100% - 40px));margin-inline:auto}
.site-header{border-bottom:1px solid rgba(145,204,186,.14);background:rgba(8,23,35,.8);backdrop-filter:blur(16px)}
.header-inner{min-height:84px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.brand{display:inline-flex;align-items:center;gap:4px;text-decoration:none;color:#fff;font-size:1.65rem;font-weight:800;letter-spacing:-.07em}
.brand span:last-child{color:#47d6a0}.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;margin-right:9px;border-radius:11px;background:#41d39b;color:#0a2821;font-size:1.2rem;letter-spacing:0}
.header-back{color:#b1c9c2;font-size:.9rem;font-weight:700;text-decoration:none}.header-back:hover{color:#fff}
.intro{text-align:center;max-width:790px;margin:34px auto 30px}
.eyebrow,.overline{color:#7ce5b9;font-weight:800;letter-spacing:.045em;text-transform:uppercase;font-size:.74rem}
.intro .eyebrow{display:inline-block;padding:7px 12px;border-radius:99px;background:rgba(76,214,162,.12);border:1px solid rgba(111,231,182,.25)}
.intro h1{font-size:clamp(2.2rem,4vw,3.25rem);line-height:1.13;letter-spacing:-.06em;margin:12px 0 10px}
.intro h1 span{color:#55dca8}.intro p{color:#b5c8c7;font-size:.98rem;margin:0 auto;max-width:660px}
.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,1fr);gap:24px;align-items:start}
.card{border-radius:25px;padding:34px;background:linear-gradient(150deg,rgba(18,41,51,.98),rgba(10,26,38,.98));border:1px solid rgba(142,199,183,.2);box-shadow:0 20px 55px rgba(0,0,0,.18)}
.appointment-card{border-color:rgba(74,211,160,.34)}
.callback-card{background:linear-gradient(145deg,#172e45,#112234);border-color:rgba(117,163,211,.28)}
.card-header{display:flex;align-items:center;gap:14px}
.card-icon{display:grid;place-items:center;width:50px;height:50px;flex:none;border-radius:15px;background:rgba(74,211,160,.14);color:#55daa7;font-size:1.65rem;font-weight:800}
.card-icon.blue{color:#a8c8ff;background:rgba(119,159,236,.17)}
.overline{margin:0 0 2px}.card h2{font-size:clamp(1.5rem,2.8vw,2rem);letter-spacing:-.045em;line-height:1.2;margin:0}
.card-lead{color:#adc4c1;font-size:.96rem;margin:17px 0 22px}
.expert{display:flex;align-items:center;gap:12px;padding:15px;border-radius:16px;background:rgba(66,194,146,.09);border:1px solid rgba(101,218,174,.22);margin:18px 0 24px}
.expert img{width:62px;height:62px;object-fit:cover;object-position:top;border-radius:50%;border:2px solid #4ed7a4}
.expert strong,.expert span{display:block}.expert strong{font-size:.96rem}.expert span{color:#a5c3b7;font-size:.83rem;margin-top:3px}
.calendar-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 15px}
.calendar-title h3,.periods legend{color:#eff8f5;font-size:.97rem;font-weight:800;margin:0}
.calendar-arrows{display:flex;gap:8px}.calendar-arrows button{width:35px;height:35px;border-radius:50%;border:1px solid #3e6d62;background:#152f39;color:#d9f9ed;font-size:1.5rem;line-height:1}
.calendar-arrows button:hover:not(:disabled){background:#255b49}
.days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:99px;padding:8px 3px;border:1px solid #385b5c;border-radius:13px;color:#e4f4f1;background:#112b35;transition:background .15s,border-color .15s,transform .15s}
.day:hover{border-color:#69d6a8;transform:translateY(-2px)}.day[aria-pressed="true"]{background:#1f7659;border-color:#79e6ae;box-shadow:0 0 0 2px rgba(104,220,170,.19)}
.day span{font-size:.72rem;color:#bcddd0;font-weight:700}.day strong{font-size:1.48rem;line-height:1.1}.day small{font-size:.7rem;color:#bcddd0}
.periods{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;padding:0;margin:30px 0 18px;min-width:0}
.periods legend{margin-bottom:13px}.periods button{border:1px solid #385b5c;background:#112b35;color:#e8f7f3;border-radius:13px;padding:12px;text-align:left;font-size:.93rem;font-weight:800;min-width:0}
.periods button span{color:#7ce5b9;margin-right:5px}.periods button small{display:block;color:#a7c5bb;font-size:.76rem;font-weight:600;margin:3px 0 0 22px}
.periods button:hover,.periods button[aria-pressed="true"]{border-color:#77dea9;background:#215b48}
.booking-note{color:#b9cdc5;font-size:.83rem;margin:0 0 22px;padding:12px 14px;border-radius:12px;background:#0c2931}.booking-note span{color:#6be0aa;margin-right:5px}.booking-note strong{color:#edf8f1}
.primary-button,.secondary-button{width:100%;min-height:53px;border:0;border-radius:13px;padding:13px 19px;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:800;font-size:.95rem}
.primary-button{color:#062e20;background:linear-gradient(120deg,#62e2a9,#42c793);box-shadow:0 10px 25px rgba(26,154,100,.22)}
.primary-button:hover:not(:disabled){background:linear-gradient(120deg,#84edc0,#50d49e)}
.secondary-button{color:#071d34;background:linear-gradient(120deg,#9ebaff,#87dfd4);box-shadow:0 10px 25px rgba(70,126,199,.19)}
.secondary-button:hover:not(:disabled){filter:brightness(1.08)}
.privacy-line{color:#91aaa5;text-align:center;font-size:.76rem;margin:12px 0 0}
.field{display:grid;gap:7px;margin:0 0 16px}.field label{font-size:.84rem;font-weight:800;color:#e9f3f1}.field label span,.more-details summary span{color:#92a9a9;font-size:.72rem;font-weight:600}
.field input,.field select{width:100%;min-height:48px;padding:11px 14px;border-radius:11px;border:1px solid #3c5863;background:#0c2130;color:#f4fcf9;outline:none}
.field input::placeholder{color:#829ba3}.field input:focus,.field select:focus{border-color:#64dca8;box-shadow:0 0 0 3px rgba(91,213,156,.16)}
.callback-card .field input:focus,.callback-card .field select:focus{border-color:#9ebaff;box-shadow:0 0 0 3px rgba(138,180,244,.16)}
.more-details{margin:4px 0 18px;padding:12px 14px;border-radius:12px;border:1px solid #37545e;background:#0c2130}.more-details summary{display:flex;justify-content:space-between;gap:10px;cursor:pointer;font-size:.83rem;font-weight:800}.more-details[open] summary{margin-bottom:17px}.more-details .field:last-child{margin-bottom:0}
.consent{display:flex;align-items:flex-start;gap:10px;margin:17px 0 21px;color:#b8ccca;font-size:.75rem;line-height:1.5;cursor:pointer}.consent input{width:17px;height:17px;accent-color:#4fd7a0;flex:none;margin:2px 0 0}.consent a{white-space:nowrap}
.aside-proof{border-top:1px solid rgba(164,199,224,.2);margin-top:27px;padding-top:19px;color:#b8d2dc;font-size:.77rem;text-align:center}.aside-proof span{color:#8dded0;font-weight:900;margin-right:5px}
.below{text-align:center;color:#a9c1b8;font-size:.93rem;margin:32px 0 72px}.below a{font-weight:800}
.site-footer{border-top:1px solid rgba(140,184,169,.17);padding:24px 0;color:#92aaa8;font-size:.78rem}.site-footer .container{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.site-footer nav{display:flex;gap:18px;flex-wrap:wrap}.site-footer a{color:#adc6bd;text-decoration:none}
.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-message{border-radius:11px;padding:12px 13px;margin:14px 0 0;background:#4b2d36;border:1px solid #a65869;color:#ffe1e5;font-size:.85rem}.form-message.success{background:#173d32;border-color:#54b88c;color:#bbf2d3}
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:rgba(2,11,17,.78);backdrop-filter:blur(5px)}
.modal-dialog{position:relative;width:min(530px,100%);max-height:calc(100dvh - 36px);overflow:auto;border-radius:22px;background:#112a37;border:1px solid #49816e;padding:29px;box-shadow:0 25px 75px rgba(0,0,0,.52)}
.modal-close{position:absolute;top:18px;right:18px;width:35px;height:35px;border-radius:50%;border:1px solid #426357;color:#d7f1e5;background:#1a3840;font-size:1.45rem;line-height:1}
.modal-dialog h2{margin:8px 0 7px;font-size:1.75rem;letter-spacing:-.05em}.modal-selected{margin:10px 0 12px;border-radius:11px;padding:12px;background:#1a5947;color:#d6f8e9;font-weight:800}.modal-explain{font-size:.83rem;color:#b2cbc2;margin:0 0 22px}
:where(a,button,input,select,summary):focus-visible{outline:3px solid #96efc1;outline-offset:3px}
@media(max-width:850px){.layout{grid-template-columns:1fr}.callback-card{max-width:none}}
@media(max-width:600px){.container{width:min(100% - 28px,520px)}.header-inner{min-height:68px}.brand{font-size:1.35rem}.brand-mark{width:30px;height:30px;margin-right:5px}.header-back{font-size:.75rem}.intro{margin:24px auto 20px}.intro h1{font-size:2rem}.intro p{font-size:.88rem}.layout{gap:16px}.card{padding:21px;border-radius:19px}.card-lead{font-size:.88rem}.expert{margin:19px 0 24px}.days{grid-template-columns:repeat(3,minmax(0,1fr))}.day{min-height:90px}.periods{margin-top:23px}.periods button{padding:10px 8px;font-size:.82rem}.periods button small{margin-left:0}.modal-dialog{padding:24px 20px}.site-footer .container{display:grid;gap:9px}}
