/*
Theme Name: Structure Corp
Description: Structure Corp portfolio with editable WordPress content.
Version: 1.1.1
Requires PHP: 8.3
Text Domain: structurecorp
*/
@font-face{font-family:Metropolis;src:url('assets/metropolis-regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Metropolis;src:url('assets/metropolis-light.woff') format('woff');font-weight:300;font-display:swap}
@font-face{font-family:Metropolis;src:url('assets/metropolis-bold.woff') format('woff');font-weight:700;font-display:swap}
@font-face{font-family:PTSerif;src:url('assets/pt-serif-italic.woff2') format('woff2');font-style:italic;font-display:swap}
:root{--ink:#222;--muted:#818181;--paper:#f1f1f1;--serif:PTSerif,Georgia,serif;--sans:Metropolis,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:16px;line-height:1.65;font-weight:300}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #a18b68;outline-offset:6px}img{display:block;max-width:100%;height:auto}button{border:0;background:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700}a.underlined{border-bottom:1px solid #999;padding-bottom:5px}.skip-link{position:fixed;left:20px;top:10px;z-index:150;background:#fff;color:#111;padding:8px 16px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:fixed;left:0;right:0;top:0;height:104px;z-index:50;padding:30px 38px;display:flex;align-items:center;justify-content:space-between;color:#fff;transition:background .25s,color .25s,height .25s}.site-logo{display:block;width:340px}.site-logo img{width:100%;height:auto}.site-header.is-scrolled,.light-page .site-header{height:80px;background:rgba(255,255,255,.96);color:#222;box-shadow:0 1px 0 #00000009}.site-header.is-scrolled .site-logo img,.light-page .site-header .site-logo img{filter:brightness(0)}.menu-toggle{width:44px;height:44px;display:grid;align-content:center;gap:7px;padding:8px}.menu-toggle span{height:2px;width:28px;background:currentColor;display:block;transition:width .2s}.menu-toggle:hover span:last-child{width:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.home-hero{height:100svh;min-height:650px;position:relative;display:grid;place-items:center;text-align:center;color:#fff;background:#1d1d1d;isolation:isolate;overflow:hidden}.hero-slides{position:absolute;inset:0;z-index:-2}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.5s ease}.hero-slide.is-active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover}.home-hero:after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.61);z-index:-1}.hero-copy{max-width:1240px;padding:40px 25px 95px}.hero-copy .serif{font:italic 24px/1.6 var(--serif);color:#b5b5b5}.hero-copy h1{font-size:clamp(42px,5.15vw,76px);line-height:1.1;letter-spacing:.12em;text-transform:uppercase;margin:9px 0 17px}.hero-copy .hero-subtitle{font-size:23px;max-width:1050px;margin:auto}.hero-bottom{position:absolute;bottom:60px;left:15px;right:15px;font:italic 18px/1.65 var(--serif);color:#c5c5c5}.scroll-down{display:inline-flex;flex-direction:column;align-items:center;gap:10px;margin-top:18px;font:400 10px/1.4 var(--sans);letter-spacing:2px;text-transform:uppercase;color:#fff}.scroll-down:after{content:'';width:11px;height:11px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg)}.slide-controls{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px}.slide-dot{width:22px;height:24px;display:grid;place-items:center}.slide-dot:after{content:'';width:5px;height:5px;border:1px solid #ddd;border-radius:50%}.slide-dot[aria-current=true]:after{background:#fff}.slide-pause{height:24px;width:30px;padding:0;font-size:11px;color:#ddd;letter-spacing:1px}
.project-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));scroll-margin-top:80px;background:#000}.project-card{height:clamp(260px,25.2vw,420px);position:relative;isolation:isolate;overflow:hidden;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center}.project-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:-2;filter:grayscale(1);transition:filter .65s,transform .9s}.project-card:after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.28);z-index:-1;transition:background .5s}.project-card:hover img,.project-card:focus-visible img{filter:grayscale(0);transform:scale(1.035)}.project-card:hover:after{background:rgba(0,0,0,.1)}.card-copy{padding:20px;width:100%;text-shadow:0 1px 15px #0009}.card-copy h2{font-size:clamp(18px,1.8vw,29px);line-height:1.2;letter-spacing:2px;text-transform:uppercase}.card-divider{display:block;width:52px;height:1px;background:#fff;margin:18px auto 15px;position:relative}.card-divider:after{position:absolute;content:'';width:7px;height:7px;border:1px solid #fff;background:#ffffff55;left:23px;top:-3px;transform:rotate(45deg)}.card-copy p{font-size:12px;font-weight:400;letter-spacing:2px}.view-project{display:block;max-height:0;overflow:hidden;opacity:0;font-size:10px;letter-spacing:2px;text-transform:uppercase;transition:max-height .35s,margin .35s,opacity .35s}.project-card:hover .view-project,.project-card:focus-visible .view-project{max-height:25px;margin-top:20px;opacity:1}
.site-footer{background:#f2f2f2;color:#777;text-align:center;padding:53px 20px;font-size:11px;letter-spacing:1px}.footer-logo{width:130px;margin:0 auto 23px;filter:brightness(0);opacity:.75}.footer-nav{display:flex;justify-content:center;gap:30px;margin-bottom:20px;text-transform:uppercase;font-size:10px;letter-spacing:2px}.footer-nav a:hover{color:#222}.site-footer .copyright{font-size:10px;letter-spacing:.4px}.contact-strip{padding:100px 25px;text-align:center;background:#fff}.contact-strip h2{font:italic 32px/1.4 var(--serif);margin-bottom:25px}.text-link{display:inline-block;border-bottom:1px solid #aaa;font-size:12px;letter-spacing:2px;padding:6px 0;text-transform:uppercase}.text-link:after{content:' →';padding-left:13px}.text-link:hover{border-color:#222}
dialog{border:0;padding:0}dialog::backdrop{background:rgba(0,0,0,.55)}
.desktop-nav{display:flex;align-items:center;gap:32px;margin-left:28px}.desktop-nav a{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;font-weight:400;padding:10px 0;border-bottom:1px solid transparent}.desktop-nav a:hover{border-bottom-color:currentColor}
.site-header .menu-toggle{display:none}
.navigation-dialog{position:fixed;inset:0;margin:18px 18px auto auto;width:min(390px,calc(100vw - 36px));height:auto;max-width:none;max-height:calc(100svh - 36px);overflow:auto;background:#f7f7f7;color:#222;padding:25px 28px 32px;box-shadow:0 16px 60px #0004}
.navigation-head{display:flex;justify-content:space-between;align-items:center;padding:0;height:auto}.navigation-head p{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#666}
.close-button{width:44px;height:44px;position:relative}.close-button:before,.close-button:after{content:'';position:absolute;left:7px;top:21px;width:30px;height:1px;background:currentColor;transform:rotate(45deg)}.close-button:after{transform:rotate(-45deg)}
.drawer-links{display:flex;flex-direction:column;align-items:flex-start;gap:22px;margin:26px 0 32px}.drawer-links a{font-size:26px;font-weight:400;letter-spacing:.5px;line-height:1.35}.drawer-links a:hover{color:#666}.drawer-contact{border-top:1px solid #d8d8d8;padding-top:23px;color:#555;font-size:13px;line-height:2}
body.home .contact-strip{background:#000;color:#fff}body.home .contact-strip .text-link{border-color:#777}

.page-title{padding:160px 20px 75px;text-align:center;background:var(--paper)}.page-title h1{font:italic 32px/1.6 var(--serif);font-weight:400}.case-filters{margin-top:40px;display:flex;justify-content:center;flex-wrap:wrap;gap:16px 44px}.case-filters button{padding:12px 0 0;font-size:13px;letter-spacing:2px;text-transform:uppercase;border-top:1px solid transparent;color:#888}.case-filters button[aria-pressed=true]{border-top-color:#222;color:#222}.case-filters button:hover{color:#222}.case-feature{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.case-feature:nth-child(even) .case-photo{order:2}.case-photo{overflow:hidden;min-height:450px;background:#eee}.case-photo img{width:100%;height:100%;max-height:650px;object-fit:cover;filter:grayscale(1);transition:filter .6s,transform 1s}.case-photo:hover img{filter:grayscale(0);transform:scale(1.025)}.case-copy{padding:75px 10% 65px;display:flex;flex-direction:column;align-items:start;justify-content:center}.case-copy h2{font-size:32px;line-height:1.25;letter-spacing:2px;text-transform:uppercase;margin-bottom:22px}.case-copy .case-category{color:#999;font-size:12px;letter-spacing:2px;text-transform:uppercase;margin-bottom:25px}.case-copy p{font-size:16px;line-height:1.8;margin-bottom:30px}.case-feature[hidden]{display:none}.no-results{text-align:center;padding:80px 20px}
.project-hero{height:100svh;min-height:620px;position:relative;display:grid;place-items:center;isolation:isolate;text-align:center;color:#fff;background:#222;overflow:hidden}.project-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:grayscale(1)}.project-hero:after{position:absolute;inset:0;content:'';background:#0006;z-index:-1}.project-heading{padding:80px 40px;max-width:1200px}.project-heading h1{font-size:clamp(38px,5vw,72px);line-height:1.15;letter-spacing:.12em;text-transform:uppercase;margin:15px 0}.project-heading p{letter-spacing:2px;text-transform:uppercase;font-size:14px;font-weight:400}.project-heading .location{margin-top:15px}.project-hero .scroll-down{position:absolute;bottom:60px}.project-story{max-width:940px;margin:auto;padding:95px 35px 90px}.project-story p{margin-bottom:24px;font-size:17px;line-height:1.9}.project-story h2{font:italic 29px/1.5 var(--serif);margin-bottom:35px}.project-credits{display:flex;flex-wrap:wrap;gap:30px 70px;border-top:1px solid #e8e8e8;padding-top:30px;margin-top:40px;font-size:12px;white-space:pre-line;letter-spacing:1px;color:#777}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#fff;padding:4px}.gallery-button{padding:0;overflow:hidden;cursor:zoom-in;background:#eee;aspect-ratio:4/3}.gallery-button img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-button:hover img{transform:scale(1.025)}.gallery-button:nth-child(5n+1){grid-column:span 2;aspect-ratio:16/9}.project-next{padding:80px 25px;text-align:center;display:block;background:var(--paper)}.project-next span{display:block;font:italic 18px var(--serif);color:#888;margin-bottom:10px}.project-next strong{font-size:27px;letter-spacing:3px;text-transform:uppercase}.project-next:hover strong{color:#777}.lightbox{width:100vw;height:100svh;max-width:none;max-height:none;background:#111;color:#fff;margin:0;inset:0;overflow:hidden}.lightbox-layout{height:100%;display:grid;grid-template-rows:70px 1fr 60px}.lightbox-top{display:flex;align-items:center;justify-content:space-between;padding:10px 28px;font-size:12px;letter-spacing:1px}.lightbox-picture{min-height:0;width:100%;height:100%;object-fit:contain;padding:0 60px}.lightbox-controls{display:flex;justify-content:center;align-items:center;gap:40px}.lightbox-controls button{padding:5px 20px;font-size:20px}.lightbox-count{font-size:12px;letter-spacing:2px;color:#aaa}
.contact-photo{height:420px;background:#333;overflow:hidden}.contact-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.contact-main{max-width:1200px;margin:auto;padding:70px 65px 95px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-main h1,.contact-main h2,.nationwide h2{font:italic 32px/1.6 var(--serif);margin-bottom:30px;font-weight:400}.contact-main h3{font-size:13px;font-weight:400;letter-spacing:2px;color:#999;margin-bottom:22px}.contact-main address{font-style:normal;font-size:16px;line-height:1.9;margin-bottom:25px}.contact-main p{margin-bottom:22px;line-height:1.9}.contact-main a:hover{color:#777}.contact-details{margin-bottom:25px}.contact-main .text-link{margin-top:12px}.nationwide{padding:85px 25px;text-align:center;background:var(--paper)}.nationwide .eyebrow{font-size:12px;letter-spacing:2px;color:#999;margin-bottom:20px}.nationwide p{max-width:720px;margin:0 auto 30px;line-height:1.9}.not-found{min-height:75svh;padding:180px 25px 100px;text-align:center}.not-found h1{font-size:38px;margin-bottom:20px}.not-found p{margin-bottom:30px}
@media(min-width:1600px){.project-card{height:360px}}
@media(max-width:1150px){.project-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.project-card{height:31vw}.card-copy h2{font-size:23px}.hero-copy .hero-subtitle{font-size:20px}.case-copy{padding:55px 9%}.case-copy h2{font-size:27px}.contact-main{gap:65px}}
@media(max-width:850px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{height:39vw}.card-copy h2{font-size:22px}.hero-copy h1{font-size:52px;letter-spacing:7px}.case-feature{min-height:450px}.case-photo{min-height:400px}.case-copy{padding:45px 8%}.case-copy h2{font-size:23px}.case-copy p{font-size:14px}.contact-main{padding:60px 40px;gap:45px}.contact-main h1,.contact-main h2{font-size:29px}}
@media(max-width:600px){.site-header,.navigation-head{height:82px;padding:20px}.site-header.is-scrolled,.light-page .site-header{height:70px}.site-logo{width:250px}.home-hero{min-height:680px}.hero-copy{padding:40px 22px 120px;transform:translateY(-20px)}.hero-copy .serif{font-size:18px}.hero-copy h1{font-size:43px;line-height:1.17;letter-spacing:5px;margin:10px 0 16px}.hero-copy .hero-subtitle{font-size:18px;max-width:340px;line-height:1.65}.hero-bottom{font-size:16px;bottom:58px;padding:0 16px}.hero-bottom .scroll-down{margin-top:15px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{height:65vw;max-height:380px;min-height:220px}.card-copy{padding:15px 10px}.card-copy h2{font-size:21px;letter-spacing:1.6px}.card-copy p{font-size:10px;letter-spacing:1.7px}.card-divider{margin:17px auto 14px}.view-project{display:none}.contact-strip{padding:70px 20px}.contact-strip h2{font-size:28px}.site-footer{padding:40px 15px}.page-title{padding:130px 20px 50px}.case-filters{gap:14px 24px;margin-top:27px}.case-filters button{font-size:11px}.case-feature{display:flex;flex-direction:column}.case-feature:nth-child(even) .case-photo{order:0}.case-photo{min-height:0;aspect-ratio:4/3}.case-photo img{height:100%}.case-copy{padding:42px 28px 50px}.case-copy h2{font-size:27px}.case-copy p{font-size:15px}.project-hero{min-height:600px}.project-heading{padding:70px 22px;max-width:100%}.project-heading h1{font-size:40px;letter-spacing:5px;overflow-wrap:anywhere}.project-heading p{font-size:11px;letter-spacing:1.8px}.project-story{padding:60px 25px}.project-story p{font-size:15px}.project-gallery{gap:3px;padding:3px}.gallery-button{aspect-ratio:1}.gallery-button:nth-child(5n+1){aspect-ratio:4/3}.project-next strong{font-size:23px}.project-credits{gap:25px;font-size:11px}.lightbox-top{padding:8px 15px}.lightbox-picture{padding:0 6px}.contact-photo{height:300px}.contact-main{padding:45px 28px 55px;grid-template-columns:1fr;gap:50px}.contact-main h1,.contact-main h2{margin-bottom:25px}.nationwide{padding:60px 25px}.nationwide p{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.contact-page .site-header:not(.is-scrolled){background:linear-gradient(180deg,rgba(0,0,0,.5),transparent)}

body.admin-bar .site-header{top:32px}.project-story .wp-block-paragraph{margin-bottom:24px} .project-story .wp-block-gallery img{height:auto}@media(max-width:782px){body.admin-bar .site-header{top:46px}}

@media(max-width:850px){.desktop-nav{display:none}.site-header .site-logo{width:min(54vw,270px)}.site-header .menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:auto;min-height:44px;padding:8px 0 8px 12px}.menu-toggle .menu-label{display:block;width:auto;height:auto;background:none;font-size:11px;line-height:1;letter-spacing:1.5px;text-transform:uppercase}.menu-toggle .menu-icon{display:block;width:19px;height:10px;background:none;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.menu-toggle:hover .menu-icon{width:19px}}
