:root{--ink:#1d1d1f;--muted:#6e6e73;--paper:#fff;--soft:#f5f5f7;--line:#d2d2d7;--blue:#0b57d0;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.78;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}a{color:inherit;text-underline-offset:.18em}.skip{position:fixed;left:12px;top:10px;transform:translateY(-160%);background:#000;color:#fff;padding:10px 14px;z-index:999}.skip:focus{transform:none}.head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.head-in{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.head-in::before{content:"";display:block;width:118px;height:58px;flex:0 0 auto;background:url("https://programvalaszto.magyariskola.at/bmi-hero-original.png") left center/contain no-repeat}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}.brand img{display:none}.brand b{display:block}.brand small{display:block;color:var(--muted)}.nav{display:flex;gap:20px;align-items:center;margin-left:auto}.nav a{text-decoration:none;font-weight:650;font-size:.94rem}.hero{padding:76px 0 64px}.eyebrow{font-size:.8rem;font-weight:750;letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}h1{max-width:820px;margin:15px 0 24px;font-size:clamp(2.25rem,5.2vw,4.45rem);line-height:1.03;letter-spacing:-.052em;font-weight:690}h2,.section-title{letter-spacing:-.038em;line-height:1.12;font-weight:680}.index h2,.section-title{margin:0 0 13px;font-size:clamp(1.65rem,3.2vw,2.55rem)}.profile-title h2{margin:0;font-size:clamp(1.8rem,3.8vw,3rem);line-height:1.06}.accent,.accent-text{display:inline-block;background:linear-gradient(100deg,#0b57d0 0%,#6f45d7 20%,#d14a9c 40%,#e46f35 60%,#c7a12b 78%,#2f9d78 100%);background-size:260% 260%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:rainbowShift 10s ease-in-out infinite}@keyframes rainbowShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}.lead{max-width:820px;color:var(--muted);font-size:clamp(1.03rem,1.7vw,1.2rem);line-height:1.82}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;background:#000;color:#fff;text-decoration:none;font-weight:700;border:1px solid #000}.btn.ghost{background:#fff;color:#000;border-color:var(--line)}.index{padding:62px 0;background:var(--soft)}.index p{color:var(--muted);max-width:760px;line-height:1.8}.teacher-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:30px}.teacher-card{display:block;background:#fff;border:1px solid var(--line);padding:21px;min-height:150px;text-decoration:none}.teacher-card b{display:block;font-size:1.03rem;line-height:1.42}.teacher-card span{display:block;margin-top:8px;color:var(--muted);font-size:.9rem;line-height:1.62}.profiles{padding:74px 0}.profile{scroll-margin-top:100px;padding:72px 0;border-top:1px solid var(--line)}.profile:first-child{border-top:0;padding-top:0}.profile-head{display:grid;grid-template-columns:minmax(240px,34%) 1fr;gap:58px;align-items:start}.portrait{position:relative;aspect-ratio:1/1;background:linear-gradient(145deg,#f2f2f4,#e8e8eb);overflow:hidden;margin:0;width:100%;max-width:420px}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.portrait .fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:28px;color:#86868b;font-weight:650}.portrait img:not([src=""])+.fallback{z-index:-1}#banhalmi-norbert .portrait{background:url("assets/banhalmi-norbert.svg") center/cover no-repeat}#banhalmi-norbert .portrait .fallback{display:none}.role{margin:16px 0 0;color:var(--muted);font-size:1.04rem;line-height:1.82;max-width:700px}.programs{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.programs a{display:inline-flex;padding:8px 11px;background:var(--soft);border:1px solid var(--line);text-decoration:none;font-size:.88rem;font-weight:650}.bio-segments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.segment{padding:28px 28px 32px 0}.segment+.segment{border-left:1px solid var(--line);padding-left:28px}.segment h3{margin:0 0 13px;font-size:.97rem;line-height:1.45}.segment p{margin:0;color:var(--muted);line-height:1.82}.pending{margin-top:32px;padding:20px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.92rem;line-height:1.72}.footer{background:#000;color:#d2d2d7;padding:52px 0 32px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px}.footer h3{color:#fff;margin-top:0;font-size:1rem}.footer a{color:#fff}.legal{margin-top:30px;padding-top:24px;border-top:1px solid #333;color:#86868b;font-size:.86rem}.legal-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:10px}.legal-links a{color:#d2d2d7}@media(max-width:1080px){.nav{display:none}.head-in::before{width:104px;height:52px}.teacher-grid{grid-template-columns:repeat(2,1fr)}.profile-head{grid-template-columns:280px 1fr;gap:34px}.bio-segments{grid-template-columns:1fr}.segment,.segment+.segment{padding:24px 0;border-left:0;border-top:1px solid var(--line)}.segment:first-child{border-top:0}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.wrap{width:min(calc(100% - 28px),var(--max))}.head-in{min-height:68px;gap:12px}.brand small{display:none}.head-in::before{width:76px;height:44px}.hero{padding:50px 0 46px}h1{font-size:clamp(2.05rem,10.5vw,3.15rem);line-height:1.04}.hero-actions .btn{width:100%}.teacher-grid{grid-template-columns:1fr}.profile{padding:52px 0}.profile-head{grid-template-columns:1fr;gap:28px}.portrait{max-width:100%}.footer-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.accent,.accent-text{animation:none;background-position:50% 50%}}@media(forced-colors:active){.accent,.accent-text{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}}:focus-visible{outline:3px solid #000;outline-offset:3px}