* {
  box-sizing:border-box;
}
:root {
  --navy:#0b202e;
  --ink:#112b3a;
  --blue:#71d4dc;
  --muted:#4c6169;
  --paper:#f6f6f0;
  --line:#cbd4cf;
  font-family:"DM Sans",system-ui,sans-serif;
  color:var(--ink);
  background:var(--paper);
}
body {
  margin:0;
}
button,input,select {
  font:inherit;
}
button,a {
  touch-action:manipulation;
}
button {
  cursor:pointer;
}
a {
  color:inherit;
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible {
  outline:3px solid #137d91;
  outline-offset:4px;
}
.wrap {
  width:min(1120px,calc(100% - 80px));
  margin:auto;
}
.mast,.hero {
  background:var(--navy);
  color:#fff;
}
.mast {
  border-bottom:1px solid #36505e;
}
.nav,.foot,.row,.screen-tools,.follow {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.nav {
  height:64px;
}
.brand {
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  font-weight:750;
  letter-spacing:-.035em;
  font-size:1.12rem;
}
.brand img {
  margin-right:10px;
}
.brand span,.hero em {
  color:var(--blue);
}
.home {
  font-size:.85rem;
  text-decoration:none;
  color:#cce5e8;
}
.home:hover,.foot a:hover {
  text-decoration:underline;
}
.hero {
  overflow:hidden;
  background:#081a24;
}
.hero-inner {
  position:relative;
  isolation:isolate;
  min-height:247px;
  display:flex;
  align-items:center;
}
.intro {
  position:relative;
  max-width:62%;
  padding:33px 0 37px;
}
.intro h1 {
  font-size:clamp(3.3rem,6vw,5rem);
  line-height:.99;
  margin:0 0 17px;
  letter-spacing:-.065em;
}
.intro em {
  font-family:Georgia,serif;
  font-weight:400;
  letter-spacing:-.06em;
}
.intro p {
  max-width:490px;
  margin:0;
  font-size:1.02rem;
  line-height:1.55;
  color:#d7e8ec;
}
.scene {
  position:absolute;
  z-index:-1;
  inset:0 -6% 0 51%;
  overflow:hidden;
}
.scene img {
  height:100%;
  width:100%;
  object-fit:cover;
  object-position:center 29%;
}
.scene:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#081a24 0%,transparent 27%,transparent 76%,#081a24 100%);
}
.work {
  padding:29px 0 45px;
  min-height:380px;
}
.steps {
  display:flex;
  align-items:center;
  gap:0;
  list-style:none;
  padding:0;
  margin:0 0 23px;
  color:#586a70;
  font-size:.82rem;
  font-weight:650;
}
.steps li {
  display:flex;
  align-items:center;
  gap:7px;
}
.steps li:not(:last-child):after {
  content:"";
  width:35px;
  height:1px;
  background:var(--line);
  margin:0 12px;
}
.steps span {
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  border:1px solid #adbfba;
  border-radius:50%;
  font-size:.75rem;
}
.steps [aria-current] {
  color:var(--ink);
}
.steps [aria-current] span {
  background:var(--navy);
  border-color:var(--navy);
  color:#fff;
}
h2,h3,p {
  margin:0;
}
h2 {
  font-size:clamp(1.8rem,3.6vw,2.65rem);
  letter-spacing:-.05em;
  line-height:1.13;
}
h3 {
  font-size:1.2rem;
  letter-spacing:-.025em;
}
.hint,.follow p,.record-help {
  color:var(--muted);
  line-height:1.55;
}
.hint {
  margin:8px 0 22px;
}
.cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.card {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  background:#fff;
  border:1px solid var(--line);
  border-radius:13px;
  padding:21px 23px;
  color:var(--ink);
  transition:box-shadow .15s,border-color .15s;
}
.card:hover {
  border-color:#409299;
  box-shadow:0 4px 16px #14374313;
}
.ico {
  display:grid;
  place-items:center;
  width:39px;
  height:39px;
  margin-bottom:15px;
  background:#d8edf0;
  border-radius:10px;
  color:#235968;
  font-size:1.45rem;
}
.mail {
  background:#dff2ea;
  color:#22604c;
}
.bars {
  background:#f5e9c8;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:3px;
  padding:11px 8px;
}
.bars i {
  display:block;
  width:4px;
  background:#806122;
  height:7px;
}
.bars i:nth-child(2) {
  height:12px;
}
.bars i:nth-child(3) {
  height:17px;
}
.card strong {
  font-size:1.24rem;
  letter-spacing:-.035em;
}
.card>span:not(.ico) {
  color:var(--muted);
  line-height:1.52;
  margin:6px 0 18px;
  font-size:.94rem;
}
.card b {
  display:flex;
  justify-content:space-between;
  width:100%;
  align-items:center;
  border-top:1px solid #e0e6e3;
  margin-top:auto;
  padding-top:12px;
  font-size:.83rem;
}
.card b i {
  font-style:normal;
  font-size:1.1rem;
}
.back,.outline {
  background:transparent;
  color:var(--ink);
  font-weight:650;
}
.back {
  border:0;
  padding:8px 0;
  text-decoration:underline;
  text-underline-offset:4px;
  margin-bottom:8px;
}
.outline {
  border:1px solid #a5b7b2;
  border-radius:8px;
  padding:8px 12px;
  font-size:.85rem;
}
.outline:hover {
  background:#e1edeb;
}
.primary {
  display:inline-flex;
  align-items:center;
  gap:20px;
  justify-content:center;
  background:var(--ink);
  color:#fff;
  padding:13px 20px;
  border-radius:8px;
  border:0;
  text-decoration:none;
  font-weight:650;
}
.primary:hover {
  background:#1f4b59;
}
form,.sheet {
  background:white;
  border:1px solid var(--line);
  padding:24px 28px;
  border-radius:12px;
}
form,#plan {
  max-width:820px;
}
.field-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-bottom:20px;
}
label {
  display:flex;
  flex-direction:column;
  gap:7px;
  font-weight:650;
}
input,select {
  min-width:0;
  width:100%;
  background:#fff;
  color:var(--ink);
  border:1px solid #9eafae;
  border-radius:7px;
  padding:11px;
  font-weight:400;
}
.privacy {
  font-size:.86rem;
  line-height:1.5;
  color:var(--muted);
  margin:18px 0;
}
.screen-tools {
  margin-bottom:10px;
}
.screen-tools .back {
  margin:0;
}
.sheet section+section {
  border-top:1px solid var(--line);
  padding-top:16px;
  margin-top:16px;
}
.sheet p,.sheet li {
  line-height:1.5;
}
.sheet h3 {
  margin-bottom:7px;
}
.sheet ol {
  padding-left:21px;
  margin:0;
}
.prompt {
  background:#eef5f4;
  padding:14px;
  border-left:3px solid #3f95a2;
  margin-top:7px;
  white-space:pre-line;
}
.status {
  font-size:.85rem;
}
.status:empty {
  display:none;
}
.record-help {
  font-size:.88rem;
}
table {
  border-collapse:collapse;
  margin-top:10px;
  width:100%;
  font-size:.84rem;
}
th,td {
  border:1px solid var(--line);
  padding:6px;
  text-align:left;
}
thead th {
  background:#eef3ef;
}
.follow {
  padding:22px 0 12px;
}
.follow p {
  font-size:.93rem;
  margin-top:5px;
}
.follow a {
  white-space:nowrap;
}
.foot {
  border-top:1px solid var(--line);
  padding:18px 0 25px;
  color:var(--muted);
  font-size:.81rem;
}
.print-brand,[hidden] {
  display:none!important;
}
.skip,.sr {
  position:absolute;
  clip-path:inset(50%);
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip:focus {
  clip-path:none;
  width:auto;
  height:auto;
  z-index:5;
  background:white;
  padding:12px;
}
.work:focus,h2:focus {
  outline:none;
}
@media(max-width:720px) {
  .wrap {
    width:calc(100% - 36px);
  }
  .nav {
    height:56px;
  }
  .brand {
    font-size:1rem;
  }
  .brand img {
    width:33px;
    height:33px;
  }
  .hero-inner {
    min-height:200px;
  }
  .intro {
    max-width:68%;
    padding:27px 0;
  }
  .intro h1 {
    font-size:clamp(2.6rem,8vw,3.6rem);
  }
  .intro p {
    font-size:.91rem;
  }
  .scene {
    left:53%;
    right:-8%;
  }
  .scene img {
    object-position:49% 42%;
  }
  .cards {
    grid-template-columns:1fr;
    gap:10px;
  }
  .card {
    position:relative;
    padding:17px 18px 17px 75px;
  }
  .ico {
    position:absolute;
    left:17px;
    top:16px;
  }
  .card>span:not(.ico) {
    margin:3px 0 0;
  }
  .card b {
    width:auto;
    border:0;
    padding:7px 0 0;
    gap:8px;
  }
  .work {
    padding-top:22px;
  }
  .steps {
    margin-bottom:19px;
  }
  .steps li:not(:last-child):after {
    width:18px;
    margin:0 7px;
  }
  .field-grid {
    gap:15px;
  }
  form,.sheet {
    padding:18px;
  }
  .follow {
    align-items:flex-start;
    flex-direction:column;
  }
  .foot {
    font-size:.74rem;
  }
}
@media(max-width:430px) {
  .field-grid {
    grid-template-columns:1fr;
  }
  .hero-inner {
    min-height:210px;
  }
  .intro {
    max-width:72%;
  }
  th,td {
    padding:4px;
  }
  table {
    font-size:.75rem;
  }
  .card strong {
    font-size:1.12rem;
  }
}
@page {
  size:auto;
  margin:13mm;
}
@media print {
  body {
    background:white;
    color:#111;
    font:10pt/1.27 Arial,sans-serif;
  }
  .mast,.hero,.steps,footer,.screen-tools,.outline,.status,.follow,.back,.skip,#choose,#details,noscript {
    display:none!important;
  }
  .wrap,.work,#plan {
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
    min-height:0;
  }
  .print-brand {
    display:block!important;
    font-weight:bold;
    margin-bottom:5pt;
  }
  h2 {
    font:700 20pt/1.1 Arial;
  }
  .hint {
    margin:4pt 0 8pt;
  }
  .sheet {
    border:0;
    padding:0;
  }
  .sheet h3 {
    font-size:12pt;
    margin-bottom:3pt;
  }
  .sheet p,.sheet li {
    line-height:1.32;
  }
  .sheet section {
    break-inside:avoid;
  }
  .sheet section+section {
    margin-top:7pt;
    padding-top:6pt;
  }
  .prompt {
    margin:2pt 0;
    padding:5pt 8pt;
    background:transparent;
  }
  .record-help,table {
    font-size:9pt;
  }
  th,td {
    padding:4pt;
  }
  .sheet td {
    height:16pt;
  }
  .sheet ol {
    padding-left:15pt;
  }
  .row {
    display:block;
  }
}
