:root {
    --brand: #087cf0;
    --brand-600: #076bd1;
    --brand-700: #075cae;
    --brand-deep: #053f95;
    --ink: #101722;
    --ink-soft: #445064;
    --muted: #687386;
    --bg: #f6f9fc;
    --surface: #ffffff;
    --surface-soft: #eef7ff;
    --line: #dfe7ef;
    --success: #16845d;
    --warning: #a96a00;
    --shadow-sm: 0 10px 30px rgba(18, 53, 87, .08);
    --shadow-md: 0 24px 70px rgba(18, 53, 87, .13);
    --radius-sm: 14px;
    --radius-md: 22px;
    --radius-lg: 34px;
    --container: 1160px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    min-width: 320px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "DM Sans", sans-serif;
    color: var(--ink);
    background: var(--bg);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid rgba(23,159,253,.35); outline-offset: 3px; }
.container { width: min(var(--container), 90%); margin-inline: auto; }
.site-main { min-height: 60vh; }

/* Header */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid rgba(223,231,239,.88);
    background: rgba(246,249,252,.88);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.header-inner {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.brand-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    font-family: "Space Grotesk", sans-serif;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -.35px;
}
.brand-logo-frame {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    overflow: hidden;
    border-radius: 14px;
    background: var(--brand);
    box-shadow: 0 7px 18px rgba(23,159,253,.22);
}
.brand-logo-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.brand-text { white-space: nowrap; font-size:15px; letter-spacing:-.2px; }
.site-nav { display: flex; align-items: center; gap: 7px; }
.site-nav a {
    padding: 10px 13px;
    border-radius: 11px;
    color: var(--ink-soft);
    font-size: 14px;
    font-weight: 700;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.site-nav a:hover { background: #fff; color: var(--ink); transform: translateY(-1px); }
.site-nav a.active { background: var(--ink); color: #fff; }
.nav-toggle {
    display: none;
    width: 44px;
    height: 44px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #fff;
    cursor: pointer;
    align-items: center;
    justify-content: center;
}
.nav-toggle-lines { width: 18px; height: 14px; position: relative; }
.nav-toggle-lines::before,
.nav-toggle-lines::after,
.nav-toggle-lines span {
    content: "";
    position: absolute;
    left: 0;
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: var(--ink);
    transition: .2s ease;
}
.nav-toggle-lines::before { top: 0; }
.nav-toggle-lines span { top: 6px; }
.nav-toggle-lines::after { top: 12px; }

/* Typography and common UI */
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border: 1px solid #d9e8f4;
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    color: var(--brand-700);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .85px;
    text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 4px rgba(23,159,253,.10); }
.display-title, .section-title, h1, h2, h3 { font-family: "Space Grotesk", sans-serif; }
.display-title { font-size: clamp(46px, 6vw, 78px); line-height: .99; letter-spacing: -3.7px; }
.display-title .accent { color: var(--brand-600); }
.section-title { font-size: clamp(34px, 4.2vw, 54px); line-height: 1.04; letter-spacing: -2px; }
.lead { color: var(--muted); font-size: 18px; line-height: 1.8; }
.section-copy { color: var(--muted); font-size: 16px; }
.section-head { max-width: 720px; margin-bottom: 42px; }
.section-head .eyebrow { margin-bottom: 18px; }
.section-head .section-title { margin-bottom: 15px; }
.btn {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 19px;
    border: 1px solid transparent;
    border-radius: 13px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--ink); color: #fff; box-shadow: 0 10px 25px rgba(16,23,34,.14); }
.btn-primary:hover { background: #222d3d; }
.btn-brand { background: var(--brand); color: #fff; box-shadow: 0 11px 26px rgba(23,159,253,.24); }
.btn-brand:hover { background: var(--brand-600); }
.btn-secondary { background: #fff; border-color: var(--line); color: var(--ink); }
.btn-secondary:hover { border-color: #c6d5e2; box-shadow: var(--shadow-sm); }
.btn-disabled, .btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; pointer-events: none; box-shadow: none; }
.badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    background: #eaf8f2;
    color: var(--success);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .65px;
    text-transform: uppercase;
}
.badge.coming-soon { background: #fff5df; color: var(--warning); }

/* Home hero */
.home-hero { padding: 100px 0 92px; overflow: hidden; }
.home-hero-grid { display: grid; grid-template-columns: 1.04fr .96fr; align-items: center; gap: 70px; }
.home-hero-copy .eyebrow { margin-bottom: 24px; }
.home-hero-copy .lead { max-width: 670px; margin-top: 26px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero-note { margin-top: 18px; color: #8290a1; font-size: 12px; }
.hero-visual-wrap { position: relative; min-height: 520px; display: grid; place-items: center; }
.hero-orbit { position: absolute; width: 490px; height: 490px; border: 1px solid #dfeaf3; border-radius: 50%; }
.hero-orbit::before, .hero-orbit::after { content: ""; position: absolute; border-radius: 50%; border: 1px dashed #dfeaf3; }
.hero-orbit::before { inset: 55px; }
.hero-orbit::after { inset: 115px; }
.hero-product-card {
    position: relative;
    z-index: 2;
    width: min(430px, 100%);
    padding: 30px;
    border: 1px solid rgba(255,255,255,.98);
    border-radius: 34px;
    background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(244,249,253,.94));
    box-shadow: var(--shadow-md);
}
.hero-product-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.hero-brand-mini { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .8px; }
.hero-brand-mini .mini-logo { width: 34px; height: 34px; overflow: hidden; border-radius: 11px; background: var(--brand); }
.hero-brand-mini img { width: 100%; height: 100%; object-fit: cover; }
.hero-app-count { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; background: #eaf4fb; color: var(--brand-700); font-weight: 800; font-size: 13px; }
.hero-product-card h2 { font-size: 31px; line-height: 1.07; letter-spacing: -1.4px; margin-bottom: 11px; }
.hero-product-card > p { color: var(--muted); font-size: 14px; }

/* Single app explorer */
.app-explorer {
    margin-top: 27px;
    padding: 22px 16px 17px;
    border: 1px solid #dbe8f1;
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(235,247,255,.82), rgba(255,255,255,.97));
    box-shadow: inset 0 1px 0 #fff, 0 15px 36px rgba(23,94,145,.07);
}
.app-explorer-main { display: grid; grid-template-columns: 43px minmax(0, 1fr) 43px; align-items: center; gap: 13px; }
.app-explorer-btn {
    width: 43px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 14px;
    background: var(--brand);
    color: #fff;
    cursor: pointer;
    font-size: 25px;
    line-height: 1;
    box-shadow: 0 8px 20px rgba(23,159,253,.25);
    transition: .2s ease;
}
.app-explorer-btn:hover:not(:disabled) { transform: translateY(-2px); background: var(--brand-600); }
.app-explorer-btn:disabled { background: #e6edf2; color: #a9b6c3; cursor: default; box-shadow: none; }
.app-explorer-stage { min-width: 0; min-height: 119px; display: grid; place-items: center; }
.app-explorer-icon {
    width: 98px;
    height: 98px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 4px solid #fff;
    border-radius: 27px;
    background: linear-gradient(145deg, var(--brand), var(--brand-deep));
    color: #fff;
    font-family: "Space Grotesk", sans-serif;
    font-size: 23px;
    font-weight: 800;
    box-shadow: 0 18px 40px rgba(23,109,172,.24), 0 0 0 7px rgba(23,159,253,.09);
    transition: transform .25s ease, box-shadow .25s ease;
}
.app-explorer-icon:hover { transform: translateY(-5px) scale(1.055); box-shadow: 0 23px 46px rgba(23,109,172,.30), 0 0 0 8px rgba(23,159,253,.12); }
.app-explorer-icon img { width: 100%; height: 100%; object-fit: cover; border-radius: 23px; }
.app-explorer-name { margin-top: 14px; text-align: center; font-family: "Space Grotesk", sans-serif; font-size: 14px; font-weight: 800; }
.app-explorer-meta { margin-top: 5px; display: flex; justify-content: center; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; font-weight: 700; }
.app-explorer-meta::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 4px rgba(23,159,253,.10); }
.app-explorer-stage.slide-next { animation: appNext .34s ease; }
.app-explorer-stage.slide-prev { animation: appPrev .34s ease; }
@keyframes appNext { from { opacity:.2; transform:translateX(22px);} to {opacity:1; transform:none;} }
@keyframes appPrev { from { opacity:.2; transform:translateX(-22px);} to {opacity:1; transform:none;} }

/* Section layouts */
.section { padding: 100px 0; }
.section-white { background: #fff; }
.brand-story {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 64px;
    padding: 58px;
    border-radius: var(--radius-lg);
    background: var(--ink);
    color: #fff;
    box-shadow: var(--shadow-md);
}
.brand-story .eyebrow { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.12); color: #a9dcff; }
.brand-story h2 { font-size: clamp(34px, 4vw, 52px); line-height: 1.03; letter-spacing: -2px; }
.brand-story p { align-self: center; color: #bac5d1; font-size: 17px; line-height: 1.85; }
.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.value-card { padding: 28px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
.value-index { margin-bottom: 30px; color: #95a3b2; font-size: 11px; font-weight: 800; }
.value-card h3 { font-size: 20px; margin-bottom: 8px; }
.value-card p { color: var(--muted); font-size: 14px; }

/* App cards */
.apps-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.app-card {
    min-width: 0;
    min-height: 330px;
    display: flex;
    flex-direction: column;
    padding: 27px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: #fff;
    transition: transform .23s ease, box-shadow .23s ease, border-color .23s ease;
}
.app-card:hover { transform: translateY(-5px); border-color: #c8deee; box-shadow: var(--shadow-sm); }
.app-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 25px; }
.app-card-icon, .app-icon-fallback {
    width: 66px;
    height: 66px;
    display: grid;
    place-items: center;
    flex: 0 0 66px;
    overflow: hidden;
    border-radius: 19px;
    background: linear-gradient(145deg, var(--brand), var(--brand-deep));
    color: #fff;
    font-family: "Space Grotesk", sans-serif;
    font-weight: 800;
    box-shadow: 0 10px 25px rgba(23,159,253,.16);
}
.app-card-icon img { width: 100%; height: 100%; object-fit: cover; }
.app-card-category { color: #8794a3; font-size: 11px; font-weight: 800; letter-spacing: .55px; text-transform: uppercase; }
.app-card h3 { font-size: 21px; line-height: 1.22; letter-spacing: -.5px; margin-bottom: 11px; }
.app-card p { color: var(--muted); font-size: 14px; margin-bottom: 24px; }
.app-card-link { margin-top: auto; color: var(--brand-700); font-size: 13px; font-weight: 800; }
.app-card-link:hover { color: var(--brand-deep); }


/* Homepage app slider */
.home-apps-slider { margin-top: 4px; }
.home-apps-slider-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}
.home-apps-slider-count {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}
.home-apps-slider-controls { display: flex; gap: 8px; }
.home-apps-slider-btn {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    color: var(--ink);
    font-size: 18px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 7px 20px rgba(15, 71, 111, .05);
    transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
}
.home-apps-slider-btn:hover:not(:disabled) {
    transform: translateY(-2px);
    border-color: #b9d9ef;
    background: #eef9ff;
    color: var(--brand-deep);
}
.home-apps-slider-btn:disabled {
    opacity: .35;
    cursor: default;
    box-shadow: none;
}
.home-apps-slider-window { overflow: hidden; padding: 6px 2px 10px; }
.home-apps-slider-track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.home-apps-slider-track.slide-next { animation: homeAppsNext .30s ease; }
.home-apps-slider-track.slide-prev { animation: homeAppsPrev .30s ease; }
@keyframes homeAppsNext { from { opacity: .35; transform: translateX(22px); } to { opacity: 1; transform: none; } }
@keyframes homeAppsPrev { from { opacity: .35; transform: translateX(-22px); } to { opacity: 1; transform: none; } }

/* Featured app */
.featured-shell {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    align-items: center;
    gap: 58px;
    padding: 58px;
    border: 1px solid #cfe6f5;
    border-radius: 34px;
    background: linear-gradient(135deg, #eaf7ff, #fff 67%);
    box-shadow: var(--shadow-sm);
}
.featured-visual { min-height: 250px; display: grid; place-items: center; position: relative; }
.featured-visual::before { content: ""; position: absolute; width: 230px; height: 230px; border-radius: 50%; border: 1px dashed #b7def8; }
.featured-icon-link {
    position: relative;
    z-index: 2;
    width: 170px;
    height: 170px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 6px solid #fff;
    border-radius: 42px;
    background: linear-gradient(145deg, var(--brand), var(--brand-deep));
    color: #fff;
    font-family: "Space Grotesk", sans-serif;
    font-size: 34px;
    font-weight: 800;
    box-shadow: 0 28px 60px rgba(14,103,168,.23);
    transition: .25s ease;
}
.featured-icon-link:hover { transform: translateY(-6px) scale(1.035); }
.featured-icon-link img { width: 100%; height: 100%; object-fit: cover; border-radius: 36px; }
.featured-content .eyebrow { margin-bottom: 17px; }
.featured-content h2 { font-size: clamp(34px,4vw,49px); line-height:1.05; letter-spacing:-1.9px; margin-bottom: 14px; }
.featured-content p { color: var(--muted); max-width: 650px; }
.featured-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 25px; }

/* Store / CTA */
.store-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.store-card { display: flex; align-items: center; gap: 18px; padding: 25px; border: 1px solid var(--line); border-radius: 23px; background: #fff; transition:.2s ease; }
.store-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-sm); }
.store-mark { width: 60px; height: 60px; flex: 0 0 60px; display:grid; place-items:center; border-radius:17px; background:var(--ink); color:#fff; font-size:23px; font-weight:800; }
.store-card h3 { font-size: 19px; margin-bottom: 2px; }
.store-card p { color: var(--muted); font-size: 13px; }
.cta-panel { padding: 72px 40px; border-radius: 34px; background: linear-gradient(135deg, var(--brand-700), var(--brand)); color:#fff; text-align:center; box-shadow: 0 24px 70px rgba(23,159,253,.20); }
.cta-panel h2 { font-size: clamp(35px,4vw,52px); line-height:1.03; letter-spacing:-2px; }
.cta-panel p { max-width: 680px; margin: 14px auto 26px; color:#e6f5ff; }
.cta-panel .btn { background:#fff; color:var(--brand-deep); }

/* Apps page */
.page-hero { padding: 92px 0 72px; }
.page-hero .eyebrow { margin-bottom: 20px; }
.page-hero h1 { max-width: 860px; font-size: clamp(44px,5vw,68px); line-height:1; letter-spacing:-3px; }
.page-hero p { max-width: 710px; margin-top: 20px; color:var(--muted); font-size:17px; }
.filter-row { display:flex; flex-wrap:wrap; gap:9px; margin: 0 0 30px; }
.filter-btn { min-height:40px; padding:0 13px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink-soft); cursor:pointer; font-size:12px; font-weight:800; }
.filter-btn.active { background:var(--ink); color:#fff; border-color:var(--ink); }

/* App detail */
.app-detail-hero { padding: 88px 0 76px; }
.app-detail-grid { display:grid; grid-template-columns: 190px minmax(0,1fr); gap:48px; align-items:center; }
.app-detail-icon { width: 180px; height:180px; display:grid; place-items:center; overflow:hidden; border-radius:44px; background:linear-gradient(145deg,var(--brand),var(--brand-deep)); color:#fff; font: 800 34px "Space Grotesk",sans-serif; box-shadow:var(--shadow-md); border:6px solid #fff; }
.app-detail-icon img { width:100%; height:100%; object-fit:cover; border-radius:38px; }
.app-detail-copy .badge { margin-bottom:15px; }
.app-detail-copy h1 { font-size: clamp(42px,5vw,66px); line-height:1; letter-spacing:-2.8px; margin-bottom:16px; }
.app-detail-copy p { max-width:780px; color:var(--muted); font-size:17px; }
.app-detail-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:25px; }
.store-button { min-height:54px; padding:0 17px; display:inline-flex; align-items:center; gap:11px; border-radius:14px; background:var(--ink); color:#fff; font-size:13px; font-weight:800; transition:.2s ease; }
.store-button:hover { transform:translateY(-2px); background:#222d3d; }
.store-button.secondary { background:#fff; color:var(--ink); border:1px solid var(--line); }
.store-button.secondary:hover { border-color:#c6d5e2; }
.store-icon { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; background:rgba(255,255,255,.1); }
.store-button.secondary .store-icon { background:#f1f5f8; }
.detail-grid { display:grid; grid-template-columns: 1fr 1fr; gap:18px; }
.detail-card { padding:30px; border:1px solid var(--line); border-radius:24px; background:#fff; }
.detail-card h2 { font-size:25px; margin-bottom:12px; }
.detail-card p { color:var(--muted); }
.feature-list { list-style:none; display:grid; gap:12px; margin-top:18px; }
.feature-list li { position:relative; padding-left:28px; color:var(--ink-soft); }
.feature-list li::before { content:"✓"; position:absolute; left:0; top:0; width:19px; height:19px; display:grid; place-items:center; border-radius:50%; background:#e7f6ff; color:var(--brand-700); font-size:11px; font-weight:900; }
.coming-soon-panel { padding:36px; border:1px solid #f0ddb5; border-radius:26px; background:linear-gradient(135deg,#fff8e8,#fff); }
.coming-soon-panel h2 { font-size:30px; margin:12px 0 10px; }
.coming-soon-panel p { color:var(--muted); }
.coming-soon-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:23px; }

/* About */
.about-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:60px; }
.about-logo-card { min-height:420px; display:grid; place-items:center; border-radius:34px; background:linear-gradient(145deg,#e8f6ff,#fff); border:1px solid #d7eaf7; position:relative; overflow:hidden; }
.about-logo-card::before { content:""; position:absolute; width:340px; height:340px; border:1px dashed #acd9f6; border-radius:50%; }
.about-logo { position:relative; z-index:2; width:230px; height:230px; overflow:hidden; border-radius:50px; box-shadow:var(--shadow-md); }
.about-logo img { width:100%; height:100%; object-fit:cover; }
.principles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.principle-card { padding:29px; background:#fff; border:1px solid var(--line); border-radius:23px; }
.principle-card h3 { font-size:20px; margin:20px 0 7px; }
.principle-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; background:#eaf7ff; color:var(--brand-700); font-weight:900; }
.principle-card p { color:var(--muted); font-size:14px; }

/* Support */
.support-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:22px; }
.support-card { padding:34px; border:1px solid var(--line); border-radius:26px; background:#fff; }
.support-card h2 { font-size:28px; margin-bottom:10px; }
.support-card p { color:var(--muted); }
.contact-email { display:inline-flex; margin-top:19px; color:var(--brand-700); font-weight:800; }
.support-directory-card { align-self:stretch; }
.support-selector { display:grid; gap:11px; margin-top:22px; }
.support-selector label { color:var(--ink); font-size:12px; font-weight:800; }
.support-selector select {
    width:100%;
    min-height:50px;
    padding:0 14px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fbfdff;
    color:var(--ink);
    cursor:pointer;
}
.support-selector select:focus { border-color:#8fcdf5; }
.support-selector .btn { justify-self:start; margin-top:2px; }
.support-selector .btn:disabled { opacity:.45; cursor:not-allowed; transform:none; }
.support-selector-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:2px; }
.support-selector-actions .btn { margin-top:0; }
.support-selector-note { margin-top:14px; font-size:12px; line-height:1.65; }

/* App Store coming soon */
.coming-hero { padding: 92px 0 88px; }
.coming-shell { display:grid; grid-template-columns:1fr .9fr; gap:58px; align-items:center; padding:58px; border-radius:36px; background:linear-gradient(135deg,#0b1523,#17283d); color:#fff; box-shadow:var(--shadow-md); overflow:hidden; }
.coming-shell .eyebrow { color:#b8e3ff; background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.12); }
.coming-shell h1 { font-size:clamp(44px,5vw,68px); line-height:1; letter-spacing:-3px; margin:20px 0 16px; }
.coming-shell p { color:#b9c8d8; font-size:17px; }
.coming-visual { min-height:360px; display:grid; place-items:center; position:relative; }
.coming-visual::before { content:""; position:absolute; width:320px; height:320px; border:1px dashed rgba(255,255,255,.18); border-radius:50%; }
.coming-visual-icon { position:relative; z-index:2; width:160px; height:160px; display:grid; place-items:center; border-radius:40px; background:#fff; color:#101722; font-size:68px; box-shadow:0 25px 60px rgba(0,0,0,.22); }

/* Legal pages */
.legal-page .site-main { background:#f7fafc; }
.privacy-hero, .terms-hero, .legal-page .hero { padding:72px 0 45px; }
.privacy-hero .container, .terms-hero .container, .legal-page .hero .container { max-width:900px; }
.privacy-hero .eyebrow, .terms-hero .eyebrow, .legal-page .hero .eyebrow { margin-bottom:17px; }
.privacy-hero h1, .terms-hero h1, .legal-page .hero h1 { font-size:clamp(40px,5vw,60px); line-height:1.04; letter-spacing:-2.4px; }
.privacy-hero p, .terms-hero p, .legal-page .hero p { max-width:760px; margin-top:14px; color:var(--muted); }
.updated { display:inline-flex; margin-top:16px; padding:6px 10px; border-radius:999px; background:#eaf4fb; color:var(--brand-700); font-size:11px; font-weight:800; }
.policy-section, .terms-section, .deletion-section { padding:10px 0 90px; }
.policy-layout, .terms-layout, .deletion-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:26px; align-items:start; }
.policy-nav, .terms-nav, .contents-card { position:sticky; top:98px; padding:20px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow-sm); }
.policy-nav strong, .terms-nav strong, .contents-card h2 { display:block; font-size:13px; margin-bottom:12px; }
.policy-nav a, .terms-nav a, .contents-list a { display:block; padding:6px 0; color:var(--muted); font-size:12px; font-weight:700; }
.policy-nav a:hover, .terms-nav a:hover, .contents-list a:hover { color:var(--brand-700); }
.contents-list { list-style:none; display:grid; gap:4px; }
.policy-content, .terms-content, .deletion-content { min-width:0; display:grid; gap:16px; }
.policy-card, .terms-card, .deletion-card { padding:28px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.policy-card h2, .terms-card h2, .deletion-card h2 { font-size:24px; margin-bottom:11px; }
.policy-card h3, .terms-card h3, .deletion-card h3 { font-size:18px; margin:19px 0 8px; }
.policy-card p, .terms-card p, .deletion-card p { color:var(--ink-soft); margin-top:10px; }
.policy-card ul, .policy-card ol, .terms-card ul, .terms-card ol, .deletion-card ul, .deletion-card ol { margin:12px 0 0 22px; color:var(--ink-soft); }
.policy-card li, .terms-card li, .deletion-card li { margin:6px 0; }
.policy-card a, .terms-card a, .deletion-card a { color:var(--brand-700); text-decoration:underline; text-underline-offset:3px; }
.provider-list { display:grid; gap:9px; margin-top:15px; }
.provider { display:flex; justify-content:space-between; gap:15px; align-items:center; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:#fbfdff; }
.provider span { font-weight:800; }
.provider a { font-size:12px; }
.email-box { margin-top:16px; padding:16px; border:1px solid #cbe6f6; border-radius:14px; background:#eef9ff; }
.email-label { display:block; color:var(--muted); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; }
.email-box a { display:inline-block; margin-top:4px; font-weight:800; }

/* 404 */
.not-found { min-height:68vh; display:grid; place-items:center; padding:80px 0; text-align:center; }
.not-found-card { max-width:650px; padding:50px; border:1px solid var(--line); border-radius:30px; background:#fff; box-shadow:var(--shadow-sm); }
.not-found-code { color:var(--brand); font:800 72px/1 "Space Grotesk",sans-serif; }
.not-found h1 { font-size:34px; margin:12px 0; }
.not-found p { color:var(--muted); margin-bottom:24px; }

/* Footer */
.site-footer { background:#0f1722; color:#aebbc9; padding:64px 0 28px; }
.footer-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:70px; padding-bottom:42px; }
.footer-brand-row { display:flex; align-items:center; gap:13px; color:#fff; font-family:"Space Grotesk",sans-serif; font-weight:800; font-size:20px; }
.footer-brand-row .brand-logo-frame { width:46px; height:46px; flex-basis:46px; }
.footer-legal-name { margin-top:15px; color:#d3dbe4; font-size:13px; }
.footer-copy { max-width:470px; margin-top:8px; font-size:13px; }
.footer-contact { margin-top:18px; display:grid; gap:5px; font-size:13px; }
.footer-contact a { color:#d7eafe; }
.footer-right { display:grid; gap:28px; align-content:start; }
.footer-links { display:grid; grid-template-columns:repeat(2,minmax(130px,1fr)); gap:12px 30px; align-content:start; }
.footer-links a { font-size:13px; color:#aebbc9; }
.footer-links a:hover { color:#fff; }
.footer-social-wrap { margin-top:0; }
.footer-social-label { margin-bottom:10px; color:#7e8b98; font-size:10px; font-weight:800; letter-spacing:.9px; text-transform:uppercase; }
.footer-social { display:flex; flex-wrap:wrap; gap:9px; }
.social-button {
    width:40px;
    height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid #2b394a;
    border-radius:11px;
    background:#192330;
    color:#cbd7e2;
    transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.social-button svg { width:18px; height:18px; fill:currentColor; }
a.social-button:hover { transform:translateY(-3px); background:#fff; color:#171916; border-color:#fff; }
.social-button.is-disabled { opacity:.42; cursor:default; }
.footer-bottom { padding-top:22px; border-top:1px solid #273342; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:11px; color:#7e8b98; }

/* Responsive */
@media (max-width: 980px) {
    .home-hero-grid, .about-hero-grid, .coming-shell { grid-template-columns:1fr; }
    .home-hero { padding-top:78px; }
    .hero-visual-wrap { min-height:480px; }
    .hero-orbit { width:430px; height:430px; }
    .apps-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .home-apps-slider-track { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .brand-story, .featured-shell { grid-template-columns:1fr; }
    .value-grid, .principles-grid { grid-template-columns:repeat(2,1fr); }
    .support-grid { grid-template-columns:1fr; }
    .policy-layout, .terms-layout, .deletion-layout { grid-template-columns:1fr; }
    .policy-nav, .terms-nav, .contents-card { position:static; }
    .contents-list { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; }
    .footer-grid { grid-template-columns:1fr; gap:38px; }
}

@media (max-width: 760px) {
    .container { width:92%; }
    .header-inner { min-height:70px; }
    .brand-text { max-width:220px; white-space:normal; font-size:12px; line-height:1.2; }
    .brand-logo-frame { width:40px; height:40px; flex-basis:40px; }
    .nav-toggle { display:flex; }
    .site-nav {
        position:absolute;
        top:70px;
        left:4%;
        right:4%;
        display:none;
        padding:11px;
        border:1px solid var(--line);
        border-radius:16px;
        background:#fff;
        box-shadow:var(--shadow-md);
    }
    .site-nav.open { display:grid; gap:5px; }
    .site-nav a { width:100%; padding:11px 12px; }
    .display-title { font-size:clamp(44px,14vw,62px); letter-spacing:-2.7px; }
    .home-hero { padding:67px 0 64px; }
    .home-hero-grid { gap:44px; }
    .hero-visual-wrap { min-height:430px; }
    .hero-orbit { width:330px; height:330px; }
    .hero-product-card { width:min(380px,100%); padding:24px 20px; }
    .hero-product-card h2 { font-size:27px; }
    .app-explorer { padding:18px 10px 14px; }
    .app-explorer-main { grid-template-columns:36px minmax(0,1fr) 36px; gap:8px; }
    .app-explorer-btn { width:36px; height:42px; }
    .app-explorer-icon { width:88px; height:88px; border-radius:24px; }
    .section { padding:76px 0; }
    .brand-story { padding:38px 26px; gap:25px; }
    .apps-grid, .value-grid, .principles-grid, .store-grid, .detail-grid { grid-template-columns:1fr; }
    .home-apps-slider-track { grid-template-columns:1fr; }
    .featured-shell { padding:38px 24px; gap:32px; }
    .featured-visual { min-height:215px; }
    .featured-icon-link { width:145px; height:145px; border-radius:36px; }
    .page-hero { padding:67px 0 52px; }
    .page-hero h1 { letter-spacing:-2.2px; }
    .app-detail-grid { grid-template-columns:1fr; gap:28px; }
    .app-detail-icon { width:145px; height:145px; border-radius:37px; }
    .app-detail-hero { padding:64px 0 56px; }
    .support-card { padding:27px; }
    .about-logo-card { min-height:330px; }
    .about-logo { width:190px; height:190px; border-radius:42px; }
    .coming-shell { padding:38px 25px; gap:30px; }
    .coming-visual { min-height:260px; }
    .coming-visual-icon { width:130px; height:130px; font-size:55px; border-radius:34px; }
    .privacy-hero, .terms-hero, .legal-page .hero { padding:55px 0 32px; }
    .policy-card, .terms-card, .deletion-card { padding:22px; }
    .contents-list { grid-template-columns:1fr; }
    .footer-links { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 430px) {
    .hero-actions, .featured-actions, .coming-soon-actions, .app-detail-actions { display:grid; }
    .hero-actions .btn, .featured-actions .btn, .coming-soon-actions .btn, .app-detail-actions .store-button { width:100%; }
    .app-explorer-main { grid-template-columns:34px minmax(0,1fr) 34px; gap:6px; }
    .app-explorer-btn { width:34px; }
    .app-explorer-icon { width:82px; height:82px; }
    .footer-links { grid-template-columns:1fr; }
    .footer-bottom { display:block; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

/* Additional legal-content compatibility */
.legal-page .back-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 18px;
    color: var(--brand-700);
    font-size: 12px;
    font-weight: 800;
}
.privacy-section { padding: 10px 0 90px; }
.privacy-layout {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 26px;
    align-items: start;
}
.toc {
    position: sticky;
    top: 98px;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--shadow-sm);
}
.toc h2 { font-size: 13px; margin-bottom: 12px; }
.toc-links { display: grid; gap: 4px; }
.toc-links a {
    display: block;
    padding: 6px 0;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}
.toc-links a:hover { color: var(--brand-700); }
.notice, .info-box, .contact-box, .contact-card {
    margin-top: 16px;
    padding: 18px;
    border: 1px solid #cbe6f6;
    border-radius: 15px;
    background: #eef9ff;
}
.notice strong, .info-box strong, .contact-box strong, .contact-card strong { color: var(--ink); }
.contact-button, .deletion-button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 14px;
    padding: 0 15px;
    border-radius: 12px;
    background: var(--ink);
    color: #fff !important;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none !important;
}
.table-wrap {
    width: 100%;
    overflow-x: auto;
    margin-top: 16px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
}
.legal-page table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
    font-size: 12px;
}
.legal-page th, .legal-page td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
}
.legal-page th { background: #f2f7fb; color: var(--ink); font-weight: 800; }
.legal-page td { color: var(--ink-soft); }
.legal-page p, .legal-page li, .legal-page a { overflow-wrap: anywhere; }
.brand-logo-frame img { transform: scale(1.25); }

@media (max-width: 980px) {
    .privacy-layout { grid-template-columns: 1fr; }
    .toc { position: static; }
    .toc-links { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
}

@media (max-width: 760px) {
    .toc-links { grid-template-columns: 1fr; }
    .provider { align-items: flex-start; flex-direction: column; }
}

/* Prevent wide legal tables from expanding the page on small screens */
.policy-content > *, .terms-content > *, .deletion-content > * {
    min-width: 0;
    max-width: 100%;
}
.policy-card, .terms-card, .deletion-card, .contact-card {
    min-width: 0;
    max-width: 100%;
}
.table-wrap {
    max-width: 100%;
}

/* Coming-soon store buttons: visible on unreleased apps without fake/broken links. */
.store-button.is-disabled {
    cursor: default;
    opacity: .72;
    pointer-events: none;
}
.store-button.is-disabled:hover {
    transform: none;
    background: #fff;
    border-color: var(--line);
}


/* Responsive legal tables: stack rows into readable cards on small screens. */
@media (max-width: 760px) {
    .legal-page .table-wrap {
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .legal-page table.responsive-legal-table {
        display: block;
        width: 100%;
        min-width: 0;
        table-layout: auto;
        border-collapse: separate;
        font-size: 12px;
    }

    .legal-page table.responsive-legal-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
        border: 0;
    }

    .legal-page table.responsive-legal-table tbody {
        display: grid;
        gap: 12px;
        width: 100%;
    }

    .legal-page table.responsive-legal-table tr {
        display: block;
        width: 100%;
        overflow: hidden;
        border: 1px solid var(--line);
        border-radius: 14px;
        background: #fff;
    }

    .legal-page table.responsive-legal-table td {
        display: grid;
        grid-template-columns: minmax(92px, 34%) minmax(0, 1fr);
        gap: 10px;
        width: 100%;
        padding: 11px 12px;
        border-bottom: 1px solid var(--line);
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .legal-page table.responsive-legal-table td:last-child {
        border-bottom: 0;
    }

    .legal-page table.responsive-legal-table td::before {
        content: attr(data-label);
        color: var(--ink);
        font-weight: 800;
        line-height: 1.45;
    }

    .legal-page table.responsive-legal-table td:empty::after {
        content: "—";
        color: var(--muted);
    }

    .legal-page table.responsive-legal-table a {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
    #siteHeader img[src="/assets/brand/cell-cave-logo.png"] {
    width: 50px !important;
    height: 50px !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 8px !important;
}
}

/* September 2026: light surfaces, colorful accents, and a dark glass frame. */
:root {
    --ink: #18233b;
    --ink-soft: #46536b;
    --muted: #59677c;
    --bg: #f5f6fa;
    --line: #e1e5ee;
    --surface-soft: #eef3ff;
    --shadow-sm: 0 8px 28px rgba(34, 48, 88, .06);
    --shadow-md: 0 24px 64px rgba(34, 48, 88, .12);
    --radius-md: 26px;
    --radius-lg: 36px;
}
body { background: var(--bg); }
.display-title, .section-title, h1, h2, h3, .brand-link, .footer-brand-row {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "DM Sans", sans-serif;
}
.site-header {
    background: rgba(21, 29, 49, .96);
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 4px 24px rgba(20,27,45,.12);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}
.header-inner { min-height: 80px; }
.brand-link { color: #fff; }
.brand-logo-frame { border-radius: 14px; box-shadow: 0 4px 16px #0002; }
.site-nav a { color: #d5dcec; font-weight: 600; border-radius: 999px; padding-inline: 18px; }
.site-nav a:hover { background: #ffffff16; color: #fff; }
.site-nav a.active { background: #fff; color: #1c2944; box-shadow: 0 3px 12px #0002; }
.nav-toggle { background: #ffffff10; border-color: #ffffff30; flex-shrink: 0; }
.nav-toggle-lines::before, .nav-toggle-lines::after, .nav-toggle-lines span { background: #fff; }
.home-hero {
    position: relative;
    background: radial-gradient(ellipse at 88% 30%, #ddd8ff 0, transparent 43%),
                radial-gradient(ellipse at 7% 0%, #d9edff 0, transparent 48%), #f6f8fc;
}
.home-hero-grid { gap: 52px; }
.display-title { font-weight: 750; line-height: 1.06; letter-spacing: -.058em; }
.display-title .accent { color: #126ce0; }
.home-hero-copy .lead { font-size: 17px; line-height: 1.75; }
.eyebrow { background: #ffffffb8; border-color: #dce3f1; color: #245d9c; letter-spacing: .09em; }
.hero-note { color: #5c6980; }
.hero-orbit { border-color: #c9ceec; }
.hero-orbit::before, .hero-orbit::after { border-color: #c9ceec; }
.hero-product-card {
    border: 1px solid #ffffff;
    border-radius: 38px;
    background: linear-gradient(145deg,#ffffffed,#f4f2ffeb);
    box-shadow: 0 30px 80px #53489920, inset 0 1px 0 #fff;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}
.hero-product-card h2 { letter-spacing: -.04em; }
.hero-app-count { background: #e9e5ff; color: #6240a5; }
.app-explorer { border-radius: 26px; background: #ffffffbc; border-color: #e8e6f5; }
.app-explorer-icon { box-shadow: 0 14px 32px #49528020; }
.app-explorer-btn, .home-apps-slider-btn { border-radius: 50%; background: #fff; border-color: #dde2ef; color: #265ba9; }
.app-explorer-btn:hover, .home-apps-slider-btn:hover { background: #eaf1ff; }
.btn { border-radius: 999px; font-weight: 650; min-height: 48px; }
.btn-primary, .btn-brand { background: #086de2; color: #fff; box-shadow: 0 7px 18px #086de22a; }
.btn-primary:hover, .btn-brand:hover { background: #0759bb; }
.btn-secondary { background: #ffffffd9; border-color: #dbe1ed; box-shadow: 0 3px 9px #26375905; }
.section-white { background: #fff; }
.brand-story { border-radius: 32px; background: linear-gradient(120deg,#eaf3ff,#f3edff); border-color: #e1e6f4; }
.app-card, .value-card, .principle-card, .detail-card, .store-card, .support-card {
    border-radius: 28px;
    border-color: #e4e7ef;
    box-shadow: 0 6px 24px #25366406;
}
.app-card { background: linear-gradient(145deg,#fff 66%,#eef4ff); }
.app-card:nth-child(3n+2) { background: linear-gradient(145deg,#fff 66%,#f2ecff); }
.app-card:nth-child(3n) { background: linear-gradient(145deg,#fff 66%,#e7f7ef); }
.app-card:hover { box-shadow: 0 16px 36px #26396412; border-color: #bccff0; transform: translateY(-4px); }
.app-card-category { color: #5c687e; }
.app-card h3 { font-size: 22px; font-weight: 700; line-height: 1.2; }
.app-card-icon, .app-icon-fallback { border-radius: 22px; }
.value-card:nth-child(1), .principle-card:nth-child(1) { background: #edf5ff; }
.value-card:nth-child(2), .principle-card:nth-child(2) { background: #f3eeff; }
.value-card:nth-child(3), .principle-card:nth-child(3) { background: #edf8f2; }
.value-index, .principle-icon { background: #fff; color: #376baf; border-radius: 16px; }
.badge { background: #def3e9; color: #146345; }
.badge.coming-soon { background: #fff0d8; color: #805211; }
.featured-shell { border-radius: 36px; background: linear-gradient(130deg,#e8f1ff,#ede8ff 60%,#f8edf4); border-color: #dce4f4; }
.featured-visual { background: #ffffff66; border-radius: 28px; }
.cta-panel { background: linear-gradient(120deg,#e2eeff,#ece5ff 62%,#fae8ef); color: var(--ink); box-shadow: none; border: 1px solid #e0dff1; }
.cta-panel p { color: #53617a; }
.cta-panel .btn { background: #086de2; color: #fff; }
.page-hero, .app-detail-hero { background: linear-gradient(125deg,#edf5ff,#f4efff 72%,#fcf2f6); }
.filter-row { gap: 8px; }
.filter-btn { font-weight: 650; min-height: 44px; padding-inline: 17px; }
.filter-btn.active { background: #086de2; border-color: #086de2; box-shadow: 0 5px 12px #086de224; }
.privacy-hero, .terms-hero { background: linear-gradient(120deg,#edf4ff,#f4f0ff); margin-bottom: 28px; }
.legal-meta { margin-top: 22px; }
.updated { background: #fff; color: #365f8e; border: 1px solid #dce4f0; }
.policy-card, .terms-card, .deletion-card { border-radius: 24px; box-shadow: 0 3px 16px #25366404; }
.contents-card, .policy-nav, .terms-nav, .toc { border-radius: 24px; }
.policy-card, .terms-card, .deletion-card, .contact-card { scroll-margin-top: 100px; }
.contents-card a { line-height: 1.5; }
.site-footer { background: linear-gradient(125deg,#141d31,#20243d); color: #c0c9d8; border-top: 1px solid #30394e; }
.footer-links a { color: #c9d3e3; }
.footer-brand-row { font-size: 18px; line-height: 1.4; }
.footer-social-label, .footer-bottom { color: #a7b3c7; }
.footer-bottom { border-color: #ffffff20; }
:focus-visible { outline: 3px solid #578bfa; outline-offset: 4px; }
@media (min-width:981px) {
    .contents-card, .policy-nav, .terms-nav, .toc { max-height: calc(100dvh - 125px); overflow-y: auto; }
}
@media (max-width:760px) {
    .header-inner { min-height: 72px; gap: 12px; }
    .brand-text { font-size: 11px; max-width: 190px; }
    .site-nav { top: 78px; background: #202c43; border-color: #ffffff25; border-radius: 23px; }
    .site-nav a { border-radius: 14px; }
    .display-title { font-size: clamp(42px, 11.7vw, 62px); letter-spacing: -.055em; }
    .home-hero { padding: 54px 0; }
    .home-hero-grid { gap: 34px; }
    .hero-visual-wrap { min-height: 420px; }
    .hero-product-card { border-radius: 32px; }
    .section { padding: 54px 0; }
    .section-title { font-size: 35px; letter-spacing: -.04em; }
    .cta-panel { padding: 42px 24px; border-radius: 28px; }
    .cta-panel h2 { font-size: 33px; letter-spacing: -.04em; }
    .app-card, .value-card, .principle-card, .detail-card { border-radius: 25px; }
    .footer-brand-row { font-size: 15px; }
    .footer-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .footer-links a { min-height: 32px; display: flex; align-items: center; }
}
/* Home: What We Build — About: Our Focus */
.brand-story {
  color: #1e293b;
}

.brand-story h2 {
  color: #1e293b;
}

.brand-story p {
  color: #475569;
}

.brand-story .eyebrow {
  color: #075985;
  background: #e0f2fe;
  border-color: #bae6fd;
}
