[style*="Cormorant Garamond"], .section-title, .home-connect-title, .svc-head, .footer-logo { font-weight: 300 !important; font-style: italic !important; }
    .nav-logo { font-weight: 400 !important; font-style: italic !important; }
  
    /* Home page — single-column welcome: text only */
    .home-welcome {
      max-width: 1160px;
      margin: 0 auto;
      padding: 52px clamp(20px, 6vw, 72px) 64px;
    }
    .home-welcome-text {}
    .home-section-head {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(22px, 2vw, 30px);
      font-weight: 400;
      font-style: italic;
      color: var(--text);
      margin-top: 28px;
      margin-bottom: 28px;
      text-align: center;
    }
    .home-dropcap::first-letter {
      font-family: 'Cormorant SC', serif;
      float: left;
      font-size: 5.4em;
      line-height: 0.72;
      margin-right: 0.07em;
      margin-top: 0.06em;
      font-weight: 300;
      font-style: normal;
      color: var(--text);
    }
    .home-leadin {
      font-family: 'Cormorant SC', serif;
      font-weight: 300;
      font-style: normal;
      font-size: 1em;
      letter-spacing: 0.04em;
    }
    .home-fleuron {
      text-align: center;
      font-size: 1.4em;
      color: var(--text-muted);
      margin: 20px 0;
      opacity: 0.6;
    }
    sup {
      font-size: 0.6em;
      vertical-align: super;
      line-height: 0;
    }
    .home-footnote {
      font-family: 'Jost', sans-serif;
      font-size: 11px;
      letter-spacing: 0.06em;
      color: var(--text-muted);
      margin-top: 40px;
      opacity: 0.7;
    }
    .home-footnote-bottom {
      max-width: 1160px;
      margin: 0 auto;
      padding: 0 clamp(20px, 6vw, 72px) 34px;
    }
    .home-footnote-bottom .home-footnote {
      margin-top: 0;
    }
    .home-welcome-photo { display: none; }

    
    /* About page drop-cap portrait — consolidated rule (was duplicated 8x; see cleanup notes) */
    .about-dropcap-photo {
      float: left;
      width: 108px;
      height: auto;
      object-fit: contain;
      object-position: center center;
      margin: 0.55em 22px 10px 0;
      display: block;
    }
    @media (max-width: 700px) {
      .home-hero-subtitle {
        line-height: 2.1;
      }
      .mobile-break {
        display: block;
      }
      .about-profile {
        margin-top: 16px !important;
      }
    }


    @media (max-width: 700px) {
      .mobile-clear-under-photo {
        display: block;
        clear: left;
        padding-top: 0;
      }
    }

