:root {
  --bg:#fbfaf7;
  --bg-soft:#f3f7f4;
  --surface:#fff;
  --text:#26332f;
  --text-soft:#66736f;
  --primary:#3e8b72;
  --primary-dark:#28634f;
  --primary-pale:#e8f3ee;
  --accent:#e8a96a;
  --line:#dce7e2;
  --heading:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  --body:"Noto Sans JP",sans-serif;
  --container:1180px;
  --shadow:0 18px 48px rgba(45,83,69,.09)
}

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

html {
  scroll-behavior:smooth
}

body {
  margin:0;
  color:var(--text);
  background:var(--surface);
  font-family:var(--body);
  font-size:16px;
  line-height:1.9;
  -webkit-font-smoothing:antialiased
}

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

button {
  font:inherit
}

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

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

.narrow {
  max-width:1040px
}

.eyebrow {
  margin:0 0 16px;
  color:var(--primary);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.16em
}

.button {
  display:inline-flex;
  min-height:58px;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:0 28px;
  border-radius:999px;
  font-weight:700;
  transition:.2s
}

.button:hover {
  transform:translateY(-2px)
}

.button--primary {
  color:#fff;
  background:var(--primary);
  box-shadow:0 14px 28px rgba(62,139,114,.25)
}

.button--primary:hover {
  background:var(--primary-dark)
}

.site-header {
  position:sticky;
  top:0;
  z-index:1000;
  border-bottom:1px solid rgba(220,231,226,.75);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  transition:.25s
}

.site-header.is-scrolled {
  background:rgba(255,255,255,.97);
  box-shadow:0 8px 28px rgba(45,83,69,.07)
}

.site-header__inner {
  position:relative;
  display:flex;
  min-height:76px;
  align-items:center;
  justify-content:space-between;
  gap:36px
}

.site-header__brand {
  display:inline-flex
}

.site-header__brand img {
  width:138px;
  height:auto
}

.site-nav {
  display:flex;
  align-items:center;
  gap:30px
}

.site-nav a {
  position:relative;
  padding:7px 0;
  color:var(--text-soft);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.12em
}

.site-nav a::after {
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:1px;
  background:var(--primary);
  content:"";
  transform:scaleX(0);
  transition:.25s
}

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

.site-nav a:hover::after {
  transform:scaleX(1)
}

.site-header__toggle {
  display:none;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  padding:0;
  border:0;
  background:transparent
}

.site-header__toggle span {
  display:block;
  width:21px;
  height:2px;
  border-radius:99px;
  background:currentColor;
  transition:.25s
}

.site-header.is-menu-open .site-header__toggle span:nth-child(1) {
  transform:translateY(7px) rotate(45deg)
}

.site-header.is-menu-open .site-header__toggle span:nth-child(2) {
  opacity:0
}

.site-header.is-menu-open .site-header__toggle span:nth-child(3) {
  transform:translateY(-7px) rotate(-45deg)
}

.section-heading {
  max-width:840px
}

.section-heading--center {
  margin-inline:auto;
  text-align:center
}

.section-heading h2,.feature h2,.entry h2 {
  margin:0;
  font-family:var(--heading);
  font-size:clamp(1.95rem,3.1vw,2.85rem);
  line-height:1.5;
  letter-spacing:-.035em
}

.section-heading h2 span,.feature h2 span,.entry h2 span {
  color:var(--primary)
}

.section-heading>p:last-child {
  max-width:720px;
  margin:23px auto 0;
  color:var(--text-soft);
  font-size:.96rem;
  line-height:2
}

