:root {
  --ink: #18332f;
  --ink-2: #31534d;
  --cream: #f8f5ec;
  --paper: #fffdf8;
  --coral: #ff7058;
  --lime: #d7f06a;
  --sky: #96dfe7;
  --line: rgba(24, 51, 47, .2);
  --shadow: 0 24px 80px rgba(24, 51, 47, .1);
  --font-stamp: "Courier New", Courier, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--cream);
  color: var(--ink);
  font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.modal-open { overflow: hidden; }
button, input { font: inherit; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
#explore, #jobs, #housing, #community, #alerts { scroll-margin-top: 104px; }
.section-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 1000; padding: 10px 14px; background: white; border: 2px solid var(--ink); border-radius: 8px; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.sr-only { width: 1px; height: 1px; position: absolute; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; clip-path: inset(50%); }

.concept-ribbon {
  min-height: 30px;
  display: flex;
  justify-content: center;
  gap: 12px;
  align-items: center;
  padding: 6px 18px;
  color: white;
  background: var(--ink);
  font: 600 10px/1.3 "Courier New", monospace;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.ribbon-note { color: #bbcbc7; }
.ribbon-note::before { content: "·"; margin-right: 12px; color: var(--lime); }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(248, 245, 236, .92); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(24, 51, 47, .1); }
.nav-shell { height: 76px; width: min(1180px, calc(100% - 40px)); margin: auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; }
.brand { display: flex; align-items: center; gap: 11px; font-size: 17px; font-weight: 750; letter-spacing: -.045em; }
.brand-mark { width: 39px; height: 39px; display: grid; place-items: center; color: var(--paper); background: var(--ink); border-radius: 51% 44% 49% 46%; font-size: 12px; letter-spacing: -.06em; transform: rotate(-4deg); box-shadow: 2px 2px 0 var(--coral); }
.nav-links { display: flex; gap: 31px; font-size: 13px; font-weight: 600; }
.nav-links a { position: relative; padding: 29px 0; }
.nav-links a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 21px; height: 2px; background: var(--coral); transition: right .2s ease; }
.nav-links a:hover::after { right: 0; }
.nav-actions { display: flex; justify-content: flex-end; align-items: center; gap: 17px; }
.text-button, .card-link, .footer-links button { appearance: none; border: 0; padding: 0; background: none; cursor: pointer; font-weight: 700; }
.text-button:hover, .card-link:hover { color: var(--coral); }
.menu-button { display: none; width: 42px; height: 42px; border: 1.5px solid var(--ink); background: none; border-radius: 50%; cursor: pointer; }
.menu-button span { display: block; width: 17px; height: 1.5px; margin: 4px auto; background: var(--ink); }

.button { appearance: none; border: 0; min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 0 24px; border-radius: 13px 15px 12px 15px; color: white; background: var(--ink); box-shadow: 4px 5px 0 var(--coral); cursor: pointer; font-size: 14px; font-weight: 750; transition: transform .18s ease, box-shadow .18s ease; }
.button:hover { transform: translate(2px, 2px); box-shadow: 2px 3px 0 var(--coral); }
.button:focus-visible, button:focus-visible, a:focus-visible, input:focus-visible { outline: 3px solid var(--sky); outline-offset: 3px; }
.button-small { min-height: 40px; padding: 0 17px; box-shadow: none; font-size: 13px; }
.button-light { color: var(--ink); background: var(--cream); box-shadow: 4px 5px 0 var(--coral); }
.button-coral { background: var(--coral); color: var(--ink); box-shadow: 4px 5px 0 var(--lime); }

.hero { min-height: 700px; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 36px; padding-block: 58px 64px; }
.hero-copy { position: relative; z-index: 2; padding-left: 8px; }
.eyebrow { width: max-content; display: flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1.5px solid var(--ink); border-radius: 7px 10px 8px 12px; font: 700 11px/1 "Courier New", monospace; letter-spacing: .08em; text-transform: uppercase; transform: rotate(-1deg); }
.eyebrow span { color: var(--coral); }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 22px; font-size: clamp(50px, 5.1vw, 76px); line-height: .98; letter-spacing: -.071em; font-weight: 750; }
h1 em, h2 em { display: inline-block; color: var(--coral); font-family: var(--font-stamp); font-style: normal; font-weight: 700; letter-spacing: -.065em; }
h1 em { font-size: .6em; }
h2 em { font-size: .72em; }
.hero-lede { max-width: 530px; margin-bottom: 0; color: #45605b; font-size: 17px; line-height: 1.65; letter-spacing: -.012em; }
.hero-actions { display: flex; align-items: center; gap: 29px; margin: 34px 0 25px; }
.play-link { appearance: none; display: flex; align-items: center; gap: 10px; padding: 0; border: 0; color: inherit; background: none; cursor: pointer; font-size: 14px; font-weight: 700; }
.play-link:hover { color: var(--coral); }
.play { width: 34px; height: 34px; display: grid; place-items: center; border: 1.5px solid var(--ink); border-radius: 50%; font-size: 10px; padding-left: 2px; }
.profile-benefits { display: flex; flex-wrap: wrap; gap: 9px 16px; margin: 0 0 29px; color: #45605b; font-size: 13px; font-weight: 650; }
.profile-benefits span { white-space: nowrap; }
.profile-benefits span::first-letter { color: var(--coral); }
.trust-row { display: flex; align-items: center; gap: 13px; }
.trust-row p { margin-bottom: 0; color: #526b65; font-size: 13px; line-height: 1.5; }
.trust-row strong { color: var(--ink); }
.avatar-stack { display: flex; }
.avatar-stack span { width: 32px; height: 32px; display: grid; place-items: center; margin-left: -7px; border: 2px solid var(--cream); border-radius: 50%; background: var(--sky); font: 700 10px/1 "Courier New", monospace; }
.avatar-stack span:first-child { margin-left: 0; background: var(--coral); color: white; }
.avatar-stack span:nth-child(3) { background: var(--lime); }
.avatar-stack span:nth-child(4) { background: var(--ink); color: white; }

.hero-visual { min-height: 540px; position: relative; display: flex; align-items: center; justify-content: center; }
.hero-blob { width: 111%; position: relative; transform: translateX(-2%); }
.hero-blob::before { content: ""; position: absolute; inset: 12% 4% 7% 5%; border: 2px solid rgba(24, 51, 47, .28); border-radius: 48% 52% 44% 56% / 58% 42% 58% 42%; transform: rotate(-2deg); z-index: -1; }
.hero-blob::after { content: ""; position: absolute; inset: 17% 0 3% 10%; background: repeating-linear-gradient(0deg, transparent 0 17px, rgba(24, 51, 47, .028) 18px 19px); border-radius: 46%; z-index: -2; }
.hero-blob img { display: block; width: 100%; mix-blend-mode: normal; filter: none; }
.sun-doodle, .flight-doodle { display: none; }
.float-card { position: absolute; z-index: 3; width: 150px; padding: 16px; background: rgba(255, 253, 248, .97); border: 1.7px solid var(--ink); box-shadow: 4px 5px 0 rgba(24, 51, 47, .14); cursor: pointer; transition: translate .18s ease, box-shadow .18s ease, background .18s ease; }
.float-card:hover { translate: 0 -4px; background: var(--paper); box-shadow: 6px 8px 0 rgba(24, 51, 47, .18); }
.float-card:active { translate: 0 -1px; }
.float-card:hover .route-pill, .float-card:hover .verified-pill { background: var(--lime); }
.float-card strong { font: 700 16px/1.22 var(--font-stamp); letter-spacing: -.045em; }
.float-kicker { display: block; margin-bottom: 7px; color: #526b65; font: 700 10px/1 "Courier New", monospace; letter-spacing: .08em; }
.float-description { display: block; margin-top: 9px; color: #45605b; font-size: 12px; line-height: 1.4; }
.float-card-job { width: 194px; left: 0; bottom: 7px; border-radius: 10px 14px 9px 15px; transform: rotate(-5deg); }
.float-card-home { width: 205px; right: -5px; bottom: 18px; border-radius: 14px 9px 16px 11px; transform: rotate(4deg); }
.route-pill, .verified-pill { width: max-content; display: block; margin-top: 12px; padding: 6px 8px; border: 1px solid var(--ink); border-radius: 20px; font: 700 10px/1 "Courier New", monospace; }
.verified-pill { border: 0; border-radius: 3px; background: var(--lime); }
.house-symbol { display: block; color: var(--ink); font-size: 29px; line-height: 1; }
.hand-note { position: absolute; z-index: 4; left: 12%; top: 28%; font: 700 11px/1.2 var(--font-stamp); letter-spacing: .06em; text-transform: uppercase; transform: rotate(-7deg); }

.proof-strip { min-height: 72px; display: flex; align-items: center; justify-content: center; gap: clamp(24px, 6vw, 76px); padding: 18px 20px; color: white; background: var(--ink); font-size: 13px; font-weight: 700; }
.proof-strip span { display: flex; align-items: center; gap: 9px; white-space: nowrap; }
.proof-strip b { color: var(--lime); font-size: 16px; }

.feature-section, .board-section { padding-block: 112px; }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 54px; }
.section-heading > p { max-width: 475px; margin-bottom: 8px; color: #59706b; font-size: 15px; line-height: 1.7; }
.section-kicker { display: block; margin-bottom: 13px; font: 700 10px/1.2 "Courier New", monospace; letter-spacing: .12em; }
h2 { margin-bottom: 0; font-size: clamp(42px, 5vw, 64px); line-height: 1; letter-spacing: -.065em; font-weight: 750; }
h3 { letter-spacing: -.035em; }
.bento-grid { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: 30px; row-gap: 42px; }
.bento-card { min-height: 460px; position: relative; overflow: hidden; padding: 31px; border: 1.5px solid var(--ink); border-radius: 22px 18px 25px 19px; background: var(--paper); }
.bento-card > h3 { max-width: 420px; margin: 23px 0 8px; font-size: 29px; line-height: 1.1; }
.bento-card > p { max-width: 450px; margin-bottom: 24px; color: #48635d; font-size: 15px; line-height: 1.6; }
.jobs-card { grid-column: span 7; border-width: 2px; box-shadow: 8px 9px 0 var(--lime); }
.housing-card { grid-column: span 5; background: var(--coral); color: var(--ink); }
.jobs-card, .meetup-card, .alert-card { padding-bottom: 74px; }
.meetup-card, .alert-card { grid-column: span 6; min-height: 440px; }
.meetup-card { background: var(--sky); }
.alert-card { border-width: 2px; background: var(--lime); box-shadow: 8px 9px 0 var(--coral); }
.jobs-card::before, .alert-card::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 7px; background: var(--coral); }
.alert-card::before { background: var(--ink); }
.alert-card .icon-bubble { color: var(--coral); background: var(--paper); font-family: "Arial Black", Arial, sans-serif; font-size: 25px; font-weight: 900; }
.card-topline { display: flex; justify-content: space-between; align-items: center; }
.icon-bubble { width: 43px; height: 43px; display: grid; place-items: center; border: 1.5px solid var(--ink); border-radius: 50% 46% 49% 42%; font: 700 17px/1 Georgia, serif; }
.icon-bubble svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.housing-card .icon-bubble { font-size: 25px; }
.icon-bubble.coral { background: var(--coral); }.icon-bubble.lime { color: var(--ink); background: var(--lime); }.icon-bubble.ink { color: white; background: var(--ink); }.icon-bubble.sky { background: var(--sky); }
.live-tag, .secure-tag, .weather { font: 700 10px/1.2 "Courier New", monospace; letter-spacing: .07em; }
.live-tag { display: flex; align-items: center; gap: 7px; }
.live-tag i { width: 7px; height: 7px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 4px rgba(255,112,88,.14); }
.secure-tag { padding: 6px 8px; border: 1px solid var(--ink); border-radius: 20px; color: var(--ink); background: var(--cream); }
.filter-row { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 17px; }
.chip { border: 1px solid var(--ink); border-radius: 30px; padding: 8px 12px; background: transparent; cursor: pointer; font-size: 11px; font-weight: 700; }
.chip.active, .chip:hover { color: white; background: var(--ink); }
.job-list { border-top: 1px solid var(--line); }
.home-jobs-status { min-height: 204px; display: grid; place-content: center; gap: 7px; padding: 26px; text-align: center; }
.home-jobs-status strong, .home-jobs-status small { display: block; }
.home-jobs-status strong { font-size: 13px; }
.home-jobs-status small { max-width: 370px; color: #5f7670; font-size: 10px; line-height: 1.5; }
.job-row { width: 100%; min-height: 68px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; padding: 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; cursor: pointer; text-align: left; }
.job-row[hidden] { display: none; }
.job-row:hover strong, .job-row:focus-visible strong { color: var(--coral); }
.job-row b { transition: transform .18s ease; }
.job-row:hover b { transform: translateX(3px); }
.company-logo { width: 37px; height: 37px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 10px 8px 9px 7px; font: 700 10px/1 "Courier New", monospace; }
.company-logo.sky { background: var(--sky); }.company-logo.lime { background: var(--lime); }.company-logo.coral { background: var(--coral); }.company-logo.cream { background: #f1eadb; }
.job-row strong, .job-row small { display: block; }.job-row strong { margin-bottom: 3px; font-size: 14px; }.job-row small { color: #5f7670; font-size: 11px; }
.card-link { position: absolute; left: 31px; bottom: 25px; display: flex; gap: 9px; font-size: 13px; }
.housing-card > p { color: #fff; font-weight: 600; text-shadow: 0 1px 1px rgba(24,51,47,.22); }
.housing-card .doodle-cloud { color: #fff; text-shadow: 0 1px 1px rgba(24,51,47,.22); }
.meetup-card > p, .alert-card > p { color: var(--ink); font-weight: 500; text-shadow: none; }
.housing-illustration { height: 146px; position: absolute; right: 17px; bottom: 10px; left: 31px; border-bottom: 1.5px solid rgba(255,255,255,.35); }
.mini-house { width: 152px; height: 90px; position: absolute; right: 16px; bottom: 0; border: 2px solid var(--ink); border-radius: 2px; }
.mini-house::before { content: ""; position: absolute; width: 105px; height: 105px; top: -55px; left: 20px; border-top: 2px solid var(--ink); border-left: 2px solid var(--ink); transform: rotate(45deg); }
.mini-house i { position: absolute; width: 34px; height: 55px; left: 58px; bottom: 0; border: 2px solid var(--ink); }
.mini-house b, .mini-house em { position: absolute; top: 22px; width: 29px; height: 24px; border: 2px solid var(--ink); }
.mini-house b { left: 14px; }.mini-house em { right: 14px; }
.doodle-cloud { position: absolute; left: 8px; top: 18px; color: var(--ink); font: 700 10px/1.35 var(--font-stamp); letter-spacing: .05em; text-transform: uppercase; transform: rotate(-7deg); }
.map-pin { position: absolute; right: 23px; top: -34px; color: var(--ink); font-size: 31px; }
.housing-card .button { position: relative; z-index: 2; margin-top: 3px; }
.scribble { width: max-content; padding: 7px 10px; border: 1.5px solid var(--ink); border-radius: 24px; background: rgba(255,255,255,.45); font: 700 10px/1.2 var(--font-stamp); letter-spacing: .055em; text-transform: uppercase; transform: rotate(-2deg); }
.event-mini { display: flex; gap: 14px; align-items: center; padding: 15px; border: 1.5px solid var(--ink); border-radius: 12px 9px 14px 10px; background: rgba(255,255,255,.46); }
.event-date { width: 45px; height: 50px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 8px; background: var(--lime); }
.event-date b, .event-date span { display: block; }.event-date b { margin-bottom: -12px; font-size: 20px; }.event-date span { font: 700 10px/1 "Courier New", monospace; }
.event-mini strong, .event-mini small { display: block; }.event-mini strong { margin-bottom: 5px; font-size: 13px; }.event-mini small { font-size: 11px; }
.event-faces { display: flex; margin-top: 16px; }
.event-faces span { width: 31px; height: 31px; display: grid; place-items: center; margin-left: -6px; border: 1.5px solid var(--ink); border-radius: 50%; background: var(--paper); font: 700 10px/1 "Courier New", monospace; }
.event-faces span:first-child { margin-left: 0; background: var(--coral); }.event-faces span:last-child { width: auto; padding: 0 8px; border-radius: 16px; background: var(--lime); }
.weather { padding: 7px 10px; border: 1px solid var(--ink); border-radius: 20px; }
.alert-item { display: flex; gap: 11px; align-items: center; margin-bottom: 10px; padding: 13px; border: 1px solid var(--ink); border-radius: 11px; background: var(--paper); }
.alert-item > span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--coral); font-weight: 800; }
.alert-item.calm > span { color: var(--ink); background: var(--lime); }
.alert-item strong, .alert-item small { display: block; }.alert-item strong { margin-bottom: 3px; font-size: 13px; }.alert-item small { color: #526b65; font-size: 11px; }

.trust-section { padding-block: 112px; background: var(--sky); border-block: 1.5px solid var(--ink); }
.trust-inner { display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 90px; }
.trust-copy h2 { margin-bottom: 24px; }.trust-copy > p { max-width: 510px; margin-bottom: 27px; color: #345752; font-size: 15px; line-height: 1.72; }
.check-list { list-style: none; margin: 0 0 34px; padding: 0; }.check-list li { display: flex; align-items: center; gap: 10px; margin: 12px 0; font-size: 14px; font-weight: 650; }.check-list li span { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--lime); font-size: 11px; }
.verification-demo { min-height: 520px; position: relative; }
.passport-card { position: absolute; z-index: 2; inset: 38px 30px 98px 38px; padding: 23px; border: 2px solid var(--ink); border-radius: 18px 14px 21px 16px; background: var(--cream); box-shadow: 9px 10px 0 var(--coral); transform: rotate(-2deg); }
.passport-head { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding-bottom: 18px; border-bottom: 1px dashed var(--ink); font: 700 10px/1.2 "Courier New", monospace; letter-spacing: .07em; }
.mini-brand { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--ink); font: 700 10px/1 "Courier New", monospace; }
.passport-profile { min-height: 150px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; }
.profile-photo { width: 70px; height: 82px; display: grid; place-items: center; border: 1.5px solid var(--ink); border-radius: 46% 54% 48% 52%; background: var(--coral); font: 700 14px/1 "Courier New", monospace; }
.mono-label { font: 700 10px/1 "Courier New", monospace; letter-spacing: .08em; }.passport-profile h3 { margin: 5px 0; font-size: 21px; }.passport-profile p { margin: 0; color: #526b65; font-size: 12px; }
.verified-seal { width: 63px; height: 63px; display: grid; place-items: center; border: 2px solid var(--ink); border-radius: 50%; background: var(--lime); font-size: 22px; transform: rotate(6deg); }.verified-seal small { display: block; margin-top: -11px; font: 700 10px/1 "Courier New", monospace; }
.passport-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding-top: 18px; border-top: 1px dashed var(--ink); }.passport-stats span { display: flex; flex-direction: column; gap: 5px; }.passport-stats small { font: 700 10px/1 "Courier New", monospace; color: #526b65; }.passport-stats b { font-size: 12px; }
.verify-step { position: absolute; z-index: 4; min-width: 212px; display: grid; grid-template-columns: 29px 1fr auto; align-items: center; gap: 10px; padding: 11px; border: 1.5px solid var(--ink); background: var(--paper); box-shadow: 3px 4px 0 rgba(24,51,47,.15); }
.verify-step > span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--sky); font: 700 10px/1 "Courier New", monospace; }.verify-step b, .verify-step small { display: block; }.verify-step b { margin-bottom: 3px; font-size: 11px; }.verify-step small { color: #526b65; font-size: 10px; }.verify-step > i { color: var(--coral); font-style: normal; font-weight: 800; }
.step-one { left: -15px; bottom: 54px; border-radius: 9px 12px 8px 13px; transform: rotate(3deg); }.step-two { right: -17px; top: 5px; border-radius: 12px 9px 14px 8px; transform: rotate(4deg); }.step-three { right: -8px; bottom: 37px; border-radius: 10px 14px 9px 12px; transform: rotate(-3deg); }.step-two > span { background: var(--lime); }.step-three > span { background: var(--coral); }
.trust-note { position: absolute; left: 5px; top: 8px; width: max-content; padding: 7px 10px; border: 1.5px solid var(--ink); border-radius: 24px; background: var(--paper); font: 700 10px/1.2 var(--font-stamp); letter-spacing: .055em; text-transform: uppercase; transform: rotate(-5deg); }

.board-section { padding-bottom: 128px; }
.board-tabs { display: flex; gap: 6px; }
.board-tab { padding: 10px 14px; border: 1px solid var(--ink); border-radius: 30px; background: transparent; cursor: pointer; font-size: 12px; font-weight: 700; }
.board-tab.active { color: white; background: var(--ink); }
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }
.post-card { min-height: 330px; position: relative; padding: 28px; border: 1.5px solid var(--ink); border-radius: 21px 17px 23px 18px; }.post-card.coral { background: #ffe0d9; }.post-card.sky { background: #cceff2; }.post-card.lime { background: #edf7bb; }
.post-mark { position: absolute; right: 23px; top: 20px; font: 36px/1 Georgia, serif; transform: rotate(8deg); }.post-tag { display: inline-block; margin-bottom: 45px; padding: 7px 9px; border: 1px solid var(--ink); border-radius: 20px; font: 700 10px/1 "Courier New", monospace; }.post-card h3 { margin-bottom: 12px; font-size: 23px; line-height: 1.12; }.post-card > p { color: #435e58; font-size: 14px; line-height: 1.6; }.post-card footer { position: absolute; right: 28px; bottom: 23px; left: 28px; display: flex; justify-content: space-between; align-items: center; font-size: 11px; font-weight: 700; }.post-save { width: 33px; height: 33px; border: 1.5px solid var(--ink); border-radius: 50%; background: rgba(255,255,255,.55); cursor: pointer; font-weight: 800; }.post-save.saved { background: var(--ink); color: white; }
.post-actions { display: flex; align-items: center; gap: 10px; }.post-open { border: 0; border-bottom: 1px solid currentColor; padding: 4px 0; background: none; cursor: pointer; font-size: 10px; font-weight: 750; }.post-open:hover { color: var(--coral); }

.portal-section { overflow: hidden; padding-block: 116px; color: white; background: var(--ink); }
.portal-inner { display: grid; grid-template-columns: .82fr 1.18fr; gap: 72px; align-items: center; }.section-kicker.light { color: var(--lime); }.portal-copy h2 { margin-bottom: 25px; }.portal-copy h2 em { color: var(--lime); }.portal-copy > p { max-width: 500px; margin-bottom: 28px; color: #d4dedb; font-size: 15px; line-height: 1.7; }
.portal-status { display: inline-flex; margin: -7px 0 18px; padding: 8px 11px; border: 1px solid #718b84; border-radius: 30px; color: var(--lime); font: 700 9px/1 var(--font-stamp); letter-spacing: .055em; }
.roadmap-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 34px; }.roadmap-pills span { padding: 9px 12px; border: 1px solid #6f8680; border-radius: 30px; color: #f1f5f4; font-size: 11px; font-weight: 650; }
.portal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 19px; }.portal-partner-button { border: 0; border-bottom: 1px solid currentColor; padding: 7px 0; color: white; background: none; cursor: pointer; font-size: 11px; font-weight: 750; }.portal-partner-button:hover { color: var(--lime); }
.dashboard-mock { position: relative; min-height: 528px; padding: 18px; border: 1.5px solid #77908a; border-radius: 23px 18px 25px 19px; background: #f8f5ec; color: var(--ink); box-shadow: 10px 12px 0 var(--coral); transform: rotate(2deg); }
.mock-top { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 0 4px 15px; border-bottom: 1px solid var(--line); }.mock-top div { display: flex; justify-content: center; align-items: center; gap: 4px; }.mock-top i { width: 4px; height: 4px; border-radius: 50%; background: #9ba8a4; }.mock-top div small { margin-left: 8px; padding: 5px 7px; border: 1px solid var(--line); border-radius: 20px; color: #5c716c; font: 700 7px/1 var(--font-stamp); letter-spacing: .04em; }.mock-top > b { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--sky); font: 700 10px/1 "Courier New", monospace; }
.mock-greeting { padding: 21px 5px 16px; }.mock-greeting small, .widget-label { font: 700 10px/1.2 "Courier New", monospace; letter-spacing: .07em; }.mock-greeting h3 { margin: 7px 0 4px; font-size: 24px; }.mock-greeting p { margin: 0; color: #526b65; font-size: 11px; }
.mock-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 10px; }.mock-grid > article, .mock-widget { min-height: 137px; position: relative; padding: 16px; border: 1px solid var(--ink); border-radius: 12px 9px 14px 10px; }.mock-widget { color: inherit; font-family: inherit; text-align: left; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }.mock-widget:hover, .mock-widget:focus-visible { z-index: 2; transform: translateY(-3px) rotate(-.5deg); box-shadow: 3px 4px 0 var(--ink); }.schedule-widget { background: var(--sky); }.pay-widget { background: var(--lime); }.calendar-widget { background: var(--paper); }.quick-widget { display: flex; flex-direction: column; gap: 8px; background: #ffe0d9; font-size: 11px; font-weight: 700; }.quick-widget > button { display: flex; justify-content: space-between; align-items: center; width: 100%; border: 0; border-bottom: 1px solid rgba(24,51,47,.28); padding: 6px 0; color: inherit; background: none; cursor: pointer; font: inherit; text-align: left; }.quick-widget > button:hover { color: #c94331; }.quick-widget > button:last-child { border-bottom: 0; }
.route { display: flex; justify-content: space-between; align-items: center; margin: 22px 0 11px; }.route b { font-size: 20px; }.route span { font: 10px/1 "Courier New", monospace; }.mock-grid p { margin: 0; font-size: 11px; }.pay-widget strong { display: block; margin: 23px 0 7px; font-size: 23px; }.tiny-chart { position: absolute; right: 13px; bottom: 12px; font: 18px/1 monospace; }.calendar-days { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; margin-top: 18px; text-align: center; }.calendar-days span { font: 700 10px/1 "Courier New", monospace; }.calendar-days i { padding: 6px 0; border-radius: 4px; font-size: 11px; font-style: normal; }.calendar-days i.trip { background: var(--coral); }
.widget-open { display: block; margin-top: 13px; font-size: 8px; font-weight: 750; }.pay-widget .widget-open { margin-top: 12px; }.calendar-widget .widget-open { margin-top: 11px; }.dashboard-prompt { margin: 12px 3px 0; color: #60736e; font: 700 8px/1.3 var(--font-stamp); letter-spacing: .04em; text-align: center; }
.dashboard-note { position: absolute; right: -48px; top: 18px; padding: 7px 10px; border: 1px solid var(--lime); border-radius: 24px; color: var(--lime); font: 700 10px/1.2 var(--font-stamp); letter-spacing: .055em; text-transform: uppercase; transform: rotate(6deg); }

.cta-section { min-height: 720px; position: relative; display: grid; place-items: center; padding-block: 86px; text-align: center; }.cta-copy { width: min(900px, 100%); }.cta-copy h2 { margin-bottom: 20px; }.cta-copy > p:not(.cta-assurance) { max-width: 640px; margin: 0 auto 27px; color: #586f6a; font-size: 14px; line-height: 1.7; }.cta-doodle { position: absolute; color: var(--ink); }.plane-one { left: 4%; top: 23%; font-size: 48px; transform: rotate(17deg); }.star-one { right: 6%; top: 21%; font-size: 43px; transform: rotate(11deg); }.cloud-one { right: 4%; bottom: 18%; font-size: 48px; }.cta-section::before { content: "• • • • • • • • •"; position: absolute; left: 8%; top: 38%; font: 13px/1 "Courier New", monospace; transform: rotate(-14deg); }
.cta-benefits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin: 0 auto 25px; text-align: left; }.cta-benefits article { min-height: 112px; display: grid; grid-template-columns: 37px 1fr; gap: 10px; align-items: start; padding: 14px; border: 1.5px solid var(--ink); border-radius: 13px 10px 15px 11px; background: var(--paper); }.cta-benefits article:nth-child(1) { box-shadow: 4px 5px 0 var(--coral); }.cta-benefits article:nth-child(2) { box-shadow: 4px 5px 0 var(--lime); }.cta-benefits article:nth-child(3) { box-shadow: 4px 5px 0 var(--sky); }.cta-benefits article:nth-child(4) { box-shadow: 4px 5px 0 #d9cfbe; }.cta-benefits article > span { width: 37px; height: 37px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--lime); font-size: 14px; font-weight: 850; }.cta-benefits article:nth-child(2) > span { color: #e44f3b; background: white; }.cta-benefits article:nth-child(3) > span { background: var(--sky); }.cta-benefits article:nth-child(4) > span { background: #ffe0d9; }.cta-benefits strong, .cta-benefits small { display: block; }.cta-benefits strong { margin: 2px 0 6px; font-size: 11px; line-height: 1.3; }.cta-benefits small { color: #5c716c; font-size: 9px; line-height: 1.45; }
.cta-actions { display: flex; justify-content: center; align-items: center; gap: 21px; }.cta-benefits-button, .cta-login { border: 0; border-bottom: 1px solid currentColor; padding: 7px 0; color: var(--ink); background: none; cursor: pointer; font-size: 11px; font-weight: 750; }.cta-benefits-button:hover, .cta-login:hover { color: #d94c37; }.cta-assurance { max-width: 690px; margin: 23px auto 10px; color: #637873; font-size: 10px; line-height: 1.55; }.cta-assurance strong { color: var(--ink); }.cta-login { margin-top: 3px; font-size: 10px; }

footer { border-top: 1px solid var(--line); background: #f2eee3; }.footer-shell { min-height: 300px; display: grid; grid-template-columns: .72fr 1.28fr; gap: 55px; align-items: start; padding-block: 48px 25px; }.footer-brand-block p { max-width: 260px; margin: 19px 0 13px; color: #5d736e; font-size: 12px; line-height: 1.55; }.footer-brand-block > span { color: #6e807c; font: 700 8px/1.4 var(--font-stamp); letter-spacing: .045em; }.footer-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }.footer-links > div { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }.footer-links strong { margin-bottom: 4px; font-size: 11px; }.footer-links a, .footer-links button { border: 0; padding: 0; color: #526b65; background: none; cursor: pointer; font-family: inherit; font-size: 10px; font-weight: 600; text-align: left; }.footer-links a:hover, .footer-links button:hover { color: #d94c37; text-decoration: underline; text-underline-offset: 3px; }.footer-bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; padding-top: 20px; border-top: 1px solid var(--line); color: #697c77; font-size: 9px; }.footer-bottom a { color: var(--ink); font-weight: 750; }

.benefits-modal { width: min(850px, calc(100% - 28px)); max-height: min(780px, calc(100vh - 30px)); padding: 44px 46px 38px; overflow: auto; border: 2px solid var(--ink); border-radius: 23px 18px 26px 20px; background: var(--cream); color: var(--ink); box-shadow: 12px 14px 0 var(--coral); }
.benefits-modal::backdrop { background: rgba(24,51,47,.72); backdrop-filter: blur(5px); }
.benefits-header { max-width: 650px; margin-bottom: 25px; }.benefits-header h2 { margin: 9px 0 14px; font-size: clamp(38px, 5vw, 52px); }.benefits-header > p { max-width: 665px; margin: 0; color: #48635d; font-size: 15px; line-height: 1.6; }
.benefits-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.benefit-card { min-height: 122px; display: grid; grid-template-columns: 43px 1fr auto; align-items: start; gap: 13px; padding: 17px; border: 1.5px solid var(--ink); border-radius: 15px 12px 17px 13px; transition: translate .18s ease, box-shadow .18s ease; }
.benefit-card:hover { translate: 0 -3px; box-shadow: 4px 5px 0 rgba(24,51,47,.16); }.benefit-card > b { align-self: center; font-size: 16px; }.benefit-card strong, .benefit-card small { display: block; }.benefit-card strong { margin: 2px 0 6px; font-size: 15px; }.benefit-card small { color: #36544f; font-size: 12px; line-height: 1.45; }
.benefit-icon { width: 43px; height: 43px; display: grid; place-items: center; border: 1.5px solid var(--ink); border-radius: 50% 46% 49% 42%; background: var(--paper); font-size: 17px; font-weight: 800; }
.benefit-jobs { background: #ffe0d9; }.benefit-alerts { background: var(--lime); }.benefit-meetups { background: var(--sky); }.benefit-housing { background: var(--paper); }
.benefits-note { display: grid; grid-template-columns: 28px 1fr; gap: 11px; align-items: start; margin: 19px 0 21px; padding: 14px 16px; border: 1px dashed var(--ink); border-radius: 10px 13px 9px 12px; background: rgba(255,255,255,.5); }.benefits-note > span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--lime); font-size: 12px; font-weight: 800; }.benefits-note p { margin: 1px 0 0; color: #48635d; font-size: 12px; line-height: 1.5; }.benefits-note strong { color: var(--ink); }
.benefits-actions { display: flex; align-items: center; gap: 25px; }.benefits-actions .text-button { font-size: 13px; }
.benefits-doodle { position: absolute; pointer-events: none; }.benefits-plane { right: 70px; top: 43px; color: var(--coral); font-size: 30px; transform: rotate(16deg); }.benefits-star { right: 35px; top: 94px; color: var(--ink); font-size: 21px; transform: rotate(8deg); }

.jobs-modal { width: min(1120px, calc(100% - 28px)); max-height: min(850px, calc(100vh - 28px)); padding: 38px; overflow: auto; border: 2px solid var(--ink); border-radius: 23px 18px 26px 20px; background: var(--cream); color: var(--ink); box-shadow: 12px 14px 0 var(--lime); }
.jobs-modal::backdrop { background: rgba(24,51,47,.72); backdrop-filter: blur(5px); }
.jobs-modal-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; padding-right: 44px; }
.jobs-modal-header h2 { margin: 8px 0 13px; font-size: clamp(40px, 5vw, 59px); }
.jobs-modal-header p { max-width: 650px; margin: 0; color: #48635d; font-size: 14px; line-height: 1.6; }
.jobs-alert-button { flex: 0 0 auto; min-height: 43px; display: inline-flex; align-items: center; gap: 8px; padding: 0 15px; border: 1.5px solid var(--ink); border-radius: 24px; background: var(--lime); cursor: pointer; font-size: 12px; font-weight: 750; }
.jobs-alert-button:hover { background: var(--sky); }
.jobs-alert-button span { font-size: 17px; }
.jobs-search-row { display: flex; align-items: center; gap: 18px; margin: 29px 0 13px; }
.jobs-search { min-height: 52px; flex: 1; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; padding: 0 15px; border: 1.5px solid var(--ink); border-radius: 13px 10px 15px 11px; background: var(--paper); }
.jobs-search > span[aria-hidden] { font-size: 23px; line-height: 1; transform: rotate(-14deg); }
.jobs-search input { width: 100%; height: 48px; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 14px; }
.jobs-search input::placeholder { color: #6a7d79; }
.jobs-count { flex: 0 0 auto; font: 700 10px/1.2 var(--font-stamp); letter-spacing: .07em; text-transform: uppercase; }
.jobs-filter-row { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 19px; }
.jobs-browser { display: grid; grid-template-columns: minmax(320px, .88fr) minmax(420px, 1.12fr); overflow: hidden; border: 1.5px solid var(--ink); border-radius: 17px 13px 19px 14px; background: var(--paper); }
.jobs-results { min-height: 430px; border-right: 1.5px solid var(--ink); background: #fffdfa; }
.job-result { width: 100%; min-height: 86px; display: grid; grid-template-columns: 45px 1fr auto; align-items: center; gap: 13px; padding: 13px 16px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; text-align: left; }
.job-result:hover { background: #f3f7e2; }
.job-result.selected { background: var(--lime); }
.job-result .company-logo { width: 42px; height: 42px; }
.job-result strong, .job-result small { display: block; }
.job-result strong { margin-bottom: 5px; font-size: 14px; }
.job-result small { color: #58706a; font-size: 11px; }
.job-result-meta { align-self: start; margin-top: 5px; font: 700 9px/1.2 var(--font-stamp); letter-spacing: .04em; white-space: nowrap; }
.jobs-empty { padding: 45px 25px; text-align: center; }
.jobs-empty b { display: block; margin-bottom: 8px; font-size: 18px; }
.jobs-empty p { margin: 0; color: #58706a; font-size: 13px; line-height: 1.5; }
.job-detail { min-height: 430px; padding: 27px 29px 25px; background: var(--paper); }
.job-detail-topline { display: flex; justify-content: space-between; gap: 20px; }
.job-source-group { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.job-detail-tag { display: inline-flex; padding: 6px 9px; border: 1px solid var(--ink); border-radius: 20px; background: var(--sky); font: 700 9px/1 var(--font-stamp); letter-spacing: .06em; text-transform: uppercase; }
.job-source-proof { display: inline-flex; padding: 6px 9px; border: 1px solid var(--ink); border-radius: 20px; background: var(--lime); font: 700 8px/1 var(--font-stamp); letter-spacing: .035em; text-transform: uppercase; }
.job-save { width: 40px; height: 40px; flex: 0 0 auto; border: 1.5px solid var(--ink); border-radius: 50%; background: var(--paper); cursor: pointer; font-size: 20px; }
.job-save:hover, .job-save.saved { background: var(--coral); }
.job-detail h3 { margin: 20px 0 6px; font-size: 28px; line-height: 1.1; }
.job-detail-company { margin: 0 0 17px; color: #48635d; font-size: 13px; }
.job-detail-facts { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 20px; }
.job-detail-facts span { padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--cream); font-size: 10px; font-weight: 700; }
.job-detail-copy { margin: 0 0 18px; color: #3f5e58; font-size: 13px; line-height: 1.58; }
.job-detail h4 { margin: 0 0 9px; font-size: 12px; }
.job-highlights { display: grid; gap: 7px; margin: 0 0 23px; padding: 0; list-style: none; }
.job-highlights li { display: grid; grid-template-columns: 18px 1fr; gap: 7px; color: #3f5e58; font-size: 12px; line-height: 1.35; }
.job-highlights li::before { content: "✓"; font-weight: 800; }
.job-source-note { margin: -10px 0 19px; color: #627671; font: 700 8px/1.45 var(--font-stamp); letter-spacing: .025em; }
.job-detail-actions { display: flex; align-items: center; gap: 14px; }
.job-detail-actions .button { min-height: 47px; }
.job-detail-actions small { max-width: 165px; color: #657a75; font-size: 9px; line-height: 1.4; }

.alerts-modal { width: min(1140px, calc(100% - 28px)); max-height: min(880px, calc(100vh - 28px)); padding: 38px; overflow: auto; border: 2px solid var(--ink); border-radius: 23px 18px 26px 20px; background: var(--cream); color: var(--ink); box-shadow: 12px 14px 0 var(--coral); }
.alerts-modal::backdrop { background: rgba(24,51,47,.72); backdrop-filter: blur(5px); }
.alerts-modal-header { max-width: 760px; padding-right: 44px; }
.alerts-modal-header h2 { margin: 8px 0 13px; font-size: clamp(40px, 5vw, 59px); }
.alerts-modal-header p { max-width: 680px; margin: 0; color: #48635d; font-size: 14px; line-height: 1.6; }
.alerts-builder { display: grid; grid-template-columns: 1.06fr .94fr; gap: 20px; align-items: start; margin-top: 30px; }
.alerts-controls { display: grid; gap: 11px; }
.alert-step { min-width: 0; margin: 0; padding: 18px; border: 1.5px solid var(--ink); border-radius: 14px 11px 16px 12px; background: var(--paper); }
.alert-step legend { width: 100%; display: grid; grid-template-columns: 31px 1fr; gap: 10px; align-items: center; padding: 0 2px; }
.alert-step legend > b { width: 31px; height: 31px; display: grid; place-items: center; border: 1.5px solid var(--ink); border-radius: 50%; background: var(--lime); font: 700 11px/1 var(--font-stamp); }
.alert-step legend strong, .alert-step legend small { display: block; }
.alert-step legend strong { margin-bottom: 3px; font-size: 13px; }
.alert-step legend small { color: #637772; font-size: 10px; font-weight: 500; }
.alert-choice-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.alert-choice { min-width: 52px; min-height: 36px; padding: 0 12px; border: 1px solid var(--ink); border-radius: 20px; background: transparent; cursor: pointer; font: 700 11px/1 var(--font-stamp); }
.alert-choice:hover { background: #edf5c4; }
.alert-choice.selected { color: var(--ink); background: var(--lime); box-shadow: 2px 2px 0 var(--ink); }
.route-choice { min-width: 104px; }
.route-choice span { color: var(--coral); }
.alert-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 14px; }
.alert-type-choice { min-height: 67px; position: relative; display: grid; grid-template-columns: 32px 1fr; grid-template-rows: auto auto; column-gap: 9px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 10px 8px 11px 9px; background: var(--cream); cursor: pointer; }
.alert-type-choice input { position: absolute; opacity: 0; pointer-events: none; }
.alert-type-choice > span { width: 32px; height: 32px; grid-row: 1 / 3; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--paper); font-size: 14px; font-weight: 800; }
.alert-type-choice > b { align-self: end; font-size: 11px; }
.alert-type-choice > small { align-self: start; color: #617671; font-size: 9px; }
.alert-type-choice:has(input:checked) { border-color: var(--ink); background: #eff8c7; }
.alert-type-choice:has(input:checked) > span { background: var(--lime); }
.alert-type-choice:has(input:focus-visible) { outline: 3px solid var(--sky); outline-offset: 2px; }
.delivery-row { display: flex; gap: 7px; margin-top: 14px; }
.delivery-row label { cursor: pointer; }
.delivery-row input { position: absolute; opacity: 0; pointer-events: none; }
.delivery-row span { min-height: 35px; display: grid; place-items: center; padding: 0 13px; border: 1px solid var(--ink); border-radius: 20px; background: var(--cream); font-size: 10px; font-weight: 700; }
.delivery-row input:checked + span { color: white; background: var(--ink); }
.delivery-row label:has(input:focus-visible) span { outline: 3px solid var(--sky); outline-offset: 2px; }
.alerts-preview { min-height: 600px; position: sticky; top: 0; padding: 25px; border: 1.5px solid var(--ink); border-radius: 18px 14px 20px 15px; color: white; background: var(--ink); box-shadow: 7px 8px 0 var(--sky); }
.alerts-preview-topline { display: flex; justify-content: space-between; align-items: center; color: var(--lime); font: 700 9px/1 var(--font-stamp); letter-spacing: .08em; }
.alerts-preview-topline i { width: 8px; height: 8px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px rgba(215,240,106,.12); }
.alerts-preview h3 { margin: 24px 0 7px; font-size: 28px; }
.alerts-preview > p { margin: 0 0 19px; color: #c2d0cc; font-size: 12px; line-height: 1.5; }
.preview-alert-list { display: grid; gap: 8px; }
.preview-alert { min-height: 73px; display: grid; grid-template-columns: 35px 1fr auto; gap: 10px; align-items: center; padding: 11px; border: 1px solid #7e918c; border-radius: 11px 9px 12px 10px; color: var(--ink); background: var(--paper); }
.preview-alert[hidden] { display: none; }
.preview-alert > span { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--coral); color: white; font-size: 16px; font-weight: 900; }
.preview-alert.weather-alert > span { color: var(--ink); background: var(--sky); }
.preview-alert.calm > span { color: var(--ink); background: var(--lime); }
.preview-alert.security-alert > span { color: var(--ink); background: #f1eadb; }
.preview-alert strong, .preview-alert small { display: block; }
.preview-alert strong { margin-bottom: 4px; font-size: 11px; }
.preview-alert small { color: #61746f; font-size: 9px; }
.preview-alert time { align-self: start; margin-top: 3px; color: #6c7d79; font: 700 8px/1 var(--font-stamp); }
.preview-empty { margin: 14px 0 !important; padding: 22px 15px; border: 1px dashed #82938f; border-radius: 10px; color: #d9e3e0 !important; text-align: center; }
.alerts-summary-card { display: grid; gap: 5px; margin: 17px 0; padding: 13px; border: 1px dashed var(--ink); border-radius: 10px; color: var(--ink); background: var(--lime); }
.alerts-summary-card > span { font: 700 8px/1 var(--font-stamp); letter-spacing: .08em; }
.alerts-summary-card strong { font-size: 12px; }
.alerts-summary-card small { color: #49605a; font-size: 9px; line-height: 1.4; }
.alerts-preview .button { width: 100%; min-height: 49px; color: var(--ink); background: var(--paper); box-shadow: 4px 5px 0 var(--coral); }

.housing-modal { width: min(1140px, calc(100% - 28px)); max-height: min(880px, calc(100vh - 28px)); padding: 38px; overflow: auto; border: 2px solid var(--ink); border-radius: 23px 18px 26px 20px; background: var(--cream); color: var(--ink); box-shadow: 12px 14px 0 var(--coral); }
.housing-modal::backdrop { background: rgba(24,51,47,.72); backdrop-filter: blur(5px); }
.housing-modal-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; padding-right: 44px; }
.housing-modal-header h2 { margin: 8px 0 13px; font-size: clamp(40px, 5vw, 59px); }
.housing-modal-header p { max-width: 680px; margin: 0; color: #48635d; font-size: 14px; line-height: 1.6; }
.housing-trust-mark { flex: 0 0 auto; display: grid; grid-template-columns: 39px auto; align-items: center; gap: 10px; padding: 11px 13px; border: 1.5px solid var(--ink); border-radius: 13px 10px 15px 11px; background: var(--lime); transform: rotate(1deg); }
.housing-trust-mark > span { width: 39px; height: 39px; display: grid; place-items: center; border: 1.5px solid var(--ink); border-radius: 50%; background: var(--paper); font-weight: 900; }
.housing-trust-mark strong { font: 700 9px/1.4 var(--font-stamp); letter-spacing: .05em; text-transform: uppercase; }
.housing-safety-note { display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 12px; margin: 26px 0 17px; padding: 13px 15px; border: 1px dashed var(--ink); border-radius: 12px 9px 14px 10px; background: #ffe0d9; }
.housing-safety-note > span { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--paper); font-size: 14px; }
.housing-safety-note p { margin: 0; color: #48635d; font-size: 11px; line-height: 1.45; }
.housing-safety-note strong { color: var(--ink); }
.housing-safety-note button { border: 0; border-bottom: 1px solid currentColor; padding: 3px 0; background: none; cursor: pointer; font-size: 10px; font-weight: 750; white-space: nowrap; }
.housing-safety-note button:hover { color: var(--coral); }
.housing-search-row { display: flex; align-items: center; gap: 18px; margin-bottom: 12px; }
.housing-search { min-height: 52px; flex: 1; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; padding: 0 15px; border: 1.5px solid var(--ink); border-radius: 13px 10px 15px 11px; background: var(--paper); }
.housing-search > span[aria-hidden] { font-size: 21px; }
.housing-search input { width: 100%; height: 48px; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 14px; }
.housing-search input::placeholder { color: #6a7d79; }
.housing-count { flex: 0 0 auto; font: 700 10px/1.2 var(--font-stamp); letter-spacing: .07em; text-transform: uppercase; }
.housing-filter-row { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 19px; }
.housing-browser { display: grid; grid-template-columns: minmax(330px, .9fr) minmax(430px, 1.1fr); overflow: hidden; border: 1.5px solid var(--ink); border-radius: 17px 13px 19px 14px; background: var(--paper); }
.housing-results { min-height: 495px; padding: 10px; border-right: 1.5px solid var(--ink); background: #fffdfa; }
.housing-result { width: 100%; min-height: 96px; display: grid; grid-template-columns: 78px 1fr auto; align-items: center; gap: 13px; padding: 10px; border: 1px solid transparent; border-radius: 11px 8px 12px 9px; background: transparent; color: var(--ink); cursor: pointer; text-align: left; }
.housing-result + .housing-result { margin-top: 4px; }
.housing-result:hover { background: #fff0eb; }
.housing-result.selected { border-color: var(--ink); background: #ffe0d9; }
.housing-thumb { width: 78px; height: 70px; position: relative; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--ink); border-radius: 10px 7px 11px 8px; background: var(--sky); }
.housing-thumb.has-photo { background: #e8e3d8; }
.housing-thumb.has-photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.housing-thumb.no-photo { grid-template-rows: 1fr auto; padding: 8px 5px 6px; font-size: 27px; }
.housing-thumb.no-photo::after { content: ""; width: 56px; height: 2px; position: absolute; right: -9px; bottom: 18px; background: var(--ink); transform: rotate(-15deg); opacity: .3; }
.housing-thumb.no-photo > span { position: relative; z-index: 1; }
.housing-thumb.no-photo > small { position: relative; z-index: 1; font: 700 7px/1 var(--font-stamp); letter-spacing: .04em; }
.housing-thumb.lime { background: var(--lime); }.housing-thumb.coral { background: #ffb2a5; }.housing-thumb.cream { background: #f1eadb; }
.housing-result strong, .housing-result small { display: block; }
.housing-result strong { margin-bottom: 5px; font-size: 13px; line-height: 1.2; }
.housing-result small { color: #58706a; font-size: 10px; line-height: 1.4; }
.housing-result small b { display: inline-block; margin-top: 3px; color: #3f6653; font: 700 8px/1 var(--font-stamp); letter-spacing: .04em; }
.housing-price { align-self: start; margin-top: 7px; font: 700 10px/1.2 var(--font-stamp); white-space: nowrap; }
.housing-price small { margin-top: 3px; font: 500 8px/1.2 var(--font-stamp); text-align: right; }
.housing-empty { padding: 45px 25px; text-align: center; }
.housing-empty b { display: block; margin-bottom: 8px; font-size: 18px; }
.housing-empty p { margin: 0; color: #58706a; font-size: 13px; line-height: 1.5; }
.housing-detail { min-height: 495px; padding: 27px 29px 25px; background: var(--paper); }
.housing-detail-topline { display: flex; justify-content: space-between; gap: 18px; }
.housing-detail-tag { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border: 1px solid var(--ink); border-radius: 20px; background: var(--lime); font: 700 9px/1 var(--font-stamp); letter-spacing: .05em; text-transform: uppercase; }
.housing-save { width: 40px; height: 40px; flex: 0 0 auto; border: 1.5px solid var(--ink); border-radius: 50%; background: var(--paper); cursor: pointer; font-size: 20px; }
.housing-save:hover, .housing-save.saved { background: var(--coral); }
.housing-detail h3 { margin: 19px 0 6px; font-size: 27px; line-height: 1.1; }
.housing-detail-location { margin: 0 0 15px; color: #48635d; font-size: 12px; }
.housing-detail-facts { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 17px; }
.housing-detail-facts span { padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--cream); font-size: 10px; font-weight: 700; }
.housing-detail-copy { margin: 0 0 16px; color: #3f5e58; font-size: 12px; line-height: 1.55; }
.housing-amenities { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.housing-amenities span { padding: 6px 8px; border-radius: 15px; background: var(--sky); font-size: 9px; font-weight: 700; }
.housing-host { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px; margin-bottom: 15px; padding: 11px; border: 1px solid var(--line); border-radius: 10px; }
.housing-host > span { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--coral); font: 700 10px/1 var(--font-stamp); }
.housing-host strong, .housing-host small { display: block; }.housing-host strong { margin-bottom: 3px; font-size: 11px; }.housing-host small { color: #607570; font-size: 9px; }
.housing-host > b { color: #52715f; font: 700 8px/1 var(--font-stamp); }
.listing-checks { margin-bottom: 15px; padding: 12px; border: 1px solid var(--ink); border-radius: 11px 8px 12px 9px; background: #eff8c7; }
.listing-checks-title { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; }
.listing-checks-title > span { font: 700 8px/1 var(--font-stamp); letter-spacing: .07em; }
.listing-checks-title button { border: 0; border-bottom: 1px solid currentColor; padding: 2px 0; background: none; cursor: pointer; font-size: 8px; font-weight: 700; }
.listing-checks-title button:hover { color: var(--coral); }
.listing-checks ul { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; margin: 0; padding: 0; list-style: none; }
.listing-checks li { min-width: 0; display: grid; grid-template-columns: 21px 1fr; gap: 6px; align-items: start; }
.listing-checks li > span { width: 21px; height: 21px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--paper); font-size: 9px; font-weight: 800; }
.listing-checks li p { min-width: 0; margin: 0; }
.listing-checks li strong, .listing-checks li small { display: block; }
.listing-checks li strong { margin-bottom: 3px; font-size: 8px; line-height: 1.25; }
.listing-checks li small { color: #58706a; font-size: 7px; line-height: 1.3; }
.listing-checks-note { margin: 10px 0 0; padding-top: 9px; border-top: 1px dashed rgba(24,51,47,.4); color: #4d665f; font-size: 8px; line-height: 1.4; }
.housing-lock-panel { display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 10px; padding: 11px; border: 1px dashed var(--ink); border-radius: 10px; background: #f2eddc; }
.housing-lock-panel > span { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--paper); font-size: 13px; }
.housing-lock-panel strong, .housing-lock-panel small { display: block; }.housing-lock-panel strong { margin-bottom: 3px; font-size: 10px; }.housing-lock-panel small { color: #607570; font-size: 8px; }
.housing-lock-panel .button { min-height: 40px; padding-inline: 14px; font-size: 10px; box-shadow: 3px 4px 0 var(--coral); }

.meetups-modal { width: min(1140px, calc(100% - 28px)); max-height: min(880px, calc(100vh - 28px)); padding: 38px; overflow: auto; border: 2px solid var(--ink); border-radius: 23px 18px 26px 20px; background: var(--cream); color: var(--ink); box-shadow: 12px 14px 0 var(--sky); }
.meetups-modal::backdrop { background: rgba(24,51,47,.72); backdrop-filter: blur(5px); }
.meetups-modal-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; padding-right: 44px; }
.meetups-modal-header h2 { margin: 8px 0 13px; font-size: clamp(40px, 5vw, 59px); }
.meetups-modal-header p { max-width: 650px; margin: 0; color: #48635d; font-size: 14px; line-height: 1.6; }
.meetups-create-button { flex: 0 0 auto; min-height: 43px; display: inline-flex; align-items: center; gap: 8px; padding: 0 15px; border: 1.5px solid var(--ink); border-radius: 24px; background: var(--coral); cursor: pointer; font-size: 12px; font-weight: 750; }
.meetups-create-button:hover { background: var(--lime); }
.meetups-create-button span { font-size: 17px; }
.meetups-search-row { display: flex; align-items: center; gap: 18px; margin: 29px 0 13px; }
.meetups-search { min-height: 52px; flex: 1; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; padding: 0 15px; border: 1.5px solid var(--ink); border-radius: 13px 10px 15px 11px; background: var(--paper); }
.meetups-search > span[aria-hidden] { font-size: 21px; }
.meetups-search input { width: 100%; height: 48px; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 14px; }
.meetups-search input::placeholder { color: #6a7d79; }
.meetups-count { flex: 0 0 auto; font: 700 10px/1.2 var(--font-stamp); letter-spacing: .07em; text-transform: uppercase; }
.meetups-filter-row { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 19px; }
.meetups-browser { display: grid; grid-template-columns: minmax(340px, .92fr) minmax(430px, 1.08fr); overflow: hidden; border: 1.5px solid var(--ink); border-radius: 17px 13px 19px 14px; background: var(--paper); }
.meetups-results { min-height: 495px; padding: 10px; border-right: 1.5px solid var(--ink); background: #fffdfa; }
.meetup-result { width: 100%; min-height: 87px; display: grid; grid-template-columns: 55px 1fr auto; align-items: center; gap: 12px; padding: 10px; border: 1px solid transparent; border-radius: 11px 8px 12px 9px; background: transparent; color: var(--ink); cursor: pointer; text-align: left; }
.meetup-result + .meetup-result { margin-top: 4px; }
.meetup-result:hover { background: #e8f8fa; }
.meetup-result.selected { border-color: var(--ink); background: #c8f1f5; }
.meetup-date-tile { width: 55px; height: 59px; display: grid; place-items: center; align-content: center; border: 1px solid var(--ink); border-radius: 9px 7px 10px 8px; background: var(--lime); }
.meetup-date-tile b, .meetup-date-tile small { display: block; }
.meetup-date-tile b { margin-bottom: 4px; font-size: 20px; line-height: 1; }
.meetup-date-tile small { font: 700 8px/1 var(--font-stamp); }
.meetup-result strong, .meetup-result small { display: block; }
.meetup-result strong { margin-bottom: 5px; font-size: 13px; line-height: 1.2; }
.meetup-result small { color: #58706a; font-size: 10px; line-height: 1.4; }
.meetup-result-meta { align-self: start; margin-top: 7px; font: 700 8px/1.2 var(--font-stamp); text-align: right; white-space: nowrap; }
.meetups-empty { padding: 45px 25px; text-align: center; }
.meetups-empty b { display: block; margin-bottom: 8px; font-size: 18px; }
.meetups-empty p { margin: 0; color: #58706a; font-size: 13px; line-height: 1.5; }
.meetup-detail { min-height: 495px; padding: 27px 29px 25px; background: var(--paper); }
.meetup-detail-topline { display: flex; justify-content: space-between; gap: 18px; }
.meetup-detail-tag { display: inline-flex; padding: 6px 9px; border: 1px solid var(--ink); border-radius: 20px; background: var(--sky); font: 700 9px/1 var(--font-stamp); letter-spacing: .05em; text-transform: uppercase; }
.meetup-save { width: 40px; height: 40px; flex: 0 0 auto; border: 1.5px solid var(--ink); border-radius: 50%; background: var(--paper); cursor: pointer; font-size: 20px; }
.meetup-save:hover, .meetup-save.saved { background: var(--lime); }
.meetup-detail h3 { margin: 19px 0 7px; font-size: 28px; line-height: 1.1; }
.meetup-detail-location { margin: 0 0 15px; color: #48635d; font-size: 12px; }
.meetup-detail-facts { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; }
.meetup-detail-facts span { padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--cream); font-size: 10px; font-weight: 700; }
.meetup-detail-copy { margin: 0 0 17px; color: #3f5e58; font-size: 12px; line-height: 1.58; }
.meetup-host { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 10px; margin-bottom: 15px; padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: #f8fcfc; }
.meetup-host > span { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--coral); font: 700 10px/1 var(--font-stamp); }
.meetup-host strong, .meetup-host small { display: block; }.meetup-host strong { margin-bottom: 3px; font-size: 11px; }.meetup-host small { color: #607570; font-size: 9px; }
.meetup-host > b { color: #52715f; font: 700 8px/1 var(--font-stamp); }
.meetup-attendance { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 18px; }
.meetup-attendance .event-faces { margin: 0; }
.meetup-attendance > p { margin: 0; color: #536b66; font-size: 10px; }
.meetup-detail-actions { display: flex; align-items: center; gap: 9px; }
.meetup-detail-actions .button { min-height: 46px; padding-inline: 18px; }
.meetup-calendar-button { min-height: 46px; padding: 0 15px; border: 1.5px solid var(--ink); border-radius: 12px; background: var(--paper); cursor: pointer; font-size: 11px; font-weight: 750; }
.meetup-calendar-button:hover, .meetup-calendar-button.saved { background: var(--lime); }
.meetup-safety { display: flex; justify-content: space-between; gap: 15px; margin-top: 17px; padding-top: 13px; border-top: 1px dashed var(--line); color: #667a75; font-size: 8px; line-height: 1.4; }
.meetup-safety button { flex: 0 0 auto; border: 0; border-bottom: 1px solid currentColor; padding: 0; background: none; color: var(--ink); cursor: pointer; font-size: 8px; font-weight: 700; }
.meetup-safety button:hover { color: var(--coral); }

.verification-modal { width: min(1060px, calc(100% - 28px)); max-height: min(850px, calc(100vh - 28px)); padding: 38px; overflow: auto; border: 2px solid var(--ink); border-radius: 23px 18px 26px 20px; background: var(--cream); color: var(--ink); box-shadow: 12px 14px 0 var(--lime); }
.verification-modal::backdrop { background: rgba(24,51,47,.72); backdrop-filter: blur(5px); }
.verification-modal-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; padding-right: 44px; }
.verification-modal-header h2 { margin: 8px 0 13px; font-size: clamp(40px, 5vw, 58px); }
.verification-modal-header p { max-width: 660px; margin: 0; color: #48635d; font-size: 14px; line-height: 1.6; }
.verification-time { width: 94px; height: 86px; flex: 0 0 auto; display: grid; grid-template-columns: 1fr; place-items: center; align-content: center; border: 1.5px solid var(--ink); border-radius: 48% 45% 50% 43%; background: var(--sky); text-align: center; transform: rotate(3deg); }
.verification-time b { margin-bottom: 4px; font-size: 23px; line-height: 1; }.verification-time small { font: 700 7px/1.25 var(--font-stamp); letter-spacing: .06em; }
.verification-shell { display: grid; grid-template-columns: 265px 1fr; overflow: hidden; margin-top: 29px; border: 1.5px solid var(--ink); border-radius: 18px 14px 20px 15px; background: var(--paper); }
.verification-steps { padding: 15px; border-right: 1.5px solid var(--ink); background: var(--ink); }
.verification-steps button { width: 100%; min-height: 68px; display: grid; grid-template-columns: 35px 1fr; align-items: center; gap: 10px; padding: 10px; border: 1px solid transparent; border-radius: 11px 8px 12px 9px; color: white; background: transparent; cursor: pointer; text-align: left; }
.verification-steps button + button { margin-top: 6px; }
.verification-steps button:hover { background: rgba(255,255,255,.08); }
.verification-steps button.active { border-color: var(--ink); color: var(--ink); background: var(--lime); }
.verification-steps button.complete { color: var(--ink); background: var(--sky); }
.verification-steps button > b { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font: 700 10px/1 var(--font-stamp); }
.verification-steps strong, .verification-steps small { display: block; }.verification-steps strong { margin-bottom: 4px; font-size: 11px; }.verification-steps small { color: inherit; opacity: .74; font-size: 8px; }
.verification-content { min-height: 520px; display: flex; flex-direction: column; padding: 29px; }
.verification-panel { flex: 1; }
.verification-panel[hidden] { display: none; }
.verification-panel-kicker { font: 700 9px/1 var(--font-stamp); letter-spacing: .08em; }
.verification-panel h3 { margin: 18px 0 10px; font-size: 30px; line-height: 1.05; }
.verification-panel > p { max-width: 640px; margin: 0 0 20px; color: #48635d; font-size: 13px; line-height: 1.6; }
.verification-requirements { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 17px; }
.verification-requirements article { min-height: 91px; display: grid; grid-template-columns: 44px 1fr; align-items: center; gap: 12px; padding: 13px; border: 1px solid var(--ink); border-radius: 12px 9px 14px 10px; background: #f8fbeb; }
.verification-requirements article > span { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--lime); font-size: 18px; }
.verification-requirements strong, .verification-requirements small { display: block; }.verification-requirements strong { margin-bottom: 5px; font-size: 12px; }.verification-requirements small { color: #607570; font-size: 9px; line-height: 1.4; }
.verification-privacy-callout { display: grid; grid-template-columns: 35px 1fr; align-items: center; gap: 10px; padding: 13px; border: 1px dashed var(--ink); border-radius: 11px; background: #ffe0d9; }
.verification-privacy-callout > span { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--paper); }
.verification-privacy-callout p { margin: 0; color: #4c655f; font-size: 10px; line-height: 1.45; }.verification-privacy-callout strong { color: var(--ink); }
.aviation-proof-list { display: grid; gap: 8px; margin-bottom: 15px; }
.aviation-proof-list article { display: grid; grid-template-columns: 38px 1fr; gap: 11px; align-items: center; padding: 11px 13px; border: 1px solid var(--line); border-radius: 10px; background: #fbfaf5; }
.aviation-proof-list article > span { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--sky); font: 700 9px/1 var(--font-stamp); }
.aviation-proof-list strong, .aviation-proof-list small { display: block; }.aviation-proof-list strong { margin-bottom: 4px; font-size: 11px; }.aviation-proof-list small { color: #607570; font-size: 9px; line-height: 1.4; }
.verification-warning { padding: 12px 14px; border-left: 5px solid var(--coral); border-radius: 5px 10px 10px 5px; background: #ffe0d9; font-size: 10px; line-height: 1.45; }
.privacy-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 15px; }
.privacy-compare article { padding: 15px; border: 1px solid var(--ink); border-radius: 12px 9px 14px 10px; }
.privacy-shown { background: #eff8c7; }.privacy-hidden { background: #ffe0d9; }
.privacy-compare article > span { font: 700 8px/1 var(--font-stamp); letter-spacing: .07em; }
.privacy-compare ul { display: grid; gap: 9px; margin: 13px 0 0; padding: 0; list-style: none; }
.privacy-compare li { font-size: 10px; line-height: 1.35; }
.verification-fine-print { padding: 11px 13px; border: 1px dashed var(--line); border-radius: 9px; background: var(--cream); font-size: 9px !important; }
.verification-unlocks { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-bottom: 14px; }
.verification-unlocks article { min-height: 112px; display: grid; grid-template-columns: 35px 1fr; grid-template-rows: auto auto; column-gap: 10px; align-items: start; padding: 13px; border: 1px solid var(--ink); border-radius: 11px 8px 12px 9px; background: #f8fbeb; }
.verification-unlocks article > span { width: 35px; height: 35px; grid-row: 1 / 3; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--lime); font-size: 15px; font-weight: 800; }
.verification-unlocks strong { align-self: end; font-size: 11px; line-height: 1.25; }.verification-unlocks small { align-self: start; margin-top: 5px; color: #607570; font-size: 8px; line-height: 1.4; }
.verification-caveat { padding: 11px 13px; border-left: 5px solid var(--coral); border-radius: 5px 10px 10px 5px; background: #ffe0d9; color: #516963; font-size: 9px; line-height: 1.45; }.verification-caveat strong { color: var(--ink); }
.verification-controls { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 15px; margin-top: 22px; padding-top: 17px; border-top: 1px solid var(--line); }
.verification-back { justify-self: start; border: 0; padding: 8px 0; background: none; cursor: pointer; font-size: 11px; font-weight: 750; }
.verification-back.is-hidden { visibility: hidden; }
.verification-back:hover { color: var(--coral); }
.verification-controls > span { color: #637772; font: 700 9px/1 var(--font-stamp); letter-spacing: .05em; }
.verification-controls .button { min-height: 45px; justify-self: end; padding-inline: 17px; font-size: 11px; }

.community-modal { width: min(900px, calc(100% - 28px)); max-height: min(850px, calc(100vh - 28px)); padding: 0; overflow: auto; border: 2px solid var(--ink); border-radius: 23px 18px 26px 20px; background: var(--cream); color: var(--ink); box-shadow: 12px 14px 0 var(--sky); }
.community-modal::backdrop { background: rgba(24,51,47,.72); backdrop-filter: blur(5px); }
.community-modal-content { padding: 42px 47px 38px; }
.community-modal-topline { min-height: 41px; display: flex; justify-content: space-between; align-items: flex-start; padding-right: 42px; }
.community-modal-topline .post-tag { margin: 0; }
.community-detail-save { width: 40px; height: 40px; border: 1.5px solid var(--ink); border-radius: 50%; background: var(--paper); cursor: pointer; font-size: 20px; }
.community-detail-save:hover, .community-detail-save.saved { color: white; background: var(--ink); }
.community-modal-content > h2 { max-width: 730px; margin: 22px 0 12px; font-size: clamp(38px, 5vw, 55px); }
.community-modal-intro { max-width: 720px; margin: 0 0 21px; color: #48635d; font-size: 15px; line-height: 1.65; }
.community-author { display: grid; grid-template-columns: 43px 1fr auto; align-items: center; gap: 11px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px 9px 14px 10px; background: var(--paper); }
.community-author > span { width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--coral); font: 700 10px/1 var(--font-stamp); }
.community-author strong, .community-author small { display: block; }.community-author strong { margin-bottom: 4px; font-size: 12px; }.community-author small { color: #607570; font-size: 9px; }
.community-author > b { color: #52715f; font: 700 8px/1 var(--font-stamp); }
.community-full-post { margin: 17px 0 27px; padding: 20px; border: 1.5px solid var(--ink); border-radius: 14px 11px 16px 12px; background: #fffdfa; }
.community-full-post p { margin: 0; color: #3f5e58; font-size: 13px; line-height: 1.7; }
.community-full-post p + p { margin-top: 12px; }
.community-full-post ul { display: grid; gap: 8px; margin: 15px 0 0; padding: 13px 0 0; border-top: 1px dashed var(--line); list-style: none; }
.community-full-post li { display: grid; grid-template-columns: 18px 1fr; gap: 7px; color: #48635d; font-size: 11px; line-height: 1.45; }
.community-full-post li::before { content: "↗"; color: var(--coral); font-weight: 800; }
.community-replies-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 12px; }
.community-replies-heading .modal-kicker { margin-bottom: 6px; }.community-replies-heading h3 { margin: 0; font-size: 23px; }
.community-replies-heading > span { font: 700 9px/1 var(--font-stamp); letter-spacing: .05em; }
.community-replies { display: grid; gap: 8px; }
.community-reply { display: grid; grid-template-columns: 37px 1fr; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 10px 8px 11px 9px; background: var(--paper); }
.community-reply > span { width: 37px; height: 37px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--sky); font: 700 9px/1 var(--font-stamp); }
.community-reply-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 6px; }.community-reply-head strong { font-size: 10px; }.community-reply-head small { color: #687c77; font-size: 8px; }
.community-reply p { margin: 0; color: #48635d; font-size: 11px; line-height: 1.5; }
.community-reply-form { margin-top: 19px; padding: 16px; border: 1.5px solid var(--ink); border-radius: 13px 10px 15px 11px; background: #eff8c7; }
.community-reply-form > label { display: block; margin-bottom: 9px; font-size: 11px; font-weight: 750; }
.community-reply-form textarea { width: 100%; min-height: 87px; resize: vertical; padding: 11px 12px; border: 1px solid var(--ink); border-radius: 9px; background: var(--paper); color: var(--ink); font-family: inherit; font-size: 13px; line-height: 1.5; }
.community-reply-form > div { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 10px; }
.community-reply-form small { max-width: 480px; color: #526a64; font-size: 8px; line-height: 1.4; }
.community-reply-form .button { min-height: 42px; flex: 0 0 auto; padding-inline: 15px; box-shadow: 3px 4px 0 var(--coral); font-size: 10px; }
.community-safety-note { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 17px; color: #657a75; font-size: 8px; line-height: 1.4; }
.community-safety-note button { flex: 0 0 auto; border: 0; border-bottom: 1px solid currentColor; padding: 3px 0; background: none; cursor: pointer; font-size: 8px; font-weight: 700; }
.community-safety-note button:hover { color: var(--coral); }

.portal-modal { width: min(980px, calc(100% - 28px)); max-height: min(900px, calc(100vh - 28px)); padding: 0; overflow: auto; border: 2px solid var(--ink); border-radius: 23px 18px 26px 20px; background: var(--cream); color: var(--ink); box-shadow: 12px 14px 0 var(--coral); }
.portal-modal::backdrop { background: rgba(24,51,47,.78); backdrop-filter: blur(5px); }
.portal-modal-content { padding: 44px 48px 40px; }
.portal-modal-header { padding-right: 45px; }.portal-modal-header h2 { max-width: 770px; margin: 13px 0; font-size: clamp(38px, 5vw, 55px); }.portal-modal-header > p { max-width: 700px; margin: 0; color: #4b6660; font-size: 14px; line-height: 1.65; }
.portal-concept-warning { display: grid; grid-template-columns: 31px 1fr; gap: 11px; align-items: start; margin: 22px 0; padding: 13px 15px; border: 1px solid var(--ink); border-radius: 11px 8px 13px 9px; background: #d7f2f3; }.portal-concept-warning > span { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: white; font-family: Georgia, serif; font-weight: 800; }.portal-concept-warning p { margin: 0; color: #49635d; font-size: 10px; line-height: 1.55; }.portal-concept-warning strong { color: var(--ink); }
.portal-feature-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }.portal-feature-tabs button { padding: 9px 12px; border: 1px solid var(--ink); border-radius: 30px; color: var(--ink); background: transparent; cursor: pointer; font-size: 10px; font-weight: 750; }.portal-feature-tabs button:hover { background: #e7efd0; }.portal-feature-tabs button.active { color: white; background: var(--ink); }
.portal-feature-detail { min-height: 230px; display: grid; grid-template-columns: 1.4fr .6fr; gap: 12px; padding: 20px; border: 1.5px solid var(--ink); border-radius: 15px 11px 17px 12px; background: #fffdfa; }
.portal-feature-copy { padding: 3px 7px 3px 2px; }.portal-feature-badge { display: inline-flex; padding: 7px 9px; border: 1px solid var(--ink); border-radius: 20px; background: var(--lime); font: 700 8px/1 var(--font-stamp); letter-spacing: .05em; }.portal-feature-copy h3 { margin: 13px 0 8px; font-size: 25px; }.portal-feature-copy > p { max-width: 560px; margin: 0; color: #506964; font-size: 11px; line-height: 1.55; }.portal-feature-copy ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 16px 0 0; padding: 0; list-style: none; }.portal-feature-copy li { min-height: 66px; padding: 10px; border: 1px solid var(--line); border-radius: 9px 7px 10px 8px; background: var(--paper); color: #3e5c56; font-size: 9px; line-height: 1.4; }.portal-feature-copy li::before { content: "✓"; display: block; margin-bottom: 6px; color: #d94c37; font-weight: 900; }
.portal-source-card { display: flex; flex-direction: column; justify-content: space-between; padding: 15px; border: 1px solid var(--ink); border-radius: 11px 8px 13px 9px; background: #eff8c7; }.portal-source-card > span { font: 700 8px/1 var(--font-stamp); letter-spacing: .05em; }.portal-source-card p { margin: 15px 0; color: #4c655f; font-size: 10px; line-height: 1.55; }.portal-source-card strong { padding-top: 13px; border-top: 1px dashed #718079; font-size: 9px; line-height: 1.45; }
.portal-connection { margin-top: 24px; }.portal-connection > div { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 11px; }.portal-connection .modal-kicker { margin: 0; }.portal-connection h3 { max-width: 500px; margin: 0; font-size: 20px; text-align: right; }.portal-connection ol { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin: 0; padding: 0; list-style: none; }.portal-connection li { min-height: 125px; padding: 12px; border: 1px solid var(--line); border-radius: 10px 8px 11px 9px; background: var(--paper); }.portal-connection li > span { display: block; margin-bottom: 12px; color: #d94c37; font: 700 9px/1 var(--font-stamp); }.portal-connection li strong, .portal-connection li small { display: block; }.portal-connection li strong { margin-bottom: 6px; font-size: 10px; }.portal-connection li small { color: #5f746f; font-size: 8px; line-height: 1.45; }
.portal-interest-form { display: grid; grid-template-columns: 1.15fr .8fr .8fr auto; gap: 11px; align-items: end; margin-top: 24px; padding: 16px; border: 1.5px solid var(--ink); border-radius: 14px 10px 15px 11px; background: #ffe0d9; }.portal-interest-form > div h3 { margin: 6px 0 4px; font-size: 18px; }.portal-interest-form > div p { margin: 0; color: #5a6e69; font-size: 8px; line-height: 1.4; }.portal-interest-form .modal-kicker { margin: 0; }.portal-interest-form label > span { display: block; margin-bottom: 6px; font: 700 8px/1 var(--font-stamp); letter-spacing: .035em; }.portal-interest-form input, .portal-interest-form select { width: 100%; height: 42px; border: 1px solid var(--ink); border-radius: 8px; padding: 0 10px; color: var(--ink); background: var(--paper); font-family: inherit; font-size: 9px; }.portal-interest-form .button { min-height: 42px; padding-inline: 14px; white-space: nowrap; font-size: 9px; }

.privacy-modal { width: min(880px, calc(100% - 28px)); max-height: min(850px, calc(100vh - 28px)); padding: 0; overflow: auto; border: 2px solid var(--ink); border-radius: 23px 18px 26px 20px; color: var(--ink); background: var(--cream); box-shadow: 12px 14px 0 var(--lime); }.privacy-modal::backdrop { background: rgba(24,51,47,.76); backdrop-filter: blur(5px); }.privacy-modal-content { padding: 44px 46px 38px; }.privacy-modal-content > h2 { max-width: 720px; margin: 11px 0 13px; font-size: clamp(38px, 5vw, 53px); }.privacy-intro { max-width: 720px; margin: 0 0 22px; color: #4d6862; font-size: 13px; line-height: 1.65; }
.privacy-principles { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.privacy-principles article { min-height: 150px; display: grid; grid-template-columns: 30px 1fr; gap: 11px; padding: 15px; border: 1px solid var(--ink); border-radius: 12px 9px 14px 10px; background: var(--paper); }.privacy-principles article:nth-child(1) { background: #ffe0d9; }.privacy-principles article:nth-child(2) { background: #eff8c7; }.privacy-principles article:nth-child(3) { background: #d7f2f3; }.privacy-principles article > span { color: #d94c37; font: 700 9px/1 var(--font-stamp); }.privacy-principles strong { display: block; margin-bottom: 7px; font-size: 11px; }.privacy-principles p { margin: 0; color: #4f6761; font-size: 9px; line-height: 1.5; }
.privacy-footer-note { display: grid; grid-template-columns: 31px 1fr; gap: 11px; align-items: start; margin: 15px 0 19px; padding: 13px 15px; border: 1px dashed var(--ink); border-radius: 10px; background: #fffdfa; }.privacy-footer-note > span { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; color: #d94c37; font-weight: 900; }.privacy-footer-note p { margin: 0; color: #596e69; font-size: 9px; line-height: 1.5; }.privacy-footer-note strong { color: var(--ink); }.privacy-modal-content > .button { min-height: 45px; }

.join-modal { width: min(900px, calc(100% - 28px)); max-height: min(710px, calc(100vh - 30px)); padding: 0; overflow: hidden; border: 2px solid var(--ink); border-radius: 23px 18px 26px 20px; background: var(--cream); color: var(--ink); box-shadow: 12px 14px 0 var(--coral); }
.join-modal::backdrop { background: rgba(24,51,47,.72); backdrop-filter: blur(5px); }.modal-close { position: absolute; top: 15px; right: 16px; z-index: 5; width: 36px; height: 36px; border: 1.5px solid var(--ink); border-radius: 50%; background: var(--paper); cursor: pointer; font-size: 21px; }.modal-art { width: 36%; position: absolute; inset: 0 auto 0 0; overflow: hidden; border-right: 1.5px solid var(--ink); background: var(--sky); }.modal-art > span { position: absolute; left: 22%; top: 30%; font-size: 80px; transform: rotate(-13deg); }.modal-art > i { position: absolute; left: 38%; top: 21%; font: 16px/1 monospace; transform: rotate(-19deg); }.modal-art > b { position: absolute; right: 20%; top: 12%; color: var(--coral); font: 70px/1 Georgia, serif; }
.modal-art > em { position: absolute; left: 12%; bottom: 18%; display: block; width: max-content; padding: 11px 15px; border: 1.5px solid var(--ink); border-radius: 28px; color: var(--ink); background: var(--cream); font: 700 15px/1.45 var(--font-stamp); font-style: normal; letter-spacing: .065em; text-transform: uppercase; transform: rotate(-5deg); }
.modal-content { width: 64%; margin-left: 36%; padding: 55px 50px 43px; }.modal-kicker { display: block; margin-bottom: 12px; font: 700 10px/1.2 "Courier New", monospace; letter-spacing: .1em; }.modal-content h2 { margin-bottom: 14px; font-size: 39px; }.modal-content > p { color: #526b65; font-size: 14px; line-height: 1.6; }.role-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 22px 0; }.role-picker[hidden], .email-field[hidden] { display: none; }.role-picker button { display: flex; align-items: center; gap: 9px; padding: 12px; border: 1px solid var(--ink); border-radius: 9px 11px 8px 12px; background: var(--paper); cursor: pointer; font-size: 12px; font-weight: 700; text-align: left; }.role-picker button:hover, .role-picker button.selected { background: var(--lime); }.role-picker button span { font-size: 16px; }.email-field { display: block; margin-bottom: 17px; }.email-field span { display: block; margin-bottom: 7px; font: 700 10px/1 "Courier New", monospace; letter-spacing: .06em; }.email-field input { width: 100%; height: 49px; padding: 0 13px; border: 1.5px solid var(--ink); border-radius: 9px; background: var(--paper); font-size: 14px; }.email-field.field-error input { border-color: var(--coral); box-shadow: 0 0 0 3px rgba(255,112,88,.16); }.modal-submit { width: 100%; }.privacy-copy { margin: 16px 0 0 !important; color: #526b65 !important; font-size: 11px !important; line-height: 1.45 !important; text-align: center; }
.toast { position: fixed; z-index: 100; right: 22px; bottom: 22px; max-width: 390px; padding: 14px 18px; border: 1.5px solid var(--ink); border-radius: 10px 12px 9px 13px; background: var(--lime); box-shadow: 4px 5px 0 var(--ink); font-size: 13px; font-weight: 700; transform: translateY(150%); opacity: 0; transition: transform .25s ease, opacity .25s ease; }.toast.show { transform: translateY(0); opacity: 1; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }.reveal-delay { transition-delay: .12s; }.reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 980px) {
  .nav-shell { grid-template-columns: 1fr auto; }.nav-links { display: none; }.menu-button { display: block; }.nav-links.open { position: absolute; top: 76px; right: 20px; display: flex; flex-direction: column; gap: 0; min-width: 190px; padding: 8px; border: 1.5px solid var(--ink); border-radius: 12px; background: var(--paper); box-shadow: var(--shadow); }.nav-links.open a { padding: 12px; }.nav-links.open a::after { display: none; }
  .hero { grid-template-columns: 1fr; padding-top: 62px; }.hero-copy { max-width: 700px; }.hero-visual { min-height: 575px; }.hero-blob { width: min(820px, 110%); }.float-card-job { left: 8%; }.float-card-home { right: 7%; }
  .trust-inner, .portal-inner { grid-template-columns: 1fr; }.trust-copy, .portal-copy { max-width: 700px; }.verification-demo { width: min(700px, 100%); margin: auto; }.dashboard-mock { width: min(680px, 100%); margin: auto; }.dashboard-note { display: none; }
  .jobs-browser { grid-template-columns: 1fr; }.jobs-results { min-height: auto; border-right: 0; border-bottom: 1.5px solid var(--ink); }.job-detail { min-height: auto; }
  .alerts-builder { grid-template-columns: 1fr; }.alerts-preview { min-height: auto; position: static; }
  .housing-browser { grid-template-columns: 1fr; }.housing-results { min-height: auto; border-right: 0; border-bottom: 1.5px solid var(--ink); }.housing-detail { min-height: auto; }
  .meetups-browser { grid-template-columns: 1fr; }.meetups-results { min-height: auto; border-right: 0; border-bottom: 1.5px solid var(--ink); }.meetup-detail { min-height: auto; }
  .verification-shell { grid-template-columns: 1fr; }.verification-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; border-right: 0; border-bottom: 1.5px solid var(--ink); }.verification-steps button { min-height: 52px; grid-template-columns: 1fr; place-items: center; text-align: center; }.verification-steps button + button { margin-top: 0; }.verification-steps button > span { display: none; }.verification-content { min-height: 500px; }
  .portal-interest-form { grid-template-columns: 1fr 1fr; }.portal-interest-form > div { grid-column: 1 / -1; }
  .cta-benefits { grid-template-columns: 1fr 1fr; max-width: 670px; }.footer-shell { grid-template-columns: 1fr; gap: 35px; }.footer-brand-block p { max-width: 420px; }.footer-bottom { grid-column: 1; }
}

@media (max-width: 760px) {
  .section-heading { align-items: flex-start; flex-direction: column; margin-bottom: 34px; }.section-heading > p { margin: 0; }.bento-grid { row-gap: 32px; }.bento-card { grid-column: 1 / -1; }.jobs-card { min-height: 490px; }.post-grid { grid-template-columns: 1fr; }.post-card { min-height: 290px; }.post-tag { margin-bottom: 33px; }.trust-section, .feature-section, .board-section, .portal-section { padding-block: 82px; }
  .benefits-modal { padding: 42px 24px 30px; }.benefits-grid { grid-template-columns: 1fr; }.benefits-plane, .benefits-star { display: none; }.benefits-actions { align-items: stretch; flex-direction: column; gap: 19px; }.benefits-actions .button { width: 100%; }.benefits-actions .text-button { padding: 8px; }
  .jobs-modal { padding: 35px 24px 28px; }.jobs-modal-header { align-items: flex-start; flex-direction: column; padding-right: 35px; }.jobs-alert-button { align-self: flex-start; }.jobs-search-row { align-items: flex-start; flex-direction: column; }.jobs-search { width: 100%; }.jobs-count { margin-left: 2px; }
  .alerts-modal { padding: 35px 24px 28px; }.alerts-modal-header { padding-right: 35px; }
  .housing-modal { padding: 35px 24px 28px; }.housing-modal-header { align-items: flex-start; flex-direction: column; padding-right: 35px; }.housing-trust-mark { align-self: flex-start; }.housing-safety-note { grid-template-columns: 32px 1fr; }.housing-safety-note button { grid-column: 2; justify-self: start; }
  .meetups-modal { padding: 35px 24px 28px; }.meetups-modal-header { align-items: flex-start; flex-direction: column; padding-right: 35px; }.meetups-create-button { align-self: flex-start; }.meetups-search-row { align-items: flex-start; flex-direction: column; }.meetups-search { width: 100%; }.meetups-count { margin-left: 2px; }
  .verification-modal { padding: 35px 24px 28px; }.verification-modal-header { align-items: flex-start; flex-direction: column; padding-right: 35px; }.verification-time { display: none; }
  .community-modal-content { padding: 39px 28px 31px; }
  .portal-modal-content { padding: 39px 28px 31px; }.portal-feature-detail { grid-template-columns: 1fr; }.portal-connection ol { grid-template-columns: 1fr 1fr; }
  .modal-art { display: none; }.modal-content { width: 100%; margin-left: 0; padding: 51px 28px 32px; }.proof-strip { flex-wrap: wrap; justify-content: flex-start; }.footer-shell { padding-block: 38px 24px; }
}

@media (max-width: 580px) {
  .section-shell { width: min(100% - 24px, 1180px); }.concept-ribbon { justify-content: center; }.ribbon-note { display: none; }.nav-shell { width: min(100% - 24px, 1180px); height: 68px; }.site-header { top: 0; }.brand > span:last-child { display: none; }.text-button { display: none; }.button-small { display: none; }
  .hero { min-height: auto; padding: 45px 0 53px; gap: 24px; }.eyebrow { font-size: 10px; } h1 { font-size: clamp(43px, 13vw, 61px); }.hero-lede { font-size: 16px; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 22px; }.hero-visual { min-height: 380px; }.hero-blob { width: 128%; }.float-card { transform: scale(.8) rotate(-5deg); }.float-card-job { left: -5%; bottom: 4px; }.float-card-home { right: -7%; bottom: 10px; transform: scale(.8) rotate(4deg); }.hand-note { top: 21%; left: 5%; font-size: 13px; }.sun-doodle { font-size: 46px; }.flight-doodle { display: none; }
  .proof-strip { gap: 15px 29px; }.proof-strip span { font-size: 11px; }.bento-card { padding: 23px 23px 70px; min-height: 440px; }.housing-card { min-height: 500px; }.meetup-card, .alert-card { min-height: 450px; }.card-link { left: 23px; }.housing-illustration { left: 23px; }
  .trust-inner { gap: 48px; }.verification-demo { min-height: 530px; }.passport-card { inset: 40px 2px 125px; padding: 17px; }.passport-profile { grid-template-columns: auto 1fr; }.verified-seal { position: absolute; right: 16px; bottom: 66px; width: 55px; height: 55px; }.profile-photo { width: 55px; height: 68px; }.passport-stats { grid-template-columns: repeat(2, 1fr); }.passport-stats span:last-child { display: none; }.verify-step { min-width: 193px; }.step-one { left: -3px; bottom: 65px; }.step-two { right: -3px; top: 1px; }.step-three { right: -1px; bottom: 8px; }
  .board-tabs { flex-wrap: wrap; }.portal-inner { gap: 55px; }.dashboard-mock { min-height: 595px; padding: 13px; box-shadow: 6px 7px 0 var(--coral); }.mock-grid { grid-template-columns: 1fr; }.mock-grid > article, .mock-widget { min-height: 112px; }.quick-widget { display: grid; grid-template-columns: repeat(3, 1fr); }.quick-widget .widget-label { grid-column: 1 / -1; }.cta-section { min-height: auto; padding-block: 72px; }.cta-doodle { opacity: .35; }.cta-section::before { display: none; }.cta-benefits { grid-template-columns: 1fr; }.cta-benefits article { min-height: 95px; }.cta-actions { align-items: stretch; flex-direction: column; gap: 10px; }.cta-actions .button { width: 100%; }.cta-benefits-button { align-self: center; }.footer-links { grid-template-columns: 1fr 1fr; }.footer-links > div:last-child { grid-column: 1 / -1; }.footer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; }
  .role-picker { grid-template-columns: 1fr; }.join-modal, .benefits-modal, .jobs-modal, .alerts-modal, .housing-modal, .meetups-modal, .verification-modal, .community-modal, .portal-modal, .privacy-modal { max-height: calc(100vh - 18px); overflow-y: auto; }.modal-content h2 { font-size: 34px; }.benefits-header h2 { font-size: 36px; }.benefit-card { grid-template-columns: 39px 1fr auto; padding: 14px; }.benefit-icon { width: 39px; height: 39px; }.toast { right: 12px; bottom: 12px; left: 12px; max-width: none; }
  .jobs-modal { padding: 32px 15px 20px; }.jobs-modal-header h2 { font-size: 36px; }.jobs-modal-header p { font-size: 13px; }.jobs-filter-row { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; }.jobs-filter-row .chip { flex: 0 0 auto; }.job-result { grid-template-columns: 43px 1fr; padding-inline: 12px; }.job-result-meta { display: none; }.job-detail { padding: 23px 18px; }.job-detail h3 { font-size: 25px; }.job-detail-actions { align-items: stretch; flex-direction: column; }.job-detail-actions .button { width: 100%; }.job-detail-actions small { max-width: none; text-align: center; }
  .alerts-modal { padding: 32px 15px 20px; }.alerts-modal-header h2 { font-size: 36px; }.alerts-modal-header p { font-size: 13px; }.alert-step { padding: 14px 11px; }.alert-type-grid { grid-template-columns: 1fr; }.alert-choice-row { flex-wrap: nowrap; overflow-x: auto; padding: 2px 2px 6px; }.alert-choice { flex: 0 0 auto; }.delivery-row { flex-wrap: wrap; }.alerts-preview { padding: 21px 15px; }.preview-alert { grid-template-columns: 35px 1fr; }.preview-alert time { display: none; }
  .housing-modal { padding: 32px 15px 20px; }.housing-modal-header h2 { font-size: 36px; }.housing-modal-header p { font-size: 13px; }.housing-trust-mark { display: none; }.housing-safety-note { grid-template-columns: 28px 1fr; padding-inline: 10px; }.housing-safety-note > span { width: 28px; height: 28px; }.housing-search-row { align-items: flex-start; flex-direction: column; }.housing-search { width: 100%; }.housing-count { margin-left: 2px; }.housing-filter-row { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; }.housing-filter-row .chip { flex: 0 0 auto; }.housing-result { grid-template-columns: 68px 1fr; }.housing-thumb { width: 68px; height: 63px; }.housing-price { display: none; }.housing-detail { padding: 23px 15px; }.housing-detail h3 { font-size: 24px; }.housing-lock-panel { grid-template-columns: 30px 1fr; }.housing-lock-panel .button { grid-column: 1 / -1; width: 100%; }
  .listing-checks ul { grid-template-columns: 1fr; }.listing-checks li strong { font-size: 9px; }.listing-checks li small, .listing-checks-note { font-size: 8px; }
  .meetups-modal { padding: 32px 15px 20px; }.meetups-modal-header h2 { font-size: 36px; }.meetups-modal-header p { font-size: 13px; }.meetups-filter-row { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; }.meetups-filter-row .chip { flex: 0 0 auto; }.meetup-result { grid-template-columns: 51px 1fr; }.meetup-date-tile { width: 51px; }.meetup-result-meta { display: none; }.meetup-detail { padding: 23px 15px; }.meetup-detail h3 { font-size: 25px; }.meetup-detail-actions { align-items: stretch; flex-direction: column; }.meetup-detail-actions .button, .meetup-calendar-button { width: 100%; }.meetup-safety { align-items: flex-start; flex-direction: column; }
  .verification-modal { padding: 32px 15px 20px; }.verification-modal-header h2 { font-size: 36px; }.verification-modal-header p { font-size: 13px; }.verification-shell { margin-top: 23px; }.verification-steps { padding: 9px; }.verification-steps button { min-height: 44px; padding: 4px; }.verification-steps button > b { width: 30px; height: 30px; }.verification-content { min-height: 560px; padding: 23px 14px 18px; }.verification-panel h3 { font-size: 25px; }.verification-requirements, .privacy-compare, .verification-unlocks { grid-template-columns: 1fr; }.verification-controls { grid-template-columns: auto 1fr; }.verification-controls > span { display: none; }.verification-controls .button { max-width: 210px; }.verification-unlocks article { min-height: 90px; }
  .community-modal-content { padding: 35px 15px 24px; }.community-modal-content > h2 { font-size: 34px; }.community-author { grid-template-columns: 40px 1fr; }.community-author > b { grid-column: 2; }.community-full-post { padding: 15px; }.community-reply-form > div, .community-safety-note { align-items: stretch; flex-direction: column; }.community-reply-form .button { width: 100%; }.community-safety-note button { align-self: flex-start; }
  .portal-modal-content { padding: 36px 15px 24px; }.portal-modal-header h2 { font-size: 34px; }.portal-feature-detail { padding: 14px; }.portal-feature-copy ul { grid-template-columns: 1fr; }.portal-connection > div { align-items: flex-start; flex-direction: column; }.portal-connection h3 { text-align: left; }.portal-connection ol { grid-template-columns: 1fr 1fr; }.portal-connection li { min-height: 112px; }.portal-interest-form { grid-template-columns: 1fr; }.portal-interest-form > div { grid-column: auto; }.portal-interest-form .button { width: 100%; }
  .privacy-modal-content { padding: 36px 15px 24px; }.privacy-modal-content > h2 { font-size: 34px; }.privacy-principles { grid-template-columns: 1fr; }.privacy-principles article { min-height: auto; }.footer-links { grid-template-columns: 1fr; }.footer-links > div:last-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .reveal { opacity: 1; transform: none; }
}
