/* =========================================================================
   ASCENSION SKIN · Carrier Onboarding Intake                       v3.1.1
   Sept 2026 · Kyle Donovan (Onboarding) · for Joe's intake + Onboarding tab

   Derived from ascensionagents.com itself (Elementor kit post-5.css, page
   post-10.css, the logo files and the hero video) — not approximated.

   DAY  (default)  = the website: storm-mountain video hero, paper ground,
                     blue stone bands, charcoal footer.
   NIGHT (dark)    = the "night climb" from the chat round. Follows the OS
                     (prefers-color-scheme) unless data-theme is stamped.

   INSTALL
     1. Fonts (required — the brand type depends on them):
        <link rel="preconnect" href="https://fonts.googleapis.com">
        <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
        <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,600;0,700;1,400;1,700&family=Poppins:wght@400;600;700;800&family=Staatliches&display=swap">
     2. This file BEFORE the intake's own CSS (so the intake wins ties),
        ascension-skin.js at the end of <body>.
     3. class="asc" on <body> (or the app root). On the agent intake page
        also class="asc-page" on <html> so native controls follow night mode.
        The Onboarding tab inside the Intranet: class="asc asc--embed" on the
        tab root (no page ground, no grain); tokens, badges, §17 admin and the
        type ramp only — no .asc-page, no hero/band/footer. If the Intranet
        has no dark mode, stamp data-theme="light" on its <html>.
     5. Don't ship global outline resets (:focus{outline:none}) in the intake;
        if you must, scope them to :focus:not(:focus-visible).
     6. The skin sets scroll-padding-top on <html> only when its sticky top
        bar is present; if the intake scrolls an inner container instead,
        move that rule to the scroller.
     4. Assets live in assets/web/ next to this file (CSS urls resolve here).

   SUPERSEDES build-context §6 ("fonts = Montserrat + Staatliches; CSS
   gradients + inline SVG only"): fonts are the website's own Poppins +
   Open Sans (+ Staatliches for the stamp), and the brand rasters/video are
   copied from ascensionagents.com. Approved by Kyle 2026-09-27: "match the
   website — use our logos, colors, theme, animations".

   Everything is prefixed .asc- so nothing collides with the intake's CSS.
   Behaviour-free: the skin restyles containers; it never changes fields,
   field visibility, locks, saves, uploads, confirms or status logic.
   ========================================================================= */

/* ---------- 0 · FALLBACK METRICS (no layout jump when fonts swap) ------ */
@font-face{font-family:"Poppins Fallback";src:local("Arial");size-adjust:113.7%;ascent-override:92.3%;descent-override:30.8%;line-gap-override:8.8%}
@font-face{font-family:"Open Sans Fallback";src:local("Arial");size-adjust:105.1%;ascent-override:101.6%;descent-override:27.8%;line-gap-override:0%}

/* ---------- 1 · TOKENS ------------------------------------------------- */
:root{
  /* Brand constants — sampled from the site, identical in both themes */
  --asc-brand-navy:#124873;       /* blue bands, checkmarks   (post-10.css) */
  --asc-brand-blue:#0077C0;       /* icon hover, form submit  (post-10.css) */
  --asc-brand-cerulean:#1191D5;   /* "Click to begin your ascent" pill      */
  --asc-brand-sky:#18A4E8;        /* top of the logo's stone gradient        */
  --asc-brand-medal:#095A98;      /* ascent-button medallion (→ #135693)     */
  --asc-brand-rail:#3880BD;       /* sticky social rail                      */
  --asc-brand-overlay:rgba(50,121,185,.65); /* #3279B9 @ .65 video overlay   */
  --asc-brand-charcoal:#222222;   /* footer ground                           */
  --asc-good-solid:#0E7C61;       /* live medallion / message mark (white ≥5:1) */

  --asc-font-display:'Poppins','Poppins Fallback',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --asc-font-body:'Open Sans','Open Sans Fallback',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --asc-font-stamp:'Staatliches','Oswald','Arial Narrow',Impact,sans-serif;

  --asc-radius:5px;               /* the site is square-shouldered          */
  --asc-radius-lg:6px;
  --asc-container:1242px;         /* Elementor boxed width on the site      */
  --asc-bar-h:76px;               /* top bar height; the hero slides under it */
  --asc-ease:cubic-bezier(.22,.9,.3,1);
  --asc-ease-pop:cubic-bezier(.34,1.56,.64,1);
  --asc-distress:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='d'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='11'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 -9 0 0 0 6.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23d)'/%3E%3C/svg%3E");

  /* Themed tokens — DAY (the website) */
  --asc-ground:#f7f7f7;
  --asc-grain:url(assets/web/paper-texture.jpg);
  --asc-grain-opacity:.045;       /* site: stone photo @ 4% over paper */
  --asc-surface:#ffffff;
  --asc-surface-2:#f4f6f8;
  --asc-surface-sunk:#eef1f4;
  --asc-ink:#222222;
  --asc-ink-2:#424242;
  --asc-muted:#56616d;            /* 6.2:1 on white */
  --asc-faint:#616d7a;            /* 5.3:1 on white, 4.7:1 on lock-bg */
  --asc-rule:#dde2e7;
  --asc-rule-strong:#afafaf;      /* site divider */
  --asc-accent:#0077C0;           /* focus, hover, action */
  --asc-accent-ink:#2B6CB0;       /* links — site Kadence palette 1 */
  --asc-link-hover:#265E9A;       /* site Kadence palette 2 */
  --asc-accent-soft:#e8f2fa;
  --asc-selected:#124873;         /* checked / pressed / done */
  --asc-heading:#424242;
  --asc-heading-accent:#124873;
  --asc-field:#ffffff;
  --asc-field-border:#7f8d9c;     /* ≥3:1 boundary */
  --asc-field-hover:#5d6d7e;
  --asc-placeholder:#6a7787;      /* 4.6:1 — carries format hints */
  --asc-shadow-card:0 1px 2px rgba(0,0,0,.07),0 8px 18px -12px rgba(18,72,115,.3);
  --asc-shadow-lift:0 2px 4px rgba(0,0,0,.08),0 16px 34px -16px rgba(18,72,115,.38);
  --asc-good:#0E7C61;  --asc-good-bg:#e6f4ef;  --asc-good-line:#9fd4c2;
  --asc-warn:#B45309;  --asc-warn-bg:#fff5de;  --asc-warn-line:#eec46c;
  --asc-bad:#B91C1C;   --asc-bad-bg:#fdeceb;   --asc-bad-line:#eeaaa4;
  --asc-info:#2B6CB0;  --asc-info-bg:#eaf3fb;  --asc-info-line:#b5d3ee;
  --asc-lock:#56616d;  --asc-lock-bg:#eef1f4;  --asc-lock-line:#cfd6dd;
  --asc-hatch:rgba(190,199,208,.45);
  --asc-focus-ring-bad:0 0 0 3px rgba(185,28,28,.22);
  /* Summit strip — sampled from the site's journey-mountain graphic */
  --asc-facet-1:#1d87c0; --asc-facet-2:#2497db; --asc-facet-3:#1679a9;
  --asc-facet-4:#269de3; --asc-facet-5:#12699a; --asc-facet-snow:#269de3;
  --asc-trail:rgba(42,55,86,.55); --asc-trail-done:#2a3756; --asc-trail-glow:transparent;
  --asc-wp-hollow:#2497db; --asc-wp-fill:#ffffff; --asc-wp-ring:#28314d; --asc-wp-done:#124873;
  --asc-flag:#003a7b; --asc-flag-pole:#146d99; --asc-flag-locked:#76828f;
  --asc-sun:rgba(24,164,232,.6);
}

/* NIGHT — follows the OS unless the viewer picked light */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --asc-ground:#07111e;
    --asc-grain-opacity:.05;
    --asc-surface:#0e1d31;
    --asc-surface-2:#12243b;
    --asc-surface-sunk:#0a1727;
    --asc-ink:#e6edf6;
    --asc-ink-2:#f2f6fb;
    --asc-muted:#a3b5ca;
    --asc-faint:#8fa3ba;
    --asc-rule:rgba(141,180,229,.16);
    --asc-rule-strong:rgba(141,180,229,.32);
    --asc-accent:#4ba3ea;
    --asc-accent-ink:#8cc6f5;
    --asc-link-hover:#b9dcf9;
    --asc-accent-soft:rgba(75,163,234,.12);
    --asc-selected:#1e6fc0;
    --asc-heading:#f2f6fb;
    --asc-heading-accent:#cadcfc;
    --asc-field:#081424;
    --asc-field-border:rgba(141,180,229,.55);
    --asc-field-hover:rgba(141,180,229,.78);
    --asc-placeholder:#7d93ad;
    --asc-shadow-card:0 1px 0 rgba(202,220,252,.06) inset,0 18px 40px -20px rgba(0,0,0,.6);
    --asc-shadow-lift:0 1px 0 rgba(202,220,252,.1) inset,0 24px 50px -20px rgba(0,0,0,.7);
    --asc-good:#43d193;  --asc-good-bg:rgba(47,191,127,.12);  --asc-good-line:rgba(47,191,127,.38);
    --asc-warn:#f2b957;  --asc-warn-bg:rgba(229,168,59,.12);  --asc-warn-line:rgba(229,168,59,.38);
    --asc-bad:#ff8a7c;   --asc-bad-bg:rgba(229,96,79,.13);    --asc-bad-line:rgba(229,96,79,.4);
    --asc-info:#8cc6f5;  --asc-info-bg:rgba(75,163,234,.11);  --asc-info-line:rgba(75,163,234,.34);
    --asc-lock:#a3b5ca;  --asc-lock-bg:rgba(141,180,229,.07); --asc-lock-line:rgba(141,180,229,.22);
    --asc-hatch:rgba(141,180,229,.07);
    --asc-focus-ring-bad:0 0 0 3px rgba(255,138,124,.3);
    --asc-facet-1:#10243c; --asc-facet-2:#16314f; --asc-facet-3:#0d1e33;
    --asc-facet-4:#1f4169; --asc-facet-5:#0a1829; --asc-facet-snow:#2d5a8a;
    --asc-trail:rgba(159,192,232,.5); --asc-trail-done:#bfe0ff; --asc-trail-glow:rgba(75,163,234,.7);
    --asc-wp-hollow:#16314f; --asc-wp-fill:#0a1627; --asc-wp-ring:rgba(159,192,232,.75); --asc-wp-done:#1e6fc0;
    --asc-flag:#4b96e0; --asc-flag-pole:#cadcfc; --asc-flag-locked:#9fb0c4;
    --asc-sun:rgba(75,150,224,.6);
  }
}
:root[data-theme="dark"]{
  --asc-ground:#07111e;
  --asc-grain-opacity:.05;
  --asc-surface:#0e1d31;
  --asc-surface-2:#12243b;
  --asc-surface-sunk:#0a1727;
  --asc-ink:#e6edf6;
  --asc-ink-2:#f2f6fb;
  --asc-muted:#a3b5ca;
  --asc-faint:#8fa3ba;
  --asc-rule:rgba(141,180,229,.16);
  --asc-rule-strong:rgba(141,180,229,.32);
  --asc-accent:#4ba3ea;
  --asc-accent-ink:#8cc6f5;
  --asc-link-hover:#b9dcf9;
  --asc-accent-soft:rgba(75,163,234,.12);
  --asc-selected:#1e6fc0;
  --asc-heading:#f2f6fb;
  --asc-heading-accent:#cadcfc;
  --asc-field:#081424;
  --asc-field-border:rgba(141,180,229,.55);
  --asc-field-hover:rgba(141,180,229,.78);
  --asc-placeholder:#7d93ad;
  --asc-shadow-card:0 1px 0 rgba(202,220,252,.06) inset,0 18px 40px -20px rgba(0,0,0,.6);
  --asc-shadow-lift:0 1px 0 rgba(202,220,252,.1) inset,0 24px 50px -20px rgba(0,0,0,.7);
  --asc-good:#43d193;  --asc-good-bg:rgba(47,191,127,.12);  --asc-good-line:rgba(47,191,127,.38);
  --asc-warn:#f2b957;  --asc-warn-bg:rgba(229,168,59,.12);  --asc-warn-line:rgba(229,168,59,.38);
  --asc-bad:#ff8a7c;   --asc-bad-bg:rgba(229,96,79,.13);    --asc-bad-line:rgba(229,96,79,.4);
  --asc-info:#8cc6f5;  --asc-info-bg:rgba(75,163,234,.11);  --asc-info-line:rgba(75,163,234,.34);
  --asc-lock:#a3b5ca;  --asc-lock-bg:rgba(141,180,229,.07); --asc-lock-line:rgba(141,180,229,.22);
  --asc-hatch:rgba(141,180,229,.07);
  --asc-focus-ring-bad:0 0 0 3px rgba(255,138,124,.3);
  --asc-facet-1:#10243c; --asc-facet-2:#16314f; --asc-facet-3:#0d1e33;
  --asc-facet-4:#1f4169; --asc-facet-5:#0a1829; --asc-facet-snow:#2d5a8a;
  --asc-trail:rgba(159,192,232,.5); --asc-trail-done:#bfe0ff; --asc-trail-glow:rgba(75,163,234,.7);
  --asc-wp-hollow:#16314f; --asc-wp-fill:#0a1627; --asc-wp-ring:rgba(159,192,232,.75); --asc-wp-done:#1e6fc0;
  --asc-flag:#4b96e0; --asc-flag-pole:#cadcfc; --asc-flag-locked:#9fb0c4;
  --asc-sun:rgba(75,150,224,.6);
}
@media (max-width:760px){:root{--asc-bar-h:64px}}

