.mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.mini-grid div { display: flex; flex-direction: column; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.mini-grid small { color: var(--muted); font-size: .65rem; }
.mini-grid strong { font-size: .8rem; }

.section { padding: 112px 0; }
.intro-section { background: var(--surface); }
.section-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 90px; }
.section-heading > p { margin: 0 0 7px; color: var(--slate); }
.section-heading--center { display: block; max-width: 820px; text-align: center; }
.section-heading--center .eyebrow { text-align: center; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 50px; }
.feature-grid--four { grid-template-columns: repeat(4, 1fr); }
.feature-card { min-height: 250px; padding: 30px; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: 0 10px 24px rgba(32,46,67,.04); }
.feature-icon { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 42px; border-radius: 50%; background: var(--blue-soft); color: var(--blue); font-size: 1.25rem; font-weight: 900; }
.feature-card h3 { margin-bottom: 10px; }
.feature-card p { margin: 0; color: var(--slate); font-size: .89rem; }
.step { display: block; margin-bottom: 48px; color: var(--blue); font-size: .75rem; font-weight: 800; }

.products-section { background: white; }
.product-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 80px; }
.product-heading > p { margin: 0 0 8px; color: var(--slate); }
.featured-product { margin-top: 48px; padding: 18px; border: 1px solid var(--line); border-radius: 30px; background: var(--surface); box-shadow: var(--shadow); }
.featured-product__image { width: 100%; height: auto; border-radius: 21px; }
.featured-product__actions { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 40px; padding: 30px 22px 14px; }
.product-number { color: var(--blue); font-size: .67rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.featured-product__actions h3 { margin: 5px 0 4px; font-size: 1.55rem; }
.featured-product__actions p { max-width: 650px; margin: 0; color: var(--slate); font-size: .87rem; }

.principles-section { color: white; background: var(--navy); }
.principles-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; }
.principles-grid h2 span { color: #7fc3f2; }
.principle-list article { display: grid; grid-template-columns: 52px 1fr; gap: 20px; padding: 25px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.principle-list article > strong { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--blue); font-size: .72rem; }
.principle-list h3 { margin-bottom: 4px; color: white; }
.principle-list p { margin: 0; color: #aebed0; font-size: .88rem; }

.app-section { position: relative; overflow: hidden; color: white; background: linear-gradient(135deg, var(--blue-dark), var(--blue)); }
.app-section::after { content: ""; position: absolute; right: -200px; bottom: -300px; width: 600px; height: 600px; border: 100px solid rgba(255,255,255,.08); border-radius: 50%; }
.app-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 95px; }
.app-grid h2 span { color: white; }
.app-grid > div:last-child > p:not(.eyebrow) { color: #dcefff; }
.family-demo { padding: 30px; border-radius: 26px; background: white; color: var(--navy); box-shadow: 22px 22px 0 rgba(17,83,135,.35); }
.family-demo__title { color: var(--blue); font-weight: 800; }
.family-people { display: grid; grid-template-columns: 1fr 50px 1fr; align-items: center; margin: 32px 0; text-align: center; }
.family-people > div { display: flex; flex-direction: column; align-items: center; }
.family-people > div > span { width: 64px; height: 64px; display: grid; place-items: center; margin-bottom: 12px; border-radius: 50%; color: var(--blue); background: var(--blue-soft); font-size: 1.3rem; }
.family-people small { color: var(--blue); font-size: .67rem; }
.family-people i { height: 2px; background: #9ccbee; }
.family-stats { display: grid; grid-template-columns: 1fr 1fr; padding-top: 20px; border-top: 1px solid var(--line); text-align: center; }
.family-stats span { display: flex; flex-direction: column; color: var(--slate); font-size: .67rem; }
.family-stats span + span { border-left: 1px solid var(--line); }
.family-stats strong { color: var(--blue); font-size: 1rem; }
.check-list { padding: 0; margin: 28px 0 34px; list-style: none; }
.check-list li { display: flex; align-items: center; gap: 12px; padding: 8px 0; }
.check-list li::before { content: "✓"; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--green); font-size: .72rem; font-weight: 900; }

.support-banner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 34px; padding: 42px; border: 1px solid var(--line); border-radius: 24px; background: var(--surface); }
.support-banner h2 { margin-bottom: 10px; font-size: clamp(1.8rem, 3vw, 3rem); }
.support-banner p:not(.eyebrow) { margin: 0; color: var(--slate); }
.support-icon { width: 74px; height: 74px; display: grid; place-items: center; border-radius: 22px; color: white; background: var(--blue); font-size: 1.7rem; }

.page-hero { padding: 95px 0; overflow: hidden; background: linear-gradient(145deg, white 0 60%, var(--surface) 60%); }
.page-hero-grid { min-height: 540px; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 80px; }
.page-hero h1 { font-size: clamp(3.3rem, 6vw, 5.8rem); }
.status-pill { display: inline-flex; margin: 0 0 22px; padding: 7px 12px; border-radius: 999px; color: var(--blue-dark); background: var(--blue-soft); font-size: .67rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.phone-stack { position: relative; min-height: 470px; }
.phone-card { position: absolute; width: 290px; min-height: 370px; padding: 32px; border: 1px solid var(--line); border-radius: 34px; background: white; box-shadow: var(--shadow); }
.phone-card--back { right: 0; top: 40px; display: flex; flex-direction: column; justify-content: flex-end; color: var(--green); transform: rotate(8deg); }
.phone-card--back strong { font-size: 1.7rem; }
.phone-card--back small { color: var(--slate); }
.phone-card--front { left: 10px; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; transform: rotate(-4deg); }
.phone-card--front h2 { margin: 22px 0 6px; font-size: 2rem; }
.phone-card--front p { color: var(--slate); font-size: .85rem; }

.process-section { background: var(--surface); }
.process-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }
.process-grid > div:first-child { position: sticky; top: 120px; height: max-content; }
.process-list article { display: flex; gap: 22px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.process-list article > span { flex: 0 0 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: var(--blue); background: var(--blue-soft); font-weight: 850; }
.process-list h3 { margin-bottom: 6px; }
.process-list p { margin: 0; color: var(--slate); }
.release-section { background: white; }
.release-card { display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; padding: 48px; border-radius: 26px; color: white; background: var(--navy); }
.release-card h2 { font-size: clamp(2rem, 3.4vw, 3.4rem); }
.release-card p:not(.eyebrow) { color: #b9c8d8; }
.release-links { display: flex; flex-direction: column; justify-content: center; }
.release-links a { padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.15); color: #dbefff; font-size: .86rem; font-weight: 700; }

.compact-hero { padding: 100px 0 80px; background: linear-gradient(145deg, white 0 64%, var(--blue-soft) 64%); }
.compact-grid { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 90px; }
.support-hours { display: flex; flex-direction: column; padding: 26px; border-radius: 18px; color: white; background: var(--blue); }
.support-hours span { color: #d7efff; font-size: .69rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.support-hours strong { margin: 8px 0 2px; font-size: 1.1rem; }
.support-hours small { color: #d7efff; }
.support-section { background: var(--surface); }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-tile { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; padding: 22px; border: 1px solid var(--line); border-radius: 17px; background: white; }
.contact-tile:hover { border-color: #91c9ef; box-shadow: 0 12px 28px rgba(32,46,67,.07); }
.contact-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; color: var(--blue); background: var(--blue-soft); }
.contact-icon--green { color: var(--green); background: var(--green-soft); }
.contact-tile div { display: flex; min-width: 0; flex-direction: column; }
.contact-tile small { color: var(--slate); }
.contact-tile strong { overflow-wrap: anywhere; }
.contact-tile b { color: var(--blue); }
.support-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 50px; }
.help-card, .privacy-card { padding: 34px; border-radius: 20px; background: white; border: 1px solid var(--line); }
.help-card h2, .privacy-card h2 { font-size: 1.55rem; }
.help-card > p, .privacy-card p { color: var(--slate); }
.check-list--dark li::before { background: var(--blue); }
.privacy-card { display: flex; gap: 18px; background: var(--red-soft); border-color: #ffd1d5; }
.privacy-card > span { flex: 0 0 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--red); font-weight: 900; }
.branch-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; margin-top: 18px; padding: 30px; border: 1px solid var(--line); border-radius: 20px; background: white; }
.branch-card .feature-icon { margin: 0; }
.branch-card small { color: var(--slate); }
.branch-card h2 { margin: 2px 0; font-size: 1.45rem; }
.branch-card p { margin: 0; color: var(--slate); }

.legal-hero { background: linear-gradient(145deg, white 0 70%, var(--blue-soft) 70%); }
.updated { margin-top: 22px; color: var(--slate); font-size: .78rem; }
.legal-section, .deletion-section { background: var(--surface); }
.legal-layout { display: grid; grid-template-columns: 300px minmax(0, 760px); justify-content: center; align-items: start; gap: 70px; }
.legal-aside { position: sticky; top: 110px; display: flex; flex-direction: column; padding: 26px; border: 1px solid var(--line); border-radius: 18px; background: white; }
.legal-aside span { color: var(--blue); font-size: .75rem; }
.legal-aside p { color: var(--slate); font-size: .82rem; }
.legal-aside a { padding-top: 16px; border-top: 1px solid var(--line); color: var(--blue); font-size: .8rem; font-weight: 800; }
.policy-content { padding: 10px 36px; border: 1px solid var(--line); border-radius: 22px; background: white; }
.policy-content section { padding: 28px 0; border-bottom: 1px solid var(--line); }
.policy-content section:last-child { border-bottom: 0; }
.policy-content h2 { margin-bottom: 10px; font-size: 1.2rem; }
.policy-content p { margin: 0; color: var(--slate); font-size: .91rem; }
.deletion-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: start; }
.deletion-steps article { display: flex; gap: 22px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.deletion-steps article > span { flex: 0 0 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--blue); font-weight: 850; }
.deletion-steps h2 { margin-bottom: 8px; font-size: 1.35rem; }
.deletion-steps p { margin: 0; color: var(--slate); }
.deletion-steps a { color: var(--blue); font-weight: 750; }
.deletion-note { padding: 36px; border-radius: 22px; color: white; background: var(--navy); }
.deletion-note h2 { font-size: 1.8rem; }
.deletion-note p { color: #bdcad8; font-size: .9rem; }
.deletion-note > a:last-child { display: block; margin-top: 22px; color: #cceaff; font-size: .82rem; font-weight: 700; }

.site-footer { padding-top: 76px; color: #d7e0eb; background: #172438; }
.footer-grid { display: grid; grid-template-columns: 1.3fr .7fr .8fr 1.2fr; gap: 55px; padding-bottom: 56px; }
.brand--footer { color: white; }
.footer-intro { max-width: 300px; color: #9eb0c4; font-size: .87rem; }
.footer-grid h2 { margin-bottom: 20px; color: white; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.footer-grid > div:not(:first-child) a { display: block; margin: 8px 0; color: #becbd8; font-size: .82rem; }
.footer-grid > div:not(:first-child) a:hover { color: white; }
.footer-grid p { color: #9eb0c4; font-size: .82rem; }
.legal-row { display: flex; justify-content: space-between; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.12); }
.legal-row p { margin: 0; color: #8195aa; font-size: .68rem; }

.not-found { min-height: 72vh; display: grid; place-items: center; padding: 70px 0; text-align: center; background: var(--surface); }
.not-found img { margin: 0 auto 26px; border-radius: 50%; }
.not-found .eyebrow { text-align: center; }
.not-found h1 { font-size: clamp(2.8rem, 6vw, 5rem); }
.not-found > div > p:not(.eyebrow) { color: var(--slate); }
.not-found .button-row { justify-content: center; }
.text-link { color: var(--blue); font-weight: 750; }

