/* Brand film: two silent scenes, three messages, one clear route to an inquiry. */
.site-header{position:fixed;inset:0 0 auto;height:104px;padding:0 4%;background:#fffffff5;color:var(--navy);border-color:var(--line);backdrop-filter:blur(12px)}
.site-header .brand{gap:14px}
.brand-symbol{display:block;width:58px;height:64px;flex:0 0 58px}
.brand-symbol img{width:100%;height:100%;object-fit:contain;filter:none}
.site-header .brand-identity{gap:0;line-height:1}
.brand-company-type{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:9px;letter-spacing:.16em;line-height:1.5;font-weight:400}
.brand-wordmark{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:27px;font-weight:600;letter-spacing:.12em;line-height:1.4;white-space:nowrap}
.site-header .brand-license{display:flex;align-items:center;gap:7px;margin-top:4px;font-size:12px;letter-spacing:.015em;line-height:1.5;color:var(--navy);white-space:nowrap}
.brand-license-label{background:var(--navy);color:#fff;font-size:9px;font-weight:500;letter-spacing:.04em;padding:3px 5px}
.brand-license-number{font-weight:600}
.site-header .main-nav{gap:24px}
.site-header .main-nav>a{color:var(--navy);font-size:11px;font-weight:500;letter-spacing:.04em}
.site-header .main-nav .nav-equipment{border-bottom-color:var(--navy)}
.site-header .main-nav>a::after{background:var(--navy)}
.site-header .main-nav .nav-contact{background:var(--navy);color:white;border:1px solid var(--navy);padding:16px 21px}
.site-header.scrolled,body.menu-open .site-header{background:#fffffff5;color:var(--navy);border-color:var(--line);backdrop-filter:blur(12px)}
.site-header.scrolled .brand-symbol img,body.menu-open .brand-symbol img{filter:none}
.site-header.scrolled .brand-license,body.menu-open .site-header .brand-license{color:var(--navy)}
.site-header.scrolled .main-nav>a{color:var(--navy)}
.site-header.scrolled .main-nav .nav-equipment{border-color:var(--navy)}
.site-header.scrolled .main-nav .nav-contact{background:var(--navy);color:white;border-color:var(--navy)}
.site-header.scrolled .main-nav>a::after{background:var(--navy)}
.hero.hero-cinematic{height:100svh;min-height:700px;max-height:1200px;width:100%;margin:0;padding:0;position:relative;isolation:isolate;overflow:hidden;background:#102236;color:#fff}
.hero.hero-cinematic::after{display:none}
.hero.hero-cinematic::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#06192b9e, #0a1b2d26 65%,transparent),linear-gradient(0deg,#0b2037eb,transparent 47%),linear-gradient(180deg,#07192cb3,transparent 28%);pointer-events:none}
.hero-scenes{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-scene{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;overflow:hidden}
.hero-scene.is-active{opacity:1}
.hero-scene img,.hero-scene video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-scene video{opacity:0}
.hero-scene.is-video-ready video{opacity:1}
.hero-scene-night img,.hero-scene-night video{filter:saturate(.95) brightness(1.1)}
.hero-scene-warehouse img,.hero-scene-warehouse video{filter:saturate(.8)}
.film-copy{position:absolute;left:8%;right:7%;top:29%;z-index:1;pointer-events:none}
.film-eyebrow{font-size:11px;font-weight:400;letter-spacing:.17em;margin-bottom:25px;color:#e1e8ee;display:flex;align-items:center;gap:16px}
.film-eyebrow::before{content:"";width:30px;height:1px;background:#d0dce4}
.film-stories{display:grid;align-items:start}
.film-story{grid-area:1/1;opacity:0;transform:translateY(12px);transition:opacity 1.05s ease,transform 1.2s ease}
.hero[data-story="night"] [data-story-panel="night"],.hero[data-story="warehouse"] [data-story-panel="warehouse"],.hero[data-story="promise"] [data-story-panel="promise"]{opacity:1;transform:none}
.film-line{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(42px,4.6vw,72px);font-weight:500;line-height:1.65;letter-spacing:.07em;text-shadow:0 2px 24px #07172d80}
.film-line span{display:block;white-space:nowrap}
.film-note{font-size:12px;font-weight:400;line-height:2;letter-spacing:.06em;margin-top:22px;color:#e3eaf0}
.film-signature{position:absolute;left:8%;bottom:112px;z-index:2}
.film-permit{display:inline-flex;align-items:center;gap:12px;margin-bottom:15px;padding:8px 12px;border:1px solid #ffffff60;background:#0c2337ad;font-size:12px;line-height:1.5;letter-spacing:.035em}
.film-permit>span{font-size:10px;color:#d5e1eb;padding-right:12px;border-right:1px solid #ffffff50}
.film-permit>strong{font-weight:500}
.film-promise{font-size:15px;font-weight:500;letter-spacing:.065em}
.film-evidence{font-size:10px;color:#b9c8d6;letter-spacing:.04em;margin-top:10px;line-height:2}
.film-evidence span{padding:0 6px;color:#7e94aa}
.film-contact{display:inline-flex;align-items:center;gap:45px;padding:11px 0 7px;border-bottom:1px solid #ffffff85;font-size:12px;letter-spacing:.1em;transition:gap .2s}
.film-contact:hover{gap:58px}.film-contact span{font-size:20px;line-height:1}
.cinematic-scroll{position:absolute;right:4%;top:45%;writing-mode:vertical-rl;display:flex;align-items:center;gap:18px;font-size:9px;letter-spacing:.15em;color:#e1e8ef}
.cinematic-scroll span{writing-mode:horizontal-tb;font-size:22px;font-weight:400}
.hero-features{position:absolute;right:5%;bottom:80px;width:365px;display:grid;gap:12px;z-index:2}
.hero-feature{display:grid;grid-template-columns:minmax(0,1fr) 39px;gap:12px 18px;align-items:center;padding:20px 23px;border:1px solid #ffffff40;background:#0c2337a3;color:white;transition:background .2s,border-color .2s}
.hero-feature:hover{background:#17334dbf;border-color:#ffffff85}
.hero-feature>small{grid-column:1/-1;font-size:10px;letter-spacing:.06em;color:#c8d4df}
.hero-feature strong{display:block;font-size:20px;font-weight:500;letter-spacing:.05em}
.hero-feature-metrics{display:block;font-size:9px;color:#bccddd;margin-top:9px;line-height:1.8;letter-spacing:0}
.hero-feature-arrow{display:grid;place-items:center;width:36px;height:36px;border:1px solid #a5bacd;border-radius:50%;font-size:20px}
.hero-feature-recruit{background:#f3f6fa;color:#1d344c;border-color:#f3f6fa}
.hero-feature-recruit:hover{background:#fff;border-color:#fff}
.hero-feature-recruit>small{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:#486078;letter-spacing:0}
.hero-recruit-tag{background:#20354d;color:#fff;padding:3px 7px;font-size:9px;line-height:1.4;letter-spacing:.04em}
.hero-feature-recruit strong{font-size:22px;font-weight:650;letter-spacing:.02em;white-space:nowrap}
.hero-feature-recruit .hero-feature-metrics{color:#4b6178;font-size:10px;margin-top:7px}
.hero-feature-recruit .hero-feature-arrow{border-color:#8298ae}
.hero-feature-cta{display:block;font-size:11px;font-weight:600;letter-spacing:.04em;margin-top:10px}
.hero-cinematic .hero-feature-recruit:focus-visible{outline-color:#fff;outline-offset:5px}
.hero-cinematic button:focus-visible,.hero-cinematic a:focus-visible{outline-color:#d5e5f5}
.site-header a:focus-visible,.site-header button:focus-visible{outline-color:var(--navy)}
@media(min-width:1600px){.film-copy{top:28%}.film-signature{bottom:147px}.hero-features{right:7%;bottom:120px;width:390px}}
@media(max-height:800px) and (min-width:761px){.film-copy{top:26%}.film-eyebrow{margin-bottom:18px}.film-line{font-size:48px;line-height:1.55}.film-note{margin-top:16px;font-size:11px}.film-signature{bottom:103px}.hero-features{bottom:80px}}
@media(max-width:1200px){.site-header .main-nav{gap:17px}.site-header .main-nav>a{font-size:10px}.brand-wordmark{font-size:24px}.hero-features{width:330px}.hero-feature{padding:20px}.hero-feature strong{font-size:18px}.film-promise{font-size:14px}.film-evidence{font-size:9px}}
@media(max-width:1100px){
 .site-header{height:84px;padding:0 5%}.brand-symbol{width:49px;height:56px;flex-basis:49px}.site-header .brand{gap:10px}.brand-wordmark{font-size:24px}.brand-company-type{font-size:8px}.site-header .brand-license{font-size:10px}.brand-license-label{font-size:8px}
 .site-header .main-nav{background:white;gap:0}.site-header .main-nav>a{color:var(--navy);font-size:17px}.site-header .main-nav .nav-contact{background:var(--navy);color:white;border-color:var(--navy)}.site-header .menu-toggle{color:var(--navy)}.site-header .menu-toggle>span:not(.menu-label){background:var(--navy)}
 .film-signature,.film-copy{left:7%}.hero-features{right:5%;width:300px}.hero-feature strong{font-size:17px}.hero-feature-recruit strong{font-size:18px}.hero-feature-metrics{font-size:8px}.film-line{font-size:48px}
}
@media(max-width:760px){
 .site-header{height:84px}.site-header .brand{gap:9px}.brand-symbol{width:44px;height:53px;flex-basis:44px}.brand-wordmark{font-size:22px;letter-spacing:.1em}.brand-company-type{font-size:7px}.site-header .brand-license{font-size:9.5px;letter-spacing:0;gap:5px;margin-top:3px}.brand-license-label{font-size:7.5px;padding:2px 4px}
 .hero.hero-cinematic{min-height:820px;max-height:none}.hero.hero-cinematic::before{background:linear-gradient(90deg,#081c3480,transparent 90%),linear-gradient(0deg,#0c2138f5 0%,#0c2138ab 24%,transparent 80%),linear-gradient(180deg,#0a1c32a3,transparent 27%)}
 .film-copy{top:24%;left:8%;right:5%}.film-eyebrow{font-size:9px;letter-spacing:.06em;gap:10px;margin-bottom:23px}.film-eyebrow::before{width:20px}.film-line{font-size:34px;line-height:1.75;letter-spacing:.035em}.film-note{font-size:10px;line-height:2;letter-spacing:.02em;max-width:29em;margin-top:21px}
 .film-signature{left:8%;bottom:251px}.film-promise{font-size:13px;letter-spacing:.02em}.film-evidence{font-size:8px;margin-top:9px;letter-spacing:0}.film-evidence span{padding:0 3px}.film-contact{font-size:11px;padding-top:15px;gap:40px}
 .film-permit{font-size:10px;letter-spacing:0;gap:9px;padding:7px 10px;margin-bottom:13px}.film-permit>span{font-size:9px;padding-right:9px}
 .cinematic-scroll{display:none}.hero-feature{padding:17px 20px;gap:10px 13px;grid-template-columns:minmax(0,1fr) 32px}.hero-feature>small{font-size:9px}.hero-feature strong{font-size:17px}.hero-feature-recruit strong{font-size:20px}.hero-feature-metrics{font-size:8px;margin-top:8px}.hero-feature-recruit .hero-feature-metrics{font-size:9px}.hero-feature-cta{margin-top:8px;font-size:10px}.hero-feature-arrow{width:32px;height:32px;font-size:19px}
 .hero-scene-night img,.hero-scene-night video{object-position:45% 50%}.hero-scene-warehouse img,.hero-scene-warehouse video{object-position:85% 50%}
 .hero-scene-night.is-active video{animation:night-follow 10.04s linear infinite;animation-play-state:paused}.hero-cinematic.is-running .hero-scene-night.is-active.is-video-ready video{animation-play-state:running}
}
@media(max-width:420px){.site-header{height:76px}.brand-wordmark{font-size:21px}.brand-symbol{width:41px;height:49px;flex-basis:41px}.hero.hero-cinematic{min-height:790px}.film-copy{top:23%}.film-line{font-size:32px}.film-eyebrow{font-size:8px}.film-signature{bottom:244px}}
@media(max-width:360px){.site-header .brand{gap:6px}.brand-symbol{width:36px;height:45px;flex-basis:36px}.brand-wordmark{font-size:20px;letter-spacing:.055em}.site-header .brand-license{font-size:8.5px;gap:4px}.brand-license-label{font-size:7px;padding:2px 3px}.film-line{font-size:28px}.film-note{max-width:25em;font-size:9px}.film-promise{font-size:12px}.film-evidence{font-size:7px}.hero-feature{padding:17px 16px}.hero-feature strong{font-size:16px}.hero-feature-metrics{font-size:7px}}
@keyframes night-follow{from{object-position:45% 50%}to{object-position:78% 50%}}
@media(prefers-reduced-motion:reduce){.hero-scene,.hero-scene video,.film-story{animation:none!important;transition:none!important}.film-story{transform:none}}

/* Direct routes for construction clients and cooperating contractors. */
.site-header .main-nav{gap:18px}
.site-header .main-nav .nav-contact,.site-header .main-nav .nav-partner{padding:14px 16px}
.site-header .main-nav .nav-partner{border:1px solid var(--navy);color:var(--navy);font-weight:600;white-space:nowrap}
.film-actions{display:flex;gap:10px;margin-top:18px}
.film-action{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:46px;padding:12px 17px;border:1px solid #ffffffa6;color:#fff;background:#10283b66;font-size:12px;line-height:1.6;transition:background .2s}
.film-action span{font-size:18px}
.film-action-primary{background:#fff;color:#20354d;border-color:#fff;font-weight:600}
.film-action:hover{background:#2a465ee6}.film-action-primary:hover{background:#e6edf4}
@media(max-width:1200px) and (min-width:1101px){.site-header .main-nav{gap:11px}.site-header .main-nav>a{font-size:10px}.site-header .main-nav .nav-contact,.site-header .main-nav .nav-partner{padding:13px 11px}}
@media(max-width:1100px){.site-header .main-nav{gap:0}.site-header .main-nav .nav-contact,.site-header .main-nav .nav-partner{padding:17px 20px}.site-header .main-nav .nav-partner{margin-top:10px}}
@media(max-width:760px){.hero.hero-cinematic{min-height:870px}.film-signature{right:8%}.film-actions{gap:8px;margin-top:17px}.film-action{flex:1;min-width:0;min-height:46px;padding:11px 12px;font-size:11px;gap:10px}.film-action span{font-size:17px}}
@media(max-width:420px){.hero.hero-cinematic{min-height:840px}}
@media(max-width:360px){.film-action{font-size:10px;padding:11px 9px;gap:6px}}

/* Give recruitment and owned equipment equal, visible space in the first screen. */
@media(min-width:761px) and (max-width:1000px){.film-line{font-size:40px}.film-note{font-size:10px;max-width:34em}}
@media(max-width:760px){
 .hero.hero-cinematic{height:auto;min-height:100svh;max-height:none;padding:142px 0 28px}
 .film-copy{position:relative;inset:auto;margin:0 8%}
 .film-signature{position:relative;inset:auto;margin:30px 8% 0}
 .hero-features{position:relative;inset:auto;width:auto;margin:26px 7% 0;gap:12px}
}
@media(max-width:360px){.hero-feature-recruit strong{font-size:18px}}
