/* COLOR PALETTE: All colors must be kept in this :root block. Use var(--...) in the rules below. */
:root {
  --ink: #173e35;
  --muted: #435c53;
  --paper: #faf8f1;
  --line: #ccd2c5;
  --lime: #e1edb7;
  --white: #fff;
  --serif: Georgia,'Times New Roman',serif;
  --transparent: transparent;
  --focus-ring: #a34a18;
  --brand-accent: #647332;
  --eyebrow-accent: #61722d;
  --heading-accent: #536b32;
  --button-hover: #2f5848;
  --hero-art-background: #e7ebd9;
  --hero-art-border: #c4ceb5;
  --path-one-color: #91a36b;
  --path-two-color: #c2ca92;
  --path-three-color: #45664f;
  --surface-soft: #eef0e6;
  --service-divider: #a2b09b;
  --service-number-color: #586b44;
  --step-border: #8b9b78;
  --scope-accent: #788a55;
  --text-on-dark: #e0e6db;
  --button-light-hover: #f0f6d7;
  --pricing-divider: #73897b;
  --directory-background: #e9eddb;
  --coming-soon-border: #637348;
  --contact-placeholder-border: #74856a;
  --filter-border: #63776a;
  --card-accent: #728442;
  --menu-shadow: #173e351a;
}

*  {
  box-sizing:border-box
}

html  {
  scroll-behavior:smooth;
  scroll-padding-top:2rem
}

body  {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  font-size:1rem;
  line-height:1.65
}

a  {
  color:inherit;
  text-underline-offset:.25em
}

button  {
  font:inherit
}

a,button  {
  -webkit-tap-highlight-color:var(--transparent)
}

a:focus-visible,button:focus-visible  {
  outline:3px solid var(--focus-ring);
  outline-offset:5px
}

main:focus  {
  outline:none
}

.container  {
  width:min(1180px,calc(100% - 64px));
  margin:auto
}

.skip-link  {
  position:absolute;
  left:16px;
  top:-100px;
  padding:12px 18px;
  background:var(--white);
  z-index:10
}

.skip-link:focus  {
  top:12px
}

.site-header  {
  border-bottom:1px solid var(--line)
}

.header-inner  {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:104px;
  gap:24px
}

.brand  {
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  font-weight:700;
  font-size:18px;
  line-height:1.25
}

.brand-mark  {
  font-family:var(--serif);
  font-size:43px;
  letter-spacing:-4px;
  border:1px solid var(--ink);
  width:62px;
  height:62px;
  text-align:center;
  line-height:55px;
  border-radius:50%
}

.brand-mark span  {
  color:var(--brand-accent)
}

.brand-sub  {
  display:block;
  font-size:12px;
  font-weight:400;
  letter-spacing:2.1px;
  text-transform:uppercase;
  margin-top:6px
}

nav  {
  display:flex;
  align-items:center;
  gap:30px
}

nav a  {
  font-size:14px;
  text-decoration:none;
  padding:12px 0
}

nav a:hover,.text-link:hover  {
  text-decoration:underline
}

.nav-cta  {
  border:1px solid var(--ink);
  padding:11px 16px
}

.menu-toggle  {
  background:var(--transparent);
  border:1px solid var(--ink);
  padding:8px 12px;
  min-height:44px
}

.hero  {
  padding:76px 0 65px
}

.hero-grid  {
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:60px;
  align-items:center
}

.eyebrow  {
  text-transform:uppercase;
  letter-spacing:1.6px;
  font-size:12px;
  font-weight:700;
  margin:0 0 24px
}

.eyebrow span  {
  color:var(--eyebrow-accent);
  margin-right:8px
}

h1,h2,h3,p  {
  margin-top:0
}

h1  {
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(44px,5.4vw,70px);
  line-height:1.08;
  letter-spacing:-2.5px;
  margin-bottom:28px
}

h1 em  {
  font-weight:400;
  color:var(--heading-accent)
}

h2  {
  font-family:var(--serif);
  font-size:clamp(32px,3.5vw,46px);
  font-weight:400;
  letter-spacing:-1.2px;
  line-height:1.17;
  margin-bottom:25px
}

h3  {
  font-size:20px;
  line-height:1.35;
  margin-bottom:16px
}

