/* Holistic Primary Care. Hand-built, no framework. */

@font-face{font-family:'Literata';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/literata-400.woff2') format('woff2');}
@font-face{font-family:'Literata';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/literata-500.woff2') format('woff2');}
@font-face{font-family:'Literata';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/literata-600.woff2') format('woff2');}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/public-sans-400.woff2') format('woff2');}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/public-sans-500.woff2') format('woff2');}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/public-sans-600.woff2') format('woff2');}

:root{
  --serif:'Literata', Georgia, serif;
  --sans:'Public Sans', system-ui, sans-serif;

  --paper:#FBF9F6;
  --paper-2:#F3EEE7;
  --ink:#22292B;
  --ink-2:#4E5658;
  --ink-3:#7C8486;
  --teal:#1F6076;
  --teal-deep:#123C4B;
  --teal-lift:#2E7A99;
  --rule:#DFD8CE;
  --rule-soft:#EAE4DB;

  --gut:clamp(20px, 4vw, 48px);
  --max:1200px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.6;
  font-synthesis-weight:none;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-0.015em;margin:0;}
p{margin:0;}
ul,ol,dl,dd,dt{margin:0;padding:0;}
li{list-style:none;}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:2px solid var(--teal-lift);outline-offset:3px;}

.shell{width:100%;max-width:var(--max);margin:0 auto;padding-inline:var(--gut);}
.rule{height:1px;background:var(--rule);border:0;margin:0;}

/* ---------- utility bar ---------- */
.util{background:var(--teal-deep);color:#CFE0E6;font-size:13px;letter-spacing:.01em;}
.util .shell{display:flex;flex-wrap:wrap;gap:6px 28px;align-items:center;justify-content:space-between;padding-block:9px;}
.util a:hover{color:#fff;}
.util .util-l{display:flex;flex-wrap:wrap;gap:6px 28px;}

/* ---------- masthead ---------- */
.masthead{border-bottom:1px solid var(--rule);background:var(--paper);}
.masthead .shell{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:18px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand img{height:46px;width:auto;mix-blend-mode:multiply;}
.brand b{display:none;}
.nav{display:flex;align-items:center;gap:26px;}
.nav a{font-size:14.5px;color:var(--ink-2);padding-block:4px;border-bottom:1px solid transparent;}
.nav a:hover{color:var(--ink);border-bottom-color:var(--teal-lift);}
.mast-act{display:flex;align-items:center;gap:18px;}
.tel{font-family:var(--serif);font-size:19px;color:var(--teal-deep);letter-spacing:-0.01em;white-space:nowrap;}
.tel:hover{color:var(--teal-lift);}

/* menu for narrow screens, no script */
.menu{display:none;}
.menu > summary{
  cursor:pointer;list-style:none;display:flex;flex-direction:column;gap:5px;
  padding:10px;margin:-10px;
}
.menu > summary::-webkit-details-marker{display:none;}
.menu > summary i{display:block;width:22px;height:1.5px;background:var(--ink);}
.menu[open] > summary i:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.menu[open] > summary i:nth-child(2){opacity:0;}
.menu[open] > summary i:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.menu > summary i{transition:transform .18s ease,opacity .18s ease;}
.menu-panel{
  position:absolute;top:100%;left:0;right:0;z-index:20;
  background:var(--paper);border-bottom:1px solid var(--rule);
  padding:6px var(--gut) 20px;
}
.menu-panel a{display:block;padding:13px 0;border-bottom:1px solid var(--rule-soft);font-size:16.5px;}
.menu-panel .tel-row{display:block;padding-top:16px;border-bottom:0;font-family:var(--serif);font-size:21px;color:var(--teal-deep);}
.menu-panel .btn{display:inline-flex;border-bottom:1px solid var(--teal-deep);padding:11px 20px;}

.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--sans);font-size:14.5px;font-weight:600;letter-spacing:.01em;
  padding:11px 20px;border:1px solid var(--teal-deep);border-radius:2px;
  background:var(--teal-deep);color:#fff;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.btn:hover{background:var(--teal-lift);border-color:var(--teal-lift);}
.btn-ghost{background:transparent;color:var(--teal-deep);}
.btn-ghost:hover{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep);}
.btn-pale{background:#fff;color:var(--teal-deep);border-color:#fff;}
.btn-pale:hover{background:var(--paper-2);border-color:var(--paper-2);color:var(--teal-deep);}

/* text link with a considered underline */
.tlink{
  color:var(--teal);font-weight:500;
  border-bottom:1px solid var(--rule);
  padding-bottom:2px;
  transition:border-color .16s ease,color .16s ease;
}
.tlink:hover{color:var(--teal-deep);border-bottom-color:var(--teal-deep);}

/* ---------- hero ---------- */
.hero{padding-top:clamp(48px,7vw,86px);}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,0.98fr);
  gap:clamp(32px,5vw,64px);
  align-items:end;
}
.hero h1{font-size:clamp(40px,5.6vw,68px);max-width:14ch;}
.hero .lede{margin-top:22px;font-size:clamp(17px,1.5vw,19.5px);color:var(--ink-2);max-width:46ch;}
.hero .acts{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px;}

