/* Project library — real photography, restrained industrial detail. */
:root{--quiet:#bbc4ca;--edge:#424c54}body{overflow-wrap:break-word}a,button{touch-action:manipulation}.wrap{width:min(1240px,calc(100% - 64px))}.topbar{height:88px}.brand-logo{width:244px;height:auto;max-width:100%}.brand{min-width:0}.brand small{display:block;font-size:8px;color:#bac4cc;letter-spacing:.16em;margin-top:8px;text-transform:uppercase}.nav-links{gap:23px}.nav-links a{font-size:10px}.menu-button{min-height:44px;min-width:44px}.text-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;text-decoration:none;border-bottom:1px solid #78858e;font-size:12px;font-weight:700;letter-spacing:.04em}.text-link span{color:var(--orange)}.text-link:hover{color:var(--orange)}.section-intro{color:var(--quiet)}.contact-direct{display:block;width:fit-content;font-size:clamp(17px,2vw,23px);text-decoration:none;padding:5px 0;overflow-wrap:anywhere}.contact-detail .text-link{margin-top:18px}.contact-copy{color:var(--quiet)}
.project-feature{position:relative;overflow:hidden;background:#1b2125;border-block:1px solid var(--edge)}.feature-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:end;margin-bottom:42px}.feature-heading h2{font-size:clamp(52px,6.2vw,86px)}.feature-heading p:not(.eyebrow){color:var(--quiet);font-size:15px;margin:0 0 22px;max-width:440px}.feature-frame{position:relative;display:block;overflow:hidden;border:1px solid #48545d;background:#111719}.feature-frame img{aspect-ratio:16/8;object-fit:cover;transition:filter .5s}.feature-frame:hover img{filter:brightness(1.08)}.feature-overlay{position:absolute;inset:auto 0 0;padding:30px;display:flex;justify-content:space-between;align-items:end;background:linear-gradient(transparent,#0c1115e8)}.feature-overlay strong{font-family:var(--display);font-size:30px;line-height:1.1;text-transform:uppercase}.feature-overlay span{font-size:11px;letter-spacing:.12em;text-transform:uppercase}.feature-overlay .round-arrow{display:grid;place-items:center;border:1px solid #d5dde6;width:54px;height:54px;border-radius:50%;font-size:24px}.feature-notes{display:grid;grid-template-columns:repeat(3,1fr);margin-top:0;border-bottom:1px solid var(--edge)}.feature-notes div{padding:25px 28px 25px 0;font-size:13px;color:var(--quiet)}.feature-notes b{display:block;font-family:var(--display);font-size:24px;text-transform:uppercase;color:var(--ink);font-weight:600;margin-bottom:5px}.feature-notes em{font-style:normal;color:var(--orange);font-size:10px;margin-right:8px}.role-note{color:#aeb9c2;font-size:12px;border-left:2px solid #667680;padding:2px 0 2px 14px;margin:24px 0;line-height:1.7}.project-intro-note{font-size:13px;color:var(--quiet);max-width:650px;margin:0}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 30px}.project-tile{display:block;text-decoration:none;min-width:0}.project-tile .tile-image{position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#303a41,#11191e);border:1px solid #34434c}.project-tile img{height:360px;width:100%;object-fit:contain;transition:filter .3s}.tile-image:after{content:'';position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(transparent,#0a0e12a6);pointer-events:none}.tile-count{position:absolute;left:20px;bottom:17px;z-index:1;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.tile-open{position:absolute;right:20px;bottom:14px;z-index:1;font-size:22px;color:#e6ecef;transition:transform .25s}.project-tile:hover .tile-open{transform:translate(3px,-3px);color:var(--orange)}.project-tile:hover img{filter:brightness(1.09)}.tile-meta{margin:20px 0 10px;display:flex;justify-content:space-between;gap:15px;color:#b8c4ce;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.project-tile h3{font-size:clamp(29px,3.1vw,43px);line-height:1.03;margin:0 0 13px}.project-tile p{color:var(--quiet);font-size:13px;line-height:1.8;max-width:530px;margin:0;padding-bottom:20px;border-bottom:1px solid var(--edge)}.library-actions{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:42px}.project-library{padding-top:154px}.library-intro{margin:0 0 42px;max-width:760px;color:var(--quiet);font-size:16px}.project-library h1{font-size:clamp(58px,7.5vw,104px);margin-bottom:24px}.library-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;border-block:1px solid var(--edge);padding:18px 0;margin-bottom:42px}.library-filters{display:flex;flex-wrap:wrap;gap:8px}.library-filter{min-height:44px;padding:8px 16px;border:1px solid #52616c;background:transparent;color:var(--ink);font-size:11px}.library-filter[aria-pressed=true]{background:var(--orange);color:#141719;border-color:var(--orange)}.library-count{font-size:11px;color:var(--quiet);white-space:nowrap}.page-crumb{display:flex;gap:10px;flex-wrap:wrap;align-items:center;color:var(--quiet);font-size:11px;margin-bottom:30px}.page-crumb a{min-height:28px;display:inline-flex;align-items:center;text-decoration:none}.page-crumb span{color:#85949f}.project-page{padding-top:125px}.project-opening{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center;margin-bottom:38px}.project-opening h1{font-size:clamp(49px,5.6vw,78px);margin-bottom:24px}.project-opening .eyebrow{font-size:9px;letter-spacing:.14em;line-height:1.8;margin-bottom:22px}.project-lead{color:var(--quiet);font-size:15px;line-height:1.9;max-width:480px;margin-bottom:27px}.project-cover{margin:0;background:radial-gradient(ellipse at center,#34414b,#131a1f);border:1px solid var(--edge)}.project-cover img{height:530px;object-fit:contain}.project-cover figcaption{padding:12px 18px;color:var(--quiet);font-size:11px;border-top:1px solid var(--edge)}.project-summary{display:grid;grid-template-columns:1fr 2fr;gap:60px;border-top:1px solid var(--edge);padding:40px 0 28px}.project-summary h2{font-size:38px}.project-summary p{font-size:15px;color:var(--quiet);line-height:1.9;max-width:780px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:25px 0 48px}.detail-item{border-top:1px solid var(--edge);padding-top:20px}.detail-item>span{color:var(--orange);font-size:11px}.detail-item h3{font-size:27px;margin:12px 0;line-height:1.1}.detail-item p{font-size:13px;color:var(--quiet);margin:0;line-height:1.85}.album-section{background:#151a1e;padding:70px 0;border-block:1px solid var(--edge)}.album-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:32px}.album-heading h2{font-size:50px}.album-heading p{color:var(--quiet);font-size:12px;margin:0;max-width:330px}.photo-grid{columns:3;column-gap:20px}.album-photo{display:block;break-inside:avoid;margin:0 0 22px;background:#1d252b;border:1px solid #394650}.album-photo a{display:block;position:relative;text-decoration:none}.album-photo img{height:auto;max-height:560px;object-fit:contain}.album-photo a:after{content:'↗';position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:34px;height:34px;background:#101820df;border:1px solid #78858e;color:white}.album-photo figcaption{padding:12px 14px;color:#c1cbd2;font-size:11px;line-height:1.7}.album-photo figcaption span{color:var(--orange);margin-right:9px;font-size:10px}.album-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:26px}.album-status{font-size:12px;color:var(--quiet)}.project-cta{padding:75px 0}.project-cta .wrap{display:flex;justify-content:space-between;gap:30px;align-items:center}.project-cta h2{font-size:clamp(36px,4vw,56px);margin-bottom:14px}.project-cta p{color:var(--quiet);max-width:530px;margin:0}.project-next{padding:35px 0 60px;border-top:1px solid var(--edge)}.project-next .wrap{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.project-next a{text-decoration:none;font-size:13px;padding:10px 0}.project-next a:last-child{color:var(--orange)}.project-context{background:#26323b;border-left:2px solid var(--orange);padding:14px;font-size:13px;grid-column:1/-1}.project-context button{border:0;background:none;color:#e4ebef;text-decoration:underline;margin-left:12px;min-height:32px;font-size:11px}
.photo-viewer{padding:0;background:#0b1015;color:var(--ink);border:1px solid #55636f;width:calc(100vw - 24px);height:calc(100dvh - 24px);max-width:1600px;max-height:none;overflow:hidden}.photo-viewer::backdrop{background:#06090df2;backdrop-filter:blur(8px)}.viewer-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 20px;background:#131b22;border-bottom:1px solid var(--edge)}.viewer-top span{font-size:11px;letter-spacing:.08em}.viewer-top button,.viewer-bottom button{width:46px;height:44px;border:1px solid #6a7c89;color:white;background:transparent}.viewer-tools{display:flex;gap:8px}.viewer-top .zoom-photo{width:auto;padding:0 15px;font-size:11px}.viewer-stage{overflow:auto;display:flex;align-items:center;justify-content:center;min-height:0;background:#0b1015;touch-action:pan-x pan-y pinch-zoom}.viewer-stage img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;flex:none}.viewer-stage.is-zoomed{display:block}.viewer-stage.is-zoomed img{max-width:none;max-height:none;width:var(--zoom-width);height:auto;margin:auto}.viewer-bottom{border-top:1px solid var(--edge);border-bottom:0}.viewer-caption{font-size:12px;margin:0;color:#d5dde4;max-width:900px}.viewer-bottom .viewer-tools{flex-shrink:0}.viewer-error{color:#f2b88f;text-align:center;padding:20px}.contact-card-page{padding:130px 24px 80px;min-height:100vh;background:radial-gradient(ellipse at 50% 20%,#303d47 0,transparent 65%)}.digital-card{max-width:530px;margin:auto;position:relative;border:1px solid #7a8994;background:linear-gradient(145deg,#2c363e,#141b21 58%,#222e37);box-shadow:0 30px 100px #0008;padding:40px}.digital-card:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--orange) 0 35%,#cad4dc 35% 100%)}.card-mark{width:180px;margin:0 auto 26px}.digital-card h1{font-size:52px;line-height:1;margin:0 0 8px;text-align:center}.card-tagline{text-align:center;color:var(--quiet);font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:28px}.card-contact-list{border-block:1px solid #56636e;padding:16px 0;margin-bottom:24px}.card-contact-list a{display:block;text-decoration:none;min-height:48px;padding:8px 0;font-size:15px;overflow-wrap:anywhere}.card-contact-list small{display:block;color:#aab8c2;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.card-actions .button{padding:13px 12px;min-height:48px;gap:8px;font-size:10px}.card-actions .save-contact{grid-column:1/-1}.card-help{font-size:11px;color:#b8c5ce;margin:16px 0 0}.card-status{font-size:12px;color:#e3c1a5;margin:12px 0 0;min-height:1.7em}.card-return{display:block;text-align:center;font-size:12px;margin:26px auto 0;max-width:300px;min-height:44px}.card-season{text-align:center;color:#d1dae0;font-size:11px;margin-top:25px}.footer .footer-inner{gap:28px}.footer .brand-logo{width:190px}.footer .footer-prompt{font-size:20px}.footer .footer-website-link{font-size:24px}.footer-card-link{font-size:12px}.reveal-panel{transition:border-color .3s}.reveal-panel:hover{border-color:#8b9ca8}
@media(min-width:1100px){.project-tile:nth-child(even){margin-top:55px}.project-grid{align-items:start}.library-filters{gap:6px}}
@media(max-width:1100px){.nav-links{gap:14px}.nav-links a{font-size:9px}.brand-logo{width:210px}.feature-heading{gap:35px}.project-opening{gap:30px}.project-cover img{height:450px}.detail-grid{gap:20px}}
@media(max-width:900px){.topbar .menu-button{display:block}.nav-links{display:none;position:absolute;top:87px;left:0;right:0;background:#11191ff8;border-bottom:1px solid #64717a;padding:24px 32px;flex-direction:column;align-items:stretch;gap:8px}.nav-links.open{display:flex}.nav-links a{font-size:12px;min-height:44px;display:flex;align-items:center;padding:10px}.feature-heading,.project-opening{grid-template-columns:1fr}.project-opening{gap:25px}.project-lead{max-width:620px}.project-opening h1{max-width:740px;font-size:clamp(48px,8vw,72px)}.project-cover img{height:440px}.feature-heading p:not(.eyebrow){max-width:620px}.project-summary{grid-template-columns:1fr;gap:18px}.photo-grid{columns:2}.library-toolbar{align-items:start;flex-direction:column}.project-tile img{height:300px}.project-cta .wrap{align-items:start;flex-direction:column}.feature-notes div{padding-right:18px}.detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.topbar{height:76px}.nav-links{top:75px}.brand-logo{width:210px}.brand small{font-size:7px;letter-spacing:.11em}.section{padding:70px 0}.section-head{gap:22px;margin-bottom:30px}.feature-heading h2{font-size:51px}.feature-heading{gap:24px;margin-bottom:26px}.feature-frame img{aspect-ratio:4/3;object-fit:cover}.feature-overlay{padding:18px}.feature-overlay strong{font-size:25px}.feature-overlay .round-arrow{width:42px;height:42px}.feature-notes{grid-template-columns:1fr}.feature-notes div{padding:17px 0;border-bottom:1px solid #36434c}.feature-notes div:last-child{border-bottom:0}.feature-notes b{font-size:23px;margin-bottom:3px}.project-grid{grid-template-columns:1fr;gap:32px}.project-tile img{height:330px}.tile-meta{margin-top:15px;font-size:9px}.project-tile h3{font-size:35px}.project-tile p{font-size:13px}.library-actions{align-items:start;flex-direction:column}.project-library{padding-top:118px}.project-library h1{font-size:62px}.library-intro{font-size:14px;margin-bottom:28px}.library-filter{font-size:10px;padding:8px 12px}.project-page{padding-top:102px}.page-crumb{font-size:10px;margin-bottom:24px}.project-opening h1{font-size:50px}.project-cover img{height:390px}.project-opening .eyebrow{font-size:9px}.project-summary{padding-top:30px}.project-summary p{font-size:14px}.detail-grid{grid-template-columns:1fr;gap:24px}.detail-item h3{font-size:29px}.album-section{padding:45px 0}.album-heading{align-items:start;flex-direction:column;gap:16px}.album-heading h2{font-size:45px}.photo-grid{columns:1}.album-photo img{max-height:590px}.album-photo figcaption{font-size:12px}.album-controls{flex-direction:column;gap:10px}.project-cta{padding:50px 0}.project-cta .button{width:100%}.photo-viewer{width:100vw;height:100dvh;margin:0;border:0}.viewer-top,.viewer-bottom{padding:10px;gap:10px}.viewer-top span{font-size:10px}.viewer-top .zoom-photo{padding:0 10px}.viewer-caption{font-size:11px}.viewer-bottom{align-items:center}.contact-card-page{padding:105px 16px 45px}.digital-card{padding:28px 24px}.card-mark{width:150px}.digital-card h1{font-size:45px}.card-contact-list a{font-size:14px}.footer .footer-inner{flex-direction:column;align-items:start}.footer-credit{text-align:left}.footer .brand-logo{width:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.project-tile:hover .tile-open{transform:none}}
@media print{.topbar,.footer,.album-controls,.project-cta,.photo-viewer,.card-actions{display:none!important}body{background:white;color:black}.digital-card{box-shadow:none}.album-photo[hidden]{display:block!important}}
/* Paired views make portrait project photography useful in a wide card. */
.tile-image.is-pair{display:grid;grid-template-columns:1fr 1fr;gap:3px}.tile-image.is-pair img{min-width:0;background:#182128}.tile-image.is-pair img:first-child{border-right:1px solid #52606b}.tile-image.is-pair .tile-count{background:#10171dd9;padding:4px 7px;left:12px;bottom:12px}.tile-image.is-pair .tile-open{background:#10171dd9;width:32px;text-align:center;right:12px;bottom:12px}
.card-mark{height:auto}
/* Stable reading order when more photos are revealed. */
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;columns:auto;align-items:start}.album-photo{margin:0;min-width:0}.album-photo img{height:420px;max-height:none;object-fit:contain;background:#111a20}
@media(max-width:900px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.album-photo img{height:380px}}
@media(max-width:600px){.photo-grid{grid-template-columns:1fr}.album-photo img{height:auto;max-height:590px}}
@media(max-width:760px){.project-grid{grid-template-columns:1fr}.project-tile img{height:340px}.project-tile h3{font-size:36px}}
/* On smaller screens, show the project photograph before the supporting copy. */
@media(max-width:900px){.project-feature>.wrap{display:flex;flex-direction:column}.feature-heading{display:contents}.feature-heading>div:first-child{order:0;margin-bottom:28px}.feature-frame{order:1}.feature-heading>div:last-child{order:2;margin:24px 0 12px}.feature-notes{order:3}.project-feature .role-note{order:4}.feature-heading p:not(.eyebrow){margin-bottom:14px}}

/* Preserve the full featured photograph instead of its HTML intrinsic height. */
.feature-frame{width:100%;max-width:1040px;margin-inline:auto}
.feature-frame img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:600px){.feature-overlay{position:relative;background:#172129;padding:14px 16px}.feature-overlay span{font-size:10px}.feature-overlay strong{font-size:23px}}

/* Shared industrial footer. */
.site-footer{background:#101518;border-top:1px solid #465159;padding:0 0 18px;color:#b5c0c8}
.site-footer a{text-decoration:none;color:inherit}.site-footer a:hover{color:var(--orange)}.site-footer a:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
.footer-inquiry{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:36px 0;border-bottom:1px solid #354149}
.site-footer .footer-label{margin:0 0 10px;color:var(--orange);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.footer-inquiry h2{font-size:clamp(30px,3.2vw,46px);line-height:1.1;margin:0 0 10px;color:#e3e9ed;text-transform:none}
.footer-inquiry p:last-child{font-size:13px;line-height:1.7;margin:0;max-width:560px}.footer-inquiry .button{flex-shrink:0;color:#101518;min-height:48px}
.footer-columns{display:grid;grid-template-columns:1.35fr .7fr 1fr 1.25fr;gap:32px;padding:34px 0}
.footer-identity img{width:240px;max-width:100%;height:auto;display:block;margin:3px 0 18px}.footer-tagline{font-size:15px;line-height:1.6;color:#e0e6eb;margin:0 0 12px}.footer-scope{font-size:10px;line-height:1.7;margin:0;color:#95a4ae}
.footer-columns h3{font-family:Manrope,sans-serif;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#8c9da9;margin:0 0 12px;font-weight:700}
.footer-columns nav a,.footer-contact>a{display:flex;align-items:center;min-height:40px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.footer-contact .footer-phone{font-size:19px;color:#e0e7ed}.footer-contact .footer-save{color:#e0e7ed;margin-top:8px;gap:18px;border-bottom:1px solid #667782;width:fit-content;min-height:44px}
.footer-bottom{display:flex;align-items:center;gap:24px;border-top:1px solid #354149;padding-top:16px;font-size:10px;color:#94a3ad}.footer-bottom p{margin:0;line-height:1.7}.footer-builder{margin-left:auto;display:flex;align-items:center;gap:9px;min-height:44px}.footer-builder img{width:28px;height:28px;object-fit:contain}.footer-builder strong{font-weight:500;color:#c5ced5}.footer-top{display:flex;align-items:center;gap:12px;min-height:44px}
@media(max-width:1100px){.footer-columns{grid-template-columns:1fr 1fr;gap:28px 40px}.footer-identity{grid-column:1;grid-row:1}.footer-contact{grid-column:2;grid-row:1}.footer-inquiry{align-items:flex-start}.footer-inquiry .button{font-size:11px;padding-inline:18px}}
@media(max-width:600px){.footer-inquiry{flex-direction:column;gap:20px;padding:28px 0}.footer-inquiry .button{width:100%}.footer-columns{gap:24px 20px;padding:28px 0}.footer-identity{grid-column:1/-1;grid-row:auto}.footer-contact{grid-column:1/-1;grid-row:auto;border-top:1px solid #354149;padding-top:22px}.footer-columns nav a,.footer-contact>a{min-height:44px}.footer-bottom{flex-wrap:wrap;gap:6px 20px}.footer-bottom p{flex-basis:100%;margin-bottom:3px}.footer-builder{margin-left:0}.footer-top{margin-left:auto}.footer-identity img{width:230px}.footer-tagline{margin-bottom:8px}}
