:root {
  --bg: #f5f8f7;
  --bg-soft: #e8f6f4;
  --card: #ffffff;
  --text: #16313b;
  --muted: #607780;
  --accent: #16afa8;
  --accent-dark: #128f8a;
  --aqua: #55d5ca;
  --navy: #123747;
  --border: #d8e5e5;
  --shadow: 0 18px 50px rgba(18,55,71,.10);
  --radius: 24px;
  --max: 1080px;
  --font: "Plus Jakarta Sans", "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--font); background: var(--bg); color: var(--text); line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display:block; }
a { color: var(--accent-dark); text-decoration: none; }
a:hover { text-decoration: underline; }
.site-header { position: sticky; top:0; z-index:20; backdrop-filter: blur(14px); background: rgba(245,248,247,.9); border-bottom:1px solid rgba(216,229,229,.8); }
.site-header-inner { max-width:var(--max); margin:0 auto; padding:14px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:flex; align-items:center; gap:10px; color:var(--navy); font-weight:800; }
.brand:hover { text-decoration:none; }
.brand img { width:36px; height:36px; }
.nav { display:flex; gap:20px; flex-wrap:wrap; }
.nav a { color:var(--muted); font-weight:600; font-size:.95rem; }
.hero { overflow:hidden; background: radial-gradient(ellipse 75% 65% at 20% 15%, rgba(85,213,202,.32), transparent 58%), radial-gradient(ellipse 65% 60% at 90% 30%, rgba(22,175,168,.16), transparent 52%), linear-gradient(180deg,#eef8f6 0%,var(--bg) 82%); }
.hero-inner { max-width:var(--max); min-height:650px; margin:0 auto; padding:80px 24px 64px; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:60px; }
.eyebrow,.section-kicker { margin:0 0 12px; color:var(--accent-dark); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.hero h1 { margin:0 0 22px; font-size:clamp(2.8rem,6vw,5.3rem); line-height:1.02; letter-spacing:-.055em; color:var(--navy); }
.hero h1 span { color:var(--accent); }
.hero-lead { max-width:620px; margin:0 0 30px; color:var(--muted); font-size:1.22rem; }
.cta-row,.card-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.button { display:inline-flex; align-items:center; justify-content:center; padding:13px 20px; border-radius:999px; background:var(--accent); color:#fff; border:1px solid transparent; font-weight:750; box-shadow:0 9px 22px rgba(22,175,168,.22); transition:.2s ease; }
.button:hover { text-decoration:none; background:var(--accent-dark); transform:translateY(-1px); }
.button-secondary { background:#fff; color:var(--navy); border-color:var(--border); box-shadow:none; }
.button-secondary:hover { background:var(--bg-soft); }
.button-disabled { background:#e6eeee; color:#789097; box-shadow:none; cursor:default; }
.button-disabled:hover { background:#e6eeee; transform:none; }
.hero-mark { display:flex; align-items:center; justify-content:center; }
.mark-card { width:min(330px,72vw); aspect-ratio:1; border-radius:32%; background:linear-gradient(145deg,#fff,rgba(255,255,255,.72)); border:1px solid rgba(255,255,255,.9); box-shadow:0 35px 80px rgba(18,55,71,.14); display:grid; place-items:center; transform:rotate(4deg); }
.mark-card img { width:58%; filter:drop-shadow(0 12px 20px rgba(18,55,71,.12)); }
.section { max-width:var(--max); margin:0 auto; padding:80px 24px; }
.section-head { max-width:680px; margin-bottom:34px; }
.section h2 { margin:0 0 12px; color:var(--navy); font-size:clamp(2rem,4vw,3rem); line-height:1.12; letter-spacing:-.035em; }
.section-head > p:last-child,.about-grid p,.future-panel p,.education-card p { color:var(--muted); margin-bottom:0; }
.app-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.app-card { background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:28px; box-shadow:0 8px 30px rgba(18,55,71,.06); display:flex; flex-direction:column; gap:24px; }
.app-card.featured { grid-column:1/-1; display:grid; grid-template-columns:180px 1fr; align-items:center; padding:34px; }
.app-icon-wrap { width:112px; height:112px; border-radius:25px; background:var(--bg-soft); display:grid; place-items:center; overflow:hidden; }
.featured .app-icon-wrap { width:160px; height:160px; border-radius:34px; }
.app-icon { width:100%; height:100%; object-fit:cover; }
.tub-icon { background:linear-gradient(145deg,#dff6f4,#bceae5); }
.tub-icon svg { width:62%; fill:none; stroke:var(--accent-dark); stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round; }
.status-row { display:flex; gap:12px; align-items:center; flex-wrap:wrap; color:var(--muted); font-size:.85rem; font-weight:650; }
.status { display:inline-flex; width:max-content; align-items:center; padding:7px 11px; border-radius:999px; font-size:.78rem; font-weight:800; }
.status-live { background:#e7f7ed; color:#23784b; }
.status-soon { background:#eef1f8; color:#52627a; }
.app-card h3 { margin:10px 0 10px; color:var(--navy); font-size:1.55rem; letter-spacing:-.02em; }
.app-card p { margin:0 0 22px; color:var(--muted); }
.text-link { font-weight:750; }
.alt-section { padding-top:20px; }
.future-panel { border-radius:var(--radius); padding:42px; background:linear-gradient(135deg,var(--navy),#17495e); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:40px; box-shadow:var(--shadow); }
.future-panel h2 { color:#fff; }
.future-panel p { color:#d7e8ed; max-width:670px; }
.future-panel .section-kicker { color:var(--aqua); }
.future-dots { display:flex; gap:9px; flex:none; }
.future-dots span { width:16px; height:16px; border-radius:50%; background:var(--aqua); opacity:.9; }
.future-dots span:nth-child(2) { opacity:.6; }
.future-dots span:nth-child(3) { opacity:.3; }
.about-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:46px; align-items:start; }
.publisher-card { background:#fff; border:1px solid var(--border); border-radius:20px; padding:26px; box-shadow:0 8px 28px rgba(18,55,71,.05); }
.publisher-label { display:block; color:var(--muted); text-transform:uppercase; font-size:.72rem; font-weight:800; letter-spacing:.08em; margin-bottom:6px; }
.publisher-card strong { font-size:1.1rem; color:var(--navy); }
.publisher-card p { margin:8px 0 0; font-size:.92rem; }
.education-section { padding-top:0; }
.education-card { display:flex; justify-content:space-between; align-items:center; gap:30px; background:linear-gradient(135deg,#fff,#f0f7f6); border:1px solid var(--border); border-radius:var(--radius); padding:34px; }
.education-card div { max-width:720px; }
.education-card h2 { font-size:clamp(1.65rem,3vw,2.25rem); }
.site-footer { border-top:1px solid var(--border); background:#edf3f2; }
.footer-inner { max-width:var(--max); margin:0 auto; padding:34px 24px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px; color:var(--muted); font-size:.9rem; }
.footer-brand { display:flex; align-items:center; gap:9px; color:var(--navy); }
.footer-inner nav { display:flex; justify-content:center; gap:18px; }
.footer-inner p { margin:0; text-align:right; }
@media (max-width:780px) {
  .hero-inner { min-height:auto; grid-template-columns:1fr; padding-top:56px; gap:34px; }
  .hero-mark { order:-1; }
  .mark-card { width:170px; }
  .app-grid { grid-template-columns:1fr; }
  .app-card.featured { grid-column:auto; grid-template-columns:1fr; }
  .featured .app-icon-wrap { width:112px; height:112px; border-radius:25px; }
  .about-grid { grid-template-columns:1fr; gap:24px; }
  .future-panel,.education-card { align-items:flex-start; flex-direction:column; }
  .footer-inner { grid-template-columns:1fr; text-align:center; }
  .footer-inner nav { order:2; }
  .footer-inner p { text-align:center; order:3; }
  .footer-brand { justify-content:center; }
}
@media (max-width:560px) {
  .site-header-inner { align-items:flex-start; }
  .nav { gap:10px 14px; justify-content:flex-end; }
  .hero h1 { font-size:clamp(2.6rem,15vw,4rem); }
  .section { padding:60px 18px; }
  .app-card,.app-card.featured,.future-panel,.education-card { padding:24px; }
}
