:root { color-scheme: light; --bg:#f6f4ef; --card:#fff; --ink:#17221d; --muted:#627069; --line:#dce3df; --brand:#176b4d; --brand-dark:#0f523a; --soft:#e7f6ee; --warn:#fff3d3; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.65; }
a { color:var(--brand); }
.shell { margin:0 auto; max-width:1120px; padding:0 24px; }
header { background:rgba(255,255,255,.92); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10; backdrop-filter:blur(12px); }
.nav { align-items:center; display:flex; justify-content:space-between; min-height:72px; }
.brand { align-items:center; color:var(--ink); display:flex; font-size:21px; font-weight:850; gap:10px; text-decoration:none; }
.brand img { height:42px; width:42px; }
nav { display:flex; flex-wrap:wrap; gap:18px; }
nav a { color:var(--muted); font-size:14px; font-weight:700; text-decoration:none; }
.language-link { border:1px solid var(--line); border-radius:999px; padding:2px 9px; }
.language-link[aria-current="true"] { background:var(--soft); color:var(--brand-dark); }
.hero { padding:86px 0 68px; }
.hero-grid { align-items:center; display:grid; gap:54px; grid-template-columns:1.15fr .85fr; }
.eyebrow { color:var(--brand); font-size:13px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
h1 { font-size:clamp(38px,6vw,72px); letter-spacing:-.045em; line-height:1.02; margin:14px 0 22px; }
.lead { color:var(--muted); font-size:20px; max-width:680px; }
.hero-card { background:linear-gradient(145deg,var(--card),var(--soft)); border:1px solid var(--line); border-radius:32px; box-shadow:0 24px 70px rgba(23,107,77,.12); padding:34px; text-align:center; }
.hero-card img { max-width:260px; width:78%; }
.button { background:var(--brand); border:0; border-radius:14px; color:#fff; cursor:pointer; display:inline-flex; font:inherit; font-weight:800; justify-content:center; padding:13px 20px; text-decoration:none; }
.button:hover { background:var(--brand-dark); }
.button.secondary { background:transparent; border:1px solid var(--brand); color:var(--brand); }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.section { padding:54px 0; }
.section h2 { font-size:clamp(28px,4vw,42px); letter-spacing:-.025em; line-height:1.15; margin:0 0 22px; }
.cards { display:grid; gap:18px; grid-template-columns:repeat(3,1fr); }
.card { background:var(--card); border:1px solid var(--line); border-radius:22px; padding:24px; }
.card h3 { margin:0 0 9px; }
.card p { color:var(--muted); margin:0; }
.notice { background:var(--warn); border-radius:18px; padding:18px 20px; }
.legal { max-width:820px; padding-bottom:70px; padding-top:54px; }
.legal h1 { font-size:clamp(36px,5vw,56px); }
.legal h2 { font-size:25px; letter-spacing:-.015em; margin-top:42px; }
.legal h3 { font-size:18px; margin-top:26px; }
.legal p,.legal li { color:#405049; }
.legal table { border-collapse:collapse; display:block; font-size:14px; overflow-x:auto; width:100%; }
.legal th,.legal td { border:1px solid var(--line); min-width:145px; padding:12px; text-align:left; vertical-align:top; }
.legal th { background:var(--soft); color:var(--ink); }
.meta { color:var(--muted); font-size:14px; }
.missing-field { background:#ffe3df; border-radius:8px; color:#7a241c; padding:8px; }
.missing-field::after { content:attr(data-missing-message); display:block; font-size:12px; font-weight:800; }
form { display:grid; gap:15px; margin-top:28px; }
label { display:grid; font-weight:750; gap:7px; }
input { background:#fff; border:1px solid var(--line); border-radius:12px; color:var(--ink); font:inherit; min-height:50px; padding:10px 13px; }
.form-message { border-radius:12px; display:none; padding:12px; }
.form-message.visible { display:block; }
.form-message.success { background:var(--soft); }
.form-message.error { background:#ffe3df; color:#7a241c; }
footer { background:var(--ink); color:#eaf0ed; padding:34px 0; }
.footer-grid { display:flex; flex-wrap:wrap; gap:18px; justify-content:space-between; }
footer a { color:#d8eee5; }
@media (max-width:760px) { .hero-grid,.cards { grid-template-columns:1fr; } .hero { padding-top:52px; } .nav { align-items:flex-start; flex-direction:column; gap:8px; padding:12px 0; } nav { gap:12px; } }
