/* Landing page (phone layout) */
.hero { background: var(--mist); padding: 28px 18px 30px; }
.hero h1 { font-size: 2.05rem; }
.hero .lede { font-size: 1.08rem; color: var(--ink-2); }
.hero-actions { display: grid; gap: 10px; margin: 22px 0 14px; }
.hero-note { display: flex; gap: 8px; align-items: center; font-size: 0.92rem; color: var(--ink-2); margin: 0; }
.hero-note svg { width: 18px; height: 18px; flex: none; }
.hero-sms { margin-top: 24px; background: #fff; border-radius: 22px; border: 1px solid var(--line); overflow: hidden; }
.hero-sms-top { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--line-soft); }
.hero-sms-top svg { width: 32px; height: 32px; }
.hero-sms-top strong { font-family: var(--display); }
.hero-sms .sms { padding: 14px; }

.sec { padding: 34px 18px; }
.sec-mist { background: var(--mist); }
.sec-white { background: #fff; }
.sec > p.intro { color: var(--ink-2); }

.compare { display: grid; gap: 10px; }
.compare article { background: #fff; border: 1px solid var(--line); border-radius: var(--r-md); padding: 14px 16px; }
.compare article.ours { border: 2px solid var(--teal); }
.compare h3 { margin-bottom: 8px; }
.compare dl { margin: 0; display: grid; gap: 6px; }
.compare dt { font-size: 0.82rem; color: var(--muted); }
.compare dd { margin: 0; }
.compare .no { color: var(--muted); }
.compare .yes { position: relative; padding-left: 22px; }
.compare .yes::before { content: ""; position: absolute; left: 2px; top: 6px; width: 11px; height: 6px; border-left: 3px solid var(--orange); border-bottom: 3px solid var(--orange); transform: rotate(-45deg); }

.steps { list-style: none; counter-reset: step; padding: 0; margin: 0; display: grid; gap: 0; }
.steps li { counter-increment: step; position: relative; padding: 0 0 22px 54px; }
.steps li::before { content: counter(step); position: absolute; left: 0; top: 0; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--teal); color: #fff; font: 800 1.05rem/1 var(--display); }
.steps li:not(:last-child)::after { content: ""; position: absolute; left: 18px; top: 42px; bottom: 4px; width: 2px; background: var(--teal-soft); }
.steps h3 { margin: 6px 0 4px; }
.steps p { margin: 0; color: var(--ink-2); }

.notice-list { list-style: none; padding: 0; margin: 0 0 18px; border-top: 2px solid var(--teal); }
.notice-list li { padding: 14px 0; border-bottom: 1px solid var(--line); }
.notice-list strong { display: block; font-family: var(--display); font-size: 1.05rem; }
.notice-list span { color: var(--ink-2); }

.trust { display: grid; gap: 18px; }
.trust h3 { margin-bottom: 4px; }
.trust p { margin: 0; color: var(--ink-2); }
.emergency-plan { margin-top: 22px; background: #fff; border: 2px solid var(--ink); border-radius: var(--r-lg); padding: 18px; }
.emergency-plan ol { margin: 10px 0 0; padding-left: 22px; display: grid; gap: 6px; }

.team-band { background: var(--ink); color: #fff; padding: 34px 18px; }
.team-band h2 { color: #fff; }
.team-band p { color: #d6e3e1; }
.team-band dl { margin: 20px 0 22px; display: grid; gap: 14px; }
.team-band dt { font-family: var(--display); font-weight: 800; color: #fff; }
.team-band dd { margin: 2px 0 0; color: #d6e3e1; }
.team-band .btn { background: #fff; border-color: #fff; color: var(--teal); }
.team-band .btn:hover { background: var(--mist); border-color: var(--mist); }

.faq details { border-bottom: 1px solid var(--line); padding: 14px 0; }
.faq summary { cursor: pointer; font-weight: 700; list-style: none; display: flex; justify-content: space-between; gap: 14px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 1.4rem; line-height: 1; color: var(--teal); }
.faq details[open] summary::after { content: "\2212"; }
.faq details p { margin: 10px 0 0; color: var(--ink-2); }

.closing { background: var(--teal); color: #fff; padding: 30px 18px; }
.closing h2 { color: #fff; }
.closing .btn { background: #fff; border-color: #fff; color: var(--teal); }
.hero-sms-top span[data-logo] { display: grid; }
