@font-face{font-family:Archivo;src:url(/fonts/Archivo.ttf)format("truetype");font-weight:100 900;font-display:swap}@font-face{font-family:Figtree;src:url(/fonts/Figtree.ttf)format("truetype");font-weight:300 900;font-display:swap}:root{--coral:#e2603f;--ink:#241a17;--paper:#f8f2ea;--ink-hover:#47312a;--gutter:clamp(24px, 5vw, 72px);--header-height:90px;color:var(--ink);background:var(--paper);font-synthesis:none;scrollbar-color:var(--ink) var(--paper);font-family:Figtree,sans-serif}*{box-sizing:border-box}body,h1,h2,h3,p,figure,dl,dd{margin:0}body{font-size:18px;line-height:1.55}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}::selection{color:var(--paper);background:var(--ink)}:focus-visible{outline:3px solid var(--ink);outline-offset:5px}.skip-link{z-index:10;background:var(--paper);padding:12px 20px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{z-index:5;min-height:var(--header-height);padding:14px var(--gutter);background:var(--paper);grid-template-columns:1fr auto auto;align-items:center;gap:36px;display:grid;position:sticky;top:0}.name{letter-spacing:-.025em;width:fit-content;font-family:Archivo,sans-serif;font-size:22px;font-weight:650;text-decoration:none}nav{gap:24px;display:flex}nav a{align-items:center;min-height:44px;display:inline-flex}.header-action,.primary-action{background:var(--ink);color:var(--paper);border-radius:999px;justify-content:center;align-items:center;gap:24px;font-weight:650;line-height:1.3;text-decoration:none;display:inline-flex}.header-action{flex-direction:column;gap:2px;min-height:44px;padding:12px 20px;font-size:15px}.header-action:hover,.primary-action:hover{background:var(--ink-hover)}.header-action:focus-visible,.primary-action:focus-visible{outline-offset:5px}#main,#unterricht,#florian,#kontakt{scroll-margin-top:calc(var(--header-height) + 24px)}.introduction{min-height:calc(94svh - var(--header-height));grid-template-columns:minmax(0,52fr) minmax(0,48fr);display:grid}.introduction-copy{padding:clamp(40px, 5vw, 72px) var(--gutter);background:var(--coral);flex-direction:column;justify-content:flex-end;gap:24px;display:flex}h1{letter-spacing:-.032em;text-wrap:balance;font-family:Archivo,sans-serif;font-size:clamp(42px,5.6vw,92px);font-weight:660;line-height:1.03}p{max-width:65ch}.description{max-width:42ch;font-size:clamp(18px,1.4vw,20px)}.contact{flex-direction:column;align-items:flex-start;gap:24px;min-width:0;display:flex}.contact p{max-width:42ch;font-size:17px}.primary-action{min-height:56px;padding:16px 26px;font-size:17px}.action-label{text-align:left;flex-direction:column;gap:3px;min-width:0;display:flex}.action-channel{font-size:15px;font-weight:500}.header-action .action-channel{font-size:12px}.primary-action svg{flex-shrink:0}.direct-contact{flex-wrap:wrap;gap:4px 28px;font-size:16px;display:flex}.direct-contact a{flex-wrap:wrap;align-items:center;gap:0 8px;min-height:44px;display:inline-flex}.direct-contact span{white-space:nowrap;font-variant-numeric:tabular-nums}.portrait{background:#d9c8ba;min-width:0;position:relative}.portrait img{object-fit:cover;object-position:50% 34%;width:100%;height:100%;position:absolute}@media (width<=1100px){.introduction-copy{padding-inline:32px}.primary-action{gap:16px;padding-inline:22px;font-size:16px}}@media (width<=859px){.introduction{grid-template-columns:minmax(0,1fr);min-height:0}.introduction-copy{padding:40px var(--gutter) 32px}h1{max-width:12ch;font-size:clamp(42px,7vw,64px)}.portrait{height:58svh}.portrait img{object-position:50% 24%}}@media (width<=520px){:root{--header-height:132px}.site-header{grid-template-columns:1fr auto;gap:0 12px;padding-block:10px}.name{font-size:20px}.site-header nav{grid-area:2/1/auto/-1;font-size:15px}nav a{min-height:44px}.header-action{grid-area:1/2;padding-inline:16px}.introduction-copy{gap:22px;padding-top:32px}.contact{gap:20px}.primary-action{justify-content:space-between;gap:10px;width:100%;padding-inline:20px}.portrait{height:52svh}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}h2{letter-spacing:-.025em;text-wrap:balance;font-family:Archivo,sans-serif;font-size:clamp(34px,3.6vw,56px);font-weight:650;line-height:1.12}h3{font-size:20px;font-weight:650;line-height:1.35}.section-pad{padding:clamp(56px, 7vw, 100px) var(--gutter)}.section-description{max-width:42ch;font-size:clamp(20px,1.65vw,24px)}.teaching{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,100px);display:grid}.teaching-intro,.conditions{flex-direction:column;align-items:flex-start;gap:24px;display:flex}.text-action{align-items:center;min-height:44px;font-weight:650;display:inline-flex}.prices{width:100%}.prices>div{border-bottom:1px solid var(--ink);padding:16px 0}.prices>div:first-child{padding-top:0}.prices dt{font-size:18px}.prices dd{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.prices strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-family:Archivo,sans-serif;font-size:30px;font-weight:650}.profile{grid-template-columns:minmax(0,48fr) minmax(0,52fr);display:grid}.profile-portrait{background:#d9c8ba;min-width:0;height:clamp(520px,48vw,720px)}.profile-portrait img{object-fit:cover;object-position:50% 20%;width:100%;height:100%}.profile-copy{background:var(--coral);padding:clamp(40px, 5vw, 72px) var(--gutter);flex-direction:column;justify-content:center;gap:28px;display:flex}.education{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,100px);display:grid}.education-register>div{border-bottom:1px solid var(--ink);grid-template-columns:110px minmax(0,1fr);gap:24px;padding:24px 0;display:grid}.education-register>div:first-child{padding-top:0}.education-register dt{font-variant-numeric:tabular-nums}.education-register p{margin-top:8px}.contact-section{background:var(--ink);color:var(--paper);grid-template-columns:minmax(0,44fr) minmax(0,56fr);display:grid}.contact-copy{min-width:0;padding:clamp(48px, 5vw, 72px) var(--gutter)}.contact-copy h2{color:var(--coral);margin-bottom:24px}.contact-copy .primary-action{max-width:100%}.contact-section .contact p{max-width:42ch;font-size:clamp(20px,1.65vw,24px)}@media (width>=521px) and (width<=859px){:root{--header-height:118px}.site-header{grid-template-columns:1fr auto;gap:0 12px}.site-header nav{grid-area:2/1}.header-action{grid-area:1/2/span 2}}@media (width<=859px){.teaching,.education,.contact-section,.profile{grid-template-columns:1fr}.profile-portrait{height:clamp(420px,110vw,640px)}.profile-copy{padding:48px var(--gutter)}}@media (width<=520px){.education-register>div{grid-template-columns:1fr;gap:8px}}@media (width<=360px){h1{font-size:36px}.site-header{gap:0 8px;padding-inline:16px}.name{font-size:18px}.header-action{padding-inline:12px}}.inquiry{min-width:0;padding:clamp(48px, 5vw, 72px) var(--gutter);flex-direction:column;gap:28px;display:flex}.inquiry-intro h3{letter-spacing:-.025em;text-wrap:balance;margin-bottom:12px;font-family:Archivo,sans-serif;font-size:24px;line-height:1.3}.inquiry-intro p{max-width:42ch}#inquiry-form{flex-direction:column;gap:24px;min-width:0;display:flex}.form-fields{grid-template-columns:1fr 1fr;gap:24px 20px;display:grid}.form-field{flex-direction:column;gap:8px;min-width:0;display:flex}.form-wide{grid-column:1/-1}.form-field label{font-weight:650}.form-field label span,.form-hint{font-size:16px;font-weight:400}.form-field input,.form-field textarea{border:1px solid var(--ink);background:var(--paper);width:100%;min-height:48px;color:var(--ink);font:inherit;caret-color:var(--ink);border-radius:0;padding:12px 14px}.form-field textarea{resize:vertical}.form-field [aria-invalid=true]{border-width:2px}.field-error{font-size:16px;font-weight:650}.field-error:empty,.inquiry-status:empty{display:none}.form-trap{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.security-check{min-width:0;font-size:16px}#turnstile-widget{max-width:100%;overflow:hidden}.security-check p{max-width:none;margin-top:12px;font-size:12px;line-height:1.6}.security-check button{color:var(--ink);font:inherit;text-underline-offset:.25em;cursor:pointer;background:0 0;border:0;padding:8px 0;text-decoration:underline}.submit-inquiry{cursor:pointer;border:0;align-self:flex-start}.submit-inquiry:disabled{background:var(--ink-hover);cursor:not-allowed}.inquiry-status{border-top:1px solid var(--ink);padding-top:20px;font-weight:650}.submit-inquiry[aria-busy=true]{cursor:wait}[hidden]{display:none!important}@media (width<=859px){.contact-copy,.inquiry{padding-block:40px}.contact-copy{padding-bottom:24px}.inquiry{padding-top:24px}}@media (width<=520px){.form-fields{grid-template-columns:1fr}.form-wide{grid-column:auto}}.contact-section .primary-action{background:var(--coral);color:var(--ink)}.contact-section .primary-action:hover{background:var(--paper)}.contact-section .primary-action:disabled{background:var(--ink-hover);color:var(--paper)}.contact-section :focus-visible{outline-color:var(--paper)}.contact-section ::selection{background:var(--coral);color:var(--ink)}.contact-section .security-check button{color:var(--paper)}.contact-section .inquiry-status{border-color:var(--paper)}.site-footer{padding:28px var(--gutter);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 32px;font-size:16px;display:flex}.site-footer nav{flex-wrap:wrap}.legal-intro{padding:40px var(--gutter) clamp(40px, 5vw, 72px);background:var(--coral);flex-direction:column;align-items:flex-start;gap:24px;display:flex}.legal-intro h1{overflow-wrap:anywhere;max-width:100%;font-size:clamp(36px,5.6vw,80px)}.legal-body{max-width:calc(72ch + 2 * var(--gutter));padding:clamp(40px, 5vw, 72px) var(--gutter);overflow-wrap:anywhere;margin-inline:auto}.legal-body section+section{margin-top:56px}.legal-body h2{margin-bottom:20px;font-size:clamp(28px,3vw,40px)}.legal-body h3{margin-block:32px 12px}.legal-body p+p,.legal-body address+p{margin-top:20px}.legal-body address{margin-top:20px;font-style:normal}.legal-body section{scroll-margin-top:calc(var(--header-height) + 24px)}.legal-contents{border-bottom:1px solid var(--ink);gap:4px;margin-bottom:40px;padding-bottom:32px;display:grid}.legal-contents a{width:fit-content}.legal-date{margin-top:48px;font-size:16px}.security-check h4{margin:0;font-size:18px;font-weight:650}.security-check .text-action{margin-right:20px}