.waitlist-hero {
  position:relative;
  overflow:hidden;
  background:radial-gradient(circle at 82% 18%,rgba(92,164,139,.16),transparent 27%),radial-gradient(circle at 4% 92%,rgba(232,169,106,.10),transparent 22%),linear-gradient(135deg,#fff 0%,#fafbf8 45%,#eef6f1 100%)
}

.waitlist-hero::before {
  position:absolute;
  top:70px;
  right:7%;
  width:190px;
  height:190px;
  opacity:.26;
  background-image:radial-gradient(rgba(62,139,114,.45) 1px,transparent 1px);
  background-size:14px 14px;
  content:""
}

.waitlist-hero__inner {
  position:relative;
  z-index:1;
  padding:64px 0 48px
}

.waitlist-hero__top {
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:54px;
  align-items:center
}

.waitlist-hero h1 {
  margin:0;
  font-family:var(--heading);
  font-size:clamp(2.4rem,3.55vw,3.7rem);
  line-height:1.4;
  letter-spacing:-.05em
}

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

.waitlist-hero__lead {
  margin:28px 0 0;
  padding-left:19px;
  border-left:3px solid var(--primary);
  font-family:var(--heading);
  font-size:1.03rem;
  font-weight:600;
  line-height:2
}

.waitlist-hero__lead strong {
  color:var(--primary-dark)
}

.waitlist-hero__tags {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:25px
}

.waitlist-hero__tags span {
  padding:7px 13px;
  border:1px solid rgba(62,139,114,.16);
  border-radius:999px;
  background:rgba(255,255,255,.7);
  color:var(--text-soft);
  font-size:.72rem;
  font-weight:600
}

.waitlist-hero__visual {
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:32px;
  box-shadow:var(--shadow)
}

.waitlist-hero__visual img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/2;
  object-fit:cover
}

.waitlist-hero__bottom {
  display:grid;
  grid-template-columns:1fr auto;
  gap:34px;
  align-items:center;
  margin-top:34px;
  padding-top:28px;
  border-top:1px solid rgba(62,139,114,.16)
}

.hero-pricing {
  display:flex;
  gap:12px
}

.hero-price {
  min-width:180px;
  padding:14px 18px;
  border:1px solid rgba(62,139,114,.14);
  border-radius:18px;
  background:rgba(255,255,255,.8)
}

.hero-price--accent {
  background:var(--primary-pale)
}

.hero-price>span {
  display:block;
  color:var(--text-soft);
  font-size:.56rem;
  font-weight:700;
  letter-spacing:.13em
}

.hero-price strong {
  display:block;
  color:var(--primary-dark);
  font-family:var(--heading);
  font-size:2rem;
  line-height:1.2
}

.hero-price strong small {
  margin-left:3px;
  font-size:.75rem
}

.hero-price em {
  color:var(--text-soft);
  font-size:.68rem;
  font-style:normal
}

.waitlist-hero__actions {
  display:flex;
  flex-direction:column;
  align-items:flex-end
}

.text-link {
  margin-top:10px;
  color:var(--primary-dark);
  font-size:.78rem;
  font-weight:600
}

.waitlist-hero__note {
  margin:18px 0 0;
  color:var(--text-soft);
  font-size:.72rem
}

.problem {
  padding:100px 0 106px;
  background:#fff
}

.problem-grid {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:28px;
  margin-top:50px
}

.problem-list {
  padding:34px 38px;
  border-radius:26px;
  background:var(--bg-soft)
}

.problem-list ul {
  margin:0;
  padding:0;
  list-style:none
}

.problem-list li {
  position:relative;
  padding:12px 0 12px 34px;
  border-bottom:1px solid var(--line);
  font-weight:500
}

.problem-list li:last-child {
  border:0
}

.problem-list li::before {
  position:absolute;
  left:0;
  content:"×";
  color:var(--accent);
  font-weight:700
}

.problem-voice {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px;
  border:1px solid rgba(62,139,114,.13);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.88) 55%,rgba(255,255,255,.96) 100%),url("assets/problem.jpg") center/cover no-repeat;
  text-align:center
}

.problem-voice>span {
  color:var(--text-soft);
  font-size:.75rem
}

.problem-voice blockquote {
  margin:14px 0;
  color:var(--primary-dark);
  font-family:var(--heading);
  font-size:1.55rem;
  font-weight:700;
  line-height:1.65
}

.problem-voice p {
  margin:0;
  color:var(--text-soft);
  font-size:.85rem
}

.problem-conclusion {
  margin:48px auto 0;
  padding-top:34px;
  border-top:1px solid var(--line);
  text-align:center
}

.problem-conclusion p {
  margin:0;
  color:var(--text-soft)
}

.problem-conclusion strong {
  display:block;
  margin-top:17px;
  color:var(--primary-dark);
  font-family:var(--heading);
  font-size:1.45rem;
  line-height:1.7
}

