.landing-page { color: var(--ink); }
.landing-header { display: flex; width: min(100% - 44px, 1240px); min-height: 76px; align-items: center; justify-content: space-between; gap: 24px; margin: 0 auto; border-bottom: 1px solid var(--line); }
.landing-header nav, .landing-auth { display: flex; align-items: center; gap: 22px; }
.landing-header nav a, .landing-signin, .landing-secondary { color: var(--ink-soft); font-size: .82rem; font-weight: 700; text-underline-offset: 4px; }
.landing-header nav a:hover, .landing-signin:hover, .landing-secondary:hover { color: var(--forest); }
.landing-header .button { min-height: 40px; }
.landing-hero { display: grid; width: min(100% - 44px, 1240px); min-height: 570px; grid-template-columns: 1.04fr .96fr; align-items: center; gap: 40px; margin: 0 auto; padding: 70px 0 64px; }
.landing-hero-copy { max-width: 640px; }
.landing-hero-copy .eyebrow { display: flex; align-items: center; gap: 9px; color: var(--forest); }
.landing-live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 5px var(--lime-soft); }
.landing-hero h1 { max-width: 10ch; margin: 17px 0; color: var(--ink); font-size: clamp(3.2rem, 7vw, 6rem); line-height: .98; letter-spacing: -.065em; }
.landing-lede { max-width: 54ch; color: var(--ink-soft); font-size: clamp(1rem, 2vw, 1.18rem); line-height: 1.7; }
.landing-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 27px; }
.landing-actions .button { min-height: 50px; }
.landing-cost-note { margin-top: 17px; color: var(--ink-muted); font-size: .72rem; }
.landing-visual { position: relative; display: grid; min-height: 440px; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 50% 50% 42% 42%; background: radial-gradient(circle at 50% 47%, var(--surface) 0 24%, transparent 25%), linear-gradient(145deg, var(--forest), #102f27 72%, #263e33); }
.landing-orbit { position: absolute; aspect-ratio: 1; border: 1px solid rgba(226, 242, 213, .23); border-radius: 50%; }
.landing-orbit-one { width: 89%; }.landing-orbit-two { width: 68%; }.landing-orbit-three { width: 47%; }
.landing-shield { z-index: 1; display: grid; width: 130px; height: 130px; place-items: center; border: 1px solid rgba(215, 238, 118, .65); border-radius: 38px 38px 38px 10px; background: rgba(215, 238, 118, .1); color: var(--lime); box-shadow: 0 0 70px rgba(215, 238, 118, .16); transform: rotate(-8deg); animation: landing-float 5s ease-in-out infinite; }
.landing-shield svg { width: 90px; height: 90px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.landing-float { position: absolute; z-index: 2; border: 1px solid rgba(238, 241, 222, .24); border-radius: 30px; padding: 12px 16px; background: rgba(14, 37, 31, .75); color: #edf3dd; font-size: .78rem; }
.landing-float-top { top: 19%; right: 7%; }.landing-float-bottom { bottom: 18%; left: 6%; }
@keyframes landing-float { 50% { transform: translateY(-9px) rotate(-8deg); } }
.landing-truth { display: grid; width: min(100% - 44px, 1240px); grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; margin: 0 auto; border: 1px solid color-mix(in srgb, var(--coral) 45%, var(--line)); border-radius: 16px; padding: 17px 20px; background: var(--coral-pale); color: var(--coral-text); font-size: .78rem; line-height: 1.5; }
.landing-truth strong { font-size: .83rem; }.landing-truth a, .landing-feature a { color: var(--coral-text); font-weight: 800; text-underline-offset: 3px; }
.landing-section { width: min(100% - 44px, 1240px); margin: 0 auto; padding: 100px 0; }
.landing-section-heading { max-width: 670px; margin-bottom: 32px; }
.landing-section-heading h2, .landing-emergency h2, .landing-privacy h2 { margin: 8px 0 12px; color: var(--ink); font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.05; letter-spacing: -.05em; }
.landing-section-heading > p:last-child, .landing-emergency p:not(.eyebrow), .landing-privacy p:not(.eyebrow) { color: var(--ink-soft); line-height: 1.65; }
.landing-feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.landing-feature { display: flex; min-height: 220px; flex-direction: column; align-items: flex-start; border: 1px solid var(--line); border-radius: 18px; padding: 22px; background: var(--surface); }
.landing-feature-number { color: var(--forest); font: 800 1.6rem var(--font-display); }
.landing-feature h3 { margin: 25px 0 7px; font-size: 1.08rem; }.landing-feature p { margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.55; }
.landing-feature-sos { border-color: color-mix(in srgb, var(--coral) 40%, var(--line)); background: color-mix(in srgb, var(--coral-pale) 62%, var(--surface)); }.landing-feature a { margin-top: auto; padding-top: 16px; font-size: .76rem; }
.landing-emergency { display: flex; width: min(100% - 44px, 1240px); align-items: center; justify-content: space-between; gap: 24px; margin: 0 auto 90px; border-radius: 23px; padding: clamp(24px, 5vw, 48px); background: var(--surface-soft); }
.landing-emergency > div { max-width: 650px; }.landing-emergency h2 { margin-top: 7px; font-size: clamp(1.8rem, 4vw, 2.8rem); }.landing-emergency p:not(.eyebrow) { margin-bottom: 0; }
.landing-privacy { display: flex; width: min(100% - 44px, 1240px); align-items: center; justify-content: space-between; gap: 30px; margin: 0 auto 100px; border-top: 1px solid var(--line); padding-top: 50px; }.landing-privacy > div { max-width: 710px; }.landing-privacy h2 { font-size: clamp(1.8rem, 4vw, 2.7rem); }.landing-privacy p:not(.eyebrow) { margin-bottom: 0; }
.landing-footer { display: flex; width: min(100% - 44px, 1240px); min-height: 72px; align-items: center; justify-content: space-between; gap: 16px; margin: 0 auto; border-top: 1px solid var(--line); color: var(--ink-muted); font-size: .74rem; }.landing-footer a:last-child { color: var(--forest); font-weight: 700; }
@media (prefers-reduced-motion: reduce) { .landing-shield { animation: none; } }
@media (max-width: 900px) { .landing-hero { min-height: 500px; grid-template-columns: 1fr .8fr; gap: 25px; }.landing-visual { min-height: 360px; }.landing-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .landing-header { width: min(100% - 28px, 1240px); min-height: 66px; flex-wrap: wrap; gap: 8px; padding: 11px 0; }.landing-header nav { order: 3; width: 100%; justify-content: space-between; gap: 12px; }.landing-header nav a { font-size: .72rem; }.landing-auth { gap: 11px; }.landing-auth .button { min-height: 36px; padding: 0 10px; font-size: .68rem; }.landing-hero { width: min(100% - 32px, 1240px); grid-template-columns: 1fr; gap: 28px; padding: 55px 0 38px; }.landing-hero h1 { max-width: 11ch; font-size: clamp(3rem, 15vw, 4.4rem); }.landing-visual { min-height: 310px; border-radius: 48% 48% 38% 38%; }.landing-truth { width: min(100% - 32px, 1240px); grid-template-columns: 1fr; gap: 6px; }.landing-section { width: min(100% - 32px, 1240px); padding: 68px 0; }.landing-feature-grid { grid-template-columns: 1fr; }.landing-feature { min-height: 190px; }.landing-emergency, .landing-privacy { width: min(100% - 32px, 1240px); align-items: flex-start; flex-direction: column; }.landing-emergency { margin-bottom: 65px; }.landing-privacy { margin-bottom: 65px; }.landing-footer { width: min(100% - 32px, 1240px); align-items: flex-start; flex-direction: column; justify-content: center; padding: 17px 0; } }
