.profile-page { background: #f7f4ed; }
.breadcrumbs { display: flex; gap: 9px; color: var(--ink-soft); font-size: 11px; }.profile-breadcrumbs { padding-top: 30px; padding-bottom: 25px; }
.profile-hero { padding-bottom: 70px; }.profile-hero-grid { display: grid; grid-template-columns: 310px 1fr 365px; gap: 38px; align-items: start; }
.profile-photo { position: relative; height: 455px; display: grid; place-items: center; overflow: hidden; border-radius: 35% 35% 24px 24px; }.pp-lilac { background: var(--lilac); }.pp-blue { background: var(--blue); }.pp-sage { background: var(--sage); }.pp-coral { background: var(--coral); }.pp-yellow { background: var(--yellow); }.pp-peach { background: #f2c8ae; }
.profile-orbit { position: absolute; border: 1px solid rgba(24,48,43,.24); border-radius: 50%; }.profile-orbit.one { width: 330px; height: 220px; transform: rotate(31deg); }.profile-orbit.two { width: 220px; height: 370px; transform: rotate(-29deg); }
.profile-initials { position: relative; z-index: 1; display: grid; place-items: center; width: 165px; height: 165px; border-radius: 50% 50% 43% 39%; background: var(--ink); color: white; font: 46px Georgia,serif; }
.demo-profile-label { position: absolute; z-index: 3; top: 16px; left: 16px; padding: 7px 10px; border-radius: 99px; background: var(--paper); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .6px; }
.video-intro { position: absolute; z-index: 3; left: 15px; right: 15px; bottom: 15px; display: flex; align-items: center; gap: 11px; padding: 11px; border: 0; border-radius: 14px; background: rgba(24,48,43,.94); color: white; cursor: pointer; text-align: left; }.video-intro i { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 50%; background: var(--lime); color: var(--ink); font-size: 10px; font-style: normal; }.video-intro b,.video-intro small { display: block; }.video-intro b { font-size: 10px; }.video-intro small { color: rgba(255,255,255,.55); font-size: 8px; }
.profile-intro { padding-top: 15px; }.profile-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: #5b6c68; font-size: 9px; text-transform: uppercase; letter-spacing: .5px; }.profile-kicker > span:last-child::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: #55a674; }
.verification-pill { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; background: #edf3d1; border-radius: 99px; color: var(--ink); }.verification-pill i { display: grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; background: var(--lime); font-style: normal; }
.profile-intro h1 { margin: 19px 0 3px; font-size: clamp(45px,4.8vw,66px); line-height: 1; letter-spacing: -4px; }.profile-role { margin: 0; color: var(--ink-soft); font-size: 11px; }.profile-positioning { max-width: 600px; margin: 27px 0 20px; font-family: Georgia,serif; font-size: 23px; line-height: 1.35; }
.profile-tags { display: flex; flex-wrap: wrap; gap: 7px; }.profile-tags span { padding: 7px 10px; border: 1px solid var(--line); border-radius: 99px; color: #4a5d58; font-size: 9px; }
.profile-facts { display: flex; gap: 0; margin-top: 30px; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.profile-facts div { min-width: 105px; padding-right: 25px; margin-right: 25px; border-right: 1px solid var(--line); }.profile-facts div:last-child { border: 0; }.profile-facts strong,.profile-facts span { display: block; }.profile-facts strong { font-size: 18px; }.profile-facts span { color: var(--ink-soft); font-size: 8px; }
.profile-actions { display: flex; align-items: center; gap: 15px; margin-top: 22px; }.profile-actions .button { min-height: 42px; padding-inline: 16px; }.share-button { padding: 0; border: 0; background: none; color: var(--ink-soft); cursor: pointer; font-size: 9px; font-weight: 700; }

.booking-card { position: sticky; top: 105px; padding: 24px; background: var(--paper); border: 1px solid var(--line); border-radius: 23px; box-shadow: var(--shadow); }.booking-card-head h2 { margin: -7px 0 17px; font-size: 23px; letter-spacing: -.8px; }
.service-option { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; margin: 8px 0; padding: 11px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }.service-option:has(input:checked) { border-color: var(--ink); background: #f2f4e6; }.service-option input { width: 16px; height: 16px; accent-color: var(--ink); }.service-option span,.service-option b,.service-option small { display: block; }.service-option b { font-size: 10px; }.service-option small { color: var(--ink-soft); font-size: 8px; }.service-option > strong { font-size: 10px; }
.timezone-row { display: flex; justify-content: space-between; margin: 17px 0 10px; color: var(--ink-soft); font-size: 8px; }.timezone-row button { padding: 0; border: 0; background: none; color: var(--ink); cursor: pointer; font-weight: 800; }
.date-scroller { display: grid; grid-template-columns: 24px repeat(3,1fr) 24px; gap: 5px; align-items: center; }.date-scroller input { position: absolute; opacity: 0; }.date-scroller label { cursor: pointer; }.date-scroller label span { min-height: 67px; display: grid; place-items: center; align-content: center; border: 1px solid var(--line); border-radius: 11px; }.date-scroller input:checked + span { background: var(--ink); color: white; }.date-scroller small,.date-scroller b,.date-scroller em { display: block; }.date-scroller small { color: var(--ink-soft); font-size: 7px; }.date-scroller input:checked + span small { color: rgba(255,255,255,.6); }.date-scroller b { font-size: 15px; }.date-scroller em { font-size: 7px; font-style: normal; text-transform: uppercase; }.date-nav { width: 24px; height: 30px; padding: 0; border: 0; background: none; cursor: pointer; }
.profile-slots { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; margin-top: 11px; }.profile-slots button { min-height: 36px; border: 1px solid var(--line); border-radius: 9px; background: transparent; cursor: pointer; font-size: 9px; font-weight: 800; }.profile-slots button:hover,.profile-slots button.selected { background: var(--lime); border-color: var(--lime); }
.availability-freshness { margin: 10px 0 15px; color: var(--ink-soft); font-size: 7px; }.availability-freshness span { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: #55a674; }.booking-continue { width: 100%; min-height: 47px; }.booking-policy { margin: 10px 5px 0; color: var(--ink-soft); font-size: 7px; text-align: center; }

.profile-tabs { position: sticky; z-index: 25; top: 82px; background: rgba(255,253,248,.95); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }.profile-tabs .container { display: flex; gap: 35px; overflow-x: auto; }.profile-tabs a { position: relative; flex: 0 0 auto; padding: 17px 0; color: var(--ink-soft); font-size: 10px; font-weight: 700; }.profile-tabs a.active,.profile-tabs a:hover { color: var(--ink); }.profile-tabs a.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--ink); }
.profile-content-grid { display: grid; grid-template-columns: 1fr 250px; gap: 85px; padding-top: 80px; padding-bottom: 110px; }.profile-section { padding: 0 0 85px; margin-bottom: 85px; border-bottom: 1px solid var(--line); scroll-margin-top: 150px; }.profile-section:last-child { border: 0; margin-bottom: 0; }.profile-section > h2 { max-width: 800px; margin: 0; font-family: Georgia,serif; font-size: clamp(29px,3.4vw,45px); line-height: 1.2; font-weight: 500; }.long-copy { columns: 2; column-gap: 45px; margin-top: 35px; }.long-copy p { margin: 0 0 15px; color: var(--ink-soft); font-size: 13px; }
.work-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.work-grid article { position: relative; min-height: 190px; padding: 23px; background: var(--paper); border-radius: 18px; }.work-grid article > span { color: var(--ink-soft); font-size: 9px; }.work-grid h3 { margin: 45px 0 8px; font-size: 17px; }.work-grid p { margin: 0; color: var(--ink-soft); font-size: 10px; }.work-grid .work-limit { background: #ece8dc; }.work-limit > span { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid var(--ink); border-radius: 50%; }
.method-note { display: grid; grid-template-columns: 110px 1fr; gap: 25px; align-items: center; margin-top: 25px; padding: 28px; background: var(--lilac); border-radius: 20px; }.method-symbol { display: grid; place-items: center; width: 90px; height: 90px; border: 1px solid var(--ink); border-radius: 50%; font: 50px Georgia,serif; }.method-note h3 { margin: 0 0 8px; font-size: 19px; }.method-note p { margin: 0; color: var(--ink-soft); font-size: 11px; }
.section-title-inline { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 27px; }.section-title-inline h2 { margin: 0; font-size: 35px; letter-spacing: -1.8px; }.section-title-inline h2 small { color: var(--ink-soft); font-size: 14px; font-weight: 500; letter-spacing: 0; }.section-title-inline button,.section-title-inline > a { padding: 0; border: 0; background: none; color: var(--ink-soft); cursor: pointer; font-size: 9px; font-weight: 800; }
.credential-list { border-top: 1px solid var(--line); }.credential-list article { display: grid; grid-template-columns: 65px 1fr auto; gap: 18px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--line); }.credential-year { color: var(--ink-soft); font-size: 10px; }.credential-list h3 { margin: 0; font-size: 14px; }.credential-list p { margin: 3px 0; color: var(--ink-soft); font-size: 10px; }.credential-list small { padding: 4px 6px; border-radius: 99px; background: #ece8dc; font-size: 7px; text-transform: uppercase; }.credential-list i { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 50%; background: var(--lime); font-style: normal; }.verification-disclaimer { margin-top: 20px; padding-left: 15px; border-left: 2px solid var(--coral); color: var(--ink-soft); font-size: 9px; }
.review-card { margin-top: 11px; padding: 24px; background: var(--paper); border-radius: 18px; }.review-top { display: grid; grid-template-columns: auto 1fr auto; gap: 11px; align-items: center; }.review-avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--coral); font-size: 9px; font-weight: 800; }.review-avatar.second { background: var(--sage); }.review-top p,.review-top strong,.review-top small { display: block; margin: 0; }.review-top strong { font-size: 11px; }.review-top small { color: var(--ink-soft); font-size: 7px; }.review-top b { color: #d4a821; font-size: 10px; letter-spacing: 1px; }.review-card blockquote { margin: 20px 0; font-family: Georgia,serif; font-size: 16px; line-height: 1.5; }.review-verified { color: #587131; font-size: 8px; }.review-rule { color: var(--ink-soft); font-size: 8px; }.review-rule i { display: inline-grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; background: var(--lime); color: var(--ink); font-style: normal; }
.profile-materials { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.profile-materials a { overflow: hidden; background: var(--paper); border-radius: 18px; }.material-shape { min-height: 170px; display: grid; place-items: center; background: var(--lilac); font: 60px Georgia,serif; }.shape-two { background: var(--coral); }.profile-materials p { padding: 18px; margin: 0; }.profile-materials small,.profile-materials strong { display: block; }.profile-materials small { margin-bottom: 8px; color: var(--ink-soft); font-size: 8px; text-transform: uppercase; }.profile-materials strong { font: 18px/1.3 Georgia,serif; }
.profile-side { align-self: start; position: sticky; top: 150px; }.side-card { padding: 21px; margin-bottom: 12px; background: var(--paper); border-radius: 17px; }.side-card dl { margin: 0; }.side-card dl div { display: flex; justify-content: space-between; gap: 15px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 9px; }.side-card dl div:last-child { border: 0; }.side-card dt { color: var(--ink-soft); }.side-card dd { margin: 0; font-weight: 800; }.principles { background: var(--sage); }.principles ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; font-size: 10px; }.principles li::before { content: "✓"; margin-right: 8px; font-weight: 900; }
.profile-final { padding: 90px 0; background: var(--coral); }.profile-final .container { display: grid; grid-template-columns: 1fr .65fr; align-items: end; gap: 80px; }.profile-final h2 { margin: 0; font-size: clamp(50px,6vw,79px); line-height: .98; letter-spacing: -4.5px; }.profile-final p:not(.eyebrow) { margin: 0 0 22px; }.compact-footer { padding-top: 20px; }.compact-footer .footer-bottom { margin-top: 0; }
.mobile-book-bar { display: none; }

.profile-booking-dialog { width: min(570px,calc(100% - 24px)); max-height: calc(100vh - 24px); padding: 0; border: 0; border-radius: 26px; background: transparent; }.profile-booking-dialog::backdrop { background: rgba(13,31,27,.72); backdrop-filter: blur(8px); }.profile-checkout { position: relative; padding: 38px; background: var(--paper); }.profile-checkout > .dialog-close { position: absolute; top: 20px; right: 20px; }.profile-checkout h2 { margin: 0 0 25px; font-size: 38px; letter-spacing: -2px; }.checkout-specialist { display: flex; align-items: center; gap: 11px; padding: 13px; background: var(--lilac); border-radius: 13px; }.checkout-specialist > span { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 50%; background: var(--ink); color: white; font-size: 10px; }.checkout-specialist p,.checkout-specialist strong,.checkout-specialist small { display: block; margin: 0; }.checkout-specialist strong { font-size: 11px; }.checkout-specialist small { color: var(--ink-soft); font-size: 8px; }.checkout-summary { margin: 18px 0; }.checkout-summary div { display: flex; justify-content: space-between; gap: 15px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 10px; }.checkout-summary dt { color: var(--ink-soft); }.checkout-summary dd { margin: 0; font-weight: 800; }.checkout-field span { display: block; margin-bottom: 6px; font-size: 9px; font-weight: 800; }.checkout-field input { width: 100%; height: 47px; padding: 0 13px; border: 1px solid var(--line); border-radius: 11px; background: white; }.checkout-check { display: flex; align-items: start; gap: 9px; margin: 12px 0; color: var(--ink-soft); font-size: 9px; }.checkout-check input { flex: 0 0 auto; width: 17px; height: 17px; accent-color: var(--ink); }.checkout-safe { margin: 12px 0 0; color: var(--ink-soft); font-size: 8px; text-align: center; }
.video-modal { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(13,31,27,.9); color: white; }.video-modal[hidden] { display: none; }.video-modal > button { position: absolute; top: 25px; right: 25px; width: 45px; height: 45px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; background: none; color: white; font-size: 27px; }.video-modal > div { text-align: center; }.video-modal > div > span { display: grid; place-items: center; width: 100px; height: 100px; margin: auto; border-radius: 50%; background: var(--lime); color: var(--ink); font-size: 30px; }.video-modal p { font: 27px Georgia,serif; }.video-modal small { color: rgba(255,255,255,.6); }

@media (max-width: 1100px) { .profile-hero-grid { grid-template-columns: 260px 1fr 330px; gap: 25px; }.profile-photo { height: 400px; }.profile-positioning { font-size: 19px; }.profile-facts div { min-width: 85px; padding-right: 15px; margin-right: 15px; } }
@media (max-width: 900px) { .profile-hero-grid { grid-template-columns: 280px 1fr; }.booking-card { grid-column: 1/-1; position: relative; top: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px; }.booking-card-head,.timezone-row,.date-scroller,.profile-slots,.availability-freshness,.booking-continue,.booking-policy { grid-column: 1/-1; }.profile-content-grid { grid-template-columns: 1fr; }.profile-side { display: none; } }
@media (max-width: 650px) { .profile-breadcrumbs { padding-top: 20px; }.profile-hero { padding-bottom: 45px; }.profile-hero-grid { grid-template-columns: 1fr; }.profile-photo { height: 420px; }.profile-intro { padding-top: 0; }.profile-intro h1 { font-size: 49px; letter-spacing: -3px; }.profile-positioning { font-size: 20px; }.profile-facts { justify-content: space-between; }.profile-facts div { min-width: 0; flex: 1; padding-right: 10px; margin-right: 10px; }.profile-actions { flex-wrap: wrap; }.booking-card { display: block; scroll-margin-top: 140px; }.profile-tabs { top: 70px; }.profile-tabs .container { gap: 25px; }.profile-content-grid { padding-top: 60px; padding-bottom: 70px; }.profile-section { padding-bottom: 60px; margin-bottom: 60px; }.profile-section > h2 { font-size: 29px; }.long-copy { columns: auto; }.work-grid { grid-template-columns: 1fr; }.method-note { grid-template-columns: 1fr; }.section-title-inline { align-items: start; flex-direction: column; }.credential-list article { grid-template-columns: 48px 1fr auto; }.profile-materials { grid-template-columns: 1fr; }.profile-final .container { grid-template-columns: 1fr; gap: 30px; }.profile-final h2 { font-size: 51px; letter-spacing: -3px; }.mobile-book-bar { position: fixed; z-index: 45; left: 10px; right: 10px; bottom: 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 10px 10px 15px; border-radius: 16px; background: var(--ink); color: white; box-shadow: var(--shadow); }.mobile-book-bar small,.mobile-book-bar strong { display: block; }.mobile-book-bar small { color: rgba(255,255,255,.55); font-size: 7px; }.mobile-book-bar strong { font-size: 10px; }.mobile-book-bar .button { min-height: 40px; padding-inline: 15px; }.profile-checkout { padding: 32px 20px 25px; } }
