main{overflow:hidden}
.scan-hero{padding:58px 0 34px;background:
  linear-gradient(135deg,#101817 0%,#152321 46%,#2d201b 100%);color:#fff}
.scan-hero__inner{display:grid;grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);gap:38px;align-items:center;min-height:560px}
.scan-hero__copy{min-width:0}
.scan-hero__copy h1{margin:0;font-size:clamp(2.4rem,5.4vw,5.3rem);line-height:1.02;font-weight:800;letter-spacing:0;overflow-wrap:anywhere;line-break:anywhere}
.scan-hero__copy h1 span{display:block}
.scan-hero__copy p:not(.eyebrow){margin:22px 0 0;max-width:760px;color:rgba(255,255,255,.76)}
.scan-hero__copy .btn{margin-top:28px}
.scan-hero__visual{position:relative;min-height:440px;display:flex;align-items:center;justify-content:center}
.scan-hero__visual:before{content:"";position:absolute;inset:12% 3% 8% 10%;border:2px solid rgba(255,255,255,.26);border-radius:8px;transform:rotate(-5deg)}
.scan-hero__visual:after{content:"";position:absolute;left:8%;right:8%;top:50%;height:2px;background:linear-gradient(90deg,transparent,#ff7a45,transparent);transform:rotate(-18deg)}
.scan-hero__visual img{position:relative;width:min(92%,620px);filter:drop-shadow(0 28px 56px rgba(0,0,0,.32))}
.scan-menu{padding:10px 0 12px;background:#fffdf2}
.scan-menu--first{display:flex;align-items:center}
.scan-menu__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;row-gap:12px;min-width:0;width:min(calc(100% - 48px),1120px);margin:0 auto}
.scan-menu__head{grid-column:1 / -1;min-width:0;margin:0 0 2px;padding:0 4px}
.scan-menu__head p{margin:0 0 5px;color:var(--accent-deep);font-size:.78rem;font-weight:900;letter-spacing:.14em}
.scan-menu__head h1{margin:0;font-size:clamp(1.75rem,3vw,3rem);line-height:1.12;font-weight:800;letter-spacing:0;word-break:keep-all;overflow-wrap:normal;line-break:strict}
.option{position:relative;display:grid;grid-template-rows:auto auto 1fr;gap:3px;width:100%;max-width:100%;height:clamp(144px,calc((100vh - 154px) / 2),190px);min-width:0;min-height:0;padding:7px 12px;border:2px solid #20221f;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 8px 16px rgba(17,27,26,.05)}
.option--offset{transform:translateY(36px)}
.option small{display:block;color:var(--accent-deep);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.option h2{position:relative;z-index:2;margin:0;text-align:center;font-size:clamp(1.08rem,1.45vw,1.42rem);line-height:1.12;font-weight:800;letter-spacing:.03em;color:#111b1a;white-space:nowrap;word-break:keep-all;overflow-wrap:normal;line-break:strict;-webkit-text-stroke:.014em #fff;text-shadow:0 1px 0 #fff,1px 0 0 rgba(255,255,255,.86),-1px 0 0 rgba(255,255,255,.86),0 4px 12px rgba(255,255,255,.92)}
.option p{position:relative;z-index:2;max-width:560px;margin:0 auto;color:#25312f;text-align:center;font-size:1.02rem;font-weight:700;line-height:1.22;-webkit-text-stroke:.012em #fff;text-shadow:0 1px 0 #fff,1px 0 0 rgba(255,255,255,.82),-1px 0 0 rgba(255,255,255,.82),0 4px 10px rgba(255,255,255,.92)}
.option img{position:absolute;z-index:1;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;opacity:.8;filter:drop-shadow(0 8px 14px rgba(17,27,26,.1))}
.option--precision img,.option--large img{object-fit:cover}
.option--precision img{object-position:center 55%}
.option--large img{object-position:center 46%;transform:scale(1.16)}
.option--ct img{padding:0;background:#050505;border-radius:0}
.option--color img{object-fit:cover}
.cad{padding:74px 0 42px;background:#eaf7f2}
.cad__inner{display:block;padding:30px;border-radius:8px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.cad__copy h2{margin:0;font-size:clamp(1.85rem,3.4vw,3rem);line-height:1.08;font-weight:800;overflow-wrap:normal;word-break:keep-all;line-break:strict}
.cad__copy h2 span{display:inline-block;white-space:nowrap}
.cad__copy p{margin:16px 0 0;color:var(--muted)}
.cad-flow{margin-top:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cad-flow div{display:grid;gap:10px;padding:16px;border:4px solid var(--accent);border-radius:8px;background:transparent;color:#111b1a}
.cad-flow span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:transparent;border:3px solid var(--accent);color:#111b1a;font-weight:800}
.cad-flow strong{display:block;line-height:1.3}
.cad-flow img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px}
.cases{padding:66px 0 34px;background:#fff}
.cases__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:820px}
.case-card{padding:22px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}
.case-card img{width:100%;aspect-ratio:16/10;object-fit:contain;background:#f6faf7;border-radius:8px;margin-bottom:18px}
.case-card h3{margin:14px 0 8px;font-size:1.34rem;line-height:1.18}.case-card p{margin:0;color:var(--muted)}
.scan-seo{padding:58px 0 18px;background:#fff}
.scan-seo__inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:34px;align-items:start}
.scan-seo__copy h2{margin:0;font-size:clamp(1.8rem,3.2vw,2.75rem);line-height:1.12;font-weight:800}
.scan-seo__copy p:last-child{margin:16px 0 0;color:var(--muted)}
.scan-faq{display:grid;gap:12px}
.scan-faq article{padding:18px;border:1px solid var(--line);border-radius:8px;background:#f7faf7}
.scan-faq h3{margin:0;font-size:1.08rem;line-height:1.35}
.scan-faq p{margin:8px 0 0;color:var(--muted)}
.scan-cta{padding:72px 0 0;background:#fff}
.scan-cta__inner{padding:42px;border-radius:8px;background:#e8f5e9;color:#111b1a}
.scan-cta__inner h2{margin:0;max-width:1040px;font-size:clamp(1.85rem,3.5vw,3.35rem);line-height:1.12;word-break:normal;overflow-wrap:normal;line-break:strict}
.scan-cta__inner h2 span{display:block}
.scan-cta__inner p{margin:18px 0 0;max-width:720px;color:#25312f}
.scan-cta__inner .btn{margin-top:28px}
@media (max-width: 1020px){
  .scan-hero__inner,.cad__inner{grid-template-columns:1fr}
  .option--offset,.case-card:nth-child(2){transform:none}
}
@media (max-width: 820px){
  .scan-menu__grid,.cases__grid,.cad-flow,.scan-seo__inner{grid-template-columns:minmax(0,1fr)}
  .scan-menu--first{display:block;min-height:auto}
  .scan-menu__head h1{word-break:normal;overflow-wrap:anywhere}
  .option{height:260px;min-height:0}
  .option h2{white-space:normal}
  .option img{width:100%;height:100%}
}
@media (max-width: 560px){
  .scan-hero__inner{min-height:auto}
  .scan-hero__copy h1{font-size:2.55rem}
  .scan-hero__visual{min-height:300px}
  .scan-menu__grid{width:min(calc(100% - 28px),1120px)}
  .option,.cad__inner,.case-card,.scan-cta__inner{padding:20px}
  .option{height:240px}
  .option img{width:100%;height:100%}
  .scan-cta__inner h2 span{display:inline}
}
