:root {
  --color-bg:#f6fbfe;
  --color-surface:#fff;
  --color-primary:#0b67b2;
  --color-primary-strong:#084d86;
  --color-accent:#35b6e8;
  --color-text:#17324a;
  --color-muted:#5e7385;
  --color-line:#d5e8f3;
  --radius-lg:28px;
  --radius-md:18px;
  --radius-sm:12px;
  --shadow-soft:0 16px 40px rgba(11,103,178,.08);
  --container:1120px
}

*,*::before,*::after {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:96px
}

body {
  margin:0;
  min-width:320px;
  background:var(--color-bg);
  color:var(--color-text);
  font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",sans-serif;
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased
}

img,svg {
  display:block;
  max-width:100%
}

img {
  height:auto
}

a {
  color:inherit;
  text-decoration:none
}

button,input,textarea {
  font:inherit
}

button {
  cursor:pointer
}

p,h1,h2,ol,dl {
  margin:0
}

h1,h2 {
  font-weight:800;
  line-height:1.42;
  letter-spacing:.02em
}

p {
  overflow-wrap:anywhere
}

::selection {
  background:#bceeff;
  color:#084d86
}

[hidden] {
  display:none!important
}

:focus-visible {
  outline:3px solid var(--color-accent);
  outline-offset:4px
}

.container {
  width:min(var(--container),calc(100% - 40px));
  margin-inline:auto
}

.skip-link {
  position:fixed;
  z-index:100;
  top:-70px;
  left:16px;
  background:#fff;
  padding:10px 18px;
  border:2px solid var(--color-primary);
  border-radius:8px
}

.skip-link:focus {
  top:12px
}

.demo-ribbon {
  padding:4px 20px;
  background:#e8f4fa;
  color:#3b627c;
  text-align:center;
  font-size:14px;
  letter-spacing:.04em
}

.site-header {
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(246,251,254,.86);
  transition:background .25s,box-shadow .25s;
  backdrop-filter:blur(12px)
}

.site-header.is-scrolled {
  background:rgba(255,255,255,.97);
  box-shadow:0 8px 25px rgba(11,60,100,.09)
}

.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:78px
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:11px;
  min-width:0;
  font-weight:800;
  line-height:1.35
}

.brand-name {
  font-size:16px;
  white-space:nowrap
}

.brand-name small {
  display:block;
  color:var(--color-primary);
  font-size:14px;
  font-weight:700;
  letter-spacing:.08em
}

.brand-mark {
  display:flex;
  align-items:flex-end;
  gap:3px;
  transform:rotate(-22deg);
  width:29px;
  height:27px;
  flex:none
}

.brand-mark i {
  display:block;
  width:7px;
  border-radius:5px;
  background:var(--color-primary)
}

.brand-mark i:nth-child(1) {
  height:15px
}

.brand-mark i:nth-child(2) {
  height:23px;
  background:var(--color-accent)
}

.brand-mark i:nth-child(3) {
  height:19px
}

.desktop-nav {
  display:none;
  align-items:center;
  gap:27px;
  margin-left:auto;
  color:#375870;
  font-size:14px;
  font-weight:700
}

.desktop-nav a:hover {
  color:var(--color-primary)
}

.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-width:253px;
  min-height:60px;
  padding:15px 24px;
  border:1px solid var(--color-primary);
  border-radius:100px;
  background:var(--color-primary);
  color:#fff;
  font-size:17px;
  font-weight:800;
  line-height:1.4;
  text-align:center;
  box-shadow:0 12px 26px rgba(11,103,178,.17);
  transition:transform .18s,background .18s,box-shadow .18s
}

.button .submit-label {
  white-space:nowrap
}

.button:hover {
  transform:translateY(-1px);
  background:var(--color-primary-strong);
  box-shadow:0 17px 30px rgba(11,103,178,.2)
}

.button:active {
  transform:translateY(0)
}

.button--small {
  min-width:219px;
  min-height:50px;
  padding:9px 17px;
  font-size:16px;
  white-space:nowrap;
  box-shadow:none
}

