/* Four art directions share the same content and interaction state. */
.hero-portrait,.hero-woodland{display:none}
body{padding-bottom:96px}
.design-switcher{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:20;display:flex;align-items:center;gap:4px;padding:7px;background:#fff;color:#183d49;border:1px solid #d7e0de;border-radius:50px;box-shadow:0 8px 35px #071d3326;font-family:'DM Sans',Arial,sans-serif}
.design-switcher button{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border:0;border-radius:50%;background:#eff3f0;color:#183d49;font-size:1.5rem;line-height:1;transition:background .2s}
.design-switcher button:hover{background:#dce7e0}
.design-switcher button:focus-visible{outline:3px solid #8d4b34;outline-offset:2px}
.design-switcher #design-status{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:128px;line-height:1.45;padding-inline:8px}
.design-count{font-size:12px;letter-spacing:.08em;color:#586f76}
.design-switcher strong{font-size:15px;font-weight:600}
.service-tag{font-size:12px}

/* 02 — Terracotta: warm editorial design with Jen at the center. */
html[data-design=terracotta]{--ink:#58362c;--ink-deep:#42251e;--body:#715349;--muted:#775d53;--paper:#f7f1e8;--pale:#ebe0d4;--line:#d9c8b9;--accent:#9c4f3d}
[data-design=terracotta] .site-header{background:#f7f1e8f5}
[data-design=terracotta] .brand-name{font-size:1.85rem}
[data-design=terracotta] .button{background:#824633;border-color:#824633;border-radius:0;color:#fff}
[data-design=terracotta] .button:hover{background:#633123}
[data-design=terracotta] .button-light{background:#f7f1e8;border-color:#f7f1e8;color:#58362c}
[data-design=terracotta] .button-light:hover{background:#fff}
[data-design=terracotta] .hero{grid-template-columns:1fr 1.05fr;gap:90px;padding-block:70px 80px}
[data-design=terracotta] .hero-copy{grid-column:2;grid-row:1}
[data-design=terracotta] .hero h1{font-size:clamp(3.4rem,5.3vw,5rem)}
[data-design=terracotta] .hero h1 em{color:#a05e48}
[data-design=terracotta] .hero-image-wrap{grid-column:1;grid-row:1;height:620px;border-radius:48% 48% 0 0;background:#d7dfcf}
[data-design=terracotta] .hero-image{display:none}
[data-design=terracotta] .hero-portrait{display:block;width:100%;height:100%;object-fit:cover;object-position:53% 45%}
[data-design=terracotta] .hero-image-wrap:after,[data-design=terracotta] .hero-image-label{display:none}
[data-design=terracotta] .practice-strip{text-align:center;padding-block:30px}
[data-design=terracotta] .practice-strip p+p{border-left:1px solid var(--line)}
[data-design=terracotta] .section-intro{display:block;text-align:center;max-width:760px;margin:0 auto 58px}
[data-design=terracotta] .section-intro h2{margin-bottom:24px}
[data-design=terracotta] .section-intro>p:last-child{max-width:620px;margin-inline:auto}
[data-design=terracotta] .service-list{display:grid;grid-template-columns:1fr 1fr;gap:0 64px}
[data-design=terracotta] .service{grid-template-columns:36px 1fr;gap:16px;padding-block:35px;border-bottom:0}
[data-design=terracotta] .service-number{color:#9c4f3d;font-size:1.3rem}
[data-design=terracotta] .service-tag{grid-column:2;text-align:left;padding:0}
[data-design=terracotta] .about-grid{grid-template-columns:1.1fr .9fr;gap:100px}
[data-design=terracotta] .about-grid>div:first-child{grid-column:2;grid-row:1}
[data-design=terracotta] .about-copy{grid-column:1;grid-row:1}
[data-design=terracotta] .portrait-frame{border-radius:0;aspect-ratio:4/5;box-shadow:18px 18px 0 #d7c4b2}
[data-design=terracotta] .portrait-caption{margin-top:32px}
[data-design=terracotta] .process-intro{margin:auto;text-align:center}
[data-design=terracotta] .process-card{text-align:center;padding-top:30px}
[data-design=terracotta] .process-card p{margin-inline:auto}
[data-design=terracotta] .insurance-section{background:#eee3d7}
[data-design=terracotta] .insurance-item{border-color:var(--line)}
[data-design=terracotta] .faq-layout{display:block}
[data-design=terracotta] .faq-intro{position:static;text-align:center;margin-bottom:50px}
[data-design=terracotta] .faq-intro>p:not(.eyebrow){max-width:500px;margin-inline:auto}
[data-design=terracotta] .faq-layout>.faq-intro+div{display:grid;grid-template-columns:1fr 1fr;gap:60px}
[data-design=terracotta] .faq-group+.faq-group{margin-top:0}
[data-design=terracotta] summary:after{color:#9c4f3d}
[data-design=terracotta] .writing-section{background:#eee7dc}
[data-design=terracotta] .writing-card{border-color:var(--line)}
[data-design=terracotta] .contact-section{background:#58362c}
[data-design=terracotta] .contact-section p,[data-design=terracotta] .contact-location{color:#eadfd6}
[data-design=terracotta] .contact-section .eyebrow,[data-design=terracotta] .contact-section h2 em{color:#e3baa5}
[data-design=terracotta] .contact-details,[data-design=terracotta] .contact-profile{border-color:#9e7b69}
[data-design=terracotta] .booking-aside{background:#eee3d7}

/* 03 — Clarity: bold sans-serif type, a panoramic hero, and modular cards. */
html[data-design=clarity]{--ink:#162c64;--ink-deep:#10214d;--body:#485a7c;--muted:#546584;--paper:#f4f7fb;--pale:#e6ecfa;--line:#cdd7ec;--accent:#345bb1;--serif:'DM Sans',Arial,sans-serif;--max:1160px}
[data-design=clarity] .site-header{background:#f4f7fbf5}
[data-design=clarity] .brand-name{font-weight:700;letter-spacing:-.055em}
[data-design=clarity] h1,[data-design=clarity] h2,[data-design=clarity] h3{font-weight:600}
[data-design=clarity] h1 em,[data-design=clarity] h2 em{font-style:normal;font-weight:600}
[data-design=clarity] .button{background:#294fa5;border-color:#294fa5;border-radius:50px;color:white}
[data-design=clarity] .button:hover{background:#183c89}
[data-design=clarity] .button-light{background:#fff;border-color:#fff;color:#162c64}
[data-design=clarity] .button-light:hover{background:#e6ecfa}
[data-design=clarity] .hero{display:flex;flex-direction:column;gap:44px;padding-block:65px 35px;text-align:center}
[data-design=clarity] .hero-copy{max-width:100%;padding:0}
[data-design=clarity] .hero .eyebrow{display:inline-block;background:#e3eafa;border-radius:30px;padding:9px 18px;color:#294fa5;margin-bottom:22px}
[data-design=clarity] .hero h1{font-size:clamp(3.6rem,6.6vw,6rem);letter-spacing:-.065em;margin-bottom:22px}
[data-design=clarity] .hero h1 br:first-of-type{display:none}
[data-design=clarity] .hero h1 em{color:#4368bf}
[data-design=clarity] .hero-description{max-width:600px;margin-inline:auto;font-size:1.125rem;line-height:1.7}
[data-design=clarity] .hero-actions,[data-design=clarity] .location-line{justify-content:center;flex-direction:row}
[data-design=clarity] .hero-image-wrap{width:100%;height:235px;border-radius:16px}
[data-design=clarity] .hero-image{object-position:center 53%}
[data-design=clarity] .hero-image-label{align-items:center;bottom:23px}
[data-design=clarity] .hero-image-label span:last-child{display:none}
[data-design=clarity] .practice-strip{border:0;background:#e6ecfa;border-radius:16px;padding:28px;text-align:center}
[data-design=clarity] .practice-strip strong{font-weight:700}
[data-design=clarity] .section-intro{gap:22px 70px}
[data-design=clarity] .section-intro h2{font-size:clamp(2.6rem,4vw,3.6rem)}
[data-design=clarity] .service-list{display:grid;grid-template-columns:1fr 1fr;gap:22px}
[data-design=clarity] .service{display:flex;flex-direction:column;align-items:flex-start;gap:20px;border:1px solid #dae2f1;border-radius:16px;background:#fff;padding:32px}
[data-design=clarity] .service-number{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#e6ecfa;color:#294fa5;font-family:var(--sans);font-size:1rem;font-weight:700;padding:0}
[data-design=clarity] .service h3{font-size:1.6rem}
[data-design=clarity] .service-tag{padding:0;margin-top:auto;text-align:left;font-size:12px;color:#546584}
[data-design=clarity] .about-section{background:#e6ecfa}
[data-design=clarity] .portrait-frame{border-radius:16px;aspect-ratio:1}
[data-design=clarity] .about-copy h2{font-size:3.2rem}
[data-design=clarity] .signature{font-style:normal;font-weight:600}
[data-design=clarity] .process-grid{gap:22px}
[data-design=clarity] .process-card{background:#e6ecfa;border:0;border-radius:16px;padding:28px}
[data-design=clarity] .process-step{font-weight:700;color:#294fa5}
[data-design=clarity] .process-card h3{font-size:1.5rem}
[data-design=clarity] .insurance-section{background:white}
[data-design=clarity] .insurance-info{border:1px solid var(--line);border-radius:16px;padding:28px;background:#f4f7fb}
[data-design=clarity] .insurance-item:last-child{border:0;padding:0}
[data-design=clarity] .fee{font-weight:600}
[data-design=clarity] .faq-group details{border:1px solid #dae2f1;border-radius:10px;background:#fff;margin-bottom:10px;padding-inline:22px}
[data-design=clarity] .faq-group summary{font-weight:600}
[data-design=clarity] summary:after{color:#4368bf}
[data-design=clarity] .writing-section{background:#e6ecfa}
[data-design=clarity] .writing-grid{gap:22px}
[data-design=clarity] .writing-card{background:white;padding:28px;border:0;border-radius:16px}
[data-design=clarity] .contact-section{background:#162c64}
[data-design=clarity] .contact-section .eyebrow,[data-design=clarity] .contact-section h2 em{color:#b4caff}
[data-design=clarity] .contact-section p,[data-design=clarity] .contact-location{color:#dbe5fb}
[data-design=clarity] .contact-details,[data-design=clarity] .contact-profile{border-color:#6178ab}
[data-design=clarity] .booking-aside{background:#e6ecfa}

/* 04 — Woodland: an immersive forest scene and intimate, deep green sections. */
html[data-design=woodland]{--ink:#f1f3e9;--ink-deep:#fff;--body:#c5d0c3;--muted:#b0c2b7;--paper:#152d25;--pale:#203c30;--line:#425b4d;--accent:#d6ddbd}
[data-design=woodland] ::selection{background:#cee1db;color:#152d25}
[data-design=woodland] .site-header{background:#152d25f5}
[data-design=woodland] .button{background:#e1e8cf;color:#183628;border-color:#e1e8cf;border-radius:2px}
[data-design=woodland] .button:hover{background:#fff;border-color:#fff}
[data-design=woodland] .hero{position:relative;isolation:isolate;display:flex;align-items:center;width:100%;max-width:none;min-height:740px;min-height:min(820px,calc(100svh - 104px));padding:88px max(48px,calc((100vw - 1240px)/2));margin:0}
[data-design=woodland] .hero-copy{position:relative;z-index:2;max-width:650px;padding:0}
[data-design=woodland] .hero h1{font-size:clamp(3.7rem,6.6vw,6rem);text-shadow:0 2px 35px #0005}
[data-design=woodland] .hero h1 em{color:#d3e1ba}
[data-design=woodland] .hero-description{color:#edf0e7;max-width:460px}
[data-design=woodland] .hero .eyebrow,[data-design=woodland] .location-line{color:#e2eadb}
[data-design=woodland] .hero-image-wrap{position:absolute;z-index:0;inset:0;width:100%;height:100%;border-radius:0}
[data-design=woodland] .hero-image{display:none}
[data-design=woodland] .hero-woodland{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
[data-design=woodland] .hero-image-wrap:after{inset:0;background:linear-gradient(90deg,rgba(8,27,19,.89) 0%,rgba(8,27,19,.77) 42%,rgba(8,27,19,.18) 100%),linear-gradient(0deg,#152d2566,transparent 35%)}
[data-design=woodland] .hero-image-label{left:auto;right:48px;bottom:38px;align-items:flex-end}
[data-design=woodland] .hero-image-label span:first-child{display:none}
[data-design=woodland] .hero-image-label span:last-child{font-size:1.1rem}
[data-design=woodland] .practice-strip{padding-block:34px;border-top:0}
[data-design=woodland] .service-number,[data-design=woodland] summary:after{color:#c2d0a7}
[data-design=woodland] .about-section{--ink:#213b2d;--ink-deep:#152d25;--body:#50634e;--muted:#5a6c56;--line:#ccd5c1;--accent:#416445;background:#e8eddf}
[data-design=woodland] .portrait-frame{border-radius:50% 50% 4px 4px;aspect-ratio:4/4.8}
[data-design=woodland] .process-grid{gap:55px}
[data-design=woodland] .process-card{border-top-color:#6c826c}
[data-design=woodland] .insurance-section{background:#203c30}
[data-design=woodland] .insurance-item{border-color:#4c6352}
[data-design=woodland] .writing-section{background:#203c30}
[data-design=woodland] .writing-card{border-color:#4c6352}
[data-design=woodland] .contact-section{--ink:#213b2d;--body:#50634e;background:#e8eddf;color:#213b2d}
[data-design=woodland] .contact-section p,[data-design=woodland] .contact-location,[data-design=woodland] .contact-section .eyebrow{color:#50634e}
[data-design=woodland] .contact-section h2 em,[data-design=woodland] .contact-location strong{color:#416445}
[data-design=woodland] .contact-details,[data-design=woodland] .contact-profile{border-color:#a5b49c}
[data-design=woodland] .contact-section .button{background:#213b2d;color:#fff;border-color:#213b2d}
[data-design=woodland] .contact-section .button:hover{background:#35543e}
[data-design=woodland] .skip-link{background:#e1e8cf;color:#183628}
/* Keep the preview's text, controls, and white inputs readable in dark mode. */
[data-design=woodland] #booking-dialog{--ink:#213b2d;--ink-deep:#152d25;--body:#50634e;--muted:#5a6c56;--paper:#fafbf7;--pale:#e8eddf;--line:#ccd5c1;--accent:#416445}
[data-design=woodland] #booking-dialog .button{background:#213b2d;color:white;border-color:#213b2d}
[data-design=woodland] #booking-dialog .button:hover{background:#35543e}

@media(max-width:1150px){
  [data-design=terracotta] .hero{gap:45px}
  [data-design=terracotta] .hero-image-wrap{height:560px}
  [data-design=terracotta] .about-grid{gap:60px}
  [data-design=terracotta] .service-list{gap:0 35px}
  [data-design=woodland] .hero{padding-inline:32px}
  [data-design=woodland] .hero-image-label{right:32px}
}
@media(max-width:900px){
  [data-design=terracotta] .hero{gap:30px}
  [data-design=terracotta] .hero h1{font-size:3.35rem}
  [data-design=terracotta] .hero-image-wrap{height:540px}
  [data-design=terracotta] .about-grid{gap:40px}
  [data-design=terracotta] .faq-layout>.faq-intro+div{gap:32px}
  [data-design=clarity] .hero h1{font-size:4rem}
  [data-design=clarity] .service{padding:26px}
  [data-design=clarity] .process-card{padding:22px}
  [data-design=woodland] .hero{min-height:720px}
  [data-design=woodland] .hero h1{font-size:4.6rem}
  [data-design=woodland] .hero-image-label{display:none}
}
@media(max-width:760px){
  .design-switcher{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));padding:6px}
  .design-switcher button{width:44px;height:44px}
  .design-switcher #design-status{min-width:118px}
  [data-design=terracotta] .hero{display:flex;flex-direction:column;gap:30px;padding-block:34px 40px}
  [data-design=terracotta] .hero-copy{order:1}
  [data-design=terracotta] .hero h1{font-size:clamp(3.05rem,9.5vw,4.4rem)}
  [data-design=terracotta] .hero-image-wrap{order:2;width:min(100%,460px);height:auto;aspect-ratio:1/1.12;border-radius:48% 48% 0 0}
  [data-design=terracotta] .practice-strip{text-align:left}
  [data-design=terracotta] .practice-strip p+p{border:0}
  [data-design=terracotta] .section-intro{margin-bottom:32px;text-align:left}
  [data-design=terracotta] .section-intro>p:last-child{margin:0}
  [data-design=terracotta] .service-list{grid-template-columns:1fr}
  [data-design=terracotta] .service{grid-template-columns:26px 1fr;gap:15px;padding-block:28px}
  [data-design=terracotta] .about-grid{display:flex;flex-direction:column-reverse;gap:35px}
  [data-design=terracotta] .about-grid>div:first-child{width:100%;padding-right:12px}
  [data-design=terracotta] .portrait-frame{aspect-ratio:1.1;box-shadow:12px 12px 0 #d7c4b2}
  [data-design=terracotta] .process-intro,[data-design=terracotta] .process-card{text-align:left}
  [data-design=terracotta] .process-card p{margin-inline:0}
  [data-design=terracotta] .faq-intro{text-align:left;margin-bottom:36px}
  [data-design=terracotta] .faq-intro>p:not(.eyebrow){margin-inline:0}
  [data-design=terracotta] .faq-layout>.faq-intro+div{grid-template-columns:1fr;gap:35px}
  [data-design=clarity] .hero{padding-top:38px;gap:28px}
  [data-design=clarity] .hero h1{font-size:clamp(2.65rem,8.8vw,4rem)}
  [data-design=clarity] .hero .eyebrow{padding:8px 12px;letter-spacing:.09em}
  [data-design=clarity] .hero-description{font-size:1rem}
  [data-design=clarity] .hero-image-wrap{height:190px;border-radius:12px}
  [data-design=clarity] .practice-strip{padding:22px 16px;gap:20px 10px}
  [data-design=clarity] .service-list{grid-template-columns:1fr;gap:16px}
  [data-design=clarity] .service{padding:25px;gap:18px}
  [data-design=clarity] .service h3{font-size:1.5rem}
  [data-design=clarity] .about-copy h2{font-size:2.7rem}
  [data-design=clarity] .process-grid{gap:16px}
  [data-design=clarity] .process-card{grid-template-columns:40px 1fr;padding:24px 20px}
  [data-design=clarity] .insurance-info{padding:22px}
  [data-design=clarity] .faq-group details{padding-inline:18px}
  [data-design=clarity] .writing-card{padding:24px}
  [data-design=woodland] .hero{min-height:700px;padding:60px 20px 66px;align-items:center}
  [data-design=woodland] .hero h1{font-size:clamp(3.3rem,10.5vw,4.6rem)}
  [data-design=woodland] .hero-copy{max-width:100%}
  [data-design=woodland] .hero-image-wrap:after{background:linear-gradient(90deg,#081b13e6,#081b1399),linear-gradient(0deg,#152d25aa,transparent)}
  [data-design=woodland] .hero-woodland{object-position:60% center}
  [data-design=woodland] .practice-strip{padding-block:28px}
  [data-design=woodland] .portrait-frame{aspect-ratio:1.05}
  [data-design=woodland] .process-grid{gap:16px}
}

/* The full name stays legible beside the mobile menu in every design. */
@media(max-width:900px){[data-design=terracotta] .brand-name{font-size:1.5rem}}
@media(max-width:760px){.brand-name,[data-design=terracotta] .brand-name{font-size:clamp(1rem,4.1vw,1.5rem)}.header-inner{gap:12px}.credential{font-size:.75rem;margin-left:5px}}
