/* ==========================================================================
   JONA PSYCHIATRY  |  Shared site stylesheet
   Every class is prefixed "jna-". Every selector is scoped under .jna-page
   or a jna- class, so nothing here can leak into anything else.
   Colours are hardcoded tokens. See README-HANDOFF.md before changing them.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. TOKENS
   Warm, light palette. Contrast-gated: every value below was measured against
   every background it sits on. Do not introduce a colour that is not here.
   -------------------------------------------------------------------------- */
:root{
  --jna-blue:#2C5470;      /* soft navy   -- 8.05:1 on white   OK text        */
  --jna-blue-d:#1E4257;    /* deep blue   -- 10.65:1 on white, 4.77:1 on gold */
  --jna-blue-x:#193746;    /* deepest     -- footer                           */
  --jna-blue-m:#35657F;    /* mid blue    -- 6.33:1 on white   OK text        */
  --jna-blue-p:#7FA8BF;    /* pale blue   -- DECORATIVE ONLY, 2.54:1 on white */
  --jna-ink:#1E3D52;       /* headings    -- 11.38:1 on white                 */
  --jna-text:#4E6273;      /* body        -- 6.33 white, 5.88 cream           */

  --jna-gold:#CBA968;      /* muted gold  -- BACKGROUND ONLY, never text/white*/
  --jna-gold-l:#E0C48A;    /* light gold  -- 4.76:1 on blue    OK text on blue*/
  --jna-gold-d:#7D5F22;    /* deep gold   -- 5.95:1 on white   OK text/icons  */

  --jna-sage:#93B3A0;      /* sage        -- DECORATIVE ONLY, 2.28:1 on white */
  --jna-sage-d:#456352;    /* deep sage   -- 6.65:1 on white   OK text        */
  --jna-sage-l:#BBD3C4;    /* light sage  -- tints, 5.07:1 on blue            */

  --jna-tint:#EEF4F0;     /* cool sage wash, section + chip background     */
  --jna-cream:#FBF6EE;     /* warm page background                            */
  --jna-cream2:#F4EDE1;    /* warm alt section background                     */
  --jna-line:#E6DDCE;      /* warm hairline                                   */
  --jna-line2:#D9E2E8;     /* cool hairline, on white cards                   */
  --jna-muted:#B9CEDB;     /* body text on blue -- 4.95:1 on blue  OK        */

  --jna-shadow:0 18px 50px -24px rgba(30,61,82,.22);
  --jna-shadow-sm:0 8px 24px -16px rgba(30,61,82,.26);
  --jna-r:14px;
}

/* --------------------------------------------------------------------------
   2. RESET + BASE  (scoped)
   -------------------------------------------------------------------------- */
.jna-page,.jna-hd,.jna-ft{-webkit-font-smoothing:antialiased}
.jna-page *,.jna-hd *,.jna-ft *,.jna-drawer *,.jna-search *,.jna-ann *{box-sizing:border-box}
.jna-page [hidden],.jna-hd [hidden],.jna-ft [hidden],
.jna-drawer [hidden],.jna-search[hidden],.jna-search [hidden],
.jna-ann[hidden],.jna-ann [hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--jna-cream)}

.jna-page{
  font-family:'Source Sans 3','Segoe UI',system-ui,-apple-system,sans-serif;
  color:var(--jna-text);
  background:var(--jna-cream);
  line-height:1.72;
  font-size:17px;
  overflow-x:hidden;
}
.jna-page h1,.jna-page h2,.jna-page h3,.jna-page h4,
.jna-ft h3,.jna-ft h4{
  font-family:'Playfair Display',Georgia,'Times New Roman',serif;
  color:var(--jna-ink);
  font-weight:600;
  letter-spacing:-.4px;
  line-height:1.2;
  text-wrap:balance;
  margin:0 0 .6em;
}
.jna-page h1{font-size:clamp(2.3rem,4.6vw,3.6rem)}
.jna-page h2{font-size:clamp(1.85rem,3.1vw,2.7rem)}
.jna-page h3{font-size:clamp(1.2rem,1.7vw,1.45rem)}
.jna-page p{margin:0 0 1.05rem}
.jna-page a,.jna-hd a,.jna-ft a,.jna-drawer a,.jna-search a,.jna-ann a,.jna-skip,.jna-float{text-decoration:none}
.jna-page a{color:var(--jna-blue)}
.jna-page img{max-width:100%;display:block}
.jna-page ul,.jna-ft ul,.jna-hd ul,.jna-drawer ul,.jna-search ul,.jna-ann ul{margin:0;padding:0;list-style:none}

.jna-wrap{max-width:1220px;margin:0 auto;padding:0 24px;width:100%}
.jna-sec{padding:96px 0}
.jna-sec-gray{background:var(--jna-cream2)}
.jna-sec-tint{background:#EEF4F0}
.jna-sec-white{background:#fff}

/* Section heading block ---------------------------------------------------- */
.jna-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.76rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase;
  color:var(--jna-sage-d);margin-bottom:16px;
}
.jna-eyebrow::before{content:"";width:26px;height:2px;background:var(--jna-gold);border-radius:2px}
.jna-head{max-width:720px;margin-bottom:54px}
.jna-head.jna-center{margin-left:auto;margin-right:auto;text-align:center}
.jna-head.jna-center .jna-eyebrow::before{display:none}
.jna-head p{font-size:1.06rem;margin-bottom:0}
.jna-rule{width:64px;height:3px;background:var(--jna-gold);border-radius:3px;margin:0 0 26px}
.jna-head.jna-center .jna-rule{margin-left:auto;margin-right:auto}

/* --------------------------------------------------------------------------
   3. BUTTONS
   Gold carries DEEP BLUE text (4.77:1). White on gold is 2.43:1 and fails AA.
   Every variant doubles its class, because `.jna-page a` is (0,1,1) and would
   otherwise out-rank a single button class and repaint the label.
   -------------------------------------------------------------------------- */
.jna-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:'Source Sans 3',system-ui,sans-serif;
  font-size:.96rem;font-weight:700;letter-spacing:.02em;
  padding:15px 30px;border-radius:999px;border:2px solid transparent;
  cursor:pointer;position:relative;
  transition:transform .28s cubic-bezier(.2,.8,.3,1),box-shadow .28s ease,background .25s ease,color .25s ease,border-color .25s ease;
}
.jna-btn svg{width:17px;height:17px;flex:none;transition:transform .3s ease}
.jna-btn:hover{transform:translateY(-2px)}
.jna-btn:hover svg{transform:translateX(3px)}
.jna-btn:focus-visible{outline:3px solid var(--jna-gold-d);outline-offset:3px}

