/* Signature editorial system shared by First Visit, Philosophy and Results. */
.dp { --dp-pink:#ff82c8; --dp-lavender:#f2b4ff; --dp-pale:#ece8eb; --dp-ink:#333; color:var(--dp-ink); background:#fff; font:400 18px/1.5 "FreightNeo Pro","Helvetica Neue",Arial,sans-serif; padding-top:var(--idn-h,72px); }
.dp * { box-sizing:border-box; }
.dp h1,.dp h2,.dp h3 { color:inherit; font-family:DidotDisplay,Didot,Georgia,serif; font-weight:400; letter-spacing:.018em; }
.dp h1 { font-size:clamp(36px,4.7vw,56px); line-height:1.26; margin:0; }
.dp h2 { font-size:clamp(30px,3.4vw,40px); line-height:1.28; margin:0; }
.dp h3 { font-size:27px; line-height:1.3; margin:0 0 14px; }
.dp p { margin:0 0 18px; }
.dp figure { margin:0; }
.dp img { display:block; width:100%; height:100%; object-fit:cover; }
.dp a { color:inherit; text-decoration:underline; text-underline-offset:4px; }
.dp [hidden] { display:none !important; }
.dp-wrap { width:min(1240px,90%); margin-right:auto; margin-left:auto; }
.dp .dp-kicker { font-size:12px; line-height:1.4; letter-spacing:.14em; text-transform:uppercase; margin:0 0 15px; }
.dp .dp-note { font-size:15px; line-height:1.5; }
.dp a.dp-action { display:flex; justify-content:space-between; align-items:center; gap:22px; min-height:56px; padding:17px 25px; color:#000; text-decoration:none; font-size:17px; line-height:1.4; background:var(--dp-pink); }
.dp a.dp-action-lavender { background:var(--dp-lavender); }
.dp a.dp-action:hover { background:#000; color:#fff; }
.dp-action>span { flex-shrink:0; font-family:Arial,sans-serif; font-size:22px; }
.dp-photo-hero { position:relative; isolation:isolate; height:600px; color:#fff; }
.dp-photo-hero>img { position:absolute; inset:0; z-index:-2; object-position:center 20%; }
.dp-photo-hero-consultation>img { object-position:center top; }
.dp-photo-hero-results>img { object-position:center 12%; }
.dp-photo-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.62) 50%,rgba(0,0,0,.78) 100%); }
.dp-hero-title { position:absolute; left:5%; right:5%; bottom:112px; text-align:center; }
.dp-hero-title .dp-kicker { margin-bottom:18px; }
.dp-hero-bottom { position:absolute; left:0; right:0; bottom:0; display:grid; grid-template-columns:1fr 1fr; align-items:end; }
.dp-hero-bottom>p { padding:18px 25px; margin:0; font-size:16px; line-height:1.45; }
.dp-intro { padding:52px 0; text-align:center; }
.dp-intro h2 { margin-bottom:21px; }
.dp-intro p { max-width:740px; margin:auto; }
.dp-split { display:grid; grid-template-columns:1fr 1fr; background:var(--dp-pale); }
.dp-split>figure,.dp-visit-flow>figure { position:relative; min-height:480px; }
.dp-split>figure>img,.dp-visit-flow>figure>img { position:absolute; inset:0; object-position:center 30%; }
.dp-split>div { align-self:center; padding:46px 11%; }
.dp-split h2 { margin-bottom:23px; }
.dp-split h3 { margin-top:27px; }
.dp-split p:last-child { margin-bottom:0; }
.dp-split .dp-action { margin-top:26px; }
.dp-split-copy-first>div { order:-1; }
.dp-visit-flow { display:grid; grid-template-columns:43% 57%; background:var(--dp-pale); }
.dp-visit-flow>div { padding:42px 8%; }
.dp-visit-flow h2 { margin-bottom:32px; }
.dp-visit-flow>figure>img { object-position:61% center; }
.dp-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:28px 30px; }
.dp-steps li { min-width:0; }
.dp-steps .dp-kicker { margin-bottom:10px; }
.dp-steps h3 { font-size:25px; margin-bottom:12px; }
.dp-steps p { font-size:17px; margin:0; }
.dp-doctor-section { padding:52px 0; }
.dp-section-heading { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:36px; margin-bottom:33px; }
.dp-section-heading>p { max-width:550px; margin:0; }
.dp-doctors { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
.dp-doctor { display:flex; flex-direction:column; }
.dp-doctor-photo { display:block; height:390px; overflow:hidden; }
.dp-doctor-photo img { object-position:center 18%; }
.dp-doctor-copy { padding:25px; background:var(--dp-pale); flex:1; }
.dp-doctor-copy .dp-kicker { margin-bottom:10px; }
.dp-doctor-copy h3 { font-size:32px; margin-bottom:12px; }
.dp-doctor-copy h3 a { text-decoration:none; }
.dp-doctor-copy p:last-child { margin-bottom:0; }
.dp-practical { display:grid; grid-template-columns:40% 60%; }
.dp-fee-panel { background:var(--dp-lavender); padding:44px 12%; }
.dp-fee-panel h2 { margin-bottom:26px; }
.dp-fee-panel .dp-fee { font:400 76px/1.1 DidotDisplay,Didot,Georgia,serif; margin:0 0 18px; }
.dp-fee-panel>p:last-child { margin:0; }
.dp-policy-panel { padding:28px 9%; background:var(--dp-pale); }
.dp-policies { margin:0 0 22px; }
.dp-policies>div { padding:20px 0; border-bottom:1px solid #c8c2c7; }
.dp-policies dt { font-weight:400; font-size:21px; margin-bottom:9px; }
.dp-policies dd { margin:0; font-size:17px; }
.dp-policy-panel .dp-note { margin:0; }
.dp-practical+.dp-split { margin-top:45px; }
.dp-faq { display:grid; grid-template-columns:40% 60%; gap:0; padding:52px 0; }
.dp-faq .dp-section-heading { display:block; padding-right:12%; }
.dp-faq .dp-section-heading p { margin-top:18px; }
.dp details { border-bottom:1px solid #c8c2c7; padding:20px 0; }
.dp details:first-child { padding-top:0; }
.dp summary { display:flex; justify-content:space-between; align-items:center; gap:22px; min-height:44px; list-style:none; font-size:21px; line-height:1.4; cursor:pointer; }
.dp summary::-webkit-details-marker { display:none; }
.dp summary::after { content:"+"; font-family:Arial,sans-serif; font-size:22px; flex-shrink:0; }
.dp details[open]>summary::after { content:"−"; }
.dp details>p { margin:17px 0 0; font-size:17px; }
.dp-principles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding-top:40px; }
.dp-principles figure { height:290px; }
.dp-principles img { object-position:center 35%; }
.dp-principles article>div { padding:24px 26px 12px; }
.dp-principles h3 { margin-bottom:13px; }
.dp-principles .dp-kicker { margin-bottom:10px; }
.dp-principles article>div>p:last-child { font-size:17px; margin:0; }
.dp-references { padding:42px 0 20px; }
.dp-references h2 { font-size:30px; margin-bottom:14px; }
.dp-references ul { display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:23px 0 0; }
.dp-references li { flex:1 1 200px; }
.dp-references a { display:flex; justify-content:space-between; gap:22px; padding:15px 20px; background:var(--dp-pale); text-decoration:none; }
.dp-closing { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:38px; padding:45px 0; }
.dp-closing h2 { max-width:470px; margin-bottom:18px; }
.dp-closing .dp-note { margin:0; }
.dp-closing .dp-phone { display:inline-block; margin-top:15px; font-size:16px; }
.dp-gallery { padding:50px 0 15px; }
.dp-gallery>.dp-note { margin-top:25px; }
.dp-gallery-placeholder { background:var(--dp-pale); }
.dp-gallery-placeholder>div:first-child { max-width:760px; padding:38px 38px 15px; }
.dp-gallery-placeholder h2 { margin-bottom:20px; }
.dp-placeholder-pair { display:grid; grid-template-columns:1fr 1fr; gap:5px; padding:0 5px 5px; }
.dp-placeholder-pair>div { min-height:260px; padding:25px; background:#f7f5f7; display:flex; flex-direction:column; justify-content:space-between; }
.dp-placeholder-pair span { font:400 30px/1.3 DidotDisplay,Didot,Georgia,serif; }
.dp-placeholder-pair p { font-size:17px; margin:0; }
.dp-cases { display:grid; gap:32px; }
.dp-case>div { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
.dp-case img { height:auto; }
.dp-case figcaption { margin-top:15px; }
@media(max-width:1023px) { .dp { padding-top:var(--idn-mh,60px); } }
@media(max-width:767px) {
 .dp { font-size:17px; }
 .dp h1 { font-size:36px; line-height:1.25; }
 .dp h2 { font-size:32px; }
 .dp h3 { font-size:26px; }
 .dp-wrap { width:calc(100% - 40px); }
 .dp-photo-hero { height:510px; }
 .dp-photo-hero-consultation>img { object-position:65% top; }
 .dp-photo-hero-results>img { object-position:56% top; }
 .dp-hero-title { text-align:left; left:25px; right:25px; bottom:142px; }
 .dp-hero-title .dp-kicker { margin-bottom:14px; }
 .dp-hero-bottom { grid-template-columns:1fr; }
 .dp-hero-bottom>p { padding:10px 25px; font-size:15px; }
 .dp-intro { padding:34px 0; }
 .dp-intro h2 { margin-bottom:18px; }
 .dp-split,.dp-visit-flow,.dp-practical,.dp-faq,.dp-closing,.dp-section-heading { grid-template-columns:1fr; }
 .dp-split>figure,.dp-visit-flow>figure { min-height:0; height:300px; }
 .dp-split>div,.dp-visit-flow>div { padding:30px 25px; }
 .dp-split-copy-first>div { order:0; }
 .dp-steps { grid-template-columns:1fr; gap:25px; }
 .dp-steps li { display:grid; grid-template-columns:23px 1fr; gap:0 14px; }
 .dp-steps li>.dp-kicker { grid-row:1/3; padding-top:5px; }
 .dp-steps h3 { font-size:25px; }
 .dp-doctor-section { padding:35px 0; }
 .dp-section-heading { gap:18px; margin-bottom:25px; }
 .dp-doctors { grid-template-columns:1fr; gap:25px; }
 .dp-doctor-photo { height:330px; }
 .dp-doctor-copy { padding:23px; }
 .dp-doctor-copy h3 { font-size:30px; }
 .dp-fee-panel,.dp-policy-panel { padding:31px 25px; }
 .dp-fee-panel .dp-fee { font-size:66px; }
 .dp-practical+.dp-split { margin-top:28px; }
 .dp-faq { padding:35px 0; }
 .dp-faq .dp-section-heading { padding:0; }
 .dp summary { font-size:19px; }
 .dp-principles { grid-template-columns:1fr; padding-top:24px; gap:17px; }
 .dp-principles figure { height:285px; }
 .dp-principles article>div { padding:22px 25px 12px; }
 .dp-references { padding:30px 0 10px; }
 .dp-closing { padding:32px 0; gap:23px; }
 .dp-gallery { padding:30px 0 10px; }
 .dp-gallery-placeholder>div:first-child { padding:26px 23px 10px; }
 .dp-placeholder-pair>div { min-height:200px; padding:20px 15px; }
 .dp-placeholder-pair span { font-size:26px; }
 .dp-placeholder-pair p { font-size:15px; }
}
/* Dr. Fisher's pull-quote (tools/fisher-quotes.mjs pullQuote; drafts marked until she approves). */
.dp-quote { padding:24px 0 56px; }
.dp-quote .dr-pq { max-width:760px; margin:0 auto; padding:0 0 0 28px; border-left:3px solid var(--dp-lavender); }
.dp-quote blockquote { margin:0; padding:0; border:0; }
.dp-quote blockquote p { margin:0; font-family:DidotDisplay,Didot,Georgia,serif; font-size:clamp(24px,2.4vw,32px); line-height:1.3; }
.dp-quote figcaption { margin-top:14px; font-size:13px; letter-spacing:.14em; text-transform:uppercase; }
.dp-quote .dr-pq[data-draft]::after { content:"Draft, awaiting Dr. Fisher’s approval"; display:block; margin-top:10px; font-size:12px; color:#6b6b6b; }
.dp .dp-review { margin:0 auto; padding:8px 20px 48px; text-align:center; font-size:14px; line-height:1.5; color:#555; text-wrap:balance; }
.dp-review a { color: inherit; text-decoration: underline !important; text-underline-offset: 3px; } /* the WordPress theme forces a{text-decoration:none!important} */