.hero-intro  {
  max-width:520px;
  font-size:18px;
  color:var(--muted)
}

.actions  {
  display:flex;
  gap:22px;
  align-items:center;
  flex-wrap:wrap;
  margin:30px 0 22px
}

.button  {
  display:inline-flex;
  justify-content:space-between;
  gap:26px;
  background:var(--ink);
  color:var(--white);
  padding:16px 21px;
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  min-height:48px
}

.button:hover  {
  background:var(--button-hover)
}

.text-link  {
  font-size:14px;
  font-weight:700;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:16px
}

.hero-note  {
  font-size:13px;
  color:var(--muted)
}

.hero-art  {
  height:444px;
  background:var(--hero-art-background);
  border-radius:160px 160px 5px 5px;
  position:relative;
  overflow:hidden;
  border:1px solid var(--hero-art-border)
}

.art-top  {
  position:absolute;
  top:60px;
  left:0;
  width:100%;
  text-align:center;
  font-family:var(--serif);
  font-size:29px;
  line-height:1.2
}

.path  {
  position:absolute;
  bottom:65px;
  border-radius:100px 100px 0 0;
  width:80px;
  height:180px
}

.path-one  {
  left:36px;
  transform:rotate(-28deg);
  background:var(--path-one-color)
}

.path-two  {
  left:calc(50% - 40px);
  height:200px;
  background:var(--path-two-color)
}

.path-three  {
  right:36px;
  transform:rotate(28deg);
  background:var(--path-three-color)
}

.ground  {
  position:absolute;
  width:130%;
  height:125px;
  background:var(--ink);
  border-radius:50% 50% 0 0;
  bottom:-15px;
  left:-15%
}

.art-caption  {
  position:absolute;
  bottom:38px;
  color:var(--lime);
  text-align:center;
  width:100%;
  font-size:10px;
  letter-spacing:1.6px
}

.audience-strip  {
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}

.audience-strip .container  {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-block:22px
}

.audience-strip p  {
  margin:0;
  font-size:12px;
  color:var(--muted)
}

.audience-strip ul  {
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  gap:32px;
  font-family:var(--serif);
  font-size:20px
}

.section  {
  padding:88px 0
}

.split  {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px
}

.prose  {
  color:var(--muted)
}

.lead  {
  font-size:22px;
  color:var(--ink);
  line-height:1.45
}

.services  {
  background:var(--surface-soft)
}

.section-heading  {
  display:flex;
  justify-content:space-between;
  gap:60px;
  align-items:end;
  margin-bottom:36px
}

.section-heading>p  {
  max-width:345px;
  color:var(--muted)
}

.service-grid  {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:36px
}

.service-grid article  {
  border-top:1px solid var(--service-divider);
  padding-top:22px
}

.service-number  {
  font-family:var(--serif);
  font-size:30px;
  display:block;
  margin-bottom:30px;
  color:var(--service-number-color)
}

.service-grid p  {
  color:var(--muted)
}

.tag  {
  font-size:12px;
  font-weight:700;
  border-bottom:1px solid var(--service-divider);
  padding-bottom:8px;
  display:inline-block
}

.steps  {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:42px;
  list-style:none;
  counter-reset:steps;
  padding:0;
  margin:25px 0 30px
}

.steps li  {
  counter-increment:steps
}

.steps li:before  {
  content:counter(steps,decimal-leading-zero);
  display:block;
  width:45px;
  height:45px;
  border:1px solid var(--step-border);
  border-radius:50%;
  text-align:center;
  line-height:43px;
  font-size:13px;
  margin-bottom:24px
}

.steps p  {
  color:var(--muted)
}

.scope-note  {
  border-left:3px solid var(--scope-accent);
  padding:12px 20px;
  background:var(--surface-soft);
  font-size:14px;
  margin-bottom:0
}

.pricing  {
  background:var(--ink);
  color:var(--paper)
}

.pricing-grid  {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:100px
}

.pricing-grid>div>p:not(.eyebrow)  {
  max-width:430px;
  color:var(--text-on-dark)
}

.button-light  {
  background:var(--lime);
  color:var(--ink);
  margin-top:12px
}

.button-light:hover  {
  background:var(--button-light-hover)
}

