/* Corporate layout, using the approved fonts and existing licensed photographs. */
:root{--navy:#102444;--blue:#213e78;--gold:#bd9955;--muted:#58677a}
.skip-link{position:fixed;top:-80px;left:20px;background:white;color:var(--navy);padding:12px 20px;z-index:100}.skip-link:focus{top:10px}
header{position:sticky;top:0;z-index:20;padding:10px 4%;min-height:92px;box-shadow:0 1px 0 #10244412;background:#fff;flex-wrap:nowrap}
.logo-crop{width:91px;height:66px}.brand .logo-crop img{width:132px;height:auto;left:-20px;top:-24px}.brand{font-weight:600;font-size:16px;letter-spacing:.06em}.brand small{font-size:11px;letter-spacing:.1em;margin-top:4px;color:#727f91}
nav{gap:28px;font-weight:400;font-size:14px}.nav-contact{padding:13px 22px;border-radius:2px}nav a:not(.nav-contact){position:relative;padding:8px 0}nav a:not(.nav-contact):hover{color:#9a7426}.nav-contact:hover{background:#102444}
.hero{position:relative;background:var(--navy);color:white}.hero-main{position:relative;display:flex;min-height:660px;height:calc(100svh - 155px);max-height:920px;align-items:center;isolation:isolate}
.hero-copy{position:relative;z-index:2;width:100%;padding:65px 7%;align-self:auto}
.hero-photo{position:absolute;inset:0;z-index:-2;min-height:0;aspect-ratio:auto}
.hero-photo img{object-position:center 61%}.hero-main:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,24,46,.83) 0%,rgba(9,24,46,.64) 36%,rgba(9,24,46,.12) 78%)}
.hero .eyebrow{color:#e5c586;font:13px/1.6 "HikariNumerals",Arial,sans-serif;letter-spacing:.24em;margin-bottom:30px}
.hero h1{font-size:clamp(38px,4.6vw,72px);color:white;line-height:1.6;letter-spacing:.08em;margin-bottom:28px;text-shadow:0 1px 15px #0002}.hero h1 em{color:white}
.intro{color:#f4f5f7;font-size:17px;line-height:2.2;margin-bottom:28px}.gold-link{font-size:15px;border-color:#ddbd7d;gap:45px;padding:10px 0}.hero-location{color:#c4cdd9;font-size:11px;letter-spacing:.2em;margin-top:32px}
.hero-photo figcaption{bottom:18px;right:4%;background:#1024449c;font-size:12px}.hero-strip{display:flex;align-items:center;gap:32px;padding:18px 7%;font-size:13px;letter-spacing:.08em}.hero-strip>span:nth-child(2){color:#b7c3d4}.hero-strip>a{margin-left:auto;display:flex;gap:30px}.hero-strip>a span{color:#d7b371}
.section{padding:110px max(7%,calc((100vw - 1280px)/2));scroll-margin-top:80px}.section h2{font-family:"HikariNumerals","Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;font-size:clamp(28px,3vw,44px);line-height:1.65;letter-spacing:.08em}
.services .section-heading{margin-bottom:65px;grid-template-columns:1fr 1fr;gap:0 10%}.section-heading .eyebrow{font:12px/1.8 "HikariNumerals",Arial,sans-serif;letter-spacing:.2em;color:#987432;margin-bottom:25px}
.service-list{display:block}.service-list article,.service-list article:last-child{display:grid;grid-template-columns:1.1fr 1fr;position:relative;gap:0 8%;align-items:center;margin:0 0 64px;border:0;padding:0}.service-list article:last-child{margin-bottom:0}
.service-photo{aspect-ratio:1.4;width:100%;height:auto;object-fit:cover;grid-column:1;grid-row:1;margin:0}.service-list article>div{grid-column:2;grid-row:1;padding:52px 0 20px}.service-list .number{position:absolute;top:3px;left:57%;font:48px/1 "HikariNumerals",Georgia,serif;color:#dde3ec;margin:0;padding:0;border:0;pointer-events:none}
.service-list h3{font-family:"HikariNumerals","Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(23px,2.1vw,31px);line-height:1.65;letter-spacing:.06em;margin:14px 0 22px}.service-list .english{font:11px/1.8 "HikariNumerals",Arial,sans-serif;letter-spacing:.16em;color:#876827}.service-list article p:last-child{font-size:16px;line-height:2.1;color:#536174}
.service-list article:nth-child(even){grid-template-columns:1fr 1.1fr}.service-list article:nth-child(even) .service-photo{grid-column:2}.service-list article:nth-child(even)>div{grid-column:1}.service-list article:nth-child(even) .number{left:0}
.photo-note{margin-top:34px;font-size:12px;color:#727d8d}.company{background:#f4f6f9;grid-template-columns:.9fr 1.25fr;gap:9%}.company-intro{font-size:16px;color:var(--muted);margin-top:30px;line-height:2.1}.company-facts{display:flex;gap:32px;border-top:1px solid #d2dae5;margin-top:38px;padding-top:28px}.company-facts>div{min-width:0}.company-facts span{display:block;font:10px/1.5 "HikariNumerals",Arial,sans-serif;letter-spacing:.14em;color:#69768a}.company-facts strong{font:40px/1.6 "HikariNumerals",Georgia,serif;display:block;color:var(--blue)}.company-facts small{font:13px "HikariNumerals",'Zen Maru Gothic',sans-serif;margin-left:7px}.company-data>div{padding:24px 0;grid-template-columns:100px 1fr}.company-data dt{font-size:14px}.company-data dd{overflow-wrap:anywhere}.company-data a:hover{text-decoration:underline;text-underline-offset:5px}
.contact{position:relative;background:#102444;grid-template-columns:1fr 1.15fr;gap:8%;align-items:center}.contact .eyebrow{color:#d4b779;font:12px "HikariNumerals",Arial,sans-serif;letter-spacing:.2em}.contact h2{margin-bottom:20px}.contact-options{border-left:1px solid #ffffff30;padding-left:10%;min-width:0}.contact-label{font-size:14px;color:#dce3ec}.main-email{font-size:clamp(21px,2.25vw,32px);font-family:"HikariNumerals",'Zen Maru Gothic',sans-serif;letter-spacing:0;margin-bottom:24px}.email-button{display:flex;justify-content:space-between;max-width:430px;padding:18px 25px;border-radius:2px;font-size:16px;transition:background .2s}.email-button:hover{background:#f4e9d4}.contact-hint{font-size:13px;line-height:2.1}.contact>div>p:last-child{font-size:15px}
footer{padding:45px 7%;gap:40px;align-items:flex-start}.footer-name{font-size:18px}.footer-name+p{font-size:13px;color:#68778a;line-height:1.9}.footer-nav{display:flex;gap:22px;flex-wrap:wrap;justify-content:flex-end;max-width:490px;font-size:13px}.footer-nav>span{flex-basis:100%;text-align:right;margin-top:20px}
@media(min-width:1450px){.service-list .number{top:25px}.service-list article>div{padding-top:30px}}
@media(max-width:1000px){header{gap:15px}.brand{font-size:14px}.brand small{font-size:10px;letter-spacing:0}nav{gap:15px;font-size:13px}.nav-contact{padding:10px 14px}.hero-main{height:auto;min-height:650px}.section{padding:80px 6%}.service-list .number{font-size:36px}.service-list h3{font-size:24px}.company{grid-template-columns:1fr 1.3fr;gap:6%}.company-facts{gap:20px;flex-wrap:wrap}.contact{gap:5%}.contact-options{padding-left:7%}}
@media(max-width:760px){html{scroll-padding-top:140px}header{flex-wrap:wrap;gap:8px;padding:10px 5%}.brand{gap:12px}.brand>span:last-child{font-size:14px}.brand small{font-size:10px}.logo-crop{width:71px;height:52px}.brand .logo-crop img{width:105px;left:-17px;top:-20px}nav{width:100%;justify-content:space-between;gap:8px;font-size:13px}.nav-contact{padding:8px 13px}.hero-main{min-height:620px;max-height:none;display:flex}.hero-copy{padding:55px 7% 74px}.hero h1{font-size:clamp(32px,8.1vw,51px);line-height:1.65;letter-spacing:.04em}.hero-main:after{background:linear-gradient(90deg,#081d38d9,#081d3875)}.hero-photo img{object-position:59% center}.hero .eyebrow{font-size:11px;margin-bottom:24px}.intro{font-size:15px;line-height:2.1}.hero-location{font-size:10px}.hero-strip{gap:12px;padding:16px 6%;font-size:12px}.hero-strip>span:nth-child(2){display:none}.hero-strip>a{gap:14px}.section{padding:65px 6%;scroll-margin-top:30px}.services .section-heading{display:block;margin-bottom:35px}.section h2{font-size:30px}.services .section-heading>p:last-child{font-size:15px;margin-top:24px}.service-list article,.service-list article:last-child,.service-list article:nth-child(even){grid-template-columns:1fr;margin-bottom:42px;gap:0}.service-list article:last-child{margin-bottom:0}.service-list .service-photo,.service-list article:nth-child(even) .service-photo{grid-column:1;grid-row:1;aspect-ratio:1.4}.service-list article>div,.service-list article:nth-child(even)>div{grid-column:1;grid-row:2;padding:24px 0 0}.service-list .number{display:none}.service-list h3{font-size:25px;margin:10px 0 14px}.service-list article p:last-child{font-size:16px}.company{grid-template-columns:1fr;gap:32px}.company-facts{gap:35px;flex-wrap:nowrap}.company-intro br{display:none}.company-data>div{grid-template-columns:85px 1fr;padding:20px 0;gap:15px}.company-data dd{font-size:15px}.company-data dt{font-size:13px}.contact{grid-template-columns:1fr;gap:32px}.contact-options{border-left:0;border-top:1px solid #ffffff30;padding:28px 0 0}.main-email{font-size:clamp(20px,5.8vw,29px)}.email-button{max-width:none}.footer-nav{justify-content:flex-start;gap:20px}.footer-nav>span{text-align:left;margin-top:10px}footer{padding:35px 6%;display:block}.footer-name+p{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.email-button{transition:none}}

/* Refined serif typography; company figures remain in the profile table. */
body{font-family:"HikariNumerals",Georgia,"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-weight:500;-webkit-font-smoothing:antialiased}
.brand,.main-email,.email-button,nav,.company-data,.intro,.company-intro,.contact-hint,.footer-nav{font-family:inherit}
.brand{font-weight:600}
.intro,.company-intro,.service-list article p:last-child,.services .section-heading>p:last-child{font-size:16px;line-height:2.15;letter-spacing:.035em}
.company-data dd{font-size:16px;line-height:2;letter-spacing:.025em;font-variant-numeric:lining-nums tabular-nums}
.company-data dt{font-size:14px;letter-spacing:.06em;color:#4c5c73}
.main-email{font-weight:400;letter-spacing:.02em}
.contact-hint,.footer-name+p{font-size:14px;line-height:2}
.eyebrow,.english,.hero-location,.brand small,.footer-nav>span{font-family:"HikariNumerals",Georgia,"Times New Roman",serif!important}
.brand small{font-size:12px!important;letter-spacing:.08em!important}
@media(max-width:760px){.brand small{font-size:10px!important}.company-data dt{font-size:13px}.company-data dd{font-size:15px}.intro{font-size:16px}.hero h1{font-family:"HikariNumerals","Yu Mincho","Hiragino Mincho ProN",serif}.company-data>div{grid-template-columns:80px minmax(0,1fr)}}
.hero .eyebrow{font-family:"HikariNumerals",Georgia,"Times New Roman",serif!important;font-size:14px;letter-spacing:.11em;font-weight:400;color:#dfcca5;line-height:1.5;margin-bottom:25px}
@media(max-width:760px){.hero .eyebrow{font-size:12px;letter-spacing:.1em}}

/* Service stories and a distinct destination for the main call to action. */
.detail-link{display:inline-flex;gap:32px;margin-top:20px;padding:8px 0;border-bottom:1px solid #b99b64;font-size:14px;color:#233c61}.detail-link:hover{color:#967333}.service-list article p{font-size:16px;line-height:2.15;color:#536174}.hero-strip{justify-content:space-between}.hero-strip>span:nth-child(2){display:inline}
.works-intro{background:#f4f6f9}.breadcrumb{display:block;font-size:13px;color:#69768a;margin-bottom:40px}.works-intro h1{font-size:clamp(30px,3.8vw,54px);font-weight:500;line-height:1.7;letter-spacing:.06em;margin:20px 0 28px}.works-intro>p{line-height:2.1}.work-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 36px;margin-top:45px}.work-index a{display:flex;gap:15px;align-items:center;border-bottom:1px solid #cbd1db;padding:20px 0!important;font-size:15px}.work-index a span{color:#9b7a42;font-size:13px}.work-index b{margin-left:auto;font-weight:400;color:#9b7a42}.work-details{padding:0 7%;max-width:1600px;margin:auto}.work-detail{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:start;padding:90px 0;border-bottom:1px solid #dce1e8;scroll-margin-top:110px}.work-detail figure{margin:0;position:sticky;top:125px}.work-detail img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.work-detail figcaption{font-size:11px;color:#738091;margin-top:12px;letter-spacing:.06em}.work-copy h2{font-size:clamp(25px,2.5vw,36px);font-weight:500;line-height:1.7;margin:15px 0 24px}.work-copy h3{font-size:20px;font-weight:500;line-height:1.8;margin-bottom:18px}.work-copy p{font-size:16px;line-height:2.2;color:#536174}.work-copy aside{padding:24px 28px;background:#f4f6f9;margin-top:28px;border-top:2px solid #bea16a}.work-copy h4{font-size:17px;font-weight:500;margin:0 0 10px}.work-copy aside p{font-size:15px;margin:0}.work-copy .work-scope{font-size:13px;margin-top:24px}.work-end{background:#102444;color:white;text-align:center}.work-end h2{margin:20px 0}.work-end p{line-height:2.1}.work-end .email-button{margin:30px auto 0}.work-end .eyebrow{color:#dfcca5}
@media(max-width:760px){.hero-strip{flex-direction:column;align-items:flex-start;gap:4px}.hero-strip>span:nth-child(2){font-size:11px}.work-index{grid-template-columns:1fr 1fr;gap:0 20px}.work-index a{font-size:12px;gap:6px}.work-index a span{font-size:11px}.work-details{padding:0 6%}.work-detail{grid-template-columns:1fr;padding:50px 0;gap:28px;scroll-margin-top:150px}.work-detail figure{position:static}.work-detail img{aspect-ratio:4/3}.work-copy aside{padding:20px}.works-intro h1{font-size:29px}.works-intro>p{font-size:14px}.work-copy h3{font-size:19px}}
.works-intro,.work-end{display:block}.work-end .email-button{max-width:430px}.work-detail img{height:auto}

.work-detail img[src*="plastering-finished"],.service-photo[src*="plastering-finished"]{aspect-ratio:4/3;object-fit:cover;object-position:center 20%;height:auto}
.work-index a{overflow-wrap:anywhere;min-width:0}

.work-detail .process-photo{position:static;margin:30px 0 0;padding-top:26px;border-top:1px solid #dce1e8}.work-detail .process-photo img{width:100%;height:260px;aspect-ratio:auto;object-fit:cover;object-position:center 55%}.work-detail .process-photo figcaption{font-size:13px;line-height:1.9;margin-top:12px;color:#536174}.process-photo figcaption span{display:block;color:#93753f;letter-spacing:.05em;margin-bottom:5px}@media(max-width:760px){.work-detail .process-photo img{height:230px}}
.work-detail#concrete>figure>img{aspect-ratio:3/2;object-fit:cover}.work-detail#masonry>figure>img{aspect-ratio:1;object-fit:cover}

.works-cover{position:relative;isolation:isolate;display:flex;align-items:center;min-height:640px;height:calc(100svh - 92px);max-height:900px;background:#102444;color:white;padding:60px 7%}.works-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;z-index:-2}.works-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#09182ed9 0%,#09182e99 45%,#09182e22 100%);z-index:-1}.works-cover-copy{max-width:1000px}.works-cover .breadcrumb{color:#e0e6ed;margin-bottom:40px;font-size:13px}.works-cover .eyebrow{color:#dfcca5;font-weight:400}.works-cover h1{font-size:clamp(34px,4.1vw,62px);font-weight:500;line-height:1.65;letter-spacing:.045em;margin:20px 0 30px}.works-cover-copy>p:last-child{font-size:16px;line-height:2.2;color:#edf0f5}.works-cover-caption{position:absolute;right:4%;bottom:20px;background:#1024449c;padding:6px 12px;font-size:12px;letter-spacing:.05em}.works-menu{display:block;padding-top:35px;padding-bottom:35px;background:#f4f6f9}.works-menu .work-index{margin-top:0}.works-menu .photo-note{margin-top:22px}@media(max-width:760px){.works-cover{min-height:580px;height:calc(100svh - 130px);max-height:800px;padding:48px 6% 65px}.works-cover h1{font-size:clamp(27px,6.7vw,42px)}.works-cover-copy>p:last-child{font-size:15px}.works-cover-copy>p:last-child br{display:none}.works-cover .breadcrumb{margin-bottom:30px}.works-cover-image{object-position:59% center}.works-cover-caption{font-size:11px}.works-menu{padding-top:20px;padding-bottom:25px}}
.work-detail#plastering>figure>img{aspect-ratio:4/5;object-position:center 55%}

.work-detail#masonry>figure>img{aspect-ratio:3/2}.photo-note a,.work-detail figcaption a{text-decoration:underline;text-underline-offset:3px}
.work-detail#exterior>figure>img,.work-detail#paving>figure>img{aspect-ratio:3/2;object-fit:cover}
.work-detail#tiles>figure>img{aspect-ratio:3/2;object-fit:cover}

.recruitment{background:#f3f5f8;align-items:center;border-top:1px solid #dce1e8}.recruitment h3{font-size:24px;font-weight:500;margin:0 0 18px}.recruitment p{font-size:16px;line-height:2.1;color:#536174}.recruitment .eyebrow{color:#96743b;font-size:13px}.recruit-link{display:inline-flex;gap:40px;border-bottom:1px solid #ad8d55;padding:14px 0;font-size:17px;color:#102444}.recruit-link:hover{color:#96743b}.recruitment .recruit-note{font-size:13px;margin-top:22px;max-width:560px}.work-detail#asphalt>figure>img{aspect-ratio:3/2}.work-detail#exterior>figure>img{aspect-ratio:4/5;object-position:center 75%}.service-photo[src*="exterior-gate"]{object-position:center 80%}

.work-detail#masonry{grid-template-columns:1fr}.work-detail#masonry .work-copy{max-width:820px;margin:auto}.service-list article.service-text-only{display:block;padding:35px;background:#f4f6f9}.service-list article.service-text-only>div{padding:0}.service-text-only .number{display:none}
