/* Persistent, accessible appearance control. */
.floating-theme{position:fixed;right:24px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:90;display:flex;align-items:end;gap:10px}.floating-theme button{cursor:pointer;color:var(--ink);background:color-mix(in srgb,var(--paper) 88%,transparent);border:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 6px 22px #0002}.floating-theme #theme-toggle{width:40px;height:40px;border-radius:50%;display:grid;place-items:center}.floating-theme #theme-choices{padding:6px;border:1px solid var(--line);background:var(--paper);box-shadow:0 8px 30px #0002;border-radius:10px;display:flex;gap:4px}.floating-theme #theme-choices button{padding:11px 13px;border:0;box-shadow:none;border-radius:6px;font:12px Arial,sans-serif}.floating-theme #theme-choices button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.floating-theme button:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
/* The brand rail is full-width; logos stay compact, independent and readable. */
.logo-marquee{margin:35px 0 65px;padding:28px 0 20px;border-block:1px solid var(--line);background:linear-gradient(105deg,#ff6b2c0a,transparent 40%),var(--surface);overflow:hidden}.rail-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.rail-heading h2{font-size:25px;letter-spacing:-.035em;margin:9px 0 0}.rail-heading .eyebrow{font-size:9px}.rail-heading button{cursor:pointer;border:1px solid var(--line);border-radius:20px;background:var(--glass);color:var(--ink);padding:8px 12px;font:11px Arial,sans-serif;white-space:nowrap}.logo-viewport{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}.logo-track{display:flex;width:max-content;animation:logo-travel 28s linear infinite}.logo-track-group{display:flex;flex-shrink:0;gap:20px;padding-right:20px}.logo-slot{width:220px;height:86px;flex-shrink:0;display:grid;place-items:center}.logo-slot img{width:210px;height:77px;object-fit:contain}.second-rail{display:none}.rail-note{font-size:9px;color:var(--muted);margin-top:16px}.logo-marquee.paused .logo-track,.logo-marquee:hover .logo-track,.logo-marquee:focus-within .logo-track{animation-play-state:paused}html[data-theme=dark] .logo-marquee{background:radial-gradient(ellipse at 15% 0,#ff6b2c1e,transparent 65%),#25272b;border-color:#ffffff20}html[data-theme=dark] .logo-slot img{filter:brightness(0) invert(.94)}@keyframes logo-travel{to{transform:translateX(-50%)}}
/* Each added service is a proper option with the same hit area. */
.service-content>div{display:flex;flex-wrap:wrap;gap:10px}.service-content .service-chip{display:inline-flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:12px 16px;border:1px solid #ffffff45;font-size:13px;line-height:1.5}
/* 4:3 thumbnails are dedicated assets. Detail artwork retains its own proportions. */
.project .project-image,.related-work .project-image{aspect-ratio:4/3!important;height:auto!important;max-height:none!important;overflow:hidden}.project .project-image img,.related-work .project-image img{width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important}.related-work .project-grid.related-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.related-work .project-image{max-height:none!important}.project-grid.is-list .project-image{width:100%!important;aspect-ratio:4/3!important;height:auto!important}.project-caption{min-width:0}
/* White button labels, with a darker interaction orange for readable contrast. */
.contact-link,html[data-theme=dark] .contact-link{color:#fff!important;font-weight:700!important;background:#c8490c!important}.contact-link:hover,html[data-theme=dark] .contact-link:hover{background:#a83c08!important;color:#fff!important}.button:hover,html[data-theme=dark] .button:hover,.service-chip:hover,html[data-theme=dark] .service-content .service-chip:hover{background:#b94309!important;color:#fff!important}.button,.service-chip{transition:background .18s,color .18s}.cta-glass .button:hover{background:#333!important;color:#fff!important}
/* Leadership is visible early, framed as a coherent board. */
.leadership-board{padding:10px 0 50px}.board-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:12px 35px;margin-bottom:25px}.board-heading .eyebrow{grid-column:1/-1}.board-heading h2{font-size:32px;letter-spacing:-.035em;margin:0}.board-heading p{font-size:14px;line-height:1.7;margin:0;justify-self:end;color:var(--subtle)}.board-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.board-member{display:block;padding:15px;background:var(--glass);border:1px solid var(--line);border-radius:10px}.board-member img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:5px;margin-bottom:20px}.board-member>span{font-size:10px;color:var(--muted);display:block}.board-member h3{font-size:25px;letter-spacing:-.04em;margin:10px 0 18px}.board-member>small{display:block;font-size:11px;border-top:1px solid var(--line);padding-top:14px}.leadership-board>.editor-note{font-size:10px;margin-top:18px}.about-story{padding-top:35px}.about-intro{padding-bottom:35px}
@media(max-width:1000px){.board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.logo-slot{width:190px}.logo-slot img{width:185px}.board-heading{display:block}.board-heading h2{margin:14px 0}.board-heading p{margin-bottom:20px}}
@media(max-width:700px){.theme-control{display:none!important}.floating-theme{right:18px;bottom:calc(72px + env(safe-area-inset-bottom,0px))}.floating-theme #theme-toggle{width:40px;height:40px}.floating-theme #theme-choices button{min-height:44px;padding:10px 12px}.logo-marquee{margin:25px 0 42px;padding:22px 0 16px}.rail-heading{margin-bottom:14px;gap:12px}.rail-heading h2{font-size:22px;max-width:250px;line-height:1.2}.rail-heading .eyebrow{font-size:8px}.rail-heading button span{display:none}.logo-slot{width:155px;height:66px}.logo-slot img{width:150px;height:55px}.logo-track-group{gap:12px;padding-right:12px}.second-rail{display:block;margin-top:6px}.second-rail .logo-track{animation-direction:reverse;animation-duration:33s}.rail-note{font-size:8px;line-height:1.6;margin-top:12px}.service-content>div{display:grid;grid-template-columns:1fr}.service-content .service-chip{width:100%;font-size:13px;padding:12px 14px}.board-heading h2{font-size:28px}.board-heading p{font-size:13px}.board-grid{gap:14px}.board-member{padding:12px}.board-member h3{font-size:21px}.board-member>span{font-size:9px;line-height:1.5}.board-member img{margin-bottom:16px}.related-work .project-grid.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:28px 22px}.footer-main>.footer-brand{display:block;text-align:center;grid-column:1/-1;justify-self:stretch;border-bottom:1px solid var(--line);padding-bottom:25px}.footer-brand>a:first-child{display:inline-block}.footer-main>.footer-column:nth-child(2),.footer-main>.footer-column:nth-child(3){justify-self:stretch;text-align:left;align-items:start}.footer-main>.footer-column:last-child{align-items:center;text-align:center;justify-self:stretch;padding-top:25px}.footer-column h2{font-size:10px}.footer-column a{font-size:13px;line-height:1.5}.footer-legal{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:17px;padding-bottom:12px}.footer-legal>span:first-child,.footer-legal>span:last-child{display:block!important;max-width:none;justify-self:auto;text-align:center}.footer-legal nav{justify-content:center;flex-wrap:wrap;gap:18px;order:1}.footer-legal>span:first-child{order:2}.footer-legal>span:last-child{order:3;font-size:11px}.footer-v5{padding-top:35px}.footer-main .footer-brand p{font-size:14px;margin:15px 0}}
@media(prefers-reduced-motion:reduce){.logo-track{animation:none!important}}