.price-panel>div  {
  padding:20px 0 26px;
  border-top:1px solid var(--pricing-divider)
}

.price-panel strong  {
  display:block;
  font-family:var(--serif);
  font-weight:400;
  font-size:55px;
  line-height:1.3;
  margin:8px 0
}

.price-panel strong span  {
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px
}

.price-label  {
  font-size:13px
}

.price-panel p  {
  font-size:14px;
  color:var(--text-on-dark);
  margin:0
}

.audience-intro  {
  max-width:430px;
  color:var(--muted)
}

.audience-list>div  {
  border-bottom:1px solid var(--line);
  padding:0 0 18px;
  margin-bottom:24px
}

.audience-list h3  {
  font-size:18px;
  margin-bottom:8px
}

.audience-list p  {
  margin:0;
  color:var(--muted)
}

.directory-section  {
  background:var(--directory-background);
  padding:45px 0
}

.directory-inner  {
  display:grid;
  grid-template-columns:150px 1fr 70px;
  gap:35px;
  align-items:start
}

.coming-soon  {
  display:inline-block;
  border:1px solid var(--coming-soon-border);
  border-radius:20px;
  padding:5px 16px;
  font-size:12px;
  width:max-content
}

.directory-inner h2  {
  font-size:32px;
  margin-bottom:16px
}

.directory-inner p  {
  max-width:690px
}

.small  {
  font-size:13px
}

.directory-symbol  {
  font-size:56px;
  line-height:1
}

.contact  {
  text-align:center
}

.contact>div>p:not(.eyebrow)  {
  color:var(--muted)
}

.contact-placeholder  {
  background:var(--surface-soft);
  border:1px dashed var(--contact-placeholder-border);
  max-width:560px;
  margin:30px auto 0;
  padding:24px
}

.contact-placeholder p  {
  margin:10px 0 0
}

footer  {
  border-top:1px solid var(--line);
  padding:30px 0
}

.footer-inner  {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  font-size:12px
}

.footer-inner p  {
  margin:0;
  max-width:280px
}

.footer-brand  {
  font-weight:700;
  font-size:14px
}

.footer-brand span  {
  display:block;
  font-weight:400;
  font-size:12px;
  margin-top:4px
}

.footer-inner a  {
  padding:12px 0;
  white-space:nowrap
}

@media(max-width:1000px)  {
  nav  {
    gap:18px
  }

  .hero-grid  {
    gap:32px
  }

  .hero-art  {
    height:390px
  }

  .actions  {
    gap:12px
  }

  .audience-strip .container  {
    display:block
  }

  .audience-strip p  {
    margin-bottom:12px
  }

  .audience-strip ul  {
    flex-wrap:wrap;
    gap:12px 28px
  }

  .split,.pricing-grid  {
    gap:45px
  }

  .directory-inner  {
    grid-template-columns:120px 1fr
  }

  .directory-symbol  {
    display:none
  }

}

@media(max-width:760px)  {
  .container  {
    width:calc(100% - 40px)
  }

  .header-inner  {
    min-height:88px;
    flex-wrap:wrap;
    padding-block:14px;
    gap:16px
  }

  .brand  {
    font-size:15px
  }

  .brand-mark  {
    width:49px;
    height:49px;
    font-size:35px;
    line-height:43px
  }

  .brand-sub  {
    font-size:10px
  }

  .menu-toggle:not([hidden])  {
    display:block
  }

  nav  {
    width:100%;
    flex-wrap:wrap;
    gap:8px 22px;
    padding-bottom:12px
  }

  nav[data-collapsible="true"][hidden]  {
    display:none
  }

  nav a  {
    min-height:44px
  }

  .hero  {
    padding:45px 0
  }

  .hero-grid,.split,.pricing-grid  {
    grid-template-columns:1fr;
    gap:35px
  }

  h1  {
    letter-spacing:-1.6px
  }

  .hero-intro  {
    font-size:17px
  }

  .hero-art  {
    height:300px;
    max-width:440px;
    width:100%;
    margin:auto
  }

  .art-top  {
    top:32px;
    font-size:24px
  }

  .path  {
    height:130px;
    bottom:58px;
    width:65px
  }

  .path-two  {
    height:150px;
    left:calc(50% - 32px)
  }

  .ground  {
    height:95px
  }

  .art-caption  {
    bottom:25px;
    font-size:9px
  }

  .section  {
    padding:58px 0
  }

  .section-heading  {
    display:block;
    margin-bottom:24px
  }

  .section-heading>p  {
    max-width:100%
  }

  .service-grid,.steps  {
    grid-template-columns:1fr;
    gap:30px
  }

  .service-number  {
    margin-bottom:16px
  }

  .steps li  {
    padding-left:64px;
    position:relative
  }

  .steps li:before  {
    position:absolute;
    left:0;
    top:0
  }

  .steps h3  {
    margin-bottom:10px
  }

  .directory-inner  {
    grid-template-columns:1fr;
    gap:22px
  }

  .footer-inner  {
    align-items:start;
    flex-wrap:wrap
  }

  .contact h2 br  {
    display:none
  }

}