/* ===== block boundary ===== */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    .mobile-break { display: none; }

    :root {
      --bg:          #f0e9d8;
      --bg-alt:      #e9e2d2;
      --text:        #26201b;
      --text-light:  #4a3b31;
      --text-muted:  #7a6a5e;
      --rule:        #d4c9bb;
      --dot-accent:  #6e9472;
      --teal:        #5e9496;
      --terracotta:  #a76850;
      --jade:        #6e9472;
      --yellow:      #c9a84c;
    }


    /* ── LETTERHEAD ── */
    .letterhead {
      max-width: 1160px;
      margin: 0 auto;
      padding: 32px clamp(20px, 6vw, 72px) 24px;
      margin-top: 56px;
      border-bottom: 0.5px solid var(--rule);
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 40px;
    }
    .letterhead-name {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(24px, 2.6vw, 34px);
      font-weight: 500;
      font-style: italic;
      color: var(--text);
      letter-spacing: 0.04em;
      white-space: normal;
      flex-shrink: 1;
      min-width: 0;
    }
    .letterhead-name span {
      display: block;
      font-family: 'Jost', sans-serif;
      font-size: 14px;
      font-style: normal;
      font-weight: 400;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-top: 14px;
    }
    .letterhead-details {
      text-align: right;
      font-family: 'Jost', sans-serif;
      font-size: 17px;
      font-weight: 400;
      line-height: 1.85;
      color: var(--text-light);
      letter-spacing: 0.06em;
      flex-shrink: 0;
    }
    .letterhead-details a {
      color: var(--text-muted);
      text-decoration: none;
    }
    .letterhead-details a:hover { color: var(--text); }
    @media (max-width: 820px) {
      .letterhead {
        flex-direction: column;
        gap: 12px;
        padding: 24px 24px 18px;
        align-items: flex-start;
      }
      .letterhead-details { text-align: left; }
    }










    /* ── CONTACT PAGE REDESIGN ── */
    .contact-photos-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 96px;
      margin-top: 48px;
      padding-top: 36px;
      border-top: 0.5px solid var(--rule);
      align-items: start;
    }
    .contact-photos-row > div:first-child {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-self: stretch;
      transform: translateX(48px);
    }
    .contact-photos-row > div:last-child {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-self: stretch;
      transform: translateX(-48px);
    }
    .contact-photos-row img {
      width: clamp(140px, 22vw, 260px);
      height: clamp(170px, 27vw, 310px);
      object-fit: cover;
      display: block;
    }
    .contact-photo-label {
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-top: 10px;
      padding-left: 0.12em;
      width: clamp(140px, 22vw, 260px);
      text-align: center;
      white-space: nowrap;
    }
    .location-section {
      margin-top: 40px;
      padding-top: 32px;
      border-top: 0.5px solid var(--rule);
    }
    .location-label {
      font-size: 13px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--jade);
      font-weight: 400;
      margin-bottom: 14px;
    }
    .location-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 25px;
      font-style: italic;
      font-weight: 400;
      color: var(--text);
      margin-bottom: 20px;
      line-height: 1.3;
    }
    .location-body {
      font-size: 16px;
      line-height: 1.80;
      color: var(--text-light);
      font-weight: 400;
    }
    .location-body p + p { margin-top: 14px; }
    @media (max-width: 820px) {
      .contact-photos-row { margin-top: 40px; }
      .location-section { margin-top: 40px; }
    }
    @media (max-width: 700px) {
      .contact-photos-row { grid-template-columns: 1fr; gap: 20px; margin-top: 32px; }
      .location-section { margin-top: 32px; }
    }




    /* ── ABOUT PROFILE ── */

    .about-profile {
      display: block;
      margin-top: 40px;
    }
    .about-profile-photo img {
      width: 100%;
      display: block;
      min-height: 280px;
      object-fit: cover;
      object-position: center top;
    }
    .about-profile-bio .about-body {
      font-size: 18px;
      line-height: 1.88;
      color: var(--text-light);
      font-weight: 400;
    }
    .about-creds-section {
      margin-top: 48px;
      padding-top: 40px;
      border-top: 0.5px solid var(--rule);
    }
    .about-creds-label {
      font-size: 13px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--jade);
      font-weight: 400;
      margin-bottom: 20px;
    }
    .about-creds-section .creds {
      display: flex;
      flex-direction: column;
      gap: 14px;
    }
    .about-creds-section .cred {
      font-size: 16px;
      letter-spacing: 0.04em;
      color: var(--text-light);
      padding-left: 18px;
      border-left: 1.5px solid var(--rule);
      line-height: 1.6;
      font-weight: 400;
    }
    @media (max-width: 700px) {
      .about-profile { grid-template-columns: 1fr; gap: 32px; }
      .about-profile-photo img { max-width: 180px; }
    }


    /* ── PRIVACY POLICY ── */
    .privacy-modal {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(38,32,27,0.55);
      z-index: 999;
      align-items: center;
      justify-content: center;
      padding: 20px;
    }
    .privacy-modal.open { display: flex; }
    .privacy-modal-inner {
      background: var(--bg);
      max-width: 600px;
      width: 100%;
      padding: 48px;
      max-height: 80vh;
      overflow-y: auto;
      position: relative;
    }
    .privacy-modal-close {
      position: absolute;
      top: 20px; right: 24px;
      font-size: 22px;
      cursor: pointer;
      color: var(--text-muted);
      background: none;
      border: none;
      line-height: 1;
    }
    .privacy-modal h2 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 22px;
      font-style: italic;
      color: var(--text);
      margin-bottom: 24px;
    }
    .privacy-modal p {
      font-size: 15px;
      line-height: 1.85;
      color: var(--text-light);
      margin-bottom: 16px;
    }
    .privacy-link {
      background: none;
      border: none;
      cursor: pointer;
      font-family: inherit;
      font-size: 12px;
      color: var(--text-muted);
      text-decoration: underline;
      padding: 0;
    }
    .privacy-link:hover { color: var(--text-light); }

    /* ── FRAME ── */
    /* ── FRAME: visible at all screen sizes ── */
    html { background: var(--bg); }
    html, body {
      background: var(--bg);
    }
    .frame {
      background: var(--bg);
      width: 100%;
    }
    /* Layout */
    @media (min-width: 900px) {
      html { padding: 0; min-height: 100vh; box-sizing: border-box; }
    }
    /* Tablet: smaller padding */
    @media (min-width: 600px) and (max-width: 899px) {
    }
    /* Mobile: thin border still visible */
    @media (max-width: 599px) {
      html { padding: 0; background: var(--bg); }
    }

    body {
      font-family: 'Jost', sans-serif;
      font-weight: 400;
      background: transparent;
      color: var(--text);
      min-height: 100vh;
    }

    /* ── NAV ── */
    .site-nav {
      position: fixed;
      top: 0; left: 0; right: 0;
      z-index: 150;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0 60px;
      height: 72px;
      background: #ede6d4;
      backdrop-filter: blur(8px);
      border-bottom: 0.5px solid var(--rule);
    }
    .nav-logo {
      font-family: 'Cormorant Garamond', serif;
      font-size: 26px;
      font-style: italic;
      font-weight: 500;
      letter-spacing: 0.02em;
      text-transform: none;
      color: var(--text);
      cursor: pointer;
      white-space: nowrap;
      flex-shrink: 0;
    }
    .nav-logo .dot { color: var(--jade); opacity: 0.85; }
    .nav-links { display: flex; gap: 36px; list-style: none; flex-shrink: 0; }
    .nav-links li { position: relative; }
    .nav-dropdown {
      display: none;
      position: fixed;
      top: 72px;
      background: var(--parchment);
      border: 0.5px solid var(--rule);
      border-top: none;
      z-index: 200;
      padding: 8px 0;
      min-width: 380px;
      box-shadow: 0 4px 12px rgba(0,0,0,0.06);
    }
    .nav-dropdown.open { display: block; }
    .nav-dropdown button {
      display: block;
      width: auto;
      text-align: left;
      padding: 10px 40px;
      border-bottom: none !important;
      font-size: 11px;
      letter-spacing: 0.14em;
      box-sizing: border-box;
      white-space: nowrap;
    }
    .nav-dropdown { padding: 8px 0; }
    .nav-dropdown button:hover { background: rgba(0,0,0,0.04); }
    button:focus, button:focus-visible { outline: none; }
    .nav-links button {
      background: none; border: none; cursor: pointer;
      font-family: 'Jost', sans-serif; font-weight: 300;
      font-size: 14px; letter-spacing: 0.20em;
      text-transform: uppercase;
      color: var(--text-muted);
      padding: 4px 0;
      border-bottom: 1px solid transparent;
      transition: color 0.2s, border-color 0.2s;
      white-space: nowrap;
    }
    .nav-links button:hover { color: var(--text); }
    .nav-links button.active { color: var(--jade); border-bottom-color: var(--jade); }

    @media (max-width: 600px) {
      .site-nav {
        flex-direction: column;
        height: auto;
        padding: 14px 20px 12px;
        gap: 10px;
        align-items: flex-start;
      }
      .nav-logo { font-size: 18px; letter-spacing: 0.02em; }
      .nav-links { gap: 18px; }
      .nav-links button { font-size: 12px; letter-spacing: 0.14em; }
    }

    /* ── PAGES ── */
    .page { display: none; padding-top: 0; }
    .page.visible { display: block; padding-top: 72px; min-height: 100vh; box-sizing: border-box; }

    /* ── SLIDESHOW ── */
    .slideshow {
      position: relative;
      width: 100%;
      height: clamp(272px, 37vw, 476px);
      margin-top: 20px;
      margin-bottom: 20px;
      overflow: hidden;
    }
    @media (max-width: 820px) {
      .slideshow { height: clamp(180px, 40vw, 260px); }
    }
    .slide {
      position: absolute; inset: 0;
      background-size: cover;
      opacity: 0;
      transition: opacity 5.5s ease-in-out;
      filter: saturate(0.90) brightness(0.82) sepia(0.10);
    }
    .slide.active { opacity: 1; }

    /* Slideshow — 5 photos */
    /* 1. Sunflower */
    .s1 { background-image: url("images/sunflower.jpg"); background-position: center center; background-size: cover; }
    /* 2. River */
    .s2 { background-image: url("images/river.jpg"); background-position: center 50%; background-size: cover; }
    /* 3. ForestPath */
    .s3 { background-image: url("images/forest-path.jpg"); background-position: center 50%; background-size: cover; }
    /* 4. Cherry Blossom */
    .s4 { background-image: url("images/cherry-blossom.jpg"); background-position: center 65%; background-size: cover; }

    .slide-overlay {
      position: absolute; inset: 0; z-index: 2;
      background: linear-gradient(155deg,
        rgba(15,11,8,0.06) 0%,
        rgba(15,11,8,0.02) 40%,
        rgba(15,11,8,0.48) 100%);
    }
    @media (max-width: 820px) {
    }
    .dots {
      position: absolute; bottom: 20px; right: 60px;
      z-index: 6; display: flex; gap: 8px;
    }
    @media (max-width: 820px) { .dots { right: 24px; } }
    .dot {
      width: 6px; height: 6px; border-radius: 50%;
      background: rgba(255,255,255,0.28); border: none;
      cursor: pointer; padding: 0;
      transition: background 0.8s, transform 0.4s;
    }
    .dot.active { background: rgba(94,148,150,0.85); transform: scale(1.3); }
    .pbar {
      position: absolute; bottom: 0; left: 0;
      height: 1.5px; background: rgba(94,148,150,0.50);
      width: 0; z-index: 7;
    }

    /* ── HOME CONTENT ── */
    .home-body {
      display: block;
      padding: 80px clamp(20px, 6vw, 72px) 0;
      max-width: 1160px;
      margin: 0 auto;
      box-sizing: border-box;
    }
    .home-text {
      max-width: 760px;
    }
    .home-photo-row {
      padding: 52px 72px 64px;
      display: flex;
      justify-content: center;
      border-bottom: 0.5px solid var(--rule);
    }
    .home-welcome {
      font-size: 13px; letter-spacing: 0.26em;
      text-transform: uppercase; color: var(--jade);
      margin-bottom: 24px;
    }
    .home-heading {
      font-family: 'Cormorant Garamond', serif;
      font-size: 39px; font-weight: 400; font-style: italic;
      color: var(--text); line-height: 1.32;
      margin-bottom: 28px;
    }
    .home-para {
      font-size: 18px; line-height: 1.88;
      color: var(--text-light);
      text-transform: none;
      letter-spacing: 0.01em;
    }
    .home-para + .home-para { margin-top: 22px; }
    .home-fleuron + .home-para { margin-top: 0; }
    .home-para--sometimes {
      font-size: 0.88em;
      padding-left: 2em;
      color: var(--text);
      opacity: 0.85;
      margin-top: 14px !important;
    }
    .home-divider {
      border: none;
      border-top: 1px solid var(--text);
      opacity: 0.15;
      width: 40%;
      margin: 32px auto;
    }
    .home-para--questions {
      border-left: none;
      padding-left: 0;
      color: var(--text);
      font-style: italic;
    }
    .home-para--quote {
      border-left: none;
      padding-left: 0;
      font-style: italic;
      color: var(--text);
      margin-top: 32px;
    }
    .home-para--attribution {
      display: block;
      margin-top: 8px;
      font-style: normal;
      font-size: 14px;
      letter-spacing: 0.06em;
      color: var(--text-muted);
    }

    /* ── HEADSHOT ── */
    .photo-placeholder {
      width: 260px;
      aspect-ratio: 3/4;
      overflow: hidden;
      position: relative;
      box-shadow: 0 2px 24px rgba(56,48,42,0.10);
    }
    .photo-placeholder img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 12%;
      display: block;
    }

    .about-photo-placeholder {
      aspect-ratio: 3/4;
      overflow: hidden;
      position: relative;
    }
    .about-photo-placeholder img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 15%;
      display: block;
    }

    /* ── QUOTE BAR ── */
    .quote-bar {
      border-top: 0.5px solid var(--rule);
      border-bottom: 0.5px solid var(--rule);
      padding: 36px clamp(20px, 6vw, 72px);
      background: var(--bg-alt);
      display: flex;
      align-items: center;
      gap: 28px;
    }
    .quote-mark {
      font-family: 'Cormorant Garamond', serif;
      font-size: 72px; line-height: 1;
      color: var(--rule); opacity: 0.8;
      flex-shrink: 0; margin-top: -16px;
    }
    .quote-text {
      font-family: 'Cormorant Garamond', serif;
      font-size: 23px; font-style: italic;
      color: var(--text-light);
      line-height: 1.65;
    }
    .quote-attr {
      display: block;
      font-family: 'Jost', sans-serif;
      font-size: 13px; font-style: normal;
      letter-spacing: 0.18em; text-transform: uppercase;
      color: var(--text-muted); margin-top: 10px;
    }

    /* ── PROJECTIVE IMAGE ── */
    .projective-strip {
      padding: 52px clamp(20px, 6vw, 72px);
      display: flex;
      align-items: center;
      gap: 52px;
      border-bottom: 0.5px solid var(--rule);
    }
    .projective-image {
      flex-shrink: 0;
      width: 160px; height: 160px;
    }
    .projective-caption {
      font-size: 13px; letter-spacing: 0.22em;
      text-transform: uppercase; color: var(--terracotta);
      margin-bottom: 10px;
    }
    .projective-text {
      font-family: 'Cormorant Garamond', serif;
      font-size: 24px; font-style: italic;
      color: var(--text-light); line-height: 1.5;
      cursor: pointer;
    }
    .projective-text:hover { color: var(--text); }

    /* ── SECTION SHARED STYLES ── */
    .section-wrap { padding: 96px clamp(20px, 6vw, 72px) 80px; max-width: 1160px; margin: 0 auto; box-sizing: border-box; }
    .section-wrap + .section-wrap { border-top: 0.5px solid var(--rule); }
    #page-about .section-wrap:first-child { padding-top: 24px; }
    #page-services .section-wrap:first-child { padding-top: 24px; }

    /* Read-more expand */
    .svc-expanded { display: none; }
    .svc-expanded p:first-child { margin-top: 18px; }
    .svc-readmore-btn {
      background: none;
      border: none;
      padding: 0;
      cursor: pointer;
      font-family: 'Jost', sans-serif;
      font-size: 13px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--terracotta);
      margin-top: 16px;
      display: inline-block;
    }
    .svc-readmore-btn:hover { opacity: 0.7; }
    .section-label {
      font-size: 13px; letter-spacing: 0.26em;
      text-transform: uppercase; color: var(--jade);
      margin-bottom: 14px;
    }
    .section-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 41px; font-weight: 400; font-style: italic;
      color: var(--text); margin-bottom: 52px; line-height: 1.3;
    }

    /* ── SERVICES ── */
    .svc-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0;
    }
    .svc {
      padding: 64px 56px 64px 0;
      border-bottom: 0.5px solid var(--rule);
    }
    .svc:nth-child(even) {
      padding-left: 56px; padding-right: 0;
      border-left: 0.5px solid var(--rule);
    }
    .svc:nth-last-child(-n+2) { border-bottom: none; }
    .svc-dot {
      width: 6px; height: 6px; border-radius: 50%;
      display: inline-block; margin-bottom: 16px;
    }
    .svc:nth-child(1) .svc-dot { background: var(--jade); }
    .svc:nth-child(2) .svc-dot { background: var(--terracotta); }
    .svc:nth-child(3) .svc-dot { background: var(--jade); }
    .svc:nth-child(4) .svc-dot { background: var(--terracotta); }
    .svc-head {
      font-family: 'Cormorant Garamond', serif;
      font-size: 29px; font-weight: 400; font-style: italic;
      color: var(--text); margin-bottom: 14px; line-height: 1.32;
    }
    .svc-body { font-size: 18px; line-height: 1.82; color: var(--text-light); }
    .svc-body p + p { margin-top: 18px; }

    @media (max-width: 700px) {
      .svc-section + .svc-rule { margin: 24px 0; }
      .svc-readmore-btn { margin-top: 10px; }
      .mobile-extra { display: none; }
    }

    /* ── THERAPY PAGE STACKED LAYOUT ── */
    .svc-section + .svc-rule {
      border: none;
      border-top: 0.5px solid var(--rule);
      margin: 36px 0;
    }
    .svc-areas {
      margin-top: 40px;
    }
    .svc-areas-label {
      font-family: 'Jost', sans-serif;
      font-size: 12px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--jade);
      margin-bottom: 20px;
      text-align: center;
    }
    .svc-areas-inline {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: baseline;
      gap: 8px 28px;
      font-family: 'Jost', sans-serif;
      font-size: 15px;
      letter-spacing: 0.04em;
      color: var(--text-light);
      line-height: 1.6;
    }
    .svc-area-item {
      white-space: nowrap;
      max-width: 100%;
    }
    @media (max-width: 420px) {
      .svc-area-item {
        white-space: normal;
      }
    }
    .svc-subheading {
      display: flex;
      align-items: center;
      gap: 18px;
      margin: 36px 0 22px;
      font-family: 'Jost', sans-serif;
      font-size: 13px;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: var(--jade);
      text-align: center;
    }
    .svc-subheading::before,
    .svc-subheading::after {
      content: '';
      flex: 1;
      height: 0.5px;
      background: var(--rule);
    }
    .svc-phone-heading { display: none; }
    @media (max-width: 700px) {
      .svc-phone-heading.is-revealed { display: flex; }
    }
    .svc-heading {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(24px, 2.2vw, 34px);
      font-weight: 400;
      font-style: italic;
      color: var(--text);
      line-height: 1.3;
      margin-bottom: 28px;
    }

    .svc-projective-aside {
      margin-top: 60px; padding-top: 48px;
      border-top: 0.5px solid var(--rule);
      display: flex; align-items: center; gap: 48px;
    }
    .svc-proj-img { flex-shrink: 0; width: 110px; height: 110px; }
    .svc-proj-note {
      font-family: 'Cormorant Garamond', serif;
      font-size: 21px; font-style: italic;
      color: var(--text-muted); line-height: 1.65;
    }

    /* ── ABOUT ── */
    .about-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 80px; align-items: start;
    }
    .about-name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 44px; font-weight: 400; font-style: italic;
      color: var(--text); margin-bottom: 8px;
    }
    .about-credentials {
      font-size: 14px; letter-spacing: 0.16em;
      text-transform: uppercase; color: var(--text-muted);
      margin-bottom: 34px;
    }
    .creds { display: flex; flex-direction: column; gap: 12px; margin-bottom: 40px; }
    .cred {
      font-size: 16px; letter-spacing: 0.07em;
      color: var(--text-light); padding-left: 14px; line-height: 1.5;
    }
    .cred:nth-child(1) { border-left: 2px solid var(--jade); }
    .cred:nth-child(2) { border-left: 2px solid var(--terracotta); }
    .cred:nth-child(3) { border-left: 2px solid var(--jade); }
    .cred:nth-child(4) { border-left: 2px solid var(--terracotta); }
    .cred:nth-child(5) { border-left: 2px solid var(--jade); }
    .about-body { font-size: 18px; line-height: 1.90; color: var(--text-light); }
    .about-body p + p { margin-top: 20px; }

    /* ── CONTACT ── */
    .contact-grid {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 96px; align-items: start;
    }
    /* Home page connect strip — text left, portrait right */
    .home-connect-row {
      display: grid;
      grid-template-columns: 1fr 200px;
      gap: 56px;
      align-items: end;
    }
    .home-connect-portrait {
      align-self: end;
    }
    .home-connect-portrait img {
      width: 200px;
      height: 256px;
      object-fit: cover;
      object-position: center 12%;
      display: block;
      opacity: 0.92;
    }
    .home-connect-circle {
      flex-shrink: 0;
      width: 110px;
      height: 110px;
      border-radius: 50%;
      overflow: hidden;
      border: 1px solid var(--text-light);
      margin-right: 32px;
    }
    .home-connect-circle img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    @media (max-width: 680px) {
      .home-connect-row {
        grid-template-columns: 1fr;
        gap: 28px;
      }
      .home-connect-portrait {
        display: flex;
        justify-content: flex-start;
      }
      .home-connect-portrait img {
        width: 160px;
        height: 200px;
      }
    }
    /* Home page connect strip — photo left, form right */
    .home-connect {
      max-width: 1160px;
      margin: 0 auto;
      box-sizing: border-box;
      padding: 36px clamp(20px, 6vw, 72px) 80px;
      display: grid;
      grid-template-columns: 1fr 280px;
      gap: 48px;
      align-items: start;
    }
    .home-connect-photo {
      align-self: start;
    }
    .home-connect-photo img {
      width: 280px;
      height: 340px;
      object-fit: cover;
      object-position: center 15%;
      display: block;
    }
    .home-connect-label {
      font-size: 13px; letter-spacing: 0.26em;
      text-transform: uppercase; color: var(--yellow);
      margin-bottom: 14px; margin-top: 0;
    }
    .home-connect-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 37px; font-weight: 400; font-style: italic;
      color: var(--text); margin-bottom: 28px; line-height: 1.3;
    }
    .home-connect-intro {
      font-size: 18px; line-height: 1.88;
      color: var(--text-light); margin-bottom: 32px;
    }
    .home-connect-details {
      display: flex; flex-direction: column; gap: 11px;
      margin-bottom: 40px;
    }
    .contact-intro { font-size: 18px; line-height: 1.88; color: var(--text-light); margin-bottom: 40px; }
    .contact-intro p + p { margin-top: 16px; }
    .contact-details { display: flex; flex-direction: column; gap: 13px; }
    .cd { font-size: 16px; letter-spacing: 0.09em; color: var(--text-light); padding-left: 14px; line-height: 1.5; }
    .cd:nth-child(1) { border-left: 2px solid var(--jade); }
    .cd:nth-child(2) { border-left: 2px solid var(--terracotta); }
    .cd:nth-child(3) { border-left: 2px solid var(--jade); }
    .cd:nth-child(4) { border-left: 2px solid var(--terracotta); }

    /* Form */
    .contact-form { display: flex; flex-direction: column; gap: 20px; }
    .mailto-section { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
    .mailto-section .mailto-btn { align-self: center; transform: translateX(-48px); }
    .mailto-intro { font-size: 18px; line-height: 1.82; color: var(--text-light); margin-bottom: 28px; }
    .mailto-btn {
      font-family: 'Jost', sans-serif; font-weight: 300;
      font-size: 14px; letter-spacing: 0.20em; text-transform: uppercase;
      color: var(--terracotta); border: 0.5px solid var(--terracotta);
      padding: 15px 36px; background: transparent;
      text-decoration: none; display: inline-block;
      white-space: nowrap;
      transition: background 0.3s, color 0.3s;
    }
    .mailto-btn:hover { background: var(--terracotta); color: var(--bg); }
    .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
    .field { display: flex; flex-direction: column; gap: 7px; }
    .field label { font-size: 13px; letter-spacing: 0.20em; text-transform: uppercase; color: var(--text-muted); }
    .field input, .field textarea, .field select {
      font-family: 'Jost', sans-serif; font-weight: 300;
      font-size: 17px; color: var(--text);
      background: var(--bg-alt);
      border: 0.5px solid var(--rule);
      padding: 12px 14px;
      outline: none;
      transition: border-color 0.2s;
      resize: none;
      -webkit-appearance: none;
    }
    .field input:focus, .field textarea:focus, .field select:focus { border-color: var(--text-muted); }
    .field input::placeholder, .field textarea::placeholder { color: var(--text-muted); opacity: 0.7; }
    .field textarea { min-height: 120px; }
    .form-submit {
      font-family: 'Jost', sans-serif; font-weight: 300;
      font-size: 14px; letter-spacing: 0.20em; text-transform: uppercase;
      color: var(--terracotta); border: 0.5px solid var(--terracotta);
      padding: 14px 32px; background: transparent; cursor: pointer;
      transition: background 0.3s, color 0.3s; align-self: flex-start;
    }
    .form-submit:hover { background: var(--terracotta); color: var(--bg); }
    .form-note { font-size: 15px; line-height: 1.7; color: var(--text-muted); font-style: italic; font-family: 'Cormorant Garamond', serif; }

    /* ── FOOTER ── */
    footer {
      background: #34302a;
      color: rgba(240,233,216,0.42);
      padding: 32px 60px;
      display: flex; flex-direction: column; gap: 6px;
      align-items: center; font-size: 14px; letter-spacing: 0.10em;
      border-top: 0.5px solid var(--rule);
    }
    .footer-logo {
      font-family: 'Cormorant Garamond', serif;
      font-style: italic; font-size: 20px;
      color: var(--text-muted);
    font-weight: 500;
    }
    .footer-dot {
      display: inline-block; width: 4px; height: 4px; border-radius: 50%;
      background: var(--rule); opacity: 0.8; margin: 0 10px; vertical-align: middle;
    }
    .footer-row {
      display: flex; justify-content: space-between; align-items: center; width: 100%;
    }

    /* ── RESPONSIVE ── */
    @media (max-width: 820px) {
      .home-body { padding: 40px 24px 0; }
      .home-text { max-width: 100%; }
      .home-photo-row { padding: 36px 24px 52px; }
      .photo-placeholder { width: 220px; }
      .quote-bar { padding: 28px 24px; gap: 16px; }
      .quote-mark { font-size: 68px; }
      .quote-text { font-size: 21px; }
      .projective-strip { padding: 36px 24px; flex-direction: column; gap: 24px; }
      .projective-image { width: 120px; height: 120px; }
      .section-wrap { padding: 48px 24px; }
      .section-title { font-size: 33px; margin-bottom: 36px; }
      .svc-grid { grid-template-columns: 1fr; }
      .svc, .svc:nth-child(even) { padding: 28px 0; border-left: none; border-bottom: 0.5px solid var(--rule); }
      .svc:last-child { border-bottom: none; }
      .svc-projective-aside { flex-direction: column; gap: 24px; }
      .about-grid { grid-template-columns: 1fr; }
      .contact-grid { grid-template-columns: 1fr; gap: 32px; }
      .home-connect { grid-template-columns: 1fr; gap: 32px; padding: 48px clamp(16px,5vw,24px) 60px; }
      .home-connect-photo { position: static; max-width: 240px; }
      .form-row { grid-template-columns: 1fr; }
      footer { flex-direction: column; gap: 10px; padding: 24px 24px; text-align: center; }
      .footer-row { flex-direction: column; gap: 12px; text-align: center; }
    }

    /* ── MOBILE (phones) ── */
    @media (max-width: 600px) {
      /* prevent any element from overflowing the screen width */
      *, *::before, *::after { box-sizing: border-box; }
      body, .frame { overflow-x: hidden; }

      /* push page content below the taller stacked nav */
      .page.visible { padding-top: 92px; }
      .nav-dropdown { }  /* top set by JS */
      .nav-dropdown button { font-size: 10px; padding: 8px 32px; letter-spacing: 0.12em; }

      /* letterhead stacks and shrinks */
      .letterhead {
        flex-direction: column;
        gap: 10px;
        padding: 20px 20px 16px;
        margin-top: 0;
      }
      .letterhead-name { font-size: 22px; }
      .letterhead-details { text-align: left; font-size: 14px; line-height: 1.7; }

      /* text sizing */
      .section-title { font-size: 28px; }
      .home-connect-title { font-size: 28px; }
      .quote-text { font-size: 18px; line-height: 1.5; }

      /* credentials two-column collapses to one */
      .about-creds-section [style*="grid-template-columns: 1fr 1fr"] {
        display: block !important;
      }

      /* contact photos stack and center */
      .contact-photos-row { display: flex; flex-direction: column; align-items: center; }
      .contact-photos-row > div, .contact-photos-row > div:first-child, .contact-photos-row > div:last-child { display: flex; flex-direction: column; align-items: center; text-align: center; transform: none; width: clamp(200px, 60vw, 260px); }
      .contact-photos-row img { width: 100%; height: clamp(200px, 60vw, 260px); object-fit: cover; object-position: center top; }
      .contact-photo-label { text-align: center; width: 100%; white-space: normal; }

      /* home connect: center photo and button */
      .home-connect { justify-items: center; text-align: center; }
      .home-connect-text { display: flex; flex-direction: column; align-items: center; }
      .home-connect-photo { margin: 0 auto; width: 100%; display: flex; justify-content: center; }
      .home-connect-photo img { margin: 0 auto; display: block; width: clamp(200px, 70vw, 320px); height: auto; }

      /* section padding tightened */
      .section-wrap { padding: 36px 20px; }
      .home-body { padding: 28px 20px 0; }
      #page-about .section-wrap:first-child { padding-top: 12px; }

      /* keep Get in Touch / Reach Out / Connect buttons on one line */
      .mailto-btn { padding: 14px 22px; font-size: 12px; letter-spacing: 0.14em; }
      .mailto-section .mailto-btn { transform: none; }
    }

/* ===== block boundary ===== */

/* Homepage refinements requested 2026-06-05 */
    #page-home .home-welcome {
      max-width: 1160px;
      margin: 0 auto;
      padding: 32px clamp(20px, 6vw, 72px) 24px;
      font-size: inherit;
      letter-spacing: normal;
      text-transform: none;
      color: inherit;
    }
    #page-home .home-welcome-text {
      max-width: 860px;
      margin: 0 auto;
    }
    #page-home .home-opening-quote {
      font-family: 'Cormorant Garamond', serif !important;
      font-style: italic !important;
      font-size: clamp(20px, 1.7vw, 28px) !important;
      line-height: 1.6 !important;
      color: var(--text) !important;
      text-align: center !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: auto !important;
      margin-right: auto !important;
      margin-bottom: 8px;
      max-width: 72ch;
      white-space: normal;
      letter-spacing: 0.01em !important;
    }
    #page-home .home-opening-attribution {
      font-family: 'Jost', sans-serif;
      font-size: clamp(11px, 0.85vw, 13px);
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text);
      opacity: 0.55;
      text-align: center;
      margin-bottom: 52px;
    }
    #page-home .home-emphasis-line {
      font-family: 'Cormorant Garamond', serif !important;
      font-style: italic !important;
      font-size: clamp(30px, 2.7vw, 42px) !important;
      line-height: 1.35 !important;
      color: var(--text) !important;
      letter-spacing: 0.01em !important;
    }
    @media (max-width: 900px) {
      #page-home .home-opening-quote {
        white-space: normal;
        font-size: 25px !important;
      }
    }
    @media (max-width: 700px) {
      #page-home .home-welcome { padding-top: 28px; }
      #page-home .home-opening-quote { font-size: 23px !important; }
      #page-home .home-emphasis-line { font-size: 28px !important; }
    }