/* photo breaks the container to the right edge, deliberately off-grid */
.hero-shot{position:relative;margin-right:calc(-1 * var(--gut));}
.hero-shot img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:2px 0 0 2px;}

/* credentials run as a sentence on a rule, not a badge bar */
.creds{
  margin-top:clamp(40px,5vw,64px);
  border-top:1px solid var(--rule);
  display:flex;flex-wrap:wrap;
  column-gap:clamp(20px,3.4vw,44px);row-gap:10px;
  padding-top:16px;
  font-size:14px;color:var(--ink-2);
}
.creds span{position:relative;}
@media (max-width:1180px){.creds span+span::before{display:none;}}
.creds span+span::before{
  content:"";position:absolute;left:calc(-1 * clamp(10px,1.7vw,22px));top:.45em;
  width:1px;height:1em;background:var(--rule);
}

/* ---------- treat index: a directory, not a card grid ---------- */
.index-sec{padding-block:clamp(64px,8vw,104px);}
.index-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,56px);align-items:start;}
.index-grid > div:first-child{position:sticky;top:28px;}
.index-grid h2{font-size:clamp(28px,3.3vw,42px);max-width:15ch;}
.index-grid .note{margin-top:18px;font-size:15.5px;color:var(--ink-2);max-width:34ch;}
.index-list{border-top:1px solid var(--rule);}
.index-list a{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 24px;
  align-items:baseline;
  padding:22px 0 20px;
  border-bottom:1px solid var(--rule-soft);
  transition:padding-left .2s ease,border-color .2s ease;
}
.index-list a:hover{padding-left:12px;border-bottom-color:var(--teal-lift);}
.index-list h3{font-size:clamp(20px,2vw,25px);letter-spacing:-0.01em;}
.index-list p{grid-column:1/-1;margin-top:7px;font-size:15px;color:var(--ink-2);max-width:56ch;}
.index-list .go{
  font-family:var(--sans);font-size:13px;color:var(--ink-3);
  opacity:0;transform:translateX(-4px);transition:opacity .2s ease,transform .2s ease;
}
.index-list a:hover .go{opacity:1;transform:none;color:var(--teal);}

/* ---------- practitioner ---------- */
.prac{background:var(--paper-2);border-block:1px solid var(--rule);}
.prac-grid{
  display:grid;grid-template-columns:minmax(0,0.78fr) minmax(0,1.22fr);
  gap:clamp(30px,5vw,68px);align-items:start;
}
.prac-shot{margin-left:calc(-1 * var(--gut));align-self:stretch;}
.prac-shot img{width:100%;height:100%;min-height:340px;object-fit:cover;object-position:center 22%;}
.prac-body{padding-block:clamp(52px,6.5vw,84px);}
.prac-body h2{font-size:clamp(30px,3.6vw,44px);}
.prac-body .role{margin-top:14px;font-size:15px;color:var(--ink-2);}
.prac-body .bio{margin-top:22px;font-size:17px;color:var(--ink-2);max-width:56ch;}
.prac-body .acts{margin-top:26px;}
.qual{margin-top:26px;border-top:1px solid var(--rule);}
.qual div{display:flex;gap:16px;padding:11px 0;border-bottom:1px solid var(--rule-soft);font-size:14.5px;}
.qual dt{flex:0 0 auto;width:120px;color:var(--ink-3);}
.qual dd{color:var(--ink);margin:0;}