.jna-btn.jna-btn-gold{background:var(--jna-gold);color:var(--jna-blue-d);box-shadow:0 8px 22px -12px rgba(203,169,104,.95)}
.jna-btn.jna-btn-gold:hover{background:var(--jna-gold-l);color:var(--jna-blue-d);box-shadow:0 14px 30px -14px rgba(203,169,104,1)}
.jna-btn.jna-btn-navy{background:var(--jna-blue);color:#fff;box-shadow:var(--jna-shadow-sm)}
.jna-btn.jna-btn-navy:hover{background:var(--jna-blue-d);color:#fff}
.jna-btn.jna-btn-ghost{background:transparent;color:var(--jna-blue);border-color:var(--jna-line)}
.jna-btn.jna-btn-ghost:hover{border-color:var(--jna-blue);background:var(--jna-blue);color:#fff}
.jna-btn.jna-btn-onnavy{background:transparent;color:#fff;border-color:rgba(255,255,255,.42)}
.jna-btn.jna-btn-onnavy:hover{background:#fff;color:var(--jna-blue);border-color:#fff}
.jna-btn-lg{padding:17px 36px;font-size:1rem}

/* --------------------------------------------------------------------------
   4. ANIMATED ICON SYSTEM
   Every icon child carries pathLength="1", so one dash value normalises the
   draw-in regardless of how long the real path is.
   Drawn is the DEFAULT state. An icon is only hidden while it sits inside a
   reveal wrapper that has not fired yet, so an icon outside .jna-rv, or one on
   a page where the observer never runs, is always visible rather than blank.
   -------------------------------------------------------------------------- */
.jna-ico{
  width:54px;height:54px;border-radius:50%;flex:none;
  display:grid;place-items:center;
  background:#fff;
  box-shadow:0 6px 18px -12px rgba(30,61,82,.5);
  position:relative;
  transition:transform .4s cubic-bezier(.2,.8,.3,1),box-shadow .4s ease;
}
.jna-ico svg{width:26px;height:26px;overflow:visible}
.jna-ico svg > *{
  stroke:var(--jna-gold-d);
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none;
  stroke-dasharray:1;stroke-dashoffset:0;
}
.jna-rv:not(.jna-vis) .jna-ico svg > *{stroke-dashoffset:1}
.jna-vis .jna-ico svg > *,
.jna-ico.jna-ico-on svg > *{
  animation:jna-draw 1.15s cubic-bezier(.6,.05,.2,1) forwards;
}
.jna-ico svg > *:nth-child(2){animation-delay:.13s}
.jna-ico svg > *:nth-child(3){animation-delay:.26s}
.jna-ico svg > *:nth-child(4){animation-delay:.39s}
.jna-ico svg > *:nth-child(5){animation-delay:.52s}
@keyframes jna-draw{to{stroke-dashoffset:0}}

.jna-ico::after{
  content:"";position:absolute;inset:-6px;border-radius:50%;
  border:1px solid var(--jna-sage-l);
  opacity:0;transform:scale(.85);
}
.jna-vis .jna-ico::after{animation:jna-halo 3.6s ease-out 1.1s infinite}
@keyframes jna-halo{
  0%{opacity:.85;transform:scale(.86)}
  70%{opacity:0;transform:scale(1.18)}
  100%{opacity:0;transform:scale(1.18)}
}
.jna-ico-onnavy{background:rgba(255,255,255,.08);box-shadow:none;border:1px solid rgba(255,255,255,.18)}
.jna-ico-onnavy svg > *{stroke:var(--jna-gold-l)}
.jna-ico-onnavy::after{border-color:rgba(224,196,138,.42)}
.jna-ico-sage svg > *{stroke:var(--jna-sage-d)}
.jna-ico-blue svg > *{stroke:var(--jna-blue-m)}
.jna-ico-lg{width:64px;height:64px}
.jna-ico-lg svg{width:31px;height:31px}

.jna-iico{width:20px;height:20px;flex:none;stroke:var(--jna-gold-d);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* --------------------------------------------------------------------------
   5. HEADER  -- light, warm, so the page does not open on a dark band
   -------------------------------------------------------------------------- */
.jna-skip{
  position:absolute;left:-9999px;top:0;z-index:1000;
  background:var(--jna-gold);color:var(--jna-blue-d);
  padding:13px 22px;font-family:'Source Sans 3',system-ui,sans-serif;font-weight:700;
  border-radius:0 0 10px 0;
}
.jna-skip:focus{left:0}

.jna-hd{
  position:sticky;top:0;z-index:900;
  background:rgba(251,246,238,.92);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--jna-line);
  font-family:'Source Sans 3',system-ui,sans-serif;
  transition:box-shadow .35s ease,background .35s ease;
}
.jna-hd-in{
  max-width:1220px;margin:0 auto;padding:0 24px;
  display:flex;align-items:center;gap:24px;height:88px;
  transition:height .35s ease;
}
.jna-hd.jna-hd-stuck{box-shadow:0 10px 30px -22px rgba(30,61,82,.55);background:rgba(251,246,238,.97)}
.jna-hd.jna-hd-stuck .jna-hd-in{height:74px}

/* logo -------------------------------------------------------------------- */
.jna-logo{display:flex;align-items:center;gap:13px;flex:none}
.jna-logo-mark{width:44px;height:44px;flex:none;overflow:visible}
.jna-logo-mark > *{fill:none;stroke-linecap:round;stroke-linejoin:round;transform-origin:50% 62%}
.jna-logo-mark .jna-lm-g{stroke:var(--jna-gold-d);stroke-width:4.5}
.jna-logo-mark .jna-lm-b{stroke:var(--jna-blue);stroke-width:4.5}
.jna-logo:hover .jna-logo-mark > *{animation:jna-bloom .8s cubic-bezier(.3,1.4,.4,1)}
.jna-logo-mark > *:nth-child(2){animation-delay:.05s}
.jna-logo-mark > *:nth-child(3){animation-delay:.1s}
@keyframes jna-bloom{50%{transform:scale(1.08)}}
.jna-logo-txt{display:flex;flex-direction:column;line-height:1;gap:4px}
.jna-logo-name{
  font-family:'Playfair Display',Georgia,serif;
  font-size:1.62rem;font-weight:600;color:var(--jna-ink);letter-spacing:.09em;
}
.jna-logo-sub{
  font-size:.545rem;font-weight:700;letter-spacing:.335em;
  color:var(--jna-gold-d);text-transform:uppercase;
}

/* nav --------------------------------------------------------------------- */
.jna-nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.jna-nav a{
  position:relative;color:var(--jna-blue);font-size:.92rem;font-weight:600;
  padding:9px 12px;border-radius:8px;
  transition:color .25s ease;white-space:nowrap;
}
.jna-nav a::after{
  content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;
  background:var(--jna-gold);border-radius:2px;
  transform:scaleX(0);transform-origin:left;
  transition:transform .32s cubic-bezier(.2,.8,.3,1);
}
.jna-nav a:hover{color:var(--jna-gold-d)}
.jna-nav a:hover::after,.jna-nav a.jna-on::after{transform:scaleX(1)}
.jna-nav a.jna-on{color:var(--jna-ink)}
.jna-hd .jna-btn{padding:12px 22px;font-size:.88rem;margin-left:10px;flex:none}

/* burger ------------------------------------------------------------------ */
.jna-burger{
  display:none;margin-left:auto;width:46px;height:46px;flex:none;
  background:transparent;border:1px solid var(--jna-line);border-radius:11px;
  cursor:pointer;padding:0;place-items:center;
}
.jna-burger span{display:block;width:20px;height:2px;background:var(--jna-blue);border-radius:2px;position:relative;transition:background .2s ease}
.jna-burger span::before,.jna-burger span::after{
  content:"";position:absolute;left:0;width:20px;height:2px;background:var(--jna-blue);border-radius:2px;
  transition:transform .32s cubic-bezier(.2,.8,.3,1),top .2s ease;
}
.jna-burger span::before{top:-6px}
.jna-burger span::after{top:6px}
.jna-burger.jna-open span{background:transparent}
.jna-burger.jna-open span::before{top:0;transform:rotate(45deg)}
.jna-burger.jna-open span::after{top:0;transform:rotate(-45deg)}

/* mobile drawer ----------------------------------------------------------- */
.jna-drawer{
  position:fixed;inset:0 0 0 auto;width:min(360px,86vw);z-index:950;
  background:var(--jna-cream);padding:100px 26px 40px;
  transform:translateX(102%);transition:transform .42s cubic-bezier(.3,.9,.25,1);
  overflow-y:auto;display:flex;flex-direction:column;gap:4px;
  box-shadow:-20px 0 60px -34px rgba(30,61,82,.7);
  font-family:'Source Sans 3',system-ui,sans-serif;
}
.jna-drawer.jna-open{transform:translateX(0)}
.jna-drawer > a{
  color:var(--jna-ink);font-size:1.06rem;font-weight:600;padding:14px 4px;
  border-bottom:1px solid var(--jna-line);
  display:flex;align-items:center;justify-content:space-between;
  opacity:0;transform:translateX(18px);
}
.jna-drawer.jna-open > a{animation:jna-slidein .45s cubic-bezier(.2,.8,.3,1) forwards}
.jna-drawer.jna-open > a:nth-child(1){animation-delay:.06s}
.jna-drawer.jna-open > a:nth-child(2){animation-delay:.11s}
.jna-drawer.jna-open > a:nth-child(3){animation-delay:.16s}
.jna-drawer.jna-open > a:nth-child(4){animation-delay:.21s}
.jna-drawer.jna-open > a:nth-child(5){animation-delay:.26s}
.jna-drawer.jna-open > a:nth-child(6){animation-delay:.31s}
.jna-drawer.jna-open > a:nth-child(7){animation-delay:.36s}
.jna-drawer.jna-open > a:nth-child(8){animation-delay:.41s}
@keyframes jna-slidein{to{opacity:1;transform:translateX(0)}}
.jna-drawer > a.jna-on{color:var(--jna-gold-d)}
.jna-drawer .jna-btn{margin-top:22px;width:100%;opacity:1;transform:none;animation:none}
.jna-drawer-cta{margin-top:26px;padding-top:22px;border-top:1px solid var(--jna-line)}
.jna-drawer-cta a{border:0;padding:7px 4px;font-size:.94rem;color:var(--jna-text);display:flex;align-items:center;gap:10px;font-weight:600}
.jna-scrim{
  position:fixed;inset:0;background:rgba(25,55,70,.42);backdrop-filter:blur(3px);
  z-index:940;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;
}
.jna-scrim.jna-open{opacity:1;visibility:visible}

/* --------------------------------------------------------------------------
   6. FOOTER  -- the single deep anchor at the foot of the page
   -------------------------------------------------------------------------- */
.jna-ft{
  background:var(--jna-blue-x);color:var(--jna-muted);
  font-family:'Source Sans 3',system-ui,sans-serif;font-size:.94rem;line-height:1.75;
  position:relative;
}
.jna-ft::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--jna-gold) 0%,var(--jna-sage) 50%,var(--jna-gold) 100%);
}
.jna-ft-in{max-width:1220px;margin:0 auto;padding:74px 24px 0}
.jna-ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.35fr;gap:44px;padding-bottom:52px}
.jna-ft h4{
  color:#fff;font-size:1.02rem;margin-bottom:20px;
  font-family:'Source Sans 3',system-ui,sans-serif;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;
}
.jna-ft h4::after{content:"";display:block;width:28px;height:2px;background:var(--jna-gold);margin-top:9px;border-radius:2px}
.jna-ft p{margin:0 0 1rem}
.jna-ft a{color:var(--jna-muted);transition:color .22s ease}
.jna-ft a:hover{color:var(--jna-gold-l)}
.jna-ft .jna-logo-name{color:#fff}
.jna-ft .jna-logo-sub{color:var(--jna-gold-l)}
.jna-ft .jna-logo-mark .jna-lm-g{stroke:var(--jna-gold)}
.jna-ft .jna-logo-mark .jna-lm-b{stroke:var(--jna-muted)}
.jna-ft-links li{margin-bottom:9px}
.jna-ft-links a{display:inline-flex;align-items:center;gap:8px}
.jna-ft-links a::before{content:"";width:0;height:1px;background:var(--jna-gold);transition:width .25s ease}
.jna-ft-links a:hover::before{width:12px}
.jna-ft .jna-logo{margin-bottom:20px}
.jna-ft-office{margin-bottom:20px}
.jna-ft-office strong{color:#fff;display:block;font-size:.87rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px}
.jna-ft-row{display:flex;gap:11px;align-items:flex-start;margin-bottom:11px}
.jna-ft-row .jna-iico{stroke:var(--jna-gold-l);margin-top:4px}
.jna-ft-mail{display:flex;flex-direction:column;gap:3px}

.jna-crisis{
  background:rgba(203,169,104,.12);border:1px solid rgba(203,169,104,.36);
  border-radius:var(--jna-r);padding:20px 24px;margin-bottom:44px;
  display:flex;gap:15px;align-items:flex-start;
}
.jna-crisis .jna-iico{stroke:var(--jna-gold-l);width:23px;height:23px;margin-top:3px}
.jna-crisis strong{color:var(--jna-gold-l);display:block;margin-bottom:4px;letter-spacing:.04em}
.jna-crisis p{margin:0;font-size:.9rem;line-height:1.65}
.jna-crisis a{color:#fff;font-weight:700;border-bottom:1px solid rgba(255,255,255,.4)}

.jna-ft-bot{
  border-top:1px solid rgba(255,255,255,.12);padding:24px 0 34px;
  display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between;
  font-size:.85rem;
}
.jna-ft-legal{display:flex;flex-wrap:wrap;gap:8px 22px}
.jna-ft-disc{
  padding:20px 0 0;font-size:.8rem;line-height:1.7;
  color:rgba(185,206,219,.74);border-top:1px solid rgba(255,255,255,.08);
}

/* --------------------------------------------------------------------------
   7. FLOATING CALL BUTTON
   -------------------------------------------------------------------------- */
.jna-float{
  position:fixed;right:22px;bottom:24px;z-index:880;
  width:58px;height:58px;border-radius:50%;
  background:var(--jna-gold);color:var(--jna-blue-d);
  display:grid;place-items:center;
  box-shadow:0 14px 34px -14px rgba(203,169,104,1);
  transition:transform .3s cubic-bezier(.2,.8,.3,1);
}
.jna-float:hover{transform:scale(1.09)}
.jna-float svg{width:23px;height:23px;stroke:var(--jna-blue-d);stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.jna-float::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  border:2px solid var(--jna-gold);animation:jna-ping 2.6s ease-out infinite;
}
@keyframes jna-ping{0%{opacity:.7;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.6)}}

/* --------------------------------------------------------------------------
   8. REVEAL ON SCROLL
   -------------------------------------------------------------------------- */
.jna-rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.3,1)}
.jna-rv.jna-vis{opacity:1;transform:none}
.jna-d1{transition-delay:.09s}.jna-d2{transition-delay:.18s}
.jna-d3{transition-delay:.27s}.jna-d4{transition-delay:.36s}
.jna-d5{transition-delay:.45s}.jna-d6{transition-delay:.54s}

/* --------------------------------------------------------------------------
   9. SHARED COMPONENTS
   -------------------------------------------------------------------------- */

/* value band, now light rather than a dark slab -------------------------- */
.jna-band{background:#EEF4F0;padding:74px 0;border-top:1px solid var(--jna-line);border-bottom:1px solid var(--jna-line)}
.jna-band h3{font-size:1.28rem;margin-bottom:10px}
.jna-band p{font-size:.94rem;margin:0}
.jna-band-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.jna-vcard{padding:0 30px;text-align:center;border-right:1px solid var(--jna-sage-l)}
.jna-vcard:last-child{border-right:0}
.jna-vcard .jna-ico{margin:0 auto 20px}

/* trust strip -------------------------------------------------------------- */
.jna-trust{background:var(--jna-cream2);border-bottom:1px solid var(--jna-line)}
.jna-trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:26px 0}
.jna-trust-item{
  display:flex;align-items:center;gap:13px;justify-content:center;
  padding:8px 20px;border-right:1px solid var(--jna-line);
  font-size:.9rem;font-weight:600;color:var(--jna-blue);line-height:1.4;
}
.jna-trust-item:last-child{border-right:0}
.jna-trust-item .jna-iico{width:23px;height:23px}

/* soft tinted tiles -------------------------------------------------------- */
.jna-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.jna-tile{
  background:#fff;border:1px solid var(--jna-line);border-radius:var(--jna-r);padding:32px 28px;
  position:relative;overflow:hidden;
  transition:transform .38s cubic-bezier(.2,.8,.3,1),box-shadow .38s ease,border-color .38s ease;
}
.jna-tile::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--jna-gold);transform:scaleY(0);transform-origin:top;
  transition:transform .4s cubic-bezier(.2,.8,.3,1);
}
.jna-tile:hover{transform:translateY(-6px);box-shadow:var(--jna-shadow);border-color:transparent}
.jna-tile:hover::before{transform:scaleY(1)}
.jna-tile .jna-ico{margin-bottom:20px;background:var(--jna-cream2);box-shadow:none}
.jna-tile h3{margin-bottom:9px}
.jna-tile p{font-size:.95rem;margin:0}

