/* ===== Global site header — single source of truth =====
   Markup: _inc/header.php · Behaviour: assets/js/header.js
   Themes via <body data-route>: default = transparent (over hero),
   "portfolio"/"interior" = light bar over light content. */

.header{position:fixed;top:0;left:0;right:0;z-index:100;padding:24px 48px;background:transparent;transition:padding .3s,background .3s,backdrop-filter .3s}
.header.scrolled{padding:14px 48px;background:rgba(15,26,34,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.header-inner{max-width:1500px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}
.brand{display:inline-flex;align-items:center;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .3s ease}
.brand:hover{opacity:1;transform:scale(1.06)}
.brand-logo{height:78px;width:auto;display:block;transition:height .3s}
.header.scrolled .brand-logo{height:56px}
.nav{display:flex;gap:36px;font-size:17px;font-weight:400}
.nav a{color:#fff;opacity:.78;transition:opacity .2s}
.nav a:hover{opacity:1}
.nav-cta{display:inline-flex;align-items:center;padding:11px 22px;font-size:14px;font-weight:600;letter-spacing:.04em;background:#fff;color:var(--ink);border:0;border-radius:3px;transition:background .25s,transform .25s,box-shadow .25s;box-shadow:0 4px 16px rgba(0,0,0,.15)}
.nav-cta:hover{background:var(--cream);transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.25)}

/* mobile icon-bar items (hidden on desktop) */
.mbar{display:none}
.mbar-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:1;min-height:60px;padding:8px 4px;background:transparent;border:0;cursor:pointer;text-decoration:none}
.mbar-item span{font-family:var(--body);font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff;opacity:.9}
.mbar-item svg{width:21px;height:21px;color:#fff}
.mbar-item:active{background:rgba(255,255,255,.08)}
.mbar-burger{display:flex;flex-direction:column;justify-content:space-between;width:22px;height:15px}
.mbar-burger i{display:block;width:100%;height:2px;background:#fff;border-radius:2px;transition:transform .3s ease,opacity .25s ease}
.header.nav-open .mbar-burger i:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.header.nav-open .mbar-burger i:nth-child(2){opacity:0}
.header.nav-open .mbar-burger i:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* light interior header (portfolio + legal pages) */
body[data-route="portfolio"] .header,body[data-route="interior"] .header{background:rgba(245,242,235,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--ink-line)}
body[data-route="interior"] .header{position:sticky}
body[data-route="portfolio"] .brand-logo,body[data-route="interior"] .brand-logo{filter:brightness(0);height:56px}
body[data-route="portfolio"] .header.scrolled .brand-logo,body[data-route="interior"] .header.scrolled .brand-logo{height:46px}
body[data-route="portfolio"] .nav a,body[data-route="interior"] .nav a{color:var(--ink)}
body[data-route="portfolio"] .nav-cta,body[data-route="interior"] .nav-cta{color:var(--ink);border-color:var(--ink)}
body[data-route="portfolio"] .nav-cta:hover,body[data-route="interior"] .nav-cta:hover{background:var(--ink);color:var(--cream)}

@media (max-width:960px){
  .header{padding:14px 24px}
  .brand-logo{height:48px}
  .header.scrolled .brand-logo{height:42px}
  .nav{gap:18px;font-size:14px}
  .nav-cta{padding:10px 16px;font-size:13px}
}
@media (max-width:560px){
  .header,.header.scrolled{padding:0;background:var(--ink);backdrop-filter:none;border-bottom:0}
  .header-inner{max-width:none;align-items:stretch;min-height:60px}
  .brand{flex:0 0 auto;padding:0 10px 0 18px}
  .brand-logo,.header.scrolled .brand-logo,body[data-route="portfolio"] .brand-logo,body[data-route="interior"] .brand-logo{height:36px;width:auto;max-width:none;filter:brightness(0) invert(1)}
  .nav-cta{display:none}
  .mbar{display:flex;flex:1;justify-content:flex-end;padding-right:6px}
  .mbar-item{flex:0 0 auto;min-width:auto;padding:8px 16px;position:relative}
  .mbar-item + .mbar-item::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:30px;background:rgba(255,255,255,.22)}
  .nav{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:6px 20px 14px;background:var(--ink);border-top:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity .25s ease,transform .25s ease,visibility .25s}
  .header.nav-open .nav{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
  .nav a{display:block;padding:14px 2px;font-size:16px;color:#fff;opacity:.92;border-bottom:1px solid rgba(255,255,255,.1)}
  .nav a:last-child{border-bottom:0}
}
