/* One company page frame and type scale across all VuNova content templates. */
:root { --max: 1180px; --radius: 12px; --page-space: clamp(32px,5vw,64px); }
:root[data-theme="dark"] { --accent:#7ab7ff; --muted:#b1bccd; --line:#354257; }
body { min-height:100svh; display:flex; flex-direction:column; font-family:"Space Grotesk","Aptos Display","Segoe UI Variable Display",system-ui,sans-serif; }
body>main { flex:1; }
[hidden] { display:none !important; }
.company-header { flex-wrap:wrap; gap:12px 20px; min-height:76px; padding:14px max(16px,calc((100% - var(--max))/2)); }
.company-header .brand { display:flex; gap:12px; align-items:center; font-size:1.08rem; letter-spacing:-.03em; }
.company-header .brand-mark { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; background:var(--accent); color:var(--navy-2); font-weight:800; }
.company-header .brand-mark { font-size:1.4rem; border:0; box-shadow:none; }
.company-header .brand-mark::before,.company-header .brand-mark::after { content:none; }
.company-nav { flex-wrap:nowrap; gap:2px; }
.company-nav a,.company-nav button,.company-nav select,.company-menu-toggle { white-space:nowrap; font-weight:600; line-height:1.3; padding:10px; border-radius:8px; }
.company-footer { width:100%; margin-top:auto; padding:28px max(16px,calc((100% - var(--max))/2)); border-top:1px solid var(--line); font-size:.84rem; color:var(--muted); background:var(--surface-card); }
.company-footer a { color:var(--muted); text-decoration:none; text-underline-offset:4px; }
.company-footer a:hover { color:var(--accent); text-decoration:underline; }
:is(.content-main,.company-page,.product-detail-main,.legal-shell,.article-shell,.account-main,.portal-shell) { width:min(calc(100% - 48px),var(--max)); margin-inline:auto; padding-top:var(--page-space); }
.company-page { margin-top:0; }
:is(.content-hero,.product-hero,.article-header,.legal-hero,.company-page,.portal-intro,.account-heading,.not-found-panel) h1 { font-size:clamp(2.5rem,5.8vw,4.5rem); line-height:1.08; letter-spacing:-.05em; font-weight:700; }
:is(.content-hero,.product-hero,.article-header,.legal-hero,.portal-intro,.account-heading) p { color:var(--muted); }
.button,.portal-form button { min-height:48px; border-radius:var(--radius); font-weight:650; text-decoration:none; }
.content-card,.content-empty,.portal-card,.company-page-card,.status-card,.product-detail-columns article { border-radius:var(--radius); }
[data-content-page="blog-list"] .content-card { min-height:220px; }
.portal-intro,.portal-card,.portal-field,.contact-form { min-width:0; }
.portal-card { background:var(--surface-card); color:var(--ivory); }
.portal-card input,.portal-card select,.portal-card textarea { color:var(--ivory); background:var(--surface-input); border-color:var(--control-border); }
.portal-status[data-state="error"] { color:var(--error); }
.portal-status[data-state="success"] { color:var(--success); }
.not-found-page { background:var(--navy-2); color:var(--ivory); display:flex; }
.not-found { display:flex; align-items:center; min-height:0; width:min(calc(100% - 48px),var(--max)); margin:auto; padding:var(--page-space) 0 80px; }
.not-found-panel { padding:clamp(24px,5vw,48px); background:var(--surface-card); border:1px solid var(--line); border-radius:var(--radius); }
.not-found-panel p { color:var(--muted); }
.editorial-language-notice { width:min(calc(100% - 48px),var(--max)); margin:20px auto 0; padding:12px 16px; font-size:.88rem; color:var(--muted); background:var(--surface-card); border:1px solid var(--line); border-radius:var(--radius); }
.n2w-landing { --bg:var(--navy-2); --text:var(--ivory); --panel:var(--surface-card); --inverse:var(--navy-2); --story:var(--surface-raised); --story-text:var(--ivory); background:var(--navy-2); color:var(--ivory); }
.n2w-landing .wrap { max-width:var(--max); width:calc(100% - 48px); }
.n2w-landing .hero { min-height:0; position:relative; isolation:auto; padding-block:var(--page-space); background:var(--navy-2); }
.n2w-landing .hero::before,.n2w-landing .hero::after { content:none; }
.n2w-landing h1 { font-size:clamp(2.8rem,6vw,5rem); line-height:1.06; letter-spacing:-.055em; }
.n2w-landing .primary { background:var(--accent); color:var(--navy-2); }
.n2w-landing .story { background:var(--surface-raised); color:var(--ivory); }
.n2w-landing .story :is(.eyebrow,p,.author span) { color:var(--muted); }
.n2w-landing .example,.n2w-landing .ipad-shot { border-radius:var(--radius); }
.n2w-landing .company-nav select { color:var(--ivory); }
@media (min-width:921px) and (max-width:1380px) {
 .company-header .company-nav { width:100%; justify-content:flex-start; flex-wrap:wrap; }
}
@media (max-width:920px) {
 .company-nav { flex-wrap:wrap; }
 .company-header .company-menu-toggle { margin-left:auto; }
 .company-header.company-menu-open .company-nav { width:100%; }
 .company-nav a { flex:1 1 140px; }
 .company-nav select,.company-nav button { flex:0 0 auto; }
}
@media(max-width:650px) {
 :is(.content-main,.company-page,.product-detail-main,.legal-shell,.article-shell,.account-main,.portal-shell),.n2w-landing .wrap,.not-found,.editorial-language-notice { width:calc(100% - 32px); }
 .company-footer { flex-direction:column; gap:12px; }
 .company-footer span { line-height:1.8; }
 .n2w-landing .hero { grid-template-columns:minmax(0,1fr); }
 .n2w-landing .quick-facts { flex-wrap:wrap; }
}