/* CTA band, the one deep moment in the body ------------------------------- */
.jna-cta{
  background:linear-gradient(135deg,var(--jna-blue-d) 0%,var(--jna-blue) 58%,#35657F 100%);
  color:#fff;padding:86px 0;position:relative;overflow:hidden;
}
.jna-cta::after{
  content:"";position:absolute;right:-90px;bottom:-90px;width:340px;height:340px;
  border-radius:50%;border:1px solid rgba(224,196,138,.26);
}
.jna-cta::before{
  content:"";position:absolute;right:10px;bottom:10px;width:200px;height:200px;
  border-radius:50%;border:1px solid rgba(224,196,138,.16);
}
.jna-cta h2{color:#fff;position:relative;z-index:1}
.jna-cta p{color:var(--jna-muted);font-size:1.06rem;max-width:600px;position:relative;z-index:1}
.jna-cta .jna-eyebrow{color:var(--jna-gold-l)}
.jna-cta .jna-eyebrow::before{background:var(--jna-gold-l)}
.jna-cta-in{display:flex;gap:44px;align-items:center;justify-content:space-between;flex-wrap:wrap;position:relative;z-index:1}
.jna-cta-btns{display:flex;gap:14px;flex-wrap:wrap}

/* accordion --------------------------------------------------------------- */
.jna-acc{border-top:1px solid var(--jna-line)}
.jna-acc-item{border-bottom:1px solid var(--jna-line)}
.jna-acc-q{
  width:100%;background:none;border:0;cursor:pointer;text-align:left;
  padding:24px 46px 24px 0;position:relative;
  font-family:'Playfair Display',Georgia,serif;font-size:1.14rem;font-weight:600;
  color:var(--jna-ink);line-height:1.4;
  transition:color .25s ease;
}
.jna-acc-q:hover{color:var(--jna-gold-d)}
.jna-acc-q::after,.jna-acc-q::before{
  content:"";position:absolute;right:8px;top:50%;background:var(--jna-gold-d);border-radius:2px;
  transition:transform .34s cubic-bezier(.2,.8,.3,1);
}
.jna-acc-q::after{width:15px;height:2px;margin-top:-1px}
.jna-acc-q::before{width:2px;height:15px;margin-top:-7.5px;right:14.5px}
.jna-acc-item.jna-open .jna-acc-q::before{transform:rotate(90deg) scaleX(0)}
.jna-acc-a{max-height:0;overflow:hidden;transition:max-height .42s cubic-bezier(.3,.9,.25,1)}
.jna-acc-a-in{padding:0 44px 26px 0;font-size:.98rem}
.jna-acc-a-in p:last-child{margin-bottom:0}

/* Collapse-on-mobile group. Desktop shows every block fully expanded, so the
   copy is read by both people and search engines. Below 576px the same markup
   behaves as an accordion. The JS binds the toggle behind the same breakpoint. */
.jna-collapse .jna-acc-a{max-height:none}
.jna-collapse .jna-acc-q{cursor:default;padding-right:0}
.jna-collapse .jna-acc-q::after,.jna-collapse .jna-acc-q::before{display:none}
.jna-collapse .jna-acc-q:hover{color:var(--jna-ink)}
@media(max-width:575px){
  .jna-collapse .jna-acc-a{max-height:0}
  .jna-collapse .jna-acc-q{cursor:pointer;padding-right:40px}
  .jna-collapse .jna-acc-q::after,.jna-collapse .jna-acc-q::before{display:block}
}

/* pill list ---------------------------------------------------------------- */
.jna-pills{display:flex;flex-wrap:wrap;gap:9px}
.jna-pill{
  display:inline-flex;align-items:center;gap:7px;
  background:#fff;border:1px solid var(--jna-line);border-radius:999px;
  padding:8px 17px;font-size:.86rem;font-weight:600;color:var(--jna-blue);
  transition:border-color .25s ease,transform .25s ease,background .25s ease,color .25s ease;
}
.jna-pill:hover{border-color:var(--jna-gold);transform:translateY(-2px)}
.jna-pill-dot{width:6px;height:6px;border-radius:50%;background:var(--jna-gold);flex:none}

/* page hero, light and warm ------------------------------------------------ */
.jna-phero{
  background:var(--jna-tint);
  padding:74px 0 80px;position:relative;overflow:hidden;
  border-bottom:1px solid var(--jna-sage-l);
}
.jna-phero::after{
  content:"";position:absolute;top:-120px;right:-120px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(147,179,160,.34),transparent 70%);
}
.jna-phero-in{position:relative;z-index:1;max-width:760px}
.jna-phero h1{margin-bottom:18px}
.jna-phero p{font-size:1.1rem;margin:0;max-width:620px}
.jna-crumb{
  display:flex;gap:9px;align-items:center;font-size:.82rem;
  color:var(--jna-text);margin-bottom:20px;position:relative;z-index:1;
}
.jna-crumb a{color:var(--jna-sage-d);font-weight:600}
.jna-crumb a:hover{color:var(--jna-gold-d)}
.jna-crumb span{opacity:.55}

/* form fields, shared by the contact form and the blog question form ------ */
.jna-field{display:flex;flex-direction:column;gap:6px}
.jna-field.jna-full{grid-column:1/-1}
.jna-field label{font-size:.83rem;font-weight:700;color:var(--jna-blue);letter-spacing:.02em}
.jna-field label i{color:var(--jna-gold-d);font-style:normal}
.jna-field input,.jna-field select,.jna-field textarea{
  font-family:'Source Sans 3',system-ui,sans-serif;font-size:.95rem;color:var(--jna-ink);
  border:1px solid var(--jna-line);border-radius:10px;padding:12px 14px;background:var(--jna-cream);
  transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;width:100%;
}
.jna-field textarea{resize:vertical;min-height:118px}
.jna-field input:focus,.jna-field select:focus,.jna-field textarea:focus{
  outline:none;border-color:var(--jna-gold);background:#fff;box-shadow:0 0 0 3px rgba(203,169,104,.22);
}
.jna-field .jna-invalid,.jna-field input.jna-invalid,.jna-field textarea.jna-invalid,.jna-field select.jna-invalid{
  border-color:#B3261E;background:#fdf6f5;
}
.jna-form-note{margin:16px 0 0;font-size:.88rem;font-weight:600}
.jna-form-ok{color:var(--jna-sage-d)}
.jna-form-err{color:#B3261E}

/* professional profiles strip --------------------------------------------- */
.jna-prof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.jna-prof a{
  display:flex;align-items:center;gap:15px;
  background:#fff;border:1px solid var(--jna-line);border-radius:14px;padding:20px 22px;
  transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease;
}
.jna-prof a:hover{border-color:var(--jna-gold);transform:translateY(-4px);box-shadow:var(--jna-shadow-sm)}
.jna-prof .jna-ico{width:46px;height:46px;background:var(--jna-cream2);box-shadow:none}
.jna-prof .jna-ico svg{width:22px;height:22px}
.jna-prof b{display:block;font-family:'Playfair Display',Georgia,serif;font-size:1.04rem;color:var(--jna-ink);font-weight:600;line-height:1.3}
.jna-prof span{font-size:.83rem;color:var(--jna-sage-d);font-weight:600}
.jna-prof-go{margin-left:auto;width:16px;height:16px;stroke:var(--jna-gold-d);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .28s ease}
.jna-prof a:hover .jna-prof-go{transform:translateX(3px)}

/* --------------------------------------------------------------------------
   LEGAL PAGES  -- privacy, terms, accessibility, notices.
   Shared by every page in the legal set, so the sticky contents rail and the
   numbered blocks stay identical across all of them.
   -------------------------------------------------------------------------- */
.jna-lg{display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:start}
.jna-lg-toc{position:sticky;top:118px}
.jna-lg-toc h4{
  font-family:'Source Sans 3',system-ui,sans-serif;font-size:.76rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--jna-sage-d);margin-bottom:14px;
}
.jna-lg-toc a{
  display:block;font-size:.88rem;padding:7px 0 7px 14px;color:var(--jna-text);
  border-left:2px solid var(--jna-line);line-height:1.45;
  transition:border-color .25s ease,color .25s ease,padding-left .25s ease;
}
.jna-lg-toc a:hover{border-color:var(--jna-gold);color:var(--jna-blue);padding-left:18px}
.jna-lg-body h2{font-size:1.5rem;margin-bottom:12px}
.jna-lg-body h3{font-size:1.12rem;margin:24px 0 8px}
.jna-lg-sec{padding-bottom:34px;margin-bottom:34px;border-bottom:1px solid var(--jna-line);scroll-margin-top:120px}
.jna-lg-sec:last-child{border-bottom:0;margin-bottom:0}
.jna-lg-n{
  display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
  border-radius:50%;background:var(--jna-tint);color:var(--jna-sage-d);
  font-size:.83rem;font-weight:700;margin-right:11px;vertical-align:2px;
}
.jna-lg-body ul{margin:0 0 1rem;padding-left:0}
.jna-lg-body li{display:flex;gap:11px;align-items:flex-start;margin-bottom:9px;font-size:.97rem;line-height:1.65}
.jna-lg-body li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--jna-gold);flex:none;margin-top:10px}
.jna-lg-updated{
  background:var(--jna-tint);border-radius:12px;padding:18px 22px;margin-bottom:32px;font-size:.9rem;
}
.jna-lg-updated p{margin:0}
.jna-lg-updated p + p{margin-top:8px}

