.line-proof{padding-block:64px 72px;border-top:1px solid var(--line);scroll-margin-top:100px}
.line-proof-grid,.line-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,430px);gap:60px;align-items:center}
.line-kicker{font-size:16px;font-weight:700;color:#426b55;line-height:1.8;margin-bottom:15px}
.line-proof h2,.line-detail h2{font-size:38px;line-height:1.65;margin:0 0 25px}
.line-before{padding:19px 22px;background:#f1f0ea;margin-top:21px}
.line-before>span,.line-after-point>span{display:block;font-size:16px;font-weight:700;color:var(--muted);margin-bottom:10px}
.line-before>div{display:flex;flex-wrap:wrap;gap:10px}
.line-before>div>span{padding:9px 12px;background:white;border:1px solid #d6d8cf;border-radius:14px 14px 14px 0;font-size:18px;line-height:1.8}
.line-before>p{font-size:18px;line-height:1.8;margin-top:12px}
.line-after-point{padding:19px 22px;background:#eaf1ec;margin-top:13px;border-left:4px solid #456b59}
.line-after-point strong{font-size:22px;line-height:1.8;font-weight:700}
.line-service-summary{font-size:18px;line-height:1.9;margin-top:22px;max-width:510px}
.line-proof .story-link{margin-top:18px;font-size:17px}
.line-demo{min-width:0}
.line-demo-caption{font-size:17px;line-height:1.85;font-weight:700;margin-bottom:12px}
.line-phone{background:#f0f5f0;border:2px solid #6c8175;border-radius:21px;overflow:hidden;max-width:430px;margin-inline:auto}
.line-phone-heading{padding:17px 21px;background:#233c45;color:white;font-size:20px;font-weight:700;line-height:1.7;display:flex;align-items:center;justify-content:space-between;gap:10px}
.line-phone-heading>span{font-size:14px;font-weight:400;color:#dae5df;white-space:nowrap}
.line-chat{padding:23px 20px;min-height:322px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.line-chat .line-customer{align-self:flex-end;background:#d9edca;padding:10px 15px;font-size:18px;line-height:1.8;border-radius:13px 13px 0 13px;margin:0;max-width:92%}
.line-answer{background:white;border:1px solid #d3dfd5;border-radius:0 13px 13px;padding:17px 18px;max-width:100%}
.line-answer strong{font-size:19px;font-weight:700;line-height:1.8}
.line-answer>p+p{font-size:17px;line-height:1.9;margin-top:10px}
.line-demo-steps{list-style:none;display:flex;flex-wrap:wrap;gap:7px 9px;padding:0;margin:0;font-size:15px;line-height:1.7;color:#385746}
.line-demo-steps>li{background:#e1ece3;padding:4px 8px;border-radius:3px}
.line-demo-steps>li:not(:last-child):after{content:' →';padding-left:6px}
.line-demo-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:15px;background:white;border-top:1px solid #c5d4c9}
.line-demo-buttons button{border:1px solid #9bb09f;background:white;border-radius:5px;min-height:49px;padding:9px 6px;font-size:17px;line-height:1.7;color:#244c36;font-weight:700;cursor:pointer}
.line-demo-buttons button[aria-pressed=true]{background:#315c42;color:white;border-color:#315c42}
.line-demo-buttons button:hover{outline:2px solid #8ba591;outline-offset:1px}
.line-demo-buttons button:focus-visible{outline:3px solid #255982;outline-offset:3px}
.line-demo-note{font-size:14px;line-height:1.85;color:var(--muted);margin-top:12px}
.line-detail{scroll-margin-top:100px}
.line-detail .line-detail-lead{font-size:18px;line-height:1.95;margin-bottom:22px}
.line-feature-list{margin:0;padding:0;list-style:none}
.line-feature-list>li{font-size:18px;line-height:1.9;padding:13px 0;border-top:1px solid #d1dad2}
.line-human-boundary{padding:19px 22px;border-left:4px solid #456b59;background:#eaf1ec;margin-top:22px}
.line-human-boundary strong{font-size:20px;line-height:1.8}
.line-human-boundary p{font-size:17px;line-height:1.9;margin-top:9px}
.line-detail .story-link{font-size:17px;margin-top:22px;max-width:100%}
.line-menu-evidence{margin-top:36px;border-block:1px solid #ccd7cf;padding:17px 0}
.line-menu-evidence summary{font-size:18px;font-weight:700;cursor:pointer;line-height:1.85}
.line-menu-evidence figure{margin:23px 0 8px;max-width:800px}
.line-menu-evidence img{display:block;width:100%;height:auto}
.line-menu-evidence figcaption,.line-scope-note{font-size:16px;line-height:1.9;color:var(--muted);margin-top:15px}
@media(max-width:980px){
 .line-proof-grid,.line-detail-grid{gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,390px)}
 .line-proof h2,.line-detail h2{font-size:32px}
 .line-before,.line-after-point{padding:18px}
 .line-phone-heading{padding-inline:17px}
}
@media(max-width:760px){
 .line-proof-grid,.line-detail-grid{grid-template-columns:1fr;gap:30px}
 .line-proof{padding-block:43px 49px;scroll-margin-top:88px}
 .line-proof-copy{max-width:650px}
 .line-phone{max-width:430px}
 .line-demo{max-width:520px;width:100%;margin-inline:auto}
 .line-proof h2,.line-detail h2{font-size:31px;line-height:1.65;margin-bottom:20px}
 .line-before{margin-top:18px}
 .line-after-point strong{font-size:21px}
 .line-service-summary{font-size:18px;margin-top:18px}
 .line-proof .story-link{font-size:17px}
 .line-chat{min-height:322px;padding:20px 17px}
 .line-answer{padding:16px}
 .line-demo-buttons{padding:13px;gap:7px}
 .line-demo-buttons button{font-size:17px;min-height:49px}
 .line-demo-steps{font-size:15px;gap:6px}
 .line-detail{scroll-margin-top:88px}
 .line-human-boundary{padding:18px}
 .line-menu-evidence{margin-top:29px}
}
@media(max-width:360px){
 .line-proof h2,.line-detail h2{font-size:28px}
 .line-phone-heading{padding:15px;font-size:18px}
 .line-chat{padding-inline:13px;min-height:352px}
 .line-answer{padding:14px}
 .line-answer strong{font-size:18px}
 .line-answer>p+p{font-size:17px}
 .line-demo-buttons{padding:11px;gap:5px}
 .line-demo-buttons button{font-size:16px;padding-inline:4px}
 .line-before>div>span{font-size:17px;padding-inline:10px}
 .line-after-point strong{font-size:20px}
}

/* Real booking screens provided by the studio. */
.line-real-summary {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  border-top: 1px solid var(--line);
  padding-top: 24px;
}
.line-real-summary h4 {
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
  line-height: 1.45;
  margin: 6px 0 12px;
}
.line-real-summary p {
  line-height: 1.75;
}
.line-real-thumbs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 360px;
  margin-inline: auto;
}
.line-real-thumb {
  display: block;
  min-width: 0;
  color: inherit;
  text-align: center;
  text-decoration: none;
}
.line-real-thumb img,
.line-real-gallery img,
.line-real-preview img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #d8e1dc;
  border-radius: 12px;
  background: #fff;
}
.line-real-thumb > span {
  display: block;
  padding-top: 8px;
  font-size: 16px;
  font-weight: 700;
}
.line-real-thumb:focus-visible,
.line-real-gallery a:focus-visible {
  outline: 3px solid #456d60;
  outline-offset: 5px;
}
.line-real-preview {
  max-width: 245px;
  justify-self: center;
  margin: 0 auto;
}
.line-real-preview p {
  text-align: center;
  font-size: 16px;
}
.line-real-evidence {
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
  scroll-margin-top: 100px;
}
.line-real-evidence h3 {
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.45;
}
.line-real-help,
.line-real-footnote {
  font-size: 16px;
  line-height: 1.8;
}
 .line-real-gallery {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  gap: 20px;
  padding: 0;
  margin: 24px 0;
  list-style: none;
}
.line-real-gallery li {
  flex: 0 0 calc((100% - 60px) / 4);
  min-width: 210px;
  scroll-snap-align: start;
}
.line-real-gallery h4 {
  margin: 0 0 12px;
  font-size: 18px;
  line-height: 1.5;
}
.line-real-gallery p {
  font-size: 16px;
  line-height: 1.75;
}
@media (max-width: 740px) {
  .line-real-summary {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .line-real-thumbs {
    max-width: 340px;
  }
  .line-real-gallery {
    display: flex;
    overflow-x: auto;
    gap: 18px;
    padding: 4px 4px 14px;
    scroll-snap-type: x proximity;
  }
  .line-real-gallery li {
    flex: 0 0 min(78vw, 310px);
    scroll-snap-align: start;
  }
}

.line-replay .line-demo { max-width: 500px; margin-top: 16px; }
