/* Reference popovers + launch landing (forms, booking, donate). Loads after deck.css. */

/* ---- inline reference link ---- */
.ref{appearance:none;border:0;background:none;font:inherit;color:var(--blue);cursor:pointer;padding:0;border-bottom:1.5px dotted var(--blue);line-height:inherit}
.ref:hover{background:var(--accent-soft, #E0E8FF)}
.refpop__backdrop{position:fixed;inset:0;z-index:60}
.refpop{position:fixed;z-index:61;width:min(340px,calc(100vw - 24px));background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);padding:20px 20px 18px}
.refpop__x{position:absolute;top:10px;right:12px;border:0;background:none;font-size:22px;line-height:1;color:var(--ink-faint);cursor:pointer}
.refpop__tag{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:10.5px;color:var(--gold)}
.refpop__t{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.01em;margin:6px 0 8px;color:var(--ink)}
.refpop__b{font-family:var(--body);font-size:14.5px;line-height:1.55;color:var(--ink-soft);margin:0}
.refpop__go{display:inline-block;margin-top:14px;font-family:var(--display);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--blue);text-decoration:none}
.refpop__go:hover{text-decoration:underline}
@media (max-width:640px){
  .refpop{left:0 !important;right:0;bottom:0;top:auto !important;width:100%;border-radius:22px 22px 0 0}
  .refpop__backdrop{background:rgba(8,12,30,.35)}
}

