/* The homepage header, shared by every content page. */
.trepo-header { position:sticky; top:0; z-index:100; width:100%; margin:0; padding:0; border:0; background:#fff; color:#1a433c; font:400 16px/1.4 Roboto,Arial,sans-serif; }
.trepo-header *, .trepo-header *::before, .trepo-header *::after { box-sizing:border-box; }
.trepo-header > .home-nav { position:relative; top:auto; display:flex; align-items:center; justify-content:space-between; gap:28px; width:100%; max-width:var(--site-width,1760px); min-height:0; margin:0 auto; padding:22px var(--page-gutter,clamp(20px,4vw,80px)); border:0; border-radius:0; background:#fff; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
.trepo-header > .home-nav::after { content:''; position:absolute; bottom:0; left:var(--page-gutter,clamp(20px,4vw,80px)); right:var(--page-gutter,clamp(20px,4vw,80px)); height:1px; background:#1a433c20; pointer-events:none; }
.trepo-header a { color:inherit; text-decoration:none; }
.trepo-header a:focus-visible { outline:2px solid #57bedb; outline-offset:5px; }
.trepo-header .home-nav > a { display:flex; flex:0 0 auto; align-items:center; padding:0; border:0; line-height:0; }
.trepo-header .brand-art { display:block; width:180px; aspect-ratio:1176/264; background:#1a433c; mask:url('/assets/trepo-wordmark.png') center/contain no-repeat; -webkit-mask:url('/assets/trepo-wordmark.png') center/contain no-repeat; }
.trepo-header .brand-art img { display:block; width:100%!important; height:auto; max-width:100%; opacity:0; }
.trepo-header .home-menu { display:flex; align-items:center; gap:4px; margin:0 0 0 auto; }
.trepo-header .home-menu > a { padding:13px 18px; border:0; font-size:clamp(15px,.8rem + .22vw,19px); font-weight:400; line-height:1.4; color:#1a433cb5; }
.trepo-header .home-menu > a:hover { border:0; }
.trepo-header .home-actions { display:flex; align-items:center; gap:14px; margin:0; }
.trepo-header .home-buy-slot { flex-shrink:0; }
.trepo-header .btn { font:600 17px/1.4 Roboto,Arial,sans-serif; letter-spacing:normal; text-decoration:none; text-align:center; border:0; box-shadow:none; }
.trepo-header .home-buy-size { display:block; padding:15px 25px; background:transparent; }
.trepo-header .home-buy { padding:0; color:#1a433c; background:#f8d849; }
.trepo-header .home-buy:active { background:#f8d849; color:#1a433c; }
/* Product checkout has no expanding preview or measured label height. */
.simple-purchase.product-page .trepo-header .home-buy { display:flex; align-items:center; justify-content:center; }
.simple-purchase.product-page .trepo-header .home-buy-label { height:auto; }
.trepo-header .shop-preview { right:calc(var(--page-gutter,20px) - 24px); }
.trepo-header .home-mobile-menu { display:none; position:static; margin:0; padding:0; border:0; background:transparent; }
.trepo-header .home-mobile-menu summary { display:flex; align-items:center; justify-content:center; gap:6px; width:auto; min-width:44px; height:44px; margin:0; padding:8px; border:0; border-radius:999px; background:transparent; cursor:pointer; list-style:none; font:400 14px/1.4 Roboto,Arial,sans-serif; }
.trepo-header .home-mobile-menu summary::after, .trepo-header .home-mobile-menu summary::-webkit-details-marker { display:none; }
.trepo-header .home-mobile-menu .mobile-menu-label { font-size:14px; transform:none; }
.trepo-header .home-mobile-menu .mobile-menu-symbol { display:inline-block; font-size:22px; line-height:1; transition:transform 320ms cubic-bezier(.22,1,.36,1); }
.trepo-header .home-mobile-menu.menu-expanded summary { background:#f0f4f1; }
.trepo-header .home-mobile-menu.menu-expanded .mobile-menu-symbol { transform:rotate(45deg); }
.trepo-header .mobile-menu-panel { position:absolute; inset:calc(100% + 4px) var(--page-gutter,20px) auto; z-index:30; min-width:0; max-height:calc(100dvh - var(--mobile-menu-top,100px) - 20px); overflow-y:auto; overscroll-behavior-y:contain; margin:0; padding:12px; border:1px solid #fff; border-radius:26px; background:linear-gradient(145deg,#fffffff9,#f8fbf9f7); backdrop-filter:blur(24px) saturate(1.25); -webkit-backdrop-filter:blur(24px) saturate(1.25); box-shadow:0 20px 50px #1a433c21,0 3px 10px #1a433c08,inset 0 1px 0 #fff; transform-origin:50% 0; }
.trepo-header .mobile-menu-panel a { display:flex; align-items:center; min-height:52px; margin:0; padding:14px 18px; border:0; border-radius:16px; color:#1a433c; font:400 18px/1.3 Roboto,Arial,sans-serif; text-decoration:none; }
.trepo-header .mobile-menu-panel a:hover, .trepo-header .mobile-menu-panel a:active { background:#1a433c0a; }
@media (min-width:801px) and (max-width:1100px) {
 .trepo-header > .home-nav { gap:20px; }
 .trepo-header .brand-art { width:150px; }
 .trepo-header .home-menu > a { padding:12px 10px; font-size:15px; }
 .trepo-header .home-buy-size { font-size:15px; padding:13px 20px; }
 .trepo-header .home-buy { font-size:15px; }
}
@media (max-width:800px) {
 .trepo-header > .home-nav { gap:10px; padding-block:16px; }
 .trepo-header .brand-art { width:clamp(90px,27vw,124px); }
 .trepo-header .home-menu { display:none; }
 .trepo-header .home-actions { margin-left:auto; gap:4px; }
 .trepo-header .home-mobile-menu { display:block; }
 .trepo-header .home-buy-size { display:none; }
 .trepo-header .home-buy { position:relative; display:inline-flex; width:auto; height:auto; padding:13px 14px; min-height:44px; border-radius:999px; font-size:13px; }
 .trepo-header .home-buy-label { height:auto; }
}
@media (max-width:360px) {
 .trepo-header .mobile-menu-label { display:none; }
 .trepo-header > .home-nav { gap:6px; }
 .trepo-header .home-buy { font-size:12px; padding-inline:12px; }
}
@media (prefers-reduced-motion:reduce) {
 .trepo-header .home-mobile-menu .mobile-menu-symbol { transition:none; }
}

/* The teaser previously put its gutters on body; the common header owns its own. */
body.coming-soon-page { padding-top:0; }
.coming-soon-page .trepo-header { width:calc(100% + 48px); margin-inline:-24px; }
@media(max-width:700px){.coming-soon-page .trepo-header { width:calc(100% + 32px); margin-inline:-16px; }}
