/* InnerSight shared page styles - condition pages (.isc-) and modality pages (.ism-).
   Hand-maintained. There is NO generator for this file; edit it directly.
   Rules identical across both families carry a combined selector list. Rules that
   are prefix-specific are intentionally so - see scripts/css-merge/ before
   merging any of them, especially anything whose body names a keyframe. */
.isc-page,.ism-page{--brand:#4370B7;--brand-deep:#33599A;--brand-ink:#1F3C6C;--brand-dark:#4E2A7D;--accent:#FF6F61;--accent-deep:#E8604F;--mist:#E8F1FF;--mist-mid:#C9D9F0;--cream:#FDFBF9;--gray-bg:#F5F5F5;--white:#FFFFFF;--text:#333333;--text-soft:#666666;--text-light:#666666;--line:#E4E2DA;--star:#F5A623;--sans:'Open Sans',Arial,sans-serif;--serif:'Open Sans',Arial,sans-serif;--shadow-sm:0 2px 8px rgba(78,42,125,.06);--shadow-md:0 6px 24px rgba(78,42,125,.10);font-family:var(--sans);color:var(--text);background:var(--cream);}
.isc-page *,.ism-page *{box-sizing:border-box;}
.isc-page h1,.isc-page h2,.isc-page h3,.isc-page h4,.ism-page h1,.ism-page h2,.ism-page h3,.ism-page h4{text-transform:none !important;}
.isc-wrap,.ism-wrap{max-width:1520px;margin:0 auto;padding:clamp(56px,6vw,80px) clamp(20px,4vw,32px);box-sizing:content-box;}
.isc-eyebrow,.ism-eyebrow{display:block;font:700 13px/1 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--brand-deep);}
.isc-page h1.isc-h1,.ism-page h1.ism-h1{font:800 clamp(2.1rem,5vw,3.2rem)/1.15 var(--sans);letter-spacing:-.02em;color:var(--brand-ink);margin:12px 0 0;}
.isc-page h2.isc-h2,.ism-page h2.ism-h2{font:700 clamp(2rem,4vw,2.6rem)/1.2 var(--sans);letter-spacing:-.015em;color:var(--brand);margin:12px 0 0;}
.isc-page h3.isc-h3,.ism-page h3.ism-h3{font:700 1.15rem/1.25 var(--sans);color:var(--brand-ink);margin:0 0 6px;}
.isc-lede,.ism-lede{font:400 17px/1.55 var(--sans);color:var(--text-soft);margin:14px 0 0;}
.isc-page p,.ism-page p{font:400 16px/1.6 var(--sans);}
.isc-btn,.ism-btn{display:inline-block;background:#FF6F61 !important;color:#fff !important;font:600 16px/1 var(--sans);padding:14px 30px;border:none;border-radius:50px;text-decoration:none !important;cursor:pointer;box-shadow:0 2px 12px rgba(255,111,97,.3);transition:all .25s cubic-bezier(.4,0,.2,1);}
.isc-btn:hover,.ism-btn:hover{background:#E8604F !important;color:#fff !important;transform:translateY(-1px);box-shadow:0 4px 16px rgba(255,111,97,.4);}
.isc-btn2,.ism-btn2{display:inline-block;background:transparent;color:var(--brand-dark) !important;border:2px solid var(--brand-dark);font:600 16px/1 var(--sans);padding:12px 28px;border-radius:50px;text-decoration:none !important;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);}
.isc-btn2:hover,.ism-btn2:hover{background:var(--brand-dark);color:#fff !important;}
/* FULL-BLEED HERO BAND. The mist band runs the whole viewport; only its CONTENT
   sits on the 1520 line. Capping the band itself left a cream gutter down both
   sides and pushed the copy one 32px gutter INSIDE the header logo, so the h1
   never lined up with the menu above it. box-sizing:content-box on the grid is
   load-bearing: the page carries a border-box reset, under which max-width:1520
   renders 1456 of content and the copy lands 32px in from the line. */
.isc-hero,.ism-hero{background:#E8F1FF;border-radius:0 0 28px 28px;max-width:none;margin:0 auto;position:relative;overflow:hidden;}
.isc-hero-grid,.ism-hero-grid{max-width:1520px;box-sizing:content-box;margin:0 auto;padding:clamp(48px,7vw,88px) clamp(20px,4vw,32px);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,64px);align-items:center;position:relative;}
.isc-float{position:absolute;background:rgba(255,255,255,.94);border:1px solid var(--mist-mid);border-radius:50px;padding:10px 18px;box-shadow:var(--shadow-md);animation:iscFloat 3s ease-in-out infinite;font:700 13px/1 var(--sans);color:var(--brand-ink);display:flex;align-items:center;gap:8px;}
.isc-grid,.ism-grid{display:grid;gap:18px;margin-top:40px;}
.isc-grid-cards,.ism-grid-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));}
.isc-grid-therapists,.ism-grid-therapists{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-top:44px;}
/* THE CARD CAP (2026-09-20). A `1fr` max makes the therapist card size a function
   of how many therapists the page happens to list: auto-fit collapses the empty
   tracks and the survivors absorb all the free space, so a 2-card roster rendered
   669px cards with 668px photos and a 3-card roster 439px, against a ~255-324px
   house norm. The cap is SCOPED TO ROSTERS OF 2 AND 3 and must stay that way.
   With a definite max, auto-fit derives its repetition count from that max, not
   from the min, so an unconditional cap drops a 4-card roster to 3 columns and
   orphans it 3+1 at 1440 and 1280 (measured). 4+ card rosters keep `1fr`, which
   is what lets them shrink to fit one row at every width.
   300px, not 340px, for the same reason in the other direction: 3 x 340 + 44 needs
   1128px of viewport, so a 340 cap orphans every 3-card roster 2+1 on a 1024 tablet.
   At 300 they stay clean to 1008px, exactly matching /vaughan-polyvagal-therapy/
   and the seven other pages that were already capped and already looked right.

   EACH COUNT GETS ITS OWN MIN-WIDTH, AND THAT IS THE POINT OF THE TWO QUERIES.
   A cap only earns its place where the UNCAPPED card would actually be too big;
   below that it costs a column for nothing. Uncapped, a 2-card roster passes
   340px above a ~766px viewport and a 3-card roster only above ~1128px, so a
   single breakpoint for both drops 3-card rosters to 2+1 on every tablet (was
   3-up, measured). Both transitions are seamless: 2-card goes 284 -> 300 at 700,
   3-card 305 -> 300 at 1024. Do NOT merge these back into one query. */
