@font-face{font-family:Figtree;src:url('fonts/figtree.woff2') format('woff2');font-weight:300 900;font-display:swap}
:root{--ink:#10100e;--paper:#f5eee1;--gold:#e8c58a;--muted:#c3bcad;--line:#4b493f;--paper-line:#cec4b3;--ease:cubic-bezier(.22,1,.36,1);--t-fast:150ms;--t-base:240ms;font-family:Figtree,Arial,sans-serif;color:var(--paper);background:var(--ink);font-synthesis:none;scroll-behavior:smooth;scrollbar-color:var(--gold) var(--ink)}
*{box-sizing:border-box}body{margin:0}::selection{background:var(--gold);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary,label{transition:background-color var(--t-base) var(--ease),color var(--t-base) var(--ease),border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease),transform var(--t-base) var(--ease)}button,a,summary{-webkit-tap-highlight-color:transparent}a:active,button:active{transform:scale(.97);transition-duration:100ms}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.paper :focus-visible{outline-color:#80591f}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:450;letter-spacing:-.03em;text-wrap:balance}p{line-height:1.65}img{display:block;max-width:100%;object-fit:cover}section{scroll-margin-top:88px}h2{font-size:clamp(2.5rem,4.8vw,4.5rem);line-height:1.07}h3{font-size:1.6rem;line-height:1.2}.section-pad{padding:110px max(5vw,24px)}.paper{background:var(--paper);color:var(--ink)}.small-label{display:block;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}.button{display:inline-flex;min-height:56px;align-items:center;justify-content:space-between;gap:38px;padding:17px 23px;border:1px solid transparent;font-weight:550;font-size:.94rem;line-height:1.35}.button span,.text-link span,.nav-contact span{display:inline-block;transition:transform var(--t-base) var(--ease)}.button:hover span,.text-link:hover span,.nav-contact:hover span{transform:translate(3px,-3px)}.light{color:var(--ink);background:var(--paper)}.light:hover{background:var(--gold)}.outline{background:transparent;border-color:var(--line);color:var(--paper)}.outline:hover{border-color:var(--gold);color:var(--gold)}.text-link{display:inline-flex;align-items:center;gap:30px;min-height:48px;border-bottom:1px solid currentColor;font-size:1rem}.text-link:hover{color:var(--gold)}.skip{position:fixed;top:-100px;left:16px;padding:16px;background:var(--paper);color:var(--ink);z-index:20}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #34332c;background:var(--ink);position:relative;z-index:5}.wordmark{display:inline-flex;align-items:baseline;gap:9px;min-height:44px;font-size:2.1rem;font-weight:650;letter-spacing:-.03em;line-height:1.4}.brand-suffix{font-size:.69rem;letter-spacing:.24em;font-weight:500;color:var(--gold)}.site-header nav{display:flex;align-items:center;gap:30px;font-size:.85rem}.site-header nav a{min-height:44px;display:inline-flex;align-items:center}.site-header nav a:hover{color:var(--gold)}.nav-contact{margin-left:14px;gap:20px;border-bottom:1px solid var(--gold)}.menu-toggle{display:none}
.hero{padding:86px 5vw 0;min-height:calc(100dvh - 92px);display:grid;grid-template-columns:1.1fr 1fr;position:relative;isolation:isolate;overflow:hidden;column-gap:5vw}.hero-copy{position:relative;z-index:2;padding-bottom:80px}h1{font-size:clamp(4rem,7.05vw,6.5rem);line-height:.98;font-weight:450;letter-spacing:-.03em}.line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.035em}.line>span{display:block}.accent{color:var(--gold)}.hero-intro{font-size:1.08rem;line-height:1.7;margin:29px 0 28px;color:var(--muted)}.hero .button{margin-top:2px}.project-art{align-self:center;position:relative;min-width:0;height:490px;margin:-25px 20px 25px -5px}.art-perspective{perspective:1200px;height:100%;position:relative;transform:rotate(-5deg);transform-style:preserve-3d}.project-cover{position:absolute;inset:38px 0 0;transform:rotateY(-10deg);overflow:hidden;background:#25231d;box-shadow:20px 28px 50px #05050399;border:1px solid #736957}.project-cover img{width:100%;height:100%;object-position:68% 50%;filter:brightness(.72)}.cover-label{position:absolute;inset:24px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.cover-label>span{font-size:.65rem;letter-spacing:.16em}.cover-label strong{font-weight:400;font-size:clamp(2rem,3vw,3rem);line-height:1.03;letter-spacing:-.025em;text-shadow:0 2px 20px #10100e}.project-sheet{position:absolute;inset:10px 6px 34px;border:1px solid #b9a784;padding:20px;color:var(--ink);font-size:.63rem;letter-spacing:.16em}.sheet-back{background:#b7a27d;transform:rotate(7deg) translate(4px,-25px)}.sheet-middle{background:var(--gold);transform:rotate(3deg) translate(2px,-8px)}.project-sheet i{display:block;width:45%;height:1px;background:#5c4d36;margin-top:16px}.image-note{position:absolute;bottom:0;right:0;font-size:.66rem;letter-spacing:.02em;color:var(--muted)}.project-art>.image-note{bottom:-24px}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:26px 0;border-top:1px solid var(--line);font-size:.79rem;color:var(--muted)}.hero-foot a{min-height:44px;display:flex;align-items:center;gap:24px}.hero-foot a:hover{color:var(--gold)}
.section-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:10vw;align-items:end;margin-bottom:65px}.section-heading>p{max-width:39ch;font-size:1.03rem}.service{border-top:1px solid var(--paper-line)}.service:last-child{border-bottom:1px solid var(--paper-line)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.service summary{display:grid;grid-template-columns:1.15fr 1fr 22px;gap:24px;align-items:center;min-height:100px;padding:22px 0}.service summary>span:first-child{font-size:1.8rem;font-weight:450;letter-spacing:-.025em}.service-hint{font-size:.93rem;color:#665f53}.plus{display:block;width:18px;height:18px;position:relative}.plus:before,.plus:after{content:'';position:absolute;background:currentColor;left:0;top:8px;width:18px;height:1px;transition:transform var(--t-base) var(--ease)}.plus:after{transform:rotate(90deg)}details[open]>summary .plus:after{transform:rotate(0)}.service summary:hover{color:#80591f}.service-body{display:grid;grid-template-columns:1.15fr 1fr;gap:8vw;padding:2px 46px 38px 0;font-size:.96rem}.service-body p{max-width:55ch}.service-body .small-label{margin:2px 0 8px;color:#6b5e49}.service-body a{display:inline-flex;align-items:center;gap:20px;min-height:44px;border-bottom:1px solid #a9987b;margin-top:16px;font-weight:550}.service-body a:hover{color:#80591f}
.image-top{display:grid;grid-template-columns:1.2fr .8fr;gap:12vw;align-items:end;margin-bottom:55px}.image-top p{max-width:37ch;color:var(--muted)}.piano-scene{margin:0;position:relative;height:460px;overflow:hidden}.piano-scene img{width:100%;height:100%;object-position:center 57%;filter:brightness(.64)}.piano-scene figcaption{position:absolute;bottom:32px;left:36px;max-width:500px;font-size:clamp(1.5rem,2.7vw,2.6rem);line-height:1.15;letter-spacing:-.02em}.piano-scene .image-note{bottom:15px;right:18px;color:var(--paper)}.image-bottom{display:grid;grid-template-columns:1.2fr .8fr;gap:12vw;margin-top:42px}.image-bottom h3{font-size:2.3rem}.image-bottom p{color:var(--muted);font-size:.98rem}.image-bottom .text-link{margin-top:22px}.method-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:5vw}.method-steps li{border-top:1px solid #857c6c;padding-top:23px}.step-number{font-size:.8rem;display:block;font-variant-numeric:tabular-nums;margin-bottom:35px;color:#6b5e49}.method-steps h3{font-size:1.65rem;margin-bottom:15px}.method-steps p{font-size:.96rem;max-width:37ch}.method-note{display:flex;gap:30px;align-items:center;max-width:780px;margin-top:65px;font-size:.9rem;color:#665f53}.note-rule{height:1px;min-width:80px;background:#9c8c73}
.brief-section{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.brief-intro h2{font-size:clamp(2.5rem,4.1vw,4rem)}.brief-intro>p{margin:30px 0 18px;color:var(--muted);max-width:35ch}.contact-email{display:inline-flex;min-height:44px;align-items:center;border-bottom:1px solid var(--line);font-size:clamp(1rem,1.6vw,1.4rem);overflow-wrap:anywhere}.contact-email:hover{color:var(--gold)}fieldset{border:0;padding:0;margin:0 0 28px;min-width:0}legend{font-size:.94rem;margin-bottom:16px}.project-choices{display:flex;flex-wrap:wrap;gap:9px}.project-choices label{position:relative;display:flex;cursor:pointer}.project-choices input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.project-choices span{display:flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid #686151;font-size:.82rem;transition:background-color var(--t-base),color var(--t-base),border-color var(--t-base)}.project-choices input:checked+span{background:var(--gold);color:var(--ink);border-color:var(--gold)}.project-choices input:focus-visible+span{outline:3px solid var(--paper);outline-offset:3px}.project-choices label:hover span{border-color:var(--gold)}.field-label{display:block;font-size:.9rem;margin:24px 0 10px}.field-label span{color:var(--muted);font-size:.8rem}textarea,input[type=url]{display:block;width:100%;border:1px solid #686151;background:#1c1c17;color:var(--paper);padding:15px;line-height:1.5;border-radius:0;caret-color:var(--gold)}textarea{resize:vertical;min-height:130px}::placeholder{color:#b2ab9c;opacity:1}.field-help{color:var(--muted);font-size:.76rem;margin:8px 0 24px}.form-note{color:var(--muted);font-size:.76rem;margin-top:18px;max-width:60ch}#message-result{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}#message-result h3{font-size:1.5rem}#message-result>p{color:var(--muted);font-size:.85rem;margin-top:12px}#message-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.9rem;line-height:1.7;background:#1c1c17;padding:20px;border:1px solid var(--line)}.message-actions{display:flex;flex-wrap:wrap;gap:12px}.message-actions .button{font-size:.82rem;gap:18px}
.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.faq h2{font-size:clamp(2.5rem,3.6vw,3.5rem)}.faq details{border-bottom:1px solid var(--paper-line)}.faq details:first-child{border-top:1px solid var(--paper-line)}.faq summary{display:flex;gap:20px;align-items:center;justify-content:space-between;min-height:80px;padding:20px 0;font-size:1.05rem}.faq summary .plus{flex-shrink:0}.faq summary:hover{color:#80591f}.faq details p{font-size:.94rem;padding:0 30px 25px 0;color:#534d42}.site-footer{padding-top:65px;padding-bottom:28px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:45px;border-bottom:1px solid var(--line)}.footer-top p{font-size:1.1rem}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:8vw;padding:40px 0}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start}.footer-grid .small-label{color:var(--gold)}.footer-grid a{min-height:44px;display:flex;align-items:center;font-size:.87rem;gap:18px}.footer-grid a:hover{color:var(--gold)}.footer-notes p{font-size:.78rem;color:var(--muted);margin-bottom:14px;max-width:40ch}.footer-notes a{border-bottom:1px solid var(--line);font-size:.76rem}.footer-bottom{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding-top:20px;color:var(--muted);font-size:.72rem}.footer-bottom a{display:flex;gap:18px;align-items:center;min-height:44px}.legal{max-width:900px;min-height:70dvh;margin:auto;padding:80px 24px}.legal h1{font-size:clamp(2.6rem,5vw,4.5rem);margin-bottom:40px}.legal h2{font-size:1.6rem;margin:40px 0 15px}.legal p{margin:15px 0;color:var(--muted)}.legal a{text-decoration:underline;text-underline-offset:5px;display:inline-flex;align-items:center;min-height:44px}.legal ul{line-height:1.8;color:var(--muted)}html.mp [data-m]{opacity:0}
@media(min-width:1600px){.hero{max-width:1600px;margin:auto}.project-art{height:560px}.section-pad{padding-left:max(5vw,calc((100vw - 1440px)/2));padding-right:max(5vw,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){.site-header nav{gap:20px;font-size:.77rem}.site-header nav a:nth-child(2){display:none}.nav-contact{margin-left:0}.hero{padding-top:65px;column-gap:3vw}.hero-copy{padding-bottom:65px}.project-art{height:400px;margin-right:5px}.service summary{grid-template-columns:1.15fr .85fr 18px}.service summary>span:first-child{font-size:1.5rem}.section-pad{padding-top:85px;padding-bottom:85px}.brief-section{gap:5vw}.footer-grid{gap:5vw}}
@media(max-width:760px){.site-header{height:78px;padding:0 24px}.wordmark{font-size:1.85rem}.menu-toggle{display:flex;gap:18px;align-items:center;min-height:44px;padding:10px 0 10px 14px;background:none;color:var(--paper);border:0;font-size:.85rem}.menu-icon{display:block;width:20px;height:12px;border-block:1px solid currentColor}.site-header nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--ink);padding:20px 24px 28px;border-bottom:1px solid var(--line);gap:8px;align-items:stretch}.site-header nav.is-open{display:flex;flex-direction:column}.site-header nav a,.site-header nav a:nth-child(2){display:flex;font-size:1rem;min-height:50px}.nav-contact{justify-content:space-between}.hero{display:block;padding:52px 24px 0;min-height:0;overflow:hidden}.hero-copy{padding:0}h1{font-size:clamp(3.8rem,13.7vw,6rem)}.hero-intro{font-size:.97rem;margin-top:25px}.hero .button{margin-top:0;font-size:.86rem;gap:24px;min-height:54px}.project-art{height:350px;margin:60px 12px 45px;max-width:480px}.art-perspective{transform:rotate(-4deg)}.cover-label strong{font-size:2.4rem}.hero-foot{display:flex;align-items:flex-start;gap:10px;flex-direction:column;padding:18px 0 20px;font-size:.72rem}.hero-foot>a{font-size:.78rem}.section-pad{padding:72px 24px}h2{font-size:clamp(2.45rem,9vw,3.9rem)}.section-heading,.image-top,.image-bottom,.brief-section,.faq{display:block}.section-heading{margin-bottom:36px}.section-heading>p{margin-top:25px;font-size:.97rem;max-width:49ch}.service summary{grid-template-columns:1fr 18px;gap:15px;min-height:96px;padding:22px 0}.service summary>span:first-child{font-size:1.38rem}.service-hint{grid-row:2;font-size:.8rem;margin-top:-8px}.service .plus{grid-column:2;grid-row:1/3}.service-body{display:block;padding:0 0 28px;font-size:.92rem}.service-body>div{margin-top:25px}.service-body .small-label{font-size:.68rem}.image-top{margin-bottom:30px}.image-top>p{margin-top:25px;font-size:.97rem}.piano-scene{height:390px;margin:0 -24px}.piano-scene img{object-position:55% center}.piano-scene figcaption{left:24px;bottom:44px;max-width:310px;font-size:1.9rem}.piano-scene .image-note{right:24px;bottom:15px}.image-bottom{margin-top:30px}.image-bottom h3{font-size:2rem;margin-bottom:22px}.image-bottom .text-link{font-size:.87rem}.method-steps{display:block}.method-steps li{padding:24px 0 30px}.step-number{margin-bottom:18px}.method-steps h3{font-size:1.5rem}.method-steps p{max-width:50ch}.method-note{margin-top:14px;gap:20px;align-items:flex-start;font-size:.8rem}.note-rule{min-width:30px;margin-top:12px}.brief-intro>p{margin-top:25px}.brief-intro .contact-email{font-size:1.13rem;margin-bottom:40px}.project-choices span{font-size:.79rem;padding:10px 12px}.field-label{font-size:.85rem}.brief-section h2{font-size:2.7rem}.faq h2{margin-bottom:30px}.faq summary{font-size:1rem;min-height:78px}.footer-top{display:block;padding-bottom:28px}.footer-top p{margin:15px 0 20px;font-size:.98rem}.footer-top .text-link{font-size:.9rem}.footer-grid{grid-template-columns:1fr 1fr;gap:30px;padding:32px 0}.footer-notes{grid-column:1/-1;margin-top:5px}.footer-grid a{font-size:.75rem;overflow-wrap:anywhere}.footer-grid .small-label{font-size:.65rem}.footer-bottom{gap:16px}.footer-bottom a{font-size:.68rem}.site-footer{padding-bottom:20px}section{scroll-margin-top:20px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html.mp [data-m]{opacity:1!important} [data-m],[data-reveal],[data-sheet],[data-cover]{opacity:1!important;transform:none!important}.art-perspective{transform:none!important}}
.art-perspective{transform-style:flat}.project-cover{z-index:3}.sheet-middle{z-index:2}.sheet-back{z-index:1}@media(max-width:760px){html:not(.js) .site-header{height:auto;flex-wrap:wrap;padding-top:15px}html:not(.js) .site-header nav{display:flex;position:static;width:100%;padding:15px 0}html:not(.js) .menu-toggle{display:none}}
html:not(.js) #project-form{display:none}@media(max-width:760px){html:not(.js) .site-header nav{flex-direction:column;align-items:stretch}}
.project-sheet,.cover-label>span,.image-note,.service-body .small-label,.footer-grid .small-label,.footer-bottom,.footer-bottom a{font-size:.75rem}.piano-scene figcaption{line-height:1.3}
.hero-foot{font-size:.8rem}