/* ---- landing ---- */
.lh{max-width:920px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
.lh-hero{padding:clamp(56px,11vw,120px) 0 clamp(30px,6vw,60px)}
.lh-tag{display:inline-block;background:var(--blue);color:#fff;font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:11px;padding:6px 12px;border-radius:999px}
.lh-h1{font-family:var(--display);font-weight:900;letter-spacing:-.03em;line-height:.98;font-size:clamp(38px,7vw,82px);color:var(--ink);margin:20px 0 0}
.lh-sub{font-family:var(--body);font-size:clamp(17px,1.7vw,21px);line-height:1.55;color:var(--ink-soft);margin:20px 0 0;max-width:60ch}
.lh-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.lh-btn{display:inline-block;cursor:pointer;border:0;font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:14px;padding:15px 26px;border-radius:999px;text-decoration:none}
.lh-btn--primary{background:var(--blue);color:#fff;box-shadow:0 8px 22px rgba(0,60,200,.28)}
.lh-btn--ghost{background:var(--white);color:var(--ink);border:1.5px solid var(--line)}
.lh-btn--gold{background:var(--gold);color:#1a1206}
.lh-btn:disabled{opacity:.5;cursor:default}

.lh-section{padding:clamp(40px,7vw,76px) 0;border-top:1px solid var(--line)}
.lh-eyebrow{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--gold);margin:0 0 8px}
.lh-h2{font-family:var(--display);font-weight:900;letter-spacing:-.02em;font-size:clamp(26px,3.6vw,42px);line-height:1.02;color:var(--ink);margin:0}
.lh-p{font-family:var(--body);font-size:16.5px;line-height:1.6;color:var(--ink-soft);margin:14px 0 0;max-width:60ch}
.lh-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,56px);align-items:start;margin-top:26px}
@media (max-width:780px){.lh-split{grid-template-columns:1fr;gap:26px}}

/* ---- forms ---- */
.lh-form{display:flex;flex-direction:column;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:clamp(20px,3vw,30px)}
.lh-field{display:flex;flex-direction:column;gap:6px}
.lh-field label{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:11.5px;color:var(--ink-soft)}
.lh-field input,.lh-field textarea,.lh-field select{font-family:var(--body);font-size:15.5px;color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;outline:none;width:100%}
.lh-field textarea{resize:vertical;min-height:88px}
.lh-field input:focus,.lh-field textarea:focus,.lh-field select:focus{border-color:var(--blue);background:#fff}
.lh-check{display:flex;gap:10px;align-items:flex-start;font-family:var(--body);font-size:14px;color:var(--ink-soft);line-height:1.45}
.lh-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--blue)}
.lh-note{font-family:var(--body);font-size:13px;color:var(--ink-faint);line-height:1.5}
.lh-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){.lh-row{grid-template-columns:1fr}}
.lh-success{display:none;background:#F2FCF6;border:1px solid #b9e6cd;border-radius:16px;padding:18px 20px;font-family:var(--body);color:#14633c;font-size:15px;line-height:1.5}
.lh-form.sent .lh-form__body{display:none}
.lh-form.sent .lh-success{display:block}

/* ---- pay cards (booking / donate) ---- */
.lh-pay{background:linear-gradient(160deg,var(--white),#eef2ff);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:clamp(22px,3vw,30px)}
.lh-pay--dark{background:linear-gradient(150deg,#10183a,var(--black));border-color:#232a4a;color:#fff}
.lh-price{font-family:var(--display);font-weight:900;font-size:clamp(34px,5vw,52px);letter-spacing:-.02em;color:var(--blue);line-height:1}
.lh-pay--dark .lh-price{color:#fff}
.lh-pay__meta{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--ink-faint);margin-top:6px}
.lh-pay--dark .lh-pay__meta{color:#aab2d8}
.lh-pay__p{font-family:var(--body);font-size:15px;line-height:1.55;margin:14px 0 0;color:var(--ink-soft)}
.lh-pay--dark .lh-pay__p{color:#cfd6f2}

/* ---- modal (booking onboarding) ---- */
.lh-modal{position:fixed;inset:0;z-index:70;display:none;align-items:flex-start;justify-content:center;background:rgba(8,12,30,.55);backdrop-filter:blur(3px);overflow-y:auto;padding:clamp(16px,5vh,56px) 16px}
.lh-modal.open{display:flex}
.lh-modal__card{width:min(560px,100%);background:var(--white);border-radius:22px;box-shadow:var(--shadow-lg);padding:clamp(22px,4vw,34px);position:relative}
.lh-modal__x{position:absolute;top:14px;right:16px;border:0;background:none;font-size:26px;line-height:1;color:var(--ink-faint);cursor:pointer}

footer.lh-footer{border-top:1px solid var(--line);padding:40px 0 64px;font-family:var(--body);color:var(--ink-faint);font-size:13.5px}
.lh-footer a{color:var(--ink-soft)}
.lh-foot-logo{height:30px;width:auto;display:block;margin-bottom:14px;opacity:.92}
.lh-footer p{margin:0;max-width:54ch;line-height:1.55}

/* progress + email sync */
.lh-progwrap{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:18px 20px}
.lh-prog__head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.lh-prog__count{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;color:var(--ink-soft)}
.lh-sync{font-family:var(--body);font-size:13.5px;color:var(--ink-faint)}
.lh-synced{color:var(--correct);font-weight:600}
.lh-link{appearance:none;border:0;background:none;color:var(--blue);font:inherit;cursor:pointer;text-decoration:underline;padding:0}
.lh-prog__bar{height:8px;border-radius:999px;background:var(--sunken);overflow:hidden;margin-top:12px}
.lh-prog__fill{height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--blue-2));transition:width .5s ease}
.lh-syncform{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
.lh-syncform input{flex:1;min-width:180px;font-family:var(--body);font-size:15px;border:1.5px solid var(--line);border-radius:12px;padding:11px 14px;background:var(--paper)}
.lh-syncform input:focus{border-color:var(--blue);outline:none;background:#fff}
.card.done{border-color:#bfe6cd}
.card.done .card__meta::after{content:' · done';color:#1f9d57;font-weight:800}
.card.done .card__go{color:#1f9d57}

/* ---- guide home: categories, gated cards, map card ---- */
.card{position:relative}
.card .card__n{color:var(--c,var(--blue))}
.card .card__go{color:var(--c,var(--blue))}
.card:hover{border-color:var(--c,var(--blue))}

.lh-cats{display:flex;flex-wrap:wrap;gap:10px}
.lh-cat{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-family:var(--display);font-weight:800;font-size:13.5px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:999px;padding:10px 16px;box-shadow:var(--shadow);transition:border-color .15s,transform .12s}
.lh-cat:hover{border-color:var(--c);transform:translateY(-1px)}
.lh-cat i{width:11px;height:11px;border-radius:50%;background:var(--c)}
.lh-cat b{color:var(--c);font-weight:900}

.lh-tracks{margin-top:32px;display:flex;flex-direction:column;gap:40px}
.lh-track{scroll-margin-top:24px}
.lh-track__head{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--c)}
.lh-track__dot{width:14px;height:14px;border-radius:50%;background:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 22%,transparent)}
.lh-track__name{font-family:var(--display);font-weight:900;font-size:clamp(20px,2.6vw,26px);letter-spacing:-.02em;margin:0;color:var(--ink)}
.lh-track__n{margin-left:auto;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:11.5px;color:var(--ink-faint)}

/* ---- collapsible tracks + Codex/Map toggle ---- */
.lh-track__head{width:100%;cursor:pointer;background:none;border:0;border-bottom:2px solid var(--c);text-align:left;color:inherit;font:inherit}
.lh-track__head:hover{opacity:.82}
.lh-track__chev{margin-left:14px;color:var(--c);font-size:13px;transition:transform .2s;display:inline-block}
.lh-track.is-open .lh-track__chev{transform:rotate(180deg)}
.lh-track .cards{display:none}
.lh-track.is-open .cards{display:flex}
.lh-viewtoggle{display:inline-flex;gap:4px;margin-top:20px;background:var(--sunken);border-radius:999px;padding:5px}
.lh-vt{display:inline-flex;align-items:center;font-family:var(--display);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.04em;padding:10px 20px;border-radius:999px;text-decoration:none;color:var(--ink-soft);cursor:pointer}
.lh-vt.is-active{background:var(--white);color:var(--ink);box-shadow:var(--shadow)}
.lh-vt:not(.is-active):hover{color:var(--ink)}

/* ---- dashboard top bar ---- */
.lh-dash-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.lh-topnav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.lh-topnav a{font-family:var(--display),sans-serif;font-weight:700;font-size:13.5px;color:var(--ink-soft,#4c5570);text-decoration:none;padding:8px 12px;border-radius:999px;transition:color .15s,background .15s}
.lh-topnav a:hover{color:var(--ink,#0d1230);background:rgba(12,18,45,.05)}
.lh-topnav a.is-on{color:#0055FE;background:rgba(0,85,254,.08)}
@media (max-width:560px){.lh-topnav a{font-size:12.5px;padding:7px 9px}}

/* ---- footer links (shared) ---- */
.lh-foot-links{font-family:var(--body);font-size:14px;margin-top:12px}
.lh-foot-links a{color:var(--ink-soft);text-decoration:none}
.lh-foot-links a:hover{text-decoration:underline}

/* ---- inline email opt-in (single field) ---- */
.lh-inlinerow{display:flex;gap:12px;flex-wrap:wrap;max-width:520px}
.lh-inlinerow input[type=email]{flex:1;min-width:220px;font-family:var(--body);font-size:16px;color:var(--ink);border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--white)}
.lh-inlinerow input[type=email]:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px rgba(0,85,254,.15)}
