@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');
:root{--navy:#243b53;--slate:#61788c;--pale:#e9eef1;--gold:#b29b73;--ink:#253b4d;--paper:#fbfaf7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.wrap{max-width:1170px;padding:0 34px;margin:auto}.site-header{background:#fff;border-bottom:1px solid #e9ebed}.nav{height:94px;display:flex;align-items:center;gap:35px}.brand{display:flex;align-items:center;gap:15px;margin-right:auto}.brand img{width:66px}.brand strong{font-family:'Libre Baskerville',Georgia,serif;font-size:15px;display:block}.brand small,.footer-brand small{font-size:9px;letter-spacing:2.3px;color:var(--slate);font-weight:700}.nav nav{display:flex;gap:28px;font-size:12px;font-weight:600}.nav-cta{font-size:12px;font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:5px}.hero{background:linear-gradient(120deg,#f7f7f4,#e9eff2);overflow:hidden}.hero-grid{min-height:600px;display:grid;grid-template-columns:1.2fr 0.8fr;align-items:center;gap:40px}.eyebrow,.section-label{font-size:10px;letter-spacing:2.5px;font-weight:700;color:var(--slate)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:8px;vertical-align:middle}h1,h2,h3{font-family:'Libre Baskerville',Georgia,serif;font-weight:400;line-height:1.35}h1{font-size:clamp(36px,4.4vw,58px);letter-spacing:-1.8px;margin:24px 0}h1 em{color:#687e90;font-weight:400}h2{font-size:clamp(27px,3vw,37px);letter-spacing:-.8px;margin:12px 0 22px}.lead{font-size:16px;max-width:580px;color:#526779}.actions{display:flex;align-items:center;gap:25px;margin-top:34px}.button{font-size:12px;font-weight:700}.primary{background:var(--navy);color:#fff;padding:15px 20px}.quiet{color:var(--navy)}.hero-foot{display:flex;align-items:center;gap:17px;margin-top:70px;font-size:11px;color:#718394}.separator{width:22px;height:1px;background:var(--gold)}.hero-art{height:430px;position:relative}.art-circle{position:absolute;border:2px solid;border-radius:50%;width:255px;height:255px;top:30px}.one{border-color:#334c62;left:0}.two{border-color:#698195;left:95px}.three{border-color:#aebec9;left:190px}.art-note{position:absolute;bottom:0;left:55px;background:#fff;padding:25px 34px;box-shadow:0 20px 50px #263b4d14}.art-note span{font-size:9px;letter-spacing:2px;color:var(--gold);font-weight:700}.art-note p{font-family:'Libre Baskerville',Georgia,serif;font-size:18px;line-height:1.5;margin:10px 0 0}.intro{display:grid;grid-template-columns:1fr 2fr;gap:45px;padding-top:100px;padding-bottom:100px}.intro p,.approach p{color:#61717f;max-width:690px}.muted{font-size:12px!important;margin-top:28px}.services-band{background:#edf1f3;padding:90px 0 105px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px}.section-heading>p{max-width:300px;font-size:13px;color:#6c7c88}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;padding:35px 29px;min-height:240px;border-top:3px solid #b49d78}.card-no{font-size:11px;color:var(--gold);font-weight:700}.card h3{font-size:20px;margin:25px 0 12px}.card p{font-size:13px;color:#657685}.approach{display:grid;grid-template-columns:1fr 1.35fr;gap:90px;align-items:center;padding-top:110px;padding-bottom:110px}.approach-mark{background:#f0f2f3;padding:65px 35px}.approach-mark img{width:100%;mix-blend-mode:multiply}.text-link{font-size:13px;font-weight:700;color:var(--navy);border-bottom:1px solid var(--gold);padding-bottom:7px;display:inline-block;margin-top:16px}.appointment-band{background:var(--navy);color:#fff;padding:90px 0}.appointment-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:center}.appointment-band p{color:#cbd6de}.light{color:#d2bb90!important}.fine{font-size:11px;margin-top:30px}.contact-card{background:#fff;color:var(--ink);padding:35px}.contact-card h3{font-size:24px}.contact-card p{font-size:13px;color:#697985}.placeholder{background:#edf1f3;color:#697985;text-align:center;padding:14px;font-size:12px;font-weight:700;margin:22px 0}.contact-card small{font-size:11px;color:#84929b}footer{background:#fff}.footer-row{display:flex;align-items:center;justify-content:space-between;padding-top:35px;padding-bottom:35px}.footer-brand{display:flex;align-items:center;gap:13px;font-family:Georgia,serif;font-size:13px}.footer-brand img{width:55px}.footer-row>p{font-size:11px;color:#7c8a94}@media(max-width:850px){.nav nav{display:none}.hero-grid,.intro,.approach,.appointment-grid{grid-template-columns:1fr}.hero-grid{padding-top:65px;padding-bottom:60px}.hero-art{height:350px;max-width:450px}.hero-foot{margin-top:35px}.cards{grid-template-columns:1fr}.approach{gap:35px}.section-heading{display:block}.nav-cta{display:none}}@media(max-width:480px){.wrap{padding-left:22px;padding-right:22px}.brand strong{font-size:12px}.brand img{width:52px}.brand small{font-size:7px}.hero-art{transform:scale(.75);transform-origin:top left;height:290px}.actions{flex-direction:column;align-items:flex-start}.hero-foot{display:block}.separator{display:none}.footer-row{display:block}.footer-row>p{margin-top:25px}}

.education{margin:1.1rem 0;padding:1rem 1.2rem;border-left:3px solid #b5a177;background:#f6f7f8;line-height:1.7}

/* About and personal-history additions */
.brand small{letter-spacing:1.1px;font-size:8px}.nav-subtle{color:#768999}.bio-section{padding-top:92px;padding-bottom:96px}.bio-layout{display:grid;grid-template-columns:minmax(220px,330px) minmax(0,1fr);gap:60px;align-items:start}.portrait-frame{background:#e6e8e6;padding:11px 11px 17px;box-shadow:0 15px 35px rgba(30,51,70,.10)}.portrait-frame img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 31%;display:block}.portrait-frame span{display:block;margin:13px 8px 0;font-size:11px;letter-spacing:.8px;color:#637588}.bio-copy p{margin:0 0 17px;color:#475e70;font-size:14px;line-height:1.85}.bio-affiliations{padding-top:8px;border-top:1px solid #dde4e8}.discreet-link{display:inline-block;margin-top:10px;font-size:12px}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card{min-width:0}.history-hero{background:linear-gradient(120deg,#f7f7f4,#e9eff2);padding:88px 0 85px}.history-hero h1{margin:20px 0}.history-content{padding-top:62px;padding-bottom:95px}.history-content>p{max-width:850px;color:#4e6474}.book-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:46px 0}.book{display:grid;grid-template-columns:140px 1fr;gap:24px;align-items:start;padding:28px;background:#fff;border:1px solid #e6eaed}.book-cover{height:205px;background:#e2e6e8;position:relative;display:flex;align-items:center;justify-content:center;text-align:center}.book-cover img{position:absolute;width:100%;height:100%;object-fit:cover;z-index:1}.book-cover span{font-size:10px;letter-spacing:2px;color:#536a7b;padding:10px}.book h2{font-size:21px;margin:0 0 12px}.book p{font-size:13px;color:#5b6c78}.history-close{border-top:1px solid #dfe5e9;padding-top:34px}.history-close p{max-width:750px;margin-bottom:25px;color:#4e6474}@media(max-width:900px){.bio-layout{grid-template-columns:1fr;gap:28px}.portrait-frame{max-width:350px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.book-grid{grid-template-columns:1fr}.nav-subtle{display:none}}@media(max-width:600px){.book{grid-template-columns:100px 1fr;gap:16px;padding:15px}.book-cover{height:150px}.book h2{font-size:18px}.cards{grid-template-columns:1fr}.bio-section{padding-top:52px}.brand small{letter-spacing:.5px;font-size:7px}}

/* Refined homepage and separate About page */
.home-intro{padding:76px 0 88px}.home-intro-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:7%;align-items:center}.home-intro h2{max-width:680px}.home-intro p{line-height:1.85;max-width:690px}.home-quote{background:#eef2f3;padding:45px 38px;border-left:3px solid #bc9a65}.home-quote span{font-size:10px;letter-spacing:.16em;color:#657984}.home-quote p{font:italic 29px Georgia,serif;color:#243e50;line-height:1.3}.subhero{background:linear-gradient(110deg,#e8eff1,#f9f7f1);padding:66px 0 55px}.subhero h1{font:normal clamp(38px,5vw,62px) Georgia,serif;color:#213b4c;margin:15px 0}.subhero p{color:#526775}.about-page-bio{padding-top:65px}.seasons{padding:35px 0 90px}.seasons>p{max-width:780px;line-height:1.75}.season-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.season-grid figure{margin:0;background:#f4f6f5;overflow:hidden;border-radius:5px}.season-grid img{width:100%;height:245px;object-fit:cover;display:block}.season-grid figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;color:#314b5a}.season-grid figcaption strong{font:21px Georgia,serif}.season-grid figcaption span{font-size:12px;color:#637883}.image-disclosure{font-size:11px;color:#73828a;margin-top:14px}@media(max-width:800px){.home-intro-grid,.season-grid{grid-template-columns:1fr}.season-grid img{height:260px}.home-quote{padding:28px}}

/* Contact page */
.contact-content{padding-top:65px;padding-bottom:90px}.contact-two{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}.contact-two h2{font-size:clamp(2rem,3vw,2.7rem);margin:14px 0 22px}.contact-two p{line-height:1.75}.privacy-box{background:#eef2f3;border:1px solid #d9e1e5;padding:32px;border-radius:8px}.contact-callout{margin-top:25px;padding:18px 20px;border-left:3px solid #b69b67;background:#f5f4f0;line-height:1.6}.small-note{font-size:.86rem;border-top:1px solid #d6dfe2;padding-top:16px;margin-top:25px}@media(max-width:760px){.contact-two{grid-template-columns:1fr;gap:24px}.privacy-box{padding:22px}}

/* Welcoming inquiry form */
.friendly-contact{grid-template-columns:.9fr 1.1fr;gap:65px}.contact-intro>p{color:#526775}.inquiry-card{background:#fff;border:1px solid #e2e8eb;border-top:4px solid #b29b73;padding:36px 40px;box-shadow:0 18px 45px #263b4d0b}.inquiry-card h2{margin-bottom:10px}.form-intro{font-size:13px;color:#617586}.inquiry-card form{display:grid;gap:8px;margin-top:23px}.inquiry-card label{font-size:12px;font-weight:700;color:#304c60;margin-top:10px}.inquiry-card input,.inquiry-card select{font:inherit;font-size:14px;color:#2b4353;padding:12px 13px;width:100%;border:1px solid #cbd6db;border-radius:4px;background:#fff}.inquiry-card input:focus,.inquiry-card select:focus{outline:2px solid #aebfc9;outline-offset:2px}.form-submit{border:0;background:#243b53;color:#fff;font:700 13px 'DM Sans',sans-serif;padding:15px;margin-top:18px;text-align:center;cursor:pointer}.form-submit:disabled{opacity:.58;cursor:not-allowed}.form-status{font-size:11px!important;color:#657987;line-height:1.5!important;margin:5px 0 0}.contact-fineprint{margin-top:55px;border-top:1px solid #dfe5e8;padding-top:18px;color:#7b8991}.contact-fineprint p{font-size:10px;line-height:1.6;max-width:950px}@media(max-width:800px){.friendly-contact{grid-template-columns:1fr;gap:25px}.inquiry-card{padding:25px}}

/* Dedicated interior pages */
.page-heading{padding:78px 0 40px}.page-heading h1{font-size:clamp(2.5rem,5vw,4.5rem);max-width:780px;line-height:1.12}.page-heading .lead{max-width:760px}.page-extra{padding:55px 0 95px;max-width:950px}.page-extra p{line-height:1.85}.page-extra h2{font-size:2rem}.home-links{padding:48px 0 90px}.home-links>p{max-width:680px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.quick-grid a{display:flex;flex-direction:column;gap:13px;padding:27px;border:1px solid #dce4e8;background:#f7f9f9;text-decoration:none;color:#294459}.quick-grid a strong{font-size:18px}.quick-grid a span{font-size:13px;color:#526b7b}.quick-grid a:hover{border-color:#b49c72}.site-header nav{display:flex;gap:15px;flex-wrap:wrap}@media(max-width:850px){.quick-grid{grid-template-columns:1fr}.page-heading{padding:48px 0 25px}}

/* Editorial About page: alternating scenes integrated with biography */
.about-editorial{padding-top:3.2rem;padding-bottom:4rem}.editorial-row{display:grid;grid-template-columns: minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,5rem);align-items:center;margin:0 0 5rem}.editorial-row.image-right{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.editorial-text{max-width:600px}.editorial-text h2{font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.15;margin:.7rem 0 1.2rem}.editorial-text p:not(.section-label){line-height:1.8;margin-bottom:1.05rem}.editorial-image{margin:0;min-width:0}.editorial-image img{display:block;width:100%;height:clamp(290px,33vw,440px);object-fit:cover;border-radius:10px}.editorial-image.scenic img{box-shadow:0 14px 32px rgba(24,45,63,.12)}.editorial-image figcaption{font-size:.85rem;letter-spacing:.03em;color:#61717b;margin-top:.7rem}.portrait-row .portrait-frame img{height:440px;object-position:center 34%}.art-disclaimer{font-size:.76rem;color:#65727b;border-top:1px solid #d8e0e3;padding-top:1rem}.about-hero{padding-bottom:3.5rem}@media(max-width:760px){.editorial-row,.editorial-row.image-right{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:3.5rem}.editorial-row.image-right .editorial-image{order:-1}.editorial-image{width:100%}.editorial-image img,.portrait-row .portrait-frame img{height:310px}.about-editorial{padding-top:2rem}}

/* Homepage and appointment refinements */
.home-welcome{padding:75px 0 90px;max-width:900px}.home-welcome h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:12px 0 18px}.home-welcome>p:not(.section-label){font-size:1.1rem;line-height:1.85}.home-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:30px}.home-links a,.direct-email a,.headway-contact a{color:#264f6b;text-decoration:underline;text-underline-offset:4px}.direct-email{margin-top:18px}.headway-contact{text-align:center;margin:32px auto 55px}.nav-cta{white-space:nowrap}@media(max-width:850px){.home-welcome{padding:48px 22px}}

/* Final contact, appointment and professional organization refinements */
.booking-note{font-size:.86rem;line-height:1.55;color:#65717b;margin:1rem 0 0;max-width:42rem}
.wrap.booking-note{margin:1.3rem auto}
.affiliation-panel{margin-top:1.5rem;padding:1.4rem 1.7rem;background:#f5f7f7;border-left:3px solid #b4a178;border-radius:8px}
.affiliation-panel h3{margin:0 0 .8rem;font-size:1.1rem}
.affiliation-list{list-style:none;padding:0;margin:0;display:grid;gap:.65rem}
.affiliation-list li{padding-left:1.2rem;position:relative}
.affiliation-list li:before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:#b4a178}
.book-image-link{display:block}
.book-image-link img{display:block;width:100%;height:auto;min-height:210px;object-fit:contain}

/* Book cover display: override legacy absolute positioning and cropping. */
.book-grid .book{grid-template-columns:180px minmax(0,1fr);align-items:center;gap:28px}
.book-grid .book-cover{height:auto;min-height:270px;padding:16px 10px;display:flex;align-items:center;justify-content:center;background:#f4f2ee;border-radius:6px;position:relative}
.book-grid .book-image-link{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:static}
.book-grid .book-cover img{position:static !important;display:block;width:auto !important;max-width:100%;height:auto !important;max-height:260px;min-height:0 !important;object-fit:contain !important;margin:auto;box-shadow:0 7px 17px rgba(30,45,55,.16)}
@media(max-width:600px){.book-grid .book{grid-template-columns:110px minmax(0,1fr);gap:15px}.book-grid .book-cover{min-height:190px;padding:10px 5px}.book-grid .book-cover img{max-height:175px}}

/* Nature-inspired, editorial About Me page */
.about-nature-hero{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(247,249,246,.96),rgba(247,249,246,.84)),url("assets/long-island-summer-illustration.jpg") center 48%/cover no-repeat}
.about-story{padding-top:52px;padding-bottom:84px}
.about-opening{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);gap:clamp(28px,5vw,80px);align-items:center;margin-bottom:65px}
.about-opening .portrait-frame{max-width:440px}
.about-opening-copy h2,.story-copy h2{font-size:clamp(1.75rem,3vw,2.7rem);line-height:1.18;margin:12px 0 22px}
.about-opening-copy p,.story-copy p{line-height:1.85}
.story-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(25px,5vw,80px);align-items:center;padding:40px 0;border-top:1px solid rgba(36,58,72,.11)}
.story-row-reverse .story-landscape{order:2}
.story-row-reverse .story-copy{order:1}
.story-landscape{margin:0;position:relative;overflow:hidden;border-radius:14px;box-shadow:0 16px 35px rgba(28,50,61,.12);background:#edf0eb}
.story-landscape img{display:block;width:100%;height:clamp(260px,30vw,395px);object-fit:cover}
.story-landscape figcaption{position:absolute;left:16px;bottom:16px;background:rgba(250,250,247,.9);padding:9px 16px;border-radius:30px;font-size:.8rem;letter-spacing:.04em;color:#3e5761}
.story-copy{max-width:570px}
.story-copy .affiliation-list{margin:22px 0;padding:0}
.story-copy .image-disclosure{font-size:.76rem;color:#69767b;margin-top:24px}
@media(max-width:760px){.about-opening,.story-row{grid-template-columns:1fr}.about-opening .portrait-frame{max-width:380px}.story-row-reverse .story-landscape,.story-row-reverse .story-copy{order:initial}.story-landscape img{height:290px}.about-story{padding-top:35px}}

/* Compact editorial press feature below books */
.press-section{margin:55px 0 35px;padding-top:30px;border-top:1px solid rgba(40,65,75,.15)}
.press-section>h2{font-size:clamp(1.5rem,2.5vw,2.1rem);margin:10px 0 25px}
.press-feature{display:grid;grid-template-columns:180px minmax(0,1fr);gap:30px;align-items:center;padding:24px;background:#f4f6f3;border-radius:13px;border:1px solid rgba(50,70,65,.08)}
.press-image{display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:8px;max-height:220px;background:#e5e9e6}
.press-image img{width:100%;height:220px;object-fit:cover;object-position:center 25%;display:block}
.press-source{font-size:.8rem;letter-spacing:.055em;text-transform:uppercase;color:#68767c;margin:0 0 9px}
.press-copy h3{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.3;margin:0 0 10px}
.press-copy p:not(.press-source){margin:0 0 20px;line-height:1.65}
@media(max-width:600px){.press-feature{grid-template-columns:105px minmax(0,1fr);gap:16px;padding:15px}.press-image img{height:170px}.press-copy .button{font-size:.8rem;padding:10px 12px}}

.press-image img{width:100%;height:100%;max-height:330px;object-fit:cover;object-position:center 35%;display:block;border-radius:10px}

/* Header typography only: no duplicate homepage brand lockup */
.site-header .brand strong{font-size:clamp(18px,1.45vw,21px);line-height:1.35;font-weight:700}
.site-header .brand small{font-size:clamp(10px,.86vw,12px);letter-spacing:.085em;line-height:1.4;display:block;margin-top:4px}
@media(max-width:1100px){.site-header .brand strong{font-size:18px}.site-header .brand small{font-size:10px}}
@media(max-width:760px){.site-header .brand strong{font-size:17px}.site-header .brand small{font-size:9px;letter-spacing:.045em}}

/* Two-row desktop navigation preserves a single-line practice name. */
@media (min-width: 851px) {
  .site-header .nav {height:auto;min-height:112px;gap:24px;}
  .site-header .brand {flex:0 0 auto;margin-right:auto;min-width:0;}
  .site-header .brand strong {white-space:nowrap;}
  .site-header .brand small {white-space:nowrap;}
  .site-header nav {display:grid;grid-template-columns:repeat(3,max-content);grid-auto-rows:auto;gap:9px 18px;justify-content:end;align-items:center;flex-wrap:initial;}
  .site-header nav a {white-space:nowrap;}
  .site-header .nav-cta {white-space:nowrap;flex-shrink:0;}
}
@media (min-width:851px) and (max-width:1180px) {
  .site-header .nav {gap:14px;}
  .site-header .brand img {width:53px;}
  .site-header .brand {gap:10px;}
  .site-header .brand strong {font-size:16px;}
  .site-header .brand small {font-size:8px;letter-spacing:.04em;}
  .site-header nav {gap:8px 12px;font-size:11px;}
}
@media (max-width:850px) {
  .site-header .brand strong {white-space:nowrap;}
  .site-header .brand small {letter-spacing:0;font-size:clamp(7px,1.45vw,9px);}
}
@media (max-width:480px) {
  .site-header .brand strong {font-size:clamp(11px,3vw,15px);}
  .site-header .brand img {width:42px;}
  .site-header .brand {gap:8px;}
}

/* October 2026: cohesive spacing, readability and responsive polish */
:root{--space-1:8px;--space-2:16px;--space-3:24px;--space-4:36px;--space-5:56px;--space-6:80px}
html{scroll-padding-top:24px}
body{line-height:1.72;-webkit-font-smoothing:antialiased}
main{min-width:0}
main p{margin-top:0;margin-bottom:1.15em}
main p:last-child{margin-bottom:0}
main h1,main h2,main h3{overflow-wrap:break-word}
main h2{margin-top:0;margin-bottom:22px}
main h3{margin-top:0;margin-bottom:14px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b29b73;outline-offset:4px}
.site-header .nav{padding-top:19px;padding-bottom:19px}
.site-header nav a{padding:5px 2px;line-height:1.4}
.site-header nav a[aria-current="page"]{color:#244b65;text-decoration:underline;text-decoration-color:#b29b73;text-underline-offset:6px}
.site-header nav a:hover,.site-header .nav-cta:hover{color:#61788c}
.hero-grid{padding-top:72px;padding-bottom:72px;min-height:0;gap:clamp(32px,4vw,65px)}
.hero-copy{min-width:0}.hero-copy h1{margin:20px 0 24px;line-height:1.18}
.hero-copy .lead{line-height:1.8}
.hero-copy .actions{gap:16px 25px;flex-wrap:wrap;margin-top:28px}
.hero-copy .booking-note{margin-top:20px}
.hero-foot{margin-top:45px;flex-wrap:wrap;gap:12px 17px;line-height:1.5}
.button.primary,.form-submit{display:inline-flex;align-items:center;justify-content:center;min-height:45px;border-radius:3px}
.home-welcome{padding-top:clamp(58px,7vw,94px);padding-bottom:clamp(64px,8vw,110px)}
.home-welcome>p:not(.section-label){max-width:760px}
.home-links{gap:14px 28px;margin-top:27px}
.page-heading{padding-top:clamp(48px,7vw,90px);padding-bottom:clamp(26px,4vw,52px)}
.page-heading h1{margin-top:16px;margin-bottom:24px}
.page-heading .lead{line-height:1.78}
.page-extra{padding-top:clamp(35px,5vw,66px);padding-bottom:clamp(65px,8vw,105px)}
.page-extra h2:not(:first-child){margin-top:38px}
.page-extra h3:not(:first-child){margin-top:27px}
.page-extra p{margin-bottom:18px}
.page-extra ul,.page-extra ol{padding-left:24px;margin-top:12px;margin-bottom:25px}
.page-extra li{padding-left:3px;margin-bottom:9px;line-height:1.75}
.about-story{padding-top:clamp(40px,5vw,70px);padding-bottom:clamp(65px,8vw,105px)}
.about-opening{margin-bottom:clamp(40px,5vw,72px)}
.about-opening-copy p,.story-copy p{margin-bottom:17px}
.story-row{padding-top:clamp(34px,5vw,64px);padding-bottom:clamp(34px,5vw,64px)}
.story-copy h2{margin-bottom:20px}
.book-grid .book{margin-bottom:25px}
.press-section{margin-top:clamp(44px,6vw,76px);padding-top:35px}
.press-feature{gap:clamp(20px,3vw,38px);padding:clamp(18px,3vw,30px)}
.affiliation-panel{margin-top:25px;margin-bottom:28px;padding:24px 28px}
.contact-fineprint{margin-top:48px}
.footer-row{gap:22px;padding-top:30px;padding-bottom:30px}
.footer-row>p{line-height:1.6}
@media(max-width:850px){
 .site-header .nav{height:auto;display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding-top:16px;padding-bottom:15px}
 .site-header .brand{flex:1 1 100%;margin:0}
 .site-header nav{display:flex;order:3;width:100%;gap:4px 17px;flex-wrap:wrap;font-size:12px;padding-top:12px;border-top:1px solid #e7ebee}
 .site-header .nav-cta{display:inline-flex;order:2;font-size:12px;margin-left:0}
 .hero-grid{padding-top:52px;padding-bottom:54px;gap:25px}
 .hero-art{margin:10px auto 0;width:100%;max-width:450px}
 .page-extra{padding-top:34px}
 .footer-row{align-items:flex-start}
}
@media(max-width:600px){
 .wrap{padding-left:22px;padding-right:22px}
 .site-header .brand strong{font-size:clamp(13px,3.5vw,17px)}
 .site-header .brand small{white-space:normal;line-height:1.5;font-size:8px;letter-spacing:.025em}
 .site-header nav{gap:5px 14px}
 .site-header nav a{padding:6px 0}
 .hero-copy h1{font-size:clamp(31px,8vw,43px);letter-spacing:-1px}
 .hero-art{transform:none;height:250px;max-width:340px;overflow:hidden}
 .art-circle{width:175px;height:175px;top:12px}
 .one{left:0}.two{left:63px}.three{left:126px}
 .art-note{left:22px;bottom:0;padding:14px 18px;max-width:280px}
 .art-note p{font-size:15px}
 .hero-foot{display:flex;gap:8px}
 .separator{display:none}
 .home-welcome{padding-top:52px;padding-bottom:66px}
 .story-row{gap:25px}
 .press-feature{grid-template-columns:1fr;gap:20px}
 .press-image{max-width:300px;max-height:220px}
 .press-image img{height:220px}
 .footer-brand small{letter-spacing:.05em;font-size:8px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Clear appointment action hierarchy */
.contact-card .appointment-main-cta,.contact-booking-box .appointment-main-cta{display:inline-flex;align-items:center;justify-content:center;background:#243b53;color:#fff;padding:17px 24px;min-height:52px;font-size:14px;font-weight:700;border-radius:5px;box-shadow:0 7px 17px rgba(20,43,62,.18);text-decoration:none;line-height:1.4;transition:background .15s ease,transform .15s ease}
.contact-card .appointment-main-cta:hover,.contact-booking-box .appointment-main-cta:hover{background:#365a76;transform:translateY(-1px)}
.contact-card .appointment-main-cta:focus-visible,.contact-booking-box .appointment-main-cta:focus-visible{outline:3px solid #b29b73;outline-offset:4px}
.appointment-secondary{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:29px 0 24px;padding-top:23px;border-top:1px solid #e2e8ec}
.appointment-secondary span{font-size:12px;color:#647786}
.appointment-secondary a{font-size:13px;font-weight:700;color:#294e69;text-decoration:underline;text-underline-offset:4px}
.contact-card>small{display:block;line-height:1.65}
.contact-booking-box{background:#eef2f3;border:1px solid #dce5e9;border-left:4px solid #b29b73;padding:25px 26px;margin:30px 0 28px;border-radius:4px}
.contact-booking-box .section-label{margin:0 0 9px;font-size:10px}
.contact-booking-box h3{font-size:23px;margin:0 0 10px}
.contact-booking-box p:not(.section-label){font-size:13px;line-height:1.65;margin:0 0 19px}
.contact-booking-box small{display:block;margin-top:13px;color:#607585;font-size:11px;line-height:1.6}
@media(max-width:600px){.contact-booking-box{padding:22px 19px}.contact-card .appointment-main-cta,.contact-booking-box .appointment-main-cta{width:100%;text-align:center}}

/* Combined appointments/contact page mockup */
.combined-main{padding-top:clamp(42px,6vw,80px);padding-bottom:clamp(45px,7vw,95px)}
.combined-appointment{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(275px,.9fr);gap:clamp(30px,5vw,78px);align-items:center;background:#f2f5f3;border:1px solid #dce4e2;border-radius:20px;padding:clamp(28px,5vw,66px)}
.combined-appointment h2,.combined-insurance h2,.combined-contact h2{margin-top:12px;margin-bottom:18px}
.combined-appointment p,.combined-insurance p,.combined-contact p{line-height:1.75}
.combined-appointment-action{background:white;border-radius:16px;padding:clamp(22px,3vw,38px);box-shadow:0 12px 35px rgba(27,52,66,.09);text-align:center}
.combined-appointment-action .button{display:block;text-align:center;padding:19px 18px;font-weight:700;font-size:1.08rem}
.combined-confirmation{margin:20px 0 0!important;font-size:.86rem;color:#58666c;line-height:1.6!important}
.combined-insurance{display:flex;justify-content:space-between;align-items:center;gap:38px;padding:clamp(42px,6vw,78px) 6px;border-bottom:1px solid #dce4e2}
.combined-insurance>div{max-width:650px}.combined-text-link{white-space:nowrap;font-weight:700}
.combined-contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(30px,6vw,95px);padding:clamp(48px,7vw,85px) 0 32px}
.combined-contact .inquiry-card{width:100%;max-width:none}.combined-direct{margin-top:28px}.combined-direct a{overflow-wrap:anywhere}
.combined-main .contact-fineprint{margin-top:32px;padding-top:25px;border-top:1px solid #dce4e2}
@media(max-width:780px){.combined-appointment,.combined-contact{grid-template-columns:1fr}.combined-insurance{display:block}.combined-text-link{display:inline-block;margin-top:15px}.combined-appointment-action{max-width:500px}.combined-main{padding-top:35px}}

/* Subtle, accessible in-page navigation to general inquiries */
html{scroll-behavior:smooth}
#general-inquiries{scroll-margin-top:32px}
.combined-question-jump{display:inline-block;margin-top:22px;font-size:.9rem;font-weight:600;color:#315f76;text-decoration:underline;text-underline-offset:4px;line-height:1.5}
.combined-question-jump:hover,.combined-question-jump:focus-visible{color:#173c50;text-decoration-thickness:2px}
.combined-question-jump:focus-visible{outline:2px solid currentColor;outline-offset:5px;border-radius:2px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Counseling services: explanatory subtext directly beneath heading */
.services-band .section-heading{display:block;}
.services-band .section-heading h2{margin-bottom:12px;}
.services-band .section-heading > div > p:not(.section-label){max-width:740px;margin:0;color:#6c7c88;font-size:14px;line-height:1.75;}

/* My Approach: compact introduction and first content block */
body:has(.page-heading + .approach) .page-heading{padding-bottom:8px;}
body:has(.page-heading + .approach) .page-heading .lead{margin-bottom:0;}
body:has(.page-heading + .approach) .approach{padding-top:24px;padding-bottom:60px;gap:clamp(26px,5vw,60px);align-items:center;}
body:has(.page-heading + .approach) .approach-mark{padding:clamp(20px,4vw,42px);}
body:has(.page-heading + .approach) .approach h2{margin-top:0;}
@media(max-width:850px){body:has(.page-heading + .approach) .approach{padding-top:16px;gap:24px;} }

/* Homepage: give the white individualized-approach card breathing room below the ring artwork. */
#home .hero-art{margin-bottom:28px;}
#home .art-note{bottom:-26px;}
@media(max-width:600px){
  #home .hero-art{overflow:visible;margin-bottom:20px;}
  #home .art-note{bottom:-14px;}
}

/* Final unified navigation and inquiry section */
#general-inquiries{scroll-margin-top:32px}

/* Counseling Services: reduce the vertical gap before Ways we can work together */
body:has(.page-heading + .services-band) .page-heading{padding-bottom:14px;}
body:has(.page-heading + .services-band) .page-heading .lead{margin-bottom:0;}
body:has(.page-heading + .services-band) .services-band{padding-top:36px;}
@media(max-width:700px){body:has(.page-heading + .services-band) .page-heading{padding-bottom:10px;}body:has(.page-heading + .services-band) .services-band{padding-top:28px;}}

/* Final services visual balance: modest breathing room above blue band, tighter transition below. */
body:has(.page-heading + .services-band) .page-heading{padding-bottom:30px;}
body:has(.page-heading + .services-band) .services-band + .page-extra{padding-top:30px;}
@media(max-width:700px){
 body:has(.page-heading + .services-band) .page-heading{padding-bottom:23px;}
 body:has(.page-heading + .services-band) .services-band + .page-extra{padding-top:24px;}
}

/* Services page: vertically balanced content within its colored and light sections. */
body:has(.page-heading + .services-band) .services-band{
  padding-top:clamp(48px,5vw,68px);
  padding-bottom:clamp(56px,6vw,78px);
}
body:has(.page-heading + .services-band) .services-band .section-heading{
  margin-bottom:clamp(38px,4vw,52px);
}
body:has(.page-heading + .services-band) .services-band .section-heading h2{
  margin-top:0;
}
body:has(.page-heading + .services-band) .services-band + .page-extra{
  min-height:360px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding-top:clamp(54px,6vw,78px);
  padding-bottom:clamp(54px,6vw,78px);
}
body:has(.page-heading + .services-band) .services-band + .page-extra h2{
  margin-top:0;
  margin-bottom:18px;
}
body:has(.page-heading + .services-band) .services-band + .page-extra p{
  margin-top:0;
  margin-bottom:22px;
}
body:has(.page-heading + .services-band) .services-band + .page-extra p:last-child{
  margin-bottom:0;
}
@media(max-width:700px){
  body:has(.page-heading + .services-band) .services-band{padding-top:40px;padding-bottom:52px;}
  body:has(.page-heading + .services-band) .services-band + .page-extra{
    min-height:0;
    padding-top:48px;
    padding-bottom:58px;
  }
}

/* Homepage welcome: portrait beside the introduction */
.home-welcome{max-width:1170px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.75fr);gap:clamp(32px,5vw,75px);align-items:center}
.home-welcome-copy{min-width:0}
.home-welcome-copy>p:not(.section-label){font-size:1.1rem;line-height:1.85;max-width:720px}
.home-welcome-portrait{margin:0;justify-self:end;width:100%;max-width:330px;background:#e6e8e6;padding:10px;box-shadow:0 16px 36px rgba(30,51,70,.10)}
.home-welcome-portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 31%}
@media(max-width:700px){.home-welcome{grid-template-columns:1fr;gap:28px}.home-welcome-portrait{justify-self:start;max-width:310px}}

/* Homepage welcome alignment: bring the copy inward and the portrait left for balance. */
@media (min-width:701px){
  #home .home-welcome{padding-left:clamp(52px,5.2vw,68px);padding-right:clamp(52px,5.2vw,68px);gap:clamp(26px,3.5vw,48px);}
  #home .home-welcome-portrait{justify-self:center;}
}
@media (max-width:700px){
  #home .home-welcome{padding-left:22px;padding-right:22px;}
}

/* Match the About Me portrait framing and caption on the homepage. */
#home .home-welcome-portrait{padding:11px 11px 17px;}
#home .home-welcome-portrait figcaption{display:block;margin:13px 8px 0;font-size:11px;letter-spacing:.8px;color:#637588;line-height:1.5;}