.button--light {
  border-color:#fff;
  background:#fff;
  color:var(--color-primary-strong);
  box-shadow:none
}

.button--light:hover {
  background:#e9f9ff;
  color:var(--color-primary-strong)
}

.header-cta {
  display:none
}

.hero {
  position:relative;
  overflow:hidden;
  padding:42px 0 90px;
  background:linear-gradient(110deg,#f6fbfe 0%,#f6fbfe 62%,#eaf7fd 100%)
}

.hero-grid {
  position:relative;
  z-index:2;
  display:grid;
  gap:38px
}

.hero-copy {
  position:relative;
  z-index:2;
  animation:enter .7s both
}

.eyebrow,.section-label {
  color:var(--color-primary);
  font-size:14px;
  font-weight:800;
  letter-spacing:.13em
}

.eyebrow {
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:23px
}

.eyebrow-line {
  display:inline-block;
  width:28px;
  height:1px;
  background:var(--color-accent)
}

.hero h1 {
  font-size:clamp(35px,8.4vw,52px);
  letter-spacing:-.035em;
  line-height:1.48
}

.hero h1 span {
  color:var(--color-primary)
}

.hero-lead {
  max-width:500px;
  margin-top:23px;
  color:#37556b;
  font-size:18px;
  line-height:1.8
}

.hero-action {
  display:grid;
  justify-items:start;
  gap:12px;
  margin-top:31px
}

.hero-action p {
  color:var(--color-muted);
  font-size:14px;
  font-weight:600
}

.hero-visual {
  position:relative;
  z-index:2;
  animation:enter .85s .1s both
}

.media {
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#d9edf7,#bcdfe9);
  isolation:isolate
}

.media img {
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover
}

.media-fallback {
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:20px;
  color:#36576d;
  text-align:center;
  font-size:14px;
  font-weight:700
}

.media--hero {
  aspect-ratio:1.19;
  border-radius:22px;
  box-shadow:0 18px 42px rgba(25,90,130,.14)
}

.media--hero img {
  object-position:76% center
}

.image-note {
  margin:8px 5px 0;
  color:#36576d;
  font-size:14px;
  text-align:right
}

.hero-flow {
  position:absolute;
  z-index:1;
  bottom:-3px;
  left:0;
  width:100%;
  height:60px
}

.hero-flow--desktop {
  display:none
}

.section {
  padding:86px 0
}

.section-label {
  margin-bottom:18px
}

.section-label--light {
  color:#bceeff
}

.sympathy {
  background:#fff
}

.sympathy-grid {
  display:grid;
  gap:29px
}

.sympathy h2,.work h2,.visit h2,.faq h2,.final-cta h2,.form-section h2 {
  font-size:28px
}

.sympathy-heading h2 {
  margin-bottom:16px
}

.sympathy-body p+p {
  margin-top:23px
}

.sympathy-body p {
  color:#36536a;
  line-height:1.8
}

.text-link {
  display:inline-flex;
  align-items:center;
  gap:30px;
  margin-top:27px;
  color:var(--color-primary);
  font-size:16px;
  font-weight:800;
  border-bottom:1px solid var(--color-primary);
  padding-bottom:4px
}

.text-link:hover {
  gap:37px
}

.work {
  position:relative;
  overflow:hidden;
  background:#eaf6fb
}

.work::before {
  content:"";
  position:absolute;
  top:-70px;
  right:-60px;
  width:240px;
  height:240px;
  border:1px solid rgba(53,182,232,.36);
  border-radius:50%;
  box-shadow:0 0 0 38px rgba(53,182,232,.065),0 0 0 78px rgba(53,182,232,.045)
}

.work-grid {
  position:relative;
  display:grid;
  gap:40px;
  align-items:center
}

.work-copy {
  max-width:520px
}

.work h2 {
  margin-bottom:25px
}

.section-intro {
  margin-bottom:22px;
  color:var(--color-primary);
  font-size:19px;
  font-weight:800;
  line-height:1.55
}

.work-copy>p:not(.section-label):not(.section-intro) {
  margin-top:17px;
  color:#37536a;
  line-height:1.8
}

.work-media-wrap {
  position:relative
}

.media--work {
  aspect-ratio:1.04;
  border-radius:16px 76px 16px 16px;
  box-shadow:var(--shadow-soft)
}

.media--work img {
  object-position:58% center
}

.media-caption {
  display:block;
  margin-top:9px;
  color:#36576d;
  font-size:14px
}

.work-wide {
  position:relative;
  margin-top:70px
}

.media--wide {
  aspect-ratio:2.35;
  border-radius:22px;
  box-shadow:var(--shadow-soft)
}

.media--wide img {
  object-position:center 48%
}

.work-wide>p {
  position:absolute;
  bottom:23px;
  left:20px;
  padding:13px 21px;
  background:rgba(255,255,255,.94);
  color:var(--color-primary-strong);
  border-radius:12px;
  font-size:14px;
  font-weight:800;
  line-height:1.65;
  box-shadow:var(--shadow-soft)
}

.visit {
  position:relative;
  overflow:hidden;
  background:var(--color-primary-strong);
  color:#fff
}

.visit::after {
  content:"";
  position:absolute;
  right:-100px;
  bottom:-175px;
  width:500px;
  height:330px;
  border:55px solid rgba(53,182,232,.24);
  border-radius:50%;
  transform:rotate(-17deg)
}

.visit-heading {
  position:relative;
  z-index:1
}

.visit h2 {
  margin-bottom:16px
}

.visit-heading>p:last-child {
  color:#d7f0fb
}

.visit-layout {
  position:relative;
  z-index:1;
  display:grid;
  gap:40px;
  align-items:center
}

.visit-list ol {
  padding:0;
  list-style:none;
  border-top:1px solid rgba(255,255,255,.3)
}

.visit-list li {
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:16px;
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.3);
  font-weight:700;
  line-height:1.7
}

