
:root{
  --bg:#f8fafc;
  --surface:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --brand:#0ea5e9;   /* sky */
  --brand-2:#6366f1; /* indigo */
  --accent:#14b8a6;  /* teal */
  --radius:16px;
  --shadow:0 10px 24px rgba(2,6,23,.08);
  --max:1120px;
}
/* Optional alternate accent theme */
:root[data-theme="royal"]{
  --brand:#7c3aed;
  --brand-2:#2563eb;
  --accent:#f59e0b;
}

*{box-sizing:border-box}
html,body{margin:0}
body{
  background:
    radial-gradient(800px 300px at 10% -10%, rgba(14,165,233,.10), transparent 40%),
    radial-gradient(700px 260px at 90% -15%, rgba(99,102,241,.12), transparent 45%),
    var(--bg);
  color:var(--text);
  font:16px/1.6 system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial;
}
a{color:var(--brand);text-decoration:none}
a:hover{color:var(--brand-2)}

.wrap{max-width:var(--max);margin:0 auto;padding:16px}

/* Nav */
header.nav{
  position:sticky;top:0;z-index:30;background:#ffffffd9;backdrop-filter:saturate(150%) blur(8px);
  border-bottom:1px solid #e5e7eb
}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:.2px}
.brand .dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-2))}

/* Hero */
.hero{padding:64px 0 36px}
.hero .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
@media (max-width:920px){.hero .grid{grid-template-columns:1fr}}
.card{
  background:var(--surface);border:1px solid #e5e7eb;border-radius:var(--radius);
  box-shadow:var(--shadow);padding:28px
}
.title{font-size:clamp(26px,3.2vw,40px);line-height:1.25;margin:0 0 12px}
.subtitle{color:var(--muted);margin:0 0 18px}
.badges{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 18px}
.badge{
  display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;
  background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:14px
}
.badge.teal{background:#ecfeff;border-color:#a7f3d0;color:#065f46}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;border:1px solid #d1d5db;background:#fff;color:var(--text)}
.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;border-color:transparent;box-shadow:0 6px 14px rgba(14,165,233,.25)}

/* Photo */
.photo{position:relative}
.photo .frame{
  background:var(--surface);border:1px solid #e5e7eb;border-radius:20px;padding:12px;box-shadow:var(--shadow)
}
.photo img{width:100%;display:block;border-radius:14px}
.ribbon{
  position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:8px;
  background:#0b1220;color:#e2e8f0;padding:10px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.3);
  box-shadow:0 10px 18px rgba(2,6,23,.22)
}
.ribbon svg{flex:0 0 auto}

/* Sections */
section{margin:52px 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:920px){.cards{grid-template-columns:1fr}}
.card h3{margin:0 0 8px;font-size:18px;color:var(--brand)}
.card p{margin:0;color:var(--muted)}

/* Footer */
footer{border-top:1px solid #e5e7eb;padding:24px 0;text-align:center;color:#6b7280;font-size:14px}

/* Language toggles */
[data-lang]{display:none}
[data-lang].show{display:block}

/* Controls */
.controls{display:flex;align-items:center;gap:8px}
.controls button{
  cursor:pointer;background:#fff;border:1px solid #d1d5db;color:var(--text);padding:6px 10px;border-radius:8px
}
.controls button.active{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;border-color:transparent}
