:root { color-scheme: light; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #173044; background: #f5f8f8; }
* { box-sizing: border-box; }
body { margin: 0; line-height: 1.65; }
header { background: #102f43; color: white; padding: 24px max(24px, calc((100vw - 920px) / 2)); }
header a { color: #d9eef0; text-decoration: none; }
nav { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
nav strong { margin-right: auto; font-size: 1.25rem; letter-spacing: .02em; }
main { max-width: 920px; margin: 0 auto; padding: 48px 24px 64px; }
h1 { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.15; margin: 0 0 16px; }
h2 { font-size: 1.4rem; margin-top: 40px; }
p, li { font-size: 1rem; }
.lead { font-size: 1.2rem; color: #45616d; max-width: 680px; }
.card { background: white; border: 1px solid #d6e3e5; border-radius: 18px; padding: 24px 28px; margin: 24px 0; }
.card h2 { margin-top: 0; }
a { color: #0a6581; }
a:focus-visible { outline: 3px solid #d58a30; outline-offset: 3px; }
.lang { color: #55717d; font-size: .9rem; margin-bottom: 30px; }
.language-block { border-top: 1px solid #cfdddf; padding-top: 28px; margin-top: 48px; }
footer { max-width: 920px; margin: 0 auto; padding: 24px; border-top: 1px solid #cfdddf; color: #526b75; }
@media (max-width: 600px) { header { padding: 18px 24px; } nav { gap: 12px 18px; } nav strong { width: 100%; } main { padding-top: 36px; } .card { padding: 20px; } }
.eyebrow { color: #087187; font-size: .78rem; font-weight: 800; letter-spacing: .14em; margin: 0 0 12px; }
.hero, .guide-layout, .split-section { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(210px, .65fr); gap: 44px; align-items: center; }
.hero { padding-bottom: 58px; border-bottom: 1px solid #cfdddf; }
.hero h1 { font-size: clamp(2.5rem, 6vw, 4.5rem); letter-spacing: -.045em; }
.hero-image, .guide-image, .detail-image { display: block; width: 100%; max-width: 300px; height: auto; margin: 0 auto; border-radius: 18px; box-shadow: 0 20px 55px #102f4324; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin: 28px 0 12px; }
.button { display: inline-block; background: #0b6683; color: white; padding: 13px 22px; border-radius: 10px; font-weight: 700; text-decoration: none; }
.button:hover { background: #084b62; }
.text-link { font-weight: 700; }
.fine-print { color: #55717d; font-size: .86rem; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.feature { background: white; border: 1px solid #d6e3e5; border-radius: 16px; padding: 22px; }
.feature h3 { margin: 12px 0 6px; font-size: 1.14rem; }
.feature p { margin: 0; }
.step { color: #087187; font-size: .85rem; font-weight: 800; }
.split-section { padding: 55px 0; border-bottom: 1px solid #cfdddf; }
.guide-layout { padding: 18px 0 45px; align-items: start; }
.checklist { padding-left: 24px; }
.checklist li { margin: 0 0 10px; padding-left: 5px; }
.cta-panel { background: #102f43; color: white; border-radius: 20px; margin: 42px 0 0; padding: 30px; }
.cta-panel h2 { margin: 0 0 8px; }
.cta-panel a:not(.button) { color: #aff1ef; }
.cta-panel .button { background: #44d1cd; color: #102f43; }
.cta-panel .button:hover { background: #84ebe7; }
@media (max-width: 700px) { .hero, .guide-layout, .split-section { grid-template-columns: 1fr; gap: 28px; } .hero-image, .guide-image, .detail-image { max-width: 220px; } .feature-grid { grid-template-columns: 1fr; } }
