:root{--bg:#fff;--surface:#f2f6ff;--ink:#13233e;--secondary:#526179;--accent:#245df4;--line:#d9e2f0;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:32px}body{font-family:'Noto Sans JP',sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.85;font-weight:400;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,strong{font-weight:500}h1,h2,h3{line-height:1.5;letter-spacing:-.025em}p{overflow-wrap:anywhere}figure{margin:0}ul,ol{padding-left:1.2em}button,a,input,select,textarea,summary{outline-offset:5px}:focus-visible{outline:2px solid #465a7a;outline-offset:2px}.wrap{width:calc(100% - 80px);max-width:1240px;margin-inline:auto}.section{padding-block:96px}.skip-link{position:fixed;left:16px;top:-100px;padding:12px 20px;background:white;z-index:30}.skip-link:focus{top:16px}.wordmark{font-size:32px;font-weight:500;letter-spacing:-.055em;line-height:1;color:#142ba4}.site-header{height:80px;display:flex;align-items:center;gap:48px;position:relative;z-index:5}.site-header nav{display:flex;gap:36px;font-size:14px;font-weight:500;margin-left:24px}.site-header .header-cta{margin-left:auto;min-height:40px;padding:10px 24px;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:var(--accent);color:white;border:0;border-radius:10px;padding:12px 28px;font-size:15px;font-weight:500;line-height:1.6;cursor:pointer;transition:background 160ms var(--ease),transform 160ms var(--ease)}.button:hover{background:#1546cf}.button:active{transform:scale(.98)}.menu-toggle{display:none}.hero{background:var(--surface);padding-block:64px 72px}.hero-grid{display:grid;grid-template-columns:.82fr 1.4fr;gap:48px;align-items:center}.hero h1{font-size:clamp(36px,3.35vw,54px);line-height:1.5;letter-spacing:-.035em}.hero-description{font-size:15px;color:var(--secondary);line-height:1.9;margin-top:24px}.hero-cta{margin-top:32px;min-height:52px;padding-inline:32px}.hero-proof{display:grid;grid-template-columns:.85fr 1.15fr;gap:16px;padding:16px;background:#fff;border:1px solid #e2e9f7;border-radius:20px;box-shadow:0 16px 48px #173b7910;align-items:stretch;min-width:0}.conversation{min-width:0;border-radius:10px;overflow:hidden;align-self:stretch}.conversation img{width:100%;height:100%;object-fit:cover;object-position:center}.record-result{padding:4px 0;min-width:0;display:flex;flex-direction:column;justify-content:center}.result-step{padding:20px 8px;border-bottom:1px solid var(--line)}.result-step:first-child{padding-top:8px}.result-step:last-child{border-bottom:0;padding-bottom:8px}.result-step h2{font-size:17px;line-height:1.5;letter-spacing:0;margin-bottom:12px}.result-step p,.result-step li{font-size:13px;line-height:1.9}.result-step ul{padding-left:18px;display:grid;gap:4px}.result-summary{margin-top:4px;background:var(--surface);border-radius:10px;border-bottom:0;padding:16px 12px}.feature-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:center}.feature-copy h2,.retrieval h2,.register-section h2{font-size:40px;line-height:1.55}.feature-copy>p,.retrieval-grid>div>p{color:var(--secondary);margin-top:24px;font-size:15px}.retrieval{background:var(--surface)}.retrieval-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center}.pricing-section>h2{font-size:40px;text-align:center}.mobile-break{display:none}.plans{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1040px;margin:48px auto 0}.plan{padding:36px;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;min-width:0}.plan-premium{background:var(--surface)}.plan h3{font-size:28px}.price{display:flex;align-items:baseline;gap:12px;margin-top:24px;font-variant-numeric:tabular-nums;line-height:1.2}.price strong{font-size:64px;color:var(--accent);letter-spacing:-.035em}.price span{font-size:18px}.annual-price{font-size:13px;color:var(--secondary);margin-top:12px}.plan-common{margin-top:32px;text-align:center;font-size:14px;color:var(--secondary)}.faq-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:72px;padding-top:0}.faq-section>h2{font-size:36px;white-space:nowrap}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;position:relative;padding:20px 32px 20px 0;font-size:15px;font-weight:500;line-height:1.7}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:before,.faq-list summary:after{content:'';position:absolute;right:4px;top:32px;width:14px;height:2px;background:var(--accent)}.faq-list summary:after{transform:rotate(90deg);transition:transform 160ms var(--ease)}.faq-list details[open] summary:after{transform:rotate(0)}.faq-list details>p{font-size:14px;color:var(--secondary);padding:0 24px 24px 0;line-height:1.9}.register-section{background:var(--surface)}.register-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:96px}.register-inner>div>p{margin-top:20px;color:var(--secondary);font-size:16px}.registration-form label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}.registration-form .required{font-size:12px;margin-left:8px;color:var(--accent)}input,select,textarea{display:block;width:100%;padding:12px 16px;min-height:48px;background:white;border:1px solid #bcc9dc;border-radius:8px;color:var(--ink);font-size:16px;line-height:1.6}textarea{resize:vertical;min-height:112px}input::placeholder,textarea::placeholder{color:#7c8ba4}.registration-form form>details{margin:20px 0}.registration-form details summary{cursor:pointer;font-size:13px;line-height:1.8}.optional-fields{display:grid;gap:20px;padding-top:20px}.registration-form .button,.registration-form button[type=submit]{width:100%;margin-top:24px}.registration-form form>details+button{margin-top:0}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-message{font-size:14px;margin-top:16px;line-height:1.8}.form-message:empty{display:none}.form-message.error{color:#ad2634}.form-message.success{color:#145f49}.site-footer{padding-block:32px;display:flex;align-items:center;gap:40px}.site-footer nav{display:flex;gap:28px;font-size:13px;margin-left:auto}.site-footer>span{font-size:12px;color:var(--secondary)}
@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hero-grid{animation:enter 450ms var(--ease) both}.scroll-emphasis{transition:box-shadow 240ms var(--ease)}.scroll-emphasis.is-seen{box-shadow:0 16px 34px #13233e17}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.hero-grid{gap:28px;grid-template-columns:.85fr 1.35fr}.hero{padding-block:48px 56px}.hero-proof{padding:12px;gap:12px}.result-step{padding:16px 4px}.result-step h2{font-size:15px;margin-bottom:8px}.result-step p,.result-step li{font-size:12px}.result-summary{padding:12px 8px}.feature-row{gap:48px}.feature-copy h2,.retrieval h2,.register-section h2{font-size:34px}.retrieval-grid,.register-inner{gap:64px}.faq-section{gap:40px}.faq-section>h2{font-size:30px}.plan{padding:28px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.section{padding-block:64px}.site-header{height:64px;gap:20px}.wordmark{font-size:27px}.site-header .header-cta{font-size:12px;min-height:36px;padding:8px 20px}.site-header nav{display:none;position:absolute;left:0;right:0;top:60px;margin:0;background:white;border:1px solid var(--line);border-radius:10px;padding:8px;box-shadow:0 12px 28px #13233e12}.site-header nav.is-open{display:grid;gap:0}.site-header nav a{padding:12px 16px}.menu-toggle{display:grid;gap:6px;align-content:center;width:24px;min-height:40px;padding:0;background:none;border:0;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);border-radius:1px}.hero{padding-block:40px}.hero-grid{grid-template-columns:1fr;gap:32px}.hero-copy{text-align:center}.hero h1{font-size:34px;line-height:1.5;letter-spacing:-.025em}.hero-description{font-size:13px;line-height:1.85;margin-top:20px}.hero-cta{font-size:14px;min-height:48px;margin-top:24px;padding-inline:32px}.hero-proof{display:block;padding:12px;border-radius:16px;box-shadow:0 12px 32px #173b790a}.conversation{display:block;border-radius:8px}.conversation img{height:auto;aspect-ratio:2.2;object-fit:cover}.record-result{padding:8px 4px 4px;display:block}.result-step{padding:20px 4px}.result-step:first-child{padding-top:16px}.result-step h2{font-size:16px;margin-bottom:8px}.result-step p,.result-step li{font-size:13px;line-height:1.85}.result-summary{padding:16px 12px;margin-top:0}.result-step:last-child{padding-bottom:8px}.feature-row{grid-template-columns:1fr;gap:28px}.feature-copy h2,.retrieval h2,.register-section h2{font-size:30px;line-height:1.55}.feature-copy>p,.retrieval-grid>div>p{font-size:14px;line-height:1.9;margin-top:20px}.feature-copy>p br{display:none}.retrieval-grid{grid-template-columns:1fr;gap:36px}.pricing-section>h2{font-size:28px;line-height:1.6}.mobile-break{display:block}.plans{grid-template-columns:1fr;gap:20px;margin-top:32px}.plan{padding:28px}.plan h3{font-size:24px}.price strong{font-size:56px}.price span{font-size:16px}.plan-common{font-size:13px;line-height:1.8;margin-top:24px}.faq-section{display:block;padding-top:0}.faq-section>h2{font-size:28px;margin-bottom:28px}.faq-list summary{font-size:14px;padding-block:20px}.faq-list details>p{font-size:13px}.register-inner{grid-template-columns:1fr;gap:32px}.register-section h2 br{display:none}.register-inner>div>p{font-size:14px;margin-top:16px}.registration-form form>details{margin-block:16px}.site-footer{padding-block:28px;gap:24px;flex-wrap:wrap}.site-footer nav{font-size:12px;gap:20px}.site-footer>span{width:100%}.desktop-break{display:block}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.site-header{gap:16px}.site-header .header-cta{padding-inline:14px}.hero h1{font-size:30px}.hero-description{font-size:12px}.hero-cta{padding-inline:24px}.hero-proof{padding:10px}.result-step p,.result-step li{font-size:12px}.plan{padding:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.submit-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 28px;background:var(--accent);color:white;border:0;border-radius:10px;font-size:15px;font-weight:500;line-height:1.6;cursor:pointer;transition:background-color 160ms var(--ease)}.submit-button:hover{background:#1546cf}.submit-button:disabled{opacity:.6;cursor:wait}.registration-form label span{font-size:12px;color:var(--accent);margin-left:8px}.optional-details>.field{margin-top:20px}.field-error{color:#ad2634;font-size:13px;margin-top:8px}.field-error:empty{display:none}input[aria-invalid=true]{border-color:#ad2634}#form-status{font-size:14px;margin-top:16px;line-height:1.8}#form-status:empty{display:none}#form-status.error{color:#ad2634}#form-status.success{color:#145f49}
@media(min-width:1101px){.hero{padding-block:72px}.hero-grid{min-height:560px}.hero h1{font-size:clamp(44px,3.9vw,60px)}.hero-description{font-size:16px}.hero-cta{font-size:16px;min-height:56px}.hero-proof{min-height:500px}.result-step h2{font-size:21px;margin-bottom:16px}.result-step p,.result-step li{font-size:15px;line-height:1.9}.result-step{padding-block:24px}.result-summary{padding:20px 12px}}
@media(max-width:760px){.result-step p,.result-step li{font-size:14px}.result-step h2{font-size:17px}}
@media(max-width:360px){.result-step p,.result-step li{font-size:13px}}
@media(min-width:1101px){.wrap{max-width:1440px;width:calc(100% - 96px)}.hero-grid{min-height:640px}.hero h1{font-size:clamp(44px,4.7vw,72px)}.hero-description{font-size:18px}.hero-cta{min-width:288px;font-size:17px}.hero-proof{min-height:560px}.result-step p,.result-step li{font-size:16px}.result-step h2{font-size:22px}}
@media(min-width:761px) and (max-width:1100px){.hero h1{font-size:38px}.result-step h2{font-size:17px}.result-step p,.result-step li{font-size:14px}}

#form-status[data-error=true]{color:#ad2634}
@media(min-width:1101px){.hero-cta{min-width:320px;min-height:64px;font-size:18px}.site-header nav{font-size:15px}}
@media(max-width:760px){.register-section h2 br{display:block}}
.hero-description,
.product-copy p {
  text-wrap: pretty;
  word-break: auto-phrase;
}

.skip-link:not(:focus) {
  clip-path: inset(50%);
}

.wordmark {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--ink);
  font-weight: 700;
  white-space: nowrap;
}

.brand-mark {
  flex: 0 0 auto;
  width: 1.15em;
  aspect-ratio: 1;
  background: url("data:image/webp;base64,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") center / contain no-repeat;
}

.hero {
  background: var(--surface);
}

.hero h1 {
  line-height: 1.28;
}

.hero-usage {
  display: grid;
  gap: 6px;
  margin-top: 24px;
  padding-inline-start: 12px;
  border-inline-start: 3px solid var(--accent);
  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.4;
}

.hero-usage strong {
  color: #1748cc;
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 700;
  line-height: 1.2;
}

.hero-description {
  margin-top: 16px;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin-top: 28px;
}

.hero-actions .hero-cta {
  min-width: 0;
  margin: 0;
}

.hero-pricing-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #1748cc;
  font-size: 14px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: .25em;
}