@media(prefers-reduced-motion:reduce)  {
  html  {
    scroll-behavior:auto
  }

  *,*:before,*:after  {
    animation:none!important;
    transition:none!important
  }

}

/* index.html */ .contact-details  {
  max-width: 580px;
  margin: 32px auto 0;
}

.contact-email-button  {
  min-width: 190px;
  font-size: 16px;
}

.contact-address  {
  margin: 18px 0 0;
  font-size: 18px;
  overflow-wrap: anywhere;
}

.contact-address a  {
  text-decoration-thickness: 1px;
}

.contact-guidance  {
  margin: 24px auto 0;
  max-width: 440px;
  color: var(--muted);
  font-size: 15px;
}

.contact-email-note  {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 13px;
}

/* about.html */ .about-hero  {
  padding: 76px 0 64px;
}

.about-hero h1  {
  max-width: 860px;
}

.about-hero .lead  {
  max-width: 670px;
}

.story  {
  max-width: 780px;
}

.story p  {
  color: var(--muted);
  font-size: 18px;
}

.story article  {
  padding: 30px 0;
  border-top: 1px solid var(--line);
}

.story h3  {
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 400;
}

.belief  {
  background: var(--lime);
  padding: 44px;
}

.belief p  {
  font-family: var(--serif);
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.35;
  margin-bottom: 0;
  max-width: 850px;
}

.about-contact p  {
  max-width: 650px;
  margin-inline: auto;
}

@media (max-width: 760px)  {
  .about-hero  {
    padding: 45px 0;
  }

  .belief  {
    padding: 28px 22px;
  }

}

/* free-screening.html */ .screening-hero  {
  padding: 70px 0;
}

.screening-intro  {
  max-width: 760px;
}

.screening-intro h1  {
  max-width: 720px;
}

.screening-intro .lead  {
  max-width: 650px;
}

.ownership  {
  background: var(--lime);
  padding: 40px;
  border-left: 4px solid var(--ink);
  margin-top: 40px;
}

.ownership h2  {
  font-size: 34px;
}

.ownership p  {
  max-width: 820px;
  margin-bottom: 0;
}

.screening-list  {
  padding-left: 22px;
  color: var(--muted);
}

.screening-list li  {
  margin-bottom: 12px;
}

.request-panel  {
  background: var(--surface-soft);
  padding: 40px;
}

.request-panel .button  {
  margin: 12px 0 20px;
}

.email-address  {
  overflow-wrap: anywhere;
}

.faq  {
  max-width: 860px;
}

.faq article  {
  padding: 24px 0;
  border-top: 1px solid var(--line);
}

.faq article p  {
  color: var(--muted);
  margin-bottom: 0;
}

@media (max-width: 760px)  {
  .screening-hero  {
    padding: 45px 0;
  }

  .ownership, .request-panel  {
    padding: 26px 22px;
  }

}

/* resources.html */ .resources-hero  {
  padding: 72px 0 56px;
}

.resources-hero h1  {
  max-width: 820px;
}

.resources-hero .lead  {
  max-width: 680px;
}

.guide-section  {
  background: var(--surface-soft);
}

.guide-layout  {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 65px;
  align-items: start;
}

