@layer components,utilities,animations,print;@layer components{.ui-button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-md);font-family:inherit;font-size:var(--fs-base);font-weight:600;text-decoration:none;cursor:pointer;transition:all var(--transition-base);min-height:44px;touch-action:manipulation;}.ui-button--primary,.btn-primary{background:var(--color-primary);color:white;}.ui-button--primary:hover,.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md);}.ui-button--secondary,.btn-secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary);}.ui-button--secondary:hover,.btn-secondary:hover{background:var(--color-primary);color:white;}.ui-button--ghost,.btn-ghost{background:transparent;color:var(--color-text);border:1px solid var(--color-border);}.ui-button--ghost:hover,.btn-ghost:hover{background:var(--color-bg-hover);border-color:var(--color-primary);}:root{--color-primary-dark:oklch(45% 0.25 250);--color-primary-light:oklch(65% 0.25 250);--color-secondary:oklch(50% 0.18 290);--color-accent:oklch(75% 0.35 160);--color-success:oklch(60% 0.25 160);--color-warning:oklch(75% 0.15 85);--color-error:oklch(55% 0.22 25);--color-nhs:#005eb8;--color-cambridge:#003e74;--space-xs:clamp(0.375rem,0.3rem + 0.375vw,0.5rem);--space-sm:clamp(0.5rem,0.4rem + 0.5vw,0.75rem);--space-md:clamp(0.75rem,0.6rem + 0.75vw,1rem);--space-2xl:clamp(2rem,1.6rem + 2vw,3rem);--space-3xl:clamp(3rem,2.4rem + 3vw,4rem);--shadow-sm:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--z-dropdown:1000;--z-fixed:1030;--z-modal-backdrop:1040;--z-popover:1060;--z-tooltip:1070;--background:var(--color-bg);--foreground:var(--color-text);--card:var(--color-bg);--card-foreground:var(--color-text);--popover:var(--color-bg);--popover-foreground:var(--color-text);--muted:color-mix(in oklch,var(--color-bg) 92%,var(--color-text));--muted-foreground:color-mix(in oklch,var(--color-text) 75%,var(--color-bg));--accent:var(--color-accent);--accent-foreground:#08342a;--primary:var(--color-primary);--primary-foreground:#ffffff;--secondary:var(--color-secondary);--secondary-foreground:#ffffff;--destructive:var(--color-error);--destructive-foreground:#ffffff;--border:var(--color-border);--input:var(--color-border);--ring:var(--color-primary);--radius:var(--radius-md);}.card{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-lg);transition:all var(--transition-base);border:1px solid rgba(0,0,0,0.05);}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);}.card--glass{background:var(--color-bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.2);}.card--solid{background:var(--color-bg);border:1px solid var(--color-border);box-shadow:var(--shadow-md);}.card--outlined{background:transparent;border:2px solid var(--color-primary);box-shadow:none;}.card--outlined:hover{background:color-mix(in oklch,var(--color-primary) 5%,transparent);box-shadow:var(--shadow-sm);}.btn--primary{background:var(--color-primary);color:white;}.btn--primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md);}.btn--primary:active{transform:scale(0.98);}.btn--secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary);}.btn--secondary:hover{background:var(--color-primary);color:white;}.btn--secondary:active{transform:scale(0.98);}.btn--ghost{background:transparent;color:var(--color-text);border:1px solid var(--color-border);}.btn--ghost:hover{background:var(--color-bg-hover);border-color:var(--color-primary);}.btn--ghost:active{transform:scale(0.98);}.form-group{margin-bottom:var(--space-lg);}.form-label{display:block;margin-bottom:var(--space-xs);font-weight:600;color:var(--color-text);}.form-input{width:100%;padding:var(--space-sm) var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--fs-base);background:var(--color-bg);color:var(--color-text);transition:all var(--transition-base);min-height:44px;}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in oklch,var(--color-primary) 20%,transparent);}.form-input--error{border-color:var(--color-error);}.form-input--success{border-color:var(--color-success);}.form-error{color:var(--color-error);font-size:var(--fs-sm);margin-top:var(--space-xs);display:flex;align-items:center;gap:var(--space-xs);}.form-success{color:var(--color-success);font-size:var(--fs-sm);margin-top:var(--space-xs);display:flex;align-items:center;gap:var(--space-xs);}.input,.select,.textarea{width:100%;padding:var(--space-sm) var(--space-md);border:2px solid var(--input);border-radius:var(--radius);font-family:inherit;font-size:var(--fs-base);background:var(--background);color:var(--foreground);transition:all var(--transition-base);min-height:44px;}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklch,var(--ring) 20%,transparent);}.label{display:block;margin-bottom:var(--space-xs);font-weight:600;color:var(--foreground);}.badge{display:inline-flex;align-items:center;gap:0.375rem;padding:0.25rem 0.5rem;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--muted);color:var(--muted-foreground);font-weight:600;font-size:0.75rem;line-height:1;}.badge--secondary{background:color-mix(in oklch,var(--secondary) 15%,var(--background));color:var(--secondary);border-color:color-mix(in oklch,var(--secondary) 40%,var(--border));}.badge--outline{background:transparent;color:var(--foreground);}.badge--destructive{background:color-mix(in oklch,var(--destructive) 15%,var(--background));color:var(--destructive);border-color:color-mix(in oklch,var(--destructive) 40%,var(--border));}.nav-menu{display:flex;list-style:none;margin:0;padding:0;gap:var(--space-md);}.nav-link{color:var(--color-text);font-weight:500;font-size:0.875rem;text-decoration:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);transition:all var(--transition-base);position:relative;}.lead,.cert-issuer,.stat-label,.toggle-text,.muted,.text-subtle{color:var(--color-text-muted);}.nav-link:hover{color:var(--color-primary);background:color-mix(in oklch,var(--color-primary) 10%,transparent);}.nav-link--active{color:var(--color-primary);font-weight:600;}.nav-link--active::after{content:'';position:absolute;bottom:-2px;left:50%;width:6px;height:6px;background:var(--color-primary);border-radius:50%;transform:translateX(-50%);}.nav-toggle{display:none;background:transparent;border:none;cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-md);position:relative;width:44px;height:44px;}.nav-toggle-icon{position:relative;width:24px;height:2px;background:var(--color-text);transition:all var(--transition-base);}.nav-toggle-icon::before,.nav-toggle-icon::after{content:'';position:absolute;width:24px;height:2px;background:var(--color-text);transition:all var(--transition-base);}.nav-toggle-icon::before{top:-8px;}.nav-toggle-icon::after{bottom:-8px;}.nav-toggle[aria-expanded="true"] .nav-toggle-icon{background:transparent;}.nav-toggle[aria-expanded="true"] .nav-toggle-icon::before{transform:rotate(45deg);top:0;}.nav-toggle[aria-expanded="true"] .nav-toggle-icon::after{transform:rotate(-45deg);bottom:0;}@media (max-width:768px){.nav-toggle{display:flex;align-items:center;justify-content:center;}.nav-menu{position:fixed;top:4rem;right:0;bottom:0;width:min(85vw,360px);background:var(--color-bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-left:1px solid var(--color-border);display:flex;flex-direction:column;padding:var(--space-lg);transform:translateX(100%);opacity:0;pointer-events:none;transition:transform var(--transition-base),opacity var(--transition-base);overflow-y:auto;z-index:var(--z-popover);}@media (prefers-reduced-motion:reduce){.nav-menu{transition:none;}body.menu-open::after{transition:none;}}.nav-menu.active{transform:translateX(0);opacity:1;pointer-events:all;}body.menu-open::after{content:'';position:fixed;inset:0;background:rgba(0,0,0,0.25);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:var(--z-modal-backdrop);opacity:1;transition:opacity var(--transition-base);}.nav-link{padding:var(--space-md);width:100%;text-align:center;}}}@layer utilities{.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-lg);}.section{padding:var(--space-3xl) 0;}.text-center{text-align:center;}.text-left{text-align:left;}.text-right{text-align:right;}.visually-hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;}}@layer animations{@keyframes fade-in{from{opacity:0;}to{opacity:1;}}@keyframes slide-in-up{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}@keyframes scale-in{from{opacity:0;transform:scale(0.9);}to{opacity:1;transform:scale(1);}}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.5;}}.animate-fade-in{animation:fade-in 0.5s ease-out;}.animate-slide-in-up{animation:slide-in-up 0.6s ease-out;}.animate-scale-in{animation:scale-in 0.4s ease-out;}.animate-pulse{animation:pulse 2s ease-in-out infinite;}.skeleton{background:linear-gradient( 90deg,rgba(0,0,0,0.1) 25%,rgba(0,0,0,0.05) 50%,rgba(0,0,0,0.1) 75% );background-size:200% 100%;animation:loading 1.5s infinite;}@keyframes loading{0%{background-position:200% 0;}100%{background-position:-200% 0;}}}@layer print{@media print{:root{--color-text:#000;--color-bg:#fff;--color-primary:#000;}*{background:transparent !important;box-shadow:none !important;text-shadow:none !important;}body{font-size:12pt;line-height:1.5;}.nav,.hero-background,.btn,[aria-hidden="true"]{display:none !important;}.card{border:1px solid #000;box-shadow:none;break-inside:avoid;}h1,h2,h3,h4,h5,h6{break-after:avoid;}p{orphans:3;widows:3;}a{text-decoration:underline;}a[href^="http"]:after{content:" (" attr(href) ")";}.page-break{page-break-before:always;}}}