*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
h1, h2, h3, p, figure { margin: 0; }
a { color: inherit; }
img { display: block; width: 100%; height: auto; }
button, input, select { font: inherit; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.skip { position: fixed; top: 8px; left: 8px; z-index: 10; padding: 12px; background: white; color: #111; transform: translateY(-150%); }
.skip:focus { transform: none; }
.wrap { width: min(1160px, calc(100% - 96px)); margin-inline: auto; }
header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 76px; }
nav { display: flex; align-items: center; gap: 22px; }
nav a, .brand { text-decoration: none; }
nav a:hover { text-decoration: underline; text-underline-offset: 4px; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 14px; text-decoration: none; cursor: pointer; min-height: 46px; padding: 10px 17px; border: 1px solid transparent; font-weight: 700; }
.button:hover { filter: brightness(.9); }
.eyebrow { font: 700 .7rem/1.4 Arial,sans-serif; letter-spacing: .17em; text-transform: uppercase; }
.section { padding-block: clamp(55px, 8vw, 110px); }
.section h2 { margin-block: 10px 14px; font-size: clamp(2.25rem, 5vw, 4.35rem); line-height: 1.01; }
.section p { line-height: 1.65; }
.cards { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; margin-top: 32px; }
.cards article { padding: 22px; }
.cards h3 { margin: 8px 0; font-size: 1.35rem; }
.inquiry-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(30px, 7vw, 92px); align-items: start; }
.demo-form { padding: clamp(19px, 4vw, 37px); }
.demo-form label { display: grid; gap: 7px; margin-bottom: 16px; font-size: .92rem; font-weight: 700; }
.demo-form select { min-height: 44px; max-width: 100%; padding: 8px; border: 1px solid #817b71; background: #fff; color: #211f1a; }
.demo-form .form-note, .form-result { font-size: .88rem; margin-top: 13px; line-height: 1.55; }
.form-result { padding: 11px; border: 1px solid currentColor; }
footer .wrap { display: flex; justify-content: space-between; gap: 10px 20px; flex-wrap: wrap; padding-block: 24px; font-size: .8rem; }
@media (max-width: 740px) {
  .wrap { width: calc(100% - 36px); }
  header .wrap { min-height: 67px; }
  nav { gap: 12px; font-size: .8rem; }
  .cards, .inquiry-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 460px) { nav a:not(:last-child) { display: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

:root { font-family: Arial,sans-serif; color: #0a2537; background: #f4faff; --navy: #09283c; --aqua: #bdf864; }
header { background: var(--navy); color: #fff; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: white; font-size: 1.16rem; font-weight: 900; letter-spacing: -.05em; }
.brand svg { width: 32px; height: 32px; fill: none; stroke: var(--aqua); stroke-width: 3; }
.brand small { display: block; font-size: .55rem; letter-spacing: .22em; margin-top: 2px; }
nav { font-size: .87rem; }
.primary { color: #0a2537; background: var(--aqua); border-radius: 4px; }
.hero { position: relative; display: grid; align-items: end; min-height: min(650px, 75svh); color: #fff; background: #153d56; isolation: isolate; }
.hero img { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: center 54%; z-index: -2; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #031521ed, #031521a8 38%, #03152113 85%), linear-gradient(0deg,#03152196,transparent 58%); }
.hero-inner { padding-block: clamp(50px, 9vw, 105px); }
.hero .eyebrow { color: var(--aqua); }
h1 { font: 900 clamp(3.55rem, 9vw, 8rem)/.83 Arial,sans-serif; letter-spacing: -.085em; margin-block: 18px 23px; }
.hero-inner > p:not(.eyebrow) { line-height: 1.55; max-width: 330px; }
.hero .button { margin-top: 20px; }
.section h2 { font-weight: 900; letter-spacing: -.063em; }
.cards article { background: white; border: 1px solid #aec9dc; border-top: 4px solid #215c84; display: flex; flex-direction: column; border-radius: 4px; }
.cards article:nth-child(2) { border-top-color: #77ab2d; }
.cards ul { padding-left: 19px; line-height: 1.65; }
.cards a { margin-top: auto; font-size: .9rem; font-weight: 700; text-underline-offset: 4px; }
.care { background: #ddebfa; }
.care-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.guides { border-top: 1px solid #8caabd; }
details { border-bottom: 1px solid #8caabd; padding: 13px 0; }
summary { cursor: pointer; font-weight: 700; }
details p { padding: 10px 0 3px; }
.demo-form { background: #e1eef9; }
footer { background: var(--navy); color: #fff; }
@media (max-width: 740px) { .care-grid { grid-template-columns: 1fr; } .hero { min-height: 560px; } .hero img { object-position: 62% center; } }
