/*
Theme Name:        AHK Care Solutions
Theme URI:         https://ahkcaresolutions.com.au
Author:            AHK Care Solutions
Author URI:        https://ahkcaresolutions.com.au
Description:       A professional, accessible, WCAG 2.2 AA compliant WordPress theme for AHK Care Solutions — a registered NDIS provider in Sydney, Australia. Built for performance, SEO, and conversion.
Version:           1.0.0
Requires at least: 6.4
Tested up to:      6.7
Requires PHP:      8.2
License:           GNU General Public License v2 or later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       ahk-care
Tags:              ndis, healthcare, accessibility, block-editor, full-site-editing, responsive-layout, custom-colors, custom-logo, custom-menu, featured-images, schema, seo
*/
:root{--color-primary:#1D4A5A;--color-primary-dark:#162F3D;--color-primary-mid:#2E6B80;--color-primary-light:#3D8DA8;--color-secondary:#7DDBB8;--color-secondary-dark:#55C49E;--color-secondary-light:#A8EDD3;--color-bg:#F5F3EF;--color-bg-alt:#EDEAE4;--color-surface:#FFFFFF;--color-surface-teal:#E1F5EE;--color-text:#1A1A1A;--color-text-secondary:#4A4A4A;--color-text-muted:#6B7280;--color-text-inverse:#FFFFFF;--color-border:#D4D0C8;--color-border-light:#E8E5DF;--color-focus:#F5A623;--color-error:#D32F2F;--color-success:#2E7D32;--font-heading:'Nunito Sans','Helvetica Neue',Arial,sans-serif;--font-body:'Open Sans','Helvetica Neue',Arial,sans-serif;--font-mono:'Courier New',Courier,monospace;--fs-xs:clamp(0.75rem,1.5vw,0.8125rem);--fs-sm:clamp(0.875rem,1.8vw,0.9375rem);--fs-base:clamp(1rem,2vw,1.0625rem);--fs-md:clamp(1.0625rem,2.2vw,1.125rem);--fs-lg:clamp(1.125rem,2.5vw,1.25rem);--fs-xl:clamp(1.25rem,3vw,1.5rem);--fs-2xl:clamp(1.5rem,3.5vw,2rem);--fs-3xl:clamp(1.875rem,4vw,2.5rem);--fs-4xl:clamp(2.25rem,5vw,3.25rem);--fs-5xl:clamp(2.75rem,6vw,4rem);--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--lh-tight:1.2;--lh-snug:1.4;--lh-normal:1.6;--lh-relaxed:1.75;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,.05);--shadow-sm:0 2px 4px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 12px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.05);--shadow-lg:0 8px 24px rgba(0,0,0,.10),0 4px 12px rgba(0,0,0,.06);--shadow-xl:0 16px 40px rgba(0,0,0,.12),0 8px 20px rgba(0,0,0,.08);--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:400ms ease;--transition-spring:300ms cubic-bezier(.34,1.56,.64,1);--container-xs:480px;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1200px;--container-2xl:1400px;--header-height:80px;--z-overlay:100;--z-header:300;--z-max:9999}
*,*::before,*::after{box-sizing:border-box}
html{font-size:100%;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
body{margin:0;padding:0;font-family:var(--font-body);font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:1.75;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.skip-links{position:fixed;top:0;left:0;z-index:var(--z-max);display:flex;gap:var(--space-2);padding:var(--space-2)}
.skip-link{position:absolute;top:-200px;left:var(--space-4);background:var(--color-primary);color:#fff;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:var(--fw-bold);font-family:var(--font-body);text-decoration:none;white-space:nowrap;transition:top var(--transition-fast)}
.skip-link:focus{top:var(--space-4);outline:3px solid var(--color-focus);outline-offset:2px}
:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-sm)}
:focus:not(:focus-visible){outline:none}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--fw-bold);line-height:var(--lh-tight);color:var(--color-primary);margin:0 0 var(--space-4)}
h1{font-size:var(--fs-5xl);font-weight:var(--fw-extrabold)}
h2{font-size:var(--fs-4xl)}
h3{font-size:var(--fs-3xl)}
h4{font-size:var(--fs-2xl)}
h5{font-size:var(--fs-xl)}
h6{font-size:var(--fs-lg)}
p{margin:0 0 var(--space-4);line-height:1.75}
p:last-child{margin-bottom:0}
a{color:var(--color-primary-mid);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--transition-fast)}
a:hover{color:var(--color-primary);text-decoration-thickness:2px}
strong,b{font-weight:var(--fw-bold)}
ul,ol{margin:0 0 var(--space-4);padding-left:var(--space-6)}
li{margin-bottom:var(--space-2);line-height:1.75}
blockquote{margin:var(--space-8) 0;padding:var(--space-6) var(--space-8);background:var(--color-surface-teal);border-left:4px solid var(--color-secondary);border-radius:0 var(--radius-lg) var(--radius-lg) 0;font-size:var(--fs-lg);font-style:italic;color:var(--color-primary)}
blockquote cite{display:block;margin-top:var(--space-4);font-size:var(--fs-sm);font-style:normal;font-weight:var(--fw-semibold);color:var(--color-text-muted)}
code{font-family:var(--font-mono);font-size:.875em;background:var(--color-bg-alt);padding:2px 6px;border-radius:var(--radius-sm);color:var(--color-primary)}
pre{background:var(--color-primary-dark);color:var(--color-secondary-light);padding:var(--space-6);border-radius:var(--radius-lg);overflow-x:auto;font-size:var(--fs-sm);line-height:1.75}
hr{border:none;border-top:1px solid var(--color-border-light);margin:var(--space-12) 0}
img,video,svg{max-width:100%;height:auto;display:block}
table{width:100%;border-collapse:collapse;margin-bottom:var(--space-8)}
th,td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border-light);font-size:var(--fs-sm)}
th{background:var(--color-surface-teal);color:var(--color-primary);font-weight:var(--fw-bold);font-family:var(--font-heading)}
tbody tr:hover{background:var(--color-bg)}
.container{width:100%;max-width:var(--container-xl);margin-left:auto;margin-right:auto;padding-left:clamp(var(--space-4),4vw,var(--space-12));padding-right:clamp(var(--space-4),4vw,var(--space-12))}
.container--sm{max-width:var(--container-sm)}
.container--md{max-width:var(--container-md)}
.container--lg{max-width:var(--container-lg)}
.container--2xl{max-width:var(--container-2xl)}
.section{padding-top:clamp(var(--space-12),6vw,var(--space-24));padding-bottom:clamp(var(--space-12),6vw,var(--space-24))}
.section--sm{padding-top:clamp(var(--space-8),4vw,var(--space-16));padding-bottom:clamp(var(--space-8),4vw,var(--space-16))}
.section--lg{padding-top:clamp(var(--space-16),8vw,var(--space-32));padding-bottom:clamp(var(--space-16),8vw,var(--space-32))}
.site{display:flex;flex-direction:column;min-height:100vh}
.site-content{flex:1}
.site-header{position:sticky;top:0;left:0;right:0;z-index:var(--z-header);background:var(--color-primary);height:var(--header-height);box-shadow:0 2px 20px rgba(0,0,0,.15);transition:box-shadow var(--transition-base)}
.site-header.scrolled{box-shadow:0 4px 30px rgba(0,0,0,.20)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%}
.site-branding{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}
.custom-logo-link{display:flex;align-items:center}
.custom-logo{height:52px;width:auto;max-width:220px;object-fit:contain}
.site-title{font-family:var(--font-heading);font-size:var(--fs-xl);font-weight:var(--fw-extrabold);color:#fff;text-decoration:none;letter-spacing:-.02em;line-height:1}
.site-title span{color:var(--color-secondary)}
.site-tagline{font-size:var(--fs-xs);color:rgba(255,255,255,.65);font-weight:var(--fw-medium);letter-spacing:.08em;text-transform:uppercase;display:block;margin-top:2px}
.main-navigation{display:flex;align-items:center;gap:var(--space-2)}
.main-navigation ul{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0}
.main-navigation li{position:relative}
.main-navigation a{display:flex;align-items:center;padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:rgba(255,255,255,.88);text-decoration:none;border-radius:var(--radius-md);transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}
.main-navigation a:hover,.main-navigation .current-menu-item>a,.main-navigation .current-menu-parent>a{background:rgba(255,255,255,.10);color:var(--color-secondary)}
.main-navigation .sub-menu{display:none;position:absolute;top:calc(100% + var(--space-2));left:0;min-width:240px;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-2) 0;z-index:var(--z-overlay);border:1px solid var(--color-border-light)}
.main-navigation li:hover>.sub-menu,.main-navigation li:focus-within>.sub-menu{display:block}
.main-navigation .sub-menu a{color:var(--color-text);padding:var(--space-3) var(--space-5);border-radius:0;font-size:var(--fs-sm)}
.main-navigation .sub-menu a:hover{background:var(--color-surface-teal);color:var(--color-primary)}
.header-cta{display:flex;align-items:center;gap:var(--space-3);margin-left:var(--space-4);flex-shrink:0}
.header-phone{display:flex;align-items:center;gap:var(--space-2);color:var(--color-secondary);font-weight:var(--fw-bold);font-size:var(--fs-sm);text-decoration:none;white-space:nowrap}
.header-phone:hover{color:var(--color-secondary-light)}
.menu-toggle{display:none;background:none;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-md);padding:var(--space-2);cursor:pointer;color:#fff;align-items:center;justify-content:center;width:44px;height:44px;transition:border-color var(--transition-fast),background var(--transition-fast)}
.menu-toggle:hover{border-color:var(--color-secondary);background:rgba(255,255,255,.05)}
.menu-toggle:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}
.menu-toggle .icon-close{display:none}
.menu-toggle[aria-expanded=true] .icon-open{display:none}
.menu-toggle[aria-expanded=true] .icon-close{display:block}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-7);font-family:var(--font-body);font-size:var(--fs-base);font-weight:var(--fw-semibold);line-height:1;text-decoration:none;border:2px solid transparent;border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-base),color var(--transition-base),border-color var(--transition-base),transform var(--transition-spring),box-shadow var(--transition-base);white-space:nowrap;user-select:none;-webkit-user-select:none}
.btn:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
.btn:active{transform:scale(.97)}
.btn--primary{background:var(--color-secondary);color:var(--color-primary);border-color:var(--color-secondary)}
.btn--primary:hover{background:var(--color-secondary-dark);border-color:var(--color-secondary-dark);color:var(--color-primary);transform:translateY(-2px);box-shadow:0 6px 20px rgba(125,219,184,.35);text-decoration:none}
.btn--secondary{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}
.btn--secondary:hover{background:var(--color-primary);color:#fff;transform:translateY(-2px);text-decoration:none}
.btn--outline-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn--outline-white:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.8);color:#fff;text-decoration:none}
.btn--ghost{background:transparent;color:var(--color-primary-mid);border-color:transparent;padding-left:var(--space-3);padding-right:var(--space-3)}
.btn--ghost:hover{color:var(--color-primary);background:var(--color-surface-teal);text-decoration:none}
.btn--sm{padding:var(--space-2) var(--space-5);font-size:var(--fs-sm)}
.btn--lg{padding:var(--space-4) var(--space-10);font-size:var(--fs-lg)}
.btn--xl{padding:var(--space-5) var(--space-12);font-size:var(--fs-xl)}
.btn--full{width:100%}
.hero{position:relative;background:linear-gradient(145deg,var(--color-primary) 0%,var(--color-primary-mid) 60%,#2A7A8A 100%);overflow:hidden;min-height:clamp(520px,75vh,780px);display:flex;align-items:center}
.hero::before{content:'';position:absolute;inset:0;background:url('assets/images/hero-bg.webp') center/cover no-repeat;opacity:.12;z-index:0}
.hero::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:80px;background:var(--color-bg);clip-path:ellipse(55% 100% at 50% 100%);z-index:1}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-8),5vw,var(--space-16));align-items:center;padding-top:var(--space-16);padding-bottom:clamp(var(--space-20),8vw,var(--space-32))}
.hero-content{max-width:640px}
.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);background:rgba(125,219,184,.18);border:1px solid rgba(125,219,184,.35);color:var(--color-secondary);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);margin-bottom:var(--space-5)}
.hero-badge span{width:6px;height:6px;border-radius:50%;background:var(--color-secondary)}
.hero h1{color:#fff;margin-bottom:var(--space-6)}
.hero h1 em{color:var(--color-secondary);font-style:normal;display:block}
.hero-description{color:rgba(255,255,255,.85);font-size:var(--fs-lg);line-height:1.75;margin-bottom:var(--space-8)}
.hero-actions{display:flex;gap:var(--space-4);flex-wrap:wrap;align-items:center}
.hero-trust{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid rgba(255,255,255,.15);flex-wrap:wrap}
.hero-trust-icon{width:44px;height:44px;border-radius:var(--radius-md);background:rgba(125,219,184,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-secondary)}
.hero-trust-text strong{display:block;color:#fff;font-size:var(--fs-sm);font-weight:var(--fw-bold)}
.hero-trust-text span{color:rgba(255,255,255,.65);font-size:var(--fs-xs)}
.hero-visual{position:relative;display:flex;justify-content:center;align-items:center}
.hero-image-wrap{position:relative;border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-xl);width:100%;max-width:500px}
.hero-image-wrap img{width:100%;height:auto;display:block}
.trust-bar{background:var(--color-surface);border-bottom:1px solid var(--color-border-light);padding:var(--space-6) 0}
.trust-bar-inner{display:flex;align-items:center;justify-content:center;gap:clamp(var(--space-6),4vw,var(--space-12));flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium)}
.trust-item-icon{width:36px;height:36px;border-radius:var(--radius-md);background:var(--color-surface-teal);display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}
.trust-divider{width:1px;height:36px;background:var(--color-border-light)}
.section-header{max-width:680px;margin:0 auto var(--space-12);text-align:center}
.section-header--left{text-align:left;margin-left:0}
.section-eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-primary-mid);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--space-3)}
.section-eyebrow::before{content:'';display:block;width:24px;height:2px;background:var(--color-secondary);border-radius:1px}
.section-header h2{margin-bottom:var(--space-4)}
.section-header p{font-size:var(--fs-lg);color:var(--color-text-secondary);line-height:1.75}
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-6)}
.service-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-8);border:1.5px solid var(--color-border-light);transition:border-color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base);position:relative;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.service-card:hover{border-color:var(--color-secondary);transform:translateY(-4px);box-shadow:var(--shadow-lg);text-decoration:none}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-xl) var(--radius-xl) 0 0;opacity:0;transition:opacity var(--transition-base)}
.service-card:hover::before{opacity:1}
.service-code{display:inline-flex;align-items:center;background:var(--color-surface-teal);color:var(--color-primary);font-size:var(--fs-xs);font-weight:var(--fw-bold);padding:3px 10px;border-radius:var(--radius-full);letter-spacing:.05em;margin-bottom:var(--space-4);font-family:var(--font-mono)}
.service-icon{width:56px;height:56px;border-radius:var(--radius-lg);background:var(--color-surface-teal);display:flex;align-items:center;justify-content:center;color:var(--color-primary);margin-bottom:var(--space-5);flex-shrink:0}
.service-icon svg{width:28px;height:28px}
.service-card h3{font-size:var(--fs-lg);margin-bottom:var(--space-3);color:var(--color-primary)}
.service-card p{color:var(--color-text-secondary);font-size:var(--fs-sm);line-height:1.75;flex:1;margin-bottom:var(--space-5)}
.service-card-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-primary-mid);font-weight:var(--fw-semibold);font-size:var(--fs-sm);text-decoration:none;margin-top:auto;transition:gap var(--transition-base),color var(--transition-fast)}
.service-card:hover .service-card-link{color:var(--color-primary);gap:var(--space-3)}
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-8),6vw,var(--space-20));align-items:center}
.about-image{position:relative;border-radius:var(--radius-2xl);overflow:hidden}
.about-image img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-2xl)}
.about-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-8)}
.about-stat{background:var(--color-surface-teal);border-radius:var(--radius-lg);padding:var(--space-5)}
.about-stat-value{font-family:var(--font-heading);font-size:var(--fs-3xl);font-weight:var(--fw-extrabold);color:var(--color-primary);line-height:1;margin-bottom:var(--space-1)}
.about-stat-label{font-size:var(--fs-xs);color:var(--color-text-secondary);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.05em}
.why-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-6)}
.why-card{padding:var(--space-7);border-radius:var(--radius-xl);background:var(--color-surface);border:1.5px solid var(--color-border-light);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}
.why-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--color-secondary-light)}
.why-number{font-family:var(--font-heading);font-size:var(--fs-5xl);font-weight:var(--fw-extrabold);color:var(--color-secondary);line-height:1;margin-bottom:var(--space-3);opacity:.6}
.why-card h3{font-size:var(--fs-lg);margin-bottom:var(--space-3)}
.why-card p{color:var(--color-text-secondary);font-size:var(--fs-sm);margin:0}
.plan-types-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-5)}
.plan-type-card{background:var(--color-surface);border:2px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-7);text-align:center;transition:border-color var(--transition-base),box-shadow var(--transition-base)}
.plan-type-card--featured{border-color:var(--color-secondary);background:var(--color-surface-teal)}
.plan-type-card:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-md)}
.plan-type-icon{width:64px;height:64px;border-radius:var(--radius-full);background:var(--color-surface-teal);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4);color:var(--color-primary)}
.plan-type-card h3{font-size:var(--fs-lg);color:var(--color-primary);margin-bottom:var(--space-3)}
.plan-type-card p{font-size:var(--fs-sm);color:var(--color-text-secondary)}
.testimonials-bg{background:var(--color-primary);position:relative;overflow:hidden}
.testimonials-bg::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:rgba(125,219,184,.06);pointer-events:none}
.testimonials-bg .section-header h2,.testimonials-bg .section-eyebrow{color:#fff}
.testimonials-bg .section-header p{color:rgba(255,255,255,.75)}
.testimonials-bg .section-eyebrow{color:var(--color-secondary)}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6)}
.testimonial-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-xl);padding:var(--space-8)}
.testimonial-stars{display:flex;gap:3px;margin-bottom:var(--space-4);color:var(--color-secondary)}
.testimonial-stars svg{width:18px;height:18px}
.testimonial-text{color:rgba(255,255,255,.88);font-size:var(--fs-md);line-height:1.75;font-style:italic;margin-bottom:var(--space-6)}
.testimonial-author{display:flex;align-items:center;gap:var(--space-3)}
.testimonial-avatar{width:44px;height:44px;border-radius:var(--radius-full);background:var(--color-secondary);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:var(--fw-bold);color:var(--color-primary);font-size:var(--fs-md);flex-shrink:0}
.testimonial-name{font-weight:var(--fw-bold);color:#fff;font-size:var(--fs-sm)}
.testimonial-role{color:rgba(255,255,255,.6);font-size:var(--fs-xs)}
.cta-section{background:var(--color-secondary);text-align:center;padding:clamp(var(--space-12),6vw,var(--space-24)) 0}
.cta-section h2{color:var(--color-primary);margin-bottom:var(--space-4)}
.cta-section p{color:var(--color-primary);opacity:.85;font-size:var(--fs-lg);margin-bottom:var(--space-8);max-width:600px;margin-left:auto;margin-right:auto}
.cta-section--dark{background:var(--color-primary)}
.cta-section--dark h2{color:#fff}
.cta-section--dark p{color:rgba(255,255,255,.80)}
.faq-list{max-width:800px;margin:0 auto}
.faq-item{border:1.5px solid var(--color-border-light);border-radius:var(--radius-lg);margin-bottom:var(--space-3);overflow:hidden;background:var(--color-surface)}
.faq-question{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;padding:var(--space-5) var(--space-6);background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-heading);font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--color-primary);transition:background var(--transition-fast)}
.faq-question:hover,.faq-question[aria-expanded=true]{background:var(--color-surface-teal)}
.faq-icon{width:28px;height:28px;border-radius:var(--radius-full);background:var(--color-surface-teal);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-primary);transition:transform var(--transition-base),background var(--transition-base)}
.faq-question[aria-expanded=true] .faq-icon{transform:rotate(45deg);background:var(--color-secondary)}
.faq-answer{overflow:hidden;max-height:0;transition:max-height var(--transition-slow)}
.faq-answer-inner{padding:0 var(--space-6) var(--space-6);color:var(--color-text-secondary);font-size:var(--fs-base);line-height:1.75}
.faq-item.active .faq-answer{max-height:600px}
.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(var(--space-8),5vw,var(--space-16));align-items:start}
.contact-detail{display:flex;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light)}
.contact-detail-icon{width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-surface-teal);display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}
.contact-detail-text strong{display:block;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}
.contact-detail-text a,.contact-detail-text span{font-size:var(--fs-base);color:var(--color-text);font-weight:var(--fw-medium)}
.form-card{background:var(--color-surface);border-radius:var(--radius-2xl);padding:clamp(var(--space-6),4vw,var(--space-10));box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light)}
.form-card h3{margin-bottom:var(--space-6);color:var(--color-primary)}
.form-row{margin-bottom:var(--space-5)}
.form-row label{display:block;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-primary);margin-bottom:var(--space-2);letter-spacing:.02em}
.form-row label .required{color:var(--color-error);margin-left:2px}
.form-row input[type=text],.form-row input[type=email],.form-row input[type=tel],.form-row input[type=number],.form-row input[type=url],.form-row select,.form-row textarea{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--fs-base);color:var(--color-text);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);appearance:none;-webkit-appearance:none}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--color-secondary-dark);box-shadow:0 0 0 3px rgba(125,219,184,.25)}
.form-row textarea{height:130px;resize:vertical}
.form-row select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231D4A5A' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.form-checkbox{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer}
.form-checkbox input[type=checkbox]{width:20px;height:20px;border:2px solid var(--color-border);border-radius:var(--radius-sm);flex-shrink:0;margin-top:2px;cursor:pointer;accent-color:var(--color-primary)}
.form-checkbox span{font-size:var(--fs-sm);color:var(--color-text-secondary);line-height:1.6}
.form-error{display:none;color:var(--color-error);font-size:var(--fs-xs);margin-top:var(--space-1)}
.form-success{display:none;background:#E8F5E9;color:var(--color-success);border:1px solid var(--color-success);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);font-weight:var(--fw-medium);margin-top:var(--space-4)}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-6)}
.team-card{background:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden;border:1.5px solid var(--color-border-light);transition:transform var(--transition-base),box-shadow var(--transition-base);text-align:center}
.team-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.team-photo{aspect-ratio:1;overflow:hidden;background:var(--color-surface-teal)}
.team-photo img{width:100%;height:100%;object-fit:cover}
.team-info{padding:var(--space-5)}
.team-name{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--color-primary);margin-bottom:var(--space-1)}
.team-role{font-size:var(--fs-sm);color:var(--color-secondary-dark);font-weight:var(--fw-medium)}
.page-hero{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-mid) 100%);padding:clamp(var(--space-12),6vw,var(--space-24)) 0;text-align:center;position:relative;overflow:hidden}
.page-hero::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:50px;background:var(--color-bg);clip-path:ellipse(55% 100% at 50% 100%)}
.page-hero h1{color:#fff;margin-bottom:var(--space-4)}
.page-hero .breadcrumb{margin-bottom:var(--space-4)}
.breadcrumb{display:flex;align-items:center;justify-content:center;gap:var(--space-2);list-style:none;padding:0;margin:0;flex-wrap:wrap}
.breadcrumb li{font-size:var(--fs-xs)}
.breadcrumb li+li::before{content:'›';margin-right:var(--space-2);color:rgba(255,255,255,.4)}
.breadcrumb a{color:rgba(255,255,255,.7);text-decoration:none}
.breadcrumb a:hover{color:var(--color-secondary)}
.breadcrumb .current{color:var(--color-secondary);font-weight:var(--fw-semibold)}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-6)}
.blog-card{background:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden;border:1.5px solid var(--color-border-light);transition:transform var(--transition-base),box-shadow var(--transition-base);display:flex;flex-direction:column;text-decoration:none;color:inherit}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);text-decoration:none}
.blog-thumb{aspect-ratio:16/9;overflow:hidden;background:var(--color-surface-teal)}
.blog-thumb img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}
.blog-card:hover .blog-thumb img{transform:scale(1.04)}
.blog-body{padding:var(--space-6);flex:1;display:flex;flex-direction:column}
.blog-meta{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);font-size:var(--fs-xs);color:var(--color-text-muted)}
.blog-cat{background:var(--color-surface-teal);color:var(--color-primary);padding:2px 10px;border-radius:var(--radius-full);font-weight:var(--fw-semibold)}
.blog-title{font-family:var(--font-heading);font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--color-primary);margin-bottom:var(--space-3);line-height:1.4;transition:color var(--transition-fast)}
.blog-card:hover .blog-title{color:var(--color-primary-mid)}
.blog-excerpt{font-size:var(--fs-sm);color:var(--color-text-secondary);line-height:1.75;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-read-more{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);color:var(--color-primary-mid);font-weight:var(--fw-semibold);font-size:var(--fs-sm);text-decoration:none}
.post-content{max-width:760px;margin:0 auto}
.post-content h2{font-size:var(--fs-3xl);margin-top:var(--space-10);margin-bottom:var(--space-4)}
.post-content h3{font-size:var(--fs-2xl);margin-top:var(--space-8);margin-bottom:var(--space-3)}
.content-with-sidebar{display:grid;grid-template-columns:1fr 340px;gap:clamp(var(--space-8),4vw,var(--space-12));align-items:start}
.sidebar-widget{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-6);border:1.5px solid var(--color-border-light);margin-bottom:var(--space-5)}
.sidebar-widget-title{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--color-primary);margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-secondary)}
.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-12);flex-wrap:wrap}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast);border:1.5px solid var(--color-border-light);color:var(--color-text-secondary);background:var(--color-surface)}
.pagination a:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.pagination .current{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.site-footer{background:var(--color-primary-dark);color:rgba(255,255,255,.80)}
.footer-main{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:clamp(var(--space-8),4vw,var(--space-12));padding:clamp(var(--space-12),6vw,var(--space-20)) 0 clamp(var(--space-10),4vw,var(--space-16));border-bottom:1px solid rgba(255,255,255,.10)}
.footer-tagline{font-size:var(--fs-sm);line-height:1.75;color:rgba(255,255,255,.65);margin-bottom:var(--space-6)}
.footer-contact-item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-sm);color:rgba(255,255,255,.80);margin-bottom:var(--space-3);text-decoration:none}
.footer-contact-item:hover{color:var(--color-secondary)}
.footer-contact-icon{color:var(--color-secondary);flex-shrink:0}
.footer-col h4{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-5)}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin-bottom:var(--space-3)}
.footer-links a{font-size:var(--fs-sm);color:rgba(255,255,255,.70);text-decoration:none;transition:color var(--transition-fast);display:inline-flex;align-items:center;gap:var(--space-2)}
.footer-links a:hover{color:var(--color-secondary)}
.social-links{display:flex;gap:var(--space-3);margin-top:var(--space-6)}
.social-link{width:40px;height:40px;border-radius:var(--radius-md);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.70);text-decoration:none;transition:background var(--transition-base),color var(--transition-fast),border-color var(--transition-fast)}
.social-link:hover{background:var(--color-secondary);color:var(--color-primary);border-color:var(--color-secondary)}
.footer-bottom{padding:var(--space-5) 0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}
.footer-bottom p{font-size:var(--fs-xs);color:rgba(255,255,255,.45);margin:0}
.footer-legal{display:flex;align-items:center;gap:var(--space-4);list-style:none;padding:0;margin:0;flex-wrap:wrap}
.footer-legal a{font-size:var(--fs-xs);color:rgba(255,255,255,.45);text-decoration:none;transition:color var(--transition-fast)}
.footer-legal a:hover{color:var(--color-secondary)}
.footer-legal li+li{padding-left:var(--space-4);border-left:1px solid rgba(255,255,255,.15)}
.ndis-badge{display:inline-flex;align-items:center;gap:var(--space-2);background:rgba(125,219,184,.12);border:1px solid rgba(125,219,184,.25);color:var(--color-secondary);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.05em;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);margin-bottom:var(--space-4)}
.error-404{min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center}
.error-404-code{font-size:clamp(6rem,15vw,12rem);font-weight:var(--fw-extrabold);color:var(--color-secondary);line-height:1;font-family:var(--font-heading);margin-bottom:0}
.error-404 h1{font-size:var(--fs-3xl);margin-bottom:var(--space-4)}
.error-404 p{color:var(--color-text-secondary);font-size:var(--fs-lg);margin-bottom:var(--space-8)}
.search-form-large{position:relative;max-width:600px;margin:0 auto var(--space-12)}
.search-form-large input[type=search]{width:100%;padding:var(--space-4) var(--space-6);padding-right:120px;font-size:var(--fs-lg);border:2px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}
.search-form-large input[type=search]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(29,74,90,.12)}
.search-form-large button{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:var(--space-3) var(--space-5);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-full);font-weight:var(--fw-semibold);font-size:var(--fs-sm);cursor:pointer;transition:background var(--transition-fast)}
.search-form-large button:hover{background:var(--color-primary-mid)}
.careers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-5)}
.career-card{background:var(--color-surface);border:1.5px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-7);display:flex;align-items:flex-start;gap:var(--space-5);transition:border-color var(--transition-base),box-shadow var(--transition-base);text-decoration:none;color:inherit}
.career-card:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-md);text-decoration:none}
.career-icon{width:52px;height:52px;border-radius:var(--radius-lg);background:var(--color-surface-teal);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-primary)}
.career-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--color-primary);margin-bottom:var(--space-2)}
.career-meta{font-size:var(--fs-xs);color:var(--color-text-muted);margin-bottom:var(--space-3);display:flex;gap:var(--space-3)}
.career-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-semibold);background:var(--color-surface-teal);color:var(--color-primary)}
.career-desc{font-size:var(--fs-sm);color:var(--color-text-secondary);margin:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
.text-center{text-align:center}
.text-left{text-align:left}
.bg-white{background:var(--color-surface)}
.bg-primary{background:var(--color-primary)}
.bg-secondary{background:var(--color-secondary)}
.bg-teal-light{background:var(--color-surface-teal)}
.bg-off-white{background:var(--color-bg)}
.alignleft{float:left;margin-right:var(--space-6);margin-bottom:var(--space-4)}
.alignright{float:right;margin-left:var(--space-6);margin-bottom:var(--space-4)}
.aligncenter{display:block;margin:0 auto var(--space-6)}
.alignfull{width:100vw;max-width:none;margin-left:calc(50% - 50vw)}
.alignwide{max-width:var(--container-2xl);margin-left:auto;margin-right:auto}
.wp-caption{max-width:100%}
.wp-caption-text{font-size:var(--fs-sm);color:var(--color-text-muted);text-align:center;margin-top:var(--space-2)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3)}
.gallery img{width:100%;height:auto;border-radius:var(--radius-md)}
@media(max-width:1024px){.footer-main{grid-template-columns:1fr 1fr;gap:var(--space-8)}}
@media(max-width:768px){:root{--header-height:68px}.menu-toggle{display:flex}.main-navigation{display:none;position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background:var(--color-primary-dark);flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:var(--space-6);overflow-y:auto;gap:0;z-index:var(--z-overlay)}.main-navigation.nav-open{display:flex}.main-navigation ul{flex-direction:column;width:100%;gap:0}.main-navigation li{width:100%}.main-navigation a{font-size:var(--fs-base);padding:var(--space-4);border-radius:var(--radius-md);width:100%}.main-navigation .sub-menu{position:static;display:block;box-shadow:none;border:none;background:rgba(255,255,255,.05);border-radius:var(--radius-md);margin:var(--space-2) 0 var(--space-2) var(--space-4);padding:var(--space-2) 0}.hero-inner{grid-template-columns:1fr;text-align:center}.hero-visual{display:none}.hero-actions{justify-content:center}.hero-trust{justify-content:center}.about-split{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.content-with-sidebar{grid-template-columns:1fr}.form-grid-2{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center;gap:var(--space-3)}}
@media(max-width:480px){.hero-actions .btn{width:100%;justify-content:center}.services-grid{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr}.blog-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr 1fr}}
@media(max-width:360px){.team-grid{grid-template-columns:1fr}.header-phone{display:none}}

