:root {
      --blue-950:#143f78;
      --blue-900:#174b88;
      --blue-800:#2864aa;
      --blue-650:#2f74bc;
      --blue-500:#64b4dc;
      --blue-300:#a9d7ef;
      --blue-100:#dff1ff;
      --blue-050:#f3fbff;
      --ice:#edf8fd;
      --white:#fff;
      --ink:#102033;
      --muted:#5c6f85;
      --line:rgba(20,63,120,.16);
      --shadow:0 28px 80px rgba(8,47,94,.14);
      --display:"Iowan Old Style","Baskerville","Times New Roman",serif;
      --sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
      --header-h:92px;
      --page-pad:clamp(20px,4.2vw,72px);
      --ease:cubic-bezier(.2,.75,.2,1);
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 18px);overflow-x:clip}
    body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);line-height:1.5;overflow-x:hidden}
    body.is-locked{overflow:hidden}
    img,video{display:block;max-width:100%}
    button,input,textarea{font:inherit}
    button{color:inherit}
    a{color:inherit;text-decoration:none}
    ::selection{background:var(--blue-100);color:var(--blue-950)}

    .skip-link{position:fixed;left:12px;top:10px;z-index:500;padding:10px 14px;background:var(--white);border-radius:999px;transform:translateY(-160%)}
    .skip-link:focus{transform:none}

    .page-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:var(--blue-950);color:var(--white);transition:opacity .65s var(--ease),visibility .65s}
    .page-loader.is-hidden{opacity:0;visibility:hidden}
    .loader-inner{display:grid;justify-items:center;gap:22px}
    .loader-mark{width:104px;height:104px;object-fit:contain;filter:brightness(0) invert(1);opacity:.94}
    .loader-line{width:160px;height:1px;background:rgba(255,255,255,.25);overflow:hidden}
    .loader-line::after{content:"";display:block;width:55%;height:100%;background:var(--white);animation:loader 1.1s var(--ease) infinite}
    @keyframes loader{from{transform:translateX(-120%)}to{transform:translateX(220%)}}

    .site-header{position:fixed;inset:0 0 auto;z-index:100;height:var(--header-h);padding:max(14px,env(safe-area-inset-top)) var(--page-pad) 0;transition:background .35s,border-color .35s,box-shadow .35s,color .35s}
    .site-header::after{content:"";position:absolute;left:var(--page-pad);right:var(--page-pad);bottom:0;height:1px;background:rgba(255,255,255,.38);transition:background .35s}
    .site-header.is-scrolled{background:rgba(255,255,255,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 8px 30px rgba(12,46,84,.08)}
    .site-header.is-scrolled::after{background:var(--line)}
    .header-grid{height:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:34px}
    .brand{display:inline-flex;align-items:center;gap:12px;position:relative;z-index:2}
    .brand img{width:70px;height:70px;object-fit:contain;filter:brightness(0) invert(1);transition:filter .35s}
    .site-header.is-scrolled .brand img,.site-header.menu-active .brand img{filter:none}
    .brand-word{display:none;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px;color:var(--white)}
    .site-header.is-scrolled .brand-word,.site-header.menu-active .brand-word{color:var(--blue-950)}
    .desktop-nav{justify-self:center;display:flex;gap:clamp(18px,2.2vw,38px);align-items:center;color:var(--white);font-size:13px;font-weight:600;letter-spacing:.04em}
    .site-header.is-scrolled .desktop-nav{color:var(--blue-950)}
    .desktop-nav a{position:relative;padding:12px 0}
    .desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:7px;height:1px;background:currentColor;transition:right .35s var(--ease)}
    .desktop-nav a:hover::after,.desktop-nav a:focus-visible::after{right:0}
    .header-actions{display:flex;align-items:center;gap:12px;color:var(--white)}
    .site-header.is-scrolled .header-actions,.site-header.menu-active .header-actions{color:var(--blue-950)}
    .phone-link{font-size:14px;font-weight:700;white-space:nowrap}
    .header-book{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:1px solid currentColor;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;transition:background .3s,color .3s,transform .3s}
    .header-book:hover{background:var(--white);color:var(--blue-950);transform:translateY(-2px)}
    .site-header.is-scrolled .header-book:hover{background:var(--blue-950);color:var(--white)}
    .menu-toggle{display:none;width:48px;height:48px;border:1px solid currentColor;border-radius:50%;background:transparent;cursor:pointer;position:relative}
    .menu-toggle span,.menu-toggle::before,.menu-toggle::after{content:"";position:absolute;left:50%;top:50%;width:20px;height:1px;background:currentColor;transform-origin:center;transition:transform .35s var(--ease),opacity .25s}
    .menu-toggle::before{transform:translate(-50%,-50%) translateY(-6px)}
    .menu-toggle span{transform:translate(-50%,-50%)}
    .menu-toggle::after{transform:translate(-50%,-50%) translateY(6px)}
    .menu-toggle[aria-expanded="true"] span{opacity:0}
    .menu-toggle[aria-expanded="true"]::before{transform:translate(-50%,-50%) rotate(45deg)}
    .menu-toggle[aria-expanded="true"]::after{transform:translate(-50%,-50%) rotate(-45deg)}

    .menu-overlay{position:fixed;inset:0;z-index:90;background:var(--white);visibility:hidden;opacity:0;transition:opacity .4s var(--ease),visibility .4s;padding:calc(var(--header-h) + 54px) var(--page-pad) max(34px,env(safe-area-inset-bottom));overflow:auto}
    .menu-overlay.is-open{visibility:visible;opacity:1}
    .menu-layout{min-height:calc(100vh - var(--header-h) - 90px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:70px;align-items:end}
    .menu-links{display:grid;gap:4px}
    .menu-links a{font-family:var(--display);font-size:clamp(44px,7vw,104px);line-height:.96;color:var(--blue-950);letter-spacing:-.045em;display:flex;align-items:center;gap:18px}
    .menu-links a span{font-family:var(--sans);font-size:11px;letter-spacing:.12em;color:var(--blue-650);width:26px}
    .menu-links a:hover{font-style:italic}
    .menu-side{border-left:1px solid var(--line);padding-left:34px;display:grid;gap:26px}
    .menu-side p{margin:0;color:var(--muted)}
    .menu-side strong{display:block;color:var(--blue-950);margin-bottom:6px}
    .menu-search{display:flex;border-bottom:1px solid var(--blue-950)}
    .menu-search input{width:100%;border:0;outline:0;padding:14px 0;background:transparent;color:var(--ink)}
    .menu-search button{border:0;background:transparent;cursor:pointer;font-size:20px}
    .search-results{display:grid;gap:8px;max-height:210px;overflow:auto}
    .search-result{width:100%;padding:10px 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:var(--ink);font-size:13px;cursor:pointer}

    main{display:block}
    .section{position:relative;padding:clamp(90px,11vw,180px) var(--page-pad)}
    .section-inner{width:min(1520px,100%);margin:0 auto}
    .section-kicker{display:flex;align-items:center;gap:12px;margin:0 0 26px;color:var(--blue-650);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
    .section-kicker::before{content:"";width:32px;height:1px;background:currentColor}
    .display-title{margin:0;font-family:var(--display);font-size:clamp(56px,8.8vw,144px);font-weight:400;line-height:.85;letter-spacing:-.06em;color:var(--blue-950)}
    .display-title em{font-weight:400}
    .body-large{font-size:clamp(19px,2vw,28px);line-height:1.45;color:var(--muted)}
    .text-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-950)}
    .text-link::after{content:"↗";display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--blue-950);border-radius:50%;transition:transform .3s,background .3s,color .3s}
    .text-link:hover::after{transform:rotate(45deg);background:var(--blue-950);color:var(--white)}
    .button{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 26px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:transform .3s,box-shadow .3s,background .3s,color .3s}
    .button:hover{transform:translateY(-3px)}
    .button-primary{background:var(--blue-950);color:var(--white);box-shadow:0 14px 30px rgba(20,63,120,.2)}
    .button-light{background:var(--white);color:var(--blue-950)}
    .button-outline{border:1px solid currentColor;background:transparent}

    .hero{min-height:100svh;padding:0;display:grid;align-items:end;background:var(--blue-950);color:var(--white);overflow:hidden}
    .hero-media{position:absolute;inset:0}
    .hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 42%;transform:scale(1.05);animation:heroZoom 9s var(--ease) forwards}
    @keyframes heroZoom{to{transform:scale(1)}}
    .hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,30,63,.92) 0%,rgba(12,52,98,.66) 42%,rgba(14,49,91,.16) 78%),linear-gradient(0deg,rgba(5,29,57,.62),transparent 46%)}
    .hero-grain{position:absolute;inset:0;opacity:.16;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.26'/%3E%3C/svg%3E")}
    .hero-content{position:relative;z-index:2;width:min(1520px,100%);margin:0 auto;padding:calc(var(--header-h) + 55px) var(--page-pad) clamp(46px,7vw,98px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.45fr);gap:60px;align-items:end}
    .hero-kicker{margin:0 0 22px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;opacity:.82}
    .hero-title{margin:0;max-width:980px;font-family:var(--display);font-size:clamp(65px,9.5vw,158px);font-weight:400;line-height:.78;letter-spacing:-.065em}
    .hero-title .line{display:block;overflow:hidden;padding-bottom:.08em}
    .hero-title .line span{display:block;transform:translateY(115%);animation:titleIn 1.05s var(--ease) forwards}
    .hero-title .line:nth-child(2) span{animation-delay:.12s;font-style:italic;padding-left:clamp(20px,8vw,140px)}
    .hero-title .line:nth-child(3) span{animation-delay:.24s}
    @keyframes titleIn{to{transform:none}}
    .hero-side{display:grid;gap:30px;padding-bottom:8px}
    .hero-side p{margin:0;font-size:clamp(16px,1.4vw,21px);line-height:1.5;color:rgba(255,255,255,.86)}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px}
    .hero-scroll{position:absolute;right:var(--page-pad);bottom:28px;display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;writing-mode:vertical-rl}
    .hero-scroll::after{content:"";width:1px;height:62px;background:rgba(255,255,255,.48)}
    .orb{position:absolute;z-index:1;border:1px solid rgba(255,255,255,.22);border-radius:50%;pointer-events:none}
    .orb.one{width:34vw;height:34vw;right:-10vw;top:14vh;animation:float 12s ease-in-out infinite}
    .orb.two{width:14vw;height:14vw;right:25vw;bottom:-7vw;animation:float 8s ease-in-out infinite reverse}
    @keyframes float{50%{transform:translate3d(0,-18px,0) rotate(4deg)}}

    .marquee{overflow:hidden;background:var(--blue-950);color:var(--white);border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}
    .marquee-track{display:flex;width:max-content;animation:marquee 24s linear infinite}
    .marquee-item{display:flex;align-items:center;gap:32px;padding:22px 34px;font-family:var(--display);font-size:clamp(24px,2.4vw,42px);white-space:nowrap}
    .marquee-item::after{content:"✦";font-family:var(--sans);font-size:14px;color:var(--blue-300)}
    @keyframes marquee{to{transform:translateX(-50%)}}

    .intro{background:var(--white)}
    .intro-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);gap:clamp(50px,8vw,140px);align-items:start}
    .intro-copy{display:grid;gap:38px}
    .intro-copy .body-large{max-width:770px;margin:0}
    .intro-media{position:sticky;top:calc(var(--header-h) + 24px)}
    .image-window{position:relative;overflow:hidden;border-radius:clamp(18px,2vw,32px);clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--ease)}
    .image-window.is-visible{clip-path:inset(0)}
    .image-window img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:59% center;transition:transform 1.5s var(--ease)}
    .image-window:hover img{transform:scale(1.035)}
    .image-caption{display:flex;justify-content:space-between;gap:20px;margin-top:14px;color:var(--muted);font-size:12px}
    .metric-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:clamp(55px,8vw,120px)}
    .metric{padding:30px 28px 0 0;border-right:1px solid var(--line)}
    .metric:last-child{border-right:0;padding-left:28px}
    .metric:nth-child(2){padding-left:28px}
    .metric strong{display:block;font-family:var(--display);font-size:clamp(38px,4vw,68px);font-weight:400;color:var(--blue-950);line-height:1}
    .metric span{display:block;margin-top:9px;color:var(--muted);font-size:13px}

    .philosophy{background:var(--ice);overflow:hidden}
    .philosophy-head{display:grid;grid-template-columns:1fr .65fr;gap:80px;align-items:end;margin-bottom:70px}
    .philosophy-head p{margin:0;max-width:620px}
    .principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
    .principle{min-height:330px;padding:34px 34px 34px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
    .principle:nth-child(2),.principle:nth-child(3){padding-left:34px}
    .principle:last-child{border-right:0}
    .principle-number{font-family:var(--display);font-size:38px;color:var(--blue-500)}
    .principle h3{margin:0 0 16px;font-family:var(--display);font-size:clamp(32px,3vw,52px);font-weight:400;color:var(--blue-950)}
    .principle p{margin:0;color:var(--muted)}

    .journey{background:var(--white)}
    .journey-grid{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.15fr);gap:clamp(60px,10vw,160px)}
    .journey-sticky{position:sticky;top:calc(var(--header-h) + 30px);align-self:start}
    .journey-sticky .body-large{max-width:520px;margin:34px 0}
    .journey-steps{display:grid}
    .journey-step{display:grid;grid-template-columns:82px 1fr;gap:26px;padding:45px 0;border-top:1px solid var(--line)}
    .journey-step:last-child{border-bottom:1px solid var(--line)}
    .journey-step>span{font-family:var(--display);font-size:34px;color:var(--blue-500)}
    .journey-step h3{margin:0 0 14px;font-family:var(--display);font-size:clamp(34px,3.6vw,60px);font-weight:400;color:var(--blue-950)}
    .journey-step p{margin:0;max-width:640px;color:var(--muted);font-size:17px}

    .services{background:var(--blue-950);color:var(--white);overflow:hidden}
    .services .section-kicker{color:var(--blue-300)}
    .services .display-title{color:var(--white);max-width:1250px}
    .services-top{display:grid;grid-template-columns:1fr .46fr;gap:60px;align-items:end}
    .services-top p{margin:0;color:rgba(255,255,255,.7)}
    .service-rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:70px max(var(--page-pad),calc((100vw - 1520px)/2)) 50px;scrollbar-width:none;overscroll-behavior-inline:contain}
    .service-rail::-webkit-scrollbar{display:none}
    .service-card{position:relative;flex:0 0 min(500px,78vw);height:clamp(430px,56vw,670px);padding:36px;border:1px solid rgba(255,255,255,.18);border-radius:28px;overflow:hidden;scroll-snap-align:center;cursor:pointer;background:linear-gradient(160deg,rgba(255,255,255,.11),rgba(255,255,255,.025));transition:transform .45s var(--ease),background .45s}
    .service-card:hover{transform:translateY(-10px);background:linear-gradient(160deg,rgba(255,255,255,.17),rgba(255,255,255,.035))}
    .service-card::before{content:"";position:absolute;width:380px;height:380px;border-radius:50%;right:-190px;bottom:-190px;background:radial-gradient(circle,var(--blue-500),transparent 68%);opacity:.18;transition:transform .5s}
    .service-card:hover::before{transform:scale(1.2)}
    .service-card-index{font-family:var(--display);font-size:34px;color:var(--blue-300)}
    .service-card-body{position:absolute;left:36px;right:36px;bottom:36px}
    .service-card h3{margin:0 0 20px;font-family:var(--display);font-size:clamp(44px,5vw,78px);line-height:.94;font-weight:400;letter-spacing:-.04em}
    .service-card p{margin:0 0 30px;max-width:390px;color:rgba(255,255,255,.7)}
    .service-open{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.2);padding-top:18px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
    .rail-controls{width:min(1520px,calc(100% - var(--page-pad)*2));margin:0 auto;display:flex;justify-content:flex-end;gap:10px}
    .rail-button{width:50px;height:50px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:transparent;color:var(--white);cursor:pointer;transition:background .3s,color .3s}
    .rail-button:hover{background:var(--white);color:var(--blue-950)}

    .team{background:var(--white);overflow:hidden}
    .team-head{display:grid;grid-template-columns:1fr .45fr;gap:50px;align-items:end}
    .team-head p{margin:0;color:var(--muted)}
    .doctor-rail{display:flex;gap:18px;overflow-x:auto;padding:68px max(var(--page-pad),calc((100vw - 1520px)/2)) 40px;scroll-snap-type:x mandatory;scrollbar-width:none}
    .doctor-rail::-webkit-scrollbar{display:none}
    .doctor-card{flex:0 0 min(390px,78vw);scroll-snap-align:start;cursor:pointer}
    .doctor-photo{position:relative;overflow:hidden;border-radius:28px;background:var(--ice);aspect-ratio:4/5}
    .doctor-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .7s var(--ease),filter .5s}
    .doctor-card:hover .doctor-photo img{transform:scale(1.045)}
    .doctor-photo::after{content:"Подробнее ↗";position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--blue-950);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;transform:scale(.72);opacity:0;transition:opacity .35s,transform .35s var(--ease)}
    .doctor-card:hover .doctor-photo::after{opacity:1;transform:scale(1)}
    .doctor-meta{padding:20px 4px 0}
    .doctor-meta h3{margin:0 0 8px;font-family:var(--display);font-size:clamp(30px,2.7vw,46px);font-weight:400;line-height:1;color:var(--blue-950)}
    .doctor-meta p{margin:0;color:var(--muted);font-size:14px}
    .team-controls{width:min(1520px,calc(100% - var(--page-pad)*2));margin:0 auto;display:flex;justify-content:flex-end;gap:10px}
    .team-controls .rail-button{border-color:var(--line);color:var(--blue-950)}
    .team-controls .rail-button:hover{background:var(--blue-950);color:var(--white)}

    .price{background:var(--ice)}
    .price-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(60px,10vw,160px)}
    .price-copy{position:sticky;top:calc(var(--header-h) + 30px);align-self:start}
    .price-copy p{margin:34px 0;color:var(--muted)}
    .price-list{border-top:1px solid var(--line)}
    .price-row{display:grid;grid-template-columns:1fr auto;gap:28px;padding:32px 0;border-bottom:1px solid var(--line);align-items:start}
    .price-row h3{margin:0 0 8px;font-family:var(--display);font-size:clamp(30px,3vw,48px);font-weight:400;color:var(--blue-950)}
    .price-row p{margin:0;color:var(--muted)}
    .price-value{font-family:var(--display);font-size:clamp(28px,3vw,44px);color:var(--blue-950);white-space:nowrap}

    .media-section{padding:0;background:var(--blue-950);color:var(--white)}
    .media-shell{position:relative;min-height:100svh;display:grid;grid-template-columns:.43fr .57fr;overflow:hidden}
    .media-copy{padding:clamp(100px,11vw,170px) var(--page-pad);display:flex;flex-direction:column;justify-content:center;background:var(--blue-950)}
    .media-copy .section-kicker{color:var(--blue-300)}
    .media-copy h2{margin:0;font-family:var(--display);font-size:clamp(56px,7.2vw,118px);font-weight:400;line-height:.86;letter-spacing:-.055em}
    .media-copy p{margin:30px 0 38px;max-width:560px;color:rgba(255,255,255,.7);font-size:18px}
    .media-video{position:relative;min-height:68vh;background:#071b32;overflow:hidden}
    .media-video video{width:100%;height:100%;object-fit:cover}
    .video-overlay{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(0deg,rgba(5,24,48,.42),transparent 50%);pointer-events:none;transition:opacity .3s}
    .video-overlay.is-hidden{opacity:0}
    .play-control{pointer-events:auto;width:116px;height:116px;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:rgba(20,63,120,.44);backdrop-filter:blur(8px);color:var(--white);font-size:22px;cursor:pointer;transition:transform .35s,background .35s}
    .play-control:hover{transform:scale(1.08);background:rgba(20,63,120,.72)}

    /* Дополнительная библиотека роликов в отдельном разделе «Медиа». */
    .standalone-media-library{
      padding:0 var(--page-pad) clamp(82px,9vw,132px);
      border-top:0;
      background:linear-gradient(180deg,var(--blue-950) 0%,#071b32 100%);
    }
    .standalone-media-library-inner{width:min(1520px,100%);margin:0 auto}
    .standalone-media-library-head{
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);
      gap:clamp(32px,6vw,90px);
      align-items:end;
      margin-bottom:clamp(34px,5vw,62px);
    }
    .standalone-media-library-head .section-kicker{color:var(--blue-300)}
    .standalone-media-library-head h3{
      margin:0;
      font-family:var(--display);
      font-size:clamp(46px,5.7vw,86px);
      font-weight:400;
      line-height:.94;
      letter-spacing:-.045em;
      color:var(--white);
    }
    .standalone-media-library-head p{
      margin:0;
      color:rgba(255,255,255,.7);
      font-size:17px;
      line-height:1.75;
    }
    .standalone-media-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(240px,340px));
      justify-content:center;
      gap:clamp(18px,2.4vw,34px);
    }
    .standalone-media-card{width:100%}
    .standalone-doctor-media-page{
      min-height:100svh;
      background:linear-gradient(180deg,var(--blue-950) 0%,#071b32 100%);
      color:var(--white);
    }
    .standalone-doctor-media-page>.standalone-section-head{
      width:min(1520px,calc(100% - var(--page-pad)*2));
      margin-left:auto;
      margin-right:auto;
    }
    .standalone-doctor-media-page .standalone-media-library{border-top:0}
    .standalone-media-doctors{display:grid;gap:clamp(56px,7vw,92px)}
    .standalone-media-doctor-group{display:grid;gap:26px}
    .standalone-media-doctor-head{
      display:flex;
      align-items:center;
      gap:16px;
      padding-bottom:18px;
      border-bottom:1px solid rgba(255,255,255,.14);
    }
    .standalone-media-doctor-avatar{
      width:58px;
      height:58px;
      flex:0 0 auto;
      overflow:hidden;
      border-radius:50%;
      box-shadow:0 0 0 1px rgba(255,255,255,.22);
    }
    .standalone-media-doctor-avatar img{display:block;width:100%;height:100%;object-fit:cover}
    .standalone-media-doctor-head h3{
      margin:0;
      font-family:var(--display);
      font-size:clamp(28px,3vw,42px);
      font-weight:400;
      line-height:1;
      color:var(--white);
    }
    .standalone-media-doctor-head p{margin:7px 0 0;color:rgba(255,255,255,.62);font-size:14px}
    .standalone-doctor-media-page .doctor-media-card{background:#fff;color:var(--blue-950)}
    .standalone-doctor-media-page .doctor-media-author{color:var(--muted)}
    /* В исходных роликах Мамалыги заголовки уже встроены в видеокадр. */
    .mamalyga-media-card .doctor-media-overlay-title,
    .embedded-title-card .doctor-media-overlay-title{display:none}
    .mamalyga-media-card .doctor-media-play{top:48%}
    @media (max-width:980px){
      .standalone-media-library-head{grid-template-columns:1fr}
      .standalone-media-grid{grid-template-columns:repeat(2,minmax(240px,340px))}
    }
    @media (max-width:620px){
      .standalone-media-library{padding:0 20px 72px}
      .standalone-media-grid{grid-template-columns:minmax(0,340px)}
      .standalone-doctor-media-page>.standalone-section-head{width:calc(100% - 40px)}
      .standalone-media-doctor-head{align-items:flex-start}
      .standalone-media-doctor-avatar{width:50px;height:50px}
    }

    .cases{background:var(--white)}

    /* Отдельный раздел «Портфолио»: визуальная система раздела «Медиа». */
    body[data-site-view="portfolio"] #cases{
      min-height:100svh!important;
      background:linear-gradient(180deg,var(--blue-950) 0%,#071b32 100%);
      color:var(--white);
    }
    body[data-site-view="portfolio"] #cases .standalone-section-head{
      border-bottom-color:rgba(255,255,255,.26);
    }
    body[data-site-view="portfolio"] #cases .standalone-section-head .section-kicker{
      color:var(--blue-300);
    }
    body[data-site-view="portfolio"] #cases .standalone-home-link{
      color:var(--white);
    }
    .standalone-portfolio-library{
      display:grid;
      grid-template-columns:repeat(3,minmax(240px,340px));
      justify-content:center;
      align-items:stretch;
      gap:clamp(18px,2.4vw,34px);
      margin-top:clamp(42px,6vw,76px);
      min-width:0;
    }
    /* Контекст сохраняет модификаторы исходного портфолио, но не образует группу врача. */
    .standalone-portfolio-card-context{display:contents}
    .standalone-portfolio-item{
      display:grid;
      grid-template-rows:auto 112px;
      width:100%;
      min-width:0;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.14);
      border-radius:22px;
      background:linear-gradient(145deg,#fff 0%,var(--blue-050) 100%);
      color:var(--blue-950);
      box-shadow:0 24px 70px rgba(1,17,36,.3);
      transition:transform .42s var(--motion-ease),border-color .42s var(--motion-ease),box-shadow .42s var(--motion-ease);
    }
    .standalone-portfolio-item:hover{
      transform:translateY(-4px);
      border-color:rgba(141,199,255,.5);
      box-shadow:0 30px 76px rgba(1,17,36,.42);
    }
    .standalone-portfolio-visual{
      display:flex;
      align-items:center;
      justify-content:center;
      width:100%;
      min-width:0;
      aspect-ratio:1/1;
      overflow:hidden;
      background:#edf3fb;
    }
    .standalone-portfolio-library .doctor-portfolio-card{
      width:100%;
      max-width:none;
      min-width:0;
      margin:0;
      border:0;
      background:transparent;
      box-shadow:none;
    }
    .standalone-portfolio-library .doctor-portfolio-card--yabkovskiy{
      width:100%!important;
      max-width:none!important;
      flex:0 0 auto!important;
    }
    .standalone-portfolio-library .doctor-single-card-carousel,
    .standalone-portfolio-library .doctor-single-card-carousel-viewport{
      min-width:0;
      width:100%;
    }
    .standalone-portfolio-caption{
      display:flex;
      flex-direction:column;
      justify-content:center;
      min-width:0;
      padding:17px 18px 18px;
      border-top:1px solid var(--line);
    }
    .standalone-portfolio-description{
      display:block;
      color:var(--blue-950);
      font-size:16px;
      font-weight:650;
      line-height:1.45;
    }
    .standalone-portfolio-author{
      display:flex;
      align-items:center;
      gap:10px;
      min-width:0;
      margin-top:12px;
      color:var(--muted);
      font-size:14px;
      font-weight:650;
      line-height:1.2;
    }
    .standalone-portfolio-avatar{
      width:30px;
      height:30px;
      flex:0 0 30px;
      overflow:hidden;
      border-radius:50%;
      background:var(--blue-100);
      box-shadow:0 0 0 2px #fff,0 0 0 3px var(--line);
    }
    .standalone-portfolio-avatar img{
      display:block;
      width:100%;
      height:100%;
      object-fit:cover;
    }
    @media (max-width:980px){
      .standalone-portfolio-library{grid-template-columns:repeat(2,minmax(240px,340px))}
    }
    @media (max-width:620px){
      .standalone-portfolio-library{
        grid-template-columns:minmax(0,340px);
        gap:24px;
        margin-top:38px;
      }
      .standalone-portfolio-item{grid-template-rows:auto 106px}
      .standalone-portfolio-caption{padding:15px 16px 16px}
    }

    .cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:65px}
    .case-card{position:relative;min-height:520px;padding:32px;border-radius:28px;overflow:hidden;background:linear-gradient(145deg,var(--blue-100),var(--blue-050));display:flex;flex-direction:column;justify-content:space-between}
    .case-card:nth-child(2){background:linear-gradient(145deg,var(--blue-950),var(--blue-800));color:var(--white);transform:translateY(55px)}
    .case-card:nth-child(3){background:linear-gradient(145deg,#f8fcff,#d8eef8)}
    .case-card::after{content:"";position:absolute;width:260px;height:260px;border:1px solid currentColor;border-radius:50%;opacity:.12;right:-90px;bottom:-80px}
    .case-tag{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-650)}
    .case-card:nth-child(2) .case-tag{color:var(--blue-300)}
    .case-card h3{margin:0 0 16px;font-family:var(--display);font-size:clamp(44px,4.5vw,70px);font-weight:400;line-height:.92;letter-spacing:-.04em}
    .case-card p{margin:0;max-width:360px;color:var(--muted)}
    .case-card:nth-child(2) p{color:rgba(255,255,255,.7)}
    .case-number{font-family:var(--display);font-size:62px;opacity:.3}

    .insights{background:var(--ice)}
    .insight-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(60px,9vw,140px);margin-top:70px}
    .insight-feature{position:sticky;top:calc(var(--header-h) + 30px);align-self:start;padding:38px;border-radius:28px;background:var(--blue-950);color:var(--white);min-height:500px;display:flex;flex-direction:column;justify-content:space-between}
    .insight-feature span{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-300)}
    .insight-feature h3{margin:0;font-family:var(--display);font-size:clamp(46px,5vw,78px);font-weight:400;line-height:.92}
    .insight-feature p{margin:0;color:rgba(255,255,255,.68)}
    .insight-list{border-top:1px solid var(--line)}
    .insight-item{padding:32px 0;border-bottom:1px solid var(--line)}
    .insight-item small{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--blue-650)}
    .insight-item h3{margin:12px 0 10px;font-family:var(--display);font-size:clamp(34px,3.7vw,58px);font-weight:400;color:var(--blue-950)}
    .insight-item p{margin:0;color:var(--muted)}

    .reviews{background:var(--blue-950);color:var(--white);overflow:hidden}
    .reviews .section-kicker{color:var(--blue-300)}
    .reviews .display-title{color:var(--white)}
    .review-rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:65px max(var(--page-pad),calc((100vw - 1520px)/2)) 30px;scrollbar-width:none}
    .review-rail::-webkit-scrollbar{display:none}
    .review-card{flex:0 0 min(650px,86vw);min-height:390px;border:1px solid rgba(255,255,255,.2);border-radius:28px;padding:38px;display:flex;flex-direction:column;justify-content:space-between;scroll-snap-align:center}
    .review-stars{color:var(--blue-300);letter-spacing:.2em}
    .review-card blockquote{margin:40px 0;font-family:var(--display);font-size:clamp(30px,3.5vw,52px);line-height:1.08;font-weight:400}
    .review-card cite{font-style:normal;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.65)}
    .reviews-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
    .reviews-note{max-width:620px;margin:22px 0 0;color:rgba(255,255,255,.66);font-size:15px;line-height:1.6}
    .review-carousel-controls{display:flex;align-items:center;gap:12px;padding-bottom:8px;flex:0 0 auto}
    .review-carousel-arrow{width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.05);color:#fff;font-size:25px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}
    .review-carousel-arrow:hover,.review-carousel-arrow:focus-visible{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.72);transform:translateY(-1px);outline:none}
    .review-carousel-count{min-width:64px;text-align:center;font-size:12px;font-weight:800;letter-spacing:.08em;color:rgba(255,255,255,.7)}
    .review-card blockquote{overflow-wrap:anywhere}
    @media(max-width:760px){.reviews-head{align-items:flex-start;flex-direction:column;gap:24px}.review-carousel-controls{align-self:flex-end;padding-bottom:0}.reviews-note{margin-top:16px}.review-carousel-arrow{width:48px;height:48px}}

    .contact{background:var(--white);padding-bottom:0}
    .contact-top{display:grid;grid-template-columns:1fr .55fr;gap:60px;align-items:end;margin-bottom:70px}
    .contact-top p{margin:0;color:var(--muted)}
    .contact-layout{display:grid;grid-template-columns:.82fr 1.18fr;min-height:760px;margin:0 calc(var(--page-pad)*-1)}
    .contact-panel{padding:clamp(54px,7vw,100px) var(--page-pad);background:var(--blue-950);color:var(--white)}
    .contact-list{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.22);margin-bottom:45px}
    .contact-item{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:23px 0;border-bottom:1px solid rgba(255,255,255,.22)}
    .contact-item strong{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-300)}
    .contact-item a,.contact-item span{font-family:var(--display);font-size:clamp(20px,2vw,30px);line-height:1.2}
    .contact-form{display:grid;gap:24px}
    .field{display:grid;gap:9px}
    .field label{font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--blue-300)}
    .field input,.field textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.42);border-radius:0;background:transparent;color:var(--white);outline:0;padding:13px 0;font-size:18px}
    .field textarea{min-height:104px;resize:vertical}
    .field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.45)}
    .field input:focus,.field textarea:focus{border-color:var(--white)}
    .form-honeypot{position:absolute!important;left:-9999px!important}
    #form-status{min-height:24px;margin:0;color:var(--blue-100);font-size:13px}
    .map-panel{display:grid;grid-template-rows:1fr auto;background:var(--ice)}
    .map-frame{min-height:650px;filter:grayscale(1) contrast(.92);transition:filter .4s}
    .map-frame:hover{filter:grayscale(.35)}
    .map-frame iframe{width:100%;height:100%;border:0}
    .map-link{display:flex;align-items:center;justify-content:space-between;padding:24px 30px;color:var(--blue-950);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
    .map-link span:last-child{font-size:20px}

    /* Связанная боковая запись из профиля Жиркова */
    .booking-drawer{
      position:fixed;
      inset:0;
      z-index:560;
      visibility:hidden;
      opacity:0;
      pointer-events:none;
      transition:opacity .38s var(--ease),visibility .38s;
    }
    .booking-drawer.is-open{visibility:visible;opacity:1;pointer-events:auto}
    .booking-drawer-backdrop{
      position:absolute;
      inset:0;
      border:0;
      background:rgba(5,29,57,.58);
      backdrop-filter:blur(8px);
      -webkit-backdrop-filter:blur(8px);
      cursor:pointer;
    }
    .booking-drawer-panel{
      position:absolute;
      top:0;
      right:0;
      display:flex;
      flex-direction:column;
      width:min(560px,100%);
      height:100%;
      overflow-y:auto;
      overscroll-behavior:contain;
      padding:clamp(30px,4vw,54px);
      padding-top:max(clamp(30px,4vw,54px),env(safe-area-inset-top));
      padding-bottom:max(clamp(30px,4vw,54px),env(safe-area-inset-bottom));
      background:linear-gradient(160deg,var(--blue-950) 0%,#0b315f 100%);
      color:var(--white);
      box-shadow:-30px 0 90px rgba(2,18,38,.3);
      transform:translate3d(100%,0,0);
      transition:transform .58s cubic-bezier(.22,.8,.26,1);
    }
    .booking-drawer.is-open .booking-drawer-panel{transform:translate3d(0,0,0)}
    .booking-drawer-close{
      position:absolute;
      top:max(22px,env(safe-area-inset-top));
      right:24px;
      z-index:2;
      width:50px;
      height:50px;
      border:1px solid rgba(255,255,255,.24);
      border-radius:50%;
      background:rgba(255,255,255,.08);
      color:var(--white);
      cursor:pointer;
      transition:background .3s var(--ease),transform .3s var(--ease);
    }
    .booking-drawer-close::before,.booking-drawer-close::after{
      content:"";
      position:absolute;
      left:50%;
      top:50%;
      width:19px;
      height:1px;
      background:currentColor;
    }
    .booking-drawer-close::before{transform:translate(-50%,-50%) rotate(45deg)}
    .booking-drawer-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
    .booking-drawer-close:hover,.booking-drawer-close:focus-visible{background:rgba(255,255,255,.16);transform:rotate(3deg)}
    .booking-drawer-close:focus-visible{outline:2px solid var(--blue-300);outline-offset:4px}
    .booking-drawer-head{padding-right:72px;margin-bottom:32px}
    .booking-drawer .section-kicker{margin-bottom:20px;color:var(--blue-300)}
    .booking-drawer-title{
      margin:0;
      font-family:var(--display);
      font-size:clamp(46px,5vw,72px);
      font-weight:400;
      line-height:.92;
      letter-spacing:-.04em;
      color:var(--white);
    }
    .booking-drawer-copy{margin:20px 0 0;color:rgba(255,255,255,.68);font-size:16px;line-height:1.65}
    .booking-doctor-card{
      display:grid;
      grid-template-columns:56px minmax(0,1fr);
      gap:15px;
      align-items:center;
      margin-bottom:30px;
      padding:15px;
      border:1px solid rgba(255,255,255,.18);
      border-radius:18px;
      background:rgba(255,255,255,.07);
    }
    .booking-doctor-card img{display:block;width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:center top}
    .booking-doctor-label{display:block;margin-bottom:3px;color:var(--blue-300);font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
    .booking-doctor-name{display:block;font-family:var(--display);font-size:22px;line-height:1.15;color:var(--white)}
    .booking-drawer .contact-list{margin-bottom:32px}
    .booking-drawer .contact-item{grid-template-columns:86px 1fr;gap:18px;padding:17px 0}
    .booking-drawer .contact-item a,.booking-drawer .contact-item span{font-size:clamp(18px,2vw,24px)}
    .booking-drawer-form{display:grid;gap:21px}
    .booking-drawer-form .button{width:100%;justify-content:center;margin-top:2px}
    .booking-drawer-status{min-height:24px;margin:0;color:var(--blue-100);font-size:13px;line-height:1.45}
    .booking-drawer-contact-link{
      display:inline-flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      width:100%;
      margin-top:22px;
      padding:17px 0 0;
      border-top:1px solid rgba(255,255,255,.2);
      color:rgba(255,255,255,.78);
      font-size:11px;
      font-weight:800;
      letter-spacing:.1em;
      text-transform:uppercase;
      cursor:pointer;
    }
    .booking-drawer-contact-link::after{content:"↗";font-size:19px;color:var(--white)}
    .booking-drawer-contact-link:hover,.booking-drawer-contact-link:focus-visible{color:var(--white)}
    .booking-drawer-contact-link:focus-visible{outline:2px solid var(--blue-300);outline-offset:6px;border-radius:2px}
    @media (max-width:620px){
      .booking-drawer-panel{width:100%;padding:28px 20px 34px}
      .booking-drawer-close{right:18px;top:max(18px,env(safe-area-inset-top));width:46px;height:46px}
      .booking-drawer-head{padding-right:62px;margin-bottom:26px}
      .booking-drawer-title{font-size:clamp(42px,13vw,58px)}
      .booking-drawer-copy{font-size:15px}
      .booking-drawer .contact-item{grid-template-columns:72px 1fr}
    }
    @media (prefers-reduced-motion:reduce){
      .booking-drawer,.booking-drawer-panel{transition:none}
    }

    .site-footer{background:var(--blue-950);color:var(--white);padding:65px var(--page-pad) max(38px,env(safe-area-inset-bottom))}
    .footer-inner{width:min(1520px,100%);margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
    .footer-logo{width:128px;filter:brightness(0) invert(1);margin-bottom:24px}
    .footer-copy{margin:0;max-width:520px;color:rgba(255,255,255,.62)}
    .footer-side{text-align:right;color:rgba(255,255,255,.62);font-size:12px}
    .footer-side a{display:block;color:var(--white);font-size:20px;margin-bottom:8px}

    .floating-book{position:fixed;left:max(20px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));z-index:80;width:88px;height:88px;border:0;border-radius:50%;background:var(--blue-650);color:var(--white);box-shadow:0 14px 40px rgba(20,63,120,.34);cursor:pointer;font-size:10px;font-weight:800;line-height:1.2;letter-spacing:.07em;text-transform:uppercase;animation:pulse 2.3s ease-out infinite;transition:transform .3s,background .3s}
    .floating-book:hover{transform:scale(1.08);background:var(--blue-950)}
    @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(100,180,220,.55),0 14px 40px rgba(20,63,120,.34)}70%{box-shadow:0 0 0 20px rgba(100,180,220,0),0 14px 40px rgba(20,63,120,.34)}100%{box-shadow:0 0 0 0 rgba(100,180,220,0),0 14px 40px rgba(20,63,120,.34)}}

    .detail-overlay{position:fixed;inset:0;z-index:300;background:rgba(7,27,52,.64);backdrop-filter:blur(10px);visibility:hidden;opacity:0;transition:opacity .45s var(--ease),visibility .45s}
    .detail-overlay.is-open{visibility:visible;opacity:1}
    .detail-sheet{position:absolute;inset:18px;overflow:auto;background:var(--white);border-radius:32px;transform:translateY(35px) scale(.985);opacity:0;transition:transform .55s var(--ease),opacity .45s}
    .detail-overlay.is-open .detail-sheet{transform:none;opacity:1}
    .detail-close{position:sticky;top:22px;z-index:5;float:right;margin:22px 22px 0 0;width:54px;height:54px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.92);cursor:pointer;font-size:22px}
    .detail-content{padding:clamp(75px,9vw,140px) clamp(24px,7vw,110px)}
    .detail-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.65fr);gap:70px;align-items:end;padding-bottom:70px;border-bottom:1px solid var(--line)}
    .detail-title{margin:0;font-family:var(--display);font-size:clamp(58px,8vw,130px);font-weight:400;line-height:.84;letter-spacing:-.055em;color:var(--blue-950)}
    .detail-lead{margin:0;color:var(--muted);font-size:clamp(18px,1.8vw,25px)}
    .detail-body{display:grid;grid-template-columns:.55fr 1.45fr;gap:70px;padding-top:65px}
    .detail-aside{position:sticky;top:30px;align-self:start}
    .detail-photo{position:relative;border-radius:24px;overflow:hidden;background:var(--ice);margin-bottom:24px}
    .detail-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}
    .doctor-photo-play{position:absolute;left:50%;top:50%;z-index:2;width:86px;height:86px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 14px 38px rgba(7,27,52,.22);cursor:pointer;transform:translate(-50%,-50%);transition:transform .3s var(--ease),background .3s,box-shadow .3s}
    .doctor-photo-play::before{content:"";position:absolute;left:52%;top:50%;width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:19px solid var(--blue-950);transform:translate(-40%,-50%)}
    .doctor-photo-play:hover,.doctor-photo-play:focus-visible{background:var(--white);box-shadow:0 18px 46px rgba(7,27,52,.3);transform:translate(-50%,-50%) scale(1.08)}
    .doctor-photo-play:focus-visible{outline:3px solid var(--blue-500);outline-offset:4px}
    .detail-role{margin:0 0 24px;color:var(--muted)}
    .detail-list{border-top:1px solid var(--line)}
    .detail-item{display:grid;grid-template-columns:72px 1fr;gap:20px;padding:30px 0;border-bottom:1px solid var(--line)}
    .detail-item>span{font-family:var(--display);font-size:28px;color:var(--blue-500)}
    .detail-item h3{margin:0 0 9px;font-family:var(--display);font-size:clamp(30px,3vw,48px);font-weight:400;color:var(--blue-950)}
    .detail-item p{margin:0;color:var(--muted)}
    .detail-note{margin-top:35px;padding:24px;border-radius:18px;background:var(--ice);color:var(--muted)}


    /* Индивидуальная страница врача: Жирков Илья Алексеевич */
    .doctor-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
    .doctor-actions .button{flex:1 1 190px;min-width:0;padding-left:20px;padding-right:20px}
    .doctor-profile-content{display:grid;gap:28px}
    .doctor-profile-block{padding:clamp(28px,4vw,52px);border:1px solid var(--line);border-radius:26px;background:linear-gradient(145deg,#fff 0%,var(--blue-050) 100%);box-shadow:0 24px 70px rgba(20,63,120,.07)}
    .doctor-profile-block .section-kicker{margin-bottom:20px}
    .doctor-profile-block h3{margin:0 0 18px;font-family:var(--display);font-size:clamp(34px,4vw,58px);font-weight:400;line-height:1;color:var(--blue-950)}
    .doctor-profile-block p{margin:0;color:var(--muted);font-size:17px;line-height:1.78}
    .doctor-profile-block p+p{margin-top:16px}
    .doctor-education-timeline{display:grid;gap:16px;margin-top:28px}
    .doctor-education-entry{position:relative;padding:24px 26px 24px 30px;border-left:3px solid var(--blue-500);border-radius:0 18px 18px 0;background:rgba(255,255,255,.78)}
    .doctor-education-entry strong{display:block;margin-bottom:8px;color:var(--blue-950);font-family:var(--display);font-size:clamp(24px,2.5vw,34px);font-weight:400;line-height:1.1}
    .doctor-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}
    .doctor-course-card{padding:25px;border-radius:20px;background:var(--white);border:1px solid var(--line)}
    .doctor-course-card h4{margin:0 0 12px;font-family:var(--display);font-size:clamp(24px,2.2vw,34px);font-weight:400;line-height:1.05;color:var(--blue-950)}
    .doctor-course-card p{font-size:15px;line-height:1.7}

    .diplomas-section{min-height:100svh;padding:clamp(110px,10vw,170px) var(--page-pad);background:linear-gradient(180deg,var(--blue-050),#fff)}
    .diplomas-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.65fr);gap:clamp(35px,6vw,90px);align-items:end;margin-bottom:56px}
    .diplomas-head-copy{color:var(--muted);font-size:17px;line-height:1.75}
    .diplomas-document{padding:clamp(22px,3vw,34px);border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.86);box-shadow:0 24px 70px rgba(20,63,120,.08)}
    .diplomas-document-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
    .diplomas-document-top h3{margin:0;font-family:var(--display);font-size:clamp(30px,3vw,48px);font-weight:400;color:var(--blue-950)}
    .diplomas-document-top p{margin:8px 0 0;color:var(--muted)}
    .diplomas-viewer{overflow:hidden;min-height:68vh;border:1px solid var(--line);border-radius:20px;background:#eef3f8}
    .diplomas-viewer iframe{display:block;width:100%;height:72vh;border:0;background:#eef3f8}
    .diplomas-note{margin-top:18px;color:var(--muted);font-size:14px;line-height:1.6}

    .doctor-video-overlay{position:fixed;inset:0;z-index:420;display:grid;place-items:center;padding:24px;background:rgba(5,22,43,.84);backdrop-filter:blur(12px);visibility:hidden;opacity:0;transition:opacity .35s var(--ease),visibility .35s}
    .doctor-video-overlay.is-open{visibility:visible;opacity:1}
    .doctor-video-dialog{position:relative;width:min(430px,calc((100vh - 76px) * .5625),100%);padding:14px;border-radius:26px;background:var(--white);box-shadow:0 35px 110px rgba(0,0,0,.32);transform:translateY(24px) scale(.985);transition:transform .4s var(--ease)}
    .doctor-video-overlay.is-open .doctor-video-dialog{transform:none}
    .doctor-video-frame{overflow:hidden;border-radius:18px;background:#071b32;aspect-ratio:9/16}
    .doctor-video-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#071b32}
    .doctor-video-close{position:absolute;right:24px;top:24px;z-index:2;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 10px 30px rgba(0,0,0,.16);cursor:pointer}
    .doctor-video-close::before,.doctor-video-close::after{content:"";position:absolute;left:50%;top:50%;width:20px;height:2px;background:var(--blue-950);border-radius:2px;transform-origin:center}
    .doctor-video-close::before{transform:translate(-50%,-50%) rotate(45deg)}
    .doctor-video-close::after{transform:translate(-50%,-50%) rotate(-45deg)}

    @media (max-width:900px){
      .doctor-course-grid{grid-template-columns:1fr}
      .doctor-diplomas-popup{position:fixed;left:16px;right:16px;top:92px;bottom:16px;inset:auto 16px 16px 16px;overflow:auto}
    }
    @media (max-width:640px){
      .doctor-diplomas-popup-head{align-items:flex-start}
      .doctor-diplomas-footer{flex-direction:column;align-items:stretch}
      .doctor-diplomas-nav{justify-content:space-between}
      .doctor-diplomas-page{text-align:center}
    }
    @media (max-width:520px){
      .doctor-actions{display:grid;grid-template-columns:1fr}
      .doctor-actions .button{width:100%}
      .doctor-profile-block{padding:25px 20px;border-radius:20px}
      .doctor-video-overlay{padding:10px}
      .doctor-video-dialog{width:min(390px,calc((100vh - 36px) * .5625),100%);padding:8px;border-radius:18px}
      .doctor-video-frame{border-radius:13px}
      .doctor-video-close{right:16px;top:16px;width:42px;height:42px}
    }

    [data-reveal]{opacity:0;transform:translateY(42px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
    [data-reveal="left"]{transform:translateX(-45px)}
    [data-reveal="right"]{transform:translateX(45px)}
    [data-reveal].is-visible{opacity:1;transform:none}
    [data-reveal-delay="1"]{transition-delay:.12s}[data-reveal-delay="2"]{transition-delay:.24s}[data-reveal-delay="3"]{transition-delay:.36s}

    @media (max-width:1180px){
      :root{--header-h:82px}
      .desktop-nav,.phone-link{display:none}.menu-toggle{display:block}.brand img{width:62px;height:62px}
      .hero-content{grid-template-columns:1fr;gap:32px}.hero-side{max-width:600px}.hero-scroll{display:none}
      .philosophy-head,.services-top,.team-head,.contact-top{grid-template-columns:1fr;gap:34px}
      .media-shell{grid-template-columns:1fr}.media-video{min-height:72vw;max-height:760px}.media-photo-slot{min-height:auto!important;height:auto!important;aspect-ratio:3/2;max-height:none}
      .contact-layout{grid-template-columns:1fr;margin:0 calc(var(--page-pad)*-1)}.map-frame{min-height:520px}
    }

    @media (max-width:820px){
      :root{--page-pad:20px;--header-h:76px}
      .site-header{padding-top:max(8px,env(safe-area-inset-top))}.site-header::after{left:20px;right:20px}.brand img{width:56px;height:56px}.header-book{display:none}
      .menu-layout{grid-template-columns:1fr;align-items:start;gap:40px}.menu-links a{font-size:clamp(44px,14vw,72px)}.menu-side{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}
      .hero-media img{object-position:59% center}.hero-media::after{background:linear-gradient(90deg,rgba(5,29,59,.88),rgba(9,39,75,.32)),linear-gradient(0deg,rgba(5,29,57,.82),transparent 60%)}
      .hero-content{padding-left:20px;padding-right:20px}.hero-title{font-size:clamp(60px,18vw,104px)}.hero-title .line:nth-child(2) span{padding-left:20px}
      .section{padding:90px 20px}.display-title{font-size:clamp(54px,16vw,94px)}
      .intro-grid,.journey-grid,.price-layout,.insight-layout{grid-template-columns:1fr;gap:55px}.intro-media,.journey-sticky,.price-copy,.insight-feature{position:relative;top:auto}.image-window img{aspect-ratio:1/1.15}
      .metric-row{grid-template-columns:1fr}.metric,.metric:nth-child(2),.metric:last-child{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}
      .principles{grid-template-columns:1fr}.principle,.principle:nth-child(2),.principle:nth-child(3){min-height:260px;padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}
      .journey-step{grid-template-columns:55px 1fr;gap:15px;padding:34px 0}
      .service-rail,.doctor-rail,.review-rail{padding-left:20px;padding-right:20px}.service-card{height:540px;padding:26px}.service-card-body{left:26px;right:26px;bottom:26px}
      .cases-grid{grid-template-columns:1fr}.case-card{min-height:420px}.case-card:nth-child(2){transform:none}
      .insight-feature{min-height:420px}
      .media-copy{padding:90px 20px}.media-video{min-height:70vh}.media-photo-slot{min-height:auto!important;height:auto!important;aspect-ratio:4/3;max-height:none;border-radius:24px;overflow:hidden}.media-photo-slot .media-photo-carousel{position:absolute;inset:0}.media-photo-slot .media-carousel-track{position:absolute;inset:0}.play-control{width:92px;height:92px}
      .price-row{grid-template-columns:1fr}.price-value{font-size:30px}
      .contact-layout{margin:0 -20px}.contact-panel{padding:70px 20px}.contact-item{grid-template-columns:1fr;gap:8px}.map-frame{min-height:480px}
      .footer-inner{grid-template-columns:1fr}.footer-side{text-align:left}
      .detail-sheet{inset:8px;border-radius:22px}.detail-content{padding:70px 22px}.detail-hero,.detail-body{grid-template-columns:1fr;gap:35px}.detail-aside{position:relative;top:auto}.detail-photo{max-width:390px}.detail-item{grid-template-columns:52px 1fr}
      .floating-book{width:74px;height:74px;font-size:9px}
    }

    @media (max-width:520px){
      .hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{width:100%}.hero-side{gap:22px}
      .service-card{flex-basis:86vw;height:500px}.doctor-card{flex-basis:82vw}.review-card{flex-basis:89vw;padding:28px}
      .rail-controls,.team-controls{display:none}
      .contact-top{margin-bottom:45px}.map-frame{min-height:420px}
    }

    @media (prefers-reduced-motion:reduce){
      html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-title .line span{transform:none}[data-reveal]{opacity:1;transform:none}.image-window{clip-path:none}
    }


    /* Motion upgrade: immersive video hero, adaptive header and horizontal team story */
    :root{--header-h:116px;--ease:cubic-bezier(.16,1,.3,1)}
    body{background:var(--white);text-rendering:optimizeLegibility;overflow-x:clip}
    .site-header{height:var(--header-h);padding-top:max(16px,env(safe-area-inset-top));color:var(--white);background:rgba(7,31,61,0);transition:background-color .9s var(--ease),color .75s var(--ease),box-shadow .9s var(--ease),backdrop-filter .9s var(--ease)}
    .site-header::after{background:rgba(255,255,255,.42);transition:background-color .8s var(--ease),opacity .8s var(--ease)}
    .site-header[data-theme="hero"]{background:linear-gradient(180deg,rgba(5,25,49,.38),rgba(5,25,49,0));color:var(--white);box-shadow:none}
    .site-header[data-theme="dark"]{background:rgba(9,39,76,.72);color:var(--white);box-shadow:0 16px 42px rgba(4,25,49,.12);backdrop-filter:blur(20px) saturate(128%);-webkit-backdrop-filter:blur(20px) saturate(128%)}
    .site-header[data-theme="light"]{background:rgba(248,252,255,.88);color:var(--blue-950);box-shadow:0 16px 42px rgba(13,53,96,.08);backdrop-filter:blur(20px) saturate(128%);-webkit-backdrop-filter:blur(20px) saturate(128%)}
    .site-header[data-theme="light"]::after{background:rgba(20,63,120,.16)}
    .site-header[data-theme="dark"]::after,.site-header[data-theme="hero"]::after{background:rgba(255,255,255,.34)}
    .site-header .desktop-nav,.site-header .header-actions,.site-header .brand-word{color:inherit!important}
    .site-header[data-theme="light"] .brand img,.site-header.menu-active .brand img{filter:none}
    .site-header[data-theme="dark"] .brand img,.site-header[data-theme="hero"] .brand img{filter:brightness(0) invert(1)}
    .site-header.menu-active{background:rgba(255,255,255,.96)!important;color:var(--blue-950)!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
    .header-grid{gap:44px}
    .brand img{width:112px;height:84px;transition:filter .75s var(--ease),transform .75s var(--ease)}
    .brand:hover img{transform:scale(1.035)}
    .desktop-nav{font-size:14.5px;gap:clamp(22px,2.35vw,44px);letter-spacing:.045em}
    .phone-link{font-size:15.5px}
    .header-book{min-height:52px;padding:0 24px;font-size:13px}
    .menu-toggle{width:54px;height:54px}

    .hero{height:100svh;min-height:720px;isolation:isolate}
    .hero-media{position:absolute;inset:-7%;will-change:transform;transform:scale(1.06);overflow:hidden}
    .hero-media video{width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.92) contrast(1.03);transform:scale(1.018);animation:heroVideoBreath 14s ease-in-out infinite alternate}
    @keyframes heroVideoBreath{to{transform:scale(1.055)}}
    .hero-media::after{background:linear-gradient(90deg,rgba(4,25,53,.92) 0%,rgba(8,41,82,.64) 42%,rgba(11,49,92,.16) 78%),linear-gradient(0deg,rgba(4,25,52,.75),transparent 55%),linear-gradient(180deg,rgba(4,25,52,.22),transparent 30%)}
    .hero-content{will-change:transform,opacity;padding-top:calc(var(--header-h) + 74px);padding-bottom:clamp(52px,7vw,104px)}
    .hero-kicker,.hero-side{opacity:0;transform:translateY(34px)}
    .hero-title .line span{animation:none;transform:translateY(116%)}
    body.page-ready .hero-title .line span{animation:titleIn 1.45s var(--ease) forwards}
    body.page-ready .hero-title .line:nth-child(2) span{animation-delay:.14s}
    body.page-ready .hero-title .line:nth-child(3) span{animation-delay:.28s}
    body.page-ready .hero-kicker,body.page-ready .hero-side{animation:heroCopyIn 1.35s .42s var(--ease) forwards}
    body.page-ready .hero-side{animation-delay:.58s}
    @keyframes heroCopyIn{to{opacity:1;transform:none}}
    .hero-scroll::after{transform-origin:top;animation:scrollPulse 2.5s ease-in-out infinite}
    @keyframes scrollPulse{0%,100%{transform:scaleY(.28);opacity:.45}50%{transform:scaleY(1);opacity:1}}

    .section{padding-top:clamp(120px,13vw,210px);padding-bottom:clamp(120px,13vw,210px)}
    .intro,.philosophy,.journey,.services,.price,.cases,.insights,.reviews,.contact{min-height:100svh}
    [data-reveal]{opacity:0;filter:blur(9px);transform:translate3d(0,68px,0) scale(.985);transition:opacity 1.35s var(--ease),transform 1.45s var(--ease),filter 1.25s var(--ease);will-change:transform,opacity,filter}
    [data-reveal="left"]{transform:translate3d(-70px,28px,0) scale(.985)}
    [data-reveal="right"]{transform:translate3d(70px,28px,0) scale(.985)}
    [data-reveal].is-visible{opacity:1;filter:blur(0);transform:none}
    [data-reveal-delay="1"]{transition-delay:.16s}[data-reveal-delay="2"]{transition-delay:.32s}[data-reveal-delay="3"]{transition-delay:.48s}
    .image-window{transition:clip-path 1.65s var(--ease)}
    .image-window img{transition:transform 2s var(--ease)}
    .service-card{transition:transform .9s var(--ease),background .9s var(--ease),border-color .9s var(--ease)}

    .team{position:relative;height:var(--team-scroll-height,360vh);min-height:100svh;background:var(--white);overflow:clip}
    .team-sticky{position:sticky;top:0;height:100svh;min-height:720px;padding:calc(var(--header-h) + 24px) 0 38px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
    .team-head{width:min(1520px,calc(100% - var(--page-pad)*2));display:grid;grid-template-columns:1fr .48fr;gap:60px;align-items:end;margin:0 auto}
    .team-intro{display:grid;gap:22px;align-content:end}
    .team-intro .body-large{margin:0;color:var(--muted)}
    .wheel-hint{display:flex;align-items:center;gap:12px;color:var(--blue-650);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
    .wheel-hint::before{content:"";width:34px;height:1px;background:currentColor}
    .doctor-viewport{width:100%;overflow:hidden;padding-left:max(var(--page-pad),calc((100vw - 1520px)/2));will-change:transform}
    .doctor-rail{display:flex;width:max-content;gap:22px;overflow:visible!important;padding:26px max(var(--page-pad),calc((100vw - 1520px)/2)) 8px 0!important;scroll-snap-type:none!important;transform:translate3d(var(--team-x,0px),0,0);will-change:transform}
    .doctor-card{flex:0 0 clamp(300px,24vw,410px);scroll-snap-align:none;transform:translate3d(0,var(--doctor-lift,0px),0) rotate(var(--doctor-tilt,0deg));transform-origin:center bottom;will-change:transform,opacity;transition:opacity .32s linear}
    .doctor-photo{border-radius:30px;box-shadow:0 24px 70px rgba(15,55,99,.11)}
    .doctor-photo img{transition:transform 1.05s var(--ease),filter .85s var(--ease)}
    .team-progress{width:min(1520px,calc(100% - var(--page-pad)*2));margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.12em}
    .team-progress-track{height:1px;background:var(--line);overflow:hidden}
    .team-progress-track i{display:block;width:100%;height:100%;background:var(--blue-650);transform:scaleX(0);transform-origin:left;will-change:transform}
    .team-controls{display:none!important}

    .media-video video{pointer-events:none}
    .video-overlay{display:none!important}

    @media (max-width:1180px){
      :root{--header-h:96px}
      .brand img{width:90px;height:68px}.desktop-nav,.phone-link{display:none}.menu-toggle{display:block}
      .team-head{grid-template-columns:1fr .58fr}
    }
    @media (max-width:820px){
      :root{--header-h:84px}
      .site-header{padding-top:max(7px,env(safe-area-inset-top))}.brand img{width:76px;height:58px}.menu-toggle{width:50px;height:50px}
      .hero{min-height:660px}.hero-media{inset:-4%}.hero-media video{object-position:57% center}.hero-content{padding-top:calc(var(--header-h) + 64px)}
      .section{padding-top:105px;padding-bottom:105px}
      .team{height:auto!important;min-height:0;overflow:hidden}
      .team-sticky{position:relative;top:auto;height:auto;min-height:0;padding:115px 0 92px;display:block;overflow:visible}
      .team-head{width:auto;margin:0 20px 48px;grid-template-columns:1fr;gap:30px}.wheel-hint{display:none}
      .doctor-viewport{overflow:visible;padding:0}
      .doctor-rail{width:auto;overflow-x:auto!important;padding:0 20px 28px!important;scroll-snap-type:x mandatory!important;transform:none!important;overscroll-behavior-inline:contain;scrollbar-width:none}
      .doctor-rail::-webkit-scrollbar{display:none}.doctor-card{flex:0 0 82vw;scroll-snap-align:center;transform:none!important;opacity:1!important}
      .team-progress{display:none}
      [data-reveal="left"],[data-reveal="right"]{transform:translate3d(0,58px,0) scale(.985)}
    }
    @media (prefers-reduced-motion:reduce){
      .team{height:auto!important}.team-sticky{position:relative;height:auto;min-height:0;padding:110px 0}.doctor-viewport{overflow:auto}.doctor-rail{width:max-content;transform:none!important;overflow-x:auto!important}.team-progress{display:none}
      .hero-media,.hero-content{transform:none!important}.hero-media video{animation:none}.hero-kicker,.hero-side,.hero-title .line span{opacity:1;transform:none!important;animation:none!important}
    }


    /* Horizontal team fit and sticky behavior refinements */
    .team{overflow:visible}
    .team-sticky{padding-top:calc(var(--header-h) + 10px);padding-bottom:24px}
    .team .display-title{font-size:clamp(54px,6.35vw,104px);line-height:.86}
    .team-head{gap:44px}
    .doctor-rail{padding-top:16px!important;padding-bottom:4px!important}
    .doctor-card{flex-basis:clamp(280px,21vw,350px)}
    .team-progress{padding-top:4px}
    @media (max-width:820px){
      .team{overflow:hidden}
      .team .display-title{font-size:clamp(54px,16vw,94px)}
      [data-reveal]{filter:none;transition-duration:1.05s}
    }


    .team .doctor-meta h3{font-size:clamp(28px,2.25vw,38px);line-height:1.02}
    .team .doctor-meta p{font-size:13px}


    @media (max-width:820px){.floating-book{width:66px;height:66px;left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));font-size:8px}}

  

    /* Stable scroll-driven horizontal scenes */
    html{scroll-behavior:auto}
    body{overscroll-behavior-y:auto}
    .marquee{display:none!important}
    .horizontal-section{position:relative;height:var(--scene-height,100svh);min-height:100svh;padding:0!important;overflow:visible!important}
    .horizontal-sticky{position:sticky!important;top:0!important;height:100svh!important;min-height:720px!important;padding:calc(var(--header-h) + 22px) 0 26px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;overflow:hidden!important}
    .services .horizontal-sticky{background:var(--blue-950);color:var(--white)}
    .team .horizontal-sticky{background:var(--white);color:var(--ink)}
    .horizontal-head{width:min(1520px,calc(100% - var(--page-pad)*2))!important;margin:0 auto!important}
    .services-intro,.team-intro{display:grid;gap:20px;align-content:end}
    .services-intro .body-large,.team-intro .body-large{margin:0}
    .horizontal-viewport{width:100%;overflow:hidden;padding-left:max(var(--page-pad),calc((100vw - 1520px)/2));contain:layout paint;touch-action:pan-y}
    .horizontal-rail{display:flex!important;width:max-content!important;overflow:visible!important;scroll-snap-type:none!important;transform:translate3d(var(--scene-x,0px),0,0)!important;will-change:transform}
    .service-rail{gap:20px;padding:18px max(var(--page-pad),calc((100vw - 1520px)/2)) 8px 0!important}
    .service-card{flex:0 0 clamp(330px,31vw,500px);height:clamp(390px,51vh,610px);transition:transform 1.15s var(--ease),background 1.15s var(--ease),border-color 1.15s var(--ease),box-shadow 1.15s var(--ease)}
    .service-card:hover{transform:translateY(-4px);box-shadow:0 24px 70px rgba(0,0,0,.13)}
    .service-card::before{transition:transform 1.25s var(--ease),opacity 1.25s var(--ease)}
    .service-card:hover::before{transform:scale(1.08)}
    .doctor-rail{gap:22px;padding:16px max(var(--page-pad),calc((100vw - 1520px)/2)) 4px 0!important}
    .doctor-card{flex:0 0 clamp(285px,21vw,355px)!important;transform:none!important;opacity:1!important;transition:transform 1.15s var(--ease),opacity 1.15s var(--ease)}
    .doctor-photo{border-radius:28px;transition:transform 1.2s var(--ease),box-shadow 1.2s var(--ease)}
    .doctor-photo::after{content:none!important;display:none!important}
    .doctor-photo img{transition:transform 1.45s var(--ease),filter 1.2s var(--ease)!important}
    .doctor-card:hover .doctor-photo{transform:translateY(-3px);box-shadow:0 28px 76px rgba(15,55,99,.14)}
    .doctor-card:hover .doctor-photo img{transform:scale(1.018)!important}
    .image-window img{transition:transform 1.6s var(--ease)!important}
    .image-window:hover img{transform:scale(1.018)!important}
    .horizontal-progress{width:min(1520px,calc(100% - var(--page-pad)*2));margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;font-size:11px;font-weight:800;letter-spacing:.12em}
    .services .horizontal-progress{color:rgba(255,255,255,.7)}
    .horizontal-progress-track{height:1px;background:currentColor;opacity:.45;overflow:hidden}
    .horizontal-progress-track i{display:block;width:100%;height:100%;background:currentColor;transform:scaleX(0);transform-origin:left;will-change:transform}
    .rail-controls,.team-controls{display:none!important}

    /* Slower, cleaner Aventura-style entrances without expensive blur filters */
    [data-reveal]{opacity:0!important;filter:none!important;transform:translate3d(0,52px,0) scale(.992)!important;transition:opacity 1.15s var(--ease),transform 1.35s var(--ease)!important;will-change:transform,opacity}
    [data-reveal="left"]{transform:translate3d(-54px,24px,0) scale(.992)!important}
    [data-reveal="right"]{transform:translate3d(54px,24px,0) scale(.992)!important}
    [data-reveal].is-visible{opacity:1!important;transform:none!important}
    .horizontal-section .horizontal-head{transition:transform 1.1s var(--ease),opacity 1.1s var(--ease)}
    .horizontal-section.is-active .horizontal-head{transform:translate3d(0,-2px,0)}
    .button,.header-book,.text-link::after,.rail-button{transition-duration:.65s!important;transition-timing-function:var(--ease)!important}

    @media (max-width:900px){
      .horizontal-section{height:auto!important;min-height:0!important;overflow:hidden!important}
      .horizontal-sticky{position:relative!important;top:auto!important;height:auto!important;min-height:0!important;padding:105px 0 88px!important;display:block!important;overflow:visible!important}
      .horizontal-head{width:auto!important;margin:0 20px 48px!important;grid-template-columns:1fr!important;gap:28px!important}
      .wheel-hint{display:none!important}
      .horizontal-viewport{overflow-x:auto!important;padding:0!important;contain:none;touch-action:pan-x pan-y;scrollbar-width:none;overscroll-behavior-inline:contain}
      .horizontal-viewport::-webkit-scrollbar{display:none}
      .horizontal-rail{transform:none!important;padding:0 20px 28px!important;scroll-snap-type:x mandatory!important}
      .service-card{flex:0 0 84vw;height:clamp(430px,118vw,620px);scroll-snap-align:center}
      .doctor-card{flex:0 0 82vw!important;scroll-snap-align:center!important}
      .horizontal-progress{display:none!important}
      [data-reveal="left"],[data-reveal="right"]{transform:translate3d(0,44px,0) scale(.994)!important}
    }
    @media (prefers-reduced-motion:reduce){
      .horizontal-section{height:auto!important}.horizontal-sticky{position:relative!important;height:auto!important;min-height:0!important}.horizontal-viewport{overflow-x:auto!important}.horizontal-rail{transform:none!important}
      [data-reveal]{opacity:1!important;transform:none!important}
    }


    /* Header layout: split navigation with a truly centered logo */
    .header-grid.header-grid-split{
      position:relative;
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
      align-items:center;
      column-gap:clamp(24px,2.15vw,48px);
    }
    .header-grid-split .brand-centered{
      position:absolute;
      left:50%;
      top:50%;
      z-index:3;
      transform:translate(-50%,-50%);
    }
    .header-grid-split .desktop-nav{
      display:flex;
      gap:clamp(20px,1.65vw,36px);
      font-size:clamp(13px,.78vw,15px);
      letter-spacing:.025em;
      white-space:nowrap;
    }
    .header-grid-split .desktop-nav-left{
      grid-column:1;
      justify-self:start;
      padding-right:clamp(96px,8vw,170px);
    }
    .header-grid-split .desktop-nav-right{
      grid-column:2;
      justify-self:end;
      padding-left:clamp(96px,8vw,170px);
    }
    .header-grid-split .header-actions{
      grid-column:3;
      justify-self:end;
    }
    .header-grid-split .brand-centered img{
      width:clamp(106px,6.1vw,126px);
      height:clamp(78px,4.7vw,92px);
    }

    @media (max-width:1320px){
      .header-grid-split .desktop-nav{display:none}
      .header-grid-split .menu-toggle{display:block}
      .header-grid.header-grid-split{grid-template-columns:1fr auto}
      .header-grid-split .header-actions{grid-column:2}
    }
    @media (max-width:820px){
      .header-grid-split .brand-centered img{width:76px;height:58px}
    }


    /* =========================================================
       Final motion, header and horizontal-scroll refinements
       ========================================================= */
    :root{
      --motion-ease:cubic-bezier(.16,1,.3,1);
      --motion-soft:cubic-bezier(.22,.82,.24,1);
    }

    /* Header: larger labels, visually pulled toward the centered logo. */
    .header-grid.header-grid-split{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center}
    .header-grid-split .brand-centered{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4}
    .header-grid-split .desktop-nav{
      position:absolute;
      grid-area:1 / 1 / 2 / -1!important;
      justify-self:auto!important;
      top:50%;
      transform:translateY(-50%);
      display:flex;
      align-items:center;
      gap:clamp(20px,1.35vw,30px);
      font-size:clamp(15px,.93vw,17px);
      font-weight:650;
      letter-spacing:.018em;
      white-space:nowrap;
    }
    .header-grid-split .desktop-nav-left{right:calc(50% + clamp(80px,5.6vw,112px));padding:0;justify-self:auto}
    .header-grid-split .desktop-nav-right{left:calc(50% + clamp(80px,5.6vw,112px));padding:0;justify-self:auto}
    .header-grid-split .header-actions{grid-column:2;justify-self:end;position:relative;z-index:5}
    .desktop-nav a{padding:15px 0 13px}
    .desktop-nav a::after{
      left:0;
      right:auto;
      bottom:8px;
      width:100%;
      height:1.5px;
      opacity:.9;
      transform:scaleX(0);
      transform-origin:center;
      transition:transform .78s var(--motion-ease),opacity .55s ease;
    }
    .desktop-nav a:hover::after,
    .desktop-nav a:focus-visible::after,
    .desktop-nav a.is-current::after{right:auto;transform:scaleX(1)}
    .desktop-nav a.is-current::after{opacity:.65}

    /* No controls/progress bars under the two horizontal scenes. */
    .horizontal-progress,.service-progress,.team-progress,.rail-controls,.team-controls{display:none!important}

    /* The two rails are driven by vertical mouse-wheel scrolling on fine-pointer desktop devices. */
    .horizontal-sticky{padding-bottom:clamp(24px,3vh,42px)!important}
    .horizontal-head{width:min(1680px,calc(100% - var(--page-pad)*2))!important}
    .horizontal-viewport{
      padding-left:max(34px,calc((100vw - 1760px)/2))!important;
      contain:layout paint;
      touch-action:pan-y;
    }
    .horizontal-rail{transition:none!important}
    .service-rail{
      gap:clamp(22px,1.55vw,30px)!important;
      padding:18px max(44px,calc((100vw - 1760px)/2)) 14px 0!important;
    }
    .service-card{
      flex:0 0 clamp(380px,32vw,560px)!important;
      height:clamp(420px,54vh,650px)!important;
      transition:transform 1.25s var(--motion-ease),background 1.25s var(--motion-ease),border-color 1.25s var(--motion-ease),box-shadow 1.25s var(--motion-ease)!important;
    }
    .service-card:hover{transform:translateY(-2px)!important;box-shadow:0 28px 78px rgba(0,0,0,.12)}
    .service-card::before{transition:transform 1.45s var(--motion-ease),opacity 1.45s var(--motion-ease)!important}
    .service-card:hover::before{transform:scale(1.045)!important}

    /* Wider doctor presentation with no card/photo movement — only a subtle image zoom. */
    .team .horizontal-head{width:min(1740px,calc(100% - 56px))!important}
    .doctor-viewport{padding-left:max(28px,calc((100vw - 1800px)/2))!important}
    .doctor-rail{
      gap:clamp(26px,1.8vw,36px)!important;
      padding:16px max(36px,calc((100vw - 1800px)/2)) 12px 0!important;
    }
    .doctor-card{
      flex:0 0 clamp(370px,27vw,470px)!important;
      transform:none!important;
      opacity:1!important;
      transition:none!important;
    }
    .doctor-photo{
      border-radius:30px;
      transform:none!important;
      transition:box-shadow 1.25s var(--motion-ease)!important;
      box-shadow:0 24px 66px rgba(15,55,99,.10);
    }
    .doctor-card:hover .doctor-photo{transform:none!important;box-shadow:0 28px 74px rgba(15,55,99,.13)}
    .doctor-photo::after{content:none!important;display:none!important}
    .doctor-photo img{
      transform:scale(1)!important;
      transition:transform 1.35s var(--motion-ease),filter 1.2s var(--motion-ease)!important;
      will-change:transform;
    }
    .doctor-card:hover .doctor-photo img{transform:scale(1.022)!important}

    /* Softer image hover throughout the page. */
    .image-window img,.case-card,.insight-item,.principle{
      transition-duration:1.25s!important;
      transition-timing-function:var(--motion-ease)!important;
    }
    .image-window:hover img{transform:scale(1.014)!important}

    /* Section-to-section cinematic transitions inspired by the supplied reference. */
    main>section{isolation:isolate}
    body.motion-ready main>section.section-scene:not(.horizontal-section)>.section-motion-target{
      opacity:.01;
      transform:translate3d(0,72px,0) scale(.985);
      transition:opacity 1.05s ease,transform 1.45s var(--motion-ease);
      will-change:transform,opacity;
    }
    body.motion-ready main>section.section-scene.section-entered:not(.horizontal-section)>.section-motion-target{
      opacity:1;
      transform:none;
    }
    body.motion-ready .horizontal-section.section-scene .horizontal-head,
    body.motion-ready .horizontal-section.section-scene .horizontal-viewport{
      opacity:.01;
      transform:translate3d(0,54px,0);
      transition:opacity 1.05s ease,transform 1.35s var(--motion-ease);
    }
    body.motion-ready .horizontal-section.section-scene.section-entered .horizontal-head,
    body.motion-ready .horizontal-section.section-scene.section-entered .horizontal-viewport{
      opacity:1;
      transform:none;
    }
    .section-transition-wipe{
      position:absolute;
      z-index:12;
      top:0;
      left:0;
      right:0;
      height:clamp(120px,18vh,250px);
      pointer-events:none;
      overflow:hidden;
      transform:translateZ(0);
    }
    .section-transition-wipe::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,rgba(20,63,120,.24),rgba(100,180,220,.08) 56%,transparent);
      transform:translateY(0);
      transition:transform 1.45s var(--motion-ease);
    }
    [data-header-theme="dark"]>.section-transition-wipe::before{
      background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(169,215,239,.07) 58%,transparent);
    }
    .section-scene.section-entered>.section-transition-wipe::before{transform:translateY(-102%)}
    .section-scene::after{
      content:"";
      position:absolute;
      z-index:11;
      top:0;
      left:var(--page-pad);
      right:var(--page-pad);
      height:1px;
      pointer-events:none;
      background:linear-gradient(90deg,transparent,var(--blue-500),transparent);
      opacity:0;
      transform:scaleX(.12);
      transition:transform 1.45s var(--motion-ease),opacity .9s ease;
    }
    .section-scene[data-header-theme="dark"]::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),transparent)}
    .section-scene.section-entered::after{opacity:.72;transform:scaleX(1)}

    /* A soft white sheet transition from the hero into the first content section. */
    .intro{margin-top:-34px;border-radius:34px 34px 0 0;z-index:3}

    /* Touch devices do not get a sideways rail: the content becomes a normal responsive grid. */
    @media (max-width:900px),(hover:none),(pointer:coarse){
      .horizontal-section{height:auto!important;min-height:0!important;overflow:hidden!important}
      .horizontal-sticky{position:relative!important;top:auto!important;height:auto!important;min-height:0!important;padding:105px 0 88px!important;display:block!important;overflow:visible!important}
      .horizontal-head,.team .horizontal-head{width:auto!important;margin:0 20px 48px!important;grid-template-columns:1fr!important;gap:28px!important}
      .wheel-hint{display:none!important}
      .horizontal-viewport,.doctor-viewport{
        overflow:visible!important;
        padding:0 20px!important;
        contain:none!important;
        touch-action:pan-y!important;
      }
      .horizontal-rail,.service-rail,.doctor-rail{
        display:grid!important;
        width:auto!important;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:22px!important;
        transform:none!important;
        padding:0!important;
        overflow:visible!important;
      }
      .service-card,.doctor-card{width:auto!important;max-width:none!important;flex:none!important}
      .service-card{height:clamp(420px,72vw,590px)!important}
      .doctor-card{min-width:0!important}
      body.motion-ready .horizontal-section.section-scene .horizontal-viewport{transform:translate3d(0,46px,0)}
      body.motion-ready .horizontal-section.section-scene.section-entered .horizontal-viewport{transform:none}
    }
    @media (max-width:640px){
      .horizontal-rail,.service-rail,.doctor-rail{grid-template-columns:1fr!important}
      .service-card{height:clamp(430px,120vw,610px)!important}
    }

    @media (max-width:1480px){
      .header-grid-split .desktop-nav{display:none!important}
      .header-grid-split .menu-toggle{display:block}
      .header-grid.header-grid-split{grid-template-columns:1fr auto}
      .header-grid-split .header-actions{grid-column:2}
    }
    @media (prefers-reduced-motion:reduce){
      .section-transition-wipe{display:none!important}
      body.motion-ready main>section.section-scene>.section-motion-target,
      body.motion-ready .horizontal-section.section-scene .horizontal-head,
      body.motion-ready .horizontal-section.section-scene .horizontal-viewport{opacity:1!important;transform:none!important;transition:none!important}
    }


    /* =========================================================
       Final layout correction: isolated full-screen sections,
       arrow carousels, static logo and permanently monochrome map
       ========================================================= */
    html{scroll-padding-top:var(--header-h)}
    main>section{
      position:relative;
      min-height:100svh;
      margin:0!important;
      border-radius:0!important;
      isolation:isolate;
      overflow:clip;
      clear:both;
    }
    main>section.section{display:flex;align-items:center}
    main>section.section>.section-inner{width:min(1520px,100%)}
    .intro{margin-top:0!important;border-radius:0!important}
    .section-transition-wipe,.section-scene::after{display:none!important}
    .journey-sticky,.price-copy{position:relative!important;top:auto!important}
    .case-card:nth-child(2){transform:none!important}

    /* Services and doctors are normal, independent sections now. */
    .horizontal-section,
    .team{
      height:auto!important;
      min-height:100svh!important;
      overflow:hidden!important;
      padding:0!important;
    }
    .horizontal-sticky,
    .team-sticky{
      position:relative!important;
      inset:auto!important;
      top:auto!important;
      height:auto!important;
      min-height:100svh!important;
      padding:calc(var(--header-h) + clamp(28px,5vh,64px)) 0 clamp(42px,6vh,78px)!important;
      display:flex!important;
      flex-direction:column!important;
      justify-content:center!important;
      gap:clamp(28px,4vh,56px)!important;
      overflow:hidden!important;
    }
    .horizontal-head,.team .horizontal-head{margin:0 auto!important}
    .horizontal-viewport,.doctor-viewport{
      width:100%!important;
      overflow:hidden!important;
      padding-left:max(var(--page-pad),calc((100vw - 1520px)/2))!important;
      padding-right:0!important;
      contain:layout paint;
      touch-action:pan-y;
    }
    .horizontal-rail,.service-rail,.doctor-rail{
      display:flex!important;
      width:max-content!important;
      overflow:visible!important;
      scroll-snap-type:none!important;
      transform:translate3d(var(--carousel-x,0px),0,0)!important;
      transition:transform .92s cubic-bezier(.22,1,.36,1)!important;
      will-change:transform;
    }
    .service-rail{
      gap:clamp(18px,1.45vw,28px)!important;
      padding:0 max(var(--page-pad),calc((100vw - 1520px)/2)) 0 0!important;
    }
    .doctor-rail{
      gap:clamp(20px,1.6vw,30px)!important;
      padding:0 max(var(--page-pad),calc((100vw - 1520px)/2)) 0 0!important;
    }
    .service-card{flex:0 0 clamp(360px,31vw,520px)!important;height:clamp(410px,53vh,620px)!important}
    .doctor-card{flex:0 0 clamp(320px,24vw,420px)!important}
    .horizontal-progress,.service-progress,.team-progress,.rail-controls,.team-controls{display:none!important}

    .carousel-controls{
      width:min(1520px,calc(100% - var(--page-pad)*2));
      margin:0 auto;
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:12px;
    }
    .carousel-arrow{
      position:relative;
      width:56px;
      height:56px;
      display:grid;
      place-items:center;
      border:1px solid currentColor;
      border-radius:50%;
      background:transparent;
      color:inherit;
      font-size:0!important;
      line-height:0;
      cursor:pointer;
      transition:background-color .45s var(--motion-ease),color .45s var(--motion-ease),transform .45s var(--motion-ease),opacity .3s ease;
    }
    .carousel-arrow::before{
      content:"";
      position:absolute;
      left:50%;
      top:50%;
      width:20px;
      height:1.6px;
      border-radius:999px;
      background:currentColor;
      transform:translate(-50%,-50%);
    }
    .carousel-arrow::after{
      content:"";
      position:absolute;
      top:50%;
      width:7px;
      height:7px;
      border-top:1.6px solid currentColor;
      border-right:1.6px solid currentColor;
    }
    .carousel-arrow[data-dir="1"]::after{
      left:calc(50% + 5px);
      transform:translate(-50%,-50%) rotate(45deg);
    }
    .carousel-arrow[data-dir="-1"]::after{
      left:calc(50% - 5px);
      transform:translate(-50%,-50%) rotate(-135deg);
    }
    .carousel-arrow:hover:not(:disabled){transform:translateY(-2px);background:currentColor}
    .services .carousel-arrow:hover:not(:disabled){color:var(--blue-950);background:var(--white)}
    .team .carousel-arrow:hover:not(:disabled){color:var(--white);background:var(--blue-950)}
    .carousel-arrow:disabled{opacity:.28;cursor:default}
    .carousel-arrow:focus-visible{outline:2px solid currentColor;outline-offset:4px}

    /* The logo stays fixed in size and position; only contrast changes with the header background. */
    .brand img,.brand:hover img{
      transform:none!important;
      animation:none!important;
      transition:filter .35s ease!important;
    }

    /* Smooth navigation underline. */
    .desktop-nav a::after{
      left:0!important;
      right:auto!important;
      width:100%!important;
      transform:scaleX(0)!important;
      transform-origin:left center!important;
      transition:transform .62s var(--motion-ease),opacity .4s ease!important;
      will-change:transform;
    }
    .desktop-nav a:hover::after,
    .desktop-nav a:focus-visible::after,
    .desktop-nav a.is-current::after{transform:scaleX(1)!important}

    /* The map never changes colour and is zoomed in one additional level. */
    .map-frame,.map-frame:hover{
      filter:grayscale(1) contrast(.94)!important;
      transition:none!important;
    }

    @media (max-width:900px),(hover:none),(pointer:coarse){
      main>section{min-height:100svh}
      .horizontal-section,.team{height:auto!important;min-height:100svh!important}
      .horizontal-sticky,.team-sticky{
        min-height:100svh!important;
        padding:calc(var(--header-h) + 34px) 0 64px!important;
        gap:34px!important;
      }
      .horizontal-head,.team .horizontal-head{width:auto!important;margin:0 20px!important}
      .horizontal-viewport,.doctor-viewport{
        overflow:hidden!important;
        padding:0 20px!important;
        contain:layout paint!important;
        touch-action:pan-y!important;
      }
      .horizontal-rail,.service-rail,.doctor-rail{
        display:flex!important;
        width:max-content!important;
        grid-template-columns:none!important;
        gap:18px!important;
        padding:0 20px 0 0!important;
        overflow:visible!important;
        transform:translate3d(var(--carousel-x,0px),0,0)!important;
      }
      .service-card{flex:0 0 calc(100vw - 40px)!important;height:clamp(440px,118vw,610px)!important}
      .doctor-card{flex:0 0 calc(100vw - 40px)!important}
      .carousel-controls{width:calc(100% - 40px)}
      .carousel-arrow{width:52px;height:52px}
    }
    @media (max-width:520px){
      .horizontal-sticky,.team-sticky{padding-bottom:52px!important}
      .carousel-controls{justify-content:space-between}
    }
    @media (prefers-reduced-motion:reduce){
      .horizontal-rail,.service-rail,.doctor-rail{transition:none!important}
    }


    /* Desktop fit: keep both carousels inside one viewport and place arrows over the rail edges. */
    @media (min-width:901px) and (hover:hover) and (pointer:fine){
      .horizontal-sticky,.team-sticky{
        height:100svh!important;
        min-height:720px!important;
        padding:calc(var(--header-h) + 4px) 0 22px!important;
        gap:clamp(16px,2.2vh,26px)!important;
      }
      .horizontal-section .display-title{font-size:clamp(50px,5.65vw,92px)!important;line-height:.87!important}
      .horizontal-head,.team .horizontal-head{gap:clamp(34px,4vw,58px)!important}
      .services-intro .body-large,.team-intro .body-large{font-size:clamp(17px,1.55vw,24px)!important}
      .service-card{flex-basis:clamp(350px,30vw,500px)!important;height:clamp(360px,43vh,470px)!important}
      .doctor-card{flex-basis:clamp(280px,21vw,340px)!important}
      .carousel-controls{
        position:absolute;
        z-index:20;
        left:0;
        right:0;
        top:61%;
        width:100%;
        margin:0;
        padding:0 clamp(12px,1.4vw,24px);
        justify-content:space-between;
        pointer-events:none;
      }
      .carousel-arrow{pointer-events:auto;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
      .services .carousel-arrow{background:rgba(20,63,120,.68)}
      .team .carousel-arrow{background:rgba(255,255,255,.86)}
    }


    @media (min-width:901px) and (hover:hover) and (pointer:fine){
      .horizontal-sticky,.team-sticky{justify-content:flex-start!important}
      .doctor-card{flex-basis:clamp(250px,19vw,305px)!important}
    }
    @media (max-width:900px),(hover:none),(pointer:coarse){
      .horizontal-sticky,.team-sticky{
        padding:calc(var(--header-h) + 18px) 0 34px!important;
        gap:20px!important;
        justify-content:flex-start!important;
      }
      .horizontal-section .display-title{font-size:clamp(46px,14vw,62px)!important;line-height:.88!important}
      .services-intro .body-large,.team-intro .body-large{font-size:18px!important;line-height:1.45!important}
      .service-card{flex-basis:calc(100vw - 40px)!important;height:clamp(410px,108vw,455px)!important}
      .doctor-card{flex-basis:min(82vw,320px)!important}
      .carousel-controls{
        position:absolute;
        z-index:20;
        left:0;
        right:0;
        top:55%;
        width:100%;
        margin:0;
        padding:0 8px;
        justify-content:space-between;
        pointer-events:none;
      }
      .carousel-arrow{
        width:50px;
        height:50px;
        pointer-events:auto;
        backdrop-filter:blur(10px);
        -webkit-backdrop-filter:blur(10px);
      }
      .services .carousel-arrow{background:rgba(20,63,120,.72)}
      .team .carousel-arrow{background:rgba(255,255,255,.9)}
    }


    /* Requested homepage refinements */
    .service-footer{
      width:min(1520px,calc(100% - var(--page-pad)*2));
      margin:0 auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
    }
    .service-footer .carousel-controls{width:auto;margin:0}
    .all-services-link{
      display:inline-flex;
      align-items:center;
      gap:10px;
      margin-left:auto;
      color:rgba(255,255,255,.86);
      font-size:12px;
      font-weight:800;
      letter-spacing:.12em;
      text-transform:uppercase;
      border-bottom:1px solid rgba(255,255,255,.42);
      padding:8px 0;
      transition:color .35s var(--motion-ease),border-color .35s var(--motion-ease),gap .35s var(--motion-ease);
    }
    .all-services-link:hover{color:var(--white);border-color:var(--white);gap:15px}

    /* The detail page keeps scrolling, but the browser scrollbar is invisible. */
    .detail-sheet{-ms-overflow-style:none;scrollbar-width:none}
    .detail-sheet::-webkit-scrollbar{width:0;height:0;display:none}
    .detail-close{
      display:grid!important;
      place-items:center!important;
      padding:0!important;
      line-height:1!important;
      font-size:0!important;
    }
    .detail-close::before,.detail-close::after{
      content:"";
      position:absolute;
      left:50%;
      top:50%;
      width:20px;
      height:1.5px;
      border-radius:999px;
      background:var(--blue-950);
      transform-origin:center;
    }
    .detail-close::before{transform:translate(-50%,-50%) rotate(45deg)}
    .detail-close::after{transform:translate(-50%,-50%) rotate(-45deg)}

    /* A slower, continuous doctor slide without an early loop reset. */
    .doctor-rail{transition:transform 1.18s cubic-bezier(.22,.8,.26,1)!important}

    /* Contacts are a vertical section; this prevents the two main blocks shifting sideways. */
    main>section.contact{
      display:block!important;
      align-items:initial!important;
      padding-top:clamp(110px,11vw,180px)!important;
      padding-left:var(--page-pad)!important;
      padding-right:var(--page-pad)!important;
    }
    .contact-top{width:min(1520px,100%);margin-left:auto;margin-right:auto}
    .contact-layout{
      width:calc(100% + (var(--page-pad) * 2));
      margin-left:calc(var(--page-pad) * -1)!important;
      margin-right:calc(var(--page-pad) * -1)!important;
    }

    @media (min-width:1180px){
      /* Three preview cards are visible together on the homepage. */
      .services .service-card{flex-basis:calc((100vw - (var(--page-pad) * 2) - 56px)/3)!important;max-width:500px}
    }
    @media (max-width:900px),(hover:none),(pointer:coarse){
      .service-footer{width:calc(100% - 40px)}
      .service-footer .carousel-controls{position:static!important;width:auto!important;padding:0!important;justify-content:flex-start!important}
      .all-services-link{font-size:11px}
      main>section.contact{padding-left:20px!important;padding-right:20px!important}
      .contact-layout{width:calc(100% + 40px);margin-left:-20px!important;margin-right:-20px!important}
    }
    @media (max-width:520px){
      .service-footer{align-items:flex-end}
      .all-services-link{max-width:120px;text-align:right;justify-content:flex-end}
    }


    /* The three homepage service cards are static; only doctors use carousel arrows. */
    .services .wheel-hint{display:none!important}
    .services .service-viewport{
      overflow:visible!important;
      padding-left:var(--page-pad)!important;
      padding-right:var(--page-pad)!important;
    }
    .services .service-rail{
      display:grid!important;
      grid-template-columns:repeat(3,minmax(0,1fr))!important;
      width:min(1520px,100%)!important;
      margin:0 auto!important;
      padding:0!important;
      gap:clamp(18px,1.45vw,28px)!important;
      transform:none!important;
      transition:none!important;
    }
    .services .service-card{
      width:auto!important;
      max-width:none!important;
      min-width:0!important;
      flex:none!important;
    }
    @media (max-width:900px),(hover:none),(pointer:coarse){
      .services .service-viewport{padding-left:20px!important;padding-right:20px!important}
      .services .service-rail{grid-template-columns:1fr!important;width:100%!important;padding:0!important}
      .services .service-card{width:100%!important;max-width:none!important}
    }


    /* =========================================================
       Scroll-driven start transition and one-page merged content
       ========================================================= */
    .hero.hero-sequence{
      position:relative!important;
      display:block!important;
      height:420vh!important;
      min-height:0!important;
      padding:0!important;
      overflow:visible!important;
      background:var(--blue-950)!important;
      color:var(--white);
      isolation:isolate;
    }
    .hero-sticky{
      position:sticky;
      top:0;
      width:100%;
      height:100vh;
      height:100svh;
      overflow:hidden;
      background:var(--blue-950);
      isolation:isolate;
    }
    .sequence-intro{
      position:absolute;
      inset:0 auto 0 0;
      z-index:3;
      display:flex;
      align-items:center;
      width:49%;
      padding:calc(var(--header-h) + 42px) clamp(28px,5.4vw,96px) 58px;
      background:linear-gradient(145deg,#143f78 0%,#0b315f 100%);
      will-change:opacity,transform;
    }
    .sequence-intro-content{width:min(690px,100%)}
    .sequence-kicker{margin:0 0 28px;font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--blue-300)}
    .sequence-title{margin:0;font-family:var(--display);font-size:clamp(64px,7.7vw,132px);font-weight:400;line-height:.79;letter-spacing:-.065em;color:var(--white)}
    .sequence-title em{font-weight:400}
    .sequence-copy{max-width:580px;margin:38px 0 0;color:rgba(255,255,255,.78);font-size:clamp(16px,1.35vw,21px);line-height:1.55}
    .sequence-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
    .sequence-visual{
      position:absolute;
      inset:0 0 0 49%;
      z-index:1;
      width:51%;
      overflow:hidden;
      background:#071b32;
      will-change:left,width;
    }
    .sequence-visual::after{
      content:"";
      position:absolute;
      inset:0;
      z-index:5;
      pointer-events:none;
      background:linear-gradient(90deg,rgba(5,27,55,.34),rgba(5,27,55,.03) 58%),linear-gradient(0deg,rgba(5,27,55,.28),transparent 45%);
    }
    .sequence-slide{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
      opacity:0;
      transform:scale(1.08);
      filter:saturate(.92) contrast(1.02);
      will-change:opacity,transform;
    }
    .sequence-slide:first-child{opacity:1}
    .sequence-moving-title{
      --sequence-title-x:25vw;
      position:absolute;
      top:50%;
      left:0;
      z-index:10;
      width:max-content;
      color:var(--white);
      font-family:var(--display);
      font-size:clamp(64px,8.5vw,150px);
      font-weight:400;
      line-height:.88;
      letter-spacing:-.06em;
      white-space:nowrap;
      opacity:0;
      transform:translate3d(var(--sequence-title-x),-50%,0);
      text-shadow:0 4px 24px rgba(0,0,0,.18);
      pointer-events:none;
      will-change:transform,opacity;
    }
    .sequence-small-text{
      position:absolute;
      right:34px;
      bottom:28px;
      z-index:10;
      color:var(--white);
      font-size:11px;
      font-weight:700;
      letter-spacing:.12em;
      text-transform:uppercase;
      opacity:0;
      pointer-events:none;
      will-change:opacity;
    }
    .sequence-scroll{
      position:absolute;
      left:calc(49% - 22px);
      bottom:28px;
      z-index:12;
      display:flex;
      align-items:center;
      gap:10px;
      color:rgba(255,255,255,.8);
      font-size:10px;
      letter-spacing:.14em;
      text-transform:uppercase;
      writing-mode:vertical-rl;
      transition:opacity .3s ease;
    }
    .sequence-scroll::after{content:"";width:1px;height:54px;background:rgba(255,255,255,.58)}

    .all-services-section{
      position:relative;
      min-height:100svh;
      padding:clamp(115px,12vw,190px) var(--page-pad);
      overflow:hidden;
      background:var(--blue-950);
      color:var(--white);
    }
    .all-services-section .section-kicker{color:var(--blue-300)}
    .all-services-section .display-title{color:var(--white)}
    .all-services-head{display:grid;grid-template-columns:1fr .55fr;gap:clamp(45px,8vw,130px);align-items:end;margin-bottom:70px}
    .all-services-head .body-large{margin:0;color:rgba(255,255,255,.7)}
    .all-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
    .all-services-grid .service-card{
      width:auto!important;
      min-width:0!important;
      max-width:none!important;
      flex:none!important;
      height:clamp(470px,45vw,610px)!important;
      transform:none!important;
    }
    .all-services-grid .service-card:hover{transform:translateY(-7px)!important}

    .all-doctors-section{
      position:relative;
      min-height:100svh;
      padding:clamp(115px,12vw,190px) var(--page-pad);
      overflow:hidden;
      background:var(--white);
      color:var(--ink);
    }
    .all-doctors-head{display:grid;grid-template-columns:1fr .55fr;gap:clamp(45px,8vw,130px);align-items:end;margin-bottom:70px}
    .all-doctors-head .body-large{margin:0;color:var(--muted)}
    .all-doctors-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,2.4vw,38px) 22px}
    .all-doctors-grid .doctor-card{
      width:auto!important;
      min-width:0!important;
      max-width:none!important;
      flex:none!important;
      transform:none!important;
      opacity:1!important;
    }
    .all-doctors-grid .doctor-card:hover{transform:translateY(-7px)!important}
    .all-doctors-grid .doctor-photo{aspect-ratio:4/5}
    .all-doctors-grid .doctor-meta h3{font-size:clamp(28px,2.4vw,42px)}

    .full-price-section{
      position:relative;
      min-height:100svh;
      padding:clamp(115px,12vw,190px) var(--page-pad);
      background:var(--ice);
      color:var(--ink);
    }
    .price-section-head{display:grid;grid-template-columns:1fr .58fr;gap:clamp(45px,8vw,130px);align-items:end;margin-bottom:70px}
    .price-section-copy p{margin:0;color:var(--muted)}
    .price-section-copy p+p{margin-top:24px;font-size:14px}
    .price-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
    .price-group-card{padding:clamp(26px,3vw,42px);border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.72)}
    .price-group-card h3{margin:0 0 24px;font-family:var(--display);font-size:clamp(34px,3vw,52px);font-weight:400;line-height:1;color:var(--blue-950)}
    .merged-price-list{border-top:1px solid var(--line)}
    .merged-price-row{display:grid;grid-template-columns:1fr auto;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start}
    .merged-price-row span{color:var(--ink)}
    .merged-price-row strong{color:var(--blue-950);font-family:var(--display);font-size:21px;font-weight:400;white-space:nowrap}
    .merged-price-row strong.known{font-weight:600}
    .price-contact-link{color:var(--blue-950);font-family:var(--display);font-size:21px;font-weight:600;white-space:nowrap;text-decoration:none;border-bottom:1px solid rgba(13,60,110,.28);transition:border-color .2s ease,opacity .2s ease}
    .price-contact-link:hover,.price-contact-link:focus-visible{border-bottom-color:currentColor;opacity:.72}
    .price-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:28px;padding:34px clamp(26px,3vw,42px);border-radius:28px;background:var(--white)}
    .price-cta h3{margin:0;font-family:var(--display);font-size:clamp(32px,3.5vw,58px);font-weight:400;color:var(--blue-950)}

    @media (max-width:980px){
      .all-services-grid,.all-doctors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .price-groups{grid-template-columns:1fr}
    }
    @media (max-width:760px){
      .hero.hero-sequence{height:340vh!important}
      .sequence-intro{width:100%;align-items:flex-end;padding:calc(var(--header-h) + 42px) 20px 48px;background:linear-gradient(180deg,rgba(6,29,57,.16) 18%,rgba(6,29,57,.86) 100%)}
      .sequence-intro-content{position:relative;z-index:4}
      .sequence-title{font-size:clamp(58px,18vw,94px)}
      .sequence-copy{margin-top:24px}
      .sequence-visual{left:0!important;width:100%!important}
      .sequence-visual::after{background:linear-gradient(180deg,rgba(5,27,55,.18) 10%,rgba(5,27,55,.7) 100%)}
      .sequence-moving-title{font-size:clamp(60px,18vw,104px)}
      .sequence-small-text{right:20px;bottom:18px}
      .sequence-scroll{display:none}
      .all-services-section,.all-doctors-section,.full-price-section{padding-left:20px;padding-right:20px}
      .all-services-head,.all-doctors-head,.price-section-head{grid-template-columns:1fr;gap:30px}
      .all-services-grid,.all-doctors-grid{grid-template-columns:1fr}
      .all-services-grid .service-card{height:500px!important}
      .all-doctors-grid .doctor-card{max-width:520px!important;margin-inline:auto;width:100%!important}
      .price-cta{align-items:flex-start;flex-direction:column}
      .diplomas-section{padding-left:20px;padding-right:20px}
      .diplomas-head{grid-template-columns:1fr;gap:24px}
      .diplomas-document-top{align-items:flex-start;flex-direction:column}
      .diplomas-viewer{min-height:62vh}
      .diplomas-viewer iframe{height:66vh}
    }

    /* Full services and the price list are internal tabs of the same index.html,
       but they are excluded from the home-page flow. */
    body[data-site-view="home"] #all-services,
    body[data-site-view="home"] #all-doctors,
    body[data-site-view="home"] #prices,
    body[data-site-view="home"] #media,
    #diplomas{
      display:none!important;
    }
    body[data-site-view="services"] main>section:not(#all-services),
    body[data-site-view="team"] main>section:not(#all-doctors),
    body[data-site-view="prices"] main>section:not(#prices){
      display:none!important;
    }
    body[data-site-view="services"] #all-services,
    body[data-site-view="team"] #all-doctors,
    body[data-site-view="prices"] #prices{
      display:block!important;
      min-height:100svh;
      padding-top:calc(var(--header-h) + clamp(72px,8vw,120px));
    }



    /* Горизонтальное перелистывание блоков профиля Жиркова */
    .zhirkov-profile-title{font-size:clamp(50px,6.6vw,108px)!important;line-height:.88!important}
    .doctor-profile-carousel{position:relative;min-width:0}
    .doctor-profile-main{position:relative;min-width:0}
    .doctor-diplomas-popup{position:absolute;inset:0;z-index:14;display:none;overflow:auto;padding:clamp(22px,3vw,30px);border-radius:28px;background:rgba(255,255,255,.98);box-shadow:0 28px 80px rgba(7,27,52,.18)}
    .doctor-diplomas-popup.is-open{display:block}
    .doctor-diplomas-popup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}
    .doctor-diplomas-popup-head h4{margin:6px 0 0;font-family:var(--display);font-size:clamp(28px,3vw,44px);font-weight:400;line-height:.98;color:var(--blue-950)}
    .doctor-diplomas-popup-head p{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.65}
    .doctor-diplomas-close{position:relative;flex:0 0 auto;width:46px;height:46px;border:0;border-radius:50%;background:rgba(7,27,52,.06);cursor:pointer;transition:transform .3s var(--motion-ease),background .3s var(--motion-ease)}
    .doctor-diplomas-close::before,.doctor-diplomas-close::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;background:var(--blue-950);border-radius:999px;transform-origin:center}
    .doctor-diplomas-close::before{transform:translate(-50%,-50%) rotate(45deg)}
    .doctor-diplomas-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
    .doctor-diplomas-close:hover,.doctor-diplomas-close:focus-visible{background:rgba(7,27,52,.11);transform:scale(1.05)}
    .doctor-diplomas-close:focus-visible{outline:2px solid var(--blue-500);outline-offset:3px}
    .doctor-diplomas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
    .doctor-diploma-item{margin:0}
    .doctor-diploma-item[hidden]{display:none!important}
    .doctor-diploma-thumb{display:block;margin:0;padding:0;border:0;background:transparent;cursor:pointer}
    .doctor-diploma-thumb img,.doctor-diploma-item>img{display:block;width:100%;height:auto;border-radius:20px;box-shadow:none}
    .doctor-diplomas-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}
    .doctor-diplomas-nav{display:flex;align-items:center;gap:10px}
    .doctor-diplomas-nav button{padding:10px 16px;border:0;border-radius:999px;background:var(--blue-950);color:var(--white);font:inherit;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .3s var(--motion-ease),opacity .3s var(--motion-ease)}
    .doctor-diplomas-nav button:hover:not(:disabled){transform:translateY(-1px)}
    .doctor-diplomas-nav button:disabled{opacity:.32;cursor:default}
    .doctor-diplomas-page{color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
    @media (max-width:900px){
      .doctor-diplomas-popup{position:fixed;inset:auto 16px 16px 16px;top:92px;bottom:16px;overflow:auto}
    }
    @media (max-width:640px){
      .doctor-diplomas-popup-head{align-items:flex-start}
      .doctor-diplomas-footer{flex-direction:column;align-items:stretch}
      .doctor-diplomas-nav{justify-content:space-between}
      .doctor-diplomas-page{text-align:center}
    }
    .doctor-profile-carousel-head{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 18px}
    .doctor-profile-tabs{display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:none}
    .doctor-profile-tabs::-webkit-scrollbar{display:none}
    .doctor-profile-tab{
      flex:0 0 auto;
      padding:11px 15px;
      border:1px solid var(--line);
      border-radius:999px;
      background:rgba(255,255,255,.72);
      color:var(--muted);
      font:inherit;
      font-size:12px;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
      cursor:pointer;
      transition:color .35s var(--motion-ease),background .35s var(--motion-ease),border-color .35s var(--motion-ease),transform .35s var(--motion-ease);
    }
    .doctor-profile-tab:hover{color:var(--blue-950);transform:translateY(-1px)}
    .doctor-profile-tab.is-active{color:var(--white);background:var(--blue-950);border-color:var(--blue-950)}
    .doctor-profile-tab:focus-visible{outline:2px solid var(--blue-500);outline-offset:3px}
    .doctor-profile-viewport{overflow:hidden;min-width:0;touch-action:pan-y;transition:height .82s cubic-bezier(.22,.8,.26,1)}
    .doctor-profile-carousel .doctor-profile-content{
      display:flex;
      align-items:flex-start;
      gap:20px;
      width:100%;
      transform:translate3d(var(--profile-carousel-x,0px),0,0);
      transition:transform .92s cubic-bezier(.22,.8,.26,1);
      will-change:transform;
    }
    .doctor-profile-carousel .doctor-profile-block{flex:0 0 100%;min-width:0}
    .doctor-profile-link-row{display:flex;justify-content:flex-end;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
    .doctor-profile-text-link{
      position:relative;
      display:inline-flex;
      align-items:center;
      gap:9px;
      color:var(--blue-950);
      font-size:14px;
      font-weight:800;
      letter-spacing:.09em;
      text-transform:uppercase;
    }
    .doctor-profile-text-link::before{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:-5px;
      height:1px;
      background:currentColor;
      transform:scaleX(.38);
      transform-origin:left center;
      transition:transform .35s var(--motion-ease);
    }
    .doctor-profile-text-link::after{content:"↗";font-size:17px;line-height:1;transition:transform .35s var(--motion-ease)}
    .doctor-profile-text-link:hover::before,.doctor-profile-text-link:focus-visible::before{transform:scaleX(1)}
    .doctor-profile-text-link:hover::after,.doctor-profile-text-link:focus-visible::after{transform:translate(2px,-2px)}
    .doctor-profile-text-link:focus-visible{outline:2px solid var(--blue-500);outline-offset:8px;border-radius:2px}
    .doctor-profile-services{margin-top:34px;padding-top:34px;border-top:1px solid var(--line)}
    .doctor-profile-services-head{display:grid;grid-template-columns:1fr .75fr;gap:30px;align-items:end;margin-bottom:24px}
    .doctor-profile-services-head h3{margin:0;font-family:var(--display);font-size:clamp(38px,4.5vw,64px);font-weight:400;line-height:.96;color:var(--blue-950)}
    .doctor-profile-services-head p{margin:0;color:var(--muted);font-size:16px;line-height:1.65}
    .doctor-profile-services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .doctor-profile-service-card{display:flex;flex-direction:column;min-height:230px;padding:24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#fff 0%,var(--blue-050) 100%);transition:transform .42s var(--motion-ease),border-color .42s var(--motion-ease),box-shadow .42s var(--motion-ease)}
    .doctor-profile-service-card:hover{transform:translateY(-4px);border-color:rgba(20,63,120,.28);box-shadow:0 20px 55px rgba(20,63,120,.09)}
    .doctor-profile-service-index{display:block;margin-bottom:30px;color:var(--blue-500);font-size:12px;font-weight:800;letter-spacing:.12em}
    .doctor-profile-service-card h4{margin:0 0 12px;font-family:var(--display);font-size:clamp(26px,2.4vw,36px);font-weight:400;line-height:1.03;color:var(--blue-950)}
    .doctor-profile-service-card p{margin:0 0 22px;color:var(--muted);font-size:15px;line-height:1.6}
    .doctor-service-action{display:inline-flex;align-items:center;gap:9px;margin-top:auto;padding:0;border:0;background:none;color:var(--blue-950);font:inherit;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;text-decoration:none}
    .doctor-service-action::after{content:"↗";font-size:16px;transition:transform .3s var(--motion-ease)}
    .doctor-service-action:hover::after,.doctor-service-action:focus-visible::after{transform:translate(2px,-2px)}
    .doctor-service-action:focus-visible{outline:2px solid var(--blue-500);outline-offset:6px;border-radius:2px}
    @media (max-width:780px){
      .doctor-profile-carousel-head{align-items:flex-start;flex-direction:column}
      .doctor-profile-tabs{width:100%}
      .doctor-profile-services-head{grid-template-columns:1fr;gap:14px}
    }
    @media (max-width:520px){
      .doctor-profile-carousel-head{margin-bottom:12px}
      .doctor-profile-tab{padding:10px 13px;font-size:10px}
      .doctor-profile-carousel .doctor-profile-content{gap:14px}
      .doctor-profile-link-row{justify-content:flex-start}
      .doctor-profile-services{margin-top:28px;padding-top:28px}
      .doctor-profile-services-grid{grid-template-columns:1fr}
      .doctor-profile-service-card{min-height:205px;padding:21px}
    }
    /* Медиа с врачом — карточки и полноэкранный просмотр по референсу */
    .doctor-profile-media{
      position:relative;
      margin-top:38px;
      padding:clamp(30px,4vw,50px);
      overflow:hidden;
      border:1px solid rgba(72,66,150,.09);
      border-radius:32px;
      background:
        radial-gradient(circle at 96% 4%,rgba(146,135,224,.18),transparent 30%),
        linear-gradient(145deg,#fbfaff 0%,#f2f0fb 100%);
    }
    .doctor-profile-media::after{
      content:"";
      position:absolute;
      right:-110px;
      bottom:-150px;
      width:330px;
      height:330px;
      border-radius:50%;
      background:rgba(117,104,196,.08);
      pointer-events:none;
    }
    .doctor-profile-media-head{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end;margin-bottom:30px}
    .doctor-profile-media-head h3{margin:0;font-family:var(--display);font-size:clamp(40px,4.7vw,66px);font-weight:400;line-height:.96;color:#30306f}
    .doctor-profile-media-head p{max-width:650px;margin:14px 0 0;color:#66677c;font-size:16px;line-height:1.65}
    .doctor-profile-media .section-kicker{color:#6f69b5}
    .doctor-profile-media .carousel-controls{
      position:static!important;
      inset:auto!important;
      width:auto!important;
      margin:0!important;
      padding:0!important;
      display:flex!important;
      justify-content:flex-end!important;
      gap:10px!important;
      color:#30306f;
      pointer-events:auto!important;
    }
    .doctor-profile-media .carousel-arrow{
      width:50px;
      height:50px;
      border-color:rgba(48,48,111,.15);
      background:rgba(255,255,255,.78);
      color:#30306f;
      pointer-events:auto!important;
      box-shadow:0 10px 28px rgba(63,55,126,.08);
      backdrop-filter:blur(10px);
      -webkit-backdrop-filter:blur(10px);
    }
    .doctor-profile-media .carousel-arrow:hover:not(:disabled){background:#30306f;color:var(--white);transform:translateY(-2px)}
    .doctor-media-viewport{position:relative;z-index:1;min-width:0;overflow:hidden}
    .doctor-media-rail{
      display:flex;
      align-items:flex-start;
      gap:clamp(16px,2vw,24px);
      width:max-content;
      transform:translate3d(var(--carousel-x,0px),0,0);
      transition:transform .82s cubic-bezier(.22,.8,.26,1);
      will-change:transform;
    }
    .doctor-media-card{
      flex:0 0 clamp(260px,29vw,350px);
      min-width:0;
      padding:0;
      border:0;
      background:transparent;
      color:inherit;
      font:inherit;
      text-align:left;
      cursor:pointer;
    }
    .doctor-media-visual{
      position:relative;
      display:block;
      overflow:hidden;
      aspect-ratio:9/16;
      border-radius:26px;
      background:#17162d;
      box-shadow:0 22px 55px rgba(52,48,104,.17);
      isolation:isolate;
    }
    .doctor-media-visual::after{
      content:"";
      position:absolute;
      z-index:1;
      inset:0;
      background:linear-gradient(180deg,rgba(14,15,31,.04) 28%,rgba(16,16,41,.23) 57%,rgba(15,15,38,.82) 100%);
      pointer-events:none;
    }
    .doctor-media-poster{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,.8,.26,1),filter .7s cubic-bezier(.22,.8,.26,1)}
    .doctor-media-play{
      position:absolute;
      z-index:3;
      left:50%;
      top:50%;
      width:clamp(72px,7vw,92px);
      height:clamp(72px,7vw,92px);
      border-radius:50%;
      background:rgba(219,217,222,.86);
      box-shadow:0 12px 35px rgba(9,12,33,.18);
      transform:translate(-50%,-50%);
      transition:transform .42s var(--motion-ease),background .42s var(--motion-ease);
      backdrop-filter:blur(12px);
      -webkit-backdrop-filter:blur(12px);
    }
    .doctor-media-play::after{
      content:"";
      position:absolute;
      left:52%;
      top:50%;
      width:0;
      height:0;
      border-top:10px solid transparent;
      border-bottom:10px solid transparent;
      border-left:16px solid #fff;
      transform:translate(-42%,-50%);
      filter:drop-shadow(0 2px 3px rgba(0,0,0,.1));
    }
    .doctor-media-overlay-title{
      position:absolute;
      z-index:2;
      left:22px;
      right:22px;
      bottom:24px;
      color:#fff;
      font-size:clamp(22px,2.15vw,31px);
      font-weight:800;
      line-height:1.03;
      letter-spacing:-.035em;
      text-transform:uppercase;
      text-wrap:balance;
    }
    .doctor-media-caption{display:block;padding:18px 4px 0}
    .doctor-media-description{display:block;min-height:50px;color:#3b3c60;font-size:17px;line-height:1.35}
    .doctor-media-author{display:flex;align-items:center;gap:10px;margin-top:13px;color:#4b4c69;font-size:14px;font-weight:650}
    .doctor-media-avatar{width:30px;height:30px;overflow:hidden;border-radius:50%;background:#d8d8e8;box-shadow:0 0 0 2px #fff}
    .doctor-media-avatar img{display:block;width:100%;height:100%;object-fit:cover}
    .doctor-media-card:hover .doctor-media-poster,.doctor-media-card:focus-visible .doctor-media-poster{transform:scale(1.045);filter:saturate(1.05)}
    .doctor-media-card:hover .doctor-media-play,.doctor-media-card:focus-visible .doctor-media-play{background:rgba(255,255,255,.94);transform:translate(-50%,-50%) scale(1.08)}
    .doctor-media-card:focus-visible{outline:2px solid #6f69b5;outline-offset:7px;border-radius:28px}

    /* Полноэкранное окно медиакарточки */
    .doctor-video-overlay{
      place-items:center;
      padding:clamp(18px,3vw,42px);
      overflow:auto;
      background:
        radial-gradient(circle at 84% 18%,rgba(210,203,255,.35),transparent 31%),
        radial-gradient(circle at 12% 86%,rgba(112,101,178,.35),transparent 34%),
        linear-gradient(135deg,rgba(87,82,130,.97),rgba(135,126,190,.96));
      backdrop-filter:blur(15px);
      -webkit-backdrop-filter:blur(15px);
    }
    .doctor-video-dialog{
      position:relative;
      display:grid;
      grid-template-columns:minmax(300px,520px) minmax(280px,1fr);
      gap:clamp(34px,6vw,90px);
      align-items:end;
      width:min(1180px,100%);
      min-height:min(760px,calc(100svh - 72px));
      max-height:none;
      padding:clamp(24px,4vw,58px);
      border-radius:36px;
      background:rgba(72,67,112,.18);
      box-shadow:0 35px 120px rgba(24,21,58,.28),inset 0 1px 0 rgba(255,255,255,.08);
      transform:translateY(26px) scale(.985);
      transition:transform .45s var(--ease);
    }
    .doctor-video-frame{
      justify-self:center;
      width:min(100%,calc((100svh - 150px) * .5625));
      max-width:480px;
      overflow:hidden;
      border-radius:30px;
      background:#16152b;
      aspect-ratio:9/16;
      box-shadow:0 28px 75px rgba(23,19,54,.38);
    }
    .doctor-video-frame video{display:block;width:100%;height:100%;object-fit:cover;background:#16152b}
    .doctor-video-copy{align-self:end;padding:0 0 clamp(8px,4vh,50px);color:#fff}
    .doctor-video-eyebrow{margin:0 0 14px;color:rgba(255,255,255,.62);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
    .doctor-video-title{margin:0;font-family:var(--display);font-size:clamp(42px,5vw,76px);font-weight:400;line-height:.93;letter-spacing:-.045em;color:#fff;text-wrap:balance}
    .doctor-video-description{max-width:520px;margin:22px 0 34px;color:rgba(255,255,255,.74);font-size:17px;line-height:1.65}
    .doctor-video-info-label{display:block;margin:0 0 12px;color:rgba(255,255,255,.52);font-size:12px;font-weight:750}
    .doctor-video-doctor{display:flex;align-items:center;gap:12px;margin-bottom:30px;color:#fff;font-size:16px;font-weight:700}
    .doctor-video-doctor img{width:42px;height:42px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px rgba(255,255,255,.24)}
    .doctor-video-services{display:flex;flex-wrap:wrap;gap:10px}
    .doctor-video-chip{display:inline-flex;align-items:center;min-height:38px;padding:8px 16px;border:1px solid rgba(255,255,255,.34);border-radius:999px;color:#fff;font-size:13px;font-weight:650;line-height:1.2}
    .doctor-video-close{right:clamp(22px,3vw,42px);top:clamp(22px,3vw,42px);width:58px;height:58px;background:rgba(255,255,255,.94);box-shadow:0 15px 36px rgba(29,24,67,.2);transition:transform .35s var(--motion-ease),background .35s var(--motion-ease)}
    .doctor-video-close:hover{transform:rotate(8deg) scale(1.04);background:#fff}

    @media (max-width:900px){
      .doctor-video-dialog{grid-template-columns:1fr;gap:28px;align-items:start;width:min(620px,100%);min-height:auto;padding:72px 22px 30px}
      .doctor-video-frame{width:min(100%,430px);max-width:none}
      .doctor-video-copy{padding:0}
      .doctor-video-title{font-size:clamp(38px,10vw,60px)}
    }
    @media (max-width:780px){
      .doctor-profile-media{padding:28px 22px;border-radius:27px}
      .doctor-profile-media-head{grid-template-columns:1fr;gap:18px}
      .doctor-profile-media .carousel-controls{justify-content:flex-start!important}
      .doctor-media-card{flex-basis:min(78vw,330px)}
    }
    @media (max-width:520px){
      .doctor-profile-media{margin-top:28px;padding:24px 18px;border-radius:23px}
      .doctor-profile-media .carousel-arrow{width:46px;height:46px}
      .doctor-media-card{flex-basis:min(80vw,300px)}
      .doctor-media-visual{border-radius:22px}
      .doctor-media-overlay-title{left:18px;right:18px;bottom:20px}
      .doctor-media-description{font-size:15px}
      .doctor-video-overlay{place-items:start center;padding:8px}
      .doctor-video-dialog{width:100%;padding:72px 12px 24px;border-radius:24px}
      .doctor-video-frame{width:min(100%,390px);border-radius:22px}
      .doctor-video-close{position:fixed;right:18px;top:18px;width:48px;height:48px}
      .doctor-video-description{margin:18px 0 28px;font-size:15px}
      .doctor-video-overlay.photo-video-mode{padding:10px}
      .doctor-video-overlay.photo-video-mode .doctor-video-dialog{width:min(390px,100%);border-radius:22px}
      .doctor-video-overlay.photo-video-mode .doctor-video-frame{width:min(100%,390px);border-radius:22px}
    }
    @media (prefers-reduced-motion:reduce){
      .doctor-profile-viewport,.doctor-profile-carousel .doctor-profile-content,.doctor-media-rail,.doctor-media-poster,.doctor-media-play{transition:none}
    }

    /* Instant invisible reset after a looping transition. */
    .horizontal-rail.is-carousel-jumping,
    .doctor-profile-content.is-carousel-jumping{transition:none!important}



    /* Единая стилистика медиаблока профиля врача */
    .doctor-profile-media{
      margin-top:34px;
      padding:clamp(28px,4vw,52px);
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:26px;
      background:linear-gradient(145deg,#fff 0%,var(--blue-050) 100%);
      box-shadow:0 24px 70px rgba(20,63,120,.07);
    }
    .doctor-profile-media::after{display:none}
    .doctor-profile-media-head{
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      gap:30px;
      align-items:end;
      margin-bottom:24px;
    }
    .doctor-profile-media .section-kicker{
      margin-bottom:20px;
      color:var(--blue-500);
    }
    .doctor-profile-media-head h3{
      margin:0 0 18px;
      font-family:var(--display);
      font-size:clamp(34px,4vw,58px);
      font-weight:400;
      line-height:1;
      color:var(--blue-950);
    }
    .doctor-profile-media-head p{
      max-width:720px;
      margin:0;
      color:var(--muted);
      font-size:17px;
      line-height:1.78;
    }
    .doctor-profile-media .carousel-controls{
      color:var(--blue-950);
    }
    .doctor-profile-media .carousel-arrow{
      width:50px;
      height:50px;
      border:1px solid var(--line);
      background:#fff;
      color:var(--blue-950);
      box-shadow:none;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
    }
    .doctor-profile-media .carousel-arrow:hover:not(:disabled){
      border-color:var(--blue-950);
      background:var(--blue-950);
      color:var(--white);
      transform:translateY(-2px);
    }
    .doctor-media-card{
      flex-basis:clamp(260px,28vw,340px);
      padding:14px;
      border:1px solid var(--line);
      border-radius:22px;
      background:linear-gradient(145deg,#fff 0%,var(--blue-050) 100%);
      transition:transform .42s var(--motion-ease),border-color .42s var(--motion-ease),box-shadow .42s var(--motion-ease);
    }
    .doctor-media-card:hover{
      transform:translateY(-4px);
      border-color:rgba(20,63,120,.28);
      box-shadow:0 20px 55px rgba(20,63,120,.09);
    }
    .doctor-media-visual{
      border-radius:16px;
      background:var(--blue-950);
      box-shadow:none;
    }
    .doctor-media-visual::after{
      background:linear-gradient(180deg,rgba(5,29,57,.02) 25%,rgba(5,29,57,.2) 58%,rgba(5,29,57,.88) 100%);
    }
    .doctor-media-play{
      background:rgba(5,29,57,.9);
      box-shadow:0 12px 35px rgba(5,29,57,.22);
    }
    .doctor-media-card:hover .doctor-media-play,
    .doctor-media-card:focus-visible .doctor-media-play{
      background:var(--blue-500);
    }
    .doctor-media-caption{padding:18px 4px 4px}
    .doctor-media-description{
      color:var(--blue-950);
      font-size:16px;
      line-height:1.45;
    }
    .doctor-media-author{color:var(--muted)}
    .doctor-media-avatar{
      background:var(--blue-100);
      box-shadow:0 0 0 2px #fff,0 0 0 3px var(--line);
    }
    .doctor-media-card:focus-visible{
      outline:2px solid var(--blue-500);
      outline-offset:5px;
      border-radius:22px;
    }

    /* Окно просмотра также поддерживает палитру профиля */
    .doctor-video-overlay{
      background:rgba(5,29,57,.9);
      backdrop-filter:blur(16px);
      -webkit-backdrop-filter:blur(16px);
    }
    .doctor-video-dialog{
      border:1px solid rgba(255,255,255,.34);
      background:linear-gradient(145deg,#fff 0%,var(--blue-050) 100%);
      box-shadow:0 35px 120px rgba(3,22,45,.38);
    }
    .doctor-video-copy{color:var(--blue-950)}
    .doctor-video-eyebrow{color:var(--blue-500)}
    .doctor-video-title{color:var(--blue-950)}
    .doctor-video-description{color:var(--muted)}
    .doctor-video-info-label{color:var(--muted)}
    .doctor-video-doctor{color:var(--blue-950)}
    .doctor-video-doctor img{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--line)}
    .doctor-video-chip{
      border-color:var(--line);
      background:#fff;
      color:var(--blue-950);
    }
    .doctor-video-close{
      background:#fff;
      color:var(--blue-950);
      box-shadow:0 15px 36px rgba(5,29,57,.14);
    }
    .doctor-video-overlay.photo-video-mode{
      padding:clamp(18px,4vw,42px);
      background:rgba(5,29,57,.92);
    }
    .doctor-video-overlay.photo-video-mode .doctor-video-dialog{
      display:flex;
      align-items:center;
      justify-content:center;
      width:min(430px,calc((100svh - 84px) * .5625),100%);
      min-height:auto;
      padding:0;
      border:none;
      border-radius:30px;
      background:transparent;
      box-shadow:none;
    }
    .doctor-video-overlay.photo-video-mode .doctor-video-frame{
      width:min(430px,calc(100svh - 84px),100%);
      max-width:none;
      border-radius:28px;
      background:#071b32;
      box-shadow:0 30px 90px rgba(0,0,0,.42);
    }
    .doctor-video-overlay.photo-video-mode .doctor-video-frame video{
      object-fit:contain;
      background:#071b32;
    }
    .doctor-video-overlay.photo-video-mode .doctor-video-copy{
      display:none;
    }
    .doctor-video-overlay.photo-video-mode .doctor-video-close{
      position:fixed;
      right:clamp(18px,3vw,32px);
      top:clamp(18px,3vw,32px);
      z-index:5;
      background:rgba(255,255,255,.96);
      box-shadow:0 18px 40px rgba(0,0,0,.18);
    }

    @media (max-width:780px){
      .doctor-profile-media{padding:25px 20px;border-radius:20px}
      .doctor-profile-media-head{grid-template-columns:1fr;gap:18px}
      .doctor-profile-media .carousel-controls{justify-content:flex-start!important}
      .doctor-media-card{flex-basis:min(78vw,330px)}
    }
    @media (max-width:520px){
      .doctor-profile-media{margin-top:28px;padding:25px 20px;border-radius:20px}
      .doctor-profile-media .section-kicker{margin-bottom:16px}
      .doctor-profile-media-head h3{font-size:clamp(34px,11vw,46px)}
      .doctor-profile-media-head p{font-size:15px;line-height:1.65}
      .doctor-profile-media .carousel-arrow{width:46px;height:46px}
      .doctor-media-card{flex-basis:min(80vw,300px);padding:11px;border-radius:20px}
      .doctor-media-visual{border-radius:14px}
    }


    /* Портфолио Жиркова: интерактивное сравнение «до / после» */
    .doctor-profile-portfolio{
      position:relative;
      margin-top:34px;
      padding:clamp(28px,4vw,52px);
      overflow:hidden;
      border-radius:26px;
      background:linear-gradient(145deg,var(--blue-950) 0%,var(--blue-800) 100%);
      color:var(--white);
      box-shadow:0 28px 78px rgba(5,29,57,.17);
      isolation:isolate;
    }
    .doctor-profile-portfolio::before{
      content:"";
      position:absolute;
      z-index:-1;
      width:430px;
      height:430px;
      right:-155px;
      top:-220px;
      border:1px solid rgba(255,255,255,.15);
      border-radius:50%;
      box-shadow:0 0 0 78px rgba(255,255,255,.025),0 0 0 155px rgba(255,255,255,.018);
      pointer-events:none;
    }
    .doctor-profile-portfolio-head{
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      gap:30px;
      align-items:end;
      margin-bottom:26px;
    }
    .doctor-profile-portfolio .section-kicker{
      margin-bottom:20px;
      color:var(--blue-300);
    }
    .doctor-profile-portfolio-head h3{
      margin:0 0 18px;
      font-family:var(--display);
      font-size:clamp(34px,4vw,58px);
      font-weight:400;
      line-height:1;
      color:var(--white);
    }
    .doctor-profile-portfolio-head p{
      max-width:720px;
      margin:0;
      color:rgba(255,255,255,.7);
      font-size:17px;
      line-height:1.72;
    }
    .doctor-portfolio-hint{
      display:inline-flex;
      align-items:center;
      gap:10px;
      min-height:44px;
      padding:10px 15px;
      border:1px solid rgba(255,255,255,.18);
      border-radius:999px;
      background:rgba(255,255,255,.08);
      color:rgba(255,255,255,.86);
      font-size:12px;
      font-weight:750;
      letter-spacing:.04em;
      white-space:nowrap;
      backdrop-filter:blur(10px);
      -webkit-backdrop-filter:blur(10px);
    }
    .doctor-portfolio-hint::before{
      content:"↔";
      display:grid;
      place-items:center;
      width:25px;
      height:25px;
      border-radius:50%;
      background:var(--white);
      color:var(--blue-950);
      font-size:14px;
      line-height:1;
    }
    .doctor-portfolio-grid{display:grid;justify-content:start;grid-template-columns:minmax(0,420px);gap:18px}
    .doctor-portfolio-card{
      min-width:0;
      padding:14px;
      border:1px solid rgba(255,255,255,.18);
      border-radius:22px;
      background:linear-gradient(145deg,#fff 0%,var(--blue-050) 100%);
      color:var(--blue-950);
      box-shadow:0 24px 70px rgba(1,17,36,.24);
    }
    .doctor-before-after{
      --compare-position:50%;
      position:relative;
      overflow:hidden;
      aspect-ratio:1/1;
      border-radius:20px;
      background:#071b32;
      isolation:isolate;
      user-select:none;
      -webkit-user-select:none;
    }
    .doctor-before-after-image{
      position:absolute;
      inset:0;
      display:block;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
      pointer-events:none;
    }
    .doctor-before-after-image.is-after{
      object-position:center;
    }
    .doctor-before-after-image.is-before{
      z-index:2;
      clip-path:inset(0 calc(100% - var(--compare-position)) 0 0);
      transform:none;
      object-position:center;
    }
    .doctor-before-after::after{
      display:none;
    }
    .doctor-compare-label{
      position:absolute;
      z-index:4;
      top:auto;
      bottom:15px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:30px;
      padding:5px 13px;
      border:1px solid rgba(7,27,52,.09);
      border-radius:999px;
      background:rgba(255,255,255,.96);
      color:#5b5f67;
      box-shadow:0 5px 16px rgba(5,29,57,.12);
      font-size:12px;
      font-weight:650;
      letter-spacing:.01em;
      line-height:1;
      text-transform:none;
      pointer-events:none;
      backdrop-filter:blur(7px);
      -webkit-backdrop-filter:blur(7px);
    }
    .doctor-compare-label.is-before{left:15px}
    .doctor-compare-label.is-after{right:15px}
    .doctor-compare-divider{
      position:absolute;
      z-index:4;
      left:var(--compare-position);
      top:0;
      bottom:0;
      width:2px;
      background:#fff;
      box-shadow:0 0 0 1px rgba(7,27,52,.05);
      transform:translateX(-50%);
      pointer-events:none;
    }
    .doctor-compare-handle{
      position:absolute;
      left:50%;
      top:88%;
      display:block;
      width:8px;
      height:31px;
      border:1px solid rgba(7,27,52,.08);
      border-radius:999px;
      background:#fff;
      color:transparent;
      box-shadow:0 4px 12px rgba(5,29,57,.18);
      transform:translate(-50%,-50%);
      font-size:0;
      line-height:0;
    }
    .doctor-compare-range{
      position:absolute;
      z-index:5;
      inset:0;
      width:100%;
      height:100%;
      margin:0;
      opacity:0;
      cursor:ew-resize;
      touch-action:pan-y;
      -webkit-appearance:none;
      appearance:none;
    }
    .doctor-compare-range::-webkit-slider-thumb{
      width:58px;
      height:100%;
      cursor:ew-resize;
      -webkit-appearance:none;
      appearance:none;
    }
    .doctor-compare-range::-moz-range-thumb{
      width:58px;
      height:100%;
      border:0;
      background:transparent;
      cursor:ew-resize;
    }
    .doctor-before-after:focus-within{
      outline:3px solid var(--blue-300);
      outline-offset:4px;
    }
    .doctor-portfolio-caption{
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      gap:24px;
      align-items:end;
      padding:21px 5px 5px;
    }
    .doctor-portfolio-case-index{
      display:block;
      margin-bottom:9px;
      color:var(--blue-500);
      font-size:10px;
      font-weight:850;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    .doctor-portfolio-caption.is-case-only{
      display:block;
      padding:17px 5px 5px;
    }
    .doctor-portfolio-caption.is-case-only .doctor-portfolio-case-index{
      margin-bottom:0;
    }
    .doctor-portfolio-caption h4{
      margin:0;
      font-family:var(--display);
      font-size:clamp(27px,3vw,40px);
      font-weight:400;
      line-height:1.04;
      color:var(--blue-950);
    }
    .doctor-portfolio-caption p{
      max-width:210px;
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.55;
      text-align:right;
    }
    @media (max-width:780px){
      .doctor-profile-portfolio{padding:25px 20px;border-radius:20px}
      .doctor-profile-portfolio-head{grid-template-columns:1fr;gap:18px}
      .doctor-portfolio-hint{justify-self:start}
    }
    @media (max-width:520px){
      .doctor-profile-portfolio{margin-top:28px;padding:25px 20px}
      .doctor-profile-portfolio .section-kicker{margin-bottom:16px}
      .doctor-profile-portfolio-head h3{font-size:clamp(34px,11vw,46px)}
      .doctor-profile-portfolio-head p{font-size:15px;line-height:1.65}
      .doctor-portfolio-card{padding:10px;border-radius:18px}
      .doctor-before-after{border-radius:12px}
      .doctor-compare-label{top:11px;min-height:27px;padding:5px 9px;font-size:9px}
      .doctor-compare-label.is-before{left:11px}
      .doctor-compare-label.is-after{right:11px}
      .doctor-compare-handle{width:46px;height:46px}
      .doctor-portfolio-caption{grid-template-columns:1fr;gap:10px;padding:18px 4px 5px}
      .doctor-portfolio-caption p{max-width:none;text-align:left}
    }
    @media (prefers-reduced-motion:reduce){
      .doctor-before-after-image,.doctor-compare-divider{transition:none}
    }



    /* Жирков: плавные интерактивные состояния без смещения и перекрытий */
    .zhirkov-profile{
      --zhirkov-motion:.42s cubic-bezier(.22,.8,.26,1);
      min-width:0;
    }
    .zhirkov-profile .doctor-profile-main{
      position:relative;
      min-width:0;
      isolation:isolate;
    }
    .zhirkov-profile .doctor-profile-viewport,
    .zhirkov-profile .doctor-media-viewport,
    .zhirkov-profile .detail-photo,
    .zhirkov-profile .doctor-profile-service-card,
    .zhirkov-profile .doctor-course-card{
      contain:paint;
    }
    .zhirkov-profile .doctor-profile-service-card,
    .zhirkov-profile .doctor-course-card,
    .zhirkov-profile .doctor-media-card{
      position:relative;
      z-index:0;
      transform:none!important;
    }
    .zhirkov-profile .button,
    .zhirkov-profile .doctor-profile-tab,
    .zhirkov-profile .doctor-service-action,
    .zhirkov-profile .doctor-profile-text-link,
    .zhirkov-profile .doctor-diplomas-nav button,
    .zhirkov-profile .doctor-diplomas-close,
    .zhirkov-profile .doctor-profile-media .carousel-arrow,
    .zhirkov-profile .doctor-photo-play{
      backface-visibility:hidden;
      -webkit-font-smoothing:antialiased;
    }
    .zhirkov-profile .button{
      position:relative;
      overflow:hidden;
      transform:none!important;
      transition:background-color var(--zhirkov-motion),color var(--zhirkov-motion),border-color var(--zhirkov-motion),box-shadow var(--zhirkov-motion)!important;
    }
    .zhirkov-profile .button:hover,
    .zhirkov-profile .button:focus-visible{
      transform:none!important;
      box-shadow:0 16px 36px rgba(20,63,120,.22);
    }
    .zhirkov-profile .doctor-profile-tab{
      transform:none!important;
      transition:color var(--zhirkov-motion),background-color var(--zhirkov-motion),border-color var(--zhirkov-motion),box-shadow var(--zhirkov-motion)!important;
    }
    .zhirkov-profile .doctor-profile-tab:hover,
    .zhirkov-profile .doctor-profile-tab:focus-visible{
      transform:none!important;
      color:var(--blue-950);
      border-color:rgba(20,63,120,.28);
      background:rgba(255,255,255,.98);
      box-shadow:inset 0 0 0 1px rgba(20,63,120,.05),0 8px 22px rgba(20,63,120,.08);
    }
    .zhirkov-profile .doctor-profile-tab.is-active,
    .zhirkov-profile .doctor-profile-tab.is-active:hover,
    .zhirkov-profile .doctor-profile-tab.is-active:focus-visible{
      color:var(--white);
      background:var(--blue-950);
      border-color:var(--blue-950);
      box-shadow:0 9px 24px rgba(20,63,120,.16);
    }
    .zhirkov-profile .doctor-profile-text-link{
      overflow:visible;
      transform:none!important;
      transition:color var(--zhirkov-motion)!important;
    }
    .zhirkov-profile .doctor-profile-text-link::before{
      left:0;
      right:auto;
      width:100%;
      bottom:-5px;
      transform:scaleX(0);
      transform-origin:left center;
      transition:transform var(--zhirkov-motion)!important;
    }
    .zhirkov-profile .doctor-profile-text-link::after{
      transform:none!important;
      transition:opacity var(--zhirkov-motion)!important;
    }
    .zhirkov-profile .doctor-profile-text-link:hover::before,
    .zhirkov-profile .doctor-profile-text-link:focus-visible::before{
      transform:scaleX(1);
    }
    .zhirkov-profile .doctor-profile-text-link:hover::after,
    .zhirkov-profile .doctor-profile-text-link:focus-visible::after{
      transform:none!important;
      opacity:.62;
    }
    .zhirkov-profile .doctor-service-action{
      position:relative;
      width:max-content;
      max-width:100%;
      padding-bottom:4px;
      transform:none!important;
      transition:color var(--zhirkov-motion)!important;
    }
    .zhirkov-profile .doctor-service-action::before{
      content:"";
      position:absolute;
      left:0;
      bottom:0;
      width:calc(100% - 24px);
      height:1px;
      background:currentColor;
      transform:scaleX(0);
      transform-origin:left center;
      transition:transform var(--zhirkov-motion);
    }
    .zhirkov-profile .doctor-service-action::after{
      transform:none!important;
      transition:opacity var(--zhirkov-motion)!important;
    }
    .zhirkov-profile .doctor-service-action:hover::before,
    .zhirkov-profile .doctor-service-action:focus-visible::before{
      transform:scaleX(1);
    }
    .zhirkov-profile .doctor-service-action:hover::after,
    .zhirkov-profile .doctor-service-action:focus-visible::after{
      transform:none!important;
      opacity:.62;
    }
    .zhirkov-profile .doctor-profile-service-card{
      overflow:hidden;
      transition:border-color var(--zhirkov-motion),box-shadow var(--zhirkov-motion),background-color var(--zhirkov-motion)!important;
    }
    .zhirkov-profile .doctor-profile-service-card:hover,
    .zhirkov-profile .doctor-profile-service-card:focus-within{
      transform:none!important;
      border-color:rgba(20,63,120,.28);
      box-shadow:0 18px 44px rgba(20,63,120,.09);
    }
    .zhirkov-profile .doctor-course-card{
      overflow:hidden;
      transition:border-color var(--zhirkov-motion),box-shadow var(--zhirkov-motion),background-color var(--zhirkov-motion);
    }
    .zhirkov-profile .doctor-course-card:hover{
      transform:none!important;
      border-color:rgba(20,63,120,.22);
      box-shadow:0 16px 42px rgba(20,63,120,.07);
    }
    .zhirkov-profile .doctor-media-card{
      transition:opacity var(--zhirkov-motion)!important;
    }
    .zhirkov-profile .doctor-media-card:hover,
    .zhirkov-profile .doctor-media-card:focus-visible{
      transform:none!important;
      opacity:.96;
    }
    .zhirkov-profile .doctor-media-card:hover .doctor-media-poster,
    .zhirkov-profile .doctor-media-card:focus-visible .doctor-media-poster{
      transform:scale(1.025)!important;
    }
    .zhirkov-profile .doctor-media-card:hover .doctor-media-play,
    .zhirkov-profile .doctor-media-card:focus-visible .doctor-media-play{
      transform:translate(-50%,-50%)!important;
      background:rgba(255,255,255,.95);
    }
    .zhirkov-profile .doctor-profile-media .carousel-arrow,
    .zhirkov-profile .doctor-diplomas-nav button{
      transform:none!important;
      transition:background-color var(--zhirkov-motion),color var(--zhirkov-motion),border-color var(--zhirkov-motion),box-shadow var(--zhirkov-motion),opacity var(--zhirkov-motion)!important;
    }
    .zhirkov-profile .doctor-profile-media .carousel-arrow:hover:not(:disabled),
    .zhirkov-profile .doctor-profile-media .carousel-arrow:focus-visible:not(:disabled){
      transform:none!important;
      background:#30306f;
      color:var(--white);
      box-shadow:0 12px 28px rgba(48,48,111,.18);
    }
    .zhirkov-profile .doctor-diplomas-nav button:hover:not(:disabled),
    .zhirkov-profile .doctor-diplomas-nav button:focus-visible:not(:disabled){
      transform:none!important;
      background:#1d4f90;
      box-shadow:0 10px 24px rgba(20,63,120,.18);
    }
    .zhirkov-profile .doctor-diplomas-close:hover,
    .zhirkov-profile .doctor-diplomas-close:focus-visible{
      transform:none!important;
      background:rgba(7,27,52,.12);
    }
    .zhirkov-profile .doctor-photo-play:hover,
    .zhirkov-profile .doctor-photo-play:focus-visible{
      transform:translate(-50%,-50%) scale(1.035)!important;
    }
    .zhirkov-profile .doctor-diplomas-popup{
      overscroll-behavior:contain;
      scroll-behavior:smooth;
      scrollbar-gutter:stable;
    }

    /* Дипломы и сертификаты: одинаковое овальное скругление и drag/swipe. */
    .zhirkov-documents-portal .doctor-diplomas-popup{
      border:1px solid rgba(20,63,120,.12);
      border-radius:28px!important;
      border-top-right-radius:28px!important;
      border-bottom-right-radius:28px!important;
      overflow:hidden!important;
      background-clip:padding-box;
      -webkit-backface-visibility:hidden;
      backface-visibility:hidden;
    }
    .zhirkov-documents-portal .doctor-diplomas-grid{
      cursor:grab;
      user-select:none;
      -webkit-user-select:none;
      touch-action:pan-y;
      will-change:transform,opacity;
      transform:translate3d(0,0,0);
      transition:transform .34s cubic-bezier(.22,.8,.26,1),opacity .34s cubic-bezier(.22,.8,.26,1);
    }
    .zhirkov-documents-portal .doctor-diplomas-grid.is-document-dragging{
      cursor:grabbing;
      transition:none!important;
    }
    .zhirkov-documents-portal .doctor-diploma-item,
    .zhirkov-documents-portal .doctor-diploma-thumb,
    .zhirkov-documents-portal .doctor-diploma-thumb img,
    .zhirkov-documents-portal .doctor-diploma-item>img{
      border-radius:20px!important;
    }
    .zhirkov-documents-portal .doctor-diploma-item,
    .zhirkov-documents-portal .doctor-diploma-thumb{
      overflow:hidden;
    }
    .zhirkov-documents-portal .doctor-diplomas-grid img{
      -webkit-user-drag:none;
      user-select:none;
      pointer-events:none;
    }
    @media (max-width:560px){
      .zhirkov-documents-portal .doctor-diplomas-popup{
        border-radius:24px!important;
        border-top-right-radius:24px!important;
        border-bottom-right-radius:24px!important;
      }
      .zhirkov-documents-portal .doctor-diploma-item,
      .zhirkov-documents-portal .doctor-diploma-thumb,
      .zhirkov-documents-portal .doctor-diploma-thumb img,
      .zhirkov-documents-portal .doctor-diploma-item>img{
        border-radius:16px!important;
      }
    }


    /* Жирков: страницы сертификатов с учётом ориентации документов */
    .zhirkov-profile .doctor-courses-popup{
      inset:0 0 auto 0;
      bottom:auto;
      height:max-content;
      min-height:0;
      overflow:visible;
      padding-bottom:10px;
    }
    .zhirkov-profile .doctor-courses-popup .doctor-diplomas-grid{
      align-items:start;
    }
    .zhirkov-profile .doctor-courses-popup .doctor-diplomas-grid.is-horizontal-page,
    .zhirkov-profile .doctor-courses-popup .doctor-diplomas-grid.is-vertical-page{
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .zhirkov-profile .doctor-courses-popup .doctor-diplomas-footer{
      margin-top:18px;
      padding-bottom:0;
    }
    @media (max-width:900px){
      .zhirkov-profile .doctor-courses-popup{
        position:fixed;
        inset:92px 16px auto 16px;
        bottom:auto;
        max-height:calc(100dvh - 108px);
        overflow:auto;
      }
    }
    @media (max-width:560px){
      .zhirkov-profile .doctor-courses-popup .doctor-diplomas-grid.is-horizontal-page,
      .zhirkov-profile .doctor-courses-popup .doctor-diplomas-grid.is-vertical-page{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
      }
    }



    /* Жирков: точечная корректировка компоновки профиля */
    .zhirkov-detail-hero{
      padding-bottom:28px;
    }
    .zhirkov-detail-hero .section-kicker{
      margin-bottom:0;
    }
    .zhirkov-profile .doctor-profile-services-head{
      padding-left:clamp(28px,4vw,52px);
    }

    /* Окна документов располагаются только справа от фотографии врача. */
    .zhirkov-profile{
      grid-template-columns:minmax(250px,.43fr) minmax(0,1.57fr);
      gap:clamp(34px,4vw,68px);
    }
    .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
    .zhirkov-profile .doctor-courses-popup{
      position:fixed;
      z-index:430;
      top:50%;
      left:var(--zhirkov-popup-left,42vw);
      right:var(--zhirkov-popup-right,36px);
      bottom:auto;
      width:auto;
      height:min(790px,calc(100dvh - 64px));
      min-width:0;
      min-height:0;
      max-width:none;
      max-height:none;
      padding:clamp(18px,2vw,28px);
      overflow:hidden;
      grid-template-rows:auto minmax(0,1fr) auto;
      transform:translate3d(0,-50%,0);
    }
    .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup).is-open,
    .zhirkov-profile .doctor-courses-popup.is-open{
      display:grid;
    }
    .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup) .doctor-diplomas-popup-head,
    .zhirkov-profile .doctor-courses-popup .doctor-diplomas-popup-head{
      margin-bottom:12px;
    }
    .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup) .doctor-diplomas-grid,
    .zhirkov-profile .doctor-courses-popup .doctor-diplomas-grid{
      min-width:0;
      min-height:0;
      width:100%;
      height:100%;
      overflow:hidden;
      align-items:stretch;
      grid-auto-rows:minmax(0,1fr);
    }
    .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup) .doctor-diploma-item,
    .zhirkov-profile .doctor-courses-popup .doctor-diploma-item{
      min-width:0;
      min-height:0;
      width:100%;
      height:100%;
      display:grid;
      place-items:center;
      overflow:hidden;
    }
    .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup) .doctor-diploma-thumb{
      display:grid;
      place-items:center;
      width:100%;
      height:100%;
      overflow:hidden;
    }
    .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup) .doctor-diploma-thumb img,
    .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup) .doctor-diploma-item>img,
    .zhirkov-profile .doctor-courses-popup .doctor-diploma-item>img{
      display:block;
      width:100%;
      height:100%;
      min-width:0;
      min-height:0;
      max-width:100%;
      max-height:100%;
      object-fit:contain;
      object-position:center;
      border-radius:14px;
    }
    .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup) .doctor-diplomas-grid{
      grid-template-columns:repeat(2,minmax(0,1fr));
      grid-template-rows:minmax(0,1fr);
      gap:14px;
    }
    .zhirkov-profile .doctor-courses-popup .doctor-diplomas-grid.is-horizontal-page{
      grid-template-columns:repeat(2,minmax(0,1fr));
      grid-template-rows:repeat(2,minmax(0,1fr));
      gap:12px;
    }
    .zhirkov-profile .doctor-courses-popup .doctor-diplomas-grid.is-vertical-page{
      grid-template-columns:repeat(2,minmax(0,1fr));
      grid-template-rows:minmax(0,1fr);
      gap:14px;
    }
    .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup) .doctor-diplomas-footer,
    .zhirkov-profile .doctor-courses-popup .doctor-diplomas-footer{
      margin-top:12px;
      padding-bottom:0;
    }

    /* Более аккуратная, не оторванная от кнопок тень вкладок. */
    .zhirkov-profile .doctor-profile-tab{
      box-shadow:0 2px 8px rgba(20,63,120,.055);
    }
    .zhirkov-profile .doctor-profile-tab:hover,
    .zhirkov-profile .doctor-profile-tab:focus-visible{
      box-shadow:0 3px 10px rgba(20,63,120,.09);
    }
    .zhirkov-profile .doctor-profile-tab.is-active,
    .zhirkov-profile .doctor-profile-tab.is-active:hover,
    .zhirkov-profile .doctor-profile-tab.is-active:focus-visible{
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 4px 12px rgba(7,27,52,.13);
    }

    @media (max-width:900px){
      .zhirkov-profile{
        grid-template-columns:1fr;
        gap:35px;
      }
      .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
      .zhirkov-profile .doctor-courses-popup{
        top:50%;
        left:50%;
        right:auto;
        bottom:auto;
        width:calc(100vw - 32px);
        height:calc(100dvh - 32px);
        max-height:none;
        overflow:hidden;
        transform:translate3d(-50%,-50%,0);
      }
    }
    @media (max-width:560px){
      .zhirkov-profile .doctor-profile-services-head{
        padding-left:20px;
      }
      .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
      .zhirkov-profile .doctor-courses-popup{
        padding:18px 14px;
      }
      .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup) .doctor-diplomas-popup-head,
      .zhirkov-profile .doctor-courses-popup .doctor-diplomas-popup-head{
        margin-bottom:12px;
      }
      .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup) .doctor-diplomas-grid,
      .zhirkov-profile .doctor-courses-popup .doctor-diplomas-grid.is-horizontal-page,
      .zhirkov-profile .doctor-courses-popup .doctor-diplomas-grid.is-vertical-page{
        gap:8px;
      }
      .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup) .doctor-diplomas-footer,
      .zhirkov-profile .doctor-courses-popup .doctor-diplomas-footer{
        margin-top:12px;
      }
    }
    @media (prefers-reduced-motion:reduce){
      .zhirkov-profile *,
      .zhirkov-profile *::before,
      .zhirkov-profile *::after{
        scroll-behavior:auto!important;
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
      }
    }

  
    /* Homepage team: seamless infinite carousel with mouse/touch dragging. */
    #team .doctor-viewport{
      cursor:grab;
      user-select:none;
      -webkit-user-select:none;
      touch-action:pan-y;
    }
    #team .doctor-viewport.is-dragging{cursor:grabbing}
    #team #doctor-rail{
      transition:transform .95s cubic-bezier(.22,.82,.24,1)!important;
      will-change:transform;
    }
    #team #doctor-rail.is-dragging,
    #team #doctor-rail.is-carousel-jumping{transition:none!important}
    #team #doctor-rail img{-webkit-user-drag:none;pointer-events:none}



    .zhirkov-profile-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
    .zhirkov-profile-section-head .section-kicker{margin:0}
    .zhirkov-profile-section-head .doctor-profile-text-link{margin-left:auto;flex:0 0 auto}
    @media (max-width:680px){
      .zhirkov-profile-section-head{flex-wrap:wrap;align-items:flex-start;gap:12px}
      .zhirkov-profile-section-head .doctor-profile-text-link{margin-left:0}
    }

    /* Ghostwriter fix: team page spacing + profile header visibility */
    body[data-site-view="team"] .all-doctors-section{
      min-height:auto!important;
      padding-top:calc(var(--header-h) + 18px)!important;
      padding-bottom:56px!important;
    }
    body[data-site-view="team"] .all-doctors-head{
      margin-bottom:30px!important;
    }
    body[data-site-view="team"] .all-doctors-head .section-kicker{
      margin:0!important;
    }
    .detail-overlay{
      inset:var(--header-h) 0 0!important;
      z-index:95!important;
    }
    .detail-sheet{
      inset:0!important;
      border-radius:30px 30px 0 0!important;
    }
    .detail-close{
      top:18px!important;
      margin:18px 18px 0 0!important;
    }
    .detail-content{
      padding:32px clamp(24px,5vw,86px) 64px!important;
    }
    .detail-hero{
      gap:26px!important;
      padding-bottom:30px!important;
      align-items:end!important;
    }
    .detail-body{
      gap:40px!important;
      padding-top:30px!important;
    }
    .zhirkov-detail-hero{
      grid-template-columns:minmax(0,1fr) minmax(280px,.72fr)!important;
    }
    @media (max-width:900px){
      body[data-site-view="team"] .all-doctors-section{
        padding-top:calc(var(--header-h) + 12px)!important;
        padding-bottom:38px!important;
      }
      body[data-site-view="team"] .all-doctors-head{
        margin-bottom:22px!important;
      }
      .detail-sheet{
        border-radius:22px 22px 0 0!important;
      }
      .detail-close{
        top:14px!important;
        margin:14px 14px 0 0!important;
      }
      .detail-content{
        padding:24px 20px 40px!important;
      }
      .detail-hero{
        gap:18px!important;
        padding-bottom:22px!important;
      }
      .detail-body{
        gap:24px!important;
        padding-top:22px!important;
      }
      .zhirkov-detail-hero{
        grid-template-columns:1fr!important;
      }
    }



    /* Contacts: full-width Yandex map with an overlay card */
    main>section.contact{
      position:relative!important;
      min-height:auto!important;
      padding:0!important;
      overflow:hidden!important;
      background:#d7d9dc!important;
    }
    .contact-map-shell{
      position:relative;
      min-height:max(760px,calc(100svh - var(--header-h)));
      overflow:hidden;
      isolation:isolate;
      background:#c9cccf;
    }
    .contact-map-shell::after{
      content:"";
      position:absolute;
      inset:0;
      z-index:1;
      pointer-events:none;
      background:rgba(15,25,35,.28);
    }
    .contact-map-frame,.contact-map-frame:hover{
      position:absolute!important;
      inset:0;
      min-height:0!important;
      filter:grayscale(1) contrast(.88) brightness(.96)!important;
      transition:none!important;
      background:#c9cccf;
    }
    .contact-map-frame iframe{display:block;width:100%;height:100%;border:0}
    .contact-map-overlay{
      position:relative;
      z-index:3;
      width:min(520px,calc(100% - (var(--page-pad) * 2)));
      margin-left:max(var(--page-pad),calc((100vw - 1520px)/2));
      padding-top:clamp(62px,8vh,96px);
    }
    .contact-info-card{
      overflow:hidden;
      border:1px solid rgba(7,27,52,.1);
      border-radius:30px;
      background:rgba(255,255,255,.96);
      color:var(--ink);
      box-shadow:0 28px 90px rgba(7,27,52,.22);
      backdrop-filter:blur(14px);
      -webkit-backdrop-filter:blur(14px);
    }
    .contact-info-photo{
      margin:18px 18px 0;
      overflow:hidden;
      height:clamp(205px,25vh,270px);
      border-radius:22px;
      background:var(--ice);
    }
    .contact-info-photo img{
      display:block;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center 42%;
    }
    .contact-info-body{padding:24px 22px 28px}
    .contact-info-address{
      margin:0;
      font-family:var(--display);
      font-size:clamp(27px,2.2vw,36px);
      line-height:1.08;
      letter-spacing:-.02em;
      color:var(--ink);
    }
    .contact-info-address a{
      color:inherit;
      text-decoration:none;
    }
    .contact-info-address a:hover,.contact-info-address a:focus-visible{
      text-decoration:underline;
      text-decoration-thickness:1px;
      text-underline-offset:5px;
    }
    .contact-info-hours{
      margin:15px 0 30px;
      color:#8b9097;
      font-size:16px;
      line-height:1.55;
    }
    .contact-info-phone{
      display:inline-block;
      color:var(--ink);
      font-family:var(--display);
      font-size:clamp(25px,2vw,32px);
      line-height:1.1;
      text-decoration:none;
    }
    .contact-quick-actions{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:10px;
      margin-top:12px;
    }
    .contact-quick-action{
      min-width:0;
      min-height:76px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:14px 12px;
      border:1px solid rgba(7,27,52,.1);
      border-radius:18px;
      background:rgba(255,255,255,.96);
      color:var(--ink);
      font:inherit;
      font-size:12px;
      font-weight:800;
      letter-spacing:.06em;
      text-transform:uppercase;
      text-decoration:none;
      cursor:pointer;
      box-shadow:0 18px 48px rgba(7,27,52,.16);
      transition:transform .3s var(--ease),background .3s,color .3s;
    }
    .contact-quick-action:hover,.contact-quick-action:focus-visible{
      transform:translateY(-3px);
      background:var(--blue-950);
      color:var(--white);
    }
    .contact-quick-action:focus-visible{outline:2px solid var(--white);outline-offset:3px}
    .contact-quick-action svg{
      width:25px;
      height:25px;
      fill:none;
      stroke:currentColor;
      stroke-width:1.8;
      stroke-linecap:round;
      stroke-linejoin:round;
      flex:0 0 auto;
    }
    .contact-quick-action:first-child svg path:first-child{fill:currentColor;stroke:none}
    .contact-form-card{
      position:absolute;
      z-index:5;
      top:clamp(40px,7vh,80px);
      right:max(var(--page-pad),calc((100vw - 1520px)/2));
      width:min(460px,calc(100% - (var(--page-pad) * 2)));
      max-height:calc(100% - 80px);
      overflow-y:auto;
      overflow-x:hidden;
      scrollbar-width:none;
      -ms-overflow-style:none;
      padding:38px 34px 32px;
      border:1px solid rgba(7,27,52,.12);
      border-radius:28px;
      background:rgba(255,255,255,.98);
      color:var(--ink);
      box-shadow:0 30px 100px rgba(7,27,52,.28);
      visibility:hidden;
      opacity:0;
      transform:translateX(26px) scale(.985);
      transition:opacity .35s var(--ease),transform .42s var(--ease),visibility .35s;
    }
    .contact-form-card::-webkit-scrollbar{width:0;height:0;display:none}
    .contact-form-card.is-open{visibility:visible;opacity:1;transform:none}
    .contact-form-card .section-kicker{margin:0 54px 12px 0;color:var(--blue-650)}
    .contact-form-card h2{
      margin:0;
      font-family:var(--display);
      font-size:clamp(42px,4vw,60px);
      font-weight:400;
      line-height:.98;
      color:var(--blue-950);
    }
    .contact-form-intro{margin:18px 0 28px;color:var(--muted);line-height:1.6}
    .contact-form-close{
      position:absolute;
      right:20px;
      top:20px;
      width:44px;
      height:44px;
      border:1px solid var(--line);
      border-radius:50%;
      background:var(--white);
      cursor:pointer;
    }
    .contact-form-close::before,.contact-form-close::after{
      content:"";
      position:absolute;
      left:50%;
      top:50%;
      width:18px;
      height:1.5px;
      border-radius:999px;
      background:var(--blue-950);
    }
    .contact-form-close::before{transform:translate(-50%,-50%) rotate(45deg)}
    .contact-form-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
    .contact-form-card .contact-form{gap:21px}
    .contact-form-card .field label{color:var(--blue-650)}
    .contact-form-card .field input,.contact-form-card .field textarea{
      border-bottom-color:rgba(20,63,120,.25);
      color:var(--ink);
    }
    .contact-form-card .field input::placeholder,.contact-form-card .field textarea::placeholder{color:#9ba1a8}
    .contact-form-card .field input:focus,.contact-form-card .field textarea:focus{border-color:var(--blue-650)}
    .contact-form-card #form-status{color:var(--blue-650)}
    @media (max-width:980px){
      .contact-map-shell{min-height:900px}
      .contact-map-overlay{width:min(500px,calc(100% - 40px));margin-left:20px;padding-top:44px}
      .contact-form-card{position:fixed;top:calc(var(--header-h) + 14px);right:16px;bottom:16px;width:min(460px,calc(100% - 32px));max-height:none}
    }
    @media (max-width:620px){
      .contact-map-shell{min-height:820px}
      .contact-map-overlay{width:calc(100% - 32px);margin-left:16px;padding-top:26px}
      .contact-info-card{border-radius:24px}
      .contact-info-photo{height:190px;margin:12px 12px 0;border-radius:17px}
      .contact-info-body{padding:20px 18px 23px}
      .contact-info-address{font-size:28px}
      .contact-info-hours{margin:12px 0 22px;font-size:14px}
      .contact-quick-action{min-height:66px;padding:12px 7px;flex-direction:column;gap:5px;font-size:9px}
      .contact-quick-action svg{width:22px;height:22px}
      .contact-form-card{padding:32px 22px 25px;border-radius:22px}
    }



    /* Финальное исправление геометрии окон дипломов и сертификатов.
       Углы должны быть заметно скруглены со всех четырёх сторон даже на белом фоне. */
    .zhirkov-documents-portal{
      position:fixed;
      inset:0;
      z-index:425;
      pointer-events:none;
      isolation:isolate;
    }
    .zhirkov-documents-portal::before{
      content:"";
      position:fixed;
      inset:0;
      z-index:0;
      pointer-events:none;
      background:rgba(7,27,52,.035);
    }
    .zhirkov-documents-portal .doctor-diplomas-popup,
    .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
    .zhirkov-profile .doctor-courses-popup{
      pointer-events:auto;
      border:1px solid rgba(20,63,120,.20)!important;
      border-radius:32px!important;
      border-top-left-radius:32px!important;
      border-top-right-radius:32px!important;
      border-bottom-right-radius:32px!important;
      border-bottom-left-radius:32px!important;
      overflow:hidden!important;
      background:#fff!important;
      background-clip:padding-box!important;
      clip-path:inset(0 round 32px);
      -webkit-clip-path:inset(0 round 32px);
      -webkit-mask-image:-webkit-radial-gradient(white,black);
      box-shadow:0 28px 80px rgba(7,27,52,.18),0 0 0 1px rgba(20,63,120,.06)!important;
      contain:paint;
    }
    @media (min-width:901px){
      .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
      .zhirkov-profile .doctor-courses-popup{
        top:48px!important;
        right:var(--zhirkov-popup-right,70px)!important;
        bottom:48px!important;
        height:auto!important;
        max-height:none!important;
        transform:none!important;
      }
    }
    @media (max-width:900px){
      .zhirkov-documents-portal .doctor-diplomas-popup,
      .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
      .zhirkov-profile .doctor-courses-popup{
        border-radius:28px!important;
        border-top-left-radius:28px!important;
        border-top-right-radius:28px!important;
        border-bottom-right-radius:28px!important;
        border-bottom-left-radius:28px!important;
        clip-path:inset(0 round 28px);
        -webkit-clip-path:inset(0 round 28px);
      }
    }
    @media (max-width:560px){
      .zhirkov-documents-portal .doctor-diplomas-popup,
      .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
      .zhirkov-profile .doctor-courses-popup{
        border-radius:24px!important;
        border-top-left-radius:24px!important;
        border-top-right-radius:24px!important;
        border-bottom-right-radius:24px!important;
        border-bottom-left-radius:24px!important;
        clip-path:inset(0 round 24px);
        -webkit-clip-path:inset(0 round 24px);
      }
    }


    /* Unified standalone-section heading, home link and divider. */
    .standalone-section-head{
      display:none;
      align-items:center;
      justify-content:space-between;
      gap:28px;
      min-height:54px;
      padding:0 0 16px;
      margin:0 0 30px;
      border-bottom:1px solid var(--line);
    }
    .standalone-section-head .section-kicker{margin:0}
    .standalone-home-link{
      flex:0 0 auto;
      color:var(--blue-950);
      font-size:11px;
      font-weight:800;
      letter-spacing:.12em;
      text-transform:uppercase;
      border-bottom:1px solid currentColor;
      padding-bottom:3px;
      transition:opacity .25s var(--ease),transform .25s var(--ease);
    }
    .standalone-home-link:hover,
    .standalone-home-link:focus-visible{
      opacity:.62;
      transform:translateX(-2px);
    }
    .standalone-home-link:focus-visible{
      outline:2px solid currentColor;
      outline-offset:5px;
    }

    body:not([data-site-view="home"]) .standalone-section-head{display:flex}
    body:not([data-site-view="home"]) .standalone-original-kicker{display:none!important}

    body[data-site-view="portfolio"] main>section:not(#cases),
    body[data-site-view="blog"] main>section:not(#blog),
    body[data-site-view="media"] main>section:not(#media),
    body[data-site-view="about"] main>section:not(#about){display:none!important}
    body[data-site-view="portfolio"] #cases,
    body[data-site-view="blog"] #blog,
    body[data-site-view="media"] #media,
    body[data-site-view="about"] #about{display:block!important}

    body[data-site-view="services"] #all-services,
    body[data-site-view="team"] #all-doctors,
    body[data-site-view="prices"] #prices,
    body[data-site-view="portfolio"] #cases,
    body[data-site-view="blog"] #blog,
    body[data-site-view="about"] #about{
      min-height:auto!important;
      padding-top:calc(var(--header-h) + 18px)!important;
      padding-bottom:56px!important;
    }

    body[data-site-view="services"] #all-services .standalone-section-head,
    body[data-site-view="media"] #media .standalone-section-head{border-bottom-color:rgba(255,255,255,.26)}
    body[data-site-view="services"] #all-services .standalone-home-link,
    body[data-site-view="media"] #media .standalone-home-link{color:var(--white)}
    body[data-site-view="media"] #media>.standalone-section-head .section-kicker{color:var(--blue-300)}

    body[data-site-view="media"] #media{
      min-height:auto!important;
      padding-top:calc(var(--header-h) + 18px)!important;
    }
    body[data-site-view="media"] #media>.standalone-section-head{
      width:min(1520px,calc(100% - var(--page-pad)*2));
      margin-left:auto;
      margin-right:auto;
      margin-bottom:30px;
    }
    body[data-site-view="media"] #media .media-shell{min-height:calc(100svh - var(--header-h) - 103px)}

    @media (max-width:900px){
      .standalone-section-head{
        min-height:48px;
        margin-bottom:22px;
        padding-bottom:13px;
        gap:18px;
      }
      .standalone-home-link{
        font-size:10px;
        letter-spacing:.1em;
        white-space:nowrap;
      }
      body[data-site-view="services"] #all-services,
      body[data-site-view="team"] #all-doctors,
      body[data-site-view="prices"] #prices,
      body[data-site-view="portfolio"] #cases,
      body[data-site-view="blog"] #blog,
      body[data-site-view="about"] #about,
      body[data-site-view="media"] #media{
        padding-top:calc(var(--header-h) + 12px)!important;
        padding-bottom:38px!important;
      }
      body[data-site-view="media"] #media{padding-bottom:0!important}
      body[data-site-view="media"] #media>.standalone-section-head{
        width:calc(100% - 40px);
        margin-bottom:22px;
      }
    }


    /* Footer redesign and accessible viewing mode */
    .site-footer{
      position:relative;
      overflow:hidden;
      margin-top:0;
      padding:clamp(54px,6vw,88px) var(--page-pad) max(34px,env(safe-area-inset-bottom));
      border-radius:clamp(28px,3vw,48px) clamp(28px,3vw,48px) 0 0;
      background:
        radial-gradient(circle at 82% 14%,rgba(100,180,220,.22),transparent 32%),
        linear-gradient(145deg,#102f5e 0%,var(--blue-950) 48%,#0a2a53 100%);
      color:var(--white);
    }
    .site-footer::before{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:linear-gradient(110deg,rgba(255,255,255,.055),transparent 38%);
    }
    .footer-shell{position:relative;z-index:1;width:min(1520px,100%);margin:0 auto}
    .footer-top{
      display:grid;
      grid-template-columns:minmax(220px,1fr) minmax(270px,.9fr) minmax(260px,.85fr);
      gap:clamp(28px,5vw,76px);
      align-items:center;
      padding-bottom:clamp(34px,4vw,58px);
      border-bottom:1px solid rgba(255,255,255,.22);
    }
    .footer-brand{display:inline-flex;align-items:center;width:max-content;max-width:100%}
    .footer-logo{width:clamp(150px,14vw,226px);height:auto;margin:0;filter:brightness(0) invert(1)}
    .footer-accessibility{
      appearance:none;
      display:inline-flex;
      align-items:center;
      justify-content:flex-start;
      gap:13px;
      width:max-content;
      max-width:100%;
      padding:10px 0;
      border:0;
      border-bottom:1px solid transparent;
      background:transparent;
      color:var(--white);
      cursor:pointer;
      font-size:14px;
      font-weight:750;
      line-height:1.35;
      text-align:left;
      transition:opacity .25s,border-color .25s;
    }
    .footer-accessibility:hover,.footer-accessibility:focus-visible{border-color:currentColor;opacity:.78}
    .footer-accessibility svg{flex:0 0 auto;width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7}
    .footer-search-wrap{position:relative}
    .footer-search{
      display:flex;
      align-items:center;
      min-height:48px;
      padding:0 16px;
      border:1px solid rgba(255,255,255,.34);
      border-radius:999px;
      background:rgba(255,255,255,.035);
    }
    .footer-search:focus-within{border-color:var(--white);background:rgba(255,255,255,.08)}
    .footer-search input{min-width:0;width:100%;padding:0 10px 0 0;border:0;outline:0;background:transparent;color:var(--white);font-size:14px}
    .footer-search input::placeholder{color:rgba(255,255,255,.58)}
    .footer-search button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;background:transparent;color:var(--white);cursor:pointer}
    .footer-search button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}
    .footer-search-results{position:absolute;left:0;right:0;top:calc(100% + 10px);z-index:5;display:none;max-height:240px;overflow:auto;padding:10px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:#0c315f;box-shadow:0 18px 55px rgba(0,0,0,.28)}
    .footer-search-results:not(:empty){display:grid;gap:3px}
    .footer-search-result{width:100%;padding:11px 12px;border:0;border-radius:10px;background:transparent;color:var(--white);text-align:left;cursor:pointer}
    .footer-search-result:hover,.footer-search-result:focus-visible{background:rgba(255,255,255,.1)}
    .footer-search-result strong{display:block;font-size:14px}
    .footer-search-result small{display:block;margin-top:2px;color:rgba(255,255,255,.66);font-size:11px}

    .footer-grid{
      display:grid;
      grid-template-columns:minmax(230px,1.15fr) minmax(150px,.66fr) minmax(230px,1fr) minmax(250px,1.05fr);
      gap:clamp(34px,5vw,78px);
      padding:clamp(44px,5.5vw,76px) 0 48px;
    }
    .footer-column{min-width:0}
    .footer-column-title{margin:0 0 18px;color:rgba(255,255,255,.58);font-size:13px;font-weight:750;letter-spacing:.04em}
    .footer-clinic-copy{max-width:340px;margin:0 0 26px;color:rgba(255,255,255,.7);font-size:15px;line-height:1.7}
    .footer-book{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:48px;
      padding:0 24px;
      border:1px solid rgba(255,255,255,.75);
      border-radius:999px;
      background:transparent;
      color:var(--white);
      font-size:12px;
      font-weight:800;
      letter-spacing:.06em;
      text-transform:uppercase;
      transition:background .25s,color .25s,transform .25s;
    }
    .footer-book:hover,.footer-book:focus-visible{background:var(--white);color:var(--blue-950);transform:translateY(-2px)}
    .footer-nav{display:grid;gap:10px}
    .footer-nav a,.footer-link-button{
      width:max-content;
      max-width:100%;
      padding:0;
      border:0;
      background:transparent;
      color:rgba(255,255,255,.9);
      cursor:pointer;
      font-size:14px;
      line-height:1.45;
      text-align:left;
      transition:opacity .22s,transform .22s;
    }
    .footer-nav a:hover,.footer-nav a:focus-visible,.footer-link-button:hover,.footer-link-button:focus-visible{opacity:.65;transform:translateX(3px)}
    .footer-contact-list{display:grid;gap:12px}
    .footer-phone{display:block;width:max-content;max-width:100%;color:var(--white);font-family:var(--display);font-size:clamp(27px,2.3vw,38px);line-height:1.05}
    .footer-contact-line{margin:0;color:rgba(255,255,255,.72);font-size:14px;line-height:1.65}
    .footer-route{display:inline-flex;align-items:center;gap:10px;width:max-content;margin-top:10px;padding-bottom:3px;border-bottom:1px solid rgba(255,255,255,.48);color:var(--white);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
    .footer-route svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}
    .footer-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-top:28px;border-top:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.58);font-size:12px;line-height:1.7}
    .footer-bottom p{margin:0}
    .footer-bottom-note{max-width:580px;text-align:right}

    .floating-book{transition:transform .3s,background .3s,opacity .25s,visibility .25s}
    .floating-book.is-footer-hidden,body.a11y-enabled .floating-book{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:scale(.82)!important}

    .menu-accessibility{
      display:inline-flex;
      align-items:center;
      gap:10px;
      width:max-content;
      max-width:100%;
      padding:0 0 7px;
      border:0;
      border-bottom:1px solid var(--blue-950);
      background:transparent;
      color:var(--blue-950);
      cursor:pointer;
      font-size:13px;
      font-weight:800;
    }
    .menu-accessibility svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7}

    .a11y-panel{
      position:fixed;
      left:16px;
      right:16px;
      top:max(16px,env(safe-area-inset-top));
      z-index:1200;
      visibility:hidden;
      opacity:0;
      transform:translateY(-18px);
      transition:opacity .25s,transform .25s,visibility .25s;
    }
    .a11y-panel.is-open{visibility:visible;opacity:1;transform:none}
    .a11y-panel-inner{
      width:min(1180px,100%);
      margin:0 auto;
      padding:20px;
      border:3px solid #000;
      border-radius:18px;
      background:#fff;
      color:#000;
      box-shadow:0 18px 70px rgba(0,0,0,.28);
    }
    .a11y-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
    .a11y-panel-title{margin:0;font-family:Arial,sans-serif;font-size:24px;font-weight:800;line-height:1.15;letter-spacing:0}
    .a11y-panel-close{position:relative;flex:0 0 auto;width:44px;height:44px;border:2px solid #000;border-radius:50%;background:#fff;color:#000;cursor:pointer}
    .a11y-panel-close::before,.a11y-panel-close::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;background:currentColor}
    .a11y-panel-close::before{transform:translate(-50%,-50%) rotate(45deg)}
    .a11y-panel-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
    .a11y-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
    .a11y-group{min-width:0;margin:0;padding:12px;border:2px solid #000;border-radius:12px}
    .a11y-group legend{padding:0 7px;font-family:Arial,sans-serif;font-size:14px;font-weight:800}
    .a11y-options{display:flex;flex-wrap:wrap;gap:8px}
    .a11y-option,.a11y-action{
      min-height:42px;
      padding:8px 13px;
      border:2px solid #000;
      border-radius:8px;
      background:#fff;
      color:#000;
      cursor:pointer;
      font-family:Arial,sans-serif;
      font-size:15px;
      font-weight:800;
    }
    .a11y-option[aria-pressed="true"]{background:#000;color:#fff}
    .a11y-option-theme{min-width:44px;padding-inline:8px}
    .a11y-theme-dark{background:#000;color:#fff}
    .a11y-theme-blue{background:#dcecff;color:#001f3f;border-color:#001f3f}
    .a11y-panel-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px}
    .a11y-action-primary{background:#000;color:#fff}

    body.a11y-enabled{
      --a11y-bg:#fff;
      --a11y-text:#000;
      --a11y-link:#000;
      --a11y-border:#000;
      background:var(--a11y-bg)!important;
      color:var(--a11y-text)!important;
      font-family:Arial,sans-serif!important;
      line-height:1.65!important;
    }
    body.a11y-enabled[data-a11y-theme="dark"]{--a11y-bg:#000;--a11y-text:#fff;--a11y-link:#fff;--a11y-border:#fff}
    body.a11y-enabled[data-a11y-theme="blue"]{--a11y-bg:#dcecff;--a11y-text:#001a35;--a11y-link:#001a35;--a11y-border:#001a35}
    body.a11y-enabled *,body.a11y-enabled *::before,body.a11y-enabled *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
    body.a11y-enabled main>section,
    body.a11y-enabled .site-footer,
    body.a11y-enabled .detail-sheet,
    body.a11y-enabled .booking-drawer-panel,
    body.a11y-enabled .contact-form-card,
    body.a11y-enabled .menu-overlay{
      background:var(--a11y-bg)!important;
      color:var(--a11y-text)!important;
      background-image:none!important;
    }
    body.a11y-enabled h1,body.a11y-enabled h2,body.a11y-enabled h3,body.a11y-enabled h4,body.a11y-enabled h5,body.a11y-enabled h6,
    body.a11y-enabled .display-title,body.a11y-enabled .detail-title,body.a11y-enabled .sequence-title,
    body.a11y-enabled .footer-phone,body.a11y-enabled .doctor-meta h3{
      color:var(--a11y-text)!important;
      font-family:Arial,sans-serif!important;
      font-style:normal!important;
      font-weight:800!important;
      letter-spacing:0!important;
      line-height:1.15!important;
    }
    body.a11y-enabled p,body.a11y-enabled li,body.a11y-enabled span,body.a11y-enabled small,body.a11y-enabled label,
    body.a11y-enabled a,body.a11y-enabled button,body.a11y-enabled input,body.a11y-enabled textarea,
    body.a11y-enabled .body-large,body.a11y-enabled .section-kicker,body.a11y-enabled .footer-column-title{
      color:var(--a11y-text)!important;
      font-family:Arial,sans-serif!important;
      text-shadow:none!important;
    }
    body.a11y-enabled a{text-decoration:underline;text-underline-offset:3px}
    body.a11y-enabled button{text-decoration:none}
    body.a11y-enabled [class*="card"],body.a11y-enabled [class*="panel"],body.a11y-enabled [class*="item"],body.a11y-enabled [class*="row"],
    body.a11y-enabled .standalone-section-head,body.a11y-enabled .footer-top,body.a11y-enabled .footer-bottom{
      border-color:var(--a11y-border)!important;
      box-shadow:none!important;
      background-image:none!important;
    }
    body.a11y-enabled .site-header{
      background:var(--a11y-bg)!important;
      color:var(--a11y-text)!important;
      box-shadow:0 0 0 2px var(--a11y-border)!important;
      backdrop-filter:none!important;
      -webkit-backdrop-filter:none!important;
    }
    body.a11y-enabled .site-header::after{background:var(--a11y-border)!important}
    body.a11y-enabled .brand img{filter:none!important}
    body.a11y-enabled[data-a11y-theme="dark"] .brand img,
    body.a11y-enabled[data-a11y-theme="dark"] .footer-logo{filter:brightness(0) invert(1)!important}
    body.a11y-enabled:not([data-a11y-theme="dark"]) .footer-logo{filter:none!important}
    body.a11y-enabled .button,body.a11y-enabled .footer-book,body.a11y-enabled .header-book,
    body.a11y-enabled .contact-quick-action,body.a11y-enabled .floating-book{
      border:2px solid var(--a11y-border)!important;
      background:var(--a11y-bg)!important;
      color:var(--a11y-text)!important;
      box-shadow:none!important;
    }
    body.a11y-enabled :focus-visible{outline:4px solid var(--a11y-text)!important;outline-offset:4px!important}
    body.a11y-enabled .hero.hero-sequence{height:auto!important;min-height:auto!important;padding-top:var(--header-h)!important;background:var(--a11y-bg)!important}
    body.a11y-enabled .hero-sticky{position:relative!important;inset:auto!important;height:auto!important;min-height:auto!important}
    body.a11y-enabled .sequence-intro{position:relative!important;inset:auto!important;width:100%!important;min-height:620px!important;padding:80px var(--page-pad)!important;background:var(--a11y-bg)!important;color:var(--a11y-text)!important}
    body.a11y-enabled .sequence-intro-content{max-width:1100px!important}
    body.a11y-enabled .sequence-visual,body.a11y-enabled .sequence-moving-title,body.a11y-enabled .sequence-small-text,body.a11y-enabled .sequence-scroll{display:none!important}
    body.a11y-enabled .horizontal-section{height:auto!important;min-height:auto!important;padding:80px var(--page-pad)!important}
    body.a11y-enabled .horizontal-sticky{position:relative!important;top:auto!important;height:auto!important;min-height:auto!important}
    body.a11y-enabled .horizontal-viewport{overflow:visible!important}
    body.a11y-enabled .horizontal-rail{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;width:min(1520px,100%)!important;margin:40px auto 0!important;padding:0!important;transform:none!important}
    body.a11y-enabled .horizontal-rail>.service-card,body.a11y-enabled .horizontal-rail>.doctor-card{width:100%!important;max-width:none!important;min-width:0!important;flex:none!important;transform:none!important}
    body.a11y-enabled .service-card,body.a11y-enabled .case-card,body.a11y-enabled .review-card,body.a11y-enabled .insight-feature,body.a11y-enabled .insight-item{background:var(--a11y-bg)!important;color:var(--a11y-text)!important;border:2px solid var(--a11y-border)!important}
    body.a11y-enabled .footer-search,body.a11y-enabled input,body.a11y-enabled textarea{border:2px solid var(--a11y-border)!important;background:var(--a11y-bg)!important;color:var(--a11y-text)!important}
    body.a11y-enabled .footer-search-results{background:var(--a11y-bg)!important;border-color:var(--a11y-border)!important}
    body.a11y-enabled[data-a11y-spacing="wide"] p,
    body.a11y-enabled[data-a11y-spacing="wide"] a,
    body.a11y-enabled[data-a11y-spacing="wide"] button,
    body.a11y-enabled[data-a11y-spacing="wide"] li{letter-spacing:.09em!important;word-spacing:.14em!important;line-height:1.9!important}
    body.a11y-enabled[data-a11y-font="normal"] p,
    body.a11y-enabled[data-a11y-font="normal"] a,
    body.a11y-enabled[data-a11y-font="normal"] button,
    body.a11y-enabled[data-a11y-font="normal"] label,
    body.a11y-enabled[data-a11y-font="normal"] input,
    body.a11y-enabled[data-a11y-font="normal"] textarea{font-size:18px!important}
    body.a11y-enabled[data-a11y-font="large"] p,
    body.a11y-enabled[data-a11y-font="large"] a,
    body.a11y-enabled[data-a11y-font="large"] button,
    body.a11y-enabled[data-a11y-font="large"] label,
    body.a11y-enabled[data-a11y-font="large"] input,
    body.a11y-enabled[data-a11y-font="large"] textarea{font-size:21px!important}
    body.a11y-enabled[data-a11y-font="xlarge"] p,
    body.a11y-enabled[data-a11y-font="xlarge"] a,
    body.a11y-enabled[data-a11y-font="xlarge"] button,
    body.a11y-enabled[data-a11y-font="xlarge"] label,
    body.a11y-enabled[data-a11y-font="xlarge"] input,
    body.a11y-enabled[data-a11y-font="xlarge"] textarea{font-size:25px!important}
    body.a11y-enabled[data-a11y-images="hidden"] main img,
    body.a11y-enabled[data-a11y-images="hidden"] main video,
    body.a11y-enabled[data-a11y-images="hidden"] main iframe,
    body.a11y-enabled[data-a11y-images="hidden"] .hero-media,
    body.a11y-enabled[data-a11y-images="hidden"] .sequence-visual,
    body.a11y-enabled[data-a11y-images="hidden"] .intro-media,
    body.a11y-enabled[data-a11y-images="hidden"] .doctor-photo,
    body.a11y-enabled[data-a11y-images="hidden"] .media-video,
    body.a11y-enabled[data-a11y-images="hidden"] .contact-info-photo{display:none!important}

    @media (max-width:1100px){
      .footer-top{grid-template-columns:1fr 1fr}
      .footer-search-wrap{grid-column:1/-1;max-width:520px}
      .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .a11y-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
    }
    @media (max-width:700px){
      .site-footer{border-radius:26px 26px 0 0;padding-left:20px;padding-right:20px}
      .footer-top{grid-template-columns:1fr;gap:24px;align-items:start}
      .footer-search-wrap{grid-column:auto;width:100%;max-width:none}
      .footer-accessibility{font-size:13px}
      .footer-grid{grid-template-columns:1fr;gap:36px;padding-bottom:38px}
      .footer-bottom{align-items:flex-start;flex-direction:column}
      .footer-bottom-note{text-align:left}
      .a11y-panel{left:8px;right:8px;top:8px;max-height:calc(100svh - 16px);overflow:auto}
      .a11y-panel-inner{padding:16px;border-radius:13px}
      .a11y-controls{grid-template-columns:1fr}
      .a11y-panel-actions{justify-content:stretch}
      .a11y-action{flex:1 1 auto}
      body.a11y-enabled .horizontal-rail{grid-template-columns:1fr!important}
      body.a11y-enabled .sequence-intro{min-height:auto!important;padding:56px 20px!important}
    }



    /* Accessible viewing mode v2 — persistent toolbar and simplified layout */
    .footer-brand-text{display:none}
    .a11y-panel{display:none}

    body.a11y-enabled{
      --a11y-bg:#fff;
      --a11y-text:#000;
      --a11y-muted:#222;
      --a11y-border:#000;
      --a11y-accent:#000;
      --a11y-accent-text:#fff;
      --a11y-base-size:18px;
      --a11y-line-height:1.6;
      --a11y-letter-spacing:0;
      --a11y-font-family:Arial,Helvetica,sans-serif;
      margin:0!important;
      background:var(--a11y-bg)!important;
      color:var(--a11y-text)!important;
      font-family:var(--a11y-font-family)!important;
      font-size:var(--a11y-base-size)!important;
      line-height:var(--a11y-line-height)!important;
    }
    body.a11y-enabled[data-a11y-theme="dark"]{
      --a11y-bg:#000;
      --a11y-text:#fff;
      --a11y-muted:#f2f2f2;
      --a11y-border:#fff;
      --a11y-accent:#fff;
      --a11y-accent-text:#000;
    }
    body.a11y-enabled[data-a11y-theme="blue"]{
      --a11y-bg:#b8ddff;
      --a11y-text:#00264d;
      --a11y-muted:#00264d;
      --a11y-border:#00264d;
      --a11y-accent:#00264d;
      --a11y-accent-text:#fff;
    }
    body.a11y-enabled[data-a11y-font="large"]{--a11y-base-size:21px}
    body.a11y-enabled[data-a11y-font="xlarge"]{--a11y-base-size:24px}
    body.a11y-enabled[data-a11y-family="serif"]{--a11y-font-family:"Times New Roman",Times,serif}
    body.a11y-enabled[data-a11y-letter="medium"]{--a11y-letter-spacing:.06em}
    body.a11y-enabled[data-a11y-letter="wide"]{--a11y-letter-spacing:.12em}
    body.a11y-enabled[data-a11y-line="medium"]{--a11y-line-height:1.85}
    body.a11y-enabled[data-a11y-line="wide"]{--a11y-line-height:2.1}

    body.a11y-enabled .a11y-panel{
      position:sticky!important;
      inset:auto!important;
      top:0!important;
      z-index:5000!important;
      display:block!important;
      visibility:visible!important;
      opacity:1!important;
      transform:none!important;
      width:100%!important;
      max-height:none!important;
      overflow:visible!important;
      border:0!important;
      background:#fff!important;
      color:#000!important;
      box-shadow:0 3px 0 #000!important;
    }
    body.a11y-enabled .a11y-panel-inner{
      width:min(1480px,100%)!important;
      margin:0 auto!important;
      padding:14px clamp(18px,3vw,46px)!important;
      border:0!important;
      border-radius:0!important;
      background:#fff!important;
      color:#000!important;
      box-shadow:none!important;
      font-family:Arial,Helvetica,sans-serif!important;
    }
    .a11y-panel-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0}
    .a11y-panel-heading{min-width:240px}
    .a11y-panel-kicker{margin:0 0 2px!important;color:#333!important;font:700 12px/1.2 Arial,sans-serif!important;letter-spacing:.05em!important;text-transform:uppercase}
    .a11y-panel-title{margin:0!important;color:#000!important;font:800 23px/1.15 Arial,sans-serif!important;letter-spacing:0!important}
    .a11y-normal-version{
      flex:0 0 auto;
      min-height:46px;
      padding:9px 16px;
      border:2px solid #000;
      border-radius:4px;
      background:#000;
      color:#fff;
      cursor:pointer;
      font:800 15px/1.2 Arial,sans-serif;
    }
    .a11y-panel-body{display:block}
    .a11y-panel.is-collapsed .a11y-panel-body{display:none}
    .a11y-controls{
      display:grid!important;
      grid-template-columns:repeat(6,minmax(155px,1fr))!important;
      gap:10px!important;
      margin-top:13px!important;
    }
    .a11y-group{
      min-width:0!important;
      margin:0!important;
      padding:9px!important;
      border:2px solid #000!important;
      border-radius:4px!important;
      background:#fff!important;
      color:#000!important;
    }
    .a11y-group legend{padding:0 5px!important;color:#000!important;font:800 13px/1.2 Arial,sans-serif!important}
    .a11y-options{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
    .a11y-option,.a11y-action{
      min-height:42px!important;
      padding:7px 10px!important;
      border:2px solid #000!important;
      border-radius:3px!important;
      background:#fff!important;
      color:#000!important;
      cursor:pointer!important;
      font:800 14px/1.15 Arial,sans-serif!important;
      text-decoration:none!important;
    }
    .a11y-option:hover,.a11y-option:focus-visible,.a11y-action:hover,.a11y-action:focus-visible,.a11y-normal-version:hover,.a11y-normal-version:focus-visible{outline:3px solid #ffbf00!important;outline-offset:2px!important}
    .a11y-option[aria-pressed="true"]{background:#000!important;color:#fff!important}
    .a11y-font-sample{width:43px!important;padding-inline:4px!important}
    .a11y-font-sample-1{font-size:16px!important}.a11y-font-sample-2{font-size:21px!important}.a11y-font-sample-3{font-size:26px!important}
    .a11y-color-sample{width:43px!important;padding-inline:4px!important;font-size:20px!important}
    .a11y-color-light{background:#fff!important;color:#000!important}
    .a11y-color-dark{background:#000!important;color:#fff!important}
    .a11y-color-blue{background:#b8ddff!important;color:#00264d!important;border-color:#00264d!important}
    .a11y-color-sample[aria-pressed="true"]{box-shadow:inset 0 0 0 3px #ffbf00!important}
    .a11y-serif-sample{font-family:"Times New Roman",Times,serif!important}
    .a11y-panel-actions{display:flex!important;justify-content:flex-end!important;gap:8px!important;margin-top:10px!important}

    body.a11y-enabled *,body.a11y-enabled *::before,body.a11y-enabled *::after{
      animation:none!important;
      transition:none!important;
      scroll-behavior:auto!important;
      text-shadow:none!important;
    }
    body.a11y-enabled .page-loader,
    body.a11y-enabled .menu-overlay,
    body.a11y-enabled .menu-toggle,
    body.a11y-enabled .floating-book,
    body.a11y-enabled .sequence-visual,
    body.a11y-enabled .sequence-moving-title,
    body.a11y-enabled .sequence-small-text,
    body.a11y-enabled .sequence-scroll,
    body.a11y-enabled .carousel-controls,
    body.a11y-enabled .media-video,
    body.a11y-enabled video,
    body.a11y-enabled iframe,
    body.a11y-enabled [aria-hidden="true"].decorative{display:none!important}

    body.a11y-enabled .site-header{
      position:relative!important;
      inset:auto!important;
      height:auto!important;
      min-height:0!important;
      padding:18px clamp(18px,3vw,46px)!important;
      border:0!important;
      border-bottom:2px solid var(--a11y-border)!important;
      background:var(--a11y-bg)!important;
      color:var(--a11y-text)!important;
      box-shadow:none!important;
      backdrop-filter:none!important;
      -webkit-backdrop-filter:none!important;
    }
    body.a11y-enabled .site-header::after{display:none!important}
    body.a11y-enabled .header-grid{
      width:min(1480px,100%)!important;
      margin:0 auto!important;
      display:grid!important;
      grid-template-columns:auto 1fr auto!important;
      grid-template-areas:"brand nav actions"!important;
      align-items:center!important;
      gap:18px 30px!important;
    }
    body.a11y-enabled .brand{grid-area:brand!important;position:static!important;transform:none!important;color:var(--a11y-text)!important}
    body.a11y-enabled .brand img{max-width:150px!important;height:auto!important;filter:none!important}
    body.a11y-enabled[data-a11y-theme="dark"] .brand img{filter:brightness(0) invert(1)!important}
    body.a11y-enabled .brand-word{display:none!important}
    body.a11y-enabled .desktop-nav{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:8px 18px!important;position:static!important;transform:none!important}
    body.a11y-enabled .desktop-nav-left{grid-area:nav!important}
    body.a11y-enabled .desktop-nav-right{grid-area:nav!important;margin-left:auto!important}
    body.a11y-enabled .desktop-nav a{color:var(--a11y-text)!important;font-size:1rem!important;font-weight:800!important;text-decoration:underline!important;text-underline-offset:4px!important}
    body.a11y-enabled .header-actions{grid-area:actions!important;position:static!important;display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:10px!important;transform:none!important}
    body.a11y-enabled .phone-link,body.a11y-enabled .header-book{display:inline-flex!important;color:var(--a11y-text)!important;font-size:1rem!important}

    body.a11y-enabled main{display:block!important;background:var(--a11y-bg)!important;color:var(--a11y-text)!important}
    body.a11y-enabled main>section,
    body.a11y-enabled .site-footer,
    body.a11y-enabled .detail-sheet,
    body.a11y-enabled .booking-drawer-panel,
    body.a11y-enabled .contact-form-card{
      background:var(--a11y-bg)!important;
      background-image:none!important;
      color:var(--a11y-text)!important;
      box-shadow:none!important;
    }
    body.a11y-enabled main>section{
      min-height:0!important;
      height:auto!important;
      overflow:visible!important;
      padding:54px clamp(18px,3vw,46px)!important;
      border-bottom:2px solid var(--a11y-border)!important;
    }
    body.a11y-enabled .section-inner{width:min(1180px,100%)!important;margin:0 auto!important}
    body.a11y-enabled [data-reveal]{opacity:1!important;visibility:visible!important;transform:none!important}
    body.a11y-enabled h1,body.a11y-enabled h2,body.a11y-enabled h3,body.a11y-enabled h4,body.a11y-enabled h5,body.a11y-enabled h6,
    body.a11y-enabled .display-title,body.a11y-enabled .detail-title,body.a11y-enabled .sequence-title,body.a11y-enabled .footer-phone{
      margin-top:0!important;
      color:var(--a11y-text)!important;
      font-family:var(--a11y-font-family)!important;
      font-style:normal!important;
      font-weight:800!important;
      letter-spacing:var(--a11y-letter-spacing)!important;
      line-height:1.18!important;
      text-transform:none!important;
    }
    body.a11y-enabled h1,body.a11y-enabled .sequence-title{font-size:3rem!important}
    body.a11y-enabled h2,body.a11y-enabled .display-title,body.a11y-enabled .detail-title{font-size:2.35rem!important}
    body.a11y-enabled h3{font-size:1.55rem!important}
    body.a11y-enabled h4{font-size:1.25rem!important}
    body.a11y-enabled p,body.a11y-enabled li,body.a11y-enabled a,body.a11y-enabled button,body.a11y-enabled label,body.a11y-enabled input,body.a11y-enabled textarea,body.a11y-enabled select,body.a11y-enabled blockquote,body.a11y-enabled cite{
      color:var(--a11y-text)!important;
      font-family:var(--a11y-font-family)!important;
      font-size:1rem!important;
      letter-spacing:var(--a11y-letter-spacing)!important;
      line-height:var(--a11y-line-height)!important;
    }
    body.a11y-enabled small,body.a11y-enabled .section-kicker,body.a11y-enabled .case-tag,body.a11y-enabled .detail-role{font-size:.9rem!important;color:var(--a11y-muted)!important;letter-spacing:var(--a11y-letter-spacing)!important}
    body.a11y-enabled a{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:4px!important}
    body.a11y-enabled a:hover{opacity:1!important}
    body.a11y-enabled :focus-visible{outline:4px solid #ffbf00!important;outline-offset:4px!important}

    body.a11y-enabled .button,
    body.a11y-enabled .header-book,
    body.a11y-enabled .footer-book,
    body.a11y-enabled .contact-quick-action,
    body.a11y-enabled .footer-link-button,
    body.a11y-enabled .doctor-service-action,
    body.a11y-enabled .detail-close,
    body.a11y-enabled .contact-form-close{
      min-height:48px!important;
      padding:10px 16px!important;
      border:2px solid var(--a11y-border)!important;
      border-radius:4px!important;
      background:var(--a11y-accent)!important;
      color:var(--a11y-accent-text)!important;
      box-shadow:none!important;
      text-decoration:none!important;
    }

    body.a11y-enabled .hero.hero-sequence{padding:0!important;border-bottom:2px solid var(--a11y-border)!important}
    body.a11y-enabled .hero-sticky{position:relative!important;inset:auto!important;height:auto!important;min-height:0!important}
    body.a11y-enabled .sequence-intro{position:relative!important;inset:auto!important;display:block!important;width:100%!important;min-height:0!important;padding:64px clamp(18px,3vw,46px)!important;background:var(--a11y-bg)!important;color:var(--a11y-text)!important}
    body.a11y-enabled .sequence-intro-content{width:min(1180px,100%)!important;max-width:none!important;margin:0 auto!important}
    body.a11y-enabled .sequence-copy{max-width:850px!important}
    body.a11y-enabled .sequence-actions{display:flex!important;flex-wrap:wrap!important;gap:12px!important}

    body.a11y-enabled .intro-grid,
    body.a11y-enabled .philosophy-head,
    body.a11y-enabled .journey-grid,
    body.a11y-enabled .horizontal-head,
    body.a11y-enabled .media-shell,
    body.a11y-enabled .insight-layout,
    body.a11y-enabled .contact-grid,
    body.a11y-enabled .all-services-head,
    body.a11y-enabled .all-doctors-head,
    body.a11y-enabled .price-section-head{
      display:grid!important;
      grid-template-columns:1fr!important;
      gap:28px!important;
      min-height:0!important;
    }
    body.a11y-enabled .journey-sticky,body.a11y-enabled .price-copy,body.a11y-enabled .insight-feature{position:relative!important;top:auto!important}
    body.a11y-enabled .horizontal-section{padding:54px clamp(18px,3vw,46px)!important}
    body.a11y-enabled .horizontal-sticky{position:relative!important;inset:auto!important;height:auto!important;min-height:0!important}
    body.a11y-enabled .horizontal-viewport{overflow:visible!important}
    body.a11y-enabled .horizontal-rail,
    body.a11y-enabled .review-rail,
    body.a11y-enabled .cases-grid,
    body.a11y-enabled .all-services-grid,
    body.a11y-enabled .all-doctors-grid,
    body.a11y-enabled .price-groups,
    body.a11y-enabled .insight-list,
    body.a11y-enabled .principles{
      display:grid!important;
      grid-template-columns:repeat(2,minmax(0,1fr))!important;
      gap:18px!important;
      width:min(1180px,100%)!important;
      margin:30px auto 0!important;
      padding:0!important;
      transform:none!important;
      overflow:visible!important;
    }
    body.a11y-enabled .horizontal-rail>* ,body.a11y-enabled .review-rail>*{
      width:100%!important;
      max-width:none!important;
      min-width:0!important;
      flex:none!important;
      transform:none!important;
      opacity:1!important;
    }
    body.a11y-enabled .service-card,
    body.a11y-enabled .doctor-card,
    body.a11y-enabled .case-card,
    body.a11y-enabled .review-card,
    body.a11y-enabled .insight-feature,
    body.a11y-enabled .insight-item,
    body.a11y-enabled .principle,
    body.a11y-enabled .journey-step,
    body.a11y-enabled .price-group-card,
    body.a11y-enabled .contact-info-card,
    body.a11y-enabled .doctor-profile-service-card,
    body.a11y-enabled .doctor-course-card,
    body.a11y-enabled .doctor-education-entry{
      position:relative!important;
      inset:auto!important;
      min-height:0!important;
      height:auto!important;
      padding:22px!important;
      border:2px solid var(--a11y-border)!important;
      border-radius:4px!important;
      background:var(--a11y-bg)!important;
      background-image:none!important;
      color:var(--a11y-text)!important;
      box-shadow:none!important;
      transform:none!important;
    }
    body.a11y-enabled .service-card::before,body.a11y-enabled .service-card::after,body.a11y-enabled .case-card::after{display:none!important}
    body.a11y-enabled .service-card-body{position:relative!important;inset:auto!important;margin-top:24px!important}
    body.a11y-enabled .service-card h3{font-size:1.55rem!important}
    body.a11y-enabled .doctor-photo{border:2px solid var(--a11y-border)!important;border-radius:4px!important;overflow:hidden!important;background:var(--a11y-bg)!important}
    body.a11y-enabled .doctor-photo::after{display:none!important}
    body.a11y-enabled .doctor-photo img{transform:none!important}
    body.a11y-enabled .case-card:nth-child(2){transform:none!important}
    body.a11y-enabled .review-card blockquote{margin:16px 0!important;font-size:1.25rem!important}
    body.a11y-enabled .reviews{background:var(--a11y-bg)!important}

    body.a11y-enabled .media-section{padding:54px clamp(18px,3vw,46px)!important}
    body.a11y-enabled .media-shell{width:min(1180px,100%)!important;margin:0 auto!important}
    body.a11y-enabled .media-copy{padding:0!important;max-width:900px!important}
    body.a11y-enabled .standalone-section-head{border-color:var(--a11y-border)!important;color:var(--a11y-text)!important}
    body.a11y-enabled .standalone-home-link{color:var(--a11y-text)!important}

    body.a11y-enabled .contact-map-shell{width:min(1180px,100%)!important;margin:0 auto!important;display:grid!important;gap:20px!important;min-height:0!important}
    body.a11y-enabled .contact-map-overlay{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:16px!important;padding:0!important}
    body.a11y-enabled .contact-info-card{display:grid!important;grid-template-columns:auto 1fr!important;gap:18px!important}
    body.a11y-enabled .contact-quick-actions{position:relative!important;inset:auto!important;display:flex!important;flex-wrap:wrap!important;gap:10px!important}
    body.a11y-enabled .contact-form-card{
      position:relative!important;
      inset:auto!important;
      display:block!important;
      visibility:visible!important;
      opacity:1!important;
      transform:none!important;
      width:100%!important;
      max-width:none!important;
      padding:24px!important;
      border:2px solid var(--a11y-border)!important;
      border-radius:4px!important;
    }
    body.a11y-enabled .contact-form-close{display:none!important}
    body.a11y-enabled input,body.a11y-enabled textarea,body.a11y-enabled select{
      width:100%!important;
      min-height:48px!important;
      padding:10px 12px!important;
      border:2px solid var(--a11y-border)!important;
      border-radius:3px!important;
      background:var(--a11y-bg)!important;
      color:var(--a11y-text)!important;
    }

    body.a11y-enabled .site-footer{
      margin:0!important;
      padding:54px clamp(18px,3vw,46px)!important;
      border:0!important;
      border-radius:0!important;
      color:var(--a11y-text)!important;
    }
    body.a11y-enabled .site-footer::before{display:none!important}
    body.a11y-enabled .footer-shell{width:min(1180px,100%)!important}
    body.a11y-enabled .footer-top{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:20px!important;padding-bottom:24px!important;border-bottom:2px solid var(--a11y-border)!important}
    body.a11y-enabled .footer-search-wrap{display:none!important}
    body.a11y-enabled .footer-accessibility{display:none!important}
    body.a11y-enabled .footer-logo{filter:none!important}
    body.a11y-enabled[data-a11y-theme="dark"] .footer-logo{filter:brightness(0) invert(1)!important}
    body.a11y-enabled .footer-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:34px!important;padding:34px 0!important}
    body.a11y-enabled .footer-column-title,body.a11y-enabled .footer-clinic-copy,body.a11y-enabled .footer-contact-line,body.a11y-enabled .footer-bottom{color:var(--a11y-text)!important}
    body.a11y-enabled .footer-nav{gap:12px!important}
    body.a11y-enabled .footer-nav a,body.a11y-enabled .footer-link-button{width:auto!important;color:var(--a11y-text)!important;text-decoration:underline!important}
    body.a11y-enabled .footer-bottom{align-items:flex-start!important;border-top:2px solid var(--a11y-border)!important}

    body.a11y-enabled[data-a11y-images="grayscale"] main img,
    body.a11y-enabled[data-a11y-images="grayscale"] .detail-sheet img{filter:grayscale(1) contrast(1.15)!important}
    body.a11y-enabled[data-a11y-images="hidden"] main img,
    body.a11y-enabled[data-a11y-images="hidden"] .detail-sheet img,
    body.a11y-enabled[data-a11y-images="hidden"] .footer-logo,
    body.a11y-enabled[data-a11y-images="hidden"] .doctor-photo,
    body.a11y-enabled[data-a11y-images="hidden"] .intro-media,
    body.a11y-enabled[data-a11y-images="hidden"] .contact-info-photo,
    body.a11y-enabled[data-a11y-images="hidden"] picture{display:none!important}
    body.a11y-enabled[data-a11y-images="hidden"] .footer-brand-text{display:inline!important;color:var(--a11y-text)!important;font:800 2rem/1 var(--a11y-font-family)!important}
    body.a11y-enabled[data-a11y-images="hidden"] .brand img{display:none!important}
    body.a11y-enabled[data-a11y-images="hidden"] .brand-word{display:inline!important;color:var(--a11y-text)!important;font:800 1.6rem/1 var(--a11y-font-family)!important}

    body.a11y-enabled .detail-overlay,body.a11y-enabled .booking-drawer{background:rgba(0,0,0,.75)!important}
    body.a11y-enabled .detail-sheet,body.a11y-enabled .booking-drawer-panel{border:3px solid var(--a11y-border)!important;border-radius:4px!important}

    @media (max-width:1180px){
      .a11y-controls{grid-template-columns:repeat(3,minmax(180px,1fr))!important}
      body.a11y-enabled .header-grid{grid-template-columns:1fr auto!important;grid-template-areas:"brand actions" "nav nav"!important}
      body.a11y-enabled .desktop-nav-left,body.a11y-enabled .desktop-nav-right{grid-area:nav!important;margin:0!important}
      body.a11y-enabled .desktop-nav-right{justify-content:flex-end!important;margin-top:-52px!important}
    }
    @media (max-width:760px){
      body.a11y-enabled{--a11y-base-size:17px}
      body.a11y-enabled[data-a11y-font="large"]{--a11y-base-size:20px}
      body.a11y-enabled[data-a11y-font="xlarge"]{--a11y-base-size:22px}
      body.a11y-enabled .a11y-panel{position:relative!important}
      body.a11y-enabled .a11y-panel-inner{padding:12px 14px!important}
      .a11y-panel-head{align-items:flex-start;flex-direction:column;gap:10px}
      .a11y-normal-version{width:100%}
      .a11y-controls{grid-template-columns:1fr!important}
      .a11y-panel-actions{justify-content:stretch!important;flex-direction:column!important}
      .a11y-action{width:100%!important}
      body.a11y-enabled .header-grid{display:flex!important;flex-direction:column!important;align-items:flex-start!important}
      body.a11y-enabled .desktop-nav-left,body.a11y-enabled .desktop-nav-right{display:flex!important;margin:0!important;justify-content:flex-start!important}
      body.a11y-enabled .header-actions{width:100%!important}
      body.a11y-enabled h1,body.a11y-enabled .sequence-title{font-size:2.35rem!important}
      body.a11y-enabled h2,body.a11y-enabled .display-title,body.a11y-enabled .detail-title{font-size:1.85rem!important}
      body.a11y-enabled main>section,body.a11y-enabled .horizontal-section,body.a11y-enabled .media-section{padding:38px 18px!important}
      body.a11y-enabled .horizontal-rail,body.a11y-enabled .review-rail,body.a11y-enabled .cases-grid,body.a11y-enabled .all-services-grid,body.a11y-enabled .all-doctors-grid,body.a11y-enabled .price-groups,body.a11y-enabled .insight-list,body.a11y-enabled .principles{grid-template-columns:1fr!important}
      body.a11y-enabled .footer-grid{grid-template-columns:1fr!important}
      body.a11y-enabled .footer-bottom{flex-direction:column!important}
      body.a11y-enabled .contact-info-card{grid-template-columns:1fr!important}
    }



    /* Final specificity fixes for the accessibility toolbar */
    body.a11y-enabled .a11y-panel,
    body.a11y-enabled .a11y-panel p,
    body.a11y-enabled .a11y-panel h2,
    body.a11y-enabled .a11y-panel legend,
    body.a11y-enabled .a11y-panel button,
    body.a11y-enabled .a11y-panel span{
      color:#000!important;
      font-family:Arial,Helvetica,sans-serif!important;
      letter-spacing:0!important;
      line-height:1.2!important;
    }
    body.a11y-enabled .a11y-panel-title{font-size:23px!important;font-weight:800!important;color:#000!important}
    body.a11y-enabled .a11y-panel-kicker{font-size:12px!important;font-weight:700!important;color:#333!important}
    body.a11y-enabled .a11y-group legend{font-size:13px!important;font-weight:800!important;color:#000!important}
    body.a11y-enabled .a11y-option,
    body.a11y-enabled .a11y-action{font-size:14px!important;font-weight:800!important;color:#000!important;background:#fff!important}
    body.a11y-enabled .a11y-option[aria-pressed="true"]{background:#000!important;color:#fff!important}
    body.a11y-enabled .a11y-font-sample-1{font-size:16px!important}
    body.a11y-enabled .a11y-font-sample-2{font-size:21px!important}
    body.a11y-enabled .a11y-font-sample-3{font-size:26px!important}
    body.a11y-enabled .a11y-color-light{background:#fff!important;color:#000!important}
    body.a11y-enabled .a11y-color-dark{background:#000!important;color:#fff!important}
    body.a11y-enabled .a11y-color-blue{background:#b8ddff!important;color:#00264d!important}
    body.a11y-enabled .a11y-color-sample[aria-pressed="true"]{box-shadow:inset 0 0 0 3px #ffbf00!important}
    body.a11y-enabled .a11y-normal-version{font-size:15px!important;font-weight:800!important;color:#fff!important;background:#000!important}
    body.a11y-enabled .header-grid{
      grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto!important;
      grid-template-areas:"brand navleft navright actions"!important;
    }
    body.a11y-enabled .desktop-nav-left{grid-area:navleft!important;margin:0!important}
    body.a11y-enabled .desktop-nav-right{grid-area:navright!important;margin:0!important;justify-content:flex-end!important}
    @media (max-width:1180px){
      body.a11y-enabled .header-grid{
        grid-template-columns:1fr auto!important;
        grid-template-areas:"brand actions" "navleft navleft" "navright navright"!important;
      }
      body.a11y-enabled .desktop-nav-left,
      body.a11y-enabled .desktop-nav-right{margin:0!important;justify-content:flex-start!important}
    }
    @media (max-width:760px){
      body.a11y-enabled .header-grid{display:flex!important}
    }



    /* Accessibility toolbar compact layout and mobile behavior */
    .a11y-panel-head-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
    .a11y-panel-toggle{
      min-height:46px;
      padding:9px 16px;
      border:2px solid #000;
      border-radius:4px;
      background:#fff;
      color:#000;
      cursor:pointer;
      font:800 15px/1.2 Arial,sans-serif;
    }
    .a11y-controls{align-items:start!important}
    .a11y-group{align-self:start!important}
    .a11y-panel.is-collapsed .a11y-panel-inner{padding-top:10px!important;padding-bottom:10px!important}
    .a11y-panel.is-collapsed .a11y-panel-kicker{display:none!important}

    body.a11y-enabled .a11y-panel .a11y-option,
    body.a11y-enabled .a11y-panel .a11y-action,
    body.a11y-enabled .a11y-panel .a11y-panel-toggle,
    body.a11y-enabled .a11y-panel .a11y-normal-version{
      font-family:Arial,Helvetica,sans-serif!important;
      letter-spacing:0!important;
      line-height:1.2!important;
    }
    body.a11y-enabled .a11y-panel .a11y-option,
    body.a11y-enabled .a11y-panel .a11y-action{font-size:14px!important}
    body.a11y-enabled .a11y-panel .a11y-font-sample-1{font-size:16px!important}
    body.a11y-enabled .a11y-panel .a11y-font-sample-2{font-size:21px!important}
    body.a11y-enabled .a11y-panel .a11y-font-sample-3{font-size:26px!important}
    body.a11y-enabled .a11y-panel .a11y-panel-toggle{font-size:15px!important;color:#000!important;background:#fff!important}
    body.a11y-enabled .a11y-panel .a11y-normal-version{font-size:15px!important;color:#fff!important;background:#000!important}
    body.a11y-enabled .a11y-panel .a11y-color-light{background:#fff!important;color:#000!important}
    body.a11y-enabled .a11y-panel .a11y-color-dark{background:#000!important;color:#fff!important}
    body.a11y-enabled .a11y-panel .a11y-color-blue{background:#b8ddff!important;color:#00264d!important}

    @media (max-width:760px){
      body.a11y-enabled .a11y-panel{position:sticky!important;top:0!important}
      .a11y-panel-head{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
      .a11y-panel-head-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
      .a11y-panel-toggle,.a11y-normal-version{width:100%!important}
      .a11y-panel.is-collapsed .a11y-panel-head{grid-template-columns:1fr!important}
      .a11y-panel.is-collapsed .a11y-panel-head-actions{grid-template-columns:1fr 1fr!important}
      .a11y-panel.is-collapsed .a11y-panel-title{font-size:20px!important}
      .a11y-panel.is-collapsed .a11y-panel-toggle,
      .a11y-panel.is-collapsed .a11y-normal-version{min-height:42px!important;padding:7px 8px!important;font-size:13px!important}
    }


    /* Accessibility hero: override scroll-animation inline styles */
    body.a11y-enabled .hero-sticky{
      background:var(--a11y-bg)!important;
    }
    body.a11y-enabled .sequence-intro,
    body.a11y-enabled .sequence-intro-content,
    body.a11y-enabled .sequence-title,
    body.a11y-enabled .sequence-copy,
    body.a11y-enabled .sequence-actions{
      opacity:1!important;
      visibility:visible!important;
      transform:none!important;
    }



    /* Accessibility v3: +/- font control, legal footer and final fixes */
    .a11y-font-stepper{
      display:grid;
      grid-template-columns:48px minmax(74px,auto) 48px;
      align-items:stretch;
      gap:6px;
      width:max-content;
      max-width:100%;
    }
    .a11y-font-button{
      display:grid;
      place-items:center;
      min-width:48px;
      min-height:44px;
      padding:0;
      border:2px solid #000;
      border-radius:3px;
      background:#fff;
      color:#000;
      cursor:pointer;
      font:900 26px/1 Arial,Helvetica,sans-serif;
    }
    .a11y-font-button:hover,.a11y-font-button:focus-visible{outline:3px solid #ffbf00!important;outline-offset:2px!important}
    .a11y-font-button:disabled{cursor:not-allowed;opacity:.42}
    .a11y-font-value{
      display:grid;
      place-items:center;
      min-height:44px;
      padding:0 12px;
      border:2px solid #000;
      border-radius:3px;
      background:#000;
      color:#fff;
      font:800 15px/1 Arial,Helvetica,sans-serif;
      white-space:nowrap;
    }
    .a11y-font-hint{margin:7px 0 0!important;color:#333!important;font:700 11px/1.35 Arial,Helvetica,sans-serif!important;letter-spacing:0!important}

    .footer-legal{display:grid;gap:4px;max-width:620px}
    .footer-legal p{margin:0}
    .footer-legal a{color:inherit;text-decoration:underline;text-underline-offset:3px}
    .footer-legal a:hover,.footer-legal a:focus-visible{color:var(--white)}

    body.a11y-enabled{font-size:var(--a11y-base-size,18px)!important}
    body.a11y-enabled main :where(p,li,a,button,label,input,textarea,select,blockquote,cite),
    body.a11y-enabled .site-footer :where(p,li,a,button,label,input,textarea,select,blockquote,cite){font-size:1rem!important}
    body.a11y-enabled main :where(span:not([aria-hidden="true"])),
    body.a11y-enabled .site-footer :where(span:not([aria-hidden="true"])){font-size:inherit}
    body.a11y-enabled .a11y-panel{font-size:16px!important}
    body.a11y-enabled .a11y-font-button{color:#000!important;background:#fff!important;font:900 26px/1 Arial,Helvetica,sans-serif!important;letter-spacing:0!important}
    body.a11y-enabled .a11y-font-value{color:#fff!important;background:#000!important;font:800 15px/1 Arial,Helvetica,sans-serif!important;letter-spacing:0!important}
    body.a11y-enabled .a11y-font-hint{color:#333!important;font:700 11px/1.35 Arial,Helvetica,sans-serif!important}
    body.a11y-enabled .footer-legal{color:var(--a11y-text)!important}
    body.a11y-enabled .footer-legal a{color:var(--a11y-text)!important}
    body.a11y-enabled .footer-bottom-note{max-width:520px!important}

    @media (max-width:760px){
      .a11y-font-stepper{width:100%;grid-template-columns:52px 1fr 52px}
      .footer-legal{max-width:none}
    }


    /* Footer v4: compact layout matching the reference */
    .site-footer{
      padding:clamp(42px,4.6vw,66px) var(--page-pad) max(28px,env(safe-area-inset-bottom));
    }
    .footer-shell{
      --footer-columns:minmax(240px,1.15fr) minmax(150px,.66fr) minmax(245px,1fr) minmax(270px,1.05fr);
    }
    .footer-top,
    .footer-grid{
      grid-template-columns:var(--footer-columns);
      column-gap:clamp(34px,5vw,78px);
    }
    .footer-top{
      align-items:center;
      padding:0;
      border:0;
    }
    .footer-brand{grid-column:1}
    .footer-accessibility{grid-column:2 / 4;justify-self:start}
    .footer-search-wrap{grid-column:4}
    .footer-grid{
      align-items:stretch;
      padding:clamp(24px,3vw,38px) 0 0;
    }
    .footer-primary{
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      min-height:100%;
    }
    .footer-primary .footer-book{
      width:min(100%,310px);
      min-height:52px;
    }
    .footer-primary .footer-legal{
      margin-top:auto;
      padding-top:24px;
    }
    .footer-legal{
      display:grid;
      gap:3px;
      max-width:370px;
      color:rgba(255,255,255,.78);
      font-size:12px;
      line-height:1.55;
    }
    .footer-legal p{margin:0}
    .footer-legal a{color:inherit;text-decoration:underline;text-underline-offset:3px}
    .footer-legal a:hover,.footer-legal a:focus-visible{color:var(--white)}
    .footer-column-title{margin-bottom:14px}
    .footer-nav{gap:8px}
    .footer-contact-list{gap:10px}

    body.a11y-enabled .footer-top{
      display:grid!important;
      grid-template-columns:1fr!important;
      gap:0!important;
      padding:0!important;
      border:0!important;
    }
    body.a11y-enabled .footer-grid{
      padding:28px 0 0!important;
      border:0!important;
    }
    body.a11y-enabled .footer-primary .footer-legal{
      margin-top:auto!important;
      padding-top:20px!important;
    }
    body.a11y-enabled .footer-legal{
      color:var(--a11y-text)!important;
      font-size:1rem!important;
    }

    @media (max-width:1100px){
      .footer-shell{--footer-columns:minmax(220px,1fr) minmax(145px,.7fr) minmax(220px,1fr) minmax(245px,1fr)}
      .footer-phone{font-size:clamp(24px,3vw,32px)}
    }
    @media (max-width:900px){
      .footer-top{grid-template-columns:1fr 1fr;row-gap:20px}
      .footer-brand{grid-column:1}
      .footer-accessibility{grid-column:2;justify-self:end}
      .footer-search-wrap{grid-column:1 / -1;width:min(100%,560px)}
      .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:38px}
      .footer-primary .footer-legal{padding-top:24px}
    }
    @media (max-width:600px){
      .site-footer{padding:38px 20px max(26px,env(safe-area-inset-bottom));border-radius:26px 26px 0 0}
      .footer-top{grid-template-columns:1fr;gap:18px;align-items:start}
      .footer-brand,.footer-accessibility,.footer-search-wrap{grid-column:1;justify-self:start}
      .footer-search-wrap{width:100%}
      .footer-grid{grid-template-columns:1fr;gap:32px;padding-top:30px}
      .footer-primary .footer-book{width:100%}
      .footer-primary .footer-legal{margin-top:0;padding-top:22px}
      .footer-legal{max-width:none;font-size:12px}
    }



    /* Accessibility footer controls: keep service links readable */
    body.a11y-enabled .site-footer .footer-link-button{
      display:block!important;
      width:auto!important;
      min-width:0!important;
      min-height:0!important;
      padding:0!important;
      border:0!important;
      border-radius:0!important;
      background:transparent!important;
      color:var(--a11y-text)!important;
      box-shadow:none!important;
      text-align:left!important;
      text-decoration:underline!important;
      text-underline-offset:3px!important;
    }


    /* Финальные исправления медиаразделов и видеокаруселей. */
    .standalone-media-grid{
      grid-template-columns:repeat(4,minmax(0,1fr))!important;
      justify-content:stretch!important;
      align-items:start;
    }
    .standalone-media-card{width:100%!important;max-width:none!important;min-width:0}

    /* Одна маска формирует цельную стрелку, точно центрированную в круге. */
    .carousel-arrow::before{
      content:""!important;
      position:absolute!important;
      left:50%!important;
      top:50%!important;
      width:24px!important;
      height:24px!important;
      background:currentColor!important;
      -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 12h15M14 6.5 19.5 12 14 17.5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/24px 24px no-repeat!important;
      mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 12h15M14 6.5 19.5 12 14 17.5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/24px 24px no-repeat!important;
      transform:translate(-50%,-50%)!important;
      border:0!important;
      border-radius:0!important;
    }
    .carousel-arrow[data-dir="-1"]::before{transform:translate(-50%,-50%) rotate(180deg)!important}
    .carousel-arrow::after{content:none!important;display:none!important}

    .doctor-media-viewport{
      cursor:grab;
      touch-action:pan-y;
      user-select:none;
      -webkit-user-select:none;
      outline-offset:6px;
    }
    .doctor-media-viewport.is-dragging{cursor:grabbing}
    .doctor-media-rail.is-dragging{transition:none!important}
    .doctor-media-card,.doctor-media-poster{-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
    .doctor-media-poster{pointer-events:none}

    @media (max-width:980px){
      .standalone-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    }
    @media (max-width:620px){
      .standalone-media-grid{grid-template-columns:minmax(0,1fr)!important}
    }


/* ========================================================================
   FINAL LAYOUT FIXES — video profile controls and compact home sections
   ======================================================================== */

/* В профилях врачей стрелки стоят под видеокаруселью, как в карусели
   команды на главной странице. */
.doctor-profile-media-head{
  grid-template-columns:minmax(0,1fr)!important;
  margin-bottom:24px!important;
}
.doctor-profile-media > .doctor-media-carousel-controls{
  width:100%!important;
  margin:22px 0 0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  color:var(--blue-950)!important;
}
.doctor-profile-media > .doctor-media-carousel-controls .carousel-arrow{
  width:56px!important;
  height:56px!important;
  border:1px solid currentColor!important;
  border-radius:50%!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
}
.doctor-profile-media > .doctor-media-carousel-controls .carousel-arrow:hover:not(:disabled),
.doctor-profile-media > .doctor-media-carousel-controls .carousel-arrow:focus-visible:not(:disabled){
  background:var(--blue-950)!important;
  border-color:var(--blue-950)!important;
  color:var(--white)!important;
  transform:translateY(-2px)!important;
}
.doctor-profile-media > .doctor-media-carousel-controls .carousel-arrow:disabled{
  opacity:.28!important;
}

/* Убираем чрезмерные пустые зоны перед заголовками основных разделов.
   Секции больше не растягиваются принудительно на высоту экрана. */
main > .section.intro,
main > .section.philosophy,
main > .section.journey,
main > .section.cases,
main > .section.insights,
main > .section.reviews{
  min-height:0!important;
  display:block!important;
  align-items:initial!important;
  padding-top:clamp(42px,4vw,64px)!important;
  padding-bottom:clamp(64px,6vw,96px)!important;
}
/* Горизонтальные разделы сохраняют механику, но заголовок поднимается ближе
   к началу секции без пустого верхнего поля. */
.services .horizontal-sticky,
.team .horizontal-sticky{
  padding-top:calc(var(--header-h) + 4px)!important;
}

@media (max-width:820px){
  main > .section.intro,
  main > .section.philosophy,
  main > .section.journey,
  main > .section.cases,
  main > .section.insights,
  main > .section.reviews{
    padding-top:34px!important;
    padding-bottom:64px!important;
  }
  .services .horizontal-sticky,
  .team .horizontal-sticky{
    padding-top:calc(var(--header-h) + 2px)!important;
  }
  .doctor-profile-media > .doctor-media-carousel-controls{
    justify-content:flex-end!important;
  }
}

@media (max-width:520px){
  main > .section.intro,
  main > .section.philosophy,
  main > .section.journey,
  main > .section.cases,
  main > .section.insights,
  main > .section.reviews{
    padding-top:26px!important;
    padding-bottom:52px!important;
  }
  .doctor-profile-media > .doctor-media-carousel-controls .carousel-arrow{
    width:50px!important;
    height:50px!important;
  }
}

/* FINAL ACCESSIBILITY FIX: five DentalDate colour schemes and original doctors carousel */

/* Full five-colour palette used by the reference accessibility panel. */
body.a11y-enabled[data-a11y-theme="light"]{
  --a11y-bg:#ffffff;
  --a11y-text:#000000;
  --a11y-muted:#222222;
  --a11y-border:#000000;
  --a11y-accent:#000000;
  --a11y-accent-text:#ffffff;
  --a11y-link:#000000;
}
body.a11y-enabled[data-a11y-theme="dark"]{
  --a11y-bg:#000000;
  --a11y-text:#ffffff;
  --a11y-muted:#f2f2f2;
  --a11y-border:#ffffff;
  --a11y-accent:#ffffff;
  --a11y-accent-text:#000000;
  --a11y-link:#ffffff;
}
body.a11y-enabled[data-a11y-theme="blue"]{
  --a11y-bg:#9DD1FF;
  --a11y-text:#063462;
  --a11y-muted:#063462;
  --a11y-border:#063462;
  --a11y-accent:#063462;
  --a11y-accent-text:#ffffff;
  --a11y-link:#063462;
}
body.a11y-enabled[data-a11y-theme="brown"]{
  --a11y-bg:#F7F3D6;
  --a11y-text:#4D4B43;
  --a11y-muted:#4D4B43;
  --a11y-border:#4D4B43;
  --a11y-accent:#4D4B43;
  --a11y-accent-text:#F7F3D6;
  --a11y-link:#4D4B43;
}
body.a11y-enabled[data-a11y-theme="green"]{
  --a11y-bg:#3B2716;
  --a11y-text:#A9E44D;
  --a11y-muted:#A9E44D;
  --a11y-border:#A9E44D;
  --a11y-accent:#A9E44D;
  --a11y-accent-text:#3B2716;
  --a11y-link:#A9E44D;
}

/* The toolbar remains neutral; its five samples display the actual theme colours. */
body.a11y-enabled .a11y-panel .a11y-color-light{
  background:#ffffff!important;
  color:#000000!important;
  border-color:#000000!important;
}
body.a11y-enabled .a11y-panel .a11y-color-dark{
  background:#000000!important;
  color:#ffffff!important;
  border-color:#000000!important;
}
body.a11y-enabled .a11y-panel .a11y-color-blue{
  background:#9DD1FF!important;
  color:#063462!important;
  border-color:#063462!important;
}
body.a11y-enabled .a11y-panel .a11y-color-brown{
  background:#F7F3D6!important;
  color:#4D4B43!important;
  border-color:#4D4B43!important;
}
body.a11y-enabled .a11y-panel .a11y-color-green{
  background:#3B2716!important;
  color:#A9E44D!important;
  border-color:#A9E44D!important;
}

/* Restore the homepage doctors carousel to the ordinary site's exact structure.
   Accessibility colours and text settings remain active, but the carousel is no
   longer converted into a grid and its controls/dragging stay operational. */
body.a11y-enabled #team.horizontal-section,
body.a11y-enabled #team.team{
  position:relative!important;
  height:auto!important;
  min-height:100svh!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--a11y-bg)!important;
  color:var(--a11y-text)!important;
}
body.a11y-enabled #team .horizontal-sticky,
body.a11y-enabled #team .team-sticky{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:100svh!important;
  padding:calc(var(--header-h) + clamp(28px,5vh,64px)) 0 clamp(42px,6vh,78px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:clamp(28px,4vh,56px)!important;
  overflow:hidden!important;
  background:var(--a11y-bg)!important;
  color:var(--a11y-text)!important;
}
body.a11y-enabled #team .horizontal-head,
body.a11y-enabled #team .team-head{
  width:min(1520px,calc(100% - var(--page-pad)*2))!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1fr .48fr!important;
  gap:clamp(34px,4vw,58px)!important;
  align-items:end!important;
}
body.a11y-enabled #team .doctor-viewport,
body.a11y-enabled #team .horizontal-viewport{
  width:100%!important;
  height:auto!important;
  overflow:hidden!important;
  overflow-x:hidden!important;
  margin:0!important;
  padding-left:max(var(--page-pad),calc((100vw - 1520px)/2))!important;
  padding-right:0!important;
  contain:layout paint!important;
  cursor:grab!important;
  touch-action:pan-y!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
body.a11y-enabled #team .doctor-viewport.is-dragging,
body.a11y-enabled #team .horizontal-viewport.is-dragging{cursor:grabbing!important}
body.a11y-enabled #team #doctor-rail,
body.a11y-enabled #team .doctor-rail,
body.a11y-enabled #team .horizontal-rail{
  display:flex!important;
  grid-template-columns:none!important;
  width:max-content!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0 max(var(--page-pad),calc((100vw - 1520px)/2)) 0 0!important;
  gap:clamp(20px,1.6vw,30px)!important;
  overflow:visible!important;
  scroll-snap-type:none!important;
  transform:translate3d(var(--carousel-x,0px),0,0)!important;
  transition:transform .95s cubic-bezier(.22,.82,.24,1)!important;
  will-change:transform!important;
}
body.a11y-enabled #team #doctor-rail.is-dragging,
body.a11y-enabled #team #doctor-rail.is-carousel-jumping{
  transition:none!important;
}
body.a11y-enabled #team #doctor-rail > .doctor-card,
body.a11y-enabled #team .doctor-rail > .doctor-card{
  position:static!important;
  inset:auto!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  min-height:auto!important;
  height:auto!important;
  flex:0 0 clamp(320px,24vw,420px)!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  color:var(--a11y-text)!important;
  box-shadow:none!important;
  transform:none!important;
  opacity:1!important;
  cursor:pointer!important;
}
body.a11y-enabled #team .doctor-photo{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:30px!important;
  overflow:hidden!important;
  aspect-ratio:4/5!important;
  background:var(--a11y-bg)!important;
  box-shadow:0 24px 66px rgba(15,55,99,.10)!important;
  transition:box-shadow 1.25s cubic-bezier(.16,1,.3,1)!important;
}
body.a11y-enabled #team .doctor-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center top!important;
  transform:none!important;
  transition:transform 1.35s cubic-bezier(.16,1,.3,1),filter 1.2s cubic-bezier(.16,1,.3,1)!important;
}
body.a11y-enabled #team .doctor-card:hover .doctor-photo img{transform:scale(1.022)!important}
body.a11y-enabled #team .doctor-photo::after{
  content:none!important;
  display:none!important;
}
body.a11y-enabled #team .doctor-card:hover .doctor-photo{
  transform:none!important;
  box-shadow:0 28px 74px rgba(15,55,99,.13)!important;
}
body.a11y-enabled #team .doctor-meta{
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  padding:20px 4px 0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
}
body.a11y-enabled #team .carousel-controls{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  width:min(1520px,calc(100% - var(--page-pad)*2))!important;
  height:auto!important;
  margin:0 auto!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  color:var(--a11y-text)!important;
}
body.a11y-enabled #team .carousel-arrow{
  position:relative!important;
  width:56px!important;
  height:56px!important;
  min-width:0!important;
  min-height:auto!important;
  padding:1px 6px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid currentColor!important;
  border-radius:50%!important;
  background:color-mix(in srgb,var(--a11y-bg) 86%,transparent)!important;
  color:var(--a11y-text)!important;
  box-shadow:none!important;
  font-size:0!important;
  line-height:0!important;
  cursor:pointer!important;
  text-decoration:none!important;
  transition:background-color .45s cubic-bezier(.16,1,.3,1),color .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1),opacity .3s!important;
}
body.a11y-enabled #team .carousel-arrow:hover:not(:disabled),
body.a11y-enabled #team .carousel-arrow:focus-visible:not(:disabled){
  background:var(--a11y-text)!important;
  color:var(--a11y-bg)!important;
  transform:translateY(-2px)!important;
}
body.a11y-enabled #team .carousel-arrow:disabled{opacity:.28!important;cursor:default!important}

@media (min-width:901px) and (hover:hover) and (pointer:fine){
  body.a11y-enabled #team .horizontal-sticky,
  body.a11y-enabled #team .team-sticky{
    height:100svh!important;
    min-height:720px!important;
    padding:calc(var(--header-h) + 16px) 0 22px!important;
    gap:clamp(16px,2.2vh,26px)!important;
    justify-content:flex-start!important;
  }
  body.a11y-enabled #team #doctor-rail > .doctor-card,
  body.a11y-enabled #team .doctor-rail > .doctor-card{
    flex-basis:clamp(250px,19vw,305px)!important;
  }
  body.a11y-enabled #team .carousel-controls{
    position:absolute!important;
    z-index:20!important;
    left:0!important;
    right:0!important;
    top:61%!important;
    width:100%!important;
    margin:0!important;
    padding:0 clamp(12px,1.4vw,24px)!important;
    justify-content:space-between!important;
    pointer-events:none!important;
  }
  body.a11y-enabled #team .carousel-arrow{
    pointer-events:auto!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
  }
}

@media (max-width:900px),(hover:none),(pointer:coarse){
  body.a11y-enabled #team.horizontal-section,
  body.a11y-enabled #team.team{
    min-height:100svh!important;
    padding:0!important;
  }
  body.a11y-enabled #team .horizontal-sticky,
  body.a11y-enabled #team .team-sticky{
    min-height:100svh!important;
    padding:calc(var(--header-h) + 2px) 0 34px!important;
    gap:20px!important;
    justify-content:flex-start!important;
  }
  body.a11y-enabled #team .horizontal-head,
  body.a11y-enabled #team .team-head{
    width:auto!important;
    margin:0 20px!important;
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  body.a11y-enabled #team .doctor-viewport,
  body.a11y-enabled #team .horizontal-viewport{
    padding:0 20px!important;
  }
  body.a11y-enabled #team #doctor-rail,
  body.a11y-enabled #team .doctor-rail,
  body.a11y-enabled #team .horizontal-rail{
    gap:18px!important;
    padding:0 20px 0 0!important;
  }
  body.a11y-enabled #team #doctor-rail > .doctor-card,
  body.a11y-enabled #team .doctor-rail > .doctor-card{
    flex:0 0 min(82vw,320px)!important;
  }
  body.a11y-enabled #team .carousel-controls{
    position:absolute!important;
    z-index:20!important;
    left:0!important;
    right:0!important;
    top:55%!important;
    width:100%!important;
    margin:0!important;
    padding:0 8px!important;
    justify-content:space-between!important;
    pointer-events:none!important;
  }
  body.a11y-enabled #team .carousel-arrow{
    width:50px!important;
    height:50px!important;
    min-width:0!important;
    min-height:auto!important;
    pointer-events:auto!important;
  }
}

/* 2026-07: активные ссылки «Дипломы / Сертификаты» под заголовками разделов */
.zhirkov-profile-section-head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:5px;
  margin-top:-6px;
  margin-bottom:12px;
}
.zhirkov-profile-section-head .section-kicker{
  margin:0;
}
.zhirkov-profile-section-head .doctor-profile-text-link{
  flex:0 0 auto;
  margin:0 0 0 44px;
  gap:6px;
  min-height:22px;
  font-size:14px;
  font-weight:800;
  line-height:1.25;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.zhirkov-profile-section-head .doctor-profile-text-link::after{
  font-size:12px;
}
.zhirkov-profile-section-head .doctor-profile-text-link::before{
  bottom:-3px;
}
@media (max-width:680px){
  .zhirkov-profile-section-head{
    flex-wrap:nowrap;
    align-items:flex-start;
    gap:5px;
    margin-top:-4px;
    margin-bottom:12px;
  }
  .zhirkov-profile-section-head .doctor-profile-text-link{
    margin-left:44px;
    min-height:21px;
    font-size:13px;
    line-height:1.25;
  }
}


/* Увеличенный просмотр дипломов и сертификатов */
.zhirkov-documents-portal .doctor-diploma-item,
.zhirkov-documents-portal .doctor-diploma-thumb{
  cursor:zoom-in;
}
.zhirkov-documents-portal .doctor-diploma-item{
  transition:transform .28s var(--motion-ease),box-shadow .28s var(--motion-ease);
}
.zhirkov-documents-portal .doctor-diploma-item:hover{
  transform:scale(1.012);
  box-shadow:0 16px 36px rgba(7,27,52,.12);
}
.doctor-document-zoom{
  position:fixed;
  inset:0;
  z-index:760;
  display:none;
  place-items:center;
  padding:clamp(14px,2vw,28px);
  background:rgba(3,14,30,.82);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.doctor-document-zoom.is-open{display:grid}
.doctor-document-zoom-stage{
  position:relative;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:10px;
  width:min(96vw,1560px);
  height:min(94dvh,980px);
  padding:clamp(12px,1.6vw,20px);
  border:1px solid rgba(255,255,255,.18);
  border-radius:28px;
  background:rgba(255,255,255,.98);
  box-shadow:0 34px 100px rgba(0,0,0,.34);
  overflow:hidden;
}
.doctor-document-zoom-scroll{
  display:grid;
  place-items:center;
  min-width:0;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  cursor:zoom-in;
}
.doctor-document-zoom-image{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  border-radius:16px;
  box-shadow:0 12px 34px rgba(7,27,52,.14);
  transform:scale(1.06);
  transform-origin:center;
  transition:transform .3s var(--motion-ease);
  cursor:zoom-in;
}
.doctor-document-zoom.is-extra-zoomed .doctor-document-zoom-image{
  max-width:none;
  max-height:none;
  width:min(1220px,118vw);
  transform:scale(1.12);
  cursor:zoom-out;
}
.doctor-document-zoom.is-extra-zoomed .doctor-document-zoom-scroll{cursor:zoom-out}
.doctor-document-zoom-close{
  position:absolute;
  top:16px;
  right:16px;
  z-index:2;
  width:48px;
  height:48px;
  border:0;
  border-radius:50%;
  background:rgba(7,27,52,.88);
  box-shadow:0 10px 28px rgba(7,27,52,.2);
  cursor:pointer;
}
.doctor-document-zoom-close::before,
.doctor-document-zoom-close::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:20px;
  height:2px;
  border-radius:999px;
  background:#fff;
}
.doctor-document-zoom-close::before{transform:translate(-50%,-50%) rotate(45deg)}
.doctor-document-zoom-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.doctor-document-zoom-close:hover,
.doctor-document-zoom-close:focus-visible{background:#143f78;transform:scale(1.04)}
.doctor-document-zoom-close:focus-visible{outline:3px solid #fff;outline-offset:3px}
.doctor-document-zoom-hint{
  margin:0;
  padding:2px 58px 0 8px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-align:center;
}
@media (max-width:640px){
  .doctor-document-zoom{padding:8px}
  .doctor-document-zoom-stage{width:100%;height:96dvh;border-radius:22px;padding:10px}
  .doctor-document-zoom-close{top:12px;right:12px;width:44px;height:44px}
  .doctor-document-zoom-image{transform:scale(1.03)}
  .doctor-document-zoom.is-extra-zoomed .doctor-document-zoom-image{width:150vw;transform:none}
  .doctor-document-zoom-hint{padding-right:48px;font-size:11px}
}
@media (prefers-reduced-motion:reduce){
  .doctor-document-zoom-image,.zhirkov-documents-portal .doctor-diploma-item{transition:none!important}
}


/* 2026-07 request fixes: centered watermark, simple zoom, stronger popup frame */
.doctor-diploma-item,
.doctor-diploma-thumb,
.doctor-document-zoom-scroll{
  position:relative;
  isolation:isolate;
}
.doctor-diploma-item>img,
.doctor-diploma-thumb>img,
.doctor-document-zoom-image{
  position:relative;
  z-index:1;
}
.doctor-diploma-item::after,
.doctor-diploma-thumb::after,
.doctor-document-zoom-scroll::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:58%;
  height:58%;
  transform:translate(-50%,-50%);
  background:url('../site/document-watermark-new.png') center / contain no-repeat;
  opacity:.18;
  pointer-events:none;
  z-index:2;
}
.doctor-diploma-item:has(>.doctor-diploma-thumb)::after{
  display:none;
}
.doctor-diploma-thumb::after{
  width:60%;
  height:60%;
}
.doctor-document-zoom-scroll::after{
  width:min(56vw,72%);
  height:min(56vw,72%);
  max-width:760px;
  max-height:760px;
}

.doctor-document-zoom-stage{
  width:min(96vw,1500px);
  height:min(94dvh,960px);
}
.doctor-document-zoom-scroll{
  display:grid;
  place-items:center;
  overflow:auto;
  cursor:zoom-out;
}
.doctor-document-zoom-image{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  transform:none;
  cursor:zoom-out;
}
.doctor-document-zoom.is-extra-zoomed .doctor-document-zoom-image{
  width:auto;
  max-width:100%;
  max-height:100%;
  transform:none;
}
.doctor-document-zoom-hint{
  text-align:center;
}


@media (max-width:640px){
  .doctor-document-zoom-image,
  .doctor-document-zoom.is-extra-zoomed .doctor-document-zoom-image{transform:none;width:auto}
}


/* 2026-07: restored document-window size and uniform blue rounded frame */
.zhirkov-documents-portal .doctor-diplomas-popup{
  position:fixed!important;
  z-index:430!important;
  top:48px!important;
  bottom:48px!important;
  left:var(--zhirkov-popup-left,42vw)!important;
  right:var(--zhirkov-popup-right,70px)!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  transform:none!important;
  box-sizing:border-box!important;
  border:2px solid #78bee8!important;
  border-radius:32px!important;
  border-top-left-radius:32px!important;
  border-top-right-radius:32px!important;
  border-bottom-right-radius:32px!important;
  border-bottom-left-radius:32px!important;
  background:#fff!important;
  background-clip:padding-box!important;
  overflow:hidden!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  -webkit-mask-image:none!important;
  contain:none!important;
  box-shadow:0 28px 80px rgba(7,27,52,.18)!important;
}
.zhirkov-documents-portal .doctor-diplomas-popup::after{
  content:none!important;
  display:none!important;
}
@media (max-width:900px){
  .zhirkov-documents-portal .doctor-diplomas-popup{
    top:16px!important;
    right:16px!important;
    bottom:16px!important;
    left:16px!important;
    width:auto!important;
    height:auto!important;
    border-radius:28px!important;
    border-top-left-radius:28px!important;
    border-top-right-radius:28px!important;
    border-bottom-right-radius:28px!important;
    border-bottom-left-radius:28px!important;
  }
}
@media (max-width:560px){
  .zhirkov-documents-portal .doctor-diplomas-popup{
    top:12px!important;
    right:12px!important;
    bottom:12px!important;
    left:12px!important;
    border-radius:24px!important;
    border-top-left-radius:24px!important;
    border-top-right-radius:24px!important;
    border-bottom-right-radius:24px!important;
    border-bottom-left-radius:24px!important;
  }
}


/* Comparator in the style of the supplied reference video */
@media (max-width:560px){
  .doctor-before-after{border-radius:16px}
  .doctor-compare-label{bottom:11px;min-height:27px;padding:5px 10px;font-size:11px}
  .doctor-compare-label.is-before{left:11px}
  .doctor-compare-label.is-after{right:11px}
  .doctor-compare-handle{top:87%;width:7px;height:28px}
}


/* 2026-07 right-side rounded border fix */
.zhirkov-documents-portal .doctor-diplomas-popup,
.zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
.zhirkov-profile .doctor-courses-popup{
  position:relative;
  border:none!important;
  border-radius:32px!important;
  overflow:hidden!important;
  background:#fff!important;
  background-clip:padding-box!important;
  box-shadow:0 28px 80px rgba(7,27,52,.18)!important;
}
.zhirkov-documents-portal .doctor-diplomas-popup::before,
.zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup)::before,
.zhirkov-profile .doctor-courses-popup::before{
  content:"";
  position:absolute;
  inset:0;
  border:2px solid #78bee8;
  border-radius:32px;
  box-sizing:border-box;
  pointer-events:none;
  z-index:12;
}
.zhirkov-documents-portal .doctor-diplomas-popup::after,
.zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup)::after,
.zhirkov-profile .doctor-courses-popup::after{
  content:none!important;
  display:none!important;
}
@media (max-width:900px){
  .zhirkov-documents-portal .doctor-diplomas-popup,
  .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
  .zhirkov-profile .doctor-courses-popup{
    border-radius:28px!important;
  }
  .zhirkov-documents-portal .doctor-diplomas-popup::before,
  .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup)::before,
  .zhirkov-profile .doctor-courses-popup::before{
    border-radius:28px;
  }
}
@media (max-width:560px){
  .zhirkov-documents-portal .doctor-diplomas-popup,
  .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
  .zhirkov-profile .doctor-courses-popup{
    border-radius:24px!important;
  }
  .zhirkov-documents-portal .doctor-diplomas-popup::before,
  .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup)::before,
  .zhirkov-profile .doctor-courses-popup::before{
    border-radius:24px;
  }
}


/* 2026-07 final clean document frame: no protruding corner strokes */
.zhirkov-documents-portal .doctor-diplomas-popup,
.zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
.zhirkov-profile .doctor-courses-popup{
  border:0!important;
  outline:0!important;
  border-radius:32px!important;
  overflow:hidden!important;
  background:#fff!important;
  background-clip:padding-box!important;
  box-shadow:
    inset 0 0 0 1px rgba(91,146,183,.42),
    0 28px 80px rgba(7,27,52,.18)!important;
}
.zhirkov-documents-portal .doctor-diplomas-popup::before,
.zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup)::before,
.zhirkov-profile .doctor-courses-popup::before,
.zhirkov-documents-portal .doctor-diplomas-popup::after,
.zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup)::after,
.zhirkov-profile .doctor-courses-popup::after{
  content:none!important;
  display:none!important;
  border:0!important;
  box-shadow:none!important;
}
@media (max-width:900px){
  .zhirkov-documents-portal .doctor-diplomas-popup,
  .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
  .zhirkov-profile .doctor-courses-popup{
    border-radius:28px!important;
  }
}
@media (max-width:560px){
  .zhirkov-documents-portal .doctor-diplomas-popup,
  .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
  .zhirkov-profile .doctor-courses-popup{
    border-radius:24px!important;
  }
}

/* 2026-07-28: единое скругление справа в блоках документов и размер активных подписей */
.doctor-profile-carousel .doctor-profile-block:nth-child(2),
.doctor-profile-carousel .doctor-profile-block:nth-child(3){
  border-radius:26px!important;
  border-top-left-radius:26px!important;
  border-top-right-radius:26px!important;
  border-bottom-right-radius:26px!important;
  border-bottom-left-radius:26px!important;
  overflow:hidden;
  background-clip:padding-box;
}

.zhirkov-documents-portal .doctor-diplomas-popup,
.zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
.zhirkov-profile .doctor-courses-popup{
  box-sizing:border-box!important;
  border:1px solid rgba(91,146,183,.52)!important;
  outline:0!important;
  border-radius:32px!important;
  border-top-left-radius:32px!important;
  border-top-right-radius:32px!important;
  border-bottom-right-radius:32px!important;
  border-bottom-left-radius:32px!important;
  overflow:hidden!important;
  background:#fff!important;
  background-clip:padding-box!important;
  clip-path:inset(0 round 32px)!important;
  -webkit-clip-path:inset(0 round 32px)!important;
  -webkit-mask-image:none!important;
  box-shadow:0 28px 80px rgba(7,27,52,.18)!important;
}

.zhirkov-profile-section-head .doctor-profile-text-link{
  gap:0!important;
  min-height:0!important;
  font-size:17px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
.zhirkov-profile-section-head .doctor-profile-text-link::after{
  content:none!important;
  display:none!important;
}

@media (max-width:900px){
  .zhirkov-documents-portal .doctor-diplomas-popup,
  .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
  .zhirkov-profile .doctor-courses-popup{
    border-radius:28px!important;
    border-top-left-radius:28px!important;
    border-top-right-radius:28px!important;
    border-bottom-right-radius:28px!important;
    border-bottom-left-radius:28px!important;
    clip-path:inset(0 round 28px)!important;
    -webkit-clip-path:inset(0 round 28px)!important;
  }
}

@media (max-width:560px){
  .doctor-profile-carousel .doctor-profile-block:nth-child(2),
  .doctor-profile-carousel .doctor-profile-block:nth-child(3){
    border-radius:20px!important;
    border-top-left-radius:20px!important;
    border-top-right-radius:20px!important;
    border-bottom-right-radius:20px!important;
    border-bottom-left-radius:20px!important;
  }
  .zhirkov-documents-portal .doctor-diplomas-popup,
  .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
  .zhirkov-profile .doctor-courses-popup{
    border-radius:24px!important;
    border-top-left-radius:24px!important;
    border-top-right-radius:24px!important;
    border-bottom-right-radius:24px!important;
    border-bottom-left-radius:24px!important;
    clip-path:inset(0 round 24px)!important;
    -webkit-clip-path:inset(0 round 24px)!important;
  }
  .zhirkov-profile-section-head .doctor-profile-text-link{
    font-size:17px!important;
    line-height:1.2!important;
  }
}

/* 2026-07-28: непрерывная светло-голубая обводка без разрывов */
.doctor-profile-carousel .doctor-profile-block:nth-child(2),
.doctor-profile-carousel .doctor-profile-block:nth-child(3){
  position:relative;
  border:0!important;
  overflow:hidden!important;
  background-clip:border-box!important;
  box-shadow:0 24px 70px rgba(20,63,120,.07)!important;
}
.doctor-profile-carousel .doctor-profile-block:nth-child(2)::after,
.doctor-profile-carousel .doctor-profile-block:nth-child(3)::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:20;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 2px #a9d7ef;
}

.zhirkov-documents-portal .doctor-diplomas-popup,
.zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
.zhirkov-profile .doctor-courses-popup{
  border:0!important;
  outline:0!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  background-clip:border-box!important;
  box-shadow:
    inset 0 0 0 2px #78bee8,
    0 28px 80px rgba(7,27,52,.18)!important;
}

/* Команда: отдельные вкладки врачей и административного персонала. */
.team-category-tabs{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin:26px 0 clamp(34px,4vw,58px);
  padding-bottom:2px;
}
.team-category-tab{
  min-height:52px;
  padding:13px 24px;
  border:1px solid rgba(31,82,145,.14);
  border-radius:999px;
  background:var(--ice);
  color:var(--blue-950);
  font:inherit;
  font-size:14px;
  font-weight:600;
  line-height:1.2;
  cursor:pointer;
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);
}
.team-category-tab:hover{
  transform:translateY(-2px);
  border-color:rgba(31,82,145,.3);
  box-shadow:0 10px 28px rgba(15,55,99,.09);
}
.team-category-tab.is-active{
  border-color:var(--blue-950);
  background:var(--blue-950);
  color:var(--white);
  box-shadow:0 14px 34px rgba(15,55,99,.18);
}
.team-category-tab:focus-visible{
  outline:3px solid var(--blue-500);
  outline-offset:3px;
}
.team-category-panel[hidden]{display:none!important}
.administration-staff-grid{
  align-items:start;
}
.all-doctors-grid .administrative-staff-card{
  cursor:default!important;
}
.all-doctors-grid .administrative-staff-card:hover{
  transform:none!important;
}
.all-doctors-grid .administrative-staff-card:hover .doctor-photo{
  transform:none!important;
  box-shadow:0 24px 70px rgba(15,55,99,.11)!important;
}
.all-doctors-grid .administrative-staff-card:hover .doctor-photo img{
  transform:none!important;
}
.all-doctors-grid .administrative-staff-card .doctor-photo::after{
  content:none!important;
  display:none!important;
}

@media (max-width:760px){
  .team-category-tabs{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin:20px 0 34px;
  }
  .team-category-tab{
    width:100%;
    min-height:50px;
    padding:12px 18px;
    text-align:center;
  }
}

body.a11y-enabled .team-category-tabs{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
body.a11y-enabled .team-category-tab{
  min-height:58px!important;
  border:2px solid var(--a11y-border)!important;
  border-radius:4px!important;
  background:var(--a11y-bg)!important;
  color:var(--a11y-text)!important;
  font-size:1em!important;
  font-weight:700!important;
}
body.a11y-enabled .team-category-tab.is-active{
  background:var(--a11y-text)!important;
  color:var(--a11y-bg)!important;
}
@media (max-width:760px){
  body.a11y-enabled .team-category-tabs{grid-template-columns:1fr!important}
}


/* 2026-07 Kazeykina orthodontic portfolio */
.doctor-profile-portfolio--orthodontics .doctor-portfolio-grid,
.doctor-portfolio-grid--orthodontics{
  grid-template-columns:minmax(0,920px);
  max-width:920px;
  gap:18px;
}
.doctor-portfolio-card--orthodontics{
  padding:18px;
}
.doctor-portfolio-card--orthodontics-carousel{
  display:grid;
  gap:18px;
}
.doctor-orthodontic-compare-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 86px;
  gap:16px;
  align-items:stretch;
}
.doctor-before-after--orthodontic{
  aspect-ratio:4/3;
  border-radius:22px;
  background:#edf3fb;
}
.doctor-before-after--orthodontic .doctor-before-after-image,
.doctor-before-after--orthodontic .doctor-before-after-image.is-after,
.doctor-before-after--orthodontic .doctor-before-after-image.is-before{
  object-fit:contain;
  object-position:center center;
  background:#edf3fb;
}
.doctor-orthodontic-comparison{
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:22px;
  background:#edf3fb;
  box-shadow:inset 0 0 0 1px rgba(86,122,181,.12);
}
.doctor-orthodontic-comparison-image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.doctor-projection-switchers{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:14px;
  padding:16px 10px;
  border-radius:22px;
  background:linear-gradient(180deg,#fff 0%,#f4f8ff 100%);
  box-shadow:inset 0 0 0 1px rgba(86,122,181,.12);
}
.doctor-projection-button{
  width:54px;
  height:54px;
  padding:0;
  border:none;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  color:#0f1730;
  cursor:pointer;
  transition:transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.doctor-projection-button:hover{
  transform:translateY(-1px);
  background:rgba(104,173,255,.14);
}
.doctor-projection-button:focus-visible{
  outline:3px solid rgba(73,155,255,.42);
  outline-offset:2px;
}
.doctor-projection-button.is-active{
  background:linear-gradient(180deg,#63b5ff 0%,#47a0fb 100%);
  color:#fff;
  box-shadow:0 10px 24px rgba(71,160,251,.34);
}
.doctor-projection-button svg{
  width:29px;
  height:29px;
  display:block;
}
.doctor-portfolio-caption--orthodontic{
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.doctor-portfolio-caption--orthodontic p{
  margin:0;
  color:var(--blue-700);
}
@media (max-width:760px){
  .doctor-orthodontic-compare-layout{
    grid-template-columns:minmax(0,1fr);
  }
  .doctor-projection-switchers{
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:flex-start;
    padding:12px;
    border-radius:18px;
  }
}
@media (max-width:560px){
  .doctor-before-after--orthodontic,
  .doctor-orthodontic-comparison{
    border-radius:18px;
  }
  .doctor-projection-button{
    width:50px;
    height:50px;
  }
  .doctor-projection-button svg{
    width:26px;
    height:26px;
  }
}

/* 2026-07 Kazeykina: first before/after comparison stays unchanged;
   all remaining photos run in a seamless looping carousel. */
.doctor-orthodontic-carousel--embedded{
  grid-column:auto;
  width:100%;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.doctor-orthodontic-carousel--embedded .doctor-orthodontic-carousel-head{
  padding:2px 2px 10px;
}
.doctor-orthodontic-carousel--embedded .doctor-orthodontic-carousel-viewport{
  border-radius:18px;
}
.doctor-orthodontic-carousel--embedded .doctor-orthodontic-carousel-image-wrap{
  aspect-ratio:16/10;
  padding:14px;
}
.doctor-orthodontic-carousel--embedded .doctor-orthodontic-carousel-slide figcaption{
  padding-top:14px;
}

.doctor-orthodontic-carousel{
  grid-column:1/-1;
  width:min(100%,920px);
  min-width:0;
  padding:18px;
  border:1px solid rgba(20,63,120,.1);
  border-radius:24px;
  background:rgba(255,255,255,.78);
  box-shadow:0 18px 48px rgba(13,46,91,.08);
}
.doctor-orthodontic-carousel-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:4px 2px 16px;
}
.doctor-orthodontic-carousel-head h4{
  margin:5px 0 0;
  color:var(--blue-950);
  font-family:var(--font-display);
  font-size:clamp(24px,3vw,34px);
  font-weight:500;
  line-height:1.05;
}
.doctor-orthodontic-carousel-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}
.doctor-orthodontic-carousel-counter{
  min-width:56px;
  color:var(--blue-700);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-align:center;
}
.doctor-orthodontic-carousel-actions .carousel-arrow{
  position:relative;
  inset:auto;
  width:48px;
  height:48px;
  flex:0 0 48px;
  color:var(--blue-950);
  background:#fff;
  border:1px solid rgba(20,63,120,.14);
  box-shadow:0 8px 22px rgba(20,63,120,.1);
}
.doctor-orthodontic-carousel-actions .carousel-arrow:hover:not(:disabled),
.doctor-orthodontic-carousel-actions .carousel-arrow:focus-visible:not(:disabled){
  color:#fff;
  background:var(--blue-950);
}
.doctor-orthodontic-carousel-viewport{
  min-width:0;
  overflow:hidden;
  border-radius:18px;
  background:#edf3fb;
  cursor:grab;
  touch-action:pan-y;
  outline:none;
  box-shadow:inset 0 0 0 1px rgba(86,122,181,.11);
}
.doctor-orthodontic-carousel-viewport.is-dragging{
  cursor:grabbing;
  user-select:none;
  -webkit-user-select:none;
}
.doctor-orthodontic-carousel-viewport:focus-visible{
  outline:3px solid rgba(73,155,255,.42);
  outline-offset:4px;
}
.doctor-orthodontic-carousel-track{
  display:flex;
  align-items:stretch;
  min-width:0;
  will-change:transform;
}
.doctor-orthodontic-carousel-slide{
  flex:0 0 100%;
  min-width:0;
  margin:0;
  padding:0;
  background:#fff;
}
.doctor-orthodontic-carousel-image-wrap{
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#edf3fb;
}
.doctor-orthodontic-carousel-image-wrap img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  pointer-events:none;
  -webkit-user-drag:none;
  user-select:none;
}
.doctor-orthodontic-carousel-label{
  position:absolute;
  top:14px;
  left:14px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:56px;
  min-height:32px;
  padding:7px 13px;
  border-radius:999px;
  color:#fff;
  background:rgba(7,27,52,.84);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
.doctor-orthodontic-carousel-label.is-after{
  left:auto;
  right:14px;
  background:rgba(47,132,229,.9);
}
.doctor-orthodontic-carousel-slide figcaption{
  padding:15px 18px 17px;
  color:var(--blue-950);
  font-size:15px;
  font-weight:700;
  line-height:1.35;
}
@media (max-width:760px){
  .doctor-orthodontic-carousel{
    width:100%;
    padding:14px;
    border-radius:20px;
  }
  .doctor-orthodontic-carousel-head{
    align-items:flex-start;
  }
  .doctor-orthodontic-carousel-actions{
    align-self:center;
  }
  .doctor-orthodontic-carousel-counter{display:none}
  .doctor-orthodontic-carousel-actions .carousel-arrow{
    width:44px;
    height:44px;
    flex-basis:44px;
  }
}
@media (max-width:560px){
  .doctor-orthodontic-carousel-head{
    gap:12px;
    padding-bottom:12px;
  }
  .doctor-orthodontic-carousel-head h4{
    font-size:25px;
  }
  .doctor-orthodontic-carousel-actions{
    gap:7px;
  }
  .doctor-orthodontic-carousel-actions .carousel-arrow{
    width:40px;
    height:40px;
    flex-basis:40px;
  }
  .doctor-orthodontic-carousel-viewport{
    border-radius:14px;
  }
  .doctor-orthodontic-carousel-image-wrap{
    aspect-ratio:4/3;
  }
  .doctor-orthodontic-carousel-label{
    top:10px;
    left:10px;
    min-width:50px;
    min-height:29px;
    padding:6px 11px;
    font-size:11px;
  }
  .doctor-orthodontic-carousel-label.is-after{
    left:auto;
    right:10px;
  }
  .doctor-orthodontic-carousel-slide figcaption{
    padding:13px 14px 15px;
  }
}
@media (prefers-reduced-motion:reduce){
  .doctor-orthodontic-carousel-track{transition:none!important}
}

/* 2026-08-01 Kazeykina: separate clinical-case cards with a before/after first slide and photo carousel */
.doctor-profile-portfolio--orthodontics .doctor-portfolio-grid,
.doctor-portfolio-grid--orthodontics{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:20px;
  max-width:940px;
  width:100%;
}
.doctor-portfolio-card--single-carousel{
  display:block;
  width:100%;
  min-width:0;
  padding:10px;
}
.doctor-single-card-carousel{
  min-width:0;
}
.doctor-single-card-carousel-viewport{
  position:relative;
  width:100%;
  min-width:0;
  overflow:hidden;
  aspect-ratio:4/3;
  border-radius:18px;
  background:#edf3fb;
  cursor:grab;
  touch-action:pan-y;
  isolation:isolate;
  outline:none;
  box-shadow:inset 0 0 0 1px rgba(86,122,181,.12);
}
.doctor-single-card-carousel-viewport.is-dragging{
  cursor:grabbing;
  user-select:none;
  -webkit-user-select:none;
}
.doctor-single-card-carousel-viewport:focus-visible{
  outline:3px solid rgba(73,155,255,.42);
  outline-offset:4px;
}
.doctor-single-card-carousel-track{
  display:flex;
  width:100%;
  height:100%;
  min-width:0;
  will-change:transform;
}
.doctor-single-card-carousel-slide{
  position:relative;
  flex:0 0 100%;
  width:100%;
  height:100%;
  min-width:0;
  margin:0;
  overflow:hidden;
  background:#edf3fb;
}
.doctor-before-after--carousel-first{
  width:100%;
  height:100%;
  aspect-ratio:auto!important;
  border-radius:0;
  background:#edf3fb;
}
.doctor-before-after--carousel-first .doctor-before-after-image,
.doctor-before-after--carousel-first .doctor-before-after-image.is-before,
.doctor-before-after--carousel-first .doctor-before-after-image.is-after{
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  background:#edf3fb;
  transform:none;
  transform-origin:center center;
}
.doctor-single-card-photo{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#edf3fb;
}
.doctor-single-card-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:translate(var(--img-shift-x,0px),var(--img-shift-y,0px)) scale(var(--img-scale,.93));
  transform-origin:center center;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}
.doctor-single-card-carousel-arrow{
  position:absolute;
  z-index:12;
  top:50%;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid rgba(7,27,52,.1);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--blue-950);
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 22px rgba(7,27,52,.16);
  transform:translateY(-50%);
  cursor:pointer;
  font-size:18px;
  line-height:1;
  transition:transform .2s ease,background-color .2s ease,color .2s ease;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.doctor-single-card-carousel-arrow.is-prev{left:8px}
.doctor-single-card-carousel-arrow.is-next{right:8px}
.doctor-single-card-carousel-arrow:hover,
.doctor-single-card-carousel-arrow:focus-visible{
  color:#fff;
  background:var(--blue-950);
  transform:translateY(-50%) scale(1.05);
}
.doctor-single-card-carousel-arrow:focus-visible{
  outline:3px solid rgba(73,155,255,.42);
  outline-offset:3px;
}
.doctor-single-card-carousel-counter{
  position:absolute;
  z-index:11;
  top:10px;
  right:10px;
  min-width:52px;
  min-height:28px;
  padding:6px 9px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--blue-950);
  background:rgba(255,255,255,.92);
  box-shadow:0 8px 18px rgba(7,27,52,.13);
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.doctor-single-card-carousel-caption{
  margin-top:0;
  padding:16px 4px 4px;
}
.doctor-single-card-carousel-caption h4{
  min-height:1.1em;
}
.doctor-single-card-carousel-caption p{
  max-width:420px;
}

.doctor-single-card-more{
  position:absolute;
  z-index:6;
  top:12px;
  right:12px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:8px 12px;
  border:1px solid rgba(7,27,52,.08);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--blue-950);
  box-shadow:0 8px 20px rgba(7,27,52,.12);
  font-size:12px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.doctor-single-card-more:hover,
.doctor-single-card-more:focus-visible{
  background:#fff;
  transform:translateY(-1px);
}
.doctor-single-card-more:focus-visible{
  outline:3px solid rgba(73,155,255,.35);
  outline-offset:2px;
}
.doctor-single-card-more[hidden]{display:none!important;}
.doctor-single-card-carousel-counter{display:none!important;}
@media (max-width:560px){
  .doctor-single-card-more{
    top:10px;
    right:10px;
    min-height:31px;
    padding:7px 10px;
    gap:7px;
    font-size:11px;
  }
}
/* For single-photo slides keep the tag in the lower-left corner. */
.doctor-single-card-carousel .doctor-orthodontic-carousel-label{
  left:10px;
  right:auto;
  top:auto;
  bottom:10px;
}
.doctor-single-card-carousel .doctor-orthodontic-carousel-label.is-after{
  left:10px;
  right:auto;
}
/* For the стартовое before/after slide keep "До" bottom-left and "После" bottom-right. */
.doctor-single-card-carousel .doctor-before-after--carousel-first .doctor-compare-label{
  top:auto;
  bottom:10px;
}
.doctor-single-card-carousel .doctor-before-after--carousel-first .doctor-compare-label.is-before{
  left:10px;
  right:auto;
}
.doctor-single-card-carousel .doctor-before-after--carousel-first .doctor-compare-label.is-after{
  left:auto;
  right:10px;
}
@media (max-width:760px){
  .doctor-profile-portfolio--orthodontics .doctor-portfolio-grid,
  .doctor-portfolio-grid--orthodontics{
    grid-template-columns:minmax(0,430px);
    max-width:430px;
  }
  .doctor-portfolio-card--single-carousel{padding:8px}
  .doctor-single-card-carousel-viewport{border-radius:16px}
  .doctor-single-card-carousel-arrow{
    width:36px;
    height:36px;
    font-size:17px;
  }
  .doctor-single-card-carousel-arrow.is-prev{left:8px}
  .doctor-single-card-carousel-arrow.is-next{right:8px}
}
@media (max-width:480px){
  .doctor-profile-portfolio--orthodontics .doctor-portfolio-grid,
  .doctor-portfolio-grid--orthodontics{max-width:100%}
  .doctor-single-card-carousel-counter{
    min-width:48px;
    min-height:26px;
    padding:5px 8px;
    font-size:10px;
  }
  .doctor-single-card-carousel-caption{padding:14px 2px 3px}
  .doctor-single-card-carousel .doctor-orthodontic-carousel-label,
  .doctor-single-card-carousel .doctor-before-after--carousel-first .doctor-compare-label.is-before,
  .doctor-single-card-carousel .doctor-before-after--carousel-first .doctor-compare-label.is-after{
    bottom:8px;
  }
  .doctor-single-card-carousel .doctor-orthodontic-carousel-label,
  .doctor-single-card-carousel .doctor-before-after--carousel-first .doctor-compare-label.is-before{
    left:8px;
  }
  .doctor-single-card-carousel .doctor-before-after--carousel-first .doctor-compare-label.is-after{
    right:8px;
  }
}
@media (prefers-reduced-motion:reduce){
  .doctor-single-card-carousel-track,
  .doctor-single-card-carousel-arrow{transition:none!important}
}


/* 2026-07-31 — Yabkovskiy portfolio: before/after card and step-by-step case viewer */
.doctor-profile-portfolio--yabkovskiy .doctor-profile-portfolio-head{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
}
.doctor-profile-portfolio--yabkovskiy .yabkovskiy-portfolio-controls{
  width:auto;
  margin:0;
  color:#fff;
}
.doctor-profile-portfolio--yabkovskiy .yabkovskiy-portfolio-controls .carousel-arrow{
  width:52px;
  height:52px;
  border-color:rgba(255,255,255,.45);
  background:rgba(255,255,255,.08);
}
.doctor-profile-portfolio--yabkovskiy .yabkovskiy-portfolio-controls .carousel-arrow:hover:not(:disabled),
.doctor-profile-portfolio--yabkovskiy .yabkovskiy-portfolio-controls .carousel-arrow:focus-visible:not(:disabled){
  color:var(--blue-950);
  background:#fff;
}
.yabkovskiy-portfolio-viewport{
  width:100%;
  min-width:0;
  overflow:hidden;
  cursor:grab;
  touch-action:pan-y;
  outline:none;
}
.yabkovskiy-portfolio-viewport.is-dragging{
  cursor:grabbing;
  user-select:none;
  -webkit-user-select:none;
}
.yabkovskiy-portfolio-viewport:focus-visible{
  outline:3px solid rgba(141,199,255,.72);
  outline-offset:5px;
  border-radius:24px;
}
.doctor-profile-portfolio--yabkovskiy .yabkovskiy-portfolio-rail{
  display:flex;
  width:max-content;
  max-width:none;
  gap:20px;
  grid-template-columns:none;
  transform:translate3d(var(--carousel-x,0px),0,0);
  transition:transform .62s cubic-bezier(.22,.8,.26,1);
  will-change:transform;
}
.doctor-profile-portfolio--yabkovskiy .yabkovskiy-portfolio-rail.is-carousel-jumping,
.doctor-profile-portfolio--yabkovskiy .yabkovskiy-portfolio-rail.is-dragging{
  transition:none;
}
.doctor-profile-portfolio--yabkovskiy .doctor-portfolio-card--yabkovskiy{
  flex:0 0 clamp(360px,38vw,420px);
  width:clamp(360px,38vw,420px);
}

@media (max-width:900px){
  .doctor-profile-portfolio--yabkovskiy .doctor-profile-portfolio-head{
    grid-template-columns:1fr auto;
    gap:18px;
  }
  .doctor-profile-portfolio--yabkovskiy .yabkovskiy-portfolio-controls .carousel-arrow{
    width:46px;
    height:46px;
  }
  .doctor-profile-portfolio--yabkovskiy .doctor-portfolio-card--yabkovskiy{
    flex-basis:min(84vw,420px);
    width:min(84vw,420px);
  }
}
@media (max-width:560px){
  .doctor-profile-portfolio--yabkovskiy .doctor-profile-portfolio-head{
    grid-template-columns:1fr;
  }
  .doctor-profile-portfolio--yabkovskiy .yabkovskiy-portfolio-controls{
    justify-content:flex-start;
  }
  .doctor-profile-portfolio--yabkovskiy .doctor-portfolio-card--yabkovskiy{
    flex-basis:calc(100vw - 54px);
    width:calc(100vw - 54px);
  }
}
.doctor-portfolio-card--yabkovskiy{
  position:relative;
}
.doctor-before-after--yabkovskiy{
  aspect-ratio:1/1;
  background:#087bd1;
}
.doctor-before-after--yabkovskiy .doctor-before-after-image{
  object-fit:cover;
  object-position:center center;
}
.doctor-case-gallery-button{
  position:absolute;
  z-index:7;
  top:15px;
  right:15px;
  min-height:38px;
  padding:8px 14px;
  border:1px solid rgba(7,27,52,.08);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(255,255,255,.95);
  color:var(--blue-950);
  box-shadow:0 9px 24px rgba(7,27,52,.14);
  font-size:12px;
  font-weight:750;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;
}
.doctor-case-gallery-button:hover{
  transform:translateY(-1px);
  background:#fff;
  box-shadow:0 12px 28px rgba(7,27,52,.18);
}
.doctor-case-gallery-button:focus-visible{
  outline:3px solid rgba(73,155,255,.42);
  outline-offset:3px;
}

.doctor-case-modal{
  position:fixed;
  z-index:900;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease,visibility .28s ease;
}
.doctor-case-modal.is-open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
}
.doctor-case-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(4,10,25,.9);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.doctor-case-modal-dialog{
  position:relative;
  z-index:1;
  width:min(1040px,100%);
  max-height:calc(100vh - 36px);
  overflow:auto;
  padding:28px 30px 24px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  background:rgba(10,21,43,.96);
  color:#fff;
  box-shadow:0 32px 100px rgba(0,0,0,.48);
  scrollbar-width:none;
}
.doctor-case-modal-dialog::-webkit-scrollbar{display:none}
.doctor-case-modal-close{
  position:absolute;
  z-index:4;
  top:18px;
  right:18px;
  width:46px;
  height:46px;
  padding:0;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:var(--blue-950);
  cursor:pointer;
  box-shadow:0 10px 28px rgba(0,0,0,.24);
}
.doctor-case-modal-close::before,
.doctor-case-modal-close::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:17px;
  height:2px;
  border-radius:999px;
  background:currentColor;
}
.doctor-case-modal-close::before{transform:translate(-50%,-50%) rotate(45deg)}
.doctor-case-modal-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.doctor-case-modal-close:focus-visible,
.doctor-case-modal-arrow:focus-visible,
.doctor-case-modal-dots button:focus-visible{
  outline:3px solid rgba(104,184,255,.72);
  outline-offset:3px;
}
.doctor-case-modal-heading{
  padding-right:68px;
  margin-bottom:20px;
}
.doctor-case-modal-heading .section-kicker{
  margin:0 0 7px;
  color:#8dc7ff;
}
.doctor-case-modal-heading h3{
  margin:0;
  max-width:760px;
  color:#fff;
  font-size:clamp(24px,3vw,38px);
  line-height:1.08;
}
.doctor-case-modal-stage{
  display:grid;
  grid-template-columns:52px minmax(0,720px) 52px;
  align-items:center;
  justify-content:center;
  gap:18px;
}
.doctor-case-modal-viewport{
  min-width:0;
  overflow:hidden;
  border-radius:22px;
  background:#087bd1;
  cursor:grab;
  touch-action:pan-y;
  outline:none;
  box-shadow:0 20px 56px rgba(0,0,0,.32);
}
.doctor-case-modal-viewport.is-dragging{
  cursor:grabbing;
  user-select:none;
  -webkit-user-select:none;
}
.doctor-case-modal-viewport:focus-visible{
  outline:3px solid rgba(104,184,255,.72);
  outline-offset:4px;
}
.doctor-case-modal-track{
  display:flex;
  width:100%;
  will-change:transform;
}
.doctor-case-modal-slide{
  flex:0 0 100%;
  width:100%;
  min-width:0;
  margin:0;
  background:#087bd1;
}
.doctor-case-modal-slide img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center center;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}
.doctor-case-modal-slide figcaption{
  min-height:116px;
  padding:16px 18px 18px;
  background:linear-gradient(180deg,#102b51 0%,#0b213f 100%);
  color:#fff;
}
.doctor-case-modal-slide figcaption span{
  display:block;
  margin-bottom:5px;
  color:#8dc7ff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.doctor-case-modal-slide figcaption strong{
  display:block;
  font-size:18px;
  line-height:1.25;
}
.doctor-case-modal-slide figcaption p{
  margin:7px 0 0;
  color:rgba(255,255,255,.76);
  font-size:14px;
  line-height:1.5;
}
.doctor-case-modal-arrow{
  width:50px;
  height:50px;
  padding:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.96);
  color:var(--blue-950);
  box-shadow:0 12px 30px rgba(0,0,0,.28);
  cursor:pointer;
  font-size:20px;
  transition:transform .2s ease,opacity .2s ease;
}
.doctor-case-modal-arrow:hover:not(:disabled){transform:scale(1.06)}
.doctor-case-modal-arrow:disabled{
  opacity:.28;
  cursor:default;
}
.doctor-case-modal-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding-top:18px;
}
.doctor-case-modal-dots{
  display:flex;
  align-items:center;
  gap:8px;
}
.doctor-case-modal-dots button{
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.3);
  cursor:pointer;
  transition:width .2s ease,background-color .2s ease;
}
.doctor-case-modal-dots button.is-active{
  width:26px;
  background:#fff;
}
.doctor-case-modal-page{
  min-width:46px;
  color:rgba(255,255,255,.65);
  font-size:12px;
  font-weight:750;
}
@media (max-width:760px){
  .doctor-case-gallery-button{
    top:11px;
    right:11px;
    min-height:34px;
    padding:7px 11px;
    font-size:11px;
  }
  .doctor-case-modal{padding:8px}
  .doctor-case-modal-dialog{
    max-height:calc(100vh - 16px);
    padding:22px 12px 18px;
    border-radius:20px;
  }
  .doctor-case-modal-close{
    top:12px;
    right:12px;
    width:42px;
    height:42px;
  }
  .doctor-case-modal-heading{
    padding:4px 58px 0 6px;
    margin-bottom:16px;
  }
  .doctor-case-modal-stage{
    position:relative;
    display:block;
  }
  .doctor-case-modal-viewport{border-radius:17px}
  .doctor-case-modal-arrow{
    position:absolute;
    z-index:3;
    top:calc(50% - 55px);
    width:42px;
    height:42px;
    font-size:18px;
  }
  .doctor-case-modal-arrow.is-prev{left:8px}
  .doctor-case-modal-arrow.is-next{right:8px}
  .doctor-case-modal-slide figcaption{
    min-height:126px;
    padding:14px 15px 16px;
  }
}
@media (prefers-reduced-motion:reduce){
  .doctor-case-modal,
  .doctor-case-modal-track,
  .doctor-case-gallery-button,
  .doctor-case-modal-arrow{transition:none!important}
}

/* Portfolio section: four equal cards per row on desktop. */
body[data-site-view="portfolio"] .standalone-portfolio-library{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  justify-content:stretch!important;
  gap:clamp(16px,1.7vw,26px)!important;
}
@media (max-width:980px){
  body[data-site-view="portfolio"] .standalone-portfolio-library{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:620px){
  body[data-site-view="portfolio"] .standalone-portfolio-library{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* 2026-08-03: мягкое скругление окон дипломов и курсов для всех врачей. */
.zhirkov-documents-portal .doctor-diplomas-popup,
.zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
.zhirkov-profile .doctor-courses-popup{
  border-radius:44px!important;
  border-top-left-radius:44px!important;
  border-top-right-radius:44px!important;
  border-bottom-right-radius:44px!important;
  border-bottom-left-radius:44px!important;
  overflow:hidden!important;
  background-clip:border-box!important;
  box-shadow:
    inset 0 0 0 1px rgba(157,207,234,.72),
    0 26px 76px rgba(7,27,52,.14)!important;
}

@media (max-width:900px){
  .zhirkov-documents-portal .doctor-diplomas-popup,
  .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
  .zhirkov-profile .doctor-courses-popup{
    border-radius:34px!important;
    border-top-left-radius:34px!important;
    border-top-right-radius:34px!important;
    border-bottom-right-radius:34px!important;
    border-bottom-left-radius:34px!important;
  }
}

@media (max-width:560px){
  .zhirkov-documents-portal .doctor-diplomas-popup,
  .zhirkov-profile .doctor-diplomas-popup:not(.doctor-courses-popup),
  .zhirkov-profile .doctor-courses-popup{
    border-radius:28px!important;
    border-top-left-radius:28px!important;
    border-top-right-radius:28px!important;
    border-bottom-right-radius:28px!important;
    border-bottom-left-radius:28px!important;
  }
}


/* ========================================================================== 
   2026-08-03 — definitive document window reconstruction
   The popup is split into an outer clipping shell and an inner scrolling layer.
   This prevents the browser's native scroll area from squaring the right corners.
   ========================================================================== */
html body .detail-overlay .zhirkov-documents-portal{
  position:fixed!important;
  inset:0!important;
  z-index:425!important;
  pointer-events:none!important;
  isolation:isolate!important;
}
html body .detail-overlay .zhirkov-documents-portal::before{
  content:""!important;
  display:block!important;
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:rgba(17,55,92,.035)!important;
}

html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup{
  --doctor-doc-radius:40px;
  position:fixed!important;
  z-index:430!important;
  top:48px!important;
  bottom:48px!important;
  left:var(--zhirkov-popup-left,42vw)!important;
  right:var(--zhirkov-popup-right,70px)!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  box-sizing:border-box!important;
  border:0!important;
  outline:0!important;
  border-radius:var(--doctor-doc-radius)!important;
  overflow:hidden!important;
  overflow:clip!important;
  clip-path:inset(0 round var(--doctor-doc-radius))!important;
  -webkit-clip-path:inset(0 round var(--doctor-doc-radius))!important;
  -webkit-mask-image:none!important;
  background:#fff!important;
  background-clip:border-box!important;
  contain:paint!important;
  filter:drop-shadow(0 24px 36px rgba(7,27,52,.12))!important;
  box-shadow:none!important;
  pointer-events:auto!important;
}

/* A dedicated border layer follows the exact same radius on every side. */
html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:50!important;
  box-sizing:border-box!important;
  pointer-events:none!important;
  border:1px solid rgba(142,195,224,.66)!important;
  border-radius:inherit!important;
  background:transparent!important;
  box-shadow:inset 0 0 0 .5px rgba(219,239,249,.78)!important;
}
html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup::after{
  content:none!important;
  display:none!important;
}

/* Only this inner layer scrolls; the outer rounded shell never scrolls. */
html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup > .doctor-documents-scroll{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  box-sizing:border-box!important;
  padding:clamp(22px,3vw,30px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  background:#fff!important;
  border-radius:inherit!important;
}
html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup > .doctor-documents-scroll::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}

@media (max-width:900px){
  html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup{
    --doctor-doc-radius:32px;
    top:16px!important;
    right:16px!important;
    bottom:16px!important;
    left:16px!important;
  }
}
@media (max-width:560px){
  html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup{
    --doctor-doc-radius:26px;
    top:12px!important;
    right:12px!important;
    bottom:12px!important;
    left:12px!important;
  }
  html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup > .doctor-documents-scroll{
    padding:20px 16px!important;
  }
}

/* ========================================================================== 
   2026-08-03 — размер окна документов по отмеченным пользователем границам.
   На широких экранах внешняя рамка подогнана к прежним границам фотографий:
   окно сужается на величину старого внутреннего бокового отступа, а сам ряд
   документов сохраняет прежнюю ширину и масштаб.
   ========================================================================== */
@media (min-width:901px){
  html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup{
    --doctor-doc-side-fit:clamp(22px,3vw,30px);
    left:calc(var(--zhirkov-popup-left,42vw) + var(--doctor-doc-side-fit))!important;
    right:calc(var(--zhirkov-popup-right,70px) + var(--doctor-doc-side-fit))!important;
  }
  html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup > .doctor-documents-scroll{
    padding:clamp(22px,3vw,30px) 0!important;
  }
  html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup .doctor-diplomas-popup-head,
  html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup .doctor-diplomas-footer{
    margin-left:var(--doctor-doc-side-fit)!important;
    margin-right:var(--doctor-doc-side-fit)!important;
  }
}

/* ========================================================================== 
   2026-08-03 — вертикальная посадка документов после уменьшения окна.
   Внутренний слой теперь сам распределяет заголовок, документы и навигацию
   по доступной высоте. Фотографии подняты немного выше и больше не обрезаются
   нижней границей окна.
   ========================================================================== */
html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup > .doctor-documents-scroll{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  align-content:stretch!important;
  overflow:hidden!important;
}
html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup .doctor-diplomas-popup-head{
  margin-bottom:6px!important;
}
html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup .doctor-diplomas-grid{
  align-self:stretch!important;
  height:auto!important;
  min-height:0!important;
  position:relative!important;
  top:-6px!important;
}
html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup .doctor-diplomas-footer{
  margin-top:4px!important;
}

@media (min-width:901px){
  html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup > .doctor-documents-scroll{
    padding:14px 0 18px!important;
  }
}
@media (max-width:900px){
  html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup > .doctor-documents-scroll{
    padding:14px 18px 18px!important;
  }
  html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup .doctor-diplomas-grid{
    top:-4px!important;
  }
}
@media (max-width:560px){
  html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup > .doctor-documents-scroll{
    padding:12px 14px 16px!important;
  }
  html body .detail-overlay .zhirkov-documents-portal > .doctor-diplomas-popup .doctor-diplomas-grid{
    top:-2px!important;
  }
}

/* Более компактное окно пошагового просмотра во всех профилях врачей */
.doctor-case-modal-dialog{
  width:min(900px,100%);
}
.doctor-case-modal-stage{
  grid-template-columns:48px minmax(0,620px) 48px;
  gap:14px;
}

/* =========================================================
   Service photography — image-led cards inspired by the
   visual rhythm of modern editorial dental websites.
   ========================================================= */
.service-card{
  isolation:isolate;
  background:#0d2544!important;
  border-color:rgba(255,255,255,.22)!important;
  box-shadow:0 22px 60px rgba(0,0,0,.16);
}
.service-card-image{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.002);
  transition:transform 1.15s var(--motion-ease),filter 1.15s var(--motion-ease);
  filter:saturate(.92) contrast(.98);
}
.service-card::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  width:auto!important;
  height:auto!important;
  right:0!important;
  bottom:0!important;
  border-radius:inherit!important;
  background:
    linear-gradient(180deg,rgba(6,24,47,.06) 0%,rgba(6,24,47,.12) 38%,rgba(6,24,47,.88) 79%,rgba(6,24,47,.98) 100%)!important;
  opacity:1!important;
  pointer-events:none;
}
.service-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:inherit;
  background:linear-gradient(120deg,rgba(255,255,255,.08),transparent 34%);
  pointer-events:none;
}
.service-card:hover .service-card-image{
  transform:scale(1.045);
  filter:saturate(1) contrast(1);
}
.service-card-index{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:38px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(6,24,47,.35);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  color:#fff!important;
  font-size:22px!important;
}
.service-card-body{
  z-index:2;
  text-shadow:0 2px 18px rgba(0,0,0,.22);
}
.service-card h3{
  color:#fff;
  font-size:clamp(38px,3.8vw,62px)!important;
  max-width:92%;
}
.service-card p{color:rgba(255,255,255,.83)!important}
.service-card .service-open{
  color:#fff;
  border-top-color:rgba(255,255,255,.22);
}
@media (max-width:900px){
  .service-card h3{font-size:clamp(36px,11vw,54px)!important}
}

/* 2026-08-07 — gentler photo hover zoom */
@media (hover:hover) and (pointer:fine){
  .service-card-image{
    transition:transform 2.15s cubic-bezier(.4,0,.2,1),filter 1.75s cubic-bezier(.4,0,.2,1)!important;
    will-change:transform;
  }
  .service-card:hover .service-card-image{
    transform:scale(1.036)!important;
  }

  .doctor-photo img{
    transition:transform 2.05s cubic-bezier(.4,0,.2,1),filter 1.7s cubic-bezier(.4,0,.2,1)!important;
  }
  .doctor-card:hover .doctor-photo img{
    transform:scale(1.018)!important;
  }

  .image-window img{
    transition:transform 2.15s cubic-bezier(.4,0,.2,1)!important;
  }
  .image-window:hover img{
    transform:scale(1.014)!important;
  }
}

/* 2026-08-10: на главной странице «Портфолио» повторяет карусель «Команда».
   Отдельный вид #portfolio сохраняет прежнюю сетку без изменений. */
[data-home-portfolio-only]{display:none}

body[data-site-view="home"] #cases{
  position:relative;
  min-height:100svh!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--white);
}
body[data-site-view="home"] #cases .portfolio-section-inner{
  position:relative;
  width:100%!important;
  max-width:none!important;
  min-height:100svh;
  margin:0!important;
  padding:calc(var(--header-h) + 4px) 0 22px!important;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:clamp(16px,2.2vh,26px);
  overflow:hidden;
}
body[data-site-view="home"] #cases [data-home-portfolio-only]{display:grid}
body[data-site-view="home"] #cases .portfolio-home-head{
  width:min(1520px,calc(100% - var(--page-pad)*2));
  margin:0 auto!important;
  grid-template-columns:1fr .45fr;
  gap:clamp(34px,4vw,58px)!important;
  align-items:end;
}
body[data-site-view="home"] #cases .portfolio-home-head .display-title{
  font-size:clamp(50px,5.65vw,92px)!important;
  line-height:.87!important;
}
body[data-site-view="home"] #cases .portfolio-home-head .team-intro .body-large{
  font-size:clamp(17px,1.55vw,24px)!important;
}
body[data-site-view="home"] #cases .standalone-section-head,
body[data-site-view="home"] #cases .standalone-original-kicker{display:none!important}

body[data-site-view="home"] #cases .portfolio-home-viewport{
  width:100%!important;
  overflow:hidden!important;
  padding-left:max(var(--page-pad),calc((100vw - 1520px)/2))!important;
  padding-right:0!important;
  contain:layout paint;
  touch-action:pan-y;
}
body[data-site-view="home"] #cases .portfolio-home-rail{
  display:flex!important;
  width:max-content!important;
  grid-template-columns:none!important;
  justify-content:flex-start!important;
  align-items:stretch!important;
  gap:clamp(20px,1.6vw,30px)!important;
  margin:0!important;
  padding:0 max(var(--page-pad),calc((100vw - 1520px)/2)) 0 0!important;
  overflow:visible!important;
  transform:translate3d(var(--carousel-x,0px),0,0)!important;
  transition:transform 1.18s cubic-bezier(.22,.8,.26,1)!important;
  will-change:transform;
}
body[data-site-view="home"] #cases .portfolio-home-rail.is-dragging{transition:none!important}
body[data-site-view="home"] #cases .standalone-portfolio-card-context{
  display:block!important;
  flex:0 0 clamp(280px,21vw,340px)!important;
  width:clamp(280px,21vw,340px)!important;
  min-width:0;
}
body[data-site-view="home"] #cases .standalone-portfolio-item{
  height:100%;
  grid-template-rows:auto 112px;
  border-radius:28px;
  border-color:var(--line);
  background:var(--white);
  box-shadow:none;
  transition:transform 1.2s var(--ease),box-shadow 1.2s var(--ease),border-color 1.2s var(--ease);
}
body[data-site-view="home"] #cases .standalone-portfolio-item:hover{
  transform:translateY(-3px);
  border-color:var(--line);
  box-shadow:0 28px 76px rgba(15,55,99,.14);
}
body[data-site-view="home"] #cases .standalone-portfolio-visual{
  border-radius:28px 28px 0 0;
  background:var(--ice);
}
body[data-site-view="home"] #cases .standalone-portfolio-caption{
  padding:20px 4px 0;
  border-top:0;
  justify-content:flex-start;
}
body[data-site-view="home"] #cases .standalone-portfolio-description{
  font-family:var(--display);
  font-size:clamp(26px,2.1vw,34px);
  font-weight:400;
  line-height:1;
  color:var(--blue-950);
}
body[data-site-view="home"] #cases .standalone-portfolio-author{
  margin-top:9px;
  color:var(--muted);
  font-size:14px;
}
body[data-site-view="home"] #cases .standalone-portfolio-avatar{
  width:28px;
  height:28px;
  flex-basis:28px;
}
body[data-site-view="home"] #cases .portfolio-home-controls{
  width:min(1520px,calc(100% - var(--page-pad)*2));
  margin:0 auto;
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}
body[data-site-view="home"] #cases .portfolio-home-controls .carousel-arrow{
  color:var(--blue-950);
  border-color:var(--blue-950);
}
body[data-site-view="home"] #cases .portfolio-home-controls .carousel-arrow:hover:not(:disabled){
  color:var(--white);
  background:var(--blue-950);
}

@media (min-width:901px) and (hover:hover) and (pointer:fine){
  body[data-site-view="home"] #cases .portfolio-home-controls{
    position:absolute;
    z-index:20;
    left:0;
    right:0;
    top:61%;
    width:100%;
    margin:0;
    padding:0 clamp(12px,1.4vw,24px);
    justify-content:space-between;
    pointer-events:none;
  }
  body[data-site-view="home"] #cases .portfolio-home-controls .carousel-arrow{
    pointer-events:auto;
    background:rgba(255,255,255,.86);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }
}

@media (max-width:900px){
  body[data-site-view="home"] #cases{
    min-height:0!important;
  }
  body[data-site-view="home"] #cases .portfolio-section-inner{
    min-height:0;
    padding:105px 0 88px!important;
    display:block;
    overflow:visible;
  }
  body[data-site-view="home"] #cases .portfolio-home-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:26px!important;
    margin-bottom:42px!important;
  }
  body[data-site-view="home"] #cases .portfolio-home-head .team-intro{max-width:620px}
  body[data-site-view="home"] #cases .portfolio-home-viewport{
    overflow:hidden!important;
    padding-left:20px!important;
  }
  body[data-site-view="home"] #cases .portfolio-home-rail{
    gap:22px!important;
    padding-right:20px!important;
  }
  body[data-site-view="home"] #cases .standalone-portfolio-card-context{
    flex:0 0 min(82vw,320px)!important;
    width:min(82vw,320px)!important;
  }
  body[data-site-view="home"] #cases .portfolio-home-controls{
    width:calc(100% - 40px);
    margin-top:30px;
    justify-content:space-between;
  }
}

@media (max-width:520px){
  body[data-site-view="home"] #cases .portfolio-section-inner{padding:92px 0 72px!important}
  body[data-site-view="home"] #cases .portfolio-home-head{
    width:calc(100% - 40px);
    margin-bottom:34px!important;
  }
  body[data-site-view="home"] #cases .portfolio-home-head .display-title{
    font-size:clamp(46px,14vw,62px)!important;
    line-height:.88!important;
  }
  body[data-site-view="home"] #cases .standalone-portfolio-item{grid-template-rows:auto 104px}
  body[data-site-view="home"] #cases .standalone-portfolio-description{font-size:28px}
}

/* В отдельном представлении портфолио viewport не должен наследовать
   горизонтальную механику главной страницы. */
body[data-site-view="portfolio"] #cases .portfolio-home-head,
body[data-site-view="portfolio"] #cases .portfolio-home-controls{display:none!important}
body[data-site-view="portfolio"] #cases .portfolio-home-viewport{
  width:100%!important;
  overflow:visible!important;
  padding:0!important;
  contain:none!important;
  touch-action:auto;
}
body[data-site-view="portfolio"] #cases .portfolio-home-rail{
  transform:none!important;
  transition:none!important;
}


/* 2026-08-10 — video in the homepage “About us” section */
.about-video-window{background:#e8eef3}
.about-video{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center center;transition:transform 2.15s cubic-bezier(.4,0,.2,1)}
@media (hover:hover) and (pointer:fine){
  .about-video-window:hover .about-video{transform:scale(1.014)}
}
@media (max-width:820px){
  .about-video{aspect-ratio:1/1.15}
}
@media (prefers-reduced-motion:reduce){
  .about-video{transition:none}
}

/* Final doctor-card hover behavior: frame stays fixed; only the photo zooms. */
.doctor-card .doctor-photo{
  transform:none!important;
}
.doctor-card:hover .doctor-photo,
.doctor-card:focus-within .doctor-photo{
  transform:none!important;
  box-shadow:0 24px 70px rgba(15,55,99,.11)!important;
}
.all-doctors-grid .doctor-card:hover,
.all-doctors-grid .doctor-card:focus-within{
  transform:none!important;
}
.doctor-card .doctor-photo img{
  transition:transform 1.45s cubic-bezier(.4,0,.2,1)!important;
}
.doctor-card:hover .doctor-photo img,
.doctor-card:focus-within .doctor-photo img{
  transform:scale(1.025)!important;
}
.doctor-card .doctor-photo::after,
.doctor-card:hover .doctor-photo::after{
  content:none!important;
  display:none!important;
}


/* Mobile menu redesign and refined hover animation */
.menu-overlay{
  background:
    radial-gradient(circle at top left, rgba(169,215,239,.38) 0, rgba(169,215,239,0) 34%),
    linear-gradient(180deg, #fbfdff 0%, #ffffff 54%, #f4faff 100%);
}
.menu-layout{
  align-items:start;
  gap:56px;
}
.menu-links{
  gap:0;
}
.menu-links a{
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:end;
  column-gap:18px;
  padding:14px 0 18px;
  border-bottom:1px solid var(--line);
  transition:transform .35s var(--ease),color .35s var(--ease);
}
.menu-links a:last-child{
  border-bottom:0;
}
.menu-links a:hover,
.menu-links a:focus-visible{
  color:var(--blue-900);
  transform:translateX(8px);
}
.menu-links a:hover .menu-link-index,
.menu-links a:focus-visible .menu-link-index{
  transform:translateX(4px);
  border-color:rgba(20,63,120,.22);
  background:rgba(169,215,239,.26);
}
.menu-links a:hover .menu-link-label::after,
.menu-links a:focus-visible .menu-link-label::after{
  right:0;
}
.menu-link-index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  min-width:30px;
  height:30px;
  border:1px solid rgba(20,63,120,.12);
  border-radius:999px;
  background:rgba(169,215,239,.12);
  font-family:var(--sans);
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  color:var(--blue-650);
  transition:transform .35s var(--ease),background .35s var(--ease),border-color .35s var(--ease);
}
.menu-link-label{
  position:relative;
  display:inline-block;
  max-width:max-content;
  padding-bottom:10px;
}
.menu-link-label::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:0;
  height:1px;
  background:currentColor;
  transition:right .35s var(--ease);
}
.menu-links a:hover{
  font-style:normal;
}
.menu-side{
  align-self:end;
  max-width:420px;
}
.menu-side p,
.menu-side p a{
  color:var(--muted);
}
.menu-search input::placeholder{
  color:var(--muted);
}

@media (max-width:820px){
  .menu-overlay{
    padding:calc(var(--header-h) + 18px) var(--page-pad) max(20px,env(safe-area-inset-bottom));
    background:
      radial-gradient(circle at top right, rgba(100,180,220,.22) 0, rgba(100,180,220,0) 38%),
      linear-gradient(180deg, #f5fbff 0%, #ffffff 42%, #eff8ff 100%);
  }
  .menu-layout{
    min-height:auto;
    gap:22px;
  }
  .menu-links{
    padding:14px 18px;
    border:1px solid rgba(20,63,120,.10);
    border-radius:28px;
    background:rgba(255,255,255,.88);
    box-shadow:0 22px 56px rgba(20,63,120,.10);
    backdrop-filter:blur(14px);
  }
  .menu-links a{
    grid-template-columns:30px minmax(0,1fr);
    padding:10px 0 14px;
  }
  .menu-links a:last-child{
    padding-bottom:6px;
  }
  .menu-links a:hover,
  .menu-links a:focus-visible{
    transform:translateX(6px);
  }
  .menu-links .menu-link-label{
    padding-bottom:8px;
  }
  .menu-side{
    position:relative;
    overflow:hidden;
    max-width:none;
    border:0;
    border-radius:28px;
    padding:24px 20px;
    background:linear-gradient(180deg, rgba(20,63,120,1) 0%, rgba(23,75,136,1) 100%);
    box-shadow:0 24px 64px rgba(9,36,70,.22);
    gap:20px;
    color:rgba(255,255,255,.92);
  }
  .menu-side > *{
    position:relative;
    z-index:1;
  }
  .menu-side::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 38%);
    pointer-events:none;
  }
  .menu-side p,
  .menu-side p a,
  .menu-side .search-result{
    color:rgba(255,255,255,.82);
  }
  .menu-side strong{
    color:var(--white);
  }
  .menu-search{
    border-bottom-color:rgba(255,255,255,.32);
  }
  .menu-search input,
  .menu-search button{
    color:var(--white);
  }
  .menu-search input::placeholder{
    color:rgba(255,255,255,.72);
  }
  .search-result{
    border-bottom-color:rgba(255,255,255,.14);
  }
  .search-result:last-child{
    border-bottom:0;
  }
  .menu-accessibility{
    width:100%;
    justify-content:center;
    min-height:52px;
    padding:0 18px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:var(--white);
    transition:background .3s var(--ease),transform .3s var(--ease),border-color .3s var(--ease);
  }
  .menu-accessibility:hover,
  .menu-accessibility:focus-visible{
    background:rgba(255,255,255,.16);
    border-color:rgba(255,255,255,.38);
    transform:translateY(-2px);
  }
}

@media (max-width:520px){
  .menu-overlay{
    padding-top:calc(var(--header-h) + 14px);
  }
  .menu-links{
    padding:12px 14px;
    border-radius:24px;
  }
  .menu-links a{
    grid-template-columns:28px minmax(0,1fr);
    column-gap:14px;
  }
  .menu-links .menu-link-index{
    width:28px;
    min-width:28px;
    height:28px;
    font-size:10px;
  }
  .menu-links .menu-link-label{
    font-size:inherit;
    line-height:inherit;
  }
  .menu-side{
    padding:22px 16px;
    border-radius:24px;
  }
}


/* ============================================================
   BLOG — full evidence-based article experience
   ============================================================ */
.blog-card{cursor:pointer;outline:none}
.blog-card:focus-visible{outline:3px solid var(--blue-500);outline-offset:7px}
.insight-feature.blog-card{transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease)}
.insight-feature.blog-card:hover,.insight-feature.blog-card:focus-visible{transform:translateY(-5px);box-shadow:0 24px 70px rgba(8,47,94,.2);background:var(--blue-900)}
.insight-item.blog-card{position:relative;transition:padding-left .35s var(--ease),background .35s var(--ease)}
.insight-item.blog-card:hover,.insight-item.blog-card:focus-visible{padding-left:18px;background:linear-gradient(90deg,rgba(255,255,255,.56),transparent 76%)}
.insight-item.blog-card h3{transition:color .3s var(--ease)}
.insight-read{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-family:var(--sans);font-size:10px!important;font-weight:800;letter-spacing:.12em!important;text-transform:uppercase;color:var(--blue-650)!important}
.insight-feature .insight-read{color:var(--blue-300)!important}
.insight-read>span{font-size:16px!important;line-height:1;transition:transform .3s var(--ease)}
.blog-card:hover .insight-read>span,.blog-card:focus-visible .insight-read>span{transform:translateX(6px)}

.blog-article-overlay{position:fixed;inset:0;z-index:520;visibility:hidden;opacity:0;transition:opacity .38s var(--ease),visibility .38s}
.blog-article-overlay.is-open{visibility:visible;opacity:1}
.blog-article-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(7,27,52,.72);backdrop-filter:blur(12px);cursor:default}
.blog-article-sheet{position:absolute;inset:14px;overflow:auto;overscroll-behavior:contain;background:var(--white);border-radius:32px;box-shadow:0 40px 120px rgba(4,24,51,.32);transform:translateY(34px) scale(.985);opacity:0;transition:transform .5s var(--ease),opacity .38s var(--ease);scrollbar-gutter:stable}
.blog-article-overlay.is-open .blog-article-sheet{transform:none;opacity:1}
.blog-article-close{position:sticky;float:right;top:18px;right:18px;z-index:10;width:54px;height:54px;margin:18px 18px 0 0;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(10,47,93,.08);cursor:pointer;color:var(--blue-950)}
.blog-article-close::before,.blog-article-close::after{content:"";position:absolute;left:50%;top:50%;width:20px;height:1px;background:currentColor;transform-origin:center}
.blog-article-close::before{transform:translate(-50%,-50%) rotate(45deg)}
.blog-article-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.blog-article-close:hover{background:var(--blue-950);color:var(--white)}
.blog-article-content{min-height:100%;background:linear-gradient(180deg,var(--blue-050) 0,rgba(255,255,255,0) 460px),var(--white)}
.blog-article-hero{padding:clamp(78px,9vw,132px) clamp(24px,7vw,112px) clamp(52px,6vw,90px);border-bottom:1px solid var(--line)}
.blog-article-hero-inner{width:min(1250px,100%);margin:0 auto}
.blog-article-meta{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;margin-bottom:25px;color:var(--blue-650);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.blog-article-meta span+span::before{content:"•";margin-right:24px;color:var(--blue-300)}
.blog-article-kicker{margin:0 0 18px;color:var(--blue-650);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.blog-article-title{max-width:1050px;margin:0;font-family:var(--display);font-size:clamp(54px,8vw,122px);font-weight:400;line-height:.86;letter-spacing:-.055em;color:var(--blue-950)}
.blog-article-lead{max-width:880px;margin:34px 0 0;font-size:clamp(18px,1.8vw,25px);line-height:1.55;color:var(--muted)}
.blog-article-main{width:min(1250px,100%);margin:0 auto;padding:clamp(48px,6vw,88px) clamp(24px,7vw,112px) clamp(70px,8vw,120px);display:grid;grid-template-columns:minmax(240px,.42fr) minmax(0,1fr);gap:clamp(44px,7vw,110px)}
.blog-article-aside{position:sticky;top:34px;align-self:start;display:grid;gap:18px}
.blog-article-summary{padding:28px;border-radius:24px;background:var(--blue-950);color:var(--white)}
.blog-article-summary h2{margin:0 0 20px;font-family:var(--display);font-size:32px;font-weight:400}
.blog-article-summary ul{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.blog-article-summary li{position:relative;padding-left:20px;color:rgba(255,255,255,.78);font-size:14px;line-height:1.55}
.blog-article-summary li::before{content:"";position:absolute;left:0;top:.7em;width:7px;height:7px;border-radius:50%;background:var(--blue-300)}
.blog-article-note{padding:20px 22px;border:1px solid var(--line);border-radius:20px;background:var(--blue-050);color:var(--muted);font-size:12px;line-height:1.55}
.blog-article-copy{min-width:0}
.blog-article-section{padding:0 0 48px;margin:0 0 48px;border-bottom:1px solid var(--line)}
.blog-article-section:last-of-type{margin-bottom:38px}
.blog-article-section h2{margin:0 0 22px;font-family:var(--display);font-size:clamp(34px,4vw,58px);font-weight:400;line-height:1.02;color:var(--blue-950);letter-spacing:-.03em}
.blog-article-section p{margin:0 0 18px;font-size:17px;line-height:1.76;color:#334b65}
.blog-article-section p:last-child{margin-bottom:0}
.blog-article-section ul{margin:22px 0 18px;padding:0;list-style:none;display:grid;gap:11px}
.blog-article-section li{position:relative;padding-left:28px;font-size:16px;line-height:1.65;color:#334b65}
.blog-article-section li::before{content:"";position:absolute;left:2px;top:.72em;width:10px;height:1px;background:var(--blue-650)}
.blog-article-sources{margin-top:12px;padding:30px;border-radius:24px;background:var(--ice)}
.blog-article-sources h2{margin:0 0 10px;font-family:var(--display);font-size:34px;font-weight:400;color:var(--blue-950)}
.blog-article-sources>p{margin:0 0 24px;color:var(--muted);font-size:13px;line-height:1.55}
.blog-source-list{display:grid;gap:10px}
.blog-source{display:grid;grid-template-columns:minmax(110px,.35fr) 1fr;gap:18px;padding:15px 0;border-top:1px solid var(--line);transition:transform .3s var(--ease),color .3s var(--ease)}
.blog-source:first-child{border-top:0}
.blog-source:hover{transform:translateX(5px)}
.blog-source-org{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-650)}
.blog-source-title{color:var(--blue-950);font-size:14px;line-height:1.45;text-decoration:underline;text-decoration-color:rgba(20,63,120,.25);text-underline-offset:4px}
.blog-article-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.blog-article-actions .button{min-width:210px}
.blog-back-button{border:1px solid var(--blue-950);background:transparent;color:var(--blue-950)}
.blog-back-button:hover{background:var(--blue-950);color:var(--white)}

@media (max-width:900px){
  .blog-article-sheet{inset:8px;border-radius:24px}
  .blog-article-main{grid-template-columns:1fr;gap:38px}
  .blog-article-aside{position:static;grid-template-columns:1fr 1fr}
  .blog-article-summary{grid-column:1/-1}
}
@media (max-width:620px){
  .insight-item.blog-card:hover,.insight-item.blog-card:focus-visible{padding-left:8px}
  .blog-article-sheet{inset:0;border-radius:0}
  .blog-article-close{top:12px;margin:12px 12px 0 0;width:48px;height:48px}
  .blog-article-hero{padding:76px 20px 44px}
  .blog-article-title{font-size:clamp(48px,15vw,74px)}
  .blog-article-lead{font-size:18px;margin-top:26px}
  .blog-article-main{padding:38px 20px 80px;gap:30px}
  .blog-article-aside{grid-template-columns:1fr}
  .blog-article-summary{padding:24px 20px;border-radius:20px}
  .blog-article-section{padding-bottom:38px;margin-bottom:38px}
  .blog-article-section h2{font-size:36px}
  .blog-article-section p{font-size:16px;line-height:1.7}
  .blog-article-sources{padding:24px 18px}
  .blog-source{grid-template-columns:1fr;gap:5px}
  .blog-article-actions{display:grid}
  .blog-article-actions .button{width:100%;min-width:0}
}


/* FINAL MOBILE MENU TYPOGRAPHY + TOP SPACING 2026-09-21 */
/* The hamburger menu is used up to 1320px, so its typography must scale
   across phones, tablets and compact desktop windows rather than only phones. */
.menu-links .menu-link-label{
  width:auto;
  font-size:clamp(30px,4vw,54px);
  line-height:1;
  letter-spacing:.035em;
}

@media (max-width:1320px){
  .menu-overlay{
    padding-top:calc(var(--header-h) + 8px);
  }
  .menu-links .menu-link-label{
    font-size:clamp(34px,4.6vw,58px);
  }
}

@media (max-width:820px){
  .menu-overlay{
    padding-top:calc(var(--header-h) + 5px);
  }
  .menu-links{
    padding-top:8px;
  }
  .menu-links .menu-link-label{
    font-size:clamp(32px,8vw,50px);
    letter-spacing:.025em;
  }
}

@media (max-width:520px){
  .menu-overlay{
    padding-top:calc(var(--header-h) + 3px);
  }
  .menu-links{
    padding-top:6px;
  }
  .menu-links .menu-link-label{
    font-size:clamp(30px,8.5vw,44px);
    line-height:.98;
  }
}


/* ============================================================
   MENU REFINEMENT — aligned side panel, restored centered logo,
   proportional mobile typography and subtle divider line
   ============================================================ */
.site-header.menu-active{
  background:rgba(255,255,255,.96)!important;
}
.site-header.menu-active::after{
  left:var(--page-pad)!important;
  right:var(--page-pad)!important;
  height:1px!important;
  background:rgba(20,63,120,.10)!important;
}
.site-header .brand-centered{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:6!important;
}
.site-header .brand-centered img{
  display:block!important;
  object-fit:contain;
}
.header-grid.header-grid-split{
  position:relative;
}
.header-grid-split .brand-centered{
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
}

.menu-overlay{
  padding-top:calc(var(--header-h) + 10px)!important;
}
.menu-layout{
  align-items:start!important;
  gap:clamp(28px,4vw,48px)!important;
}
.menu-links{
  align-self:start;
}
.menu-links a{
  align-items:center;
}
.menu-side{
  position:relative;
  align-self:start!important;
  margin-top:0!important;
  max-width:440px!important;
  padding:26px 28px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:30px!important;
  background:linear-gradient(180deg, rgba(20,63,120,.985) 0%, rgba(16,52,99,.985) 100%)!important;
  box-shadow:0 28px 72px rgba(9,36,70,.24)!important;
  color:rgba(255,255,255,.92)!important;
  overflow:hidden;
}
.menu-side::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(circle at top right, rgba(255,255,255,.16), transparent 42%);
  pointer-events:none;
}
.menu-side > *{
  position:relative;
  z-index:1;
}
.menu-side p,
.menu-side p a,
.menu-side .search-result{
  color:rgba(255,255,255,.82)!important;
}
.menu-side strong{
  color:var(--white)!important;
}
.menu-search{
  border-bottom-color:rgba(255,255,255,.32)!important;
}
.menu-search input,
.menu-search button{
  color:var(--white)!important;
}
.menu-search input::placeholder{
  color:rgba(255,255,255,.72)!important;
}
.menu-side .search-result{
  border-bottom-color:rgba(255,255,255,.14)!important;
}
.menu-accessibility{
  width:100%;
  justify-content:center;
  min-height:52px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:999px;
  background:rgba(255,255,255,.08)!important;
  color:var(--white)!important;
  transition:background .3s var(--ease),transform .3s var(--ease),border-color .3s var(--ease);
}
.menu-accessibility:hover,
.menu-accessibility:focus-visible{
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.36)!important;
  transform:translateY(-2px);
}
.menu-accessibility svg{
  stroke:currentColor!important;
}

@media (max-width:1320px){
  .menu-links a{
    font-family:var(--sans)!important;
    font-style:normal!important;
    font-weight:400;
    letter-spacing:-.04em!important;
  }
  .menu-links .menu-link-label{
    font-family:var(--sans)!important;
    font-size:clamp(42px,6.2vw,78px)!important;
    line-height:.92!important;
    letter-spacing:-.045em!important;
    font-weight:400!important;
  }
  .menu-link-index{
    font-family:var(--sans)!important;
  }
}

@media (max-width:980px){
  .menu-overlay{
    padding-top:calc(var(--header-h) + 6px)!important;
  }
  .menu-layout{
    gap:22px!important;
  }
  .menu-links{
    gap:0!important;
  }
  .menu-links a{
    grid-template-columns:30px minmax(0,1fr)!important;
    column-gap:16px!important;
    padding:10px 0 14px!important;
  }
  .menu-links .menu-link-label{
    font-size:clamp(40px,9.4vw,66px)!important;
  }
  .menu-side{
    max-width:none!important;
    padding:24px 22px!important;
    border-radius:28px!important;
  }
}

@media (max-width:640px){
  .header-grid-split .brand-centered img{
    width:86px!important;
    height:64px!important;
  }
  .menu-links .menu-link-label{
    font-size:clamp(38px,10.8vw,58px)!important;
  }
  .menu-side{
    padding:22px 18px!important;
    border-radius:24px!important;
  }
}


/* ============================================================
   FINAL MOBILE MENU CORRECTION — 2026-09-21
   Smaller editorial type, guaranteed logo, visible subtle divider
   ============================================================ */

/* Keep the menu header visually identical to the main site header. */
.site-header.menu-active{
  background:rgba(255,255,255,.975)!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.site-header.menu-active::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:var(--page-pad)!important;
  right:var(--page-pad)!important;
  bottom:0!important;
  height:1px!important;
  background:rgba(20,63,120,.14)!important;
  opacity:1!important;
  z-index:8!important;
}

/* Restore the logo even if another responsive rule affects the <img>. */
.site-header .brand.brand-centered{
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:clamp(96px,7.2vw,126px)!important;
  height:clamp(68px,5.2vw,90px)!important;
  transform:translate(-50%,-50%)!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:12!important;
  background:url("../site/logo.png") center/contain no-repeat!important;
  pointer-events:auto!important;
}
.site-header .brand.brand-centered img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
}

/* Editorial menu typography: closer to the site's large headings, but calmer. */
@media (max-width:1320px){
  .menu-links a{
    font-family:var(--display)!important;
    font-style:normal!important;
    font-weight:400!important;
    letter-spacing:0!important;
  }
  .menu-links .menu-link-label{
    font-family:var(--display)!important;
    font-size:clamp(34px,4.35vw,54px)!important;
    line-height:.98!important;
    letter-spacing:-.035em!important;
    font-weight:400!important;
  }
  .menu-link-index{
    font-family:var(--sans)!important;
    font-size:10px!important;
    letter-spacing:.10em!important;
  }
}

@media (max-width:980px){
  .menu-links .menu-link-label{
    font-size:clamp(33px,7.2vw,50px)!important;
  }
  .menu-links a{
    padding:9px 0 13px!important;
  }
}

@media (max-width:640px){
  .site-header .brand.brand-centered{
    width:82px!important;
    height:60px!important;
  }
  .site-header.menu-active::after{
    left:20px!important;
    right:20px!important;
    background:rgba(20,63,120,.13)!important;
  }
  .menu-links .menu-link-label{
    font-size:clamp(31px,8.6vw,44px)!important;
    line-height:1!important;
  }
  .menu-links a{
    padding:8px 0 12px!important;
  }
}

@media (max-width:420px){
  .menu-links .menu-link-label{
    font-size:clamp(29px,8.2vw,38px)!important;
  }
}


/* ============================================================
   MOBILE MENU TYPOGRAPHY v3 — match the "Спокойно" display face,
   but at a calmer, more proportional size
   ============================================================ */
@media (max-width:1320px){
  .menu-links a,
  .menu-links .menu-link-label{
    font-family:var(--display)!important;
    font-style:normal!important;
    font-weight:400!important;
  }
  .menu-links .menu-link-label{
    font-size:clamp(32px,3.5vw,42px)!important;
    line-height:.98!important;
    letter-spacing:-.055em!important;
  }
}

@media (max-width:980px){
  .menu-links .menu-link-label{
    font-size:clamp(30px,5.7vw,38px)!important;
    line-height:1!important;
  }
  .menu-links a{
    padding:8px 0 11px!important;
  }
}

@media (max-width:640px){
  .menu-links .menu-link-label{
    font-size:clamp(28px,7.6vw,34px)!important;
    line-height:1!important;
    letter-spacing:-.05em!important;
  }
  .menu-links a{
    padding:7px 0 10px!important;
  }
}

@media (max-width:420px){
  .menu-links .menu-link-label{
    font-size:clamp(27px,7.3vw,32px)!important;
  }
}


/* ============================================================
   LOGO COLOUR BY HEADER BACKGROUND — LOCKED
   Keep this behaviour unchanged in future menu edits.
   ============================================================ */
.site-header .brand.brand-centered{
  background:none!important;
}
.site-header .brand.brand-centered img{
  filter:brightness(0) invert(1)!important;
  transition:filter .75s var(--ease),transform .75s var(--ease)!important;
}
.site-header[data-theme="hero"] .brand.brand-centered img,
.site-header[data-theme="dark"] .brand.brand-centered img{
  filter:brightness(0) invert(1)!important;
}
.site-header[data-theme="light"] .brand.brand-centered img,
.site-header.menu-active .brand.brand-centered img{
  filter:none!important;
}


/* About section photo carousel */
.about-photo-carousel{background:#e8eef3;aspect-ratio:1/1;clip-path:none!important}
.about-carousel-track{position:absolute;inset:0}
.about-carousel-slide{position:absolute;inset:0;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover;object-position:center;opacity:0;transform:scale(1.01);transition:opacity .75s ease,transform 5.5s ease!important;pointer-events:none}
.about-carousel-slide.is-active{opacity:1;transform:scale(1.045);pointer-events:auto}
.about-photo-carousel:hover .about-carousel-slide{transform:scale(1.045)!important}
.about-carousel-arrow,.media-carousel-arrow{position:absolute;z-index:3;top:50%;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(8,49,91,.42);color:transparent;font-size:0;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transform:translateY(-50%);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .2s ease,border-color .2s ease,transform .2s ease}
.about-carousel-arrow:hover,.media-carousel-arrow:hover{background:rgba(8,49,91,.58);border-color:rgba(255,255,255,.92)}
.about-carousel-prev{left:14px}.about-carousel-next{right:14px}
.about-carousel-dots{position:absolute;z-index:3;left:50%;bottom:16px;display:flex;gap:7px;transform:translateX(-50%)}
.about-carousel-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.58);cursor:pointer;transition:width .25s ease,background .25s ease;border-radius .25s ease}
.about-carousel-dot.is-active{width:22px;border-radius:10px;background:#fff}
@media (max-width: 760px){.about-photo-carousel{aspect-ratio:1/1.08}.about-carousel-prev{left:10px}.about-carousel-next{right:10px}}
@media (prefers-reduced-motion: reduce){.about-carousel-slide{transition:none!important;transform:none!important}}


/* Home media section photo carousel */
.media-photo-slot{position:relative}
.media-photo-carousel{position:absolute;inset:0;width:100%;height:100%;background:#0a2543;overflow:hidden}
.media-carousel-track{position:absolute;inset:0;width:100%;height:100%}
.media-carousel-slide{position:absolute;inset:0;display:block!important;width:100%!important;height:100%!important;overflow:hidden;opacity:0;transform:scale(1.01);transition:opacity .75s ease,transform 5.5s ease!important;pointer-events:none}
.media-carousel-slide img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:center center}
.media-carousel-slide.is-active{opacity:1;transform:scale(1.045);pointer-events:auto}
.media-photo-carousel:hover .media-carousel-slide{transform:scale(1.045)!important}
.media-carousel-prev{left:14px}.media-carousel-next{right:14px}
.media-carousel-dots{position:absolute;z-index:3;left:50%;bottom:18px;display:flex;gap:7px;transform:translateX(-50%)}
.media-carousel-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.58);cursor:pointer;transition:width .25s ease,background .25s ease,border-radius .25s ease}
.media-carousel-dot.is-active{width:22px;border-radius:10px;background:#fff}
@media (max-width: 760px){.about-carousel-arrow,.media-carousel-arrow{width:38px;height:38px}.media-carousel-prev{left:10px}.media-carousel-next{right:10px}.media-carousel-dots{bottom:14px}}
@media (prefers-reduced-motion: reduce){.media-carousel-slide{transition:none!important;transform:none!important}}

.about-carousel-arrow::before,.media-carousel-arrow::before{content:"";display:block;width:10px;height:10px;border-top:2px solid #fff;border-right:2px solid #fff;transform-origin:center}
.about-carousel-prev::before,.media-carousel-prev::before{transform:translateX(1px) rotate(-135deg)}
.about-carousel-next::before,.media-carousel-next::before{transform:translateX(-1px) rotate(45deg)}

/* ========================================================================
   HOME / «Клиника изнутри» — large editorial photo card.
   Mirrors the visual language of the upper «О клинике» block: generous
   image, rounded corners, quiet caption and no photo cropping/zoom.
   ======================================================================== */
#media-home .media-shell{
  grid-template-columns:minmax(390px,.40fr) minmax(0,.60fr);
}

#media-home .media-photo-slot{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  padding:clamp(20px,2.3vw,38px) clamp(18px,2.1vw,34px);
  background:var(--blue-950);
  box-sizing:border-box;
  overflow:visible;
}

#media-home .media-photo-card{
  width:min(100%,1120px);
  min-width:0;
}

#media-home .media-photo-carousel{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:2048/1365;
  border-radius:clamp(20px,2vw,32px);
  overflow:hidden;
  background:#0a2543;
  box-shadow:0 24px 70px rgba(0,18,41,.20);
}

#media-home .media-carousel-track{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

#media-home .media-carousel-slide,
#media-home .media-carousel-slide.is-active,
#media-home .media-photo-carousel:hover .media-carousel-slide{
  transform:none!important;
}

#media-home .media-carousel-slide img{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:#0a2543;
}

#media-home .media-photo-caption{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:13px;
  padding:0 2px;
  color:rgba(255,255,255,.56);
  font-size:12px;
  line-height:1.35;
}

/* Typical laptops: keep the two-column composition and make the photo
   visually dominant rather than collapsing it into a small card. */
@media (min-width:981px) and (max-width:1440px){
  #media-home .media-shell{
    grid-template-columns:minmax(365px,.39fr) minmax(0,.61fr)!important;
  }
  #media-home .media-copy{
    padding-left:clamp(28px,4vw,58px);
    padding-right:clamp(24px,3vw,46px);
  }
  #media-home .media-photo-slot{
    padding:22px 22px 24px;
  }
  #media-home .media-photo-card{
    width:100%;
  }
}

/* Tablets and narrow windows: stack the block so the image can stay large. */
@media (max-width:980px){
  #media-home .media-shell{
    grid-template-columns:1fr!important;
    min-height:auto;
  }
  #media-home .media-photo-slot{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    padding:0 var(--page-pad) clamp(58px,8vw,82px);
  }
  #media-home .media-photo-card{
    width:min(100%,920px);
  }
  #media-home .media-photo-carousel{
    width:100%!important;
    aspect-ratio:2048/1365!important;
  }
}

/* Mobile: full-width photo card with the same radius and controls, no crop. */
@media (max-width:820px){
  #media-home .media-photo-slot{
    border-radius:0!important;
    overflow:visible!important;
    padding:0 20px 58px!important;
  }
  #media-home .media-photo-carousel{
    border-radius:22px;
    box-shadow:0 16px 44px rgba(0,18,41,.18);
  }
  #media-home .media-photo-caption{
    margin-top:11px;
    font-size:11px;
  }
  #media-home .media-carousel-prev{left:12px}
  #media-home .media-carousel-next{right:12px}
}

@media (max-width:520px){
  #media-home .media-photo-slot{
    padding:0 16px 48px!important;
  }
  #media-home .media-photo-carousel{
    border-radius:18px;
  }
  #media-home .media-photo-caption{
    gap:12px;
  }
}


/* ============================================================
   Call modal
   ============================================================ */
.call-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:24px;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .28s var(--ease),visibility .28s;
}
.call-modal.is-open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
}
.call-modal-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(7,27,52,.64);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  cursor:pointer;
}
.call-modal-dialog{
  position:relative;
  z-index:1;
  width:min(520px,100%);
  padding:42px 40px 36px;
  border:1px solid rgba(7,27,52,.1);
  border-radius:30px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 36px 120px rgba(7,27,52,.32);
  text-align:center;
  transform:translateY(18px) scale(.985);
  transition:transform .32s var(--ease);
}
.call-modal.is-open .call-modal-dialog{transform:translateY(0) scale(1)}
.call-modal-close{
  position:absolute;
  top:18px;
  right:18px;
  width:42px;
  height:42px;
  border:1px solid rgba(7,27,52,.12);
  border-radius:50%;
  background:#fff;
  cursor:pointer;
}
.call-modal-close::before,.call-modal-close::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:17px;
  height:1.5px;
  background:var(--ink);
}
.call-modal-close::before{transform:translate(-50%,-50%) rotate(45deg)}
.call-modal-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.call-modal-close:hover,.call-modal-close:focus-visible{background:rgba(7,27,52,.05)}
.call-modal-close:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}
.call-modal-icon{
  width:68px;
  height:68px;
  margin:0 auto 22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--blue-950);
  color:#fff;
}
.call-modal-icon svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.call-modal .section-kicker{justify-content:center;margin-bottom:14px}
.call-modal-dialog h2{
  margin:0;
  font-family:var(--display);
  font-size:clamp(34px,4vw,52px);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.025em;
}
.call-modal-copy{
  max-width:410px;
  margin:18px auto 20px;
  color:#68798d;
  font-size:16px;
  line-height:1.55;
}
.call-modal-phone{
  display:inline-block;
  color:var(--blue-950);
  font-family:var(--display);
  font-size:clamp(28px,3.4vw,42px);
  line-height:1.1;
  text-decoration:none;
}
.call-modal-phone:hover,.call-modal-phone:focus-visible{text-decoration:underline;text-underline-offset:6px}
.call-modal-hours{
  margin:14px 0 28px;
  color:#7d8998;
  font-size:14px;
  line-height:1.6;
}
.call-modal-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.call-modal-actions .button{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.call-modal-cancel{
  border:1px solid rgba(7,27,52,.16);
  background:#fff;
  color:var(--ink);
}
.call-modal-cancel:hover,.call-modal-cancel:focus-visible{background:rgba(7,27,52,.06)}
@media (max-width:600px){
  .call-modal{padding:14px}
  .call-modal-dialog{padding:36px 20px 22px;border-radius:24px}
  .call-modal-close{top:12px;right:12px;width:38px;height:38px}
  .call-modal-icon{width:58px;height:58px;margin-bottom:18px}
  .call-modal-dialog h2{font-size:36px}
  .call-modal-copy{font-size:15px;margin:14px auto 18px}
  .call-modal-phone{font-size:31px}
  .call-modal-actions{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .call-modal,.call-modal-dialog{transition:none!important}
}


/* Development status notice — compact, responsive and matched to the site header */
.development-notice{
  position:absolute;
  top:max(7px,env(safe-area-inset-top));
  left:50%;
  z-index:8;
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(760px,58vw);
  min-height:24px;
  padding:3px 18px;
  transform:translateX(-50%);
  color:inherit;
  font-family:var(--sans);
  font-size:10px;
  font-weight:750;
  line-height:1.25;
  letter-spacing:.14em;
  text-align:center;
  text-transform:uppercase;
  opacity:.78;
  white-space:nowrap;
}
.development-notice::before,
.development-notice::after{
  content:"";
  flex:1 1 auto;
  height:1px;
  margin:0 14px;
  background:currentColor;
  opacity:.38;
}
.site-header .header-grid{
  transform:translateY(13px);
}
.site-header.menu-active .development-notice{
  color:var(--blue-950);
}
@media (max-width:1180px){
  .development-notice{
    width:min(620px,62vw);
    top:max(4px,env(safe-area-inset-top));
    font-size:9px;
    letter-spacing:.11em;
  }
  .site-header .header-grid{transform:translateY(11px)}
}
@media (max-width:820px){
  .development-notice{
    width:calc(100% - 40px);
    min-height:18px;
    top:max(3px,env(safe-area-inset-top));
    padding:2px 0;
    font-size:8px;
    letter-spacing:.08em;
    opacity:.82;
  }
  .development-notice::before,
  .development-notice::after{margin:0 8px}
  .site-header .header-grid{transform:translateY(9px)}
}
@media (max-width:480px){
  .development-notice{
    width:calc(100% - 28px);
    font-size:7px;
    letter-spacing:.055em;
  }
  .development-notice::before,
  .development-notice::after{margin:0 6px}
}
