:root {
    --ink: #111318;
    --soft-ink: #666a73;
    --warm-white: #f7f7f3;
    --pure-white: #fff;
    --hairline: rgba(17, 19, 24, 0.12);
    --adapto-blue: #269fc1;
    --night: #111827;
    --night-text: #f7f7f3;
    --morning: #f7ede2;
    --school: #edf5f7;
    --homework: #f0eff7;
    --family: #f6eee6;
    --bedtime: #111827;
    --page-gutter: clamp(1.25rem, 5vw, 5rem);
    --page-max: 80rem;
    --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    background: var(--warm-white);
}

body {
    margin: 0;
    color: var(--ink);
    background: var(--warm-white);
    font-family: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans", "Noto Sans", sans-serif;
    font-size: 1rem;
    line-height: 1.55;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body,
button,
a,
summary {
    -webkit-tap-highlight-color: transparent;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1,
h2,
h3 {
    letter-spacing: -0.045em;
    text-wrap: balance;
}

button,
a,
summary {
    outline: none;
}

:focus-visible {
    outline: 2px solid var(--adapto-blue);
    outline-offset: 4px;
}

.skip-link {
    position: fixed;
    z-index: 1000;
    top: 0.75rem;
    left: 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: 999px;
    color: var(--pure-white);
    background: var(--ink);
    font-weight: 600;
    transform: translateY(-180%);
    transition: transform 180ms ease;
}

.skip-link:focus {
    transform: translateY(0);
}

.page-shell {
    width: min(100%, calc(var(--page-max) + (var(--page-gutter) * 2)));
    margin-inline: auto;
    padding-inline: var(--page-gutter);
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.eyebrow {
    margin-bottom: 1.5rem;
    color: var(--soft-ink);
    font-size: clamp(0.78rem, 0.7rem + 0.2vw, 0.95rem);
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.2;
    text-transform: uppercase;
}

/* Navigation */

.site-nav {
    position: fixed;
    z-index: 100;
    inset: 0 0 auto;
    min-height: 4.5rem;
    border-bottom: 1px solid transparent;
    transition: background-color 240ms ease, border-color 240ms ease;
}

.site-nav.is-scrolled {
    border-bottom-color: var(--hairline);
    background: rgba(247, 247, 243, 0.94);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.site-nav__inner {
    display: flex;
    width: min(100%, calc(var(--page-max) + (var(--page-gutter) * 2)));
    min-height: 4.5rem;
    margin-inline: auto;
    padding-inline: var(--page-gutter);
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.brand-lockup {
    display: inline-flex;
    align-items: baseline;
    gap: 0.8rem;
    color: var(--ink);
    text-decoration: none;
}

.brand-lockup__name {
    font-size: 1.18rem;
    font-weight: 650;
    letter-spacing: -0.03em;
}

.brand-lockup__category {
    color: var(--soft-ink);
    font-size: 0.82rem;
    font-weight: 500;
}

.site-nav__actions,
.language-links {
    display: flex;
    align-items: center;
}

.site-nav__actions {
    gap: 1.5rem;
}

.language-links {
    gap: 0.7rem;
}

.language-links a {
    display: inline-flex;
    min-width: 2.75rem;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    color: var(--soft-ink);
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
}

.language-links a[aria-current="page"],
.language-links a:hover {
    color: var(--ink);
}

.language-links a[aria-current="page"] {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.32em;
}

.nav-download {
    display: inline-flex;
    min-height: 2.75rem;
    padding: 0.5rem 1.05rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: var(--pure-white);
    background: var(--ink);
    font-size: 0.84rem;
    font-weight: 600;
    text-decoration: none;
    transition: transform 180ms ease, background-color 180ms ease;
}

.nav-download:hover {
    background: #292c33;
    transform: translateY(-1px);
}

/* Shared CTA */

.app-store-cta {
    display: inline-flex;
    min-width: 11.5rem;
    min-height: 3.6rem;
    padding: 0.55rem 1.15rem;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    border: 1px solid var(--ink);
    border-radius: 0.9rem;
    color: var(--pure-white);
    background: var(--ink);
    text-decoration: none;
    transition: transform 200ms var(--ease-out), background-color 200ms ease;
}

.app-store-cta:hover {
    background: #292c33;
    transform: translateY(-2px);
}

.app-store-cta__small {
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1.1;
}

.app-store-cta__label {
    margin-top: 0.22rem;
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.1;
}

.app-store-cta--light {
    border-color: var(--night-text);
    color: var(--night);
    background: var(--night-text);
}

.app-store-cta--light:hover {
    background: var(--pure-white);
}

/* Hero */

.hero {
    position: relative;
    display: flex;
    min-height: max(51.25rem, 100svh);
    overflow: hidden;
    align-items: center;
    isolation: isolate;
}

.hero__layout {
    position: relative;
    z-index: 2;
    display: grid;
    padding-top: 7.5rem;
    padding-bottom: 5rem;
    grid-template-columns: minmax(0, 7fr) minmax(18rem, 5fr);
    align-items: center;
    gap: clamp(2rem, 5vw, 6rem);
}

.hero__copy {
    max-width: 49rem;
}

.hero__eyebrow {
    color: var(--ink);
}

.hero h1 {
    max-width: 11ch;
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
    font-size: clamp(4.8rem, 8.5vw, 7.2rem);
    font-weight: 500;
    line-height: 0.92;
}

.brand-promise {
    font-weight: 500;
    letter-spacing: -0.045em;
    line-height: 1;
}

.brand-promise span {
    display: block;
}

.brand-promise--hero {
    margin-bottom: 2rem;
    font-size: clamp(2.8rem, 5vw, 4.5rem);
}

.hero__reason {
    max-width: 32rem;
    margin-bottom: 0.5rem;
    color: var(--soft-ink);
    font-size: clamp(1.12rem, 1rem + 0.35vw, 1.4rem);
}

.hero__meet {
    margin-bottom: 2rem;
    font-size: 1.12rem;
    font-weight: 600;
}

.hero__light {
    position: absolute;
    z-index: 0;
    width: 62vw;
    height: 62vw;
    border-radius: 50%;
    opacity: 0;
    filter: blur(1px);
    pointer-events: none;
}

.hero__light--morning {
    top: -26vw;
    right: 18vw;
    background: radial-gradient(circle, rgba(255, 214, 168, 0.5), rgba(255, 214, 168, 0) 68%);
    animation: hero-light-morning 8s var(--ease-out) both;
}

.hero__light--day {
    top: -8vw;
    right: -12vw;
    background: radial-gradient(circle, rgba(149, 210, 229, 0.42), rgba(149, 210, 229, 0) 68%);
    animation: hero-light-day 8s var(--ease-out) both;
}

.hero__light--evening {
    right: -18vw;
    bottom: -28vw;
    background: radial-gradient(circle, rgba(101, 112, 168, 0.36), rgba(101, 112, 168, 0) 68%);
    animation: hero-light-evening 8s var(--ease-out) both;
}

.hero__visual {
    position: relative;
    display: flex;
    min-height: 42rem;
    align-items: center;
    justify-content: center;
}

.concept-phone {
    position: relative;
    width: min(21.5rem, 100%);
    aspect-ratio: 0.49;
    padding: 0.7rem;
    border: 1px solid rgba(17, 19, 24, 0.22);
    border-radius: 3.1rem;
    background: #15171c;
    box-shadow: 0 2rem 5rem rgba(17, 19, 24, 0.16);
}

.concept-phone__top {
    position: absolute;
    z-index: 2;
    top: 1.05rem;
    left: 50%;
    width: 5.6rem;
    height: 1.55rem;
    border-radius: 999px;
    background: #111318;
    transform: translateX(-50%);
}

.concept-phone__screen {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    border-radius: 2.5rem;
    background: linear-gradient(160deg, #f8ead9 0%, #eaf5f6 45%, #343b60 100%);
}

.concept-phone__screen::after {
    position: absolute;
    right: 20%;
    bottom: 1rem;
    left: 20%;
    height: 0.28rem;
    border-radius: 999px;
    background: rgba(17, 19, 24, 0.42);
    content: "";
}

.concept-phone--hero {
    z-index: 2;
    animation: phone-arrival 1s 250ms var(--ease-out) both;
}

.hero-state {
    position: absolute;
    display: flex;
    inset: 0;
    padding: 3.8rem 1.8rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    text-align: center;
    animation: hero-state 1.55s var(--delay) var(--ease-out) both;
}

.hero-state--bedtime {
    animation-name: hero-state-final;
}

.hero-state span {
    margin-bottom: 1rem;
    color: rgba(17, 19, 24, 0.58);
    font-size: 0.95rem;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    letter-spacing: 0.08em;
}

.hero-state strong {
    font-size: clamp(2rem, 3vw, 3.25rem);
    font-weight: 500;
    letter-spacing: -0.05em;
    line-height: 1;
}

.hero-state--bedtime span,
.hero-state--bedtime strong {
    color: var(--ink);
}

.hero-dayline {
    position: absolute;
    z-index: 1;
    width: min(34rem, 48vw);
    height: min(34rem, 48vw);
    border-radius: 50%;
    transform: rotate(-35deg);
}

.hero-dayline__track,
.hero-dayline__progress {
    position: absolute;
    inset: 0;
    border: 1px solid rgba(17, 19, 24, 0.14);
    border-radius: inherit;
}

.hero-dayline__progress {
    border-top: 2px solid var(--adapto-blue);
    border-right-color: rgba(38, 159, 193, 0.54);
    clip-path: inset(0 100% 0 0);
    animation: hero-day-progress 7s 1s var(--ease-out) forwards;
}

.hero-dayline__tick {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 7rem;
    color: var(--soft-ink);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    opacity: 0.3;
    transform: rotate(calc(var(--tick) * 26deg + 218deg)) translateY(-17rem) rotate(calc((var(--tick) * -26deg) - 183deg));
    transform-origin: 0 17rem;
    animation: hero-tick 1.1s var(--delay) ease both;
}

@keyframes phone-arrival {
    from { opacity: 0; transform: translateY(1.5rem); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes hero-state {
    0% { opacity: 0; transform: translateY(0.8rem); }
    22%, 72% { opacity: 1; transform: translateY(0); }
    100% { opacity: 0; transform: translateY(-0.6rem); }
}

@keyframes hero-state-final {
    0% { opacity: 0; transform: translateY(0.8rem); }
    25%, 100% { opacity: 1; transform: translateY(0); }
}

@keyframes hero-day-progress {
    from { clip-path: inset(0 100% 0 0); }
    to { clip-path: inset(0 0 0 0); }
}

@keyframes hero-tick {
    0% { color: var(--soft-ink); opacity: 0.3; }
    40%, 75% { color: var(--ink); opacity: 1; }
    100% { color: var(--soft-ink); opacity: 0.62; }
}

@keyframes hero-light-morning {
    0%, 20% { opacity: 0.95; }
    70%, 100% { opacity: 0.12; }
}

@keyframes hero-light-day {
    0% { opacity: 0; }
    35%, 72% { opacity: 0.8; }
    100% { opacity: 0.25; }
}

@keyframes hero-light-evening {
    0%, 54% { opacity: 0; }
    100% { opacity: 0.75; }
}

/* Manifesto */

.manifesto {
    position: relative;
    color: var(--night-text);
    background: var(--ink);
    transition: background-color 700ms ease;
}

.manifesto[data-active="morning"] { background: #29231f; }
.manifesto[data-active="school"] { background: #17252b; }
.manifesto[data-active="family"] { background: #2c211c; }
.manifesto[data-active="night"],
.manifesto[data-active="reframe"],
.manifesto[data-active="promise"] { background: #111318; }

.manifesto__inner {
    padding-top: clamp(7rem, 12vw, 10rem);
    padding-bottom: clamp(8rem, 15vw, 12rem);
}

.manifesto__beat {
    display: flex;
    max-width: 62rem;
    min-height: 22svh;
    flex-direction: column;
    justify-content: center;
    color: rgba(247, 247, 243, 0.7);
    transition: color 650ms var(--ease-out), transform 650ms var(--ease-out);
}

.manifesto__beat.is-active,
.manifesto__beat:hover {
    color: var(--night-text);
    transform: translateY(-0.35rem);
}

.manifesto__beat p {
    margin-bottom: 0;
    font-size: clamp(3.3rem, 7vw, 6rem);
    font-weight: 450;
    letter-spacing: -0.05em;
    line-height: 1.02;
}

.manifesto__beat--moment p {
    font-size: clamp(2.25rem, 4.5vw, 4rem);
}

.manifesto__beat--reframe p {
    max-width: 16ch;
}

.manifesto__beat--promise {
    min-height: 36svh;
}

.manifesto__beat--promise p {
    font-size: clamp(4rem, 8vw, 7rem);
}

/* Category */

.category-section {
    min-height: 92svh;
    padding-block: clamp(7rem, 12vw, 11rem);
    background: var(--warm-white);
}

.category-section__layout {
    display: grid;
    min-height: 68svh;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    align-items: center;
    gap: clamp(3rem, 7vw, 8rem);
}

.category-section__copy h2 {
    max-width: 10ch;
    margin-bottom: 2rem;
    font-size: clamp(3.8rem, 6vw, 5.7rem);
    font-weight: 500;
    line-height: 0.98;
}

.category-section__copy > p:last-child {
    max-width: 30rem;
    margin-bottom: 0;
    color: var(--soft-ink);
    font-size: clamp(1.12rem, 1rem + 0.3vw, 1.35rem);
}

.category-visual {
    position: relative;
    display: flex;
    min-height: 32rem;
    flex-direction: column;
    justify-content: center;
}

.category-visual__statement {
    display: flex;
    margin-bottom: 2.3rem;
    flex-direction: column;
    font-size: clamp(1.4rem, 2.4vw, 2rem);
    letter-spacing: -0.035em;
    line-height: 1.08;
    transition: opacity 500ms ease, transform 500ms var(--ease-out);
}

.category-visual__statement strong {
    font-weight: 600;
}

.category-visual__statement--after {
    margin-top: 2.3rem;
    margin-bottom: 0;
    opacity: 0;
    transform: translateY(0.75rem);
}

.adaptive-band {
    position: relative;
    display: grid;
    height: 5rem;
    grid-template-columns: 1.2fr 1fr 1.4fr 1.25fr 1fr;
    gap: 0.35rem;
}

.adaptive-band__single {
    position: absolute;
    z-index: 2;
    inset: 0;
    border-radius: 1.3rem;
    background: #dedfda;
    transition: opacity 600ms ease, transform 600ms var(--ease-out);
}

.adaptive-band__moment {
    display: flex;
    padding: 0.7rem;
    align-items: flex-end;
    border-radius: 1.15rem;
    color: var(--ink);
    font-size: 0.72rem;
    font-weight: 650;
    opacity: 0;
    transform: scaleX(0.72);
    transform-origin: left;
    transition: opacity 450ms ease, transform 650ms var(--ease-out);
}

.adaptive-band__moment--morning { background: #f4d9bc; }
.adaptive-band__moment--school { background: #cbe3ea; }
.adaptive-band__moment--homework { background: #d8d3ed; }
.adaptive-band__moment--family { background: #edd3bc; }
.adaptive-band__moment--bedtime { color: var(--night-text); background: #343b60; }

.adaptive-band__cursor {
    position: absolute;
    z-index: 3;
    top: -0.7rem;
    left: -0.35rem;
    width: 0.7rem;
    height: 6.4rem;
    border-radius: 999px;
    background: var(--adapto-blue);
    box-shadow: 0 0 0 0.35rem rgba(38, 159, 193, 0.12);
    opacity: 0;
}

.category-section.is-adaptive .category-visual__statement--before {
    opacity: 0.64;
    transform: translateY(-0.5rem);
}

.category-section.is-adaptive .category-visual__statement--after {
    opacity: 1;
    transform: translateY(0);
}

.category-section.is-adaptive .adaptive-band__single {
    opacity: 0;
    transform: scaleX(0.86);
}

.category-section.is-adaptive .adaptive-band__moment {
    opacity: 1;
    transform: scaleX(1);
}

.category-section.is-adaptive .adaptive-band__moment:nth-of-type(3) { transition-delay: 70ms; }
.category-section.is-adaptive .adaptive-band__moment:nth-of-type(4) { transition-delay: 140ms; }
.category-section.is-adaptive .adaptive-band__moment:nth-of-type(5) { transition-delay: 210ms; }
.category-section.is-adaptive .adaptive-band__moment:nth-of-type(6) { transition-delay: 280ms; }

.category-section.is-adaptive .adaptive-band__cursor {
    opacity: 1;
    animation: category-cursor 1.8s 180ms var(--ease-out) forwards;
}

@keyframes category-cursor {
    from { left: -0.35rem; }
    to { left: calc(100% - 0.35rem); }
}

/* One Real Day */

.real-day {
    --day-bg: var(--morning);
    --day-text: var(--ink);
    position: relative;
    color: var(--day-text);
    background: var(--day-bg);
    transition: color 700ms ease, background-color 700ms ease;
    isolation: isolate;
}

.real-day[data-active="morning"] { --day-bg: var(--morning); --day-text: var(--ink); }
.real-day[data-active="school"] { --day-bg: var(--school); --day-text: var(--ink); }
.real-day[data-active="homework"] { --day-bg: var(--homework); --day-text: var(--ink); }
.real-day[data-active="family"] { --day-bg: var(--family); --day-text: var(--ink); }
.real-day[data-active="bedtime"],
.real-day[data-active="promise"] { --day-bg: var(--bedtime); --day-text: var(--night-text); }

.real-day__wash {
    position: fixed;
    z-index: -1;
    top: 15vh;
    right: -10vw;
    width: 55vw;
    height: 55vw;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 212, 163, 0.28), rgba(255, 212, 163, 0) 70%);
    opacity: 0;
    pointer-events: none;
    transition: opacity 700ms ease, background 700ms ease;
}

.real-day.is-in-view .real-day__wash {
    opacity: 1;
}

.real-day[data-active="school"] .real-day__wash { background: radial-gradient(circle, rgba(142, 203, 225, 0.28), rgba(142, 203, 225, 0) 70%); }
.real-day[data-active="homework"] .real-day__wash { background: radial-gradient(circle, rgba(161, 149, 210, 0.24), rgba(161, 149, 210, 0) 70%); }
.real-day[data-active="family"] .real-day__wash { background: radial-gradient(circle, rgba(225, 166, 111, 0.3), rgba(225, 166, 111, 0) 70%); }
.real-day[data-active="bedtime"] .real-day__wash,
.real-day[data-active="promise"] .real-day__wash { background: radial-gradient(circle, rgba(92, 103, 164, 0.3), rgba(92, 103, 164, 0) 70%); }

.real-day__header {
    position: relative;
    z-index: 2;
    padding-top: clamp(7rem, 12vw, 10rem);
    padding-bottom: 3rem;
}

.real-day__header .eyebrow {
    color: currentColor;
    opacity: 0.62;
}

.real-day__header h2 {
    margin-bottom: 0;
    font-size: clamp(4rem, 8vw, 7rem);
    font-weight: 500;
    line-height: 0.95;
}

.day-shell {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(20rem, 6fr);
    gap: clamp(2rem, 6vw, 7rem);
}

.day-story {
    position: relative;
    z-index: 2;
    margin: 0;
    padding: 0;
    list-style: none;
}

.day-chapter {
    display: flex;
    min-height: 82svh;
    padding-block: 5.5rem;
    align-items: center;
}

.day-chapter__copy {
    max-width: 36rem;
    opacity: 0.72;
    transform: translateY(1.2rem);
    transition: opacity 600ms var(--ease-out), transform 600ms var(--ease-out);
}

.day-chapter.is-active .day-chapter__copy {
    opacity: 1;
    transform: translateY(0);
}

.day-chapter time,
.day-chapter__moment {
    font-size: 0.86rem;
    font-weight: 650;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.day-chapter time {
    display: inline-block;
    margin-bottom: 0.45rem;
    font-variant-numeric: tabular-nums;
    opacity: 0.6;
}

.day-chapter__moment {
    margin-bottom: 2.1rem;
}

.day-chapter h3 {
    margin-bottom: 1.6rem;
    font-size: clamp(3.4rem, 5.8vw, 5.5rem);
    font-weight: 500;
    line-height: 0.98;
}

.day-chapter__copy > p:last-child {
    margin-bottom: 0;
    font-size: clamp(1.25rem, 1rem + 0.5vw, 1.65rem);
    line-height: 1.4;
}

.day-chapter--ending h3 {
    font-size: clamp(3.7rem, 6.8vw, 6.5rem);
}

.day-chapter--family,
.day-chapter[data-moment="bedtime"] {
    min-height: 92svh;
}

.day-chapter--ending {
    min-height: 100svh;
}

.day-chapter__ending-label {
    margin-bottom: 2.2rem;
    font-size: 0.95rem !important;
    font-weight: 650;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.day-stage {
    position: sticky;
    top: 0;
    display: flex;
    height: 100svh;
    align-items: center;
    justify-content: center;
}

.day-stage__phone {
    width: min(20rem, 34vw);
    transition: transform 750ms var(--ease-out), box-shadow 750ms var(--ease-out);
    transition-delay: 180ms;
}

.day-stage__phone .concept-phone__screen {
    color: var(--ink);
    background: #f8ead9;
    transition: background-color 700ms ease;
}

.real-day[data-active="school"] .day-stage__phone .concept-phone__screen { background: #eaf5f6; }
.real-day[data-active="homework"] .day-stage__phone .concept-phone__screen { background: #e9e6f4; }
.real-day[data-active="family"] .day-stage__phone .concept-phone__screen { background: #f4e2d2; }
.real-day[data-active="bedtime"] .day-stage__phone .concept-phone__screen,
.real-day[data-active="promise"] .day-stage__phone .concept-phone__screen { color: var(--night-text); background: #262d4b; }

.real-day[data-active="family"] .day-stage__phone {
    box-shadow: 0 1.2rem 3rem rgba(17, 19, 24, 0.08);
    transform: translateX(7vw) scale(0.82);
}

.day-phone-state {
    position: absolute;
    display: flex;
    inset: 0;
    padding: 3.5rem 1.5rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    text-align: center;
    transform: translateY(0.75rem);
    transition: opacity 500ms ease 180ms, transform 600ms var(--ease-out) 180ms;
}

.day-phone-state small {
    margin-bottom: 1rem;
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
    font-weight: 650;
    letter-spacing: 0.08em;
    opacity: 0.56;
}

.day-phone-state strong {
    font-size: clamp(2rem, 3vw, 3.15rem);
    font-weight: 500;
    letter-spacing: -0.05em;
    line-height: 1;
}

.boundary-signals {
    display: flex;
    width: 100%;
    max-width: 13rem;
    margin-top: 2rem;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.55rem;
}

.boundary-signals i {
    display: inline-flex;
    min-height: 2rem;
    padding: 0.4rem 0.68rem;
    align-items: center;
    justify-content: center;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 650;
    letter-spacing: 0.02em;
    opacity: 0.82;
    transition: opacity 500ms ease 300ms, transform 600ms var(--ease-out) 300ms;
}

.boundary-signals .is-available {
    border-color: var(--adapto-blue);
    color: #11647b;
    background: rgba(38, 159, 193, 0.1);
}

.boundary-signals .is-receding {
    opacity: 0.44;
    transform: scale(0.86);
}

.boundary-signals--bedtime .is-receding {
    opacity: 0.38;
}

.day-phone-state--promise > span {
    margin-top: 1.8rem;
    font-size: 0.82rem;
    font-weight: 650;
    line-height: 1.35;
}

.real-day[data-active="morning"] [data-phone-state="morning"],
.real-day[data-active="school"] [data-phone-state="school"],
.real-day[data-active="homework"] [data-phone-state="homework"],
.real-day[data-active="family"] [data-phone-state="family"],
.real-day[data-active="bedtime"] [data-phone-state="bedtime"],
.real-day[data-active="promise"] [data-phone-state="promise"] {
    opacity: 1;
    transform: translateY(0);
}

.day-stage__timeline {
    position: absolute;
    left: 0;
    width: 8rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.day-stage__timeline::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0.3rem;
    width: 1px;
    background: currentColor;
    content: "";
    opacity: 0.18;
}

.day-stage__timeline li {
    position: relative;
    padding: 0.55rem 0 0.55rem 1.45rem;
    font-size: 0.68rem;
    font-weight: 650;
    opacity: 0.32;
    transition: opacity 350ms ease 100ms, transform 450ms var(--ease-out) 100ms;
}

.day-stage__timeline li::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 0.65rem;
    height: 0.65rem;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: var(--day-bg);
    content: "";
    transform: translateY(-50%);
    transition: background-color 350ms ease, box-shadow 350ms ease;
}

.day-stage__timeline li span {
    display: block;
    font-variant-numeric: tabular-nums;
    font-weight: 500;
    opacity: 0.72;
}

.real-day[data-active="morning"] [data-stage="morning"],
.real-day[data-active="school"] [data-stage="school"],
.real-day[data-active="homework"] [data-stage="homework"],
.real-day[data-active="family"] [data-stage="family"],
.real-day[data-active="bedtime"] [data-stage="bedtime"] {
    opacity: 1;
    transform: translateX(0.18rem);
}

.real-day[data-active="morning"] [data-stage="morning"]::before,
.real-day[data-active="school"] [data-stage="school"]::before,
.real-day[data-active="homework"] [data-stage="homework"]::before,
.real-day[data-active="family"] [data-stage="family"]::before,
.real-day[data-active="bedtime"] [data-stage="bedtime"]::before {
    border-color: var(--adapto-blue);
    background: var(--adapto-blue);
    box-shadow: 0 0 0 0.3rem rgba(38, 159, 193, 0.14);
}

.chapter-phone {
    display: none;
}

/* Product proof */

.product-proof {
    padding-block: clamp(7rem, 12vw, 11rem);
    background: var(--pure-white);
}

.product-proof__header {
    max-width: 56rem;
    margin-bottom: clamp(5rem, 9vw, 8rem);
}

.product-proof__header h2 {
    margin-bottom: 0;
    font-size: clamp(4rem, 7vw, 6.4rem);
    font-weight: 500;
    line-height: 0.96;
}

.proof-steps {
    display: grid;
    margin: 0;
    padding: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: clamp(1.5rem, 4vw, 4rem);
    list-style: none;
}

.proof-step__copy {
    min-height: 7.875rem;
    margin-bottom: 2rem;
}

.proof-step__copy > span {
    display: block;
    margin-bottom: 0.75rem;
    color: var(--soft-ink);
    font-size: 0.72rem;
    font-weight: 650;
    letter-spacing: 0.1em;
}

.proof-step__copy h3 {
    margin-bottom: 0;
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 500;
    line-height: 1;
}

.product-capture {
    width: 100%;
    margin: 0;
}

.product-capture__frame {
    display: block;
    width: 100%;
    aspect-ratio: 1170 / 2532;
    overflow: hidden;
    border: 1px solid var(--hairline);
    border-radius: clamp(1rem, 2vw, 1.5rem);
    background: #f3f3f6;
    box-shadow: 0 1.25rem 3rem rgba(17, 19, 24, 0.09);
}

.product-capture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: top;
}

.product-capture figcaption {
    margin-top: 1rem;
    color: var(--soft-ink);
    font-size: 0.86rem;
    line-height: 1.45;
}

/* Privacy */

.privacy-trust {
    display: flex;
    min-height: 80svh;
    padding-block: clamp(7rem, 12vw, 10rem);
    align-items: center;
    background: #eaf5f6;
}

.privacy-trust__layout {
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
    gap: clamp(3rem, 8vw, 9rem);
}

.privacy-trust h2 {
    max-width: 8ch;
    margin-bottom: 0;
    font-size: clamp(4rem, 7vw, 6.5rem);
    font-weight: 500;
    line-height: 0.96;
}

.privacy-facts p {
    margin-bottom: 0;
    padding-block: 2rem;
    border-top: 1px solid var(--hairline);
    font-size: clamp(1.35rem, 1.2rem + 0.5vw, 1.85rem);
    letter-spacing: -0.025em;
    line-height: 1.35;
}

.privacy-facts p:last-child {
    border-bottom: 1px solid var(--hairline);
}

.privacy-link {
    display: inline-flex;
    min-height: 2.75rem;
    margin-top: 1.25rem;
    align-items: center;
    gap: 0.35rem;
    color: var(--ink);
    font-size: 0.95rem;
    font-weight: 650;
    text-underline-offset: 0.22em;
}

/* FAQ */

.faq {
    padding-block: clamp(7rem, 12vw, 11rem);
    background: var(--warm-white);
}

.faq__layout {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
    gap: clamp(3rem, 8vw, 9rem);
}

.faq h2 {
    margin-bottom: 0;
    font-size: clamp(3.8rem, 6vw, 5.5rem);
    font-weight: 500;
    line-height: 0.96;
}

.faq__items {
    border-top: 1px solid var(--hairline);
}

.faq details {
    border-bottom: 1px solid var(--hairline);
}

.faq summary {
    position: relative;
    min-height: 4.5rem;
    padding: 1.5rem 3rem 1.5rem 0;
    cursor: pointer;
    font-size: clamp(1.08rem, 1rem + 0.25vw, 1.3rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    list-style: none;
}

.faq summary::-webkit-details-marker {
    display: none;
}

.faq summary::before,
.faq summary::after {
    position: absolute;
    top: 50%;
    right: 0.25rem;
    width: 1rem;
    height: 1px;
    background: currentColor;
    content: "";
    transition: transform 200ms ease;
}

.faq summary::after {
    transform: rotate(90deg);
}

.faq details[open] summary::after {
    transform: rotate(0);
}

.faq details p {
    max-width: 42rem;
    margin-bottom: 0;
    padding: 0 3rem 1.8rem 0;
    color: var(--soft-ink);
    font-size: 1rem;
}

/* Final CTA */

.final-cta {
    position: relative;
    display: flex;
    min-height: 92svh;
    overflow: hidden;
    align-items: center;
    color: var(--night-text);
    background: var(--night);
    text-align: center;
    isolation: isolate;
}

.final-cta__inner {
    position: relative;
    z-index: 2;
    display: flex;
    padding-block: 7rem;
    flex-direction: column;
    align-items: center;
}

.final-cta .eyebrow {
    color: var(--night-text);
    opacity: 0.58;
}

.final-cta h2 {
    margin-bottom: 2rem;
    font-size: clamp(4.5rem, 9vw, 8rem);
    font-weight: 500;
    line-height: 0.92;
}

.final-cta__lead {
    margin-bottom: 0.7rem;
    color: rgba(247, 247, 243, 0.78);
    font-size: clamp(1.2rem, 1rem + 0.45vw, 1.55rem);
}

.final-cta__signature {
    margin-bottom: 2.5rem;
    font-size: 1rem;
    font-weight: 600;
}

.final-cta__arc {
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 50%;
    width: min(70vw, 62rem);
    aspect-ratio: 1;
    border: 1px solid rgba(247, 247, 243, 0.13);
    border-radius: 50%;
    transform: translate(-50%, -42%);
}

.final-cta__arc::before,
.final-cta__arc::after {
    position: absolute;
    width: 0.72rem;
    height: 0.72rem;
    border-radius: 50%;
    background: var(--adapto-blue);
    box-shadow: 0 0 0 0.45rem rgba(38, 159, 193, 0.12);
    content: "";
}

.final-cta__arc::before {
    top: 11%;
    left: 19%;
}

.final-cta__arc::after {
    right: 15%;
    bottom: 18%;
}

/* Footer */

.site-footer {
    color: rgba(247, 247, 243, 0.64);
    background: var(--night);
}

.site-footer__inner {
    display: flex;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(247, 247, 243, 0.12);
    gap: 2rem;
}

.site-footer p {
    margin-bottom: 0;
    font-size: 0.78rem;
}

.site-footer__inner > div {
    display: flex;
    gap: 1.2rem;
}

.site-footer a {
    font-size: 0.78rem;
    text-decoration: none;
}

.site-footer a:hover {
    color: var(--night-text);
}

/* Tablet */

@media (max-width: 74.99rem) {
    .hero__layout {
        grid-template-columns: minmax(0, 1.15fr) minmax(17rem, 0.85fr);
    }

    .hero__visual {
        min-height: 36rem;
    }

    .hero-dayline {
        width: 32rem;
        height: 32rem;
    }

    .hero-dayline__tick {
        transform: rotate(calc(var(--tick) * 26deg + 218deg)) translateY(-16rem) rotate(calc((var(--tick) * -26deg) - 183deg));
        transform-origin: 0 16rem;
    }

    .day-stage__timeline {
        left: -1.2rem;
    }
}

@media (min-width: 48rem) and (max-height: 53.125rem) {
    .hero {
        min-height: 100svh;
    }

    .hero__layout {
        padding-top: 6rem;
        padding-bottom: 2rem;
    }

    .hero h1 {
        margin-bottom: 1.6rem;
        font-size: clamp(4rem, 7.2vw, 5.8rem);
    }

    .brand-promise--hero {
        margin-bottom: 1.15rem;
        font-size: clamp(2.7rem, 4.4vw, 3.5rem);
    }

    .hero__reason {
        font-size: 1.05rem;
    }

    .hero__meet {
        margin-bottom: 1.2rem;
        font-size: 1rem;
    }

    .hero__visual {
        min-height: 34rem;
    }

    .concept-phone--hero {
        width: min(17.5rem, 100%);
    }

    .hero-dayline {
        width: 29rem;
        height: 29rem;
    }

    .hero-dayline__tick {
        transform: rotate(calc(var(--tick) * 26deg + 218deg)) translateY(-14.5rem) rotate(calc((var(--tick) * -26deg) - 183deg));
        transform-origin: 0 14.5rem;
    }
}

@media (max-width: 61.99rem) {
    .brand-lockup__category {
        display: none;
    }

    .category-section__layout,
    .privacy-trust__layout,
    .faq__layout {
        grid-template-columns: 1fr;
    }

    .category-section__copy h2,
    .privacy-trust h2 {
        max-width: 12ch;
    }

    .day-shell {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .day-stage {
        z-index: 1;
        top: max(4rem, env(safe-area-inset-top));
        display: flex;
        height: 42svh;
        grid-area: 1 / 1;
        align-self: start;
        pointer-events: none;
    }

    .day-story {
        grid-area: 1 / 1;
    }

    .day-stage__timeline {
        display: none;
    }

    .day-stage__phone {
        width: min(12.5rem, 38vw);
    }

    .day-chapter {
        min-height: 80svh;
        padding: calc(42svh + 3.5rem) 0 4rem;
        flex-direction: column;
        align-items: flex-start;
    }

    .day-chapter__copy {
        position: relative;
        z-index: 2;
        opacity: 0.72;
        transform: none;
    }

    .chapter-phone {
        display: none;
        width: min(17rem, 60vw);
        aspect-ratio: 0.49;
        margin-inline: auto;
        padding: 2.5rem 1.2rem;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        border: 0.65rem solid #15171c;
        border-radius: 2.7rem;
        color: var(--ink);
        background: #f8ead9;
        box-shadow: 0 1.7rem 4rem rgba(17, 19, 24, 0.14);
        text-align: center;
    }

    .chapter-phone--school { background: #eaf5f6; }
    .chapter-phone--homework { background: #e9e6f4; }
    .chapter-phone--family { background: #f4e2d2; transform: scale(0.82); }
    .chapter-phone--bedtime,
    .chapter-phone--promise { color: var(--night-text); background: #262d4b; }

    .chapter-phone span {
        margin-bottom: 0.8rem;
        font-size: 0.8rem;
        font-variant-numeric: tabular-nums;
        font-weight: 650;
        letter-spacing: 0.08em;
        opacity: 0.58;
    }

    .chapter-phone strong {
        font-size: 2.3rem;
        font-weight: 500;
        letter-spacing: -0.05em;
        line-height: 1;
    }

    .proof-steps {
        grid-template-columns: repeat(3, minmax(17rem, 1fr));
        overflow-x: auto;
        padding-bottom: 1.5rem;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }

    .proof-step {
        scroll-snap-align: start;
    }
}

/* Mobile */

@media (max-width: 47.99rem) {
    :root {
        --page-gutter: 1.25rem;
    }

    html {
        scroll-behavior: auto;
    }

    .site-nav,
    .site-nav__inner {
        min-height: 4rem;
    }

    .site-nav__inner {
        gap: 0.5rem;
    }

    .site-nav__actions {
        gap: 0.25rem;
    }

    .language-links {
        display: flex;
        gap: 0;
    }

    .language-links a {
        min-width: 2.75rem;
        min-height: 2.75rem;
    }

    .nav-download {
        min-height: 2.75rem;
        padding-inline: 0.8rem;
    }

    .hero {
        min-height: max(43.75rem, 100svh);
        align-items: flex-start;
    }

    .hero__layout {
        display: flex;
        padding-top: 7rem;
        padding-bottom: 0;
        flex-direction: column;
        gap: 2rem;
    }

    .hero__copy {
        position: relative;
        z-index: 3;
        width: 100%;
    }

    .hero h1 {
        margin-bottom: 1.75rem;
        font-size: clamp(3.35rem, 15vw, 4.8rem);
        line-height: 0.96;
    }

    .brand-promise--hero {
        margin-bottom: 1.35rem;
        font-size: clamp(2.5rem, 11vw, 3.7rem);
    }

    .hero__reason {
        max-width: 22rem;
        margin-bottom: 0.4rem;
        font-size: 1.05rem;
    }

    .hero__meet {
        margin-bottom: 1.5rem;
        font-size: 1rem;
    }

    .hero__visual {
        width: 100%;
        min-height: 25rem;
        margin-top: -1rem;
    }

    .concept-phone--hero {
        width: min(14.5rem, 62vw);
        transform-origin: center bottom;
    }

    .concept-phone,
    .concept-phone__screen {
        border-radius: 2.4rem;
    }

    .concept-phone__top {
        top: 0.9rem;
        width: 4.7rem;
        height: 1.3rem;
    }

    .hero-dayline {
        width: 25rem;
        height: 25rem;
    }

    .hero-dayline__tick {
        width: 4rem;
        overflow: hidden;
        font-size: 0;
        transform: rotate(calc(var(--tick) * 26deg + 218deg)) translateY(-12.5rem) rotate(calc((var(--tick) * -26deg) - 183deg));
        transform-origin: 0 12.5rem;
    }

    .hero-dayline__tick::after {
        display: block;
        width: 0.55rem;
        height: 0.55rem;
        border-radius: 50%;
        background: currentColor;
        content: "";
    }

    .manifesto__inner {
        padding-top: 6rem;
        padding-bottom: 7rem;
    }

    .manifesto__beat {
        min-height: 18svh;
        color: var(--night-text);
        transform: none;
    }

    .manifesto__beat p {
        font-size: clamp(2.7rem, 12vw, 4rem);
    }

    .manifesto__beat--moment p {
        font-size: clamp(2rem, 9vw, 3rem);
    }

    .manifesto__beat--promise {
        min-height: 24svh;
    }

    .category-section {
        min-height: auto;
        padding-block: 6.5rem;
    }

    .category-section__layout {
        min-height: auto;
        gap: 4.5rem;
    }

    .category-section__copy h2 {
        font-size: clamp(3.2rem, 13vw, 4.5rem);
    }

    .category-visual {
        min-height: 26rem;
    }

    .adaptive-band {
        height: 19rem;
        grid-template-columns: 1fr;
        grid-template-rows: 1.2fr 1fr 1.4fr 1.25fr 1fr;
    }

    .adaptive-band__moment {
        align-items: center;
        transform: scaleY(0.72);
        transform-origin: top;
    }

    .category-section.is-adaptive .adaptive-band__moment {
        transform: scaleY(1);
    }

    .adaptive-band__cursor {
        top: -0.35rem;
        left: -0.65rem;
        width: calc(100% + 1.3rem);
        height: 0.7rem;
    }

    .category-section.is-adaptive .adaptive-band__cursor {
        animation-name: category-cursor-mobile;
    }

    @keyframes category-cursor-mobile {
        from { top: -0.35rem; left: -0.65rem; }
        to { top: calc(100% - 0.35rem); left: -0.65rem; }
    }

    .real-day__header {
        padding-top: 6.5rem;
        padding-bottom: 1rem;
    }

    .real-day__header h2 {
        font-size: clamp(3.7rem, 16vw, 5.4rem);
    }

    .day-chapter {
        min-height: 78svh;
        padding: calc(40svh + 3rem) 0 4rem;
        justify-content: flex-start;
    }

    .day-chapter--family,
    .day-chapter[data-moment="bedtime"] {
        min-height: 88svh;
    }

    .day-chapter--ending {
        min-height: 96svh;
    }

    .day-stage {
        height: 40svh;
    }

    .day-stage__phone {
        width: min(10.5rem, 42vw);
    }

    .day-phone-state {
        padding: 2.5rem 0.8rem 1.6rem;
    }

    .day-phone-state strong {
        font-size: 1.55rem;
    }

    .day-phone-state small {
        margin-bottom: 0.55rem;
        font-size: 0.64rem;
    }

    .boundary-signals {
        margin-top: 1rem;
        gap: 0.3rem;
    }

    .boundary-signals i {
        min-height: 1.5rem;
        padding: 0.25rem 0.42rem;
        font-size: 0.52rem;
    }

    .day-chapter h3 {
        font-size: clamp(3rem, 13vw, 4.3rem);
    }

    .day-chapter--ending h3 {
        font-size: clamp(3.2rem, 14vw, 4.7rem);
    }

    .product-proof {
        padding-block: 6.5rem;
    }

    .product-proof__header {
        margin-bottom: 4.5rem;
    }

    .product-proof__header h2 {
        font-size: clamp(3.35rem, 14vw, 4.7rem);
    }

    .proof-steps {
        display: block;
        overflow: visible;
    }

    .proof-step,
    .proof-step:nth-child(1),
    .proof-step:nth-child(3) {
        margin-top: 0;
    }

    .proof-step + .proof-step {
        margin-top: 5rem;
    }

    .proof-step__copy,
    .product-capture {
        max-width: 22rem;
        margin-inline: auto;
    }

    .proof-step__copy {
        min-height: 0;
    }

    .privacy-trust {
        min-height: auto;
        padding-block: 6.5rem;
    }

    .privacy-trust__layout {
        gap: 4.5rem;
    }

    .privacy-trust h2 {
        font-size: clamp(3.4rem, 14vw, 4.8rem);
    }

    .privacy-facts p {
        padding-block: 1.5rem;
        font-size: 1.3rem;
    }

    .faq {
        padding-block: 6.5rem;
    }

    .faq__layout {
        gap: 4rem;
    }

    .faq h2 {
        font-size: clamp(3.4rem, 14vw, 4.6rem);
    }

    .final-cta {
        min-height: 88svh;
    }

    .final-cta h2 {
        font-size: clamp(3.8rem, 16vw, 5.5rem);
    }

    .final-cta__arc {
        width: 135vw;
    }

    .site-footer__inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.7rem;
    }
}

/* Short viewports use a natural, fully static story to avoid a scroll trap. */

@media (max-height: 43.74rem) {
    .day-shell {
        display: block;
    }

    .day-stage {
        display: none;
    }

    .day-chapter,
    .day-chapter--family,
    .day-chapter[data-moment="bedtime"],
    .day-chapter--ending {
        min-height: auto;
        padding-block: 4.5rem;
        gap: 2.5rem;
    }

    .day-chapter__copy {
        opacity: 1;
    }

    .chapter-phone {
        display: flex;
    }
}

/* Reduced motion and static resilience */

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.001ms !important;
        animation-delay: 0ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }

    .hero__light--morning,
    .hero__light--day,
    .hero__light--evening {
        opacity: 0.24;
    }

    .hero-state {
        display: none;
    }

    .hero-state--bedtime {
        display: flex;
        opacity: 1;
        transform: none;
    }

    .hero-dayline__progress {
        clip-path: inset(0 0 0 0);
    }

    .hero-dayline__tick {
        opacity: 0.62;
    }

    .manifesto__beat,
    .manifesto__beat.is-active,
    .day-chapter__copy,
    .day-chapter.is-active .day-chapter__copy {
        color: inherit;
        opacity: 1;
        transform: none;
    }

    .manifesto {
        background: var(--ink);
    }

    .day-shell {
        display: block;
    }

    .day-stage {
        display: none;
    }

    .day-chapter,
    .day-chapter--family,
    .day-chapter[data-moment="bedtime"],
    .day-chapter--ending {
        min-height: auto;
        padding-block: 4.5rem;
    }

    .category-section .category-visual__statement--after,
    .category-section .adaptive-band__moment {
        opacity: 1;
        transform: none;
    }

    .category-section .adaptive-band__single,
    .category-section .adaptive-band__cursor,
    .category-section .category-visual__statement--before {
        display: none;
    }
}

@media (forced-colors: active) {
    .manifesto,
    .real-day,
    .final-cta {
        color: CanvasText;
        background: Canvas;
    }

    .manifesto__beat,
    .manifesto__beat.is-active,
    .day-chapter__copy,
    .day-chapter.is-active .day-chapter__copy,
    .category-section.is-adaptive .category-visual__statement--before {
        color: CanvasText;
        opacity: 1;
    }

    .adaptive-band__moment,
    .chapter-phone,
    .boundary-signals i {
        border: 1px solid CanvasText;
    }

    .nav-download,
    .app-store-cta {
        border: 1px solid ButtonText;
    }
}