/* =========================================================
   PAGE-SPECIFIC STYLES (supplement to base style.css)
   ========================================================= */

/* Page hero variants */
.page-hero--small { padding-top: clamp(3rem,5vw,5rem); padding-bottom: clamp(3rem,5vw,5rem); }
.page-hero-inner { position: relative; z-index: 2; }
.page-hero-title { color: #fff; margin-bottom: 1rem; }
.page-hero-subtitle { color: rgba(255,255,255,.80); font-size: var(--fs-lg); max-width: 640px; margin: 0 auto; }
.text-mint { color: var(--color-secondary); }
.text-white { color: #fff; }
.text-white-soft { color: rgba(255,255,255,.80); font-size: var(--fs-lg); margin-bottom: var(--space-8); }

/* Buttons extra */
.btn-mint { background: var(--color-secondary); color: var(--color-primary); border-color: var(--color-secondary); }
.btn-mint:hover { background: var(--color-secondary-dark); border-color: var(--color-secondary-dark); transform: translateY(-2px); text-decoration:none; color: var(--color-primary); }
.btn-outline-primary { background: transparent; color: var(--color-primary); border: 2px solid var(--color-primary); }
.btn-outline-primary:hover { background: var(--color-primary); color: #fff; transform: translateY(-2px); text-decoration:none; }
.btn-block { width: 100%; display: flex; justify-content: center; }

/* Sections with backgrounds */
.bg-light   { background: var(--color-bg); }
.bg-primary { background: var(--color-primary); }
.bg-mint    { background: var(--color-secondary); }
.section-eyebrow::before { content: ''; display: block; width: 24px; height: 2px; background: var(--color-secondary); border-radius: 1px; }

/* Hero section */
.hero-section { position: relative; background: linear-gradient(145deg,var(--color-primary) 0%,var(--color-primary-mid) 60%,#2A7A8A 100%); min-height: clamp(520px,70vh,750px); display: flex; align-items: center; overflow: hidden; }
.hero-section::after { content: ''; position: absolute; bottom: -2px; left: 0; right: 0; height: 72px; background: var(--color-bg); clip-path: ellipse(55% 100% at 50% 100%); z-index: 1; }
.hero-inner { position: relative; z-index: 2; padding-top: 5rem; padding-bottom: 6rem; }
.hero-badge { display: inline-flex; align-items: center; gap: .5rem; background: rgba(125,219,184,.18); border: 1px solid rgba(125,219,184,.35); color: var(--color-secondary); font-size: var(--fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .5rem 1rem; border-radius: 9999px; margin-bottom: 1.25rem; }
.badge-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--color-secondary); flex-shrink: 0; }
.hero-title { color: #fff; font-size: var(--fs-5xl); font-weight: 800; line-height: 1.15; margin-bottom: 1.5rem; }
.hero-subtitle { color: rgba(255,255,255,.85); font-size: var(--fs-lg); line-height: 1.75; margin-bottom: 2rem; max-width: 580px; }
.hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 2.5rem; }
.hero-trust-indicators { display: flex; gap: 1.5rem; flex-wrap: wrap; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.15); }
.hero-trust-indicators .trust-item { color: rgba(255,255,255,.80); font-size: var(--fs-sm); font-weight: 500; gap: .5rem; }
.trust-icon { width: 18px; height: 18px; color: var(--color-secondary); }

/* Intro grid */
.intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,5rem); align-items: center; }
.intro-image-frame { border-radius: var(--radius-2xl); overflow: hidden; position: relative; background: var(--color-surface-teal); aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center; }
.intro-image-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 5rem; color: var(--color-secondary); }
.intro-stat-card { position: absolute; bottom: -1px; right: -1px; background: var(--color-surface); border-radius: var(--radius-xl) 0 var(--radius-xl) 0; padding: 1.25rem 1.75rem; box-shadow: var(--shadow-lg); display: flex; align-items: center; gap: 1.25rem; }
.stat-item { text-align: center; }
.stat-number { display: block; font-family: var(--font-heading); font-size: var(--fs-2xl); font-weight: 800; color: var(--color-primary); line-height: 1; }
.stat-label { font-size: var(--fs-xs); color: var(--color-text-muted); font-weight: 500; text-transform: uppercase; letter-spacing: .05em; }
.stat-divider { width: 1px; height: 40px; background: var(--color-border-light); }
.intro-actions { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; margin-top: 1.5rem; }

