/* Feature layout; shared components are in nulltage.css. */
@layer legacy {
  html { scroll-behavior: smooth; scroll-padding-top: 24px; }
  body { margin: 0; }
  h1,h2,h3,p { overflow-wrap: break-word; }
  a:focus-visible,button:focus-visible,summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
  .wrap { width: min(100% - 48px,1232px); margin-inline: auto; }
  h1 { max-width: 18ch; }
  h2 { max-width: 23ch; }
  p { max-width: 70ch; }
  .lead { font-size: 19px; line-height: 1.65; color: var(--muted); max-width: 44em; }
  .eyebrow,.card-number,.num { display: block; font-size: 12px; line-height: 1.5; font-weight: 600; letter-spacing: .045em; text-transform: uppercase; color: var(--accent); margin: 0 0 16px; }
  .text-link { font-weight: 600; text-decoration-thickness: 1px; text-underline-offset: 4px; }
  .site-header { border-bottom: 1px solid var(--line); }
  .header-inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; position: relative; }
  .header-inner nav { display: flex; align-items: center; margin-left: auto; grid-column: 2; justify-self: end; }
  .header-inner nav .nav-portal { display: none; }
  .menu-toggle { display: none; }
  .header-portal { grid-column: 3; }
  .header-portal .button { white-space: nowrap; }
  .hero { min-height: 505px; position: relative; display: flex; align-items: center; color: #fff; background: #202528 url("notfall-set.png") center 54% / cover no-repeat; }
  .hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#101916f0 0%,#101916cc 38%,#10191618 78%); }
  .hero-inner { position: relative; padding: 64px 0 80px; }
  .hero .lead { color: #f0f2ef; max-width: 32em; }
  .hero h1 { max-width: 12ch; }
  .hero-caption { position: absolute; right: 20px; bottom: 12px; padding: 4px 8px; color: #fff; background: #202528bd; font-size: 11px; }
  .hero-actions,.contact-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
  .trust-strip { border-bottom: 1px solid var(--line); }
  .trust-strip>.wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding-block: 20px; font-size: 14px; color: var(--muted); }
  .trust-strip span::before { content: '✓'; color: var(--good); margin-right: 10px; }
  .band { border-bottom: 1px solid var(--line); padding: 64px 0; }
  .soft { background: var(--soft); }
  .section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 32px; }
  .section-heading h2 { margin-bottom: 0; }
  .section-heading>p { max-width: 42ch; color: var(--muted); margin-bottom: 0; }
  .section-heading>.text-link { flex: none; }
  .three,.four { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
  .four { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .system-cards article,.feature { padding-top: 24px; border-top: 1px solid var(--line); }
  .system-cards p,.feature p,.purchase-steps p { color: var(--muted); margin-bottom: 0; }
  .section-link { display: inline-block; margin-top: 28px; }
  .split { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); align-items: center; gap: 56px; }
  .clean-list { list-style: none; padding: 0; margin: 24px 0 28px; }
  .clean-list li { position: relative; padding-left: 24px; margin-bottom: 12px; }
  .clean-list li::before { content: '✓'; position: absolute; left: 0; color: var(--good); }
  .command-visual { margin: 0; border: 1px solid var(--line); background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: 0 14px 36px #2025280b; }
  .command-visual figcaption { display: flex; align-items: center; gap: 10px; padding: 18px 20px; color: var(--text); font-size: 14px; border-bottom: 1px solid var(--line); }
  .visual-mark { display: grid; place-items: center; width: 24px; height: 24px; border: 1.5px solid currentColor; border-radius: 50%; font-family: ui-monospace,monospace; }
  .visual-tabs { display: flex; gap: 22px; padding-inline: 20px; font-size: 12px; color: var(--muted); }
  .visual-tabs span { padding-block: 12px; }
  .visual-tabs span:first-child { color: var(--text); border-bottom: 2px solid var(--accent); font-weight: 600; }
  .command-visual svg { display: block; width: 100%; height: auto; }
  .visual-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; padding: 12px 16px; font-size: 11px; color: var(--muted); }
  .visual-legend span { display: flex; align-items: center; gap: 5px; }
  .visual-legend span:last-child { margin-left: auto; }
  .visual-legend i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
  .legend-site { background: var(--accent); }.legend-team { background: var(--good); }
  .shop-teaser { padding: 48px 0; background: var(--soft); }
  .shop-teaser>.wrap { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
  .shop-teaser p { max-width: 60ch; color: var(--muted); margin-bottom: 0; }
  .shop-teaser .eyebrow { color: var(--accent); margin-bottom: 12px; }
  .shop-teaser .button { flex: none; }
  .site-footer { background: var(--soft); color: var(--text); padding: 32px 0 24px; }
  .footer-top { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
  .site-footer .brand { color: var(--text); }
  .footer-logo { border: 1.5px solid currentColor; border-radius: 50%; width: 27px; height: 27px; display: grid; place-items: center; font: 14px ui-monospace,monospace; }
  .footer-top p { color: var(--muted); margin: 0; font-size: 14px; }
  .site-footer nav { margin-left: auto; display: flex; flex-wrap: wrap; gap: 12px 20px; font-size: 13px; }
  .site-footer nav a { text-decoration: none; }
  .site-footer nav a:hover { text-decoration: underline; }
  .footer-bottom { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 16px; }
  .footer-bottom p { color: var(--muted); max-width: none; font-size: 11px; margin: 0; }
  .page-intro { padding-block: 56px 36px; }
  .page-intro h1 { max-width: 20ch; }
  .page-intro .lead { margin-bottom: 0; }
  .shop-facts { display: flex; flex-wrap: wrap; gap: 8px 24px; border-top: 1px solid var(--line); padding-top: 20px; margin-top: 28px; font-size: 13px; color: var(--muted); }
  .catalog { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 24px; padding-bottom: 56px; }
  .product-card { border: 1px solid var(--line); background: var(--surface); display: flex; flex-direction: column; min-width: 0; border-radius: var(--radius); overflow: hidden; }
  .product-visual { position: relative; height: 220px; background: var(--soft); display: grid; place-items: center; overflow: hidden; }
  .product-visual img { width: 100%; height: 100%; object-fit: cover; }
  .product-image-caption { position: absolute; bottom: 8px; left: 8px; right: 8px; color: #fff; background: #202528c9; padding: 4px 8px; font-size: 10px; }
  .product-visual svg { width: auto; height: 190px; max-width: 100%; }
  .product-copy { padding: 24px; display: flex; flex-direction: column; flex: 1; }
  .product-copy h3 { max-width: none; margin-bottom: 8px; }
  .product-copy>.eyebrow { margin-bottom: 12px; }
  .product-copy>p:not(.eyebrow) { color: var(--muted); font-size: 15px; }
  .product-copy>.product-tagline { color: var(--text); font-weight: 600; min-height: 45px; }
  .product-copy ul { padding-left: 18px; color: var(--muted); font-size: 14px; margin: 0 0 20px; }
  .product-copy li { margin-bottom: 8px; }
  .product-copy details { margin-top: auto; border-block: 1px solid var(--line); font-size: 14px; }
  .product-copy summary { padding-block: 14px; font-weight: 600; cursor: pointer; }
  .product-copy details p { margin-top: 8px; color: var(--muted); }
  .product-bottom { padding-top: 20px; }
  .product-bottom .button { display: flex; width: 100%; }
  .product-price { font-size: 28px; font-weight: 700; margin-bottom: 16px; }
  .product-price small,.plan-price small { display: block; margin-top: 4px; font-size: 12px; color: var(--muted); font-weight: 400; }
  .kit-visual { width: 100%; max-width: 280px; padding: 20px; text-align: center; }
  .kit-central { background: var(--dark); color: #fff; display: block; padding: 14px 8px; font-size: 14px; font-weight: 600; border-radius: 3px; }
  .kit-visual>div { display: flex; justify-content: space-between; gap: 20px; margin-top: 22px; position: relative; }
  .kit-visual>div::before { content: ''; position: absolute; top: -22px; left: 25%; right: 25%; height: 22px; border: 1px solid var(--accent); border-bottom: 0; }
  .kit-visual>div>span { position: relative; background: var(--surface); border: 1px solid var(--line); padding: 10px 8px; font-size: 12px; border-radius: 3px; }
  .kit-visual small { display: block; color: var(--muted); font-size: 11px; margin-top: 16px; }
  .service-summary { min-width: 0; flex: 1; max-width: 440px; }
  .service-summary p { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
  .service-summary span { font-size: 14px; color: var(--muted); }
  .purchase-steps { margin-top: 0; }
  .service-plans { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
  .plan { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); padding: 28px; min-width: 0; }
  .plan ul { padding-left: 18px; color: var(--muted); margin-block: 0 24px; font-size: 14px; }
  .plan li { margin-bottom: 8px; }
  .plan>p:not(.eyebrow):not(.plan-price) { color: var(--muted); }
  .plan-price { font-size: 26px; font-weight: 700; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); }
  .pricing-note { font-size: 13px; color: var(--muted); margin-block: 24px 40px; }
  .pricing-note p { max-width: none; }
  .matrix-scroll { overflow-x: auto; margin-block: 28px 20px; }
  .product-matrix { min-width: 690px; }
  .product-matrix caption { text-align: left; font-size: 13px; color: var(--muted); padding-bottom: 14px; }
  .product-matrix th { width: 33%; }
  .plain-panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; min-width: 0; }
  .plain-panel p,.plain-panel li { color: var(--muted); }
  .plain-panel ol { padding-left: 20px; }
  .plain-panel li { margin-bottom: 12px; }
  .setup-paths { padding-bottom: 48px; gap: 24px; }
  .setup-paths h2 { font-size: 23px; }
  .help-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 56px; }
  .faq-list { border-top: 1px solid var(--line); }
  .faq-list details { border-bottom: 1px solid var(--line); }
  .faq-list summary { cursor: pointer; padding: 20px 32px 20px 0; font-weight: 600; list-style: none; position: relative; }
  .faq-list summary::-webkit-details-marker { display: none; }
  .faq-list summary::after { content: '+'; position: absolute; right: 4px; top: 16px; font-size: 23px; font-weight: 400; }
  .faq-list details[open] summary::after { content: '−'; }
  .faq-list p { color: var(--muted); font-size: 15px; }
  .cta { background: var(--accent); color: white; padding: 48px 0; }
  .cta-inner { display: flex; justify-content: space-between; gap: 32px; }
  .cta .eyebrow { color: #ffe1d1; }
  .muted,.compat { color: var(--muted); }
  .skip-link { position: fixed; top: -100px; left: 16px; padding: 12px 18px; background: white; color: var(--text); z-index: 100; }
  .skip-link:focus { top: 12px; }
  @media(max-width:1000px) { .catalog { grid-template-columns: repeat(2,minmax(0,1fr)); }.split { gap: 32px; }.service-plans,.setup-paths { gap: 16px; }.plan,.plain-panel { padding: 20px; } }
  @media(max-width:940px) {
    .header-inner { grid-template-columns: auto 1fr; }
    .menu-toggle { grid-column: 2; grid-row: 1; justify-self: end; }
    .header-inner nav { grid-column: 1 / -1; grid-row: 2; width: 100%; flex-wrap: wrap; margin: 0; padding-top: 12px; }
    .header-inner nav .nav-portal { display: inline; }
    .header-portal { display: none; }
    .has-js .header-inner nav { display: none; position: absolute; left: 0; top: 100%; z-index: 20; padding: 16px 24px; background: var(--bg); border-bottom: 1px solid var(--line); box-shadow: 0 8px 16px #20252812; }
    .has-js .header-inner nav[data-open=true] { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
    .has-js .header-inner nav a { padding-block: 12px; }
    .four { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .section-heading { align-items: flex-start; flex-direction: column; gap: 20px; }
    .service-summary { max-width: none; width: 100%; }
  }
  @media(max-width:700px) {
    .wrap { width: calc(100% - 32px); }
    .hero { min-height: 520px; background-position: 63% center; align-items: flex-start; }
    .hero::before { background: linear-gradient(180deg,#101916e8 0%,#101916ba 66%,#10191633 100%); }
    .hero-inner { padding-block: 44px 90px; }
    .hero .lead { font-size: 18px; }
    .trust-strip>.wrap { font-size: 12px; gap: 8px; justify-content: flex-start; }
    .band { padding: 48px 0; }
    .three,.four,.split,.catalog,.service-plans,.help-layout { grid-template-columns: minmax(0,1fr); }
    .three { gap: 24px; }
    .split { gap: 32px; }
    .page-intro { padding-block: 36px 28px; }
    .catalog { gap: 24px; padding-bottom: 40px; }
    .product-visual { height: 200px; }
    .product-copy>.product-tagline { min-height: 0; }
    .shop-teaser>.wrap { align-items: flex-start; flex-direction: column; gap: 24px; }
    .footer-top { align-items: flex-start; }
    .site-footer nav { width: 100%; margin-left: 0; }
    .help-layout { gap: 24px; }
    .plan,.plain-panel { padding: 24px; }
    .cta-inner { flex-direction: column; }
    .visual-legend span:last-child { margin-left: 0; width: 100%; }
  }
  @media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }

  .home-intro{padding:72px 0 76px}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.home-intro h1{font-size:clamp(46px,5.1vw,72px);line-height:1.06;letter-spacing:-.055em;max-width:12ch}.home-intro h1 em{font-style:normal;color:#2b735a}.home-intro .lead{font-size:17px;max-width:43ch;margin-top:24px}.home-note{font-size:12px;color:var(--muted);margin-top:13px}.household-illustration{padding:24px 26px 20px;border-radius:5px;background:#e9eee4}.illustration-top{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#52684e;margin-bottom:20px}.household-window{background:#fff;border:1px solid #cbd2c5;border-radius:5px;overflow:hidden;box-shadow:0 12px 28px #233a2210}.window-label{padding:15px 18px;border-bottom:1px solid var(--line);font-size:12px;font-weight:600}.window-label span{float:right;color:var(--muted);font-weight:400}.window-content{padding:25px}.window-content>small{font-size:12px;color:var(--muted)}.window-content h2{font-size:25px;margin:8px 0 20px}.window-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid #eef0ea;font-size:13px}.window-row small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.window-status{padding:4px 8px;background:#f9f2e5;color:#91621c;border-radius:3px;font-size:10px;white-space:nowrap}.window-status.good{color:#287a4e;background:#edf4ef}.window-next{display:flex;justify-content:space-between;font-size:11px;color:#52684e;margin:20px 0 0}.illustration-caption{font-size:11px;color:#52684e;margin:16px 0 0}.home-local{background:#173c32;color:#f4f5ed}.home-local .eyebrow{color:#b7cfac}.home-local p,.home-local li{color:#c3d0bf}.home-local h2{font-size:40px}.home-local .button.light{color:#173c32;background:#fff}.home-network{display:flex;flex-direction:column;align-items:stretch;gap:14px;max-width:400px;width:100%;margin:auto}.home-network>div{background:#244b3e;border:1px solid #577563;border-radius:4px;padding:21px;text-align:center}.home-network strong{display:block;font-size:17px}.home-network span{display:block;font-size:12px;color:#c4d5be;margin-top:7px}.home-network>b{text-align:center;color:#b7cfac;font-size:11px;letter-spacing:.04em}.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.product-visual{background:#e9eee4}.product-visual svg{height:150px}.product-price{font-size:30px}.product-copy h3{font-size:24px}
  @media(max-width:940px){.home-grid{gap:35px}.home-intro h1{font-size:52px}.home-intro{padding:45px 0}.household-illustration{padding:18px}.home-intro .lead{font-size:16px}}@media(max-width:700px){.home-grid{grid-template-columns:minmax(0,1fr);gap:35px}.home-intro h1{font-size:48px;max-width:13ch}.home-local h2{font-size:32px}.catalog{grid-template-columns:minmax(0,1fr)}.window-content{padding:20px}.window-row{gap:9px}.window-content h2{font-size:23px}.illustration-top{font-size:9px}.window-status{font-size:9px}}
  .home-local .eyebrow{color:#b7cfac}.home-local .clean-list li:before{color:#b7cfac}
}

@layer legacy {
  .single-product {display:block;}
  .single-product .product-card {display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);max-width:100%;}
  .single-product .product-visual {height:auto;min-height:320px;}
  .single-product .product-visual svg {height:240px;}
  .single-product .product-copy {padding:36px;}
  .single-product .product-copy h2 {font-size:30px;max-width:none;}
  .product-compat h3 {font-size:16px;}
  .product-compat p {font-size:14px;color:var(--muted);}
  .single-product .product-bottom {display:flex;align-items:center;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line);}
  .single-product .product-bottom .button {width:auto;}
  .single-product .product-price {margin:0;}
  .service-plans {margin-top:28px;}
  .plan h3 {font-size:22px;}
  .compare-details {padding:20px 0;border-top:1px solid var(--line);}
  .compare-details summary {cursor:pointer;font-weight:600;}
  .faq-list details>p:last-child,.faq-list details>a:last-child {margin-bottom:20px;display:block;}
  .nt-website .first-gateway {width:min(100% - 48px,1232px);max-width:1232px;}
  .nt-website .first-gateway h1 {font-size:clamp(36px,4.4vw,56px);}
  .nt-website .setup-hero {gap:48px;padding-top:32px;}
  .nt-website .setup-steps {background:var(--soft);padding:20px;}
  @media(max-width:700px){
    .single-product .product-card {grid-template-columns:minmax(0,1fr);}
    .single-product .product-visual {min-height:220px;}
    .single-product .product-visual svg {height:175px;}
    .single-product .product-copy {padding:24px;}
    .nt-website .first-gateway {width:calc(100% - 32px);}
    .nt-website .setup-hero {gap:24px;}
  }
}

@layer legacy {
  .home-intro .hero-actions {align-items:center;gap:18px;}
  .home-intro .hero-actions .text-link {font-size:14px;max-width:100%;}
  .why-grid {margin-top:28px;}
  .why-grid h3 {font-size:20px;}
  .why-source {font-size:14px;max-width:88ch;margin-top:28px;color:var(--muted);}
  .why-source a {white-space:normal;}
}

@layer legacy {
.paid-plans {grid-template-columns:repeat(2,minmax(0,1fr));}.plan-booking{margin-top:auto;padding-top:16px;}.plan-booking small{display:block;margin-top:12px;color:var(--muted);}.single-product .product-copy details {margin-block:16px;}.single-product .product-copy summary{cursor:pointer;font-weight:600;}
@media(max-width:700px){.paid-plans{grid-template-columns:1fr;}}
}