.hero-diagnosis {
  align-self: center;
  justify-self: center;
  display: flex;
  flex-direction: column;
  width: min(100%, 660px);
  min-height: 412px;
  padding: clamp(20px, 3vw, 40px);
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 32px #13233e0e;
}

.hero-diagnosis[hidden],
.hero-diagnosis [hidden] {
  display: none;
}

.diagnosis-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.diagnosis-header h2 {
  font-size: 16px;
  font-weight: 600;
}

.diagnosis-header > span {
  color: var(--secondary);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

.diagnosis-meter {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  margin-block: 12px 24px;
}

.diagnosis-meter span {
  height: 4px;
  border-radius: 4px;
  background: var(--line);
}

.diagnosis-meter span:first-child,
.hero-diagnosis:is([data-step="2"], [data-step="3"], [data-step="result"]) .diagnosis-meter span:nth-child(2),
.hero-diagnosis:is([data-step="3"], [data-step="result"]) .diagnosis-meter span:last-child {
  background: var(--accent);
}

.hero-diagnosis h3 {
  font-size: clamp(20px, 2.05vw, 29px);
  font-weight: 700;
  line-height: 1.45;
  text-wrap: pretty;
  word-break: auto-phrase;
}

.hero-diagnosis h3:focus {
  outline: none;
}

.diagnosis-question > p,
.diagnosis-result-copy {
  margin-top: 8px;
  color: var(--secondary);
  font-size: 14px;
  text-wrap: pretty;
  word-break: auto-phrase;
}

.diagnosis-options {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.diagnosis-options button {
  min-height: 48px;
  padding: 10px 16px;
  border: 1px solid #d2def3;
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  text-align: start;
  text-wrap: pretty;
  word-break: auto-phrase;
  cursor: pointer;
  transition: background 150ms var(--ease), border-color 150ms var(--ease);
}

.diagnosis-options button:hover,
.diagnosis-options button:focus-visible {
  border-color: var(--accent);
  background: #e8efff;
}

.diagnosis-plan {
  margin-top: 16px;
  padding: 12px 16px;
  border-radius: 8px;
  background: var(--surface);
  color: var(--secondary);
  font-size: 13px;
}

.diagnosis-plan-label,
.diagnosis-rate small {
  color: var(--secondary);
  font-size: 12px;
  font-weight: 400;
}

.diagnosis-rate {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 12px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
}

.diagnosis-rate strong {
  margin-inline-end: 4px;
  color: #1748cc;
  font-size: 24px;
  font-variant-numeric: tabular-nums;
}

.diagnosis-cta {
  min-height: 48px;
  margin-top: 16px;
  padding-inline: 20px;
  font-size: 14px;
}

.diagnosis-navigation {
  display: flex;
  flex-wrap: wrap;
  column-gap: 16px;
}

.diagnosis-navigation button {
  min-height: 44px;
  margin-top: 4px;
  padding: 0;
  border: 0;
  background: none;
  color: #1748cc;
  font: inherit;
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: .25em;
  cursor: pointer;
}

@media (min-width: 901px) {
  .diagnosis-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .diagnosis-options button {
    min-height: 60px;
  }
}

@media (min-width: 375px) and (max-width: 760px) {
  .hero-diagnosis[data-step="1"] .diagnosis-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-diagnosis[data-step="1"] .diagnosis-options button {
    min-height: 60px;
    padding-inline: 12px;
  }
}

@media (min-width: 1101px) {
  .hero {
    padding-block: 60px;
  }

  .hero-grid {
    min-height: 540px;
    grid-template-columns: minmax(300px, .64fr) minmax(0, 1.36fr);
    gap: 36px;
  }
}

.product-feature {
  display: grid;
  grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr);
  align-items: center;
  gap: clamp(24px, 4vw, 56px);
}

.product-copy h2,
.product-band-title {
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.48;
}

.product-copy p {
  margin-top: 16px;
  color: var(--secondary);
  font-size: 15px;
}

.sharing-section {
  background: var(--surface);
}

.product-band {
  border-top: 1px solid var(--line);
}

.product-pair {
  display: grid;
  gap: 36px;
  margin-top: 32px;
}

.product-pair article {
  display: grid;
  grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr);
  grid-template-rows: auto 1fr;
  gap: 10px clamp(24px, 4vw, 56px);
}

