.d-profile-page main{padding-bottom:4rem}
.d-profile-heading{display:flex;align-items:center;gap:1.5rem;margin:2rem 0 2.5rem}
.d-profile-heading h1{font:400 clamp(2rem,4vw,3.3rem)/1.12 Georgia,serif;letter-spacing:-.03em;margin:0;overflow-wrap:anywhere}
.d-profile-title{font-size:1.05rem;margin:.65rem 0 0;color:#58695f}
.d-profile-verification{font-size:.8rem;color:#2d654c;margin:.5rem 0 0}
.d-profile-avatar{width:88px;height:88px;object-fit:cover;border-radius:50%;flex:none}
.d-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:2rem;border-top:1px solid #bccbbf;padding-top:2rem;align-items:start}
.d-profile-booking{grid-column:2;grid-row:1}
.d-profile-information{grid-column:1;grid-row:1;min-width:0}
.d-profile-page h2{font:400 1.45rem/1.25 Georgia,serif;margin:0 0 1.25rem}
.d-profile-information section{margin-bottom:2rem}
.d-profile-description{white-space:pre-line;margin:0;overflow-wrap:anywhere}
.d-qualifications{list-style:none;margin:0;padding:0}
.d-qualifications li{display:flex;justify-content:space-between;gap:1rem;margin:.75rem 0}
.d-qualifications li>span:first-child{overflow-wrap:anywhere;min-width:0}
.d-profile-location{margin-bottom:1rem}
.d-profile-location p{margin:0 0 .4rem}
.d-profile-location a,.d-profile-website{font-size:.875rem;text-underline-offset:3px}
.d-contact-section{border-top:1px solid #d6ddd5;padding-top:1rem;margin-top:2rem}
.d-contact-section summary{cursor:pointer;color:#2d654c;min-height:44px}
.d-profile-contact{display:flex;flex-direction:column;gap:1rem;margin-top:1rem;position:relative}
.d-profile-contact .form-group{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.d-profile-contact label{font-size:.875rem}
.d-profile-contact input,.d-profile-contact textarea{width:100%;border:1px solid #82958a;border-radius:4px;background:#fffefb;color:#263e34;font:inherit;font-size:16px;padding:.7rem}
.d-profile-contact textarea{resize:vertical;min-height:7rem}
.d-profile-contact .contact-submit{align-self:start;display:flex;align-items:center;gap:.5rem;border:0;border-radius:4px;background:#2d654c;color:#fffefb;font:inherit;font-size:16px;padding:.75rem 1rem;min-height:48px;cursor:pointer}
.d-profile-contact .contact-submit:disabled{opacity:.5;cursor:not-allowed}
.d-profile-contact .icon{width:18px;height:18px}
@media(max-width:760px){.d-profile-heading{align-items:flex-start;gap:1rem;margin:1.5rem 0 2rem}.d-profile-avatar{width:64px;height:64px}.d-profile-layout{display:flex;flex-direction:column;gap:2.5rem;padding-top:1.5rem}.d-profile-booking,.d-profile-information{width:100%}.d-profile-information{border-top:1px solid #d6ddd5;padding-top:2rem}}

.d-profile-description[data-collapsed="true"]{max-height:var(--description-preview-height);overflow:hidden;mask-image:linear-gradient(to bottom,#000 66.6667%,transparent 100%)}
.d-description-toggle{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;margin-top:.35rem;padding:.25rem 0;border:0;background:transparent;color:#2d654c;font:inherit;font-size:1rem;cursor:pointer}
.d-description-toggle:hover span{text-decoration:underline;text-underline-offset:3px}
.d-description-toggle[aria-expanded="true"] svg{transform:rotate(90deg)}

.d-page .d-description-toggle:focus-visible{outline:none}
.d-description-toggle:focus-visible span{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.d-description-toggle svg{flex:none}

.d-profile-identity{display:flex;flex-direction:column;align-items:flex-start;min-width:0;text-align:left}
/* Optical inset aligns the serif title with the sans-serif identity lines. */
.d-profile-heading h1{padding-inline-start:.02em}

.d-contact-phone{margin:1rem 0}.d-contact-phone a{white-space:nowrap;text-underline-offset:3px}