/* ===== block boundary ===== */

/* Homepage revisions: quote sizing, left-aligned body, and quieter final contact area */
    #page-home .home-welcome-text {
      text-align: left !important;
      max-width: 1160px;
      margin: 0 auto;
    }
    #page-home .home-opening-quote {
      font-family: 'Cormorant Garamond', serif !important;
      font-style: italic !important;
      font-size: clamp(22px, 2.15vw, 31px) !important;
      line-height: 1.45 !important;
      text-align: left !important;
      max-width: 100% !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      white-space: normal !important;
    }
    #page-home .home-emphasis-line {
      font-family: 'Cormorant Garamond', serif !important;
      font-style: italic !important;
      font-weight: 300 !important;
      font-size: clamp(24px, 2.05vw, 33px) !important;
      line-height: 1.35 !important;
      text-align: left !important;
      white-space: nowrap !important;
      max-width: 100% !important;
    }
    #page-home .home-connect-row {
      display: flex !important;
      grid-template-columns: 1fr !important;
      gap: 0 !important;
      align-items: center !important;
      max-width: 100% !important;
      margin: 0 !important;
      padding-top: 0;
      border-top: none;
    }
    #page-home .home-connect-label { display: none !important; }
    #page-home .home-connect-intro {
      font-family: 'Jost', sans-serif !important;
      font-size: 18px !important;
      letter-spacing: 0.015em !important;
      line-height: 1.7 !important;
      margin-bottom: 20px !important;
      text-align: left !important;
    }
    #page-home .home-connect-portrait img {
      width: 150px !important;
      height: 190px !important;
      object-fit: cover !important;
      object-position: center 12% !important;
      opacity: 0.94 !important;
    }
    #page-home .home-connect-circle {
      width: 110px !important;
      height: 110px !important;
      margin-right: 36px !important;
      margin-bottom: 0 !important;
    }
    @media (max-width: 900px) {
      #page-home .home-opening-quote {
        white-space: normal !important;
        font-size: 26px !important;
      }
      #page-home .home-emphasis-line {
        white-space: normal !important;
        font-size: 29px !important;
      }
    }
    @media (max-width: 680px) {
      #page-home .home-connect-row {
        grid-template-columns: 1fr !important;
        max-width: 100%;
      }
      #page-home .home-connect-portrait img {
        width: 132px !important;
        height: 168px !important;
      }
    }

