.header-logo { width: 82px; height: 78px; object-fit: contain; }
.site-header { min-height: 104px; }
.site-header .brand { min-width: 86px; position: relative; z-index: 32; }
.site-nav a[aria-current="page"]::after { width: 100%; }
.lang { cursor: pointer; padding: 10px 0; }
.lang::after { content: ''; display: block; width: 100%; height: 1px; margin-top: 6px; background: currentColor; opacity: .35; transform: scaleX(.45); transition: transform .25s ease, opacity .25s ease; }
.lang:hover::after { opacity: .8; transform: scaleX(1); }
.menu-toggle { position: relative; z-index: 32; min-width: 78px; min-height: 42px; cursor: pointer; }
.motion-image { animation: cinematicIn 1.4s cubic-bezier(.2,.7,.2,1) both; }
@keyframes cinematicIn { from { opacity: .7; transform: scale(1.035); } to { opacity: 1; transform: scale(1); } }
.reveal { transition-delay: var(--reveal-delay, 0ms); }
.button, .footer-cta a { transition: background-color .3s ease, color .3s ease, transform .3s ease; }
.button:hover { background: var(--ink); color: var(--paper); transform: translateY(-2px); }
.hero .button:hover, .contact .button:hover { background: var(--paper); color: var(--ink); }
.project-tile .tile-copy { transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.project-tile:hover .tile-copy { transform: translateY(-8px); }
.project-tile::after { transition: background .45s ease; }
.project-tile:hover::after { background: linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.06) 68%); }
.project-tile.is-static { cursor: default; }
.project-tile.is-static:hover img { transform: none; }
.project-tile.is-static:hover .tile-copy { transform: none; }
.contact-details p { display: none; }
.section:not(.editorial-section), .reason-grid, .reference-story { content-visibility: auto; contain-intrinsic-size: 1px 800px; }

.premium-footer { background: #1d211d; color: #f2efe8; padding: 72px 5vw 28px; display: block; font-size: 12px; letter-spacing: .04em; }
.footer-top { display: grid; grid-template-columns: .7fr 1fr 1.25fr; gap: 7vw; align-items: center; padding-bottom: 65px; }
.footer-logo img { width: 122px; height: 112px; object-fit: contain; }
.footer-manifesto { margin: 0; font: 27px/1.35 var(--serif); letter-spacing: 0; }
.footer-cta { justify-self: end; width: min(100%, 380px); }
.footer-cta span { display: block; margin-bottom: 20px; color: rgba(255,255,255,.58); }
.footer-cta a { display: flex; align-items: center; justify-content: space-between; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.35); border-bottom: 1px solid rgba(255,255,255,.35); text-transform: uppercase; letter-spacing: .16em; font-size: 10px; }
.footer-cta b { font-size: 19px; font-weight: 300; }
.footer-middle { display: flex; justify-content: space-between; gap: 40px; padding: 27px 0; border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }
.footer-middle nav { display: flex; flex-wrap: wrap; gap: 24px; text-transform: uppercase; letter-spacing: .12em; font-size: 9px; }
.footer-mail { font-size: 11px; }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 28px; color: rgba(255,255,255,.52); text-transform: uppercase; letter-spacing: .16em; font-size: 9px; }

.brand-grid-wrap { margin: 70px 0 0; background: transparent; overflow: visible; }
.brand-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.brand-card { position: relative; min-height: 250px; padding: 25px; overflow: hidden; background: #e8e2d7; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; align-items: center; justify-content: center; transition: background .35s ease, transform .35s ease; }
.brand-card:hover { background: #ded5c7; z-index: 1; transform: translateY(-4px); }
.brand-card>span { position: absolute; left: 18px; top: 16px; font-size: 9px; letter-spacing: .18em; opacity: .5; }
.brand-card img { width: min(100%, 250px) !important; height: 120px !important; object-fit: cover; object-position: center; mix-blend-mode: multiply; }
.brand-card:nth-child(2) img { object-position: 47% center; }
.brand-card:nth-child(5) img { object-position: 49% center; }
.brand-card:nth-child(6) img { object-position: 48% center; }
.brand-card:nth-child(7) img { object-position: 52% center; }
.brand-card:nth-child(8) img { object-position: 49% center; }
.brand-card p { margin: 16px 0 0; font-size: 9px; text-transform: uppercase; letter-spacing: .16em; opacity: .66; text-align: center; }
.reference-image-wrap.brand-grid-wrap { margin: 0 7vw 110px; }
.contact { background-image: linear-gradient(120deg,rgba(20,18,14,.92),rgba(31,31,25,.78)), url('assets/hero.webp'); }

@media(max-width:1100px){.site-nav{gap:20px;font-size:10px}.footer-top{grid-template-columns:.6fr 1fr 1fr;gap:4vw}}
@media(max-width:900px){
  body.menu-open{overflow:hidden}
  .header-logo{width:66px;height:62px}.site-header{min-height:88px;padding:14px 20px}
  .site-nav{display:flex;visibility:hidden;opacity:0;pointer-events:none;position:fixed;inset:0;z-index:30;padding:118px 28px 36px;background:#1d211d;color:#f2efe8;gap:0;transform:translateY(-12px);transition:opacity .28s ease,transform .28s ease,visibility .28s;align-items:stretch}
  .site-nav.open{visibility:visible;opacity:1;pointer-events:auto;transform:none}
  .site-nav a{width:100%;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.14);font:30px/1.05 var(--serif);letter-spacing:0;text-transform:none}
  .site-nav a::after{display:none}.site-nav .lang{margin-top:auto;padding:18px 0;text-align:left}
  .menu-toggle.active{position:fixed;right:20px;top:23px;color:#fff;border-color:rgba(255,255,255,.45)}
  body.menu-open .site-header .brand{position:fixed;left:20px;top:13px}
  body.menu-open .header-logo{filter:brightness(0) invert(1)}
  .footer-top{grid-template-columns:1fr;gap:38px}.footer-cta{justify-self:start}.footer-middle{flex-direction:column}.brand-grid{grid-template-columns:repeat(2,1fr)}.reference-image-wrap.brand-grid-wrap{margin:0 24px 80px}
  .project-tile:hover .tile-copy{transform:none}
}
@media(max-width:520px){
  .premium-footer{padding:52px 20px 24px}.footer-logo img{width:98px;height:90px}.footer-top{padding-bottom:42px}.footer-manifesto{font-size:22px}.footer-middle nav{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.footer-middle nav a{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.12)}.footer-bottom{flex-direction:column;gap:14px}.brand-card{min-height:170px;padding:14px}.brand-card img{width:min(100%,210px)!important;height:92px!important}.brand-card p{font-size:7px;line-height:1.4}.brand-grid-wrap{margin-top:45px}.reference-image-wrap.brand-grid-wrap{margin-left:16px;margin-right:16px}
}
@media (hover:none){.brand-card:hover{transform:none}.button:hover{transform:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-image{animation:none}.reveal{opacity:1!important;transform:none!important;transition:none!important}.project-tile img,.project-tile .tile-copy,.brand-card,.button{transition:none!important}}