.product-pair h3 {
  font-size: clamp(18px, 1.65vw, 23px);
  line-height: 1.5;
}

.product-pair p {
  color: var(--secondary);
  font-size: 15px;
  text-wrap: pretty;
}

.product-shot {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 30px #13233e0e;
  color: inherit;
  font: inherit;
  text-align: start;
  cursor: zoom-in;
}

.product-pair .product-shot {
  grid-column: 2;
  grid-row: 1 / 3;
}

.product-shot-frame img {
  display: block;
  width: 100%;
  height: auto;
  clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%, 0 7.6%, 12% 7.6%);
}

.product-shot-frame {
  display: block;
  position: relative;
  container-type: inline-size;
}

.product-shot-brand {
  position: absolute;
  inset: 0 auto auto 0;
  display: flex;
  align-items: center;
  width: 12%;
  height: 4.28cqw;
  gap: .2cqw;
  padding-inline-start: 1cqw;
  background: #ebf2fa;
  color: var(--ink);
  font-size: 1.72cqw;
  font-weight: 700;
  letter-spacing: -.045em;
}

.product-viewer {
  width: min(1320px, calc(100% - 24px));
  max-width: none;
  max-height: 92dvh;
  margin: auto;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
}

.product-viewer[open] {
  display: flex;
  flex-direction: column;
}