/* color-scheme is scoped: the skin never flips a host page (the Intranet) */
.asc{color-scheme:light}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .asc{color-scheme:dark}}
:root[data-theme="dark"] .asc{color-scheme:dark}
:root.asc-page{color-scheme:light}
@media (prefers-color-scheme: dark){:root.asc-page:not([data-theme="light"]){color-scheme:dark}}
:root.asc-page[data-theme="dark"]{color-scheme:dark}
html:has(.asc-topbar){scroll-padding-top:calc(var(--asc-bar-h) + 16px)}

/* ---------- 2 · BASE --------------------------------------------------- */
/* :where() keeps these at one class of specificity, so the intake's own
   single-class rules still win ties and component rules win by order. */
.asc{
  position:relative;isolation:isolate;          /* the grain layer paints inside, above the ground */
  background:var(--asc-ground);
  color:var(--asc-ink);
  font:400 16px/1.6 var(--asc-font-body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
.asc *,.asc *::before,.asc *::after{box-sizing:border-box}
.asc [hidden]{display:none!important}
.asc::before{   /* the site lays a 4% stone photo over every paper section; fixed = its parallax */
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:var(--asc-grain) center/cover;opacity:var(--asc-grain-opacity);
}
:root:not(.asc-page) .asc::before{position:absolute}                  /* embedded: never paint the host page */
.asc.asc--embed{background:var(--asc-surface)}
.asc.asc--embed::before{content:none}
.asc ::selection{background:var(--asc-brand-blue);color:#fff}
.asc :where(h1,h2,h3,h4){font-family:var(--asc-font-display);color:var(--asc-heading);margin:0;text-wrap:balance}
.asc :where(p){margin:0}
.asc :where(a){color:var(--asc-accent-ink);text-underline-offset:3px;text-decoration-thickness:1px}
.asc :where(a:hover){color:var(--asc-link-hover)}
.asc :focus-visible{outline:2px solid var(--asc-accent);outline-offset:3px}
.asc [tabindex="-1"]:focus{outline:none}
.asc :where(img){max-width:100%;height:auto}
@supports not selector(:has(*)){.asc :where([id]){scroll-margin-top:calc(var(--asc-bar-h) + 16px)}}   /* fallback only where :has() is missing */
.asc-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.asc-container{width:100%;max-width:var(--asc-container);margin-inline:auto;
  padding-inline:max(clamp(16px,4vw,48px),env(safe-area-inset-left,0px)) max(clamp(16px,4vw,48px),env(safe-area-inset-right,0px))}
.asc-num{font-variant-numeric:tabular-nums}
.asc-stack{display:grid;gap:18px;min-width:0}

/* ---------- 3 · TOP BAR ----------------------------------------------- */
.asc-topbar{
  position:sticky;top:0;z-index:60;color:#fff;
  padding-top:env(safe-area-inset-top,0px);
  background:rgba(10,35,62,.95);
  box-shadow:0 1px 0 rgba(202,220,252,.08),0 10px 30px -12px rgba(0,0,0,.45);
  transition:background-color .45s var(--asc-ease),box-shadow .45s var(--asc-ease);
}
:root:not(.asc-ready) .asc-topbar{transition:none}
.asc-topbar.is-over-hero{background:linear-gradient(180deg,rgba(5,12,24,.42) 0%,rgba(5,12,24,.32) 75%,rgba(5,12,24,0) 100%);box-shadow:none}
@media (hover:hover) and (min-width:1025px){
  .asc-topbar:not(.is-over-hero){background:rgba(10,35,62,.86);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2)}
}
.asc-topbar__row{display:flex;align-items:center;gap:clamp(12px,2.4vw,28px);min-height:var(--asc-bar-h)}
.asc-topbar__logo{display:flex;align-items:center;flex:none;color:#fff;text-decoration:none}
.asc-topbar__logo img{height:40px;width:auto;display:block}
@media (min-width:1025px){.asc-topbar__logo img{height:50px}}
.asc-topbar__tag{font:600 11px/1 var(--asc-font-display);letter-spacing:.24em;text-transform:uppercase;color:#d7e6f5;padding-left:14px;border-left:1px solid rgba(255,255,255,.3)}
.asc-topbar__right{margin-left:auto;display:flex;align-items:center;gap:clamp(12px,2vw,26px);min-width:0}
.asc-topbar__agent{font:600 13.5px/1.2 var(--asc-font-display);letter-spacing:.04em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.asc-topbar__agent small{display:block;font:400 12px/1.3 var(--asc-font-body);letter-spacing:.02em;color:#dbe8f5}
.asc-topbar__link{font:600 15px/1 var(--asc-font-display);letter-spacing:1.5px;color:#fff;text-decoration:none;white-space:nowrap;padding:10px 0;position:relative}
.asc-topbar__link:hover{color:#fff}
.asc-topbar__link::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--asc-brand-sky);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--asc-ease)}
.asc-topbar__link:hover::after{transform:scaleX(1)}
.asc-topbar :focus-visible{outline-color:#fff}
.asc-meter{display:flex;align-items:center;gap:10px;font:700 13px/1 var(--asc-font-display);color:#fff;white-space:nowrap}
.asc-meter__track{width:clamp(70px,9vw,128px);height:6px;border-radius:99px;background:rgba(255,255,255,.2);overflow:hidden}
.asc-meter__fill{display:block;height:100%;width:100%;border-radius:inherit;background:linear-gradient(90deg,var(--asc-brand-cerulean),var(--asc-brand-sky));
  transform:translateX(calc((var(--asc-p,0) - 1) * 100%));transition:transform 1.1s var(--asc-ease)}
@media (max-width:960px){.asc-topbar__agent{display:none}}
@media (max-width:760px){.asc-topbar__tag,.asc-topbar__link{display:none}.asc-topbar__logo img{height:32px}}

/* ---------- 4 · HERO (the website's hero, rebuilt) --------------------- */
/* Layering = exactly the site: looping cloud video BEHIND a mountain photo
   whose sky is partly transparent, at .93 opacity. A still cloud poster
   sits under the video so the sky is never empty (reduced motion,
   Save-Data, Low Power Mode, or while the video loads).
   The hero must directly follow the top bar (the negative margin slides it
   under the transparent bar). */
.asc-hero{
  position:relative;isolation:isolate;overflow:hidden;
  margin-top:calc(-1 * (var(--asc-bar-h) + env(safe-area-inset-top,0px)));
  padding-top:calc(var(--asc-bar-h) + env(safe-area-inset-top,0px));
  background:#0b1422 url(assets/web/hero-clouds-poster.jpg) center 60%/cover no-repeat;color:#fff;
  min-height:clamp(560px,82vh,760px);
  display:grid;align-items:end;
}
.asc-hero__clouds{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-4;opacity:0;transition:opacity 1.6s var(--asc-ease)}
.asc-hero__clouds.is-playing{opacity:1}
.asc-hero__mountain{
  position:absolute;inset:0;z-index:-3;opacity:.93;
  background:url(assets/web/hero-mountain.jpg) center 12%/cover no-repeat;
  -webkit-mask:url(assets/web/hero-mountain-mask.png) center 12%/cover no-repeat;
          mask:url(assets/web/hero-mountain-mask.png) center 12%/cover no-repeat;
  transform:scale(1.04);transform-origin:50% 0;
  animation:asc-hero-settle 3.2s var(--asc-ease) both;
}
@keyframes asc-hero-settle{from{transform:scale(1.1)}to{transform:scale(1.04)}}
.asc-hero__shade{
  position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(40% 40% at 82% 80%,rgba(5,12,24,.42),rgba(5,12,24,0) 70%),
    linear-gradient(90deg,rgba(5,12,24,.5) 0%,rgba(5,12,24,.2) 36%,rgba(5,12,24,0) 55%),
    linear-gradient(0deg,rgba(5,12,24,.62) 0%,rgba(5,12,24,0) 42%),
    linear-gradient(180deg,rgba(5,12,24,.3) 0%,rgba(5,12,24,0) 22%);
}
.asc-hero__inner{
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  align-items:end;gap:clamp(24px,4vw,64px);
  padding-block:clamp(40px,7vw,96px) clamp(44px,6vw,84px);
}
.asc-hero__copy{display:grid;gap:18px;justify-items:start;min-width:0}
.asc-hero__title{color:#fff;font:700 clamp(58px,9.6vw,132px)/.86 var(--asc-font-display);letter-spacing:.01em;text-transform:uppercase;text-shadow:0 6px 40px rgba(0,0,0,.35);margin:0}
.asc-stamp{
  display:inline-block;font:400 clamp(24px,3.6vw,50px)/1 var(--asc-font-stamp);letter-spacing:.24em;text-transform:uppercase;
  -webkit-mask:var(--asc-distress) 0 0/260px 260px repeat;mask:var(--asc-distress) 0 0/260px 260px repeat;
}
.asc-hero__title .asc-stamp{display:block;margin-top:.34em;font-size:.42em;letter-spacing:.26em;color:#fff}
.asc-hero__lede{font:700 16px/1.6 var(--asc-font-body);color:#fff;max-width:46ch;text-shadow:0 2px 16px rgba(0,0,0,.55)}
.asc-hero__lede span{display:block;font-weight:400;color:#e7f0f8}
.asc-hero__count{display:inline-flex;align-items:center;gap:10px;font:600 15px/1.3 var(--asc-font-display);color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.asc-hero__count img{width:22px;height:auto;flex:none}
.asc-hero__count b{font-weight:800}
.asc-hero__cta{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-bottom:clamp(40px,7vw,120px);min-width:0}
.asc-hero__cta small{font:600 13px/1.4 var(--asc-font-body);letter-spacing:.04em;color:#eef5fb;padding-left:100px;text-shadow:0 1px 10px rgba(0,0,0,.7)}
.asc-hero__pause{position:absolute;right:max(16px,env(safe-area-inset-right,0px));bottom:14px;z-index:2;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(6,16,30,.5);color:#fff;cursor:pointer}
.asc-hero__pause svg{width:14px;height:14px}
.asc-hero__pause:focus-visible{outline:2px solid #fff;outline-offset:2px}
/* entrance — Elementor "fadeInUp / animated-slow" on the site's hero */
.asc-rise{animation:asc-rise 1.4s var(--asc-ease) both}
.asc-rise--2{animation-delay:.15s}.asc-rise--3{animation-delay:.3s}.asc-rise--4{animation-delay:.45s}.asc-rise--5{animation-delay:.7s}
@keyframes asc-rise{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
@media (max-width:1100px){
  .asc-hero__inner{grid-template-columns:minmax(0,1fr);align-items:start}
  .asc-hero__cta{padding-bottom:0}
  .asc-hero__cta small{padding-left:0}
}
@media (max-width:860px){
  .asc-hero{min-height:0}
  .asc-hero__inner{grid-template-columns:1fr;align-items:start;padding-block:56px 64px}
  .asc-hero__cta{padding-bottom:0}
  .asc-hero__cta small{padding-left:0}
  .asc-hero__mountain{background-image:url(assets/web/hero-mountain-sm.jpg);background-position:62% 30%;-webkit-mask-position:62% 30%;mask-position:62% 30%}
  .asc-hero__shade{background:linear-gradient(180deg,rgba(5,12,24,.62) 0%,rgba(5,12,24,.55) 22%,rgba(5,12,24,.55) 70%,rgba(5,12,24,.7) 100%)}
}

/* ---------- 5 · BLUE STONE BAND --------------------------------------- */
/* Site: #124873 + blue radial wallpaper + stone photo @ 11% overlay-blend,
   0 0 10px shadow, 24px Open Sans 600 white, 125px min height. */
.asc-band{
  position:relative;isolation:isolate;overflow:hidden;
  background:var(--asc-brand-navy) url(assets/web/band-texture.jpg) center/cover;
  box-shadow:0 0 10px rgba(0,0,0,.5);
  color:#fff;text-align:center;
  padding-block:clamp(30px,4vw,44px);
}
.asc-band::before{content:"";position:absolute;inset:0;z-index:-1;background:url(assets/web/paper-texture.jpg) center/cover;opacity:.11;mix-blend-mode:overlay}
.asc-band p{font:600 clamp(18px,2.1vw,24px)/1.6 var(--asc-font-body);max-width:52ch;margin-inline:auto;text-wrap:balance;text-shadow:0 1px 12px rgba(6,26,48,.35)}
.asc-band em{font-weight:700;font-style:italic}
.asc-band--compact{padding-block:22px}
.asc-band--compact p{font-size:clamp(17px,1.8vw,20px)}
@media (min-width:1025px){.asc-band::before{background-attachment:fixed}}
@media (max-width:1142px){.asc-band{background-image:linear-gradient(rgba(18,72,115,.3),rgba(18,72,115,.3)),url(assets/web/band-texture.jpg)}}
@media (max-width:760px){.asc-band{background-image:linear-gradient(rgba(18,72,115,.5),rgba(18,72,115,.5)),url(assets/web/band-texture.jpg)}}

/* ---------- 6 · SECTIONS + HEADINGS (paper) ---------------------------- */
.asc-main{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(56px,7vw,96px);padding-block:clamp(56px,7vw,96px) clamp(72px,8vw,120px)}
.asc-main--dense{gap:28px;padding-block:36px 72px}
.asc-section{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(22px,2.6vw,32px)}
.asc-section--form{width:100%;max-width:960px;margin-inline:auto}
.asc-heading{display:grid;gap:10px}
.asc-heading h2{font:700 clamp(21px,2.2vw,25px)/1.25 var(--asc-font-display);text-transform:uppercase;color:var(--asc-heading);letter-spacing:.01em}
.asc-heading h3{font:600 18px/1.3 var(--asc-font-display)}
.asc-heading p{color:var(--asc-muted);max-width:68ch}
.asc-heading--center{justify-items:center;text-align:center}
.asc-kicker{font:600 12px/1.2 var(--asc-font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--asc-heading-accent)}
.asc-divider{width:75%;margin-inline:auto;border:0;border-top:2px solid var(--asc-rule-strong);opacity:.8}

/* "Is Ascension right for you?" checkmark grid (centered) or list (left) */
.asc-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(24px,3vw,40px)}
.asc-check{display:grid;justify-items:center;text-align:center;gap:8px}
.asc-check svg{width:58px;height:44px;color:var(--asc-heading-accent)}
.asc-check h3{font:400 clamp(20px,2vw,25px)/1.3 var(--asc-font-display);color:var(--asc-ink)}
.asc-check p{color:var(--asc-ink-2);max-width:34ch}
.asc-checks--list{grid-template-columns:minmax(0,1fr);gap:22px}
.asc-checks--list .asc-check{grid-template-columns:48px minmax(0,1fr);column-gap:16px;row-gap:2px;justify-items:start;text-align:left}
.asc-checks--list .asc-check svg{width:44px;height:34px;grid-row:span 2;margin-top:2px}

/* Split — illustration left, copy right ("Real agents. Real growth.") */
.asc-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.asc-split__media img{display:block;width:100%;border-radius:5px}
@media (max-width:860px){.asc-split{grid-template-columns:minmax(0,1fr)}}

/* ---------- 7 · CARRIER CARDS ----------------------------------------- */
.asc-climb{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(22px,2.6vw,30px)}
.asc-card{
  position:relative;isolation:isolate;background:var(--asc-surface);
  border:1px solid var(--asc-rule);border-radius:var(--asc-radius-lg);
  box-shadow:var(--asc-shadow-card);
  transition:border-color .45s var(--asc-ease);
}
.asc-card::after{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;box-shadow:var(--asc-shadow-lift);opacity:0;transition:opacity .45s var(--asc-ease);pointer-events:none}
.asc-card:hover::after{opacity:1}
.asc-card__head{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px 18px;
  padding:20px clamp(18px,3vw,32px);border-bottom:1px solid var(--asc-rule);
}
.asc-card__head h2,.asc-card__head h3{font:600 clamp(18px,1.9vw,21px)/1.25 var(--asc-font-display);color:var(--asc-heading);text-transform:none}
.asc-card__sub{font:400 13.5px/1.4 var(--asc-font-body);color:var(--asc-muted);margin-top:3px}
.asc-card__body{padding:clamp(20px,3vw,30px) clamp(18px,3vw,32px) clamp(24px,3vw,32px);display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.asc-card__body > p,.asc-stage p,.asc-review__body p,.asc-card__body .asc-copytext{color:var(--asc-ink-2);max-width:72ch}
.asc-card__body :where(b,strong){color:var(--asc-ink)}
.asc-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;min-width:0}
.asc-card__foot{padding:14px clamp(18px,3vw,32px);border-top:1px solid var(--asc-rule);font-size:13.5px;color:var(--asc-muted);display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
@media (max-width:560px){
  .asc-card__head{grid-template-columns:auto minmax(0,1fr)}
  .asc-card__head .asc-badge{grid-column:1 / -1;justify-self:start}
}

/* Camp medallion — the site's cracked-stone blue circle, numbered */
.asc-camp{
  --size:48px;
  position:relative;width:var(--size);height:var(--size);flex:none;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(rgba(9,90,152,.6),rgba(9,90,152,.6)),url(assets/web/stone-blue.jpg) center/180% no-repeat,var(--asc-brand-medal);
  border:2.5px solid #fff;box-shadow:0 0 0 1px var(--asc-rule),0 4px 12px -4px rgba(9,40,72,.45);
  color:#fff;font:400 20px/1 var(--asc-font-stamp);letter-spacing:.06em;
}
.asc-camp span{translate:.05em .05em}
.asc-camp small{position:absolute;top:-9px;left:50%;translate:-50% 0;font:600 8.5px/1 var(--asc-font-display);letter-spacing:.2em;color:var(--asc-muted);background:var(--asc-surface);padding:1px 4px;border-radius:3px;white-space:nowrap}
.asc-camp--base{background:radial-gradient(circle at 50% 30%,rgba(24,164,232,.3),rgba(18,72,115,0) 70%),var(--asc-brand-navy)}
.asc-camp--base img{width:58%}

/* Card states */
.asc-card.is-live{border-color:var(--asc-good-line)}
.asc-card.is-live .asc-camp,.asc-trailhead details:has(> summary .asc-badge--live) .asc-camp,.asc-trailhead details.is-live .asc-camp{background:var(--asc-good-solid)}
/* Submitted / locked: the copy stays readable, selectable and exposed to
   assistive tech (AA). Only controls are blocked — the intake renders them
   disabled (links without href); never inert or aria-hide the copy.
   pointer-events is a courtesy; the server is the guard. */
.asc-card.is-locked .asc-lockable :is(a,button,input,select,textarea,label,.asc-drop,.asc-choice,.asc-sign__pad){pointer-events:none}
.asc-card.is-locked .asc-lockable :is(button,.asc-drop,.asc-sign__pad){opacity:.6}

/* Collapsible rows for the rest of the climb */
.asc-trailhead{display:grid;border:1px solid var(--asc-rule);border-radius:var(--asc-radius-lg);background:var(--asc-surface);box-shadow:var(--asc-shadow-card);overflow:hidden}
.asc-trailhead details{border-top:1px solid var(--asc-rule)}
.asc-trailhead details:first-child{border-top:0}
.asc-trailhead summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px 14px;padding:12px clamp(14px,2.6vw,26px);transition:background-color .25s}
.asc-trailhead summary::-webkit-details-marker{display:none}
.asc-trailhead summary:hover{background:var(--asc-surface-2)}
.asc-trailhead summary:focus-visible{outline-offset:-3px}
.asc-trailhead summary .asc-camp{--size:36px;font-size:16px;border-width:2px}
.asc-row-title{display:block;font:600 15.5px/1.3 var(--asc-font-display);color:var(--asc-heading)}
.asc-row-sub{display:block;font-size:13px;line-height:1.45;color:var(--asc-muted)}
.asc-chev{width:18px;height:18px;color:var(--asc-muted);transition:transform .3s var(--asc-ease)}
.asc-trailhead details[open] .asc-chev{transform:rotate(180deg)}
.asc-row-body{padding:4px clamp(14px,2.6vw,26px) 18px calc(clamp(14px,2.6vw,26px) + 50px);color:var(--asc-ink-2);font-size:15px;display:grid;gap:8px}
@media (max-width:560px){
  .asc-trailhead summary{grid-template-columns:auto minmax(0,1fr) auto}
  .asc-trailhead summary .asc-badge{grid-column:2;grid-row:2;justify-self:start}
  .asc-trailhead summary .asc-chev{grid-column:3;grid-row:1 / span 2;align-self:center}
  .asc-row-body{padding-left:clamp(14px,2.6vw,26px)}
}

/* ---------- 8 · BADGES ------------------------------------------------- */
.asc-badge{
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  font:600 11.5px/1 var(--asc-font-display);letter-spacing:.08em;text-transform:uppercase;
  padding:8px 13px;border-radius:999px;border:1px solid transparent;
  transition:background-color .5s var(--asc-ease),color .5s var(--asc-ease),border-color .5s var(--asc-ease);
}
.asc-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.asc-badge--todo{color:var(--asc-muted);background:var(--asc-surface-2);border-color:var(--asc-rule)}
.asc-badge--todo::before{background:transparent;box-shadow:inset 0 0 0 1.5px currentColor}
.asc-badge--move{color:var(--asc-info);background:var(--asc-info-bg);border-color:var(--asc-info-line)}
.asc-badge--setup{color:var(--asc-warn);background:var(--asc-warn-bg);border-color:var(--asc-warn-line)}
.asc-badge--setup::before{animation:asc-blink 1.6s ease-in-out 3}
.asc-badge--sent{color:var(--asc-heading-accent);background:var(--asc-accent-soft);border-color:var(--asc-info-line)}
.asc-badge--live{color:var(--asc-good);background:var(--asc-good-bg);border-color:var(--asc-good-line)}
.asc-badge--live::before{box-shadow:0 0 0 3px var(--asc-good-line)}
.asc-badge--hold{color:var(--asc-info);background:var(--asc-lock-bg);border-color:var(--asc-info-line)}   /* quote-only: never green */
.asc-badge--hold::before{border-radius:1px}
.asc-badge--bad{color:var(--asc-bad);background:var(--asc-bad-bg);border-color:var(--asc-bad-line)}
@keyframes asc-blink{50%{opacity:.35}}

/* ---------- 9 · BUTTONS ----------------------------------------------- */
/* 9a · The Ascent Button — the site's "CLICK TO BEGIN YOUR ASCENT", in CSS.
   Hero/short CTAs only; it never wraps. Medallion 1.5× the pill, like the
   brand art. Label ≥24px in the hero (large text) on the site's cerulean;
   smaller sizes switch to the deeper #0077C0 family for AA. */
.asc-ascent{
  --h:56px;
  display:inline-flex;align-items:center;flex:none;max-width:100%;
  padding:0;border:0;background:none;cursor:pointer;text-decoration:none;color:#fff;
  font:inherit;-webkit-tap-highlight-color:transparent;
  filter:drop-shadow(0 8px 16px rgba(9,40,72,.34));
  transition:transform .35s var(--asc-ease),filter .35s var(--asc-ease);
}
.asc-ascent:hover{color:#fff}
.asc-ascent__medal{
  position:relative;z-index:1;flex:none;
  width:calc(var(--h) * 1.5);height:calc(var(--h) * 1.5);border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(180deg,var(--asc-brand-medal),#135693);
  border:3.5px solid #fff;box-shadow:inset 0 0 18px rgba(0,0,0,.28);
}
.asc-ascent__medal img,.asc-ascent__medal svg{width:58%;height:auto;display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.asc-ascent__bar{
  position:relative;overflow:hidden;min-width:0;
  height:var(--h);margin-left:calc(var(--h) * -.48);
  display:flex;align-items:center;
  padding:0 calc(var(--h) * .56) 0 calc(var(--h) * .66);
  border:3.5px solid #fff;border-radius:999px;
  background:linear-gradient(180deg,rgba(12,110,176,.86),rgba(9,90,152,.9)),url(assets/web/stone-blue.jpg) center 30%/cover,var(--asc-brand-blue);
  font:400 calc(var(--h) * .4)/1 var(--asc-font-stamp);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;
}
.asc-ascent__label{translate:0 .04em}
@media (min-width:421px){
  .asc-hero .asc-ascent:not(.asc-ascent--sm):not(.asc-ascent--md) .asc-ascent__bar{background:linear-gradient(180deg,rgba(21,150,219,.72),rgba(17,133,199,.8)),url(assets/web/stone-blue.jpg) center 30%/cover,var(--asc-brand-cerulean)}
  .asc-hero .asc-ascent:not(.asc-ascent--sm):not(.asc-ascent--md) .asc-ascent__label{-webkit-mask:var(--asc-distress) 0 0/300px repeat;mask:var(--asc-distress) 0 0/300px repeat}
}
.asc-ascent__bar::after{content:"";position:absolute;top:-2px;bottom:-2px;left:-50%;width:42%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(0) skewX(-20deg);pointer-events:none}
.asc-ascent:hover{transform:translateY(-2px);filter:drop-shadow(0 14px 22px rgba(9,40,72,.42)) drop-shadow(0 0 18px rgba(24,164,232,.35))}
.asc-ascent:hover .asc-ascent__bar::after{animation:asc-sheen .95s var(--asc-ease)}
.asc-ascent:active{transform:translateY(0) scale(.985)}
.asc-ascent:focus-visible{outline:2px solid transparent}
.asc-ascent:focus-visible .asc-ascent__bar,.asc-ascent:focus-visible .asc-ascent__medal{box-shadow:0 0 0 3px #0b1422,0 0 0 6px #fff}
.asc-ascent[disabled],.asc-ascent[aria-disabled="true"]{cursor:default;transform:none;filter:grayscale(.55) opacity(.55)}
.asc-ascent[disabled] .asc-ascent__bar::after{display:none}
.asc-hero .asc-ascent{--h:62px}
.asc-ascent--md{--h:46px}
.asc-ascent--sm{--h:40px}
.asc-ascent--sm .asc-ascent__bar,.asc-ascent--sm .asc-ascent__medal{border-width:2.5px}
@keyframes asc-sheen{to{transform:translateX(420%) skewX(-20deg)}}
@media (max-width:420px){.asc-hero .asc-ascent{--h:50px}.asc-ascent__bar{letter-spacing:.14em;padding-right:18px}}

/* 9b · The confirm button — every "✅ I…" control and "Send to Kyle for …
   submission.". Labels are locked copy up to 77 chars, so it WRAPS. Same
   stone texture + white ring + medallion family, on the site's #0077C0
   form-submit blue so white text is ≥4.8:1.
   Keep the intake's native confirm() + synchronous disable exactly as is. */
.asc-go{
  --ring:var(--asc-brand-medal);
  position:relative;display:inline-flex;align-items:center;gap:14px;max-width:100%;
  min-height:56px;padding:8px 24px 8px 8px;border-radius:30px;cursor:pointer;
  border:2.5px solid #fff;box-shadow:0 0 0 1.5px var(--ring),0 10px 22px -10px rgba(9,40,72,.55);
  background:linear-gradient(180deg,rgba(12,110,176,.86),rgba(9,90,152,.9)),url(assets/web/stone-blue.jpg) center 30%/cover,var(--asc-brand-blue);
  color:#fff;text-align:left;text-decoration:none;
  font:600 15.5px/1.35 var(--asc-font-display);letter-spacing:.005em;text-wrap:balance;overflow-wrap:anywhere;
  transition:transform .3s var(--asc-ease),box-shadow .3s var(--asc-ease),filter .3s;
  overflow:hidden;isolation:isolate;
}
.asc-go:hover{color:#fff}
.asc-go__medal{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,var(--asc-brand-medal),#135693);border:2px solid #fff}
.asc-go__medal img{width:60%;height:auto}
.asc-go::after{content:"";position:absolute;top:0;bottom:0;left:-50%;width:36%;z-index:-1;background:linear-gradient(105deg,transparent,rgba(255,255,255,.3),transparent);transform:translateX(0) skewX(-20deg)}
.asc-go:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 0 0 1.5px var(--ring),0 16px 28px -12px rgba(9,40,72,.6),0 0 22px rgba(24,164,232,.28)}
.asc-go:not(:disabled):hover::after{animation:asc-sheen .95s var(--asc-ease)}
.asc-go:active{transform:none}
.asc-go:focus-visible{outline:3px solid var(--asc-accent);outline-offset:4px}
.asc-go:disabled,.asc-go[aria-disabled="true"]{cursor:default;transform:none;filter:grayscale(.6) opacity(.6)}
.asc-go:disabled::after{display:none}
.asc-go--submit{padding-left:24px}              /* "Send to Kyle for … submission." — no medallion */
@media (max-width:480px){.asc-go{width:100%;font-size:15px}}

/* 9c · Secondary + quiet buttons */
.asc-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:100%;min-width:0;
  min-height:44px;padding:10px 18px;border-radius:var(--asc-radius);
  font:600 14px/1.25 var(--asc-font-display);letter-spacing:.03em;text-decoration:none;text-align:center;overflow-wrap:anywhere;cursor:pointer;
  border:1.5px solid var(--asc-heading-accent);color:var(--asc-heading-accent);background:transparent;
  transition:background-color .25s,color .25s,border-color .25s,transform .25s var(--asc-ease);
}
.asc-btn svg{width:18px;height:18px;flex:none}
.asc-btn:not([disabled]):hover{background:var(--asc-accent-soft);border-color:var(--asc-accent);color:var(--asc-accent-ink);transform:translateY(-1px)}
.asc-btn--solid{background:var(--asc-brand-blue);border-color:var(--asc-brand-blue);color:#fff}
.asc-btn--solid:not([disabled]):hover{background:#265E9A;border-color:#265E9A;color:#fff}
.asc-btn--quiet{border-color:transparent;padding-inline:8px;color:var(--asc-accent-ink)}
.asc-btn--quiet:not([disabled]):hover{background:var(--asc-accent-soft);border-color:transparent}
.asc-btn--sm{min-height:34px;padding:5px 12px;font-size:12.5px}
.asc-btn[disabled]{opacity:.55;cursor:default;transform:none}
.asc-ext svg{transition:transform .3s var(--asc-ease)}
.asc-ext:hover svg{transform:translate(2px,-2px)}

/* 9d · "…? Email Kyle" links (up to 88 chars; they wrap) */
.asc-mailto{display:inline-flex;align-items:flex-start;gap:8px;max-width:100%;font:400 14px/1.5 var(--asc-font-body);color:var(--asc-muted);text-decoration:none}
.asc-mailto svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--asc-accent-ink)}
.asc-mailto > span{text-decoration:underline;text-decoration-color:var(--asc-rule-strong);text-underline-offset:3px;overflow-wrap:anywhere}
.asc-mailto:hover{color:var(--asc-muted)}
.asc-mailto:hover > span{color:var(--asc-link-hover);text-decoration-color:currentColor}
.asc-mailto--strong{font-weight:600;color:var(--asc-accent-ink)}

/* ---------- 10 · FORMS ------------------------------------------------- */
.asc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
.asc-fields--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.asc-field--wide{grid-column:1 / -1}
@media (max-width:680px){.asc-fields,.asc-fields--3{grid-template-columns:minmax(0,1fr)}}
.asc-field{display:grid;gap:7px;align-content:start;min-width:0}
.asc-label{font:600 14px/1.35 var(--asc-font-display);color:var(--asc-ink-2)}
.asc-label .asc-opt{font:400 13px var(--asc-font-body);color:var(--asc-muted)}
.asc-help{display:block;font-size:13px;line-height:1.5;color:var(--asc-muted)}      /* helper text under a field */
.asc-input,.asc-select,.asc-textarea{
  width:100%;min-height:48px;padding:11px 14px;
  font:400 16px/1.4 var(--asc-font-body);color:var(--asc-ink);
  background:var(--asc-field);border:1.5px solid var(--asc-field-border);border-radius:var(--asc-radius);
  transition:border-color .25s var(--asc-ease),box-shadow .25s var(--asc-ease),background-color .25s;
  appearance:none;-webkit-appearance:none;
}
.asc-textarea{min-height:110px;resize:vertical}
.asc-input::placeholder,.asc-textarea::placeholder{color:var(--asc-placeholder);opacity:1}
.asc-input:not([readonly]):not(:disabled):hover,.asc-select:not(:disabled):hover,.asc-textarea:not([readonly]):not(:disabled):hover{border-color:var(--asc-field-hover)}
.asc-input:focus,.asc-select:focus,.asc-textarea:focus{outline:2px solid transparent;border-color:var(--asc-accent);box-shadow:0 0 0 1px var(--asc-accent)}
.asc-input:focus-visible,.asc-select:focus-visible,.asc-textarea:focus-visible{outline:2px solid var(--asc-accent);outline-offset:2px}
.asc-select{padding-right:42px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 7.5l5 5 5-5' fill='none' stroke='%237f8d9c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px}
/* read-only (stamped dates, printed names, constants) never looks editable */
.asc-input[readonly],.asc-textarea[readonly]{background:var(--asc-lock-bg);border-color:var(--asc-lock-line);border-style:dashed;color:var(--asc-ink-2);cursor:default}
.asc-input[readonly]:focus,.asc-textarea[readonly]:focus{border-color:var(--asc-lock-line);box-shadow:none}
.asc-input:disabled,.asc-select:disabled,.asc-textarea:disabled{background:var(--asc-surface-sunk);color:var(--asc-muted);cursor:not-allowed}
/* SSN: keep the intake's data-nosave input exactly as it is (type="text");
   the skin only masks the glyphs. Never switch it to type="password". */
.asc-input--secure{font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;letter-spacing:.12em;-webkit-text-security:disc}
/* invalid states */
.asc-input[aria-invalid="true"],.asc-select[aria-invalid="true"],.asc-textarea[aria-invalid="true"]{border-color:var(--asc-bad)}
.asc-input[aria-invalid="true"]:focus,.asc-select[aria-invalid="true"]:focus,.asc-textarea[aria-invalid="true"]:focus{border-color:var(--asc-bad);box-shadow:var(--asc-focus-ring-bad)}
.asc-error{font:600 13px/1.4 var(--asc-font-body);color:var(--asc-bad)}
.asc-prefill{display:inline-flex;align-items:center;gap:6px;font:600 11px/1 var(--asc-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--asc-good)}

/* Yes / No — styles the intake's own radios; the intake keeps its logic */
.asc-question{display:grid;gap:10px;min-width:0}
fieldset.asc-question{border:0;margin:0;padding:0;min-inline-size:0}
.asc-question > legend{float:left;width:100%;padding:0}
.asc-question + .asc-question{border-top:1px solid var(--asc-rule);padding-top:16px;margin-top:16px}
.asc-question__q{font:600 15px/1.45 var(--asc-font-display);color:var(--asc-ink)}
.asc-question__q .asc-qn{color:var(--asc-heading-accent);margin-right:6px}
.asc-choices{display:flex;flex-wrap:wrap;gap:10px;clear:both}
.asc-choice{position:relative;display:inline-flex}
.asc-choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.asc-choice span{
  display:inline-flex;align-items:center;justify-content:center;min-width:76px;min-height:44px;padding:8px 20px;
  border:1.5px solid var(--asc-field-border);border-radius:999px;background:var(--asc-field);
  font:600 14px/1 var(--asc-font-display);color:var(--asc-ink-2);
  transition:background-color .25s var(--asc-ease),border-color .25s var(--asc-ease),color .25s var(--asc-ease);
}
.asc-choice:hover input:not(:disabled) + span{border-color:var(--asc-field-hover)}
.asc-choice input:checked + span{background:var(--asc-selected);border-color:var(--asc-selected);color:#fff}
.asc-choice input:focus-visible + span{outline:2px solid var(--asc-accent);outline-offset:2px}
.asc-choice input:disabled{cursor:not-allowed}
.asc-choice input:disabled + span{opacity:.55}
.asc-choices.is-invalid .asc-choice span,[role="radiogroup"][aria-invalid="true"] .asc-choice span{border-color:var(--asc-bad)}
/* the Yes-branch block — presentation only; the intake toggles [hidden] */
.asc-reveal-more{display:grid;gap:10px;padding:14px 16px;border-radius:var(--asc-radius);background:var(--asc-surface-2);border:1px dashed var(--asc-field-border);clear:both}
.asc-reveal-more:not([hidden]){animation:asc-pop-in .35s var(--asc-ease)}
@keyframes asc-pop-in{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}

/* Checkbox confirmations — navy check, the site's checkmark */
.asc-checkbox{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:start;cursor:pointer;font-size:15px;color:var(--asc-ink-2)}
.asc-checkbox input{appearance:none;-webkit-appearance:none;width:24px;height:24px;margin:1px 0 0;border:1.5px solid var(--asc-field-border);border-radius:4px;background:var(--asc-field);display:grid;place-items:center;cursor:pointer;transition:background-color .2s,border-color .2s}
.asc-checkbox input::after{content:"";width:13px;height:7px;border:solid #fff;border-width:0 0 3px 3px;rotate:-45deg;translate:0 -2px;scale:0;transition:scale .25s var(--asc-ease-pop)}
.asc-checkbox input:checked{background:var(--asc-selected);border-color:var(--asc-selected)}
.asc-checkbox input:checked::after{scale:1}
.asc-checkbox input:focus-visible{outline:2px solid var(--asc-accent);outline-offset:2px}
.asc-checkbox input:disabled{cursor:not-allowed;opacity:.55}
.asc-checkbox input[aria-invalid="true"]{border-color:var(--asc-bad)}

/* Toggle / switch (Wright "physical same as mailing?") — a real checkbox */
.asc-toggle{display:inline-flex;align-items:center;gap:12px;cursor:pointer;font:600 14px/1.35 var(--asc-font-display);color:var(--asc-ink-2)}
.asc-toggle input{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:46px;height:26px;margin:0;border-radius:999px;border:1.5px solid var(--asc-field-border);background:var(--asc-surface-sunk);cursor:pointer;transition:background-color .25s,border-color .25s}
.asc-toggle input::after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.35);transition:transform .25s var(--asc-ease)}
.asc-toggle input:checked{background:var(--asc-selected);border-color:var(--asc-selected)}
.asc-toggle input:not(:checked)::after{background:var(--asc-field-hover);box-shadow:none}
.asc-toggle input:checked::after{transform:translateX(20px)}
.asc-toggle input:focus-visible{outline:2px solid var(--asc-accent);outline-offset:2px}

/* Dropzone — the native <input type=file> stays in charge */
.asc-drop{
  position:relative;display:grid;justify-items:center;gap:6px;text-align:center;cursor:pointer;
  padding:26px 20px;border:2px dashed var(--asc-field-border);border-radius:var(--asc-radius-lg);
  background:var(--asc-surface-2);color:var(--asc-muted);font-size:14.5px;overflow-wrap:anywhere;
  transition:border-color .3s var(--asc-ease),background-color .3s,color .3s;
}
.asc-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.asc-drop svg{width:30px;height:30px;color:var(--asc-accent)}
.asc-drop b{color:var(--asc-ink);font-family:var(--asc-font-display);font-weight:600}
.asc-drop:not(.is-locked):not(:has(input:disabled)):hover,.asc-drop.is-over{border-color:var(--asc-accent);background:var(--asc-accent-soft);color:var(--asc-ink-2)}
.asc-drop:has(input:focus-visible){outline:2px solid var(--asc-accent);outline-offset:2px}
.asc-drop.is-filled{border-style:solid;border-color:var(--asc-good-line);background:var(--asc-good-bg);color:var(--asc-good)}
.asc-drop.is-filled svg{color:var(--asc-good)}
.asc-drop.is-error{border-color:var(--asc-bad);background:var(--asc-bad-bg);color:var(--asc-bad)}
.asc-drop.is-uploading{pointer-events:none;border-style:solid;overflow:hidden}
.asc-drop.is-uploading::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:40%;background:var(--asc-accent);animation:asc-upload 1.1s linear infinite}
@keyframes asc-upload{from{transform:translateX(-100%)}to{transform:translateX(250%)}}
.asc-drop.is-locked,.asc-drop:has(input:disabled){cursor:not-allowed;border-style:solid;background:var(--asc-lock-bg);border-color:var(--asc-lock-line);color:var(--asc-lock)}
.asc-drop:has(input:disabled) input{cursor:not-allowed}

/* ---------- 11 · CALLOUTS, CHIPS, CODES -------------------------------- */
.asc-callout{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:16px 18px;border-radius:var(--asc-radius-lg);border:1px solid;font-size:15px;line-height:1.55}
.asc-callout svg{width:24px;height:24px;margin-top:1px}
.asc-callout--noicon,.asc-callout--plain{grid-template-columns:minmax(0,1fr)}
.asc-callout--warn{background:var(--asc-warn-bg);border-color:var(--asc-warn-line);color:var(--asc-ink)}
.asc-callout--warn svg{color:var(--asc-warn)}
.asc-callout--info{background:var(--asc-info-bg);border-color:var(--asc-info-line);color:var(--asc-ink)}
.asc-callout--info svg{color:var(--asc-info)}
.asc-callout--good{background:var(--asc-good-bg);border-color:var(--asc-good-line);color:var(--asc-ink)}
.asc-callout--good svg{color:var(--asc-good)}
.asc-callout--lock{background:var(--asc-lock-bg);border-color:var(--asc-lock-line);color:var(--asc-ink-2)}
.asc-callout--lock svg{color:var(--asc-lock)}
.asc-callout--loud{border-width:2px;box-shadow:0 8px 20px -14px rgba(180,83,9,.6)}   /* the one loudest thing on a card */
.asc-callout__title{font-family:var(--asc-font-display);font-weight:700}            /* runs into the sentence, as written */
.asc-callout--warn .asc-callout__title{color:var(--asc-warn)}
.asc-callout ul{margin:6px 0 0;padding-left:18px;display:grid;gap:4px}

.asc-chip{
  display:inline-flex;align-items:center;gap:8px;max-width:100%;vertical-align:middle;
  padding:4px 10px;border-radius:999px;border:1px solid var(--asc-rule);background:var(--asc-surface-2);
  font:600 13px/1.3 var(--asc-font-body);color:var(--asc-ink-2);
}
.asc-chip svg{width:15px;height:15px;flex:none;color:var(--asc-accent-ink)}
.asc-chip code{font:500 13px/1.3 ui-monospace,'SF Mono',Menlo,Consolas,monospace;color:var(--asc-ink);overflow-wrap:anywhere;white-space:normal}
b .asc-chip code,strong .asc-chip code{font-weight:700}
.asc-chip--spam{background:var(--asc-warn-bg);border-color:var(--asc-warn-line);color:var(--asc-warn)}
.asc-copy{display:inline-flex;align-items:center;gap:6px;background:var(--asc-surface);border:1px solid var(--asc-rule);color:var(--asc-accent-ink);font:600 12.5px/1 var(--asc-font-display);letter-spacing:.04em;padding:8px 12px;min-height:34px;border-radius:999px;cursor:pointer;transition:border-color .2s,background-color .2s,color .2s}
.asc-copy:hover{border-color:var(--asc-accent)}
.asc-copy.is-done{color:var(--asc-good);border-color:var(--asc-good-line);background:var(--asc-good-bg)}
.asc-copy svg{width:14px;height:14px}

/* Agency / producer code plate (e.g. Travelers 0DVJ33 + phonetics) */
.asc-code{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 18px;padding:14px 18px;border-radius:var(--asc-radius-lg);border:1.5px solid var(--asc-heading-accent);background:var(--asc-surface)}
.asc-code__label{font:600 11px/1.2 var(--asc-font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--asc-muted)}
.asc-code__value{font:700 clamp(24px,3vw,30px)/1 var(--asc-font-display);letter-spacing:.14em;color:var(--asc-heading-accent)}
.asc-code__say{grid-column:1 / -1;font-size:13.5px;color:var(--asc-muted)}
@media (max-width:520px){.asc-code{grid-template-columns:minmax(0,1fr) auto}.asc-code__label{grid-column:1 / -1}}

.asc-secret{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--asc-radius);background:var(--asc-lock-bg);border:1px dashed var(--asc-lock-line);font:500 14px/1 ui-monospace,'SF Mono',Menlo,Consolas,monospace;letter-spacing:.18em;color:var(--asc-ink-2)}
.asc-secret svg{width:15px;height:15px;color:var(--asc-muted)}
.asc-note{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;line-height:1.5;color:var(--asc-muted)}
.asc-note svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--asc-faint)}
.asc-routing{font-size:13px;line-height:1.5;color:var(--asc-faint);font-style:italic}

/* Greenlit / waiting / quote-only messages. Visibility follows [hidden]
   (so a server-rendered persisted message just shows); .is-new plays the
   rise once — greenlight() adds it only on a live transition. */
.asc-msg{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start;padding:16px 18px;border-radius:var(--asc-radius-lg);border:1px solid;font:600 15px/1.5 var(--asc-font-display)}
.asc-msg small{display:block;font:400 14px/1.5 var(--asc-font-body);color:var(--asc-ink-2);margin-top:2px}
.asc-msg.is-new{animation:asc-msg-rise .7s var(--asc-ease)}
.asc-msg--live{background:var(--asc-good-bg);border-color:var(--asc-good-line);color:var(--asc-good)}
.asc-msg--lock{background:var(--asc-lock-bg);border-color:var(--asc-lock-line);color:var(--asc-ink)}
.asc-msg--hold{background:var(--asc-lock-bg);border-color:var(--asc-info-line);color:var(--asc-info)}   /* Travelers quote-only: never green */
.asc-msg--wait{background:var(--asc-info-bg);border-color:var(--asc-info-line);color:var(--asc-ink)}
.asc-msg__mark{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--asc-good-solid)}
.asc-msg__mark img{width:62%;height:auto}
.asc-msg--hold .asc-msg__mark,.asc-msg--wait .asc-msg__mark{background:var(--asc-brand-medal)}
@keyframes asc-msg-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* Access-verified chip — lower weight than a greenlight, never celebrates */
.asc-verified{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;border:1px solid var(--asc-good-line);background:var(--asc-surface);font:600 12.5px/1.2 var(--asc-font-display);color:var(--asc-good);letter-spacing:.02em}
.asc-verified.is-new{animation:asc-pop-in .45s var(--asc-ease-pop)}

/* ---------- 11b · STRUCTURE INSIDE A CARD ------------------------------ */
.asc-instructions{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:asc-step}
.asc-instructions > li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;align-items:start;counter-increment:asc-step;color:var(--asc-ink-2)}
.asc-instructions > li::before{content:counter(asc-step);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--asc-selected);color:#fff;font:400 18px/1 var(--asc-font-stamp);letter-spacing:.04em}
.asc-instructions > li > div{display:grid;gap:12px;min-width:0}
.asc-list{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--asc-ink-2)}
.asc-list li::marker{color:var(--asc-heading-accent)}
ol.asc-list li::marker{font-family:var(--asc-font-display);font-weight:600}

/* Two-stage cards: Stage 2 stays fully readable, selectable and exposed to
   assistive tech; the intake renders its controls disabled (links without
   href) until Kyle unlocks it — never inert or aria-hidden. */
.asc-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:clamp(16px,2.4vw,22px);border-radius:var(--asc-radius-lg);border:1px solid var(--asc-rule);background:var(--asc-surface-2)}
.asc-stage--surface{background:var(--asc-surface)}
.asc-stage__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px}
.asc-stage__head h3,.asc-stage__head h4{font:600 16.5px/1.35 var(--asc-font-display);color:var(--asc-ink)}
.asc-stage.is-upcoming{border-style:dashed;background:repeating-linear-gradient(135deg,transparent 0 14px,var(--asc-hatch) 14px 15px),var(--asc-surface-2)}
.asc-stage.is-upcoming :is(a,button,input,select,textarea,label,.asc-drop,.asc-choice){pointer-events:none}
.asc-stage.is-upcoming :is(button,.asc-go,.asc-btn,input,select,textarea,.asc-drop){opacity:.55}
.asc-stage__lock{display:inline-flex;align-items:center;gap:6px;font:600 11.5px/1.2 var(--asc-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--asc-lock);background:var(--asc-surface);border:1px solid var(--asc-lock-line);padding:6px 10px;border-radius:999px}
.asc-stage__lock svg{width:13px;height:13px}

/* Sibling cards (Chubb Personal + Commercial · Foremost family) */
.asc-group{display:grid;gap:16px}
.asc-group__note{display:flex;align-items:center;gap:10px;font:600 14px/1.45 var(--asc-font-display);color:var(--asc-heading-accent)}
.asc-group__note::before{content:"";width:22px;height:2px;background:currentColor;flex:none}
.asc-group__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:clamp(16px,2vw,22px);align-items:start}

/* Pre-filled review panel + read-only constants */
.asc-review{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--asc-rule);border-radius:var(--asc-radius-lg);overflow:hidden;background:var(--asc-surface)}
.asc-review__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;background:var(--asc-surface-2);border-bottom:1px solid var(--asc-rule);font:600 13px/1.3 var(--asc-font-display);color:var(--asc-ink-2)}
.asc-review__body{padding:16px;display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.asc-constants{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:1px;margin:0;border:1px solid var(--asc-lock-line);border-radius:var(--asc-radius-lg);overflow:hidden;background:var(--asc-lock-line)}
.asc-constants div{display:grid;gap:2px;padding:10px 14px;background:linear-gradient(var(--asc-lock-bg),var(--asc-lock-bg)),var(--asc-surface)}
.asc-constants dt{font:600 10.5px/1.3 var(--asc-font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--asc-faint);display:flex;align-items:center;gap:6px}
.asc-constants dd{margin:0;font:600 15px/1.35 var(--asc-font-display);color:var(--asc-ink-2);overflow-wrap:anywhere}

/* State multi-select as checkbox chips (Progressive, Hanover) */
.asc-multi{display:flex;flex-wrap:wrap;gap:8px}
.asc-multi label{position:relative;display:inline-flex}
.asc-multi input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.asc-multi span{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--asc-field-border);background:var(--asc-field);font:600 13.5px/1 var(--asc-font-display);color:var(--asc-ink-2);transition:background-color .2s var(--asc-ease),border-color .2s var(--asc-ease),color .2s}
.asc-multi input:checked + span{border-color:var(--asc-selected);border-width:2px;background:var(--asc-accent-soft);color:var(--asc-heading-accent)}
.asc-multi input:checked + span::before{content:"";width:9px;height:5px;border:solid currentColor;border-width:0 0 2px 2px;rotate:-45deg;translate:0 -1px}
.asc-multi input:focus-visible + span{outline:2px solid var(--asc-accent);outline-offset:2px}
.asc-multi input:disabled{cursor:not-allowed}
.asc-multi input:disabled + span{opacity:.55}
.asc-multi.is-invalid span{border-color:var(--asc-bad)}

/* Verbatim disclosure (Hanover IV–V, NatGen, LM ILP FCRA) */
.asc-disclosure{max-height:220px;overflow:auto;padding:14px 16px;border:1px solid var(--asc-rule);border-radius:var(--asc-radius);background:var(--asc-surface-2);font-size:13.5px;line-height:1.65;color:var(--asc-ink-2);scrollbar-gutter:stable}
.asc-disclosure:focus-visible{outline:2px solid var(--asc-accent);outline-offset:2px}
.asc-disclosure h4{font:600 12px/1.4 var(--asc-font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--asc-heading-accent);margin:0 0 6px}
.asc-disclosure p + p,.asc-disclosure p + h4{margin-top:10px}

/* E-signature pad — always a white sheet with dark ink in both themes, so a
   captured signature is legible on the generated PDF. */
.asc-sign{display:grid;gap:10px}
.asc-sign__pad{position:relative;height:150px;border:1.5px dashed #7f8d9c;border-radius:var(--asc-radius);background:#fff;touch-action:none;cursor:crosshair;color-scheme:light}
.asc-sign__pad canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.asc-sign__pad::after{content:"";position:absolute;left:18px;right:18px;bottom:34px;border-bottom:1.5px solid #afafaf;pointer-events:none}
.asc-sign__hint{position:absolute;left:18px;bottom:10px;font:600 11px/1 var(--asc-font-display);letter-spacing:.14em;text-transform:uppercase;color:#5f6b77;pointer-events:none}
.asc-sign__pad.is-signed{border-style:solid;border-color:#0E7C61}
.asc-sign__pad.is-signed .asc-sign__hint{color:#0E7C61}
.asc-sign__pad.is-invalid{border-style:solid;border-color:var(--asc-bad)}
.asc-sign__pad:focus-visible{outline:2px solid var(--asc-accent);outline-offset:2px}
.asc-sign__row{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:13.5px;color:var(--asc-muted)}

/* Chubb-style blocker: replaces the whole standard flow */
.asc-blocker{display:grid;gap:14px;padding:18px;border-radius:var(--asc-radius-lg);border:1.5px solid var(--asc-warn-line);background:var(--asc-warn-bg)}
.asc-blocker .asc-blocker__title{font:700 16px/1.4 var(--asc-font-display);color:var(--asc-warn)}

/* ---------- 12 · TOUR SLOT -------------------------------------------- */
/* The site's video section: footage under #3279B9 @ .65. The tour iframe
   lives here; before play it shows a branded facade. */
.asc-tour{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--asc-radius-lg);aspect-ratio:16/6;max-height:280px;width:100%;max-width:100%;background:#0e2a47;display:grid;place-items:center;color:#fff}
.asc-tour::before{content:"";position:absolute;inset:0;z-index:-2;background:url(assets/web/hero-mountain-sm.jpg) center 42%/cover;transition:transform 1.2s var(--asc-ease)}
.asc-tour::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(9,30,54,.45),rgba(9,30,54,0) 60%),var(--asc-brand-overlay)}
.asc-tour:hover::before{transform:scale(1.04)}
.asc-tour iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.asc-tour.is-playing,.asc-tour:has(iframe){aspect-ratio:16/9;max-height:none}
.asc-tour__meta{position:absolute;left:16px;right:16px;bottom:12px;display:flex;justify-content:space-between;align-items:end;gap:10px;font:600 12px/1.3 var(--asc-font-display);letter-spacing:.06em;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.asc-tour__meta span:last-child{background:rgba(6,20,36,.65);padding:5px 10px;border-radius:5px;white-space:nowrap;text-shadow:none}
@media (max-width:560px){
  .asc-tour:not(.is-playing):not(.asc-tour--soon):not(:has(iframe)){aspect-ratio:auto;max-height:none;min-height:170px;grid-template-rows:1fr auto;gap:12px;padding:24px 16px 12px}
  .asc-tour:not(.is-playing):not(.asc-tour--soon):not(:has(iframe)) .asc-tour__meta{position:static;justify-self:stretch}
}
/* placeholder until the tour zip arrives (after .asc-tour so it wins) */
.asc-tour.asc-tour--soon{aspect-ratio:auto;max-height:none;min-height:0;padding:18px 20px;place-items:start;background:var(--asc-surface-2);color:var(--asc-ink-2);border:1px dashed var(--asc-field-border);font:600 14.5px/1.5 var(--asc-font-display)}
.asc-tour.asc-tour--soon::before,.asc-tour.asc-tour--soon::after{display:none}

/* ---------- 13 · SUMMIT PROGRESS STRIP -------------------------------- */
/* The site's "YOUR JOURNEY STARTS HERE" mountain: faceted blue peak, dark
   dashed trail, small hollow ring waypoints, navy flag carrying the mark.
   Rendered by AscensionSkin.summit(); labels are a real <ol> for a11y. */
[data-asc-summit]:empty{display:block;aspect-ratio:720/250;max-width:100%}   /* reserve space before JS draws it */
.asc-summit--instant,.asc-summit--instant *{transition:none!important}           /* first paint = persisted state, nothing replays */
.asc-summit{display:grid;gap:10px;margin-block:4px;container-type:inline-size}
.asc-summit__art{position:relative}
.asc-summit svg{display:block;width:100%;height:auto;overflow:visible}
.asc-summit .f1{fill:var(--asc-facet-1)}.asc-summit .f2{fill:var(--asc-facet-2)}.asc-summit .f3{fill:var(--asc-facet-3)}
.asc-summit .f4{fill:var(--asc-facet-4)}.asc-summit .f5{fill:var(--asc-facet-5)}.asc-summit .fs{fill:var(--asc-facet-snow)}
.asc-summit__trail{fill:none;stroke:var(--asc-trail);stroke-width:2.6;stroke-dasharray:7 7;stroke-linecap:round}
.asc-summit__done{fill:none;stroke:var(--asc-trail-done);stroke-width:3.2;stroke-linecap:round;filter:drop-shadow(0 0 5px var(--asc-trail-glow));transition:stroke-dashoffset 1.2s var(--asc-ease)}
.asc-summit__wp circle{fill:var(--asc-wp-hollow);stroke:var(--asc-wp-ring);stroke-width:2.6;transition:fill .5s var(--asc-ease),stroke .5s var(--asc-ease)}
.asc-summit__wp .tick{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16;stroke-dashoffset:16;transition:stroke-dashoffset .5s var(--asc-ease) .12s}
.asc-summit__wp.is-done circle{fill:var(--asc-wp-done);stroke:var(--asc-wp-done)}
.asc-summit__wp.is-done .tick{stroke-dashoffset:0}
.asc-summit__wp.is-current circle{fill:var(--asc-wp-fill);stroke:var(--asc-wp-ring);stroke-width:3}
.asc-summit__wp .pulse{fill:none;stroke:var(--asc-wp-ring);stroke-width:2;opacity:0}
.asc-summit__wp.is-here .pulse{transform-box:fill-box;transform-origin:center;animation:asc-wp-pulse 2s var(--asc-ease) 2}
@keyframes asc-wp-pulse{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(2.4)}}
.asc-summit__wp.is-locked circle{fill:var(--asc-wp-fill);stroke:var(--asc-flag-locked);stroke-width:3;stroke-dasharray:4 3}
.asc-summit__wp.is-skipped circle{fill:var(--asc-wp-fill);stroke:var(--asc-faint);stroke-dasharray:2 3}
.asc-summit__wp.is-live circle{fill:var(--asc-good-solid);stroke:#fff}
.asc-summit__flag{transform-box:fill-box;transform-origin:0% 100%;opacity:.3;transition:opacity .5s}
.asc-summit__flag .pole{stroke:var(--asc-flag-pole);stroke-width:2.6;stroke-linecap:round}
.asc-summit__flag .cloth{fill:var(--asc-flag)}
.asc-summit__flag.is-planted,.asc-summit__flag.is-locked{opacity:1}
.asc-summit__flag.is-locked .cloth{fill:var(--asc-flag-locked)}
.asc-summit__flag.is-locked .pole{stroke:var(--asc-flag-locked)}
.asc-summit__flag.is-planting{animation:asc-plant .8s var(--asc-ease-pop) both}
@keyframes asc-plant{0%{opacity:0;transform:translateY(22px) scaleY(.2)}60%{opacity:1;transform:translateY(-3px) scaleY(1.06)}100%{opacity:1;transform:none}}
.asc-summit__sun{opacity:0;transform-box:fill-box;transform-origin:center}
.asc-summit__sun line{stroke:var(--asc-sun);stroke-width:2;stroke-linecap:round}
.asc-summit__sun.is-burst{animation:asc-sun 1.5s var(--asc-ease) both}
@keyframes asc-sun{0%{opacity:0;transform:scale(.3) rotate(-20deg)}35%{opacity:1}100%{opacity:0;transform:scale(1.35) rotate(12deg)}}
.asc-summit__ring{fill:none;stroke:var(--asc-good-solid);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
.asc-summit__ring.is-burst{animation:asc-ring 1.1s var(--asc-ease) .1s both}
@keyframes asc-ring{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(3)}}

.asc-summit__steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:8px}
.asc-summit__steps li{display:grid;justify-items:center;align-content:start;text-align:center;gap:3px;font:600 12px/1.3 var(--asc-font-display);letter-spacing:.02em;color:var(--asc-muted);overflow-wrap:break-word;hyphens:manual}
.asc-summit__steps li small{font:400 11.5px/1.35 var(--asc-font-body);letter-spacing:0;color:var(--asc-faint)}
.asc-summit__steps li.is-done{color:var(--asc-heading-accent)}
.asc-summit__steps li.is-current{color:var(--asc-ink)}
.asc-summit__steps li.is-current[data-here]::after{content:attr(data-here);font:700 10px/1 var(--asc-font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--asc-accent-ink);margin-top:3px}
.asc-summit__steps li.is-locked{color:var(--asc-faint)}
.asc-summit__steps li.is-skipped{color:var(--asc-faint)}
.asc-summit__steps li.is-skipped > span:first-child{text-decoration:line-through;text-decoration-color:var(--asc-rule-strong)}
.asc-summit__steps li.is-live{color:var(--asc-good)}
.asc-summit__lock{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.5;color:var(--asc-muted);padding:10px 12px;border-radius:var(--asc-radius);background:var(--asc-lock-bg);border:1px solid var(--asc-lock-line)}
/* Narrow: the labels become a vertical trail list. 5–6 step strips switch
   earlier (by their own width) so long labels never hyphenate. */
@media (max-width:600px){
  .asc-summit .asc-summit__steps{grid-template-columns:minmax(0,1fr);gap:0;border-left:2px dashed var(--asc-rule-strong);margin-left:8px;padding-left:14px}
  .asc-summit .asc-summit__steps li{justify-items:start;text-align:left;padding:5px 0;position:relative}
  .asc-summit .asc-summit__steps li::before{content:"";position:absolute;left:-21px;top:9px;width:12px;height:12px;border-radius:50%;background:var(--asc-wp-fill);border:2px solid var(--asc-wp-ring)}
  .asc-summit .asc-summit__steps li.is-done::before{background:var(--asc-wp-done);border-color:var(--asc-wp-done)}
  .asc-summit .asc-summit__steps li.is-current::before{box-shadow:0 0 0 4px var(--asc-accent-soft)}
  .asc-summit .asc-summit__steps li.is-live::before{background:var(--asc-good-solid);border-color:var(--asc-good-solid)}
  .asc-summit .asc-summit__steps li.is-locked::before{border-style:dashed;border-color:var(--asc-flag-locked)}
  .asc-summit .asc-summit__steps li.is-current[data-here]::after{margin-top:0}
}
@container (max-width:640px){
  .asc-summit--n5 .asc-summit__steps,.asc-summit--n6 .asc-summit__steps{grid-template-columns:minmax(0,1fr);gap:0;border-left:2px dashed var(--asc-rule-strong);margin-left:8px;padding-left:14px}
  .asc-summit--n5 .asc-summit__steps li,.asc-summit--n6 .asc-summit__steps li{justify-items:start;text-align:left;padding:5px 0;position:relative}
  .asc-summit--n5 .asc-summit__steps li::before,.asc-summit--n6 .asc-summit__steps li::before{content:"";position:absolute;left:-21px;top:9px;width:12px;height:12px;border-radius:50%;background:var(--asc-wp-fill);border:2px solid var(--asc-wp-ring)}
  .asc-summit--n5 .asc-summit__steps li.is-done::before,.asc-summit--n6 .asc-summit__steps li.is-done::before{background:var(--asc-wp-done);border-color:var(--asc-wp-done)}
  .asc-summit--n5 .asc-summit__steps li.is-live::before,.asc-summit--n6 .asc-summit__steps li.is-live::before{background:var(--asc-good-solid);border-color:var(--asc-good-solid)}
  .asc-summit--n5 .asc-summit__steps li.is-locked::before,.asc-summit--n6 .asc-summit__steps li.is-locked::before{border-style:dashed;border-color:var(--asc-flag-locked)}
  .asc-summit--n5 .asc-summit__steps li.is-current[data-here]::after,.asc-summit--n6 .asc-summit__steps li.is-current[data-here]::after{margin-top:0}
}

/* ---------- 14 · HELP RAIL + BACK TO TOP (site's sticky social rail) --- */
.asc-rail{position:fixed;left:0;top:clamp(120px,16vh,160px);z-index:40;display:grid;background:var(--asc-brand-rail);border-radius:0 6px 6px 0;box-shadow:0 8px 24px -8px rgba(0,0,0,.35);animation:asc-rail-in .9s var(--asc-ease) .8s both}
.asc-rail a{display:grid;place-items:center;width:52px;height:56px;color:#fff;transition:background-color .25s}
.asc-rail a:first-child{border-top-right-radius:6px}.asc-rail a:last-child{border-bottom-right-radius:6px}
.asc-rail a:hover{background:#2e6fa6;color:#fff}
.asc-rail a:hover svg{transform:scale(1.12)}
.asc-rail svg{width:19px;height:19px;transition:transform .25s var(--asc-ease)}
.asc-rail a:focus-visible{outline:2px solid #fff;outline-offset:-4px}
@keyframes asc-rail-in{from{transform:translateX(-100%)}to{transform:none}}
@media (max-width:1279px){.asc-rail{display:none}}
.asc-totop{position:fixed;right:max(clamp(12px,2vw,34px),env(safe-area-inset-right,0px));bottom:calc(clamp(12px,2vw,34px) + env(safe-area-inset-bottom,0px));z-index:40;width:44px;height:44px;display:grid;place-items:center;border-radius:5px;background:#222;color:#fff;border:1px solid rgba(255,255,255,.14);opacity:0;visibility:hidden;translate:0 12px;pointer-events:none;transition:opacity .35s,translate .35s var(--asc-ease),visibility 0s .35s}
.asc-totop:hover{color:#fff;background:#333}
.asc-totop.is-shown{opacity:1;visibility:visible;translate:0 0;pointer-events:auto;transition-delay:0s}
.asc-totop svg{width:18px;height:18px}
.asc-totop:focus-visible{outline:2px solid var(--asc-accent);outline-offset:3px}

/* ---------- 15 · CLOSING STRIP + FOOTER -------------------------------- */
/* Site order: the "where agents go to grow" blue band (use .asc-band),
   then a photo strip under #3279B9 @ .65, then the charcoal footer. */
.asc-grow{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(200px,24vw,320px);display:grid;place-items:center;color:#fff}
.asc-grow__bg{position:absolute;inset:0;z-index:-2;background:url(assets/web/hero-mountain-sm.jpg) center 70%/cover}
.asc-grow::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--asc-brand-overlay)}
.asc-grow__inner{display:grid;justify-items:center;padding-block:36px}
.asc-grow__sticker{width:clamp(120px,15vw,176px);rotate:-6deg;filter:drop-shadow(0 16px 24px rgba(0,0,0,.35));transition:rotate .6s var(--asc-ease-pop)}
.asc-grow__sticker:hover{rotate:2deg}

.asc-footer{background:var(--asc-brand-charcoal);color:#bdbdbd;padding-block:clamp(44px,6vw,72px) calc(clamp(36px,4vw,56px) + env(safe-area-inset-bottom,0px));font-size:14.5px}
.asc-footer__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 48px;align-items:start}
.asc-footer__mark{width:84px;height:auto;display:block;margin-bottom:22px}
.asc-footer p{margin:0 0 10px;line-height:1.6}
.asc-footer a{color:#e8e8e8}
.asc-footer a:hover{color:#fff}
.asc-footer :focus-visible{outline-color:#fff}
.asc-footer h2{font:600 17px/1.2 var(--asc-font-display);text-transform:uppercase;color:#fff;margin:0 0 14px;text-align:right}
.asc-footer__icons{display:flex;gap:6px;justify-content:flex-end}
.asc-footer .asc-footer__icons a{width:44px;height:44px;display:grid;place-items:center;background:#e8e8e8;border-radius:4px;color:#222;transition:background-color .25s,transform .25s var(--asc-ease)}
.asc-footer .asc-footer__icons a:hover{background:#fff;color:#222;transform:translateY(-2px)}
.asc-footer__icons svg{width:20px;height:20px}
.asc-footer .asc-footer__legal{text-align:right;margin-top:26px}
@media (max-width:700px){.asc-footer__grid{grid-template-columns:minmax(0,1fr)}.asc-footer h2,.asc-footer .asc-footer__legal{text-align:left}.asc-footer__icons{justify-content:flex-start}}

/* ---------- 16 · SCROLL ENTRANCE (site: fadeInUp) ----------------------- */
/* Scroll-driven where supported. Transform only — content is never dimmed,
   and a card holding focus never moves. */
@supports (animation-timeline: view()){
  .asc-inview{animation:asc-inview linear both;animation-timeline:view();animation-range:entry 0% entry 30%}
  .asc-inview:focus-within{animation:none}
  @keyframes asc-inview{from{transform:translateY(24px)}to{transform:none}}
}

/* ---------- 17 · ONBOARDING TAB (Kyle) — density over theater ---------- */
/* Tokens + type only inside the Intranet shell: no hero, band or footer. */
.asc-admin{display:grid;gap:18px}
.asc-admin__bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.asc-admin__bar .asc-input,.asc-admin__bar .asc-select{min-height:40px;padding-block:8px;width:auto;font-size:14px}
.asc-admin__bar .asc-input{flex:1 1 220px}
.asc-seg{display:inline-flex;border:1px solid var(--asc-rule);border-radius:999px;background:var(--asc-surface)}
.asc-seg button{border:0;background:none;padding:9px 14px;min-height:36px;font:600 12.5px/1 var(--asc-font-display);color:var(--asc-muted);cursor:pointer;position:relative}
.asc-seg button:first-child{border-radius:999px 0 0 999px}.asc-seg button:last-child{border-radius:0 999px 999px 0}
.asc-seg button[aria-pressed="true"]{background:var(--asc-selected);color:#fff}
.asc-seg button:focus-visible{outline-offset:2px;z-index:1}
.asc-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px}
.asc-kpi{padding:14px 16px;border-radius:var(--asc-radius-lg);background:var(--asc-surface);border:1px solid var(--asc-rule)}
.asc-kpi b{display:block;font:700 26px/1.1 var(--asc-font-display);color:var(--asc-heading-accent);font-variant-numeric:tabular-nums}
.asc-kpi span{display:block;font:600 11.5px/1.3 var(--asc-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--asc-muted)}
.asc-kpi--warn b{color:var(--asc-warn)}.asc-kpi--bad b{color:var(--asc-bad)}.asc-kpi--good b{color:var(--asc-good)}
.asc-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;align-items:center;padding:12px 14px;border-radius:var(--asc-radius-lg);background:var(--asc-warn-bg);border:1px solid var(--asc-warn-line);font-size:14.5px}
.asc-banner > svg{width:20px;height:20px;color:var(--asc-warn)}
@media (max-width:620px){.asc-banner{grid-template-columns:minmax(0,1fr)}.asc-banner .asc-btn{justify-self:start}}
.asc-table-wrap{overflow:auto;max-height:min(72vh,760px);border:1px solid var(--asc-rule);border-radius:var(--asc-radius-lg);background:var(--asc-surface)}
.asc-table-wrap:focus-visible{outline:2px solid var(--asc-accent);outline-offset:2px}
.asc-table{width:100%;border-collapse:collapse;font-size:14px;min-width:760px}
.asc-table th{position:sticky;top:0;z-index:1;background:var(--asc-surface-2);text-align:left;font:600 11.5px/1.2 var(--asc-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--asc-muted);padding:11px 14px;border-bottom:1px solid var(--asc-rule);white-space:nowrap}
.asc-table td{padding:10px 14px;border-bottom:1px solid var(--asc-rule);vertical-align:middle;color:var(--asc-ink-2)}
.asc-table tr:last-child td{border-bottom:0}
.asc-table tbody tr{transition:background-color .2s}
.asc-table tbody tr:hover{background:var(--asc-surface-2)}
.asc-table .asc-badge{padding:6px 10px;font-size:10.5px}
/* admin status labels are locked copy up to 95 chars — they wrap, never truncate */
.asc-status{display:inline-flex;align-items:flex-start;gap:8px;max-width:34ch;padding:5px 10px;border-radius:6px;border:1px solid;font:600 12.5px/1.4 var(--asc-font-display);white-space:normal}
.asc-table .asc-status{min-width:24ch}
.asc-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none;margin-top:.45em}
.asc-status--action{color:var(--asc-warn);background:var(--asc-warn-bg);border-color:var(--asc-warn-line)}
.asc-status--wait{color:var(--asc-ink-2);background:var(--asc-surface-2);border-color:var(--asc-rule)}
.asc-status--quote{color:var(--asc-info);background:var(--asc-lock-bg);border-color:var(--asc-info-line)}
.asc-status--quote::before{border-radius:1px}
.asc-status--live{color:var(--asc-good);background:var(--asc-good-bg);border-color:var(--asc-good-line)}
.asc-status--bad{color:var(--asc-bad);background:var(--asc-bad-bg);border-color:var(--asc-bad-line)}
.asc-status--none{color:var(--asc-faint);background:transparent;border-color:var(--asc-rule);border-style:dashed}
.asc-status--none::before{background:transparent;box-shadow:inset 0 0 0 1.5px currentColor}
.asc-timer{display:inline-flex;align-items:center;gap:6px;font:600 11.5px/1.3 var(--asc-font-display);letter-spacing:.03em;padding:4px 9px;border-radius:999px}
.asc-timer svg{width:12px;height:12px;flex:none}
.asc-timer--prompt{color:var(--asc-warn);border:1px dashed var(--asc-warn-line)}          /* ends in a prompt to Kyle */
.asc-timer--auto{color:var(--asc-good);border:1px solid var(--asc-good-line);background:var(--asc-good-bg)} /* Openly only: auto-greenlights */
.asc-cell-agent{min-width:15ch}
.asc-cell-agent b{display:block;font:600 14px/1.3 var(--asc-font-display);color:var(--asc-ink)}
.asc-cell-agent span{font-size:12.5px;color:var(--asc-muted)}
/* aging tiers: colour AND shape */
.asc-age{display:inline-flex;align-items:center;gap:6px;font:600 12.5px/1.3 var(--asc-font-display);font-variant-numeric:tabular-nums}
.asc-age::before{content:"";width:8px;height:8px;flex:none;background:currentColor}
.asc-age--ok{color:var(--asc-good)}.asc-age--ok::before{border-radius:50%}
.asc-age--due{color:var(--asc-warn)}.asc-age--due::before{clip-path:polygon(50% 0,100% 100%,0 100%);width:10px;height:9px}
.asc-age--late{color:var(--asc-bad)}.asc-age--late::before{rotate:45deg;width:7px;height:7px}
/* mini strip for table rows (use this, not the full summit, per row) */
.asc-mini{display:flex;gap:3px;align-items:center}
.asc-mini i{width:16px;height:6px;border-radius:2px;box-shadow:inset 0 0 0 1.5px var(--asc-muted)}
.asc-mini i.is-done{background:var(--asc-selected);box-shadow:none}
.asc-mini i.is-current{height:10px;background:var(--asc-accent);box-shadow:0 0 0 2px var(--asc-surface),0 0 0 3px var(--asc-ink-2)}
.asc-mini i.is-live{background:var(--asc-good-solid);box-shadow:none}

/* ---------- 18 · FORCED COLORS (Windows High Contrast) ----------------- */
@media (forced-colors: active){
  .asc-choice input:focus-visible + span,.asc-multi input:focus-visible + span,.asc-drop:has(input:focus-visible),.asc-checkbox input:focus-visible,.asc-toggle input:focus-visible{outline:2px solid CanvasText}
  .asc-choice input:checked + span,.asc-multi input:checked + span,.asc-seg button[aria-pressed="true"],.asc-checkbox input:checked,.asc-toggle input:checked{forced-color-adjust:none;background:SelectedItem;color:SelectedItemText;border-color:SelectedItem}
  .asc-ascent:focus-visible,.asc-go:focus-visible{outline:2px solid CanvasText}
  .asc-mini i{forced-color-adjust:none;border:1px solid CanvasText;background:Canvas;box-shadow:none}
  .asc-mini i.is-done,.asc-mini i.is-live{background:CanvasText}
  .asc-mini i.is-current{background:Highlight;border-color:Highlight}
}

/* ---------- 19 · REDUCED MOTION --------------------------------------- */
@media (prefers-reduced-motion: reduce){
  .asc *,.asc *::before,.asc *::after,
  [class*="asc-"],[class*="asc-"]::before,[class*="asc-"]::after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .asc-inview{animation:none!important;transform:none!important}
  .asc-hero__clouds{display:none}
  .asc-hero__mountain{animation:none!important;transform:none}
  .asc-band::before{background-attachment:scroll}
  .asc-summit__wp .pulse{display:none}
}
