.profile-layout{--profile-line:#dce3db;--profile-green:#e7eee3;--profile-muted:#687165}
.profile-layout .specialist-profile-shell{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);column-gap:64px;row-gap:24px;align-items:start}
.profile-layout .specialist-profile-intro{grid-column:2;grid-row:1;padding:0;min-width:0}
.profile-layout .specialist-profile-intro .crumbs{margin:0 0 26px;font-size:12px;line-height:1.6}
.profile-layout .specialist-profile-intro .page-title{font-size:clamp(32px,3vw,48px);line-height:1.15;margin:0 0 18px}
.profile-layout .specialist-profile-intro .answer{font-size:19px;line-height:1.5;margin-bottom:18px}
.profile-layout .specialist-profile-rail{grid-column:1;grid-row:1 / span 2;position:sticky;top:110px;display:grid;gap:24px}
.profile-layout .specialist-profile-body{grid-column:2;grid-row:2;min-width:0}
.profile-layout .quick-booking-card{background:#f2f3ed;border:1px solid var(--profile-line);border-radius:12px;display:flex;flex-direction:column;gap:12px}
.profile-layout .profile-booking-price{font-family:Montserrat,sans-serif;font-size:30px;font-weight:400;line-height:1.2;white-space:nowrap;margin:0 0 8px}
.profile-layout .quick-booking-submit{width:100%;text-align:center;font-size:14px;min-height:48px}
.profile-layout .button--outline{background:transparent;color:inherit;border:1px solid #809278}
.profile-layout .quick-booking-card small{font-size:12px;line-height:1.5;color:var(--profile-muted)}
.profile-layout .profile-facts{display:flex;flex-wrap:wrap;font-size:14px;line-height:1.5;margin:0}
.profile-layout .profile-facts span+span:before{content:'·';padding:0 10px;color:#99a08f}
.profile-layout .profile-anchor-nav{position:sticky;z-index:3;display:flex;flex-wrap:wrap;gap:10px 20px;padding:16px 0;border-bottom:1px solid var(--profile-line);font-size:13px}
.profile-layout .profile-anchor-nav a{text-decoration:none;color:inherit}
.profile-layout .profile-anchor-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.profile-layout .profile-section{margin:0;padding:0 0 56px;border:0;border-bottom:1px solid var(--profile-line);scroll-margin-top:155px}
.profile-layout .profile-section+.profile-section{padding-top:56px}
.profile-layout .profile-excerpt{font-size:18px;line-height:1.75}.profile-layout .profile-excerpt p{margin:0 0 18px}
.profile-layout .profile-credo cite:before{content:'— '}
.profile-layout .profile-chips{display:flex;flex-wrap:wrap;gap:8px;overflow:hidden}
.profile-layout .profile-chips>a,.profile-layout .profile-chips>span{font-size:14px;line-height:1.5;padding:9px 14px;border-radius:6px;border:1px solid #c7d0c2;background:transparent;color:inherit;max-width:100%;text-decoration:none}
.profile-layout .profile-chips>a:hover{background:#d8e4d1}
.profile-layout [hidden]{display:none!important}
.profile-layout .profile-expand{border:0;background:none;padding:0;margin-top:16px;font:500 14px/1.5 'Golos Text',sans-serif;color:#57704b;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.profile-layout .profile-exclusions{margin-top:24px;font-size:14px;color:var(--profile-muted);line-height:1.7}.profile-layout .profile-exclusions p{display:inline}
.profile-layout .profile-help-framework{margin-top:24px;font-size:16px;line-height:1.7}
.profile-layout .profile-help-framework ul{padding-left:22px;margin:0}
.profile-layout .profile-help-framework li+li{margin-top:8px}
html body .specialist-profile.profile-layout .profile-price-details h3{font:600 15px/1.5 'Golos Text',sans-serif!important;margin:0 0 8px!important}
html body .specialist-profile.profile-layout .profile-price-details h2{font:400 16px/1.6 'Golos Text',sans-serif!important;margin:0!important;letter-spacing:0!important}
.profile-layout .profile-qualities{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}
.profile-layout .profile-qualities h3,.profile-layout .profile-additional h3{font:600 16px/1.5 'Golos Text',sans-serif;margin:0 0 12px}
.profile-layout .profile-strengths{padding-left:20px;margin:0;font-size:15px;line-height:1.7;overflow:hidden}.profile-layout .profile-strengths li{padding-left:3px;margin-bottom:8px}.profile-layout .profile-strengths p{margin:0}
.profile-layout .profile-traits{font-size:15px;line-height:1.7;color:var(--profile-muted)}.profile-layout .profile-traits p{margin:0 0 10px}
.profile-layout .profile-details{margin:0}.profile-layout .profile-details details{background:none;border:0;border-top:1px solid var(--profile-line);border-radius:0}
.profile-layout .profile-details summary{display:flex;align-items:center;gap:16px;padding:20px 0;list-style:none;cursor:pointer}.profile-layout .profile-details summary::-webkit-details-marker{display:none}
.profile-layout .profile-details summary span{flex:1;font-size:17px}.profile-layout .profile-details summary small{color:var(--profile-muted);font-size:12px;font-weight:400}
.profile-layout .profile-details details>div{padding:0 0 20px;font-size:15px;line-height:1.75}.profile-layout .profile-details details[open] summary b{transform:rotate(45deg)}
.profile-layout .profile-details details>div>div+div{margin-top:14px}
.profile-layout .profile-additional{font-size:16px;line-height:1.8}.profile-layout .profile-additional h3:not(:first-child){margin-top:24px}
.profile-layout .profile-booking-phone{display:block;margin-top:16px;font-size:17px}.profile-layout .profile-mobile-booking{display:none}
@media(min-width:1000px) and (max-width:1250px){.profile-layout .specialist-profile-shell{grid-template-columns:300px minmax(0,1fr);column-gap:36px}.profile-layout .profile-anchor-nav{gap:10px 14px}}
@media(max-width:999px){
 .profile-layout .specialist-profile-shell{display:flex;flex-direction:column;gap:0}.profile-layout .profile-photo{align-self:center}
 .profile-layout .specialist-profile-intro .crumbs{margin-bottom:20px}.profile-layout .specialist-profile-intro .page-title{font-size:36px}
 .profile-layout .profile-photo{order:1}.profile-layout .specialist-profile-intro{width:100%;margin-bottom:24px;order:2}.profile-layout .quick-booking-card{display:flex;max-width:none;width:100%;order:3;margin-bottom:24px}.profile-layout .profile-video-card{order:4;width:100%;margin-bottom:32px}
 .profile-layout .profile-booking-price{order:0}.profile-layout .quick-booking-submit{order:1}.profile-layout .quick-booking-card small{order:2}.profile-layout .quick-booking-schedule{order:0}
 .profile-layout .profile-anchor-nav{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;gap:8px;margin-bottom:32px;padding:12px 0}.profile-layout .profile-anchor-nav a{border:1px solid var(--profile-line);border-radius:5px;padding:7px 10px}
 .profile-layout .profile-section{padding-bottom:40px;scroll-margin-top:145px}.profile-layout .profile-section+.profile-section{padding-top:40px}
 .profile-layout .profile-excerpt{font-size:17px}.profile-layout .profile-qualities{grid-template-columns:1fr;gap:24px}
 .profile-layout .profile-mobile-booking span{white-space:nowrap;font-size:16px}.profile-layout .profile-mobile-booking .button{min-height:44px;font-size:14px}
}
@media(max-width:480px){.profile-layout .specialist-profile-intro .page-title{font-size:30px}.profile-layout .profile-chips>a,.profile-layout .profile-chips>span{padding:8px 11px;font-size:13px}.profile-layout .profile-details summary{gap:10px}.profile-layout .profile-details summary span{font-size:15px}.profile-layout .profile-facts{font-size:13px}}
@media(prefers-reduced-motion:reduce){.profile-layout *{scroll-behavior:auto}}

/* Profile presentation must win over the older shared interior theme. */
html body .specialist-profile.profile-layout .profile-section h2{font-family:Montserrat,sans-serif;font-weight:300;font-size:32px;line-height:1.3;font:300 32px/1.3 'Montserrat',sans-serif!important;color:var(--an-green,#1e4d41)!important;margin:0 0 24px!important;letter-spacing:-.025em!important}
html body .specialist-profile.profile-layout .profile-section h3{font:600 16px/1.5 'Golos Text',sans-serif!important;letter-spacing:0!important;color:var(--an-green,#1e4d41)!important}
html body .specialist-profile.profile-layout .profile-articles h3{font:400 21px/1.4 'Montserrat',sans-serif!important}
html body .specialist-profile.profile-layout .profile-credo{font-family:Montserrat,sans-serif;font-size:21px;line-height:1.6;font-weight:300;background:transparent!important;color:var(--an-green,#1e4d41)!important;font:300 21px/1.6 'Montserrat',sans-serif!important;padding:4px 0 4px 24px!important;margin:28px 0 0!important;border:0!important;border-left:2px solid #829875!important;border-radius:0!important;box-shadow:none!important}
html body .specialist-profile.profile-layout .profile-credo :is(p,strong,em,span){color:inherit!important;font:inherit!important}
html body .specialist-profile.profile-layout .profile-credo cite{display:block;margin-top:16px;font-style:normal;color:var(--profile-muted)!important;font:400 14px/1.5 'Golos Text',sans-serif!important}
html body .specialist-profile.profile-layout .profile-facts{font:400 16px/1.6 'Golos Text',sans-serif!important;gap:8px 0!important}
html body .specialist-profile.profile-layout .profile-facts span{font:inherit!important;background:transparent!important;border:0!important;padding:0!important;color:var(--an-green,#1e4d41)!important;border-radius:0!important}
html body .specialist-profile.profile-layout .profile-anchor-nav{background:var(--an-paper,#f6f3ec)!important;top:calc(var(--nav-h,100px) + 8px)!important;box-shadow:none!important}
html body .specialist-profile.profile-layout .profile-chips>span{background:transparent!important;border:1px solid #c7d0c2!important;color:var(--an-green,#1e4d41)!important;border-radius:6px!important}
html body .specialist-profile.profile-layout .button--coral{background:var(--an-clay,#c75b3f)!important;border-color:var(--an-clay,#c75b3f)!important;color:#fff!important}
html body .specialist-profile.profile-layout .button--coral:hover{background:#ad4d35!important;border-color:#ad4d35!important;color:#fff!important}
html body .specialist-profile.profile-layout .profile-booking-price{color:var(--an-green,#1e4d41)!important;font:400 30px/1.2 'Montserrat',sans-serif!important}
html body .specialist-profile.profile-layout .specialist-profile-rail>*{flex:0 0 auto!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
html body .specialist-profile.profile-layout .profile-photo{position:relative!important;width:100%!important;aspect-ratio:4/3!important;height:auto!important;min-height:0!important;margin:0!important;overflow:hidden!important;flex-shrink:0!important}
html body .specialist-profile.profile-layout .profile-photo img{display:block!important;position:absolute!important;inset:0!important;width:100%!important;max-width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:contain!important}
html body .specialist-profile.profile-layout .profile-photo-placeholder{width:100%!important;height:100%!important;aspect-ratio:4/3!important}
html body .specialist-profile.profile-layout .quick-booking-card{width:100%!important;min-width:0!important;min-height:0!important;box-sizing:border-box!important;margin-top:0!important;padding:24px!important;flex-shrink:0!important}
html body .specialist-profile.profile-layout .quick-booking-card>*{min-width:0!important;max-width:100%!important;box-sizing:border-box!important;flex-shrink:0!important}
html body .specialist-profile.profile-layout .quick-booking-submit{white-space:normal!important;overflow-wrap:normal!important;margin-top:0!important}
html body .specialist-profile.profile-layout .profile-video-card{width:100%!important;min-width:0!important;box-sizing:border-box!important;margin-top:0!important;padding:20px!important;flex-shrink:0!important}
html body .specialist-profile.profile-layout .profile-video-card h2{font:300 20px/1.4 'Montserrat',sans-serif!important;max-width:100%!important;white-space:normal!important;overflow-wrap:break-word!important;margin:0 0 16px!important}
html body .specialist-profile.profile-layout .profile-video-card__media{min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
@media(min-width:1000px){
 html body .specialist-profile.profile-layout .specialist-profile-rail{display:flex!important;flex-direction:column!important;gap:24px!important;min-width:0!important;width:100%!important;box-sizing:border-box!important;position:sticky!important;top:calc(var(--nav-h,100px) + 16px)!important;max-height:calc(100dvh - var(--nav-h,100px) - 32px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#bcc8b6 transparent;padding-right:5px}
 html body .specialist-profile.profile-layout .profile-photo{aspect-ratio:4/3!important;min-height:0!important;height:auto!important}
 html body .specialist-profile.profile-layout .profile-photo img{width:100%!important;height:100%!important;object-fit:contain!important}
}
@media(max-width:999px){
 html body .specialist-profile.profile-layout .specialist-profile-body{display:block!important;order:5!important;width:100%!important;min-width:0!important}
 html body .specialist-profile.profile-layout .specialist-profile-main{display:block!important;width:100%!important;min-width:0!important}
 html body .specialist-profile.profile-layout .profile-photo{width:min(100%,480px)!important;margin-bottom:28px!important}
 html body .specialist-profile.profile-layout .specialist-profile-rail{display:contents!important;position:static!important;max-height:none!important;overflow:visible!important}
 html body .specialist-profile.profile-layout .profile-section h2{font-size:26px!important;line-height:1.3!important;margin-bottom:20px!important}
 html body .specialist-profile.profile-layout .profile-credo{font-size:20px!important;padding-left:20px!important}
 html body .specialist-profile.profile-layout .profile-facts{font-size:15px!important}
 html body .specialist-profile.profile-layout .profile-anchor-nav{background:var(--an-paper,#f6f3ec)!important;top:calc(var(--nav-h,76px) + 8px)!important}
 html body .specialist-profile.profile-layout .profile-mobile-booking{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--profile-line);z-index:20;box-shadow:0 -5px 20px #2535270b;background:var(--an-paper,#f6f3ec)!important}
}

/* Review 7 Oct (Claude) ------------------------------------------------------------------------- */
/* Crumbs are the first line of the page on every width, above the photo and the name */
html body .specialist-profile.profile-layout > .profile-crumbs{display:block;margin:0 0 28px!important;font-size:13px!important;line-height:1.6}
/* Header: one thin line, under the list of sections; no empty band before «О специалисте» */
html body .specialist-profile.profile-layout .specialist-profile-intro{border:0!important;padding-bottom:0!important;margin-bottom:0!important}
html body .specialist-profile.profile-layout .profile-facts:empty{display:none!important}
html body .specialist-profile.profile-layout .profile-anchor-nav{border-top:0!important;margin-bottom:48px!important}
html body .specialist-profile.profile-layout .specialist-profile-main{padding-top:0!important;margin-top:0!important}
/* The booking button keeps one line in the narrow left column */
@media(min-width:1000px){
 html body .specialist-profile.profile-layout .quick-booking-submit{white-space:nowrap!important;padding-inline:16px!important;font-size:14px!important;letter-spacing:0!important}
}
/* One kind of chip: catalogue links use a fill on hover, no decorative arrows. */
html body .specialist-profile.profile-layout .profile-chips>a{color:var(--an-green,#1e4d41)!important;border:1px solid var(--profile-green)!important;border-radius:6px!important;background:transparent!important;border-color:#c7d0c2!important}
@media(hover:hover){html body .specialist-profile.profile-layout .profile-chips>a:hover{background:var(--profile-green)!important;border-color:var(--profile-green)!important}}
/* Long items of «С чем помогает» as a plain list */
html body .specialist-profile.profile-layout .profile-help-list{margin:0;padding-left:22px;font-size:16px;line-height:1.7;overflow:hidden}
html body .specialist-profile.profile-layout .profile-help-list li+li{margin-top:12px}
html body .specialist-profile.profile-layout .profile-help-list a{color:inherit;text-underline-offset:4px}

/* Availability belongs to the page, not a modal or a scrolling photo card. */
.profile-layout .profile-availability{min-width:0;padding:0 0 var(--space-48,48px);margin:0 0 var(--space-48,48px);border-bottom:1px solid var(--profile-line);scroll-margin-top:150px}
.profile-layout .profile-availability .quick-booking-schedule{height:auto;max-height:none;overflow:visible}
.profile-layout .profile-availability .schedule-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}
.profile-layout .profile-availability .schedule-panel>:not(.schedule-month){grid-column:1/-1}
.profile-layout .profile-availability .schedule-month{margin:0;align-content:start}
.profile-layout .profile-availability .schedule-day{min-height:44px}
.profile-layout .profile-availability .schedule-times{padding:20px 0;border-top:1px solid var(--profile-line)}
.profile-layout .profile-availability .schedule-times ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}
.profile-layout .profile-availability>a{margin-top:20px;margin-right:8px;min-height:48px;text-decoration:none}
.profile-layout .profile-availability__form{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin-top:24px}
.profile-layout .profile-availability__form label{display:grid;gap:8px;min-width:0;flex:1;font-size:14px}
.profile-layout .profile-availability__form select{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--profile-line);border-radius:8px;background:var(--an-paper,#f6f3ec);color:inherit;font:inherit}
.profile-layout .profile-nearest{overflow-wrap:anywhere}
@layer design-system{
 html body main#content .profile-layout .profile-availability h2{font:300 var(--text-h3-size,32px)/1.3 var(--font-family-heading,'Montserrat',sans-serif)!important;color:var(--an-green,#1e4d41)!important;margin:0 0 24px!important;letter-spacing:-.025em!important}
 html body main#content .profile-layout .profile-availability .schedule-panel__price{font:400 30px/1.2 var(--font-family-heading,'Montserrat',sans-serif)!important;color:var(--an-green,#1e4d41)!important;margin:0!important}
 html body main#content .profile-layout .profile-availability .schedule-month__title{font:600 16px/1.5 var(--font-family-body,'Golos Text',sans-serif)!important;margin:0!important}
 html body main#content .profile-layout .profile-availability .schedule-times__title{font:500 16px/1.5 var(--font-family-body,'Golos Text',sans-serif)!important;margin:0!important}
 html body main#content .profile-layout .profile-availability :is(.schedule-panel__note,.schedule-panel__legal){font:400 14px/1.6 var(--font-family-body,'Golos Text',sans-serif)!important;margin:0!important}
 @media(max-width:767px){html body main#content .profile-layout .profile-availability h2{font-size:26px!important}}
}
@media(max-width:767px){
 .profile-layout .profile-availability .schedule-panel{grid-template-columns:minmax(0,1fr);gap:24px}
 .profile-layout .profile-availability>a{display:flex;width:100%;justify-content:center;margin-right:0}
}

/* C99 v2: one calendar/booking card under the portrait; no duplicate rail card. */
.profile-layout .quick-booking-card.profile-schedule-card{
 min-width:0;max-width:100%;box-sizing:border-box;order:0
}
.profile-layout .profile-schedule-card > .profile-availability{
 width:100%;min-width:0;max-width:100%;box-sizing:border-box;
 padding:0;margin:0;border-bottom:0;overflow-wrap:anywhere
}
.profile-layout .profile-schedule-card .schedule-panel{
 grid-template-columns:minmax(0,1fr);gap:16px
}
.profile-layout .profile-schedule-card .schedule-times{padding:16px 0}
.profile-layout .profile-schedule-card .quick-booking-schedule{margin:0}
.profile-layout .profile-schedule-card .profile-availability > a{
 display:flex;width:100%;max-width:100%;box-sizing:border-box;justify-content:center;
 margin:12px 0 0;min-height:48px
}
.profile-layout .profile-schedule-card .profile-availability__form{
 display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:16px
}
.profile-layout .profile-schedule-card .profile-availability__form select{
 min-width:0;max-width:100%;box-sizing:border-box;font-size:16px
}
.profile-layout .profile-schedule-card :is(a,button,select):focus-visible{
 outline:2px solid var(--an-green,#1e4d41);outline-offset:3px
}
@media(min-width:1000px){
 html body .specialist-profile.profile-layout .specialist-profile-rail:has(> .profile-schedule-card){
  position:static!important;max-height:none!important;overflow:visible!important;padding-right:0
 }
}
@media(max-width:999px){
 .profile-layout .quick-booking-card.profile-schedule-card{order:3}
}
@layer design-system{
 html body .specialist-profile.profile-layout .quick-booking-card.profile-schedule-card{
  padding:16px!important;background:#fff!important
 }
 html body main#content .profile-layout .profile-schedule-card .profile-availability h2{
  font-size:24px!important;line-height:1.3!important;margin-bottom:16px!important
 }
 html body main#content .profile-layout .profile-schedule-card .schedule-panel__price{font-size:26px!important}
 html body main#content .profile-layout .profile-schedule-card .schedule-times ul{
  grid-template-columns:repeat(auto-fit,minmax(min(76px,100%),1fr))!important
 }
 html body main#content .profile-layout .profile-schedule-card :is(a.button,button.button){
  min-height:48px!important;white-space:normal!important;overflow-wrap:anywhere!important
 }
}

/* An unbound related term is a chip, not another uppercase section label. */
.profile-layout .site-knowledge-tags > .site-knowledge-tags__term{
 width:auto;margin:0;padding:8px 12px;border-radius:999px;background:var(--sage,#e2ece7);
 color:var(--an-green,#1e4d41);font-size:13px;letter-spacing:normal;text-transform:none
}

/* C99 v3: a tall spanning calendar must not stretch the biography's intro row. */
@media(min-width:1000px){
 .profile-layout .specialist-profile-shell:has(> .specialist-profile-rail > .profile-schedule-card){
  grid-template-rows:max-content minmax(0,1fr)
 }
}
