/* Local A1 Ember brand layer. Load after the original site's stylesheets. */
:root,
:root[data-theme],
[data-theme="ember"] {
 --accent: #c65e2d;
 --accent-strong: #af4f24;
 --ink: #202b2d;
 --dark: #202b2d;
 --paper: #f8f5ee;
 --surface: #fffdfa;
 --muted: #626965;
 --line: #dfddd5;
 --tint: #f4e7dc;
 --a1-hover: #923e1a;
 --a1-accent-light: #efb28f;
}

/* Original PNGs are 3:1. This frame removes transparent vertical breathing
   room only; the complete approved roofline and lettering remain visible. */
.family-lockup.a1-brand-logo,
.a1-brand-logo {
 position: relative;
 display: block;
 width: var(--a1-logo-width, 250px);
 max-width: 100%;
 aspect-ratio: 4.4 / 1;
 flex: 0 0 auto;
 overflow: hidden;
 line-height: 0;
 isolation: isolate;
}
.a1-brand-logo > img {
 position: absolute;
 display: block;
 top: 50%;
 left: 0;
 width: 100%;
 height: auto;
 max-width: none;
 transform: translateY(-50%);
 object-fit: contain;
}
.family-lockup.a1-group-wordmark {
 display: inline-flex;
 width: auto;
 gap: 0;
 font: 650 26px/1.1 var(--heading, Manrope, Arial, sans-serif);
 letter-spacing: -.8px;
 color: var(--ink);
 white-space: nowrap;
}
.a1-group-wordmark b { font-weight: inherit; color: var(--accent-strong); }
.a1-group-wordmark small,
.portfolio-home .a1-group-wordmark small {
 display: block;
 margin-top: 7px;
 color: var(--muted);
 font: 550 9px/1.3 var(--body, Inter, Arial, sans-serif);
 letter-spacing: 1.8px;
 text-transform: uppercase;
}
.sidebar .a1-group-wordmark { font-size: 25px; color: #fffdfa; }
.sidebar .a1-group-wordmark b { color: var(--a1-accent-light); }
.sidebar .a1-group-wordmark small { color: #d2d5d1; }

/* Clear identity at every company entry point. */
.topbar.portfolio-header.single-company-header {
 background: #fffdfa;
 border-bottom-color: var(--line);
 box-shadow: 0 2px 16px #202b2d06;
 padding-block: 18px;
}
.single-company-header .portfolio-header-row { gap: 24px; }
.single-company-header .portfolio-home { display: block; min-width: 0; }
.portfolio-home .a1-brand-logo { --a1-logo-width: 258px; }
.single-company-header .visitor-nav { gap: 0; }
.single-company-header .visitor-nav :is(button,a,summary) { font-weight: 500; }
.company-menu>div,.seo-company-menu>div {
 background: var(--surface);
 border-color: var(--line);
 border-radius: 10px;
 box-shadow: 0 14px 35px #202b2d19;
}
.company-menu a:hover,.seo-company-menu a:hover { background: var(--paper); }
.website .sentinel-header .a1-brand-logo { --a1-logo-width: 250px; }
.group-home .group-company .a1-brand-logo { width: 100%; margin: 15px 0 18px; }
.group-home .group-company { border-color: var(--line); }
.group-home .group-company:hover { border-color: #ba8b6b; }

/* White-on-dark logos were not part of the approved artwork. A quiet ivory
   plaque protects contrast without changing the original logo colors. */
:is(.visitor-footer,.site-footer,.insurance-editorial-footer,.seo-footer) .a1-brand-logo {
 --a1-logo-width: 270px;
 background: var(--paper);
 border: 10px solid var(--paper);
 border-radius: 7px;
 box-sizing: content-box;
 max-width: calc(100% - 20px);
}
:is(.visitor-footer,.site-footer,.insurance-editorial-footer,.seo-footer) .a1-group-wordmark { color: #fffdfa; }
:is(.visitor-footer,.site-footer,.insurance-editorial-footer,.seo-footer) .a1-group-wordmark b { color: var(--a1-accent-light); }
:is(.visitor-footer,.site-footer,.insurance-editorial-footer,.seo-footer) .a1-group-wordmark small { color: #ced3cf; }
.visitor-footer,.seo-footer { background: var(--dark); }
body:not(.studio-open):not(.internal-view) #app>.visitor-footer { box-shadow: 0 0 0 100vmax var(--dark); }
.visitor-footer .group-endorsement { margin-top: 19px; }
.visitor-footer p,.seo-footer p { color: #cbd0cb; }
.visitor-footer>div:not(:first-child)>a { color: #dce0da; }

/* Burnt orange for identity; the deeper shade gives white button text
   a measured 5.29:1 contrast ratio. */
.primary,
.website :is(.primary,.insurance-nav .insurance-nav-cta),
.seo-header .seo-contact-link,
.seo-document .seo-primary-cta,
.logo-preview-nav .primary {
 background: var(--accent-strong);
 border-color: var(--accent-strong);
 color: #fff;
}
.primary:hover,
.website :is(.primary,.insurance-nav .insurance-nav-cta):hover:not(:disabled),
.seo-header .seo-contact-link:hover,
.seo-document .seo-primary-cta:hover {
 background: var(--a1-hover);
 border-color: var(--a1-hover);
 color: #fff;
 filter: none;
}
.hardening-overview-action,
.hardening-overview-number,
.service-card-action,
.seo-kicker { color: var(--accent-strong); }
.hardening-overview-body li:before,
.seo-coverage-region li:before,
.seo-map-legend i.served { background: var(--accent); }
.hardening-overview-action:hover { color: var(--a1-hover); }
.seo-map-legend i.served { border-color: var(--accent); }
.seo-map-callouts circle { stroke: var(--accent); }
.visitor-journey>.eyebrow,
.visitor-journey b,
.next-step-copy .eyebrow { color: var(--a1-accent-light); }
.journey-link { border-bottom-color: var(--a1-accent-light); }
.visitor-journey,.website .experience-ribbon,#app .hardening-next-step { background: var(--dark); }
.sidebar nav a.active { background: var(--accent-strong); }
.website .photo-hero .eyebrow { color: #f4c5a8; }
.hardening-overview-card,.hardening-service-card { border-color: var(--line); }
body:not(.studio-open):not(.internal-view) main :is(button,a,summary):focus-visible,
.single-company-header :is(button,a,summary):focus-visible,
.seo-document :is(a,summary):focus-visible,
.hardening-overview-action:focus-visible,
.seo-resource-grid a:focus-visible,
#detail :is(button,a):focus-visible {
 outline-color: var(--accent-strong);
}

/* The same branding applies to direct-link service guides and SEO pages. */
.seo-document,
.seo-document[data-company] {
 --seo-accent: #af4f24;
 --seo-ink: #202b2d;
 --seo-muted: #626965;
 --seo-line: #dfddd5;
 background: var(--surface);
}
.seo-header { background: var(--surface); }
.seo-logo { display: block; line-height: 1; letter-spacing: normal; flex-shrink: 0; min-width: 0; max-width: 100%; }
.seo-logo .a1-brand-logo { --a1-logo-width: 258px; }
.seo-footer>div,.seo-footer nav { min-width: 0; }
.seo-footer nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
.seo-footer nav a { overflow-wrap: anywhere; }
.seo-related,.seo-resource-grid a { background: var(--paper); border-color: var(--line); }
.seo-resource-grid a:hover { border-color: #ba8b6b; }
.seo-resource-grid span { color: var(--muted); }

/* Internal review page shows approved assets, not superseded concepts. */
.a1-logo-studio .intro { align-items: center; }
.a1-logo-studio .intro h1 { max-width: 720px; }
.a1-logo-studio .intro p { max-width: 670px; line-height: 1.8; }
.a1-identity-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 32px; }
.a1-identity-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.a1-identity-art { padding: 45px 30px; background: var(--paper); border-bottom: 1px solid var(--line); }
.a1-identity-art .a1-brand-logo { width: 100%; max-width: 420px; margin: auto; }
.a1-identity-card>div:last-child { padding: 22px 26px 26px; }
.a1-identity-card h2 { margin: 0 0 10px; font-size: 19px; }
.a1-identity-card p { font-size: 12px; }
.a1-identity-card a { display: inline-flex; gap: 20px; align-items: center; min-height: 44px; font-size: 12px; font-weight: 600; color: var(--accent-strong); }
.a1-logo-studio .logo-web-preview { border-color: var(--line); border-radius: 12px; overflow: hidden; }
.a1-logo-studio .logo-preview-nav { background: var(--surface); }
.a1-logo-studio .logo-preview-nav .primary { border-radius: 7px; min-height: 44px; padding: 12px 16px; font-size: 11px; white-space: nowrap; }
.a1-logo-studio .logo-preview-body { background: var(--paper); }
.a1-logo-studio .logo-brand-tabs button { border-radius: 6px; min-height: 44px; letter-spacing: 0; font-size: 12px; }
.a1-logo-studio .logo-brand-tabs button[aria-pressed=true] { background: var(--dark); border-color: var(--dark); }

@media(max-width:1200px) {
 .portfolio-home .a1-brand-logo { --a1-logo-width: 240px; }
}
@media(max-width:1100px) {
 .single-company-header .portfolio-header-row { gap: 14px; }
}
@media(max-width:800px) {
 /* Anchor the dropdown to the full navigation row so it cannot open off
    the viewport when its summary sits in the middle of a wrapped row. */
 .seo-header nav { position: relative; width: 100%; }
 .seo-company-menu { position: static; }
 .seo-company-menu>div { top: calc(100% + 12px); right: 0; width: min(310px,100%); }
}
@media(max-width:700px) {
 .topbar.portfolio-header.single-company-header { padding-block: 13px; }
 .portfolio-home .a1-brand-logo { --a1-logo-width: clamp(180px,34vw,230px); }
 .single-company-header .portfolio-header-row { gap: 10px; }
 .single-company-header .portfolio-header-row>.hardening-contact-actions { gap: 6px; }
 .seo-logo .a1-brand-logo { --a1-logo-width: 240px; }
 .a1-identity-grid { grid-template-columns: 1fr; }
 .a1-logo-studio .logo-preview-nav { align-items: flex-start; flex-direction: column; gap: 18px; }
 .a1-logo-studio .logo-preview-nav>span { display: none; }
 .a1-logo-studio .logo-preview-body { padding: 28px; }
 .a1-logo-studio .logo-preview-body h2 { font-size: 34px; }
}
@media(max-width:600px) {
 .seo-footer nav { grid-template-columns: 1fr; gap: 0; }
 .seo-footer nav a { display: flex; align-items: center; min-height: 44px; }
}
@media(max-width:480px) {
 .single-company-header .portfolio-header-row>.portfolio-home { width: 100%; }
 .portfolio-home .a1-brand-logo { --a1-logo-width: 240px; }
 .single-company-header .portfolio-header-row>.hardening-contact-actions { width: 100%; margin-left: 0; justify-content: flex-start; }
 .single-company-header .portfolio-header-row>.hardening-contact-actions :is(a,button) { flex: 1 1 auto; }
 .single-company-header .visitor-nav { border-top: 1px solid var(--line); padding-top: 6px; margin-top: 2px; }
 .single-company-header .visitor-nav :is(button,a,summary) { min-height: 40px; padding-block: 8px; }
 .seo-header { gap: 18px; }
 .seo-header nav { column-gap: 18px; row-gap: 12px; }
 .a1-identity-art { padding: 35px 22px; }
}
/* Reserve scrollbar space so short and long pages share the same header width. */
html{scrollbar-gutter:stable}
/* Phone actions stay recognizable in secondary contact and footer locations. */
body:is(.a1-hardening-site,.a1-family-site) a.a1-call-link{display:inline-flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;min-height:44px;padding:10px 14px;border:1px solid currentColor;border-radius:5px;font-size:13px;font-weight:600;line-height:1.4;text-decoration:none;text-align:center}
body:is(.a1-hardening-site,.a1-family-site) a.a1-call-link:hover{text-decoration:underline;text-underline-offset:4px}
