.portfolio-page{background:#f7f9fc;color:#081521}.portfolio-page .header{position:relative;min-height:106px}.portfolio-page .header nav a[aria-current=page]{border-bottom:2px solid #357c9e}.portfolio-intro{padding-top:65px;padding-bottom:80px;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:6vw;background:#081521;color:#fff}.portfolio-intro .eyebrow{color:#a9cde0;max-width:32ch}.portfolio-intro h1{font-size:clamp(3.8rem,6.2vw,7.2rem)}.portfolio-intro h1 em{color:#87d8fa}.portfolio-deck{color:#c1cfd9;margin:28px 0;font-size:1.1rem}.portfolio-intro .text-link{margin-top:12px}.portfolio-hero-image{position:relative}.portfolio-hero-image img{height:530px;object-fit:cover}.portfolio-image-label{position:absolute;bottom:0;left:0;padding:18px 22px;background:#081521d9;max-width:90%;font-size:.78rem;letter-spacing:.08em}.portfolio-section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}.portfolio-section-heading .eyebrow{color:#357c9e;margin-bottom:18px}.portfolio-section-heading h2{font-size:clamp(2.8rem,4.5vw,5rem)}.portfolio-section-heading h2 em{color:#357c9e}.portfolio-section-heading>p{color:#55616c;max-width:35ch}.portfolio-controls{display:flex;justify-content:space-between;gap:30px;align-items:start;border-top:1px solid #08152133;padding-top:25px}.portfolio-controls nav{display:flex;flex-wrap:wrap;gap:8px;max-width:1000px}.portfolio-controls button{background:transparent;border:1px solid #08152133;padding:10px 14px;color:#081521;font-size:.85rem}.portfolio-controls button[aria-pressed=true]{background:#081521;color:white;border-color:#081521}.portfolio-search{display:flex;flex-direction:column;gap:6px;min-width:230px;font-size:.75rem;color:#55616c}.portfolio-search input{font:inherit;font-size:.9rem;padding:12px;background:white;border:1px solid #08152144;color:#081521;width:100%;border-radius:0}.portfolio-count{font-size:.82rem;color:#55616c;margin:20px 0 30px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 25px}.project-card{min-width:0}.project-card button{display:block;width:100%;padding:0;border:0;text-align:left;background:transparent;color:#081521}.project-card-image{overflow:hidden;background:#e1e8ed;position:relative}.project-card img{aspect-ratio:4/3;object-fit:cover;transition:transform .45s}.project-card button:hover img{transform:scale(1.035)}.project-card-image>span{position:absolute;right:14px;bottom:14px;background:#081521e6;color:#fff;padding:6px 9px;font-size:.72rem;letter-spacing:.04em}.project-card-category{display:block;color:#557082;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;margin-top:17px}.project-card h3{font-family:Georgia,serif;font-weight:400;font-size:1.6rem;line-height:1.2;margin:7px 0}.project-card p{font-size:.86rem;color:#65717b;margin-top:12px}.project-card .view-project{display:inline-flex;gap:13px;font:600 .76rem 'Segoe UI',Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase;margin-top:16px;border-bottom:1px solid #08152144;padding-bottom:6px}.portfolio-page footer{color:white}.portfolio-page #project-dialog{width:min(1400px,96vw);height:92svh;max-height:92svh;overflow:auto;background:#f7f9fc;color:#081521;border:0}.project-dialog-bar{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;gap:20px;align-items:center;background:#081521;color:#fff;padding:15px 25px;font-size:.75rem;letter-spacing:.08em}.project-dialog-bar button{border:1px solid #ffffff66;background:transparent;color:#fff;padding:8px 14px;font-size:.85rem}.project-dialog-bar button span{margin-left:14px;font-size:1.1rem}.project-dialog-content{padding:35px;display:grid;grid-template-columns:300px minmax(0,1fr);gap:35px;align-items:start}.project-details{position:sticky;top:100px}.project-details .eyebrow{font-size:.73rem;color:#357c9e;margin-bottom:18px}.project-details h2{font-size:clamp(2.1rem,3.2vw,3.8rem);overflow-wrap:anywhere}.project-details>p:not(.eyebrow){font-size:.95rem;color:#55616c;margin:25px 0}.project-details .text-link{font-size:.8rem}.project-image-stage{position:relative;background:#e4eaf0}.project-image-stage>img{height:500px;width:100%;object-fit:contain}.image-arrow{position:absolute;top:50%;transform:translateY(-50%);border:1px solid #ffffff66;background:#081521dc;color:white;width:44px;height:48px;font-size:1.2rem}.image-arrow.previous{left:10px}.image-arrow.next{right:10px}.image-arrow:disabled{display:none}.project-image-caption{display:flex;justify-content:space-between;gap:20px;margin:15px 0 24px;font-size:.8rem;color:#55616c}.project-image-caption a{color:#081521;border-bottom:1px solid #08152155}.project-thumbnails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.project-thumbnails button{padding:3px;border:2px solid transparent;background:transparent}.project-thumbnails button[aria-current=true]{border-color:#357c9e}.project-thumbnails img{aspect-ratio:4/3;object-fit:cover}.portfolio-page [hidden]{display:none!important}@media(max-width:1100px){.portfolio-controls{flex-direction:column}.portfolio-search{width:min(400px,100%)}.project-dialog-content{grid-template-columns:240px minmax(0,1fr);padding:25px;gap:25px}.project-image-stage>img{height:440px}.portfolio-hero-image img{height:440px}}@media(max-width:760px){.portfolio-page .header{align-items:center}.portfolio-page .header nav{flex-direction:row;gap:14px;flex-wrap:wrap;justify-content:end}.portfolio-page .header nav a:first-child{display:none}.portfolio-intro{grid-template-columns:1fr;padding-top:45px;gap:35px}.portfolio-intro h1{font-size:4.2rem}.portfolio-hero-image img{height:340px}.portfolio-section-heading{align-items:start;flex-direction:column}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.project-card h3{font-size:1.35rem}.project-card p{display:none}.project-dialog-content{grid-template-columns:1fr;padding:22px}.project-details{position:static}.project-details h2{font-size:2.4rem}.project-details>p:not(.eyebrow){margin:18px 0}.project-image-stage>img{height:52svh}.project-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr))}.project-dialog-bar{padding:12px 18px}.project-dialog-bar>span{font-size:.6rem}.portfolio-controls button{font-size:.78rem;padding:9px 11px}}@media(max-width:420px){.project-grid{grid-template-columns:1fr}.portfolio-intro h1{font-size:3.6rem}.portfolio-hero-image img{height:280px}.project-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Match the architecture collection's light editorial layout. */
.portfolio-intro{background:var(--paper);color:var(--ink);padding-top:100px;padding-bottom:100px;grid-template-columns:1.1fr 1fr;gap:7vw}
.portfolio-intro .section-label{margin-bottom:36px}.portfolio-intro h1{font-size:clamp(3.8rem,5.5vw,6rem);line-height:1.04}.portfolio-intro h1 em{color:#357c9e}.portfolio-deck{color:#55616c;font-size:1.05rem;line-height:1.7}.portfolio-hero-image{padding-top:70px}.portfolio-hero-image img{height:auto;aspect-ratio:1.12;object-fit:cover}.portfolio-image-label{position:static;display:block;background:none;color:#586773;padding:15px 0 0;max-width:none;font-size:.75rem;letter-spacing:.08em}
.portfolio-work{background:#eaf0f5}.portfolio-section-heading{margin-bottom:55px}.portfolio-section-heading .section-label{margin-bottom:30px}.portfolio-section-heading h2{font-size:clamp(2.7rem,5vw,5.4rem)}
.project-grid{grid-template-columns:1.25fr 1fr;gap:60px 5vw}.project-card:nth-child(4n+2){padding-top:85px}.project-card:nth-child(4n+3){padding-right:3vw}.project-card img{aspect-ratio:1.35}.project-card:nth-child(4n+1) img{aspect-ratio:1.15}.project-card-image>span{display:none}.project-card-category{margin-top:18px;color:#586773;font-size:.75rem}.project-card h3{font-size:clamp(1.6rem,2.5vw,2.4rem);letter-spacing:-.025em;margin:9px 0 0}.project-card p{display:none}.project-card .view-project{font-size:.75rem;margin-top:18px}.portfolio-controls{border-color:#08152133}.portfolio-controls button{background:transparent}.portfolio-count{margin:24px 0 35px}
@media(max-width:1100px){.portfolio-intro{padding-top:75px;padding-bottom:75px}.portfolio-hero-image{padding-top:55px}.project-grid{gap:45px 4vw}.project-card:nth-child(4n+2){padding-top:65px}}
@media(max-width:760px){.portfolio-intro{grid-template-columns:1fr;padding-top:65px;padding-bottom:65px;gap:35px}.portfolio-intro h1{font-size:clamp(3.5rem,10vw,5rem)}.portfolio-hero-image{padding-top:0}.portfolio-hero-image img{height:auto;aspect-ratio:1.4}.portfolio-section-heading{margin-bottom:35px}.project-grid{grid-template-columns:1fr;gap:40px}.project-card:nth-child(n){padding:0}.project-card:nth-child(n) img{aspect-ratio:1.4}.project-card h3{font-size:1.9rem}}

/* Keep the Architecture theme with the original compact portfolio scale. */
.portfolio-intro{padding-top:60px;padding-bottom:65px;grid-template-columns:1fr 1.2fr;gap:6vw}.portfolio-intro h1{font-size:clamp(3.3rem,4.5vw,5rem)}.portfolio-intro .section-label{margin-bottom:25px}.portfolio-hero-image{padding-top:0}.portfolio-hero-image img{height:420px;aspect-ratio:auto;object-fit:cover}.portfolio-deck{margin:22px 0}
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 25px}.project-card:nth-child(n){padding:0}.project-card:nth-child(n) img{aspect-ratio:4/3}.project-card h3{font-size:1.6rem;letter-spacing:-.02em}.project-card-category{margin-top:17px}.project-card .view-project{margin-top:16px}
@media(max-width:1100px){.portfolio-hero-image img{height:350px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 22px}.project-card h3{font-size:1.4rem}}
@media(max-width:760px){.portfolio-intro{grid-template-columns:1fr;padding-top:45px;padding-bottom:50px;gap:30px}.portfolio-intro h1{font-size:3.5rem}.portfolio-hero-image img{height:300px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.project-card h3{font-size:1.3rem}}
@media(max-width:420px){.project-grid{grid-template-columns:1fr}.portfolio-hero-image img{height:250px}.portfolio-intro h1{font-size:3.2rem}}

.project-videos{margin-bottom:28px}.project-media-heading{font:400 1.65rem Georgia,serif;letter-spacing:-.02em;margin:0 0 22px}.project-film{margin:0 0 32px}.project-film video{display:block;width:100%;aspect-ratio:16/9;background:#081521;object-fit:contain}.project-film figcaption{color:#081521}.project-film>p{font-size:.85rem;color:#55616c;margin:10px 0 0}.project-film:last-of-type{padding-bottom:28px;border-bottom:1px solid #08152133}

#project-photo-preview{scroll-margin-top:85px}
#project-photo-preview[hidden]{display:none}
.project-image-toggle{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-out}
.project-image-toggle>img{display:block;width:100%;height:auto;max-height:65svh;object-fit:contain}
.project-image-caption>button{padding:6px 0;border:0;background:transparent;color:#357c9e;font:inherit;cursor:pointer}
@media(max-width:760px){#project-photo-preview{scroll-margin-top:75px}.project-image-toggle>img{max-height:58svh}}

#project-photo-lightbox{position:fixed;inset:0;margin:auto;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;padding:60px 20px 20px;background:#06101ae8;overflow:hidden;color:white}
#project-photo-lightbox::backdrop{background:#000b;backdrop-filter:blur(5px)}
#photo-overlay-image-button{display:block;border:0;background:transparent;padding:0;width:100%;height:100%;cursor:zoom-out}
#photo-overlay-image{display:block;width:100%;height:100%;object-fit:contain}
.photo-overlay-close{position:absolute;right:20px;top:12px;min-height:44px;padding:8px 16px;border:1px solid #ffffff66;background:#081521;color:white;z-index:1}
@media(max-width:760px){#project-photo-lightbox{padding:60px 8px 16px}}

/* Floating photo: keep the project visible behind the image. */
#project-photo-lightbox{width:92vw;max-width:1500px;height:86dvh;max-height:900px;padding:48px 12px 12px;background:transparent;overflow:visible}
#project-photo-lightbox::backdrop{background:#07121c66;backdrop-filter:none}
#photo-overlay-image{filter:drop-shadow(0 14px 28px #0008)}
#project-photo-lightbox .photo-overlay-close{top:0;right:12px;background:#081521de;border-color:#ffffff88;border-radius:4px}
@media(max-width:760px){#project-photo-lightbox{width:94vw;height:76dvh;padding:48px 0 0}#project-photo-lightbox .photo-overlay-close{right:0}}

#project-photo-lightbox::backdrop{background:transparent;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}

#project-photo-lightbox::backdrop{backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px)}
.project-thumbnails button[aria-current=true]{outline:none;border-color:transparent}
.project-thumbnails button:focus:not(:focus-visible),.project-card button:focus:not(:focus-visible),#photo-overlay-image-button:focus:not(:focus-visible){outline:none}
.project-thumbnails button:focus-visible{outline:3px solid #209ace;outline-offset:3px}

#project-photo-lightbox .photo-overlay-close{display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;padding:0;right:auto;border:1px solid #ffffff99;border-radius:50%;font:26px/1 Arial,sans-serif;background:#081521cc;box-shadow:0 2px 8px #0003;-webkit-tap-highlight-color:transparent;outline:none}
#project-photo-lightbox .photo-overlay-close:focus:not(:focus-visible){outline:none}
#project-photo-lightbox .photo-overlay-close:focus-visible{outline:2px solid white;outline-offset:3px}

/* Native dialogs can receive focus when a nested photo overlay closes. */
#project-dialog:focus,#project-dialog:focus-visible,#project-photo-lightbox:focus,#project-photo-lightbox:focus-visible{outline:none}
.portfolio-page button:focus:not(:focus-visible),.portfolio-page a:focus:not(:focus-visible){outline:none}

#project-dialog::backdrop{background:transparent;backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px)}
#project-close:focus,#project-close:focus-visible{outline:none;box-shadow:none}
#project-close:focus-visible{border-color:white}

#project-close{display:inline-flex;align-items:center;justify-content:center;gap:12px;line-height:1;min-height:44px}
#project-close>span{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font:20px/1 Arial,sans-serif;transform:translateY(-1px)}

#project-close{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;min-height:36px;height:36px;font-size:13px;line-height:1;flex:0 0 auto}
#project-close>.close-label{display:block;width:auto;height:auto;font:inherit;line-height:1;transform:none}
#project-close>svg{display:block;width:12px;height:12px;flex:0 0 12px}
.project-dialog-bar{align-items:center}
.project-image-caption{align-items:center;gap:16px}
.project-photo-navigation{display:flex;align-items:center;gap:8px}
.project-photo-navigation .image-arrow{position:static;inset:auto;transform:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:20px;line-height:1;background:transparent;border:1px solid #08152133;color:#081521}
.project-photo-navigation .image-arrow:disabled{display:none}
#project-close>.close-label{margin:0}

#project-dialog{border-radius:20px;box-shadow:0 24px 70px #08152155,0 5px 18px #08152133}
#project-dialog .project-dialog-bar{border-radius:20px 20px 0 0}
#photo-overlay-image{border-radius:14px;filter:drop-shadow(0 20px 30px #08152166) drop-shadow(0 3px 6px #08152144)}
@media(max-width:760px){#project-dialog{border-radius:16px}#project-dialog .project-dialog-bar{border-radius:16px 16px 0 0}#photo-overlay-image{border-radius:12px}}
#photo-overlay-image-button{display:flex;align-items:center;justify-content:center}#photo-overlay-image{width:auto;height:auto;max-width:100%;max-height:100%}