/* the all-caps header HIPAA requires on a Notice of Privacy Practices */
.jna-lg-caps{
  border:2px solid var(--jna-blue);border-radius:12px;padding:20px 24px;margin-bottom:26px;
  font-weight:700;letter-spacing:.03em;line-height:1.6;color:var(--jna-ink);
  font-size:.92rem;text-transform:uppercase;background:#fff;
}
/* plain-English summary that sits above the formal text */
.jna-lg-key{
  background:#fff;border:1px solid var(--jna-line);border-left:3px solid var(--jna-gold);
  border-radius:0 14px 14px 0;padding:24px 26px;margin-bottom:34px;
}
.jna-lg-key h3{margin:0 0 12px;font-size:1.12rem}
.jna-lg-key li{font-size:.94rem;margin-bottom:7px}
.jna-lg-key p:last-child{margin-bottom:0}
/* a highlighted aside inside a legal block */
.jna-lg-note{
  background:var(--jna-cream2);border-radius:12px;padding:16px 20px;margin:18px 0;font-size:.93rem;
}
.jna-lg-note p{margin:0}
.jna-lg-note p + p{margin-top:8px}
.jna-lg-body a{font-weight:600;border-bottom:1px solid var(--jna-gold)}

@media(max-width:980px){
  .jna-lg{grid-template-columns:1fr;gap:30px}
  .jna-lg-toc{position:static;display:flex;flex-wrap:wrap;gap:6px}
  .jna-lg-toc h4{width:100%;margin-bottom:6px}
  .jna-lg-toc a{border-left:0;border:1px solid var(--jna-line);border-radius:999px;padding:7px 15px;font-size:.82rem}
  .jna-lg-toc a:hover{padding-left:15px;border-color:var(--jna-gold)}
}
@media(max-width:575px){
  /* A full HIPAA notice is long by nature and nobody reads it top to bottom.
     Rather than hiding legally required text behind an accordion, the contents
     rail becomes a sticky horizontal jumper that stays reachable the whole way
     down the page. */
  .jna-lg-toc{
    position:sticky;top:70px;z-index:70;
    background:var(--jna-cream);margin:0 -18px 20px;padding:10px 18px 11px;
    border-bottom:1px solid var(--jna-line);
    flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:7px;
  }
  .jna-lg-toc h4{display:none}
  .jna-lg-toc a{white-space:nowrap;font-size:.78rem;padding:6px 13px}
  .jna-lg-body h2{font-size:1.22rem}
  .jna-lg-body h3{font-size:1.02rem;margin:18px 0 6px}
  .jna-lg-sec{padding-bottom:22px;margin-bottom:22px;scroll-margin-top:76px}
  .jna-lg-body li{font-size:.88rem}
  .jna-lg-updated{padding:13px 15px;margin-bottom:22px;font-size:.85rem}
  .jna-lg-n{width:25px;height:25px;font-size:.75rem;margin-right:8px}
  .jna-lg-caps{padding:14px 15px;font-size:.79rem;margin-bottom:20px}
  .jna-lg-key{padding:16px 17px;margin-bottom:24px}
  .jna-lg-key h3{font-size:1.02rem}
  .jna-lg-key li{font-size:.87rem}
  .jna-lg-note{padding:13px 15px;font-size:.87rem}
}

