
  :root{
    --purple-900:#3E1650;
    --purple-700:#5B2470;
    --purple-600:#6E2E86;
    --purple-100:#F2E9F5;
    --green-600:#456A15; /* darkened for WCAG AA text/button contrast */
    --green-500:#74A62A;
    --green-100:#EAF3DC;
    --cream:#FBF9F5;
    --ink:#26192C;
    --ink-soft:#5A4F60;
    --line:#E4DCE7;
    --radius-arc: 120px;
    --shadow: 0 12px 32px rgba(62,22,80,0.10);
  }
  :root{
    --surface:#FFFFFF;
    --purple-text:#5B2470;
    --green-text:#456A15;
  }
  :root[data-theme="dark"]{
    --cream:#201526;
    --ink:#F4EEF6;
    --ink-soft:#C9BDCf;
    --line:#3a2a42;
    --purple-100:#2c1c37;
    --green-100:#22301a;
    --surface:#2a1c33;
    --purple-text:#D6ACE0;
    --green-text:#9ED14D;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --cream:#201526;
      --ink:#F4EEF6;
      --ink-soft:#C9BDCf;
      --line:#3a2a42;
      --purple-100:#2c1c37;
      --green-100:#22301a;
      --surface:#2a1c33;
      --purple-text:#D6ACE0;
      --green-text:#9ED14D;
    }
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Karla',sans-serif;
    background:var(--cream);
    color:var(--ink);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  h1,h2,h3{
    font-family:'Lora',serif;
    font-weight:600;
    color:var(--ink);
    margin:0 0 .5em 0;
    line-height:1.18;
  }
  p{margin:0 0 1em 0; color:var(--ink-soft); max-width:62ch;}
  a{color:inherit;}
  .container{max-width:1180px;margin:0 auto;padding:0 28px;}
  button{font-family:inherit;}
  a:focus-visible, button:focus-visible, [tabindex]:focus-visible{
    outline:3px solid var(--green-600);
    outline-offset:3px;
    border-radius:4px;
  }

  /* ---------- Skip link ---------- */
  .skip-link{
    position:absolute; left:-999px; top:0; background:var(--purple-900); color:#fff;
    padding:12px 20px; z-index:200; border-radius:0 0 8px 0;
  }
  .skip-link:focus{left:0;}

  /* ---------- NAV ---------- */
  .site-nav{
    position:sticky; top:0; z-index:100;
    background:var(--cream);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 28px; max-width:1180px; margin:0 auto;
    gap:20px;
  }
  .brand{
    display:flex; align-items:center; gap:10px;
    font-family:'Lora',serif; font-weight:700; font-size:1.15rem;
    text-decoration:none; color:var(--ink);
    white-space:nowrap;
  }
  .brand .mark{
    width:38px;height:38px;border-radius:50%;
    background:conic-gradient(from 220deg, var(--purple-600), var(--green-500), var(--purple-600));
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .brand .mark svg{width:20px;height:20px;stroke:#fff;}
  .brand small{display:block;font-family:'Karla',sans-serif;font-weight:600;font-size:.62rem;letter-spacing:.04em;color:var(--green-text);}
  nav.links{display:flex; gap:6px; align-items:center;}
  nav.links a{
    text-decoration:none; color:var(--ink-soft); font-weight:600; font-size:.94rem;
    padding:10px 14px; border-radius:999px; transition:background .15s, color .15s;
  }
  nav.links a:hover{background:var(--purple-100); color:var(--purple-text);}
  nav.links a.active{background:var(--purple-700); color:#fff;}
  .nav-cta{
    background:var(--green-600); color:#fff !important; padding:11px 20px !important;
    border-radius:999px; font-weight:700 !important;
  }
  .nav-cta:hover{background:var(--green-500) !important; color:#fff !important;}
  .burger{
    display:none; background:none; border:none; cursor:pointer; padding:8px;
    color:var(--ink);
  }
  .burger svg{width:26px;height:26px;}

  @media (max-width: 880px){
    .burger{display:block;}
    nav.links{
      position:fixed; inset:64px 0 0 0; background:var(--cream);
      flex-direction:column; align-items:stretch; padding:18px 24px;
      transform:translateX(100%); transition:transform .25s ease; overflow-y:auto;
    }
    nav.links.open{transform:translateX(0);}
    nav.links a{padding:16px 14px; font-size:1.05rem; border-bottom:1px solid var(--line); border-radius:0;}
    .nav-cta{border-radius:999px !important; text-align:center; margin-top:12px; border-bottom:none !important;}
  }

  /* ---------- Sections / arcs ---------- */
  section{padding:88px 0;}
  .page{display:none;}
  .page.visible{display:block;}
  .tint-lilac{background:var(--purple-100);}
  .tint-green{background:var(--green-100);}
  .eyebrow{
    font-weight:700; color:var(--green-text); font-size:.85rem; margin-bottom:10px; display:block;
  }
  .arc-corner{
    position:relative; overflow:hidden;
  }
  .arc-corner::before{
    content:"";
    position:absolute; top:-160px; right:-160px; width:340px; height:340px;
    border-radius:50%;
    background:var(--purple-600);
    opacity:.08;
  }
  .lede{font-size:1.18rem; max-width:56ch;}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:14px 26px; border-radius:999px; text-decoration:none;
    font-weight:700; font-size:.98rem; border:2px solid transparent; cursor:pointer;
  }
  .btn-primary{background:var(--green-600); color:#fff;}
  .btn-primary:hover{background:var(--green-500);}
  .btn-ghost{border-color:var(--purple-text); color:var(--purple-text);}
  .btn-ghost:hover{background:var(--purple-100);}
  .btn-onpurple{border-color:#fff; color:#fff;}
  .btn-onpurple:hover{background:rgba(255,255,255,.12);}

  /* ---------- HERO (home) ---------- */
  .hero{
    padding:64px 0 96px;
    position:relative;
    overflow:hidden;
  }
  .hero-grid{
    display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center;
  }
  .hero h1{font-size:clamp(2.2rem, 4vw, 3.4rem);}
  .hero-badge{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--purple-100); color:var(--purple-text); font-weight:700; font-size:.82rem;
    padding:8px 16px; border-radius:999px; margin-bottom:22px;
  }
  .hero-badge svg{width:16px;height:16px;stroke:var(--purple-text);}
  .hero-cta-row{display:flex; gap:14px; margin-top:28px; flex-wrap:wrap;}
  .hero-art{
    position:relative; aspect-ratio:1/1; border-radius:50% 50% 46% 54% / 54% 46% 54% 46%;
    background:linear-gradient(135deg, var(--purple-600), var(--purple-900));
    display:flex; align-items:center; justify-content:center;
  }
  .hero-art::after{
    content:""; position:absolute; inset:14%;
    border-radius:inherit; border:2px solid rgba(255,255,255,.25);
  }
  .hero-art .heart{
    width:38%; height:38%; stroke:var(--green-500); fill:none; stroke-width:1.4;
  }
  .hero-orbit{
    position:absolute; width:64px; height:64px; border-radius:50%;
    background:var(--green-500); display:flex; align-items:center; justify-content:center;
    box-shadow:var(--shadow);
  }
  .hero-orbit svg{width:28px;height:28px;stroke:#fff;}
  .hero-orbit.o1{top:2%; left:-6%; background:var(--green-600);}
  .hero-orbit.o2{bottom:6%; right:-8%; background:var(--purple-700);}

  @media (max-width:880px){
    .hero-grid{grid-template-columns:1fr;}
    .hero-art{max-width:280px; margin:0 auto;}
  }

  /* ---------- Icon rows / grids ---------- */
  .badge{
    width:56px; height:56px; border-radius:50%;
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .badge svg{width:26px;height:26px; stroke:#fff; fill:none; stroke-width:1.7;}
  .badge.p{background:var(--purple-600);}
  .badge.g{background:var(--green-600);}

  .feature-grid{
    display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:28px; margin-top:44px;
  }
  .feature{
    display:flex; gap:16px; align-items:flex-start;
  }
  .feature h3{font-size:1.06rem; margin-bottom:4px;}
  .feature p{margin:0; font-size:.96rem;}

  .service-cards{
    display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:24px; margin-top:44px;
  }
  .service-card{
    background:var(--cream); border:1px solid var(--line); border-radius:22px;
    padding:32px 26px; text-decoration:none; color:var(--ink);
    display:flex; flex-direction:column; gap:16px; transition:border-color .15s, transform .15s;
  }
  .service-card:hover{border-color:var(--purple-text); transform:translateY(-3px);}
  .service-card h3{font-size:1.15rem;}
  .service-card p{font-size:.94rem;}
  .service-card .go{
    margin-top:auto; font-weight:700; color:var(--purple-text); font-size:.9rem;
    display:flex; align-items:center; gap:6px;
  }
  .service-card .go svg{width:16px;height:16px;}

  .list-check{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px;}
  .list-check li{display:flex; gap:14px; align-items:flex-start; color:var(--ink);}
  .list-check li svg{width:22px;height:22px; stroke:var(--green-600); flex-shrink:0; margin-top:2px;}

  .two-col{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
  @media (max-width:820px){.two-col{grid-template-columns:1fr;}}

  .quote-panel{
    background:var(--purple-900); color:#fff; border-radius:26px; padding:44px;
    margin-top:52px; display:flex; gap:22px; align-items:center;
  }
  .quote-panel svg{width:34px;height:34px;stroke:var(--green-500); flex-shrink:0;}
  .quote-panel p{color:#EFE6F2; margin:0; font-size:1.08rem; max-width:70ch;}

  /* ---------- Page hero (interior pages) ---------- */
  .page-hero{
    padding:56px 0 20px;
  }
  .page-hero .eyebrow{margin-bottom:14px;}
  .page-hero h1{font-size:clamp(2rem,3.4vw,2.7rem); max-width:18ch;}
  .page-hero .lede{margin-top:14px;}
  .support-row{
    display:flex; gap:16px; align-items:flex-start; padding:20px 0; border-bottom:1px solid var(--line);
  }
  .support-row:last-child{border-bottom:none;}
  .support-row h3{font-size:1.02rem; margin-bottom:3px;}
  .support-row p{font-size:.94rem; margin:0;}

  .stat-strip{
    display:flex; flex-wrap:wrap; gap:40px; margin-top:20px;
  }
  .stat{min-width:140px;}
  .stat .n{font-family:'Lora',serif; font-size:2rem; color:var(--purple-text); font-weight:700;}
  .stat .l{font-size:.85rem; color:var(--ink-soft);}

  /* ---------- CTA band ---------- */
  .cta-band{
    background:linear-gradient(120deg, var(--purple-700), var(--purple-900));
    color:#fff; border-radius:0; text-align:left;
  }
  .cta-band .container{
    display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap;
  }
  .cta-band h2{color:#fff; font-size:1.7rem; max-width:20ch; margin:0;}
  .cta-band p{color:#E7DBEC; margin:6px 0 0;}

  /* ---------- Footer ---------- */
  footer{
    background:var(--purple-900); color:#EAE0EE; padding:64px 0 28px;
  }
  .footer-grid{
    display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px;
  }
  @media (max-width:820px){.footer-grid{grid-template-columns:1fr 1fr;}}
  footer h4{color:#fff; font-family:'Karla',sans-serif; font-size:.85rem; letter-spacing:.02em; margin:0 0 16px;}
  footer a{color:#D9C9DE; text-decoration:none; font-size:.92rem; display:block; margin-bottom:10px;}
  footer a:hover{color:#fff;}
  .footer-brand{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
  .footer-brand .mark{width:36px;height:36px;border-radius:50%;background:conic-gradient(from 220deg, var(--green-500), #fff, var(--green-500)); display:flex;align-items:center;justify-content:center;}
  .footer-brand .mark svg{width:18px;height:18px;stroke:var(--purple-900);}
  .footer-brand span{font-family:'Lora',serif; font-weight:700; color:#fff; font-size:1.05rem;}
  .ndis-badge{
    display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,.08);
    padding:10px 16px; border-radius:999px; margin-top:18px; font-size:.85rem; font-weight:600;
  }
  .ndis-badge svg{width:20px;height:20px; stroke:var(--green-500); fill:none;}
  .foot-bottom{
    border-top:1px solid rgba(255,255,255,.12); margin-top:48px; padding-top:22px;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.82rem; color:#C6B6CC;
  }

  /* ---------- Contact page ---------- */
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px;}
  @media (max-width:820px){.contact-grid{grid-template-columns:1fr;}}
  .contact-card{
    background:var(--surface); border:1px solid var(--line); border-radius:22px; padding:32px;
  }
  .contact-card h3{color:var(--ink);}
  .field{margin-bottom:18px;}
  .field label{display:block; font-weight:700; font-size:.88rem; margin-bottom:6px; color:var(--ink);}
  .field input, .field select, .field textarea{
    width:100%; padding:12px 14px; border-radius:10px; border:1px solid var(--line);
    background:var(--cream); color:var(--ink); font-family:inherit; font-size:.96rem;
  }
  .field input::placeholder, .field textarea::placeholder{color:var(--ink-soft); opacity:1;}
  .contact-card p{color:var(--ink-soft);}
  .field textarea{min-height:120px; resize:vertical;}
  .contact-info-row{display:flex; gap:16px; align-items:flex-start; margin-bottom:26px;}
  .contact-info-row h4{margin:0 0 3px; font-size:.98rem;}
  .contact-info-row p{margin:0; font-size:.94rem;}
  .placeholder-note{
    background:var(--green-100); border:1px dashed var(--green-text); border-radius:14px;
    padding:16px 18px; font-size:.88rem; color:var(--ink); margin-bottom:30px;
  }

  .brand-logo{height:46px;width:auto;display:block;}
  @media (max-width:480px){.brand-logo{height:38px;}}
  .footer-logo-icon{width:40px;height:40px;object-fit:contain;flex-shrink:0;}
  .hero-art{background:#fff !important; box-shadow:var(--shadow);}
  .hero-art img.hero-logo-img{width:62%;height:auto;object-fit:contain;}

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }
  .sr-only{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
    clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }
  .sr-only-focusable:focus{
    position:static; width:auto; height:auto; margin:0; overflow:visible; clip:auto; white-space:normal;
  }

  .access-bar{background:var(--purple-900); color:#EAE0EE; font-size:.8rem;}
  .access-bar-inner{
    max-width:1180px; margin:0 auto; padding:8px 28px;
    display:flex; gap:22px; flex-wrap:wrap; align-items:center;
  }
  .access-bar a{color:#fff; text-decoration:underline; font-weight:700;}
  .access-bar a:hover{color:var(--green-500);}
  @media (max-width:600px){.access-bar-inner{font-size:.74rem; gap:12px;}}

  /* ---------- Accessibility toolbar ---------- */
  .a11y-trigger{
    position:fixed; right:20px; bottom:20px; z-index:150;
    width:56px; height:56px; border-radius:50%; border:none; cursor:pointer;
    background:var(--purple-700); color:#fff; box-shadow:0 8px 24px rgba(0,0,0,.25);
    display:flex; align-items:center; justify-content:center;
  }
  .a11y-trigger:hover{background:var(--purple-600);}
  .a11y-trigger svg{width:26px;height:26px; stroke:#fff; fill:none; stroke-width:1.8;}
  .a11y-panel{
    position:fixed; right:20px; bottom:86px; z-index:150; width:280px; max-width:calc(100vw - 40px);
    background:var(--cream); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow);
    padding:20px;
  }
  .a11y-panel[hidden]{display:none;}
  .a11y-panel h2{font-size:1rem; margin-bottom:14px;}
  .a11y-row{margin-bottom:16px;}
  .a11y-row > span{display:block; font-weight:700; font-size:.85rem; margin-bottom:8px;}
  .a11y-fontctrls{display:flex; gap:8px;}
  .a11y-fontctrls button{
    flex:1; padding:8px 0; border-radius:8px; border:1px solid var(--line); background:var(--surface);
    cursor:pointer; font-weight:700; color:var(--ink);
  }
  .a11y-fontctrls button:hover{background:var(--purple-100);}
  .a11y-toggle{
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:var(--surface);
    cursor:pointer; width:100%; font-weight:600; font-size:.9rem; color:var(--ink);
  }
  .a11y-toggle[aria-pressed="true"]{background:var(--purple-700); color:#fff; border-color:var(--purple-700);}
  .a11y-close{
    position:absolute; top:10px; right:10px; background:none; border:none; cursor:pointer;
    width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    color:var(--ink);
  }
  .a11y-close:hover{background:var(--purple-100);}
  .a11y-close svg{width:18px;height:18px;}
  .a11y-panel a{color:var(--purple-text); font-weight:700; font-size:.85rem; text-decoration:underline;}

  /* ---------- High contrast mode ---------- */
  html.a11y-contrast body{background:#fff; color:#000;}
  html.a11y-contrast p, html.a11y-contrast .lede, html.a11y-contrast li span{color:#000 !important;}
  html.a11y-contrast .site-nav{background:#fff; border-bottom:3px solid #000;}
  html.a11y-contrast nav.links a{color:#000;}
  html.a11y-contrast nav.links a.active, html.a11y-contrast nav.links a:hover{background:#000; color:#fff;}
  html.a11y-contrast .access-bar, html.a11y-contrast footer, html.a11y-contrast .cta-band, html.a11y-contrast .quote-panel{
    background:#000 !important; color:#fff !important;
  }
  html.a11y-contrast .cta-band p, html.a11y-contrast .quote-panel p, html.a11y-contrast footer p{color:#fff !important;}
  html.a11y-contrast .tint-lilac, html.a11y-contrast .tint-green{background:#fff !important;}
  html.a11y-contrast .service-card{border:2px solid #000 !important;}
  html.a11y-contrast .badge{background:#000 !important; border:2px solid #000;}
  html.a11y-contrast .badge svg{stroke:#fff !important;}
  html.a11y-contrast .btn-primary{background:#000 !important; color:#fff !important; border:2px solid #000 !important;}
  html.a11y-contrast .btn-ghost{border-color:#000 !important; color:#000 !important;}
  html.a11y-contrast .eyebrow{color:#000 !important; text-decoration:underline;}
  html.a11y-contrast a{text-decoration:underline;}
  html.a11y-contrast .hero-art{border:3px solid #000;}
  html.a11y-contrast .list-check li svg{stroke:#000 !important;}
  html.a11y-contrast .contact-card{background:#fff !important; border:2px solid #000 !important;}
  html.a11y-contrast .contact-card h3, html.a11y-contrast .field label{color:#000 !important;}
  html.a11y-contrast .field input, html.a11y-contrast .field select, html.a11y-contrast .field textarea{
    background:#fff !important; color:#000 !important; border:2px solid #000 !important;
  }
  html.a11y-contrast .placeholder-note{background:#fff !important; color:#000 !important; border-color:#000 !important;}
  html.a11y-contrast .contact-info-row h4, html.a11y-contrast .contact-info-row p{color:#000 !important;}
  html.a11y-contrast .a11y-panel{background:#fff !important; color:#000 !important; border-color:#000 !important;}
  html.a11y-contrast .a11y-panel h2{color:#000 !important;}
  html.a11y-contrast .a11y-fontctrls button, html.a11y-contrast .a11y-toggle{
    background:#fff !important; color:#000 !important; border-color:#000 !important;
  }
  html.a11y-contrast .photo-caption{background:#000 !important; color:#fff !important;}

  /* ---------- Manual reduce-motion override ---------- */
  html.a11y-reduce-motion, html.a11y-reduce-motion *{
    animation:none !important; transition:none !important; scroll-behavior:auto !important;
  }

  .photo-block{
    border-radius:22px; overflow:hidden; box-shadow:var(--shadow); position:relative;
  }
  .photo-block img{width:100%; height:100%; object-fit:cover; display:block;}
  .photo-caption{
    background:var(--purple-900); color:#EAE0EE; font-size:.82rem; padding:12px 18px;
  }
  .photo-two-col{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
  @media (max-width:820px){.photo-two-col{grid-template-columns:1fr;}}

.brand-slogan-bar{background:var(--cream);border-bottom:1px solid var(--line);}
.brand-slogan{margin:0;padding:6px 0;font-size:.85rem;font-style:italic;color:var(--purple-text,#5B2470);text-align:center;}
.mission-section{padding:64px 0;}
.mvv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px;}
.mvv-card{background:var(--surface,#fff);border:1px solid var(--line);border-radius:16px;padding:24px;}
.mvv-card h3{margin-top:0;}
.values-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.values-list li{background:var(--purple-100,#F2E9F5);color:var(--purple-text,#5B2470);padding:6px 14px;border-radius:999px;font-weight:600;font-size:.9rem;}
@media(max-width:800px){.mvv-grid{grid-template-columns:1fr;}}
.acknowledgement-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:20px 0;border-top:1px solid rgba(255,255,255,.15);}
.acknowledgement{margin:0;font-size:.85rem;opacity:1;color:#F3ECF6;max-width:760px;}
.footer-flags{height:36px;width:auto;border-radius:4px;flex-shrink:0;}
.referral-form{max-width:820px;}
.referral-form h2{margin-top:32px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-grid label.full{grid-column:1/-1;}
.form-grid label,.checkbox-grid label{display:flex;flex-direction:column;font-weight:600;font-size:.9rem;gap:6px;}
.form-grid input,.form-grid textarea{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:8px;}
.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}
.checkbox-grid label{flex-direction:row;align-items:center;font-weight:400;}
.form-note{margin-top:16px;padding:12px 16px;background:var(--green-100,#EAF3DC);border-radius:8px;}
@media(max-width:700px){.form-grid,.checkbox-grid{grid-template-columns:1fr;}}

.ndis-footer-badge{display:inline-block;background:var(--purple-100,#F2E9F5);color:var(--purple-text,#5B2470);font-weight:700;font-size:.8rem;padding:5px 12px;border-radius:999px;white-space:nowrap;}
.ndis-group-section{padding:48px 0;}
.ndis-group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px;}
.ndis-group-card{background:var(--surface,#fff);border:1px solid var(--line);border-radius:12px;padding:20px;}
.ndis-group-card .code,.ndis-group-single .code{display:inline-block;background:var(--purple-100,#F2E9F5);color:var(--purple-text,#5B2470);font-weight:700;padding:4px 10px;border-radius:999px;font-size:.85rem;margin-bottom:10px;}
.ndis-group-card h4,.ndis-group-single h4{margin:0 0 6px;font-size:1rem;}
.ndis-group-card p,.ndis-group-single p{margin:0;font-size:.9rem;}
.ndis-group-single{background:var(--surface,#fff);border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:20px;max-width:520px;}
@media(max-width:800px){.ndis-group-grid{grid-template-columns:1fr;}}
.policy-body{max-width:820px;}
.policy-body h2{margin:34px 0 10px;font-size:1.35rem;}
.policy-body p,.policy-body li{line-height:1.7;}
.policy-body ul{padding-left:22px;margin:8px 0 14px;}
.policy-body a{text-decoration:underline;}

/* 2.0: every page shows its own section; spam trap field stays off screen */
.page{display:block}
.yw-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
