/* ==========================================================================
   AgnCred marketing site
   1. Self-hosted webfonts
   2. Base styles and keyframes (from the design export)
   3. Interaction classes (hover / active / focus)
   4. FAQ disclosure cards
   5. Subpage content typography (body class="subpage")
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Self-hosted webfonts
   -------------------------------------------------------------------------- */

/* Big Shoulders 900 latin-ext */
@font-face {
  font-family: 'Big Shoulders';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/big-shoulders-900-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Big Shoulders 900 latin */
@font-face {
  font-family: 'Big Shoulders';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/big-shoulders-900-latin.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;
}
/* Big Shoulders Inline Text 900 latin-ext */
@font-face {
  font-family: 'Big Shoulders Inline Text';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/big-shoulders-inline-text-900-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Big Shoulders Inline Text 900 latin */
@font-face {
  font-family: 'Big Shoulders Inline Text';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/fonts/big-shoulders-inline-text-900-latin.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;
}
/* Geist Mono 400-700 latin-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/geist-mono-400-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Geist Mono 400-700 latin */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/geist-mono-400-700-latin.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;
}
/* Onest 100-900 latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/fonts/onest-100-900-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Onest 100-900 latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/fonts/onest-100-900-latin.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;
}

/* --------------------------------------------------------------------------
   2. Base styles and keyframes (from the design export, unchanged)
   -------------------------------------------------------------------------- */

html{scroll-behavior:smooth}
body{margin:0;background:#F5F4EF;color:#0A0E1A;font-family:'Onest',sans-serif;-webkit-font-smoothing:antialiased}
a{color:#03625A}a:hover{color:#02423D}
::selection{background:#DDF0ED;color:#02423D}
:focus-visible{outline:2px solid #0B8578;outline-offset:2px}
@keyframes caret{0%,45%{opacity:1}50%,95%{opacity:0}100%{opacity:1}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slIn{from{opacity:0;transform:translateX(-300px)}60%{opacity:1;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}
@keyframes hc{0%{opacity:0}3%,96%{opacity:1}100%{opacity:0}}
@keyframes hj1{0%,4%{opacity:0}6%,96%{opacity:1}100%{opacity:0}}
@keyframes hj2{0%,7%{opacity:0}9%,96%{opacity:1}100%{opacity:0}}
@keyframes hj3{0%,10%{opacity:0}12%,96%{opacity:1}100%{opacity:0}}
@keyframes hj4{0%,13%{opacity:0}15%,96%{opacity:1}100%{opacity:0}}
@keyframes hj5{0%,16%{opacity:0}18%,96%{opacity:1}100%{opacity:0}}
@keyframes hlb{0%,18%{opacity:0}20%,96%{opacity:1}100%{opacity:0}}
@keyframes hs1{0%,19%{opacity:0}20%,22%{opacity:1}23%,100%{opacity:0}}
@keyframes hs2{0%,22%{opacity:0}23%,25%{opacity:1}26%,100%{opacity:0}}
@keyframes hhf{0%,25%{opacity:0}27%,96%{opacity:1}100%{opacity:0}}
@keyframes hsg{0%,28%{stroke-dashoffset:1;opacity:1}36%,96%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes hky{0%,37%{opacity:0}40%,96%{opacity:1}100%{opacity:0}}
@keyframes hdp{0%,43%{stroke-dashoffset:1;opacity:1}48%,96%{stroke-dashoffset:0;opacity:1}100%{opacity:0}}
@keyframes hb4{0%,48%{opacity:0}51%,96%{opacity:1}100%{opacity:0}}
@keyframes hk3{0%,52%{stroke-dashoffset:1;opacity:1}55%,96%{stroke-dashoffset:0;opacity:1}100%{opacity:0}}
@keyframes hb3{0%,55%{opacity:0}57%,96%{opacity:1}100%{opacity:0}}
@keyframes hk2{0%,58%{stroke-dashoffset:1;opacity:1}61%,96%{stroke-dashoffset:0;opacity:1}100%{opacity:0}}
@keyframes hb2{0%,61%{opacity:0}63%,96%{opacity:1}100%{opacity:0}}
@keyframes hk1{0%,64%{stroke-dashoffset:1;opacity:1}67%,96%{stroke-dashoffset:0;opacity:1}100%{opacity:0}}
@keyframes hb1{0%,67%{opacity:0}69%,96%{opacity:1}100%{opacity:0}}
@keyframes hwp{0%,70%{transform:translateY(1200px)}76%,100%{transform:translateY(0)}}
@keyframes hshf{0%,96%{opacity:1}100%{opacity:0}}
@keyframes hsl1{0%,78%{opacity:0;transform:translateX(-300px)}82%{opacity:1;transform:translateX(40px)}84%,96%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(0)}}
@keyframes hsl2{0%,78.7%{opacity:0;transform:translateX(-300px)}82.7%{opacity:1;transform:translateX(40px)}84.7%,96%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(0)}}
@keyframes hsl3{0%,79.4%{opacity:0;transform:translateX(-300px)}83.4%{opacity:1;transform:translateX(40px)}85.4%,96%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(0)}}
@keyframes hvr{0%,89%{opacity:0}91%,96%{opacity:1}100%{opacity:0}}
#wipeRect{animation:hwp 12s cubic-bezier(0.22,1,0.36,1) infinite}
#sl1{animation:hsl1 12s cubic-bezier(0.22,1,0.36,1) infinite}
#sl2{animation:hsl2 12s cubic-bezier(0.22,1,0.36,1) infinite}
#sl3{animation:hsl3 12s cubic-bezier(0.22,1,0.36,1) infinite}
@media (max-width:1020px){#navLinks a[data-sec]{display:none}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}#heroAnim *{animation:none !important}}

/* --------------------------------------------------------------------------
   3. Interaction classes
   The base styles stay inline on the elements, so these state rules have to
   carry !important to win against the inline declarations they replace.
   -------------------------------------------------------------------------- */

.skip-link:focus{left:12px !important}
.skip-link:focus-visible{left:12px !important}

/* Tap targets: the nav and footer links are 17px tall at their font size, so
   they borrow vertical hit area with padding cancelled by negative margin.
   The rendered layout does not move; the pointer target reaches 24px+. */
.nav-link{padding:8px 2px;margin:-8px -2px}
.pad-link{display:inline-block;padding:5px 2px;margin:-5px -2px}
.footer-link{display:inline-block;padding:5px 2px;margin:-5px -2px}
.nav-link:hover{color:#03625A !important}

.btn-ghost:hover{background:#DDF0ED !important}
.btn-ghost:active{transform:translateY(1px) !important}

.btn-solid:hover{background:#02423D !important}
.btn-solid:active{transform:translateY(1px) !important}

.btn-hero:hover{box-shadow:0 0 0 1px #5FBFB4, 0 0 22px rgba(95,191,180,0.35) !important}
.btn-hero:active{transform:translateY(1px) !important;background:#02423D !important}

.btn-hero-alt:hover{border-color:#5FBFB4 !important;color:#5FBFB4 !important}
.btn-hero-alt:active{transform:translateY(1px) !important}

.term-tab:hover{color:#F5F4EF !important}

.btn-replay:hover{border-color:#5FBFB4 !important;color:#5FBFB4 !important}
.btn-replay:active{transform:translateY(1px) !important}

.own-input:focus{border-color:#0B8578 !important}

.btn-verify:hover{background:#03625A !important}
.btn-verify:active{transform:translateY(1px) !important}

.receipt-row:hover{background:rgba(11,133,120,0.07) !important}

.int-card:hover{border-color:#0B8578 !important}

.btn-pricing:hover{background:#02423D !important}
.btn-pricing:active{transform:translateY(1px) !important}

.footer-link:hover{color:#5FBFB4 !important}

/* --------------------------------------------------------------------------
   4. FAQ disclosure cards
   -------------------------------------------------------------------------- */

.faq-item{background:#FFFFFF;border:1px solid #E0DED6;border-radius:6px;margin-top:14px}
.faq-item[open]{border-color:#0B8578}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-height:24px;padding:16px 18px;font-size:16px;font-weight:600;line-height:1.5;color:#0A0E1A}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{content:""}
.faq-item summary:hover{color:#03625A}
.faq-item summary::after{content:"+";flex:0 0 auto;font-family:'Geist Mono',monospace;font-size:16px;font-weight:700;line-height:1.5;color:#03625A}
.faq-item[open] summary::after{content:"\2212"}
.faq-answer{margin:0;padding:0 18px 18px;font-size:15px;line-height:1.7;color:#374151;max-width:74ch}

/* --------------------------------------------------------------------------
   5. Subpage content typography (body class="subpage")
   -------------------------------------------------------------------------- */

.subpage{background:#F5F4EF}
.subpage .doc{max-width:820px;margin:0 auto;padding:clamp(48px,7vw,84px) clamp(20px,4vw,48px) clamp(64px,8vw,96px)}
.subpage .doc h1{margin:0 0 20px;font-family:'Big Shoulders',sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(38px,5vw,58px);line-height:1.02;letter-spacing:0.035em;color:#0A0E1A}
.subpage .doc h2{margin:40px 0 12px;font-family:'Onest',sans-serif;font-weight:800;font-size:22px;line-height:1.3;color:#0A0E1A}
.subpage .doc h3{margin:28px 0 10px;font-family:'Onest',sans-serif;font-weight:700;font-size:17px;line-height:1.35;color:#0A0E1A}
.subpage .doc p,.subpage .doc li{font-size:16px;line-height:1.7;color:#374151}
.subpage .doc p{margin:0 0 16px}
.subpage .doc ul,.subpage .doc ol{margin:0 0 16px;padding-left:22px}
.subpage .doc li{margin:0 0 8px}
.subpage .doc a{color:#03625A}
.subpage .doc a:hover{color:#02423D}
.subpage .doc .lede{font-size:17.5px;line-height:1.65;color:#374151;max-width:62ch}
.subpage .doc .eyebrow{margin:0 0 12px;font-family:'Geist Mono',monospace;font-size:13px;font-weight:700;letter-spacing:0.18em;color:#02423D;text-transform:uppercase}
.subpage .doc hr{border:none;height:1px;background:#E0DED6;margin:36px 0}
.subpage .doc code{font-family:'Geist Mono',monospace;font-size:13.5px;background:#FFFFFF;border:1px solid #E0DED6;border-radius:4px;padding:1px 5px;color:#02423D}
.subpage .doc pre{margin:0 0 20px;background:#0A0E1A;color:#C9D1E0;font-family:'Geist Mono',monospace;font-size:11.5px;line-height:1.7;padding:12px 14px;border-radius:6px;overflow:auto}
.subpage .doc pre code{background:none;border:none;padding:0;color:inherit;font-size:inherit}
.subpage .doc blockquote{margin:0 0 20px;padding:2px 0 2px 16px;border-left:2px solid #03625A;color:#374151}
.subpage .doc table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:14.5px;display:block;overflow-x:auto}
.subpage .doc th,.subpage .doc td{border:1px solid #E0DED6;padding:10px 12px;text-align:left;vertical-align:top;line-height:1.6;color:#374151}
.subpage .doc th{background:#FFFFFF;font-weight:700;color:#0A0E1A}
.subpage .doc img{max-width:100%;height:auto}
.subpage .doc .breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 18px;font-family:'Geist Mono',monospace;font-size:13px;color:#6B7385}
.subpage .doc .breadcrumb li:not(:last-child)::after{content:"/";margin-left:8px;color:#6B7385}
.subpage .doc .breadcrumb a{color:#03625A;text-decoration:none}
.subpage .doc .breadcrumb a:hover{color:#02423D;text-decoration:underline}

/* --------------------------------------------------------------------------
   6. Responsive nav: never wraps. The lockup shrinks in steps and can flex
   below its natural width; the sign-in buttons compact on small screens.
   !important wins over the inline flex-wrap/gap the export carries.
   -------------------------------------------------------------------------- */
.nav-row{flex-wrap:nowrap !important;min-width:0}
.nav-links{flex-wrap:nowrap !important;min-width:0;flex-shrink:0}
.nav-brand{flex:0 1 auto;min-width:0}
.nav-brand img{height:40px;width:auto;max-width:100%}
@media (max-width:900px){.nav-brand img{height:34px}}
@media (max-width:560px){
  .nav-brand img{height:30px}
  .nav-row{gap:12px !important}
  .nav-links{gap:10px !important}
  .nav-links .btn-ghost{padding:7px 11px !important;font-size:13px !important}
  .nav-links .btn-solid{padding:8px 12px !important;font-size:13px !important}
}
@media (max-width:400px){
  .nav-brand img{height:25px}
  .nav-links .btn-ghost{padding:7px 9px !important}
  .nav-links .btn-solid{padding:8px 10px !important}
}

/* Score-card receipt rows: at ultra-narrow widths the four-column grid
   (92px date, company, key id, verify) exceeds the viewport; the key id
   column is the least essential and folds away below 400px. */
@media (max-width:400px){
  .receipt-row{grid-template-columns:78px 1fr auto !important;gap:8px !important}
  .receipt-row span:nth-child(3){display:none}
}