/* ===== block boundary ===== */

@media (max-width: 600px) {
    #page-home .home-connect-button-wrap {
      width: 100% !important;
      text-align: center !important;
      transform: translateX(-12px) !important;
    }

    #page-home .home-connect-button-wrap .mailto-btn {
      display: inline-block !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }

/* ===== block boundary ===== */

.home-connect-mobile-early {
    display: none;
  }

  @media (max-width: 600px) {
    .slideshow {
      height: clamp(180px, 38vw, 260px) !important;
    }

    #page-home .home-connect-mobile-early {
      display: block !important;
      padding: 42px clamp(20px,6vw,72px) 54px !important;
    }

    #page-home .home-connect-original {
      display: none !important;
    }

    #page-home .home-connect-mobile-early .home-connect-button-wrap {
      width: 100% !important;
      text-align: center !important;
      transform: translateX(-12px) !important;
    }

    #page-home .home-connect-mobile-early .home-connect-button-wrap .mailto-btn {
      display: inline-block !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }

/* ===== block boundary ===== */

@media (max-width: 600px) {
    #page-home .home-connect-mobile-early {
      padding: 38px clamp(20px,6vw,72px) 48px !important;
    }

    #page-home .home-connect-mobile-early .home-connect-row {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 0 !important;
      width: 100% !important;
      margin: 0 auto !important;
    }

    #page-home .home-connect-mobile-early .home-connect-circle {
      width: 98px !important;
      height: 98px !important;
      margin: 0 auto 24px auto !important;
      flex-shrink: 0 !important;
    }

    #page-home .home-connect-mobile-early .home-connect-text {
      width: 100% !important;
      max-width: 430px !important;
      margin: 0 auto !important;
      text-align: center !important;
      display: block !important;
    }

    #page-home .home-connect-mobile-early .home-connect-intro {
      width: 100% !important;
      max-width: 430px !important;
      margin: 0 auto !important;
      text-align: center !important;
      line-height: 1.72 !important;
    }

    #page-home .home-connect-mobile-early .home-connect-button-wrap {
      width: 100% !important;
      margin-top: 24px !important;
      text-align: center !important;
      transform: none !important;
    }

    #page-home .home-connect-mobile-early .home-connect-button-wrap .mailto-btn {
      display: inline-block !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }
  }

