:root{--ink:#111;--muted:#505050;--paper:#fff;--green:#126239;--border:#d8d8d8;--cream:#f3f3f3;--photo-point:36px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--green);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}a:hover{text-decoration-thickness:3px}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;min-height:48px}button:disabled{opacity:.55;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #16834c;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:inherit;font-weight:800;line-height:1.05;letter-spacing:-2px}h1{font-size:clamp(52px,6.5vw,100px)}h2{font-size:clamp(36px,4.5vw,60px)}h3{font-size:32px;letter-spacing:-1px}em{font-style:normal}.muted{color:var(--muted)}
.skip-link{position:absolute;top:12px;left:20px;transform:translateY(-200%);z-index:10;background:white;padding:12px 20px}.skip-link:focus{transform:translateY(0)}
.site-header{padding:26px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--border);background:white}.brand{font-size:20px;line-height:1.15;font-weight:850;letter-spacing:-.7px;color:var(--ink);text-decoration:none;flex-shrink:0}.site-header nav,.nav-actions{display:flex;align-items:center;gap:26px;font-size:16px;font-weight:650}
.button{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:56px;padding:17px 29px;border:0;border-radius:40px;background:linear-gradient(125deg,#11864c,#004827);color:white;font-size:18px;font-weight:750;line-height:1.3;text-align:center;text-decoration:none;box-shadow:0 5px 15px #00783d20;transition:filter .15s,box-shadow .15s}.button:hover{filter:brightness(1.1);text-decoration:none;box-shadow:0 7px 20px #00783d30}.text-link{display:inline-flex;align-items:center;gap:16px;font-weight:650;font-size:18px}
/* One downward point per image; crop depth scales down on mobile. */
.hero{position:relative;display:flex;min-height:720px;color:white;background:#111;isolation:isolate;clip-path:polygon(0 0,100% 0,100% calc(100% - 64px),50% 100%,0 calc(100% - 64px))}.hero-photo{position:absolute;inset:0;z-index:-1}.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 42%}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.55) 50%,rgba(0,0,0,.06))}.hero-copy{padding:80px 6% 100px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%}.hero h1{max-width:850px;text-transform:uppercase;font-weight:900;letter-spacing:-4px;line-height:.98;margin:0 0 28px}.hero-intro{font-size:21px;line-height:1.6;max-width:470px;margin:0 0 32px}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.hero .text-link{color:#bcf0cf}
.section-wrap{padding:72px 6%;max-width:1600px;margin:auto}.approach{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%}.approach h2{text-transform:uppercase;font-weight:900;margin:0}.approach p{font-size:20px;color:var(--muted);line-height:1.7;margin:0}.sessions-section{padding-top:0;padding-bottom:80px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:32px}.section-heading h2{margin:0}.section-heading a{font-weight:650;flex-shrink:0}.session-types{display:grid;grid-template-columns:1fr 1fr;gap:28px}.session-card{background:var(--cream);min-width:0}.pointed-photo{display:block;width:100%;height:330px;object-fit:cover;object-position:50% 40%;clip-path:polygon(0 0,100% 0,100% calc(100% - var(--photo-point)),50% 100%,0 calc(100% - var(--photo-point)))}.session-card-body{padding:30px}.session-card h3{margin:0 0 14px}.session-card p{font-size:18px;line-height:1.65;color:var(--muted);margin:0 0 22px}.session-card a{font-weight:700}
.membership-band{margin:0 6% 8px;background:#111;color:white;border-left:10px solid #159354;padding:55px;display:flex;align-items:center;justify-content:space-between;gap:40px}.membership-band h2{font-size:44px;letter-spacing:-1.7px;line-height:1.1;margin:0 0 18px;max-width:550px}.membership-band p{font-size:19px;line-height:1.6;max-width:540px;color:#d1d1d1;margin:0}.membership-band .button{flex-shrink:0}.visit{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.visit h2{margin:0}.visit-details{font-size:19px}.visit-details p{margin:0 0 14px}.visit-details a{overflow-wrap:anywhere}.site-footer{padding:36px 6%;display:grid;grid-template-columns:1fr .8fr 1fr;gap:32px;background:#f2f2f2;color:#333;font-size:16px}.site-footer p{margin:0 0 12px}.site-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.service-notice{font-size:18px;padding:24px 6%;color:#823b35}
/* Member screens retain their behavior and use the same readable design. */
.portal{min-height:65vh}.portal h1{max-width:1000px;margin:0 0 24px;font-size:clamp(48px,6vw,78px)}.portal-intro{max-width:680px;font-size:20px;color:var(--muted)}.eyebrow{font-size:16px;font-weight:700;line-height:1.6;letter-spacing:.3px}.notice{padding:20px;border:1px solid #96b6a1;background:#edf6f0;margin:24px 0;font-size:18px;line-height:1.6;border-radius:12px}.notice-error{border-color:#d7aaa5;background:#f9eeeb;color:#823b35}.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:45px}.plan{padding:38px;border:1px solid var(--border);background:#f5f5f5;border-radius:22px}.plan-featured{background:#eef5f0;border-color:#94bca2}.plan h2{font-size:40px;letter-spacing:-1.5px;margin:20px 0}.plan p{font-size:18px;color:var(--muted)}.plan .eyebrow{color:var(--green)}.plan-price{font-size:36px;font-weight:750;line-height:1.3;margin:32px 0}.plan-price small{font-size:18px;font-weight:400;margin-left:10px}.plan ul{padding-left:22px;font-size:18px;line-height:1.8}
.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:40px 0 25px}.segmented{display:flex;flex-wrap:wrap;gap:6px;background:var(--cream);padding:6px;border-radius:30px}.segmented button,.week-nav button,.auth-tabs button{border:0;background:transparent;padding:12px 18px;color:var(--ink);font-size:17px;border-radius:28px;font-weight:650}.segmented button.active,.auth-tabs button.active{background:#111;color:white}.week-nav{display:flex;align-items:center;gap:14px;font-size:18px}.week-nav button{border:1px solid var(--border);background:white;min-width:48px}.session-row{display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--border);padding:28px 0}.session-date{width:190px;flex-shrink:0;font-size:18px;line-height:1.7}.session-row h3{font-size:26px;margin:7px 0}.session-row p,.session-capacity{color:var(--muted);font-size:17px;margin-bottom:0}.session-capacity{margin-left:auto}.empty-state{text-align:center;padding:60px 24px;background:var(--cream);border:1px solid var(--border);border-radius:18px;margin-top:20px}.empty-state>span{font-size:38px}.empty-state h3{font-size:30px;margin-top:20px}.empty-state p{font-size:18px;color:var(--muted)}
.account-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-top:55px}.account-aside h2{font-size:48px;line-height:1.15}.account-aside p{font-size:19px;max-width:380px;color:var(--muted)}.auth-card{padding:32px;background:var(--cream);border:1px solid var(--border);border-radius:22px;min-width:0}.auth-card h2{font-size:36px}.auth-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:20px;margin-bottom:25px}label{display:block;font-size:18px;font-weight:600;margin-bottom:22px}input:not([type=checkbox]),textarea,select{display:block;width:100%;padding:14px;border:1px solid #aaa;border-radius:10px;background:white;color:var(--ink);margin-top:8px;min-height:52px}input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:var(--green);margin-top:5px}label small{display:block;font-size:16px;font-weight:400;color:var(--muted);margin-top:8px}.full{width:100%}button.text-link{border:1px solid #999;border-radius:28px;background:white;color:var(--green);padding:12px 20px;text-decoration:none;margin-top:14px}button.text-link:hover{background:#edf6f0}.agreement{font-size:18px;border-bottom:1px solid var(--border);padding:18px 0;line-height:1.6}.agreement summary{cursor:pointer}.agreement details p{white-space:pre-wrap;max-height:320px;overflow:auto;padding-top:16px;overflow-wrap:anywhere}.check{display:flex;align-items:flex-start;gap:12px;margin:16px 0;font-weight:400}.member-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:40px 0 24px}.member-top h2{font-size:38px;margin:0}.member-panels{display:grid;grid-template-columns:1fr 1fr;gap:24px}.member-panel{padding:30px;border:1px solid var(--border);border-radius:18px;background:var(--cream);min-width:0}.member-panel h3{font-size:28px;margin-top:20px}.member-panel p{font-size:18px}.member-panel .text-link{margin-right:18px}.bookings-heading{font-size:40px;margin-top:50px}.credits-list{padding-left:24px}.credits-list li{margin:22px 0;overflow-wrap:anywhere}
@media(min-width:1800px){.hero-copy{padding-inline:max(6%,calc((100vw - 1400px)/2))}.membership-band{max-width:1408px;margin-inline:auto}}
@media(max-width:1100px){.site-header{flex-wrap:wrap}.site-header nav{order:3;justify-content:center;width:100%;padding-top:8px}.hero h1{font-size:76px}.membership-band{padding:36px}.membership-band h2{font-size:38px}.session-row{flex-wrap:wrap}.session-capacity{margin-left:0}.section-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){:root{--photo-point:28px}.site-header{padding:20px;gap:20px}.brand{font-size:17px}.nav-actions{gap:14px}.nav-actions .button{display:none}.site-header nav{gap:22px;font-size:16px;padding-top:0;justify-content:flex-start;overflow-x:auto}.login-link{font-size:16px}.hero{min-height:690px;clip-path:polygon(0 0,100% 0,100% calc(100% - 36px),50% 100%,0 calc(100% - 36px))}.hero-copy{padding:60px 24px 90px}.hero h1{font-size:clamp(48px,10vw,64px);letter-spacing:-2.7px;overflow-wrap:anywhere}.hero-intro{font-size:19px}.hero-photo img{object-position:60% 35%}.hero-photo:after{background:linear-gradient(90deg,#000d,#0006)}.hero-actions{gap:24px}.section-wrap{padding:50px 24px}.approach,.visit,.account-layout,.member-panels{grid-template-columns:1fr;gap:25px}.approach h2{font-size:40px}.approach p{font-size:19px}.sessions-section{padding-top:0}.section-heading h2{font-size:40px}.session-types,.plan-grid{grid-template-columns:1fr}.pointed-photo{height:300px}.session-card-body{padding:25px}.session-card h3{font-size:30px}.membership-band{margin:0 24px;padding:30px;flex-direction:column;align-items:flex-start;gap:28px;border-left-width:6px}.membership-band h2{font-size:35px}.visit h2{font-size:38px}.site-footer{padding:30px 24px;grid-template-columns:1fr;gap:25px}.portal h1{font-size:48px;letter-spacing:-2px}.portal-intro{font-size:19px}.plan{padding:28px}.schedule-toolbar{flex-direction:column;align-items:flex-start}.segmented{border-radius:18px}.segmented button{padding:10px 12px;font-size:16px}.session-row{gap:16px;padding:24px 0}.session-date{width:100%}.session-row>div:nth-child(2){flex:1}.session-row .button{width:100%}.account-layout{margin-top:35px}.account-aside h2{font-size:40px}.auth-card,.member-panel{padding:24px}.member-top{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.booking-drawer{position:fixed;inset:0 0 0 auto;z-index:45;margin:0;width:33vw;min-width:min(300px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;overflow:auto;resize:horizontal;direction:rtl;padding:24px;border:0;border-left:1px solid #ccc;background:#fff;color:#111;box-shadow:-12px 0 28px #0003;animation:booking-slide-in 180ms ease-out}
.booking-drawer>div{direction:ltr}
@keyframes booking-slide-in{from{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.booking-drawer{animation:none}}
/* Shared action styling. The standalone clinic site uses the same palette as the platform. */
.button, .segmented button, .week-nav button, .auth-tabs button, button.text-link {
  border: 1px solid var(--zo-button-border, #ccd5cf);
  border-radius: 10px;
  box-shadow: var(--zo-button-shadow, inset 0 1px 0 #ffffff55, 0 1px 2px #17281e16);
}
.button { background: var(--zo-button-primary, linear-gradient(180deg, #2a7e50, #165635)); border-color: #17482e; }
.button.button-light, .segmented button, .week-nav button, .auth-tabs button, button.text-link {
  color: #18241c;
  background: var(--zo-button-neutral, linear-gradient(180deg, #fff, #edf0ee));
}
.segmented button.active, .auth-tabs button.active {
  color: #fff;
  background: var(--zo-button-primary, linear-gradient(180deg, #2a7e50, #165635));
}
button.text-link:hover { filter: brightness(.97); }
button:disabled { cursor: not-allowed; opacity: .55; }
:root {
  --zo-button-neutral: linear-gradient(180deg, #fff 0%, #edf0ee 100%);
  --zo-button-primary: linear-gradient(180deg, #2a7e50 0%, #165635 100%);
  --zo-button-dark: linear-gradient(180deg, #395545 0%, #263b30 100%);
  --zo-button-danger: linear-gradient(180deg, #fff 0%, #fce8e8 100%);
  --zo-button-border: #ccd5cf;
  --zo-button-shadow: inset 0 1px 0 #ffffff55, 0 1px 2px #17281e16;
}
@font-face {
  font-family: Montserrat;
  src: url("/pmc-theme/fonts/montserrat-latin.woff2") format("woff2");
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}
:is(.pmc-home, body:has(.pmc-home), [data-block-editor-surface]) {
  --pmc-font: Montserrat, system-ui, sans-serif;
  font-family: var(--pmc-font);
}
.pmc-home :is(button, input, select, textarea) { font-family:inherit }
.pmc-home { background: var(--paper); color: var(--ink); --muted:#456075; --border:#dbe6ec; --cream:#eef5f7; }
.pmc-home .site-header { background: var(--paper); }
.pmc-site-header.site-header { padding:16px 5%; flex-wrap:nowrap; gap:1rem }
.pmc-brand-lockup { display:grid; justify-items:center; flex:none; gap:.2rem; line-height:1.25; color:var(--ink) }
.pmc-brand-logo { position:relative; display:block; width:clamp(130px,13vw,178px); aspect-ratio:1.87; overflow:hidden; background:#fff }
.pmc-brand-logo img { display:block; width:100%; height:100%; object-fit:contain; }
.pmc-brand-logo img[src="/pmc-theme/images/pmc-logo.jpg"] {
  position:absolute; inset:0 0 auto; height:auto; translate:0 -15.6%;
}
.pmc-brand-service,.pmc-brand-motto {
  font:600 .6875rem/1.35 var(--pmc-font);
  letter-spacing:.075em; text-transform:uppercase; text-align:center;
}
.pmc-brand-motto { font-weight:550; font-size:.625rem; letter-spacing:.125em; color:var(--green) }
.pmc-header-links { display:flex; align-items:center; justify-content:flex-end; gap:clamp(.65rem,2vw,1.4rem); margin-inline-start:auto }
.pmc-site-header .pmc-site-nav { order:-1; justify-content:flex-end; width:auto; padding:0; gap:clamp(.6rem,1.6vw,1.4rem); overflow:visible; font-size:.93rem }
.pmc-site-header .pmc-site-nav > a { white-space:nowrap }
.pmc-site-header :is(.pmc-member-login,.pmc-menu-toggle,.pmc-nav-book) {
  min-height:40px; padding:.55rem .8rem; font:700 .875rem/1.2 var(--pmc-font); white-space:nowrap;
}
.pmc-site-header .pmc-menu-toggle { display:none }
@media (max-width:1000px) {
  .pmc-site-header.site-header { position:relative; flex-wrap:wrap; padding:10px clamp(10px,3vw,24px); gap:.45rem }
  .pmc-brand-logo { width:clamp(112px,28vw,148px) }
  .pmc-brand-service,.pmc-brand-motto { font-size:.625rem }
  .pmc-brand-service { max-width:8.75rem; font-size:.59rem; letter-spacing:.02em; overflow-wrap:anywhere }
  .pmc-brand-motto { font-size:.5625rem; letter-spacing:.07em }
  .pmc-header-links { flex-wrap:wrap; gap:.35rem }
  .pmc-site-header .pmc-site-nav { order:1; flex-wrap:wrap }
  .pmc-menu-ready .pmc-site-header .pmc-menu-toggle { display:inline-flex }
  .pmc-menu-ready .pmc-site-header .pmc-site-nav {
    display:none; position:absolute; inset:calc(100% - 2px) clamp(10px,3vw,24px) auto auto; z-index:5;
    min-width:min(210px,calc(100vw - 24px)); max-width:calc(100vw - 24px); padding:.55rem;
    text-align:right; background:var(--paper,#fff); border:1px solid var(--zo-button-border); border-radius:.65rem;
    box-shadow:0 8px 24px #16374d26;
  }
  .pmc-menu-ready .pmc-menu-toggle[aria-expanded=true] + .pmc-site-nav { display:grid; justify-content:stretch; gap:.25rem }
  .pmc-menu-ready .pmc-site-nav > a:not(.button) { padding:.5rem .55rem }
  .pmc-menu-ready .pmc-site-nav > .pmc-social { justify-content:flex-end; padding-inline:.25rem }
}
@media (max-width:420px) {
  .pmc-site-header :is(.pmc-member-login,.pmc-menu-toggle) { padding-inline:.55rem; font-size:.8rem }
}
.pmc-brand-logo:has(img[data-edit-selected]) { outline:2px dashed #086764; outline-offset:4px; }
.pmc-home .site-footer { background:linear-gradient(155deg,#f7fafb,#eaf3f6); color:var(--ink); }
[data-block-editor-surface] .site-header:has(.pmc-brand-logo) {
  --ink:#103858; --green:#086764; --border:#dbe6ec; color:var(--ink);
  --zo-button-primary:linear-gradient(180deg,#177952,#103858);
}
.pmc-home .button { background: linear-gradient(180deg, var(--action-start), var(--action-end)); }
.pmc-home .button-light { color: #17281e; background: var(--zo-button-neutral); border-color: var(--zo-button-border); }
.pmc-home .button-light:hover { filter: brightness(.97); }
.pmc-home .contact-block .form-stack { display: grid; gap: 10px; }
.pmc-home [data-edit]:hover, .pmc-home [data-edit-selected] { outline: 2px dashed #3baa73; outline-offset: 4px; cursor: pointer; }
.pmc-editor { position: fixed; z-index: 40; bottom: 16px; right: 16px; max-width: calc(100% - 32px); font: 14px/1.35 system-ui, sans-serif; color: #18241c; }
.pmc-editor-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 10px; background: #f8faf8; border: 1px solid var(--zo-button-border); border-radius: 12px; box-shadow: 0 8px 28px #0005; }
.pmc-editor button, .pmc-editor summary, .pmc-editor-tools > a { min-height: 0; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; color: #18241c; background: var(--zo-button-neutral); border: 1px solid var(--zo-button-border); border-radius: 6px; text-decoration: none; }
.pmc-editor .admin-icon { width: 15px; height: 15px; flex: none; }
.pmc-editor-tools #pmc-screen { width: auto; min-height: 0; padding: 6px 8px; margin: 0; font: inherit; color: #18241c; background: var(--zo-button-neutral); border: 1px solid var(--zo-button-border); border-radius: 6px; }
.pmc-editor [hidden] { display: none; }
.pmc-editor button[form=pmc-save], .pmc-editor [data-apply-editor] { background: var(--zo-button-primary); color: #fff; }
.pmc-editor button:disabled { opacity: .5; }
.pmc-editor details { position: relative; }
.pmc-editor .pmc-version-menu { position: static; }
.pmc-versions { position: absolute; bottom: calc(100% + 12px); right: 0; box-sizing: border-box; width: min(330px, calc(100vw - 32px)); max-height: 55vh; overflow: auto; padding: 12px; border: 1px solid var(--zo-button-border); border-radius: 9px; background: #f8faf8; }
.pmc-versions > div { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-block: 5px; }
.pmc-versions a { color: #126239; overflow-wrap: anywhere; }
.pmc-versions form { flex: none; }
.pmc-inspector { position: absolute; bottom: calc(100% + 10px); right: 0; width: min(380px, 100%); max-height: 65vh; overflow: auto; padding: 14px; border-radius: 12px; border: 1px solid var(--zo-button-border); background: #f8faf8; box-shadow: 0 8px 28px #0005; }
.pmc-inspector-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.pmc-inspector label { font-size: 13px; margin-bottom: 10px; }
.pmc-inspector input:not([type=checkbox]), .pmc-inspector textarea { font-size: 14px; min-height: 0; padding: 7px; margin-top: 4px; }
.pmc-inspector input[type=color] { height: 33px; }
.pmc-layout-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; gap: 6px; align-items: center; margin-bottom: 6px; }
.pmc-editor[data-dock=top] { top: 16px; bottom: auto; }
.pmc-editor[data-dock=top] .pmc-versions { top: calc(100% + 10px); bottom: auto; }
.pmc-editor select { width: auto; min-height: 0; margin: 0; padding: 6px 8px; color: inherit; font: inherit; background: var(--zo-button-neutral); border: 1px solid var(--zo-button-border); border-radius: 6px; }
.pmc-format { position: fixed; width: max-content; max-width: min(750px, calc(100vw - 16px)); z-index: 1; gap: 5px; padding-inline-start: 29px; }
.pmc-format input[type=color] { width: 34px; min-height: 30px; margin: 0; padding: 2px; background: var(--zo-button-neutral); border: 1px solid var(--zo-button-border); border-radius: 6px; }
.pmc-format [data-format-drag] { position: absolute; inset: 0 auto 0 0; width: 22px; display: grid; place-items: center; color: #597165; background: #eef3ef; border-radius: 12px 0 0 12px; cursor: grab; touch-action: none; user-select: none; }
.pmc-format [data-format-drag]:active { cursor: grabbing; }
.pmc-format-position { display: inline-flex; align-items: center; gap: 3px; margin: 0; color: #425c4f; padding-inline-end: 4px; border-inline-end: 1px solid #dbe5de; }
.pmc-format-position #pmc-format-dock { background: transparent; border: 0; padding-inline: 0 3px; box-shadow: none; }
.pmc-format-group:not([hidden]) { display: inline-flex; gap: 2px; }
.pmc-format button[aria-pressed=true] { color: #115633; background: linear-gradient(#eaf7ee,#d5eddf); border-color: #a5ccb4; }
.pmc-format button:focus-visible, .pmc-format select:focus-visible { outline: 2px solid #178654; outline-offset: 1px; }
.pmc-format [data-rich-status] { flex-basis: 100%; color: #8a3108; }
.pmc-home [contenteditable=true] { cursor: text; }
.pmc-editor dialog { width: min(560px, calc(100vw - 32px)); padding: 18px; color: inherit; background: #f8faf8; border: 1px solid var(--zo-button-border); border-radius: 12px; }
.pmc-editor dialog::backdrop { background: #0007; }
.pmc-html-form textarea { display: block; margin-top: 8px; font: 14px/1.5 monospace; }
.pmc-html-form p { margin-block: 8px; }
#pmc-picker > header h2 { margin: 0; font: 700 22px/1.25 system-ui, sans-serif; }
#pmc-picker h3 { margin: 18px 0 8px; font: 650 16px/1.3 system-ui, sans-serif; }
.pmc-picker-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
.pmc-picker-grid > div { min-width: 0; cursor: pointer; background: #edf2ee; border-radius: 8px; overflow: hidden; border: 1px solid var(--zo-button-border); }
.pmc-picker-grid .pmc-picker-choice { display: block; width: 100%; border: 0; border-radius: 0; text-align: left; }
.pmc-thumbnail { height: 82px; overflow: hidden; position: relative; background: #fff; }
.pmc-thumbnail-canvas { width: 850px; min-height: 350px; transform: scale(.2); transform-origin: top left; }
.pmc-thumbnail .pmc-column { min-height: 245px; padding: 20px; border-radius: 16px; background: #eaf3ed; color: #264132; font-size: 24px; }
.pmc-thumbnail .contact-block { padding: 20px; }
#pmc-picker a { display: inline-block; margin-top: 12px; color: #126239; }
.pmc-column-section { display: grid; grid-template-columns: repeat(var(--columns, 1), minmax(0, 1fr)); gap: clamp(12px, 3vw, 32px); padding-block: 2.25rem; }
.pmc-column-section[data-columns="2"] { --columns: 2; }
.pmc-column-section[data-columns="3"] { --columns: 3; }
.pmc-column-section[data-columns="4"] { --columns: 4; }
.pmc-column-section[data-columns="5"] { --columns: 5; }
.pmc-column { min-width: 0; overflow-wrap: anywhere; }
.pmc-column > :first-child { margin-top: 0; }
.pmc-home .contact-block { background: var(--paper); color: var(--ink); border: 1px solid #c5d1c9; border-radius: 10px; padding: 16px; text-align: left; }
.pmc-home .contact-block label span { display: block; }
.pmc-home [data-block-slot] { cursor: pointer; }
.pmc-home [data-block-slot]:hover { outline: 2px dashed #3baa73; outline-offset: 4px; }
@media (max-width: 640px) {
  .pmc-column-section[data-columns] { --columns: 1; }
}
.pmc-editor .pmc-drawer {
  position: fixed; inset: 0 0 0 auto; z-index: 4; margin: 0;
  width: clamp(min(300px, 100vw), var(--drawer-width, 33vw), 100vw);
  max-width: 100vw; height: 100dvh; max-height: 100dvh; overflow: auto;
  padding: 20px; border-radius: 0; border: 0; border-left: 1px solid var(--zo-button-border);
  color: inherit; background: #f8faf8; box-shadow: -12px 0 28px #0005;
  animation: pmc-drawer-in 180ms ease-out;
}
.pmc-editor [data-resize-drawer] { position: fixed; inset-block: 0; left: 0; width: 10px; cursor: ew-resize; touch-action: none; z-index: 1; }
.pmc-drawer { transform: translateX(0); }
.pmc-editor [data-resize-drawer]:is(:hover,:focus-visible) { background: #75d39b55; }
.pmc-editor .remove-button { color: #b91c1c; background: var(--zo-button-danger); }
.pmc-editor .remove-button svg { stroke-width: 2.8; }
#pmc-details h2 { margin: 0 0 12px; font: 700 22px/1.25 system-ui, sans-serif; }
#pmc-details label { display: block; margin-bottom: 12px; }
@keyframes pmc-drawer-in { from { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) { .pmc-editor .pmc-drawer { animation: none; } }
.pmc-editor .pmc-editor-tools { background: linear-gradient(180deg, #fff, #f1f5f2); }
.pmc-editor button, .pmc-editor summary, .pmc-editor-tools > a, .pmc-editor select { box-shadow: var(--zo-button-shadow); }
.pmc-editor button:hover, .pmc-editor summary:hover, .pmc-editor-tools > a:hover { filter: brightness(.97); }
.pmc-editor button:active { box-shadow: inset 0 1px 3px #17281e33; }
.pmc-editor button:disabled { cursor: not-allowed; }
.block-editor-surface > [data-edit]:empty {
  min-height: 1.5rem;
  margin: 0;
  font: 500 .875rem/1.5 system-ui, sans-serif;
  letter-spacing: normal;
}
.block-editor-surface [data-pmc-portal][data-edit-labels] > div > label.field { max-width: 19rem; }
.block-editor-surface [data-pmc-portal][data-edit-labels] > div > label.field > select {
  min-height: 2.25rem;
  padding: .375rem .625rem;
  font-size: .875rem;
}
.pmc-consultation { background: linear-gradient(155deg,#e8f5f3,#fff 85%); }
.pmc-simplepractice-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 1.5rem; }
.pmc-simplepractice-preview { color: #52665b; font-size: .9rem; margin-top: 1rem; }
.pmc-widget-drawer {
  position: fixed; inset: 0 0 0 auto; margin: 0; padding: 0; border: 0;
  width: clamp(min(390px, 100vw), var(--drawer-width, 33vw), 100vw);
  max-width: 100vw; height: 100dvh; max-height: 100dvh;
  color: #17281e; background: #f8faf8; box-shadow: -10px 0 28px #15251e40;
}
.pmc-widget-drawer[open] { display: grid; grid-template-rows: auto minmax(0,1fr) auto; animation: pmc-drawer-in 180ms ease-out; }
.pmc-widget-drawer::backdrop { background: #19282050; }
.pmc-widget-drawer > header,.pmc-widget-drawer > footer { padding: .75rem 1rem .75rem 1.2rem; background: linear-gradient(#fff,#f1f6f2); }
.pmc-widget-drawer > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.pmc-widget-drawer > header h2 { margin: 0; font: 700 1rem/1.25 var(--pmc-font); letter-spacing: 0; text-transform: none; }
.pmc-widget-drawer > header .button { min-height: 2rem; padding: .35rem .7rem; font-size: .85rem; }
.pmc-widget-drawer > footer { font-size: .85rem; }
.pmc-widget-drawer iframe { display: block; width: 100%; height: 100%; border: 0; background: white; }
.pmc-widget-drawer [data-resize-drawer] { position: absolute; inset-block: 0; left: 0; width: 10px; cursor: ew-resize; touch-action: none; z-index: 1; }
.pmc-widget-drawer [data-resize-drawer]:is(:hover,:focus-visible) { background: #75d39b55; }
@media (prefers-reduced-motion: reduce) { .pmc-widget-drawer[open] { animation: none; } }
.pmc-consultation [data-consultation] { max-width: 42rem; margin-top: 1rem; }
.pmc-consultation [hidden] { display: none !important; }
.consult-month,.consult-times,.pmc-social { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; }
.consult-month { justify-content:space-between; margin-bottom:.65rem; }
.consult-month button,.consult-times button,.consult-days button { padding:.35rem .6rem; min-height:2.25rem; border:1px solid #dce6df; border-radius:8px; background:var(--zo-button-neutral); color:#253a2e; cursor:pointer; }
.consult-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.3rem; text-align:center; }
.consult-days button:not(:disabled) { background:linear-gradient(#eff9f2,#dcefe4); color:#125633; font-weight:700; }
.consult-days button[aria-pressed=true] { outline:2px solid #277149; }
.consult-days button:disabled { opacity:.45; }
.consult-times { margin:.75rem 0; }
.pmc-consultation form { display:grid; gap:.6rem; }
.pmc-consultation form label { display:grid; gap:.2rem; }
.pmc-consultation-template .hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(1.5rem,5vw,5rem);min-height:0;padding:clamp(2rem,6vw,6rem);clip-path:none;background:linear-gradient(145deg,#f7fbfc,#e8f2f5);color:var(--ink);overflow:hidden}
.pmc-consultation-template .hero-photo{position:relative;inset:auto;grid-area:1/2;width:100%;height:clamp(18rem,36vw,34rem);border-radius:1rem;overflow:hidden}
.pmc-consultation-template .hero-photo:after{display:none}
.pmc-consultation-template .hero-copy{grid-area:1/1;margin:0;padding:0;color:var(--ink)}
.pmc-consultation-template .hero-copy p{color:var(--ink)}
.pmc-consultation-template .hero-actions .text-link{color:var(--green)}
@media(max-width:720px){.pmc-consultation-template .hero{grid-template-columns:1fr}.pmc-consultation-template .hero-photo{grid-area:2/1}.pmc-consultation-template .hero-copy{grid-area:1/1}}
.pmc-editor .surface-editor h2 { margin:0; font:700 1.1rem/1.3 system-ui,sans-serif; letter-spacing:0 }
.surface-editor-actions { display:flex; align-items:center; gap:.35rem }
.surface-editor-title { display:flex; align-items:center; gap:.5rem; min-width:0 }
.pmc-editor .surface-editor { min-width:min(360px,100vw); font:14px/1.4 system-ui,sans-serif }
.surface-editor [hidden] { display:none !important }
.surface-editor-hint,.surface-editor [data-style-error] { margin:.4rem 0 .8rem; font-size:.85rem }
.surface-editor [data-style-error] { color:#9f3726 }
.surface-editor fieldset { min-width:0; margin:1rem 0; padding:.8rem; border:0; border-radius:.7rem; background:linear-gradient(#fff,#eff4f0); box-shadow:0 2px 8px #1836260b }
.surface-editor legend,.surface-editor summary { font-weight:650 }
.surface-editor summary { cursor:pointer; display:flex; align-items:center; gap:.35rem }
.surface-editor summary::after { content:'▸'; margin-inline-start:auto; color:#526b5d }
.surface-editor details[open] > summary::after { content:'▾' }
.surface-editor summary small { margin-inline-start:auto; color:#526b5d }
.surface-editor fieldset details + details { margin-top:.35rem }
.surface-editor label { display:grid; gap:.25rem; min-width:0; margin:.3rem 0; font-size:.875rem; font-weight:500; line-height:1.35 }
.surface-editor label.surface-checkbox { display:flex; align-items:center; align-self:end; gap:.4rem }
.surface-editor :is(select,input:not([type=checkbox])) { width:100%; min-width:0; min-height:2rem; margin:0; padding:.3rem .45rem; border:1px solid #d9e5dc; border-radius:.4rem; font:inherit; background:#fff }
.surface-editor input[type=color] { padding:.18rem }
.surface-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.2rem .65rem; align-items:end }
.surface-wide { grid-column:1/-1 }
.surface-editor [data-style-themes] { display:grid; grid-template-columns:repeat(auto-fit,minmax(85px,1fr)); gap:.45rem; margin-top:.6rem }
.pmc-editor .surface-editor .surface-theme-choice { display:grid; grid-template-rows:auto 1fr; align-items:start; text-align:left; gap:.35rem; min-width:0; padding:.3rem; font-size:.72rem }
.surface-theme-thumbnail { display:grid; align-content:center; gap:3px; height:60px; padding:.5rem; overflow:hidden; background:#fff; border-radius:.3rem }
.surface-theme-thumbnail i { display:block; width:68%; height:3px; border-radius:3px; background:currentColor; opacity:.55 }
.surface-theme-thumbnail i:first-child { width:45%; height:5px }
.surface-theme-thumbnail [data-surface-edge] { --thumb-scale:.2; height:calc(var(--edge-size)*var(--thumb-scale)) }
.surface-theme-thumbnail :is([data-surface-edge=left],[data-surface-edge=right]) { width:calc(var(--edge-size)*var(--thumb-scale)); height:auto }
.pmc-layout-row { grid-template-columns:minmax(0,1fr) repeat(4,auto) }
.pmc-editor .pmc-layout-row button { white-space:nowrap }
.pmc-chrome-section[style*="--surface-bg:"] :is(.site-header,.site-footer):not([style*="--surface-bg:"]) { background:transparent }
.pmc-page-block-actions { display:flex; flex-wrap:wrap; gap:.35rem; padding:.4rem 1rem }
.pmc-page-block-actions .button { min-height:2rem; padding:.3rem .65rem; font:600 .8rem/1.3 system-ui,sans-serif }
.pmc-editor #pmc-shared-block { min-width:min(500px,100vw) }
#pmc-shared-block[open] { display:grid; grid-template-rows:auto minmax(0,1fr) }
#pmc-shared-block h2 { margin:0; font:650 1rem/1.4 system-ui,sans-serif; letter-spacing:0 }
#pmc-shared-block iframe { width:100%; height:100%; border:0; background:#fff }
.embedded-block-editor .block-workspace { display:block }
.embedded-block-editor .block-editor-surface .site-header { padding-inline:1rem; flex-wrap:wrap }
.pmc-new-page form { position:absolute; inset:auto 0 calc(100% + 8px) auto; z-index:2; width:min(250px,80vw); padding:.7rem; background:#f8faf8; border-radius:.5rem; box-shadow:0 3px 16px #18281e35 }
.pmc-editor[data-dock=top] .pmc-new-page form { inset:calc(100% + 8px) 0 auto auto }
.pmc-new-page form label { display:grid; font:inherit; gap:.25rem; margin-bottom:.4rem }
[data-block-editor-surface] .site-header[data-block-style-target] .nav-actions .button { display:inline-flex }
[data-block-editor-surface] .site-header[data-block-style-target] { flex-wrap:wrap }
[data-rich-flow] :is(ol,ul) { margin-block: .5em; padding-inline-start: 1.6em; }
[data-rich-flow] ul { list-style: disc; }
[data-rich-flow] ol { list-style: decimal; }
[data-rich-flow] blockquote { margin: .65em 0; padding-inline-start: .9em; border-inline-start: 3px solid #89b19a; }
[data-rich-flow] blockquote[data-rich-indent] { margin-inline-start: 2em; padding: 0; border: 0; }
[data-surface-style] { position:relative; isolation:isolate }
[data-surface-style][style*="--surface-bg:"] { background:var(--surface-bg) !important }
[data-surface-style][style*="--surface-ink:"] { color:var(--surface-ink) }
[data-surface-style][style*="--surface-ink:"] :is(h1,h2,h3,p,li):not([style*="color"]) { color:inherit }
.pmc-home .hero[data-surface-style][style*="--surface-bg:"] .hero-photo { visibility:hidden }
.pmc-home .pmc-consultation-template .hero[data-surface-style] .hero-photo { visibility:visible }
.hero:has(> [data-surface-edges]) { clip-path:none }
.membership-band:has(> [data-surface-edges] [data-surface-edge=left]) { border-left:0 }
[data-surface-edges] { position:absolute; inset:0; pointer-events:none; z-index:2 }
[data-surface-edge] { position:absolute; color:var(--edge-color); background:var(--edge-color) }
[data-surface-edge] svg { display:block; width:100%; height:100% }
[data-edge-type=wave],[data-edge-type=trident] { background:none }
[data-surface-edge=top],[data-surface-edge=bottom] { inset-inline:0; height:var(--edge-size) }
[data-surface-edge=left],[data-surface-edge=right] { inset-block:0; width:var(--edge-size) }
[data-surface-edge=top] { top:0; --edge-direction:to bottom }
[data-surface-edge=bottom] { bottom:0; --edge-direction:to top }
[data-surface-edge=left] { left:0; --edge-direction:to right }
[data-surface-edge=right] { right:0; --edge-direction:to left }
[data-surface-edge=bottom]:is([data-edge-type=wave],[data-edge-type=trident]) { scale:1 -1 }
[data-surface-edge=left]:is([data-edge-type=wave],[data-edge-type=trident]) { scale:-1 1 }
[data-edge-type=fade] { background:linear-gradient(var(--edge-direction),var(--edge-color),transparent) }
[data-edge-type=gradient] { background:linear-gradient(125deg,var(--edge-color),var(--edge-accent)) }
[data-surface-transition=fade] { --surface-animation:surface-fade }
[data-surface-transition=rise] { --surface-animation:surface-rise }
[data-surface-transition=zoom] { --surface-animation:surface-zoom }
.site-block-surface[data-surface-style] { padding:clamp(.75rem,2vw,1.4rem) }
.site-block-surface[data-surface-style][style*="--surface-bg:"] > .contact-block { background:transparent }
@keyframes surface-fade { from { opacity:.35 } }
@keyframes surface-rise { from { opacity:.35; translate:0 36px } }
@keyframes surface-zoom { from { opacity:.45; scale:.96 } }
@media (prefers-reduced-motion:no-preference) {
  [data-surface-transition][data-surface-playing] {
    animation:var(--surface-animation) 550ms ease-out both;
  }
}
.pmc-social { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem }
.pmc-social a,.pmc-social span { display:inline-grid; place-items:center; min-width:1.75rem; min-height:1.75rem; color:inherit }
.pmc-home .pmc-social a,.pmc-home .pmc-social a:hover,.pmc-social a,.pmc-social a:hover { text-decoration:none; background:none; border:0; box-shadow:none }
.pmc-social a:hover { opacity:.7 }
.pmc-social a:focus-visible { outline:2px solid currentColor; outline-offset:2px; border-radius:3px }
.pmc-publishing-section { padding-block:clamp(2.5rem,6vw,5rem) }
.publishing-block [data-newsletter] { display:flex; flex-wrap:wrap; gap:.75rem; align-items:end; max-width:45rem }
.publishing-email-label { display:grid; gap:.35rem; flex:1 1 16rem; min-width:0; margin:0 }
.publishing-email-label input { width:100%; margin:0; min-height:3rem; padding:.65rem .8rem; border:1px solid #cbd5d1; border-radius:.55rem; background:white; color:#15231c; font:inherit }
.publishing-block [data-newsletter] > .button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; flex:none; min-height:3rem; margin:0 }
.publishing-block [data-newsletter] > .button svg { flex:none }
.pmc-home .publishing-block [data-newsletter] :is(input,.button) { min-height:3.75rem }
@media(max-width:480px) { .publishing-block [data-newsletter] > .button { width:100% } }
.publishing-block [data-newsletter] [role=status] { flex-basis:100%; margin:0 }
.publishing-block [data-newsletter] [role=status]:empty { display:none }
.publishing-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr)); gap:1rem }
.publishing-entry,.publishing-placeholder { margin:0; padding:1.2rem; background:linear-gradient(145deg,#f7faf7,#edf3ef); border-radius:.8rem; color:#183125 }
.pmc-home :is(.publishing-entry,.publishing-placeholder) { background:linear-gradient(145deg,#f7fbfc,#e8f2f5); color:var(--ink) }
.publishing-entry h3 { margin-top:0 }
.publishing-entry video,.publishing-entry iframe { display:block; width:100%; aspect-ratio:16/9; border:0; border-radius:.55rem; background:#16261d }
.publishing-entry blockquote { margin:0; font-size:1.15em; white-space:pre-line }
.publishing-entry figcaption { margin-top:.75rem; font-size:.9em; font-weight:600 }
.publishing-edit-entry { margin-block:.75rem }
.publishing-edit-entry header { display:flex; justify-content:space-between; align-items:center; gap:.75rem }
