/* Equal-size, unrotated artwork cards with three independent horizontal rows. */
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:15px 0 25px}.gallery-toolbar p{font-size:12px;line-height:2.1}.gallery-toolbar button{border:1px solid #9aa6a1;border-radius:30px;font-size:10px;padding:9px 17px;white-space:nowrap}.works .work-filters{margin:0 0 30px}.horizontal-portfolio{display:grid;gap:30px;margin:0 -2%}.gallery-row-wrap{min-width:0;position:relative}.gallery-row{display:flex;gap:22px;overflow-x:auto;overflow-y:hidden;padding:8px 6px 14px;scrollbar-width:thin;scrollbar-color:#b7c0bb transparent;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scroll-behavior:auto}.gallery-row:focus-visible{outline:2px solid #527a71;outline-offset:4px}.gallery-card{flex:0 0 276px;width:276px;height:302px;background:#fff;border:1px solid #e6e8e3;border-radius:4px;overflow:hidden;box-shadow:0 3px 12px #1c302405}.gallery-image{position:relative;width:100%;height:242px;padding:17px;background:#f5f5f0;display:flex;justify-content:center;align-items:center;overflow:hidden}.gallery-image img{width:100%;height:100%;object-fit:contain;transform:none;transition:transform .5s}.gallery-image:hover img{transform:scale(1.035)}.gallery-expand{position:absolute;right:10px;bottom:10px;border-radius:50%;background:#fffc;display:grid;place-items:center;width:26px;height:26px;font-size:15px;opacity:0;transition:opacity .2s}.gallery-image:hover .gallery-expand,.gallery-image:focus-visible .gallery-expand{opacity:1}.gallery-caption{padding:10px 14px!important;display:block!important}.gallery-caption h3{font-family:var(--sans);font-size:11px!important;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.7}.gallery-caption>span{display:block;font:8px/1.8 var(--latin);letter-spacing:1px;color:#88928b;margin-top:2px}.row-controls{display:flex;justify-content:flex-end;gap:6px;padding:7px 6px 0}.row-controls button{width:32px;height:29px;border:1px solid #ccd2cc;border-radius:20px;display:grid;place-items:center;font-size:15px}.row-controls button:hover{background:#dfe5de}.gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:35px}.gallery-footer>span{font:9px var(--latin);letter-spacing:2px;color:#697a73}.gallery-footer .pill-link{font-size:11px}.works{padding-bottom:85px}
.graphic-pricing{padding:110px 8% 100px;background:#fafafa;color:#252724;text-align:center;scroll-margin-top:90px}.graphic-pricing h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,4vw,54px);font-weight:500;letter-spacing:.14em;text-transform:uppercase;line-height:1.4;margin-bottom:80px}.graphic-price-list{margin:0 auto;max-width:1100px;text-align:left;font-family:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif}.graphic-price-list>div{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #dededb;padding:34px 0}.graphic-price-list dt{font-size:clamp(17px,2vw,27px);letter-spacing:.09em}.graphic-price-list dd{margin:0;font-size:clamp(19px,2vw,28px);font-family:Georgia,'Times New Roman',serif;color:#969992;white-space:nowrap;font-weight:400}.graphic-price-note{max-width:850px;margin:75px auto 0;padding:38px 25px;background:#fffdfc;border:1px solid #eee1d8;border-radius:12px;color:#bd8b77;font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:16px;letter-spacing:.1em;line-height:2.5}.graphic-price-note p{margin:0}.graphic-price-cta{display:inline-flex;gap:30px;align-items:center;margin-top:34px;padding:12px 8px;border-bottom:1px solid #8a9991;font-size:12px}.graphic-price-cta span{font-size:20px}
@media(max-width:760px){.gallery-toolbar{align-items:flex-start;flex-direction:column;gap:15px}.gallery-toolbar p{font-size:11px}.gallery-toolbar button{align-self:flex-end}.horizontal-portfolio{margin:0 -3%;gap:24px}.gallery-row{gap:15px}.gallery-card{flex-basis:238px;width:238px;height:270px}.gallery-image{height:210px;padding:14px}.gallery-expand{opacity:1}.gallery-footer{align-items:flex-start;flex-direction:column;margin-top:25px}.works .work-filters{flex-wrap:wrap;gap:8px;margin-bottom:22px}.works{padding-bottom:55px}.graphic-pricing{padding:65px 7%}.graphic-pricing h2{font-size:28px;letter-spacing:.08em;margin-bottom:35px}.graphic-price-list>div{gap:12px;padding:26px 0}.graphic-price-list dt{font-size:15px;letter-spacing:.025em}.graphic-price-list dd{font-size:18px}.graphic-price-note{margin-top:40px;padding:24px 17px;font-size:12px;letter-spacing:.04em;line-height:2.2}.graphic-price-note p+p{margin-top:9px}}
.graphic-price-list dt{font-weight:400}.graphic-price-note{font-weight:400}
/* Editorial gallery: artwork, fine typography, open space. No card containers. */
.works{background:#f4f3ef;padding-top:100px;padding-bottom:80px;border-radius:0}.works .section-kicker{font-size:9px;letter-spacing:2px;color:#777b72}.works-heading{align-items:flex-end;margin:54px 0 50px;padding-bottom:0}.works-heading .display-title{font-family:var(--latin);font-size:clamp(70px,10vw,150px);font-weight:500;line-height:.83;letter-spacing:-.08em}.works-heading .title-outline{font:400 clamp(12px,1.3vw,18px)/1.5 var(--latin);letter-spacing:.28em;color:#737b71!important;margin-top:25px}.works-heading .yellow-star{display:none}.works-heading>p{font-size:11px;color:#747b72;line-height:2.3}.gallery-toolbar{margin:0 0 30px;border-top:1px solid #d5d8cf;padding-top:22px}.gallery-toolbar p{font-size:11px;color:#727a70}.gallery-toolbar button{border:0;border-bottom:1px solid #a8b0a3;border-radius:0;padding:8px 0;font:9px var(--latin);letter-spacing:.12em}.works .work-filters{border:0;margin-bottom:32px;gap:25px}.works .work-filters button{border:0;border-radius:0;padding:7px 0;background:none;font:10px var(--latin);letter-spacing:.13em;color:#8b9287}.works .work-filters button.active{color:#1c2921;border-bottom:1px solid #1c2921;background:none}.horizontal-portfolio{margin:0 calc(-5.55%);gap:40px;overflow:hidden}.gallery-row{display:block;overflow:hidden;padding:0;scrollbar-width:none;touch-action:pan-y;cursor:grab;outline-offset:-2px}.gallery-row:active{cursor:grabbing}.gallery-track{display:flex;width:max-content;animation:studioFlow 110s linear infinite;will-change:transform}.gallery-row-wrap:nth-child(2) .gallery-track{animation-direction:reverse}.gallery-group{display:flex;gap:32px;padding-right:32px;align-items:start}.gallery-card{flex:0 0 350px;width:350px;height:318px;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}.gallery-image{height:266px;padding:0;background:none;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden}.gallery-image img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform .8s cubic-bezier(.2,.7,.2,1);filter:none}.gallery-image:hover img{transform:scale(1.025)}.gallery-expand{background:#f4f3ef;border-radius:0;width:25px;height:25px;right:0;bottom:0}.gallery-caption{display:flex!important;align-items:baseline;justify-content:space-between;gap:8px;padding:15px 0 0!important;border-top:1px solid #d7dacf;margin-top:12px}.gallery-caption h3{font-size:10px!important;letter-spacing:.025em;font-weight:400;max-width:76%}.gallery-caption>span{font-size:7px;letter-spacing:.08em;margin:0;white-space:nowrap;color:#92998d}.row-controls{display:none}.gallery-footer{border-top:1px solid #d4d8ce;margin-top:40px;padding-top:27px}.gallery-footer .pill-link{border:0;border-radius:0;border-bottom:1px solid #a3aea0;padding:8px 0;background:none;font-weight:400;font-size:10px}.gallery-footer .pill-link span{font-size:19px}.gallery-footer>span{font-size:8px;letter-spacing:.2em}.gallery-paused .gallery-track,.gallery-offscreen .gallery-track,.motion-off .gallery-track{animation-play-state:paused!important}.gallery-row:focus-within .gallery-track{animation-play-state:paused}.gallery-image:focus-visible{outline-offset:-3px}.gallery-echo [hidden]{display:none!important}
@keyframes studioFlow{to{transform:translateX(-50%)}}
@media(min-width:1400px){.gallery-card{flex-basis:420px;width:420px;height:370px}.gallery-image{height:318px}}
@media(max-width:760px){.works{padding-top:65px}.works-heading{margin:34px 0 35px}.works-heading .display-title{font-size:76px}.works-heading .title-outline{font-size:10px;margin-top:18px;letter-spacing:.23em}.gallery-toolbar{gap:15px}.works .work-filters{gap:20px;flex-wrap:wrap}.works .work-filters button{font-size:9px}.horizontal-portfolio{margin:0 -7%;gap:28px}.gallery-group{gap:24px;padding-right:24px}.gallery-card{width:260px;flex-basis:260px;height:264px}.gallery-image{height:214px}.gallery-caption{padding-top:11px!important;margin-top:10px}.gallery-caption h3{font-size:9px!important;max-width:70%}.gallery-caption>span{font-size:6px}.gallery-track{animation-duration:85s}}
@media(prefers-reduced-motion:reduce){.gallery-track{animation-play-state:paused}.gallery-row{overflow-x:auto}.gallery-echo{display:none}}
@keyframes studioFlow{to{transform:translateX(calc(-1 * var(--studio-distance,3056px)))}}
@media(max-width:760px){.horizontal-portfolio{margin-left:-6vw;margin-right:-6vw}}
/* Two rows, consistent image widths and gutters; preserve whole artworks. */
.gallery-toolbar{margin-bottom:34px}.horizontal-portfolio{gap:28px}.gallery-group{gap:26px;padding-right:26px}.gallery-card{width:300px;flex-basis:300px;height:412px}.gallery-image{width:100%;height:350px;align-items:center}.gallery-image img{width:100%;height:100%;object-fit:contain;object-position:center;background:transparent}.gallery-caption{margin-top:10px;padding-top:12px!important}.gallery-caption h3{max-width:72%}.gallery-row:focus-within .gallery-track{animation-play-state:running}
@media(min-width:1400px){.gallery-card{width:340px;flex-basis:340px;height:452px}.gallery-image{height:390px}}
@media(max-width:760px){.gallery-toolbar{margin-bottom:25px}.horizontal-portfolio{gap:22px}.gallery-group{gap:20px;padding-right:20px}.gallery-card{width:230px;flex-basis:230px;height:320px}.gallery-image{height:266px}.gallery-caption h3{max-width:72%}}
.gallery-image img{object-fit:cover}.gallery-image:hover img{transform:scale(1.02)}
/* The pricing belongs to the portfolio introduction, not a separate tall section. */
.works-intro-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:7%;align-items:center;margin:34px 0 48px;padding-bottom:35px;border-bottom:1px solid #d4d8ce}.works-intro-copy .works-heading{display:block;margin:0 0 25px}.works-intro-copy .works-heading .display-title{font-size:clamp(64px,7.5vw,112px);font-weight:400}.works-intro-copy .works-heading .title-outline{font-family:var(--latin);font-size:11px!important;letter-spacing:.22em;line-height:1.7;margin-top:18px}.works-intro-copy .works-heading>p{margin-top:28px;font-family:var(--sans);font-size:11px;font-weight:400;letter-spacing:.03em;line-height:2.2;color:#737c72}.works-intro-copy .gallery-toolbar{margin:0;padding:0;border:0}.works-intro-copy .gallery-toolbar p{font-size:10px;line-height:2.2;color:#8a9187}
.works-intro-layout .graphic-pricing{padding:0;background:none;text-align:left;scroll-margin-top:100px;color:#253029}.works-intro-layout .graphic-pricing h2{font:500 11px/1.5 var(--latin);letter-spacing:.19em;text-transform:uppercase;margin:0 0 18px;color:#53614f}.works-intro-layout .graphic-price-list{font-family:var(--sans);margin:0;max-width:none}.works-intro-layout .graphic-price-list>div{padding:12px 0;border-color:#daddd3;gap:15px}.works-intro-layout .graphic-price-list dt{font-family:var(--sans);font-size:12px;font-weight:400;letter-spacing:.025em}.works-intro-layout .graphic-price-list dd{font:400 17px/1.5 var(--latin);letter-spacing:-.025em;color:#6d7869;font-variant-numeric:tabular-nums}.works-intro-layout .graphic-price-note{margin:19px 0 0;padding:0;background:none;border:0;border-radius:0;font-family:var(--sans);font-size:9px;font-weight:400;line-height:2;letter-spacing:.025em;color:#899180;max-width:none}.works-intro-layout .graphic-price-note p+p{margin:2px 0 0}.works-intro-layout .graphic-price-cta{font:400 10px/1.5 var(--sans);margin-top:13px;padding:7px 0;gap:24px;border-color:#b6bfb0}.works-intro-layout .graphic-price-cta span{font-size:16px}
@media(max-width:900px){.works-intro-layout{gap:5%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.works-intro-copy .works-heading .display-title{font-size:68px}.works-intro-layout .graphic-price-list dt{font-size:10px}.works-intro-layout .graphic-price-list dd{font-size:15px}.works-intro-layout .graphic-price-note{font-size:8px}.works-intro-copy .works-heading>p{font-size:10px}.works-intro-copy .gallery-toolbar p{font-size:9px}}
@media(max-width:600px){.works-intro-layout{grid-template-columns:1fr;gap:32px;margin:28px 0 30px;padding-bottom:28px}.works-intro-copy .works-heading{margin-bottom:18px}.works-intro-copy .works-heading .display-title{font-size:64px}.works-intro-copy .works-heading>p{margin-top:18px}.works-intro-copy .gallery-toolbar{display:none}.works-intro-layout .graphic-pricing h2{font-size:10px;margin-bottom:10px}.works-intro-layout .graphic-price-list>div{padding:11px 0}.works-intro-layout .graphic-price-list dt{font-size:11px}.works-intro-layout .graphic-price-list dd{font-size:16px}.works-intro-layout .graphic-price-note{font-size:9px;margin-top:14px}}
.visual-services .web-sample-scene{transform:none!important}.web-sample-grid{position:absolute;inset:4% 0 8%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;align-content:center}.web-sample-grid figure{margin:0;min-width:0}.web-sample-grid img{width:100%;height:auto;max-height:29vh;object-fit:contain;filter:drop-shadow(0 8px 12px #172c2014);transform:none!important}.web-sample-grid figcaption{font:8px/1.5 var(--latin);letter-spacing:1.3px;color:#687b71;margin-top:9px}.web-sample-scene .visual-floating-word{font-size:9px;right:0;top:-14px}.web-sample-scene .visual-caption{bottom:0}
@media(max-width:760px){.web-sample-grid{inset:0 0 10%;gap:12px 13px}.web-sample-grid img{max-height:19svh}.web-sample-grid figcaption{font-size:6px;letter-spacing:.7px;margin-top:5px}.web-sample-scene .visual-floating-word{top:-20px;font-size:7px}.web-sample-scene .visual-caption{font-size:7px}}
.visual-services .sns-case-scene{transform:none!important}.sns-carousel{position:absolute;inset:8% -5% 12% 0;overflow:hidden;touch-action:pan-y;cursor:grab}.sns-carousel:active{cursor:grabbing}.sns-track{display:flex;width:max-content;animation:snsCaseFlow 105s linear infinite;will-change:transform}.sns-group{display:flex;gap:24px;padding-right:24px}.sns-group figure{width:440px;flex:0 0 440px;margin:0}.sns-group img{width:100%;height:auto;max-height:54vh;object-fit:contain;user-select:none;pointer-events:none;transform:none!important}.sns-group figcaption{font:8px/1.5 var(--latin);letter-spacing:1.6px;color:#788375;margin-top:15px}.sns-case-scene .visual-floating-word{top:-12px;right:0;font-size:9px}.sns-case-scene .visual-caption{bottom:0;font-size:9px}.sns-case-scene:not(.active) .sns-track,.motion-off .sns-track,.sns-carousel:hover .sns-track{animation-play-state:paused}.sns-carousel.dragging .sns-track{animation-play-state:paused!important}@keyframes snsCaseFlow{to{transform:translateX(-50%)}}
@media(max-width:760px){.sns-carousel{inset:4% -7% 12% 0}.sns-group{gap:15px;padding-right:15px}.sns-group figure{width:300px;flex-basis:300px}.sns-group img{max-height:32svh}.sns-group figcaption{font-size:6px;margin-top:8px}.sns-case-scene .visual-caption{font-size:7px}.sns-case-scene .visual-floating-word{font-size:7px;top:-20px}}
@media(prefers-reduced-motion:reduce){.sns-track{animation:none;transform:none}.sns-carousel{overflow-x:auto;touch-action:pan-x pan-y}.sns-group[aria-hidden]{display:none}}
/* Keep the web examples close to the section header instead of vertically centering a short grid. */
@media(min-width:761px){.visual-services[data-active="0"] .service-visual-area{align-self:stretch;max-height:none}.web-sample-grid{inset:24px 0 auto;align-content:start}.web-sample-scene .visual-floating-word{top:0}.web-sample-scene .visual-caption{bottom:25px}}
@media(max-width:760px){.web-sample-grid{align-content:start;top:8px}.web-sample-scene .visual-floating-word{top:-10px}}
.visual-services .scene-line .visual-card-main{transform:none;overflow:hidden;background:none;padding:0;box-shadow:none;border-radius:3px}.visual-services .scene-line .visual-card-main img{width:100%;height:100%;object-fit:contain;transform:none}.service-copy[data-scene="3"] h3{font-size:clamp(22px,2.6vw,38px);line-height:1.65;letter-spacing:-.02em}.service-copy[data-scene="3"] h3+p{line-height:2}
@media(max-width:760px){.service-copy[data-scene="3"] h3{font-size:21px;line-height:1.5}.service-copy[data-scene="3"] h3+p{font-size:10px}}

.service-copy[data-scene="3"] h3{font-size:clamp(20px,2.1vw,30px);line-height:1.75}
.visual-services .scene-sheets .visual-card-main{transform:none;box-shadow:none;border:0;background:none;padding:0;overflow:visible}.visual-services .scene-sheets .visual-card-main img{width:100%;height:100%;object-fit:contain;transform:none}.service-copy[data-scene="4"] h3{font-size:clamp(24px,2.7vw,40px);line-height:1.7}.service-copy[data-scene="4"] h3+p{line-height:2.1}
@media(max-width:760px){.service-copy[data-scene="4"] h3{font-size:23px;line-height:1.5}}
.visual-services .scene-ai .visual-card-main{transform:none;box-shadow:none;border:0;background:none;padding:0;overflow:visible}.visual-services .scene-ai .visual-card-main img{width:100%;height:100%;object-fit:contain;transform:none}.service-copy[data-scene="5"] h3{font-size:clamp(24px,2.7vw,40px);line-height:1.65}.service-copy[data-scene="5"] h3+p{line-height:2.2}
@media(max-width:760px){.service-copy[data-scene="5"] h3{font-size:23px;line-height:1.5}}
/* Compact service tabs: no full-screen spacer or long pinned scrolling. */
body .visual-services{height:auto!important;scroll-margin-top:80px}body .visual-services .services-sticky{position:relative;top:0;height:auto;min-height:0;max-height:none;padding:30px 5% 32px;display:flex;flex-direction:column;gap:0}body .visual-services .service-top{margin:0 0 20px}body .visual-services .service-top h2{font-size:21px;margin-top:7px;line-height:1.5}body .visual-services .service-tabs{display:grid;order:initial;margin:0 0 26px;border-bottom:1px solid #b8c4b5;gap:12px}body .visual-services .service-tabs button{padding:12px 0;font-size:10px}body .visual-services .service-layout{flex:none;height:360px;min-height:0;align-items:center}body .visual-services .service-copy-area{height:auto;min-height:280px;display:flex;align-items:center}body .visual-services .service-copy{inset:auto 0;transform:translateY(12px)}body .visual-services .service-copy.active{transform:none}body .visual-services .service-visual-area{height:360px;min-height:0;max-height:none;align-self:center!important}body .visual-services .visual-floating-word{top:0;right:0}body .visual-services .visual-caption{bottom:0;font-size:8px}body .visual-services .visual-card-main{height:300px;top:26px;width:90%;left:5%;border:0;padding:0;background:none;box-shadow:none;border-radius:0;transform:none}body .visual-services .scene-graphic .visual-card-main{width:36%;left:32%;height:285px;top:32px}body .visual-services .scene-graphic .visual-extra{height:250px;width:30%;top:60px;border:0;background:none;box-shadow:none;transform:none}body .visual-services .web-sample-grid{inset:24px 0 auto;gap:12px 18px;align-content:start}body .visual-services .web-sample-grid img{max-height:136px;width:100%;height:136px;object-fit:contain}body .visual-services .web-sample-grid figcaption{margin-top:4px;font-size:6px}body .visual-services .sns-carousel{inset:30px -5% 26px 0}body .visual-services .sns-group img{height:270px;max-height:270px;object-fit:contain}body .visual-services .sns-group figure{width:370px;flex-basis:370px}body .visual-services .sns-group figcaption{margin-top:8px;font-size:6px}body .visual-services .service-count{font-size:24px}body .visual-services .service-copy .pill-link{margin-top:20px}
@media(max-width:760px){body .visual-services{scroll-margin-top:70px}body .visual-services .services-sticky{padding:22px 6% 25px}body .visual-services .service-top{margin-bottom:15px}body .visual-services .service-top h2{font-size:17px}body .visual-services .service-tabs{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px;gap:0 10px}body .visual-services .service-tabs button{font-size:9px;padding:9px 0}body .visual-services .service-layout{height:auto;display:flex;flex-direction:column-reverse;gap:0}body .visual-services .service-visual-area{height:285px;min-height:285px;max-height:285px;flex:none;margin:0}body .visual-services .service-copy-area{height:210px;min-height:210px;width:100%;margin:10px 0 0;display:block;text-align:center}body .visual-services .service-copy{inset:0}body .visual-services .service-copy h3{font-size:24px;line-height:1.5}body .visual-services .service-copy h3+p{margin-top:12px;line-height:1.9}body .visual-services .service-copy .pill-link{margin-top:16px}body .visual-services .visual-card-main{height:235px;top:25px}body .visual-services .web-sample-grid{gap:8px 14px;top:22px}body .visual-services .web-sample-grid img{height:100px;max-height:100px}body .visual-services .web-sample-grid figcaption{margin-top:2px}body .visual-services .sns-carousel{inset:24px -7% 20px 0}body .visual-services .sns-group figure{width:300px;flex-basis:300px}body .visual-services .sns-group img{height:218px;max-height:218px}body .visual-services .scene-graphic .visual-card-main{height:225px;top:25px}body .visual-services .scene-graphic .visual-extra{height:185px;top:50px}body .visual-services .visual-caption{font-size:6px}body .visual-services .service-count{font-size:21px}}
body .visual-services{scroll-margin-top:0}
/* Uniform service composition, pinned at its compact height while scrolling. */
body .visual-services{height:calc(564px + 210svh)!important;position:relative}
body .visual-services .services-sticky{position:sticky;top:80px;height:564px;min-height:564px;max-height:564px;background:inherit;padding:26px 5% 28px}
body .visual-services .service-top{height:62px;flex:none;margin:0 0 12px}
body .visual-services .service-tabs{height:50px;flex:none;margin:0 0 18px}
body .visual-services .service-layout{height:360px;flex:none;grid-template-columns:minmax(0,34%) minmax(0,64%);gap:2%;align-items:center}
body .visual-services .service-copy-area{height:310px;min-height:310px;display:block}
body .visual-services .service-copy{inset:0;display:grid;grid-template-rows:22px 108px 78px 52px;gap:12px;align-content:center;opacity:0;visibility:hidden;filter:blur(4px);transform:translateY(24px);transition:opacity .6s ease,transform .85s cubic-bezier(.2,.7,.2,1),filter .65s ease,visibility .6s}
body .visual-services .service-copy.active{opacity:1;visibility:visible;filter:none;transform:translateY(0)}
body .visual-services .service-copy .service-label{margin:0;font:500 8px/22px var(--latin);letter-spacing:1.8px}
body .visual-services .service-copy h3{font-family:var(--sans);font-size:clamp(22px,2.5vw,36px);line-height:1.55;font-weight:600;letter-spacing:-.035em;margin:0;align-self:center;overflow-wrap:anywhere}
body .visual-services .service-copy h3+p{font-family:var(--sans);font-size:clamp(10px,1vw,13px);font-weight:400;line-height:2;letter-spacing:.015em;margin:0;align-self:start}
body .visual-services .service-copy .pill-link{margin:0;width:100%;height:48px;min-height:48px;padding:10px 18px;border-radius:28px;font-size:11px;align-self:end;display:flex;align-items:center;justify-content:space-between}
body .visual-services .service-visual-area{height:360px;min-height:360px;max-height:360px;align-self:center}
body .visual-services .service-visual{inset:0;transform:translateY(30px) scale(.985)!important;opacity:0;visibility:hidden;filter:blur(5px);transition:opacity .65s ease,transform .95s cubic-bezier(.2,.75,.2,1),filter .8s ease,visibility .65s}
body .visual-services .service-visual.active{transform:translateY(0) scale(1)!important;opacity:1;visibility:visible;filter:none}
body .visual-services .visual-floating-word{top:0;right:0;font:500 8px/1.5 var(--latin);letter-spacing:1.8px;transform:none;padding:5px 10px;border-radius:0;background:none}
body .visual-services .visual-caption{bottom:0;left:0;width:100%;text-align:center;font:400 8px/1.6 var(--sans);color:#7a8479;letter-spacing:.03em}
body .visual-services .visual-card-main{top:30px;left:0;width:100%;height:300px;transform:none;border:0;padding:0;background:none;box-shadow:none}
body .visual-services .visual-card-main img{width:100%;height:100%;object-fit:contain;transform:none}
body .visual-services .web-sample-grid{inset:30px 0 auto;height:300px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px 18px;align-content:stretch}
body .visual-services .web-sample-grid figure{display:flex;flex-direction:column;min-height:0}
body .visual-services .web-sample-grid img{height:calc(100% - 15px);max-height:none;width:100%;object-fit:contain}
body .visual-services .web-sample-grid figcaption{margin-top:4px;font-size:6px;line-height:11px}
body .visual-services .sns-carousel{inset:30px 0 30px}
body .visual-services .sns-group figure{width:410px;flex-basis:410px}
body .visual-services .sns-group img{width:100%;height:280px;max-height:280px;object-fit:contain}
body .visual-services .sns-group figcaption{margin-top:6px;font-size:6px}
body .visual-services .scene-graphic .visual-card-main{top:30px;left:34%;width:32%;height:300px}
body .visual-services .scene-graphic .visual-extra{top:30px;width:32%;height:300px;background:none;border:0;box-shadow:none;transform:none;object-fit:contain}
body .visual-services .scene-graphic .extra-left{left:0}.visual-services .scene-graphic .extra-right{right:0}
body .visual-services.services-static{height:auto!important}
body .visual-services.services-static .services-sticky{position:relative;top:0}
.motion-off .visual-services .service-copy,.motion-off .visual-services .service-visual{transition:none!important;filter:none!important}
@media(max-width:760px){
 body .visual-services{height:calc(700px + 180svh)!important}
 body .visual-services .services-sticky{top:70px;height:700px;min-height:700px;max-height:700px;padding:20px 6% 24px}
 body .visual-services .service-top{height:56px;margin-bottom:10px}
 body .visual-services .service-tabs{height:74px;margin-bottom:16px}
 body .visual-services .service-layout{height:auto;display:flex;flex-direction:column-reverse;gap:12px}
 body .visual-services .service-visual-area{height:270px;min-height:270px;max-height:270px;flex:none}
 body .visual-services .service-copy-area{height:210px;min-height:210px;margin:0;width:100%;text-align:center}
 body .visual-services .service-copy{grid-template-rows:16px 70px 57px 44px;gap:6px;align-content:start}
 body .visual-services .service-copy .service-label{font-size:7px;line-height:16px}
 body .visual-services .service-copy h3{font-size:22px;line-height:1.5}
 body .visual-services .service-copy h3+p{font-size:10px;line-height:1.9}
 body .visual-services .service-copy .pill-link{height:42px;min-height:42px;width:245px;max-width:100%;justify-self:center;font-size:10px}
 body .visual-services .visual-card-main{top:24px;height:220px}
 body .visual-services .visual-floating-word{top:0;font-size:7px}
 body .visual-services .visual-caption{font-size:6px;bottom:0}
 body .visual-services .web-sample-grid{top:24px;height:220px;gap:8px 12px}
 body .visual-services .sns-carousel{inset:24px 0 25px}
 body .visual-services .sns-group figure{width:300px;flex-basis:300px}
 body .visual-services .sns-group img{height:204px;max-height:204px}
 body .visual-services .scene-graphic .visual-card-main{top:24px;height:220px}
 body .visual-services .scene-graphic .visual-extra{top:24px;height:220px}
}
@media(prefers-reduced-motion:reduce){body .visual-services{height:auto!important}body .visual-services .services-sticky{position:relative;top:0}body .visual-services .service-copy,body .visual-services .service-visual{transition:none!important;filter:none!important}}
body .visual-services .service-copy h3{align-self:start}
/* Readable narrow-screen services: large imagery and type, no unused fixed stage space. */
@media(max-width:760px){
 body .visual-services{height:calc(var(--service-stage-height,740px) + 150svh)!important}
 body .visual-services .services-sticky{height:var(--service-stage-height,740px);min-height:0;max-height:none;top:70px;padding:20px 5.5% 22px}
 body .visual-services .service-top{height:60px;margin-bottom:12px}
 body .visual-services .service-top h2{font-size:19px;line-height:1.5;letter-spacing:-.025em}
 body .visual-services .service-top .eyebrow{font-size:8px;letter-spacing:1.4px}
 body .visual-services .service-tabs{height:76px;flex:none;margin-bottom:18px}
 body .visual-services .service-tabs button{font-size:10px;padding:10px 0}
 body .visual-services .service-layout{gap:16px;height:auto}
 body .visual-services .service-visual-area{height:var(--service-image-height,260px);min-height:0;max-height:none;width:100%;flex:none;margin:0}
 body .visual-services .service-copy-area{height:248px;min-height:248px;margin:0;text-align:left}
 body .visual-services .service-copy{display:grid;grid-template-rows:18px 84px 70px 50px;gap:8px;align-content:start;inset:0}
 body .visual-services .service-copy .service-label{font-size:9px;line-height:18px;letter-spacing:1.6px}
 body .visual-services .service-copy h3{font-size:clamp(27px,5.5vw,35px);line-height:1.43;letter-spacing:-.035em;font-weight:600}
 body .visual-services .service-copy h3+p{font-size:14px;line-height:1.85;letter-spacing:.005em;margin:0}
 body .visual-services .service-copy .pill-link{justify-self:stretch;width:100%;max-width:none;height:48px;min-height:48px;font-size:13px;padding:10px 20px;align-self:end}
 body .visual-services .visual-floating-word,body .visual-services .visual-caption{display:none}
 body .visual-services .visual-card-main{inset:0;width:100%;height:100%;border:0;transform:none}
 body .visual-services .visual-card-main img{width:100%;height:100%;object-fit:cover}
 body .visual-services .scene-line .visual-card-main img{object-position:center 44%}
 body .visual-services .scene-sheets .visual-card-main img,body .visual-services .scene-ai .visual-card-main img{object-fit:cover}
 body .visual-services .web-sample-grid{inset:0;display:flex;gap:16px;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9cae9d transparent;padding-bottom:8px}
 body .visual-services .web-sample-grid figure{flex:0 0 91%;height:100%;min-height:0;scroll-snap-align:start}
 body .visual-services .web-sample-grid img{width:100%;height:calc(100% - 19px);max-height:none;object-fit:contain;background:none}
 body .visual-services .web-sample-grid figcaption{font-size:8px;line-height:15px;letter-spacing:1px;margin-top:4px}
 body .visual-services .sns-carousel{inset:0}
 body .visual-services .sns-group figure{width:var(--service-case-width,340px);flex-basis:var(--service-case-width,340px)}
 body .visual-services .sns-group img{width:100%;height:calc(var(--service-image-height,260px) - 20px);max-height:none;object-fit:contain}
 body .visual-services .sns-group figcaption{font-size:8px;line-height:14px}
 body .visual-services .scene-graphic .visual-card-main{left:34%;top:0;width:32%;height:100%}
 body .visual-services .scene-graphic .visual-extra{top:0;width:32%;height:100%;object-fit:contain}
}
@media(max-width:760px){body .visual-services .service-copy-area{height:282px;min-height:282px}body .visual-services .service-copy{grid-template-rows:18px 104px 84px 50px;gap:8px}}
