:root{color:#102e3a;background:#fcfcf7;font:17px/1.6 system-ui,sans-serif;--ink:#102e3a;--teal:#075b64}*{box-sizing:border-box}body{margin:0}a{color:var(--teal);text-underline-offset:.23em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid #9c3d59;outline-offset:4px}header,footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding:20px max(5vw,20px);background:#fff}footer{border-top:1px solid #d8e4db}footer strong{display:block;margin-top:12px}.logo{width:153px;display:block}nav{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}nav a{font-weight:650}nav a:last-child,.button{display:inline-block;background:var(--teal);color:white;border:0;border-radius:30px;padding:10px 19px;font:inherit;font-weight:750;text-decoration:none;cursor:pointer}nav a[aria-current=page]{text-decoration:underline}main{max-width:1240px;padding:clamp(20px,5vw,64px);margin:auto}h1,h2,h3{line-height:1.08;letter-spacing:-.035em;margin:0 0 .45em}h1{font-size:clamp(2.55rem,6vw,5.2rem);overflow-wrap:anywhere}h2{font-size:clamp(1.7rem,3.8vw,2.9rem)}h3{font-size:1.36rem}p{max-width:68ch}section{margin:0 0 48px}.tag{font-size:.77rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--teal)}.hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(18px,4vw,52px);background:#e2f4ed;padding:clamp(22px,5vw,62px);border-radius:32px}.hero .button{margin:4px 0}.panel{padding:clamp(20px,4vw,40px);border-radius:26px;background:#e8f3ed}.reading{max-width:760px}.reading h2{margin-top:28px}.grid,.featured{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(235px,100%),1fr));gap:16px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--paper);border-radius:25px;overflow:hidden;display:flex;flex-direction:column}.card-copy{padding:18px 23px 25px;display:flex;flex:1;flex-direction:column}.card-copy a{margin-top:auto;font-weight:750}.scene{position:relative;overflow:hidden;isolation:isolate;background:var(--paper);border-radius:25px;aspect-ratio:1.1;display:grid;place-items:center}.scene img{width:100%;height:100%;object-fit:cover;display:block}.scene svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.scene path{fill:none;stroke:#ffe590;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #204044);stroke-dasharray:1;stroke-dashoffset:1}.scene.play path{animation:trace 2s ease-out both}@keyframes trace{0%{stroke-dashoffset:1;opacity:0}20%{opacity:1}65%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}.steps li,li{margin-bottom:.6em}details{padding:14px 18px;background:#e8f3ed;border-radius:12px}summary{cursor:pointer;font-weight:750}form{max-width:700px}label{display:block;margin-bottom:14px;font-weight:700}input,select,textarea{display:block;width:100%;padding:10px;border:1px solid #52747b;border-radius:8px;font:inherit;background:white;color:var(--ink)}.skip{position:absolute;left:10px;top:10px;background:white;padding:10px;transform:translateY(-150%)}.skip:focus{transform:none}@media(max-width:720px){.hero,.two{grid-template-columns:1fr}.hero .scene{max-width:440px;width:100%;margin:auto}.featured{grid-auto-flow:column;grid-auto-columns:85%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.featured .card{scroll-snap-align:start}nav{font-size:.88rem}}@media(prefers-reduced-motion:reduce){.scene.play path{animation:none}}

/* Thin animated strokes keep the illustration legible on pastel cards. */
.scene{aspect-ratio:1.35;background:var(--paper)}
.scene svg{position:static;width:92%;height:auto;padding:7%}
.scene path{stroke:#153548;stroke-width:2.4;filter:none;stroke-dasharray:1;stroke-dashoffset:0}
.scene path.accent{stroke:#0b7979;stroke-width:3}
.scene.play .outline{animation:draw-outline 1s cubic-bezier(.2,.65,.3,1) both}
.scene.play .accent{animation:draw-outline .7s .55s ease-out both}
@keyframes draw-outline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.ndis-badge{display:block;width:132px;height:auto;margin-top:14px}
address{font-style:normal}
@media(prefers-reduced-motion:reduce){.scene.play .outline,.scene.play .accent{animation:none}}

.scene .person{fill:none;stroke:#153548;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:center bottom}
.scene .person path{stroke-dasharray:none}
.scene .person .arm{transform-box:fill-box;transform-origin:left center;stroke:#0b7979}
.scene.play .person{animation:person-arrive 1.25s .25s ease-out both}
.scene.play .person.roll{animation:person-roll 1.45s .25s ease-out both}
.scene.play .arm{animation:person-gesture .9s .85s ease-in-out both}
@keyframes person-arrive{from{opacity:0;transform:translate(-8px,2px)}to{opacity:1;transform:translate(0)}}
@keyframes person-roll{from{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}
@keyframes person-gesture{0%,100%{transform:rotate(0)}50%{transform:rotate(-19deg)}}
@media(prefers-reduced-motion:reduce){.scene.play .person,.scene.play .person.roll,.scene.play .arm{animation:none}}

/* Rounded brush marks and coloured silhouettes sit on a soft ground wash. */
.scene svg{width:96%;padding:4%;overflow:visible}
.scene .scene-wash{fill:#fff;opacity:.5}
.scene .scene-ground{stroke:#53777a;stroke-width:2;opacity:.28;stroke-dasharray:none}
.scene .outline,.scene .accent{stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round}
.scene .outline{stroke:#193e48}
.scene .accent{stroke:#128577}
.scene .person{stroke-width:3.1;stroke:#193e48}
.scene .person path{stroke-width:3.1}
.scene .person .shirt{fill:var(--shirt)}
.scene .person .face{fill:#fff0d9}
.scene .person .hair{fill:#193e48;stroke-width:1.8}
.scene .person .features{stroke-width:1.6}
.scene .person .prop{fill:#ffd98b}
.scene .person .arm{stroke:#193e48}
.scene.play .person{animation:brush-arrive .8s calc(.3s + var(--delay)) ease-out both}
.scene.play .person.roll{animation:person-roll 1.35s calc(.3s + var(--delay)) ease-out both}
.scene.play .arm{animation:brush-gesture 1.45s calc(.7s + var(--delay)) ease-in-out both}
.scene.play .wheel{transform-box:fill-box;transform-origin:center;animation:wheel-turn 1.35s calc(.3s + var(--delay)) ease-out both}
@keyframes brush-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes brush-gesture{0%,100%{transform:rotate(0)}35%{transform:rotate(-22deg)}65%{transform:rotate(7deg)}}
@keyframes wheel-turn{from{transform:rotate(-100deg)}to{transform:rotate(0)}}
@media(prefers-reduced-motion:reduce){.scene.play .person,.scene.play .person.roll,.scene.play .arm,.scene.play .wheel{animation:none}}

.social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.social-links a{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid #9bbeba;border-radius:24px;background:white;font-weight:650}
.social-links svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.enquiry-layout{max-width:820px;margin-inline:auto}
.enquiry-intro{font-size:clamp(1.1rem,2.3vw,1.4rem)}
.enquiry-methods{display:grid;gap:25px;margin:30px 0 42px}
.enquiry-methods>div{display:flex;align-items:center;gap:18px}
.enquiry-methods h2{font-size:1.6rem;margin-bottom:4px}
.enquiry-methods svg{flex:none;width:44px;height:44px;fill:none;stroke:#07766e;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.enquiry-methods a{font-weight:750;overflow-wrap:anywhere}
.enquiry-form{max-width:none;background:#e6f5ef}
.enquiry-form label{margin-bottom:20px}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{margin-top:6px;min-height:50px}
.enquiry-form .required{color:#a23029;font-weight:800}

header{position:relative;z-index:2;gap:8px;flex-wrap:nowrap}
header .logo{width:clamp(92px,24vw,153px)}
.header-actions{display:flex;align-items:center;gap:clamp(4px,2vw,16px)}
.header-phone,.header-menu summary{display:grid;place-items:center;width:44px;height:44px;color:var(--teal)}
.header-actions svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.header-menu summary svg{stroke-width:3.5}
.header-menu{background:none;padding:0}
.header-menu summary{list-style:none}
.header-menu summary::-webkit-details-marker{display:none}
.header-menu nav{position:absolute;top:100%;right:max(5vw,20px);width:min(250px,90vw);padding:12px;background:white;border:1px solid #b9d7ce;border-radius:18px;box-shadow:0 12px 32px #102e3a26;display:grid}
.header-menu nav a{padding:8px 12px}
.header-enquiry{padding:8px 12px;font-size:.88rem}

.site-footer{display:block;background:#edf6f2;padding:32px max(5vw,20px) 18px;border-top:1px solid #cddfd7;font-size:.94rem}
.footer-grid,.footer-bottom{max-width:1112px;margin-inline:auto}
.footer-grid{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:26px;align-items:start}
.footer-grid h2{font-size:1.15rem;letter-spacing:0;margin-bottom:12px}
.footer-brand .logo{width:145px;mix-blend-mode:multiply}
.footer-brand .ndis-badge{width:112px;margin:10px 0 6px}
.footer-register{font-size:.84rem}
.footer-contact>a,.footer-contact address{display:block;margin-top:5px}
.footer-contact a{overflow-wrap:anywhere}
.footer-social .social-links{margin-top:0}
.footer-bottom{display:flex;gap:4px 18px;flex-wrap:wrap;border-top:1px solid #c3d9d0;margin-top:24px;padding-top:13px;font-size:.83rem;color:#365456}
.footer-bottom span:last-child{white-space:nowrap}
@media(max-width:720px){.footer-grid{grid-template-columns:1fr;gap:20px}.footer-brand{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap}.footer-brand .ndis-badge{margin:0}.footer-register{flex-basis:100%}.footer-contact,.footer-social{border-top:1px solid #c3d9d0;padding-top:15px}}