/* ===== block boundary ===== */

@media only screen and (max-width: 820px) {
    body #page-home .home-mobile-hero-title-block {
      padding-top: 32px !important;
      padding-bottom: 24px !important;
      gap: 8px !important;
    }

    body #page-home .home-mobile-hero-title-block .home-hero-subtitle {
      line-height: 1.75 !important;
      margin: 10px 0 0 0 !important;
      padding: 0 !important;
    }

    body #page-home > .slideshow {
      margin-top: 0 !important;
    }
  }

/* ===== block boundary ===== */

@media (min-width: 601px) {
    #page-home .home-connect-mobile-early + .home-para {
      margin-top: 22px !important;
    }
  }

/* ===== block boundary ===== */

@media (max-width: 700px) {
    .mobile-break-line {
      display: block !important;
      text-align: center !important;
      margin-top: 9px !important;
    }
  }

/* ===== block boundary ===== */

@media (max-width: 700px) {
    #home-hero-title {
      font-weight: 500 !important;
      font-size: 25px !important;
      letter-spacing: 0.05em !important;
      color: var(--text) !important;
      white-space: nowrap !important;
    }
  }

/* ===== block boundary ===== */

/* v46 mobile-only adjustment: shorten the about-page portrait slightly so the cleared line below it
     keeps the same vertical rhythm as the rest of the paragraph. Desktop layout is untouched. */
  @media (max-width: 700px) {
    #page-about .about-profile-bio .about-dropcap-photo {
      float: left !important;
      width: 96px !important;
      height: 122px !important;
      margin: 6px 18px 0 0 !important;
      object-fit: cover !important;
      object-position: center center !important;
      display: block !important;
    }
    #page-about .about-profile-bio .mobile-clear-under-photo {
      display: block !important;
      clear: left !important;
      padding-top: 0 !important;
      margin-top: 0 !important;
    }
  }