/* ---------- approach: inverted editorial band, no cards ---------- */
.approach{background:var(--teal-deep);color:#EAF1F3;padding-block:clamp(58px,7vw,92px);}
.approach-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,4vw,56px);align-items:start;}
.approach h2{font-size:clamp(27px,3.2vw,38px);color:#fff;max-width:13ch;}
.approach .stack > div{padding:24px 0;border-top:1px solid rgba(255,255,255,.16);}
.approach .stack > div:first-child{border-top:0;padding-top:0;}
.approach .stack h3{font-size:clamp(19px,1.9vw,23px);color:#fff;}
.approach .stack p{margin-top:9px;font-size:16px;color:#BFD4DB;max-width:60ch;}

/* ---------- testimonials: one feature, two supporting, uneven ---------- */
.voices{padding-block:clamp(62px,8vw,100px);}
.voices h2{font-size:clamp(28px,3.3vw,42px);max-width:24ch;}
.feature{
  margin-top:clamp(28px,4vw,48px);
  display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  gap:clamp(24px,4vw,52px);align-items:start;
}
blockquote{margin:0;}
.feature .q{font-family:var(--serif);font-size:clamp(22px,2.7vw,32px);line-height:1.26;letter-spacing:-0.012em;}
.attrib{margin-top:16px;font-size:13.5px;color:var(--ink-3);letter-spacing:.02em;}
.pair{display:grid;gap:26px;}
.pair .q{font-size:17.5px;line-height:1.55;color:var(--ink);}
.pair blockquote{border-left:2px solid var(--rule);padding-left:20px;}
details{margin-top:12px;}
details summary{
  cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:7px;
  font-size:13.5px;font-weight:600;color:var(--teal);
}
details summary::-webkit-details-marker{display:none;}
details summary .chev{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;transition:transform .18s ease;}
details[open] summary .chev{transform:rotate(180deg);}
details .full{margin-top:12px;font-size:15.5px;color:var(--ink-2);max-width:62ch;}
.voices .more{margin-top:clamp(28px,3.6vw,44px);font-size:15px;}

/* ---------- forms: one compact band, no twin cards ---------- */
.forms{border-block:1px solid var(--rule);background:var(--paper-2);}
.forms .shell{
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:20px 40px;align-items:center;padding-block:clamp(26px,3.4vw,38px);
}
.forms h2{font-size:clamp(20px,2.1vw,26px);}
.forms p{margin-top:6px;font-size:15px;color:var(--ink-2);max-width:48ch;}
.forms .opts{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;font-size:15px;}

/* ---------- FAQ: two columns of Q/A, space not rules ---------- */
.faq{padding-block:clamp(62px,8vw,100px);}
.faq h2{font-size:clamp(28px,3.3vw,42px);max-width:24ch;}
.qa{margin-top:clamp(28px,4vw,48px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,3.4vw,44px) clamp(32px,5vw,72px);}
.qa h3{font-size:clamp(18px,1.85vw,22px);}
.qa p{margin-top:10px;font-size:16px;color:var(--ink-2);max-width:48ch;}
.faq .more{margin-top:clamp(30px,4vw,46px);font-size:15px;color:var(--ink-2);}

/* ---------- footer ---------- */
footer{background:var(--ink);color:#B9C0C2;padding-block:clamp(48px,6vw,72px);font-size:14.5px;}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:clamp(26px,3.4vw,44px);}
footer img{height:44px;width:auto;background:#fff;padding:9px 12px;border-radius:3px;}
footer .blurb{margin-top:18px;max-width:34ch;color:#9BA3A5;line-height:1.55;}
footer h4,footer .foot-h{font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#7E8688;margin-bottom:12px;}
footer li{margin-bottom:8px;}
footer a:hover{color:#fff;}
.colophon{margin-top:clamp(34px,4.4vw,54px);padding-top:20px;border-top:1px solid #33393B;font-size:13px;color:#7E8688;}
.colophon a{color:#9BA3A5;}
.colophon a:hover{color:#fff;}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .nav{display:none;}
  .menu{display:block;}
  .masthead{position:relative;}
  .hero-grid,.index-grid,.prac-grid,.approach-grid,.feature,.foot-grid{grid-template-columns:minmax(0,1fr);}
  .index-grid > div:first-child{position:static;}
  .hero-shot{margin-inline:calc(-1 * var(--gut));}
  .hero-shot img{border-radius:0;aspect-ratio:16/10;}
  .prac-shot{margin-inline:calc(-1 * var(--gut));}
  .prac-shot img{min-height:0;aspect-ratio:16/10;}
  .prac-body{padding-top:36px;}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .forms .shell{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:640px){
  body{font-size:16.5px;}
  .util .shell{justify-content:flex-start;}
  .qa{grid-template-columns:minmax(0,1fr);}
  .foot-grid{grid-template-columns:minmax(0,1fr);}
  .tel{display:none;}
  .mast-act > .btn{display:none;}
  .masthead .shell{padding-block:14px;}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;}
}

/* ============ interior pages ============ */

.pagehead{padding-top:clamp(30px,4vw,46px);padding-bottom:clamp(30px,4vw,44px);border-bottom:1px solid var(--rule);}
.breadcrumb{font-size:13px;color:var(--ink-3);margin-bottom:clamp(18px,2.4vw,26px);}
.breadcrumb a{color:var(--ink-3);border-bottom:1px solid transparent;}
.breadcrumb a:hover{color:var(--teal);border-bottom-color:var(--teal);}
.pagehead h1{font-size:clamp(32px,4.4vw,54px);max-width:20ch;}
.pagehead > .shell > p{margin-top:18px;font-size:clamp(16.5px,1.4vw,18.5px);color:var(--ink-2);max-width:62ch;}

/* service pages: headline and standfirst sit side by side */
body.page-service .pagehead > .shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:end;}
body.page-service .pagehead .breadcrumb{grid-column:1/-1;margin-bottom:0;}
body.page-service .pagehead h1{max-width:16ch;}
body.page-service .pagehead > .shell > p{margin-top:0;padding-bottom:6px;}

/* article pages: one column, narrow measure, bigger headline */
body.page-article .pagehead h1{max-width:18ch;font-size:clamp(34px,5vw,60px);}

.body-sec{padding-block:clamp(44px,6vw,76px);}

/* ---------- prose ---------- */
.prose{max-width:68ch;}
.prose p{margin-top:18px;font-size:17.5px;color:var(--ink-2);max-width:none;}
.prose p:first-child{margin-top:0;font-size:19px;color:var(--ink);}
.prose h2{font-size:clamp(24px,2.6vw,32px);margin-top:clamp(38px,4.4vw,54px);margin-bottom:20px;padding-top:clamp(20px,2.4vw,28px);border-top:1px solid var(--rule);}
.prose h2:first-child{margin-top:0;padding-top:0;border-top:0;}
.prose h3{font-size:clamp(19px,1.9vw,22px);margin-top:30px;}
.prose strong{font-weight:600;color:var(--ink);}
.prose ul{margin-top:16px;}
.prose ul li{position:relative;padding-left:20px;margin-top:9px;font-size:17px;color:var(--ink-2);}
.prose ul li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:1px;background:var(--ink-3);}
.prose a:not(.btn){color:var(--teal);border-bottom:1px solid var(--rule);padding-bottom:1px;}
.prose a:not(.btn):hover{color:var(--teal-deep);border-bottom-color:var(--teal-deep);}
.credential-list li::before{background:var(--teal);}

/* wide prose for pages with many short sections: heading rail on the left */
body.page-article .prose{max-width:none;}
body.page-article .prose h2{
  border-top:1px solid var(--rule);
}
@media (min-width:1001px){
  body.page-article .prose{
    display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);
    column-gap:clamp(32px,4.4vw,64px);align-items:start;
  }
  body.page-article .prose > *{grid-column:2;}
  body.page-article .prose > h2{
    grid-column:1;margin-top:clamp(38px,4.4vw,54px);
    font-size:clamp(22px,2.2vw,27px);
  }
  /* a heading pulls its following siblings level with it */
  body.page-article .prose > h2 + *{margin-top:clamp(38px,4.4vw,54px);padding-top:clamp(20px,2.4vw,28px);border-top:1px solid var(--rule);}
  body.page-article .prose > h2{padding-top:clamp(20px,2.4vw,28px);}
}

/* ---------- pull-out panel ---------- */
.aside{
  margin-top:clamp(32px,3.6vw,44px);
  background:var(--paper-2);border:1px solid var(--rule);
  padding:clamp(22px,2.6vw,30px);
}
.aside h3{font-size:clamp(19px,1.9vw,22px);}
.aside p{margin-top:10px;font-size:16px;color:var(--ink-2);max-width:62ch;}

/* ---------- Q and A ---------- */
.qa-block{margin-top:clamp(44px,5vw,68px);padding-top:clamp(28px,3.2vw,40px);border-top:1px solid var(--rule);}
.qa-block > h2{font-size:clamp(24px,2.6vw,32px);max-width:24ch;}
.qa-item{margin-top:clamp(24px,2.8vw,34px);}
.qa-item h3{font-size:clamp(18px,1.8vw,21px);}
.qa-item p{margin-top:9px;font-size:16.5px;color:var(--ink-2);max-width:60ch;}
.qa-item a{color:var(--teal);border-bottom:1px solid var(--rule);}
.qa-item a:hover{color:var(--teal-deep);border-bottom-color:var(--teal-deep);}
@media (min-width:1001px){
  .qa-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,5vw,72px);}
  .qa-two > h2{grid-column:1/-1;}
}

/* the FAQ page runs as one grouped column, not a grid */
.faq-flow{max-width:74ch;}
.faq-flow > h2{
  font-size:clamp(21px,2.1vw,26px);
  margin-top:clamp(46px,5.4vw,72px);padding-bottom:14px;
  border-bottom:1px solid var(--rule);
}
.faq-flow > h2:first-child{margin-top:0;}
.faq-flow > .qa-item{margin-top:clamp(22px,2.6vw,30px);}
.faq-flow > .qa-item p{max-width:none;}

/* ---------- inline CTA rule ---------- */
.cta-rule{margin-top:clamp(40px,4.6vw,58px);padding-top:clamp(24px,2.8vw,32px);border-top:1px solid var(--rule);}

/* ---------- next to read ---------- */
.next-read{margin-top:clamp(48px,5.6vw,76px);}
.next-read > h2{font-size:clamp(20px,2vw,24px);margin-bottom:6px;}
.index-list{border-top:1px solid var(--rule);}
.index-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;align-items:baseline;
  padding:20px 0 18px;border-bottom:1px solid var(--rule-soft);
  transition:padding-left .2s ease,border-color .2s ease;
}
.index-row:hover{padding-left:12px;border-bottom-color:var(--teal-lift);}
.index-row h2,.index-row h3{font-size:clamp(19px,1.9vw,23px);letter-spacing:-0.01em;}
.index-row p{grid-column:1/-1;margin-top:6px;font-size:15px;color:var(--ink-2);max-width:60ch;}

/* article pages get a different close: two large links, no rules */
body.page-article .next-read .index-list{border-top:1px solid var(--rule);padding-top:clamp(24px,2.8vw,34px);}
body.page-article .next-read .index-row{
  border-bottom:0;padding:0 0 clamp(22px,2.6vw,30px);
}
body.page-article .next-read .index-row:hover{padding-left:0;}
body.page-article .next-read .index-row h2,
body.page-article .next-read .index-row h3{font-size:clamp(22px,2.4vw,29px);}
body.page-article .next-read .index-row:hover h2,
body.page-article .next-read .index-row:hover h3{color:var(--teal);}
@media (min-width:1001px){
  body.page-article .next-read .index-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,5vw,64px);}
}

/* the services and blog directories run full width */
body.page-hub .index-list{border-top:1px solid var(--rule);}
body.page-hub .index-row{padding:clamp(22px,2.6vw,30px) 0;}
body.page-hub .index-row h2{font-size:clamp(22px,2.6vw,30px);}
.blog-thumb{grid-column:1/-1;margin-top:16px;max-width:520px;}
.blog-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:2px;}

/* ---------- section heads ---------- */
.sec-head{margin-top:clamp(40px,4.6vw,60px);margin-bottom:clamp(22px,2.6vw,32px);max-width:62ch;}
.sec-head:first-child{margin-top:0;}
.sec-head h2{font-size:clamp(24px,2.6vw,32px);}
.sec-head p{margin-top:12px;font-size:16.5px;color:var(--ink-2);}
.body-sec > .shell > h2{margin-top:clamp(40px,4.6vw,60px);margin-bottom:clamp(22px,2.6vw,32px);font-size:clamp(24px,2.6vw,32px);}
.body-sec > .shell > h2:first-child{margin-top:0;}

/* ---------- quote wall ---------- */
.quote-wall{columns:2;column-gap:clamp(32px,4.4vw,60px);}
.quote{break-inside:avoid;padding:0 0 clamp(26px,3vw,36px);display:flex;flex-direction:column;}
.quote > p{font-family:var(--serif);font-size:19px;line-height:1.45;letter-spacing:-0.008em;color:var(--ink);order:1;}
.quote cite{order:2;display:block;margin-top:12px;font-family:var(--sans);font-style:normal;font-size:13px;color:var(--ink-3);letter-spacing:.02em;}
.quote .quote-more{order:3;}
.quote details p{font-family:var(--sans);font-size:15.5px;line-height:1.6;color:var(--ink-2);}
@media (max-width:900px){.quote-wall{columns:1;}}

/* ---------- contact ---------- */
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4.4vw,64px);align-items:start;}
.panel{margin-bottom:clamp(26px,3vw,36px);}
.panel h2{font-size:clamp(19px,1.9vw,23px);padding-bottom:12px;margin-bottom:22px;border-bottom:1px solid var(--rule);}
.panel p,.panel address{margin-top:12px;font-size:16.5px;color:var(--ink-2);font-style:normal;max-width:52ch;}
.panel a{color:var(--teal);border-bottom:1px solid var(--rule);}
.panel a:hover{color:var(--teal-deep);border-bottom-color:var(--teal-deep);}
.contact-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px;}

