.motion-page{--header-height:96px;--z-header:3;--z-skip:4;background:var(--bg);color:var(--ink)}
.motion-page .masthead{position:sticky;top:0;z-index:var(--z-header);background:var(--bg)}
.motion-page .scene-stage{height:calc(100svh - var(--header-height));min-height:440px}
.gate-run{position:relative}
.gate-pin{position:relative;width:100%;overflow:hidden}
.scene-world .door-leaf{will-change:transform}
.skip-content{position:fixed;top:12px;left:20px;z-index:var(--z-skip);padding:14px 20px;color:var(--bg);background:var(--ink);transform:translateY(-150%)}
.skip-content:focus-visible{transform:none}
.content-width{width:min(100% - 96px,1344px);margin-inline:auto}
.service-entry{padding-top:70px;padding-bottom:68px;scroll-margin-top:var(--header-height)}
.service-entry h2{font-size:clamp(28px,3.2vw,46px);font-weight:450;line-height:1.13;letter-spacing:-.025em;text-wrap:balance;margin:0 0 34px}
.service-composition{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);grid-template-areas:'photo priority' 'photo secondary';column-gap:clamp(32px,5vw,76px);row-gap:0;align-items:start}
.work-detail{grid-area:photo;margin:0;position:sticky;top:calc(var(--header-height) + 24px)}
.work-detail img{width:100%;height:430px;object-fit:cover;object-position:48% 50%;display:block}
.work-detail figcaption{margin-top:14px;font-size:14px;color:var(--muted)}
.service-priority{grid-area:priority;display:block;padding:0 0 24px;border-bottom:1px solid var(--line)}
.service-secondary{grid-area:secondary}
.service-priority h3{font-size:clamp(27px,2.9vw,40px);font-weight:500;line-height:1.2;letter-spacing:-.025em;text-wrap:balance;margin:0}
.service-priority p{font-size:16px;line-height:1.6;color:var(--muted);max-width:42ch;margin:15px 0 18px;text-wrap:pretty}
.service-more{display:inline-flex;gap:22px;align-items:center;font-size:14px;min-height:32px}
.service-more>span{color:var(--accent)}
.service-line{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;font-size:20px;line-height:1.3;padding-block:12px;border-bottom:1px solid var(--line);transition:color 160ms ease-out}
.service-line>span:last-child{font-size:19px;color:var(--accent)}
.service-priority:hover h3,.service-line:hover,.entry-directions:hover{color:var(--accent)}
.service-other{font-size:14px;line-height:1.6;color:var(--muted);max-width:37ch;margin:25px 0 18px;text-wrap:pretty}
.motion-page .service-book,.motion-page .contact-book{border:0;border-radius:1px;color:#111416;background:var(--ink);min-height:50px;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:12px 24px;font-size:15px;line-height:1.3;font-weight:600;white-space:nowrap;transition:background 160ms ease-out,transform 140ms ease-out}
.service-book>span:last-child,.contact-book>span:last-child{color:var(--accent);font-size:24px}
.motion-page .service-book:hover,.motion-page .contact-book:hover{background:#dfe2e3}
.motion-page .service-book:active,.motion-page .contact-book:active{transform:translateY(1px)}
.motion-page a:focus-visible,.motion-page button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.contact-entry{padding-top:52px;padding-bottom:46px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.12fr 1fr;gap:clamp(32px,5vw,76px);align-items:end;scroll-margin-top:var(--header-height)}
.contact-entry h2{font-size:clamp(38px,5.4vw,72px);line-height:1.03;font-weight:450;letter-spacing:-.03em;margin:0 0 24px}
.contact-entry p{font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 14px}
.entry-directions{min-height:40px;display:inline-flex;align-items:center;gap:22px;font-size:14px}
.entry-directions>span{color:var(--accent)}
.contact-number{display:block;font-size:clamp(21px,2.6vw,35px);letter-spacing:-.02em;font-weight:450;margin-bottom:20px;white-space:nowrap}
.contact-action .contact-book{margin-top:10px;min-width:202px}
.motion-footer{padding-block:10px 25px}
.motion-footer .brand-strip{width:100%;margin:0;padding:24px 0 28px;overflow:hidden;background:transparent;border:0}
.brand-viewport{width:100%;overflow:hidden}
.brand-track{display:flex;width:max-content;animation:quiet-brands 42s linear infinite}
.brand-group{display:flex;align-items:center;gap:64px;list-style:none;margin:0;padding:0 64px 0 0}
.brand-group li{width:76px;flex:none;display:flex;align-items:center;justify-content:center;height:38px}
.brand-group img{width:100%;max-height:34px;object-fit:contain;opacity:.3}
@keyframes quiet-brands{to{transform:translateX(-50%)}}
.footer-bottom{border-top:1px solid var(--line);padding-top:21px;display:flex;align-items:center;gap:30px;color:var(--muted);font-size:13px}
.footer-bottom>span{margin-right:auto}
.footer-bottom>a{display:inline-flex;min-height:40px;align-items:center;gap:12px}
@media(max-width:1100px){.motion-page{--header-height:92px}.content-width{width:calc(100% - 68px)}.work-detail img{height:410px}.service-entry{padding-top:48px}.service-line{font-size:18px}}
@media(max-width:700px){.motion-page{--header-height:125px}.motion-page .scene-stage{min-height:430px}.content-width{width:calc(100% - 40px)}.service-entry{padding-top:37px;padding-bottom:40px}.service-entry h2{font-size:29px;margin-bottom:24px}.service-composition{grid-template-columns:1fr;grid-template-areas:'priority' 'photo' 'secondary';row-gap:24px}.service-priority{padding-bottom:0;border-bottom:0}.work-detail{position:static}.work-detail img{height:240px;object-position:48% 48%}.work-detail figcaption{display:none}.service-priority h3{font-size:30px}.service-priority p{font-size:15px;margin-block:12px 10px}.service-priority{padding-bottom:16px}.service-line{min-height:55px;font-size:18px}.service-other{margin-top:21px;font-size:14px}.contact-entry{grid-template-columns:1fr;gap:26px;padding-top:33px;padding-bottom:22px}.contact-entry h2{font-size:46px;margin-bottom:19px}.contact-entry p{font-size:15px}.contact-number{font-size:25px;margin-bottom:14px}.contact-action .contact-book{margin-top:6px;width:100%}.brand-group{gap:44px;padding-right:44px}.brand-group li{width:62px;height:30px}.brand-group img{max-height:28px}.motion-footer .brand-strip{padding-block:24px}.footer-bottom{gap:18px;font-size:12px;flex-wrap:wrap}.footer-bottom>span{flex-basis:100%;margin-right:0}.footer-bottom>a{min-height:32px}}
@media(max-width:359px){.motion-page .scene-stage{min-height:400px}.content-width{width:calc(100% - 32px)}.service-entry h2{font-size:26px}.service-priority h3{font-size:27px}.work-detail img{height:210px}.contact-number{font-size:22px}}
@media(max-height:700px) and (min-width:701px){.motion-page .scene-stage{min-height:400px}}
@media(prefers-reduced-motion:reduce){.brand-track{animation:none;width:auto}.brand-group{width:100%;padding-right:0;flex-wrap:wrap;gap:22px;justify-content:space-between}.brand-group-copy{display:none}.motion-page .scene-world .door-leaf{will-change:auto}.motion-page .service-book,.motion-page .contact-book,.service-line{transition:none}}