@media (min-width:700px){
  .isc-grid-therapists:has(> :nth-child(2):last-child),.ism-grid-therapists:has(> :nth-child(2):last-child){grid-template-columns:repeat(auto-fit,minmax(240px,300px));}
}
@media (min-width:1024px){
  .isc-grid-therapists:has(> :nth-child(3):last-child),.ism-grid-therapists:has(> :nth-child(3):last-child){grid-template-columns:repeat(auto-fit,minmax(240px,300px));}
}
.isc-grid-price,.ism-grid-price{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:44px;align-items:stretch;}
.isc-grid-quotes,.ism-grid-quotes{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px;margin-top:44px;}
.isc-2col,.ism-2col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:start;}
.isc-2col-session,.ism-2col-session{grid-template-columns:.9fr 1.1fr;}
.isc-helpcard{background:var(--white);border:1px solid var(--mist-mid);border-top:4px solid var(--brand);border-radius:12px;padding:24px 26px;display:block;}
.isc-helpcard.link,.ism-helpcard.link{text-decoration:none !important;transition:all .25s cubic-bezier(.4,0,.2,1);}
.isc-helpcard.link:hover,.ism-helpcard.link:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.isc-check,.ism-check{flex:0 0 36px;height:36px;border-radius:50%;background:var(--brand-dark);color:#fff;display:flex;align-items:center;justify-content:center;font:800 16px/1 var(--sans);}
.isc-stepnum,.ism-stepnum{flex:0 0 52px;height:52px;border-radius:50%;background:var(--brand-dark);color:#fff;display:flex;align-items:center;justify-content:center;font:800 20px/1 var(--sans);}
.isc-tab{font:700 14.5px/1 var(--sans);padding:13px 22px;border-radius:50px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);border:2px solid var(--mist-mid);background:var(--white);color:var(--brand-ink);}
.isc-tab.on,.ism-tab.on{border-color:var(--brand);background:var(--brand);color:#fff;}
.isc-democard{background:var(--white);border:1px solid var(--mist-mid);border-radius:20px;padding:24px 30px;box-shadow:var(--shadow-md);}
.isc-tcard,.ism-tcard{background:#fff;border:1px solid var(--mist-mid);border-radius:20px;--tp-y:28px;--tp-x:24px;padding:var(--tp-y) var(--tp-x);text-align:center;box-shadow:var(--shadow-sm);transition:all .25s cubic-bezier(.4,0,.2,1);overflow:hidden;}
.isc-tcard:hover,.ism-tcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.isc-pill,.ism-pill{background:var(--mist);color:var(--brand-ink);border-radius:50px;padding:5px 12px;font:600 11.5px/1 var(--sans);display:inline-block;}
details.isc-faq,details.ism-faq{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden;}
details.isc-faq summary,details.ism-faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font:700 16px/1.4 var(--sans);color:var(--text);cursor:pointer;list-style:none;}
details.isc-faq summary::-webkit-details-marker,details.ism-faq summary::-webkit-details-marker{display:none;}
details.isc-faq summary::after,details.ism-faq summary::after{content:'+';flex:0 0 32px;height:32px;border-radius:50%;background:var(--mist);color:var(--brand-dark);display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .35s cubic-bezier(.4,0,.2,1);}
details.isc-faq[open] summary::after,details.ism-faq[open] summary::after{background:var(--brand-dark);color:#fff;transform:rotate(45deg);}
details.isc-faq p,details.ism-faq p{padding:0 24px 20px;margin:0;font:400 15px/1.6 var(--sans);color:var(--text-soft);}
.isc-loccard,.ism-loccard{background:var(--white);border:1px solid var(--mist-mid);border-radius:20px;padding:26px 28px;text-decoration:none !important;display:block;transition:all .25s cubic-bezier(.4,0,.2,1);}
.isc-loccard:hover,.ism-loccard:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.isc-steps,.ism-steps{display:flex;gap:40px;flex-wrap:wrap;justify-content:center;margin:44px 0 64px;}
.isc-step,.ism-step{text-align:center;max-width:220px;}
.isc-step .num,.ism-step .num{width:72px;height:72px;border-radius:50%;background:var(--brand-dark);color:#fff;font:800 26px/72px var(--sans);margin:0 auto 14px;box-shadow:0 8px 20px rgba(78,42,125,.25);}
.isc-banner,.ism-banner{background:#4E2A7D;border-radius:28px;padding:48px 40px;text-align:center;color:#fff;}
.isc-banner h2{font:700 clamp(2rem,4vw,2.6rem)/1.2 var(--sans);letter-spacing:-.015em;color:#fff !important;margin:0 0 8px;text-transform:none !important;}
/* A PROSE LINK IN THE PURPLE BAND MUST NOT BE BRAND BLUE (2026-09-20, Mo: "the
   blue on purple for the text interlinks is hard to read"). The generator's
   rich() paints every prose link `color:var(--brand)`, which is right on white
   and on mist but measures 2.17:1 on #4E2A7D, less than half the 4.5:1 AA needs.
   White is 10.6:1 and reads as emphasis against the band's own #EAF1FF prose,
   with the underline carrying the affordance the colour no longer can.
   `!important` is required on BOTH properties because rich() sets colour and
   text-decoration:none INLINE, and no plain rule can beat an inline style.
   Matched on :not([class*="btn"]) so the two CTA buttons in the same band, which
   are .{pfx}-btn and .{pfx}-btn2, keep their own treatment. */
.isc-banner a:not([class*="btn"]),.ism-banner a:not([class*="btn"]){color:#fff !important;text-decoration:underline !important;text-underline-offset:2px;}
.isc-hero-photo,.ism-hero-photo{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4/4.4;background:var(--mist);}
.isc-hero-photo figure,.ism-hero-photo figure{margin:0 !important;width:100%;height:100%;}
.isc-hero-photo img,.ism-hero-photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0;}
.isc-face,.ism-face{position:relative;width:calc(100% + var(--tp-x, 24px) * 2);margin:calc(var(--tp-y, 28px) * -1) calc(var(--tp-x, 24px) * -1) 14px;aspect-ratio:1/1;}
.isc-face[data-yt],.ism-face[data-yt]{cursor:pointer;}
.isc-face img{width:100%;height:100%;border-radius:0;border:0;object-fit:cover;object-position:center top;margin:0 !important;display:block;}
.isc-vid-btn{position:absolute;bottom:12px;right:12px;width:36px;height:36px;border-radius:50%;background:#ff0000;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 2px 8px rgba(31,60,108,.3);transition:transform .2s cubic-bezier(.4,0,.2,1);}
.isc-face[data-yt]:hover .isc-vid-btn,.ism-face[data-yt]:hover .ism-vid-btn{transform:scale(1.12);}
.isc-vid-btn svg,.ism-vid-btn svg{width:14px;height:14px;fill:#fff;margin-left:2px;}
#isc-vid-modal{position:fixed;inset:0;background:rgba(31,60,108,.78);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;}
#isc-vid-modal[hidden]{display:none !important;}
#isc-vid-modal .box{position:relative;width:min(720px,100%);aspect-ratio:16/9;background:#000;border-radius:16px;overflow:hidden;}
#isc-vid-modal iframe{width:100%;height:100%;border:0;}
#isc-vid-close{position:absolute;top:-44px;right:0;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--brand-ink);border:none;font:700 18px/1 var(--sans);cursor:pointer;}
.isc-rowlink,.ism-rowlink{display:flex;align-items:center;gap:24px;padding:20px 26px;border-radius:12px;text-decoration:none !important;transition:all .25s cubic-bezier(.4,0,.2,1);background:var(--white);border:1px solid var(--line);}
.isc-rowlink:hover,.ism-rowlink:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.isc-optcard{background:var(--white);border:1px solid var(--mist-mid);border-radius:20px;padding:30px 30px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:all .25s cubic-bezier(.4,0,.2,1);}
.isc-optcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.isc-safe,.ism-safe{display:flex;gap:18px;align-items:flex-start;background:var(--mist);border:1px solid var(--mist-mid);border-radius:16px;padding:22px 26px;}
.isc-safe .ic,.ism-safe .ic{flex:0 0 40px;height:40px;border-radius:50%;background:var(--white);border:1px solid var(--mist-mid);display:flex;align-items:center;justify-content:center;font-size:20px;}
@keyframes iscFadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
@keyframes iscFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
@media (max-width:980px){.isc-hero-grid,.isc-2col,.isc-2col-session,.ism-hero-grid,.ism-2col,.ism-2col-session{grid-template-columns:1fr;}.isc-session-stick,.ism-session-stick{position:static !important;}}
@media (max-width:780px){.isc-rowlink,.ism-rowlink{flex-direction:column;align-items:flex-start;gap:8px;}
  .isc-rowlink .rname,.ism-rowlink .rname{flex:none !important;}}

/* ---- modality pages (ism-) ---- */
/* Full-bleed hero band, see the .isc-hero note above. */
.ism-float{position:absolute;background:rgba(255,255,255,.94);border:1px solid var(--mist-mid);border-radius:50px;padding:10px 18px;box-shadow:var(--shadow-md);animation:ismFloat 3s ease-in-out infinite;font:700 13px/1 var(--sans);color:var(--brand-ink);display:flex;align-items:center;gap:8px;}
.ism-cite{background:var(--white);border:1px solid var(--mist-mid);border-left:4px solid var(--brand);border-radius:12px;padding:20px 24px;}
.ism-cite a{color:var(--brand);font-weight:600;}
.ism-optcard{background:var(--white);border:1px solid var(--mist-mid);border-radius:20px;padding:30px 30px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);}
a.ism-loccard:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
#ism-vid-modal{position:fixed;inset:0;background:rgba(31,60,108,.78);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;}
#ism-vid-modal[hidden]{display:none !important;}
#ism-vid-modal .box{position:relative;width:min(720px,100%);aspect-ratio:16/9;background:#000;border-radius:16px;overflow:hidden;}
#ism-vid-modal iframe{width:100%;height:100%;border:0;}
#ism-vid-close{position:absolute;top:-44px;right:0;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--brand-ink);border:none;font:700 18px/1 var(--sans);cursor:pointer;}
.ism-helpcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.ism-tcard img{width:100%;height:100%;border-radius:0;border:0;object-fit:cover;object-position:center top;margin:0 !important;display:block;}
@keyframes ismFadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
@keyframes ismFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}

/* ------------------------------------------------------------------
   is-trim-mobile v1 (conditions .isc- + modalities .ism-)
   Presentation-only density pass for phones, matching the homepage trim.
   NOTHING is hidden or removed: no copy, headings, FAQs, links, images or
   schema change. Every rule is inside a max-width:640px query, so desktop
   is untouched. Purpose is to stop these template pages running 21-25
   phone screens tall purely on padding and card whitespace.
   ------------------------------------------------------------------ */
@media (max-width:640px){
  /* section rhythm: the clamp floor is 56px top AND bottom on every section */
  .isc-wrap,.ism-wrap{padding-top:34px;padding-bottom:34px;}
  .isc-hero-grid,.ism-hero-grid{padding-top:30px;padding-bottom:34px;gap:22px;}

  /* intro spacing */
  .isc-lede,.ism-lede{margin-top:10px;font-size:15.5px;line-height:1.5;}
  .isc-eyebrow,.ism-eyebrow{font-size:12px;}

  /* grids: the 40-44px top margins are a third of a screen each */
  .isc-grid,.ism-grid{margin-top:20px;gap:12px;}
  .isc-grid-cards,.ism-grid-cards,
  .isc-grid-therapists,.ism-grid-therapists,
  .isc-grid-price,.ism-grid-price,
  .isc-grid-quotes,.ism-grid-quotes{margin-top:22px;gap:14px;}

  /* cards */
  .isc-loccard,.ism-loccard{padding:16px 18px;}
  .isc-helpcard,.ism-helpcard,.isc-optcard,.ism-optcard{padding:18px 16px;}
  .isc-democard,.ism-democard{padding:20px 18px;}
  .isc-banner,.ism-banner{padding:26px 20px;}

  /* steps */
  .isc-steps,.ism-steps{gap:12px;margin-top:20px;}
  .isc-step,.ism-step{gap:12px;}
  .isc-stepnum,.ism-stepnum{flex:0 0 42px;height:42px;font-size:17px;}

  /* the two densest grids go 2-up on phones. These cards are short (a title and
     a line, or a headshot and a name), so two columns roughly halves the scroll
     without the text becoming cramped. Price and quote cards stay single column
     because their content is longer. */
  .isc-grid-cards,.ism-grid-cards{grid-template-columns:repeat(2,1fr);}
  .isc-grid-therapists,.ism-grid-therapists{grid-template-columns:repeat(2,1fr);}
  .isc-tcard,.ism-tcard{--tp-y:14px;--tp-x:10px;padding:var(--tp-y) var(--tp-x);}
  .isc-tcard .isc-btn,.ism-tcard .ism-btn{font-size:12px;padding:9px 10px;}
  .isc-helpcard,.ism-helpcard{padding:14px 12px;}

  /* pills / checks sit in long lists on these pages */
  .isc-pill,.ism-pill{padding:7px 12px;font-size:12.5px;}
  .isc-check,.ism-check{gap:10px;}
}

/* ------------------------------------------------------------------
 * is-width-sweep v1 (2026-08-14)
 *
 * Consistency pass with the homepage: text should fill its band rather than
 * stopping short. Both rules need !important because the generator writes these
 * caps as inline style attributes on the element, which no plain rule can beat.
 *
 * 1. The hero lede was capped at 55ch, rendering ~503px in a ~706px column (71%),
 *    left aligned, so it stopped short under a headline that spans. Same defect the
 *    homepage hero had.
 * 2. The closing CTA paragraph was capped at 600px inside a ~1360px band (44%).
 *    It moves to 820px, the house centred measure and what the homepage final CTA
 *    uses, rather than to full width: it is centred reversed-out text on a solid
 *    band, where a very long line is genuinely harder to read.
 *
 * Deliberately untouched: the 860px interactive demo card and the 860px CRPO
 * disclosure (components and a documented reading measure, both centred), the 820px
 * founder and related-posts heads (already the house measure) and .isc-step /
 * .ism-step at 220px (a step column, not a text band).
 * ------------------------------------------------------------------ */
.isc-hero .isc-lede,
.ism-hero .ism-lede { max-width: none !important; }

.isc-banner p,
.ism-banner p { max-width: 820px !important; }

/* ---- is-type-unification v1 ----------------------------------------------
   The condition (.isc-) and modality (.ism-) pages were running the older
   gold-standard system (51/800 ink h1, 42/700 brand-blue h2, blue-grey card
   hairlines, shadows, 50px buttons) while the homepage, /individual-therapy/
   and the four core therapy pages ran 66/300 ink, warm hairlines, no shadow
   and 999px pills. Same constants as scripts/core-therapy-restyle.
   Delete this block to revert. */
.isc-page,.ism-page{
	--gray-bg:#FBFBF8;      /* alternating band: cool grey #F5F5F5 -> paper */
	--mist-mid:#EDEBE4;     /* card hairline: blue-grey #C9D9F0 -> warm      */
	--line:#EDEBE4;
	--shadow-sm:none;
	--shadow-md:none;
	background:#FFFFFF;
}
.isc-page h1.isc-h1,.ism-page h1.ism-h1{font:300 clamp(38px,5vw,66px)/1.05 var(--sans);letter-spacing:-.02em;color:#1F3C6C;margin:12px 0 0;}
.isc-page h2.isc-h2,.ism-page h2.ism-h2{font:300 clamp(30px,3.4vw,46px)/1.1 var(--sans);letter-spacing:-.015em;color:#1F3C6C;margin:12px 0 0;}
.isc-page h3.isc-h3,.ism-page h3.ism-h3{font:600 19px/1.55 var(--sans);color:#1F3C6C;margin:0 0 6px;}
.isc-page h1.isc-h1 em,.isc-page h2.isc-h2 em,
.ism-page h1.ism-h1 em,.ism-page h2.ism-h2 em{font-family:var(--sans);font-style:italic;font-weight:300;color:#4E2A7D;}
/* BLUE TEXT ON MIST FAILS AA, SO IT USES --brand-deep (2026-09-20, Mo: "fix the
   eyebrow blue on mist too"). --brand #4370B7 measures 4.35:1 on the mist band
   #E8F1FF, under the 4.5:1 AA floor at 12px. --brand-deep #33599A is 6.01:1
   there and 6.31:1 on white, so ONE value passes on every background the
   eyebrow sits on and the site keeps a single eyebrow colour rather than two
   shades per page. Use the TOKEN, not a literal: it is already defined on
   .isc-page/.ism-page, and when the conditions-hub v2 palette sweep repoints
   --brand-deep to its #2F548F the eyebrow follows for free.
   Buttons and borders keep #4370B7 - this repaints TEXT only. */
.isc-page .isc-eyebrow,.ism-page .ism-eyebrow{font:600 12px/1.55 var(--sans);letter-spacing:.14em;color:var(--brand-deep);}
/* The hero and every mist card also carry inline-styled blue text that the
   generator writes as `color:var(--brand)` (in-band links, the interactive
   demo arrows). An inline style cannot be beaten by a plain rule, but it
   RESOLVES the variable at the element, so redefining --brand on the mist
   container reaches all of them with no !important and no per-element rule.
   Measured across 8 pages: 13 to 22 elements repaint, ALL of them text, and
   zero backgrounds or borders move, because the CTAs in these bands are coral
   and the borders use --mist-mid. `background:var(--mist)` is matched in full
   so a `var(--mist-mid)` border cannot trigger it. */
.isc-hero,.ism-hero,[style*="background:var(--mist)"]{--brand:var(--brand-deep);}
.isc-page .isc-lede,.ism-page .ism-lede{font:400 18px/1.55 var(--sans);color:#666666;}
/* the CTA banner heading keeps its white colour and text-transform from the
   page's own rule; only the weight and size move */
.isc-page .isc-banner h2,.ism-page .ism-banner h2{font:300 clamp(30px,3.4vw,46px)/1.1 var(--sans);letter-spacing:-.015em;}
.isc-page .isc-btn,.ism-page .ism-btn{font:600 15px/1 var(--sans);padding:15px 26px;border-radius:999px;border:1px solid transparent;box-shadow:0 8px 24px rgba(255,111,97,.28);}
.isc-page .isc-btn2,.ism-page .ism-btn2{font:600 15px/1 var(--sans);padding:15px 26px;border-radius:999px;border-width:1px;}
/* The rule above resets font/padding/radius/border on the secondary button and must reset
   box-shadow too, or the coral glow from the BASE -btn rule keeps painting behind every GHOST
   secondary. :not([href*="janeapp"]) is load-bearing: global.css fills a JaneApp link coral by
   href, so those secondaries SHOULD keep the coral glow; tel: and intake links are repainted
   !important there and are out of this rule's reach either way. No .isc-/.ism- page renders an
   affected button today, so this is the guard, not the fix. The 15 pages that WERE affected
   carry the same rule in their own appended type-unification block (2026-09-20). */
.isc-page .isc-btn2:not([href*="janeapp"]),.ism-page .ism-btn2:not([href*="janeapp"]){box-shadow:none;}
/* cards: 18px radius, warm hairline, and no coloured top bar */
.isc-page .isc-helpcard,.ism-page .ism-helpcard{border-top:1px solid var(--mist-mid);border-radius:18px;}
.isc-page .isc-democard,.isc-page .isc-tcard,.isc-page .isc-optcard,.isc-page .isc-loccard,
.ism-page .ism-democard,.ism-page .ism-tcard,.ism-page .ism-optcard,.ism-page .ism-loccard{border-radius:18px;}
/* ---- end is-type-unification v1 ------------------------------------------ */
