:root{--background: #faf8f5;--background-alt: #f5f1ec;--surface: #ffffff;--surface-hover: #fcfaf8;--surface-selected: #f4ece5;--border: #e7ded6;--border-strong: #d5c8bc;--text-primary: #2b2927;--text-secondary: #625c57;--text-muted: #817a74;--text-disabled: #aaa39d;--text-on-brand: #ffffff;--text-link: #6b4423;--text-link-hover: #4e3119;--focus-ring: #4e3119;--focus-ring-on-dark: #ffffff;--brand-primary: #6b4423;--brand-primary-hover: #56361c;--brand-primary-soft: #f0e7df;--brand-secondary: #b08968;--brand-secondary-soft: #f4eee9;--brand-dark: #35271e;--accent: #c96a2b;--accent-strong: #a9531f;--accent-hover: #a9531f;--accent-soft: #fbede3;--text-on-accent: #ffffff;--success: #2f7d4a;--success-soft: #e7f4eb;--success-text: #24633a;--warning: #a86616;--warning-soft: #faf0dd;--warning-text: #80500f;--danger: #c5483d;--danger-soft: #fbe9e7;--danger-text: #9d342c;--info: #39759a;--info-soft: #e8f2f7;--info-text: #2e617f;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--space-11: 80px;--space-12: 96px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--font-display: "Fraunces Variable", Georgia, serif;--font-body: "Manrope Variable", system-ui, sans-serif;--shadow-sm: 0 1px 2px rgba(53, 39, 30, .05);--shadow-md: 0 2px 4px rgba(53, 39, 30, .06), 0 8px 24px rgba(53, 39, 30, .06);--shadow-overlay: 0 4px 8px rgba(53, 39, 30, .08), 0 16px 48px rgba(53, 39, 30, .12)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--background);color:var(--text-primary);font-family:var(--font-body);font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}h1,h2,h3{font-family:var(--font-display);line-height:1.15}.portal h2,.portal h3{font-family:var(--font-body)}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.cta-banner :focus-visible,.site-footer :focus-visible{outline-color:var(--focus-ring-on-dark)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{max-width:1120px;margin-inline:auto;padding-inline:var(--space-5)}.section{padding-block:var(--space-10)}.section-title{font-size:32px;color:var(--text-primary);margin:0 0 var(--space-2)}.section-sub{color:var(--text-secondary);margin:0 0 var(--space-6)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.grid{display:grid;gap:var(--space-5)}.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}.chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary);border-radius:var(--radius-pill);padding:8px var(--space-4);font-family:var(--font-body);font-size:14px}.chip:is(button,a){display:inline-flex;align-items:center;justify-content:center;min-height:44px;cursor:pointer}.chip:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.chip.active:focus-visible{outline-color:var(--focus-ring-on-dark)}.chip.active{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--text-on-brand)}.page-status{padding:var(--space-8);text-align:center;color:var(--text-secondary)}.hero{background:linear-gradient(180deg,var(--brand-primary-soft),var(--background));padding-block:var(--space-11)}.hero-inner{max-width:720px}.kicker{text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:700;color:var(--accent);display:block;margin-bottom:var(--space-3)}.hero h1{font-size:clamp(32px,5vw,48px);margin:0 0 var(--space-4)}.hero p{font-size:18px;color:var(--text-secondary);margin:0 0 var(--space-6)}.hero-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.finder-box{padding:var(--space-6);margin-top:calc(-1 * var(--space-8))}.finder-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.value-card{padding:var(--space-6)}.value-card h3{margin:0 0 var(--space-2);font-size:18px}.value-card p{margin:0;color:var(--text-secondary)}.cta-banner{background:var(--brand-primary);color:var(--text-on-brand);border-radius:var(--radius-lg);padding:var(--space-7);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap}.cta-banner h2{margin:0;font-size:24px}.program-card{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.program-card h3{margin:0;color:var(--brand-primary)}.program-meta{color:var(--text-muted);font-size:14px}.program-price{font-weight:700;color:var(--text-primary)}.level-row{display:flex;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-3);border-bottom:1px solid var(--border)}.level-row:last-child{border-bottom:none}.package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.package-card{padding:var(--space-5);text-align:center;display:flex;flex-direction:column;gap:var(--space-2)}.package-card .pkg-sessions{font-size:14px;color:var(--text-secondary)}.package-card .pkg-price{font-size:22px;font-weight:700;color:var(--brand-primary)}.package-card .pkg-per{font-size:13px;color:var(--text-muted)}.teacher-card{padding:var(--space-6)}.teacher-cert{display:inline-block;background:var(--brand-secondary-soft);color:var(--brand-primary);border-radius:var(--radius-pill);font-size:13px;padding:4px var(--space-3);margin:var(--space-1) var(--space-1) 0 0}.lead-honeypot{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--font-body);font-weight:600;line-height:1.4;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.btn:disabled,.btn[aria-busy=true]{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--brand-primary);color:var(--text-on-brand)}.btn--primary:hover:not(:disabled){background:var(--brand-primary-hover)}.btn--secondary{background:var(--surface);color:var(--text-link);border-color:var(--brand-primary)}.btn--secondary:hover:not(:disabled){background:var(--brand-primary-soft)}.btn--tertiary{background:transparent;color:var(--text-link)}.btn--tertiary:hover:not(:disabled){background:var(--surface-selected)}.btn--highlight{background:var(--accent-strong);color:var(--text-on-accent)}.btn--highlight:hover:not(:disabled){background:var(--accent-hover)}.btn--destructive{background:var(--danger);color:var(--text-on-brand)}.btn--destructive:hover:not(:disabled){background:var(--danger-text)}.btn--sm{padding:0 var(--space-4);font-size:14px;min-height:44px}.btn--md{padding:0 var(--space-5);font-size:16px;min-height:44px}.btn--lg{padding:0 var(--space-7);font-size:18px;min-height:52px}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.btn--primary:focus-visible,.btn--destructive:focus-visible{outline-color:var(--focus-ring-on-dark)}.site-header{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;gap:var(--space-6);min-height:64px}.mobile-nav-toggle{display:none}.brand{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--brand-primary);text-decoration:none}.site-header nav{display:flex;gap:var(--space-5)}.site-header nav a{text-decoration:none;color:var(--text-secondary);font-size:15px;padding:var(--space-2) 0}.site-header nav a.active,.site-header nav a:hover{color:var(--brand-primary)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-4)}.lang-group{display:flex;border:1px solid var(--border-strong);border-radius:var(--radius-pill);overflow:hidden}.lang-group button{border:none;background:transparent;padding:6px var(--space-3);font-size:13px;cursor:pointer;color:var(--text-secondary)}.lang-group button.active{background:var(--brand-primary-soft);color:var(--brand-primary);font-weight:700}.login-link{text-decoration:none}.site-footer{background:var(--brand-dark);color:var(--brand-primary-soft);margin-top:var(--space-12)}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-7);padding-block:var(--space-8)}.footer-brand{font-family:var(--font-display);font-size:20px}.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-block:var(--space-4);font-size:13px}@media(max-width:720px){.header-inner{gap:var(--space-3);min-height:60px}.mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-left:auto;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--brand-primary);font-size:20px;cursor:pointer}.site-header nav{display:none;position:absolute;inset:60px var(--space-4) auto;flex-direction:column;gap:0;padding:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay)}.site-header nav.is-open{display:flex}.site-header nav a{padding:var(--space-3)}.header-actions{margin-left:0;gap:var(--space-2)}.login-link .btn{padding-inline:var(--space-3)}}.portal-shell__header{gap:var(--space-3)}.portal-shell__identity{min-width:0;flex-wrap:wrap}.portal-shell__body{min-width:0}.portal-shell__sidebar{flex:0 0 220px}.portal-shell__main{min-width:0}@media(max-width:760px){.portal-shell__header{align-items:flex-start!important;flex-wrap:wrap;padding-inline:var(--space-4)!important}.portal-shell__identity{width:100%;gap:var(--space-2)!important}.portal-shell__header>:last-child{width:100%;justify-content:space-between}.portal-shell__body{display:block!important}.portal-shell__sidebar{width:100%!important;border-right:0!important;border-bottom:1px solid var(--border);flex-direction:row!important;flex-wrap:wrap;padding:var(--space-3)!important;gap:var(--space-2)!important}.portal-shell__sidebar-label{width:100%;padding:0 8px 2px!important}.portal-shell__main{padding:var(--space-4)!important}}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.form-field>label{font-weight:600;font-size:14px;color:var(--text-primary)}.required-mark{color:var(--danger);margin-left:2px}.form-field input,.form-field select,.form-field textarea{min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-family:var(--font-body);font-size:16px}.form-field textarea{min-height:112px;padding-block:var(--space-3);resize:vertical}.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea{border-color:var(--danger)}.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}.field-description{color:var(--text-muted);font-size:13px}.field-error{display:block;color:var(--danger-text);font-size:14px}.inline-notice{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border:1px solid;border-radius:var(--radius-md);font-size:14px;overflow-wrap:anywhere}.inline-notice>:first-child{min-width:0}.inline-notice strong{display:block;margin-bottom:var(--space-1)}.inline-notice--success{color:var(--success-text);background:var(--success-soft);border-color:var(--success)}.inline-notice--error{color:var(--danger-text);background:var(--danger-soft);border-color:var(--danger)}.inline-notice--warning{color:var(--warning-text);background:var(--warning-soft);border-color:var(--warning)}.inline-notice--info{color:var(--info-text);background:var(--info-soft);border-color:var(--info)}.inline-notice__dismiss{flex:0 0 44px;min-width:44px;min-height:44px;border:0;border-radius:var(--radius-sm);background:transparent;color:currentColor;font-size:22px;line-height:1;cursor:pointer}.inline-notice__dismiss:hover{background:var(--surface-selected)}.inline-notice__dismiss:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}