.visit-list li span {
  color:#6dd8f4;
  font-size:14px;
  font-weight:800
}

.visit-reassurance {
  margin:29px 0 26px;
  font-size:18px;
  font-weight:800
}

.media--team {
  aspect-ratio:1.15;
  border-radius:76px 16px 76px 16px
}

.media--team img {
  object-position:center center
}

.faq {
  background:#fff
}

.faq-grid {
  display:grid;
  gap:32px
}

.faq-heading>p:last-child {
  margin-top:20px;
  color:var(--color-muted)
}

.faq-items {
  border-top:1px solid var(--color-line)
}

.faq-items details {
  border-bottom:1px solid var(--color-line)
}

.faq-items summary {
  display:grid;
  grid-template-columns:26px 1fr 28px;
  gap:14px;
  align-items:center;
  padding:21px 12px;
  margin-inline:-12px;
  border-radius:10px;
  cursor:pointer;
  list-style:none;
  font-weight:700;
  line-height:1.55;
  transition:background-color .2s,color .2s
}

.faq-items summary:hover,.faq-items summary:focus-visible {
  background:#f2f9fc;
  color:var(--color-primary-strong)
}

.faq-items summary:focus-visible {
  outline:2px solid var(--color-primary);
  outline-offset:2px
}

.faq-items summary::-webkit-details-marker {
  display:none
}

.faq-q,.faq-a {
  color:var(--color-primary);
  font-weight:800
}

.faq-icon {
  position:relative;
  width:24px;
  height:24px;
  border:1px solid var(--color-line);
  border-radius:50%;
  background:#f2f9fc
}

.faq-icon::before,.faq-icon::after {
  content:"";
  position:absolute;
  top:11px;
  left:7px;
  width:9px;
  height:1.5px;
  background:var(--color-primary);
  transition:transform .2s
}

.faq-icon::after {
  transform:rotate(90deg)
}

details[open] .faq-icon::before {
  transform:rotate(45deg)
}

details[open] .faq-icon::after {
  transform:rotate(-45deg)
}

.faq-answer {
  display:grid;
  grid-template-columns:26px 1fr;
  gap:14px;
  padding:0 42px 22px 0;
  color:#49677c;
  font-size:16px;
  line-height:1.8
}