.guide-cover  {
  background: var(--ink);
  color: var(--paper);
  padding: 44px;
  min-height: 340px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.guide-cover h2  {
  font-size: 42px;
  margin-block: 34px;
}

.guide-cover p  {
  margin: 0;
}

.guide-cover .eyebrow  {
  color: var(--lime);
}

.guide-summary  {
  color: var(--muted);
}

.guide-topics  {
  padding-left: 22px;
  margin-block: 24px;
}

.guide-topics li  {
  margin-bottom: 9px;
}

.resource-note  {
  font-size: 13px;
  color: var(--muted);
  margin-top: 16px;
}

.choice-panel  {
  background: var(--lime);
  padding: 36px;
  margin-top: 42px;
}

.choice-panel h3  {
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 400;
}

.choice-panel p  {
  margin: 0;
  max-width: 850px;
}

.learning-copy  {
  max-width: 720px;
}

@media (max-width: 760px)  {
  .resources-hero  {
    padding: 45px 0;
  }

  .guide-layout  {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .guide-cover  {
    padding: 30px;
    min-height: 280px;
  }

  .guide-cover h2  {
    font-size: 36px;
  }

  .choice-panel  {
    padding: 26px;
  }

}

/* providers.html */ .directory-hero {
  padding:64px 0 42px
}

.directory-hero h1 {
  max-width:880px
}

.directory-hero .lead {
  max-width:770px
}

.directory-hero .eyebrow {
  margin-bottom:20px
}

.directory-start {
  background:var(--lime);
  padding:26px 30px;
  margin-top:30px;
  display:flex;
  gap:26px;
  align-items:center;
  justify-content:space-between
}

.directory-start h2 {
  font-size:27px;
  margin-bottom:8px
}

.directory-start p {
  margin:0;
  max-width:720px
}

.directory-start a {
  flex-shrink:0
}

.directory-tools {
  border-block:1px solid var(--line);
  padding:28px 0;
  background:var(--surface-soft)
}

.filters {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr auto;
  gap:18px;
  align-items:end
}

.filters[hidden] {
  display:none
}

.filters label {
  font-weight:700;
  font-size:14px;
  display:block
}

.filters input,.filters select {
  display:block;
  width:100%;
  margin-top:8px;
  min-height:48px;
  padding:10px;
  border:1px solid var(--filter-border);
  background:var(--white);
  color:var(--ink);
  font:inherit;
  border-radius:0
}

.filters input:focus-visible,.filters select:focus-visible {
  outline:3px solid var(--focus-ring);
  outline-offset:3px
}

.filters button {
  border:0;
  cursor:pointer
}

.directory-results {
  padding:36px 0 64px
}

.result-summary {
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:var(--muted);
  font-size:14px
}

.resource-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px
}

.resource-card {
  padding:28px;
  background:var(--white);
  border:1px solid var(--line);
  border-top:4px solid var(--ink);
  overflow-wrap:anywhere
}

.resource-card[data-kind="support"] {
  border-top-color:var(--card-accent)
}

.resource-card[hidden] {
  display:none
}

.card-kind {
  font-size:11px;
  letter-spacing:1px;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:14px
}

.resource-badge {
  display:inline-block;
  background:var(--surface-soft);
  padding:5px 9px;
  font-size:12px;
  margin-bottom:18px
}

.resource-card h3 {
  font-family:var(--serif);
  font-size:29px;
  font-weight:400;
  margin-bottom:12px
}

.resource-specialty {
  font-weight:700;
  font-size:14px
}

.resource-card>p:not(.card-kind):not(.resource-specialty) {
  color:var(--muted)
}

.resource-card dl {
  font-size:14px;
  border-top:1px solid var(--line);
  padding-top:16px
}

.resource-card dt {
  font-weight:700;
  margin-top:12px
}

.resource-card dd {
  margin:4px 0 0;
  color:var(--muted)
}

.resource-card .checked {
  font-size:12px;
  margin:18px 0 0
}

.call-link {
  margin-left:18px
}

.directory-notes {
  background:var(--surface-soft);
  padding:40px 0
}

.directory-notes .split {
  gap:50px
}

.directory-notes h2 {
  font-size:30px
}

.directory-notes p,.directory-notes li {
  color:var(--muted)
}

.no-results {
  padding:30px;
  background:var(--lime)
}

.directory-intro-note {
  font-size:14px;
  color:var(--muted);
  max-width:820px
}

@media(max-width:1000px) {
  .filters {
    grid-template-columns:1fr 1fr
  }

  .directory-start {
    align-items:start;
    flex-direction:column
  }

}

@media(max-width:760px) {
  .directory-hero {
    padding:42px 0 30px
  }

  .filters,.resource-grid {
    grid-template-columns:1fr
  }

  .resource-card {
    padding:24px
  }

  .directory-start {
    padding:24px
  }

  .result-summary {
    display:block
  }

  .directory-notes .split {
    gap:24px
  }

}

@media print {
  .directory-tools,.menu-toggle {
    display:none
  }

  .resource-grid {
    display:block
  }

  .resource-card {
    break-inside:avoid;
    margin-bottom:20px
  }

}

/* Shared navigation and progressive enhancement */ .header-inner  {
  flex-wrap: wrap;
  padding-block: 16px;
}

nav  {
  flex-wrap: wrap;
  gap: 18px;
}

nav a  {
  white-space: nowrap;
}

[hidden]  {
  display: none !important;
}

.directory-results-heading  {
  font-family: inherit;
  font-size: 18px;
  letter-spacing: 0;
}

input:focus-visible, select:focus-visible, summary:focus-visible  {
  outline: 3px solid var(--focus-ring);
  outline-offset: 4px;
}

/* MOBILE HERO ILLUSTRATION: Extend side paths behind the ground so their
 * angled ends remain connected as the illustration narrows. The rounded
 * tops and original desktop geometry remain unchanged. */
@media (max-width: 760px) {
  .hero-art .path-one::after,
  .hero-art .path-three::after {
    content: "";
    position: absolute;
    top: calc(100% - 1px);
    left: 0;
    width: 100%;
    height: 80px;
    background: inherit;
  }
}

/* Shared navigation: CSS dividers are decorative and never spoken. */
#navigation { gap: 0; align-items: center; }
#navigation > * { position: relative; margin: 0; }
#navigation > * + *::before { content: ""; position: absolute; left: 0; top: 50%; height: 20px; border-left: 1px solid var(--line); transform: translateY(-50%); }
#navigation > a, #navigation > details > summary { padding: 12px 18px; min-height: 48px; font-size: 14px; cursor: pointer; }
#navigation > a { display: block; }
#navigation .nav-cta { margin-left: 18px; }
#navigation .nav-cta::before { left: -19px; }
#navigation a:hover, #navigation summary:hover { background: var(--lime); text-decoration: underline; text-underline-offset: .3em; }
#navigation a[aria-current], #navigation .is-current > summary { background: var(--lime); font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .4em; }
#navigation summary:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
.nav-submenu { position: absolute; z-index: 20; top: 100%; left: 0; width: 300px; max-width: calc(100vw - 40px); margin: 0; padding: 8px; list-style: none; background: var(--paper); border: 1px solid var(--line); box-shadow: 0 8px 18px var(--menu-shadow); }
#navigation .nav-submenu a, #navigation .nav-submenu span { display: block; padding: 10px 12px; white-space: normal; font-size: 14px; min-height: 44px; }
.nav-submenu small { display: block; color: var(--muted); font-size: 12px; }
@media (min-width: 761px) { .header-inner { justify-content: flex-start; } #navigation { flex: 1 0 100%; } }
@media (max-width: 760px) {
  #navigation { display: flex; flex-direction: column; align-items: stretch; gap: 4px; }
  #navigation > * + *::before { content: none; }
  #navigation > a, #navigation > details > summary { padding: 12px; white-space: normal; }
  #navigation .nav-cta { margin: 8px 0 0; }
  .nav-submenu { position: static; width: auto; max-width: none; margin: 0 12px 8px; box-shadow: none; border: 0; border-left: 2px solid var(--line); }
  .header-inner > .menu-toggle { margin-left: auto; }
}

.privacy-statement { width:calc(100% - 48px); max-width:1160px; margin:24px auto 0; padding:20px 0; border-top:1px solid var(--line); color:var(--ink); background:var(--paper); font-size:1rem; line-height:1.6; }
.privacy-statement p { margin:0; max-width:none; }
