@font-face{font-display:swap;font-family:Reel;font-style:normal;font-weight:900;src:url(/_astro/reel-tall-black.BfzE4mDz.ttf)format("truetype")}@font-face{font-display:swap;font-family:"Source Serif 4";font-style:normal;font-weight:200 900;src:url(/_astro/SourceSerif4-VariableFont_opsz_wght.Di1b1OZ9.ttf)format("truetype")}@font-face{font-display:swap;font-family:"Source Serif 4";font-style:italic;font-weight:200 900;src:url(/_astro/SourceSerif4-Italic-VariableFont_opsz_wght.BImhTKGi.ttf)format("truetype")}@layer reset{*,:before,:after{box-sizing:border-box}html{text-size-adjust:100%}body,h1,h2,h3,p,dl,dd{margin:0}button,input,select,textarea{color:inherit;font:inherit}button{cursor:pointer;background:0 0;border:0}a{color:inherit}}@layer tokens{:root{--color-background:#f4f1e8;--color-surface:#fffdf8;--color-foreground:#1d1d1b;--color-muted:#66624c;--color-accent:#b2ac88;--color-accent-soft:#dedac4;--color-line:#1d1d1b38;--color-error:#8f2c22;--color-success:#355d3b;--space-page:clamp(1rem, 3vw, 2.75rem);--font-display:"Reel", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;--font-copy:"Source Serif 4", Georgia, "Times New Roman", serif;--font-editorial:"Source Serif 4", Georgia, "Times New Roman", serif;--ease-out:cubic-bezier(.16, 1, .3, 1)}}@layer base{html{background:var(--color-background);color:var(--color-foreground);font-family:var(--font-copy);scroll-behavior:smooth;scrollbar-width:none}body{scrollbar-width:none;min-width:20rem}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}h1,h2,h3{font-family:var(--font-display);font-weight:900}body.intro-active{overflow:hidden}[hidden]{display:none!important}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline-offset:4px;outline:2px solid}::selection{background:var(--color-accent);color:var(--color-foreground)}}@layer intro{.intro-shell{animation:intro-fallback .5s var(--ease-out) 2.7s forwards;background:var(--color-background);color:var(--color-foreground);padding:var(--space-page);pointer-events:none;z-index:100;place-items:center;display:grid;position:fixed;inset:0}.js .intro-shell--active{pointer-events:auto;animation:none}.intro-seen .intro-shell{display:none}.intro-shell--leaving{animation:intro-leave .5s var(--ease-out) forwards!important;pointer-events:none!important}.intro-stage{transform:translateY(clamp(-3rem,-4svh,-1.75rem))}.intro-logo{transform-origin:50%;will-change:opacity, transform;width:auto;height:clamp(5.5rem,10vw,8rem);animation:1.8s ease-in-out infinite intro-logo-pulse;display:block}}@layer hero{.piano-page{min-height:100svh;position:relative;overflow-x:hidden}.piano-header{z-index:20;position:absolute;top:50px;left:50%;transform:translate(-50%)}.piano-wordmark{text-decoration:none;display:block}.piano-wordmark__image{width:auto;height:7rem;display:block}.piano-note{pointer-events:none;transform-origin:50% 0;z-index:12;width:clamp(1.6rem,2.2vw,2.8rem);animation:5.5s ease-in-out infinite piano-note-swing;position:absolute;top:0;left:calc(66.667vw + clamp(.75rem,1.7vw,2rem))}.piano-note__image{width:100%;height:auto;display:block;transform:rotate(180deg)}.piano-note__particle{color:#d6ac45;font-family:var(--font-editorial);opacity:0;will-change:opacity, transform;font-size:clamp(1.15rem,1.45vw,1.55rem);line-height:1;animation:6.4s ease-in-out infinite piano-note-particle;position:absolute;top:83%;left:50%}.piano-note__particle:first-of-type{--particle-x:-3.2rem;--particle-y:-1.8rem;--particle-rotation:-18deg}.piano-note__particle:nth-of-type(2){--particle-x:3rem;--particle-y:-2.6rem;--particle-rotation:16deg;font-size:clamp(1.35rem,1.75vw,1.85rem);animation-delay:-2.13s}.piano-note__particle:nth-of-type(3){--particle-x:2.4rem;--particle-y:1.35rem;--particle-rotation:24deg;font-size:clamp(1rem,1.25vw,1.35rem);animation-delay:-4.26s}.piano-stage{isolation:isolate;min-height:100svh;padding:clamp(13.2rem, 22.8svh, 16.8rem) var(--space-page) clamp(7rem, 11svh, 9rem);flex-direction:column;align-items:center;display:flex;position:relative}.piano-keyboard{--key-gap:clamp(.3rem, .42vw, .375rem);--inlay-gap:clamp(.2rem, .28vw, .25rem);--white-key-width:clamp(3.6rem, 4.86vw, 4.375rem);--black-key-width:clamp(3rem, 4.03vw, 3.625rem);--black-key-length:66.36%;--key-cut-size:calc((var(--black-key-width) / 2) + var(--inlay-gap) - (var(--key-gap) / 2));height:clamp(17.5rem,38.5svh,27.125rem);width:calc((7 * var(--white-key-width)) + (6 * var(--key-gap)));z-index:4;flex:none;position:relative}.piano-key{transition:background .22s ease, color .22s ease, transform .26s var(--ease-out);border:0;border-radius:0;position:absolute;top:0}.piano-key--white{--key-cut-left:0px;--key-cut-right:0px;background:var(--color-surface);clip-path:polygon(var(--key-cut-left) 0, calc(100% - var(--key-cut-right)) 0, calc(100% - var(--key-cut-right)) calc(var(--black-key-length) + var(--inlay-gap)), 100% calc(var(--black-key-length) + var(--inlay-gap)), 100% 100%, 0 100%, 0 calc(var(--black-key-length) + var(--inlay-gap)), var(--key-cut-left) calc(var(--black-key-length) + var(--inlay-gap)));height:100%;left:calc(var(--layout-index) * (var(--white-key-width) + var(--key-gap)));width:var(--white-key-width);z-index:1}.piano-key--joins-left{--key-cut-left:var(--key-cut-size)}.piano-key--joins-right{--key-cut-right:var(--key-cut-size)}.piano-key--black{background:var(--color-foreground);color:var(--color-background);height:var(--black-key-length);left:calc(var(--layout-index) * (var(--white-key-width) + var(--key-gap)) - (var(--key-gap) / 2) - (var(--black-key-width) / 2));width:var(--black-key-width);z-index:3}.piano-key--black.is-phantom-active{color:var(--color-foreground);background:#d6ac45}.piano-key__label{font-family:var(--font-editorial);letter-spacing:.1em;pointer-events:none;text-transform:uppercase;white-space:nowrap;writing-mode:vertical-rl;font-size:clamp(.7rem,.9vw,.85rem);line-height:1;position:absolute;bottom:clamp(.75rem,1.15vw,1.1rem);left:50%;transform:translate(-50%)rotate(180deg)}.piano-key__label-char{opacity:1}.js .piano-key__label-char{opacity:0}.piano-cta{font-family:var(--font-display);letter-spacing:.01em;opacity:0;pointer-events:none;text-transform:uppercase;white-space:nowrap;z-index:5;font-size:clamp(2.16rem,3.68vw,4.8rem);font-weight:900;line-height:.88;position:absolute;top:calc(100% + clamp(2.75rem,6svh,5rem));left:50%;transform:translate(-50%)}.piano-key--white:hover,.piano-key--white:focus-visible{background:var(--color-accent-soft)}.piano-key--black:hover,.piano-key--black:focus-visible{background:#343431}.piano-key:focus-visible{outline-offset:-.45rem}.piano-key.is-active{color:var(--color-foreground);background:#d6ac45;transform:translateY(.7rem)}.piano-key--black.is-active{transform:none}.piano-readout{z-index:2;flex:none;width:min(100%,62rem);min-height:1px;padding-top:clamp(2.75rem,6svh,5rem);position:relative}.piano-panel{position:relative}.piano-panel__inner{text-align:center;justify-items:center;gap:clamp(1.1rem,2.4vh,2rem);display:grid}.typewriter-visual,.typewriter-char{display:inline}.piano-panel__links{letter-spacing:.12em;text-transform:uppercase;font-size:clamp(.58rem,.72vw,.72rem)}.piano-panel h2{letter-spacing:.01em;overflow-wrap:anywhere;text-transform:uppercase;font-size:clamp(2.16rem,3.68vw,4.8rem);line-height:.88}.piano-panel__copy,.piano-panel__facts{font-family:var(--font-editorial);font-size:clamp(.84rem,1.16vw,1.2rem);font-weight:300;line-height:1.25}.piano-panel__copy{gap:.85rem;max-width:32rem;display:grid}.piano-panel__facts{width:100%}.piano-panel__facts dt,.piano-panel__facts dd{font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-transform:none}.piano-panel__facts>div{justify-items:center;gap:.35rem;padding-block:.8rem;display:grid}.piano-panel__facts dd{white-space:pre-line;max-width:32rem}.piano-panel__links{flex-wrap:wrap;gap:.6rem 1.25rem;display:flex}.piano-panel__links a{border-bottom:1px solid;padding-bottom:.25rem;text-decoration:none}.piano-footer{right:var(--space-page);z-index:20;position:fixed;top:50%;transform:translateY(-50%)}.piano-footer nav{flex-direction:column;justify-content:center;align-items:flex-end;gap:clamp(1.25rem,2.5vw,2.5rem);display:flex}.piano-footer a{font-family:var(--font-editorial);letter-spacing:.08em;white-space:nowrap;writing-mode:vertical-rl;font-size:clamp(.75rem,.9vw,.95rem);text-decoration:none;transform:rotate(180deg)}}@layer dialog{.content-dialog{background:0 0;border:0;width:min(54rem,100%);max-width:min(54rem,100%);height:100%;max-height:none;margin:0 0 0 auto;padding:0;overflow:visible}.content-dialog::backdrop{backdrop-filter:blur(8px);background:#1414117a;animation:.3s both backdrop-in}.dialog-frame{animation:dialog-in .52s var(--ease-out) both;background:var(--dialog-background,var(--color-background));color:var(--dialog-foreground,var(--color-foreground));height:100%;padding:var(--space-page);grid-template-rows:auto 1fr;display:grid;overflow-y:auto}.content-dialog--accent{--dialog-background:var(--color-accent);--dialog-foreground:#1d1d1b}.content-dialog--light{--dialog-background:#f4f1e8;--dialog-foreground:#1d1d1b}.content-dialog--dark{--dialog-background:#1d1d1b;--dialog-foreground:#f4f1e8}.dialog-header{letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid;justify-content:space-between;align-items:center;min-height:3.5rem;font-size:.66rem;display:flex}.dialog-close{text-transform:uppercase;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.dialog-close span:last-child{font-size:1.5rem;font-weight:300;line-height:.7}.dialog-content{grid-template-rows:auto 1fr;gap:clamp(2rem,6vh,5rem);padding-block:clamp(3rem,8vh,6rem) 2rem;display:grid}.dialog-content h2{font-family:var(--font-display);letter-spacing:.01em;text-transform:uppercase;font-size:clamp(4rem,9vw,8rem);font-weight:900;line-height:.9}.dialog-body{align-content:start;gap:clamp(2rem,5vh,4rem);display:grid}.content-grid{grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.content-card{border-block:1px solid;padding:1.5rem 1.5rem 1.5rem 0}.content-card+.content-card{border-left:1px solid;padding-left:1.5rem}.content-card h3,.fact-list dt{letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem;font-size:.7rem}.content-card p,.dialog-lead,.contact-intro>p{font-family:var(--font-editorial);font-size:clamp(1.35rem,2.6vw,2.1rem);line-height:1.2}.text-link{letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid;justify-self:start;padding:.75rem 0;font-size:.72rem}.fact-list{border-top:1px solid}.fact-list>div{border-bottom:1px solid;grid-template-columns:9rem 1fr;gap:2rem;padding-block:1.1rem;display:grid}.fact-list dt{margin:0}.fact-list dd{line-height:1.5}.price-stack{font-family:var(--font-editorial);letter-spacing:-.06em;gap:.2em;font-size:clamp(2.4rem,7vw,6rem);line-height:.95;display:grid}.price-stack p:last-child{color:var(--color-accent);font-style:italic}.contact-intro{grid-template-columns:1.2fr .8fr;gap:2rem;display:grid}.contact-direct{letter-spacing:.08em;text-transform:uppercase;align-content:end;gap:.5rem;font-size:.72rem;display:grid}.legal-links{border-top:1px solid var(--color-line);letter-spacing:.08em;text-transform:uppercase;gap:1.5rem;padding-top:1rem;font-size:.7rem;display:flex}}@layer form{.contact-form{text-align:center;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4.5svh,3.5rem) clamp(2rem,5vw,5rem);width:100%;max-width:46rem;margin-top:clamp(.75rem,2svh,1.5rem);display:grid}.form-field{justify-items:center;gap:.4rem;display:grid}.form-field--message,.form-privacy,.form-actions{grid-column:1/-1}.form-field label{font-family:var(--font-editorial);letter-spacing:0;font-size:clamp(.9rem,1.16vw,1.2rem);font-weight:500;transition:color .18s}.form-field input,.form-field textarea{color:var(--color-foreground);font-family:var(--font-editorial);text-align:center;background:0 0;border:0;border-radius:0;width:100%;min-height:2.25rem;padding:.2rem 0 .45rem;font-size:clamp(.88rem,1.08vw,1.1rem);font-weight:300;line-height:1.3}.form-field input::placeholder,.form-field textarea::placeholder{color:#1d1d1b7a;opacity:1}.form-field input:-webkit-autofill,.form-field input:-webkit-autofill:hover,.form-field input:-webkit-autofill:focus{box-shadow:0 0 0 1000px var(--color-background) inset;caret-color:var(--color-foreground);-webkit-text-fill-color:var(--color-foreground)}.form-field input:autofill{box-shadow:0 0 0 1000px var(--color-background) inset}.form-field input:focus,.form-field textarea:focus{box-shadow:none;outline:0}.form-field:focus-within label{color:#d6ac45}.form-field textarea{resize:vertical;min-height:8rem}.form-privacy{font-family:var(--font-editorial);text-align:center;justify-self:center;max-width:32rem;margin-top:calc(clamp(2rem,4.5svh,3.5rem)/-1.81818);font-size:clamp(.68rem,.82vw,.78rem);font-weight:300;line-height:1.4}.form-privacy a{text-decoration:none}.form-actions{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;margin-top:calc(clamp(2rem,4.5svh,3.5rem)/-2.22222);display:flex}.form-submit{color:var(--color-foreground);font-family:var(--font-editorial);flex:none;padding:.4rem 0;font-size:clamp(1rem,1.35vw,1.3rem);font-weight:500;transition:color .18s}.form-submit:hover,.form-submit:focus-visible{color:#d6ac45}.form-status{font-family:var(--font-editorial);font-size:.75rem;line-height:1.4}.form-status[data-state=error]{color:var(--color-error)}.form-status[data-state=success]{color:var(--color-success)}}@layer legal{.legal-page{max-width:68rem;min-height:100svh;padding:var(--space-page);margin-inline:auto}.legal-back{letter-spacing:.08em;text-transform:uppercase;margin-bottom:clamp(4rem,12vh,8rem);font-size:.7rem;text-decoration:none;display:inline-block}.legal-page h1{font-family:var(--font-display);letter-spacing:.01em;text-transform:uppercase;margin-block:1.5rem clamp(3rem,8vh,6rem);font-size:clamp(4rem,12vw,10rem);font-weight:900;line-height:.92}.legal-copy{font-family:var(--font-editorial);gap:2rem;max-width:48rem;font-size:clamp(1.25rem,2.5vw,2rem);line-height:1.35;display:grid}.legal-page--detail{text-align:center;align-content:start;justify-items:center;max-width:62rem;padding-block:clamp(6rem,14svh,10rem);display:grid;position:relative}.legal-page--detail .legal-back{left:var(--space-page);top:var(--space-page);margin:0;position:absolute}.legal-page--detail h1{letter-spacing:.01em;margin:0 0 clamp(3rem,7svh,5rem);font-size:clamp(2.16rem,3.68vw,4.8rem);line-height:.88}.legal-page--detail .legal-copy{justify-items:center;gap:clamp(2rem,5svh,3.5rem);width:100%;max-width:42rem;font-size:clamp(.84rem,1.16vw,1.2rem);font-weight:300;line-height:1.25}.legal-page--detail .legal-copy section{justify-items:center;gap:.65rem;display:grid}.legal-page--detail .legal-copy h2{font-family:var(--font-editorial);font-size:inherit;font-weight:600;line-height:inherit}.legal-page--detail .legal-copy address{font-style:normal}.legal-page--detail .legal-copy a{text-decoration:none}.legal-page--detail .legal-copy ul{gap:.65rem;margin:0;padding:0;list-style-position:inside;display:grid}}@layer responsive{@media (width<=760px){.piano-header{top:2.5rem}.piano-wordmark__image{height:4.48rem}.piano-note{width:1.45rem;left:auto;right:2.25rem}.piano-note__particle:first-of-type{--particle-x:-2.2rem}.piano-note__particle:nth-of-type(2){--particle-x:1.35rem}.piano-note__particle:nth-of-type(3){--particle-x:.9rem}.piano-stage{min-height:auto;padding:10.5rem clamp(.75rem,4vw,1.25rem) 7rem}.piano-keyboard{--key-gap:clamp(.2rem, 1vw, .25rem);--inlay-gap:clamp(.13rem, .65vw, .18rem);--white-key-width:clamp(2rem, 9vw, 2.25rem);--black-key-width:clamp(1.7rem, 7.5vw, 1.875rem);height:clamp(15.75rem,41.1svh,21rem)}.piano-readout{width:100%;min-height:1px;padding-top:clamp(2.25rem,6svh,3.5rem)}.piano-panel{padding-inline:clamp(.75rem,4vw,1.5rem)}.piano-cta,.legal-page--detail h1,.piano-panel h2{font-size:clamp(2.56rem,12.8vw,4.8rem)}.legal-page--detail{padding-block:7rem 5rem}.legal-page--detail .legal-back{left:var(--space-page);top:var(--space-page)}.legal-page--detail .legal-copy,.piano-panel__copy,.piano-panel__facts{font-size:clamp(.88rem,4.16vw,1.2rem)}.contact-form{grid-template-columns:1fr;gap:2.25rem;padding-inline:clamp(.25rem,3vw,.75rem)}.form-field,.form-field--message,.form-privacy,.form-actions{grid-column:1}.form-field label{font-size:clamp(.95rem,4.16vw,1.1rem)}.form-field input,.form-field textarea{font-size:clamp(.9rem,3.84vw,1rem)}.form-privacy,.form-actions{margin-top:-.75rem}.piano-footer{position:absolute;inset:auto auto 1.25rem 50%;transform:translate(-50%)}.piano-footer nav{flex-direction:row;align-items:center}.piano-footer a{writing-mode:horizontal-tb;transform:none}}@media (height<=700px) and (width>=761px){.piano-keyboard{height:clamp(14.875rem,37.6svh,18.375rem)}.piano-stage{padding-top:10.2rem}}}@layer motion{@keyframes piano-note-particle{0%{opacity:0;transform:translate(-50%,-50%)scale(.72)}22%{opacity:.8}48%{opacity:.62}80%{opacity:0;transform:translate(-50%, -50%) translate(var(--particle-x), var(--particle-y)) rotate(var(--particle-rotation)) scale(1.08)}to{opacity:0;transform:translate(-50%, -50%) translate(var(--particle-x), var(--particle-y)) rotate(var(--particle-rotation)) scale(1.08)}}@keyframes piano-note-swing{0%,to{transform:rotate(-2.75deg)}50%{transform:rotate(2.75deg)}}@keyframes intro-logo-pulse{0%,to{opacity:.72;transform:scale(.985)}50%{opacity:1;transform:scale(1.015)}}@keyframes intro-leave{to{opacity:0;visibility:hidden;transform:scale(1.025)}}@keyframes intro-fallback{to{opacity:0;visibility:hidden}}@keyframes dialog-in{0%{opacity:0;transform:translate(8%)}}@keyframes backdrop-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.intro-shell,.piano-note__particle{display:none}.piano-key__label{filter:none;opacity:1;transform:translate(-50%)rotate(180deg)}.piano-key__label-char{opacity:1!important}}}
