/* Shared spacing, line work and controls for the finished civil engineering site. */
:root{--detail-line:#d7e0e6;--detail-muted:#536674;--detail-ease:cubic-bezier(.2,.65,.3,1)}
body{background:#fafbfc;text-rendering:optimizeLegibility}
button,a,summary{-webkit-tap-highlight-color:transparent}
:where(a,button,summary,select):focus-visible{outline:2px solid #2587bd;outline-offset:5px}
::selection{background:#bce5fc;color:#142d3e}
.ui-icon{display:block;flex:0 0 auto;width:30px;height:24px;overflow:visible;transition:transform .3s var(--detail-ease),color .3s}
.ui-icon path{vector-effect:non-scaling-stroke}
.inline-icon{display:inline-block;vertical-align:middle;width:20px;height:18px;margin-left:9px}
.proposal-bar button{display:inline-flex;align-items:center;gap:6px}.info-icon{width:14px;height:14px}
.arrow.ui-icon{font-size:inherit;line-height:1}
.button{min-height:60px;padding:17px 25px;gap:32px;font-size:13px;font-weight:500;letter-spacing:.035em;line-height:1.8;border:1px solid transparent;border-radius:0;transition:background .25s,color .25s,border-color .25s}
.button.light{background:#fff;color:var(--ink);border-color:#d2dce3}
.button.light:hover{background:#f5f8fa;border-color:#8fa6b6}
.button.dark{background:var(--ink);color:#fff}
.button.dark:hover{background:#24495f}
.button .ui-icon{color:var(--ink)}
.button.dark .ui-icon{color:var(--blue)}
.button:hover .ui-icon,.text-link:hover .ui-icon{transform:translateX(5px)}
.text-link{min-height:48px;gap:35px;padding:13px 0 15px;font-size:13px;font-weight:500;letter-spacing:.02em;border-bottom:1px solid #aebec9}
.text-link:hover{border-color:#2587bd}
.text-link .ui-icon{width:28px;color:var(--ink)}
.text-link:hover .arrow,.button:hover .arrow{transform:translateX(5px)}
.recruit-nav .ui-icon{width:25px;height:24px;color:var(--blue)}
.recruit-nav:hover>.arrow{transform:translate(3px,-3px)}
.desktop-nav a{letter-spacing:.025em}
.desktop-nav small{letter-spacing:.14em;font-size:9px}
.desktop-nav a:after{height:1px}
.page-home.logo-motion-ready:not(.logo-docked) .site-header{background:transparent;border-color:transparent;box-shadow:none}
.page-home.logo-motion-ready:not(.logo-docked) .desktop-nav a{color:#fff;text-shadow:0 1px 10px #142d3e4d}
.page-home.logo-motion-ready:not(.logo-docked) .desktop-nav small{color:#ffffffbf}
.page-home.logo-motion-ready:not(.logo-docked) .menu-toggle span{background:#fff}
.scene-enter{display:flex;align-items:center;justify-content:space-between;gap:26px;width:215px;min-height:48px;padding:7px 0 14px;bottom:142px;background:transparent;color:#fff;border:0;border-bottom:1px solid #ffffff8c;border-radius:0;box-shadow:none;font:500 13px/1.8 Noto,sans-serif;letter-spacing:.06em;z-index:5;transition:border-color .3s}
.scene-enter:hover{background:transparent;color:#fff;border-color:var(--blue)}
.scene-enter>span{background:none;padding:0;width:auto;height:auto}
.scene-enter .scene-scroll-icon{width:24px;height:27px;color:#fff}
.scene-enter:hover .scene-scroll-icon{transform:translateY(4px)}
.scene-controls{bottom:62px;gap:19px}
.scene-page{font-weight:400;font-size:11px;letter-spacing:.04em}
.scene-page:before,.scene-page:after{height:1px}
.scene-playback{border:0;border-radius:0;width:32px;height:32px;font-size:12px;background:none}
.scene-caption p{font-size:12px;line-height:2;letter-spacing:.08em}
.scene-vertical{font-size:9px;letter-spacing:.17em}
.news-strip{min-height:74px;border-bottom:1px solid var(--detail-line)}
.news-strip>span,.news-strip>time{font-size:10px;letter-spacing:.08em}
.news-strip>button{font-size:13px;font-weight:500;min-height:48px}
.section{padding-top:88px;padding-bottom:88px}
.section-label{margin-bottom:42px;padding-top:17px;border-color:var(--detail-line);font-size:10px;gap:28px;letter-spacing:.12em}
.section-label>span+span{font-size:11px;color:var(--detail-muted)}
.section-label>span:first-child:before{height:2px;width:18px;background:var(--blue);margin-right:12px}
.section-heading{margin-bottom:38px;gap:40px}
.section-heading h2,.world-heading h2,.trust .section-heading h2{font-size:34px;font-weight:700;line-height:1.6;letter-spacing:.035em}
.section-heading>p,.section-heading>div>p,.world-heading>p{font-size:14px;line-height:2;color:var(--detail-muted);letter-spacing:.015em}
.eyebrow{font-size:10px;line-height:1.7;letter-spacing:.14em}
.note{font-size:11px;line-height:1.9;color:#617582}
.world-about{background:#fafbfc;padding-top:88px}
.world-heading{max-width:none;gap:65px;align-items:start;margin:0}
.world-heading>p{max-width:435px;padding:0}
.world-canvas{max-width:980px;margin:26px auto 18px;row-gap:10px}
.world-canvas>img{max-width:980px;width:100%;grid-column:1/-1}
.world-canvas .world-marker{padding:14px 12px;font-size:12px;gap:13px;border-top:1px solid var(--detail-line)}
.world-canvas .world-marker b{font:500 12px/1.7 Arial,sans-serif;letter-spacing:.06em;color:#3389b8}
.world-canvas .world-marker+.world-marker{border-left:0}
.world-company-link{display:flex;width:248px;margin:0 0 0 auto}
.world-about .numbers{max-width:none;margin:42px 0 0}
.numbers strong{font-size:56px;letter-spacing:-.02em;font-weight:600}
.numbers>div{padding-top:0;padding-bottom:0}
.numbers>div>p{font-size:13px;line-height:1.8}
.numbers>div>span{font-size:10px;letter-spacing:.12em}
.numbers small{font-size:11px;line-height:1.7}
.fresh-business{background:#edf1f4}
.fresh-business:before{display:none}
.page-home .core-work-grid{gap:42px 36px}
.page-home .core-work-grid .core-work-photo{aspect-ratio:16/10;overflow:hidden}
.page-home .core-work-grid .photo{transition:transform .65s var(--detail-ease)}
.page-home .core-work:hover .photo{transform:scale(1.025)}
.page-home .core-work-title{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:18px 0 9px}
.page-home .core-work-title h3{font-size:25px;font-weight:650;line-height:1.5;letter-spacing:.025em}
.page-home .core-work-title .core-kicker{display:flex;align-items:center;gap:12px;margin-bottom:5px;color:#617582;font-size:10px;letter-spacing:.08em}
.core-kicker b{font:500 11px/1.7 Arial,sans-serif;color:#2d83b4;letter-spacing:.04em}
.page-home .core-work-title>.ui-icon{color:#254b62;width:30px;margin-top:15px}
.core-work:hover .core-work-title>.ui-icon{transform:translateX(4px)}
.page-home .core-work>p{font-size:14px;line-height:1.95;color:var(--detail-muted)}
.business-other{margin-top:42px;padding-top:24px;border-top:1px solid #ced9e1}
.business-other p{font-size:13px;line-height:1.9}
.business-other .text-link{font-size:12px}
.field-note.section{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:center;gap:65px;padding:88px var(--pad);background:#fff}
.field-note figure{width:100%;height:auto;aspect-ratio:3/2;margin:0;clip-path:none;overflow:hidden}
.field-note figure>img{display:block;width:100%;height:100%;object-fit:cover;object-position:35% 50%}
.field-note figure:after{display:none}
.field-note>div{display:block;margin:0}
.field-note .eyebrow{color:#617582;margin:0 0 15px;font-size:10px}
.field-note h2{font-size:32px;line-height:1.6;letter-spacing:.035em;margin:0 0 22px}
.field-note-copy>p:not(.eyebrow){font-size:14px;line-height:2;color:var(--detail-muted);max-width:370px}
.field-note .text-link{margin-top:25px;width:245px;min-width:0}
.work-section{background:#fafbfc}
.home-records{border-bottom:1px solid var(--detail-line)}
.home-record-head,.home-record{display:grid;grid-template-columns:minmax(0,1fr) 230px 185px 30px;column-gap:32px;text-align:left;align-items:center}
.home-record-head{padding:13px 0;color:#617582;border-bottom:1px solid #9cabb6;font-size:11px;letter-spacing:.05em}
.home-record{width:100%;padding:26px 0;border-top:1px solid var(--detail-line);color:var(--ink);background:transparent;transition:background .25s}
.home-record:first-of-type{border-top:0}
.home-record:hover{background:#f0f4f7}
.home-record-project{min-width:0}
.home-record .project-meta{display:block;font-size:11px;color:#617582;line-height:1.8;margin-bottom:8px}
.home-record-project>strong{display:block;font-size:15px;font-weight:600;line-height:1.8;letter-spacing:.015em}
.home-record-client{font-size:13px;line-height:1.85;font-weight:500}
.home-record-client>small,.home-record-period>small{display:none}
.home-record-period{font-size:12px;line-height:1.9;color:#536674}
.home-record>.ui-icon{width:27px;color:#254b62}
.home-record:hover>.ui-icon{transform:translateX(4px)}
.field-recruit{grid-template-columns:1.12fr 1fr;min-height:510px}
.field-recruit:before{display:none}
.field-recruit-photo{clip-path:none;min-height:510px}
.field-recruit-photo>img{object-position:66% center}
.field-recruit-photo:after{background:linear-gradient(90deg,transparent 85%,#142d3e50)}
.field-recruit-content{display:flex;flex-direction:column;justify-content:center;padding:50px clamp(32px,5vw,76px)}
.field-recruit h2{font-size:38px;line-height:1.5;letter-spacing:.045em;margin:19px 0 22px}
.field-recruit-content>p:not(.eyebrow){font-size:14px;line-height:2;max-width:380px}
.field-recruit .button{display:flex;width:300px;min-width:0;max-width:100%;min-height:62px;padding:17px 24px;font-size:13px;font-weight:500;margin-top:29px;border:1px solid #fff}
.field-recruit .button .ui-icon{color:#2385b8}
.field-photo-note{font-size:10px;margin-top:18px;line-height:1.8}
.trust-links{border-color:var(--detail-line)}
.trust-links a{padding-top:30px;padding-bottom:30px;transition:background .25s}
.trust-links a:hover{background:#f0f4f7}
.trust-links h3{font-size:22px;line-height:1.6;letter-spacing:.025em}
.trust-links p{font-size:12px;line-height:1.9}
.trust-links .ui-icon{width:26px;color:#254b62}
.trust-links a:hover .ui-icon{transform:translateX(4px)}
.news-section{padding-top:0}
.news-list button{padding-top:23px;padding-bottom:23px;font-size:14px}
.news-list time{font-size:11px;color:#617582}
.news-list .ui-icon{width:25px}
.contact-band{padding-top:60px;padding-bottom:60px;gap:60px;background:#142d3e}
.contact-band h2{font-size:32px;letter-spacing:.035em;line-height:1.6}
.contact-band>div>p:not(.eyebrow){font-size:13px;line-height:1.9}
.contact-band .button{width:340px;min-height:60px;max-width:100%;border:1px solid #ffffff80;background:transparent;color:#fff;font-size:13px}
.contact-band .button .ui-icon{color:#fff}
.contact-band .button:hover{background:#ffffff0d;border-color:#fff}
.footer{padding-top:58px;padding-bottom:26px}
.footer-top p{font-size:12px;line-height:2;margin-top:23px}
.footer-links{font-size:13px;gap:25px 44px}
.footer-links a:hover,.footer-links button:hover{color:#2587bd}
.footer-bottom{margin-top:48px;padding-top:22px}
.footer-bottom>div{font-size:10px;gap:22px}
.footer-bottom button{font-size:10px}
.page-top .ui-icon,.back-top .ui-icon{width:24px;height:24px}
.page-title{padding-top:46px;padding-bottom:46px}
.page-title h1{font-size:42px;letter-spacing:.035em;line-height:1.5}
.page-title>div>p{font-size:14px;line-height:1.9}
.company-overview.section{padding-top:40px;padding-bottom:48px}
.company-history,.qualifications,.license-section{padding-top:70px;padding-bottom:70px}
.history-grid{gap:36px}
.history-grid strong{font-size:40px;letter-spacing:-.02em;line-height:1.4}
.history-grid h3{font-size:18px;line-height:1.7}
.history-grid p{font-size:13px;line-height:1.9}
.qualifications h2{font-size:30px;line-height:1.6;margin-bottom:32px}
.qualification-list>div{font-size:14px;padding-top:16px;padding-bottom:16px;gap:20px}
.qualification-list strong{font-size:30px;color:var(--ink)}
.qualification-list strong small{font-size:11px}
.career-photo-hero{height:570px;min-height:0}
.career-photo-hero figure>img{object-position:58% 14%}
.career-photo-hero:after{background:linear-gradient(180deg,#142d3e00 35%,#142d3e55 68%,#142d3eb8)}
.career-photo-copy{bottom:45px}
.career-photo-copy h1{font-size:40px;line-height:1.6;letter-spacing:.045em;text-shadow:0 2px 14px #142d3e60}
.career-photo-copy .button{min-height:58px;width:270px;min-width:0;font-size:13px;padding:15px 22px;background:#ffffff09;border:1px solid #ffffffb3;color:#fff}
.career-photo-copy .button .ui-icon{color:#fff}
.career-photo-copy .button:hover{background:#ffffff1a;border-color:#fff}
.recruit-anchor{padding:0 var(--pad);min-height:74px;border-bottom:1px solid var(--detail-line)}
.recruit-anchor a{font-size:13px;letter-spacing:.015em;padding-top:23px;padding-bottom:23px}
.recruit-anchor .ui-icon{width:25px}
.field-career-story{padding-top:65px;padding-bottom:65px}
.field-career-story h2{font-size:30px;line-height:1.6;letter-spacing:.035em}
.field-career-story p{font-size:14px;line-height:2}
.field-career-story>figure{max-width:470px}
.job-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.job-card>img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;margin-bottom:22px}
.job-card>.eyebrow{display:block;font-size:10px;color:#617582;margin-bottom:9px;letter-spacing:.08em}
.job-card h3{font-size:22px;line-height:1.6;letter-spacing:.025em;margin:0 0 12px}
.job-card>p:not(.eyebrow){font-size:14px;line-height:1.95;color:var(--detail-muted)}
.team-section .numbers{margin-top:24px}
.faq-section{gap:65px}
.faq-section h2{font-size:30px;line-height:1.7;letter-spacing:.035em}
.faq-list summary{position:relative;padding:23px 34px 23px 32px;font-size:14px;font-weight:500;line-height:1.85;letter-spacing:.015em;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:before{content:'Q.';position:absolute;left:0;top:24px;font:500 12px/1.8 Arial,sans-serif;color:#2587bd}
.faq-icon{position:absolute;right:0;top:24px;width:24px;height:22px;color:#254b62}
.faq-list details[open] .faq-icon{transform:rotate(45deg)}
.faq-list details>p{font-size:13px;line-height:2;margin:0;padding:0 30px 24px 32px;color:var(--detail-muted)}
.faq-list details>a,.faq-list details>.text-link{margin:0 30px 24px 32px;font-size:12px}
.entry-section{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:60px;row-gap:16px;align-items:center;text-align:left;background:#edf1f4}
.entry-section>.eyebrow,.entry-section>h2,.entry-section>p:not(.note){grid-column:1}
.entry-section h2{font-size:32px;line-height:1.6;letter-spacing:.035em;margin:0}
.entry-section>p:not([class]){font-size:14px;line-height:1.95}
.entry-section>.button{grid-column:2;grid-row:1/4;width:350px;max-width:100%;margin:0;font-size:13px}
.entry-section>.note{grid-column:1/-1;margin-top:6px}
.works-archive{padding-top:18px;padding-bottom:76px}
.filter-bar{gap:30px;scrollbar-width:thin}
.filter-bar>button{font-size:13px;font-weight:400;padding:16px 2px}
.filter-bar>button.active:after{height:2px}
.records-toolbar{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:25px 0}
.records-toolbar .client-filter{margin:0;gap:17px;font-size:12px}
.client-filter select{min-height:44px;font-weight:400;border-color:#bfcdd7;padding:9px 35px 9px 13px}
.records-toolbar .result-count{margin:0;padding:0;font-size:10px;letter-spacing:.08em;color:#617582}
.records-toolbar #work-count{font-size:19px;letter-spacing:.025em;color:var(--ink);margin-right:8px}
.project-table th{background:#edf1f4;font-size:12px;font-weight:500;padding-top:14px;padding-bottom:14px}
.project-table .col-project{width:33%}.project-table .col-client{width:20%}.project-table .col-scope{width:30%}.project-table .col-period{width:17%}
.project-table td{padding-top:23px;padding-bottom:23px}
.record-title{font-size:14px;font-weight:600;line-height:1.85;padding-right:35px}
.record-title>.ui-icon{position:absolute;right:0;top:2px;width:24px;height:22px;color:#254b62}
.record-title:hover>.ui-icon{transform:translateX(3px)}
.record-client{font-size:13px;font-weight:500;line-height:1.85}
.project-table td p{font-size:13px;line-height:1.9}
.record-period{font-size:12px;line-height:1.9}
.record-category,.record-location{font-size:11px;line-height:1.8}
.work-end-image{height:300px;overflow:hidden}
.work-end-image:after{background:#142d3e75}
.work-end-image h2{font-size:30px;letter-spacing:.035em}
.dialog{width:min(680px,calc(100% - 40px));max-height:calc(100svh - 48px);padding:45px 42px 38px;border:1px solid #d7e0e6;border-radius:0;overscroll-behavior:contain}
.dialog h2{font-size:28px;line-height:1.65;letter-spacing:.025em;padding-right:25px;margin-bottom:24px}
.dialog p{font-size:14px;line-height:2}
.dialog .eyebrow{font-size:10px;line-height:1.7}
.dialog-close{width:40px;height:40px;top:14px;right:14px;border:1px solid #d7e0e6;display:grid;place-items:center;background:transparent;color:var(--ink);padding:0}
.dialog-close:hover{background:#edf1f4}
.close-icon{width:24px;height:24px}
.detail-list>div{padding-top:15px;padding-bottom:15px;font-size:13px;grid-template-columns:110px minmax(0,1fr)}
.detail-list dd{line-height:1.9;overflow-wrap:anywhere}
.dialog .text-link{font-size:13px;gap:30px;margin-top:18px}
.brand-variation-grid>div{border:1px solid var(--detail-line)}
.brand-variation-grid a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
.brand-variation-grid p,.brand-application-grid p,.reference-card p{font-size:14px;line-height:1.9}
@media(max-width:1200px){
 .home-record-head,.home-record{grid-template-columns:minmax(0,1fr) 185px 155px 27px;column-gap:24px}
 .field-note.section{gap:42px}.field-recruit-content{padding-left:35px;padding-right:35px}
 .job-grid{gap:24px}.job-card h3{font-size:20px}
}
@media(max-width:1050px){
 .section{padding-top:70px;padding-bottom:70px}.world-about{padding-top:70px}
 .section-heading h2,.world-heading h2,.trust .section-heading h2{font-size:30px}
 .home-record-head,.home-record{grid-template-columns:minmax(0,1fr) 170px 140px 24px;column-gap:20px}
 .home-record-project>strong{font-size:14px}.home-record-period{font-size:11px}
 .field-note.section{gap:32px}.field-note h2{font-size:28px}
 .field-recruit-content{padding:38px 30px}.field-recruit h2{font-size:32px}
 .recruit-anchor a{font-size:12px}.career-photo-hero{height:520px}
 .job-grid{grid-template-columns:1fr;gap:32px}.job-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;align-content:center}.job-card>img{grid-column:1;grid-row:1/4;margin:0}.job-card>.eyebrow,.job-card>h3,.job-card>p{grid-column:2}
 .entry-section{column-gap:35px}.entry-section>.button{width:300px}
 .page-title{padding-top:40px;padding-bottom:40px}.page-title h1{font-size:37px}
 .news-section{padding-top:0}
}
@media(max-width:700px){
 .ui-icon{width:27px;height:22px}.button{font-size:13px;min-height:58px;padding:16px 22px;gap:24px}.text-link{font-size:13px;min-height:46px;gap:28px;padding:12px 0 14px}
 .recruit-nav .ui-icon{width:22px;height:22px}
 .scene-enter{width:195px;min-height:45px;bottom:130px;padding:5px 0 12px;gap:22px;font-size:12px}
 .scene-enter .scene-scroll-icon{width:22px;height:25px}.scene-controls{bottom:63px;gap:19px}
 .scene-caption p{font-size:10px;line-height:2.1;margin-top:20px}
 .scene-vertical{display:none}.news-strip{min-height:72px}.news-strip>button{font-size:12px}.news-strip>span,.news-strip>time{font-size:9px}
 .section{padding-top:56px;padding-bottom:56px}.section-label{margin-bottom:29px;padding-top:14px;gap:18px;font-size:9px}.section-label>span+span{font-size:10px}.section-label>span:first-child:before{width:14px;margin-right:9px}
 .section-heading{gap:18px;margin-bottom:28px}.section-heading h2,.world-heading h2,.trust .section-heading h2{font-size:28px;line-height:1.65;letter-spacing:.025em}
 .section-heading>p,.section-heading>div>p,.world-heading>p{font-size:13px;line-height:1.95}
 .eyebrow{font-size:9px;letter-spacing:.11em}.note{font-size:10px;line-height:1.9}
 .world-about{padding-top:56px}.world-heading{display:block;text-align:left;gap:0;margin:0}.world-heading>p{max-width:none;margin-top:15px;padding:0}
 .world-canvas{width:100%;max-width:none;margin:22px 0 10px;row-gap:8px}.world-canvas>img{width:100%;max-width:100%;margin:0}.world-canvas .world-marker{font-size:10px;padding:12px 2px;gap:7px;white-space:normal;line-height:1.7;text-align:center}.world-canvas .world-marker b{font-size:10px}
 .world-company-link{width:230px;max-width:100%;margin:4px 0 0 auto}.world-about .numbers{margin-top:35px}
 .numbers strong{font-size:43px}.numbers>div>p{font-size:11px}.numbers>div>span{font-size:8px;letter-spacing:.06em}.numbers small{font-size:9px}
 .page-home .core-work-grid{gap:34px}.page-home .core-work-title{margin:17px 0 9px}.page-home .core-work-title h3{font-size:24px}.page-home .core-work-title .core-kicker{font-size:9px;gap:10px;margin-bottom:6px}.core-kicker b{font-size:10px}.page-home .core-work>p{font-size:13px;line-height:1.95}.page-home .core-work-title>.ui-icon{width:28px;margin-top:13px}
 .business-other{margin-top:30px;padding-top:22px}.business-other p{font-size:12px}.business-other .text-link{font-size:12px}
 .field-note.section{grid-template-columns:1fr;gap:28px;padding-top:56px;padding-bottom:56px}.field-note figure{width:100%;height:auto;aspect-ratio:3/2;margin:0;clip-path:none}.field-note .eyebrow{font-size:9px;margin-bottom:12px}.field-note h2{font-size:28px;margin-bottom:16px}.field-note-copy>p:not(.eyebrow){font-size:13px;line-height:1.95;max-width:none}.field-note .text-link{width:230px;max-width:100%;margin-top:21px}
 .home-record-head{display:none}.home-record{grid-template-columns:minmax(0,1fr) 27px;column-gap:18px;row-gap:14px;padding:23px 0}.home-record-project{grid-column:1;grid-row:1}.home-record-project>strong{font-size:15px;line-height:1.85}.home-record .project-meta{font-size:10px;line-height:1.8;margin-bottom:7px}.home-record>.ui-icon{grid-column:2;grid-row:1;align-self:center;width:25px}.home-record-client,.home-record-period{grid-column:1/-1;font-size:12px;line-height:1.8}.home-record-client>small,.home-record-period>small{display:inline-block;width:52px;font-size:10px;font-weight:400;color:#617582}.home-record-period{margin-top:-8px}
 .field-recruit{display:flex;flex-direction:column;min-height:0}.field-recruit-photo{height:295px;min-height:0;clip-path:none}.field-recruit-photo>img{object-position:65% 38%}.field-recruit-photo:after{display:none}.field-recruit-content{padding:34px 24px 40px}.field-recruit h2{font-size:31px;margin:15px 0 18px}.field-recruit-content>p:not(.eyebrow){font-size:13px;line-height:1.95}.field-recruit .button{min-height:59px;width:100%;max-width:310px;font-size:13px;margin-top:24px;padding:16px 22px}.field-photo-note{font-size:9px;margin-top:15px}
 .trust-links a{padding-top:23px;padding-bottom:23px}.trust-links h3{font-size:21px}.trust-links p{font-size:12px;line-height:1.8}.trust-links .ui-icon{width:25px}
 .news-section{padding-top:0}.news-list button{font-size:13px;padding-top:22px;padding-bottom:22px}.news-list time{font-size:10px}
 .contact-band{padding-top:44px;padding-bottom:44px;gap:24px}.contact-band h2{font-size:29px}.contact-band>div>p:not(.eyebrow){font-size:12px;line-height:1.9}.contact-band .button{width:100%;max-width:340px;min-height:58px;font-size:13px}
 .footer{padding-top:42px;padding-bottom:24px}.footer-top p{font-size:12px;line-height:1.9;margin-top:22px}.footer-links{font-size:13px;gap:23px 20px;margin-top:32px}.footer-bottom{margin-top:35px;padding-top:20px;gap:20px}.footer-bottom>div{font-size:9px;gap:16px 20px}.footer-bottom button{font-size:9px}
 .page-title{padding-top:32px;padding-bottom:32px}.page-title h1{font-size:31px;line-height:1.6}.page-title>div>p{font-size:13px;line-height:1.95}
 .company-overview.section{padding-top:28px;padding-bottom:36px}.company-history,.qualifications,.license-section{padding-top:50px;padding-bottom:50px}.history-grid strong{font-size:36px}.history-grid h3{font-size:17px}.history-grid p{font-size:13px}.qualifications h2{font-size:27px;line-height:1.7;margin-bottom:28px}.qualification-list>div{font-size:13px;padding-top:15px;padding-bottom:15px}.qualification-list strong{font-size:29px}
 .career-photo-hero{height:570px}.career-photo-hero figure>img{object-position:95% center}.career-photo-copy{bottom:34px}.career-photo-copy h1{font-size:30px;letter-spacing:.035em;line-height:1.7;margin:15px 0 22px}.career-photo-copy .button{min-height:56px;width:245px;max-width:100%;font-size:12px;padding:15px 20px}
 .recruit-anchor a{font-size:11px;line-height:1.8;padding-top:17px;padding-bottom:17px}.recruit-anchor .ui-icon{width:22px}
 .field-career-story{padding-top:48px;padding-bottom:48px}.field-career-story h2{font-size:27px}.field-career-story p{font-size:13px;line-height:1.95}.field-career-story>figure{max-width:100%}
 .job-grid{grid-template-columns:1fr;gap:34px}.job-card{display:block}.job-card>img{margin-bottom:19px}.job-card>.eyebrow{font-size:9px;margin-bottom:7px}.job-card h3{font-size:23px;line-height:1.6;margin-bottom:11px}.job-card>p:not(.eyebrow){font-size:13px;line-height:1.95}
 .faq-section{gap:28px}.faq-section h2{font-size:27px;line-height:1.7}.faq-list summary{font-size:13px;line-height:1.9;padding:21px 28px 21px 28px}.faq-list summary:before{top:23px;font-size:11px}.faq-icon{top:23px;width:22px;height:20px}.faq-list details>p{font-size:13px;line-height:1.95;padding:0 0 22px 28px}.faq-list details>a,.faq-list details>.text-link{margin:0 0 22px 28px;font-size:12px}
 .entry-section{display:block;text-align:left}.entry-section h2{font-size:28px;margin:16px 0 18px}.entry-section>p:not([class]){font-size:13px;line-height:1.95}.entry-section>.button{width:100%;max-width:350px;min-height:59px;font-size:12px;margin-top:25px}.entry-section>.note{margin-top:19px}
 .works-archive{padding-top:0;padding-bottom:54px}.filter-bar{gap:23px}.filter-bar>button{font-size:12px;padding:15px 1px}.records-toolbar{align-items:end;gap:16px;margin:22px 0}.records-toolbar .client-filter{font-size:11px;flex:1;min-width:0}.records-toolbar .client-filter select{font-size:12px;margin-top:8px;width:100%;min-width:0;max-width:100%}.records-toolbar .result-count{font-size:9px;white-space:nowrap;margin-bottom:9px}.records-toolbar #work-count{font-size:17px;margin-right:5px}
 .project-table .project-record{padding:22px 0}.project-table td{padding:0}.record-title{font-size:15px;line-height:1.85;padding-right:33px}.record-client{font-size:13px;line-height:1.85}.project-table td p,.record-period{font-size:12px;line-height:1.9}.record-category,.record-location{font-size:10px;line-height:1.85}.record-title>.ui-icon{width:24px;height:22px;top:3px}.project-table td+td{margin-top:13px;grid-template-columns:58px minmax(0,1fr);gap:12px}
 .work-end-image{height:235px}.work-end-image h2{font-size:27px}
 .dialog{width:calc(100% - 28px);max-height:calc(100svh - 28px);padding:53px 22px 28px}.dialog h2{font-size:23px;line-height:1.75;padding:0;margin-bottom:21px}.dialog p{font-size:13px;line-height:1.95}.dialog .eyebrow{font-size:9px}.dialog-close{top:10px;right:10px;width:36px;height:36px}.detail-list>div{grid-template-columns:70px minmax(0,1fr);gap:16px;font-size:12px;padding-top:14px;padding-bottom:14px}.dialog .text-link{font-size:12px;gap:20px}
}
@media(max-width:370px){.scene-enter{width:185px}.section-heading h2,.world-heading h2,.trust .section-heading h2{font-size:26px}.world-canvas .world-marker{font-size:9px;gap:5px}.numbers strong{font-size:36px}.career-photo-copy h1{font-size:27px}.records-toolbar{gap:12px}.records-toolbar .result-count{letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.ui-icon,.photo,.button,.text-link{transition:none!important}.core-work:hover .photo{transform:none}.will-reveal{opacity:1;transform:none}}
