.logo img{display:block;width:120px;height:48px;object-fit:contain}
.header-actions a.icon-button{display:inline-flex;align-items:center;justify-content:center}
[data-nav-hint]{position:relative}
[data-nav-hint]::after{content:attr(data-nav-hint);position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);white-space:nowrap;background:#fff;border:1px solid #ddd;padding:10px 14px;color:#111;font-size:12px;opacity:0;pointer-events:none;box-shadow:0 4px 12px #0001}
[data-nav-hint]:hover::after,[data-nav-hint]:focus-visible::after{opacity:1}
.desktop-nav a{position:relative}
.desktop-nav a::after{content:'';position:absolute;bottom:-10px;left:0;right:0;height:2px;background:currentColor;transform:scaleX(0);transition:transform .15s}
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after{transform:scaleX(1)}
.back-to-top{position:fixed;right:20px;bottom:24px;z-index:80;background:#fff;border:1px solid #222;border-radius:50%;width:56px;height:56px;cursor:pointer;font-size:11px;box-shadow:0 2px 8px #0001}
@media(max-width:760px){.header-actions a.desktop-only{display:none}.logo img{width:100px;height:40px}.back-to-top{right:14px;bottom:20px;width:48px;height:48px}}

/* Keep the two brand-story columns aligned without stretching either image. */
@media(min-width:761px){.brand-grid{align-items:stretch}.brand-copy{display:flex;flex-direction:column;align-items:flex-start}.brand-copy .brand-sub-image{margin-top:auto}.brand-main-image{height:100%;object-fit:cover}}
@media(max-width:760px){.brand-main-image,.brand-sub-image{height:auto;object-fit:contain}}
