@import url("./fonts/fonts.css");
/* GRAND METAL / Brand home. Every site selector is scoped to .gm-brand. */
.gm-brand{--gm-paper:#eae9e4;--gm-ink:#151615;--gm-black:#111211;--gm-white:#f5f4ef;--gm-muted:#aaa9a3;--gm-rule:rgba(245,244,239,.22);--gm-gutter:clamp(24px,5.2vw,88px);--gm-ease:cubic-bezier(.22,.61,.36,1);margin:0;background:var(--gm-black);color:var(--gm-white);font-family:Arial,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:"palt";overflow-x:clip}
.gm-brand *,.gm-brand *::before,.gm-brand *::after{box-sizing:border-box}
.gm-brand h1,.gm-brand h2,.gm-brand h3,.gm-brand p,.gm-brand figure{margin:0}
/* The brand shell owns its headings while legacy page CSS stays available. */
.gm-brand .gm-subhero h1,.gm-brand .gm-hero-title{display:block}
.gm-brand a{color:inherit;text-decoration:none}
.gm-brand button{font:inherit;color:inherit;cursor:pointer}
.gm-brand img,.gm-brand video{display:block;max-width:100%}
.gm-brand button:disabled{cursor:default}
.gm-brand [hidden]{display:none!important}
.gm-brand ::selection{background:#cccac0;color:#151615}
.gm-brand :focus-visible{outline:2px solid currentColor;outline-offset:7px}
.gm-brand .gm-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gm-brand .gm-skip{position:fixed;z-index:120;left:20px;top:12px;background:var(--gm-paper);color:var(--gm-ink);padding:14px;transform:translateY(-150%)}
.gm-brand .gm-skip:focus{transform:translateY(0)}
.gm-brand .gm-header{position:absolute;top:0;left:0;z-index:40;display:flex;align-items:center;gap:35px;width:100%;height:110px;padding:0 var(--gm-gutter);border-bottom:1px solid rgba(255,255,255,.26);color:#fff}
.gm-brand .gm-wordmark{display:inline-flex;align-items:flex-start;position:relative;font-size:23px;font-weight:700;line-height:1;letter-spacing:-.045em;white-space:nowrap}
.gm-brand .gm-wordmark-dot{font-size:9px;letter-spacing:0;margin:0 0 0 5px;font-weight:400}
.gm-brand .gm-desktop-nav{display:flex;gap:clamp(16px,2.2vw,36px);margin-left:auto;align-items:center}
.gm-brand .gm-desktop-nav a{position:relative;font-size:10px;line-height:2;letter-spacing:.055em;font-weight:500;white-space:nowrap}
.gm-brand .gm-desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s}
.gm-brand .gm-desktop-nav a:hover::after{transform:scaleX(1)}
.gm-brand .gm-header-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:13px 15px;border:1px solid rgba(255,255,255,.5);font-size:10px;letter-spacing:.08em;transition:background .3s,color .3s}
.gm-brand .gm-header-contact:hover{background:var(--gm-white);color:var(--gm-black)}
.gm-brand .gm-header-contact span{font-size:16px;line-height:1}
.gm-brand .gm-menu-button{display:none;background:none;border:0;padding:14px 0 14px 14px;gap:12px;align-items:center;font-size:10px;letter-spacing:.12em}
.gm-brand .gm-menu-button i{width:26px;height:9px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;display:block}
.gm-brand .gm-dark{background:var(--gm-black);color:var(--gm-white)}
.gm-brand .gm-light{background:var(--gm-paper);color:var(--gm-ink);--gm-rule:rgba(21,22,21,.24)}
.gm-brand .gm-section{padding:42px var(--gm-gutter) 115px;scroll-margin-top:0}
.gm-brand .gm-section-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 24px;border-bottom:1px solid var(--gm-rule);font-size:10px;font-weight:400;letter-spacing:.1em;line-height:1.5}
.gm-brand .gm-section-top span:last-child{text-align:right}
.gm-brand .gm-eyebrow{font-size:10px;font-weight:400;letter-spacing:.15em;line-height:1.8}
.gm-brand .gm-hero{position:relative;isolation:isolate;min-height:740px;height:100svh;max-height:1200px;overflow:hidden;background:#1d1e1e}
.gm-brand .gm-hero-media,.gm-brand .gm-hero-shade{position:absolute;inset:0;z-index:-1}
.gm-brand .gm-hero-poster{display:block;width:100%;height:100%}
.gm-brand .gm-hero-poster img{height:100%;width:100%;object-fit:cover;object-position:var(--gm-hero-position,50% 48%);filter:grayscale(1) brightness(.68) contrast(1.05)}
.gm-brand .gm-video{width:100%;height:100%;object-fit:cover;filter:grayscale(1);position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none}
.gm-brand [data-media-shell].is-playing>.gm-video{opacity:1}
.gm-brand .gm-hero-video{object-position:var(--gm-hero-position,50% 48%);filter:grayscale(1) brightness(.68)}
.gm-brand .gm-hero-shade{background:linear-gradient(90deg,rgba(7,8,8,.6),rgba(7,8,8,.24) 75%),linear-gradient(0deg,rgba(8,9,8,.63),transparent 54%,rgba(8,9,8,.22));z-index:0;pointer-events:none}
.gm-brand .gm-hero-content{position:absolute;left:var(--gm-gutter);right:var(--gm-gutter);bottom:clamp(145px,18vh,210px);z-index:1}
.gm-brand .gm-hero-intro{margin-bottom:29px;font-size:10px;letter-spacing:.14em}
.gm-brand .gm-hero-title{font-size:clamp(74px,9.8vw,176px);font-weight:500;line-height:.92;letter-spacing:-.065em;max-width:1500px}
.gm-brand .gm-hero-title>span{display:block}
.gm-brand .gm-hero-title>span+span{margin-top:.025em}
.gm-brand .gm-hero-japanese{margin-top:27px;font-size:clamp(13px,1.12vw,18px);line-height:1.8;letter-spacing:.19em;font-weight:500}
.gm-brand .gm-hero-bottom{position:absolute;left:var(--gm-gutter);right:var(--gm-gutter);bottom:37px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px;z-index:1;border-top:1px solid rgba(255,255,255,.3);padding-top:23px}
.gm-brand .gm-scroll{display:flex;align-items:center;gap:15px;font-size:9px;letter-spacing:.1em;min-height:32px}
.gm-brand .gm-scroll-line{height:1px;background:rgba(255,255,255,.8);width:48px;transform-origin:left}
.gm-brand .gm-scroll>span:last-child{font-size:15px;margin-left:5px}
.gm-brand .gm-hero-location{font-size:9px;letter-spacing:.13em;line-height:1.8;margin-left:auto;text-align:right}
.gm-brand .gm-film-control{display:flex;gap:10px;align-items:center;background:rgba(12,12,12,.28);border:1px solid rgba(255,255,255,.4);padding:9px 12px;min-height:42px;font-size:9px;letter-spacing:.08em}
.gm-brand .gm-film-control [data-motion-icon]{font-size:13px}
.gm-brand .gm-display{font-size:clamp(46px,6.45vw,105px);font-weight:400;line-height:1;letter-spacing:-.06em}
.gm-brand .gm-philosophy{padding-bottom:0}
.gm-brand .gm-philosophy-grid{display:grid;grid-template-columns:1fr 5fr;gap:0;padding-top:100px}
.gm-brand .gm-cross{font-size:42px;font-weight:300;line-height:1;opacity:.7}
.gm-brand .gm-philosophy-copy{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;margin-top:66px;padding-right:6vw}
.gm-brand .gm-philosophy-copy h3,.gm-brand .gm-about h3{font-size:clamp(22px,2.2vw,34px);font-weight:500;line-height:1.8;letter-spacing:.05em}
.gm-brand .gm-prose p{font-size:13px;line-height:2.3;letter-spacing:.035em;margin-bottom:18px}
.gm-brand .gm-text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;font-size:11px;letter-spacing:.04em;line-height:1.8;padding-bottom:10px;border-bottom:1px solid currentColor;min-height:40px}
.gm-brand .gm-text-link span{font-size:19px;transition:transform .3s}
.gm-brand .gm-text-link:hover span{transform:translate(3px,-3px)}
.gm-brand .gm-process-strip{display:flex;gap:24px;align-items:center;justify-content:flex-end;border-top:1px solid var(--gm-rule);margin-top:110px;padding:26px 0;font-size:10px;letter-spacing:.12em}
.gm-brand .gm-process-strip>span:nth-child(even){opacity:.45}
.gm-brand .gm-craft{padding-bottom:70px}
.gm-brand .gm-craft-heading{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:45px;align-items:start;padding:90px 0 70px}
.gm-brand .gm-craft-copy{padding-bottom:4px}
.gm-brand .gm-craft-copy h3{font-size:clamp(18px,1.65vw,26px);font-weight:500;line-height:1.9;letter-spacing:.04em;margin-bottom:22px}
.gm-brand .gm-craft-copy p{font-size:13px;line-height:2.3;color:#bebeb6;max-width:none;letter-spacing:.035em;white-space:pre-line}
.gm-brand .gm-craft-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(30px,7vw,112px);align-items:start}
.gm-brand .gm-craft-scene{min-width:0}
.gm-brand .gm-craft-scene:nth-child(2){margin-top:140px}
.gm-brand .gm-craft-frame{position:relative;overflow:hidden;aspect-ratio:1.16;background:#222}
.gm-brand .gm-craft-scene:nth-child(2) .gm-craft-frame{aspect-ratio:.88}
.gm-brand .gm-craft-frame>img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform 1s var(--gm-ease)}
.gm-brand .gm-craft-scene:hover .gm-craft-frame>img{transform:scale(1.025)}
.gm-brand .gm-craft-scene:first-child .gm-craft-frame>img{object-position:50% 53%}
.gm-brand .gm-craft-scene figcaption{display:flex;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:.1em;padding:19px 0;border-bottom:1px solid var(--gm-rule)}
.gm-brand .gm-craft-scene figcaption>span:last-child{font-size:10px;letter-spacing:.04em;color:#bdbdb5}
.gm-brand .gm-craft-note{font-size:9px;letter-spacing:.12em;color:#acaca4;padding-top:65px;text-align:right}
.gm-brand .gm-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;padding:85px 0 65px}
.gm-brand .gm-section-heading>p{font-size:15px;line-height:2;letter-spacing:.07em;padding-bottom:4px}
.gm-brand .gm-solutions-heading{align-items:flex-start}
.gm-brand .gm-solutions-heading .gm-display{flex:1;min-width:0}
.gm-brand .gm-solutions-copy{flex:0 1 390px;min-width:0}
.gm-brand .gm-solutions-copy h3{font-size:clamp(18px,1.65vw,26px);font-weight:500;line-height:1.9;letter-spacing:.04em}
.gm-brand .gm-solutions-copy .gm-prose{margin-top:22px}
.gm-brand .gm-solutions-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:7vw;align-items:start}
.gm-brand .gm-solutions-image{position:sticky;top:35px;min-width:0}
.gm-brand .gm-solutions-image>img{width:100%;height:auto;aspect-ratio:.88;object-fit:cover;object-position:32% 50%;filter:grayscale(1)}
.gm-brand .gm-solutions-image>figcaption{display:flex;justify-content:space-between;gap:14px;padding-top:17px;font-size:9px;line-height:1.9;letter-spacing:.06em;flex-wrap:wrap}
.gm-brand .gm-solutions-image>figcaption a{font-size:10px;letter-spacing:0}
.gm-brand .gm-solution{border-top:1px solid var(--gm-rule)}
.gm-brand .gm-solution:last-child{border-bottom:1px solid var(--gm-rule)}
.gm-brand .gm-solution summary{display:grid;grid-template-columns:24px minmax(0,1fr) 20px;gap:20px;align-items:start;cursor:pointer;padding:27px 0;list-style:none;min-height:110px}
.gm-brand .gm-solution summary::-webkit-details-marker{display:none}
.gm-brand .gm-solution-number{font-size:9px;padding-top:5px}
.gm-brand .gm-solution summary strong{font-size:clamp(21px,2.25vw,36px);font-weight:400;letter-spacing:-.04em;line-height:1.12;display:block;max-width:390px}
.gm-brand .gm-solution summary small{display:block;font-size:11px;letter-spacing:.02em;line-height:1.8;margin-top:12px}
.gm-brand .gm-solution-plus{font-size:26px;line-height:1;font-weight:300;text-align:right;transition:transform .3s}
.gm-brand .gm-solution[open] .gm-solution-plus{transform:rotate(45deg)}
.gm-brand .gm-solution-body{padding:0 22px 29px 44px}
.gm-brand .gm-solution-body p{font-size:12px;line-height:2.1;letter-spacing:.02em;margin-bottom:17px;color:#454740;white-space:pre-line}
.gm-brand .gm-solution-body a{font-size:11px;border-bottom:1px solid #7f8179;padding-bottom:5px;line-height:2.3;display:inline-block}
.gm-brand .gm-solution-body a span{margin-left:17px}
.gm-brand .gm-projects{padding-bottom:75px}
.gm-brand .gm-projects-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;padding-top:85px}
.gm-brand .gm-projects-heading .gm-text-link{margin-bottom:8px}
.gm-brand .gm-project-intro{font-size:12px;line-height:2;letter-spacing:.05em;padding-top:30px;color:#c5c5bd}
.gm-brand .gm-project-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:74px 6vw;padding-top:65px;align-items:start}
.gm-brand .gm-project{display:block;min-width:0}
.gm-brand .gm-project:first-child{grid-row:span 2}
.gm-brand .gm-project:nth-child(2){margin-top:110px}
.gm-brand .gm-project-image{display:block;overflow:hidden;background:#30312d;aspect-ratio:1.3}
.gm-brand .gm-project:first-child .gm-project-image{aspect-ratio:.79}
.gm-brand .gm-project-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .9s var(--gm-ease),filter .9s var(--gm-ease)}
.gm-brand .gm-project:first-child img{object-position:37% 50%}
.gm-brand .gm-project:hover .gm-project-image img{transform:scale(1.035);filter:grayscale(1) brightness(1.08)}
.gm-brand .gm-project-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0 12px;border-bottom:1px solid var(--gm-rule)}
.gm-brand .gm-project-meta h3{font-size:14px;line-height:1.7;font-weight:400;letter-spacing:.03em}
.gm-brand .gm-project-meta p{font-size:9px;letter-spacing:.1em;color:#bebeb6;margin-bottom:9px}
.gm-brand .gm-project-meta>span{font-size:25px;font-weight:300;transition:transform .3s}
.gm-brand .gm-project:hover .gm-project-meta>span{transform:translate(3px,-3px)}
.gm-brand .gm-project-type{font-size:10px;letter-spacing:.04em;color:#aaa;margin-top:12px;display:block}
.gm-brand .gm-project-caption{font-size:10px;color:#b5b5ae;letter-spacing:.15em;border-top:1px solid var(--gm-rule);padding-top:25px;margin-top:75px;text-align:right}
.gm-brand .gm-about{padding-bottom:110px}
.gm-brand .gm-about-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;padding-top:90px;align-items:start}
.gm-brand .gm-about-grid h3{font-size:24px}
.gm-brand .gm-about-grid p{font-size:13px;line-height:2.2;letter-spacing:.04em;margin:23px 0 30px;max-width:370px;white-space:pre-line}
.gm-brand .gm-recruit-link{display:flex;justify-content:space-between;border-top:1px solid var(--gm-rule);padding-top:20px;margin-top:55px;font-size:10px;letter-spacing:.04em;max-width:370px}
.gm-brand .gm-contact{padding-bottom:65px}
.gm-brand .gm-contact-lead>p{font-size:15px;letter-spacing:.09em;padding:80px 0 30px}
.gm-brand .gm-contact-main{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:55px}
.gm-brand .gm-contact-main h2{font-size:clamp(72px,10.8vw,180px);font-weight:400;line-height:.94;letter-spacing:-.065em}
.gm-brand .gm-contact-arrow{font-size:clamp(95px,13vw,210px);font-weight:300;line-height:1;transition:transform .6s var(--gm-ease)}
.gm-brand .gm-contact-main:hover .gm-contact-arrow{transform:translate(12px,-12px)}
.gm-brand .gm-contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--gm-rule);padding-top:28px;font-size:11px;letter-spacing:.04em}
.gm-brand .gm-contact-bottom .gm-text-link{border:0;padding:0}
.gm-brand .gm-footer{padding:50px var(--gm-gutter) 25px;border-top:1px solid var(--gm-rule)}
.gm-brand .gm-footer-main{display:grid;grid-template-columns:1.35fr 1fr 1fr .55fr;gap:30px;padding:15px 0 65px}
.gm-brand .gm-footer-brand .gm-wordmark{font-size:27px}
.gm-brand .gm-footer-brand p{font-size:10px;line-height:1.7;color:#b4b4ad;margin-top:16px;letter-spacing:.06em}
.gm-brand .gm-footer address{font-style:normal;display:flex;align-items:flex-start;flex-direction:column;gap:10px;font-size:10px;line-height:1.6;color:#bebeb7}
.gm-brand .gm-footer address .gm-eyebrow{color:var(--gm-white);margin-bottom:10px}
.gm-brand .gm-footer address a{display:block;font-size:12px;margin-top:2px;min-height:32px}
.gm-brand .gm-footer-links{display:flex;flex-direction:column;gap:23px;align-items:flex-end;font-size:10px;letter-spacing:.04em}
.gm-brand .gm-footer-links a{display:flex;justify-content:space-between;gap:20px}
.gm-brand .gm-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--gm-rule);padding-top:25px;font-size:8px;letter-spacing:.08em;line-height:2;color:#b3b3ab}
.gm-brand .gm-footer-bottom a{white-space:nowrap;padding:5px 0}
.gm-brand .gm-menu{position:fixed;inset:0;width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:0 var(--gm-gutter);border:0;overflow-y:auto;overscroll-behavior:contain}
.gm-brand .gm-menu::backdrop{background:rgba(0,0,0,.8)}
.gm-brand .gm-menu-top{display:flex;justify-content:space-between;align-items:center;height:90px;border-bottom:1px solid var(--gm-rule)}
.gm-brand .gm-menu-close{display:flex;align-items:center;gap:18px;border:0;background:none;font-size:10px;letter-spacing:.1em;padding:10px 0 10px 15px}
.gm-brand .gm-menu-close span{font-size:30px;font-weight:300}
.gm-brand .gm-menu nav{display:flex;flex-direction:column;padding:35px 0}
.gm-brand .gm-menu nav>a{display:grid;grid-template-columns:25px 1fr;column-gap:15px;padding:16px 0;border-bottom:1px solid var(--gm-rule);font-size:clamp(28px,7vw,55px);letter-spacing:-.04em;line-height:1.2}
.gm-brand .gm-menu nav small{font-size:9px;line-height:1.5;padding-top:7px;letter-spacing:0}
.gm-brand .gm-menu nav span{grid-column:2;font-size:10px;letter-spacing:.04em;line-height:2;margin-top:5px;color:#bcbcb4}
.gm-brand .gm-menu>p{font-size:9px;letter-spacing:.12em;padding-bottom:35px}
.gm-brand.gm-menu-is-open{overflow:hidden}
.gm-brand.gm-has-reveal [data-reveal].is-pending{opacity:0;transform:translateY(24px)}
.gm-brand.gm-has-reveal [data-reveal]{transition:opacity .9s var(--gm-ease),transform 1.1s var(--gm-ease)}
@media(prefers-reduced-motion:no-preference){.gm-brand .gm-hero-intro,.gm-brand .gm-hero-title,.gm-brand .gm-hero-japanese{animation:gm-enter 1.3s var(--gm-ease) both}.gm-brand .gm-hero-intro{animation-delay:.05s}.gm-brand .gm-hero-title{animation-delay:.14s}.gm-brand .gm-hero-japanese{animation-delay:.32s}}
@keyframes gm-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(min-width:1800px){.gm-brand .gm-section{padding-left:max(var(--gm-gutter),calc((100vw - 1680px)/2));padding-right:max(var(--gm-gutter),calc((100vw - 1680px)/2))}}
@media(max-width:1100px){.gm-brand .gm-header{gap:25px;height:90px}.gm-brand .gm-desktop-nav{gap:18px}.gm-brand .gm-desktop-nav a{font-size:9px}.gm-brand .gm-wordmark{font-size:20px}.gm-brand .gm-header-contact{gap:16px;padding:12px}.gm-brand .gm-craft-heading{gap:35px;grid-template-columns:1.25fr .75fr}.gm-brand .gm-philosophy-copy{padding-right:0;gap:35px}.gm-brand .gm-solutions-grid{gap:5vw}.gm-brand .gm-about-grid{gap:40px}.gm-brand .gm-footer-main{grid-template-columns:1fr 1fr 1fr;gap:35px}.gm-brand .gm-footer-links{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:flex-end;padding-top:10px}.gm-brand .gm-footer-main{padding-bottom:40px}}
@media(max-width:959px){.gm-brand .gm-desktop-nav{display:none}.gm-brand .gm-header-contact{margin-left:auto}.gm-brand .gm-menu-button{display:flex}.gm-brand .gm-header{height:88px}.gm-brand .gm-hero{min-height:680px}.gm-brand .gm-hero-title{font-size:10.8vw}.gm-brand .gm-hero-content{bottom:180px}.gm-brand .gm-display{font-size:7vw}.gm-brand .gm-philosophy-grid{grid-template-columns:1fr 7fr;padding-top:80px}.gm-brand .gm-philosophy-copy{grid-template-columns:.9fr 1.1fr;gap:30px;margin-top:50px}.gm-brand .gm-craft-heading{grid-template-columns:1fr;gap:30px;padding-top:75px}.gm-brand .gm-craft-copy{display:grid;grid-template-columns:1fr 1fr;gap:30px}.gm-brand .gm-craft-copy p{max-width:none}.gm-brand .gm-craft-grid{gap:35px;grid-template-columns:1.1fr .9fr}.gm-brand .gm-craft-scene:nth-child(2){margin-top:90px}.gm-brand .gm-solutions-grid{grid-template-columns:.85fr 1.15fr;gap:35px}.gm-brand .gm-solution summary{gap:12px;grid-template-columns:20px 1fr 16px}.gm-brand .gm-solution summary strong{font-size:25px}.gm-brand .gm-solution-body{padding-left:32px;padding-right:0}.gm-brand .gm-solutions-image>img{aspect-ratio:.68}.gm-brand .gm-project-grid{gap:50px 35px}.gm-brand .gm-project:nth-child(2){margin-top:65px}.gm-brand .gm-about-grid{grid-template-columns:1fr 1fr}.gm-brand .gm-about-grid h3{font-size:20px}}
@media(max-width:767px){.gm-brand{--gm-gutter:24px}.gm-brand .gm-header{height:83px;gap:15px}.gm-brand .gm-wordmark{font-size:21px}.gm-brand .gm-header-contact{display:none}.gm-brand .gm-menu-button{margin-left:auto}.gm-brand .gm-hero{height:100svh;min-height:650px;max-height:1050px}.gm-brand .gm-hero-content{bottom:174px}.gm-brand .gm-hero-title{font-size:clamp(68px,16.9vw,112px);line-height:.93;letter-spacing:-.062em}.gm-brand .gm-hero-title>span:nth-child(2)>span{display:block;margin-top:.02em}.gm-brand .gm-hero-intro{font-size:8px;letter-spacing:.1em;line-height:1.8;max-width:260px;margin-bottom:25px}.gm-brand .gm-hero-japanese{font-size:11px;letter-spacing:.13em;margin-top:25px}.gm-brand .gm-hero-poster img{object-position:var(--gm-hero-mobile-position,50% 48%);filter:grayscale(1) brightness(.75)}.gm-brand .gm-hero-shade{background:linear-gradient(90deg,rgba(4,5,5,.33),transparent 100%),linear-gradient(0deg,rgba(5,6,5,.7),transparent 67%,rgba(5,6,5,.12))}.gm-brand .gm-hero-bottom{bottom:27px;align-items:flex-start;gap:12px;padding-top:18px;flex-wrap:wrap}.gm-brand .gm-scroll{gap:9px;font-size:7px;letter-spacing:.06em;min-height:30px}.gm-brand .gm-scroll-line{width:24px}.gm-brand .gm-scroll>span:last-child{font-size:12px;margin-left:1px}.gm-brand .gm-hero-location{font-size:7px;letter-spacing:.05em;line-height:1.8}.gm-brand .gm-film-control{margin-left:auto;position:absolute;right:0;bottom:55px;font-size:8px;min-height:36px;padding:7px 10px}.gm-brand .gm-section{padding-top:30px;padding-bottom:72px}.gm-brand .gm-section-top{font-size:8px;letter-spacing:.07em;padding-bottom:20px;align-items:flex-start}.gm-brand .gm-section-top span:last-child{max-width:145px;font-size:7px}.gm-brand .gm-display{font-size:clamp(37px,9.5vw,63px);letter-spacing:-.055em;line-height:1.03}.gm-brand .gm-philosophy{padding-bottom:0}.gm-brand .gm-philosophy-grid{display:block;padding-top:60px}.gm-brand .gm-cross{display:none}.gm-brand .gm-philosophy-copy{display:block;margin-top:43px;padding:0}.gm-brand .gm-philosophy-copy h3{font-size:23px;line-height:1.85}.gm-brand .gm-prose{margin-top:27px;max-width:530px}.gm-brand .gm-prose p{font-size:12px;line-height:2.25;margin-bottom:16px}.gm-brand .gm-text-link{font-size:10px;gap:40px}.gm-brand .gm-process-strip{font-size:8px;letter-spacing:.03em;gap:14px;justify-content:space-between;padding:22px 0;margin-top:58px}.gm-brand .gm-craft-heading{display:block;padding:60px 0 40px}.gm-brand .gm-craft-copy{display:block;margin-top:32px}.gm-brand .gm-craft-copy h3{font-size:16px;margin-bottom:15px}.gm-brand .gm-craft-copy p{font-size:11px;line-height:2.2;max-width:480px}.gm-brand .gm-craft-grid{grid-template-columns:1fr;gap:42px}.gm-brand .gm-craft-frame{aspect-ratio:1.08}.gm-brand .gm-craft-scene:nth-child(2){margin-top:0;width:83%;margin-left:auto}.gm-brand .gm-craft-scene:nth-child(2) .gm-craft-frame{aspect-ratio:1.12}.gm-brand .gm-craft-scene figcaption{font-size:8px;padding-top:15px;padding-bottom:15px}.gm-brand .gm-craft-scene figcaption>span:last-child{font-size:9px}.gm-brand .gm-craft-note{font-size:6px;letter-spacing:.06em;padding-top:40px;text-align:left}.gm-brand .gm-section-heading{display:block;padding:58px 0 35px}.gm-brand .gm-section-heading>p{font-size:13px;line-height:2;margin-top:28px;letter-spacing:.04em}.gm-brand .gm-solutions-grid{display:flex;flex-direction:column;gap:42px}.gm-brand .gm-solutions-image{position:static;width:100%}.gm-brand .gm-solutions-image>img{aspect-ratio:1.15;object-position:45% 50%}.gm-brand .gm-solutions-image>figcaption{font-size:8px;padding-top:12px}.gm-brand .gm-solutions-image>figcaption a{font-size:9px}.gm-brand .gm-solution-list{width:100%}.gm-brand .gm-solution summary{padding:24px 0;grid-template-columns:20px 1fr 18px;gap:16px;min-height:100px}.gm-brand .gm-solution summary strong{font-size:28px}.gm-brand .gm-solution summary small{font-size:10px;margin-top:10px}.gm-brand .gm-solution-number{font-size:8px}.gm-brand .gm-solution-body{padding:0 5px 25px 36px}.gm-brand .gm-solution-body p{font-size:11px}.gm-brand .gm-solution-body a{font-size:10px}.gm-brand .gm-projects-heading{padding-top:58px;display:block}.gm-brand .gm-projects-heading .gm-text-link{margin:28px 0 0}.gm-brand .gm-project-intro{font-size:11px;padding-top:28px}.gm-brand .gm-project-grid{display:block;padding-top:40px}.gm-brand .gm-project{margin-bottom:45px}.gm-brand .gm-project:nth-child(2){margin-top:0}.gm-brand .gm-project:first-child .gm-project-image{aspect-ratio:.93}.gm-brand .gm-project-image{aspect-ratio:1.22}.gm-brand .gm-project-meta{padding-top:17px;padding-bottom:12px}.gm-brand .gm-project-meta h3{font-size:13px}.gm-brand .gm-project-meta p{font-size:8px;margin-bottom:7px}.gm-brand .gm-project-type{font-size:9px;margin-top:10px}.gm-brand .gm-project-caption{font-size:8px;padding-top:23px;margin-top:10px}.gm-brand .gm-about-grid{display:block;padding-top:58px}.gm-brand .gm-about-grid h3{margin-top:38px;font-size:23px}.gm-brand .gm-about-grid p{font-size:12px;line-height:2.2;max-width:500px}.gm-brand .gm-recruit-link{font-size:10px;margin-top:35px;max-width:100%}.gm-brand .gm-contact-lead>p{padding:58px 0 30px;font-size:12px;letter-spacing:.04em}.gm-brand .gm-contact-main{padding-bottom:35px;gap:12px;align-items:flex-start}.gm-brand .gm-contact-main h2{font-size:clamp(47px,12.6vw,85px);line-height:.98;letter-spacing:-.065em}.gm-brand .gm-contact-arrow{font-size:56px;line-height:.85}.gm-brand .gm-contact-bottom{display:block;padding-top:22px;font-size:9px;line-height:2}.gm-brand .gm-contact-bottom>.gm-text-link{display:flex;justify-content:space-between;margin-top:17px;font-size:12px}.gm-brand .gm-footer{padding-top:30px;padding-bottom:22px}.gm-brand .gm-footer-main{display:grid;grid-template-columns:1fr 1fr;gap:35px 20px;padding:0 0 35px}.gm-brand .gm-footer-brand{grid-column:1/-1}.gm-brand .gm-footer-brand .gm-wordmark{font-size:27px}.gm-brand .gm-footer-brand p{font-size:10px;margin-top:13px}.gm-brand .gm-footer address{font-size:9px;line-height:1.9;gap:7px}.gm-brand .gm-footer address .gm-eyebrow{font-size:9px;margin-bottom:6px}.gm-brand .gm-footer address a{font-size:10px}.gm-brand .gm-footer-links{justify-content:flex-start;gap:25px;font-size:9px;flex-wrap:wrap}.gm-brand .gm-footer-links a{gap:10px}.gm-brand .gm-footer-bottom{display:grid;grid-template-columns:1fr auto;font-size:7px;gap:12px 15px;align-items:start;letter-spacing:.03em}.gm-brand .gm-footer-bottom>span:nth-child(2){grid-row:2;grid-column:1/-1}.gm-brand .gm-footer-bottom>a{grid-column:2;grid-row:1;padding:0}.gm-brand .gm-menu-top{height:83px}.gm-brand .gm-menu nav{padding-top:25px}.gm-brand .gm-menu nav>a{padding:16px 0;font-size:30px}.gm-brand .gm-menu nav span{font-size:9px}.gm-brand .gm-menu>p{font-size:8px}}
@media(max-width:359px){.gm-brand{--gm-gutter:20px}.gm-brand .gm-wordmark{font-size:19px}.gm-brand .gm-hero-title{font-size:17.5vw}.gm-brand .gm-hero-japanese{font-size:10px;letter-spacing:.08em}.gm-brand .gm-hero-location{font-size:6px}.gm-brand .gm-display{font-size:9.3vw}.gm-brand .gm-solution summary strong{font-size:25px}.gm-brand .gm-contact-main h2{font-size:12vw}.gm-brand .gm-contact-arrow{font-size:44px}}
@media(prefers-reduced-motion:reduce){.gm-brand *,.gm-brand *::before,.gm-brand *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.gm-brand.gm-has-reveal [data-reveal].is-pending{opacity:1;transform:none}}
.gm-brand .gm-hero{max-height:none}
.gm-brand .gm-solution-plus{font-size:0;line-height:26px}
.gm-brand .gm-solution-plus::before{content:"+";font-size:24px}
.gm-brand .gm-solution[open] .gm-solution-plus{transform:none}
.gm-brand .gm-solution[open] .gm-solution-plus::before{content:"−"}
.gm-brand .gm-noscript{display:flex;flex-wrap:wrap;gap:25px;padding:25px var(--gm-gutter);font-size:12px;border-bottom:1px solid var(--gm-rule)}
@media(max-width:767px){.gm-brand .gm-hero-video{object-position:var(--gm-hero-mobile-position,50% 48%)}}
@media print{.gm-brand{background:white;color:black}.gm-brand .gm-header,.gm-brand .gm-video,.gm-brand .gm-menu,.gm-brand .gm-film-control,.gm-brand .gm-hero-bottom{display:none!important}.gm-brand .gm-hero{height:500px;min-height:0}.gm-brand .gm-section{break-inside:avoid}.gm-brand .gm-dark{background:white;color:black}.gm-brand [data-reveal]{opacity:1!important;transform:none!important}}

/* Reading type: explicit Japanese sans and a clearer, quieter small-text scale. */
.gm-brand{font-family:"GM Inter","GM Noto Sans JP","Hiragino Sans",Meiryo,sans-serif;font-optical-sizing:auto}
.gm-brand .gm-wordmark,.gm-brand .gm-hero-title,.gm-brand .gm-display,.gm-brand .gm-subtitle-en,.gm-brand .gm-product-copy h2,.gm-brand .gm-contact-main h2,.gm-brand .gm-site-contact>a>span:first-child{font-family:Arial,"Helvetica Neue",sans-serif}
.gm-brand .gm-desktop-nav a,.gm-brand .gm-header-contact{font-size:11px;font-weight:500;letter-spacing:.055em}
.gm-brand .gm-eyebrow{font-size:11px;font-weight:500;letter-spacing:.08em}
.gm-brand .gm-hero-intro{font-size:11px;font-weight:500;letter-spacing:.075em;line-height:1.9}
.gm-brand .gm-hero-japanese{font-size:clamp(14px,1.12vw,18px);font-weight:400;letter-spacing:.07em;line-height:1.9}
.gm-brand .gm-section-top{font-size:11px;font-weight:500;letter-spacing:.055em}
.gm-brand .gm-scroll{font-size:10px;letter-spacing:.07em}
.gm-brand .gm-hero-location{font-size:10px;font-weight:400;letter-spacing:.055em;line-height:1.9}
.gm-brand .gm-craft-note,.gm-brand .gm-craft-scene figcaption,.gm-brand .gm-project-meta p,.gm-brand .gm-project-type{font-size:11px;letter-spacing:.04em;line-height:1.9}
.gm-brand .gm-craft-scene figcaption>span:last-child{font-size:11px}
.gm-brand .gm-footer address,.gm-brand .gm-footer-brand p{font-size:12px;line-height:2}
.gm-brand .gm-footer-links,.gm-brand .gm-footer-bottom{font-size:11px;letter-spacing:.04em}
@media(max-width:959px){.gm-brand .gm-solutions-heading{display:block}.gm-brand .gm-solutions-copy{margin-top:32px;max-width:620px}}
/* Keep the craft copy on the same reading scale and column width as solutions. */
@media(min-width:960px) and (max-width:1100px){.gm-brand .gm-craft-heading{grid-template-columns:minmax(0,1fr) 390px;gap:45px}}
@media(min-width:768px) and (max-width:959px){.gm-brand .gm-craft-copy{display:block;max-width:620px}}
@media(max-width:767px){
 .gm-brand .gm-hero-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 10px;align-items:end}
 .gm-brand .gm-hero-bottom .gm-scroll{grid-column:1;grid-row:1;min-width:0}
 .gm-brand .gm-hero-bottom .gm-hero-location{grid-column:2;grid-row:1;margin-left:0}
 .gm-brand .gm-hero-bottom .gm-film-control{grid-column:1/-1;grid-row:2;justify-self:end;min-height:40px}
 .gm-brand .gm-hero-intro{font-size:10px;letter-spacing:.065em;max-width:100%;line-height:1.9}
 .gm-brand .gm-hero-japanese{font-size:13px;letter-spacing:.065em}
 .gm-brand .gm-scroll{font-size:10px;gap:8px;letter-spacing:.035em}
 .gm-brand .gm-scroll-line{width:18px}
 .gm-brand .gm-hero-location{font-size:9px;letter-spacing:.02em}
 .gm-brand .gm-section-top,.gm-brand .gm-process-strip,.gm-brand .gm-project-meta p,.gm-brand .gm-footer-bottom{font-size:10px}
 .gm-brand .gm-section-top span:last-child{font-size:9px;line-height:1.8}
 .gm-brand .gm-craft-note{font-size:9px;line-height:2;letter-spacing:.025em}
 .gm-brand .gm-craft-scene figcaption,.gm-brand .gm-craft-scene figcaption>span:last-child,.gm-brand .gm-project-type{font-size:10px}
 .gm-brand .gm-footer address,.gm-brand .gm-footer address a,.gm-brand .gm-footer-brand p,.gm-brand .gm-footer-links{font-size:11px}
 .gm-brand .gm-menu-button,.gm-brand .gm-menu-close{font-size:11px;font-weight:500}
 .gm-brand .gm-menu nav span{font-size:11px}
 .gm-brand .gm-craft-copy h3{font-size:18px;line-height:1.9;margin-bottom:22px}
 .gm-brand .gm-craft-copy p{font-size:12px;line-height:2.25;max-width:530px}
}

/* Keep long solution labels inside their grid track at tablet and phone widths. */
@media(max-width:959px){.gm-brand .gm-solution summary{grid-template-columns:20px minmax(0,1fr) 16px}.gm-brand .gm-solution summary>span:nth-child(2){min-width:0}}
@media(max-width:767px){.gm-brand .gm-solution summary{grid-template-columns:20px minmax(0,1fr) 18px}}

/* A single linked project at a time, with the complete grid retained as the no-JS fallback. */
.gm-brand .gm-project-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;width:100%;max-width:960px;box-sizing:border-box;margin-inline:auto;padding-top:28px}
.gm-brand .gm-project-controls[hidden]{display:none}
.gm-brand .gm-project-controls button{font:inherit;font-size:12px;line-height:1.4;letter-spacing:.03em;color:inherit;border:1px solid #73756f;background:transparent;min-width:44px;min-height:44px;padding:10px 14px;cursor:pointer}
.gm-brand .gm-project-controls button:hover{background:#292b26}
.gm-brand .gm-project-controls button:focus-visible{outline:2px solid #f5f4ee;outline-offset:4px}
.gm-brand .gm-project-position{font-size:12px;letter-spacing:.08em;white-space:nowrap;padding:0 6px;margin-right:auto}
.gm-brand .gm-project-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gm-brand .gm-carousel-ready .gm-project-grid{display:block;padding-top:24px}
.gm-brand .gm-carousel-ready .gm-project{width:100%;max-width:960px;margin:0 auto;opacity:1!important;transform:none!important}
.gm-brand .gm-carousel-ready .gm-project[hidden]{display:none}
.gm-brand .gm-carousel-ready .gm-project .gm-project-image{width:100%;height:clamp(300px,42vw,480px);aspect-ratio:auto;max-height:none;background:transparent}
.gm-brand .gm-carousel-ready .gm-project img{object-fit:contain;object-position:center}
.gm-brand .gm-carousel-ready .gm-project:hover .gm-project-image img{transform:none}
.gm-brand .gm-carousel-ready .gm-project-meta h3{font-size:18px}
@media(prefers-reduced-motion:no-preference){.gm-brand .gm-carousel-ready .gm-project:not([hidden]) .gm-project-image{animation:gm-project-fade .45s var(--gm-ease) both}}
@keyframes gm-project-fade{from{opacity:0}to{opacity:1}}
@media(max-width:767px){.gm-brand .gm-project-controls{gap:8px;padding-top:25px;flex-wrap:wrap}.gm-brand .gm-project-controls button{font-size:11px;padding:10px}.gm-brand .gm-project-position{font-size:11px;padding:0 2px}.gm-brand .gm-carousel-ready .gm-project .gm-project-image{height:clamp(240px,75vw,340px)}.gm-brand .gm-carousel-ready .gm-project-meta h3{font-size:16px}}
@media print{.gm-brand .gm-project-controls{display:none}.gm-brand .gm-carousel-ready .gm-project[hidden]{display:block}.gm-brand .gm-carousel-ready .gm-project{margin-bottom:30px}}

