:root{--accent:#087f8c;--line:#dae7e7;--surface:#f2f8f7}
body{background:#f8fbfa}.wrap{width:min(1120px,calc(100% - 40px))}header{gap:16px;min-height:100px}header nav{gap:14px;flex-wrap:wrap}header nav a{min-height:44px;display:inline-flex;align-items:center}header .brand img{width:76px;height:76px}.app h1{font-size:clamp(28px,5vw,44px);letter-spacing:-1.6px;max-width:850px}.app input:focus,.app select:focus,.app textarea:focus{outline:3px solid #00a4b233;outline-offset:2px;border-color:#087f8c}.app input,.app select,.app textarea{font-size:16px!important;min-height:48px}.app label{font-size:14px!important}.app form{padding:24px}.app p{overflow-wrap:anywhere}.app-message:empty{display:none}.registration-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,1fr);gap:40px;align-items:start}.registration-form{max-width:none!important;margin-top:8px!important;padding:32px!important;box-shadow:0 12px 36px #14394b08}.registration-form fieldset+fieldset{border-top:1px solid var(--line);padding-top:28px;margin-top:32px}.registration-form legend{font-size:20px;display:flex;align-items:center;gap:12px}.step-dot{display:inline-grid;place-items:center;background:#e5f5f1;color:var(--accent);width:36px;height:36px;border-radius:12px;font-size:15px}.registration-aside{position:sticky;top:24px;padding:28px;border-radius:24px;background:var(--navy);color:white}.registration-aside h2{font-size:32px;line-height:1.3}.registration-aside .eyebrow{color:#56e2c7}.registration-aside p,.registration-aside li{color:#d7e1f5;font-size:15px;line-height:1.8}.registration-aside ol{padding-left:22px}.registration-aside li{padding:10px 0}.link-preview,.generated-copy,.standard-plan{padding:18px;background:var(--surface);border-radius:14px}.link-preview{font-size:16px;color:#176d79}.generated-copy{margin-top:24px;border:1px dashed #adcfc8}.generated-copy p{font-size:15px}.generated-copy small,.standard-plan small{color:var(--muted)}.standard-plan{margin-top:22px;border:1px solid #c7ddd6}.professional-page .app{padding-top:12px}.professional-page .app>h1{margin-bottom:16px}.professional-hero{display:grid;grid-template-columns:1.35fr 1fr;gap:40px;padding:38px;background:linear-gradient(125deg,#eaf8f3,#e9f4fd);border-radius:28px;margin-bottom:54px;border:1px solid #d6e8e5}.professional-hero h2{font-size:clamp(29px,4vw,44px);line-height:1.16;margin:22px 0;color:#091952}.professional-hero p{font-size:16px;color:#536780;max-width:580px}.professional-identity{display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;text-align:center;background:#ffffffb3;border:1px solid white;border-radius:22px;padding:26px}.professional-identity img{width:min(200px,70%);height:200px;object-fit:contain}.professional-identity strong{font-size:22px}.professional-identity>span:last-child{font-size:13px;color:var(--muted)}.identity-letter{font-size:70px;color:var(--accent)}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.section-heading h2{margin:14px 0 0}.public-services{grid-template-columns:repeat(2,minmax(0,1fr))}.public-services article{padding:26px;box-shadow:0 8px 26px #17304905;border-radius:20px}.service-mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e9f7f3;color:#007e8c;margin-bottom:16px}.public-services article h3{margin-bottom:12px}.public-services article p{color:var(--muted);font-size:14px}.service-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px}.service-bottom b{font-size:22px}.service-book{border:0;border-radius:12px;padding:13px 16px;color:#087982;background:#eaf8f4;font:inherit;font-weight:700;cursor:pointer;min-height:46px}.booking-section{margin-top:60px;scroll-margin-top:20px}.zone-label{font-size:12px;color:var(--muted);max-width:200px}.booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.booking-layout form{max-width:none;margin:0}.booking-details{border-radius:20px;background:#edf7f4;border:1px solid #d4e9e2;padding:28px;min-height:250px}.booking-details form{padding:0;border:0;background:transparent}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slot-button{background:white;border:1px solid #cbdeda;border-radius:12px;padding:14px 8px;color:var(--ink);font:inherit;cursor:pointer;min-height:72px}.slot-button strong,.slot-button small{display:block}.slot-button strong{font-size:14px}.slot-button small{font-size:11px;color:var(--muted);margin-top:8px}.slot-button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.slot-button[aria-pressed=true] small{color:#dcebf7}.booking-confirmed{padding:32px;background:#e7f7ef;border-radius:22px;text-align:center;border:1px solid #b8dbce}.booking-confirmed .eyebrow{display:block}.confirmed-icon{display:grid;place-items:center;background:#168965;border-radius:50%;width:54px;height:54px;margin:0 auto 22px;color:white;font-size:30px}.public-locations{margin-top:60px}.public-locations article{padding:20px 24px;border:1px solid var(--line);border-radius:16px;background:white;margin-top:14px}.public-locations h3{font-size:20px;margin-top:0}.public-locations p{margin-bottom:0;color:var(--muted)}.agenda-list{overflow-wrap:anywhere}.professional-page footer{margin-top:28px}.professional-page nav a:not(.button){display:inline-flex}.professional-page .app>.eyebrow{font-size:10px}
@media(max-width:740px){.registration-layout,.professional-hero,.booking-layout{grid-template-columns:1fr}.registration-aside{position:static;order:2}.registration-form{padding:22px!important}.professional-hero{padding:24px;gap:22px;margin-bottom:36px;border-radius:22px}.professional-identity{padding:18px}.professional-identity img{height:120px;width:140px}.public-services{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column;gap:12px}.booking-section,.public-locations{margin-top:40px}.booking-details{padding:22px}.slot-grid{grid-template-columns:repeat(2,1fr)}.app h1{letter-spacing:-1px}header{min-height:90px}header nav{gap:8px}header nav .button{padding:12px;font-size:13px}.professional-page .app{padding-top:5px}.registration-aside h2{font-size:28px}.app{padding-bottom:38px}}
@media(max-width:380px){.wrap{width:calc(100% - 28px)}header nav a{font-size:12px}.service-bottom{align-items:start;flex-direction:column}.professional-hero{padding:18px}.app form{padding:18px}.booking-details{padding:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.account-link{display:inline-flex!important;flex-direction:column;gap:5px;min-width:54px;padding:8px;border-radius:12px;font-size:12px}.account-link svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.register-link{background:#e7f7f1}
.form-error{padding:14px;border:1px solid #e9b8bd;background:#fff3f3;color:#922632;border-radius:12px;font-size:14px}