.final-cta {
  position:relative;
  overflow:hidden;
  padding:73px 0;
  background:var(--color-primary);
  color:#fff
}

.final-cta::before,.final-cta::after {
  content:"";
  position:absolute;
  left:-8%;
  width:116%;
  height:110px;
  border-top:3px solid rgba(255,255,255,.23);
  border-radius:50%
}

.final-cta::before {
  top:8px;
  transform:rotate(-3deg)
}

.final-cta::after {
  bottom:-81px;
  transform:rotate(4deg)
}

.final-cta-inner {
  position:relative;
  z-index:1;
  display:grid;
  gap:20px;
  justify-items:start;
  align-items:center
}

.final-cta h2 {
  margin-bottom:12px
}

.final-cta p:last-child {
  color:#d7f1fc;
  font-size:18px
}

.final-cta .button {
  min-width:265px;
  min-height:66px;
  padding-inline:30px;
  box-shadow:0 14px 28px rgba(3,46,86,.18)
}

.final-cta .button:hover {
  box-shadow:0 17px 30px rgba(3,46,86,.22)
}

.form-section {
  background:#f6fbfe
}

.form-grid {
  display:grid;
  gap:36px
}

.form-grid>* {
  min-width:0
}

.form-intro>p:not(.section-label) {
  margin-top:22px;
  color:#506d82
}

.form-aside {
  margin-top:38px;
  padding-top:22px;
  border-top:1px solid var(--color-line);
  color:var(--color-primary);
  font-weight:800
}

.form-aside p {
  font-size:18px;
  line-height:1.6
}

.form-shell {
  padding:25px;
  background:#fff;
  border:1px solid #e4f0f5;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft)
}

.form-flow {
  padding:20px 21px 18px;
  margin-bottom:15px;
  border-radius:12px;
  background:#edf7fb
}

.form-flow h3 {
  margin:0 0 11px;
  color:var(--color-primary-strong);
  font-size:22px;
  font-weight:800;
  line-height:1.5
}

.form-flow ol {
  padding:0;
  list-style:none
}

.form-flow li {
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  gap:10px;
  align-items:baseline;
  padding:5px 0;
  color:#36566c;
  font-size:16px;
  line-height:1.7
}

.form-flow li span {
  color:var(--color-primary);
  font-size:14px;
  font-weight:800
}

.form-flow>p {
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--color-line);
  color:var(--color-primary-strong);
  font-size:14px;
  font-weight:700;
  line-height:1.75
}

.demo-notice {
  margin-bottom:21px;
  color:var(--color-primary-strong);
  font-size:14px;
  font-weight:600;
  line-height:1.8
}

.field {
  margin-bottom:17px
}

.field label {
  display:flex;
  align-items:baseline;
  gap:9px;
  margin-bottom:8px;
  font-size:15px;
  font-weight:700
}

.required,.optional {
  display:inline-block;
  padding:1px 7px;
  border-radius:4px;
  font-size:14px;
  font-weight:700;
  line-height:1.5;
  white-space:nowrap
}

.required {
  background:#e5f3fb;
  color:#0a5e9e
}

.optional {
  background:#f0f3f5;
  color:#36576d
}

.field input,.field textarea,.field select {
  display:block;
  width:100%;
  min-width:0;
  min-height:52px;
  padding:12px 14px;
  border:1px solid #b8d1df;
  border-radius:9px;
  background:#fff;
  color:var(--color-text);
  outline:none;
  transition:border-color .2s,box-shadow .2s
}

.field textarea {
  min-height:126px;
  resize:vertical
}

.field input:focus,.field textarea:focus,.field select:focus {
  border-color:var(--color-primary);
  box-shadow:0 0 0 3px rgba(11,103,178,.14)
}

.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible {
  outline:2px solid var(--color-primary);
  outline-offset:2px
}

.field input[aria-invalid="true"],.field textarea[aria-invalid="true"],.field select[aria-invalid="true"] {
  border-color:#bf3f49
}

.field input[type="date"] {
  max-width:100%
}