.solution {
  padding:100px 0 108px;
  background:var(--bg)
}

.flow {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin:54px 0 0;
  padding:0;
  list-style:none
}

.flow li {
  position:relative;
  padding:25px 18px 28px;
  border:1px solid rgba(62,139,114,.12);
  border-radius:22px;
  background:#fff;
  text-align:center;
  box-shadow:0 12px 30px rgba(45,83,69,.05)
}

.flow li:not(:last-child)::after {
  position:absolute;
  top:61px;
  right:-13px;
  z-index:2;
  content:"→";
  color:var(--accent);
  font-weight:700
}

.flow__number {
  display:block;
  color:var(--primary);
  font-size:.6rem;
  font-weight:700;
  letter-spacing:.13em
}

.flow__icon {
  display:grid;
  width:54px;
  height:54px;
  place-items:center;
  margin:14px auto 17px;
  border-radius:50%;
  color:#fff;
  background:var(--primary);
  font-size:1.15rem
}

.flow h3 {
  margin:0;
  font-family:var(--heading);
  font-size:1rem;
  line-height:1.55
}

.flow p {
  margin:12px 0 0;
  color:var(--text-soft);
  font-size:.78rem;
  line-height:1.85
}

.solution-note {
  max-width:760px;
  margin:35px auto 0;
  padding:17px 22px;
  border-radius:14px;
  background:#fff;
  color:var(--text-soft);
  font-size:.76rem;
  text-align:center
}

.feature {
  padding:104px 0;
  background:#fff
}

.feature__grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:70px;
  align-items:center
}

.feature__content>p:not(.eyebrow) {
  margin:25px 0 0;
  color:var(--text-soft)
}

.feature-message {
  margin-top:30px;
  padding:22px 24px;
  border-left:4px solid var(--primary);
  background:var(--bg-soft);
  font-family:var(--heading)
}

.feature-message strong {
  color:var(--primary-dark);
  font-size:1.12rem
}

.feature-diagram {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:18px;
  align-items:center;
  padding:36px;
  border:1px solid var(--line);
  border-radius:30px;
  background:var(--bg);
  box-shadow:var(--shadow)
}

.booking-methods {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:9px
}

.booking-methods span {
  padding:13px 9px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  font-size:.75rem;
  font-weight:600;
  text-align:center
}

.feature-plus {
  color:var(--accent);
  font-size:2rem;
  font-weight:500
}

.waitlist-addon {
  padding:30px 20px;
  border-radius:22px;
  color:#fff;
  background:linear-gradient(145deg,var(--primary),var(--primary-dark));
  text-align:center
}

.waitlist-addon small {
  display:block;
  opacity:.7;
  font-size:.58rem;
  letter-spacing:.14em
}

.waitlist-addon strong {
  display:block;
  margin-top:9px;
  font-family:var(--heading);
  font-size:1.18rem;
  line-height:1.55
}

.waitlist-addon span {
  display:block;
  margin-top:13px;
  font-size:.68rem;
  opacity:.8
}

.benefits {
  padding:100px 0 108px;
  background:var(--bg-soft)
}

.benefit-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  max-width:1050px;
  margin:50px auto 0
}

.benefit-card {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 180px;
  gap:24px;
  min-height:230px;
  align-items:center;
  overflow:hidden;
  padding:32px 28px 32px 34px;
  border:1px solid rgba(62,139,114,.11);
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 36px rgba(45,83,69,.05)
}

.benefit-card::after {
  position:absolute;
  right:20px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:var(--primary-pale);
  content:""
}

.benefit-card__content {
  position:relative;
  z-index:2;
  min-width:0
}

.benefit-card__number {
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border:1px solid rgba(62,139,114,.14);
  border-radius:50%;
  color:var(--primary);
  background:var(--primary-pale);
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.1em
}

.benefit-card h3 {
  margin:17px 0 0;
  font-family:var(--heading);
  font-size:1.2rem;
  line-height:1.55
}

.benefit-card p {
  margin:12px 0 0;
  color:var(--text-soft);
  font-size:.84rem;
  line-height:1.9
}

.benefit-card__visual {
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0
}

