:root { --ot-ink:#112633; --ot-teal:#087f81; --ot-lime:#b5e07a; --ot-amber:#e8ac4a; }
body { background:#eef3f4; color:var(--ot-ink); }
.navbar-vertical.navbar-light { box-shadow: 5px 0 28px rgba(12,43,54,.08); }
.navbar-vertical .navbar-brand h1 { color:var(--ot-ink); font-weight:800; letter-spacing:-.03em; }
.navbar-vertical .navbar-nav .nav-link:hover { color:var(--ot-teal); background:#e7f6f4; border-radius:12px; }
.card { border-radius:14px; }
.btn-primary, .bg-gradient-primary { background:linear-gradient(135deg,#113747,#087f81)!important; border-color:#087f81!important; }
.btn-success { background:#087f81; border-color:#087f81; }
.btn-primary:hover, .btn-success:hover { background:#07696b!important; border-color:#07696b!important; }
.table thead th { color:#395760; }
.ot-home { background:#071b26; min-height:100vh; color:#e7f3f1; padding:40px clamp(20px,4vw,70px) 60px; position:relative; overflow:hidden; }
.ot-home:before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(64,178,166,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(64,178,166,.05) 1px,transparent 1px); background-size:34px 34px; pointer-events:none; }
.ot-home > * { position:relative; }
.ot-eyebrow { color:#aee5d5; letter-spacing:.08em; font-size:.9rem; font-weight:700; }
.ot-title { color:#fff; font-size:clamp(2.5rem,5vw,5rem); font-weight:900; margin:14px 0 20px; }
.ot-title span { color:#9fe0b0; }
.ot-lead { font-size:1.15rem; line-height:2; max-width:760px; color:#d1e4e5; }
.ot-hero { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr); gap:36px; align-items:center; margin:0 auto 45px; max-width:1280px; }
.ot-flow { border:1px solid rgba(123,206,196,.35); border-radius:22px; padding:26px; background:rgba(13,51,63,.72); box-shadow:0 24px 60px rgba(0,0,0,.18); }
.ot-flow-head { color:#9fe0b0; letter-spacing:.16em; font:700 .8rem monospace; text-align:left; }
.ot-node { padding:13px 18px; border:1px solid rgba(111,205,192,.5); border-radius:12px; margin:16px 0; background:#0d3644; display:flex; justify-content:space-between; font:700 .95rem monospace; direction:ltr; }
.ot-node small { color:#aee5d5; font-weight:400; }
.ot-line { height:20px; border-left:2px dashed #5caea6; margin:-13px 0 -12px 28px; }
.ot-chip { display:inline-block; border:1px solid rgba(158,224,176,.4); color:#bfe8dd; padding:7px 12px; border-radius:999px; margin:4px; font-size:.85rem; }
.ot-section { max-width:1280px; margin:35px auto; }
.ot-section h2 { color:#fff; font-weight:800; margin-bottom:20px; }
.ot-partners { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ot-partner { background:#f7faf9; border-radius:16px; padding:16px; color:#23424a; text-align:center; min-height:190px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; }
.ot-partner img { max-height:112px; max-width:90%; object-fit:contain; }
.ot-partner strong { font-size:.95rem; }
.ot-countdown { background:linear-gradient(120deg,#0b3c49,#0b5961); border:1px solid #438b8b; border-radius:20px; padding:26px; text-align:center; }
.ot-countdown .date { font-size:1.5rem; font-weight:800; color:#fff; }
.ot-countdown .time { font:700 clamp(1.5rem,4vw,3rem) monospace; color:#bcf0c6; direction:ltr; margin:12px 0 0; }
.ot-keywords { line-height:2.6; }
.ot-credit { color:#a5c5c7; font-size:.8rem; line-height:1.8; }
.ot-credit a { color:#bbded4; text-decoration:underline; }
@media(max-width:900px) { .ot-hero { grid-template-columns:1fr; } .ot-partners { grid-template-columns:1fr; } }