.field-error {
  min-height:0;
  color:#ad303e;
  font-size:14px;
  font-weight:700;
  line-height:1.5
}

.field-error:not(:empty) {
  margin-top:5px
}

.field-row {
  display:grid;
  gap:0
}

.field-row>* {
  min-width:0
}

.footer-bottom a {
  color:var(--color-primary-strong);
  text-decoration:underline;
  text-underline-offset:3px;
  transition:color .18s ease
}

.footer-bottom a:hover {
  color:var(--color-primary)
}

.form-submit {
  min-width:0;
  width:100%;
  margin-top:8px
}

.form-submit:disabled {
  opacity:.65;
  cursor:wait;
  transform:none;
  box-shadow:none
}

.form-status {
  min-height:0;
  margin-top:13px;
  color:var(--color-primary-strong);
  font-size:14px;
  font-weight:700
}

.form-status.is-error {
  color:#ad303e
}

.footer {
  padding:47px 0 23px;
  background:#e5f2f8;
  color:#36576d
}

.footer-main {
  display:grid;
  gap:26px;
  padding-bottom:31px;
  border-bottom:1px solid #c8dce7
}

.footer-brand {
  color:var(--color-text);
  font-size:18px;
  font-weight:800
}

.footer-disclaimer {
  font-size:14px
}

.footer-bottom {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:10px;
  padding-top:19px;
  color:#36576d;
  font-size:14px
}

.policy-main {
  max-width:800px;
  padding-block:76px 100px
}

.policy-main h1 {
  margin:12px 0 25px;
  font-size:clamp(30px,4vw,42px)
}

.policy-main h2 {
  margin-bottom:12px;
  font-size:28px
}

.policy-main section {
  margin-top:38px;
  padding-top:30px;
  border-top:1px solid var(--color-line)
}

.policy-main p {
  max-width:64ch
}

.policy-main .text-link {
  display:inline-block;
  margin-top:38px
}

.reveal {
  opacity:1;
  transform:none
}

.js-motion .reveal {
  opacity:0;
  transform:translateY(10px);
  transition:opacity .55s ease,transform .55s ease
}

.js-motion .reveal.is-visible {
  opacity:1;
  transform:none
}

@keyframes enter {
  from {
    opacity:0;
    transform:translateY(10px)
  }
  to {
    opacity:1;
    transform:none
  }
}

@media(min-width:600px) {
  .container {
    width:min(var(--container),calc(100% - 64px))
  }
  .header-cta {
    display:inline-flex
  }
  .hero {
    padding-top:64px
  }
  .hero-grid {
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:27px
  }
  .hero h1 {
    font-size:clamp(35px,4vw,60px)
  }
  .sympathy h2,.work h2,.visit h2,.faq h2,.final-cta h2,.form-section h2,.policy-main h2 {
    font-size:30px
  }
  .media--hero {
    aspect-ratio:.83;
    border-radius:26px
  }
  .hero-flow {
    height:75px
  }
  .field-row {
    grid-template-columns:1fr 1fr;
    gap:16px
  }
}

