:root{--paper:#f9f8f6;--white:#fffdfb;--ink:#282421;--sub:#716a64;--line:#e6e0d9;--gold:#7f6548;--sans:Lato,'Helvetica Neue',Arial,sans-serif;--serif:Lora,Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.58 var(--sans);-webkit-font-smoothing:antialiased;text-align:left}a{color:inherit}img{display:block;max-width:100%}a:focus-visible,button:focus-visible{outline:2px solid #94765a;outline-offset:3px}.wrap{width:min(100% - 48px,970px);margin-inline:auto}.skip{position:absolute;top:-80px;left:8px;background:white;z-index:20;padding:12px}.skip:focus{top:8px}.site-head{background:#fffdfb;border-bottom:1px solid var(--line)}.head-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.13}.brand strong{font:400 25px/1.15 var(--serif);letter-spacing:-.025em}.brand span{font:700 10px/1.5 var(--sans);letter-spacing:.18em;color:var(--gold);margin-top:5px}.head-actions{display:flex;align-items:center;gap:42px}.header-link{text-decoration:none;font-size:13px;color:var(--sub)}.lang-switch{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:7px}.lang-switch button{background:transparent;border:0;color:var(--sub);font:700 12px var(--sans);cursor:pointer;min-width:39px;padding:7px 8px;border-radius:5px}.lang-switch button[aria-pressed=true]{background:#eee9e3;color:var(--ink)}.eyebrow{font:700 10px/1.6 var(--sans);letter-spacing:.18em;color:var(--gold)}.hero{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr);align-items:center;gap:56px;padding:62px 0 54px;border-bottom:1px solid var(--line)}.hero h1{font:400 clamp(48px,5.3vw,73px)/1.08 var(--serif);letter-spacing:-.055em;margin:13px 0 13px;max-width:580px}.dot{color:var(--gold)}.hero-sub{font:400 18px/1.5 var(--serif);margin:0 0 14px}.hero-desc{max-width:500px;color:var(--sub);line-height:1.8;margin:0 0 26px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.btn{text-decoration:none;border:1px solid var(--ink);border-radius:2px;padding:11px 15px;display:inline-flex;align-items:center;justify-content:space-between;gap:17px;font:700 12px/1.5 var(--sans);transition:background .2s}.btn.primary{background:var(--ink);color:#fff}.btn.primary:hover{background:#554c45}.btn.quiet{border-color:#c8bcb0;color:var(--gold)}.btn.quiet:hover{background:#eee9e3}.hero-figure{margin:0;position:relative;min-width:0}.hero-figure img{aspect-ratio:4/5;object-fit:cover;width:100%;border:9px solid #fff;outline:1px solid var(--line)}.hero-figure figcaption{font:700 10px var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--gold);margin:17px 0 0}.links-section{padding:47px 0 52px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:20px}.section-title h2,.newsletter h2{font:400 clamp(26px,3vw,35px)/1.23 var(--serif);letter-spacing:-.035em;margin:4px 0 0}.section-side{font:700 10px var(--sans);letter-spacing:.16em;color:var(--gold)}.link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.link-card{border:1px solid var(--line);background:white;padding:22px 23px;display:flex;justify-content:space-between;gap:12px;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}.link-card:hover{border-color:#bcaa98;box-shadow:0 7px 25px rgba(45,33,22,.045);transform:translateY(-1px)}.link-card h3{font:400 22px/1.32 var(--serif);letter-spacing:-.025em;margin:6px 0 5px}.link-card p{font:13px/1.6 var(--sans);color:var(--sub);margin:0}.link-label{font:700 10px/1.4 var(--sans);letter-spacing:.16em;color:var(--gold)}.arrow{color:var(--gold);font-size:20px;line-height:1;padding:2px 0}.newsletter{background:#f1ede8;border:1px solid var(--line);padding:34px 36px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px;align-items:center}.newsletter h2{font-size:32px;max-width:350px;margin-top:7px}.newsletter .nl-intro p{font:14px/1.75 var(--sans);color:var(--sub);margin:13px 0 0;max-width:370px}.nl-form-shell{background:#fff;border:1px solid #e5ded5;padding:22px 24px;min-width:0}.sample-form{display:flex;gap:7px}.sample-form input{width:100%;min-width:0;padding:12px;border:1px solid #d7cec4;border-radius:0;background:#faf8f6;color:#6d645c;font:13px var(--sans)}.sample-form button{background:var(--ink);border:0;color:white;padding:11px 15px;font:700 12px var(--sans);cursor:not-allowed;opacity:.7}.setup-note{color:#96643e;font:12px/1.45 var(--sans);margin:9px 0 0}.privacy{margin:13px 0 0;color:var(--sub);font:12px/1.6 var(--sans)}.privacy a{text-underline-offset:3px}.nl-feedback{font:12px/1.5 var(--sans);color:#a04535;margin:5px 0 0}.newsletter [hidden]{display:none!important}.quote{padding:43px 0 39px;display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.quote p{margin:0;max-width:560px;font:italic 400 22px/1.45 var(--serif)}.quote div{display:flex;flex-direction:column;gap:5px;min-width:170px;align-self:end;color:var(--sub);font:12px/1.5 var(--sans)}.quote div span:first-child{color:var(--ink);font-weight:700}.foot{padding:25px 0 45px;display:flex;justify-content:space-between;gap:30px;align-items:start}.foot-name{font:400 23px var(--serif);margin:0}.foot p:not(.foot-name){color:var(--sub);font-size:12px;margin:6px 0 0}.foot-links{display:flex;flex-wrap:wrap;gap:12px 22px}.foot-links a{color:var(--gold);font:700 12px var(--sans);text-decoration:none}.foot-links a:hover{text-decoration:underline}.ml-embedded{min-height:70px}/* MailerLite's generated form is never restyled at the cost of breaking opt-in mechanics. */@media(max-width:760px){.wrap{width:min(100% - 34px,600px)}.head-inner{min-height:67px}.head-actions{gap:12px}.header-link{display:none}.hero{grid-template-columns:minmax(0,1fr) minmax(0,185px);gap:24px;padding:38px 0}.hero h1{font-size:48px}.hero-desc{font-size:14px}.hero-figure img{border-width:5px}.links-section{padding:37px 0}.newsletter{grid-template-columns:1fr;padding:28px;gap:18px}.quote{flex-direction:column;gap:14px}.quote div{align-self:start}.foot{align-items:start}}@media(max-width:560px){.hero{grid-template-columns:1fr;gap:27px}.hero h1{font-size:48px}.hero-figure{width:min(100%,290px)}.hero-figure img{aspect-ratio:5/4;object-position:center 43%}.link-grid{grid-template-columns:1fr}.link-card{padding:18px 19px}.link-card h3{font-size:21px}.section-side{display:none}.newsletter{padding:22px 18px}.nl-form-shell{padding:17px 14px}.newsletter h2{font-size:29px}.sample-form{flex-direction:column}.sample-form button{width:100%}.quote p{font-size:20px}.foot{flex-direction:column}.header-link{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* The two original, user-supplied photographs are kept as local JPG files. */
.hero-figure img { aspect-ratio:3/4; object-fit:contain; background:#171717; }
.piano-banner { margin:34px auto 0; max-width:100%; padding:0; }
.piano-banner img { display:block; width:100%; height:auto; border:1px solid var(--line); }
.mailer-locale[hidden], #mailer-live[hidden], #mailer-pending[hidden]{display:none!important;}
@media(max-width:640px){.piano-banner{margin-top:24px}}

/* Embedded form notice: translated shell, EN MailerLite form until German form is created */
.mailer-language-note{font:12px/1.55 var(--sans);color:var(--sub);margin:12px 0 0;}
.mailer-language-note[hidden]{display:none!important;}

/* DE/EN MailerLite: only the selected language is visible */
.mailer-locale[hidden]{display:none!important;}
/* Prevent block-level margin collapse when a MailerLite form loads */
.mailer-locale{width:100%;min-width:0;}

/* Keep the original portrait proportion and prevent image height attribute from stretching its frame. */
.hero-figure img{height:auto;aspect-ratio:3/4;object-fit:contain;}
@media(max-width:560px){.hero-figure img{height:auto;aspect-ratio:3/4;}}

/* V5 — elegantly typeset, bilingual original press quotations. */
.link-card--wide{grid-column:1/-1;align-items:center;background:#fdfbf8}
.reviews{padding:8px 0 48px}
.reviews .section-title{margin-bottom:18px}
.reviews-more{color:var(--gold);font:700 12px/1.5 var(--sans);text-decoration:none;white-space:nowrap}
.reviews-more:hover,.review-source a:hover{text-decoration:underline;text-underline-offset:3px}
.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.review-card{padding:25px 25px 22px;background:#fffdfb;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-width:0}
.review-card blockquote{margin:0;padding:0}
.review-card blockquote p{margin:0;font:italic 400 18px/1.62 var(--serif);letter-spacing:-.012em;color:var(--ink)}
.review-source{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:5px;font:12px/1.65 var(--sans);color:var(--sub)}
.review-source strong{font-weight:700;color:var(--ink)}
.review-source a{color:var(--gold);text-decoration:none;font-weight:700}
.review-card [hidden]{display:none!important}
@media(max-width:670px){.review-grid{grid-template-columns:1fr}.reviews{padding-bottom:35px}.review-card{padding:21px}.review-card blockquote p{font-size:17px}.reviews-more{white-space:normal;text-align:right}}
