/* Единая графика: мягкие формы эмали, тонкий контур, фирменные акценты. */
.icon-library{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;display:inline-block;vertical-align:middle}
.button,.button.small{border-radius:999px;gap:22px;padding:10px 12px 10px 25px;min-height:58px;box-shadow:0 5px 16px #3010440c;transition:background .2s,box-shadow .2s,transform .2s;font-size:12px}
.button>.action-icon{width:36px;height:36px;padding:10px;border-radius:50%;background:#ffffff16;stroke-width:1.5;transition:transform .2s,background .2s}
.button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 24px #30104420;background:#49205f}
.button:not(:disabled):hover>.action-icon{transform:rotate(8deg);background:#ffffff28}
.button:active:not(:disabled){transform:translateY(0)}
.button.small{min-height:46px;padding:7px 8px 7px 22px;font-size:11px;gap:16px}
.button.small>.action-icon{width:30px;height:30px;padding:8px}
.outline{border-radius:999px;padding:11px 12px 11px 23px;display:inline-flex;align-items:center;gap:17px;font-size:11px;min-height:48px;transition:background .2s,border-color .2s}
.outline>.action-icon{width:29px;height:29px;padding:7px;border-radius:50%;background:#30104408;stroke-width:1.5}
.outline:hover{border-color:var(--ink);background:#30104405}
.hero .eyebrow{letter-spacing:1.6px}.eyebrow-icon{width:21px;height:21px;color:var(--coral);stroke-width:1.7}
.hero-note{display:flex;align-items:center;gap:13px;font-size:10px;line-height:1.65;margin-top:25px}
.hero-note>.icon{width:35px;height:35px;padding:6px;border:1px solid #30104420;border-radius:11px;color:var(--ink);stroke-width:1.5}
.hero-art{isolation:isolate;position:relative;margin-right:4px}
.portrait-card{border-radius:36px 36px 88px 36px;box-shadow:11px 13px 0 #e1d4f49c;border:1px solid #30104410;position:relative}
.dental-seal{position:absolute;z-index:2;bottom:24px;right:-24px;width:74px;height:74px;display:flex;align-items:center;justify-content:center;border-radius:25px;background:var(--lime);border:5px solid var(--cream);transform:rotate(10deg);box-shadow:0 4px 20px #3010440d}
.dental-seal>.icon{width:43px;height:43px;stroke-width:1.6}
.quick-access{gap:20px;padding-bottom:52px}
.quick-access>button,.quick-access>a{position:relative;border:1px solid #3010441c;border-radius:20px;padding:24px;background:#fffdf980;transition:background .2s,border-color .2s,transform .2s}
.quick-access>button:hover,.quick-access>a:hover{background:#fffdf9;border-color:#30104450;transform:translateY(-3px)}
.quick-access>button>span,.quick-access>a>span{font-size:8px;letter-spacing:1.4px;padding-right:35px;margin-bottom:22px}
.quick-access .quick-icon{position:absolute;right:20px;top:17px;width:30px;height:30px;padding:4px;border-radius:9px;color:#301044a6;stroke-width:1.6}
.quick-access strong{font-size:24px;letter-spacing:-.5px}.quick-access strong>b{display:flex;align-items:center;justify-content:center;background:#30104407;border-radius:50%;width:27px;height:27px;font-size:17px;color:var(--ink)}
.service-grid{gap:19px}
.service-card,.service-card:first-child,.service-card:last-child{border-radius:25px;padding:29px;min-height:375px;transition:transform .25s,box-shadow .25s}
.service-card:hover{transform:translateY(-5px);filter:none;box-shadow:0 14px 28px #30104412}
.service-card .service-icon{display:flex;align-items:center;justify-content:center;top:52px;right:25px;width:72px;height:72px;border:1px solid #30104427;border-radius:23px;color:var(--ink);background:#ffffff20;transform:rotate(5deg)}
.service-icon>.icon{width:48px;height:48px;stroke-width:1.45;transform:rotate(-5deg)}
.service-card h3{margin-top:93px;font-size:30px}.service-card p{font-size:12px;line-height:1.8}
.card-bottom{padding-top:18px;margin-top:24px;font-size:11px}
.card-bottom>b{border-radius:50%;width:31px;height:31px;display:flex;align-items:center;justify-content:center;background:#ffffff38;font-size:20px}
.price-strip{padding-block:25px}.medical-warning{border-radius:15px;font-size:14px}
.doctor-photo{border-radius:28px 28px 76px 28px}.doctor-section{position:relative;overflow:hidden}
.doctor-copy details{border:1px solid #ffffff30;border-radius:18px;padding:0 20px;background:#ffffff04}
.doctor-copy summary{padding-block:18px}.doctor-copy .detail-content{padding-bottom:9px}
.steps article{border-top:0;padding:28px 25px;border:1px solid #30104420;border-radius:22px;position:relative}
.steps article>span{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:#e1d4f47a;color:var(--ink);font-size:11px}
.steps article:nth-child(2)>span{background:#ff5b581b}.steps article:nth-child(3)>span{background:#d7f85c80}
.steps h3{margin:24px 0 12px}.steps p{margin-bottom:0}.steps{gap:18px}
.documents{gap:12px 18px}
.documents button{border:1px solid #30104418;border-radius:16px;padding:20px;background:#fff8ef70;transition:background .2s,border-color .2s}
.documents button:hover{background:var(--cream);border-color:#30104440;color:var(--ink)}
.documents button>span{background:#30104408;border-radius:9px;width:29px;height:29px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:9px;color:var(--ink)}
.documents button>b{color:var(--ink);width:25px;height:25px;line-height:25px;text-align:center;font-size:19px}
.booking-section form{background:#ffffff65;border:1px solid #30104420;border-radius:27px;padding:30px}
form>label:not(.consent){margin:0 0 12px;font-size:11px}form>input{border:1px solid #30104428;border-radius:13px;padding:17px 18px;background:var(--cream);font-size:16px;transition:border-color .2s}
form>input:focus{box-shadow:0 0 0 3px #e1d4f460;border-color:var(--ink)}
.consent{margin-top:20px;font-size:10px}.consent input{border-radius:4px}.booking-section form>.button{margin-top:23px;width:100%}
.map-placeholder{border-radius:28px 28px 70px 28px}.map-pin{border-radius:20px;transform:none;width:60px;height:60px;background:var(--ink)}.map-pin>.icon{width:35px;height:35px;color:var(--cream);stroke-width:1.45}
.back-top{border-radius:50%;width:44px;height:44px}
dialog{border-radius:26px;padding:42px}.dialog-close{width:33px;height:33px;top:17px;right:17px;background:#30104408;border-radius:50%;font-size:25px;line-height:30px}
.cookie-banner{border-radius:22px}.cookie-actions .outline,.cookie-actions .button{border-radius:999px;min-height:43px;justify-content:center;padding:12px 18px}
.header nav a{position:relative}.header nav a:after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--coral);transform:scaleX(0);transition:transform .2s;transform-origin:left}.header nav a:hover:after{transform:scaleX(1)}
@media(max-width:1100px){.hero-actions{gap:18px;flex-wrap:wrap}.hero-actions .button{padding:9px 11px 9px 22px;font-size:11px;gap:20px;min-height:54px}.service-card h3{font-size:27px}.quick-access strong{font-size:22px}.quick-access>button,.quick-access>a{padding:21px}.dental-seal{right:-18px;width:66px;height:66px}.service-card,.service-card:first-child,.service-card:last-child{padding:24px}}
@media(max-width:800px){.quick-access{gap:13px}.quick-access>button,.quick-access>a{padding:20px 16px}.quick-access strong{font-size:20px}.quick-access .quick-icon{right:12px;top:14px;width:27px;height:27px}.quick-access small{font-size:9px}.service-card,.service-card:first-child,.service-card:last-child{padding:19px;min-height:355px}.service-card h3{font-size:24px}.service-card .service-icon{width:60px;height:60px;right:18px;border-radius:19px}.service-icon>.icon{width:41px;height:41px}.service-grid{gap:12px}.dental-seal{width:57px;height:57px;right:-15px;bottom:20px;border-radius:20px;border-width:4px}.dental-seal>.icon{width:35px;height:35px}.portrait-card{border-radius:26px 26px 62px 26px}.booking-section form{padding:24px}.steps article{padding:24px 19px}.steps h3{font-size:25px}.documents button{padding:17px;font-size:11px;gap:10px}.hero .eyebrow{letter-spacing:1.1px}}
@media(max-width:580px){.header>.button{padding:7px 8px 7px 17px;font-size:10px;gap:9px;min-height:43px}.header>.button>.action-icon{width:27px;height:27px;padding:7px}.header .menu{font-size:24px}.hero-actions{gap:16px;flex-wrap:wrap}.hero-actions .button{padding:9px 10px 9px 23px;min-height:54px;font-size:11px;gap:20px}.hero-note{font-size:10px}.hero-art{margin-right:12px}.portrait-card{border-radius:28px 28px 72px 28px}.dental-seal{right:-20px;width:66px;height:66px;bottom:24px;border-radius:22px}.dental-seal>.icon{width:39px;height:39px}.quick-access{gap:12px}.quick-access>button,.quick-access>a{padding:22px}.quick-access>button>span,.quick-access>a>span{margin-bottom:14px}.quick-access strong{font-size:27px}.quick-access small{font-size:10px}.quick-access .quick-icon{right:20px;top:16px;width:32px;height:32px}.service-grid{gap:16px}.service-card,.service-card:first-child,.service-card:last-child{padding:28px;min-height:345px;border-radius:24px}.service-card h3{font-size:32px;margin-top:85px}.service-card .service-icon{width:70px;height:70px;right:25px;top:48px;border-radius:22px}.service-icon>.icon{width:48px;height:48px}.service-card p{font-size:12px}.medical-warning{font-size:13px}.steps article{padding:25px}.steps article>span{position:static}.steps h3{margin-top:20px}.steps{gap:14px}.documents button{padding:19px 17px;font-size:12px}.booking-section form{padding:25px 21px;border-radius:22px}.consent{font-size:10px}.doctor-copy details{padding-inline:17px}.doctor-photo{border-radius:24px 24px 65px 24px}.map-placeholder{border-radius:24px 24px 60px 24px}dialog{padding:40px 22px;border-radius:23px}.cookie-banner{border-radius:20px}.cookie-actions .outline,.cookie-actions .button{padding:12px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.button:hover,.service-card:hover,.quick-access>button:hover,.quick-access>a:hover{transform:none}}

/* Прозрачный логотип без плашки и перекрывающих украшений. */
.hero-art .portrait-card{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}.hero-art .portrait-card img{mix-blend-mode:normal}.brand-lockup img{background:transparent}