/* ---------- forms ---------- */
.forms-band{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(24px,3.4vw,44px);
  border-block:1px solid var(--rule);padding-block:clamp(26px,3.2vw,38px);
}
.form-opt h2{font-size:clamp(19px,1.9vw,23px);}
.forms-band-single{grid-template-columns:minmax(0,1fr);}
.form-opt .form-note{margin-top:14px;margin-bottom:0;font-size:14px;color:var(--ink-2);max-width:60ch;}
.form-opt p{margin-top:8px;margin-bottom:18px;font-size:16px;color:var(--ink-2);max-width:44ch;}

.field{margin-bottom:18px;}
.field label{display:block;font-size:13.5px;font-weight:600;letter-spacing:.01em;color:var(--ink-2);margin-bottom:7px;}
.field input,.field select,.field textarea{
  width:100%;font-family:var(--sans);font-size:16px;color:var(--ink);
  background:var(--paper);border:1px solid var(--rule);border-radius:2px;
  padding:11px 13px;
}
.field textarea{min-height:130px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--teal-lift);outline-offset:1px;border-color:transparent;}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;}
.field-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px;}
.radio-row{display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:4px;}
.radio-item{display:inline-flex;align-items:center;gap:7px;font-size:15.5px;font-weight:400;color:var(--ink-2);margin:0;}
.radio-item input{width:auto;}

