/* Approved logo and company-name header */
nav { z-index:700; background:rgba(12,12,12,.82); backdrop-filter:blur(14px); padding:20px 48px; gap:24px; }
[data-theme="light"] nav { background:rgba(247,243,237,.94); }
nav.scrolled { padding:18px 48px; }
.nav-logo { display:flex; align-items:center; gap:14px; flex-shrink:0; font-size:21px; line-height:1.2; white-space:nowrap; }
.nav-logo .brand-name { color:var(--txt); }
.brand-mark { width:74px; height:42px; object-fit:contain; display:block; }
.nav-links { gap:26px; }
@media(max-width:1100px) {
 .nav-links { display:none!important; }
 .hamburger { display:flex!important; }
 .mobile-menu { display:flex; }
 .tog { margin-left:auto; }
}
@media(max-width:768px) {
 nav { padding:18px 20px; gap:12px; }
 nav.scrolled { padding:14px 20px; }
 .nav-logo { font-size:18px; gap:10px; }
 .brand-mark { width:58px; height:34px; }
}
@media(max-width:360px) {
 nav,nav.scrolled { padding-left:14px; padding-right:14px; gap:8px; }
 .nav-logo { font-size:16px; gap:8px; }
 .brand-mark { width:44px; height:30px; }
 .tog-icon { display:none; }
}

/* Libre Baskerville + Source Sans 3 design typography */
body { font-weight:400; }
.nav-logo, .ft-brand { font-family:"Playfair Display",serif; }
.hero-h1 { font-size:clamp(42px,7.2vw,106px); line-height:1.12; }
.page-h1 { line-height:1.15; }
.h2 { line-height:1.2; }