/* cross-links between the legal notices ----------------------------------- */
.jna-lgnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:840px;margin:0 auto}
.jna-lgnav a{
  display:block;background:#fff;border:1px solid var(--jna-line);border-radius:14px;padding:20px 22px;
  transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease;
}
.jna-lgnav a:hover{border-color:var(--jna-gold);transform:translateY(-3px);box-shadow:var(--jna-shadow-sm)}
.jna-lgnav b{display:block;font-family:'Playfair Display',Georgia,serif;font-size:1.04rem;color:var(--jna-ink);font-weight:600;margin-bottom:3px}
.jna-lgnav span{font-size:.86rem;color:var(--jna-text);line-height:1.5}
@media(max-width:575px){
  .jna-lgnav{grid-template-columns:1fr;gap:9px}
  .jna-lgnav a{padding:13px 15px;border-radius:11px}
  .jna-lgnav b{font-size:.96rem}
  .jna-lgnav span{font-size:.8rem}
}

/* --------------------------------------------------------------------------
   9b. REVISION 7 COMPONENTS
   Credential strip, insurance grid, site search, photo CTA and the logo image.
   Contrast checked the same way as everything above: body text 4.5:1, large
   and UI 3:1, against the exact background each one sits on.
   -------------------------------------------------------------------------- */

/* the supplied logo, used as an image rather than a drawn mark -------------- */
.jna-logo img{display:block;height:46px;width:auto;transition:height .35s ease}
.jna-hd.jna-hd-stuck .jna-logo img{height:40px}
.jna-ft .jna-logo img{height:52px}

/* credential strip --------------------------------------------------------- */
.jna-creds{background:#fff;border-bottom:1px solid var(--jna-line);padding:30px 0}
.jna-creds-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
  margin:0;padding:0;list-style:none;
}
.jna-cred-item{
  display:flex;gap:14px;align-items:flex-start;
  padding:6px 26px;border-right:1px solid var(--jna-line);
}
.jna-cred-item:last-child{border-right:0}
.jna-cred-item:first-child{padding-left:0}
.jna-cred-item .jna-iico{
  width:26px;height:26px;flex:none;margin-top:2px;
  stroke:var(--jna-gold-d);stroke-width:1.6;fill:none;
  stroke-linecap:round;stroke-linejoin:round;
}
.jna-cred-item span{font-size:.87rem;line-height:1.45;color:var(--jna-text)}
.jna-cred-item strong{
  display:block;font-family:'Playfair Display',Georgia,serif;
  font-size:1.04rem;font-weight:600;color:var(--jna-ink);margin-bottom:3px;
  letter-spacing:.01em;
}

