.infra-work{padding-top:78px;padding-bottom:80px}
.infra-work-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:end;margin-bottom:44px}
.infra-work-heading .eyebrow{margin-bottom:22px}
.infra-work-heading h2{font-size:clamp(38px,4.3vw,66px);line-height:1.08}
.infra-work-heading>p{font-size:14px;color:var(--muted);max-width:420px;padding-bottom:4px}
.infra-featured{display:grid;grid-template-columns:.95fr 1.15fr;background:#101d28;color:#f4f4f1;min-height:372px;border:1px solid #263947}
.infra-featured-copy{padding:34px 38px 30px;display:flex;flex-direction:column}
.infra-kicker{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#acbcc5;margin-bottom:27px}
.infra-tour-tag{display:flex;gap:8px;align-items:center;white-space:nowrap;color:#d8c09e;font-size:12px;font-weight:500}
.infra-tour-tag>span{font-size:16px}
.infra-featured h3{font-size:clamp(36px,4vw,59px);letter-spacing:-2.4px;line-height:1.05;font-weight:500}
.infra-featured-copy>p:not(.infra-kicker){font-size:13px;color:#b1bec6;max-width:330px;line-height:1.75;margin:23px 0 27px}
.infra-featured-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px;border-top:1px solid #52606c;font-size:14px;font-weight:500;margin-top:auto;max-width:350px}
.infra-featured-cta>span{font-size:24px;line-height:1;transition:transform .2s}
.infra-featured:hover .infra-featured-cta>span{transform:translate(3px,-3px)}
.infra-featured-visual{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#223443,#0b1721 80%);border-left:1px solid #2b3d4b;padding:30px 24px 52px}
.infra-featured-visual img{width:auto;height:auto;max-width:100%;object-fit:contain;max-height:300px;display:block;border:1px solid #43525b}
.infra-featured-visual>span{position:absolute;bottom:25px;left:28px;right:24px;font-size:8px;letter-spacing:1.15px;color:#a3b4c1}
.infra-featured-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;padding:27px 38px 29px;margin:0;border-top:1px solid #344653}
.infra-featured-stats>div{min-width:0}.infra-featured-stats dt{font-size:35px;font-weight:500;line-height:1.1;letter-spacing:-1px;color:#e7e8e3}.infra-featured-stats dt small{font-size:14px;letter-spacing:0}.infra-featured-stats dd{font-size:10px;line-height:1.6;color:#acbcc5;margin:10px 0 0;max-width:175px}
@media(max-width:800px){.infra-featured-stats{padding:24px 25px;gap:20px 16px}.infra-featured-stats dt{font-size:29px}.infra-featured-stats dd{font-size:9px}}
@media(max-width:600px){.infra-featured-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.infra-featured-stats>div:last-child{grid-column:1/-1}.infra-featured-stats dd{font-size:10px}}
.infra-work-index{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:49px;padding-bottom:19px;border-bottom:1px solid #aeb7bc}
.infra-work-index p{font-size:18px;letter-spacing:-.3px}.infra-work-index>span{font-size:10px;color:var(--muted)}
.infra-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px}
.infra-project{min-width:0;border-bottom:1px solid #c3c8c8;padding:27px 0}
.infra-project-trigger{display:grid;grid-template-columns:160px minmax(0,1fr);gap:25px;align-items:stretch;width:100%;padding:0;border:0;background:transparent;text-align:left}
.infra-project-photo{background:#e2e5e3;display:flex;align-items:center;justify-content:center;min-width:0;height:188px;position:relative;overflow:hidden;padding:12px}
.infra-project-photo img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;filter:saturate(.76)}
.infra-project-photo>span{position:absolute;top:8px;left:8px;display:grid;place-items:center;width:24px;height:22px;font-size:8px;color:#fff;background:#132431db}
.infra-project-photo.infra-project-drawing{background:#fff;padding:12px;border:1px solid #d6dcda}
.infra-dialog-gallery.infra-dialog-drawings{background:#fff;gap:18px}
.infra-drawing-link{display:flex;flex-direction:column;align-items:center;gap:18px;max-width:100%}
.infra-dialog-drawings .infra-drawing-link img{max-height:410px}
.infra-drawing-link>span{font-size:10px;color:#263b48;border-bottom:1px solid #aeb7bc;padding-bottom:5px}
.infra-project-info{display:flex;flex-direction:column;min-width:0;padding:3px 0 0}
.infra-project-category{font-size:8px;letter-spacing:1.2px;text-transform:uppercase;line-height:1.6;color:#60717b;margin-bottom:10px}
.infra-project-info h3{font-size:21px;line-height:1.18;letter-spacing:-.65px;max-width:295px}
.infra-project-discipline{font-size:11px;color:var(--muted);line-height:1.65;margin-top:13px}
.infra-project-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 16px;margin:16px 0 0}
.infra-project-facts .infra-project-year{grid-column:1/-1}
.infra-project-facts>div{min-width:0}.infra-project-facts dt{font-size:8px;line-height:1.5;letter-spacing:.4px;color:#60717b;margin-bottom:3px}.infra-project-facts dd{margin:0;font-size:11px;line-height:1.5;color:#263b48}
.infra-featured-facts{margin:0 0 24px;max-width:350px}.infra-featured-facts dt{color:#95a9b7}.infra-featured-facts dd{color:#e3e9e9;font-size:13px}
.infra-detail-facts{margin-top:25px;max-width:310px}.infra-detail-facts dd{font-size:14px}.infra-detail-facts dt{font-size:9px}
.infra-project-open{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;padding-top:20px;margin-top:auto;color:#263b48}
.infra-project-open>span{font-size:22px;line-height:1;transition:transform .2s}
.infra-project-trigger:hover .infra-project-open>span{transform:translate(3px,-3px)}
.infra-project-trigger:hover h3{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.infra-work+.frejus-project{border-top:1px solid var(--line);padding-top:80px}
.infra-dialog-open{overflow:hidden}
.infra-dialog{width:min(1060px,calc(100% - 64px));max-width:none;max-height:calc(100dvh - 64px);padding:0;border:1px solid #b8c0c4;background:#f4f4f1;color:var(--ink);overscroll-behavior:contain}
.infra-dialog::backdrop{background:#07121bd9;backdrop-filter:blur(5px)}
.infra-dialog-top{display:flex;align-items:center;justify-content:space-between;padding:19px 32px;border-bottom:1px solid #c6cdcd;background:#f4f4f1;position:sticky;top:0;z-index:2;gap:20px}
.infra-dialog-label{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#61727d}
.infra-dialog-close{display:flex;align-items:center;gap:20px;padding:5px 0;border:0;background:transparent;font-size:11px}.infra-dialog-close>span:last-child{font-size:29px;line-height:1}
.infra-dialog-content>article{display:grid;grid-template-columns:1.15fr .85fr}
.infra-dialog-copy{padding:39px 37px 38px;min-width:0}
.infra-dialog-copy h2{font-size:39px;letter-spacing:-1.6px;line-height:1.08;outline:none}
.infra-dialog-copy .infra-project-category{margin-bottom:17px}
.infra-dialog-intro{font-size:16px;line-height:1.6;margin-top:22px;color:#435761}
.infra-dialog-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px 25px;margin:29px 0 32px;padding:23px 0;border-top:1px solid #bfc8ca;border-bottom:1px solid #bfc8ca}
.infra-dialog-facts dt{font-size:9px;letter-spacing:.6px;color:#60717b;margin-bottom:6px}.infra-dialog-facts dd{margin:0;font-size:12px;line-height:1.5}.infra-fact-wide{grid-column:1/-1}
.infra-dialog-copy h3{font-size:18px;margin-bottom:14px;letter-spacing:-.4px}
.infra-dialog-contribution{font-size:13px;line-height:1.85;color:#50616b}
.infra-dialog-copy ul{list-style:none;padding:0;margin:23px 0 0;border-top:1px solid #c6cdcd}.infra-dialog-copy li{font-size:11px;line-height:1.6;padding:10px 0;border-bottom:1px solid #c6cdcd;display:flex;gap:12px}.infra-dialog-copy li:before{content:'↗';color:#637784}
.infra-dialog-gallery{padding:32px 29px;background:#e5e8e5;border-left:1px solid #c6cdcd;display:flex;flex-direction:column;gap:26px;justify-content:center;min-width:0}
.infra-dialog-gallery figure{margin:0;display:flex;flex-direction:column;align-items:center}
.infra-dialog-gallery img{width:auto;height:auto;max-width:100%;max-height:285px;object-fit:contain;display:block}
.infra-dialog-gallery figcaption{font-size:9px;color:#60717b;line-height:1.6;text-align:center;max-width:290px;margin-top:10px}
.infra-dialog-navigation{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:19px 32px;border-top:1px solid #bdc7c9;background:#edf0ec}.infra-dialog-navigation button{display:flex;gap:16px;align-items:center;border:0;background:transparent;font-size:11px;padding:8px 0}.infra-dialog-navigation button>span{font-size:20px;line-height:1}.infra-dialog-navigation>span{font-size:9px;letter-spacing:1px;color:#637784}
@media(min-width:1600px){.infra-project-trigger{grid-template-columns:190px minmax(0,1fr);gap:29px}.infra-project-photo{height:206px}.infra-project-info h3{font-size:24px}.infra-project-category{font-size:9px}.infra-featured{min-height:410px}.infra-featured-visual img{max-height:380px}}
@media(max-width:1100px){.infra-project-grid{column-gap:30px}.infra-project-trigger{grid-template-columns:120px minmax(0,1fr);gap:19px}.infra-project-photo{height:182px;padding:9px}.infra-project-info h3{font-size:19px}.infra-featured-copy{padding:29px}.infra-kicker{letter-spacing:.6px;font-size:8px}.infra-work-heading{gap:7%}.infra-dialog-copy{padding:30px}.infra-dialog-copy h2{font-size:34px}}
@media(max-width:800px){.infra-work{padding-top:55px;padding-bottom:55px}.infra-work-heading{grid-template-columns:1fr;gap:24px}.infra-work-heading>p{max-width:550px}.infra-work-heading h2{font-size:47px}.infra-featured{grid-template-columns:1fr 1fr}.infra-featured-copy{padding:25px}.infra-kicker{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:21px}.infra-featured h3{font-size:40px}.infra-featured-copy>p:not(.infra-kicker){font-size:12px}.infra-featured-visual{padding:18px 13px 48px}.infra-featured-visual>span{font-size:7px;left:18px;line-height:1.7}.infra-project-grid{grid-template-columns:1fr}.infra-project-trigger{grid-template-columns:165px minmax(0,1fr);gap:27px}.infra-project-photo{height:176px}.infra-project-info h3{font-size:24px;max-width:400px}.infra-project-category{font-size:9px}.infra-project-discipline{font-size:12px}.infra-project-open{font-size:11px}.infra-dialog{width:calc(100% - 30px);max-height:calc(100dvh - 30px)}.infra-dialog-content>article{grid-template-columns:1fr}.infra-dialog-copy{padding:29px}.infra-dialog-gallery{border-left:0;border-top:1px solid #c6cdcd;flex-direction:row;align-items:center;gap:22px;padding:27px}.infra-dialog-gallery figure{flex:1;min-width:0}.infra-dialog-gallery img{max-height:240px}.infra-dialog-copy h2{font-size:39px}.infra-dialog-top,.infra-dialog-navigation{padding-left:27px;padding-right:27px}}
@media(max-width:500px){.infra-work-heading h2{font-size:39px;letter-spacing:-1.7px}.infra-work-heading{margin-bottom:31px}.infra-work-heading>p{font-size:13px}.infra-featured{grid-template-columns:1fr}.infra-featured-copy{padding:26px}.infra-kicker{flex-direction:row;align-items:center;margin-bottom:24px;font-size:7px}.infra-featured h3{font-size:43px}.infra-featured-copy>p:not(.infra-kicker){max-width:none;font-size:13px;margin:20px 0 24px}.infra-featured-cta{font-size:14px;max-width:none}.infra-featured-visual{border-left:0;border-top:1px solid #2b3d4b;min-height:230px;padding:17px 21px 43px}.infra-featured-visual img{max-height:210px}.infra-featured-visual>span{bottom:17px;font-size:7px}.infra-work-index{margin-top:33px;align-items:flex-start;flex-direction:column;gap:7px}.infra-work-index>span{font-size:9px}.infra-project{padding:23px 0}.infra-project-trigger{grid-template-columns:105px minmax(0,1fr);gap:18px}.infra-project-photo{height:172px;padding:8px}.infra-project-info h3{font-size:19px}.infra-project-category{font-size:7px;letter-spacing:.7px;margin-bottom:9px}.infra-project-discipline{font-size:10px;margin-top:12px}.infra-project-open{font-size:9px;padding-top:17px;gap:8px}.infra-project-open>span{font-size:20px}.infra-work+.frejus-project{padding-top:55px}.infra-dialog{width:calc(100% - 18px);max-height:calc(100dvh - 18px)}.infra-dialog-top{padding:14px 20px;gap:12px}.infra-dialog-label{font-size:7px;letter-spacing:.6px}.infra-dialog-close{gap:12px;font-size:10px}.infra-dialog-copy{padding:26px 22px}.infra-dialog-copy h2{font-size:33px;letter-spacing:-1.3px}.infra-dialog-intro{font-size:14px;margin-top:19px}.infra-dialog-facts{gap:17px;margin:23px 0 26px}.infra-dialog-gallery{padding:23px 20px;gap:16px}.infra-dialog-gallery img{max-height:210px}.infra-dialog-gallery figcaption{font-size:8px}.infra-dialog-navigation{padding:14px 22px;gap:10px}.infra-dialog-navigation button{font-size:10px;gap:10px}}
@media(prefers-reduced-motion:reduce){.infra-project-open>span,.infra-featured-cta>span{transition:none}}

/* Interactive drawing detail; project cards use the shared portfolio format. */
.infra-dialog:has(.infra-dialog-drawings){width:min(1240px,calc(100% - 48px));border-color:#52616b}
.infra-dialog:has(.infra-dialog-drawings) .infra-dialog-top{background:#101f2c;border-color:#344653;color:#eef0ed}
.infra-dialog:has(.infra-dialog-drawings) .infra-dialog-label{color:#cbb89a}
.infra-dialog-content>article:has(.infra-dialog-drawings){grid-template-columns:.82fr 1.18fr}
.infra-dialog-content>article:has(.infra-dialog-drawings) .infra-dialog-copy{padding:34px 30px}
.infra-dialog-content>article:has(.infra-dialog-drawings) .infra-dialog-copy h2{font-size:34px}
.infra-dialog-gallery.infra-dialog-drawings{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:24px;padding:30px;background-color:#122330;background-image:linear-gradient(#7386920a 1px,transparent 1px),linear-gradient(90deg,#7386920a 1px,transparent 1px);background-size:28px 28px;border-color:#344653}
.infra-drawing-heading>p{font-size:8px;letter-spacing:1.6px;text-transform:uppercase;color:#cbb89a;margin-bottom:12px}
.infra-drawing-heading h3{font-size:24px;line-height:1.15;letter-spacing:-.6px;font-weight:500;color:#f1f2ed;margin:0 0 8px}
.infra-drawing-heading>span{font-size:10px;color:#adbdc7}
.infra-dialog-drawings figure{display:block;width:100%;min-width:0}
.infra-drawing-viewport{height:clamp(260px,48dvh,410px);overflow:auto;background:#f7f7f3;box-shadow:0 8px 24px #0002;border:1px solid #e0e4e3;--drawing-zoom:1;overscroll-behavior:contain}
.infra-drawing-viewport:focus-visible{outline:2px solid #d9c5a6;outline-offset:4px}
.infra-drawing-paper{width:calc(100% * var(--drawing-zoom));height:calc(100% * var(--drawing-zoom));padding:18px;box-sizing:border-box}
.infra-dialog-drawings .infra-drawing-paper img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;filter:brightness(.8) contrast(1.7) saturate(1);mix-blend-mode:multiply}
.infra-drawing-toolbar{display:flex;align-items:center;gap:5px;padding:0 0 12px;color:#e5e8e5}
.infra-drawing-toolbar button{height:34px;min-width:34px;padding:0 8px;border:1px solid #4b5d69;background:#1d303e;color:#e5e8e5;font-size:17px;cursor:pointer}
.infra-drawing-toolbar button[data-drawing-reset]{font-size:10px;padding:0 12px;margin-left:6px}
.infra-drawing-toolbar button:disabled{opacity:.35;cursor:default}
.infra-drawing-toolbar button:hover:not(:disabled){border-color:#cbb89a;background:#2a3e4c}
.infra-drawing-toolbar button:focus-visible,.infra-drawing-toolbar a:focus-visible{outline:2px solid #d9c5a6;outline-offset:3px}
.infra-drawing-scale{width:42px;text-align:center;font-size:10px;font-variant-numeric:tabular-nums}
.infra-drawing-toolbar a{margin-left:auto;font-size:10px;color:#d9c5a6;padding:8px 0 8px 10px;white-space:nowrap}
.infra-drawing-toolbar a span{margin-left:7px;font-size:17px}
.infra-dialog-drawings figcaption{max-width:none;color:#acbdc7;text-align:left;font-size:10px;line-height:1.7;margin-top:18px;padding-top:15px;border-top:1px solid #405461}
@media(max-width:1000px){.infra-dialog-content>article:has(.infra-dialog-drawings){grid-template-columns:1fr 1.15fr}.infra-dialog-gallery.infra-dialog-drawings{padding:24px 20px}.infra-drawing-toolbar{gap:3px}.infra-dialog-content>article:has(.infra-dialog-drawings) .infra-dialog-copy{padding:30px 24px}.infra-dialog-content>article:has(.infra-dialog-drawings) .infra-dialog-copy h2{font-size:30px}}
@media(max-width:800px){.infra-dialog-content>article:has(.infra-dialog-drawings){grid-template-columns:1fr}.infra-dialog:has(.infra-dialog-drawings){width:calc(100% - 20px)}.infra-dialog-gallery.infra-dialog-drawings{padding:26px}.infra-drawing-viewport{height:380px}}
@media(max-width:500px){.infra-dialog-gallery.infra-dialog-drawings{padding:24px 18px}.infra-drawing-heading h3{font-size:23px}.infra-drawing-viewport{height:300px}.infra-drawing-paper{padding:10px}.infra-drawing-toolbar button[data-drawing-reset]{padding:0 8px;margin-left:3px}.infra-drawing-toolbar a{font-size:9px;padding-left:6px}.infra-drawing-toolbar a span{margin-left:3px}.infra-dialog-content>article:has(.infra-dialog-drawings) .infra-dialog-copy h2{font-size:31px}}


