@font-face { font-family: Outfit; src: url(outfit-400.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: Outfit; src: url(outfit-500.woff2) format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: Outfit; src: url(outfit-600.woff2) format("woff2"); font-weight: 600 800; font-display: swap; }
:root { --mist: #EEF6F5; --lagoon: #063F4A; --night: #031C21; --teal: #0A8A8F; --aqua: #3CC6C0; --ink: #16242F; --muted: #55697A; --line: #D5E2E2; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: Outfit, "Segoe UI", Arial, sans-serif; color: var(--ink); background: #fff; line-height: 1.6; }
a { color: var(--teal); }
.top { background: linear-gradient(180deg, var(--mist) 0%, #fff 100%); border-bottom: 1px solid var(--line); }
.bar { max-width: 1040px; margin: 0 auto; padding: 22px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.bar img { height: 34px; width: auto; display: block; }
.bar nav a { margin-left: 22px; text-decoration: none; color: var(--lagoon); font-weight: 500; font-size: 15px; }
.bar nav a:hover { color: var(--teal); }
.hero { background: linear-gradient(180deg, var(--mist) 0%, #DCEFEE 34%, #0E5560 64%, var(--lagoon) 82%, #042A31 100%); color: #fff; }
.hero .in { max-width: 1040px; margin: 0 auto; padding: 72px 24px 88px; text-align: center; }
.hero .logo { width: min(420px, 78vw); height: auto; }
.hero .tag { margin: 6px auto 0; letter-spacing: 0.32em; text-transform: uppercase; font-size: 13px; font-weight: 600; color: var(--lagoon); }
.hero h1 { margin: 96px auto 12px; max-width: 760px; font-size: clamp(28px, 4.4vw, 44px); line-height: 1.18; font-weight: 600; }
.hero p { margin: 0 auto; max-width: 640px; font-size: 18px; color: #D4ECEB; }
.wrap { max-width: 1040px; margin: 0 auto; padding: 64px 24px; }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 720px) { .grid { grid-template-columns: 1fr; } }
.card { border: 1px solid var(--line); border-radius: 16px; padding: 22px 22px 20px; background: #fff; box-shadow: 0 1px 2px rgba(6, 63, 74, 0.05), 0 10px 26px rgba(6, 63, 74, 0.06); }
.card h3 { margin: 0 0 6px; font-size: 18px; font-weight: 600; color: var(--lagoon); }
.card p { margin: 0; color: var(--muted); font-size: 15.5px; }
.note { margin-top: 40px; padding: 18px 22px; border-radius: 14px; background: var(--mist); color: var(--lagoon); font-size: 15.5px; }
.doc { max-width: 780px; margin: 0 auto; padding: 56px 24px 72px; }
.doc h1 { font-size: 34px; line-height: 1.2; margin: 0 0 6px; color: var(--lagoon); font-weight: 600; }
.doc .date { color: var(--muted); margin: 0 0 30px; }
.doc h2 { font-size: 20px; margin: 34px 0 8px; color: var(--lagoon); font-weight: 600; }
.doc p, .doc li { font-size: 16px; color: #2A3A46; }
.doc ul { padding-left: 22px; }
.doc li { margin: 6px 0; }
footer { background: var(--night); color: #9FC3C4; }
footer .in { max-width: 1040px; margin: 0 auto; padding: 28px 24px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 14px; }
footer a { color: #CFEAEA; text-decoration: none; margin-left: 18px; }
@media (max-width: 560px) { .bar nav a { margin-left: 14px; } .hero h1 { margin-top: 64px; } footer a { margin: 0 18px 0 0; } }

/* Download (5 Nov 2026): the button on the home page, and the password page */
.get { margin: 34px auto 0; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.btn-dl { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 240px; padding: 14px 28px; border: 0; border-radius: 12px; background: #fff; color: var(--lagoon); font: inherit; font-size: 17px; font-weight: 600; text-decoration: none; cursor: pointer; box-shadow: 0 1px 2px rgba(3, 28, 33, 0.25), 0 8px 24px rgba(3, 28, 33, 0.28); transition: transform 0.12s, box-shadow 0.12s; }
.btn-dl:hover { transform: translateY(-1px); box-shadow: 0 2px 4px rgba(3, 28, 33, 0.25), 0 12px 30px rgba(3, 28, 33, 0.32); }
.btn-dl:focus-visible { outline: 3px solid var(--aqua); outline-offset: 3px; }
.btn-dl svg { width: 20px; height: 20px; }
.get small { color: #BFE0DF; font-size: 14px; }
.dl { background: linear-gradient(180deg, var(--mist) 0%, #fff 70%); padding: 64px 24px 88px; }
.dl-card { max-width: 460px; margin: 0 auto; padding: 36px 34px 28px; border: 1px solid var(--line); border-radius: 20px; background: #fff; text-align: center; box-shadow: 0 1px 2px rgba(6, 63, 74, 0.05), 0 16px 40px rgba(6, 63, 74, 0.09); }
.dl-icon { width: 64px; height: 64px; display: block; margin: 0 auto 14px; }
.dl-card h1 { margin: 0; font-size: 26px; line-height: 1.25; font-weight: 600; color: var(--lagoon); }
.dl-sub { margin: 6px 0 18px; color: var(--muted); font-size: 15px; }
.dl-text { margin: 0 0 18px; color: #2A3A46; font-size: 16px; }
.dl-card form { text-align: left; }
.dl-card label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 500; color: var(--lagoon); }
.dl-card input { width: 100%; height: 46px; padding: 0 14px; border: 1px solid var(--line); border-radius: 10px; font: inherit; font-size: 16px; color: var(--ink); background: #fff; }
.dl-card input:focus { outline: none; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(10, 138, 143, 0.18); }
.dl-card input[aria-invalid="true"] { border-color: #E3A4A4; background: #FFF9F9; }
.dl-msg { margin: 8px 0 0; font-size: 14px; color: #A3302A; }
.dl-card .btn-dl { width: 100%; margin-top: 16px; background: var(--lagoon); color: #fff; box-shadow: 0 6px 18px rgba(6, 63, 74, 0.22); }
.dl-card .btn-dl:hover { background: #0B5361; }
.dl-help { margin: 16px 0 0; font-size: 14px; color: var(--muted); }
.dl-help + .dl-help { margin-top: 8px; }
@media (max-width: 560px) { .dl-card { padding: 28px 20px 22px; } .btn-dl { min-width: 0; width: 100%; } }