@media(min-width:800px) {
  body {
    font-size:17px
  }
  .header-inner {
    min-height:86px;
    gap:10px
  }
  .desktop-nav {
    display:flex;
    gap:12px
  }
  .section {
    padding:112px 0
  }
  .hero {
    padding:65px 0 125px
  }
  .hero-grid {
    grid-template-columns:minmax(0,.49fr) minmax(0,.51fr);
    gap:35px
  }
  .hero h1 {
    font-size:clamp(43px,4.3vw,62px);
    line-height:1.38
  }
  .hero-lead {
    margin-top:32px
  }
  .hero-action {
    margin-top:38px
  }
  .media--hero {
    aspect-ratio:.98
  }
  .hero-flow {
    height:180px
  }
  .hero-flow--desktop {
    display:block
  }
  .hero-flow--mobile {
    display:none
  }
  .image-note {
    position:absolute;
    top:-26px;
    right:2px;
    margin:0
  }
  .sympathy-grid {
    grid-template-columns:.92fr 1.08fr;
    gap:56px
  }
  .work-grid {
    grid-template-columns:.8fr 1.2fr;
    gap:58px
  }
  .media--work {
    aspect-ratio:.99
  }
  .work-wide {
    margin-top:106px;
    margin-bottom:-12px
  }
  .work-wide>p {
    bottom:28px;
    left:32px;
    padding:20px 27px;
    font-size:17px
  }
  .visit-layout {
    grid-template-columns:1fr 1fr;
    column-gap:62px;
    row-gap:42px;
    align-items:start
  }
  .visit-heading {
    grid-column:1;
    grid-row:1
  }
  .visit-list {
    grid-column:1;
    grid-row:2
  }
  .media--team {
    grid-column:2;
    grid-row:2
  }
  .faq-grid {
    grid-template-columns:.8fr 1.2fr;
    gap:70px
  }
  .final-cta-inner {
    grid-template-columns:minmax(0,1fr) auto;
    justify-items:stretch
  }
  .final-cta .button {
    justify-self:end
  }
  .form-grid {
    grid-template-columns:.75fr 1.25fr;
    gap:72px
  }
  .form-shell {
    padding:34px
  }
  .form-flow h3 {
    font-size:26px
  }
  .form-flow li,.text-link {
    font-size:17px
  }
  .form-flow>p,.demo-notice,.form-status,.footer-disclaimer {
    font-size:15px
  }
  .field label {
    font-size:16px
  }
  .faq-answer {
    font-size:17px
  }
  .footer-main {
    grid-template-columns:1fr 1fr
  }
}

@media(min-width:960px) {
  .sympathy h2,.work h2,.visit h2,.faq h2,.final-cta h2,.form-section h2,.policy-main h2 {
    font-size:34px
  }
}

@media(min-width:1024px) {
  .header-inner {
    gap:20px
  }
  .desktop-nav {
    gap:27px
  }
}

@media(min-width:1120px) {
  .sympathy h2,.work h2,.visit h2,.faq h2,.final-cta h2,.form-section h2,.policy-main h2 {
    font-size:36px
  }
  .hero-grid {
    width:min(1180px,calc(100% - 64px));
    grid-template-columns:minmax(0,.48fr) minmax(0,.52fr)
  }
  .media--hero {
    aspect-ratio:1.17
  }
  .hero {
    padding-top:74px
  }
  .visit-layout {
    column-gap:86px
  }
  .work-wide {
    width:min(1200px,calc(100% - 80px))
  }
}

@media(min-width:1360px) {
  .media--hero {
    aspect-ratio:1.2
  }
}

@media(min-width:1600px) {
  .hero-grid {
    width:min(1260px,calc(100% - 160px))
  }
  .work-wide {
    width:min(1280px,calc(100% - 160px))
  }
}

@media(max-width:599px) {
  .header-inner {
    min-height:65px
  }
  .brand-name {
    font-size:15px
  }
  .brand-name small {
    font-size:14px
  }
  .hero-visual {
    margin-right:-20px
  }
  .hero h1 {
    font-size:clamp(34px,8.1vw,45px)
  }
  .hero-lead br {
    display:none
  }
  .hero-action .button {
    width:100%
  }
  .media--hero {
    border-radius:22px 0 0 22px
  }
  .sympathy-body br,.work-copy br {
    display:none
  }
  .work-wide>p {
    bottom:10px;
    left:10px;
    padding:8px 12px;
    font-size:14px
  }
  .media--wide {
    aspect-ratio:1.35
  }
  .visit-list li {
    font-size:16px
  }
  .visit-list li span {
    font-size:14px
  }
  .final-cta .button {
    width:100%
  }
}

@media(max-width:359px) {
  .container {
    width:calc(100% - 32px)
  }
  .demo-ribbon {
    padding-inline:10px;
    letter-spacing:-.03em
  }
  .hero h1 {
    font-size:31px
  }
  .hero-visual {
    margin-right:-16px
  }
  .button {
    font-size:16px
  }
  .form-submit {
    padding-inline:10px
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important
  }
  .js-motion .reveal {
    opacity:1!important;
    transform:none!important
  }
}
