/* A1A: white surfaces, clear contrast, navy and gold identity. */
:root{--ink:#132c3c;--navy:#0b2232;--navy-light:#173548;--paper:#f4f6f7;--white:#ffffff;--gold:#c9a368;--muted:#53616b;--line:#dce3e6}
body{background:var(--paper)}
.topline{color:#d1dde2}.desktop-nav>a{color:#e1e9ed}.site-header{background:var(--navy)}
.button.gold{color:#102737;background:#d3b27d;border-color:#d3b27d}.button.gold:hover{background:#e2c697;border-color:#e2c697}
.section:not(.process-section) em,.page-intro em,.cta em{color:#865e25}
.cta{background:#e8eef0}.footer-about{color:#c3d0d7}.site-footer{color:#d0dce2}
.quote-panel,.hero--panorama .quote-panel{background:#fff;color:var(--ink);border:1px solid #dce3e6;backdrop-filter:none;box-shadow:0 16px 45px #05172724}
.quote-panel .quote-heading h2{color:var(--ink)}.quote-panel .quote-heading .eyebrow{color:#805b24}
.quote-panel .quote-heading p,.quote-panel .quote-alternative{color:#465965}
.quote-panel .quote-alternative a{color:#70501e;border-color:#b9955e}
.quote-panel .quote-iframe{background:#fff;color-scheme:light}
.hero--panorama:before{background:linear-gradient(90deg,rgba(5,20,30,.76) 0%,rgba(5,20,30,.38) 45%,rgba(5,20,30,.12) 75%,rgba(5,20,30,.16))}
.hero--panorama .hero-copy{padding-bottom:12px}.hero--panorama .hero-copy .eyebrow{color:#eed4a6}.hero--panorama .hero-copy h1 em{color:#eed4a6}
.hero--panorama .hero-picture{display:flex;flex-direction:column;min-width:0;min-height:850px}
.hero-van{margin:35px -8px 95px;position:relative;max-width:710px}
.hero-van img{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 16px 12px #0004)}
.showcase-grid{grid-template-columns:1fr 1fr;gap:30px}.showcase-grid figure:last-child{padding-top:0}
.showcase-grid figure:first-child img,.showcase-grid figure:last-child img{height:100%;object-fit:cover}
.showcase-grid .project-tile{display:block;aspect-ratio:1.056;overflow:hidden;position:relative}
.showcase-grid figcaption{gap:12px;line-height:1.6}
.photo--screenshot{position:relative;overflow:hidden;aspect-ratio:1.056;background:#ebeeee}
.photo--screenshot img,.showcase-grid .photo--screenshot img{position:absolute;left:0;top:-20.46%;width:100%;height:140.85%!important;object-fit:fill!important;transform:none!important}
.gallery-grid .project-tile button{width:100%;aspect-ratio:1.056;overflow:hidden;position:relative}
.gallery-grid .project-tile img{height:100%;object-fit:cover}
.gallery-grid .project-tile button.photo--screenshot img{height:140.85%!important}
.project-tile .tag{z-index:2}.gallery-controls{flex-wrap:wrap}.filter-tabs{flex-wrap:wrap}
.progress-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:30px}
.progress-card{margin:0;min-width:0}.progress-card a{display:block;height:400px;overflow:hidden}
.progress-card img{object-fit:cover;object-position:center}.progress-card:nth-child(2) img{object-position:center 65%}
.progress-card figcaption{padding-top:19px}.progress-card .eyebrow{color:#805b24;margin-bottom:8px}.progress-card h3{font-size:27px}.progress-card p{font-size:13px;color:var(--muted);margin-top:10px;max-width:470px}
.lightbox-media{display:flex;justify-content:center;align-items:center;min-height:0}
.lightbox-media.photo--screenshot{display:block;width:min(90vw,calc(66vh * 1.056));height:auto;aspect-ratio:1.056;margin:16px auto}
.lightbox-media.photo--screenshot img{padding:0;width:100%;height:140.85%!important}
@media(max-width:950px){.hero--panorama .hero-picture{min-height:900px}.hero-van{margin-top:40px}.progress-card a{height:340px}}
@media(max-width:700px){.hero--panorama .hero-picture{min-height:780px;overflow:hidden}.hero--panorama .hero-backdrop,.hero--panorama:before{height:780px}.hero--panorama:before{background:linear-gradient(180deg,#061925b8,#06192550 65%,#061925b0)}.hero--panorama .hero-copy h1{font-size:clamp(48px,12vw,64px)}.hero--panorama .hero-copy{padding:40px 24px 10px}.hero--panorama .hero-copy p{font-size:14px;line-height:1.8}.hero-van{margin:26px 16px 90px;max-width:100%}.hero--panorama .quote-panel{padding:30px 7px 20px;border:0}.showcase-grid,.progress-grid{grid-template-columns:1fr;gap:30px}.showcase-grid figcaption{font-size:11px}.progress-card a{height:320px}.progress-card:nth-child(2) a{height:400px}.lightbox-media.photo--screenshot{width:90vw}.quote-panel .quote-alternative{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero-van img{transition:none}}
