:root {
    --info-bg: #090d13;
    --info-bg-2: #0e141d;
    --info-panel: rgba(18, 26, 37, 0.88);
    --info-panel-solid: #121a25;
    --info-panel-soft: #151f2c;
    --info-line: rgba(155, 205, 224, 0.18);
    --info-line-strong: rgba(92, 193, 211, 0.45);
    --info-text: #f4f7fa;
    --info-muted: #a9b4c1;
    --info-muted-2: #7f8b99;
    --info-accent: #55b8c8;
    --info-accent-2: #8edce7;
    --info-accent-soft: rgba(85, 184, 200, 0.13);
    --info-good: #79d7aa;
    --info-shadow: 0 22px 80px rgba(0, 0, 0, 0.28);
    --info-radius: 18px;
    --info-max: 1180px;
}

.d2-info-page,
.d2-info-page * { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.d2-info-page {
    margin: 0;
    min-height: 100vh;
    background: var(--info-bg);
    color: var(--info-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.6;
    text-align: left;
}
.d2-info-page a { color: inherit; }
.sr-only { position: absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

.info-site-header {
    position: fixed;
    z-index: 100;
    inset: 0 0 auto;
    border-bottom: 1px solid rgba(255,255,255,.065);
    background: rgba(7,11,17,.82);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.info-nav-shell {
    width: min(var(--info-max), calc(100% - 36px));
    height: 76px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 28px;
}
.info-brand, .info-footer-brand { display:inline-flex; align-items:center; gap:11px; text-decoration:none; font-weight:900; letter-spacing:.08em; }
.info-brand-word { font-size:1.48rem; line-height:1; }
.info-brand-mark { width:23px; height:23px; display:inline-block; transform:rotate(45deg); border:2px solid var(--info-accent-2); box-shadow:0 0 24px rgba(85,184,200,.26); position:relative; }
.info-brand-mark::after { content:""; position:absolute; inset:5px; border:1px solid rgba(244,247,250,.68); }
.info-nav-links { display:flex; justify-content:center; align-items:center; gap:28px; }
.info-nav-links a { color:#c7d1dc; text-decoration:none; font-size:.9rem; font-weight:700; letter-spacing:.02em; transition:color 160ms ease; }
.info-nav-links a:hover, .info-nav-links a:focus-visible { color:#fff; }
.info-nav-cta { text-decoration:none; font-size:.82rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; padding:11px 15px; border:1px solid rgba(116,211,224,.45); border-radius:9px; background:var(--info-accent-soft); color:#eafcff; transition:transform 160ms ease, background 160ms ease, border-color 160ms ease; }
.info-nav-cta:hover, .info-nav-cta:focus-visible { transform:translateY(-1px); background:rgba(85,184,200,.22); border-color:var(--info-accent); }
.info-mobile-menu-button, .info-mobile-menu { display:none; }

.info-main { position:relative; min-height:calc(100vh - 180px); padding:144px 0 96px; overflow:hidden; isolation:isolate; }
.info-backdrop, .info-backdrop-shade { position:absolute; inset:0; pointer-events:none; }
.info-backdrop { z-index:-3; background-image:var(--d2-info-bg, linear-gradient(145deg,#182838,#090d13 62%)); background-size:cover; background-position:center 28%; opacity:.34; transform:scale(1.03); }
.info-backdrop-shade { z-index:-2; background:linear-gradient(180deg,rgba(7,11,17,.60) 0%,rgba(9,13,19,.88) 48%,#090d13 88%),linear-gradient(90deg,rgba(9,13,19,.90),rgba(9,13,19,.30) 55%,rgba(9,13,19,.90)); }
.info-main::after { content:""; position:absolute; z-index:-1; width:560px; height:560px; right:-170px; top:180px; border-radius:50%; background:radial-gradient(circle,rgba(85,184,200,.11),transparent 68%); filter:blur(12px); }
.info-hero, .info-content-shell { width:min(980px, calc(100% - 36px)); margin:0 auto; }
.info-hero { padding:20px 2px 34px; }
.info-back-link { display:inline-flex; gap:8px; align-items:center; margin-bottom:28px; color:#b9c5cf; text-decoration:none; font-size:.83rem; font-weight:750; }
.info-back-link:hover { color:#fff; }
.info-eyebrow, .info-card-kicker { color:var(--info-accent-2); font-size:.72rem; font-weight:900; letter-spacing:.17em; text-transform:uppercase; }
.info-hero h1 { margin:9px 0 15px; font-size:clamp(2.8rem,8vw,5.4rem); line-height:.95; letter-spacing:-.055em; text-wrap:balance; }
.info-hero p { max-width:760px; margin:0; color:#b3bfca; font-size:clamp(1rem,2vw,1.14rem); }
.info-card { border:1px solid var(--info-line); border-radius:var(--info-radius); background:linear-gradient(145deg,rgba(21,31,44,.91),rgba(12,18,26,.96)); box-shadow:var(--info-shadow); overflow:hidden; }
.info-card-meta { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px; border-bottom:1px solid rgba(255,255,255,.065); color:#8997a4; font-size:.78rem; }
.info-meta-pill { display:inline-flex; align-items:center; padding:5px 9px; border:1px solid rgba(85,184,200,.26); border-radius:999px; background:rgba(85,184,200,.08); color:#b7edf4; font-weight:800; text-transform:uppercase; letter-spacing:.09em; font-size:.64rem; }
.info-accordion { padding:12px; }
.info-accordion-item { margin:0 0 10px; border:1px solid rgba(155,205,224,.12); border-radius:12px; background:rgba(9,14,21,.50); overflow:hidden; }
.info-accordion-item:last-child { margin-bottom:0; }
.info-accordion-toggle { width:100%; min-height:62px; border:0; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 18px; background:rgba(28,42,57,.58); color:var(--info-text); cursor:pointer; text-align:left; font:inherit; font-size:1rem; font-weight:820; transition:background 160ms ease, color 160ms ease; }
.info-accordion-toggle:hover { background:rgba(39,58,75,.72); }
.info-accordion-toggle:focus-visible { outline:2px solid var(--info-accent-2); outline-offset:-2px; }
.info-accordion-icon { width:28px; height:28px; flex:0 0 28px; border:1px solid rgba(85,184,200,.28); border-radius:50%; position:relative; background:rgba(85,184,200,.08); }
.info-accordion-icon::before, .info-accordion-icon::after { content:""; position:absolute; left:50%; top:50%; width:10px; height:1.5px; background:var(--info-accent-2); transform:translate(-50%,-50%); transition:transform 160ms ease, opacity 160ms ease; }
.info-accordion-icon::after { transform:translate(-50%,-50%) rotate(90deg); }
.info-accordion-toggle[aria-expanded="true"] .info-accordion-icon::after { opacity:0; transform:translate(-50%,-50%) rotate(0deg); }
.info-accordion-panel { padding:18px 20px 20px; color:#dce4ea; background:rgba(8,13,19,.60); overflow-wrap:anywhere; }
.info-accordion-panel[hidden] { display:none; }
.info-accordion-panel p { margin:0 0 14px; }
.info-accordion-panel p:last-child { margin-bottom:0; }
.info-accordion-panel ul { margin:10px 0 16px; padding-left:24px; }
.info-accordion-panel li { margin-bottom:9px; }
.info-accordion-panel b, .info-accordion-panel strong { color:#f6fbfd; }
.info-accordion-panel .privacy-note { margin-top:18px; padding:14px 16px; border-left:3px solid var(--info-accent); border-radius:8px; background:rgba(85,184,200,.065); color:#c9d8df; }
.info-accordion-panel .privacy-contact { display:inline-block; padding:5px 9px; border-radius:7px; background:rgba(85,184,200,.10); color:#c8f4f9; font-weight:800; }

.info-contact-shell { max-width:980px; }
.info-contact-card { display:grid; grid-template-columns:120px 1fr; gap:10px; padding:34px; }
.info-contact-icon { width:92px; height:92px; border-radius:18px; display:grid; place-items:center; font-size:2.4rem; font-weight:900; color:#d8f9fc; background:linear-gradient(145deg,rgba(85,184,200,.28),rgba(85,184,200,.06)); border:1px solid rgba(85,184,200,.30); }
.info-contact-copy h2 { margin:8px 0 12px; max-width:700px; font-size:clamp(1.8rem,4vw,3rem); line-height:1.04; letter-spacing:-.035em; }
.info-contact-copy > p { margin:0; max-width:720px; color:#b6c1cb; }
.info-contact-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:28px 0 24px; }
.info-contact-details > div { padding:16px; border:1px solid rgba(155,205,224,.13); border-radius:12px; background:rgba(8,13,19,.52); }
.info-contact-details span { display:block; margin-bottom:4px; color:#7f8d9a; font-size:.7rem; font-weight:850; letter-spacing:.10em; text-transform:uppercase; }
.info-contact-details strong { display:block; color:#f1f8fa; font-size:1.02rem; overflow-wrap:anywhere; }
.info-contact-actions { display:flex; flex-wrap:wrap; gap:10px; }
.info-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:11px 15px; border-radius:9px; text-decoration:none; font-size:.82rem; font-weight:850; }
.info-button-primary { background:linear-gradient(135deg,#59bfd0,#347f8e); color:#061014!important; box-shadow:0 9px 30px rgba(85,184,200,.18); }
.info-button-secondary { border:1px solid rgba(155,205,224,.18); background:rgba(255,255,255,.035); color:#dfe8ee!important; }

.info-site-footer { border-top:1px solid rgba(255,255,255,.065); background:#070b11; }
.info-footer-shell { width:min(var(--info-max),calc(100% - 36px)); min-height:170px; margin:0 auto; display:grid; grid-template-columns:auto 1fr; align-content:center; align-items:center; gap:24px 40px; padding:34px 0; }
.info-footer-brand { color:#f0f6f8; }
.info-footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:11px 22px; }
.info-footer-links a { color:#99a8b5; text-decoration:none; font-size:.79rem; font-weight:700; }
.info-footer-links a:hover, .info-footer-links a[aria-current="page"] { color:#e8fbfd; }
.info-footer-copy { grid-column:1/-1; padding-top:17px; border-top:1px solid rgba(255,255,255,.055); color:#687785; font-size:.74rem; }

@media (max-width: 840px) {
    .info-nav-shell { grid-template-columns:1fr auto; }
    .info-nav-links, .info-nav-cta { display:none; }
    .info-mobile-menu-button { display:grid; width:42px; height:42px; padding:10px; place-content:center; gap:4px; border:1px solid rgba(155,205,224,.18); border-radius:9px; background:rgba(255,255,255,.035); cursor:pointer; }
    .info-mobile-menu-button span:not(.sr-only) { display:block; width:18px; height:2px; background:#d7e1e8; }
    .info-mobile-menu { display:grid; gap:2px; padding:10px 18px 14px; border-top:1px solid rgba(255,255,255,.05); background:rgba(7,11,17,.96); }
    .info-mobile-menu[hidden] { display:none; }
    .info-mobile-menu a { padding:11px 10px; border-radius:8px; color:#c7d1dc; text-decoration:none; font-size:.88rem; font-weight:750; }
    .info-mobile-menu .info-mobile-register { margin-top:6px; background:var(--info-accent-soft); color:#ecfdff; }
}
@media (max-width: 680px) {
    .info-main { padding:116px 0 70px; }
    .info-hero, .info-content-shell { width:min(100% - 24px, 980px); }
    .info-hero { padding-bottom:24px; }
    .info-hero h1 { font-size:clamp(2.7rem,15vw,4.2rem); }
    .info-card-meta { align-items:flex-start; flex-direction:column; gap:8px; }
    .info-accordion { padding:8px; }
    .info-accordion-toggle { min-height:58px; padding:14px; font-size:.95rem; }
    .info-accordion-panel { padding:16px 15px 18px; font-size:.94rem; }
    .info-contact-card { grid-template-columns:1fr; padding:23px; }
    .info-contact-icon { width:64px; height:64px; border-radius:14px; font-size:1.8rem; }
    .info-contact-details { grid-template-columns:1fr; }
    .info-contact-actions { display:grid; }
    .info-footer-shell { grid-template-columns:1fr; }
    .info-footer-links { justify-content:flex-start; }
    .info-footer-copy { grid-column:auto; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    *, *::before, *::after { transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}

.info-brand-logo { display:block; width:178px; max-width:34vw; height:auto; }
.info-footer-logo { display:block; width:142px; max-width:42vw; height:auto; }