.wizard{margin-top:clamp(26px,3vw,36px);}
.wizard-progress{display:flex;flex-wrap:wrap;gap:6px 26px;padding-bottom:16px;border-bottom:1px solid var(--rule);margin-bottom:clamp(26px,3vw,34px);}
.wp-step{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-3);}
.wp-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border:1px solid var(--rule);border-radius:50%;
  font-size:12px;font-weight:600;
}
.wp-step.is-active{color:var(--ink);}
.wp-step.is-active .wp-num{background:var(--teal-deep);border-color:var(--teal-deep);color:#fff;}
.wp-step.is-done .wp-num{background:var(--paper-2);border-color:var(--rule);color:var(--teal-deep);}
.wizard-step{display:none;}
.wizard-step.is-active{display:block;}
.step-title{font-size:clamp(21px,2.1vw,26px);margin-bottom:18px;}
.wizard-nav{display:flex;gap:12px;align-items:center;margin-top:26px;padding-top:22px;border-top:1px solid var(--rule);}
.wizard-nav button[disabled]{opacity:.35;cursor:not-allowed;}
.consent-box{
  background:var(--paper-2);border:1px solid var(--rule);
  padding:clamp(18px,2.2vw,24px);margin-bottom:20px;font-size:15.5px;color:var(--ink-2);
}
.consent-box p{margin-top:12px;}
.consent-box p:first-child{margin-top:0;}
.consent-box h4{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink);margin-bottom:8px;}

