:root{--ink:#11191d;--paper:#efeee8;--muted:#a4adb0;--accent:#080867}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:fixed;top:-60px;padding:15px;background:white;z-index:20}.skip:focus{top:0}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:white;border-bottom:1px solid #ffffff25}.brand{display:flex;flex-direction:column;width:110px}.brand strong{font-size:36px;letter-spacing:-4px;line-height:1}.brand strong span{color:var(--accent);font-size:28px}.brand small{font-size:10px;letter-spacing:4px;margin-top:7px}nav{display:flex;gap:36px;font-size:13px}nav a:hover{color:var(--accent)}.nav-cta{font-size:13px;border-bottom:1px solid var(--accent);padding:12px 0}.nav-cta span{margin-left:40px;color:var(--accent)}#menu{display:none}.hero{min-height:730px;height:calc(100vh - 96px);max-height:1000px;position:relative;background:#11191d;color:white;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 25%;background:linear-gradient(90deg,#11191d 0%,#11191d90 45%,#11191d20),linear-gradient(0deg,#11191d 0%,transparent 50%),url('assets/hero-1920.jpg') center/cover;filter:saturate(.55)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:90px 90px}.hero-content{position:relative;padding:70px 5% 100px}.eyebrow{font:11px/1.6 'Courier New',monospace;letter-spacing:1.8px;font-weight:bold}.eyebrow i{display:inline-block;width:7px;height:7px;background:var(--accent);margin-right:10px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(62px,7.8vw,120px);letter-spacing:-.065em;line-height:.94;margin:35px 0 28px;max-width:1100px;font-weight:900}em{color:var(--accent);font-style:normal}h1 em{font-size:.89em}.hero-description{max-width:410px;color:#d4d8da;font-size:17px;line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:55px;background:var(--accent);color:#11191d;font-weight:bold;font-size:13px;padding:20px 24px;margin-top:12px}.button:hover{background:#25258a}.button span{font-size:22px}.hero-bottom{position:absolute;bottom:0;left:5%;right:5%;border-top:1px solid #ffffff40;display:flex;justify-content:space-between;padding:25px 0;font:9px 'Courier New',monospace;letter-spacing:1px}.vertical{position:absolute;right:24px;top:30%;writing-mode:vertical-rl;font:9px 'Courier New',monospace;letter-spacing:3px;color:#ffffff90}.strap{background:var(--accent);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 5%;font-size:13px;letter-spacing:1px;font-weight:bold}.asterisk{font-size:30px}.section{padding:90px 5%}.section-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #11191d30;padding-bottom:20px;margin-bottom:45px}.section-top>p:last-child,.section-top>span{font-size:11px}.intro{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:start;margin-bottom:45px}h2{font-size:clamp(34px,4.4vw,68px);font-weight:900;line-height:1.02;letter-spacing:-.055em;margin-bottom:24px}.intro>p,.about p,.reach>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:510px;color:#546065}.services details{border-top:1px solid #bfc3bf}.services details:last-child{border-bottom:1px solid #bfc3bf}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.services summary{padding:25px 0;display:flex;align-items:center;font-size:clamp(21px,2.6vw,35px);font-weight:bold;letter-spacing:-1px}.services summary>span{font:11px 'Courier New';width:85px;color:#5a6364;letter-spacing:0}.services b{margin-left:auto;font-size:25px;font-weight:normal}.services details[open] b{transform:rotate(45deg);color:var(--accent)}.services details p{padding-left:85px;max-width:730px;line-height:1.75;color:#546065;padding-bottom:15px}.work{background:var(--ink);color:var(--paper)}.work .section-top{border-color:#ffffff30}.work .intro p{color:var(--muted)}.filters{display:flex;gap:8px;margin:0 0 35px;flex-wrap:wrap}.filters button{background:transparent;color:#c3cbcd;border:1px solid #536064;padding:11px 18px;font-size:12px}.filters button.active{background:var(--accent);color:var(--ink);border-color:var(--accent)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.project-grid article[hidden]{display:none}.project-grid img{width:100%;height:300px;object-fit:cover;filter:saturate(.6);transition:filter .3s}.project-grid article:hover img{filter:saturate(1)}.project-meta{color:var(--accent);font:9px 'Courier New';letter-spacing:1px;margin:25px 0 13px}h3{font-size:26px;line-height:1.1;letter-spacing:-1px;margin-bottom:12px}.project-grid article>p{color:var(--muted);font-size:13px}.project-grid details{border-top:1px solid #ffffff30;margin-top:25px;padding-top:18px}.project-grid summary{font-size:12px}.project-grid summary span{float:right;color:var(--accent);font-size:18px}.project-grid details p{color:#bbc3c6;font-size:13px;line-height:1.7;margin-top:20px}.image-note{font-size:10px;color:#8e9a9e;margin:35px 0 0}.about{display:grid;grid-template-columns:1fr 1.25fr;gap:10%;align-items:center}.about-mark{font-size:clamp(80px,14vw,210px);font-weight:900;letter-spacing:-.12em;border:1px solid #adb4b1;aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative;background:repeating-linear-gradient(0deg,transparent,transparent 39px,#14212608 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,#14212608 40px)}.about-mark span{color:var(--accent);font-size:.6em}.about-mark div{position:absolute;bottom:20%;font-size:12px;letter-spacing:8px;margin-left:8px}.about .eyebrow{color:var(--ink);font-size:10px}.about h2{font-size:clamp(34px,3.5vw,54px)}.principles{display:flex;flex-direction:column;font:11px 'Courier New';gap:16px;border-top:1px solid #bbc1bc;padding-top:25px}.reach{border-top:1px solid #bfc3bf}.reach h2{max-width:900px}.states{margin-top:45px;font-size:clamp(18px,3.3vw,50px);font-weight:bold;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;letter-spacing:-1px}.states span{color:var(--accent)}.contact{background:var(--accent)}.contact h2{font-size:clamp(50px,8vw,120px)}.contact h2 em{color:var(--paper)}.contact-bottom{display:flex;justify-content:space-between;gap:35px;align-items:start;border-top:1px solid #11191d50;padding-top:35px}.contact-bottom p{font-size:18px;line-height:1.5}.dark{background:var(--ink);color:white;margin:0}.dark:hover{background:#2c373d}.contact address{font-style:normal;font-size:13px;line-height:1.7}.contact address span{font-size:11px}.contact address a{display:inline-block;border-bottom:1px solid;margin-top:12px}footer{padding:40px 5%;display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:white;gap:25px}footer p,footer>span{font-size:11px;color:var(--muted);margin:0}@media(min-width:1600px){.section,header,.hero-content{padding-left:max(5%,calc((100vw - 1500px)/2));padding-right:max(5%,calc((100vw - 1500px)/2))}}@media(max-width:800px){header{height:80px}.nav-cta{margin-left:auto;margin-right:24px}#menu{display:block;background:transparent;color:white;border:1px solid #667277;padding:10px;font-size:11px}nav{display:none;position:absolute;left:0;right:0;top:80px;background:var(--ink);padding:30px 5%;z-index:10;flex-direction:column}nav.open{display:flex}.hero{min-height:680px;height:auto}.hero-content{padding-top:70px}h1{font-size:clamp(50px,9.2vw,74px)}.hero-photo{left:0;opacity:.6}.hero-bottom{font-size:8px;gap:25px;line-height:1.8}.hero-bottom>a{white-space:nowrap}.vertical{display:none}.strap{font-size:9px;gap:15px}.strap>span:last-child{display:none}.section{padding:60px 6%}.intro,.about{grid-template-columns:1fr;gap:15px}.section-top{margin-bottom:30px}.project-grid{grid-template-columns:1fr}.project-grid img{height:350px}.project-grid article{margin-bottom:25px}.about-mark{display:none}.contact-bottom{flex-direction:column}.states{font-size:24px;justify-content:flex-start;gap:15px}footer{flex-wrap:wrap}footer p{display:none}.services summary>span{width:45px}.services details p{padding-left:45px}.hero-description{max-width:330px;font-size:15px}.section-top>p:last-child{font-size:10px}h1 em{font-size:.83em}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* G&W identity: navy, silver and white. */
:root{--ink:#101827;--paper:#f1f3f6;--muted:#adb7ca;--accent:#080867;--silver:#b6bac2;--ice:#b5c6ff}
header{background:#fff;color:var(--accent);border-bottom:1px solid #d6d9e0}
.brand{width:155px;flex-shrink:0}.brand img{display:block;width:100%;height:78px;object-fit:contain;background:white}
.nav-cta span{color:var(--accent)}nav a:hover{color:#4b58a5}
.hero{background:#101827}.hero-photo{background:linear-gradient(90deg,#101827 0%,#10182790 45%,#10182720),linear-gradient(0deg,#101827 0%,transparent 50%),url('assets/hero-1920.jpg') center/cover;background-image:linear-gradient(90deg,#101827 0%,#10182790 45%,#10182720),linear-gradient(0deg,#101827 0%,transparent 50%),image-set(url('assets/hero-1920.webp') type('image/webp'),url('assets/hero-1920.jpg') type('image/jpeg'))}@media(max-width:800px){.hero-photo{background-image:linear-gradient(90deg,#101827 0%,#10182790 45%,#10182720),linear-gradient(0deg,#101827 0%,transparent 50%),url('assets/hero-800.jpg');background-image:linear-gradient(90deg,#101827 0%,#10182790 45%,#10182720),linear-gradient(0deg,#101827 0%,transparent 50%),image-set(url('assets/hero-800.webp') type('image/webp'),url('assets/hero-800.jpg') type('image/jpeg'))}}
.hero h1 em{color:var(--ice)}.hero .eyebrow i{background:var(--silver)}
.button{background:var(--accent);color:#fff}.button:hover{background:#25258a}
.hero .button{background:#dce4ff;color:#080867}.hero .button:hover{background:white}
.strap{background:var(--accent);color:#fff}.strap .asterisk{color:var(--silver)}
.work{background:#101827}.work .project-meta,.work .project-grid summary span{color:var(--ice)}
.filters button.active{background:#dce4ff;color:#080867;border-color:#dce4ff}
.about-mark{background:white;letter-spacing:0;display:flex;align-items:center;justify-content:center}.about-mark img{width:100%;height:auto;display:block}
.states span{color:#707b91}
.contact{background:#080867;color:white}.contact h2 em{color:#b8becd}.contact-bottom{border-color:#ffffff45}.contact .dark{background:#fff;color:#080867}.contact .dark:hover{background:#dce4ff}
footer{background:#101827}footer .brand{width:140px}footer .brand img{height:72px}
@media(max-width:800px){.brand{width:125px}.brand img{height:66px}#menu{color:var(--accent);border-color:#a8adc0}nav{background:white}.nav-cta{margin-right:18px}.nav-cta span{margin-left:14px}}
/* Original supplied logo: preserve its proportions at every size. */
header{height:112px}.brand{width:200px}.brand img{height:98px;object-fit:contain}.hero{height:calc(100vh - 112px)}.about-mark{aspect-ratio:1.65;padding:16px}.about-mark img{max-width:100%;height:auto}footer .brand{width:170px}footer .brand img{height:89px}
@media(max-width:800px){header{height:88px}.brand{width:140px}.brand img{height:76px}nav{top:88px}.hero{height:auto}.about-mark{display:none}}
@media(max-width:390px){header{padding-left:4%;padding-right:4%}.brand{width:125px}.nav-cta{margin-right:12px}.nav-cta span{margin-left:6px}}
/* Contact form, with delivery intentionally pending launch configuration. */
.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:7%;border-top:1px solid #ffffff45;padding-top:40px}.contact-information>p{line-height:1.7;max-width:320px;color:#dce0f2}.contact-information address{font-style:normal;line-height:1.8;margin-top:35px;font-size:14px}.contact-information address a{display:inline-block;border-bottom:1px solid #b8becd;margin-top:14px}.contact-form{background:#f1f3f6;color:#101827;padding:35px}.contact-form h3{font-size:30px}.form-notice{background:#e1e6f0;border-left:3px solid #080867;padding:15px;font-size:12px;line-height:1.7}.required-note{font-size:11px;color:#536075;margin:20px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.field{display:flex;flex-direction:column;gap:9px;min-width:0}.field.wide{grid-column:1/-1}.field label{font-size:12px;font-weight:bold}.field input,.field select,.field textarea{width:100%;border:1px solid #a2aab8;border-radius:0;background:white;color:#101827;padding:14px;font:14px Arial,Helvetica,sans-serif;min-height:48px}.field textarea{resize:vertical;line-height:1.6}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #080867;outline-offset:2px}.contact .form-submit{background:#080867;color:white;border:0;margin-top:25px;cursor:pointer}.contact .form-submit:hover{background:#25258a}#contact-status{font-size:13px;line-height:1.7;margin:18px 0 0}#contact-status:not(:empty){border:1px solid #a2aab8;padding:14px;background:white}#contact-status:focus{outline:2px solid #080867;outline-offset:3px}@media(max-width:800px){.contact-layout{grid-template-columns:1fr;gap:35px}.contact-form{padding:25px}.contact-information address{margin-top:25px}}@media(max-width:480px){.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.contact-form{padding:22px 18px}.contact-form h3{font-size:26px}}
/* Selected archival photography, kept in its original colors. */
.hero-photo{background-position:center,center,62% center;filter:none}.project-photo{display:block;overflow:hidden}.project-grid img{display:block;filter:none;object-position:center}.project-grid article:hover img{filter:none}.project-grid article:nth-child(2) img{object-position:center 48%}.project-photo:focus-visible{outline:3px solid #b5c6ff;outline-offset:5px}
/* Transparent logo blends into its surrounding surface. */
.brand img{background:transparent}.about-mark{background:transparent;border:0}.about-mark img{background:transparent}footer .brand img{filter:brightness(0) invert(1);opacity:.92}

/* Project gallery and qualifications retain the single-page editorial layout. */
.gallery-paging{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:30px;padding-top:22px;border-top:1px solid #ffffff30}.gallery-paging[hidden]{display:none}.gallery-paging button{background:transparent;border:1px solid #667589;color:#edf0f7;padding:12px 18px;font-size:12px}.gallery-paging button:hover:not(:disabled){background:#dce4ff;color:#080867}.gallery-paging button:disabled{opacity:.35;cursor:default}.gallery-paging p{margin:0;color:#bbc6d6;font:11px 'Courier New',monospace}.qualifications{background:#e6eaf0}.qualification{border-top:1px solid #aeb7c6}.qualification:last-child{border-bottom:1px solid #aeb7c6}.qualification summary{display:grid;grid-template-columns:110px 1fr 25px;gap:25px;align-items:center;padding:26px 0}.qualification h3{font-size:clamp(21px,2.4vw,32px);margin:0}.qualification-year{font:12px 'Courier New',monospace;color:#536075}.qualification-plus{font-size:25px;color:#080867}.qualification[open] .qualification-plus{transform:rotate(45deg)}.qualification-scope{padding:0 50px 24px 135px;max-width:1000px}.qualification-scope p{font-size:15px;line-height:1.85;color:#46556a;margin:0}nav{gap:25px}@media(max-width:800px){.qualification summary{grid-template-columns:1fr 25px;gap:12px}.qualification-year{grid-column:1/-1}.qualification-scope{padding:0 0 24px}.gallery-paging{gap:8px}.gallery-paging button{padding:11px}.gallery-paging p{font-size:10px;text-align:center}}

/* Contact form: honeypot (kept off-screen, not display:none) and Turnstile */
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.cf-turnstile{margin:18px 0 1rem;min-height:65px;}
.form-submit:disabled{opacity:.6;cursor:wait;}
#contact-status.is-error{color:#b42318;}
/* Responsive image wrappers (performance update): picture boxes act like the images they wrap. */
picture{display:contents}
