@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url("assets/fonts/font-0.ttf") format("truetype")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/font-1.ttf") format("truetype")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/font-2.ttf") format("truetype")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/font-3.ttf") format("truetype")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/font-4.ttf") format("truetype")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/font-5.ttf") format("truetype")}

:root{--charcoal:#171919;--ivory:#f1f0e9;--white:#f8f8f4;--iron:#555a57;--felt:#a5412d;--felt-dark:#7d2f21;--brass:#9a7b44;--soundboard:#dad6c8;--line:#b9b6aa;--max:1500px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ivory)}
body{margin:0;overflow-x:hidden;color:var(--charcoal);background:var(--ivory);font-family:"IBM Plex Sans",sans-serif;font-size:17px;line-height:1.62;text-rendering:optimizeLegibility}
img{display:block;width:100%;height:auto}
a{color:inherit;text-underline-offset:.22em}
a:focus-visible{outline:3px solid var(--felt);outline-offset:4px}
h1,h2,h3,p{overflow-wrap:break-word}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;letter-spacing:-.025em}
.skip-link{position:fixed;top:8px;left:12px;z-index:30;padding:10px 16px;background:var(--white);color:var(--charcoal);transform:translateY(-160%)}
.skip-link:focus{transform:none}
.site-header{height:76px;display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:32px;padding:0 max(28px,calc((100vw - var(--max))/2));background:var(--charcoal);color:var(--white)}
.brand{display:flex;align-items:baseline;gap:.45rem;width:max-content;text-decoration:none;line-height:1}
.brand span{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.42rem;font-weight:600}
.brand small{font-size:.75rem;color:#d0cec4;letter-spacing:.04em}
nav{display:flex;gap:clamp(20px,3vw,46px);white-space:nowrap}
nav a{font-size:.78rem;font-weight:500;text-decoration:none;color:#e4e3dc}
nav a:hover,nav a[aria-current="page"]{color:#f6c4b6}
.header-phone{justify-self:end;font-size:.84rem;font-weight:600;white-space:nowrap;text-decoration:none}
.header-phone span{color:#c8c6bb;font-weight:400;margin-right:.25rem}
.hero{min-height:min(740px,calc(100dvh - 76px));display:grid;grid-template-columns:minmax(430px,42%) 1fr;max-width:1920px;margin:0 auto;background:var(--ivory)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(58px,7vw,112px) clamp(34px,5.3vw,86px)}
.hero-brand{margin:0 0 28px;color:var(--felt-dark);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
h1{max-width:14ch;margin:0;font-size:clamp(3.65rem,4.6vw,4.9rem);line-height:.92}
.hero-intro{max-width:33rem;margin:30px 0 0;color:#414643;font-size:clamp(1.02rem,1.4vw,1.2rem);line-height:1.52}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:36px}
.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:12px 19px;border:2px solid transparent;border-radius:0;font-size:.84rem;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;transition:transform .22s cubic-bezier(.16,1,.3,1),background-color .22s ease,color .22s ease,border-color .22s ease}
.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}
.button-primary{background:var(--felt-dark);color:var(--white)}.button-primary:hover{background:#632419}
.button-light{background:var(--white);color:var(--charcoal)}.button-light:hover{background:#deddd5}
.button-outline{border-color:var(--charcoal);color:var(--charcoal)}.button-outline:hover{background:var(--charcoal);color:var(--white)}
.text-link,.email-link{font-weight:600;color:var(--felt-dark)}
.hero-image{min-height:620px;overflow:hidden;background:#6a5547}
.hero-image img{height:100%;object-fit:cover;object-position:46% 50%;filter:saturate(.83) contrast(1.04)}
.proof-line{display:grid;grid-template-columns:repeat(4,1fr);max-width:var(--max);margin:0 auto;padding:0 28px;background:var(--charcoal);color:var(--white)}
.proof-line p{display:flex;min-height:130px;align-items:center;gap:16px;margin:0;padding:24px 30px;border-left:1px solid #414442}
.proof-line p:last-child{border-right:1px solid #414442}
.proof-line strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:2rem;color:#f0c0ae;line-height:1}
.proof-line span{max-width:16ch;color:#d5d5ce;font-size:.76rem;line-height:1.4}
.service-action{padding:clamp(94px,10vw,160px) max(28px,calc((100vw - var(--max))/2));background:var(--white)}
.action-intro{max-width:850px;margin-bottom:64px}
.action-intro h2,.technician h2,.storage h2,.inventory-preview h2,.contact h2,.steingraeber-story h2,.historic-inventory h2,.gallery-visit h2{margin:0;font-size:clamp(3rem,5vw,5.1rem);line-height:.96}
.action-intro p{max-width:62ch;margin:24px 0 0;color:var(--iron)}
.action-register{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(235px,auto);background:var(--charcoal);color:var(--white)}
.voice{display:flex;flex-direction:column;justify-content:flex-end;min-width:0;padding:34px;border-right:1px solid #3d403e;border-bottom:1px solid #3d403e}
.voice h3{margin:0;font-size:clamp(1.7rem,2.3vw,2.55rem);line-height:1}
.voice p{max-width:48ch;margin:14px 0 0;color:#c8cac6;font-size:.86rem;line-height:1.55}
.voice-wide{grid-column:span 8}.voice-mid{grid-column:span 4}.voice-narrow{grid-column:span 4;background:#242120}.voice-deep{grid-column:span 4;background:#222725}.voice:nth-of-type(5),.voice:nth-of-type(6){grid-column:span 6}.voice-image{grid-column:span 4;margin:0;overflow:hidden}.voice-image img{height:100%;object-fit:cover;object-position:50% 48%;filter:saturate(.65) contrast(1.12)}
.technician{display:grid;grid-template-columns:minmax(320px,.68fr) minmax(0,1.32fr);gap:clamp(58px,9vw,150px);align-items:center;width:min(calc(100% - 64px),1300px);margin:0 auto;padding:clamp(100px,12vw,185px) 0}
.technician-image{position:relative}.technician-image:after{content:"";position:absolute;inset:18px -14px -14px 18px;border:1px solid var(--felt);pointer-events:none}
.technician-image img{aspect-ratio:3/4;object-fit:cover;object-position:center 30%;filter:saturate(.75) contrast(1.04)}
.technician-copy>p{max-width:62ch;margin:26px 0 0;color:var(--iron)}
.credentials{margin:42px 0 0;border-top:1px solid var(--line)}
.credentials div{display:grid;grid-template-columns:180px 1fr;gap:22px;padding:16px 0;border-bottom:1px solid var(--line)}
.credentials dt{font-size:.8rem;font-weight:600;color:var(--felt-dark)}.credentials dd{margin:0;font-size:.86rem}
.storage{display:grid;grid-template-columns:1.18fr .82fr;min-height:680px;background:var(--charcoal);color:var(--white)}
.storage-image{overflow:hidden}.storage-image img{height:100%;object-fit:cover;object-position:center;filter:saturate(.72) contrast(1.06)}
.storage-copy{align-self:center;padding:clamp(60px,7vw,118px)}
.storage h2{max-width:10ch}.storage-copy>p{max-width:48ch;margin:26px 0 0;color:#d0d1cc}
.storage-rate{padding:24px 0 4px}.storage-rate strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.7rem;color:#f1b39d}
.storage .button{margin-top:32px}
.inventory-preview{display:grid;grid-template-columns:minmax(330px,.66fr) minmax(0,1.34fr);gap:clamp(52px,8vw,130px);align-items:center;padding:clamp(100px,11vw,170px) max(28px,calc((100vw - var(--max))/2));background:var(--soundboard)}
.inventory-copy p{max-width:45ch;margin:25px 0 32px;color:#4a4f4c}
.inventory-pair{display:grid;grid-template-columns:.82fr 1.18fr;gap:18px;align-items:end}
.inventory-pair figure{margin:0}.inventory-pair img{width:100%;height:420px;object-fit:cover;filter:saturate(.82)}
.inventory-pair figure:first-child img{height:330px}.inventory-pair figcaption{padding:13px 0 0;font-size:.74rem;font-weight:500}
.contact{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:clamp(60px,9vw,150px);padding:clamp(100px,11vw,165px) max(28px,calc((100vw - var(--max))/2));background:var(--ivory)}
.contact-main>p{max-width:57ch;margin:26px 0 0;color:var(--iron)}
.contact-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:36px}.email-link{overflow-wrap:anywhere}
.contact-details{padding:32px;border-top:5px solid var(--felt);background:var(--white)}
.contact-details h3{margin:0 0 20px;font-size:1.8rem}.contact-details address{font-style:normal;font-weight:600}.contact-details>p{color:var(--iron);font-size:.85rem}
.contact-details dl{margin:22px 0}.contact-details dl div{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:9px 0;border-top:1px solid var(--line);font-size:.78rem}.contact-details dd{margin:0;text-align:right}.contact-details>a{font-size:.82rem;font-weight:600;color:var(--felt-dark)}
footer{display:grid;grid-template-columns:.7fr 1.3fr 1fr;gap:50px;padding:46px max(28px,calc((100vw - var(--max))/2));background:var(--charcoal);color:#c6c7c1;font-size:.77rem}
footer p{margin:0}footer a{color:var(--white)}footer p:last-child{text-align:right}
.footer-brand strong{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.6rem;color:var(--white);line-height:1}.footer-brand span{font-size:.75rem}

.inventory-hero{display:grid;grid-template-columns:1.7fr 1fr;min-height:min(760px,calc(100dvh - 76px));background:var(--ivory)}
.inventory-hero-media{overflow:hidden}.inventory-hero-media img{height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.78) contrast(1.04)}
.inventory-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,4.5vw,72px)}
.inventory-hero-copy h1{max-width:none;font-size:clamp(3.35rem,4.35vw,4.65rem);overflow-wrap:normal;word-break:normal}.inventory-hero-copy h1 span{display:block}.inventory-hero-copy>p:not(.hero-brand){max-width:33rem;margin:28px 0 0;color:var(--iron)}
.steingraeber-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:clamp(70px,10vw,170px);align-items:center;width:min(calc(100% - 64px),1250px);margin:0 auto;padding:clamp(100px,12vw,185px) 0}
.steingraeber-story>div p{max-width:60ch;margin:26px 0 0;color:var(--iron)}.steingraeber-story figure{margin:0}.steingraeber-story img{aspect-ratio:2/3;object-fit:cover;filter:saturate(.8)}
.historic-inventory{padding:clamp(100px,10vw,160px) max(28px,calc((100vw - var(--max))/2));background:var(--white)}
.historic-heading{max-width:860px;margin-bottom:72px}.historic-heading p{max-width:62ch;margin:24px 0 0;color:var(--iron)}
.piano-ledger{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.piano-entry{display:grid;grid-template-rows:auto 1fr;background:var(--ivory)}.piano-entry figure{margin:0;overflow:hidden}.piano-entry img{height:100%;min-height:250px;object-fit:cover;filter:saturate(.82)}.piano-entry>div{padding:30px}.piano-entry h3{margin:5px 0 0;font-size:2rem;line-height:1}.piano-entry>div>p:not(.piano-year):not(.finish):not(.price){color:var(--iron);font-size:.85rem}
.entry-wide{grid-column:span 7}.entry-tall{grid-column:span 5}.entry-feature{grid-column:span 12;grid-template-columns:.82fr 1.18fr;grid-template-rows:none}.entry-feature>div{display:flex;flex-direction:column;justify-content:center}.entry-standard{grid-column:span 6}
.entry-wide figure,.entry-tall figure{height:390px}.entry-feature figure{height:360px;min-height:0}.entry-standard figure{height:330px}
.piano-year{margin:0;color:var(--felt-dark);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.finish{margin:9px 0 0;font-size:.76rem;font-weight:600}.price{margin:24px 0 0;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.6rem;font-weight:600;color:var(--felt-dark)}
.gallery-visit{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(60px,10vw,160px);padding:clamp(100px,11vw,160px) max(28px,calc((100vw - var(--max))/2));background:var(--felt-dark);color:var(--white)}
.gallery-visit>div>p{max-width:57ch;margin:26px 0 0;color:#f0dcd4}.light-link{color:var(--white)}.visit-address{align-self:end;padding-top:26px;border-top:1px solid #bb7868}.visit-address h3{margin:0 0 18px;font-size:1.8rem}.visit-address address{margin-bottom:20px;font-style:normal}.visit-address a{font-weight:600}

@media(max-width:1100px){
.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.header-phone{grid-column:2}.hero{grid-template-columns:46% 54%}.proof-line{grid-template-columns:repeat(2,1fr)}.proof-line p:nth-child(2){border-right:1px solid #414442}.action-register{grid-template-columns:1fr 1fr}.voice-wide,.voice-mid,.voice-narrow,.voice-deep,.voice:nth-of-type(5),.voice:nth-of-type(6),.voice-image{grid-column:span 1}.voice:last-child{grid-column:span 2}.storage{grid-template-columns:1fr 1fr}.inventory-preview{grid-template-columns:.78fr 1.22fr}.inventory-hero{grid-template-columns:1.08fr .92fr}
}
@media(max-width:760px){
body{font-size:16px}.site-header{height:72px;padding:0 18px;gap:12px}.brand{display:block}.brand span,.brand small{display:block}.brand span{font-size:1.12rem}.brand small{font-size:.75rem;margin-top:4px}.header-phone{font-size:.78rem}.header-phone span{display:none}
.hero{min-height:0;display:flex;flex-direction:column}.hero-copy{padding:58px 20px 54px}.hero-brand{margin-bottom:22px}h1{max-width:14ch;font-size:clamp(3rem,13.5vw,3.35rem);line-height:.94}.hero-intro{margin-top:24px;font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px;margin-top:30px}.hero-image{min-height:0;height:390px}.hero-image img{object-position:53% 50%}
.proof-line{grid-template-columns:1fr 1fr;padding:0}.proof-line p{min-height:116px;padding:20px 16px;gap:10px}.proof-line strong{font-size:1.55rem}.proof-line span{font-size:.75rem}.proof-line p:nth-child(odd){border-left:0}
.service-action{padding:78px 20px}.action-intro{margin-bottom:42px}.action-intro h2,.technician h2,.storage h2,.inventory-preview h2,.contact h2,.steingraeber-story h2,.historic-inventory h2,.gallery-visit h2{font-size:clamp(2.7rem,13vw,3.8rem);line-height:.98}.action-register{display:block}.voice{min-height:205px;padding:28px 24px;border-right:0}.voice-image{height:320px}.voice-image img{object-position:center}.voice h3{font-size:2rem}
.technician{width:auto;display:flex;flex-direction:column;padding:84px 20px;gap:52px;align-items:stretch}.technician-image{width:86%;align-self:flex-end}.technician-copy>p{margin-top:22px}.credentials div{grid-template-columns:1fr;gap:5px}.credentials dd{max-width:100%}
.storage{display:flex;flex-direction:column}.storage-image{height:350px}.storage-copy{padding:64px 20px 72px}.storage h2{max-width:11ch}.storage-rate strong{font-size:1.45rem}
.inventory-preview{display:flex;flex-direction:column;padding:80px 20px;gap:52px;align-items:stretch}.inventory-pair{grid-template-columns:1fr 1fr;gap:10px}.inventory-pair img,.inventory-pair figure:first-child img{height:230px}.inventory-pair figcaption{font-size:.75rem}
.contact{display:flex;flex-direction:column;padding:84px 20px;gap:62px}.contact-actions{align-items:flex-start;flex-direction:column;gap:18px}.contact-details{padding:26px 22px}.contact-details dl div{grid-template-columns:1fr;gap:2px}.contact-details dd{text-align:left}
footer{grid-template-columns:1fr;gap:24px;padding:42px 20px}footer p:last-child{text-align:left}
.inventory-hero{min-height:0;display:flex;flex-direction:column}.inventory-hero-media{height:390px;order:2}.inventory-hero-copy{padding:58px 20px}.inventory-hero-copy h1{font-size:clamp(3rem,13vw,3.45rem)}
.steingraeber-story{width:auto;display:flex;flex-direction:column;padding:84px 20px;gap:52px}.steingraeber-story figure{width:80%;align-self:flex-end}
.historic-inventory{padding:84px 20px}.historic-heading{margin-bottom:46px}.piano-ledger{display:block}.piano-entry{margin-bottom:16px}.entry-feature{display:grid;grid-template-columns:1fr}.piano-entry figure,.entry-wide figure,.entry-tall figure,.entry-feature figure,.entry-standard figure{height:280px;min-height:0}.piano-entry>div{padding:26px 22px}.piano-entry h3{font-size:1.8rem}
.gallery-visit{display:flex;flex-direction:column;padding:84px 20px;gap:62px}
}
@media(max-width:390px){.header-phone{font-size:.72rem}.proof-line p{padding-inline:13px}.proof-line strong{font-size:1.4rem}.button{max-width:100%;font-size:.8rem}.inventory-pair{grid-template-columns:1fr}.inventory-pair img,.inventory-pair figure:first-child img{height:280px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
