/* Branding and navigation, shared by every published page. */
.site-header .wrap{width:min(1160px,calc(100% - 48px));max-width:1160px}
.site-header .header-inner{display:flex;align-items:center;gap:18px;min-height:88px}
.site-header .brand{flex:1 1 auto;gap:12px;min-width:0}
.site-header .brand-app-icon{display:block;flex:0 0 48px;width:48px;height:48px;object-fit:contain;border-radius:11px}
.site-header .brand-name{font-size:22px;line-height:1.4;white-space:nowrap}.site-header .brand-sub{font-size:12px;letter-spacing:.045em;line-height:1.5}
.header-quick{display:flex;gap:10px;align-items:center;flex:0 0 auto}
.header-quick a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 17px;border:1px solid #cfdee8;border-radius:12px;font-size:15px;font-weight:700;line-height:1.5;background:#f4f8fb;white-space:nowrap;transition:background .16s,border-color .16s}
.header-quick a:hover,.header-quick a[aria-current=page]{background:#e8f3fb;border-color:#7da8c2}.header-quick .quick-consult{background:#08263b;color:white;border-color:#08263b}.header-quick .quick-consult:hover{background:#154766}
.site-header .menu-button{display:inline-flex;flex:0 0 auto;width:auto;height:46px;gap:10px;padding:10px 14px;border-radius:12px;background:#fff;min-width:108px;font-size:14px;font-weight:700}
.menu-icon{flex:0 0 22px;width:22px}.menu-icon i{width:22px}
.site-header .nav{display:none;position:absolute;top:100%;left:0;right:0;width:auto;padding:24px max(24px,calc((100vw - 1160px)/2));background:white;border-bottom:1px solid #ccdae5;border-radius:0 0 18px 18px;box-shadow:0 18px 36px #08263b22;max-height:calc(100dvh - var(--header-bottom) - 12px);overflow-y:auto;overscroll-behavior:contain;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.site-header .nav.open{display:grid}.nav-group{min-width:0}.nav-group h2{font-size:14px;letter-spacing:.05em;color:#5a6c7b;margin:0 0 10px;padding:0 12px;line-height:1.5}
.site-header .nav a{display:flex;align-items:center;min-height:48px;white-space:normal;line-height:1.6;margin:4px 0;padding:12px 14px;font-size:16px;font-weight:700;border:1px solid #deE8ef;border-radius:10px;background:#f7fafc}
.site-header .nav a:hover,.site-header .nav a[aria-current=page]{background:#e8f3fb;border-color:#7da8c2}.site-header .nav a.button{background:#08263b;color:white;justify-content:center}
.nav-dismiss{display:block;position:fixed;inset:var(--header-bottom) 0 0;z-index:46;background:#08263b55;border:0;padding:0;cursor:default}
.brand-mark-large.brand-image{display:block;padding:0;object-fit:contain;background:transparent;border:0;aspect-ratio:1;width:180px;height:180px;border-radius:28px}
.service-brand-logo{display:block;width:min(340px,100%);height:auto;object-fit:contain;margin:20px 0;border-radius:18px}.service-brand-logo img{display:block;width:100%;height:auto}
.loading-brand-art{display:block;float:right;width:68px;margin:0 0 8px 16px}.loading-brand-art img{display:block;width:68px;height:147px;object-fit:contain;border-radius:8px}.loading-note .loading-symbol{width:36px;height:28px;margin-bottom:10px}.loading-line{clear:both}
@media(max-width:1080px){.header-quick{display:none}.site-header .header-inner{min-height:76px}.site-header .brand-sub{font-size:12px}}
@media(max-width:700px){.site-header .nav{grid-template-columns:1fr;gap:18px;padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px))}.nav-group h2{font-size:14px;margin-bottom:8px}.site-header .nav a{font-size:16px;padding:12px 14px}}
@media(max-width:600px){.site-header .wrap{width:calc(100% - 32px)}.site-header .header-inner{min-height:68px;gap:10px}.site-header .brand{gap:9px}.site-header .brand-app-icon{width:40px;height:40px;flex-basis:40px;border-radius:9px}.site-header .brand-name{font-size:18px}.site-header .brand-sub{display:none}.site-header .menu-button{min-width:44px;width:44px;height:44px;padding:10px;flex:0 0 44px}.menu-label{display:none}.brand-mark-large.brand-image{width:144px;height:144px}.service-brand-logo{width:min(280px,100%)}.loading-brand-art{width:58px;margin-left:10px}.loading-brand-art img{width:58px;height:126px}}
@media(prefers-reduced-motion:reduce){.header-quick a{transition:none}}
@media print{.header-quick,.site-header .menu-button,.site-header .nav,.nav-dismiss{display:none!important}}
.media-purpose{display:flex;align-items:center;gap:24px;padding:28px;border:1px solid #cfdee8;border-radius:18px;background:#f4f8fb}.media-purpose img{flex:0 0 96px}.media-purpose h2{margin-top:0}.media-purpose p{margin-bottom:0}.media-benefit{padding:24px;border:1px solid #cfdee8;border-radius:16px;background:#fff}.media-benefit h3{font-size:21px}.media-intro{padding-block:24px}.media-intro p{margin:0;line-height:1.9}.media-panel-icon{width:96px;height:96px;flex-shrink:0}.media-service-note{font-size:13px!important;margin-top:20px!important;color:#dceaf2}.media-service-note a{color:#f3d58a;text-decoration:underline}
@media(max-width:600px){.media-purpose{align-items:flex-start;padding:20px;gap:14px}.media-purpose img{flex-basis:56px;width:56px;height:56px}.media-purpose h2{font-size:20px}.media-benefit{padding:20px}.media-panel-icon{width:72px;height:72px}.media-intro{padding-block:20px}}