.benefit-card__visual img {
  display:block;
  width:180px;
  max-width:100%;
  height:auto;
  object-fit:contain
}

.entry {
  padding:104px 0;
  background:#fff
}

.entry__grid {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:72px;
  align-items:center
}

.entry__visual {
  position: relative;
  margin: 0 14px 14px 0;
  overflow: visible;
  border-radius: 30px;
}

.entry__visual::before {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 0;
  width: 100%;
  height: 100%;
  border-radius: 30px;
  background: var(--primary-pale);
  content: "";
}

.entry__visual img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  border-radius: 30px;
}

.entry__content>p:not(.eyebrow):not(.entry__message) {
  margin:24px 0 0;
  color:var(--text-soft)
}

.entry-list {
  margin:30px 0 0;
  padding:0;
  list-style:none
}

.entry-list li {
  display:grid;
  grid-template-columns:120px 1fr;
  gap:18px;
  padding:12px 0;
  border-bottom:1px solid var(--line)
}

.entry-list strong {
  color:var(--primary-dark)
}

.entry-list span {
  color:var(--text-soft);
  font-size:.86rem
}

.entry__message {
  margin:27px 0 0;
  padding:17px 20px;
  border-radius:14px;
  background:var(--primary-pale);
  color:var(--primary-dark);
  font-weight:700;
  text-align:center
}

.usecase {
  padding:100px 0 108px;
  background:var(--bg)
}

.usecase__content {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:28px;
  align-items:stretch;
  max-width:1050px;
  margin:50px auto 0
}

.usecase__card {
  display:flex;
  min-width:0;
  flex-direction:column;
  padding:30px 34px 32px;
  border-radius:24px;
  background:#fff
}

.check-list {
  margin:0;
  padding:0;
  list-style:none
}

.check-list li {
  position:relative;
  padding:10px 0 10px 34px;
  border-bottom:1px solid var(--line);
  font-size:.9rem
}

.check-list li:last-child {
  border:0
}

.check-list li::before {
  position:absolute;
  left:0;
  content:"✓";
  color:var(--primary);
  font-weight:700
}

.usecase__industries {
  margin-top:auto;
  padding-top:26px;
  border-top:1px solid var(--line)
}

.usecase__industries-title {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 16px;
  color:var(--primary);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.12em
}

.usecase__industries-title::after {
  height:1px;
  flex:1;
  background:var(--line);
  content:""
}

.industry-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px
}

.industry-item {
  display:flex;
  min-width:0;
  min-height:76px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:7px;
  padding:10px 7px;
  border:1px solid rgba(62,139,114,.10);
  border-radius:14px;
  background:var(--bg-soft);
  color:var(--text-soft);
  font-size:.67rem;
  line-height:1.45;
  text-align:center
}

.industry-item__icon {
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:50%;
  color:var(--primary-dark);
  background:var(--primary-pale)
}

.industry-item__icon svg {
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round
}

.usecase__visual {
  min-height:0;
  margin:0;
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 36px rgba(45,83,69,.07)
}

.usecase__visual img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center
}

.screens {
  padding:100px 0 108px;
  background:#fff
}

.screen-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:50px
}

.screen-grid article {
  display:flex;
  min-width:0;
  overflow:hidden;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 36px rgba(45,83,69,.06)
}

.screen-visual {
  position:relative;
  margin:0;
  overflow:hidden;
  aspect-ratio:4/3;
  background:var(--bg-soft)
}

.screen-visual img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center
}

.screen-content {
  display:flex;
  flex:1;
  flex-direction:column;
  padding:26px 27px 30px
}

.screen-grid small {
  color:var(--primary);
  font-size:.6rem;
  font-weight:700;
  letter-spacing:.13em
}

.screen-grid h3 {
  margin:7px 0 0;
  font-family:var(--heading);
  font-size:1.15rem
}

.screen-grid p {
  margin:12px 0 0;
  color:var(--text-soft);
  font-size:.83rem
}

.price {
  padding:100px 0 108px;
  background:var(--bg-soft)
}

.price-card {
  max-width:920px;
  margin:50px auto 0;
  overflow:hidden;
  border:1px solid rgba(62,139,114,.15);
  border-radius:30px;
  background:#fff;
  box-shadow:var(--shadow)
}