/* Commitment */
.commitment-inner { max-width: 800px; margin: 0 auto; }
.commitment-text { color: rgba(255,255,255,.85); font-size: var(--fs-lg); line-height: 1.8; margin-bottom: 2.5rem; max-width: 680px; margin-left: auto; margin-right: auto; }
.commitment-pillars { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.pillar-item { display: flex; align-items: center; gap: .5rem; background: rgba(125,219,184,.15); border: 1px solid rgba(125,219,184,.3); color: var(--color-secondary); padding: .625rem 1.25rem; border-radius: 9999px; font-weight: 600; font-size: var(--fs-sm); }
.pillar-icon { width: 18px; height: 18px; }

/* Why grid */
.why-card-num { font-family: var(--font-heading); font-size: clamp(2rem,5vw,3.5rem); font-weight: 800; color: var(--color-secondary); line-height: 1; margin-bottom: .75rem; opacity: .55; }
.why-icon { width: 44px; height: 44px; border-radius: var(--radius-lg); background: var(--color-surface-teal); display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; color: var(--color-primary); }
.why-icon svg { width: 24px; height: 24px; }
.why-card-title { font-size: var(--fs-lg); margin-bottom: .75rem; }
.why-card-text { color: var(--color-text-secondary); font-size: var(--fs-sm); margin: 0; }

/* Plan cards */
.plan-card { background: var(--color-surface); border: 2px solid var(--color-border-light); border-radius: var(--radius-xl); padding: 2rem; text-align: center; transition: border-color var(--transition-base), box-shadow var(--transition-base); }
.plan-card--highlighted { border-color: var(--color-secondary); background: var(--color-surface-teal); }
.plan-card:hover { border-color: var(--color-primary-light); box-shadow: var(--shadow-md); }
.plan-icon { width: 60px; height: 60px; border-radius: 9999px; background: var(--color-surface-teal); display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; color: var(--color-primary); }
.plan-icon svg { width: 28px; height: 28px; }
.plan-card-title { font-size: var(--fs-xl); color: var(--color-primary); margin-bottom: .75rem; }
.plan-types-grid--3col { grid-template-columns: repeat(3,1fr); }

/* CTA band */
.cta-band-title { font-size: var(--fs-4xl); color: var(--color-primary); margin-bottom: 1rem; }
.cta-band-text  { color: var(--color-primary); opacity: .85; font-size: var(--fs-lg); max-width: 600px; margin: 0 auto 2rem; }
.cta-band-actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* Section CTA */
.section-cta { margin-top: 3rem; }

/* Service hero */
.service-hero { padding: clamp(3rem,5vw,6rem) 0; }
.service-hero-inner { display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: center; }
.service-hero-title { margin-bottom: 1rem; }
.service-hero-excerpt { color: rgba(255,255,255,.82); font-size: var(--fs-lg); margin-bottom: 2rem; }
.service-hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
.service-hero-icon { width: 120px; height: 120px; background: rgba(125,219,184,.15); border-radius: var(--radius-2xl); display: flex; align-items: center; justify-content: center; color: var(--color-secondary); flex-shrink: 0; }
.service-hero-svg { width: 56px; height: 56px; }
.service-code-badge--large { font-size: var(--fs-sm); padding: .375rem 1rem; margin-bottom: 1rem; }
.service-content-layout { display: grid; grid-template-columns: 1fr 340px; gap: 3rem; align-items: start; padding: 3rem 0; }
.service-info-block { background: var(--color-surface-teal); border-radius: var(--radius-xl); padding: 2rem; margin-bottom: 1.5rem; }
.service-info-title { font-size: var(--fs-xl); display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.info-icon { width: 24px; height: 24px; color: var(--color-primary); }
.service-plan-types { margin-top: 2rem; }
.plan-types-tags { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1rem; }
.plan-type-tag { background: var(--color-surface-teal); color: var(--color-primary); padding: .375rem .875rem; border-radius: 9999px; font-size: var(--fs-sm); font-weight: 600; }
.service-cta-card { background: var(--color-surface); border: 1.5px solid var(--color-border-light); border-radius: var(--radius-xl); padding: 1.75rem; margin-bottom: 1.5rem; }
.service-cta-card h3 { margin-bottom: .75rem; }
.service-cta-card p { color: var(--color-text-secondary); font-size: var(--fs-sm); margin-bottom: 1.25rem; }
.service-cta-card .btn { margin-bottom: .75rem; }
.service-nav-widget { background: var(--color-surface); border: 1.5px solid var(--color-border-light); border-radius: var(--radius-xl); padding: 1.75rem; }
.service-nav-widget h3 { font-size: var(--fs-md); margin-bottom: 1rem; }
.service-nav-list { list-style: none; padding: 0; margin: 0; }
.service-nav-list li { border-bottom: 1px solid var(--color-border-light); }
.service-nav-list li:last-child { border-bottom: none; }
.service-nav-link { display: flex; align-items: center; gap: .5rem; padding: .625rem 0; font-size: var(--fs-sm); color: var(--color-text); text-decoration: none; transition: color var(--transition-fast); }
.service-nav-link:hover { color: var(--color-primary-mid); }
.service-nav-code { font-family: var(--font-mono); font-size: 10px; font-weight: 700; background: var(--color-surface-teal); color: var(--color-primary); padding: 2px 6px; border-radius: 4px; flex-shrink: 0; }

/* About page */
.about-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,5rem); align-items: center; }
.about-intro-visual { position: relative; }
.about-hero-image { width: 100%; border-radius: var(--radius-2xl); }
.about-image-placeholder { height: 380px; background: var(--color-surface-teal); border-radius: var(--radius-2xl); display: flex; align-items: center; justify-content: center; font-size: 5rem; color: var(--color-secondary); }
.about-ndis-badge { position: absolute; bottom: 1.5rem; left: -1.5rem; background: var(--color-surface); border-radius: var(--radius-xl); padding: 1rem 1.25rem; box-shadow: var(--shadow-lg); display: flex; align-items: center; gap: .75rem; }
.badge-icon { width: 32px; height: 32px; color: var(--color-primary); }
.about-ndis-badge strong { display: block; font-size: var(--fs-sm); font-weight: 700; color: var(--color-primary); }
.about-ndis-badge span { font-size: var(--fs-xs); color: var(--color-text-muted); }
.values-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap: 1.5rem; }
.value-card { background: var(--color-surface); border: 1.5px solid var(--color-border-light); border-radius: var(--radius-xl); padding: 2rem; }
.value-icon { width: 48px; height: 48px; border-radius: var(--radius-lg); background: var(--color-surface-teal); display: flex; align-items: center; justify-content: center; color: var(--color-primary); margin-bottom: 1rem; }
.value-icon svg { width: 24px; height: 24px; }
.value-title { font-size: var(--fs-lg); margin-bottom: .75rem; }
.qualifications-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
.qualifications-list { list-style: none; padding: 0; margin: 1rem 0 0; }
.qualifications-list li { display: flex; align-items: flex-start; gap: .625rem; margin-bottom: .75rem; font-size: var(--fs-sm); color: var(--color-text-secondary); }
.qual-check-icon { width: 18px; height: 18px; color: var(--color-secondary); flex-shrink: 0; margin-top: 2px; }
.ndis-registration-card { background: var(--color-surface-teal); border: 2px solid var(--color-secondary); border-radius: var(--radius-xl); padding: 2.5rem; text-align: center; }
.ndis-shield-icon { width: 48px; height: 48px; color: var(--color-primary); margin: 0 auto 1rem; }

