/* One landscape, not a split layout. Terrace edges carry through the page. */
.page-home .site-header{position:absolute;top:28px;left:0;right:0;z-index:35;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;padding:0 32px;height:100px;background:transparent;border:0;gap:25px}
.page-home .brand{grid-column:2;grid-row:1;display:block;background:var(--paper);width:235px;padding:19px 18px 22px;border-radius:0 0 10px 10px}
.page-home .desktop-nav{grid-column:1;grid-row:1;margin-top:33px;gap:21px;justify-self:start}
.page-home .desktop-nav a{color:white;font-size:10px;text-shadow:0 1px 8px #172b3180}.page-home .desktop-nav small{color:#ffffffe0;font-size:7px}
.page-home .recruit-nav{grid-column:3;grid-row:1;justify-self:end;margin:25px 0 0;height:47px;border:0;border-radius:30px;background:var(--blue);color:var(--ink);min-width:145px;padding:0 21px;gap:24px}
.page-home .recruit-nav .arrow{color:var(--ink)}.page-home .recruit-nav:hover{background:#8bd2fd}
.scene-hero{position:relative;height:calc(100svh - 28px);min-height:650px;max-height:1050px;isolation:isolate;background:#5c6e66;overflow:hidden}
.scene-photo,.scene-shade{position:absolute;inset:0;z-index:-2}.scene-photo>img{width:100%;height:100%;object-fit:cover;object-position:52% 55%;animation:scene-arrive 2s cubic-bezier(.16,.6,.2,1) both}
.scene-shade{z-index:-1;background:linear-gradient(180deg,#102128ad 0%,#10212820 25%,transparent 45%,#10212855 72%,#102128bb 100%)}
.scene-signature{position:absolute;left:34px;top:134px;color:#fff;font-size:8px;letter-spacing:.14em;line-height:1.8;opacity:.85}
.scene-caption{position:absolute;left:50%;bottom:157px;transform:translateX(-50%);width:80%;text-align:center;color:white;text-shadow:0 3px 20px #10212870}
.scene-caption h1{font-size:40px;line-height:1.65;font-weight:650;letter-spacing:.12em}.scene-caption h1 br{display:none}.scene-caption p{font-size:11px;line-height:2;letter-spacing:.1em;margin-top:15px}.scene-caption p br{display:none}
.scene-enter{position:absolute;left:50%;bottom:77px;transform:translateX(-50%);display:flex;align-items:center;gap:26px;padding:9px 11px 9px 22px;background:#fffffff0;border-radius:40px;box-shadow:0 5px 30px #10212812;font-size:10px;white-space:nowrap;color:var(--ink)}
.scene-enter>span:last-child{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--blue);font-size:19px}.scene-enter:hover>span:last-child{transform:translateY(2px)}
.scene-vertical{position:absolute;right:26px;top:41%;writing-mode:vertical-rl;letter-spacing:.16em;color:white;font-size:7px;opacity:.8}
.scene-point{position:absolute;display:flex;align-items:center;gap:12px;color:white;z-index:2;filter:drop-shadow(0 2px 8px #172b3150)}
.scene-point-earth{left:67%;top:40%}.scene-point-water{left:18%;top:48%}.scene-dot{position:relative;display:block;width:11px;height:11px;border:2px solid white;background:var(--blue);border-radius:50%;flex-shrink:0}
.scene-dot:before{content:'';position:absolute;inset:-7px;border:1px solid #ffffff80;border-radius:50%}.scene-point>span:last-child{border-bottom:1px solid #ffffff8a;padding:0 15px 7px 0}
.scene-point b{font-size:11px;font-weight:500;letter-spacing:.08em}.scene-point small{display:block;font-size:8px;line-height:1.8;max-height:0;opacity:0;overflow:hidden;transition:max-height .25s,opacity .25s}.scene-point .arrow{font-size:13px;margin-left:6px}.scene-point:hover small,.scene-point:focus-visible small{max-height:35px;opacity:1}.scene-point:hover b{color:#b5e5ff}
.scene-bench{position:absolute;left:0;bottom:-1px;width:100%;height:65px;pointer-events:none}
.world-about{padding-top:100px;background:var(--paper);overflow:hidden}.world-heading{display:flex;justify-content:space-between;gap:70px;align-items:end;max-width:920px;margin:0 auto 0}.world-heading h2{font-size:37px;line-height:1.75;letter-spacing:.07em;font-weight:650}.world-heading>p{font-size:13px;line-height:2.2;letter-spacing:.06em;padding-bottom:10px}
.world-canvas{position:relative;width:100%;max-width:1120px;margin:15px auto 20px;isolation:isolate}.world-canvas>img{display:block;width:84%;max-width:940px;height:auto;margin:0 auto}.world-contour{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.world-marker{position:absolute;display:flex;align-items:center;gap:9px;font-size:11px;font-weight:600;background:white;padding:9px 14px;box-shadow:3px 3px 0 #dce5db}.world-marker b{font:700 16px/1 var(--display);color:#2189bb}.world-marker:after{content:'';width:1px;height:36px;background:#2ca9e5;position:absolute;top:100%;left:25px}.world-marker:before{content:'';width:6px;height:6px;background:#41b5fa;border-radius:50%;position:absolute;top:calc(100% + 33px);left:22px}
.marker-excavation{top:25%;left:15%}.marker-drainage{left:30%;bottom:12%}.marker-drainage:after{top:auto;bottom:100%;height:24px}.marker-drainage:before{top:auto;bottom:calc(100% + 21px)}.marker-retaining{top:35%;right:8%}
.world-about-body{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:920px;margin:20px auto 30px}.world-about-body p{font-size:12px;line-height:2.2}.world-company-link{width:270px;margin:0 auto 20px}
.world-about .numbers{max-width:1000px;margin:60px auto 0}
.fresh-business{background:#e9eee7;position:relative}.fresh-business:before{content:'';position:absolute;top:-23px;left:0;width:38%;height:24px;background:#e9eee7}.fresh-business .section-heading h2{font-size:34px}.core-work-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:30px 45px;align-items:start}.core-work:nth-child(1){grid-column:1/8}.core-work:nth-child(2){grid-column:8/13;margin-top:125px}.core-work:nth-child(3){grid-column:1/6;margin-top:0}.core-work:nth-child(4){grid-column:6/13;margin-top:80px}.core-work:nth-child(1) .core-work-photo,.core-work:nth-child(4) .core-work-photo{height:340px}.core-work:nth-child(2) .core-work-photo,.core-work:nth-child(3) .core-work-photo{height:265px}.core-work-photo{border-radius:0}.core-work-title h3{font-size:25px}.core-number{font-size:21px;background:var(--paper);color:var(--ink);padding:10px 12px;top:0;left:0;border-bottom:3px solid var(--blue)}
.field-note{background:var(--paper);padding:65px 0 75px}.field-note figure{position:relative;width:92%;height:500px;overflow:hidden;margin:0 0 0 auto;clip-path:polygon(0 0,100% 0,100% 89%,79% 89%,79% 95%,49% 95%,49% 100%,0 100%)}.field-note figure>img{width:100%;height:100%;object-fit:cover;object-position:35% 53%}.field-note figure:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#10212878,transparent 65%)}.field-note figcaption{position:absolute;left:7%;top:50%;transform:translateY(-50%);z-index:1;color:white}.field-note figcaption>span{font-size:9px;letter-spacing:.1em}.field-note h2{font-size:35px;line-height:1.8;font-weight:600;letter-spacing:.06em;margin-top:23px}.field-note>div{display:flex;align-items:center;justify-content:space-between;margin:30px var(--pad) 0 14.5%;gap:40px}.field-note>div>p{font-size:12px;line-height:2.2}.field-note .text-link{min-width:250px}
.field-recruit{position:relative}.field-recruit:before{content:'';position:absolute;top:0;left:0;width:40%;height:15px;background:var(--paper);z-index:2}.field-recruit-photo{clip-path:polygon(0 0,100% 0,100% 95%,75% 95%,75% 100%,0 100%)}
.career-photo-hero{height:590px;position:relative;isolation:isolate;overflow:hidden;background:var(--ink)}.career-photo-hero figure{position:absolute;inset:0;margin:0;z-index:-2}.career-photo-hero figure>img{width:100%;height:100%;object-fit:cover;object-position:60% 45%}.career-photo-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,#10212815 40%,#1021289c 100%);z-index:-1}.career-photo-copy{position:absolute;bottom:44px;left:50%;transform:translateX(-50%);text-align:center;color:white;width:85%}.career-photo-copy>.eyebrow{font-size:8px;color:white}.career-photo-copy h1{font-size:35px;line-height:1.8;letter-spacing:.07em;font-weight:650;margin:17px 0 22px}.career-photo-copy h1 br{display:none}.career-photo-copy .button{min-width:265px;font-size:11px;padding:18px 22px}.career-photo-copy .button>.arrow{color:#2486b2}
@keyframes scene-arrive{from{transform:scale(1.055)}to{transform:scale(1)}}
@media(min-width:1550px){.scene-caption h1{font-size:47px}.world-canvas>img{width:86%}.field-note figure{height:560px}}
@media(max-width:1200px){.page-home .site-header{padding:0 24px;gap:18px}.page-home .brand{width:215px;padding:20px 15px}.page-home .desktop-nav{gap:16px;margin-top:32px}.page-home .desktop-nav a{font-size:9px}.page-home .recruit-nav{min-width:130px;font-size:11px;padding:0 18px;gap:18px}.scene-caption h1{font-size:36px}.scene-point-earth{left:68%}.world-heading{gap:45px}.world-heading h2{font-size:33px}.world-heading>p{font-size:12px}.world-about-body{gap:45px}.core-work-grid{gap:25px 35px}.core-work:nth-child(1) .core-work-photo,.core-work:nth-child(4) .core-work-photo{height:300px}.core-work:nth-child(2) .core-work-photo,.core-work:nth-child(3) .core-work-photo{height:230px}.field-note figure{height:450px}}
@media(max-width:1050px){.page-home .site-header{grid-template-columns:80px 1fr 140px;padding:0 24px}.page-home .brand{justify-self:center;grid-column:2}.page-home .desktop-nav{display:none}.page-home .menu-toggle{grid-column:1;grid-row:1;margin-top:30px;justify-self:start;display:flex}.page-home .menu-toggle span{background:white}.page-home .recruit-nav{grid-column:3;min-width:125px;margin-top:25px}.page-home .mobile-menu:not([hidden]){position:absolute;top:115px;left:24px;right:24px;z-index:40;background:var(--paper);border:1px solid var(--line)}.scene-point{gap:10px}.scene-point-earth{left:71%;top:37%}.scene-point-water{left:13%;top:48%}.scene-caption{bottom:170px}.world-heading h2{font-size:31px}.world-heading>p{font-size:11px}.world-about-body{gap:35px}.world-about-body p{font-size:11px}.core-work:nth-child(2){margin-top:95px}.core-work:nth-child(4){margin-top:65px}.core-work:nth-child(1) .core-work-photo,.core-work:nth-child(4) .core-work-photo{height:270px}.core-work:nth-child(2) .core-work-photo,.core-work:nth-child(3) .core-work-photo{height:210px}.core-work-title h3{font-size:23px}.field-note h2{font-size:30px}.career-photo-hero{height:560px}.career-photo-copy h1{font-size:31px}}
@media(max-width:700px){.page-home .site-header{top:25px;height:74px;grid-template-columns:85px minmax(0,1fr) 85px;padding:0 16px;gap:8px}.page-home .brand{width:160px;max-width:100%;padding:14px 8px 16px;border-radius:0 0 7px 7px}.page-home .menu-toggle{margin-top:24px;width:28px;grid-column:1}.page-home .recruit-nav{height:38px;min-width:85px;padding:0 11px;margin-top:17px;gap:10px;justify-content:space-between;font-size:10px;border-radius:22px}.page-home .recruit-nav small{font-size:6px}.page-home .recruit-nav>.arrow{font-size:18px}.page-home .mobile-menu:not([hidden]){top:100px;left:16px;right:16px}.scene-hero{height:calc(100svh - 25px);min-height:690px;max-height:980px}.scene-photo>img{object-position:62% 53%}.scene-shade{background:linear-gradient(180deg,#102128a6,transparent 27%,#1021280a 40%,#10212880 75%,#102128b8)}.scene-signature{left:22px;top:115px;font-size:6px;line-height:1.85;letter-spacing:.1em}.scene-vertical{right:13px;top:33%;font-size:6px}.scene-point{display:none}.scene-caption{bottom:165px;left:50%;width:calc(100% - 36px)}.scene-caption h1{font-size:31px;line-height:1.8;letter-spacing:.09em}.scene-caption h1 br{display:block}.scene-caption p{font-size:9px;line-height:2.1;letter-spacing:.07em;margin-top:13px}.scene-caption p br{display:block}.scene-enter{bottom:76px;font-size:9px;gap:20px;padding:8px 9px 8px 18px}.scene-enter>span:last-child{width:32px;height:32px;font-size:18px}.scene-bench{height:49px}.world-about{padding-top:65px}.world-heading{display:block;margin:0;text-align:center}.world-heading h2{font-size:29px;line-height:1.7}.world-heading>p{font-size:11px;margin-top:20px;padding:0;line-height:2.1}.world-canvas{width:calc(100% + 34px);margin:15px -17px 15px}.world-canvas>img{width:100%;height:auto}.world-marker{font-size:8px;padding:6px 8px;gap:6px;white-space:nowrap;box-shadow:2px 2px 0 #dce5db}.world-marker b{font-size:13px}.world-marker:after{height:20px;left:18px}.world-marker:before{width:5px;height:5px;top:calc(100% + 18px);left:16px}.marker-excavation{left:4%;top:26%}.marker-drainage{left:27%;bottom:7%}.marker-drainage:after{height:17px;bottom:100%}.marker-drainage:before{top:auto;bottom:calc(100% + 15px)}.marker-retaining{right:0;top:37%}.world-about-body{display:block;margin:25px 0}.world-about-body p{font-size:11px;line-height:2.2;margin-bottom:18px}.world-company-link{width:100%;max-width:270px;margin-top:5px}.world-about .numbers{margin-top:40px}.fresh-business:before{width:45%;height:16px;top:-15px}.fresh-business .section-heading h2{font-size:28px}.core-work-grid{display:block}.core-work{width:100%;margin:0 0 37px!important}.core-work:nth-child(2),.core-work:nth-child(3){width:86%;margin-left:auto!important}.core-work:nth-child(1) .core-work-photo,.core-work:nth-child(4) .core-work-photo{height:245px}.core-work:nth-child(2) .core-work-photo,.core-work:nth-child(3) .core-work-photo{height:205px}.core-work-title h3{font-size:23px}.core-number{font-size:19px;padding:8px 10px;border-bottom-width:2px}.core-work>p{font-size:11px}.field-note{padding:45px 0 50px}.field-note figure{width:calc(100% - 20px);height:390px;margin-left:20px;clip-path:polygon(0 0,100% 0,100% 90%,76% 90%,76% 96%,45% 96%,45% 100%,0 100%)}.field-note figure>img{object-position:37% 45%}.field-note figure:after{background:linear-gradient(0deg,#102128a3,transparent 65%)}.field-note figcaption{left:21px;top:auto;bottom:55px;transform:none}.field-note figcaption>span{font-size:7px}.field-note h2{font-size:27px;line-height:1.75;margin-top:15px;letter-spacing:.05em}.field-note>div{display:block;margin:20px 24px 0;gap:0}.field-note>div>p{font-size:11px}.field-note .text-link{margin-top:15px;width:100%;max-width:270px;min-width:0}.field-recruit:before{height:10px;width:38%}.career-photo-hero{height:630px}.career-photo-hero figure>img{object-position:64% 44%}.career-photo-hero:after{background:linear-gradient(180deg,transparent 20%,#10212800 40%,#102128a8 100%)}.career-photo-copy{bottom:35px;width:calc(100% - 38px)}.career-photo-copy>.eyebrow{font-size:7px}.career-photo-copy h1{font-size:29px;line-height:1.75;margin:15px 0 20px}.career-photo-copy h1 br{display:block}.career-photo-copy .button{min-width:0;width:250px;max-width:100%;font-size:11px;padding:17px 20px}}
.scene-point-earth{left:78%;top:42%}.scene-point-water{left:8%;top:61%}
@media(max-width:700px){.scene-photo>img{object-position:84% 53%}}
@media(max-width:700px){.page-home .recruit-nav{padding:0 9px;gap:6px}.page-home .recruit-nav>span:first-child{white-space:nowrap;line-height:1.3}.page-home .recruit-nav small{font-size:5.5px;margin-top:2px}}
@media(max-width:700px){.scene-caption h1{font-size:clamp(23px,7vw,28px)}}
@media(min-width:701px) and (max-width:1050px){.scene-caption h1 br{display:block}}
@media(prefers-reduced-motion:reduce){.scene-photo>img{animation:none}.scene-point small{transition:none}}
