/* AddyAlly storefront (addyally.com): shared styles for every page.
   Fonts are the same self-hosted files the check-up uses (public/assets/fonts). */
@font-face { font-family: "Lexend"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/lexend-latin-wght-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lexend"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/assets/fonts/lexend-latin-ext-wght-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Atkinson Hyperlegible"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/atkinson-hyperlegible-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Atkinson Hyperlegible"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/atkinson-hyperlegible-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Atkinson Hyperlegible"; font-style: italic; font-weight: 400; font-display: swap; src: url("/assets/fonts/atkinson-hyperlegible-latin-400-italic.woff2") format("woff2"); unicode-range: U+0000-00FF; }
@font-face { font-family: "Atkinson Hyperlegible"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/atkinson-hyperlegible-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Atkinson Hyperlegible"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/atkinson-hyperlegible-latin-ext-700-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

[hidden]{display:none !important}
@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:#ffffff}
a{color:#2149D6}a:hover{color:#002268}
.aa{font-family:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;color:#121A33;background:#ffffff;font-size:18px;line-height:1.6}
.aa *{box-sizing:border-box}
.aa h1,.aa h2,.aa h3,.aa h4{font-family:"Lexend",system-ui,sans-serif;margin:0;text-wrap:balance}
.aa p,.aa ul,.aa ol,.aa dl,.aa dd,.aa figure,.aa fieldset,.aa blockquote{margin:0}
.aa input::placeholder,.aa textarea::placeholder{color:#6B7591}
.aa a:focus-visible,.aa button:focus-visible,.aa summary:focus-visible,.aa input:focus-visible,.aa select:focus-visible,.aa textarea:focus-visible,.aa .drop:focus-within{outline:3px solid #2B59F0;outline-offset:3px}
.aa [id]{scroll-margin-top:88px}

/* Buttons and cards */
.aa .btn{transition:background-color .15s ease}
.aa .btn:hover{background:#1E3FC0 !important;color:#ffffff !important}
.aa .btn-light:hover{background:#E7ECFF !important;color:#002268 !important}
.aa .btn-line:hover{background:#F2F5FF !important;border-color:#2B59F0 !important}
.aa .card-link{transition:border-color .15s ease, box-shadow .15s ease}
.aa .card-link:hover{border-color:#2B59F0 !important;box-shadow:0 24px 48px -32px rgba(10,20,51,.45)}
.aa .chip{min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid #C9D2E4;background:#ffffff;color:#002268;font:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .15s ease, color .15s ease}
.aa .chip:hover{border-color:#2B59F0}
.aa .chip[aria-pressed="true"]{background:#002268;border-color:#002268;color:#ffffff}
.aa .step:hover{background:#E7ECFF !important}
.aa .drop:hover,.aa .drop.over{border-color:#2B59F0 !important;background:#F2F5FF !important}
.aa .tick{display:flex;gap:10px;align-items:flex-start}
.aa .serif{font-family:"Fraunces",Georgia,serif}

/* Header, menu and footer */
.aa .site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,0.94);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid #E4E9F2}
.aa .head-row{max-width:1240px;margin:0 auto;padding:12px 24px;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.aa .logo-link{display:flex;align-items:center;min-height:44px}
.aa .logo{height:30px;width:auto;display:block}
.aa .navlinks{display:flex;align-items:center;gap:6px;font-size:16px}
.aa .navlink{color:#121A33;text-decoration:none;font-weight:700;white-space:nowrap}
.aa .navlinks .navlink,.aa .menu-panel .navlink{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border-radius:999px;transition:background-color .15s ease, color .15s ease}
.aa .navlinks .navlink:hover,.aa .menu-panel .navlink:hover{background:#F2F5FF;color:#002268}
.aa .navlinks .navlink[aria-current="page"],.aa .menu-panel .navlink[aria-current="page"]{background:#E7ECFF;color:#002268}
.aa .menu{display:none;position:relative}
.aa .menu summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid #C9D2E4;border-radius:12px;font-weight:700;font-size:16px;color:#121A33}
.aa .menu[open] summary{background:#F2F5FF;border-color:#2B59F0}
.aa .menu-panel{position:absolute;right:0;top:54px;width:260px;padding:8px;background:#ffffff;border:1px solid #DCE2EE;border-radius:18px;box-shadow:0 24px 48px -24px rgba(10,20,51,.35);display:flex;flex-direction:column;gap:2px}
.aa .menu-panel .navlink{border-radius:12px}
.aa .footlink{color:#C9D3EA;text-decoration:none}
.aa .footlink:hover{color:#ffffff;text-decoration:underline}
.aa summary{cursor:pointer}
.aa .menu summary::-webkit-details-marker{display:none}
.aa .skip{position:absolute;left:-9999px;top:8px;z-index:50;background:#ffffff;color:#002268;padding:10px 14px;border:2px solid #002268;border-radius:8px;font-weight:700}
.aa .skip:focus{left:8px}
.aa .sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Tables */
.aa table{border-collapse:collapse;width:100%}
.aa th,.aa td{text-align:left;vertical-align:top}

/* Forms (Contact) */
.aa .field{display:flex;flex-direction:column;gap:8px;min-width:0}
.aa .field label,.aa legend{font-size:16px;font-weight:700;color:#0A1433}
.aa .input{width:100%;min-height:52px;padding:12px 14px;border:2px solid #9AA6BF;border-radius:12px;font:inherit;font-size:17px;color:#121A33;background:#ffffff}
.aa .input:hover{border-color:#6B7591}
.aa .opt{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1.5px solid #C9D2E4;border-radius:12px;font-size:16px;cursor:pointer;background:#ffffff}
.aa .opt:hover{border-color:#2B59F0}
.aa .opt input{width:20px;height:20px;accent-color:#2B59F0;margin:0}
.aa .req{color:#B3261E}
/* Status lines stay in the page (so screen readers hear them) but take no space until filled. */
.aa [data-status]:empty{padding:0 !important;background:none !important;border:0 !important}

/* The three header links need about 720px; below that, the Menu button takes over. */
@media (max-width:760px){.aa .navlinks{display:none}.aa .menu{display:block}}
@media (max-width:560px){.aa .head-row{padding:10px 16px;min-height:64px}.aa .logo{height:26px}}

/* Home: the free-check box. One row on every screen: the address and the button side by side. */
.aa .check-form{display:flex;flex-direction:column;gap:10px;max-width:40rem;min-width:0}
.aa .check-label{font-weight:700;font-size:17px;color:#121A33}
.aa .check-row{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 16px;background:#ffffff;border:2px solid #C9D2E4;border-radius:18px;box-shadow:0 18px 40px -24px rgba(10,20,51,0.35);transition:border-color .15s ease, box-shadow .15s ease}
.aa .check-row.on-dark{border-color:#ffffff}
.aa .check-row:focus-within{border-color:#2B59F0;box-shadow:0 0 0 4px rgba(43,89,240,.25),0 18px 40px -24px rgba(10,20,51,0.35)}
.aa .check-icon{flex:none;color:#6B7591}
.aa .check-input{flex:1 1 auto;width:100%;min-width:0;min-height:52px;padding:10px 4px;border:0;background:transparent;font:inherit;font-size:20px;color:#121A33}
/* The box around the field shows the focus ring instead. */
.aa .check-input:focus-visible{outline:none}
.aa .check-btn{flex:none;min-height:52px;padding:12px 26px;border:0;border-radius:13px;background:#2B59F0;color:#ffffff;font:inherit;font-weight:700;font-size:18px;white-space:nowrap;cursor:pointer}
.aa .check-note{font-size:15px;color:#4A5570}

/* Home: Why AddyAlly. An icon, a title and one line each. */
.aa .reasons{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
.aa .reason{display:flex;align-items:center;gap:18px;padding:22px;border-radius:22px;background:#ffffff;border:1px solid #E4E9F2}
.aa .reason-icon{flex:none;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(140deg,#2B59F0 0%,#002268 100%);color:#ffffff;box-shadow:0 12px 24px -14px rgba(0,34,104,.8)}
.aa .reason h3{font-size:19px;font-weight:600;color:#0A1433;line-height:1.25}
.aa .reason p{font-size:16px;color:#4A5570;margin-top:2px}

/* Showcase: each sample scales its type to its own width, and lifts a little on hover. */
.aa .mock{container-type:inline-size;transition:transform .25s ease, box-shadow .25s ease}
.aa [data-kind]:hover .mock{transform:translateY(-6px);box-shadow:0 56px 96px -52px rgba(10,20,51,.6) !important}

/* Phones: a tighter hero, so the free-check box shows without scrolling. */
@media (max-width:640px){
  .aa .hero-inner{padding:28px 16px 56px !important;gap:40px !important}
  .aa .hero-copy{gap:16px !important}
  .aa .hero-pill{font-size:14px !important;padding:6px 12px !important}
  .aa .hero-title{font-size:clamp(32px,9.4vw,40px) !important;line-height:1.06 !important}
  .aa .hero-lede{font-size:17px !important}
  .aa .check-row{padding:5px 5px 5px 12px;border-radius:16px;gap:6px}
  .aa .check-input{font-size:17px;min-height:48px}
  .aa .check-btn{min-height:48px;padding:10px 18px;font-size:16px;border-radius:12px}
  .aa .reason{padding:18px;gap:14px}
  .aa .reason-icon{width:48px;height:48px;border-radius:14px}
}
@media (max-width:359px){.aa .check-icon{display:none}.aa .check-row{padding-left:14px}}
@media (prefers-reduced-motion: reduce){.aa *{transition:none !important}.aa [data-kind]:hover .mock{transform:none}}