/* Contact page */
.contact-layout-section { padding: 3rem 0 5rem; }
.contact-layout { display: grid; grid-template-columns: 1fr 1.6fr; gap: clamp(2rem,5vw,4rem); align-items: start; }
.contact-info-title { font-size: var(--fs-2xl); margin-bottom: 1.5rem; }
.contact-detail-item { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 1.25rem; padding: 1rem; background: var(--color-surface); border-radius: var(--radius-lg); border: 1px solid var(--color-border-light); }
.contact-detail-icon { width: 44px; height: 44px; border-radius: var(--radius-md); background: var(--color-surface-teal); display: flex; align-items: center; justify-content: center; color: var(--color-primary); flex-shrink: 0; }
.contact-icon { width: 22px; height: 22px; }
.contact-detail-content strong { display: block; font-size: var(--fs-xs); font-weight: 700; color: var(--color-primary); text-transform: uppercase; letter-spacing: .05em; margin-bottom: .25rem; }
.contact-detail-content a, .contact-detail-content span, .contact-detail-content address { font-size: var(--fs-base); color: var(--color-text); font-weight: 500; font-style: normal; }
.contact-detail-content address { display: inline; }
.hours-note { display: block; font-size: var(--fs-xs); color: var(--color-text-muted); margin-top: .25rem; }
.contact-social strong { display: block; font-size: var(--fs-xs); font-weight: 700; color: var(--color-primary); text-transform: uppercase; letter-spacing: .05em; margin-bottom: .75rem; margin-top: .5rem; }
.social-links-row { display: flex; gap: .75rem; }
.social-links-row a { width: 40px; height: 40px; border-radius: var(--radius-md); background: var(--color-surface-teal); display: flex; align-items: center; justify-content: center; color: var(--color-primary); transition: background var(--transition-fast); text-decoration: none; }
.social-links-row a:hover { background: var(--color-primary); color: #fff; }
.social-icon { width: 20px; height: 20px; }
.contact-form-title { font-size: var(--fs-2xl); margin-bottom: .5rem; }
.contact-form-note { color: var(--color-text-muted); font-size: var(--fs-sm); margin-bottom: 1.5rem; }
.ahk-form .form-group { margin-bottom: 1.25rem; }
.ahk-form label { display: block; font-size: var(--fs-sm); font-weight: 600; color: var(--color-primary); margin-bottom: .375rem; }
.ahk-form .form-control { width: 100%; padding: .75rem 1rem; font-family: var(--font-body); font-size: var(--fs-base); color: var(--color-text); background: var(--color-bg); border: 2px solid var(--color-border); border-radius: var(--radius-lg); transition: border-color var(--transition-fast), box-shadow var(--transition-fast); appearance: none; }
.ahk-form .form-control:focus { outline: none; border-color: var(--color-secondary-dark); box-shadow: 0 0 0 3px rgba(125,219,184,.25); }
.ahk-form textarea.form-control { height: 120px; resize: vertical; }
.form-row--2col { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-privacy-notice { font-size: var(--fs-xs); color: var(--color-text-muted); margin-bottom: 1.5rem; }
.form-status { padding: 1rem 1.25rem; border-radius: var(--radius-lg); font-weight: 500; margin-top: 1rem; display: none; }
.form-status--success { background: #E8F5E9; color: #2E7D32; border: 1px solid #2E7D32; display: block; }
.form-status--error   { background: #FFEBEE; color: #C62828; border: 1px solid #C62828; display: block; }

/* NDIS Support page */
.ndis-steps-list { list-style: none; padding: 0; margin: 0; max-width: 800px; margin-left: auto; margin-right: auto; }
.ndis-step { display: flex; gap: 1.5rem; align-items: flex-start; padding: 1.5rem 0; border-bottom: 1px solid var(--color-border-light); }
.ndis-step:last-child { border-bottom: none; }
.step-number { width: 44px; height: 44px; border-radius: 9999px; background: var(--color-primary); color: #fff; font-family: var(--font-heading); font-size: var(--fs-lg); font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.step-title { font-size: var(--fs-lg); color: var(--color-primary); margin-bottom: .5rem; }
.ndis-funds-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,5rem); align-items: start; }
.funding-categories { margin-top: 1.5rem; }
.funding-cat-item { display: flex; align-items: flex-start; gap: .875rem; margin-bottom: 1.25rem; }
.funding-check-icon { width: 20px; height: 20px; color: var(--color-secondary); flex-shrink: 0; margin-top: 3px; }
.funding-cat-item strong { display: block; color: var(--color-primary); font-size: var(--fs-base); margin-bottom: .25rem; }
.our-services-card { background: var(--color-surface-teal); border: 2px solid var(--color-secondary); border-radius: var(--radius-xl); padding: 2rem; }
.our-services-card h3 { margin-bottom: .75rem; }
.ndis-codes-list { list-style: none; padding: 0; margin: 1rem 0 1.5rem; }
.ndis-codes-list li { display: flex; align-items: center; gap: .5rem; padding: .5rem 0; border-bottom: 1px solid rgba(29,74,90,.08); font-size: var(--fs-sm); }
.ndis-codes-list li a { color: var(--color-primary); font-weight: 500; text-decoration: none; }
.ndis-codes-list li a:hover { text-decoration: underline; }
.ndis-code-inline { font-family: var(--font-mono); font-size: 10px; font-weight: 700; background: var(--color-primary); color: #fff; padding: 2px 6px; border-radius: 4px; flex-shrink: 0; }

/* Why choose us */
.why-reason-block { display: grid; grid-template-columns: auto 1fr; gap: 2.5rem; align-items: start; padding: 3rem 0; border-bottom: 1px solid var(--color-border-light); }
.why-reason-block--flip { grid-template-columns: 1fr auto; }
.why-reason-block--flip .why-reason-icon { order: 2; }
.why-reason-block--flip .why-reason-content { order: 1; }
.why-reason-icon { width: 80px; height: 80px; border-radius: var(--radius-xl); background: var(--color-surface-teal); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--color-primary); }
.why-reason-svg { width: 36px; height: 36px; }
.why-reason-title { font-size: var(--fs-2xl); margin-bottom: 1rem; }

/* FAQ */
.faq-layout-section { padding: 3rem 0 5rem; }
.faq-layout { display: grid; grid-template-columns: 1fr 320px; gap: 3rem; align-items: start; }
.faq-category-group { margin-bottom: 3rem; }
.faq-category-title { font-size: var(--fs-2xl); margin-bottom: 1.5rem; padding-bottom: .75rem; border-bottom: 2px solid var(--color-secondary); }
.faq-sidebar-card { background: var(--color-surface); border: 1.5px solid var(--color-border-light); border-radius: var(--radius-xl); padding: 1.75rem; margin-bottom: 1.25rem; }
.faq-sidebar-card h3 { font-size: var(--fs-lg); margin-bottom: .75rem; }
.faq-sidebar-card p { color: var(--color-text-secondary); font-size: var(--fs-sm); margin-bottom: 1.25rem; }
.faq-sidebar-card .btn { margin-bottom: .75rem; }
.faq-sidebar-card--services { background: var(--color-surface-teal); border-color: var(--color-secondary); }
.faq-toggle-icon { width: 20px; height: 20px; }

/* Careers */
.why-work-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(280px,1fr)); gap: 1.5rem; }
.perk-card { background: var(--color-surface); border: 1.5px solid var(--color-border-light); border-radius: var(--radius-xl); padding: 2rem; }
.perk-icon { width: 48px; height: 48px; border-radius: var(--radius-lg); background: var(--color-surface-teal); display: flex; align-items: center; justify-content: center; color: var(--color-primary); margin-bottom: 1rem; }
.perk-icon svg { width: 24px; height: 24px; }
.perk-title { font-size: var(--fs-lg); margin-bottom: .75rem; }
.vacancies-list { display: flex; flex-direction: column; gap: 1rem; }
.vacancy-card { background: var(--color-surface); border: 1.5px solid var(--color-border-light); border-radius: var(--radius-xl); padding: 1.5rem 2rem; display: flex; justify-content: space-between; align-items: center; gap: 2rem; transition: border-color var(--transition-base), box-shadow var(--transition-base); }
.vacancy-card:hover { border-color: var(--color-secondary); box-shadow: var(--shadow-md); }
.vacancy-title { font-size: var(--fs-xl); color: var(--color-primary); margin-bottom: .5rem; }
.vacancy-meta { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: .75rem; font-size: var(--fs-xs); color: var(--color-text-muted); }
.vacancy-meta svg { width: 14px; height: 14px; }
.vacancy-badge { background: var(--color-surface-teal); color: var(--color-primary); padding: 2px 10px; border-radius: 9999px; font-weight: 600; }
.vacancy-excerpt { font-size: var(--fs-sm); color: var(--color-text-secondary); }
.no-vacancies-notice { text-align: center; padding: 4rem 2rem; }
.no-vacancies-notice h3 { font-size: var(--fs-2xl); margin-bottom: 1rem; }
.no-vacancies-notice p { color: var(--color-text-secondary); max-width: 560px; margin: 0 auto 2rem; }
.no-vacancy-icon { width: 60px; height: 60px; color: var(--color-secondary); margin: 0 auto 1.5rem; }
.eoi-section { margin-top: 3rem; }
.eoi-card { background: var(--color-surface-teal); border: 2px solid var(--color-secondary); border-radius: var(--radius-xl); padding: 2.5rem; text-align: center; }
.eoi-card h3 { margin-bottom: 1rem; }
.eoi-card p { color: var(--color-text-secondary); max-width: 520px; margin: 0 auto 2rem; }
.eoi-actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.requirements-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
.requirements-list { list-style: none; padding: 0; margin: 1rem 0 0; }
.requirements-list li { display: flex; align-items: flex-start; gap: .625rem; margin-bottom: .875rem; font-size: var(--fs-sm); color: var(--color-text-secondary); }
.req-check-icon { width: 18px; height: 18px; color: var(--color-secondary); flex-shrink: 0; margin-top: 2px; }
.staff-quote { background: var(--color-surface-teal); border-left: 4px solid var(--color-secondary); border-radius: 0 var(--radius-xl) var(--radius-xl) 0; padding: 2rem; font-size: var(--fs-lg); font-style: italic; color: var(--color-primary); margin: 0; }
.staff-quote cite { display: block; margin-top: 1.25rem; font-size: var(--fs-sm); font-style: normal; font-weight: 700; color: var(--color-text-muted); }

/* Legal pages */
.legal-content-wrap { display: grid; grid-template-columns: 1fr 280px; gap: 4rem; align-items: start; padding: 3rem 0 5rem; }
.legal-article { background: var(--color-surface); border-radius: var(--radius-xl); padding: 2.5rem; border: 1px solid var(--color-border-light); }
.legal-article h2 { font-size: var(--fs-xl); margin-top: 2rem; margin-bottom: .75rem; }
.legal-article h2:first-child { margin-top: 0; }
.legal-sidebar-card { background: var(--color-surface); border: 1.5px solid var(--color-border-light); border-radius: var(--radius-xl); padding: 1.75rem; margin-bottom: 1.25rem; }
.legal-sidebar-card h3 { font-size: var(--fs-lg); margin-bottom: 1rem; }
.legal-links-list { list-style: none; padding: 0; margin: 0; }
.legal-links-list li { border-bottom: 1px solid var(--color-border-light); }
.legal-links-list li:last-child { border-bottom: none; }
.legal-links-list a { display: block; padding: .625rem 0; font-size: var(--fs-sm); color: var(--color-primary); text-decoration: none; }
.legal-links-list a:hover { color: var(--color-primary-mid); text-decoration: underline; }

/* Blog */
.blog-card-image { display: block; aspect-ratio: 16/9; overflow: hidden; background: var(--color-surface-teal); }
.blog-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-slow); }
.blog-card:hover .blog-card-image img { transform: scale(1.04); }
.blog-card-body { padding: 1.5rem; display: flex; flex-direction: column; flex: 1; }
.blog-card-meta { display: flex; align-items: center; gap: .75rem; margin-bottom: .75rem; font-size: var(--fs-xs); color: var(--color-text-muted); }
.blog-card-cat { background: var(--color-surface-teal); color: var(--color-primary); padding: 2px 10px; border-radius: 9999px; font-weight: 600; text-decoration: none; }
.blog-card-title { font-family: var(--font-heading); font-size: var(--fs-lg); font-weight: 700; color: var(--color-primary); margin-bottom: .75rem; line-height: 1.35; }
.blog-card-title a { text-decoration: none; color: inherit; }
.blog-card-title a:hover { color: var(--color-primary-mid); }
.blog-card-excerpt { font-size: var(--fs-sm); color: var(--color-text-secondary); flex: 1; }
.blog-card-link { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1rem; color: var(--color-primary-mid); font-weight: 600; font-size: var(--fs-sm); text-decoration: none; }
.cta-arrow { width: 16px; height: 16px; }