/* insurance ---------------------------------------------------------------- */
.jna-ins{display:grid;grid-template-columns:1fr 1fr;gap:0 54px;align-items:start}
.jna-ins-col + .jna-ins-col{border-left:1px solid var(--jna-sage-l);padding-left:54px}
.jna-ins-col h3{
  display:flex;align-items:center;gap:9px;justify-content:center;
  font-family:'Source Sans 3',system-ui,sans-serif;
  font-size:.83rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--jna-blue-d);margin:0 0 22px;
}
.jna-ins-pin{
  width:17px;height:17px;flex:none;fill:none;stroke:var(--jna-gold-d);stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.jna-ins-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;
  margin:0;padding:0;list-style:none;
}
.jna-ins-tile{
  background:#fff;border:1px solid var(--jna-line2);border-radius:12px;
  min-height:82px;padding:14px 16px;
  display:grid;place-items:center;text-align:center;
  transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease;
}
.jna-ins-tile:hover{
  border-color:var(--jna-gold);transform:translateY(-3px);box-shadow:var(--jna-shadow-sm);
}
.jna-ins-tile img{max-width:100%;max-height:44px;width:auto;height:auto;display:block}
.jna-ins-t{display:block;line-height:1.3}
.jna-ins-n{
  display:block;font-family:'Source Sans 3',system-ui,sans-serif;
  font-size:1.16rem;font-weight:800;color:var(--jna-ink);
  letter-spacing:-.018em;line-height:1.15;
}
.jna-ins-q{
  display:block;margin-top:6px;
  font-size:.66rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:#65737E;
}
.jna-ins-note{
  max-width:800px;margin:34px auto 0;text-align:center;
  font-size:.9rem;line-height:1.65;color:var(--jna-text);
}
.jna-ins-note a{color:var(--jna-blue-d);font-weight:700;border-bottom:1px solid var(--jna-gold)}

/* site search -------------------------------------------------------------- */
.jna-search-btn{
  width:42px;height:42px;flex:none;display:grid;place-items:center;
  background:transparent;border:1px solid var(--jna-line);border-radius:11px;
  cursor:pointer;padding:0;color:var(--jna-blue);
  transition:border-color .25s ease,color .25s ease,background .25s ease;
}
.jna-search-btn svg{
  width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
}
.jna-search-btn:hover{border-color:var(--jna-gold);color:var(--jna-gold-d);background:#fff}
/* The hidden attribute only sets display:none from the user agent stylesheet,
   which ANY author display declaration outranks. Without the rule below this
   overlay stays fixed at inset 0 with pointer-events auto while hidden, so it
   is invisible at opacity 0 and silently swallows every click on the page.
   That shipped in revision 7 and made the whole site unclickable. Never give
   this element a display value without the [hidden] guard beside it. */
.jna-search[hidden]{display:none}
.jna-search{
  position:fixed;inset:0;z-index:1200;
  background:rgba(25,55,70,.52);backdrop-filter:blur(3px);
  display:flex;justify-content:center;align-items:flex-start;
  padding:14vh 20px 20px;
  opacity:0;transition:opacity .2s ease;
}
.jna-search.jna-search-on{opacity:1}
.jna-search-box{
  width:100%;max-width:620px;background:var(--jna-cream);
  border-radius:18px;box-shadow:0 40px 90px -30px rgba(25,55,70,.6);
  overflow:hidden;font-family:'Source Sans 3',system-ui,sans-serif;
  transform:translateY(-10px);transition:transform .24s cubic-bezier(.2,.8,.3,1);
}
.jna-search.jna-search-on .jna-search-box{transform:none}
.jna-search-in{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#fff}
.jna-search-in > svg{
  width:20px;height:20px;flex:none;fill:none;stroke:var(--jna-gold-d);stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
}
.jna-search-in input{
  flex:1;min-width:0;border:0;outline:none;background:transparent;
  font-family:inherit;font-size:1.05rem;color:var(--jna-ink);
}
.jna-search-in input::placeholder{color:#7C8C99}
.jna-search-in input::-webkit-search-cancel-button,
.jna-search-in input::-webkit-search-decoration{-webkit-appearance:none;appearance:none}
.jna-search-x{
  width:32px;height:32px;flex:none;display:grid;place-items:center;
  background:var(--jna-tint);border:0;border-radius:8px;cursor:pointer;color:var(--jna-blue-d);
}
.jna-search-x svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.jna-search-hint{
  margin:0;padding:9px 18px;font-size:.78rem;color:var(--jna-text);
  background:var(--jna-cream2);border-top:1px solid var(--jna-line);
}
.jna-search-out{margin:0;padding:0;list-style:none;max-height:46vh;overflow-y:auto}
.jna-search-out:empty{display:none}
.jna-search-out li a{
  display:block;padding:13px 18px;border-top:1px solid var(--jna-line);
  color:var(--jna-ink);
}
.jna-search-out li a strong{display:block;font-size:.98rem;font-weight:700}
.jna-search-out li a span{display:block;font-size:.82rem;color:var(--jna-text);margin-top:2px}
.jna-search-out li a:hover,.jna-search-out li a:focus,
.jna-search-out li.jna-sel a{background:#fff;outline:none}
.jna-search-out li a mark{background:rgba(203,169,104,.42);color:inherit;border-radius:3px;padding:0 1px}
.jna-search-none{padding:20px 18px;font-size:.92rem;color:var(--jna-text);border-top:1px solid var(--jna-line)}

/* CTA band with a photograph ---------------------------------------------- */
.jna-cta-photo{padding:0}
.jna-cta-photo .jna-wrap{max-width:none;padding:0}
.jna-cta-photo .jna-cta-in{
  display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;
}
.jna-cta-txt{
  padding:76px 6vw 76px max(24px,calc((100vw - 1220px)/2 + 24px));
  display:flex;flex-direction:column;justify-content:center;gap:24px;
}
.jna-cta-photo .jna-cta-fig{position:relative;min-height:340px}
.jna-cta-photo .jna-cta-fig img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
}
.jna-cta-photo .jna-cta-fig::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--jna-blue-d) 0%,rgba(30,66,87,.55) 26%,rgba(30,66,87,0) 62%);
}

/* Crisis notice, light variant --------------------------------------------
   A doctor reviewing the site asked for this to sit beside the booking button
   rather than only in the footer, so a patient in crisis is told before they
   book that this practice is not the right route. The footer copy stays: it is
   the only version on the other twelve pages, and removing it would cut crisis
   information everywhere except the home page.
   Every colour below was measured against the #FBF2E4 band. Lowest is 5.36:1.
   -------------------------------------------------------------------------- */
