@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@600;700;800;900&family=IBM+Plex+Mono:wght@500;600&family=Inter:wght@400;500;600;700&display=swap');

.landing-root { font-family:'Inter',system-ui,sans-serif; color:#0E1C26; background:#FFFFFF; line-height:1.6; font-size:16.5px; min-height:100vh; }
.landing-root .wrap { max-width:980px; margin:0 auto; padding:0 22px; }
.landing-root h1, .landing-root h2, .landing-root h3 { font-family:'Archivo',sans-serif; line-height:1.12; margin:0; }
.landing-root .mono { font-family:'IBM Plex Mono',monospace; }
.landing-root header.ah-header,
body.ah-hopper-ui header.ah-header { display:flex; justify-content:space-between; align-items:center; padding:18px 0; }
body.ah-hopper-ui header.ah-header .ah-header-actions { display:flex; gap:12px; align-items:center; }
body.ah-hopper-ui header.ah-header .ah-header-blog { color:#0E1C26; font-size:.9rem; font-weight:600; text-decoration:none; }
body.ah-hopper-ui .elementor-widget-shortcode .cta,
body.ah-hopper-ui .elementor-widget-ah_auth_button .cta,
body.ah-hopper-ui button.ah-el-btn.cta { display:inline-block; background:#0E1C26; color:#fff; text-decoration:none; font-family:'Archivo',sans-serif; font-weight:800; font-size:1.05rem; padding:15px 28px; border-radius:10px; border:none; cursor:pointer; }
body.ah-hopper-ui .elementor-widget-shortcode .cta-sm,
body.ah-hopper-ui button.ah-el-btn.cta-sm { font-weight:600; font-size:.9rem; color:#0E1C26; border:1.5px solid #0E1C26; border-radius:999px; padding:8px 16px; background:transparent; cursor:pointer; font-family:inherit; }
body.ah-hopper-ui button.ah-el-btn.cta-sm.linkish { border:none; padding:8px 4px; }
body.ah-hopper-ui .elementor-section.hero .elementor-container { max-width:980px; }
body.ah-hopper-ui .elementor-section.ah-section .elementor-container { max-width:980px; }
body.ah-hopper-ui .elementor-section.ah-footer .elementor-container { max-width:980px; }
body.ah-hopper-ui { font-family:'Inter',system-ui,sans-serif; color:#0E1C26; background:#FFFFFF; line-height:1.6; font-size:16.5px; }
body.ah-hopper-ui h1, body.ah-hopper-ui h2, body.ah-hopper-ui h3 { font-family:'Archivo',sans-serif; line-height:1.12; }
body.ah-hopper-ui .eyebrow { font-family:'IBM Plex Mono',monospace; font-size:.74rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#54687A; margin-bottom:12px; }
body.ah-hopper-ui .elementor-section.mist { background:#EEF2F5 !important; }
body.ah-hopper-ui .elementor-section.ah-footer { background:#EEF2F5 !important; }
body.ah-hopper-ui .sign { display:inline-flex; align-items:center; gap:10px; background:#0E1C26; color:#FFC72C; font-family:'IBM Plex Mono',monospace; font-size:.78rem; font-weight:600; letter-spacing:.08em; padding:7px 14px; border-radius:6px; margin-bottom:22px; }
body.ah-hopper-ui .sign .arrow { color:#fff; }
body.ah-hopper-ui .hero h1 em { font-style:normal; box-shadow:inset 0 -0.34em #FFC72C; }
body.ah-hopper-ui .steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:34px; }
body.ah-hopper-ui .step { background:#fff; border:1px solid #D8E0E6; border-radius:10px; padding:22px; }
body.ah-hopper-ui .step .n { font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:.78rem; color:#0E1C26; background:#FFC72C; display:inline-block; padding:2px 9px; border-radius:5px; margin-bottom:14px; }
body.ah-hopper-ui .honest { border-left:4px solid #FFC72C; padding-left:22px; max-width:62ch; }
body.ah-hopper-ui .price-card { background:#0E1C26; color:#fff; border-radius:16px; padding:38px 34px; max-width:460px; margin-top:30px; }
body.ah-hopper-ui .price-card .amount { font-family:'Archivo',sans-serif; font-weight:900; font-size:3rem; letter-spacing:-.03em; }
body.ah-hopper-ui .price-card ul { list-style:none; margin:20px 0 26px; padding:0; }
body.ah-hopper-ui .price-card li { padding:9px 0; border-bottom:1px solid rgba(255,255,255,.1); font-size:.94rem; display:flex; gap:10px; color:#fff; }
body.ah-hopper-ui .price-card li::before { content:"→"; color:#FFC72C; font-family:'IBM Plex Mono',monospace; }
body.ah-hopper-ui .price-card .cta { background:#FFC72C; color:#0E1C26; width:100%; text-align:center; box-sizing:border-box; }
body.ah-hopper-ui details.ah-faq { border-bottom:1px solid #D8E0E6; padding:16px 0; }
body.ah-hopper-ui details.ah-faq summary { cursor:pointer; font-weight:600; list-style:none; display:flex; justify-content:space-between; color:#0E1C26; }
body.ah-hopper-ui details.ah-faq summary::-webkit-details-marker { display:none; }
body.ah-hopper-ui details.ah-faq summary::after { content:"+"; font-family:'IBM Plex Mono',monospace; color:#54687A; }
body.ah-hopper-ui details.ah-faq[open] summary::after { content:"–"; }
@media (max-width:720px) {
  body.ah-hopper-ui .steps { grid-template-columns:1fr; }
}
.landing-root header.ah-header { display:flex; justify-content:space-between; align-items:center; padding:18px 0; }
.landing-root .brand { font-family:'Archivo',sans-serif; font-weight:800; font-size:1.05rem; letter-spacing:-.01em; display:flex; align-items:center; gap:10px; color:#0E1C26; text-decoration:none; }
.landing-root .brand .tab { background:#FFC72C; color:#0E1C26; font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:.72rem; padding:3px 8px; border-radius:4px; letter-spacing:.04em; }
.landing-root .cta-sm { font-weight:600; font-size:.9rem; text-decoration:none; color:#0E1C26; border:1.5px solid #0E1C26; border-radius:999px; padding:8px 16px; transition:background .15s,color .15s; cursor:pointer; background:transparent; font-family:inherit; }
.landing-root .cta-sm:hover { background:#0E1C26; color:#fff; }
.landing-root .cta-sm.linkish { border:none; padding:8px 4px; }
.landing-root .hero { padding:52px 0 40px; }
.landing-root .sign { display:inline-flex; align-items:center; gap:10px; background:#0E1C26; color:#FFC72C; font-family:'IBM Plex Mono',monospace; font-size:.78rem; font-weight:600; letter-spacing:.08em; padding:7px 14px; border-radius:6px; margin-bottom:22px; }
.landing-root .sign .arrow { color:#fff; }
.landing-root .hero h1 { font-size:clamp(2.1rem,6vw,3.4rem); font-weight:900; letter-spacing:-.025em; max-width:15ch; }
.landing-root .hero h1 em { font-style:normal; box-shadow:inset 0 -0.34em #FFC72C; }
.landing-root .hero p.lede { margin-top:20px; max-width:56ch; font-size:1.08rem; color:#54687A; }
.landing-root .hero p.lede strong { color:#0E1C26; }
.landing-root .cta-row { margin-top:28px; display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.landing-root .cta { display:inline-block; background:#0E1C26; color:#fff; text-decoration:none; font-family:'Archivo',sans-serif; font-weight:800; font-size:1.05rem; padding:15px 28px; border-radius:10px; transition:transform .12s, box-shadow .12s; cursor:pointer; border:none; }
.landing-root .cta:hover { transform:translateY(-1px); box-shadow:0 6px 18px rgba(14,28,38,.22); }
.landing-root .cta-note { font-size:.86rem; color:#54687A; }
.landing-root .cta-note b { color:#0E1C26; }
.landing-root .board { background:#0E1C26; border-radius:14px; overflow:hidden; margin:44px 0 0; box-shadow:0 18px 44px rgba(14,28,38,.28); }
.landing-root .board-head { display:flex; justify-content:space-between; align-items:center; padding:13px 20px; border-bottom:1px solid rgba(255,255,255,.12); font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.1em; color:#8FA3B3; }
.landing-root .board-head .live { color:#FFC72C; }
.landing-root .board-head .live::before { content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:#FFC72C; margin-right:7px; animation:ah-blink 1.6s infinite; vertical-align:1px; }
@keyframes ah-blink { 0%,100%{opacity:1} 50%{opacity:.25} }
.landing-root .row { display:grid; grid-template-columns:64px 1fr auto; gap:14px; align-items:center; padding:14px 20px; border-bottom:1px solid rgba(255,255,255,.07); font-family:'IBM Plex Mono',monospace; font-size:.86rem; color:#DDE6EC; }
.landing-root .row:last-child { border-bottom:none; }
.landing-root .row .code { color:#FFC72C; font-weight:600; }
.landing-root .row .status { color:#8FA3B3; font-size:.78rem; text-align:right; }
.landing-root .row.found { background:rgba(23,147,107,.16); }
.landing-root .row.found .status { color:#4ED8A8; font-weight:600; }
.landing-root .sms { margin:0 20px 20px; background:#fff; border-radius:12px; padding:14px 16px; display:flex; gap:12px; align-items:flex-start; animation:ah-slidein .5s ease .3s both; }
@keyframes ah-slidein { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
.landing-root .sms .bubble-icon { flex:none; width:34px; height:34px; border-radius:9px; background:#17936B; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-family:'Archivo',sans-serif; font-size:.72rem; }
.landing-root .sms p { font-size:.85rem; line-height:1.45; margin:0; color:#0E1C26; }
.landing-root .sms p b { font-weight:600; }
.landing-root .sms .time { color:#54687A; font-size:.72rem; font-family:'IBM Plex Mono',monospace; }
.landing-root .ah-section { padding:58px 0; }
.landing-root .ah-section.mist { background:#EEF2F5; }
.landing-root .eyebrow { font-family:'IBM Plex Mono',monospace; font-size:.74rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#54687A; margin-bottom:12px; }
.landing-root h2 { font-size:clamp(1.5rem,4vw,2.1rem); font-weight:800; letter-spacing:-.02em; margin-bottom:14px; color:#0E1C26; }
.landing-root .steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:34px; }
.landing-root .step { background:#fff; border:1px solid #D8E0E6; border-radius:10px; padding:22px; }
.landing-root .step .n { font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:.78rem; color:#0E1C26; background:#FFC72C; display:inline-block; padding:2px 9px; border-radius:5px; margin-bottom:14px; }
.landing-root .step h3 { font-size:1.02rem; font-weight:700; margin-bottom:8px; color:#0E1C26; }
.landing-root .step p { font-size:.92rem; color:#54687A; margin:0; }
.landing-root .honest { border-left:4px solid #FFC72C; padding-left:22px; max-width:62ch; }
.landing-root .honest p { margin-bottom:14px; color:#0E1C26; }
.landing-root .honest p:last-child { margin-bottom:0; }
.landing-root .price-card { background:#0E1C26; color:#fff; border-radius:16px; padding:38px 34px; max-width:460px; margin-top:30px; }
.landing-root .price-card .amount { font-family:'Archivo',sans-serif; font-weight:900; font-size:3rem; letter-spacing:-.03em; }
.landing-root .price-card .amount span { font-size:1rem; font-weight:600; color:#8FA3B3; letter-spacing:0; }
.landing-root .price-card ul { list-style:none; margin:20px 0 26px; padding:0; }
.landing-root .price-card li { padding:9px 0; border-bottom:1px solid rgba(255,255,255,.1); font-size:.94rem; display:flex; gap:10px; align-items:baseline; color:#fff; }
.landing-root .price-card li:last-child { border-bottom:none; }
.landing-root .price-card li::before { content:"→"; color:#FFC72C; font-family:'IBM Plex Mono',monospace; }
.landing-root .price-card .cta { background:#FFC72C; color:#0E1C26; width:100%; text-align:center; box-sizing:border-box; }
.landing-root .guarantee { margin-top:18px; font-size:.88rem; color:#54687A; max-width:460px; }
.landing-root .guarantee b { color:#0E1C26; }
.landing-root details.ah-faq { border-bottom:1px solid #D8E0E6; padding:16px 0; }
.landing-root details.ah-faq summary { cursor:pointer; font-weight:600; font-size:1rem; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; color:#0E1C26; }
.landing-root details.ah-faq summary::-webkit-details-marker { display:none; }
.landing-root details.ah-faq summary::after { content:"+"; font-family:'IBM Plex Mono',monospace; color:#54687A; font-size:1.1rem; }
.landing-root details.ah-faq[open] summary::after { content:"–"; }
.landing-root details.ah-faq p { margin-top:10px; color:#54687A; font-size:.94rem; max-width:64ch; }
.landing-root footer.ah-footer { padding:44px 0 56px; background:#EEF2F5; }
.landing-root footer.ah-footer p { font-size:.82rem; color:#54687A; max-width:70ch; }
.landing-root footer.ah-footer p+p { margin-top:10px; }
.landing-root footer.ah-footer .brand { margin-bottom:16px; }
.landing-root footer.ah-footer a { color:#54687A; }
@media (max-width:720px) {
  .landing-root .steps { grid-template-columns:1fr; }
  .landing-root .row { grid-template-columns:52px 1fr; }
  .landing-root .row .status { grid-column:2; text-align:left; margin-top:-6px; }
  .landing-root .hero { padding-top:36px; }
}

/* Auth modal — never use display:flex as the default; it overrides [hidden] */
.ah-modal-backdrop {
  position:fixed; inset:0; background:rgba(0,0,0,.5);
  display:none; align-items:center; justify-content:center;
  z-index:9999; padding:16px;
}
.ah-modal-backdrop.is-open,
.ah-modal-backdrop:not([hidden]) { display:flex; }
.ah-modal-backdrop[hidden] { display:none !important; }
.ah-modal { background:#fff; border-radius:14px; width:100%; max-width:420px; padding:28px 24px; box-shadow:0 20px 50px rgba(0,0,0,.25); position:relative; }
.ah-modal [hidden] { display:none !important; }
.ah-modal h2 { font-family:'Archivo',sans-serif; font-size:1.35rem; font-weight:800; margin:0 0 6px; color:#0E1C26; }
.ah-modal .sub { color:#54687A; font-size:.92rem; margin-bottom:18px; }
.ah-modal label { display:block; font-size:.82rem; font-weight:600; margin-bottom:6px; color:#0E1C26; }
.ah-modal input[type=email], .ah-modal input[type=tel], .ah-modal input[type=text] {
  width:100%; box-sizing:border-box; border:1.5px solid #D8E0E6; border-radius:10px; padding:12px 14px; font-size:1rem; margin-bottom:14px; font-family:inherit;
}
.ah-modal input:focus { outline:none; border-color:#0E1C26; }
.ah-modal .error { background:#FEF2F2; border:1px solid #FECACA; color:#B91C1C; padding:10px 12px; border-radius:8px; font-size:.88rem; margin-bottom:14px; }
.ah-modal .consent { display:flex; gap:10px; align-items:flex-start; font-size:.82rem; color:#54687A; margin-bottom:16px; }
.ah-modal .consent input { margin-top:3px; }
.ah-modal .btn-primary { width:100%; background:#0E1C26; color:#fff; border:none; border-radius:10px; padding:14px; font-weight:800; font-size:1rem; cursor:pointer; font-family:'Archivo',sans-serif; }
.ah-modal .btn-primary:disabled { opacity:.6; cursor:not-allowed; }
.ah-modal .toggle { display:block; width:100%; background:none; border:none; color:#54687A; margin-top:14px; cursor:pointer; font-size:.9rem; text-align:center; }
.ah-modal .close { float:right; background:none; border:none; font-size:1.4rem; cursor:pointer; color:#54687A; line-height:1; }

/* Simple inner pages */
.ah-page { max-width:720px; margin:0 auto; padding:40px 22px 80px; font-family:'Inter',system-ui,sans-serif; color:#0E1C26; }
.ah-page h1 { font-family:'Archivo',sans-serif; font-size:2rem; font-weight:800; margin-bottom:16px; }
.ah-page a { color:#0E1C26; }
.ah-dash-banner { border-radius:12px; padding:14px 16px; margin:0 0 20px; font-size:.95rem; line-height:1.5; }
.ah-dash-banner--success { background:#ECFDF5; border:1px solid #A7F3D0; color:#065F46; }
.ah-dash-link-btn { background:none; border:none; color:#0E1C26; font-weight:700; font-size:.9rem; cursor:pointer; text-decoration:underline; padding:0; }
.ah-dash-link-btn:hover { color:#54687A; }
#ah-loc-picker-section.is-collapsed #ah-loc-picker-body { display:none; }
#ah-loc-picker-section.is-collapsed h2 { margin-top:28px !important; }

/* Elementor — strip defaults so landing-root renders pixel-perfect */
body.ah-hopper-ui.elementor-page .elementor-location-single,
body.ah-hopper-ui.elementor-page .elementor {
  padding: 0;
  margin: 0;
}
body.ah-hopper-ui .elementor-section.ah-landing-section,
body.ah-hopper-ui .elementor-section.ah-landing-section > .elementor-container,
body.ah-hopper-ui .elementor-section.ah-landing-section > .elementor-container > .elementor-column,
body.ah-hopper-ui .elementor-section.ah-landing-section .elementor-widget-wrap,
body.ah-hopper-ui .elementor-section.ah-landing-section .elementor-element {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
}
body.ah-hopper-ui .elementor-section.ah-landing-section > .elementor-container {
  max-width: 100% !important;
}
body.ah-hopper-ui .elementor-widget-shortcode .landing-root {
  width: 100%;
}
body.ah-hopper-ui .elementor-widget-heading .elementor-heading-title {
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  letter-spacing: inherit;
}
body.ah-hopper-ui .elementor-widget-text-editor {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
body.ah-hopper-ui .elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}
/* Mirror landing-root styles on Elementor body */
body.ah-hopper-ui .landing-root .brand,
body.ah-hopper-ui .landing-root .brand .tab { /* already in landing-root rules */ }
body.ah-hopper-ui .landing-root .hero h1 { font-size:clamp(2.1rem,6vw,3.4rem); font-weight:900; letter-spacing:-.025em; max-width:15ch; }
body.ah-hopper-ui .landing-root .hero h1 em { font-style:normal; box-shadow:inset 0 -0.34em #FFC72C; }
body.ah-hopper-ui .landing-root .hero p.lede { margin-top:20px; max-width:56ch; font-size:1.08rem; color:#54687A; }
body.ah-hopper-ui .landing-root .hero p.lede strong { color:#0E1C26; }
body.ah-hopper-ui .landing-root .cta-row { margin-top:28px; display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
body.ah-hopper-ui .landing-root .board { background:#0E1C26; border-radius:14px; overflow:hidden; margin:44px 0 0; box-shadow:0 18px 44px rgba(14,28,38,.28); }
body.ah-hopper-ui .landing-root .board-head { display:flex; justify-content:space-between; align-items:center; padding:13px 20px; border-bottom:1px solid rgba(255,255,255,.12); font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.1em; color:#8FA3B3; }
body.ah-hopper-ui .landing-root .board-head .live { color:#FFC72C; }
body.ah-hopper-ui .landing-root .board-head .live::before { content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:#FFC72C; margin-right:7px; animation:ah-blink 1.6s infinite; vertical-align:1px; }
body.ah-hopper-ui .landing-root .row { display:grid; grid-template-columns:64px 1fr auto; gap:14px; align-items:center; padding:14px 20px; border-bottom:1px solid rgba(255,255,255,.07); font-family:'IBM Plex Mono',monospace; font-size:.86rem; color:#DDE6EC; }
body.ah-hopper-ui .landing-root .row .code { color:#FFC72C; font-weight:600; }
body.ah-hopper-ui .landing-root .row .status { color:#8FA3B3; font-size:.78rem; text-align:right; }
body.ah-hopper-ui .landing-root .row.found { background:rgba(23,147,107,.16); }
body.ah-hopper-ui .landing-root .row.found .status { color:#4ED8A8; font-weight:600; }
body.ah-hopper-ui .landing-root .sms { margin:0 20px 20px; background:#fff; border-radius:12px; padding:14px 16px; display:flex; gap:12px; align-items:flex-start; animation:ah-slidein .5s ease .3s both; }
body.ah-hopper-ui .landing-root .sms .bubble-icon { flex:none; width:34px; height:34px; border-radius:9px; background:#17936B; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-family:'Archivo',sans-serif; font-size:.72rem; }
body.ah-hopper-ui .landing-root .sms p { font-size:.85rem; line-height:1.45; margin:0; color:#0E1C26; }
body.ah-hopper-ui .landing-root .sms .time { color:#54687A; font-size:.72rem; font-family:'IBM Plex Mono',monospace; }
body.ah-hopper-ui .landing-root .brand { font-family:'Archivo',sans-serif; font-weight:800; font-size:1.05rem; letter-spacing:-.01em; display:flex; align-items:center; gap:10px; color:#0E1C26; text-decoration:none; }
body.ah-hopper-ui .landing-root .brand .tab { background:#FFC72C; color:#0E1C26; font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:.72rem; padding:3px 8px; border-radius:4px; letter-spacing:.04em; }
body.ah-hopper-ui .landing-root .cta-sm { font-weight:600; font-size:.9rem; color:#0E1C26; border:1.5px solid #0E1C26; border-radius:999px; padding:8px 16px; background:transparent; cursor:pointer; font-family:inherit; }
body.ah-hopper-ui .landing-root .cta-sm.linkish { border:none; padding:8px 4px; }
body.ah-hopper-ui .landing-root .cta { display:inline-block; background:#0E1C26; color:#fff; font-family:'Archivo',sans-serif; font-weight:800; font-size:1.05rem; padding:15px 28px; border-radius:10px; border:none; cursor:pointer; }
body.ah-hopper-ui .landing-root .price-card .amount span { font-size:1rem; font-weight:600; color:#8FA3B3; letter-spacing:0; }
body.ah-hopper-ui .landing-root .step h3 { font-size:1.02rem; font-weight:700; margin-bottom:8px; color:#0E1C26; }
body.ah-hopper-ui .landing-root .step p { font-size:.92rem; color:#54687A; margin:0; }
body.ah-hopper-ui .landing-root .honest p { margin-bottom:14px; color:#0E1C26; }
body.ah-hopper-ui .landing-root .guarantee { margin-top:18px; font-size:.88rem; color:#54687A; max-width:460px; }
body.ah-hopper-ui .landing-root details.ah-faq p { margin-top:10px; color:#54687A; font-size:.94rem; max-width:64ch; }
body.ah-hopper-ui .landing-root footer.ah-footer p { font-size:.82rem; color:#54687A; max-width:70ch; }
body.ah-hopper-ui .landing-root footer.ah-footer .brand { margin-bottom:16px; }
body.ah-hopper-ui .landing-root footer.ah-footer a { color:#54687A; }
@media (max-width:720px) {
  body.ah-hopper-ui .landing-root .row { grid-template-columns:52px 1fr; }
  body.ah-hopper-ui .landing-root .row .status { grid-column:2; text-align:left; margin-top:-6px; }
  body.ah-hopper-ui .landing-root .hero { padding-top:36px; }
}