/* Search & 404 */
.no-results { padding: 4rem 0; text-align: center; }
.no-results-inner { max-width: 560px; margin: 0 auto; }
.no-results-icon { font-size: 3rem; margin-bottom: 1.5rem; }
.no-results h2 { margin-bottom: 1rem; }
.no-results p { color: var(--color-text-secondary); margin-bottom: 2rem; }
.no-results-suggestions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-top: 1.5rem; }
.search-results-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2rem; flex-wrap: wrap; gap: 1rem; }
.search-count { font-size: var(--fs-sm); color: var(--color-text-muted); }
.search-result-item { background: var(--color-surface); border: 1.5px solid var(--color-border-light); border-radius: var(--radius-xl); padding: 1.5rem; margin-bottom: 1rem; }
.search-result-inner {}
.search-result-meta { display: flex; gap: .75rem; margin-bottom: .5rem; font-size: var(--fs-xs); color: var(--color-text-muted); }
.search-result-type { background: var(--color-surface-teal); color: var(--color-primary); padding: 2px 8px; border-radius: 4px; font-weight: 600; }
.search-result-title { font-size: var(--fs-xl); margin-bottom: .5rem; }
.search-result-title a { text-decoration: none; color: var(--color-primary); }
.search-result-title a:hover { color: var(--color-primary-mid); }
.search-result-excerpt { color: var(--color-text-secondary); font-size: var(--fs-sm); margin-bottom: .875rem; }
.search-result-link { display: inline-flex; align-items: center; gap: .375rem; color: var(--color-primary-mid); font-size: var(--fs-sm); font-weight: 600; text-decoration: none; }
.page-404 { min-height: 70vh; display: flex; align-items: center; padding: 4rem 0; }
.error-404-inner { display: grid; grid-template-columns: auto 1fr; gap: 4rem; align-items: center; max-width: 960px; margin: 0 auto; }
.error-code { font-family: var(--font-heading); font-size: clamp(6rem,15vw,10rem); font-weight: 800; color: var(--color-secondary); line-height: 1; display: block; }
.error-404-content h1 { font-size: var(--fs-4xl); margin-bottom: 1rem; }
.error-message { color: var(--color-text-secondary); font-size: var(--fs-lg); margin-bottom: 2rem; }
.error-search { margin-bottom: 2rem; }
.error-search p { font-size: var(--fs-sm); font-weight: 600; margin-bottom: .75rem; }
.error-helpful-links { margin-bottom: 2rem; }
.error-helpful-links h2 { font-size: var(--fs-xl); margin-bottom: 1rem; }
.helpful-links-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .5rem; }
.helpful-links-list a { color: var(--color-primary-mid); font-weight: 500; }
.error-404-cta { display: flex; gap: 1rem; flex-wrap: wrap; }