.jna-crisis-top{background:#FBF2E4;border-top:1px solid var(--jna-line)}
.jna-crisis-top .jna-wrap{
  display:flex;gap:15px;align-items:flex-start;
  padding-top:20px;padding-bottom:20px;
}
.jna-crisis-top .jna-iico{
  width:24px;height:24px;flex:none;margin-top:2px;
  stroke:var(--jna-gold-d);stroke-width:1.7;fill:none;
  stroke-linecap:round;stroke-linejoin:round;
}
.jna-crisis-top strong{
  display:block;margin-bottom:3px;color:var(--jna-ink);
  font-family:'Source Sans 3',system-ui,sans-serif;
  font-size:.97rem;font-weight:800;letter-spacing:.01em;
}
.jna-crisis-top p{margin:0;font-size:.9rem;line-height:1.6;color:var(--jna-text)}
.jna-crisis-top a{color:var(--jna-blue-d);font-weight:800;border-bottom:1px solid var(--jna-gold)}

/* Credentials beside the footer booking button: ADHD-CCSP badge and the
   Psychology Today verified seal (practice request, October 2026). The seal
   is drawn by Psychology Today's script into .sx-verified-seal; the min-height
   reserves its space so the footer does not jump when it arrives. */
/* Certifications: her badges (each keeps its own background colour) and,
   beside booking, the Psychology Today seal. */
.jna-certs{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:22px}
.jna-certs img{width:76px;height:76px;flex:none;border-radius:16px;
  box-shadow:0 8px 18px -8px rgba(30,61,82,.45),0 0 0 1px rgba(30,61,82,.06)}
.jna-certs-seal{display:flex;align-items:center;min-height:64px}
.jna-certs-seal a{border:0}
/* Shown when Psychology Today does not draw its seal (it refuses visitors
   outside the US); still links to her verified profile. */
.jna-pt-fb{display:inline-flex;align-items:center;gap:10px;height:64px;padding:0 16px 0 13px;
  background:#fff;border:1px solid var(--jna-line2);border-radius:14px;box-shadow:var(--jna-shadow-sm);
  color:var(--jna-ink);text-decoration:none;line-height:1.15;transition:border-color .25s ease}
.jna-certs-seal a:hover .jna-pt-fb{border-color:var(--jna-gold)}
.jna-pt-fb svg{width:26px;height:26px;flex:none;fill:none;stroke:var(--jna-sage-d);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.jna-pt-fb small{display:block;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--jna-sage-d)}
.jna-pt-fb b{display:block;font-size:.95rem;font-weight:700;color:var(--jna-ink)}
.jna-ft .jna-certs{margin-top:20px;gap:10px}
.jna-ft .jna-certs img{width:60px;height:60px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.3)}
@media(max-width:575px){
  .jna-certs{gap:10px}
  .jna-certs img{width:64px;height:64px;border-radius:13px}
}

/* Announcement bar -------------------------------------------------------
   Sits above the sticky header. The messages are DATA, not markup: on
   WordPress the plugin prints window.JNA_ANNOUNCEMENTS in the head, so the
   practice edits them in wp-admin and they change immediately, with no
   rebuild, no redeploy and no page re-provisioning. Contrast measured on
   #1E4257: white text 10.65:1, gold accents 6.30:1.
   -------------------------------------------------------------------------- */
.jna-ann{
  background:var(--jna-blue-d);color:#fff;
  font-family:'Source Sans 3',system-ui,sans-serif;
  border-bottom:1px solid rgba(224,196,138,.28);
}
.jna-ann[hidden]{display:none}
.jna-ann *{border:0;background:none;box-shadow:none}
.jna-ann-in{
  max-width:1220px;margin:0 auto;padding:0 24px;
  min-height:46px;display:flex;align-items:center;justify-content:center;gap:12px;
}
.jna-ann-dot{
  width:7px;height:7px;border-radius:50%;flex:none;background:var(--jna-gold-l);
  box-shadow:0 0 0 0 rgba(224,196,138,.6);animation:jna-ann-pulse 2.8s ease-out infinite;
}
@keyframes jna-ann-pulse{
  70%{box-shadow:0 0 0 8px rgba(224,196,138,0)}
  100%{box-shadow:0 0 0 0 rgba(224,196,138,0)}
}
.jna-ann-track{
  flex:1;min-width:0;text-align:center;
  padding:9px 0;font-size:.93rem;font-weight:600;letter-spacing:.005em;line-height:1.45;
  opacity:1;transition:opacity .34s ease;
}
.jna-ann.jna-ann-fade .jna-ann-track{opacity:0}
.jna-ann-track a{color:var(--jna-gold-l);font-weight:700;border-bottom:1px solid rgba(224,196,138,.5)}
.jna-ann-track a:hover{border-bottom-color:var(--jna-gold-l)}
.jna-ann-nav{
  display:flex;gap:5px;flex:none;
}
.jna-ann-nav button{
  width:9px;height:9px;padding:0;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.34);border:0;
  transition:background .25s ease,transform .25s ease;
}
.jna-ann-nav button[aria-current="true"]{background:var(--jna-gold-l);transform:scale(1.25)}
.jna-ann-nav button:focus-visible{outline:2px solid var(--jna-gold-l);outline-offset:3px}

/* --------------------------------------------------------------------------
   10. TABLET
   -------------------------------------------------------------------------- */
@media(max-width:1220px){
  .jna-nav a{padding:9px 7px;font-size:.83rem}
  .jna-nav a::after{left:7px;right:7px}
  .jna-hd .jna-btn{padding:11px 15px;font-size:.82rem;margin-left:4px}
  .jna-hd-in{gap:14px}
  .jna-logo img{height:40px}
}
@media(max-width:1060px){
  .jna-nav{display:none}
  .jna-hd .jna-btn{display:none}
  .jna-burger{display:grid;margin-left:0}
  .jna-search-btn{margin-left:auto}
}
@media(max-width:980px){
  .jna-cred-item{padding:6px 18px}
  .jna-band-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 0}
  .jna-vcard:nth-child(2n){border-right:0}
  .jna-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 0}
  .jna-trust-item:nth-child(2n){border-right:0}
  .jna-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jna-ft-grid{grid-template-columns:1fr 1fr;gap:40px}
  .jna-prof{grid-template-columns:1fr}
  .jna-sec{padding:74px 0}

  .jna-creds-grid{grid-template-columns:1fr 1fr;gap:20px 0}
  .jna-cred-item:nth-child(2n){border-right:0}
  .jna-ins{grid-template-columns:1fr;gap:38px}
  .jna-ins-col + .jna-ins-col{border-left:0;padding-left:0;border-top:1px solid var(--jna-sage-l);padding-top:34px}
  .jna-cta-photo .jna-cta-in{grid-template-columns:1fr}
  .jna-cta-txt{padding:56px 24px}
  .jna-cta-photo .jna-cta-fig{min-height:260px;order:-1}
  .jna-cta-photo .jna-cta-fig::after{
    background:linear-gradient(180deg,rgba(30,66,87,.10) 0%,rgba(30,66,87,.72) 100%);
  }
}

/* --------------------------------------------------------------------------
   11. MOBILE  -- one block, always last. Retune here, nowhere else.
   -------------------------------------------------------------------------- */
