/* Display face for the "front door" system: Archivo (variable weight + width), SIL OFL, self-hosted */
@font-face { font-family: "ASU Archivo"; font-style: normal; font-weight: 100 900; font-stretch: 62% 125%; font-display: swap; src: url("fonts/archivo-latin.woff2") format("woff2"); }
@font-face { font-family: "Caveat"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("fonts/caveat-latin.woff2") format("woff2"); }
/* All Services 4 U — landing / test page foundation (v0.3.0). Scoped under .asu-lp. Design-specific rules live in a <style> block in each page. */
.asu-lp { margin: 0; color: var(--asu-text); font-size: 17px; line-height: 1.65; }
.asu-lp *, .asu-lp *::before, .asu-lp *::after { box-sizing: border-box; }
.asu-lp img { max-width: 100%; height: auto; }
.asu-lp a { color: var(--asu-main); text-decoration-thickness: 1px; text-underline-offset: 2px; }
.asu-lp a:hover { text-decoration-thickness: 2px; }
.asu-lp a:focus-visible, .asu-lp button:focus-visible, .asu-lp summary:focus-visible { outline: 3px solid #0b57d0; outline-offset: 2px; }

/* full-bleed bands inside the theme container */
.asu-lp-band { width: 100vw; margin-left: calc(50% - 50vw); padding: 56px 20px; }
.asu-lp-band--sm { padding: 32px 20px; } .asu-lp-band--lg { padding: 88px 20px; }
.asu-lp-in { width: 100%; max-width: 1120px; margin: 0 auto; }
.asu-lp-in--narrow { max-width: 780px; } .asu-lp-in--wide { max-width: 1280px; }
.asu-lp-band--white { background: #fff; }
.asu-lp-band--tint { background: var(--asu-tint); }
.asu-lp-band--dark { background: var(--asu-ink); color: #eef5f1; }
.asu-lp-band--ink { background: #363e42; color: #f2f6f4; }
.asu-lp-band--brand { background: var(--asu-main); color: #fff; }
.asu-lp-band--dark a, .asu-lp-band--ink a, .asu-lp-band--brand a { color: #fff; }
.asu-lp-band--dark :where(h1, h2, h3, h4), .asu-lp-band--ink :where(h1, h2, h3, h4), .asu-lp-band--brand :where(h1, h2, h3, h4) { color: #fff; }

/* type */
.asu-lp :where(h1, h2, h3, h4) { color: var(--asu-ink); line-height: 1.2; letter-spacing: -.01em; text-transform: none; margin: 0 0 .5em; font-family: inherit; font-weight: 700; }
.asu-lp h1 { font-size: clamp(2rem, 4.6vw, 3.1rem); } .asu-lp h2 { font-size: clamp(1.55rem, 3vw, 2.1rem); } .asu-lp h3 { font-size: 1.2rem; } .asu-lp h4 { font-size: 1.05rem; }
.asu-lp p { margin: 0 0 1em; } .asu-lp .lead { font-size: 1.15em; color: var(--asu-ink); }
.asu-lp ul, .asu-lp ol { margin: 0 0 1em; padding-left: 1.25em; } .asu-lp li { margin: 0 0 .4em; }
.asu-lp-prose { max-width: 68ch; }

/* tables */
.asu-lp table { width: 100%; border-collapse: collapse; font-size: .95em; margin: 0 0 1em; background: #fff; }
.asu-lp th, .asu-lp td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--asu-line); }
.asu-lp thead th { background: var(--asu-tint); color: var(--asu-ink); font-weight: 700; border-bottom: 2px solid var(--asu-main); }
.asu-lp-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* disclosure */
.asu-lp details { border-bottom: 1px solid var(--asu-line); }
.asu-lp summary { cursor: pointer; list-style: none; padding: 14px 32px 14px 0; font-weight: 700; color: var(--asu-ink); position: relative; min-height: 44px; }
.asu-lp summary::-webkit-details-marker { display: none; }
.asu-lp summary::after { content: "+"; position: absolute; right: 4px; top: 10px; font-size: 1.4em; color: var(--asu-main); }
.asu-lp details[open] > summary::after { content: "–"; }

/* buttons (also available as classes in raw HTML) */
.asu-lp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 22px; border-radius: 10px; background: var(--asu-accent); color: #fff !important; font-weight: 700; text-decoration: none !important; border: 2px solid var(--asu-accent); }
.asu-lp-btn--ghost { background: transparent; color: var(--asu-main) !important; border-color: var(--asu-main); }
.asu-lp-band--dark .asu-lp-btn--ghost, .asu-lp-band--ink .asu-lp-btn--ghost, .asu-lp-band--brand .asu-lp-btn--ghost { color: #fff !important; border-color: #fff; }
.asu-lp-btn--green { background: var(--asu-main); border-color: var(--asu-main); }

@media (max-width: 700px) { .asu-lp { font-size: 16.5px; } .asu-lp-band { padding: 40px 16px; } .asu-lp-band--lg { padding: 56px 16px; } }
@media (prefers-reduced-motion: reduce) { .asu-lp * { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

/* the theme wraps page content in .container.pt-40.pb-40 — a landing page starts flush under the header */
.simple_page_template:has(.asu-lp) { padding-top: 0 !important; padding-bottom: 0 !important; }
.entry-content:has(> .asu-lp) { margin: 0; }

/* v0.3.2: the clip that stops 100vw bands causing a horizontal scrollbar lives on the page, not on .asu-lp (which sits inside the theme container and would clip the bands to it) */
html:has(.asu-lp), body:has(.asu-lp) { overflow-x: clip; }
.simple_page_template:has(.asu-lp), .simple_page_template:has(.asu-lp) .entry-content { overflow: visible !important; }

/* v0.3.3: the theme's `.simple_page_template p` (and .lead) set font-family "DM Sans"/Arial, which outranks the zero-specificity reset and is not
   loaded on these pages, so text fell back to the system font. Force the self-hosted face at (0,2,1). */
.asu-lp.asu-lp, .asu-lp.asu-lp :is(p, li, td, th, h1, h2, h3, h4, h5, h6, a, span, summary, button, input, select, textarea, dd, dt, label, blockquote, figcaption, strong, em, small, caption, div) { font-family: "ASU DM Sans", "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.asu-lp.asu-lp code, .asu-lp.asu-lp pre { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
/* Trustpilot TrustBox wrapper */
.asu-lp .asu-tp { min-height: 24px; }
.asu-lp .asu-tp--carousel { min-height: 240px; }
