/* Assignment 015A: overrides stay separate from the preserved 015 base. */
.hero h1{font-family:"Segoe UI",Arial,sans-serif;font-weight:400;font-size:clamp(54px,6.15vw,106px);line-height:1.04;letter-spacing:-.038em;max-width:100%;white-space:normal}
.site-header{height:auto;min-height:104px;padding-block:26px;flex-wrap:wrap}.brand{width:288px;flex-shrink:1;min-width:148px}nav{max-width:100%;flex-wrap:wrap}
.hero{padding-top:128px;min-height:650px;padding-bottom:64px}
.hero-copy{font-size:21px;line-height:1.48;max-width:590px;margin-top:28px}
.hero .actions{gap:30px;margin-top:30px}.hero .button{min-height:54px;padding-inline:25px}
.hero .actions .text-link{color:#d5edf2;background:#031927cc;box-shadow:0 0 12px 7px #031927cc;border-radius:1px}
.hero-shell:after{background:linear-gradient(90deg,#03192780 0%,#03192770 48%,transparent 72%)}
.text-link{overflow-wrap:break-word}.actions a{max-width:100%}
.capability:not(.lead-capability) img{height:182px;object-fit:contain;mix-blend-mode:multiply}
.capability:not(.lead-capability){grid-template-columns:190px minmax(0,1fr);gap:18px}
.capability .number{color:#637f92}.lead-capability .number{color:#637f92}
.lead-capability .text-link{color:#006577}
.capability h3,.capability p{overflow-wrap:anywhere}
.capabilities h2 span,.intro h2 span{color:#00849d}
.feature-art{inset:auto 0 0 auto;width:70%;height:100%;background:none;z-index:-2;transform:none;}
.feature-art .feature-source,.feature-art .construction{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:right center}
.feature-art .feature-source{mix-blend-mode:lighten;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 10%,#000 88%,transparent);mask-composite:intersect}
.feature-art .construction{z-index:1;opacity:.85}
.itps-feature:after{background:linear-gradient(90deg,var(--navy) 19%,#031927f2 43%,#03192735 65%,transparent 80%)}
.feature-copy{width:56%}.feature-copy h2{font-size:52px;line-height:1.08}.feature-copy>p:not(.eyebrow){font-size:19px;line-height:1.48}
.feature-copy .boundary{font-size:18px!important;border-left-width:3px;color:#31c7e0!important}
.feature-copy .actions{gap:26px}.feature-copy .text-link{color:#31c7e0}.art-caption{color:#b7cbd5}
.menu-toggle{min-height:44px;min-width:64px;white-space:nowrap}
:focus-visible{outline:3px solid #dc941f;outline-offset:5px}
.hero-shell :focus-visible,.itps-feature :focus-visible{outline-color:#ffce70}
.brand:focus-visible{outline-offset:9px}
@media(min-width:1700px){.hero{min-height:740px;padding-top:142px}.hero-copy{max-width:650px;font-size:23px}.feature-layout{min-height:680px}.feature-copy{max-width:850px}.feature-copy h2{font-size:62px}}
@media(max-width:1150px){
 .brand{width:240px}.site-header{height:auto;min-height:96px;padding-block:24px}.hero{min-height:600px;padding-top:100px}.hero-copy{font-size:20px;max-width:560px}
 .capability:not(.lead-capability){display:grid;grid-template-columns:145px minmax(0,1fr);gap:14px}.capability:not(.lead-capability) img{height:150px}.capability:not(.lead-capability) .cap-copy{padding-left:0;margin-top:0}.capability:not(.lead-capability) .number{position:static;display:block;font-size:25px;margin-bottom:10px}
 .feature-copy{width:66%}.feature-copy h2{font-size:43px}.feature-art{width:85%;opacity:.9}.itps-feature:after{background:linear-gradient(90deg,var(--navy) 10%,#031927f2 52%,#03192755 76%,transparent)}
}
@media(min-width:701px) and (max-width:980px){
 .menu-toggle{display:block;background:transparent;color:#fff;font-size:16px;padding:12px}.menu-toggle span{margin-left:8px}
 nav{display:none;position:absolute;z-index:30;top:85px;right:40px;left:auto;width:380px;max-height:calc(100dvh - 110px);overflow:auto;background:#072536;padding:18px;font-size:17px;box-shadow:0 20px 30px #0008}
 nav.open{display:flex;align-items:stretch;flex-direction:column;gap:5px}nav a,nav summary{padding:12px}.mobile-home{display:block}.service-menu{position:static;width:auto;box-shadow:none;border:0;padding:0 0 5px 10px}.service-menu a{font-size:16px}
 .hero h1{font-size:clamp(48px,6.45vw,62px)}.hero-copy{max-width:520px}.hero{min-height:570px;padding-top:88px}
 .intro{grid-template-columns:.9fr 1.1fr;gap:35px}.intro h2{font-size:38px}.intro p{font-size:18px}
 .capability:not(.lead-capability){display:block}.capability:not(.lead-capability) img{height:170px;width:100%}.capability:not(.lead-capability) .cap-copy{margin-top:5px;padding-left:38px}.capability:not(.lead-capability) .number{position:absolute;top:2px;left:0}
 .feature-copy{width:72%}.feature-copy h2{font-size:40px}
}
@media(max-width:700px){
 .wrap{width:calc(100% - 40px)}.site-header{height:auto;min-height:80px;padding-block:18px;gap:14px;flex-wrap:nowrap}.brand{width:clamp(178px,55vw,218px)}.menu-toggle{font-size:14px;padding:10px 0 10px 8px}.menu-toggle span{margin-left:7px}nav{top:72px}
 .hero{padding-top:43px;padding-bottom:205px;min-height:0}.hero h1{font-size:clamp(34px,9.75vw,52px);font-weight:400;line-height:1.08;letter-spacing:-.035em;white-space:normal}.hero h1 span{margin-top:6px}
 .hero-copy{font-size:18px;line-height:1.5;margin-top:25px;max-width:560px}.hero .actions{gap:22px;margin-top:27px}.hero .button{min-height:50px}.hero-art{background-size:auto 600px;background-position:right bottom;opacity:1}
 .hero-shell:after{background:linear-gradient(180deg,var(--navy) 0%,#031927f8 39%,#031927e5 61%,#03192770 76%,transparent 89%)}
 .intro{padding-top:37px;padding-bottom:39px}.intro h2{font-size:34px}.intro p{font-size:17px;line-height:1.55}
 .capabilities{padding-top:32px}.capabilities h2{font-size:30px}.cap-grid{margin-top:10px}
 .lead-capability{min-height:0;padding-bottom:290px;padding-top:28px}.lead-capability img{height:285px;object-fit:cover;object-position:65% 66%}.lead-capability .number{margin-bottom:13px}.lead-capability h3{font-size:26px}.lead-capability p{max-width:none;font-size:17px;line-height:1.48}
 .capability:not(.lead-capability){grid-template-columns:112px minmax(0,1fr);gap:14px;padding:25px 0}.capability:not(.lead-capability) img{height:145px;align-self:start;margin-top:27px}.capability:not(.lead-capability) .cap-copy{padding:0;margin:0}.capability:not(.lead-capability) .number{position:static;font-size:24px;margin-bottom:9px}.capability h3{font-size:22px;line-height:1.18}.capability p{font-size:16px;line-height:1.5}.capability .text-link{line-height:1.6}
 .feature-layout{padding-top:37px;padding-bottom:265px;min-height:0}.feature-copy{width:100%;max-width:100%}.feature-copy h2{font-size:34px;line-height:1.13}.feature-copy>p:not(.eyebrow){font-size:17px;line-height:1.5}.feature-copy .boundary{font-size:17px!important;padding-left:14px}.feature-copy .actions{gap:22px;margin-top:27px}.feature-copy .text-link{max-width:100%;font-size:16px}
 .feature-art{width:110%;height:340px;bottom:-12px;right:-12%;opacity:1;transform:none}.itps-feature:after{background:linear-gradient(180deg,var(--navy) 42%,#031927f5 64%,#03192722 88%,transparent)}.art-caption{font-size:11px;bottom:13px}
}
@media(max-width:350px){
 .wrap{width:calc(100% - 32px)}.site-header{gap:9px}.brand{width:178px}.menu-toggle{min-width:63px}
 .hero{padding-top:35px;padding-bottom:190px}.hero-copy{font-size:17px}.hero .actions{gap:20px}
 .capability:not(.lead-capability){grid-template-columns:92px minmax(0,1fr);gap:12px}.capability:not(.lead-capability) img{height:126px}.capability h3{font-size:20px}.capability p{font-size:16px}.capability .text-link{font-size:15px}
 .feature-copy h2{font-size:31px}.feature-copy .button{padding-inline:15px;gap:10px}
}
