/* Japanese-first visual system and interactive model hero */
:root{--local-ink:#101113;--local-paper:#fff;--local-blue:var(--brand-lime);--local-acid:var(--brand-lime)}
.hero-3d{position:relative;isolation:isolate;min-height:max(760px,100svh);padding:clamp(112px,13vw,180px) clamp(22px,5vw,76px) 42px;background:#fff;color:var(--local-ink);display:grid;grid-template-columns:minmax(360px,.86fr) minmax(460px,1.14fr);gap:clamp(34px,5vw,88px);align-items:center;overflow:hidden;border-bottom:1px solid #dfe1e5}
.hero-3d:before{content:"02";position:absolute;left:-.04em;bottom:-.21em;z-index:-1;color:#f1f2f4;font:700 clamp(190px,34vw,560px)/.8 var(--font-display,Arial,sans-serif);letter-spacing:-.095em}
.hero-3d-copy{position:relative;z-index:2;align-self:center}
.hero-place{display:flex;align-items:center;gap:12px;margin:0 0 clamp(24px,4vw,58px);font-size:12px;font-weight:700;letter-spacing:.07em}.hero-place span{padding:8px 11px;border:1px solid #bbbfc7;border-radius:999px}.hero-place i{width:22px;height:1px;background:#9ba0aa}
.hero-3d h1{margin:0;max-width:720px;font-family:var(--font-jp,"Noto Sans JP",sans-serif);font-size:clamp(49px,5.6vw,92px);font-weight:650;line-height:.99;letter-spacing:-.075em}.hero-3d h1 span{display:block}.hero-3d h1 span:nth-child(2){color:transparent;-webkit-text-stroke:1.5px #26282c}.hero-3d h1 span:last-child{position:relative}.hero-3d h1 span:last-child:after{content:"";display:inline-block;width:.16em;height:.16em;margin-left:.08em;background:var(--local-blue);border-radius:50%;vertical-align:.1em}
.hero-lead{margin:clamp(28px,4vw,50px) 0 0;font-size:clamp(15px,1.25vw,19px);line-height:2;letter-spacing:.015em;color:#535760}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.hero-text-link{color:inherit;font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid #babdc3;padding:10px 0}.hero-text-link span{margin-left:15px}
.model-lab{position:relative;z-index:2;min-width:0;background:#111317;color:#fff;border-radius:clamp(18px,2.2vw,34px);overflow:hidden;box-shadow:0 35px 90px rgba(21,25,32,.22)}
.model-head{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 22px 15px;border-bottom:1px solid rgba(255,255,255,.13)}.model-head>div{display:grid;gap:7px}.model-head strong{font-size:13px;letter-spacing:.02em}.model-status{font:600 10px/1 var(--font-display,Arial,sans-serif);letter-spacing:.14em;color:#aeb4c0}.model-status i{display:inline-block;width:7px;height:7px;margin-right:8px;background:var(--local-acid);border-radius:50%;box-shadow:0 0 14px var(--local-acid)}.model-motion{border:0;background:transparent;color:#aeb4c0;font:inherit;font-size:11px;padding:4px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.model-canvas-wrap{position:relative;aspect-ratio:1.18/1;min-height:390px;background:radial-gradient(circle at 52% 44%,#272e3a 0,#171a20 43%,#0b0d10 76%);overflow:hidden;cursor:grab;touch-action:none}.model-canvas-wrap:active{cursor:grabbing}.model-canvas-wrap:before,.model-canvas-wrap:after{content:"";position:absolute;inset:0;pointer-events:none}.model-canvas-wrap:before{z-index:3;background-image:linear-gradient(rgba(255,255,255,.052) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.052) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,transparent 2%,#000 22%,#000 82%,transparent)}.model-canvas-wrap:after{z-index:3;box-shadow:inset 0 0 110px rgba(0,0,0,.65)}#inbest-model{position:absolute;inset:0;z-index:2;width:100%;height:100%;display:block}.model-fallback{position:absolute;inset:20% 21%;z-index:1;border:1px solid rgba(118,151,255,.5);border-radius:44% 56% 58% 42%;transform:rotate(28deg);box-shadow:0 0 100px rgba(53,104,255,.32)}
.model-label{position:absolute;z-index:4;padding:7px 9px;background:rgba(12,14,18,.78);border:1px solid rgba(255,255,255,.22);border-radius:5px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.04em;backdrop-filter:blur(8px)}.model-label:after{content:"";position:absolute;left:10px;top:100%;height:25px;border-left:1px solid rgba(255,255,255,.5)}.station-label{left:19%;top:17%}.tram-label{right:15%;top:62%;color:#111;background:var(--local-acid);border-color:var(--local-acid)}.tram-label:after{left:auto;right:10px;height:18px;border-color:var(--local-acid)}.model-readout{position:absolute;z-index:4;left:18px;right:18px;bottom:14px;display:flex;justify-content:space-between;color:#737985;font:600 8px/1 var(--font-display,Arial,sans-serif);letter-spacing:.14em}
.model-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.12)}.model-tabs button{min-width:0;border:0;border-right:1px solid rgba(255,255,255,.12);background:#111317;color:#9da3ae;padding:18px 10px;font:600 clamp(11px,1vw,13px)/1.35 var(--font-jp,"Noto Sans JP",sans-serif);cursor:pointer;transition:.25s}.model-tabs button:last-child{border-right:0}.model-tabs button span{display:block;margin-bottom:7px;color:#69707c;font:600 9px/1 var(--font-display,Arial,sans-serif);letter-spacing:.16em}.model-tabs button[aria-selected="true"]{background:#fff;color:#101113}.model-tabs button[aria-selected="true"] span{color:var(--local-blue)}.model-tabs button:focus-visible,.model-motion:focus-visible{outline:2px solid var(--local-acid);outline-offset:-3px}.model-hint{margin:0;padding:10px 20px 12px;text-align:center;color:#737985;background:#0b0d10;font-size:10px;letter-spacing:.04em}
.hero-3d-foot{position:absolute;left:clamp(22px,5vw,76px);right:clamp(22px,5vw,76px);bottom:28px;display:flex;justify-content:space-between;color:#70747d;font-size:11px;letter-spacing:.06em}.hero-3d-foot a{color:inherit;text-decoration:none}.hero-3d-foot a span{margin-left:20px;color:#111}
.section-label{letter-spacing:.04em}.philosophy .overline{font-family:var(--font-jp,"Noto Sans JP",sans-serif);letter-spacing:.04em}.type-band-track{gap:.14em}.type-band-track span{font-family:var(--font-jp,"Noto Sans JP",sans-serif);letter-spacing:-.08em;white-space:nowrap}.type-band-track .outline{-webkit-text-stroke-width:1px}.type-band-track i{font-style:normal;font-weight:300;color:var(--local-blue)}
.page-hero{position:relative;isolation:isolate;overflow:hidden;background:#fff}.page-hero-wordmark{position:absolute;right:var(--gutter);top:calc(80px - .15em);z-index:-1;color:#f1f2f5;font:700 clamp(32px,16vw,250px)/1 var(--font-display,Arial,sans-serif);letter-spacing:-.07em;white-space:nowrap;pointer-events:none;user-select:none}.page-hero-wordmark--medium{font-size:clamp(28px,12vw,200px)}.page-hero-wordmark--long{font-size:clamp(24px,10vw,170px)}.page-title.jp-title{max-width:100%;font-family:var(--font-jp,"Noto Sans JP",sans-serif);font-size:clamp(58px,10.5vw,166px);font-weight:650;line-height:1.02;letter-spacing:-.075em}.page-title.jp-title em{color:var(--local-blue);font-style:normal}.page-kicker>span:nth-child(2){font-family:var(--font-jp,"Noto Sans JP",sans-serif);letter-spacing:.04em}.page-cta>div strong{font-family:var(--font-jp,"Noto Sans JP",sans-serif);font-size:clamp(58px,10vw,150px);letter-spacing:-.07em}.editorial-label,.overline{letter-spacing:.04em}.site-footer nav a:last-child{font-family:var(--font-jp,"Noto Sans JP",sans-serif)}
@media(max-width:1040px){.hero-3d{grid-template-columns:1fr;min-height:auto;padding-top:130px;padding-bottom:100px}.hero-3d-copy{display:grid;grid-template-columns:1fr auto;column-gap:30px}.hero-place,.hero-3d h1{grid-column:1/-1}.hero-lead{align-self:end}.hero-actions{align-self:end}.model-lab{width:min(100%,760px);margin:10px auto 0}.model-canvas-wrap{min-height:420px}}
@media(max-width:700px){.hero-3d{padding:104px 18px 84px;gap:34px}.hero-3d-copy{display:block}.hero-place{margin-bottom:25px;font-size:10px}.hero-3d h1{font-size:clamp(40px,12.6vw,63px);line-height:1.05;letter-spacing:-.065em}.hero-3d h1 span:nth-child(2){-webkit-text-stroke-width:1px}.hero-lead{margin-top:24px;font-size:14px;line-height:1.85}.hero-actions{align-items:flex-start;flex-direction:column;gap:8px;margin-top:24px}.model-lab{border-radius:18px}.model-head{padding:16px}.model-head strong{font-size:11px}.model-status{font-size:8px}.model-canvas-wrap{aspect-ratio:1/1;min-height:0}.model-tabs button{padding:14px 5px;font-size:9px}.model-label{font-size:8px}.station-label{left:9%;top:12%}.tram-label{right:8%;top:65%}.model-hint{display:none}.hero-3d-foot{left:18px;right:18px;bottom:25px}.hero-3d-foot>span{display:none}.hero-3d-foot a{margin-left:auto}.type-band-track{font-size:clamp(66px,20vw,110px)}.page-title.jp-title{font-size:clamp(44px,14vw,76px)}}

/* Full-width architectural hero */
.hero-3d{position:relative;display:flex;min-height:max(820px,100svh);padding:120px clamp(20px,4vw,66px) 42px;align-items:center;justify-content:center;background:#071019;color:#fff;overflow:hidden}
.hero-3d:before{content:"UTSUNOMIYA";left:50%;bottom:-.06em;z-index:1;color:transparent;-webkit-text-stroke:1px rgba(226,236,242,.075);font-size:clamp(130px,23vw,370px);letter-spacing:-.09em;transform:translateX(-50%);white-space:nowrap}
.hero-3d:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(4,9,14,.62) 0%,rgba(4,9,14,.22) 36%,rgba(4,9,14,.06) 63%,rgba(4,9,14,.58) 100%),linear-gradient(90deg,rgba(4,9,14,.18),transparent 28%,transparent 72%,rgba(4,9,14,.18));pointer-events:none}
.film-grain{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;opacity:.035;mix-blend-mode:soft-light;image-rendering:auto;transform:translateZ(0);animation:grain-shift 2.4s steps(2,end) infinite}@keyframes grain-shift{0%,100%{transform:translate3d(0,0,0)}25%{transform:translate3d(.1%,-.08%,0)}50%{transform:translate3d(-.08%,.1%,0)}75%{transform:translate3d(.06%,.05%,0)}}
.hero-3d .model-lab{position:absolute;inset:0;z-index:0;width:100%;height:100%;border-radius:0;background:#071019;box-shadow:none;pointer-events:none;transform:translate3d(calc(var(--cursor-x,0px)*.12),calc(var(--cursor-y,0px)*.12),0);transition:transform .85s cubic-bezier(.2,.7,.2,1)}
.hero-3d .model-canvas-wrap{position:absolute;inset:-4%;width:108%;height:108%;min-height:0;aspect-ratio:auto;background:radial-gradient(circle at var(--mx,56%) var(--my,38%),#263b4c 0,#10202d 34%,#071019 72%);cursor:default;transition:background .55s}
.hero-3d .model-canvas-wrap:before{z-index:3;background:radial-gradient(ellipse at 54% 76%,rgba(245,192,100,.065),transparent 36%),linear-gradient(180deg,rgba(132,169,196,.065),transparent 34%);background-size:auto;mask-image:none;opacity:1;mix-blend-mode:screen}
.hero-3d .model-canvas-wrap:after{z-index:3;background:linear-gradient(90deg,rgba(2,7,11,.22),transparent 20%,transparent 80%,rgba(2,7,11,.2));box-shadow:inset 0 -110px 125px rgba(2,6,10,.42),inset 0 72px 105px rgba(2,6,10,.18)}
.hero-3d #inbest-model{opacity:0;filter:saturate(.93) contrast(1.015) brightness(.98);transform:scale(1.045);transform-origin:center 64%;transition:opacity .9s ease,filter .9s ease}.hero-3d.model-ready #inbest-model{opacity:.98}.hero-3d.model-geo-ready #inbest-model{opacity:1;filter:saturate(.96) contrast(1.045) brightness(1.035)}
.hero-3d .model-fallback{inset:20% 25%;opacity:.16;border-color:rgba(152,187,211,.36);box-shadow:0 0 130px rgba(65,115,150,.22);transition:opacity .7s}.hero-3d.model-ready .model-fallback{opacity:0}.hero-3d .model-label{padding:7px 10px;background:rgba(7,15,22,.58);border-color:rgba(221,232,238,.27);border-radius:999px;color:rgba(247,249,250,.88);font-weight:600;letter-spacing:.06em;box-shadow:0 8px 30px rgba(0,0,0,.16);transition:transform .85s cubic-bezier(.2,.7,.2,1)}.hero-3d .model-label:after{border-color:rgba(221,232,238,.32)}.hero-3d .station-label{left:11%;top:29%;transform:translate3d(calc(var(--cursor-x,0px)*-.28),calc(var(--cursor-y,0px)*-.28),0)}.hero-3d .tram-label{right:10%;top:70%;color:#161713;background:rgba(245,212,0,.9);border-color:rgba(255,232,75,.85);transform:translate3d(calc(var(--cursor-x,0px)*.36),calc(var(--cursor-y,0px)*.36),0)}.hero-3d .tram-label:after{border-color:rgba(245,212,0,.8)}
.hero-3d-copy{position:relative;z-index:3;width:100%;max-width:1800px;text-align:center;display:flex;flex-direction:column;align-items:center;transform:translate3d(calc(var(--cursor-x,0px)*-.12),calc(var(--cursor-y,0px)*-.12),0);transition:transform .75s cubic-bezier(.2,.7,.2,1)}
.hero-3d .hero-place{justify-content:center;margin:0 0 clamp(25px,3vw,46px);color:#d9dde5}.hero-3d .hero-place span{border-color:rgba(255,255,255,.45);background:rgba(9,11,15,.35);backdrop-filter:blur(7px)}.hero-3d .hero-place i{background:rgba(255,255,255,.55)}
.hero-3d h1{width:100%;max-width:none;margin:0;font-size:clamp(70px,10.7vw,176px);font-weight:720;line-height:.84;letter-spacing:-.085em;text-wrap:balance;text-shadow:0 5px 32px rgba(0,0,0,.28)}.hero-3d h1 span{display:block}.hero-3d h1 span:nth-child(2){color:transparent;-webkit-text-stroke:clamp(1px,.12vw,2px) #fff}.hero-3d h1 span:last-child:after{background:var(--local-acid);box-shadow:0 0 24px rgba(201,255,59,.5)}
.hero-3d .hero-lead{margin-top:clamp(31px,4vw,60px);color:#e2e5eb;font-size:clamp(14px,1.15vw,18px);line-height:1.9;text-shadow:0 2px 15px #000}.hero-3d .hero-actions{justify-content:center;margin-top:22px}.hero-3d .pill-button{background:#fff;color:#111}.hero-3d .pill-button:hover{background:var(--local-acid)}.hero-3d .button-arrow{background:#111;color:#fff}.hero-3d .hero-text-link{color:#fff;border-color:rgba(255,255,255,.55)}
.hero-3d .model-readout{z-index:2;bottom:27px;color:rgba(221,232,238,.54);font-size:8px;letter-spacing:.13em}.hero-3d-foot{z-index:4;bottom:27px;color:rgba(235,241,244,.74)}.hero-3d-foot>span{display:flex;max-width:min(72vw,780px);align-items:center;gap:9px;line-height:1.55}.hero-3d-foot>span i{width:7px;height:7px;flex:0 0 auto;background:#f5d400;border-radius:50%;box-shadow:0 0 10px rgba(245,212,0,.35)}.model-source-links{display:flex;flex-wrap:wrap;gap:.15em .45em}.hero-3d-foot .model-source-links a{color:inherit;text-decoration:underline;text-decoration-color:rgba(235,241,244,.32);text-underline-offset:3px}.model-source-links em{font-style:normal;color:rgba(235,241,244,.4)}.hero-3d-foot a span{color:#fff}
.site-header:not(.scrolled){color:#fff}.site-header:not(.scrolled) .brand-dot{color:var(--local-acid)}.site-header:not(.scrolled) .header-contact{background:#fff;color:#111}.site-header:not(.scrolled) .menu-toggle span{background:#fff}

/* Lime system below the hero */
main>section:not(.hero-3d) .blue-square,.page-body .blue-square{background:var(--local-acid)}
main>section:not(.hero-3d) .section-label,.page-kicker>span:first-child,.editorial-label,.overline{color:#687a28}
/* Numbered section labels keep their readable olive; other lime accents share the logo color. */
.overline,main>#contact .section-label,.page-kicker>.brand-accent-label{color:var(--brand-lime)}
.local-emphasis,.brand-dot,.scene-copy h3 span,.section-heading h2 span,.why-symbol>span{color:var(--brand-lime)}
.text-link:hover,.service-link:hover,.plan-link:hover{color:var(--brand-lime)}.text-link:after,.section-end-link a:after{background:var(--local-acid)}
.process-line i,.process-dot,.status-dot,.recommend-label{background:var(--local-acid)!important}.price-card.recommended{border-color:var(--brand-lime)}.price-card.recommended:before{background:var(--local-acid)}
.scope-tags li:hover,.service-tags li:hover{border-color:var(--brand-lime);background:var(--brand-lime)}.page-title.jp-title em{color:var(--brand-lime)}.page-cta{background:#101311}.page-cta .blue-square{background:var(--local-acid)}
@media(max-width:900px){.hero-3d{min-height:max(760px,100svh);padding-top:110px}.hero-3d h1{font-size:clamp(58px,13.4vw,112px);line-height:.91}.hero-3d #inbest-model{transform:scale(1.19);transform-origin:center 65%}.hero-3d .station-label{left:5%;top:26%}.hero-3d .tram-label{right:5%;top:71%}}
@media(max-width:600px){.hero-3d{min-height:810px;padding:100px 14px 74px}.hero-3d:before{font-size:44vw;bottom:.08em}.hero-3d h1{font-size:clamp(48px,15.4vw,78px);line-height:.96;letter-spacing:-.075em}.hero-3d .hero-place{margin-bottom:29px}.hero-3d .hero-lead{margin-top:29px;font-size:13px}.hero-3d .hero-actions{gap:5px;margin-top:16px}.hero-3d .hero-actions .hero-text-link{display:none}.hero-3d.model-ready #inbest-model{opacity:.78}.hero-3d #inbest-model{transform:scale(1.48);transform-origin:52% 68%}.hero-3d .station-label{left:4%;top:31%}.hero-3d .tram-label{right:4%;top:69%}.hero-3d .model-readout{display:none}.hero-3d-foot{bottom:20px}.hero-3d-foot>span{display:none}}

/* Three layers: message, unobstructed city, then business actions and credits. */
.hero-3d{--hero-frame-height:max(840px,100svh);flex-direction:column;justify-content:flex-start;align-items:flex-start;min-height:var(--hero-frame-height);padding:104px max(var(--gutter),env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(var(--gutter),env(safe-area-inset-left));gap:0}
.hero-3d .hero-3d-copy{flex:1;width:100%;max-width:none;min-width:0;min-height:0;text-align:left;align-items:flex-start;align-self:flex-start;transform:none}
.hero-3d h1{display:block;height:auto;min-height:0;font-size:clamp(3.25rem,min(10vw,13svh),12.5rem);font-weight:800;line-height:1.02;letter-spacing:-.065em;text-wrap:balance;text-shadow:0 3px 24px rgb(3 10 16 / 18%)}
.hero-3d h1>span{display:block;white-space:normal;overflow-wrap:anywhere}
.hero-3d h1>span:nth-child(2){color:inherit;-webkit-text-stroke-width:0}
.hero-3d h1>span:last-child{font-size:1.08em}
.hero-3d h1>span:last-child:after{display:none}
.hero-3d .hero-place{position:absolute;top:12px;right:0;max-width:15em;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin:0;font-size:.75rem;text-align:right;color:#e2e9ed}
.hero-3d .hero-place i{display:none}
.hero-3d .hero-place span{background:rgb(17 47 70 / 65%);backdrop-filter:none}
.hero-3d .hero-scene{display:flex;flex:1 0 clamp(128px,16svh,224px);align-items:flex-end;justify-content:flex-end;width:100%;padding:24px 0;position:relative}
.hero-3d .hero-support{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px 40px;width:100%;margin:0;padding:0;border:0}
.hero-3d .hero-lead{max-width:34em;font-size:clamp(1rem,1.15vw,1.125rem);line-height:1.85;margin:0;color:#fff;text-wrap:pretty}
.hero-3d .hero-actions{justify-content:flex-end;align-items:center;flex-direction:row;flex-wrap:wrap;gap:32px;margin:0}
.hero-3d .hero-actions .pill-button{min-width:220px;min-height:56px;justify-content:space-between;margin:0;white-space:nowrap}
.hero-3d .hero-actions .hero-text-link{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;white-space:nowrap}
.hero-3d :is(.hero-actions a,.hero-3d-foot a):focus-visible{outline:3px solid var(--local-acid);outline-offset:5px}
.hero-3d .hero-3d-foot{position:relative;inset:auto;align-items:center;flex-wrap:wrap;gap:12px 24px;width:100%;margin-top:24px;font-size:12px;color:#f1f5f8}
.hero-3d .hero-3d-foot>span{max-width:100%;font-size:inherit}
.hero-3d .hero-3d-foot>a{display:inline-flex;align-items:center;min-height:44px}
.hero-3d .model-source-links{gap:6px}
.hero-3d .model-source-links a{display:inline-flex;align-items:center;min-height:24px}
.hero-3d:after{background:linear-gradient(180deg,#08141dd9 0%,#08141da6 15%,#08141d40 31%,#08141d08 43%,transparent 65%,#08141d52 76%,#08141dba 90%,#08141de0 100%)}
.hero-3d .model-lab{transform:none;margin:0}
.hero-3d .model-canvas-wrap{inset:0;width:100%;height:100%;touch-action:pan-y}
.hero-3d .model-canvas-wrap:before{display:none}
.hero-3d .model-canvas-wrap:after{box-shadow:none;background:none}
.hero-3d #inbest-model{transform:none;filter:none;opacity:0;transition:none}
.hero-3d.model-geo-ready #inbest-model{opacity:1}
.city-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;opacity:1;z-index:1}
/* The poster is a fallback only, never an intermediate live-3D frame. */
.city-render-pending .city-poster,.model-loading .city-poster,.model-ready .city-poster{opacity:0;visibility:hidden}
.model-unavailable .city-poster{opacity:1;visibility:visible}
.city-preview .city-poster{display:none}
.hero-3d .model-label{display:none}
.hero-3d .film-grain{opacity:.014}
.hero-3d .model-readout{display:none}
.city-preview .site-header,.city-preview .hero-3d-copy,.city-preview .hero-3d-foot,.city-preview .film-grain,.city-preview main>section:not(.hero-3d),.city-preview .site-footer{display:none!important}
.city-preview .hero-3d:before,.city-preview .hero-3d:after{display:none}
.city-preview .hero-3d{min-height:100svh;height:100svh;padding:0}
.hero-3d:before{opacity:.3;font-size:19vw}
@media(max-width:1100px){
  .hero-3d .hero-support{grid-template-columns:1fr;gap:20px}
  .hero-3d .hero-actions{justify-content:flex-start}
}
@media(max-width:900px){
  .hero-3d{--hero-frame-height:max(860px,100svh);padding-top:104px}
  .hero-3d .model-lab{top:0;height:100%;mask-image:none}
  .hero-3d .city-poster{object-position:70% 50%}
  .hero-3d .hero-3d-foot>span{display:flex;max-width:100%}
  .hero-3d .hero-3d-foot>a{display:none}
}
@media(max-width:760px){
  .hero-3d .hero-3d-copy{container-type:inline-size;min-height:0}
  .hero-3d h1{display:block;height:auto;min-height:0;font-size:clamp(2rem,13.4cqi,6rem);line-height:1.06;letter-spacing:-.075em}
  .hero-3d h1>span:last-child{font-size:1em}
  .hero-3d:after{background:linear-gradient(180deg,#08141dd9 0%,#08141da6 30%,#08141d40 43%,transparent 51%,#08141d12 55%,#08141d85 68%,#08141dc4 83%,#08141de8 100%)}
  .hero-3d .hero-scene{flex-basis:224px;justify-content:flex-start}
  .hero-3d .hero-support{gap:22px;margin:0;padding:0}
  .hero-3d .hero-place{position:static;max-width:none;justify-content:flex-start;text-align:left;gap:10px;margin:0 0 18px}
  .hero-3d .hero-lead{font-size:1rem;line-height:1.85}
  .hero-3d .hero-actions{gap:12px 24px}
}
@media(max-width:600px){
  .hero-3d{padding:104px max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
  .hero-3d .hero-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%}
  .hero-3d .hero-actions .pill-button{width:100%;min-width:0}
  .hero-3d .hero-actions .hero-text-link{justify-self:start}
  .hero-3d .hero-3d-foot{margin-top:24px}
}

/* Auto-scrolling real work reel */
.works-section{padding-left:0;padding-right:0;overflow:hidden;background:#f7f8f4}.works-section>.section-heading,.works-section>.works-facts,.works-section>.section-end-link,.works-section>.reel-note{margin-left:var(--gutter);margin-right:var(--gutter)}
.works-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:46px;margin-bottom:34px}.works-facts span{padding:9px 13px;border:1px solid #cbd0c0;border-radius:999px;color:#4c543d;background:#fff;font-size:11px;font-weight:650}
.work-reel{width:100%;overflow:hidden}.work-reel-track{display:flex;width:max-content;will-change:transform;animation:work-reel 18s infinite}.work-reel:hover .work-reel-track,.work-reel:focus-within .work-reel-track{animation-play-state:paused}.work-reel-set{display:flex;gap:clamp(16px,2vw,30px);padding-right:clamp(16px,2vw,30px)}@keyframes work-reel{0%,16%{transform:translateX(0)}16%{animation-timing-function:cubic-bezier(.16,1,.3,1)}27.5%,42%{transform:translateX(-16.6667%)}42%{animation-timing-function:cubic-bezier(.16,1,.3,1)}53.5%,68%{transform:translateX(-33.3333%)}68%{animation-timing-function:cubic-bezier(.16,1,.3,1)}79.5%,100%{transform:translateX(-50%)}}
.work-slide{display:block;width:min(76vw,1080px);flex:none}.work-slide figure{position:relative;margin:0;background:#101317;overflow:hidden;border-radius:4px;box-shadow:0 24px 70px rgba(29,35,23,.15)}.work-slide img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.work-slide:hover img{transform:scale(1.018);filter:brightness(.83)}.work-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:clamp(22px,3vw,44px);display:grid;grid-template-columns:1fr auto;gap:8px 28px;align-items:end;color:#fff;background:linear-gradient(transparent,rgba(5,7,9,.86))}.work-slide figcaption span{grid-column:1/-1;color:var(--local-acid);font:700 10px/1 var(--font-display,Arial,sans-serif);letter-spacing:.15em}.work-slide figcaption strong{font-family:var(--font-jp,"Noto Sans JP",sans-serif);font-size:clamp(24px,2.9vw,46px);letter-spacing:-.045em}.work-slide figcaption small{max-width:320px;font-size:12px;line-height:1.7;color:#d6d9dc;text-align:right}.result-slide figcaption{background:linear-gradient(transparent,rgba(13,17,10,.88))}.reel-note{margin-top:15px;color:#7a8071;font-size:10px;letter-spacing:.06em}
.browser-mockup{position:relative;overflow:hidden;background:#0b0d10;border:1px solid rgba(255,255,255,.24);border-radius:12px 12px 5px 5px;box-shadow:0 28px 75px rgba(0,0,0,.3),0 0 0 1px rgba(10,12,14,.22);transform:translateZ(0)}.browser-bar{height:34px;padding:0 13px;display:flex;align-items:center;gap:6px;background:linear-gradient(#f7f8f8,#dfe2e3);border-bottom:1px solid #b8bdc0;color:#4b5054;font:650 8px/1 var(--font-display,Arial,sans-serif);letter-spacing:.1em}.browser-bar i{width:7px;height:7px;border-radius:50%;background:#aeb4b7}.browser-bar i:first-child{background:#ff6b5f}.browser-bar i:nth-child(2){background:#f5c34a}.browser-bar i:nth-child(3){background:#65c466}.browser-bar span{margin:auto}.browser-bar b{font-size:12px}.browser-mockup img{display:block;width:100%;height:auto}.work-slide .browser-mockup{margin:clamp(18px,2.4vw,36px);margin-bottom:0;transform:perspective(1500px) rotateX(.8deg);transform-origin:center bottom}.work-slide:hover .browser-mockup{box-shadow:0 35px 90px rgba(0,0,0,.42),0 0 0 1px rgba(201,255,59,.38)}.mockup-stage{padding:clamp(18px,3vw,46px);background:radial-gradient(circle at 50% 20%,#31373c,#15181b 68%)}.mockup-stage>.browser-mockup{box-shadow:0 35px 95px rgba(0,0,0,.48)}.actual-work-image.mockup-stage{display:block}.actual-work-image.mockup-stage img{aspect-ratio:auto}.work-detail-visual.mockup-stage{padding:clamp(22px,4vw,65px);background:radial-gradient(circle at 50% 10%,#353b42,#14171a 72%)}.work-detail-visual.mockup-stage figcaption{margin:17px 0 -34px;color:#aeb4b9}.work-detail-visual.mockup-stage .browser-bar{height:42px;padding-inline:17px}.work-detail-visual.mockup-stage .browser-bar i{width:9px;height:9px}
.responsive-mockup{position:relative;isolation:isolate;aspect-ratio:16/9;padding:clamp(30px,4.3vw,68px) clamp(54px,7vw,116px) clamp(40px,5.5vw,86px);overflow:hidden;background:radial-gradient(circle at 72% 24%,rgba(201,255,59,.2),transparent 28%),radial-gradient(circle at 18% 82%,rgba(255,255,255,.1),transparent 34%),linear-gradient(145deg,#2a3034,#0d1013 75%)}.responsive-mockup:before{content:"RESPONSIVE / DESKTOP + MOBILE";position:absolute;top:18px;left:20px;z-index:-1;color:rgba(255,255,255,.5);font:700 clamp(7px,.65vw,10px)/1 var(--font-display,Arial,sans-serif);letter-spacing:.16em}.responsive-mockup:after{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(135deg,#000,transparent 72%)}
.macbook-mockup{position:relative;width:88%;filter:drop-shadow(0 28px 34px rgba(0,0,0,.44));transform:perspective(1400px) rotateX(1.8deg) rotateY(-1deg);transform-origin:center bottom;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .8s}.mac-screen{overflow:hidden;border:clamp(5px,.65vw,10px) solid #101317;border-bottom-width:clamp(8px,.95vw,14px);border-radius:clamp(8px,1vw,15px) clamp(8px,1vw,15px) 4px 4px;background:#050607;box-shadow:inset 0 0 0 1px #30363b}.mac-screen img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:top}.mac-base{position:relative;height:clamp(9px,1vw,15px);margin:-1px -5% 0;background:linear-gradient(180deg,#e5e7e8,#969ca0 55%,#6d7377);clip-path:polygon(4% 0,96% 0,100% 70%,98% 100%,2% 100%,0 70%)}.mac-base i{position:absolute;left:43%;top:0;width:14%;height:35%;border-radius:0 0 8px 8px;background:#8d9397;box-shadow:inset 0 1px rgba(255,255,255,.45)}
.phone-mockup{position:absolute;right:5%;bottom:7%;z-index:3;width:18%;aspect-ratio:9/18.5;overflow:hidden;border:clamp(4px,.55vw,8px) solid #090c0f;border-radius:clamp(15px,2vw,30px);background:#000;box-shadow:0 25px 46px rgba(0,0,0,.62),0 0 0 1px #444a4e;transform:rotate(2deg);transition:transform .8s cubic-bezier(.2,.7,.2,1),box-shadow .8s}.phone-mockup>span{position:absolute;top:4px;left:50%;z-index:2;width:34%;height:clamp(5px,.55vw,8px);border-radius:999px;background:#080a0c;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(255,255,255,.08)}.phone-mockup img,.work-slide .phone-mockup img,.actual-work-image .phone-mockup img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:top;transform:none;filter:none}.work-slide:hover .macbook-mockup,.actual-work-image:hover .macbook-mockup{transform:perspective(1400px) rotateX(.5deg) translateY(-5px);filter:drop-shadow(0 35px 44px rgba(0,0,0,.52))}.work-slide:hover .phone-mockup,.actual-work-image:hover .phone-mockup{transform:rotate(0) translateY(-7px);box-shadow:0 32px 55px rgba(0,0,0,.7),0 0 0 1px rgba(201,255,59,.4)}.work-slide:hover .responsive-mockup img{filter:none}.work-detail-visual>.responsive-mockup{border-radius:3px}.work-detail-visual>.responsive-mockup .browser-bar{height:42px;padding-inline:17px}.work-detail-visual>.responsive-mockup .browser-bar i{width:9px;height:9px}
.works-index-grid{display:grid;gap:80px}.actual-work{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:clamp(28px,5vw,80px);align-items:start}.actual-work:nth-child(even){grid-template-columns:minmax(280px,.6fr) minmax(0,1.4fr)}.actual-work:nth-child(even) .actual-work-image{order:2}.actual-work-image{position:relative;background:#111;overflow:hidden}.actual-work-image img{width:100%;aspect-ratio:16/9;object-fit:cover}.actual-work-image:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.18);pointer-events:none}.actual-work-copy{padding-top:14px}.actual-work-copy>span{color:var(--brand-lime);font-size:11px;font-weight:700;letter-spacing:.1em}.actual-work-copy h2{margin:18px 0;font-size:clamp(30px,4vw,60px);line-height:1.18;letter-spacing:-.055em}.actual-work-copy p{color:#666c62;line-height:2}.actual-work-stat{margin:30px 0;padding:24px 0;border-top:1px solid #dfe2d9;border-bottom:1px solid #dfe2d9}.actual-work-stat strong{display:block;color:var(--brand-lime);font:760 clamp(54px,7vw,98px)/.9 var(--font-display,Arial,sans-serif);letter-spacing:-.06em}.actual-work-stat small{display:block;margin-top:12px;color:#555b52;font-size:12px}.actual-work-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px}.actual-work-tags span{padding:8px 11px;background:#f3f7e6;border-radius:999px;font-size:10px}.actual-work .text-link{margin-top:25px}
.work-detail-visual{margin:0 0 90px}.work-detail-visual img{width:100%;height:auto}.work-detail-visual figcaption{margin-top:12px;color:#73786f;font-size:11px}.work-detail-lead{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,90px);margin-bottom:90px}.work-detail-lead h2{font-size:clamp(34px,5vw,70px);line-height:1.12;letter-spacing:-.06em}.work-detail-lead p{font-size:16px;line-height:2;color:#676c64}.result-number{padding:55px 0;border-block:1px solid #dce0d5;text-align:center}.result-number span{display:block;color:#6b725f;font-size:12px}.result-number strong{display:block;color:var(--brand-lime);font:800 clamp(92px,17vw,250px)/.9 var(--font-display,Arial,sans-serif);letter-spacing:-.08em}.result-number small{font-size:13px;color:#666c62}
@media(max-width:800px){.work-slide{width:88vw}.work-slide figcaption{grid-template-columns:1fr}.work-slide figcaption small{text-align:left}.actual-work,.actual-work:nth-child(even){grid-template-columns:1fr;gap:20px}.actual-work:nth-child(even) .actual-work-image{order:0}.works-index-grid{gap:65px}.work-detail-lead{grid-template-columns:1fr}.responsive-mockup{padding:28px 48px 44px}.phone-mockup{right:4%;width:20%;bottom:6%}}
@media(max-width:600px){.work-slide{width:92vw}.work-slide figcaption{padding:18px}.work-slide figcaption strong{font-size:22px}.work-slide figcaption small{display:none}.work-reel-track{animation-duration:16s}.works-facts{margin-top:28px}.film-grain{opacity:.075}.responsive-mockup{aspect-ratio:1.22/1;padding:35px 25px 44px}.responsive-mockup:before{top:14px;left:14px}.macbook-mockup{width:94%;transform:perspective(1200px) rotateX(1deg)}.phone-mockup{right:3%;bottom:5%;width:25%;border-width:4px}.browser-bar{height:25px;padding-inline:8px}.browser-bar i{width:5px;height:5px}.browser-bar span{font-size:6px}.work-detail-visual>.responsive-mockup .browser-bar{height:28px;padding-inline:9px}.work-detail-visual>.responsive-mockup .browser-bar i{width:6px;height:6px}}