/* Testimonials */
.testimonial-card { background: var(--color-surface); border: 1.5px solid var(--color-border-light); border-radius: var(--radius-xl); padding: 2rem; margin: 0; }
.testimonial-stars { display: flex; gap: 3px; margin-bottom: 1rem; color: var(--color-secondary); font-size: 1.125rem; }
.testimonial-text { font-size: var(--fs-md); line-height: 1.75; font-style: italic; color: var(--color-text-secondary); margin-bottom: 1.5rem; }
.testimonial-meta { display: flex; flex-direction: column; }
.testimonial-author { font-weight: 700; color: var(--color-primary); font-size: var(--fs-sm); font-style: normal; }
.testimonial-info { font-size: var(--fs-xs); color: var(--color-text-muted); margin-top: .25rem; }
.bg-primary .testimonial-card { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.12); }
.bg-primary .testimonial-text { color: rgba(255,255,255,.88); }
.bg-primary .testimonial-author { color: #fff; }
.bg-primary .testimonial-info { color: rgba(255,255,255,.6); }

/* Archive layout */
.archive-layout { display: grid; grid-template-columns: 1fr 300px; gap: 3rem; align-items: start; }
.archive-grid { margin-bottom: 2rem; }
.archive-pagination { margin-top: 3rem; }

/* Single post */
.single-layout { max-width: 960px; margin: 0 auto; padding: 2rem 0 4rem; }
.single-featured-image { border-radius: var(--radius-xl); overflow: hidden; margin-bottom: 2rem; }
.single-featured-image img { width: 100%; height: auto; }
.single-meta { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--color-border-light); flex-wrap: wrap; gap: 1rem; }
.single-meta-left { display: flex; align-items: center; gap: 1rem; font-size: var(--fs-sm); color: var(--color-text-muted); }
.single-meta-right { display: flex; gap: .5rem; flex-wrap: wrap; }
.category-tag { background: var(--color-surface-teal); color: var(--color-primary); padding: .25rem .75rem; border-radius: 9999px; font-size: var(--fs-xs); font-weight: 600; text-decoration: none; }
.post-navigation { margin: 3rem 0; padding: 2rem 0; border-top: 1px solid var(--color-border-light); border-bottom: 1px solid var(--color-border-light); }
.nav-links { display: flex; justify-content: space-between; gap: 2rem; }
.nav-previous a, .nav-next a { font-weight: 600; color: var(--color-primary-mid); text-decoration: none; }
.nav-previous a:hover, .nav-next a:hover { color: var(--color-primary); }
.entry-tags { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--color-border-light); font-size: var(--fs-sm); }
.tags-label { font-weight: 700; color: var(--color-primary); margin-right: .5rem; }

