:root{--bg:#f1f2ee;--ink:#20284a;--accent:#1678b0;--blue:#48a9e1;--paper:#fff;--margin:clamp(20px,2.2vw,32px);font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.skip{position:fixed;left:20px;top:-100px;z-index:20;background:white;padding:15px}.skip:focus{top:10px}#office{position:fixed;inset:0;z-index:0;background:#dbe0dc}#office canvas{display:block;width:100%;height:100%}header{position:fixed;inset:0 0 auto;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:24px var(--margin);background:linear-gradient(var(--bg) 40%,transparent)}.brand{display:flex;gap:10px;align-items:center}.brand>span{font-size:26px;font-weight:700;letter-spacing:-1.2px}.brand small{display:block;font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400}nav{display:flex;gap:32px;font-size:16px}nav a:hover,.text-link:hover,.contact a:hover{color:var(--accent)}main{position:relative;z-index:1}.chapter{height:140svh;position:relative;pointer-events:none;scroll-margin-top:0}.copy{position:sticky;top:24vh;padding:0 var(--margin);width:43%;pointer-events:auto}.copy h1,.copy h2{font-size:clamp(50px,5.6vw,88px);font-weight:500;line-height:.98;letter-spacing:-.055em;margin:0 0 28px;max-width:11ch}.copy p{font-size:clamp(17px,1.4vw,20px);line-height:1.55;max-width:34ch;margin:0 0 24px}.action{display:inline-flex;gap:24px;align-items:center;justify-content:space-between;background:var(--ink);color:white;padding:18px 22px;font-size:16px;margin-top:4px;transition:background .2s,transform .2s}.action:hover{background:var(--accent);transform:translateY(-3px)}.action span,.text-link span{font-size:22px}.welcome{position:absolute;top:84svh;left:var(--margin);font-size:16px;line-height:1.6;pointer-events:auto}.welcome a{display:block}.welcome span{margin-left:25px}.service-tabs{display:flex;gap:5px;margin:28px 0 18px}.service-tabs button{border:0;padding:12px 16px;background:#e0e5e7;transition:background .2s}.service-tabs button.selected{background:var(--ink);color:#fff}.service-tabs button:hover{background:#b9d3e3}#service-detail{min-height:100px}ul{padding:0;list-style:none;font-size:18px;line-height:1.8;margin:24px 0}.text-link{display:inline-flex;gap:24px;align-items:center;font-size:18px}.contact{margin-top:32px;display:grid;gap:10px;font-size:17px}.contact p{font-size:17px;margin:0}.journey{position:fixed;right:22px;top:45%;display:grid;gap:16px;z-index:10}.journey a{width:8px;height:8px;border-radius:50%;background:#77818a;position:relative}.journey a:before{content:'';position:absolute;inset:-7px}.journey a.current{background:var(--accent);transform:scale(1.5)}.controls{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px var(--margin);font-size:14px;background:var(--bg)}.controls button{padding:0;border:0;background:none;font-size:14px}.controls button:hover{color:var(--accent)}footer{position:relative;z-index:2;background:var(--ink);color:white;padding:70px var(--margin) 85px;overflow:hidden}footer>p{font-size:clamp(28px,4vw,60px);letter-spacing:-.04em;margin:0 0 30px}.footer-name{font-size:18.6vw;letter-spacing:-.075em;line-height:1.1;margin-top:60px}.footer-meta{display:flex;justify-content:space-between;gap:20px;font-size:13px;margin-top:30px}.no-webgl #office{background:#dce7ec}.no-webgl .copy{background:var(--bg);padding-block:24px}body.motion-paused .chapter{height:110svh}@media(min-width:1700px){.copy{width:40%}}@media(max-width:800px){header{padding-top:18px}.brand>span{font-size:22px}.brand img{width:32px;height:28px}nav{gap:18px;font-size:14px}nav a:first-child{display:none}.chapter{height:140svh}.copy{top:16vh;width:100%;padding-right:45px}.copy h1,.copy h2{font-size:clamp(48px,8.5vw,68px);max-width:13ch;margin-bottom:18px}.copy p{font-size:17px;max-width:35ch;margin-bottom:16px}.copy{background:linear-gradient(var(--bg) 65%,transparent);padding-bottom:35px}.welcome{top:87svh}.journey{right:16px;top:58%}.service-tabs{margin:18px 0 14px}.service-tabs button{font-size:15px;padding:10px 14px}ul{font-size:16px;line-height:1.65;margin-top:15px}.contact{font-size:15px;gap:8px;margin-top:20px}.contact p{font-size:15px}.action{font-size:15px;padding:15px 18px}.footer-meta{flex-direction:column}.controls{padding-block:14px}.text-link{font-size:16px}#service-detail{min-height:75px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}html[data-motion=paused]{scroll-behavior:auto}

/* taste-skill-ignore: neutral readability scrim over live 3D, not a decorative gradient. */
@media(min-width:801px){#office:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--bg) 0%,var(--bg) 24%,transparent 58%)}} /* taste-skill-ignore */ .copy{transition:opacity .25s}

.brand>span{font-size:18px}.brand small,nav,.controls,.controls button,.footer-meta{font-size:14px}.copy p,.action,.text-link,.contact,.contact p,ul,.service-tabs button,.welcome,.action span,.text-link span{font-size:18px}@media(max-width:800px){.brand>span{font-size:18px}.copy p,.action,.text-link,.contact,.contact p,ul,.service-tabs button,.welcome{font-size:16px}}
/* taste-skill-ignore: neutral readability scrim over the real-time office scene, required by the cinematic brief. */


.company-details{position:relative;z-index:2;background:var(--bg);padding:80px var(--margin) 120px}.information{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:80px 0;scroll-margin-top:100px}.information h2{font-size:clamp(32px,3.4vw,54px);line-height:1;letter-spacing:-.04em;font-weight:500;margin:0}.information p{font-size:18px;line-height:1.6;max-width:60ch;margin:0 0 24px}.information details{margin:0 0 12px;background:#e4e8e5;padding:18px 20px}.information summary{font-size:18px;cursor:pointer;line-height:1.5}.information details p{margin:16px 0 0}.information a:not(.action){text-decoration:underline;text-underline-offset:4px}.information .support-note{margin-top:28px}.footer-links{display:flex;gap:24px;flex-wrap:wrap}@media(max-width:800px){.company-details{padding-top:32px;padding-bottom:60px}.information{grid-template-columns:1fr;gap:28px;padding:48px 0}.information h2{font-size:36px}.information p,.information summary{font-size:16px}.information details{padding:16px}.footer-links{font-size:16px;gap:18px}}
.chapter.rich .copy{top:17vh}.chapter.rich .copy h2{font-size:clamp(44px,4.8vw,72px)}.chapter.rich .copy>div{max-height:54vh;overflow-y:auto;scrollbar-width:thin;padding-right:12px}.chapter.rich .copy p{font-size:18px;line-height:1.5}.chapter.rich details{margin-bottom:9px;background:#e4e8e5;padding:12px 16px}.chapter.rich summary{font-size:18px;line-height:1.4;cursor:pointer}.chapter.rich details p{margin:14px 0 0}.chapter.rich .support-note{font-size:14px;margin-top:16px}.chapter.rich a:not(.action){text-decoration:underline;text-underline-offset:3px}.journey{gap:14px;top:38%}@media(max-width:800px){.chapter.rich .copy{top:14vh;padding-bottom:20px}.chapter.rich .copy h2{font-size:44px;margin-bottom:18px}.chapter.rich .copy>div{max-height:52vh}.chapter.rich .copy p,.chapter.rich summary{font-size:16px}.chapter.rich details{padding:10px 12px}.journey{gap:13px;top:60%}}