/* ---------- videos ---------- */
.video-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,3.6vw,48px);}
.video-embed{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--paper-2);border:1px solid var(--rule);}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
/* two vertical clips side by side, the landscape one squared off underneath them */
.video-testimonial-row{
  display:grid;grid-template-columns:repeat(2,minmax(0,280px));
  gap:clamp(16px,2vw,24px);justify-content:start;
  margin-top:clamp(22px,2.6vw,32px);
}
.video-testimonial-row .video-embed{width:100%;aspect-ratio:9/16;}
.video-testimonial-row .video-embed-wide{grid-column:1/-1;aspect-ratio:16/9;}
@media (max-width:640px){
  .video-testimonial-row{grid-template-columns:minmax(0,1fr);max-width:320px;}
}
.more-links{margin-top:clamp(24px,3vw,34px);font-size:16px;color:var(--ink-2);}
.more-links a{color:var(--teal);border-bottom:1px solid var(--rule);}
.more-links a:hover{color:var(--teal-deep);border-bottom-color:var(--teal-deep);}
.video-caption{margin-top:14px;font-family:var(--serif);font-size:clamp(18px,1.8vw,21px);line-height:1.25;}
.video-more{margin-top:8px;font-size:14.5px;}
.video-more a{color:var(--teal);border-bottom:1px solid var(--rule);}
.video-more a:hover{color:var(--teal-deep);border-bottom-color:var(--teal-deep);}

