/* Scoped Alarm hub: the existing hero, sprites, cards and navigation remain shared. */
.tc-alarm-home--20261019 .tc-alarm19-section {
    width: min(calc(100% - 32px), 80rem);
    margin: 64px auto;
    padding: clamp(24px, 4vw, 48px);
    border: 1px solid #dce4dc;
    border-radius: 24px;
    background: #fff;
    color: #26352e;
    scroll-margin-top: 160px;
}

.tc-alarm-home--20261019 .tc-alarm19-section h2 {
    max-width: none;
    margin: 0 0 24px;
    color: #26352e;
    font-size: clamp(1.8rem, 3.8vw, 3.25rem);
    line-height: 1.12;
    letter-spacing: -0.035em;
    text-wrap: wrap;
}

.tc-alarm-home--20261019 .tc-alarm19-section h3 {
    color: #26352e;
    font-size: clamp(1.15rem, 2vw, 1.5rem);
    line-height: 1.3;
}

.tc-alarm-home--20261019 .tc-alarm19-section p,
.tc-alarm-home--20261019 .tc-alarm19-section li {
    max-width: none;
    font-size: 1rem;
    line-height: 1.75;
}

.tc-alarm-home--20261019 .tc-alarm19-section a {
    color: #3f672e;
    text-decoration: none;
    transition: color 160ms ease;
}

.tc-alarm-home--20261019 .tc-alarm19-section a:hover {
    color: #76519e;
}

.tc-alarm-home--20261019 .tc-alarm19-section a:focus-visible,
.tc-alarm-home--20261019 .tc-alarm19-table:focus-visible {
    outline: 3px solid #76519e;
    outline-offset: 5px;
}

.tc-alarm-home--20261019 .tc-alarm19-section ul {
    display: block;
    margin: 28px 0;
    padding-left: 28px;
    list-style: disc outside;
}

.tc-alarm-home--20261019 .tc-alarm19-section li + li {
    margin-top: 12px;
}

.tc-alarm-home--20261019 .tc-alarm19-table {
    max-width: 100%;
    margin-top: 28px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    border: 1px solid #dce4dc;
    border-radius: 14px;
    touch-action: pan-x pan-y;
}

.tc-alarm-home--20261019 .tc-alarm19-table caption {
    padding: 16px 18px;
    color: #26352e;
    font-weight: 700;
    text-align: left;
}

.tc-alarm-home--20261019 .tc-alarm19-table table {
    width: 100%;
    min-width: 680px;
    border-collapse: collapse;
    font-size: 0.95rem;
    line-height: 1.65;
}

.tc-alarm-home--20261019 .tc-alarm19-table th,
.tc-alarm-home--20261019 .tc-alarm19-table td {
    padding: 18px;
    border-bottom: 1px solid #dce4dc;
    text-align: left;
    vertical-align: top;
}

.tc-alarm-home--20261019 .tc-alarm19-table th {
    background: #26352e;
    color: #fff;
}

.tc-alarm-home--20261019 .tc-alarm19-table tbody tr:last-child td {
    border-bottom: 0;
}

.tc-alarm-home--20261019 .tc-alarm19-media {
    min-width: 0;
    margin: 32px 0 0;
    overflow: hidden;
    border-radius: 18px;
    background: #edf2eb;
}

.tc-alarm-home--20261019 .tc-alarm19-media img {
    display: block;
    width: 100%;
    height: auto;
}

.tc-alarm-home--20261019 .tc-alarm19-type-grid,
.tc-alarm-home--20261019 .tc-alarm-brand-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 28px 0;
}

.tc-alarm-home--20261019 .tc-alarm19-type-option {
    min-width: 0;
}

.tc-alarm-home--20261019 .tc-alarm19-type-option > p {
    margin: 12px 0 0;
}

.tc-alarm-home--20261019 .tc-alarm19-section .tc-home-card h3 {
    color: #fff;
}

.tc-alarm-home--20261019 .tc-alarm19-route-images {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.tc-alarm-home--20261019 .tc-alarm19-route-images .tc-alarm19-media {
    margin-top: 20px;
}

.tc-alarm-home--20261019 .tc-alarm19-faq-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
    gap: 32px;
    align-items: center;
    padding: 28px 0;
    border-bottom: 1px solid #dce4dc;
}

.tc-alarm-home--20261019 .tc-alarm19-faq-row:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.tc-alarm-home--20261019 .tc-alarm19-faq-row .tc-alarm19-media {
    margin: 0;
}

.tc-alarm-home--20261019 .tc-alarm19-faq-row:nth-of-type(even) > div {
    order: 2;
}

.tc-alarm-home--20261019 .tc-alarm19-rehearsal-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.65fr);
    gap: 32px;
    align-items: center;
}

.tc-alarm-home--20261019 .tc-alarm19-rehearsal-row .tc-alarm19-media {
    margin: 0;
}

@media (max-width: 760px) {
    .tc-alarm-home--20261019 .tc-alarm19-section {
        margin-top: 32px;
        margin-bottom: 32px;
        padding: 24px 20px;
        border-radius: 18px;
        scroll-margin-top: 140px;
    }

    .tc-alarm-home--20261019 .tc-alarm19-type-grid,
    .tc-alarm-home--20261019 .tc-alarm-brand-grid,
    .tc-alarm-home--20261019 .tc-alarm19-route-images,
    .tc-alarm-home--20261019 .tc-alarm19-faq-row,
    .tc-alarm-home--20261019 .tc-alarm19-rehearsal-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .tc-alarm-home--20261019 .tc-alarm19-faq-row:nth-of-type(even) > div {
        order: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tc-alarm-home--20261019 .tc-alarm19-section a {
        transition: none;
    }
}
/* Progressive rendering for the three measured Alarm routes; native no-JS layout stays normal. */
@media (scripting: enabled) {
  .tc-alarm-home--20261019 > .tc-alarm19-section,
  .tc-alarm-content--wake-up-needs-couples .tc-alarm-content__section,
  .tc-alarm-content--wake-up-needs-heavy-sleepers .tc-alarm-content__section,
  #main-content.tc-alarm-home--20261019 ~ footer.tc-network-footer,
  #main-content.tc-alarm-content--wake-up-needs-couples ~ footer.tc-network-footer,
  #main-content.tc-alarm-content--wake-up-needs-heavy-sleepers ~ footer.tc-network-footer {
    content-visibility: auto;
    contain-intrinsic-size: auto 1000px;
  }
}
@media print {
  .tc-alarm-home--20261019 > .tc-alarm19-section,
  .tc-alarm-content--wake-up-needs-couples .tc-alarm-content__section,
  .tc-alarm-content--wake-up-needs-heavy-sleepers .tc-alarm-content__section,
  #main-content.tc-alarm-home--20261019 ~ footer.tc-network-footer,
  #main-content.tc-alarm-content--wake-up-needs-couples ~ footer.tc-network-footer,
  #main-content.tc-alarm-content--wake-up-needs-heavy-sleepers ~ footer.tc-network-footer {
    content-visibility: visible;
    contain-intrinsic-size: none;
  }
}
