:root{--color-background: #0b1d3c;--color-overlay: rgba(3, 14, 30, .65);--color-surface: #ffffff;--color-surface-alt: #f5f7fb;--color-text-primary: #0b1d3c;--color-text-muted: rgba(11, 29, 60, .75);--color-text-light: #ffffff;--color-accent: #0072ce;--color-accent-contrast: #ffffff;--color-border: rgba(11, 29, 60, .15);--color-focus: #0072ce;--color-card-aac: #ff6b35;--color-card-ec: #2c3e50;--font-family-base: "Source Sans 3", "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;--font-size-body: 1rem;--hero-background-image: url(https://assistivetechnology.org.uk/wordpress/wp-content/uploads/2020/03/IMG_8548-scaled.jpg);--hero-overlay: linear-gradient(135deg, rgba(3, 14, 30, .9) 0%, rgba(0, 114, 206, .6) 100%);--transition-duration: .18s;--max-content-width: 1200px;--card-radius: 20px;--link-decoration: none}*{box-sizing:border-box}html,body{margin:0;padding:0;background:#fff}#app{min-height:100vh;font-family:var(--font-family-base);font-size:var(--font-size-body);color:var(--color-text-primary);background-color:var(--color-surface-alt);line-height:1.6}#app a{color:inherit;text-decoration:var(--link-decoration)}#app a:focus,#app a:focus-visible,#app button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}#app img{display:block;max-width:100%;height:auto}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:.75rem;padding:.75rem 1.5rem;background-color:var(--color-accent);color:var(--color-accent-contrast);z-index:40}.skip-link:focus{top:.75rem}.hero{background-image:var(--hero-background-image);background-size:cover;background-position:center;position:relative;min-height:100vh;display:flex;align-items:stretch;justify-content:center;color:var(--color-text-light)}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--hero-overlay)}.hero-overlay{position:relative;z-index:1;width:100%;padding:2rem clamp(1.5rem,3vw,3rem);display:flex;flex-direction:column;justify-content:center;gap:2rem}.top-navigation{display:flex;justify-content:center}.primary-links{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;padding:0;margin:0}.primary-link{padding:.6rem 1.4rem;background-color:#ffffff26;color:var(--color-text-light);border-radius:999px;font-weight:600;transition:background-color var(--transition-duration) ease,transform var(--transition-duration) ease}.primary-link:hover,.primary-link:focus-visible,.primary-link--active{background-color:#ffffff4d;transform:translateY(-2px)}.primary-link--active{transform:none}.hero-content{max-width:680px;margin:0 auto;text-align:center}.brand-mark a{display:inline-block}.brand-logo{width:clamp(160px,26vw,220px);margin:0 auto 1.5rem}.hero-title{font-size:clamp(2rem,4vw,3rem);margin:0 0 1.5rem;font-weight:700}.hero-description{margin:0 auto 2rem;font-size:clamp(1rem,2.2vw,1.25rem);max-width:50ch}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.action-button{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.75rem;background-color:var(--color-accent);color:var(--color-accent-contrast);border-radius:999px;font-weight:700;transition:transform var(--transition-duration) ease,box-shadow var(--transition-duration) ease,background-color var(--transition-duration) ease}.action-button:hover,.action-button:focus-visible{transform:translateY(-3px);box-shadow:0 10px 18px #00418559}.action-button-secondary{background-color:#ffffff26;color:var(--color-text-light)}.action-button-secondary:hover,.action-button-secondary:focus-visible{background-color:#ffffff4d;box-shadow:0 10px 18px #00000040}.tab-navigation{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:5}.tab-list{display:flex;justify-content:center;gap:.5rem;overflow-x:auto;padding:1rem clamp(1rem,3vw,3rem);margin:0 auto;max-width:calc(var(--max-content-width) + 2 * clamp(1rem,3vw,3rem))}.tab-list::-webkit-scrollbar{height:.5rem}.tab-list::-webkit-scrollbar-thumb{background-color:#0072ce59;border-radius:999px}.navigation-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background-color:var(--color-surface-alt);color:var(--color-text-primary);padding:.75rem 1.25rem;border-radius:999px;font-weight:600;cursor:pointer;transition:background-color var(--transition-duration) ease,color var(--transition-duration) ease,box-shadow var(--transition-duration) ease;white-space:nowrap;text-decoration:none}.navigation-tab .tab-icon,.primary-link .tab-icon{display:inline-flex;vertical-align:middle;margin-left:.35rem;color:var(--color-accent)}.navigation-tab--active{background-color:var(--color-accent);color:var(--color-accent-contrast);box-shadow:0 10px 24px #0072ce59}.navigation-tab--active .tab-icon{color:var(--color-accent-contrast)}.navigation-tab:focus-visible{outline:3px solid rgba(0,114,206,.6);outline-offset:2px}.page-content{padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,4vw,3rem);max-width:var(--max-content-width);margin:0 auto}.section-intro,.section-heading{text-align:center;margin-bottom:clamp(2rem,5vw,3rem)}.section-title{margin:0 0 1rem;font-size:clamp(1.75rem,3vw,2.5rem);color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;gap:.75rem}.speech-bubble-icon{display:inline-flex;align-items:center;color:var(--color-accent);flex-shrink:0}.speech-bubble-icon svg{width:1.5em;height:1.5em}.section-summary{margin:0 auto;max-width:65ch;color:var(--color-text-muted);font-size:1.05rem}.service-highlights{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.service-card{border-radius:20px 20px 0 0;padding:2rem;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:1.25rem;box-shadow:0 10px 30px #0b1d3c14}.service-card--aac{background-color:var(--color-card-aac)}.service-card--ec{background-color:var(--color-card-ec)}.service-card--service-finder{background-color:#3498db}.service-card-icon{position:absolute;top:1.5rem;left:1.5rem;z-index:1;opacity:.95}.service-card-icon svg{width:48px;height:48px}.service-card-content{position:relative;z-index:2;display:flex;flex-direction:column;gap:1rem;flex:1;padding-top:.5rem}.service-title{margin:0;font-size:1.5rem;font-weight:700;text-transform:uppercase;color:#fff;line-height:1.2}.service-subtitle{margin:-.5rem 0 0;font-size:.9rem;font-weight:700;text-transform:uppercase;color:#fff;line-height:1.2}.service-description{margin:0;color:#fff;font-size:.95rem;line-height:1.6;flex:1}.service-button{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 1.5rem;border-radius:8px;font-weight:600;text-align:center;text-decoration:none;border:2px solid;transition:all var(--transition-duration) ease;margin-top:auto}.service-button--aac{background-color:var(--color-card-aac);border-color:#fff;color:#fff}.service-button--aac:hover,.service-button--aac:focus-visible{background-color:#ffffff1a;border-color:#fff}.service-button--ec{background-color:var(--color-card-ec);border-color:gold;color:gold}.service-button--ec:hover,.service-button--ec:focus-visible{background-color:#ffd7001a;border-color:gold}.service-button--service-finder{background-color:#3498db;border-color:#fff;color:#fff}.service-button--service-finder:hover,.service-button--service-finder:focus-visible{background-color:#ffffff1a;border-color:#fff}.text-link{color:var(--color-accent);font-weight:600;display:inline-flex;align-items:center;gap:.35rem;transition:color var(--transition-duration) ease}.text-link:after{content:"→";font-size:.95em;transition:transform var(--transition-duration) ease}.text-link:hover:after,.text-link:focus-visible:after{transform:translate(4px)}.resource-grid{display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.resource-card{background-color:var(--color-surface);border-radius:var(--card-radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 15px 35px #0b1d3c14;transition:transform var(--transition-duration) ease,box-shadow var(--transition-duration) ease}.resource-card:hover,.resource-card:focus-within{transform:translateY(-6px);box-shadow:0 20px 45px #0b1d3c1f}.resource-image img{width:100%;object-fit:cover}.resource-content{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.resource-title{margin:0;font-size:1.2rem}.resource-description{margin:0;color:var(--color-text-muted);font-size:.98rem}.service-list{list-style:none;padding:0;margin:0;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.service-list a{display:inline-block;padding:.85rem 1rem;background-color:var(--color-surface);border-radius:14px;box-shadow:0 8px 24px #0b1d3c14;transition:transform var(--transition-duration) ease,box-shadow var(--transition-duration) ease}.service-list a:hover,.service-list a:focus-visible{transform:translateY(-4px);box-shadow:0 16px 30px #0b1d3c24}.signup-button{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 2.4rem;background-color:var(--color-accent);color:var(--color-accent-contrast);border-radius:999px;font-weight:700;transition:transform var(--transition-duration) ease,box-shadow var(--transition-duration) ease}.signup-button:hover,.signup-button:focus-visible{transform:translateY(-3px);box-shadow:0 14px 28px #0072ce59}.site-footer{text-align:center;padding:2rem 1rem 3rem;color:var(--color-text-muted)}.footer-text{margin:0}@media (max-width: 768px){.hero-overlay{padding-top:3rem;padding-bottom:3rem}.hero-content{text-align:left}.hero-description{max-width:100%}.hero-actions{justify-content:flex-start}.primary-links{justify-content:center}.resource-grid{grid-template-columns:1fr}}@media (max-width: 520px){.primary-links{gap:.6rem}.navigation-tab{padding-inline:1rem}.service-card,.resource-content{padding:1.25rem}}#app[data-mockup=nhs-arial],#app[data-mockup=nhs-atkinson]{--color-background: #005eb8;--color-surface: #ffffff;--color-surface-alt: #e8edee;--color-text-primary: #231f20;--color-text-muted: #425563;--color-text-light: #ffffff;--color-accent: #005eb8;--color-accent-contrast: #ffffff;--color-border: #d8dde0;--color-focus: #ffeb3b;--color-card-aac: #005eb8;--color-card-ec: #003087;--font-size-body: 19px;--hero-background-image: none;--hero-overlay: #005eb8;--card-radius: 4px}#app[data-mockup=nhs-arial][data-section=home],#app[data-mockup=nhs-atkinson][data-section=home],#app[data-mockup=nhs-arial][data-section=aac-services],#app[data-mockup=nhs-atkinson][data-section=aac-services]{--color-background: #005eb8;--color-accent: #005eb8;--color-card-aac: #005eb8;--color-card-ec: #003087;--hero-overlay: #005eb8}#app[data-mockup=nhs-arial][data-section=ec-services],#app[data-mockup=nhs-atkinson][data-section=ec-services]{--color-background: #006747;--color-accent: #006747;--color-card-aac: #006747;--color-card-ec: #009639;--hero-overlay: #006747}#app[data-mockup=nhs-arial][data-section=local-aac],#app[data-mockup=nhs-atkinson][data-section=local-aac]{--color-background: #330072;--color-accent: #330072;--color-card-aac: #ae2573;--color-card-ec: #7c2855;--hero-overlay: #330072;--color-focus: #ffb81c}#app[data-mockup=nhs-arial]{--font-family-base: Arial, sans-serif}#app[data-mockup=nhs-atkinson]{--font-family-base: "Atkinson Hyperlegible", Arial, sans-serif}#app[data-mockup=nhs-arial] .hero,#app[data-mockup=nhs-atkinson] .hero{background-color:var(--hero-overlay);background-image:none;min-height:70vh}#app[data-mockup=nhs-arial][data-section=local-aac] .action-button:not(.action-button-secondary),#app[data-mockup=nhs-atkinson][data-section=local-aac] .action-button:not(.action-button-secondary){background-color:#ffb81c;color:#231f20}#app[data-mockup=high-contrast]{--color-background: #000000;--color-surface: #ffffff;--color-surface-alt: #ffffff;--color-text-primary: #000000;--color-text-muted: #000000;--color-text-light: #ffffff;--color-accent: #000000;--color-accent-contrast: #ffffff;--color-border: #000000;--color-focus: #ffeb3b;--color-card-aac: #000000;--color-card-ec: #000000;--font-family-base: Arial, sans-serif;--font-size-body: 19px;--link-decoration: underline;--hero-background-image: none;--hero-overlay: #000000;--card-radius: 0}#app[data-mockup=high-contrast] .hero{background-color:#000;min-height:70vh}#app[data-mockup=high-contrast] .navigation-tab,#app[data-mockup=high-contrast] .resource-card,#app[data-mockup=high-contrast] .service-list a{border:2px solid #000000}#app[data-mockup=nhs-arial] .primary-link,#app[data-mockup=nhs-atkinson] .primary-link,#app[data-mockup=high-contrast] .primary-link{background:transparent;border:2px solid currentColor;border-radius:4px;box-shadow:none}#app[data-mockup=high-contrast] .primary-link,#app[data-contrast=high] .primary-link{background:#fff;color:#000;border-color:#fff;border-radius:0}#app[data-contrast=high]{--color-background: #000000;--color-surface: #ffffff;--color-surface-alt: #ffffff;--color-text-primary: #000000;--color-text-muted: #000000;--color-text-light: #ffff00;--color-accent: #000000;--color-accent-contrast: #ffff00;--color-border: #000000;--color-focus: #ffff00;--color-card-aac: #000000;--color-card-ec: #000000;--link-decoration: underline;--hero-background-image: none;--hero-overlay: #000000}#app[data-contrast=high] .hero{background-image:none;background-color:#000}#app[data-contrast=high] .hero,#app[data-contrast=high] .hero-title,#app[data-contrast=high] .hero-description{color:#ff0}.preview-bar{position:sticky;top:0;z-index:20;padding:.75rem 1rem .9rem;background:#231f20;color:#fff;font-family:Arial,sans-serif;font-size:.95rem}.preview-bar-label,.preview-bar-summary{margin:0 auto .5rem;max-width:var(--max-content-width)}.preview-bar-summary{margin-bottom:0;color:#e8edee}.preview-bar-options{display:flex;flex-wrap:wrap;gap:.5rem;max-width:var(--max-content-width);margin:0 auto .5rem}.preview-bar-button,.preview-bar-copy,.a11y-controls-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid #ffffff;background:transparent;color:#fff;padding:.45rem .8rem;font:inherit;font-weight:700;cursor:pointer}.preview-bar-button--active,.preview-bar-copy:hover,.a11y-controls-button[aria-pressed=true]{background:#fff;color:#231f20}.a11y-controls{position:fixed;left:1rem;bottom:1rem;z-index:30}.a11y-controls-button{background:#005eb8;border-color:#005eb8;box-shadow:0 4px 16px #0003}