.product-viewer::backdrop {
  background: #13233e85;
}

.product-viewer form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-inline: 16px;
  border-bottom: 1px solid var(--line);
}

.product-viewer h2,
.product-viewer button {
  font-size: 14px;
}

.product-viewer button {
  min-height: 44px;
  padding-inline: 12px;
  border: 0;
  background: transparent;
  color: var(--accent);
  cursor: pointer;
}

.product-viewer-body {
  overflow: auto;
}

.product-viewer-body .product-shot-frame {
  min-width: 860px;
}

.shot-zoom {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

@media (max-width: 900px) {
  .hero-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-feature,
  .product-pair article {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-pair .product-shot {
    grid-column: auto;
    grid-row: auto;
  }

  .shot-zoom {
    position: static;
    display: block;
    width: auto;
    height: auto;
    padding: 6px 12px;
    clip-path: none;
    border-top: 1px solid var(--line);
    color: #1748cc;
    font-size: 12px;
    text-align: right;
  }
}

.pricing-section .plans {
  --plan-price-size: clamp(44px, 5vw, 64px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 1240px;
  margin-top: 32px;
  row-gap: 22px;
}

.billing-switch {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: repeat(2, minmax(90px, 1fr));
  width: max-content;
  margin: 20px auto 0;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
}

.billing-switch legend,
.billing-switch input,
#billing-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

.billing-switch::before {
  position: absolute;
  z-index: -1;
  inset: 4px auto 4px 4px;
  width: calc((100% - 8px) / 2);
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 1px 3px #13233e18;
  content: '';
  transition: transform 190ms var(--ease);
}

.pricing-section[data-billing=annual] .billing-switch::before {
  transform: translateX(100%);
}

.billing-switch span {
  display: grid;
  min-width: 90px;
  min-height: 44px;
  place-items: center;
  border-radius: 6px;
  color: var(--secondary);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.billing-switch input:checked + span {
  color: #1748cc;
}

.billing-switch label:active span {
  color: var(--accent);
}

.billing-switch input:focus-visible + span {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.pricing-section .plan {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
}

.plan .price {
  margin-top: 12px;
}

.plan-header {
  display: flex;
  flex-direction: column;
}

.plan-title {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 10px;
}

.plan-emphasis {
  color: #1748cc;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.plan-rate {
  padding-bottom: 22px;
}

.pricing-section .plan h3 {
  font-size: clamp(21px, 2vw, 28px);
}

.plan .price strong {
  font-size: var(--plan-price-size);
}

.price-number {
  display: inline-grid;
  overflow: hidden;
}

.plan .price .price-value {
  grid-area: 1 / 1;
  justify-self: start;
  font: inherit;
  transition: opacity 190ms var(--ease), transform 190ms var(--ease);
}

.price-annual {
  opacity: 0;
  transform: translateY(-.18em);
}

.pricing-section[data-billing=annual] .price-monthly {
  opacity: 0;
  transform: translateY(.18em);
}

.pricing-section[data-billing=annual] .price-annual {
  opacity: 1;
  transform: translateY(0);
}

.plan-contents {
  display: flex;
  flex-direction: column;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.plan-inclusion {
  font-size: 16px;
  font-weight: 700;
  text-wrap: pretty;
  word-break: auto-phrase;
}

.plan-usage > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 4px 12px;
  padding-block: 7px;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
}

.plan-usage dd {
  color: #1748cc;
  font-weight: 700;
  white-space: nowrap;
}

.plan-usage small {
  display: block;
  color: var(--secondary);
  font-size: 12px;
}

.plan-account {
  color: var(--secondary);
  font-size: 13px;
}

.plan-billing-caption {
  display: grid;
  margin-top: 8px;
}

.plan-billing-caption .plan-account {
  grid-area: 1 / 1;
}

.plan-caption-annual,
.pricing-section[data-billing=annual] .plan-caption-monthly {
  visibility: hidden;
}

.pricing-section[data-billing=annual] .plan-caption-annual {
  visibility: visible;
}

.plan-difference {
  margin-top: 12px;
  font-size: 14px;
  font-weight: 600;
  text-wrap: pretty;
}

.plan-details > summary {
  display: none;
}

.plan-details-collapsible .plan-details > summary {
  display: list-item;
  align-content: center;
  min-height: 44px;
  border-top: 1px solid var(--line);
  color: #1748cc;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.plan-details-collapsible .plan-details .plan-contents {
  border-top: 0;
  padding-top: 0;
}

.plan-feature-group {
  margin-top: 20px;
}

.plan-feature-group h4 {
  font-size: 14px;
  font-weight: 700;
}

.plan-cta {
  width: 100%;
  margin-top: auto;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid transparent;
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
}

.enterprise-price {
  display: flex;
  align-items: center;
  min-height: calc(var(--plan-price-size) * 1.2);
  margin-top: 12px;
  color: var(--accent);
  font-size: clamp(22px, 2.3vw, 34px);
  line-height: 1.4;
  font-weight: 700;
}

.plan-basic .plan-cta,
.plan-enterprise .plan-cta {
  border: 1px solid #b8c9f4;
  background: #fff;
  color: #1748cc;
}

.plan-basic .plan-cta:hover,
.plan-enterprise .plan-cta:hover {
  background: var(--surface);
}

.plan-enterprise .plan-cta[aria-expanded=true] {
  border-color: transparent;
  background: var(--surface);
  color: var(--ink);
}

.plan-features {
  margin-top: 8px;
  padding-inline-start: 1.2em;
  font-size: 14px;
  line-height: 1.7;
}

.plan-features li + li {
  margin-top: 6px;
}

.plan-features li::marker {
  color: var(--accent);
}

.enterprise-contact .field {
  margin-bottom: 12px;
}

.enterprise-contact .field :is(input, select, textarea) {
  padding: 9px 10px;
  font-size: 15px;
}

.enterprise-contact .submit-button {
  background: var(--ink);
  min-width: 120px;
}

.enterprise-contact .submit-button:hover {
  background: #263c5c;
}

#enterprise-status {
  margin-top: 12px;
  font-size: 14px;
}

#enterprise-status[data-error=true] {
  color: #ad2634;
}

#enterprise-status:empty {
  display: none;
}

#enterprise-status:focus,
#form-status:focus {
  outline: none;
}

.registration-form form > .field + .field {
  margin-top: 16px;
}

.registration-form .beta-interest {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin: 12px 0 0;
  min-height: 44px;
  line-height: 1.5;
  cursor: pointer;
}
.registration-form .beta-interest input {
  flex: 0 0 auto;
  width: 1.125rem;
  height: 1.125rem;
  min-height: 0;
  padding: 0;
  margin: 0;
  accent-color: var(--accent);
}
.registration-form .beta-interest > span {
  margin: 0;
  color: inherit;
  font-size: inherit;
}
.registration-form .beta-interest small {
  margin-inline-start: 4px;
  color: var(--secondary);
  font-size: 0.75rem;
  font-weight: 400;
}
.registration-form select[aria-invalid=true] { border-color: #ad2634; }
.registration-form form > .optional-details { margin: 8px 0 16px; }
.registration-form .optional-details > summary { padding-block: 8px; }
.registration-form form > .small {
  color: var(--secondary);
  font-size: 0.8125rem;
  line-height: 1.7;
}
.registration-form form > .small a {
  margin-inline-start: 0.25em;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.optional-details summary span {
  margin-inline-start: 6px;
  color: var(--secondary);
  font-size: 12px;
  font-weight: 400;
}

.survey-intro {
  margin: 10px 0 14px;
  color: var(--secondary);
  font-size: 13px;
}

@media (min-width: 901px) and (max-width: 1100px) {
  .pricing-section .plans {
    column-gap: 16px;
  }

  .pricing-section .plan {
    padding-inline: 22px;
  }
}

@media (max-width: 900px) {
  .pricing-section .plans {
    grid-template-columns: minmax(0, 1fr);
    max-width: 540px;
    gap: 16px;
  }

  .pricing-section .plan {
    grid-row: auto;
    grid-template-rows: auto;
    gap: 16px;
  }
}

@media (max-width: 760px) {
  .hero {
    padding-block: 32px;
  }

  .hero-grid {
    gap: 24px;
  }

  .hero-copy {
    text-align: left;
  }

  .hero h1 {
    font-size: clamp(28px, 8.4vw, 34px);
  }

  .hero .desktop-break {
    display: none;
  }

  .hero-usage {
    margin-top: 16px;
  }

  .hero-actions {
    margin-top: 20px;
  }

  .hero-diagnosis {
    min-height: 0;
    padding: 20px;
    border-radius: 12px;
  }

  .diagnosis-meter {
    margin-bottom: 16px;
  }

  :is(#features, #sharing, #follow-up, #ai) {
    padding-block: 44px;
  }

  .product-feature,
  .product-pair {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .product-pair {
    gap: 32px;
    margin-top: 24px;
  }

  .product-pair article {
    grid-template-rows: auto;
    gap: 8px;
  }

  .product-copy p,
  .product-pair p {
    font-size: 14px;
  }

  /* Show the relevant area of each original screen. The link opens the full image. */
  .product-shot .product-shot-frame {
    aspect-ratio: calc(1672 * var(--crop-width) / (941 * var(--crop-height)));
    overflow: hidden;
  }

  .product-shot .product-shot-frame img {
    position: absolute;
    inset: 0 auto auto 0;
    width: calc(100% / var(--crop-width));
    max-width: none;
    transform: translate(var(--crop-x), var(--crop-y));
  }

  .product-shot .product-shot-brand {
    display: none;
  }

  .shot-minutes {
    --crop-width: .65;
    --crop-height: .86;
    --crop-x: -14.6%;
    --crop-y: -5%;
  }

  .shot-meetings {
    --crop-width: .59;
    --crop-height: .68;
    --crop-x: -14%;
    --crop-y: -4%;
  }

  .shot-slack {
    --crop-width: .63;
    --crop-height: .51;
    --crop-x: -15%;
    --crop-y: -25%;
  }

  .shot-sharing {
    --crop-width: .56;
    --crop-height: .52;
    --crop-x: -14%;
    --crop-y: -5%;
  }

  .shot-transcript {
    --crop-width: .67;
    --crop-height: .60;
    --crop-x: -14%;
    --crop-y: -22%;
  }

  .shot-actions {
    --crop-width: .82;
    --crop-height: .63;
    --crop-x: -13.5%;
    --crop-y: -4%;
  }

  .shot-ai {
    --crop-width: .68;
    --crop-height: .66;
    --crop-x: -15%;
    --crop-y: -4%;
  }

  .pricing-section .plans {
    --plan-price-size: clamp(38px, 11vw, 48px);
  }

  .plan.plan-basic,
  .plan.plan-premium,
  .plan.plan-enterprise {
    padding: 20px;
    border-radius: 12px;
  }

  .plan .price {
    flex-wrap: wrap;
    gap: 2px 6px;
    margin-top: 8px;
  }

  .plan .price > span {
    font-size: 13px;
  }

  .plan-contents {
    padding-top: 14px;
  }

}
.measurement-consent[hidden],
#measurement-settings[hidden] {
  display: none;
}

.measurement-consent {
  position: fixed;
  z-index: 20;
  inset: auto 16px 16px;
  max-width: 460px;
  padding: 16px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgb(18 32 58 / 12%);
  font-size: 14px;
}

.measurement-consent a {
  display: inline-block;
  text-decoration: underline;
}

.measurement-consent > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.measurement-consent button,
#measurement-settings {
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.measurement-consent button {
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

#measurement-settings {
  background: transparent;
  border: 0;
  padding: 0;
}
