/* ===== V15 BOLD MARK + FOUNDER HOUSE REGISTRATION ===== */
.se-mini-mark,.se-button-mark,.se-sidebar-mark,.se-founder-final-mark,.fh-btn-mark,.fh-choice-mark,.fh-top-mark { display:inline-block; flex:0 0 auto; }
.se-founder-house-price,.se-founder-final-price { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.se-founder-house-price { margin:0 0 20px; }
.se-founder-house-price s,.se-founder-final-price s { color:#70847e; font-size:14px; text-decoration-thickness:1.5px; }
.se-founder-house-price strong,.se-founder-final-price strong { color:#073a30; font-size:20px; letter-spacing:-.035em; }
.se-founder-house-price span { color:#15936d; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.se-founder-final-price { margin:4px 0 18px; justify-content:center; }

.se-founder-house-moments { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
.se-founder-house-moments figure { height:220px; margin:0; overflow:hidden; position:relative; border-radius:22px; background:#d7e9e2; }
.se-founder-house-moments img { width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.2,.8,.2,1); }
.se-founder-house-moments figure:hover img { transform:scale(1.035); }
.se-founder-house-moments figure::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 56%,rgba(3,42,35,.55)); }
.se-founder-house-moments figcaption { left:16px; bottom:14px; position:absolute; z-index:2; color:#fff; font-size:13px; font-weight:750; letter-spacing:-.01em; }

html.fh-modal-open,html.fh-modal-open body { overflow:hidden !important; }
.fh-modal { position:fixed; inset:0; z-index:5000; display:none; align-items:center; justify-content:center; padding:20px; }
.fh-modal.open { display:flex; }
.fh-modal-backdrop { position:absolute; inset:0; background:rgba(3,42,35,.58); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.fh-modal-panel { width:min(720px,100%); max-height:min(900px,calc(100vh - 32px)); position:relative; z-index:2; overflow:auto; border:1px solid rgba(7,58,48,.14); border-radius:30px; background:#fffefb; color:#073a30; box-shadow:0 38px 120px rgba(3,42,35,.35); }
.fh-modal-top { min-height:68px; padding:0 24px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(7,58,48,.10); }
.fh-modal-top>span { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:800; letter-spacing:-.01em; }
.fh-top-mark { width:14px; height:14px; color:#20b980; }
.fh-modal-top button { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:#60706b; background:#f1f7f4; font-size:22px; line-height:1; }
.fh-progress { height:3px; background:#edf3f0; overflow:hidden; }
.fh-progress span { height:100%; display:block; background:linear-gradient(90deg,#0b765e,#39d49b); transition:width .3s ease; }
.fh-modal-body { padding:42px 42px 38px; }
.fh-kicker { margin:0 0 12px; color:#15936d; font-size:10px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.fh-modal-body h2 { margin:0; max-width:610px; color:#073a30; font-family:'Inter',system-ui,sans-serif; font-size:clamp(38px,5.4vw,62px); line-height:.95; letter-spacing:-.065em; font-weight:650; }
.fh-lede { max-width:590px; margin:18px 0 0; color:#60706b; font-size:15px; line-height:1.55; }
.fh-lede strong { color:#073a30; }
.fh-intro-icon,.fh-fit-mark,.fh-success-mark { width:56px; height:56px; margin-bottom:22px; display:grid; place-items:center; border-radius:18px; background:#dff9ec; color:#15936d; }
.fh-intro-icon svg,.fh-fit-mark svg,.fh-success-mark svg { width:28px; height:28px; }
.fh-price-inline { margin:24px 0 28px; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.fh-price-inline s { color:#81908b; font-size:14px; }
.fh-price-inline strong { color:#073a30; font-size:21px; letter-spacing:-.035em; }
.fh-price-inline span { padding:5px 8px; border-radius:999px; background:#e4f9ef; color:#0b765e; font-size:9px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.fh-primary { min-height:50px; padding:0 20px; display:inline-flex; align-items:center; justify-content:center; gap:12px; border-radius:999px; background:#073a30; color:#fff; font-size:12px; font-weight:780; box-shadow:0 12px 28px rgba(7,58,48,.16); }
.fh-primary:disabled { opacity:.38; cursor:not-allowed; box-shadow:none; }
.fh-btn-mark { width:15px; height:15px; color:#66e5b1; }
.fh-choice-grid { margin-top:28px; display:grid; gap:10px; }
.fh-choice { min-height:58px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid rgba(7,58,48,.14); border-radius:16px; background:#fff; color:#214a40; text-align:left; font-size:14px; font-weight:650; transition:.18s ease; }
.fh-choice:hover { transform:translateY(-1px); border-color:rgba(7,58,48,.3); background:#fbfffd; }
.fh-choice.selected { border-color:#20b980; background:#eafff4; color:#073a30; box-shadow:0 0 0 2px rgba(32,185,128,.07); }
.fh-choice-mark { width:17px; height:17px; color:#20b980; }
.fh-step-actions { margin-top:28px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.fh-back { min-height:46px; padding:0 16px; border-radius:999px; color:#60706b; font-size:12px; font-weight:700; }
.fh-back:hover { background:#f0f6f3; color:#073a30; }
.fh-textarea { width:100%; min-height:112px; margin-top:24px; padding:16px 17px; resize:vertical; border:1px solid rgba(7,58,48,.16); border-radius:16px; outline:0; background:#fff; color:#073a30; font:inherit; font-size:14px; line-height:1.5; }
.fh-textarea:focus,.fh-contact-grid input:focus,.fh-transaction input:focus { border-color:#20b980; box-shadow:0 0 0 3px rgba(32,185,128,.10); }
.fh-contact-grid { margin-top:14px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.fh-contact-grid label,.fh-transaction { display:grid; gap:7px; }
.fh-contact-grid label span,.fh-transaction span { color:#4d665f; font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.fh-contact-grid input,.fh-transaction input { width:100%; min-height:49px; padding:0 14px; border:1px solid rgba(7,58,48,.15); border-radius:13px; outline:0; background:#fff; color:#073a30; font:inherit; font-size:13px; }
.fh-inline-error,.fh-error { margin:14px 0 0; color:#a33c31; font-size:12px; line-height:1.4; }
.fh-fit-note { margin:26px 0; padding:18px 20px; display:flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid rgba(7,58,48,.12); border-radius:17px; background:#f1fbf6; }
.fh-fit-note strong { font-size:13px; }
.fh-fit-note span { display:flex; align-items:baseline; gap:8px; }
.fh-fit-note s { color:#81908b; font-size:12px; }
.fh-fit-note b { font-size:17px; }
.fh-auth-note { max-width:520px; margin:14px 0 0; color:#7a8c86; font-size:10px; line-height:1.45; }
.fh-payment-layout { margin-top:26px; display:grid; grid-template-columns:230px 1fr; gap:24px; align-items:center; }
.fh-qr-card { aspect-ratio:1; padding:14px; display:grid; place-items:center; border:1px solid rgba(7,58,48,.13); border-radius:20px; background:#fff; box-shadow:0 14px 36px rgba(3,42,35,.06); }
.fh-qr-card img { width:100%; height:100%; object-fit:contain; }
.fh-qr-fallback { width:100%; height:100%; display:none; place-items:center; align-content:center; gap:7px; border:1px dashed rgba(7,58,48,.25); border-radius:14px; text-align:center; color:#60706b; }
.fh-qr-fallback>span { color:#15936d; font-size:9px; font-weight:850; letter-spacing:.1em; }
.fh-qr-fallback strong { color:#073a30; font-size:15px; }
.fh-qr-fallback small { font-size:9px; line-height:1.45; }
.fh-payment-copy>span { color:#15936d; font-size:9px; font-weight:850; letter-spacing:.1em; }
.fh-payment-copy>div { margin-top:10px; display:flex; align-items:baseline; gap:10px; }
.fh-payment-copy s { color:#83928d; font-size:16px; }
.fh-payment-copy strong { color:#073a30; font-size:38px; letter-spacing:-.06em; }
.fh-payment-copy>b { padding:5px 8px; display:inline-block; border-radius:999px; background:#dff9ec; color:#0b765e; font-size:9px; letter-spacing:.08em; }
.fh-payment-copy p { max-width:310px; margin:16px 0 0; color:#60706b; font-size:12px; line-height:1.5; }
.fh-upload { min-height:170px; margin-top:28px; padding:24px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; border:1px dashed rgba(7,58,48,.28); border-radius:20px; background:#f8fcfa; text-align:center; cursor:pointer; transition:.18s ease; }
.fh-upload:hover { border-color:#20b980; background:#effbf5; }
.fh-upload input { position:absolute; opacity:0; pointer-events:none; }
.fh-upload-mark { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#dff9ec; color:#15936d; }
.fh-upload-mark svg { width:21px; height:21px; }
.fh-upload strong { font-size:14px; }
.fh-upload small { color:#71837d; font-size:10px; }
.fh-transaction { margin-top:14px; }
.fh-transaction em { font-style:normal; color:#8b9a95; font-weight:600; text-transform:none; letter-spacing:0; }
.fh-success-card { margin:26px 0; padding:22px; display:grid; gap:5px; border-radius:20px; background:#073a30; color:#fff; }
.fh-success-card span,.fh-success-card small { color:#bcebd7; font-size:10px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.fh-success-card strong { font-size:31px; line-height:1; letter-spacing:-.05em; }

@media (max-width:720px) {
  .se-founder-house-moments { grid-template-columns:1fr; }
  .se-founder-house-moments figure { height:180px; }
  .fh-modal { padding:0; align-items:flex-end; }
  .fh-modal-panel { width:100%; max-height:94vh; border-radius:26px 26px 0 0; }
  .fh-modal-body { padding:30px 18px 26px; }
  .fh-modal-body h2 { font-size:42px; }
  .fh-contact-grid { grid-template-columns:1fr; }
  .fh-step-actions { align-items:stretch; }
  .fh-step-actions .fh-primary { flex:1; }
  .fh-payment-layout { grid-template-columns:1fr; }
  .fh-qr-card { width:min(260px,80vw); justify-self:center; }
  .fh-fit-note { align-items:flex-start; flex-direction:column; }
}

/* V24 payment-link addition */
.fh-pay-now { width:100%; min-height:48px; margin-top:18px; padding:0 16px; display:flex; align-items:center; justify-content:center; gap:10px; border-radius:14px; background:#20b980; color:#073a30; font-size:13px; font-weight:850; text-decoration:none; box-shadow:0 10px 24px rgba(32,185,128,.18); transition:.18s ease; }
.fh-pay-now:hover { transform:translateY(-1px); box-shadow:0 14px 30px rgba(32,185,128,.22); }
.fh-pay-mark { width:15px; height:15px; }