.price-card__main {
  display:grid;
  grid-template-columns:1fr 1px 1fr;
  gap:34px;
  align-items:center;
  padding:38px 48px;
  background:linear-gradient(135deg,#fff,#f0f7f3)
}

.price-card__main>div:not(.price-divider) {
  text-align:center
}

.price-card__main small {
  color:var(--text-soft);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.14em
}

.price-card__main strong {
  display:block;
  color:var(--primary-dark);
  font-family:var(--heading);
  font-size:3.6rem;
  line-height:1.2
}

.price-card__main strong span {
  margin-left:4px;
  font-size:.9rem
}

.price-card__main p {
  margin:2px 0 0;
  color:var(--text-soft);
  font-size:.78rem
}

.price-divider {
  width:1px;
  height:90px;
  background:var(--line)
}

.price-card__included {
  padding:30px 42px 34px;
  border-top:1px solid var(--line)
}

.price-card__included>p {
  margin:0 0 17px;
  font-family:var(--heading);
  font-weight:700
}

.price-card__included ul {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px 28px;
  margin:0;
  padding:0;
  list-style:none
}

.price-card__included li {
  position:relative;
  padding-left:27px;
  color:var(--text-soft);
  font-size:.86rem
}

.price-card__included li::before {
  position:absolute;
  left:0;
  content:"✓";
  color:var(--primary);
  font-weight:700
}

.price-note {
  max-width:800px;
  margin:24px auto 0;
  color:var(--text-soft);
  font-size:.76rem;
  text-align:center
}

.start {
  padding:100px 0 108px;
  background:#fff
}

.start-steps {
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
  margin:52px 0 0;
  padding:0;
  list-style:none
}

.start-steps::before {
  position:absolute;
  top:31px;
  right:8%;
  left:8%;
  height:1px;
  background:var(--line);
  content:""
}

.start-steps li {
  position:relative;
  z-index:1;
  padding:0 12px;
  text-align:center
}

.start-steps li>span {
  display:grid;
  width:62px;
  height:62px;
  place-items:center;
  margin:auto;
  border:1px solid rgba(62,139,114,.18);
  border-radius:50%;
  color:var(--primary);
  background:#fff;
  box-shadow:0 8px 22px rgba(45,83,69,.07);
  font-size:.75rem;
  font-weight:700
}

.start-steps h3 {
  margin:20px 0 0;
  font-family:var(--heading);
  font-size:1rem
}

.start-steps p {
  margin:10px 0 0;
  color:var(--text-soft);
  font-size:.76rem;
  line-height:1.8
}

.faq {
  padding:100px 0 108px;
  background:var(--bg)
}

.faq__list {
  max-width:900px;
  margin:50px auto 0;
  border-top:1px solid var(--line)
}

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

.faq summary {
  position:relative;
  padding:23px 62px 23px 0;
  cursor:pointer;
  list-style:none;
  font-family:var(--heading);
  font-weight:600
}

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

.faq summary::before,.faq summary::after {
  position:absolute;
  top:50%;
  right:8px;
  width:18px;
  height:1.5px;
  background:var(--primary);
  content:""
}

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

.faq details[open] summary::after {
  transform:rotate(0)
}

.faq details>div {
  max-width:780px;
  padding:0 60px 26px 0
}

.faq details p {
  margin:0;
  color:var(--text-soft);
  font-size:.9rem
}

.final-cta {
  position:relative;
  overflow:hidden;
  padding:104px 0 110px;
  color:#fff;
  background:radial-gradient(circle at 82% 15%,rgba(113,190,162,.25),transparent 28%),radial-gradient(circle at 10% 92%,rgba(232,169,106,.15),transparent 25%),linear-gradient(135deg,#28634f,#1f4e40 55%,#183c32)
}

.final-cta::before {
  position:absolute;
  top:58px;
  right:8%;
  width:180px;
  height:180px;
  opacity:.18;
  background-image:radial-gradient(#fff 1px,transparent 1px);
  background-size:14px 14px;
  content:""
}

.final-cta__inner {
  position:relative;
  z-index:1;
  max-width:850px;
  text-align:center
}

.final-cta__eyebrow {
  margin:0 0 17px;
  color:rgba(255,255,255,.65);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.15em
}

.final-cta h2 {
  margin:0;
  font-family:var(--heading);
  font-size:clamp(2rem,3.5vw,3.1rem);
  line-height:1.5;
  letter-spacing:-.04em
}

.final-cta h2 span {
  color:#a9dec9
}

.final-cta__inner>p:not(.final-cta__eyebrow) {
  margin:24px 0 0;
  color:rgba(255,255,255,.78)
}

.final-cta__price {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  margin-top:28px
}

.final-cta__price span {
  font-size:.85rem
}

.final-cta__price strong {
  margin-left:7px;
  font-family:var(--heading);
  font-size:1.35rem
}

.final-cta__price i {
  width:1px;
  height:24px;
  background:rgba(255,255,255,.22)
}

.final-cta__actions {
  margin-top:35px
}

.final-cta__primary {
  display:inline-flex;
  min-height:64px;
  align-items:center;
  justify-content:center;
  gap:20px;
  padding:0 30px;
  border-radius:999px;
  color:var(--primary-dark);
  background:#fff;
  box-shadow:0 18px 38px rgba(0,0,0,.18);
  font-family:var(--heading);
  font-size:.92rem;
  font-weight:700;
  transition:.22s
}

.final-cta__primary:hover {
  transform:translateY(-3px)
}

.final-cta__actions p {
  margin:12px 0 0;
  color:rgba(255,255,255,.55);
  font-size:.72rem
}

.footer {
  color:rgba(255,255,255,.82);
  background:linear-gradient(180deg,#29483f,#1d302b)
}

.footer__inner {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:80px;
  padding:72px 0 56px
}

.footer__brand {
  max-width:200px
}

.footer__brand img {
  width:200px;
  height: auto;
}

.footer__message {
  width:200px;
  margin-top:22px;
  color:rgba(255,255,255,.72);
  font-size:.7rem;
  line-height:1.8;
  text-align:center
}

.footer__message strong {
  display:block;
  margin-bottom:6px;
  color:#fff;
  letter-spacing:.08em
}

.footer__menu {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:56px
}

.footer__column h3 {
  margin:0 0 22px;
  color:#fff;
  font-size:.78rem;
  letter-spacing:.16em
}

.footer__column ul {
  margin:0;
  padding:0;
  list-style:none
}

.footer__column li+li {
  margin-top:14px
}

.footer__column a {
  color:rgba(255,255,255,.72);
  font-size:.93rem
}

.footer__column a:hover,.footer__column a[aria-current="page"] {
  color:#fff
}

.footer__bottom {
  border-top:1px solid rgba(255,255,255,.08)
}

.footer__bottom .container {
  padding:24px 0;
  text-align:center
}

.footer__bottom small {
  color:rgba(255,255,255,.52);
  font-size:.78rem
}

.back-to-top {
  position:fixed;
  right:28px;
  bottom:28px;
  z-index:999;
  display:flex;
  width:54px;
  height:54px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#fff;
  background:rgba(62,139,114,.92);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  font-size:1.35rem;
  font-weight:700;
  opacity:0;
  pointer-events:none;
  transition:.25s
}

@media(max-width:1080px) {
  .waitlist-hero__top {
    grid-template-columns:1fr
  }
  .waitlist-hero__visual {
    max-width:800px;
    width:100%;
    margin:auto
  }
  .waitlist-hero__bottom {
    grid-template-columns:1fr
  }
  .waitlist-hero__actions {
    align-items:flex-start
  }
  .flow {
    grid-template-columns:repeat(3,1fr)
  }
  .flow li::after {
    display:none
  }
  .start-steps {
    grid-template-columns:repeat(3,1fr);
    gap:30px 10px
  }
  .start-steps::before {
    display:none
  }
}

@media(max-width:900px) {
  .feature__grid,.entry__grid,.usecase__content {
    grid-template-columns:1fr
  }
  .feature__grid,.entry__grid {
    gap:46px
  }
  .usecase__content {
    gap:22px
  }
  .usecase__card {
    width:100%;
    max-width:600px;
    margin:auto
  }
  .usecase__industries {
    margin-top:26px
  }
  .usecase__visual {
    width:100%;
    max-width:600px;
    aspect-ratio:4/3;
    margin:auto
  }
  .usecase__visual img {
    height:100%;
    object-position:center 35%
  }
  .entry__visual {
    max-width:600px;
    width:100%;
    margin:auto
  }
  .screen-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px
  }
  .benefit-grid {
    gap:16px
  }
  .benefit-card {
    grid-template-columns:minmax(0,1fr) 150px;
    gap:18px;
    padding:29px 24px 29px 28px
  }
  .benefit-card::after {
    right:12px;
    width:150px;
    height:150px
  }
  .benefit-card__visual img {
    width:150px
  }
  .footer__inner {
    grid-template-columns:1fr;
    gap:56px
  }
}

@media(max-width:820px) {
  .site-header__inner {
    min-height:66px
  }
  .site-header__brand img {
    width:124px
  }
  .site-header__toggle {
    position:relative;
    z-index:2;
    display:flex
  }
  .site-nav {
    position:absolute;
    top:calc(100% + 1px);
    right:0;
    left:0;
    flex-direction:column;
    gap:0;
    align-items:stretch;
    padding:10px 22px 16px;
    border:1px solid var(--line);
    border-top:0;
    border-radius:0 0 22px 22px;
    background:rgba(255,255,255,.98);
    box-shadow:0 22px 40px rgba(45,83,69,.12);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:.2s
  }
  .site-header.is-menu-open .site-nav {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none
  }
  .site-nav a {
    display:block;
    padding:15px 2px;
    border-bottom:1px solid var(--line)
  }
  .site-nav a:last-child {
    border:0
  }
  .site-nav a::after {
    display:none
  }
}

@media(max-width:680px) {
  .container {
    width:min(calc(100% - 32px),var(--container))
  }
  .site-header__inner {
    min-height:62px
  }
  .site-header__brand img {
    width:116px
  }
  .section-heading h2,.feature h2,.entry h2 {
    font-size:1.8rem;
    line-height:1.55
  }
  .section-heading>p:last-child {
    text-align:left;
    font-size:.92rem
  }
  .waitlist-hero__inner {
    padding:46px 0 50px
  }
  .waitlist-hero h1 {
    font-size:clamp(2rem,9.5vw,2.75rem);
    line-height:1.46
  }
  .waitlist-hero__lead {
    font-size:.92rem
  }
  .waitlist-hero__lead br {
    display:none
  }
  .waitlist-hero__tags {
    gap:6px
  }
  .waitlist-hero__tags span {
    font-size:.65rem
  }
  .waitlist-hero__visual {
    border-radius:24px
  }
  .waitlist-hero__bottom {
    gap:20px;
    margin-top:25px
  }
  .hero-pricing {
    display:grid;
    grid-template-columns:1fr 1fr
  }
  .hero-price {
    min-width:0;
    padding:13px
  }
  .hero-price strong {
    font-size:1.65rem
  }
  .waitlist-hero__actions {
    align-items:stretch
  }
  .button {
    width:100%;
    padding:0 20px
  }
  .text-link {
    text-align:center
  }
  .waitlist-hero__note {
    line-height:1.7
  }
  .problem,.solution,.feature,.benefits,.entry,.usecase,.screens,.price,.start,.faq {
    padding:72px 0 78px
  }
  .problem-grid {
    grid-template-columns:1fr;
    gap:14px;
    margin-top:36px
  }
  .problem-list,.problem-voice {
    padding:26px 24px
  }
  .problem-conclusion {
    text-align:left
  }
  .problem-conclusion br {
    display:none
  }
  .problem-conclusion strong {
    font-size:1.2rem
  }
  .flow {
    grid-template-columns:1fr;
    gap:12px;
    margin-top:38px
  }
  .flow li {
    display:grid;
    grid-template-columns:48px 1fr;
    gap:3px 16px;
    padding:22px;
    text-align:left
  }
  .flow__number {
    grid-column:1;
    grid-row:1
  }
  .flow__icon {
    grid-column:1;
    grid-row:2/4;
    width:44px;
    height:44px;
    margin:3px 0 0
  }
  .flow h3 {
    grid-column:2;
    grid-row:1/3;
    align-self:center
  }
  .flow p {
    grid-column:2;
    margin-top:5px
  }
  .solution-note {
    text-align:left
  }
  .feature__grid {
    gap:38px
  }
  .feature-diagram {
    grid-template-columns:1fr;
    padding:25px
  }
  .feature-plus {
    text-align:center
  }
  .booking-methods {
    grid-template-columns:repeat(2,1fr)
  }
  .benefit-grid {
    grid-template-columns:1fr;
    gap:14px;
    margin-top:38px
  }
  .benefit-card {
    grid-template-columns:minmax(0,1fr) 125px;
    gap:14px;
    min-height:190px;
    padding:25px 18px 25px 23px;
    border-radius:20px
  }
  .benefit-card::after {
    right:4px;
    width:130px;
    height:130px
  }
  .benefit-card__number {
    width:36px;
    height:36px;
    font-size:.6rem
  }
  .benefit-card h3 {
    margin-top:13px;
    font-size:1.05rem
  }
  .benefit-card p {
    margin-top:9px;
    font-size:.78rem;
    line-height:1.75
  }
  .benefit-card__visual img {
    width:125px
  }
  .entry__grid {
    gap:38px
  }
  .entry__visual {
    min-height:0;
    border-radius:24px
  }
  .entry-list li {
    grid-template-columns:90px 1fr;
    gap:10px
  }
  .usecase__content {
    gap:18px;
    margin-top:38px
  }
  .usecase__card {
    max-width:none;
    padding:25px 23px 24px;
    border-radius:20px
  }
  .usecase__industries {
    margin-top:24px;
    padding-top:22px
  }
  .industry-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px
  }
  .industry-item {
    min-height:74px;
    padding:9px 6px;
    font-size:.66rem
  }
  .industry-item__icon {
    width:28px;
    height:28px
  }
  .industry-item__icon svg {
    width:15px;
    height:15px
  }
  .usecase__visual {
    max-width:none;
    aspect-ratio:4/3;
    border-radius:20px
  }
  .screen-grid {
    grid-template-columns:1fr;
    gap:18px;
    max-width:520px;
    margin:38px auto 0
  }
  .screen-grid article {
    border-radius:20px
  }
  .screen-content {
    padding:23px 22px 26px
  }
  .price-card {
    margin-top:38px;
    border-radius:22px
  }
  .price-card__main {
    grid-template-columns:1fr;
    padding:28px 24px;
    gap:20px
  }
  .price-divider {
    width:100%;
    height:1px
  }
  .price-card__main strong {
    font-size:3rem
  }
  .price-card__included {
    padding:25px 24px
  }
  .price-card__included ul {
    grid-template-columns:1fr
  }
  .price-note {
    text-align:left
  }
  .start-steps {
    grid-template-columns:1fr;
    gap:0;
    margin-top:38px
  }
  .start-steps li {
    display:grid;
    grid-template-columns:58px 1fr;
    gap:3px 18px;
    padding:0 0 28px;
    text-align:left
  }
  .start-steps li>span {
    grid-row:1/3;
    width:58px;
    height:58px
  }
  .start-steps h3 {
    margin:2px 0 0
  }
  .start-steps p {
    margin-top:5px
  }
  .faq__list {
    margin-top:38px
  }
  .faq summary {
    padding:21px 44px 21px 0;
    font-size:.92rem
  }
  .faq details>div {
    padding:0 44px 23px 0
  }
  .final-cta {
    padding:76px 0 82px
  }
  .final-cta h2 {
    font-size:1.9rem
  }
  .final-cta__price {
    gap:14px
  }
  .final-cta__primary {
    width:100%;
    min-height:62px;
    padding:0 20px;
    font-size:.85rem
  }
  .footer__inner {
    padding:56px 0 40px;
    gap:46px
  }
  .footer__brand {
    width:200px;
    margin:auto;
    text-align:center
  }
  .footer__brand img {
    width:160px;
    margin:auto
  }
  .footer__message {
    width:100%
  }
  .footer__menu {
    grid-template-columns:1fr;
    gap:38px;
    text-align:center
  }
  .back-to-top {
    right:18px;
    bottom:18px;
    width:48px;
    height:48px
  }
}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    transition-duration:.01ms!important
  }
}