/* ---------- profile ---------- */
.profile{display:grid;grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);gap:clamp(30px,4.4vw,60px);align-items:start;margin-bottom:clamp(40px,5vw,64px);}
.profile .portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;border-radius:2px;}
.qual-inline{display:flex;flex-wrap:wrap;column-gap:clamp(20px,3vw,38px);row-gap:7px;padding-bottom:16px;border-bottom:1px solid var(--rule);margin-bottom:22px;font-size:14px;color:var(--ink-2);}

/* ---------- thank you ---------- */
.thanks{padding-block:clamp(80px,12vw,150px);}
.thanks h1{font-size:clamp(34px,4.6vw,52px);}
.thanks p{margin-top:18px;margin-bottom:32px;font-size:19px;color:var(--ink-2);max-width:44ch;}

@media (max-width:1000px){
  body.page-service .pagehead > .shell{grid-template-columns:minmax(0,1fr);align-items:start;}
  body.page-service .pagehead .breadcrumb{margin-bottom:clamp(18px,2.4vw,26px);}
  body.page-service .pagehead > .shell > p{margin-top:18px;padding-bottom:0;}
  .contact-layout,.forms-band,.video-list,.profile{grid-template-columns:minmax(0,1fr);}
  .field-grid,.field-grid-3{grid-template-columns:minmax(0,1fr);}
}

/* the blog index reads as two article entries, not a list */
body.page-cards .blog-thumb{margin-top:0;margin-bottom:16px;max-width:none;}
@media (min-width:1001px){
  body.page-cards .index-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,4.4vw,56px);}
  body.page-cards .index-row{border-bottom:0;padding:clamp(26px,3vw,36px) 0 0;}
  body.page-cards .index-row:hover{padding-left:0;}
  body.page-cards .index-row:hover h2{color:var(--teal);}
}