/* ===== Added for multi-page architecture ===== */
/* Real <a> nav links styled identically to the original JS-toggled <button> nav.
   Purely additive — no existing rule changed. */
.nav-logo[href] { text-decoration: none; }
.nav-links a {
  background: none; border: none; cursor: pointer;
  font-family: 'Jost', sans-serif; font-weight: 300;
  font-size: 14px; letter-spacing: 0.20em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding: 4px 0;
  border-bottom: 1px solid transparent;
  transition: color 0.2s, border-color 0.2s;
  white-space: nowrap;
  text-decoration: none;
  display: inline-block;
}
.nav-links a:hover { color: var(--text); }
.nav-links a.active { color: var(--jade); border-bottom-color: var(--jade); }
@media (max-width: 600px) {
  .nav-links a { font-size: 12px; letter-spacing: 0.14em; }
}

/* Blog index + post styles — new section, doesn't touch existing pages */
.blog-index-wrap { max-width: 860px; margin: 0 auto; padding: 52px clamp(20px,6vw,72px) 80px; }
.blog-post-card { padding: 36px 0; border-bottom: 0.5px solid var(--rule); }
.blog-post-card:first-child { padding-top: 0; }
.blog-post-date {
  font-family: 'Jost', sans-serif; font-size: 12px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--text-muted); margin-bottom: 10px;
}
.blog-post-title {
  font-family: 'Cormorant Garamond', serif; font-size: clamp(24px,2.2vw,32px);
  font-style: italic; font-weight: 400; color: var(--text); margin-bottom: 10px; line-height: 1.3;
}
.blog-post-title a { color: inherit; text-decoration: none; }
.blog-post-title a:hover { color: var(--jade); }
.blog-post-excerpt { font-size: 17px; line-height: 1.8; color: var(--text-light); }
.blog-post-readmore {
  display: inline-block; margin-top: 14px; font-family: 'Jost', sans-serif;
  font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--terracotta);
  text-decoration: none;
}
.blog-post-readmore:hover { opacity: 0.7; }
.blog-post-body { font-size: 18px; line-height: 1.9; color: var(--text-light); max-width: 720px; }
.blog-post-body p + p { margin-top: 22px; }
.blog-post-header { margin-bottom: 44px; padding-bottom: 32px; border-bottom: 0.5px solid var(--rule); }
.blog-back-link {
  display: inline-block; margin-bottom: 32px; font-family: 'Jost', sans-serif;
  font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-muted);
  text-decoration: none;
}
.blog-back-link:hover { color: var(--text); }
