:root{--ink:#172b3c;--ink-2:#334a5b;--navy:#10253a;--navy-deep:#0c1b2a;--blue:#3173af;--line:#d9dfe0;--pale:#f4f5f2;--warm:#f9f9f5;--teal:#a9d4ce;--white:#fff;--orange:#e1ab65;--shadow:0 24px 80px rgba(14,36,56,.13)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--warm);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #4b8eca;outline-offset:4px}::selection{background:#b9d7d7;color:#0d2838}.container{width:min(1250px,calc(100% - 88px));margin:0 auto}.skip{position:absolute;left:20px;top:-80px;z-index:200;background:var(--navy);color:white;padding:12px 20px}.skip:focus{top:10px}.mono,.eyebrow{letter-spacing:.16em;text-transform:uppercase;font-weight:700;font-size:11px}.eyebrow{color:#447395;display:block;letter-spacing:.19em;margin-bottom:19px}.eyebrow.light{color:#b8d8e5}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.13;letter-spacing:-.045em}h1{font-size:clamp(51px,5.25vw,85px);font-weight:600;margin:0 0 30px}h1 em{font-style:normal;color:#53839c}h2{font-size:clamp(35px,3.55vw,55px);font-weight:600;margin:0}h2 span{color:#69808e}h3{font-size:22px;font-weight:600}p{color:#647481}.site-header{height:90px;background:rgba(250,251,248,.96);position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(18,44,58,.1);backdrop-filter:blur(10px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:42px;height:42px}.brand strong{display:block;letter-spacing:.15em;font-size:15px;line-height:1.4;font-weight:800;color:var(--navy)}.brand small{display:block;letter-spacing:.08em;line-height:1.2;font-size:8.5px;color:#6f7a7d;font-weight:700}.desktop-nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px)}.nav-link{font-size:12px;font-weight:650;color:#3e5262;position:relative;white-space:nowrap}.nav-link:hover,.nav-link[aria-current=page]{color:#0871a0}.nav-link[aria-current=page]::after{content:"";position:absolute;height:2px;width:100%;background:var(--blue);left:0;bottom:-31px}.header-actions{display:flex;align-items:center;gap:12px}.button{min-height:53px;display:inline-flex;justify-content:center;align-items:center;gap:28px;padding:12px 22px;border-radius:3px;border:1px solid transparent;font-size:13px;font-weight:750;letter-spacing:.02em;transition:background .18s,color .18s,border .18s,transform .18s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--navy);color:white}.button-primary:hover{background:#235374}.button-outline{background:transparent;border-color:#bbcbd0;color:var(--ink)}.button-outline:hover{border-color:var(--navy);background:#eef3f4}.button-text{color:#36566e;background:transparent}.button-text:hover{color:#0077b0}.button.small{min-height:42px;padding:7px 14px;gap:12px}.menu-btn{display:none;padding:9px;border:0;background:transparent}.menu-btn span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0}.mobile-nav{display:none}.hero{overflow:hidden;background:radial-gradient(circle at 82% 4%,rgba(191,214,211,.34),transparent 28%),linear-gradient(180deg,#f8faf8 0%,#f2f5f2 100%);border-bottom:1px solid #e3e9e6;position:relative}.hero::before{content:"";position:absolute;pointer-events:none;inset:0;opacity:.3;background-image:linear-gradient(to right,transparent calc(100% - 1px),#d7dfda 1px),linear-gradient(to bottom,transparent calc(100% - 1px),#d7dfda 1px);background-size:100px 100px;mask-image:linear-gradient(to right,transparent,#000)}.hero-layout{position:relative;z-index:1;min-height:570px;display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center;padding:78px 0 70px}.hero-copy{max-width:690px;position:relative;z-index:2}.hero-lede{font-size:clamp(16px,1.5vw,19px);line-height:1.75;max-width:620px;color:#556a76;margin:0 0 30px}.hero-buttons{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero-meta{display:flex;gap:36px;margin-top:50px;padding-top:23px;border-top:1px solid #d8e0e1}.hero-meta div{display:flex;flex-direction:column;gap:2px}.hero-meta b{font-size:13px}.hero-meta span{font-size:11px;color:#6b7b83}.hero-visual{height:min(34.5vw,490px);min-height:380px;position:relative;align-self:center;padding:0 0 24px 20px}.hero-visual::before{content:"";position:absolute;inset:20px 24px 0 0;background:#c8d9d7;transform:translate(15px,14px);border-radius:2px}.image-shell{position:relative;overflow:hidden;margin:0;background:linear-gradient(135deg,#385971,#162f46);border-radius:2px}.image-shell img{display:block;width:100%;height:100%;object-fit:cover}.hero-photo{height:100%;box-shadow:var(--shadow)}.hero-photo img{filter:saturate(.76) contrast(1.08)}.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(2,20,30,.45));pointer-events:none}.image-fallback{display:none;position:absolute;inset:0;align-items:flex-end;justify-content:flex-end;flex-direction:column;text-align:right;padding:30px;color:#ebf0f1;opacity:.9}.image-fallback span{font-size:12px;text-transform:uppercase;letter-spacing:.2em}.image-fallback strong{font-size:29px;max-width:290px}.image-shell.image-missing .image-fallback{display:flex}.visual-tag{position:absolute;background:white;bottom:1px;left:0;z-index:2;box-shadow:0 12px 35px rgba(2,29,50,.12);padding:22px 30px;min-width:240px;display:flex;flex-direction:column;gap:4px}.visual-tag .mono{color:#5e7d91;font-size:10px}.visual-tag strong{font-size:18px;letter-spacing:-.02em}.visual-tag span:last-child{font-size:11px;color:#67808b}.hero-side-note{position:relative;z-index:3;padding:0 0 20px;font-size:9px;font-weight:700;color:#81959c;display:flex;justify-content:space-between;letter-spacing:.16em;text-transform:uppercase}.inner-hero .hero-layout{min-height:435px;padding:65px 0}.inner-hero h1{font-size:clamp(45px,4.9vw,70px)}.inner-hero .hero-visual{height:350px;min-height:320px}.inner-hero .hero-meta{display:none}.inner-hero .hero-copy{max-width:700px}.inner-hero .hero-buttons{margin-top:30px}.section{width:min(1250px,calc(100% - 88px));margin:0 auto;padding:110px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:70px;margin-bottom:45px}.section-head h2{max-width:680px}.section-head>p{max-width:380px;margin:0;color:#71818c;font-size:15px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-card{padding:33px;background:white;border:1px solid #e0e5e3;min-height:300px;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 16px 45px rgba(16,36,54,.09)}.service-card .mono{color:#597e91}.service-card h3{font-size:27px;margin:55px 0 13px;line-height:1.18}.service-card p{font-size:14px;color:#78858b;line-height:1.7;margin-bottom:24px}.service-arrow{margin-top:auto;font-size:13px;font-weight:750;color:#2f617f}.split-section{display:grid;grid-template-columns:1fr .9fr;gap:clamp(65px,8vw,120px);align-items:center}.split-section .photo-feature{min-height:470px;height:475px}.photo-feature img{filter:saturate(.8)}.photo-feature figcaption{position:absolute;bottom:0;left:0;right:0;padding:14px 20px;background:linear-gradient(0deg,rgba(5,26,40,.75),transparent);color:#fff;font-size:11px}.split-copy h2{margin-bottom:26px}.split-copy p{font-size:15px;line-height:1.82;margin:0 0 18px}.tick-list{list-style:none;padding:0;margin:26px 0 30px}.tick-list li{position:relative;padding:12px 0 12px 27px;border-bottom:1px solid #dce3e1;font-size:14px;color:#4d626e}.tick-list li::before{content:'↗';color:#407f89;position:absolute;left:0;font-weight:800}.inline-link{border-bottom:1px solid #577f8c;padding-bottom:6px;color:#2f657c;font-size:13px;font-weight:750}.dark-band{width:100%;padding:108px max(44px,calc((100% - 1250px)/2));background:var(--navy);color:#fff}.dark-band h2{color:white}.dark-band p{color:#b9c5cc}.dark-band .band-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #39516a;margin-top:50px}.band-grid>div{padding:33px 36px 0 0;border-right:1px solid #39516a;margin-right:30px}.band-grid>div:last-child{border:0}.band-grid .mono{color:var(--teal)}.band-grid h3{margin:20px 0 16px;font-size:25px}.band-grid p{font-size:14px}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cad6d7}.step{padding:27px 26px 0 0}.step .mono{color:#478196}.step h3{font-size:22px;margin:30px 0 13px}.step p{font-size:14px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-grid .image-shell{height:285px;display:flex;flex-direction:column}.gallery-grid .image-shell img{height:calc(100% - 40px)}.gallery-grid figcaption{padding:10px 3px;background:var(--warm);height:40px;font-size:10px;letter-spacing:.13em;font-weight:800;color:#597287}.service-list{border-top:1px solid #dae3e3}.service-list a{display:grid;grid-template-columns:100px 1fr 30px;align-items:center;padding:27px 15px;border-bottom:1px solid #dae3e3;transition:background .2s}.service-list a:hover{background:#eef3f1}.service-list h3{margin:0 0 6px;font-size:25px}.service-list p{margin:0;font-size:14px}.service-list .mono{color:#598394}.service-list b{font-size:25px;color:#477687;font-weight:400}.two-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.two-cards .service-card{min-height:260px}.three-up{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.three-up article{background:white;padding:38px;border:1px solid #dee6e4}.three-up h3{margin:37px 0 16px}.three-up p{font-size:14px;line-height:1.8}.number-icon{font-size:12px;font-weight:800;color:#47829c;display:inline-block;padding-bottom:14px;border-bottom:2px solid #a1c4c2;min-width:55px}.note-panel{padding:28px 32px;background:#ecf2ef;border-left:3px solid #407b92;color:#526876;line-height:1.8;font-size:15px}.note-panel strong{color:#173952}.last-cta{background:#e2eae6;position:relative;overflow:hidden}.last-cta::after{content:"";position:absolute;width:500px;height:500px;border:1px solid #c4d8d8;border-radius:50%;right:-150px;top:-90px;box-shadow:0 0 0 65px rgba(198,216,211,.4),0 0 0 130px rgba(198,216,211,.23)}.last-cta-grid{position:relative;z-index:1;display:flex;gap:90px;align-items:center;justify-content:space-between;padding-top:86px;padding-bottom:86px}.last-cta h2{font-size:clamp(40px,4vw,60px);margin-bottom:20px}.last-cta p{max-width:570px;margin:0}.last-cta .button{min-width:210px}.last-cta-grid>div:last-child>p{font-size:12px;margin-top:20px}.last-cta-grid>div:last-child>p a{text-decoration:underline}.button-white{background:white;border:1px solid white;color:var(--navy)}.button-white:hover{background:#f4f9f8}.site-footer{background:var(--navy-deep);color:white}.footer-top{display:grid;grid-template-columns:1.9fr repeat(3,1fr);gap:65px;padding-top:78px;padding-bottom:64px}.footer-top .brand strong{color:white}.footer-top .brand small{color:#a0b7be}.footer-top>div:first-child p{font-size:13px;max-width:290px;color:#9cb3bf;margin:27px 0 0}.footer-top>div:not(:first-child){display:flex;flex-direction:column;gap:12px}.footer-top b{font-size:13px;margin-bottom:10px}.footer-top a:not(.brand),.footer-top span{font-size:12px;color:#acbec5}.footer-top a:hover{color:white}.footer-bottom{border-top:1px solid #2b414f;padding-top:25px;padding-bottom:28px;display:flex;gap:20px;justify-content:space-between;font-size:11px;color:#8399a7}.footer-bottom a:hover{color:white}.quote-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.quote-intro h2{margin-bottom:20px}.quote-intro>p{font-size:15px}.quote-aside{border-top:1px solid var(--line);padding-top:33px;margin-top:43px;display:flex;flex-direction:column;gap:13px}.quote-aside .mono{color:#78909e}.quote-aside a{font-size:22px;color:#306a8a;overflow-wrap:anywhere}.quote-aside small{color:#647884;font-size:12px;line-height:1.6}.rfq-form{background:white;padding:35px;border:1px solid #e0e8e8;box-shadow:0 20px 45px rgba(13,31,46,.035)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.rfq-form label{display:flex;flex-direction:column;gap:8px;font-weight:650;font-size:12px;color:#3f5564}.rfq-form label span[aria-hidden]{color:#b35a39}.rfq-form input:not([type=checkbox]),.rfq-form textarea,.rfq-form select{width:100%;background:#f8faf9;border:1px solid #d7e1e2;min-height:48px;padding:11px 13px;border-radius:2px;color:#1d3746;outline-offset:1px}.rfq-form textarea{min-height:142px;resize:vertical}.rfq-form .full{margin-top:18px}.rfq-form .check-field{flex-direction:row;gap:10px;align-items:flex-start;font-weight:400;margin:24px 0 18px;font-size:12px;color:#647782;line-height:1.5}.check-field input{margin-top:3px}.rfq-form .button{width:100%}.form-message{font-size:12px;line-height:1.5;margin:18px 0 0}.form-message.invalid{color:#ab5135}.legal{max-width:950px}.legal h2{font-size:35px;margin-bottom:25px}.legal p{max-width:830px}.legal p a{text-decoration:underline}.legal p strong{color:#24465b}
@media(max-width:1160px){.desktop-nav{gap:13px}.nav-link{font-size:11px}.header-inner .brand small{font-size:7.5px}.container,.section{width:min(1100px,calc(100% - 58px))}.hero-layout{gap:25px}.hero-photo{min-height:100%}.dark-band{padding-left:30px;padding-right:30px}}
@media(max-width:950px){.site-header{height:75px}.desktop-nav{display:none}.menu-btn{display:block}.header-actions .button{min-height:38px}.mobile-nav:not([hidden]){display:flex;position:absolute;left:0;right:0;top:75px;padding:18px 30px 27px;background:#f8faf8;border-top:1px solid #e0e7e7;box-shadow:0 18px 28px rgba(5,30,45,.13);flex-direction:column;gap:0;max-height:calc(100vh - 75px);overflow:auto}.mobile-nav a{font-size:14px;padding:12px 0;border-bottom:1px solid #e4eaea}.mobile-nav .mobile-cta{color:#1972a0;font-weight:800}.hero-layout{grid-template-columns:1fr;min-height:auto;gap:25px;padding:72px 0 70px}.hero-copy{max-width:720px}.hero-visual{height:350px;min-height:300px;max-width:700px;width:100%}.hero-side-note{display:none}.section{padding:72px 0}.section-head{gap:35px}.service-card h3{font-size:24px}.split-section{grid-template-columns:1fr 1fr;gap:38px}.split-section .photo-feature{height:390px;min-height:390px}.split-copy h2{font-size:35px}.dark-band{padding:75px 30px}.quote-layout{grid-template-columns:1fr;gap:35px}.footer-top{gap:30px;grid-template-columns:1.5fr 1fr 1fr}.footer-top>div:last-child{grid-column:2 / 4}.inner-hero .hero-layout{padding:60px 0}.inner-hero .hero-visual{height:300px}}
@media(max-width:670px){.container,.section{width:calc(100% - 36px)}.site-header{height:70px}.brand img{width:33px;height:33px}.brand strong{font-size:11px}.brand small{font-size:6px}.header-actions .button{display:none}.mobile-nav:not([hidden]){top:70px}.hero-layout{padding:60px 0 48px;gap:35px}.hero h1{font-size:clamp(42px,10vw,60px);letter-spacing:-.055em}.hero-lede{font-size:16px;line-height:1.7}.hero-buttons{align-items:stretch;flex-direction:column}.hero-buttons .button{width:100%}.hero-meta{gap:24px;margin-top:35px}.hero-meta span{font-size:10px}.hero-visual{height:270px;min-height:260px;padding:0 0 18px 10px}.visual-tag{padding:15px 17px;min-width:195px}.visual-tag strong{font-size:16px}.section{padding:65px 0}.section-head{display:block;margin-bottom:30px}.section-head p{margin:23px 0 0}.section h2{font-size:clamp(34px,9vw,45px)}.service-grid,.gallery-grid,.two-cards,.three-up{grid-template-columns:1fr}.service-card{min-height:250px}.service-card h3{margin-top:32px}.split-section{display:flex;flex-direction:column;gap:36px}.split-section>div{width:100%}.split-section .photo-feature{height:310px;min-height:310px}.split-copy h2{font-size:40px}.dark-band{padding:65px 18px}.dark-band .band-grid{grid-template-columns:1fr}.band-grid>div{border-right:0;border-bottom:1px solid #39516a;margin:0;padding:25px 0}.band-grid>div:last-child{border:0}.steps{grid-template-columns:1fr 1fr;row-gap:15px}.step h3{margin-top:18px}.gallery-grid .image-shell{height:290px}.gallery-grid .image-shell img{height:250px}.service-list a{grid-template-columns:34px 1fr 20px;gap:8px;padding:23px 0}.service-list h3{font-size:20px}.service-list p{font-size:13px}.last-cta-grid{padding:68px 0;display:block}.last-cta h2{font-size:43px}.last-cta-grid>div:last-child{margin-top:30px}.last-cta::after{opacity:.4}.footer-top{grid-template-columns:1fr 1fr;gap:30px;padding:55px 0}.footer-top>div:first-child{grid-column:1 / -1}.footer-top>div:last-child{grid-column:1 / -1}.footer-bottom{flex-wrap:wrap;gap:12px;font-size:10px}.form-grid{grid-template-columns:1fr}.rfq-form{padding:20px}.quote-aside a{font-size:19px}.note-panel{padding:20px;font-size:13px}.inner-hero .hero-layout{padding:55px 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Inquiry service and first-party privacy controls. */
[hidden]{display:none!important}
.preview-banner{padding:7px 18px;background:#dce9ee;color:#26485b;font-size:11px;text-align:center;letter-spacing:.04em}
.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.text-button{border:0;background:transparent;padding:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.site-footer .text-button{color:#acbec5;font-size:11px}
.inquiry-steps{list-style:none;counter-reset:inquiry;padding:0;margin:38px 0}
.inquiry-steps li{counter-increment:inquiry;position:relative;padding:18px 0 18px 46px;border-bottom:1px solid var(--line)}
.inquiry-steps li::before{content:'0' counter(inquiry);position:absolute;left:0;color:#407394;font-size:12px;font-weight:700;top:22px}
.inquiry-steps b,.inquiry-steps span{display:block}.inquiry-steps b{font-size:14px}.inquiry-steps span{font-size:13px;color:#536676;margin-top:4px}
.form-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px;border-bottom:1px solid var(--line);padding-bottom:20px}
.form-heading .mono{color:#416a82}.form-heading p{font-size:11px;margin:0}
.rfq-form textarea[name=assembly]{min-height:85px}.rfq-form .check-field a{text-decoration:underline;text-underline-offset:3px}
.rfq-form .button:disabled{cursor:wait;opacity:.7;transform:none}
.form-message{color:#385b70;overflow-wrap:anywhere}.form-message:focus{outline:2px solid #4b8eca;outline-offset:4px}
.form-message.invalid{color:#8b3626}.rfq-form input[type=checkbox]{width:17px;height:17px;flex-shrink:0;accent-color:var(--navy)}
.legal h3{font-size:24px;letter-spacing:-.03em;margin:40px 0 16px}.legal .note-panel{margin-top:40px}
.hero:not(:has(.hero-visual)) .hero-layout{grid-template-columns:1fr;min-height:330px;padding-bottom:60px}
.hero:not(:has(.hero-visual)) .hero-copy{max-width:900px}
h1,h2,h3{overflow-wrap:break-word}
p,.service-card p,.section-head>p,.tick-list li,.quote-aside small{color:#526572}
.service-card .mono,.step .mono,.number-icon,.service-list .mono,.quote-aside .mono{color:#376b82}
.hero-meta span,.hero-lede,.hero-side-note{color:#526773}
#privacy-dialog{padding:0;max-width:min(640px,calc(100vw - 36px));width:640px;max-height:calc(100vh - 40px);border:1px solid #dbe3e4;border-radius:4px;box-shadow:0 25px 100px #10253a50;color:var(--ink);background:var(--warm)}
#privacy-dialog::backdrop{background:#0c1b2aa6;backdrop-filter:blur(4px)}
.privacy-panel{padding:38px}.privacy-panel h2{font-size:38px;margin-bottom:22px}.privacy-panel p{font-size:14px}
#privacy-availability{padding:15px;border:1px solid #cadbdf;color:#385b70;background:#eef4f5}
.consent-options{display:flex;flex-direction:column;gap:20px;margin:28px 0}.consent-options label{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4}.consent-options input{margin-top:2px;flex-shrink:0}
.privacy-panel .small-copy{font-size:12px}.small-copy a{text-decoration:underline}.consent-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.consent-actions .text-button{font-size:12px}
.consent-banner{position:fixed;z-index:120;bottom:18px;left:18px;right:18px;margin:auto;max-width:1150px;border:1px solid #c5d9df;background:#fbfcf9;box-shadow:0 12px 65px #10253a30;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:30px;border-radius:3px}
.consent-banner strong{font-size:15px}.consent-banner p{font-size:12px;margin:5px 0 0;max-width:520px}.consent-banner .consent-actions{flex-shrink:0}
@media(max-width:768px){.consent-banner{display:block}.consent-banner .consent-actions{margin-top:20px}.form-heading{display:block}.form-heading p{margin-top:8px}.privacy-panel{padding:25px}.privacy-panel h2{font-size:32px}}
@media(max-width:670px){.hero:not(:has(.hero-visual)) .hero-layout{padding:40px 0}.preview-banner{font-size:10px}.hero h1{overflow-wrap:anywhere}.hero-visual{height:300px}.consent-banner{padding:18px;bottom:10px;left:10px;right:10px}.consent-actions .button{gap:12px;padding:11px 14px;min-height:44px}.privacy-panel .consent-actions{align-items:stretch;flex-direction:column}.privacy-panel .consent-actions .text-button{padding:12px}.privacy-panel h2{font-size:30px}}
.upload-panel{margin:25px 0;border:1px dashed #93b2c1;padding:20px;background:#f2f7f6;min-width:0}
.upload-panel legend{font-size:13px;font-weight:700;color:#264c64;padding:0 8px}
.rfq-form .upload-label{font-size:13px}.rfq-form input[type=file]{max-width:100%;background:white;padding:10px;min-height:48px;font-size:12px}
input[type=file]::file-selector-button{border:0;background:#dce9ed;color:#234b63;font:inherit;padding:8px 10px;margin-right:10px;cursor:pointer}
.upload-panel p{font-size:12px;margin:12px 0;line-height:1.6;overflow-wrap:anywhere}.upload-panel .text-button{font-size:12px}.upload-panel input:disabled{cursor:wait;opacity:.7}
@media(max-width:360px){.header-inner{gap:8px}.header-inner .brand{gap:8px}.header-inner .brand strong{font-size:10px;letter-spacing:.10em}.header-inner .brand small{font-size:5.2px;letter-spacing:.04em}.header-inner .brand img{width:29px;height:29px}.header-actions{flex-shrink:0}.header-inner .brand{min-width:0}}
.ai-image img{filter:none!important}.ai-image figcaption{height:auto;position:absolute;left:0;right:0;top:0;bottom:auto;background:rgba(12,27,42,.77);color:#f5f7f5;padding:10px 14px;font-size:10px;line-height:1.4;z-index:2;letter-spacing:.04em}.hero-visual:has(.ai-image) .visual-tag{bottom:-20px}

.coordination-grid article{padding:28px;display:flex;flex-direction:column}.coordination-grid h3{margin:26px 0 20px;min-height:54px}.coordination-grid .topic-photo{aspect-ratio:4/3;width:100%;margin:0 0 20px}.coordination-grid p{margin-bottom:0}.technical-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.technical-photo{aspect-ratio:4/3}.technical-photo:not(.ai-image) figcaption{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;background:rgba(12,27,42,.77);color:#f5f7f5;font-size:11px;line-height:1.4}.technical-photo img,.topic-photo img{object-fit:cover}@media(max-width:670px){.coordination-grid article{padding:23px}.coordination-grid h3{min-height:0}.technical-gallery{grid-template-columns:1fr;gap:20px}}

.service-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.service-overview-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dee6e4;padding:28px;transition:border-color .2s ease}.service-overview-card:hover{border-color:#73939f}.service-overview-heading{display:flex;align-items:start;gap:18px;min-height:70px}.service-overview-heading .mono{color:#447395;padding-top:6px}.service-overview-heading h3{font-size:26px;line-height:1.2;margin:0 0 24px;letter-spacing:-.035em}.service-overview-photo{aspect-ratio:4/3;width:100%}.service-overview-card>p{font-size:14px;line-height:1.8;margin:20px 0}.service-overview-more{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:#447395}.service-overview-more b{font-size:24px;font-weight:400}@media(max-width:670px){.service-overview-grid{grid-template-columns:1fr;gap:20px}.service-overview-card{padding:23px}.service-overview-heading{min-height:0}.service-overview-heading h3{font-size:23px}.service-overview-heading{gap:14px}}

/* Shared project inquiry CTA and explicit Home navigation. */
.last-cta .button-quote-cta{background:#0f618c;border:1px solid #0d577e;color:#fff;min-height:64px;min-width:250px;padding:18px 28px;font-size:16px;font-weight:800;gap:30px;box-shadow:0 8px 20px rgba(15,63,88,.22)}
.last-cta .button-quote-cta span{font-size:25px;line-height:1}
.last-cta .button-quote-cta:hover{background:#0b4e72;border-color:#0b4e72;box-shadow:0 10px 24px rgba(15,63,88,.27)}
.last-cta .button-quote-cta:focus-visible{outline:3px solid #11253a;outline-offset:5px}
@media(min-width:951px) and (max-width:1100px){.site-header{height:75px}.desktop-nav{display:none}.menu-btn{display:block}.mobile-nav:not([hidden]){display:flex;position:absolute;left:0;right:0;top:75px;padding:18px 30px 27px;background:#f8faf8;border-top:1px solid #e0e7e7;box-shadow:0 18px 28px rgba(5,30,45,.13);flex-direction:column;gap:0;max-height:calc(100vh - 75px);overflow:auto}.mobile-nav a{font-size:14px;padding:12px 0;border-bottom:1px solid #e4eaea}.mobile-nav .mobile-cta{color:#1972a0;font-weight:800}}
@media(max-width:670px){.last-cta .button-quote-cta{width:100%;min-width:0;padding:18px 24px}}

/* Dedicated imagery under each homepage capability title. */
.home-capability-grid .service-card{display:flex;flex-direction:column;min-width:0;padding:28px}
.home-capability-grid h3{margin:28px 0 20px;min-height:60px;font-size:25px;line-height:1.2}
.home-capability-grid .home-capability-photo{width:100%;aspect-ratio:4/3;margin:0 0 20px}
.home-capability-grid .home-capability-photo img{height:100%;object-fit:cover}
.home-capability-grid p{margin:0 0 25px}
.home-capability-grid .service-arrow{margin-top:auto;padding-top:6px}
@media(max-width:670px){.home-capability-grid .service-card{padding:23px}.home-capability-grid h3{min-height:0;margin-top:25px}}

/* Manual factory entrance carousel: large arrows, location captions, no auto-advance. */
.entrance-carousel,.entrance-slides{height:100%;position:relative}
.entrance-carousel{overflow:hidden;border-radius:3px;background:#17354a;box-shadow:var(--shadow)}
.entrance-slide{margin:0;height:100%;position:relative}
.entrance-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 65%}
.entrance-slide figcaption{position:absolute;bottom:0;left:0;right:0;padding:18px 20px;background:linear-gradient(transparent,rgba(12,27,42,.9));color:white}
.entrance-slide figcaption strong,.entrance-slide figcaption small{display:block}
.entrance-slide figcaption strong{font-size:18px;line-height:1.3}
.entrance-slide figcaption small{font-size:10px;margin-top:5px;letter-spacing:.03em}
.carousel-arrow{position:absolute;top:46%;transform:translateY(-50%);height:44px;width:44px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(15,47,67,.88);color:#fff;display:grid;place-items:center;cursor:pointer;font-size:25px;line-height:1;box-shadow:0 3px 10px rgba(0,0,0,.16)}
.carousel-arrow:hover{background:#0f618c}.carousel-prev{left:12px}.carousel-next{right:12px}
.carousel-arrow:focus-visible,.entrance-carousel:focus-visible{outline:3px solid #fff;outline-offset:-5px}
.carousel-status{position:absolute;top:12px;right:12px;padding:6px 10px;background:rgba(12,27,42,.8);color:white;font-size:10px;border-radius:2px;pointer-events:none}
.entrance-pending{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:35px 60px;color:#fff;background:#33566a}
.entrance-pending b{font-size:19px}.entrance-pending p{font-size:12px;line-height:1.6;color:#d4e2e7}
.gallery-grid .image-shell img{height:100%;object-position:50% 65%}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
/* Process numbers: cut-corner drawing plates with a small measurement scale. */
.steps{grid-template-columns:repeat(4,minmax(0,1fr))}
.step{min-width:0;padding-top:28px}
.step-index{position:relative;display:grid;place-items:center;width:100px;height:88px}
.step-index-frame{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.step-index-panel{fill:#edf3f1;stroke:#adc4c6;stroke-width:1}
.step-index-accent{stroke:#477e91;stroke-width:2}
.step-index-ticks{stroke:#769da6;stroke-width:1}
.step-number{position:relative;color:var(--navy);font-size:34px;font-weight:650;line-height:1;letter-spacing:-.065em;font-variant-numeric:tabular-nums;transform:translateY(-5px)}
.step h3{margin-top:23px}
@media(max-width:670px){.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}.step{padding-right:16px;padding-top:24px}.step:nth-child(2n){padding-right:0}.step-index{width:82px;height:72px}.step-number{font-size:29px;transform:translateY(-4px)}.step h3{margin-top:19px}}
.dark-band .section-head>p,.dark-band .band-grid p{color:#c1cfd8}
.band-grid>div{display:flex;flex-direction:column}
.band-grid p{min-height:75px;margin-bottom:0}
.band-art{width:100%;max-width:300px;height:150px;object-fit:contain;object-position:left center;margin-top:25px;opacity:1}
.footer-locations{border-top:1px solid #2b414f;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;padding-top:28px;padding-bottom:32px}
.footer-locations address{font-style:normal;font-size:13px;line-height:1.8;color:#bccbd3;overflow-wrap:anywhere}
.footer-locations b{display:block;font-size:13px;color:#fff;margin-bottom:7px}
.image-notes{padding-bottom:25px;color:#a9bdc7;font-size:11px;line-height:1.7}
.image-notes summary{cursor:pointer;width:fit-content;text-decoration:underline;text-underline-offset:3px}
.image-notes p{max-width:780px;font-size:11px;color:#bccbd3;margin:10px 0 0}
section[id]{scroll-margin-top:100px}
@media(max-width:670px){.band-grid p{min-height:0}.band-art{margin-top:18px;height:140px;max-width:300px}.footer-locations{grid-template-columns:1fr;gap:22px;padding-top:25px;padding-bottom:28px}.footer-locations address{font-size:12px}section[id]{scroll-margin-top:85px}}
@media(max-width:670px){.entrance-slide figcaption{padding:15px}.entrance-slide figcaption strong{font-size:16px}.carousel-prev{left:8px}.carousel-next{right:8px}.entrance-pending{padding:35px 55px}}