/* Comments */
.comments-area { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--color-border-light); }
.comments-title { font-size: var(--fs-2xl); margin-bottom: 2rem; }
.comment-list { list-style: none; padding: 0; margin: 0 0 2rem; }
.comment-article { background: var(--color-surface); border: 1px solid var(--color-border-light); border-radius: var(--radius-xl); padding: 1.5rem; margin-bottom: 1rem; }
.comment-header { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.comment-avatar { width: 44px; height: 44px; border-radius: 9999px; background: var(--color-secondary); color: var(--color-primary); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: var(--fs-lg); flex-shrink: 0; }
.comment-author { font-weight: 700; color: var(--color-primary); font-style: normal; display: block; }
.comment-time { font-size: var(--fs-xs); color: var(--color-text-muted); }
.comment-content { color: var(--color-text-secondary); font-size: var(--fs-sm); line-height: 1.75; }
.comment-reply a { font-size: var(--fs-xs); color: var(--color-primary-mid); font-weight: 600; text-decoration: none; }
.comment-awaiting { background: #FFF8E1; color: #F57F17; padding: .5rem 1rem; border-radius: var(--radius-md); font-size: var(--fs-sm); margin-bottom: 1rem; }

/* Services filter */
.services-filter { display: flex; gap: .75rem; flex-wrap: wrap; margin-bottom: 2.5rem; }
.filter-btn { background: var(--color-surface); border: 1.5px solid var(--color-border-light); color: var(--color-text-secondary); padding: .5rem 1.25rem; border-radius: 9999px; font-size: var(--fs-sm); font-weight: 500; cursor: pointer; transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast); }
.filter-btn:hover, .filter-btn.active { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }

/* Responsive additions */
@media(max-width:1024px){
  .intro-grid,.about-intro-grid,.contact-layout,.ndis-funds-grid,.qualifications-grid,.requirements-grid,.legal-content-wrap{grid-template-columns:1fr}
  .service-content-layout{grid-template-columns:1fr}
  .faq-layout{grid-template-columns:1fr}
  .faq-sidebar{display:none}
  .archive-layout{grid-template-columns:1fr}
  .why-reason-block{grid-template-columns:1fr;text-align:left}
  .why-reason-block--flip .why-reason-icon{order:0}
  .why-reason-block--flip .why-reason-content{order:0}
  .plan-types-grid--3col{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .service-hero-inner{grid-template-columns:1fr}
  .service-hero-icon{display:none}
  .vacancy-card{flex-direction:column;align-items:flex-start}
  .error-404-inner{grid-template-columns:1fr;text-align:center}
  .error-code{font-size:6rem}
  .error-404-cta{justify-content:center}
  .form-row--2col{grid-template-columns:1fr}
  .about-ndis-badge{left:0;bottom:-1rem}
  .cta-band-actions{flex-direction:column;align-items:center}
  .plan-types-grid--3col{grid-template-columns:1fr}
}
@media(max-width:480px){
  .hero-actions{flex-direction:column}
  .hero-actions .btn{width:100%;justify-content:center}
  .intro-stat-card{position:static;border-radius:var(--radius-xl);margin-top:1.5rem}
  .vacancies-list .vacancy-action{width:100%}
  .vacancies-list .vacancy-action .btn{width:100%;justify-content:center}
}
