:root { --ink: #1b2f42; --muted: #536678; --blue: #205edc; --line: #d9e5ee; --light: #f0f7fc; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin: 0; color: var(--ink); background: #fff; font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.8; letter-spacing: 0; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
img { max-width: 100%; height: auto; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { line-height: 1.45; overflow-wrap: anywhere; }
a:focus-visible, summary:focus-visible { outline: 3px solid #2a6ded; outline-offset: 4px; }
.container { width: min(1120px, calc(100% - 64px)); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; padding: 10px 20px; background: white; }
.skip-link:focus { top: 12px; }
.site-header { position: sticky; top: 0; z-index: 20; background: #fff; border-bottom: 1px solid var(--line); }
.header-inner { width: min(1320px, calc(100% - 48px)); margin: auto; min-height: 76px; display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; flex-shrink: 0; }
.brand img { object-fit: contain; }
.desktop-nav { display: flex; gap: 25px; margin-left: auto; font-size: 14px; font-weight: 600; }
.desktop-nav a, .login-link { display: inline-flex; align-items: center; min-height: 44px; }
.desktop-nav a:hover, .login-link:hover, .site-footer a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 5px; }
.header-actions { display: flex; align-items: center; gap: 22px; font-size: 14px; font-weight: 600; }
.header-column-link { display: none; }
@media (max-width: 360px) {
  .home-v2 .header-inner { gap: 10px; }
  .home-v2 .header-inner .brand img { width: 120px; }
  .home-v2 .header-actions { gap: 8px; }
  .home-v2 .header-column-link { padding-inline: 8px; }
}
.button { display: inline-flex; justify-content: center; align-items: center; gap: 16px; min-height: 52px; max-width: 100%; padding: 12px 22px; border-radius: 5px; border: 1px solid #becfdd; font-size: 15px; font-weight: 700; line-height: 1.5; text-align: center; overflow-wrap: anywhere; }
.button.primary { color: white; background: var(--blue); border-color: var(--blue); }
.button.primary:hover { background: #174aaf; }
.button.secondary { color: #1a4da9; background: #fff; }
.button.secondary:hover { background: #eff6ff; }
.header-signup { min-height: 44px; padding: 10px 16px; font-size: 14px; }
.hero { position: relative; isolation: isolate; min-height: min(560px, calc(100svh - 160px)); padding: 52px 0 48px; overflow: hidden; background: #edf3f7; }
.hero-photo { position: absolute; z-index: -1; width: 100%; height: 100%; inset: 0; object-fit: cover; object-position: center 48%; }
.hero-content { position: relative; }
.eyebrow { color: #22629a; font-size: 13px; font-weight: 700; margin-bottom: 12px; }
.hero h1 { font-size: 68px; color: #114cb2; font-weight: 800; line-height: 1.2; margin-bottom: 20px; }
.hero h1 .hero-subtitle { display: block; font-size: clamp(15px, 2vw, 20px); line-height: 1.6; margin-top: 14px; max-width: 540px; }
.hero-message { font-size: 28px; font-weight: 700; line-height: 1.65; max-width: 510px; }
.hero-description { margin-top: 20px; color: #243a4d; line-height: 1.9; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 27px; }
.hero-note { margin-top: 14px; font-size: 12px; color: #354e61; }
.section { padding-block: 72px; }
.section-heading { margin-bottom: 34px; }
.section-heading h2 { font-size: 30px; margin-bottom: 14px; }
.section-heading > p:last-child:not(.eyebrow) { color: var(--muted); max-width: 720px; }
.feature-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.feature { border-top: 2px solid #71a9d2; padding-top: 22px; display: flex; flex-direction: column; align-items: start; }
.feature:nth-child(2) { border-color: #64a890; }
.feature:nth-child(3) { border-color: #dbaf61; }
.feature-top { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-bottom: 21px; color: #5e7487; font-size: 14px; }
.feature-top img { object-fit: contain; filter: brightness(0); opacity: .78; }
.feature h3, .benefit-list h3, .steps h3 { font-size: 20px; margin-bottom: 12px; }
.feature > p { color: var(--muted); font-size: 15px; margin-bottom: 22px; }
.text-link { color: #1552b4; display: inline-flex; align-items: center; gap: 16px; min-height: 44px; font-size: 14px; font-weight: 700; }
.feature .text-link { margin-top: auto; }
.text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.screen-section { background: var(--light); }
.mobile-showcase { display: grid; grid-template-columns: minmax(280px, 390px) minmax(0, 1fr); align-items: center; gap: 72px; }
.product-screen { width: min(100%, 390px); margin: 0; }
.product-screen > a { display: block; }
.product-screen img { width: 100%; display: block; border: 1px solid #d2e2f0; border-radius: 6px; box-shadow: 0 14px 30px #2d4c7010; }
.product-screen figcaption { font-size: 12px; color: var(--muted); margin-top: 12px; }
.screen-label { margin-bottom: 10px; color: #1552b4; font-size: 13px; font-weight: 700; }
.benefit-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin: 0; }
.benefit-list > div { padding: 24px 0; border-top: 1px solid #cbdce8; }
.benefit-list > div:last-child { border-bottom: 1px solid #cbdce8; }
.benefit-list h3 { font-size: 18px; }
.benefit-list p { color: var(--muted); font-size: 14px; }
.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; margin: 0 0 24px; list-style: none; gap: 36px; }
.steps li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 14px; }
.steps li > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: var(--blue); background: #eaf3ff; font-weight: 700; }
.steps h3 { font-size: 18px; margin-bottom: 10px; }
.steps p { color: var(--muted); font-size: 14px; }
.pricing-section { background: #f7fafc; border-block: 1px solid var(--line); }
.pricing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.price-plan { padding: 30px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.price-plan.beta { border-top: 3px solid var(--blue); }
.plan-label { color: var(--muted); font-size: 13px; margin-bottom: 8px; }
.price-plan h3 { font-size: 23px; }
.price { font-size: 42px; color: #114dbb; font-weight: 700; line-height: 1.5; margin-block: 14px; }
.price span { font-size: 14px; font-weight: 500; margin-left: 8px; display: inline-block; }
.price-plan ul { list-style: none; padding: 0; margin: 16px 0 24px; }
.price-plan li { padding: 7px 0; border-bottom: 1px solid #e8eff4; font-size: 15px; }
.price-plan.beta > p:not(.price,.plan-label) { font-size: 14px; }
.additional-price { padding: 14px 0; border-block: 1px solid var(--line); margin: 20px 0 16px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px 16px; }
.annual-price { display: grid; gap: 3px; padding: 14px 0; border-block: 1px solid var(--line); margin: 20px 0 16px; color: #1a4da9; }
.annual-price span { color: var(--muted); font-size: 13px; }
.price-plan .availability { margin-top: 24px; font-weight: 600; color: #536678; }
.pricing-note { margin-top: 24px; color: var(--muted); font-size: 13px; }
.faq-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 48px; }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list details:first-child { border-top: 1px solid var(--line); }
.faq-list summary { cursor: pointer; font-size: 16px; font-weight: 600; min-height: 64px; padding: 18px 30px 18px 0; position: relative; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 0; top: 16px; color: var(--blue); font-size: 20px; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { color: var(--muted); font-size: 14px; padding-bottom: 22px; }
.start-band { padding: 46px 0; background: #eaf4fc; }
.start-band > .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 30px; }
.start-band h2 { font-size: 26px; margin-bottom: 10px; }
.start-band p { color: var(--muted); }
.start-actions { display: grid; gap: 8px; justify-items: center; font-size: 14px; }
.site-footer { padding: 38px 0 24px; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-block: 24px; font-size: 14px; }
.site-footer nav a { min-height: 44px; display: inline-flex; align-items: center; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; border-top: 1px solid var(--line); padding-top: 22px; color: var(--muted); font-size: 12px; }
.mobile-break { display: none; }
@media (max-width: 1080px) {
  .desktop-nav { display: none; }
  .header-actions { margin-left: auto; }
  .header-column-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding-inline: 10px; border: 1px solid var(--line); border-radius: 5px; color: var(--blue); white-space: nowrap; }
  .header-column-link:hover { background: #eff6ff; }
  .hero-photo { object-position: 40% center; }
  .hero-message { font-size: 25px; }
}
@media (max-width: 700px) {
  .container { width: calc(100% - 40px); }
  .header-inner { width: calc(100% - 32px); min-height: 66px; gap: 16px; }
  .header-inner .brand img { width: 138px; }
  .header-actions { gap: 10px; flex-shrink: 0; }
  .header-signup { display: none; }
  .hero { display: flex; flex-direction: column-reverse; min-height: 0; padding: 0; overflow: visible; background: #f5f9fc; }
  .hero-photo { position: relative; inset: auto; z-index: auto; height: clamp(170px, 48vw, 210px); object-fit: cover; object-position: center 56%; }
  .hero-content { padding-block: 24px 26px; }
  .hero .eyebrow { display: none; }
  .hero h1 { font-size: 44px; margin-bottom: 12px; }
  .hero-message { font-size: 21px; line-height: 1.55; }
  .hero-description { font-size: 14px; line-height: 1.7; margin-top: 12px; }
  .hero-actions { gap: 8px; margin-top: 22px; }
  .hero-actions .button { padding-inline: 10px; font-size: 14px; }
  .hero-note { font-size: 12px; width: fit-content; max-width: 100%; background: #f7fbffee; padding: 3px 6px; }
  .section { padding-block: 46px; }
  .section-heading { margin-bottom: 28px; }
  .section-heading h2 { font-size: 25px; }
  .section-heading > p:last-child:not(.eyebrow) { font-size: 14px; }
  .feature-list, .steps, .pricing-grid, .faq-section { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .feature { padding-top: 18px; }
  .feature-top { margin-bottom: 12px; }
  .feature > p { margin-bottom: 10px; }
  .mobile-showcase { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .product-screen { margin-inline: auto; }
  .benefit-list > div { padding: 20px 0; }
  .steps { gap: 26px; }
  .price-plan { padding: 24px; }
  .price { font-size: 36px; }
  .price span { font-size: 13px; }
  .faq-section { gap: 0; }
  .start-band h2 { font-size: 24px; }
  .start-actions { width: 100%; }
  .start-actions .button { width: 100%; }
  .mobile-break { display: initial; }
}
@media (max-width: 380px) { .hero-message { font-size: 20px; } }
@media (max-width: 700px) and (max-height: 700px) {
  .hero-photo { height: 140px; }
  .hero-content { padding-block: 18px 20px; }
  .hero h1 { font-size: 40px; margin-bottom: 8px; }
  .hero-message { font-size: 20px; line-height: 1.5; }
  .hero-description, .hero-note, .hero-actions .secondary { display: none; }
  .hero-actions { margin-top: 14px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Crop the captured browser gutter without altering the actual UI screenshot. */
.screenshot-viewport { display: block; overflow: hidden; }
.screenshot-viewport > img { display: block; height: auto; }

/* Public feature explanation: screenshot panels retain their native aspect ratio. */
.report-showcase-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr); gap:44px; align-items:center; }
.report-showcase h3 { font-size:24px; line-height:1.65; margin-bottom:16px; }
.report-showcase-copy p,.document-extra-copy>p:not(.eyebrow) { color:var(--muted); }
.report-showcase-copy ul { padding-left:1.3em; color:var(--muted); font-size:15px; line-height:1.9; margin:20px 0; }
.report-showcase-copy li+li { margin-top:8px; }
.feature-capture { min-width:0; }
.feature-capture>a { display:block; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#fff; }
.feature-capture img { display:block; width:100%; height:auto; }
.feature-capture figcaption { margin-top:12px; color:var(--muted); font-size:13px; line-height:1.8; }
.document-extras { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; margin-top:64px; padding-top:48px; border-top:1px solid var(--line); }
.document-extras article { min-width:0; }
.document-extra-copy { margin-bottom:24px; }
.public-beta { display:inline-block; padding:2px 7px; margin-left:8px; border:1px solid #b9c6d2; border-radius:4px; font-size:11px; line-height:1.5; vertical-align:middle; letter-spacing:.06em; color:var(--muted); }
.document-extra-copy .beta-note { margin-top:12px; font-size:14px; }
@media(max-width:900px){.report-showcase-layout{grid-template-columns:1fr;gap:28px}.report-showcase-layout>.feature-capture{max-width:820px}.document-extras{gap:28px}}
@media(max-width:700px){.document-extras{grid-template-columns:1fr;margin-top:40px;padding-top:32px;gap:40px}.report-showcase h3{font-size:22px}.report-showcase .section-heading h2{font-size:25px}.document-extras .feature-capture{max-width:540px}.report-showcase-copy ul{font-size:15px}}

/* First-visit homepage: the actual deliverable leads the explanation. */
.home-v2 { --home-surface:#f5f6f8; --home-orange:#ed852e; --home-line:#dbe1e8; }
.home-v2 .container { width:min(1200px,calc(100% - 80px)); }
.home-v2 .section { padding-block:96px; }
.home-v2 .section-heading { margin-bottom:42px; }
.home-v2 .section-heading h2 { font-size:clamp(30px,3.2vw,40px); line-height:1.55; font-weight:800; margin-bottom:18px; }
.home-v2 .section-heading > p:last-child:not(.eyebrow) { font-size:17px; line-height:1.95; max-width:730px; }
.home-v2 .eyebrow { color:var(--blue); font-size:14px; font-weight:700; margin-bottom:16px; }
.home-v2 .button { min-height:56px; border-radius:7px; font-size:16px; }
.home-v2 .header-signup { min-height:44px; font-size:14px; }
.home-v2 .text-link { font-size:15px; }
.home-v2 a,.home-v2 button { -webkit-tap-highlight-color:transparent; }
.home-v2 button { cursor:pointer; }
.home-v2 button:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.home-v2 .button:active,.home-v2 button:active { transform:translateY(1px); }
.home-v2 [hidden] { display:none !important; }
.home-v2 .hero { padding:62px 0 42px; min-height:0; background:#fff; overflow:visible; display:block; }
.hero-grid { display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); gap:32px; align-items:center; }
.home-v2 .hero-content { padding:0; }
.home-v2 .hero h1 { color:var(--ink); font-family:"BIZ UDPGothic","Noto Sans JP",system-ui,sans-serif; font-size:clamp(36px,4.15vw,57px); line-height:1.48; font-weight:800; margin:0 0 24px; letter-spacing:-.035em; }
.home-v2 .hero h1 > span { display:block; }
.home-v2 .hero h1 em { color:var(--blue); font-style:normal; position:relative; white-space:nowrap; }
.home-v2 .hero h1 em::after { content:""; position:absolute; left:1%; right:4%; bottom:-7px; height:5px; background:var(--home-orange); transform:rotate(-2deg); }
.home-v2 .hero-message { font-size:21px; line-height:1.8; color:var(--ink); max-width:none; }
.home-v2 .hero-description { font-size:16px; color:var(--muted); line-height:1.95; margin-top:18px; max-width:450px; display:block; }
.home-v2 .hero-actions { gap:10px; margin-top:28px; }
.home-v2 .hero-actions .button { padding-inline:18px; }
.home-v2 .hero-actions .secondary { display:inline-flex; }
.home-v2 .hero-note { display:block; margin-top:15px; font-size:13px; background:none; padding:0; color:var(--muted); }
.hero-note > span { margin-inline:8px; }
.hero-visual { height:620px; min-width:0; position:relative; }
.hero-scene { position:absolute; top:0; left:0; width:94%; height:354px; border-radius:12px; overflow:hidden; background:var(--home-surface); }
.home-v2 .hero-photo { display:block; position:static; width:100%; height:100%; object-fit:cover; object-position:35% center; }
.scene-label { position:absolute; left:18px; top:18px; background:white; color:var(--ink); padding:6px 12px; border-radius:4px; font-size:13px; font-weight:700; }
.hero-document { display:block; position:absolute; top:162px; right:0; width:65%; background:white; transform:rotate(3deg); box-shadow:0 18px 45px #1b2f4224; border:1px solid var(--home-line); }
.hero-document:hover { box-shadow:0 18px 45px #1b2f423d; }
.document-ribbon { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 16px; color:#fff; background:var(--blue); font-size:13px; font-weight:700; }
.document-ribbon > span:last-child { font-size:12px; font-weight:500; }
.hero-paper-crop { display:block; aspect-ratio:1.06; overflow:hidden; }
.hero-paper-crop img { display:block; width:100%; }
.hero-result { position:absolute; left:3px; bottom:120px; width:175px; color:var(--blue); font-size:19px; font-weight:700; line-height:1.75; }
.hero-result svg { display:block; width:46px; margin:10px 0 0 65px; color:var(--home-orange); }
.hero-visual figcaption { position:absolute; bottom:0; left:0; right:0; color:var(--muted); font-size:11px; line-height:1.8; }
.work-frictions { background:var(--blue); color:white; padding-block:29px; }
.friction-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.friction-grid > div { border-left:1px solid #ffffff66; padding-left:24px; }
.friction-grid > div:first-child { border:0; padding:0; }
.friction-label { font-size:13px; }
.friction-grid p { font-size:18px; margin-top:6px; }
.friction-grid strong { font-weight:700; }
.example-layout { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:72px; align-items:start; }
.source-photos { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:8px 0 34px; }
.source-photos img { display:block; width:100%; border-radius:6px; }
.source-photos figcaption { padding-top:7px; font-size:14px; color:var(--muted); }
.report-steps { list-style:none; padding:0; margin:0 0 20px; }
.report-steps li { display:grid; grid-template-columns:36px minmax(0,1fr); gap:16px; padding:20px 0; border-top:1px solid var(--home-line); }
.report-steps li>span { color:var(--blue); font-size:24px; font-weight:700; line-height:1.2; }
.report-steps h3 { font-size:20px; margin-bottom:8px; }
.report-steps p { font-size:16px; color:var(--muted); }
.report-example-viewer { min-width:0; padding:24px; border:1px solid var(--home-line); border-radius:12px; background:var(--home-surface); }
.example-switch { display:grid; grid-template-columns:.75fr 1.25fr; padding:4px; border:1px solid var(--home-line); border-radius:7px; background:#fff; gap:4px; margin-bottom:22px; }
.example-switch button { background:white; color:var(--muted); border:0; border-radius:4px; min-height:48px; padding:9px 8px; font-size:14px; font-weight:700; line-height:1.5; }
.example-switch button:hover { background:#eef3fb; }
.example-switch button[aria-pressed=true] { background:var(--blue); color:white; }
.example-description { min-height:114px; }
.example-description h3 { font-size:20px; margin-bottom:8px; }
.example-description p { font-size:15px; color:var(--muted); line-height:1.85; }
.document-preview { display:block; aspect-ratio:1.10; overflow:hidden; border:1px solid var(--home-line); background:white; box-shadow:0 4px 14px #1b2f4208; }
.document-preview:hover { outline:2px solid var(--blue); }
.document-preview img { width:100%; height:auto; display:block; }
.report-example figcaption { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 10px; margin-top:10px; font-size:12px; color:var(--muted); }
.report-example + .report-example { margin-top:28px; }
.example-switch:not([hidden]) ~ .report-example { margin-top:0; }
.sample-note { margin-top:25px; color:var(--muted); font-size:12px; line-height:1.8; }
.workflow-section { background:var(--home-surface); }
.workflow-documents { display:grid; grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr); max-width:1020px; margin:0 auto 58px; align-items:center; }
.workflow-documents figure { min-width:0; border:1px solid var(--home-line); box-shadow:0 6px 20px #1b2f420a; }
.workflow-documents figure a { display:block; }
.workflow-documents figure a:hover { outline:2px solid var(--blue); }
.business-paper-crop { display:block; aspect-ratio:1; overflow:hidden; background:white; }
.business-paper-crop img { width:100%; display:block; }
.handover { display:grid; justify-items:center; gap:10px; color:var(--blue); text-align:center; font-size:14px; }
.handover > span { font-size:40px; line-height:1; }
.home-v2 .feature { border-color:var(--home-line); padding-top:24px; }
.feature-stage { color:var(--blue); font-size:14px; font-weight:700; margin-bottom:10px; }
.home-v2 .feature h3 { font-size:21px; }
.home-v2 .feature > p:not(.feature-stage) { font-size:16px; line-height:1.9; }
.home-v2 .feature > .feature-stage { color:var(--blue); margin-bottom:10px; font-size:14px; }
.home-v2 .screen-section { background:white; }
.home-v2 .mobile-showcase { grid-template-columns:minmax(0,1fr) 370px; gap:112px; align-items:center; }
.home-v2 .product-screen { width:100%; max-width:370px; }
.screen-caption { display:flex; justify-content:space-between; gap:12px; font-size:12px; color:var(--muted); margin-bottom:10px; }
.home-v2 .product-screen img { border:1px solid var(--home-line); border-radius:12px; box-shadow:0 18px 48px #1b2f4214; }
.home-v2 .product-screen figcaption { font-size:12px; }
.home-v2 .benefit-list>div { border-color:var(--home-line); }
.home-v2 .benefit-list p { font-size:16px; line-height:1.9; }
.screen-copy > .text-link { margin-top:24px; }
.home-v2 .finishing-section { border-top:1px solid var(--home-line); }
.home-v2 .document-extras { margin-top:0; padding-top:0; border:0; gap:48px; }
.home-v2 .document-extra-copy h3 { font-size:23px; margin-bottom:16px; }
.home-v2 .document-extra-copy p { font-size:16px; line-height:1.9; }
.home-v2 .document-extra-copy .beta-note { font-size:13px; }
.home-v2 .feature-capture figcaption { font-size:12px; }
.home-v2 .branding-capture { max-width:430px; }
.start-section { background:var(--home-surface); }
.home-v2 .steps { margin:44px 0 38px; gap:40px; }
.home-v2 .steps p { font-size:16px; line-height:1.9; }
.home-v2 .pricing-section { background:#fff; }
.home-v2 .faq-list details p { font-size:16px; line-height:1.95; }
.home-v2 .start-band { background:var(--blue); color:#fff; padding-block:60px; }
.home-v2 .start-band h2 { font-size:32px; }
.home-v2 .start-band p { color:#fff; }
.home-v2 .start-band .button { background:white; color:var(--blue); border-color:white; }
.home-v2 .start-band .button:hover { background:#edf3ff; }
.home-v2 .start-band .login-link { color:white; }
@media(min-width:1081px) and (max-width:1200px){.home-v2 .desktop-nav{gap:16px}.home-v2 .header-inner{gap:20px}.home-v2 .header-actions{gap:14px}}
@media(max-width:1100px){
  .home-v2 .container{width:calc(100% - 56px)}
  .hero-grid{gap:24px}.home-v2 .hero h1{font-size:clamp(34px,4.3vw,48px)}
  .hero-visual{height:530px}.hero-scene{height:300px}.hero-document{top:158px;width:73%}.hero-result{bottom:80px;width:125px;font-size:16px}.hero-result svg{margin-left:35px}
  .home-v2 .hero-actions .button{font-size:14px;padding-inline:14px}.example-layout{gap:36px}
  .home-v2 .mobile-showcase{gap:60px;grid-template-columns:minmax(0,1fr) 330px}
}
@media(max-width:820px){
  .hero-grid{grid-template-columns:1fr}.home-v2 .hero{padding-top:38px}.home-v2 .hero h1{font-size:clamp(36px,6.5vw,52px)}
  .home-v2 .hero-description{max-width:100%}.hero-visual{width:min(590px,100%);height:600px;margin:12px auto 0}.hero-scene{height:340px}.hero-document{top:150px;width:62%}.hero-result{bottom:125px;width:175px;font-size:18px}
  .friction-grid{gap:20px}.friction-grid>div{padding-left:20px}.friction-grid p{font-size:16px}
  .example-layout{grid-template-columns:1fr;gap:36px}.example-process{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}.source-photos{grid-template-columns:1fr;margin-bottom:0}.report-steps li{padding:15px 0}.example-process>.text-link{grid-column:1/-1;margin-top:16px}
  .report-example-viewer{max-width:670px;width:100%;margin-inline:auto}.example-description{min-height:98px}
  .workflow-documents{grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr)}.handover{font-size:12px}
  .home-v2 .mobile-showcase{gap:35px;grid-template-columns:minmax(0,1fr) 300px}.home-v2 .screen-copy h2{font-size:28px}
}
@media(max-width:700px){
  .home-v2 .container{width:calc(100% - 40px)}.home-v2 .section{padding-block:64px}.home-v2 .section-heading{margin-bottom:30px}.home-v2 .section-heading h2{font-size:28px}.home-v2 .section-heading>p:last-child:not(.eyebrow){font-size:16px}
  .home-v2 .eyebrow{font-size:12px;line-height:1.8;margin-bottom:14px}.home-v2 .hero .eyebrow{display:block}.home-v2 .hero{padding:28px 0 30px}.home-v2 .hero h1{font-size:clamp(32px,8.6vw,48px);line-height:1.5;margin-bottom:24px}.home-v2 .hero h1 em::after{height:4px;bottom:-5px}
  .home-v2 .hero-message{font-size:18px;line-height:1.8}.home-v2 .hero-description{font-size:15px;line-height:1.9;margin-top:14px}.desktop-break{display:none}.home-v2 .hero-actions{margin-top:24px;gap:10px}.home-v2 .hero-actions .button{font-size:15px;min-height:52px;flex:1 0 100%}.home-v2 .hero-note{font-size:12px;text-align:center;width:100%;margin-top:12px}
  .hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:0}.home-v2 .hero-content{display:contents}.hero-content>.eyebrow{order:0}.hero-content>h1{order:1}.hero-content>.hero-message{order:2}.hero-visual{order:3}.hero-content>.hero-actions{order:4}.hero-content>.hero-note{order:5}.hero-content>.hero-description{order:6;margin-top:24px}
  .hero-visual{height:auto;aspect-ratio:1/1.12;max-width:480px;margin-top:22px}.hero-scene{height:62%;width:94%;border-radius:8px}.hero-document{top:28%;width:62%}.hero-paper-crop{aspect-ratio:1.06}.hero-result{font-size:clamp(14px,3.8vw,18px);width:32%;bottom:18%;line-height:1.7}.hero-result svg{width:37px;margin:8px 0 0 30px}.scene-label{font-size:11px;padding:4px 8px;left:12px;top:12px}.document-ribbon{font-size:11px;padding:8px 10px}.document-ribbon>span:last-child{font-size:10px}.hero-visual figcaption{font-size:10px}
  .work-frictions{padding-block:12px}.friction-grid{grid-template-columns:1fr;gap:0}.friction-grid>div,.friction-grid>div:first-child{border:0;border-bottom:1px solid #ffffff55;padding:17px 0;display:grid;grid-template-columns:1fr;gap:4px}.friction-grid>div:last-child{border:0}.friction-label{font-size:12px}.friction-grid p{font-size:18px;margin:0}
  .example-process{display:block}.source-photos{grid-template-columns:1fr 1fr;margin-bottom:24px}.report-steps li{padding:20px 0}.report-steps h3{font-size:19px}.report-example-viewer{padding:16px}.example-switch{margin-bottom:18px}.example-switch button{font-size:13px;min-height:50px}.example-description{min-height:130px}.example-description h3{font-size:19px}.example-description p{font-size:14px}.report-example figcaption{font-size:11px}.report-example figcaption .text-link{font-size:13px}.sample-note{font-size:11px}
  .workflow-documents{grid-template-columns:1fr;max-width:420px;gap:18px;margin-bottom:36px}.business-paper-crop{aspect-ratio:1.1}.handover{grid-template-columns:auto auto;justify-content:center;gap:18px;font-size:14px}.handover>span{transform:rotate(90deg);font-size:28px}.handover br{display:none}
  .home-v2 .feature-list{gap:28px}.home-v2 .feature h3{font-size:21px}.home-v2 .mobile-showcase{grid-template-columns:1fr;gap:40px}.home-v2 .screen-copy h2{font-size:28px}.home-v2 .product-screen{max-width:340px;margin-inline:auto}.home-v2 .document-extras{gap:44px}.home-v2 .document-extra-copy h3{font-size:21px}.home-v2 .steps{gap:28px;margin:32px 0}.home-v2 .start-band h2{font-size:27px}.home-v2 .start-band{padding-block:44px}
}
@media(max-width:370px){.hero-result{font-size:13px}.home-v2 .hero h1{font-size:31px}.home-v2 .hero-message{font-size:17px}.example-switch button{font-size:12px}.example-description{min-height:160px}}