/* ---------- the rest of the team ---------- */
.team-secondary{
  display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);
  gap:clamp(20px,3vw,36px);align-items:start;margin-top:4px;
}
.team-secondary .portrait img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:2px;}
.team-secondary h3{margin-top:0;}
.team-secondary p{margin-top:10px;font-size:16.5px;color:var(--ink-2);}
@media (max-width:700px){.team-secondary{grid-template-columns:minmax(0,1fr);}}

/* ---------- internal note, not for publish ---------- */
.editorial-note{
  border:1px dashed #C2A86B;background:#FBF4E4;color:#5C4A1E;
  padding:16px 18px;margin:0 0 22px;font-size:14px;line-height:1.6;max-width:70ch;
}
.editorial-note strong{display:block;margin-bottom:5px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#7A5F1E;}

/* ---------- intake form details ---------- */
.field .hint{font-weight:400;color:var(--ink-3);font-size:13px;}
.legal-box{
  background:var(--paper-2);border:1px solid var(--rule);
  padding:22px 24px;margin-bottom:22px;font-size:14.5px;line-height:1.7;color:var(--ink-2);
}
.legal-box p{max-width:none;margin-bottom:14px;}
.legal-box p:last-child{margin-bottom:0;}
.legal-box-scroll{max-height:280px;overflow-y:auto;}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;padding-top:4px;}
.check-item{display:flex;align-items:center;gap:9px;font-size:15.5px;font-weight:400;color:var(--ink-2);margin:0;}
.check-item input,.radio-item input{width:16px;height:16px;accent-color:var(--teal);}
.consent-box .check-item{align-items:flex-start;font-size:14.5px;line-height:1.6;}
.consent-box .check-item input{margin-top:3px;}
.ros-list{border-top:1px solid var(--rule);}
.ros-group{border-bottom:1px solid var(--rule-soft);padding:16px 0;}
.ros-group summary{
  cursor:pointer;list-style:none;user-select:none;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-family:var(--serif);font-size:18px;color:var(--ink);
}
.ros-group summary::-webkit-details-marker{display:none;}
.ros-group summary .chev{
  flex-shrink:0;width:0;height:0;
  border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--teal);
  transition:transform .18s ease;
}
.ros-group[open] summary .chev{transform:rotate(180deg);}
.ros-group .check-grid{margin-top:16px;}
.symptom-row{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:12px;margin-bottom:10px;}
.symptom-duration{font-size:14.5px;}
.wp-label{display:inline;}
@media (max-width:700px){
  .check-grid{grid-template-columns:minmax(0,1fr);}
  .symptom-row{grid-template-columns:minmax(0,1fr);}
  .wp-label{display:none;}
}

/* ---------- article lead image and standfirst ---------- */
.lead-shot{margin-bottom:clamp(28px,3.6vw,44px);}
.lead-shot img{width:100%;height:clamp(200px,24vw,320px);object-fit:cover;object-position:center 30%;border-radius:2px;}
body.page-article .prose > p:first-child{
  font-size:clamp(19px,1.8vw,23px);line-height:1.45;color:var(--ink);max-width:64ch;
}
@media (min-width:1001px){
  body.page-article .prose > p:first-child{grid-column:1/-1;}
}

/* button rows, wherever they appear */
.acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(22px,2.6vw,30px);}

.pagehead .updated{margin-top:10px;font-size:14px;color:var(--ink-3);}

/* Always-visible "View" cue on clickable list rows (desktop + mobile) */
.index-list a::after{
  content:"View \2192";
  grid-column:2;grid-row:1;align-self:baseline;
  font-family:var(--sans);font-size:13.5px;font-weight:500;color:var(--teal);
  white-space:nowrap;transition:transform .2s ease;
}
.index-list a:hover::after,.index-list a:focus-visible::after{transform:translateX(4px);}
.index-list a:hover h2,.index-list a:hover h3,
.index-list a:focus-visible h2,.index-list a:focus-visible h3{color:var(--teal);}
