/* RecallScan / Inspector Network */
:root {
    --ink:#07101d;
    --ink-soft:#0c1726;
    --ink-raised:#112033;
    --paper:#f4f1e9;
    --white:#fffefa;
    --text:#c5cfdd;
    --muted:#9eacbd;
    --line:#ffffff26;
    --line-dark:#07101d24;
    --accent:#fe4e3a;
    --accent-light:#ff8b78;
    --font-display:"Newsreader",Georgia,serif;
    --shell:1240px
}
* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:105px
}
body {
    margin:0;
    background:var(--ink);
    color:var(--ink);
    font:400 1rem/1.65 "DM Sans",system-ui,sans-serif
}
a {
    color:inherit;
    text-decoration:none
}
button {
    font:inherit
}
img {
    max-width:100%;
    display:block;
    height:auto
}
h1,h2,h3,p {
    margin:0
}
h1,h2 {
    font-family:var(--font-display);
    font-weight:400;
    letter-spacing:-.035em;
    line-height:1.06
}
h3 {
    font-size:1.3rem;
    line-height:1.3;
    letter-spacing:-.025em
}
p+p {
    margin-top:1rem
}
a,button {
    touch-action:manipulation
}
a:focus-visible,button:focus-visible,summary:focus-visible {
    outline:3px solid var(--accent);
    outline-offset:5px
}
a:hover {
    color:var(--accent-light)
}
.shell {
    width:min(var(--shell),calc(100% - 96px));
    margin:auto
}
.skip-link {
    position:fixed;
    z-index:100;
    top:8px;
    left:8px;
    transform:translateY(-160%);
    background:white;
    padding:12px 20px
}
.skip-link:focus {
    transform:translateY(0)
}
.network-bar {
    color:var(--muted);
    border-bottom:1px solid var(--line);
    font-size:.75rem
}
.network-bar .shell {
    display:flex;
    justify-content:space-between;
    padding-top:9px;
    padding-bottom:9px
}
.network-bar a span {
    margin-left:8px
}
.site-header {
    background:var(--ink);
    color:var(--text);
    position:sticky;
    top:0;
    z-index:30;
    border-bottom:1px solid var(--line)
}
.nav-shell {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:91px;
    gap:30px
}
.brand {
    flex-shrink:0
}
.brand img {
    width:182px
}
.site-header nav {
    display:flex;
    align-items:center;
    gap:28px;
    font-size:.875rem
}
.site-header nav a[aria-current] {
    color:white;
    border-bottom:1px solid var(--accent)
}
.nav-divider {
    height:24px;
    border-left:1px solid var(--line)
}
.button {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:24px;
    background:var(--accent);
    color:var(--ink);
    padding:16px 23px;
    border:1px solid var(--accent);
    font-size:.9375rem;
    font-weight:700;
    line-height:1.5;
    transition:background .2s,transform .2s
}
.button:hover {
    background:#ff7968;
    color:var(--ink);
    transform:translateY(-2px)
}
.button-small {
    padding:10px 17px;
    gap:20px
}
.menu-toggle {
    display:none
}
.hero {
    color:var(--white);
    padding:86px 0 90px;
    overflow:hidden
}
.hero-grid {
    display:grid;
    grid-template-columns:1.12fr 1fr;
    gap:66px;
    align-items:center
}
.eyebrow {
    font-family:"DM Sans",system-ui,sans-serif;
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.14em;
    line-height:1.5;
    margin-bottom:25px
}
.hero .eyebrow,.ink .eyebrow {
    color:var(--accent-light)
}
.status-dot {
    display:inline-block;
    width:7px;
    height:7px;
    background:var(--accent);
    border-radius:50%;
    margin-right:9px;
    vertical-align:middle
}
.hero h1 {
    font-size:clamp(3.15rem,4.85vw,4.8rem);
    line-height:1.04;
    letter-spacing:-.045em
}
.hero h1 em {
    font-style:normal;
    color:var(--accent-light)
}
.lead {
    font-size:1.125rem;
    line-height:1.75;
    color:var(--text);
    max-width:490px;
    margin-top:28px
}
.actions {
    display:flex;
    align-items:center;
    gap:24px;
    flex-wrap:wrap;
    margin-top:34px
}
.text-link {
    display:inline-flex;
    align-items:center;
    gap:20px;
    font-weight:700;
    font-size:.875rem;
    padding-bottom:5px;
    border-bottom:1px solid #07101d60;
    line-height:1.6
}
.text-link:hover {
    color:#b32d20
}
.text-link.light {
    border-color:#ffffff4d;
    color:var(--white)
}
.text-link.light:hover {
    color:var(--accent-light)
}
.hero-note {
    font-size:.8125rem;
    color:var(--muted);
    margin-top:22px
}
.hero-visual {
    position:relative;
    margin-bottom:30px;
    border:1px solid var(--line);
    background:var(--ink-raised)
}
.visual-heading {
    display:flex;
    justify-content:space-between;
    padding:18px 22px;
    color:var(--text);
    font-size:.75rem;
    letter-spacing:.12em
}
.appliance-photo {
    width:100%;
    aspect-ratio:1.23;
    object-fit:cover
}
.visual-caption {
    padding:18px 22px;
    font-size:.8125rem;
    color:var(--text)
}
.monitor-note {
    position:absolute;
    bottom:-37px;
    right:-24px;
    background:var(--paper);
    color:var(--ink);
    display:flex;
    align-items:center;
    gap:15px;
    padding:20px 25px;
    box-shadow:0 14px 35px #0003;
    border-left:3px solid var(--accent)
}
.monitor-note strong {
    display:block;
    font-size:.875rem
}
.monitor-note div>span {
    font-size:.8125rem;
    color:#506071
}
.monitor-icon {
    font-size:1.75rem;
    color:#b72e20
}
.coverage-band {
    background:#dfe6ec
}
.coverage-band .shell {
    min-height:89px;
    display:flex;
    gap:32px;
    justify-content:space-between;
    align-items:center
}
.coverage-band .shell>span:first-child {
    font-size:.6875rem;
    letter-spacing:.12em;
    max-width:140px
}
.coverage-band strong {
    font-size:.9375rem;
    font-weight:500
}
.band-plus {
    color:#6b7989
}
.section {
    padding:100px 0
}
.paper {
    background:var(--paper)
}
.white {
    background:var(--white)
}
.ink {
    background:var(--ink-soft);
    color:var(--white)
}
.section h2 {
    font-size:clamp(2.6rem,3.8vw,3.65rem)
}
.section-heading {
    display:flex;
    justify-content:space-between;
    gap:70px;
    align-items:end;
    margin-bottom:55px
}
.section-heading>p {
    max-width:370px;
    color:#526070
}
.steps {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--line-dark)
}
.steps article {
    padding:30px 34px 5px 0
}
.steps article+article {
    border-left:1px solid var(--line-dark);
    padding-left:34px
}
.step-number {
    font-size:.875rem;
    color:#b93729;
    display:block;
    margin-bottom:30px
}
.steps h3 {
    margin-bottom:14px
}
.steps p,.feature-list p {
    color:#526070
}
.feature-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:100px
}
.section-intro {
    font-size:1.125rem;
    color:#526070;
    margin-top:26px;
    max-width:500px
}
.feature-grid .text-link {
    margin-top:28px
}
.feature-list article {
    display:flex;
    gap:25px;
    border-top:1px solid var(--line-dark);
    padding:26px 0
}
.feature-list h3 {
    margin-bottom:12px
}
.feature-index {
    font-size:.8125rem;
    color:#b93729;
    padding-top:3px
}
.story-grid {
    display:grid;
    grid-template-columns:.85fr 1fr;
    align-items:center;
    gap:100px
}
.family-image {
    overflow:hidden;
    height:455px;
    background:var(--ink)
}
.family-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 45%;
    transform:scale(1.15)
}
.ink .section-intro {
    color:var(--text)
}
.story-rule {
    border-top:1px solid var(--line);
    padding-top:24px;
    margin-top:30px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:25px;
    font-size:.875rem;
    color:var(--text)
}
.community {
    display:grid;
    grid-template-columns:.65fr 1.15fr 1fr;
    gap:40px;
    align-items:start
}
.community h2 {
    font-size:2.75rem
}
.community p {
    color:#526070
}
.community .text-link {
    margin-top:22px
}
.cta {
    background:var(--accent);
    padding:66px 0;
    color:var(--ink)
}
.cta .shell {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px
}
.cta h2 {
    font-size:clamp(2.5rem,4vw,3.5rem)
}
.cta p {
    margin-top:16px
}
.button-dark {
    background:var(--ink);
    border-color:var(--ink);
    color:var(--white);
    white-space:nowrap
}
.button-dark:hover {
    background:var(--ink-raised);
    color:white
}
.site-footer {
    color:var(--text);
    padding:70px 0 25px
}
.footer-grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) max-content max-content;
    column-gap:72px;
    row-gap:40px
}
.footer-brand p {
    margin:22px 0;
    font-size:.9375rem
}
.footer-grid h2 {
    font-family:inherit;
    font-size:.875rem;
    color:var(--white);
    font-weight:600;
    margin:5px 0 23px;
    letter-spacing:0
}
.footer-grid a:not(:has(img)),.footer-grid button {
    display:block;
    font-size:.8125rem;
    margin:10px 0;
    color:var(--muted)
}
.footer-grid button {
    padding:0;
    border:0;
    background:none;
    cursor:pointer;
    text-align:left
}
.footer-grid a:hover,.footer-grid button:hover {
    color:var(--white)
}
.footer-grid .network-link {
    color:var(--white)!important
}
.footer-bottom {
    border-top:1px solid var(--line);
    margin-top:55px;
    padding-top:22px;
    display:flex;
    justify-content:space-between;
    gap:20px;
    font-size:.75rem;
    color:var(--muted)
}
.footer-bottom div {
    display:flex;
    gap:22px
}
.page-heading {
    text-align:center;
    padding:76px 0 50px
}
.page-heading h1 {
    font-size:clamp(3rem,5vw,4.5rem)
}
.page-heading .eyebrow {
    color:#b93729
}
.page-heading p:last-child {
    max-width:580px;
    margin:22px auto 0;
    color:#526070;
    font-size:1.125rem
}
.page-surface {
    background:var(--paper);
    padding-bottom:85px
}
.price-panel {
    display:grid;
    grid-template-columns:1fr 1fr;
    max-width:850px;
    margin:0 auto;
    background:var(--white);
    border:1px solid var(--line-dark);
    border-top:3px solid var(--accent)
}
.price-main,.price-features {
    padding:38px 42px
}
.price-main {
    border-right:1px solid var(--line-dark)
}
.price-main h2 {
    font-family:inherit;
    font-size:1.2rem;
    font-weight:600;
    letter-spacing:-.02em
}
.price {
    font-size:4.5rem;
    letter-spacing:-.07em;
    line-height:1.2;
    margin:18px 0
}
.price span {
    font-size:1rem;
    color:#526070;
    letter-spacing:0
}
.price-main>p:not(.price) {
    color:#526070;
    margin:15px 0 25px
}
.checklist {
    list-style:none;
    padding:0;
    margin:0
}
.checklist li {
    padding:11px 0;
    border-bottom:1px solid var(--line-dark)
}
.checklist li:before {
    content:"✓";
    color:#ad3427;
    margin-right:14px
}
.payment-note {
    max-width:850px;
    margin:25px auto 0;
    display:flex;
    justify-content:space-between;
    gap:30px;
    font-size:.875rem;
    color:#526070
}
.faq-layout {
    display:grid;
    grid-template-columns:.75fr 1.4fr;
    gap:80px
}
.faq-intro h2 {
    font-size:2.8rem
}
.faq-intro p {
    color:#526070;
    margin:20px 0
}
.faq-list details {
    border-top:1px solid var(--line-dark)
}
.faq-list details:last-child {
    border-bottom:1px solid var(--line-dark)
}
.faq-list summary {
    list-style:none;
    padding:24px 35px 24px 0;
    font-weight:600;
    cursor:pointer;
    position:relative;
    line-height:1.5
}
.faq-list summary::-webkit-details-marker {
    display:none
}
.faq-list summary:after {
    content:"+";
    position:absolute;
    right:2px;
    top:22px;
    font-weight:400;
    font-size:1.4rem
}
.faq-list details[open] summary:after {
    content:"−"
}
.faq-list details p {
    padding:0 30px 25px 0;
    color:#526070
}
.support-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px
}
.support-card {
    padding:35px;
    background:var(--white);
    border:1px solid var(--line-dark);
    display:flex;
    flex-direction:column;
    align-items:flex-start
}
.support-card .eyebrow {
    color:#b93729
}
.support-card p {
    color:#526070;
    margin:18px 0 25px
}
.support-card .text-link {
    margin-top:auto
}
.terms-section {
    background:var(--paper);
    padding:70px 0
}
.terms-section .container {
    width:min(820px,calc(100% - 48px));
    margin:auto
}
.terms-title {
    text-align:center;
    margin-bottom:40px
}
.terms-title h1 {
    font-size:3.8rem;
    margin-bottom:20px
}
.terms-section h2 {
    font-size:2rem;
    margin:40px 0 18px
}
.terms-section h3,.terms-section h4,.terms-section h5 {
    margin:28px 0 14px;
    font-size:1.25rem
}
.terms-section p {
    margin-bottom:16px
}
.terms-section a {
    text-decoration:underline;
    overflow-wrap:anywhere
}
.terms-section li {
    margin-bottom:10px
}
.terms-section hr {
    border:0;
    border-top:1px solid var(--line-dark);
    margin:30px 0
}
.terms-section table {
    max-width:100%;
    display:block;
    overflow:auto
}
.error-page {
    background:var(--paper);
    padding:100px 0;
    text-align:center
}
.error-page h1 {
    font-size:4rem
}
.error-page p {
    margin:25px 0
}
.error-page .button {
    margin-top:15px
}
@media(min-width:1500px) {
    .hero {
        padding:110px 0
    }
    .hero h1 {
        font-size:4.8rem
    }
}
@media(max-width:1100px) {
    .shell {
        width:calc(100% - 56px)
    }
    .site-header nav {
        gap:17px
    }
    .hero-grid {
        gap:35px
    }
    .hero h1 {
        font-size:3.7rem
    }
    .hero .actions {
        gap:18px
    }
    .hero .button {
        padding:14px 17px
    }
    .feature-grid,.story-grid {
        gap:55px
    }
    .footer-grid {
        column-gap:40px
    }
    .community {
        grid-template-columns:1fr 1fr
    }
    .community>.eyebrow {
        grid-column:1/-1;
        margin-bottom:0
    }
}
@media(max-width:850px) {
    .network-bar .shell>span {
        display:none
    }
    .nav-shell {
        min-height:78px
    }
    .brand img {
        width:160px
    }
    .menu-toggle {
        display:flex;
        align-items:center;
        gap:16px;
        background:none;
        border:1px solid var(--line);
        color:white;
        padding:8px 14px;
        font-size:.875rem
    }
    .site-header nav {
        display:none;
        position:absolute;
        top:100%;
        left:0;
        right:0;
        background:var(--ink-soft);
        border-bottom:1px solid var(--line);
        padding:24px 28px;
        align-items:stretch;
        flex-direction:column;
        gap:0
    }
    .site-header nav.is-open {
        display:flex
    }
    .site-header nav>a {
        padding:13px 8px
    }
    .nav-divider {
        display:none
    }
    .hero {
        padding:60px 0 75px
    }
    .hero-grid {
        grid-template-columns:1fr;
        gap:50px
    }
    .hero h1 {
        font-size:clamp(3.2rem,7vw,4.5rem)
    }
    .hero-copy {
        max-width:640px
    }
    .hero-visual {
        max-width:630px;
        width:calc(100% - 20px)
    }
    .appliance-photo {
        aspect-ratio:1.75
    }
    .hero .lead {
        max-width:580px
    }
    .coverage-band .shell {
        gap:15px;
        flex-wrap:wrap;
        justify-content:center;
        padding:22px 0
    }
    .coverage-band .shell>span:first-child {
        max-width:none;
        width:100%;
        text-align:center
    }
    .section {
        padding:70px 0
    }
    .section-heading {
        gap:35px;
        align-items:start
    }
    .section-heading>p {
        max-width:280px
    }
    .steps article {
        padding-right:22px
    }
    .steps article+article {
        padding-left:22px
    }
    .feature-grid {
        gap:40px;
        grid-template-columns:1fr
    }
    .feature-grid>div:first-child {
        max-width:580px
    }
    .story-grid {
        grid-template-columns:.8fr 1fr;
        gap:30px
    }
    .family-image {
        height:390px
    }
    .story-grid h2 {
        font-size:2.7rem
    }
    .footer-grid {
        grid-template-columns:1fr 1fr;
        gap:40px
    }
    .footer-brand {
        grid-column:1/-1
    }
    .faq-layout {
        gap:35px;
        grid-template-columns:1fr 1.4fr
    }
    .support-grid {
        grid-template-columns:1fr
    }
    .support-card {
        padding:30px
    }
    .cta .shell {
        align-items:start;
        flex-direction:column
    }
    .price-main,.price-features {
        padding:30px
    }
}
@media(max-width:580px) {
    .shell {
        width:calc(100% - 40px)
    }
    .network-bar {
        font-size:.6875rem
    }
    .hero h1 {
        font-size:3.15rem
    }
    .hero {
        padding-top:45px
    }
    .hero .eyebrow {
        font-size:.6875rem
    }
    .hero .actions {
        align-items:flex-start;
        flex-direction:column
    }
    .hero .lead {
        font-size:1rem
    }
    .hero-visual {
        width:calc(100% - 10px)
    }
    .monitor-note {
        right:-10px;
        padding:15px;
        gap:10px
    }
    .monitor-note strong {
        font-size:.8125rem
    }
    .monitor-note div>span {
        font-size:.75rem
    }
    .visual-heading,.visual-caption {
        padding:15px;
        font-size:.6875rem
    }
    .coverage-band strong {
        font-size:.75rem
    }
    .coverage-band .shell {
        gap:12px
    }
    .section-heading {
        flex-direction:column;
        gap:25px;
        margin-bottom:30px
    }
    .section-heading>p {
        max-width:none
    }
    .section h2 {
        font-size:2.6rem
    }
    .steps {
        grid-template-columns:1fr
    }
    .steps article,.steps article+article {
        border-left:0;
        border-bottom:1px solid var(--line-dark);
        padding:25px 0
    }
    .step-number {
        margin-bottom:16px
    }
    .story-grid {
        grid-template-columns:1fr;
        gap:35px
    }
    .family-image {
        height:350px
    }
    .community {
        grid-template-columns:1fr;
        gap:25px
    }
    .community>.eyebrow {
        grid-column:auto
    }
    .footer-grid {
        gap:32px 20px
    }
    .footer-brand {
        grid-column:1/-1
    }
    .footer-bottom {
        flex-direction:column
    }
    .footer-grid a:not(:has(img)),.footer-grid button {
        font-size:.8125rem;
        overflow-wrap:anywhere
    }
    .page-heading {
        padding:50px 0 35px
    }
    .page-heading h1 {
        font-size:3.1rem
    }
    .price-panel {
        grid-template-columns:1fr
    }
    .price-main {
        border-right:0;
        border-bottom:1px solid var(--line-dark)
    }
    .price-main,.price-features {
        padding:28px
    }
    .payment-note {
        flex-direction:column;
        gap:12px
    }
    .faq-layout {
        grid-template-columns:1fr
    }
    .terms-title h1 {
        font-size:3rem
    }
    .terms-section {
        padding-top:50px
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
    *,*:before,*:after {
        transition:none!important;
        animation:none!important
    }
}
