@font-face{font-family:LINE Seed Sans TH;src:url(/fonts/LINESeedSansTH_W_Rg.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:LINE Seed Sans TH;src:url(/fonts/LINESeedSansTH_W_Bd.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:LINE Seed Sans TH;src:url(/fonts/LINESeedSansTH_W_XBd.woff2)format("woff2");font-style:normal;font-weight:800;font-display:swap}.webpage,.webpage *{box-sizing:border-box}.webpage{--paper:#f2f2ef;--ink:#181a18;--muted:#676b66;--line:#cfd2cc;--green:#153c30;background:var(--paper);color:var(--ink);border:1px solid #cfd2cc;font-family:LINE Seed Sans TH,Arial,sans-serif;position:relative;overflow:hidden;box-shadow:0 24px 70px #1418141f}.page-nav{z-index:3;color:#fff;border-bottom:1px solid #ffffff52;justify-content:space-between;align-items:center;width:100%;height:66px;padding:0 4.5%;display:flex;position:absolute;top:0;left:0}.wordmark{letter-spacing:-.035em;white-space:nowrap;font-size:19px;font-weight:800}.page-links{align-items:center;gap:25px;font-size:11px;display:flex}.page-links a{color:inherit;text-decoration:none}.page-links .line-link{color:inherit;border-bottom:1px solid;padding-bottom:4px;font-weight:700}.hero-page{border-bottom:1px solid var(--line);color:#fff;isolation:isolate;background:url(/images/hero-workbench.png) 58%/cover no-repeat;place-items:center;min-height:clamp(680px,100svh,920px);display:grid;position:relative}.hero-page:before{content:"";z-index:-1;background:linear-gradient(#0a100d94,#0a100d75 54%,#0a100da3);position:absolute;inset:0}.hero-copy{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:760px;padding:120px 28px 88px;display:flex}.hero-copy .label{color:#ffffffd1;letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px;font-size:11px;font-weight:700}.hero-copy h1{letter-spacing:-.05em;text-wrap:balance;margin:0;font-size:clamp(54px,6vw,84px);font-weight:800;line-height:1.1}.hero-copy h1 span{display:block}.hero-copy p{color:#ffffffdb;max-width:38ch;margin:26px 0;font-size:16px;line-height:1.7}.hero-button{border:1px solid var(--green);background:var(--green);color:#f4f5f1;align-self:center;padding:14px 20px;font-size:12px;font-weight:700}.problem-bar{border-bottom:1px solid var(--line);grid-template-columns:1.4fr repeat(3,.55fr);display:grid}.problem-title,.problem-item{border-right:1px solid var(--line);min-height:116px;padding:24px}.problem-title{align-items:center;font-size:22px;font-weight:700;display:flex}.problem-item{color:var(--ink);flex-direction:column;justify-content:space-between;font-size:12px;display:flex}.problem-item:last-child{border-right:0}.problem-item b{color:var(--green);align-self:flex-end;font-size:17px;font-weight:400}.story{border-bottom:1px solid var(--line);grid-template-columns:.8fr 1.2fr;gap:7%;padding:96px 8%;display:grid}.story-image{filter:saturate(.72);background:url(/images/craftsperson-inspection.png) 50%/cover no-repeat;min-height:520px}.story-copy{flex-direction:column;justify-content:center;display:flex}.story-copy h2,.services h2,.products h2,.contact h2{letter-spacing:-.035em;margin:0;font-weight:700}.story-copy h2{text-wrap:balance;max-width:12ch;font-size:clamp(38px,4.3vw,64px);line-height:1.1}.story-copy p{max-width:42ch;color:var(--muted);margin:22px 0 0;font-size:clamp(14px,1.2vw,16px);line-height:1.8}.story-signature{border-top:2px solid var(--green);width:46px;margin-top:38px}.service-story{border-bottom:1px solid var(--line);height:320svh;padding:0;position:relative}.service-stage{background:var(--paper);min-height:100svh;position:relative;overflow:hidden}.service-stage>h2{z-index:2;text-wrap:balance;max-width:11ch;font-size:clamp(38px,4.3vw,64px);line-height:1.1;position:absolute;top:clamp(32px,6vh,72px);left:8%}.violin-visual{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}#violinCanvas,.violin-poster{object-fit:contain;width:100%;height:100%;position:absolute}.violin-poster{opacity:1;padding:15vh 25vw 5vh;transition:opacity .35s}.service-story.is-rendered .violin-poster{opacity:0}.service-copy{z-index:2;opacity:0;pointer-events:none;width:min(29vw,360px);margin:0;position:absolute}.service-copy h3{letter-spacing:-.035em;margin:0;font-size:clamp(30px,3.5vw,54px);line-height:1.1}.service-copy p{max-width:30ch;color:var(--muted);margin:14px 0 0;font-size:clamp(13px,1.05vw,16px);line-height:1.7}.service-copy--repair{bottom:14%;left:8%}.service-copy--strings{text-align:right;top:35%;right:8%}.service-copy--strings p{margin-left:auto}.service-copy--setup{top:38%;left:8%}.service-progress{z-index:2;gap:7px;display:flex;position:absolute;bottom:6%;right:4%}.service-progress i{background:var(--line);width:22px;height:2px;transition:background-color .2s}.service-progress i.is-active{background:var(--green)}.has-webgl-fallback .violin-poster{opacity:1}.has-webgl-fallback #violinCanvas{display:none}.service-story.has-webgl-fallback{height:auto;padding:70px 8%}.has-webgl-fallback .service-stage{gap:28px;min-height:auto;display:grid;overflow:visible}.has-webgl-fallback .service-stage>h2,.has-webgl-fallback .violin-visual,.has-webgl-fallback .service-copy,.has-webgl-fallback .service-progress{position:static}.has-webgl-fallback .violin-visual{min-height:520px}.has-webgl-fallback .violin-poster{padding:0;position:static}.has-webgl-fallback .service-copy{width:auto;opacity:1!important;pointer-events:auto!important;text-align:left!important}.has-webgl-fallback .service-copy p{margin-left:0}.achievements{border-bottom:1px solid var(--line);padding:88px 0 82px}.achievement-head{justify-content:space-between;align-items:flex-end;gap:30px;padding:0 8% 38px;display:flex}.achievement-head h2{letter-spacing:-.035em;text-wrap:balance;max-width:12ch;margin:0;font-size:clamp(38px,4.3vw,64px);font-weight:700;line-height:1.1}.achievement-head p{max-width:44ch;color:var(--muted);margin:14px 0 0;font-size:clamp(13px,1.1vw,16px);line-height:1.7}.achievement-controls{flex:none}.achievement-controls button{border:1px solid var(--line);min-width:72px;height:44px;color:var(--green);cursor:pointer;background:0 0;padding:0 15px;font-family:inherit;font-size:11px;font-weight:700}.achievement-controls button:focus-visible{outline:2px solid var(--green);outline-offset:3px}.achievement-marquee{gap:14px;padding:0 0 2px;display:grid;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.achievement-track{will-change:transform;gap:14px;width:max-content;display:flex}.achievement-track.to-right{animation:42s linear infinite achievement-right}.achievement-track.to-left{animation:42s linear infinite achievement-left}.achievement-group{gap:14px;display:flex}.achievement-card{border:1px solid var(--line);background:var(--paper);grid-template-rows:1fr auto;width:clamp(250px,29vw,410px);height:300px;display:grid;overflow:hidden}.achievement-marquee:hover .achievement-track,.achievement-marquee:focus-within .achievement-track,.achievements.is-paused .achievement-track{animation-play-state:paused}@keyframes achievement-left{to{transform:translate(calc(-50% - 7px))}}@keyframes achievement-right{0%{transform:translate(calc(-50% - 7px))}to{transform:translate(0)}}.achievement-media{filter:saturate(.72);background-position:50%;background-size:cover;min-height:0}.achievement-media.hero-detail{background-image:url(/images/hero-workbench.png)}.achievement-media.craft-detail{background-image:url(/images/craftsperson-inspection.png)}.achievement-media.product-detail{background-image:url(/images/violin-accessories.png)}.achievement-media.placeholder{filter:none;color:#687068;letter-spacing:.12em;background:#dfe1dc;place-items:center;font-size:9px;font-weight:700;display:grid}.achievement-card:nth-child(4n) .placeholder{background:#cbd0ca}.achievement-caption{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 14px;font-size:11px;display:flex}.achievement-caption span:last-child{color:var(--muted)}.products{border-bottom:1px solid var(--line);grid-template-columns:1.2fr .8fr;min-height:560px;display:grid}.product-photo{filter:saturate(.7);background:url(/images/violin-accessories.png) 50%/cover no-repeat}.product-copy{border-left:1px solid var(--line);flex-direction:column;justify-content:center;padding:68px 12%;display:flex}.product-copy h2{text-wrap:balance;font-size:clamp(38px,4vw,58px);line-height:1.1}.product-copy p{color:var(--muted);margin:20px 0 34px;font-size:clamp(13px,1.05vw,16px);line-height:1.7}.product-categories{border-top:1px solid var(--ink);gap:0;display:grid}.product-categories div{border-bottom:1px solid var(--line);justify-content:space-between;padding:15px 0;font-size:12px;display:flex}.product-categories b{color:var(--green);font-weight:500}.contact{grid-template-columns:1fr auto;align-items:end;gap:30px;padding:90px 8% 70px;display:grid}.contact h2{text-wrap:balance;max-width:13ch;font-size:clamp(40px,5vw,72px);line-height:1.1}.contact p{color:var(--muted);margin:20px 0 0;font-size:13px}.contact .hero-button{white-space:nowrap;align-self:end}.footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:22px 8%;font-size:10px;display:flex}@media (width<=760px){.page-nav{height:58px;padding:0 20px}.page-links a:not(.line-link){display:none}.hero-page{background-position:64%;min-height:100svh}.hero-copy{max-width:430px;padding:110px 22px 70px}.hero-copy h1{font-size:clamp(48px,14vw,66px)}.hero-copy p{max-width:30ch;font-size:15px}.problem-bar{grid-template-columns:1fr}.problem-title,.problem-item{border-right:0;border-bottom:1px solid var(--line);min-height:70px}.problem-item{flex-direction:row;align-items:center}.problem-item b{align-self:auto}.story{grid-template-columns:1fr;padding:70px 22px}.story-image{min-height:430px}.service-story{height:260svh}.service-stage>h2{max-width:12ch;font-size:clamp(36px,10vw,48px);line-height:1.1;top:28px;left:22px;right:22px}.violin-visual{inset:16vh 0 28vh}.violin-poster{padding:4vh 11vw}.service-copy{width:auto;text-align:left!important;inset:auto 22px 7vh!important}.service-copy p,.service-copy--strings p{max-width:34ch;margin:10px 0 0}.service-copy h3{font-size:clamp(30px,9vw,42px);line-height:1.1}.service-progress{bottom:3vh;right:22px}.achievements{padding:70px 0 60px}.achievement-head{align-items:flex-start;padding:0 22px 30px}.achievement-head p{max-width:28ch}.achievement-controls button{min-width:62px;height:40px}.achievement-marquee{gap:10px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 3% 97%,#0000);mask-image:linear-gradient(90deg,#0000,#000 3% 97%,#0000)}.achievement-track,.achievement-group{gap:10px}.achievement-card{width:78vw;height:230px}@keyframes achievement-left{to{transform:translate(calc(-50% - 5px))}}@keyframes achievement-right{0%{transform:translate(calc(-50% - 5px))}to{transform:translate(0)}}.products{grid-template-columns:1fr;min-height:auto}.product-photo{min-height:340px}.product-copy{border-left:0;border-top:1px solid var(--line);padding:60px 22px}.contact{grid-template-columns:1fr;align-items:start;padding:70px 22px 50px}.contact .hero-button{justify-self:start}.footer{flex-wrap:wrap;gap:18px;padding:20px 22px}}@media (prefers-reduced-motion:reduce){.service-story{height:auto;padding:70px 22px}.service-stage{gap:28px;min-height:auto;display:grid;overflow:visible}.service-stage>h2,.violin-visual,.service-copy,.service-progress{position:static}.violin-visual{min-height:420px}#violinCanvas{display:none}.violin-poster{opacity:1;padding:0;position:static}.service-copy{width:auto;opacity:1!important;pointer-events:auto!important;text-align:left!important}.service-copy p{margin-left:0}.achievement-track{animation:none!important;transform:none!important}.achievement-marquee{scrollbar-width:none;overflow-x:auto}.achievement-marquee::-webkit-scrollbar{display:none}}html,body{margin:0}.services h2{line-height:1.1}
