/* Shared specialist profiles and cards. */
.masters-grid,.sm-master-list{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;max-width:960px;margin-inline:auto}.sm-master-card{background:#fff;border:1px solid #dce4dd;border-radius:20px;padding:22px;text-align:left;color:#173e31;min-width:0;box-shadow:0 4px 16px #183e3104}.sm-master-card *{box-sizing:border-box}.sm-card-person{display:flex;align-items:center;gap:15px;color:inherit;text-decoration:none}.sm-card-person>div{min-width:0}.sm-master-card .sm-card-avatar{width:66px;height:66px;border-radius:50%;object-fit:cover;flex:0 0 66px;display:grid;place-items:center;background:#eaf0e9;color:#254c3d;font-size:24px}.sm-master-card h3{font-size:20px;line-height:1.25;margin:0 0 5px;overflow-wrap:anywhere}.sm-master-card p{margin:0;white-space:normal;line-height:1.5}.sm-card-specialty{font-size:14px;color:#456554}.sm-card-city{font-size:13px;color:#748075}.sm-master-card .sm-card-rating{font-size:14px;color:#937539;margin-top:12px}.sm-card-rating span{color:#69746b}.sm-card-description{margin-top:14px}.sm-master-card .sm-card-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;line-height:1.5;color:#59685e;overflow-wrap:anywhere}.sm-card-description.is-expanded .sm-card-excerpt{display:block;white-space:pre-wrap}.sm-master-card .sm-card-more{display:inline;padding:3px 0;background:none;border:0;color:#37664f;font-size:13px;font-weight:600;cursor:pointer;border-radius:3px;line-height:1.5}.sm-card-profile{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;margin-top:14px;border-top:1px solid #edf0e9;font-size:14px;font-weight:600;color:#174735;text-decoration:none}.sm-master-card a:focus-visible,.sm-master-card button:focus-visible{outline:3px solid #b6975c;outline-offset:4px}
body.sm-public-profile{background:#f5f7f3}body.sm-public-profile>header,body.sm-public-profile>footer,body.sm-public-profile>#sp-navigation{display:none!important}body.sm-public-profile #app{max-width:1000px;margin:22px auto 50px;padding:0 24px}.sm-profile-back{display:inline-block;font-size:14px;color:#5b7162;margin:0 0 20px}.sm-profile-hero{background:white;border:1px solid #dce4dd;border-radius:24px;padding:30px;margin-bottom:18px}.sm-profile-identity{display:flex;gap:20px;align-items:center}.sm-profile-identity .sp-public-avatar{height:96px;width:96px;flex:0 0 96px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#e8eee6;color:#234d3a;font-size:32px}.sm-profile-identity h1{font-size:clamp(24px,4vw,34px);line-height:1.2;margin:0 0 8px;overflow-wrap:anywhere}.sm-profile-identity p{margin:4px 0;color:#617165;font-size:15px}.sm-profile-hours{font-size:15px;color:#53675a;margin:22px 0 14px}.sm-profile-hours strong{color:#254a37}.sm-profile-contact{display:flex;gap:12px;flex-wrap:wrap}.sm-profile-contact .button,.sm-profile-contact button{min-width:150px;text-align:center}.sm-profile-phone{font-size:15px;display:block;margin-top:12px;color:#365b45}.sm-public-profile .card h2{margin-top:0;font-size:22px}.sm-public-profile .card>p{color:#546659;line-height:1.65}.sm-public-works{padding:0}.sm-public-works summary{display:flex;align-items:center;justify-content:space-between;padding:2px 0;font-size:20px;list-style:none}.sm-public-works summary::-webkit-details-marker{display:none}.sm-public-works summary::after{content:'⌄';font-size:24px;margin-left:15px}.sm-public-works[open] summary::after{transform:rotate(180deg)}.sm-public-works .sm-work-tags{padding-top:18px}.sm-portfolio-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.sm-portfolio-header h2{margin:0!important}.sm-portfolio-controls{display:flex;gap:6px}.sm-portfolio-controls button{padding:7px 12px;border:1px solid #dbe3d9;background:#f6f8f3;color:#234936;border-radius:10px;font-size:18px}.sm-portfolio-controls button:disabled{opacity:.3;cursor:default}.sm-portfolio-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:#b8c6b6 #edf1e8}.sm-portfolio-track>a,.sm-portfolio-track>button{flex:0 0 224px;width:224px;height:230px;scroll-snap-align:start;border:0;padding:0;border-radius:14px;overflow:hidden;background:#eef1e9;position:relative;display:block}.sm-portfolio-track img,.sm-portfolio-track video{display:block;width:100%;height:100%;object-fit:cover}.sm-portfolio-track .sm-video-preview span{position:absolute;inset:0;display:grid;place-items:center;color:white;font-size:32px;background:#0002}.sm-profile-reviews .sm-review{padding:20px 0;border-top:1px solid #e1e7dd}.sm-review:first-of-type{border-top:0;padding-top:4px}.sm-review .sm-review-text,.sm-review .sm-review-reply{white-space:pre-wrap;overflow-wrap:anywhere}.sm-review-reply{border-left:3px solid #d4c39c;padding:12px 16px;background:#f7f8f3;border-radius:0 12px 12px 0}.sm-review-actions{display:flex;gap:12px;margin-top:14px}.sm-review-actions button{padding:8px 12px;font-size:13px}.sm-recommendations{margin-top:32px}.sm-recommendations .sm-master-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sm-profile-links{display:flex;gap:14px;flex-wrap:wrap}.sm-profile-links a{padding:10px 16px;background:#f0f3eb;border-radius:12px;color:#315c43}.sm-appeal-form p{font-size:15px}.sm-public-profile #toast{z-index:100}
@media(max-width:600px){.sm-master-card{padding:18px;border-radius:18px}.sm-master-card h3{font-size:18px}.sm-master-card .sm-card-avatar{width:58px;height:58px;flex-basis:58px}.sm-card-person{gap:12px}body.sm-public-profile #app{padding:0 14px;margin:16px auto 35px}.sm-profile-back{margin-bottom:14px}.sm-profile-hero{padding:22px 18px}.sm-profile-identity{gap:14px;align-items:flex-start}.sm-profile-identity .sp-public-avatar{width:76px;height:76px;flex-basis:76px}.sm-profile-identity h1{font-size:24px;letter-spacing:-.02em}.sm-profile-identity p{font-size:13px}.sm-public-profile .card{padding:20px 18px}.sm-profile-contact{flex-wrap:nowrap;gap:8px}.sm-profile-contact .button,.sm-profile-contact button{min-width:0;flex:1;padding:13px 10px}.sm-portfolio-track>a,.sm-portfolio-track>button{width:180px;flex-basis:180px;height:190px}.sm-public-profile .card h2{font-size:20px}.sm-portfolio-header{gap:6px}.sm-portfolio-controls button{padding:5px 9px}.sm-recommendations .sm-master-list{grid-template-columns:1fr!important}}

body.sm-catalog-page>footer{display:none}
.sm-arrow-svg{display:block;width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sm-profile-back{display:inline-flex;align-items:center;gap:8px;line-height:1.4}.sm-portfolio-controls button{display:grid;place-items:center;width:38px;height:38px;padding:0}.sm-lightbox-footer>[data-prev],.sm-lightbox-footer>[data-next]{display:grid;place-items:center;padding:0}
/* Contact actions stay compact, including when only one is available. */
.sm-profile-contact{align-items:center;justify-content:flex-start}.sm-profile-contact button,.sm-profile-contact .button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:132px;flex:0 0 auto;width:auto;max-width:190px;padding:12px 20px;border-radius:14px;font-size:15px;line-height:1.3;font-weight:600;box-shadow:0 4px 14px #1647370b}.sm-profile-contact svg{width:21px;height:21px;flex:none}.sm-profile-contact .secondary{background:#f5f7f0;color:#244e3b;border:1px solid #cbd8cb}.sm-profile-contact button:hover{filter:brightness(.96)}.sm-preview-note,.sm-review-notice{padding:12px 15px;border-radius:12px;background:#f2eddf;color:#755e2c;font-size:13px;line-height:1.6}.sm-phone-dialog{width:min(380px,calc(100% - 28px));padding:32px 26px;text-align:center;border:1px solid #dbe4d9;border-radius:24px;background:#fff;box-sizing:border-box}.sm-phone-dialog::backdrop{background:#13291e88;backdrop-filter:blur(5px)}.sm-phone-dialog .close{position:absolute;right:12px;top:10px;background:none;color:#365643;font-size:26px;padding:0 8px}.sm-phone-dialog h2{font-size:24px;margin:16px 0 12px}.sm-phone-dialog p{font-size:14px;line-height:1.6;color:#647468;white-space:normal}.sm-phone-symbol{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:18px;background:#eaf1e6;color:#224e37}.sm-phone-symbol svg{height:28px;width:28px}.sm-phone-number{display:block;font-size:24px;white-space:nowrap;margin:24px 0;color:#183f2d;font-weight:600}.sm-phone-dialog>.button{display:block;margin-top:14px}.sm-lightbox-stage{display:flex;min-height:0;flex:1;position:relative}.sm-lightbox-stage .sm-lightbox-slides{width:100%;min-width:0;height:100%;flex:1}#sm-lightbox .sm-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;display:grid;place-items:center;border:1px solid #ffffffaa;border-radius:50%;padding:0;background:#fffffff2;color:#183f2d;box-shadow:0 6px 28px #0005;z-index:2}#sm-lightbox .sm-lightbox-nav svg{width:29px;height:29px;stroke-width:2.1}#sm-lightbox [data-prev]{left:22px}#sm-lightbox [data-next]{right:22px}#sm-lightbox .sm-lightbox-nav:disabled{opacity:.25;cursor:default}.sm-lightbox-contact{display:flex;align-items:center;justify-content:center;gap:24px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #ffffff20;color:white;flex:none}.sm-lightbox-contact>span{font-size:15px}.sm-lightbox-contact .sm-profile-contact button{background:#e0cfa5;color:#203e30}.sm-lightbox-contact .sm-profile-contact .secondary{background:#fff;color:#203e30}.sm-lightbox-footer{justify-content:center}.sm-lightbox-thumbs{max-width:100%;justify-content:flex-start}
@media(max-width:600px){.sm-profile-contact button,.sm-profile-contact .button{min-width:124px;max-width:160px;flex:0 0 auto;padding:12px 15px;font-size:14px}.sm-lightbox-contact{padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:10px}.sm-lightbox-contact>span{display:none}#sm-lightbox .sm-lightbox-nav{width:42px;height:42px}#sm-lightbox [data-prev]{left:10px}#sm-lightbox [data-next]{right:10px}#sm-lightbox .sm-lightbox-nav svg{width:24px;height:24px}}
/* One specialist per row at every width, with a photo/video cover on the left. */
.masters-grid,.sm-master-list,.sm-recommendations .sm-master-list{max-width:none;grid-template-columns:minmax(0,1fr)!important;gap:20px!important}.sm-master-card{display:grid;grid-template-columns:minmax(240px,30%) minmax(0,1fr);gap:0;padding:0!important;overflow:hidden;align-items:stretch}.sm-card-cover{position:relative;display:block;min-width:0;min-height:230px;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:#e4ebe0;color:#536f5a;overflow:hidden;text-decoration:none}.sm-card-cover>img,.sm-card-cover>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.sm-card-cover:hover>img{transform:scale(1.025)}.sm-card-cover-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:linear-gradient(135deg,#dfe8db,#f1ede1);font-size:12px}.sm-card-cover-empty svg{width:48px;height:48px;stroke:#8da387;stroke-width:1.5;fill:none}.sm-card-info{display:flex;flex-direction:column;min-width:0;padding:22px}.sm-card-person{gap:10px}.sm-master-card .sm-card-avatar{width:44px;height:44px;flex-basis:44px;font-size:20px}.sm-master-card h3{font-size:18px;line-height:1.3;margin-bottom:5px}.sm-master-card .sm-card-city{font-size:12px}.sm-card-description{margin:16px 0;max-width:78ch}.sm-master-card .sm-card-excerpt{-webkit-line-clamp:3;font-size:14px;line-height:1.55}.sm-card-profile{margin-top:auto;font-size:13px;gap:8px;padding-top:14px}.sm-card-profile svg{flex:none;width:19px;height:19px}.sm-card-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fffffff2;color:#244d3a;box-shadow:0 4px 25px #0003}.sm-card-play svg{height:25px;width:25px;fill:currentColor}.sm-card-cover-caption{position:absolute;bottom:0;left:0;right:0;padding:30px 8px 14px;background:linear-gradient(transparent,#0009);color:white;font-size:12px;text-align:center;font-weight:600}.masters-showcase{scroll-margin-top:24px}
.sm-cover-viewer{width:min(1040px,calc(100vw - 32px));max-width:1040px;max-height:92dvh;padding:0;border:1px solid #526457;border-radius:22px;background:#142a20;color:white;overflow:hidden}.sm-cover-viewer[open]{display:flex;flex-direction:column}.sm-cover-viewer::backdrop{background:#0b2016bb;backdrop-filter:blur(7px)}.sm-cover-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;flex:none}.sm-cover-viewer-head strong{font:600 16px/1.4 Arial,sans-serif;overflow-wrap:anywhere}.sm-cover-viewer-head button{height:36px;width:36px;flex:none;padding:0;border:0;border-radius:50%;background:#ffffff1c;color:white;font:28px/1 Arial,sans-serif;cursor:pointer}.sm-cover-viewer-stage{min-height:0;display:flex;justify-content:center;background:#0a1711}.sm-cover-viewer-stage img,.sm-cover-viewer-stage video{display:block;max-width:100%;max-height:calc(92dvh - 138px);object-fit:contain;min-height:0}.sm-cover-viewer-profile{display:flex;align-items:center;justify-content:center;gap:14px;padding:20px;color:white;text-decoration:none;font:600 14px/1.4 Arial,sans-serif}.sm-cover-viewer-profile .sm-arrow-svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
@media(max-width:1199px){.masters-grid,.sm-master-list,.sm-recommendations .sm-master-list{grid-template-columns:minmax(0,1fr)!important}.sm-master-card{grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr)}.sm-card-cover{min-height:210px}.sm-card-info{padding:18px 14px}.sm-master-card h3{font-size:17px}.sm-master-card .sm-card-avatar{width:38px;height:38px;flex-basis:38px}.sm-card-person{gap:8px}.sm-master-card .sm-card-excerpt{font-size:13px}.sm-master-card .sm-card-city{font-size:11px}.sm-card-profile{font-size:12px}.sm-cover-viewer{width:calc(100vw - 20px);border-radius:16px}}
@media(prefers-reduced-motion:reduce){.sm-card-cover>img{transition:none}}
.sm-master-card h3,.sm-card-person>div{text-align:left}
/* Keep both contact actions inside the profile on narrow phones. */
@media(max-width:600px){.sm-profile-contact:has(>button+button)>button{flex:1 1 0;min-width:0;padding:12px 10px;gap:7px}}

.sm-card-experience{display:none}
/* Compact mobile list: photo, name, city and profile link; full bio stays in the profile. */
@media(max-width:1199px){
 .sm-master-card{grid-template-columns:minmax(90px,32%) minmax(0,1fr)}
 .sm-master-card .sm-card-description{display:none}
 .sm-master-card .sm-card-experience{display:block;color:#607466;font-size:12px}
 .sm-master-card .sm-card-rating{margin:0;font-size:12px;line-height:1.4}
 .sm-master-card .sm-card-rating,.sm-master-card .sm-card-experience{text-align:left!important}
 .sm-master-card .sm-card-cover{min-height:136px}
 .sm-master-card .sm-card-info{padding:14px 12px;gap:8px}
 .sm-master-card .sm-card-avatar{width:34px;height:34px;flex-basis:34px}
 .sm-master-card h3,#masters .sm-master-card h3{font-size:16px;line-height:1.25;text-align:left!important}
 .sm-master-card .sm-card-profile{padding-top:10px}
 .masters-grid,.sm-master-list,.sm-recommendations .sm-master-list{gap:12px!important}
}
/* A full-page view retains the exact list DOM, filters and scroll behind it. */
html.sm-profile-open{overflow:hidden}
.sm-home-profile{position:fixed;inset:0;margin:0;padding:0;border:0;border-radius:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;overflow:hidden;background:#f4f7f2;color:#173e31}
.sm-home-profile::backdrop{background:#f4f7f2}
.sm-home-profile iframe{display:block;width:100%;height:100%;border:0;background:#f4f7f2}
.sm-home-profile iframe[hidden]{display:none}

/* The selected card stays in place until its real profile is ready. */
.sm-card-profile[aria-busy=true] .sm-arrow-svg{display:none}
.sm-card-profile[aria-busy=true]::after{content:"";width:16px;height:16px;flex:0 0 16px;box-sizing:border-box;border:2px solid #c6d6c9;border-top-color:#315847;border-radius:50%;animation:sm-profile-wait .8s linear infinite}
.sm-card-person[aria-busy=true]{opacity:.65}
.sm-master-card .sm-card-load-error{font-size:12px;color:#92462e;line-height:1.4;text-align:left}
@keyframes sm-profile-wait{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.sm-card-profile[aria-busy=true]::after{animation:none}}

/* Covers remain thumbnails; only the portrait has a compact enlargement. */
.sm-card-cover{cursor:default}
.sm-card-cover>picture{position:absolute;inset:0;display:block;width:100%;height:100%}
.sm-card-cover>picture>img{display:block;width:100%;height:100%;object-fit:cover}
.sm-card-cover:hover>img{transform:none}
.sm-card-cover .sm-card-play{padding:0;border:0;cursor:pointer}
.sm-card-cover .sm-card-play.is-playing{width:32px;height:32px;left:8px;top:auto;bottom:8px;transform:none;opacity:.85}
.sm-profile-identity .sm-avatar-preview{flex:none;margin:0;padding:0;border:0;background:none;border-radius:50%;cursor:zoom-in;min-width:0}
.sm-avatar-preview:focus-visible{outline:3px solid #b6975c;outline-offset:4px}
.sm-avatar-dialog{width:min(420px,calc(100vw - 40px),70dvh);max-width:none;padding:10px;border:1px solid #d4ded5;border-radius:22px;background:#fff;box-shadow:0 20px 65px #123f3140;overflow:visible}
.sm-avatar-dialog::backdrop{background:#102b2580;backdrop-filter:blur(5px)}
.sm-avatar-dialog>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:14px}
.sm-avatar-dialog>button{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:36px;height:36px;padding:0;min-height:0;border:1px solid #d7e1d9;border-radius:50%;background:#fffffff2;color:#244d39;font:26px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 2px 9px #123f3120}

/* A single aligned text column; the entire advertisement leads to the profile. */
.sm-master-card,.sm-master-card .sm-card-cover{cursor:pointer}
.sm-master-card .sm-card-person{align-items:flex-start}
.sm-master-card .sm-card-person>div{flex:1;min-width:0}
.sm-master-card h3{margin:0 0 6px}
.sm-master-card .sm-card-city{line-height:1.4;overflow-wrap:anywhere}
.sm-master-card .sm-card-rating,.sm-master-card .sm-card-experience{margin-top:5px;line-height:1.4}
.sm-master-card .sm-card-profile{border:0;justify-content:flex-start;gap:8px;padding-top:12px}
@media(max-width:1199px){
 .sm-master-card .sm-card-info{padding:14px 12px;gap:0}
 .sm-master-card .sm-card-person{gap:9px}
 .sm-master-card .sm-card-person h3{font-size:15px!important;line-height:1.3;margin-bottom:5px}
 .sm-master-card .sm-card-city{font-size:11px}
 .sm-master-card .sm-card-experience,.sm-master-card .sm-card-rating{font-size:11px}
 .sm-master-card .sm-card-profile{margin-left:43px;font-size:12px;padding-top:10px}
}

/* Optional specialist-written headline, bounded to two lines on small cards. */
.sm-master-card .sm-card-title{margin:0 0 12px;font-size:21px;font-weight:650;line-height:1.3;color:#173e31;text-align:left!important;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sm-card-with-title .sm-card-person h3{font-size:15px;font-weight:500}
@media(max-width:1199px){
 .sm-master-card .sm-card-title{font-size:16px;line-height:1.3;margin-bottom:10px}
 .sm-card-with-title .sm-card-person h3,#masters .sm-card-with-title .sm-card-person h3{font-size:13px!important;font-weight:500;line-height:1.3}
 .sm-card-with-title .sm-card-profile{padding-top:8px}
}

/* Advertising copy leads; identity and full biography live on the profile. */
.sm-master-card .sm-card-person .sm-card-title,#masters .sm-master-card .sm-card-person .sm-card-title{font-size:22px!important;line-height:1.25;font-weight:650;margin:0;-webkit-line-clamp:2}
.sm-master-card .sm-card-subtitle{font-size:15px;line-height:1.45;color:#52675b;margin:10px 0 14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;text-align:left!important}
.sm-card-meta{margin-top:auto;padding-top:12px}
.sm-master-card .sm-card-meta .sm-card-experience{display:block}
.sm-master-card .sm-card-profile{margin-top:0;margin-left:0;padding-top:10px}
@media(max-width:1199px){
 .sm-master-card .sm-card-person .sm-card-title,#masters .sm-master-card .sm-card-person .sm-card-title{font-size:17px!important;line-height:1.25}
 .sm-master-card .sm-card-subtitle{font-size:12px;line-height:1.4;margin:8px 0 0}
 .sm-card-meta{padding-top:10px}
 .sm-master-card .sm-card-meta .sm-card-city,.sm-master-card .sm-card-meta .sm-card-experience{font-size:11px}
}

/* Open list rows: independent photo, a shared text edge and direct contact actions. */
.masters-grid,.sm-master-list,.sm-recommendations .sm-master-list{gap:0!important}
.sm-master-card{grid-template-columns:minmax(220px,min(30%,320px)) minmax(0,1fr) 164px;column-gap:28px;row-gap:14px;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;padding:24px 0!important;align-items:start}
.sm-master-card+.sm-master-card{border-top:1px solid #dce4dd}
.sm-master-card .sm-card-cover{border-radius:18px;min-height:0;height:auto;aspect-ratio:4/3;align-self:start}
.sm-master-card .sm-card-info{padding:3px 0 0;gap:0;min-height:0}
.sm-master-card .sm-card-profile{padding:0;margin:0;border:0;display:flex;align-items:flex-start;justify-content:flex-start;font-weight:650;gap:10px}
.sm-master-card .sm-card-profile .sm-card-title,#masters .sm-master-card .sm-card-profile .sm-card-title{font-size:25px!important;font-weight:650;line-height:1.22;margin:0;letter-spacing:-.015em;text-align:left!important}
.sm-master-card .sm-card-subtitle{font-size:16px;line-height:1.5;margin:10px 0 0;max-width:52ch;text-align:left!important;color:#53665b}
.sm-card-footer{display:flex;align-items:center;gap:10px;margin-top:20px;min-width:0}
.sm-card-footer .sm-card-avatar{width:36px;height:36px;flex-basis:36px}
.sm-card-footer .sm-card-meta{margin:0;padding:0;min-width:0}
.sm-master-card .sm-card-meta .sm-card-city,.sm-master-card .sm-card-meta .sm-card-experience{font-size:13px;line-height:1.4;color:#64766b;margin:0}
.sm-master-card .sm-card-meta .sm-card-rating{font-size:12px;margin-top:4px}
.sm-card-actions{display:flex;flex-direction:column;gap:10px;padding-top:3px}
.sm-card-actions button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;width:100%;min-height:44px;padding:11px 12px;border:1px solid #244e3b;border-radius:12px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.25;background:#244e3b;color:white;cursor:pointer;box-shadow:none}
.sm-card-actions button svg{width:19px;height:19px;flex:none}
.sm-card-actions .sm-card-call{background:#eef3ed;color:#244e3b;border-color:#d4dfd4}
.sm-card-actions button:hover{filter:brightness(.95)}
.sm-card-actions button:disabled{opacity:.6;cursor:wait}
.sm-master-card .sm-card-profile[aria-busy=true]::after{margin-top:4px}
@media(max-width:1199px){
 .sm-master-card{grid-template-columns:minmax(88px,32%) minmax(0,1fr);column-gap:14px;row-gap:12px;padding:18px 0!important}
 .sm-master-card .sm-card-cover{grid-column:1;grid-row:1/3;aspect-ratio:3/4;border-radius:14px;min-height:0;height:auto}
 .sm-master-card .sm-card-info{grid-column:2;padding:0;gap:0}
 .sm-master-card .sm-card-profile .sm-card-title,#masters .sm-master-card .sm-card-profile .sm-card-title{font-size:18px!important;line-height:1.25}
 .sm-master-card .sm-card-subtitle{font-size:13px;line-height:1.4;margin-top:7px}
 .sm-card-footer{margin-top:12px;gap:7px}
 .sm-card-footer .sm-card-avatar{width:28px;height:28px;flex-basis:28px}
 .sm-master-card .sm-card-meta .sm-card-city,.sm-master-card .sm-card-meta .sm-card-experience{font-size:11px;line-height:1.45}
 .sm-card-actions{grid-column:2;grid-row:2;flex-direction:row;padding:0;gap:6px;align-self:start}
 .sm-card-actions button{flex:1 1 0;min-height:38px;padding:9px 4px;font-size:11px;line-height:1.2;border-radius:10px}
 .sm-card-actions button svg{display:none}
}
#sm-card-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 30px);width:max-content;background:#173e31;color:#fff;border-radius:12px;padding:12px 18px;z-index:2147483000;font:14px/1.5 system-ui;text-align:center;box-shadow:0 8px 30px #123f3120}
#sm-card-toast[hidden]{display:none}
.sm-phone-dialog>.button{padding:13px 18px;background:#244e3b;color:#fff;border-radius:12px;font-weight:600;text-decoration:none}
/* Shared chat on the homepage, which intentionally does not load account-wide base styles. */
#appRoot~.sm-chat-window{z-index:10000}
.sm-chat-window .bubble{margin:10px 0;color:#18392e}
.sm-chat-window .bubble.mine{margin-left:auto}
.sm-chat-window .bubble p{margin:3px 0}
.sm-chat-window .sm-chat-feed .muted{color:#68796d}
.sm-chat-window .sm-chat-feed .media{display:grid;gap:8px}
.sm-chat-window .sm-chat-feed .media img,.sm-chat-window .sm-chat-feed .media video{width:100%;height:180px;object-fit:cover;border-radius:12px}
body:has(>#appRoot):has(>.sm-chat-window){overflow:hidden}
.sm-chat-window .sm-chat-own{border:0;border-radius:11px;cursor:pointer;display:grid;place-items:center}
.sm-phone-dialog{color:#214b37}
.sm-phone-dialog .close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#eef3ed;cursor:pointer;line-height:1}
.sm-phone-dialog .sm-phone-number{text-decoration:none}

/* Identity, favorites and rating belong together above the contact controls. */
.sm-master-card{grid-template-columns:minmax(220px,min(30%,320px)) minmax(0,1fr) 250px}
.sm-card-side{min-width:0;display:flex;flex-direction:column;gap:12px;padding-top:3px}
.sm-card-side .sm-card-footer{margin:0;gap:8px;align-items:center}
.sm-card-side .sm-card-meta{flex:1}
.sm-card-favorite{display:grid;place-items:center;width:32px;height:36px;flex:0 0 32px;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:#738477;cursor:pointer}
.sm-card-favorite svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sm-card-favorite:hover{background:#e9f0e7;color:#254d3a}
.sm-card-favorite[aria-pressed=true]{color:#b05250}
.sm-card-favorite[aria-pressed=true] svg{fill:#b0525020;stroke-width:2}
.sm-card-favorite:disabled{opacity:.5;cursor:wait}
.sm-master-card .sm-card-side .sm-card-rating{display:flex;align-items:center;flex-wrap:wrap;gap:5px 7px;font-size:12px;line-height:1.4;margin:0;color:#887039;text-align:left!important}
.sm-card-side .sm-card-rating>span:last-child{color:#68796d}
.sm-rating-stars{position:relative;display:inline-block;flex:0 0 85px;width:85px;height:17px;color:#b8c3b6}
.sm-rating-stars>span,.sm-rating-fill>span{display:flex;width:85px;height:17px}
.sm-rating-stars svg{display:block;width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.sm-rating-stars .sm-rating-fill{position:absolute;left:0;top:0;overflow:hidden;color:#b3944d}
.sm-rating-fill svg{fill:currentColor;stroke:currentColor}
.sm-card-side .sm-card-actions{padding:0}
.masters-filters .sm-favorites-filter{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;margin-top:10px;border:1px solid #d1ddd3;border-radius:20px;background:#fff;color:#315847;font-family:inherit;font-size:12px;font-weight:600;line-height:1.3;cursor:pointer}
.sm-favorites-filter>span{font-size:20px;line-height:1}
.masters-filters .sm-favorites-filter[aria-pressed=true]{background:#244e3b;color:#fff;border-color:#244e3b}
@media(min-width:1200px){.masters-filters{display:flex;align-items:center;gap:14px}.masters-filters .masters-filter-desktop{flex:1}.masters-filters .sm-favorites-filter{margin:0}}
@media(max-width:1199px){
 .sm-master-card{grid-template-columns:minmax(88px,32%) minmax(0,1fr)}
 .sm-card-side{grid-column:2;grid-row:2;padding:0;gap:9px}
 .sm-card-side .sm-card-footer{gap:5px}
 .sm-card-side .sm-card-avatar{width:26px;height:26px;flex-basis:26px}
 .sm-card-side .sm-card-favorite{width:24px;height:32px;flex-basis:24px}
 .sm-card-side .sm-card-favorite svg{width:21px;height:21px}
 .sm-card-side .sm-card-rating{font-size:11px!important;gap:4px}
 .sm-rating-stars{width:70px;height:14px;flex-basis:70px}
 .sm-rating-stars>span,.sm-rating-fill>span{width:70px;height:14px}
 .sm-rating-stars svg{width:14px;height:14px;flex-basis:14px}
}
.sm-card-rating .sm-rating-stars{color:#b8c3b6}
.sm-card-rating .sm-rating-stars span{color:inherit}
.sm-card-rating .sm-rating-stars .sm-rating-fill{color:#b3944d}
.sm-card-side .sm-card-actions{align-self:stretch;width:100%}
#masters .masters-filters .sm-favorites-filter{min-height:38px;height:38px;padding:8px 13px;margin:0;border-radius:20px;font-size:12px;line-height:1.3;font-weight:600;white-space:nowrap;flex:none}
@media(max-width:1199px){
 #masters .masters-filters{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}
 #masters .masters-filters .sm-favorites-filter{height:46px;min-height:46px;padding:8px 10px;border-radius:14px}
}

/* The reputation block aligns with the full width of the contact buttons. */
.sm-master-card .sm-card-side .sm-card-rating{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:6px;margin:0;padding:8px 0;font-size:13px!important;text-align:center!important}
.sm-card-rating .sm-rating-stars{display:block;position:relative;flex:none;width:100%;height:25px}
.sm-card-rating .sm-rating-stars>span,.sm-card-rating .sm-rating-fill>span{position:absolute;inset:0;display:flex;justify-content:space-between;width:100%;height:25px}
.sm-card-rating .sm-rating-stars svg{width:25px;height:25px;flex:0 0 25px}
.sm-card-rating .sm-rating-stars .sm-rating-fill{width:100%;overflow:visible}
.sm-card-rating .sm-rating-caption{display:flex;justify-content:center;align-items:center;gap:7px;width:100%;line-height:1.4}
.sm-rating-caption strong{color:#877035;font-size:14px}
#masters .masters-filters .sm-favorites-filter.sm-favorite-notice{background:#f7e7db;color:#754935;border-color:#c79868;box-shadow:0 0 0 4px #c7986833;animation:sm-favorite-pulse .7s ease-in-out 3}
@keyframes sm-favorite-pulse{50%{box-shadow:0 0 0 8px #c7986800;transform:scale(1.045)}}
@media(prefers-reduced-motion:reduce){#masters .masters-filters .sm-favorites-filter.sm-favorite-notice{animation:none}}
@media(max-width:1199px){.sm-card-rating .sm-rating-stars,.sm-card-rating .sm-rating-stars>span,.sm-card-rating .sm-rating-fill>span{height:22px}.sm-card-rating .sm-rating-stars svg{width:22px;height:22px;flex-basis:22px}.sm-master-card .sm-card-side .sm-card-rating{font-size:12px!important;padding:4px 0}}
.sm-gallery-tabs{display:flex;gap:5px;padding:4px;border-radius:12px;background:#eaf0e9;width:max-content;max-width:100%}
.sm-gallery-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:37px;padding:8px 15px;border:0;border-radius:9px;background:transparent;color:#68796d;font-family:inherit;font-size:14px;font-weight:600;line-height:1.3;cursor:pointer;white-space:nowrap}
.sm-gallery-tabs button[aria-selected=true],.sm-gallery-tabs button[aria-pressed=true]{background:white;color:#204b36;box-shadow:0 2px 8px #183e3110}
.sm-gallery-tabs button span{font-size:12px;font-weight:400;color:#748075}
.sm-work-gallery [hidden]{display:none!important}
.sm-work-gallery .sm-portfolio-header{flex-wrap:wrap;gap:14px;margin-bottom:14px}
.sm-work-gallery .sm-portfolio-header h2{margin:0}
.sm-work-gallery .sm-portfolio-controls{justify-content:flex-end;margin-bottom:10px}
.sm-work-gallery .sm-portfolio-track:has(>p:only-child){min-height:120px;display:flex;align-items:center;justify-content:center;background:#f5f7f2;border-radius:14px}
.sm-work-gallery .sm-portfolio-track .sm-video-preview{position:relative}
@media(max-width:1199px){.sm-work-gallery .sm-portfolio-header{align-items:flex-start}.sm-work-gallery .sm-gallery-tabs{width:100%}.sm-work-gallery .sm-gallery-tabs button{flex:1}}

/* Separate square banner and height-bounded advertising copy. */
.sm-card-gallery{grid-column:1;grid-row:1;min-width:0;align-self:start}
.sm-master-card .sm-card-gallery .sm-card-cover{width:100%;height:auto;min-height:0;aspect-ratio:1;border-radius:16px;overflow:hidden;grid-area:auto}
.sm-card-gallery .sm-card-cover img{display:block;width:100%;height:100%;object-fit:contain}
.sm-master-card .sm-card-info{padding-top:0}
.sm-master-card .sm-card-subtitle{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--sm-description-lines,7);overflow:hidden;max-width:none;line-height:1.5}
.sm-master-card .sm-card-description-mobile{display:none}
.sm-master-card .sm-card-cover-empty{font-size:11px;gap:8px;padding:14px;text-align:center}
#masters .masters-filters{padding-left:6px;padding-right:6px}
#masters .masters-filters .sm-favorites-filter.sm-favorite-notice{transform:none;box-shadow:inset 0 0 0 2px #c7986880}
@keyframes sm-favorite-pulse{0%,100%{background:#f7e7db;box-shadow:inset 0 0 0 2px #c7986855}50%{background:#ead5ad;box-shadow:inset 0 0 0 3px #c79868}}
@media(max-width:1199px){
 .sm-master-card{grid-template-columns:minmax(112px,36%) minmax(0,1fr);column-gap:12px;row-gap:12px}
 .sm-master-card .sm-card-profile .sm-card-title,#masters .sm-master-card .sm-card-profile .sm-card-title{font-size:17px!important;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
 .sm-master-card .sm-card-description-desktop{display:none}
 .sm-master-card .sm-card-description-mobile{display:-webkit-box;-webkit-line-clamp:var(--sm-description-lines,3);font-size:13px;line-height:1.4;margin-top:6px}
 .sm-card-side{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) 126px;column-gap:10px;row-gap:12px;align-items:center}
 .sm-card-side .sm-card-footer{grid-column:1;grid-row:1;gap:5px;min-width:0}
 .sm-card-side .sm-card-favorite{width:30px;min-height:40px;flex-basis:30px}
 .sm-card-side .sm-card-favorite svg{width:25px;height:25px}
 .sm-card-side .sm-card-avatar{width:30px;height:30px;flex-basis:30px}
 .sm-master-card .sm-card-meta .sm-card-city,.sm-master-card .sm-card-meta .sm-card-experience{font-size:12px;line-height:1.4;white-space:normal}
 .sm-master-card .sm-card-side .sm-card-rating{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) 126px;column-gap:10px;align-items:center;padding:0;font-size:12px!important;text-align:center!important}
 .sm-card-rating .sm-rating-stars{width:min(100%,180px);height:28px;flex:none}
 .sm-card-rating .sm-rating-stars>span,.sm-card-rating .sm-rating-fill>span{height:28px;width:100%;justify-content:space-between}
 .sm-card-rating .sm-rating-stars svg{width:28px;height:28px;flex:0 0 28px}
 .sm-card-rating .sm-rating-caption{justify-content:center;width:100%;flex-wrap:wrap;gap:2px 6px}
 .sm-card-side .sm-card-actions{grid-column:2;grid-row:1;display:flex;flex-direction:row;justify-content:center;gap:18px;width:100%;align-items:center}
 .sm-card-side .sm-card-actions button{flex:none;width:44px;height:44px;min-height:44px;padding:10px;font-size:0;border-radius:13px}
 .sm-card-side .sm-card-actions button svg{display:block;width:24px;height:24px;flex:none}
 .sm-card-side .sm-card-actions button span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}

/* Keep the schedule with the specialist identity, directly above contact actions. */
.sm-profile-identity>div{min-width:0;display:flex;flex-direction:column;gap:4px}
.sm-profile-identity h1,.sm-profile-identity p{margin:0}
.sm-profile-identity p{line-height:1.35}
.sm-profile-identity .sm-profile-hours{display:flex;align-items:flex-start;gap:5px;font-size:13px;color:#617165}
.sm-profile-hours svg{width:15px;height:15px;flex:none;margin-top:1px}
.sm-profile-hours span{min-width:0;overflow-wrap:anywhere}
.sm-profile-hero>.sm-profile-contact{margin-top:16px}
@media(max-width:600px){.sm-profile-identity .sm-profile-hours{font-size:12px}.sm-profile-hero>.sm-profile-contact{margin-top:14px}}