@media(max-width:575px){
  .jna-page{font-size:16px;line-height:1.66}
  .jna-wrap{padding:0 18px}
  .jna-sec{padding:38px 0}
  .jna-head{margin-bottom:26px}
  .jna-head p{font-size:.97rem}
  .jna-page h1{font-size:2rem}
  .jna-page h2{font-size:1.6rem}
  .jna-page h3{font-size:1.1rem}
  .jna-eyebrow{font-size:.68rem;margin-bottom:11px}
  .jna-rule{margin-bottom:18px;width:52px}

  .jna-ann-in{padding:0 14px;gap:9px;min-height:40px}
  .jna-ann-track{font-size:.82rem;padding:8px 0;line-height:1.4}
  .jna-ann-dot{width:6px;height:6px}
  .jna-ann-nav button{width:7px;height:7px}

  .jna-hd-in{height:70px;padding:0 18px;gap:10px}
  .jna-hd.jna-hd-stuck .jna-hd-in{height:64px}
  .jna-logo img{height:34px}
  .jna-hd.jna-hd-stuck .jna-logo img{height:32px}
  .jna-ft .jna-logo img{height:44px}
  .jna-search-btn{width:38px;height:38px;border-radius:10px}
  .jna-search-btn svg{width:17px;height:17px}

  .jna-creds{padding:20px 0}
  .jna-creds-grid{grid-template-columns:1fr;gap:0}
  .jna-cred-item{
    padding:12px 0;border-right:0;border-bottom:1px solid var(--jna-line);gap:12px;
  }
  .jna-cred-item:last-child{border-bottom:0}
  .jna-cred-item .jna-iico{width:22px;height:22px}
  .jna-cred-item strong{font-size:.98rem}
  .jna-cred-item span{font-size:.85rem}

  .jna-accepting{font-size:.85rem;padding:9px 16px 9px 13px;gap:9px}
  .jna-ins-grid{gap:9px}
  .jna-ins-tile{min-height:70px;padding:11px 12px;border-radius:10px}
  .jna-ins-n{font-size:.93rem}
  .jna-ins-q{font-size:.64rem;margin-top:3px}
  .jna-ins-note{font-size:.84rem;margin-top:24px}
  .jna-ins-col h3{font-size:.76rem;margin-bottom:16px}

  .jna-search{padding:9vh 12px 12px}
  .jna-search-box{border-radius:14px}
  .jna-search-in{padding:13px 14px}
  .jna-search-in input{font-size:16px}
  .jna-search-out{max-height:52vh}
  .jna-search-out li a{padding:11px 14px}

  .jna-cta-txt{padding:38px 18px;gap:18px}
  .jna-cta-photo .jna-cta-fig{min-height:190px}

  .jna-band{padding:40px 0}
  .jna-band-grid{grid-template-columns:1fr 1fr;gap:26px 12px}
  .jna-vcard{padding:0 8px;border-right:0}
  .jna-vcard h3{font-size:1rem;margin-bottom:6px}
  .jna-vcard p{font-size:.8rem;line-height:1.5}
  .jna-ico{width:44px;height:44px}
  .jna-ico svg{width:22px;height:22px}

  .jna-trust-grid{grid-template-columns:1fr 1fr;gap:16px 8px;padding:20px 0}
  .jna-trust-item{padding:4px 6px;border-right:0;font-size:.78rem;gap:8px;justify-content:flex-start}
  .jna-trust-item .jna-iico{width:19px;height:19px}

  .jna-tiles{grid-template-columns:1fr 1fr;gap:11px}
  .jna-tile{padding:16px 13px;border-radius:11px}
  .jna-tile .jna-ico{margin-bottom:12px}
  .jna-tile h3{font-size:.97rem;margin-bottom:5px}
  .jna-tile p{font-size:.8rem;line-height:1.5}

  .jna-btn{padding:13px 24px;font-size:.9rem;width:100%}
  .jna-btn-lg{padding:14px 26px;font-size:.94rem}
  .jna-cta{padding:44px 0}
  .jna-cta-in{gap:24px}
  .jna-cta p{font-size:.97rem}
  .jna-cta-btns{width:100%;gap:10px}

  .jna-phero{padding:36px 0 42px}
  .jna-phero p{font-size:1rem}
  .jna-crumb{font-size:.76rem;margin-bottom:14px}

  .jna-acc-q{font-size:1.02rem;padding:17px 40px 17px 0}
  .jna-acc-a-in{padding:0 10px 19px 0;font-size:.92rem}

  .jna-prof{gap:9px}
  .jna-prof a{padding:13px 14px;gap:11px;border-radius:11px}
  .jna-prof .jna-ico{width:34px;height:34px}
  .jna-prof .jna-ico svg{width:17px;height:17px}
  .jna-prof b{font-size:.94rem}
  .jna-prof span{font-size:.76rem}

  /* Stacking all four footer columns costs 2.2 phone screens on every page.
     Brand and contact stay full width; the two short link lists go 2 up. */
  .jna-ft-in{padding:34px 18px 0}
  .jna-ft-grid{grid-template-columns:1fr 1fr;gap:24px 14px;padding-bottom:24px}
  .jna-ft-grid > div:first-child,
  .jna-ft-grid > div:last-child{grid-column:1/-1}
  .jna-ft{font-size:.86rem;line-height:1.6}
  .jna-ft h4{font-size:.84rem;margin-bottom:11px}
  .jna-ft h4::after{margin-top:6px}
  .jna-ft p{margin:0 0 .7rem}
  .jna-ft .jna-logo{margin-bottom:12px}
  .jna-ft-links li{margin-bottom:5px}
  .jna-ft-office{margin-bottom:13px}
  .jna-ft-row{margin-bottom:8px;gap:9px}
  .jna-crisis-top .jna-wrap{padding-top:15px;padding-bottom:15px;gap:11px}
  .jna-crisis-top .jna-iico{width:20px;height:20px}
  .jna-crisis-top strong{font-size:.9rem}
  .jna-crisis-top p{font-size:.83rem;line-height:1.55}
  .jna-crisis{padding:14px 15px;margin-bottom:24px;gap:10px}
  .jna-crisis p{font-size:.81rem;line-height:1.55}
  .jna-ft-bot{padding:14px 0 20px;font-size:.76rem;gap:9px}
  .jna-ft-disc{font-size:.72rem;line-height:1.6;padding-top:14px}
  .jna-float{width:52px;height:52px;right:16px;bottom:18px}
}

/* --------------------------------------------------------------------------
   12. MOTION + PRINT
   -------------------------------------------------------------------------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .jna-page *,.jna-hd *,.jna-ft *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .jna-rv{opacity:1;transform:none}
  /* Must match the icon selector above, or reduced-motion users get no icons. */
  .jna-ico svg > *,.jna-rv:not(.jna-vis) .jna-ico svg > *{stroke-dashoffset:0}
}
@media print{
  .jna-hd,.jna-ft,.jna-float,.jna-drawer,.jna-scrim{display:none !important}
  .jna-rv{opacity:1 !important;transform:none !important}
  .jna-ico svg > *,.jna-rv:not(.jna-vis) .jna-ico svg > *{stroke-dashoffset:0 !important}
}

/* --------------------------------------------------------------------------
   12. DARK SURFACE HARDENING  -- keep last in this file
   Light text on a dark panel is the one failure that is invisible in review
   and unreadable in use: navy on navy simply looks like an empty card. Any
   theme rule shaped like ".entry-content h3{color:#333}" ties with ours on
   specificity, so whichever stylesheet loads last wins, and on WordPress that
   is not always us.
   Every selector below doubles a class to sit above a tie, and each one names
   a surface whose background is dark. Add to this list whenever a new dark
   panel appears; never soften it to win a layout argument.
   -------------------------------------------------------------------------- */
.jna-cta.jna-cta h1,.jna-cta.jna-cta h2,.jna-cta.jna-cta h3,
.jna-band.jna-band h1,.jna-band.jna-band h2,.jna-band.jna-band h3,
.jna-ft.jna-ft h1,.jna-ft.jna-ft h2,.jna-ft.jna-ft h3,.jna-ft.jna-ft h4,
.jna-ann.jna-ann,.jna-ann.jna-ann .jna-ann-track,
.jna-mv-mission.jna-mv-mission h2,.jna-mv-mission.jna-mv-mission h3,
.jna-svc-panel.jna-svc-panel h2,.jna-svc-panel.jna-svc-panel h3{color:#fff}

.jna-cta.jna-cta p,.jna-band.jna-band p,
.jna-mv-mission.jna-mv-mission p,
.jna-vcard.jna-vcard p{color:var(--jna-muted)}

.jna-ft.jna-ft p,.jna-ft.jna-ft li,.jna-ft.jna-ft span{color:var(--jna-muted)}
.jna-ft.jna-ft a{color:var(--jna-muted)}
.jna-ft.jna-ft a:hover{color:#fff}
.jna-crisis.jna-crisis strong{color:var(--jna-gold-l)}
.jna-crisis.jna-crisis p,.jna-crisis.jna-crisis{color:var(--jna-muted)}
.jna-crisis.jna-crisis a{color:#fff}
.jna-btn.jna-btn-onnavy{color:#fff}
