.profile-hero{background:#eef3f0;padding:120px 0 74px}
.profile-back{display:inline-block;font-size:13px;color:#4c7476;margin-bottom:35px;text-decoration:underline;text-underline-offset:4px}
.profile-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(35px,6vw,88px);align-items:center}
.profile-copy{min-width:0}
.profile-copy h1{font-family:inherit;font-weight:500;font-size:clamp(40px,4.8vw,68px);line-height:1.08;letter-spacing:-.06em;color:var(--deep);margin:20px 0}
.profile-copy h1 em{font-style:normal;color:#668b89;overflow-wrap:anywhere}
.profile-role{color:var(--teal);font-size:16px;line-height:1.5;font-weight:650;margin:0 0 24px}
.profile-intro{color:var(--body);font-size:17px;line-height:1.75;max-width:580px;margin:0}
.profile-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:31px}
.profile-portrait{min-width:0;max-width:480px;margin:0;background:#fff}
.profile-portrait>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center top;filter:sepia(.035) saturate(1.16) contrast(1.025)}
.profile-portrait figcaption{padding:17px 23px;color:#587777;font-size:12px;line-height:1.5;letter-spacing:.04em}
.profile-locations{background:var(--paper)}
.profile-section-heading{display:flex;align-items:end;justify-content:space-between;gap:44px;margin-bottom:38px}
.profile-section-heading h2{font-family:inherit;font-size:clamp(40px,4.6vw,63px);font-weight:500;letter-spacing:-.06em;line-height:1.1;color:var(--deep);margin:17px 0 0}
.profile-section-heading h2 em{color:#668b89}
.profile-section-heading>p{max-width:410px;font-size:16px;line-height:1.7;color:var(--body);margin:0}
.profile-location{min-width:0;background:#eef3f0}
.profile-location-equinox{display:grid;grid-template-columns:1.1fr 1fr}
.profile-location-copy,.profile-location-visit{min-width:0;padding:clamp(25px,3.6vw,48px)}
.profile-location h3{font-size:clamp(26px,3vw,38px);font-weight:500;letter-spacing:-.045em;line-height:1.15;color:var(--deep);margin:17px 0 23px}
.profile-location address{font-style:normal;font-size:18px;line-height:1.65;color:var(--teal)}
.profile-location-copy>p:not(.eyebrow),.profile-location-visit>p,.profile-location-pending>p:last-child{color:var(--body);font-size:15px;line-height:1.65;max-width:440px;margin:20px 0 0}
.profile-location-links{display:flex;flex-wrap:wrap;gap:20px 28px;margin-top:28px}
.profile-location-visit{background:#e3ece7}
.profile-location-visit h4{font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.025em;color:var(--deep);margin:0}
.profile-location-visit>p{margin-top:12px}
.profile-hours{margin:25px 0 0}
.profile-hours>div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #c4d6cf;font-size:14px;color:var(--body)}
.profile-hours dd{color:var(--teal);font-weight:650;margin:0;white-space:nowrap}
.profile-location-visit .profile-hours-note{font-size:12px;margin:12px 0 24px}
.profile-call{display:block;width:max-content;max-width:100%;margin-top:16px;font-size:14px;color:var(--teal);text-decoration:underline;text-underline-offset:4px}
.profile-pending-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.profile-location-pending{padding:clamp(25px,3.6vw,48px);background:#f2eee8;border:1px dashed #c4bbb0}
.profile-location-pending h3{font-size:clamp(26px,2.8vw,35px);margin-bottom:18px}
.profile-pending-label{display:inline-block;margin:0;padding:7px 11px;border:1px solid #c4bbb0;border-radius:3px;color:#5e665f;font-size:12px;font-weight:600}
@media(max-width:850px){
  .profile-hero{padding:108px 0 58px}
  .profile-back{margin-bottom:28px}
  .profile-hero-grid{grid-template-columns:1fr;gap:35px}
  .profile-copy h1{font-size:clamp(40px,7.7vw,64px)}
  .profile-portrait{width:100%;max-width:480px}
  .profile-section-heading{display:block}
  .profile-section-heading>p{max-width:650px;margin-top:22px}
  .profile-location-equinox{grid-template-columns:1fr}
}
@media(max-width:620px){
  .profile-hero{padding:105px 0 48px}
  .profile-copy h1{font-size:clamp(35px,9.2vw,54px)}
  .profile-role{font-size:15px}
  .profile-intro{font-size:16px}
  .profile-actions{align-items:flex-start;flex-direction:column;gap:22px}
  .profile-section-heading h2{font-size:clamp(38px,10.4vw,53px)}
  .profile-pending-grid{grid-template-columns:1fr;gap:14px;margin-top:14px}
  .profile-location-copy,.profile-location-visit,.profile-location-pending{padding:27px 23px}
  .profile-location-links{gap:17px}
}

/* Individual dentist biographies, extending the established profile design. */
.profile-tagline{font-size:20px;line-height:1.45;letter-spacing:-.025em;font-weight:550;color:var(--deep);max-width:570px;margin:0 0 20px}
.profile-biography{background:var(--paper)}
.profile-bio-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,6vw,88px);padding:46px 0;border-top:1px solid var(--line)}
.profile-bio-row:first-child{padding-top:0;border-top:0}
.profile-bio-row:last-child{padding-bottom:0}
.profile-bio-row h2,.profile-booking h2{font-size:clamp(30px,3.3vw,47px);font-weight:500;line-height:1.16;letter-spacing:-.045em;color:var(--deep);margin:16px 0 0}
.profile-bio-text p,.profile-booking p:not(.eyebrow){font-size:17px;line-height:1.8;color:var(--body);margin:0 0 20px}
.profile-bio-text p:last-child{margin-bottom:0}
.profile-booking{background:#e3ece7}
.profile-booking-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,6vw,88px)}
.profile-booking .profile-booking-note{font-size:13px;margin:22px 0 18px;line-height:1.6}
.profile-other{padding-block:40px 50px}
.profile-other .profile-back{margin:0 0 18px}
.profile-other>div{display:flex;flex-wrap:wrap;gap:16px 30px}
.profile-other>div a{font-size:14px;line-height:1.6;color:var(--teal);text-decoration:underline;text-underline-offset:4px}
@media(max-width:850px){.profile-bio-row,.profile-booking-grid{grid-template-columns:1fr;gap:24px}.profile-bio-row{padding-block:35px}.profile-hero-grid{align-items:start}}
@media(max-width:620px){.profile-tagline{font-size:18px}.profile-bio-text p,.profile-booking p:not(.eyebrow){font-size:16px}.profile-booking .profile-booking-note{font-size:13px}.profile-other>div{flex-direction:column;gap:13px}}
body.dentist-profile{min-width:0}

/* Full-width clinic portraits; editable page typography stays outside the photo. */
.profile-hero-full{position:relative;isolation:isolate;overflow:hidden;padding:130px 0 72px;min-height:690px;display:flex;align-items:center;background:#edf2ed}
.profile-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:-2}
.profile-hero-full:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(239,245,240,.98) 0%,rgba(239,245,240,.93) 29%,rgba(239,245,240,.76) 43%,rgba(239,245,240,.10) 64%,transparent 76%)}
.profile-hero-full .container{width:100%}.profile-hero-full .profile-hero-grid{display:block}.profile-hero-full .profile-copy{max-width:53%}.profile-hero-full .profile-copy h1{font-size:clamp(42px,4.5vw,68px)}
.profile-hero-full .profile-tagline{max-width:470px;font-size:clamp(19px,1.8vw,25px);font-weight:500;line-height:1.5}.profile-hero-full .profile-role{max-width:470px}.profile-hero-full .profile-back{margin-bottom:24px}.profile-hero-full .profile-actions{gap:20px}.profile-hero-full .text-link{font-size:14px}
.profile-welcome{background:#eef3f0;padding:52px 0}.profile-welcome .profile-intro{max-width:850px;font-size:clamp(19px,1.8vw,23px);line-height:1.7;letter-spacing:-.015em}
@media(max-width:850px){.profile-hero-full{padding:0;min-height:0;display:block}.profile-scene{position:relative;display:block;width:100%;height:440px;object-position:75% center;margin-top:72px;z-index:0}.profile-hero-full:after{display:none}.profile-hero-full .container{padding-top:32px;padding-bottom:44px}.profile-hero-full .profile-copy{max-width:100%}.profile-hero-full .profile-copy h1{font-size:clamp(38px,7vw,60px)}.profile-hero-full .profile-tagline,.profile-hero-full .profile-role{max-width:640px}.profile-hero-full .profile-actions{flex-direction:row;align-items:center}.profile-welcome{padding:36px 0}}
@media(max-width:520px){.profile-scene{height:340px;object-position:80% center}.profile-hero-full .profile-copy h1{font-size:clamp(36px,9vw,47px)}.profile-hero-full .profile-role{font-size:14px}.profile-hero-full .profile-tagline{font-size:20px}.profile-hero-full .profile-actions{align-items:flex-start;flex-direction:column}.profile-welcome .profile-intro{font-size:18px}}
@media(min-width:851px){.profile-hero-full{margin-top:80px;padding:65px 0;min-height:640px}.profile-hero-full .container{width:min(1280px,calc(100% - 80px))}.profile-scene{object-position:center center}}
@media(max-width:850px){.profile-hero-full .container{width:calc(100% - 40px)}}

.profile-location-confirmed{border:1px solid #c4bbb0;background:#f2eee8}

/* Full-bleed lifestyle invitations: live type on the photograph, no overlays. */
.profile-booking-photo{position:relative;isolation:isolate;overflow:hidden;padding:50px 0;min-height:580px;background:none;display:flex;align-items:center}
.profile-booking-scene{position:absolute;inset:0;z-index:-1;display:block}.profile-booking-scene img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.profile-booking-photo .profile-booking-grid{display:block;width:min(1280px,calc(100% - 80px))}.profile-booking-photo .profile-booking-grid>div{max-width:43%}
.profile-booking-photo h2{font-size:clamp(34px,3.5vw,50px);line-height:1.1;margin:15px 0 22px;color:#fffaf0}
.profile-booking-photo p:not(.eyebrow){color:#fffaf0;font-size:16px;line-height:1.65;font-weight:500}.profile-booking-photo .eyebrow{color:#fffaf0}.profile-booking-photo .profile-actions{gap:18px;margin-top:24px}.profile-booking-photo p.profile-booking-note{font-size:12px;line-height:1.5;margin:18px 0 14px}.profile-booking-photo .text-link{font-size:13px;color:#fffaf0;font-weight:650}
@media(min-width:701px) and (max-width:1000px){.profile-booking-photo{min-height:600px}.profile-booking-photo .profile-booking-grid{width:calc(100% - 48px)}.profile-booking-photo .profile-booking-grid>div{max-width:45%}.profile-booking-photo .profile-actions{flex-direction:column;align-items:flex-start}}
@media(max-width:700px){.profile-booking-photo{display:block;padding:34px 0 530px;min-height:1020px}.profile-booking-photo .profile-booking-grid{width:calc(100% - 40px)}.profile-booking-photo .profile-booking-grid>div{max-width:100%}.profile-booking-photo h2{font-size:32px;line-height:1.1;max-width:380px}.profile-booking-photo p:not(.eyebrow){font-size:15px;line-height:1.55}.profile-booking-photo p.profile-booking-note{font-size:12px}.profile-booking-scene img{object-position:center}.profile-booking-photo .profile-actions{flex-direction:column;align-items:flex-start;gap:15px;margin-top:20px}}

.profile-booking-photo .button{background:#fff6e6;color:#123f4a;border-color:#fff6e6}.profile-booking-photo .button:hover{background:#e7ddcc}.profile-booking-photo{align-items:flex-start;padding-top:60px}.profile-booking-photo p.profile-booking-note{max-width:310px}.profile-booking-photo .text-link:focus-visible{outline:2px solid #fff6e6;outline-offset:5px}@media(max-width:700px){.profile-booking-photo{padding-top:34px}}

.booking-jenny .profile-actions{flex-direction:column;align-items:flex-start;gap:15px}.booking-jenny p.profile-booking-note{max-width:250px}
.profile-booking-photo{background:#242320}

/* Brand-room composition: reversed copy sits on the photographed knit throw. */
@media(min-width:701px){.profile-booking-photo{min-height:720px;padding:300px 0 40px}.profile-booking-photo .profile-booking-grid>div{max-width:380px}.profile-booking-photo h2{font-size:36px;margin:10px 0 18px}.profile-booking-photo p:not(.eyebrow){font-size:15px;line-height:1.55}.profile-booking-photo .profile-actions{gap:15px;margin-top:20px}.profile-booking-photo .button{padding:17px 18px}.booking-jenny .profile-actions{flex-direction:row;align-items:center}.profile-booking-photo p.profile-booking-note{font-size:12px;margin:15px 0 12px}.profile-booking-photo .text-link{font-size:12px}}
@media(max-width:700px){.profile-booking-photo{min-height:1120px;padding:650px 0 35px}.profile-booking-photo h2{font-size:30px}.profile-booking-photo .profile-booking-grid{width:calc(100% - 40px)}}
