/* OZ. v3 下層LP — ゴール画像の構成をベースにしたページ固有スタイル */
.lp-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:9px; padding-block:12px 16px; color:var(--muted); font-size:11px; }
.lp-breadcrumbs a:hover { color:var(--blue); }
.lp-breadcrumbs span[aria-hidden="true"] { color:var(--line-strong); }
.lp-kicker { display:block; margin:0 0 13px; color:var(--blue); font:700 10px/1.4 var(--sans); letter-spacing:.2em; }
.lp-section { padding-block:clamp(56px,8vw,94px); }
.lp-section--soft { background:var(--sky-soft); }
.lp-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.lp-section-head h2 { max-width:720px; margin:0; font-size:clamp(28px,4.5vw,42px); font-weight:800; line-height:1.35; letter-spacing:-.045em; }
.lp-section-head p { max-width:390px; margin:0; color:var(--muted); font-size:13px; line-height:1.8; }
.lp-section-title { margin:0 0 12px; font-size:clamp(23px,3.2vw,32px); font-weight:800; line-height:1.4; letter-spacing:-.035em; }
.lp-copy { color:var(--muted); font-size:14px; line-height:1.95; }
.lp-copy p { margin:0 0 12px; }
.lp-check-list { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.lp-check-list li { position:relative; padding-left:27px; font-size:13px; font-weight:600; line-height:1.7; }
.lp-check-list li::before { position:absolute; top:.28em; left:0; display:grid; width:18px; height:18px; place-items:center; content:"✓"; border-radius:50%; color:var(--blue-deep); background:#e8f2ff; font:700 11px/1 var(--sans); }
.lp-mini-label { color:var(--blue); font:700 9px/1.4 var(--sans); letter-spacing:.17em; }
.lp-note { padding:15px 17px; border-left:3px solid var(--blue); color:var(--muted); background:var(--sky-soft); font-size:12px; line-height:1.8; }

/* 法人携帯LP */
.mobile-lp-page { width:100%; --gutter:22px; }
.mobile-lp-hero { position:relative; display:grid; min-height:560px; grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr); align-items:center; overflow:hidden; isolation:isolate; background:linear-gradient(110deg,#fff 0%,#f7fbff 52%,#eaf4ff 100%); }
.mobile-lp-hero__copy { position:relative; z-index:2; width:min(calc(100% - var(--gutter)),640px); justify-self:end; padding-block:52px; }
.mobile-lp-hero h1 { margin:0; font-size:clamp(32px,3.8vw,40px); font-weight:800; line-height:1.3; letter-spacing:-.06em; }
.mobile-lp-hero h1 .lp-kicker { margin-bottom:16px; font-size:11px; letter-spacing:.18em; }
.mobile-lp-hero__lead { max-width:510px; margin:20px 0 0; color:var(--ink-soft); font-size:clamp(14px,1.45vw,17px); line-height:1.95; }
.mobile-lp-hero__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.mobile-lp-hero__actions .v3-button { min-width:188px; }
.mobile-lp-hero__media { position:absolute; z-index:-1; inset:0 0 0 49%; margin:0; overflow:hidden; clip-path:polygon(21% 0,100% 0,100% 100%,0 100%,0 30%); }
.mobile-lp-hero__media::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,#f7fbff 0%,rgba(247,251,255,.7) 8%,rgba(247,251,255,.08) 35%,rgba(247,251,255,0) 70%),linear-gradient(0deg,rgba(7,31,67,.08),transparent 48%); }
.mobile-lp-hero__media picture,.mobile-lp-hero__media img { width:100%; height:100%; }
.mobile-lp-hero__media img { object-fit:cover; object-position:70% center; }
.mobile-lp-hero__stamp { position:absolute; right:6%; bottom:7%; z-index:1; color:#fff; font:600 9px/1.6 var(--sans); letter-spacing:.19em; text-shadow:0 2px 14px rgba(8,34,74,.48); }
.mobile-lp-service { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); align-items:center; gap:34px; }
.mobile-lp-service__visual { position:relative; display:grid; grid-template-columns:.95fr 1.05fr; align-items:center; gap:12px; min-width:0; }
.mobile-lp-service__visual figure { overflow:hidden; margin:0; border-radius:10px 10px 2px 10px; background:#eef6ff; }
.mobile-lp-service__visual img { width:100%; height:185px; object-fit:cover; }
.mobile-lp-service__checks { display:grid; gap:12px; margin:0; padding:17px 14px; border:1px solid var(--line); border-radius:10px; background:#fff; list-style:none; }
.mobile-lp-service__checks li { display:flex; align-items:flex-start; gap:9px; color:var(--ink-soft); font-size:11px; font-weight:600; line-height:1.55; }
.mobile-lp-service__checks li::before { display:grid; width:17px; height:17px; flex:0 0 17px; place-items:center; content:"✓"; border:1px solid #b9d6ff; border-radius:50%; color:var(--blue); font:700 10px/1 var(--sans); }
.mobile-lp-service__copy p { margin:0; color:var(--muted); font-size:13px; line-height:1.9; }
.mobile-lp-pricing__intro { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:22px; }
.mobile-lp-pricing__intro p { max-width:610px; margin:0; color:var(--muted); font-size:13px; line-height:1.85; }
.mobile-lp-pricing__intro .lp-mini-label { max-width:110px; padding-top:3px; }
.mobile-lp-price-chart { display:grid; grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr); align-items:stretch; gap:15px; padding:20px; border:1px solid #dce9f8; border-radius:12px; background:linear-gradient(135deg,#fff 0%,#f4f9ff 100%); }
.mobile-lp-price-chart__column { display:grid; min-width:0; grid-template-rows:auto auto 230px auto auto; justify-items:center; align-content:end; padding:16px 12px 13px; border:1px solid var(--line); border-radius:9px; background:#fff; text-align:center; }
.mobile-lp-price-chart__column--after { border-color:#bdd8fb; background:#f9fcff; }
.mobile-lp-price-chart__eyebrow { margin:0 0 5px; color:var(--muted); font:700 9px/1.2 var(--sans); letter-spacing:.16em; }
.mobile-lp-price-chart__column h3 { margin:0; font-size:15px; font-weight:800; line-height:1.45; }
.mobile-lp-price-chart__plot { position:relative; display:flex; width:min(100%,220px); height:230px; align-items:flex-end; justify-content:center; border-bottom:1px solid #c9d6e5; background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),#edf2f8 calc(25% - 1px),#edf2f8 25%); }
.mobile-lp-price-chart__bar { position:relative; z-index:1; display:flex; width:67%; flex-direction:column; overflow:hidden; border:1px solid #316fc9; border-bottom:0; border-radius:8px 8px 0 0; box-shadow:0 4px 12px rgba(20,75,146,.12); }
.mobile-lp-price-chart__bar--before { height:100%; border-color:#758ba5; }
.mobile-lp-price-chart__bar--after { height:64%; }
.mobile-lp-price-chart__segment { display:grid; flex:1 1 auto; place-items:center; padding:5px 7px; color:#fff; font-size:11px; font-weight:800; line-height:1.4; }
.mobile-lp-price-chart__segment--device { flex:0 0 29%; background:#71849b; }
.mobile-lp-price-chart__segment--usage { background:#3478d4; }
/* AFTERの棒は64%なので、端末代Bを45.3125%にしてBEFOREの29%と同じ高さにする */
.mobile-lp-price-chart__bar--after .mobile-lp-price-chart__segment--device { flex:0 0 45.3125%; background:#71849b; }
.mobile-lp-price-chart__bar--after .mobile-lp-price-chart__segment--usage { color:var(--blue-deep); background:#a9d0ff; }
.mobile-lp-price-chart__limit { position:absolute; top:28%; right:0; left:0; z-index:2; padding-top:4px; border-top:2px dashed #e24848; color:#b83232; font-size:10px; font-weight:800; line-height:1.2; text-align:right; }
.mobile-lp-price-chart__total { margin-top:8px; color:var(--ink); font-size:14px; font-weight:800; line-height:1.35; }
.mobile-lp-price-chart__column--after .mobile-lp-price-chart__total { color:var(--blue-deep); }
.mobile-lp-price-chart__caption { margin:3px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.mobile-lp-price-chart__transition { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:5px; color:var(--blue); text-align:center; }
.mobile-lp-price-chart__transition span { display:grid; width:44px; height:44px; place-items:center; border-radius:50%; color:#fff; background:var(--blue); font:500 26px/1 var(--sans); transform:rotate(-90deg); }
.mobile-lp-price-chart__transition small { color:var(--muted); font-size:9px; font-weight:700; line-height:1.45; }
.mobile-lp-price-chart__note { margin:12px 2px 0; color:var(--muted); font-size:10px; line-height:1.65; }
.mobile-lp-strengths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.mobile-lp-strength { position:relative; min-width:0; overflow:hidden; border:1px solid #e5edf6; border-radius:10px 10px 2px 10px; background:#fff; box-shadow:0 8px 24px rgba(8,34,74,.035); }
.mobile-lp-strength__photo { height:168px; margin:0; overflow:hidden; background:var(--sky); }
.mobile-lp-strength__photo picture { display:block; width:100%; height:100%; }
.mobile-lp-strength__photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 22%; }
.mobile-lp-strength:nth-child(1) .mobile-lp-strength__photo img { object-position:center 24%; }
.mobile-lp-strength:nth-child(2) .mobile-lp-strength__photo img { object-position:center 50%; }
.mobile-lp-strength:nth-child(3) .mobile-lp-strength__photo img { object-position:center 26%; }
.mobile-lp-strength__copy { padding:12px 13px 17px; }
.mobile-lp-strength__index { color:var(--blue); font:600 9px/1.2 var(--sans); }
.mobile-lp-strength h3 { margin:5px 0 7px; font-size:14px; line-height:1.5; }
.mobile-lp-strength p { margin:0; color:var(--muted); font-size:10px; line-height:1.7; }
.mobile-lp-topics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.mobile-lp-topic { display:flex; min-height:64px; align-items:center; gap:10px; padding:10px 11px; border:1px solid var(--line); border-radius:7px; background:#fff; }
.mobile-lp-topic svg { width:24px; height:24px; flex:0 0 24px; fill:none; stroke:var(--blue); stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.mobile-lp-topic span { font-size:10px; font-weight:600; line-height:1.5; }
.mobile-lp-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0; padding:0; list-style:none; }
.mobile-lp-flow li { position:relative; padding:0 12px 0 0; }
.mobile-lp-flow li:not(:last-child)::after { position:absolute; top:25px; right:0; content:"›"; color:var(--blue); font:400 27px/1 var(--sans); }
.mobile-lp-flow__top { display:flex; align-items:center; gap:9px; margin-bottom:9px; }
.mobile-lp-flow__icon { display:grid; width:40px; height:40px; place-items:center; border-radius:50%; color:var(--blue); background:#eaf4ff; font-size:17px; }
.mobile-lp-flow__num { color:var(--blue); font:600 9px/1 var(--sans); letter-spacing:.1em; }
.mobile-lp-flow h3 { margin:0; font-size:13px; line-height:1.45; }
.mobile-lp-flow p { margin:6px 0 0; color:var(--muted); font-size:10px; line-height:1.65; }
.lp-faq { display:grid; gap:7px; }
.lp-faq details { border:1px solid var(--line); border-radius:7px; background:#fff; }
.lp-faq summary { display:flex; min-height:47px; align-items:center; gap:10px; padding:10px 14px; cursor:pointer; list-style:none; font-size:12px; font-weight:700; line-height:1.6; }
.lp-faq summary::-webkit-details-marker { display:none; }
.lp-faq summary::after { margin-left:auto; content:"＋"; color:var(--blue); font:500 18px/1 var(--sans); }
.lp-faq details[open] summary::after { content:"−"; }
.lp-faq__q { display:grid; width:21px; height:21px; flex:0 0 21px; place-items:center; border-radius:50%; color:var(--blue); background:#edf5ff; font:700 10px/1 var(--sans); }
.lp-faq__answer { margin:0; padding:0 15px 14px 45px; color:var(--muted); font-size:11px; line-height:1.8; }
.mobile-lp-seo { margin-top:28px; border-top:1px solid var(--line); }
.mobile-lp-seo summary { padding:17px 0; color:var(--ink-soft); cursor:pointer; font-size:13px; font-weight:700; }
.mobile-lp-seo__body { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; padding-bottom:18px; }
.mobile-lp-faq-more { grid-column:1 / -1; }
.mobile-lp-faq-more h3 { margin:3px 0 12px; font-size:14px; }
.mobile-lp-seo__body h3 { margin:0 0 7px; font-size:14px; }
.mobile-lp-seo__body p { margin:0; color:var(--muted); font-size:11px; line-height:1.85; }
.mobile-lp-cta { padding-block:36px; color:#fff; background:var(--ink); }
.mobile-lp-cta__inner { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.mobile-lp-cta h2 { margin:0; font-size:22px; line-height:1.4; }
.mobile-lp-cta p { margin:5px 0 0; color:rgba(255,255,255,.8); font-size:11px; }

/* AI顧問LP — 参考画像の左右の流れを、上から下へ続く1本のスクロールにする */
.ai-lp-layout { display:flex; flex-direction:column; --gutter:clamp(20px,4.2vw,60px); }
.ai-lp-layout > section { width:100%; min-width:0; }
.ai-lp-hero { position:relative; display:flex; min-height:720px; flex-direction:column; justify-content:flex-start; overflow:hidden; padding:48px clamp(25px,5.4vw,78px) 38px; background:#eef6ff; isolation:isolate; }
.ai-lp-hero__visual { position:absolute; z-index:-2; inset:0; margin:0; overflow:hidden; }
.ai-lp-hero__visual picture { display:block; width:100%; height:100%; }
.ai-lp-hero__visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:70% 72%; }
.ai-lp-hero__visual::after { position:absolute; inset:0; content:""; background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 34%,rgba(255,255,255,.25) 68%,rgba(8,34,74,.08) 100%),linear-gradient(90deg,rgba(255,255,255,.78),transparent 74%); }
.ai-lp-hero__copy { max-width:480px; }
.ai-lp-hero h1 { margin:0; font-size:clamp(35px,4.3vw,58px); font-weight:800; line-height:1.27; letter-spacing:-.055em; }
.ai-lp-hero h1 .lp-kicker { margin-bottom:17px; }
.ai-lp-hero__lead { max-width:390px; margin:15px 0 0; color:var(--ink-soft); font-size:14px; line-height:1.9; }
.ai-lp-hero__points { display:grid; gap:9px; margin:20px 0 0; padding:0; list-style:none; }
.ai-lp-hero__points li { display:flex; align-items:center; gap:9px; font-size:12px; font-weight:700; }
.ai-lp-hero__points li::before { display:grid; width:19px; height:19px; place-items:center; content:"✓"; border-radius:50%; color:var(--blue); background:rgba(255,255,255,.82); font:700 11px/1 var(--sans); }
.ai-lp-hero__slogan { margin:auto 0 0; padding-top:38px; color:#fff; font-size:19px; font-weight:700; line-height:1.5; text-shadow:0 2px 14px rgba(8,34,74,.48); }
.ai-lp-hero__actions { display:grid; width:min(100%,460px); gap:9px; margin-top:21px; }
.ai-lp-hero__actions .v3-button { width:100%; min-height:48px; }
.ai-lp-section { padding:clamp(34px,4.5vw,62px) clamp(24px,4.3vw,60px); border-bottom:1px solid #edf2f7; }
.ai-lp-scenes { padding-top:43px; }
.ai-lp-scenes__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ai-lp-scene { min-width:0; padding:9px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.ai-lp-scene__photo { overflow:hidden; margin:0 0 9px; border-radius:6px; aspect-ratio:1.56; background:#eef6ff; }
.ai-lp-scene__photo picture { display:block; width:100%; height:100%; }
.ai-lp-scene__photo img { display:block; width:100%; height:100%; object-fit:cover; }
.ai-lp-scene h3 { margin:0 0 5px; font-size:12px; line-height:1.5; }
.ai-lp-scene p { margin:0; color:var(--muted); font-size:10px; line-height:1.65; }
.ai-lp-plans { padding-top:38px; }
.ai-lp-plans__intro { margin:0 0 16px; color:var(--muted); font-size:12px; line-height:1.8; }
.ai-lp-plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ai-lp-plan { position:relative; min-width:0; padding:15px 12px; border:1px solid #d7e7f9; border-radius:10px; background:#fff; }
.ai-lp-plan--featured { background:#f4f9ff; }
.ai-lp-plan__badge { position:absolute; top:-9px; left:12px; padding:3px 8px; border-radius:3px; color:#fff; background:var(--red); font-size:9px; font-weight:700; }
.ai-lp-plan__icon { display:grid; width:35px; height:35px; place-items:center; margin:2px auto 8px; border-radius:50%; color:var(--blue); background:#eaf4ff; font-size:16px; }
.ai-lp-plan h3 { min-height:2.8em; margin:0; text-align:center; font-size:13px; line-height:1.45; }
.ai-lp-plan__summary { min-height:3.5em; margin:6px 0 9px; color:var(--muted); text-align:center; font-size:10px; line-height:1.6; }
.ai-lp-plan__price { margin:0 0 1px; text-align:center; font-size:11px; font-weight:600; }
.ai-lp-plan__price strong { font:700 clamp(25px,3.4vw,37px)/1.2 var(--sans); letter-spacing:-.05em; }
.ai-lp-plan__tax { margin:0 0 11px; color:var(--muted); text-align:center; font-size:9px; }
.ai-lp-plan__features { display:grid; gap:7px; margin:0; padding:10px 0 0; border-top:1px solid var(--line); list-style:none; }
.ai-lp-plan__features li { display:flex; gap:6px; color:var(--ink-soft); font-size:9px; line-height:1.55; }
.ai-lp-plan__features li::before { content:"✓"; color:var(--blue); font-weight:800; }
.ai-lp-plan__term { margin:9px 0 0; color:var(--muted); font-size:9px; line-height:1.55; }
.ai-lp-plan__details { margin-top:14px; border-top:1px solid var(--line); }
.ai-lp-plan__details summary { padding:11px 0; color:var(--blue-deep); cursor:pointer; font-size:11px; font-weight:700; }
.ai-lp-plan__details p { margin:0 0 12px; color:var(--muted); font-size:10px; line-height:1.75; }
.ai-lp-flow__intro { margin:-4px 0 17px; color:var(--muted); font-size:12px; }
.ai-lp-flow__list { display:grid; gap:13px; margin:0; padding:0; list-style:none; }
.ai-lp-flow__item { display:grid; grid-template-columns:42px 48px minmax(0,1fr); align-items:center; gap:10px; }
.ai-lp-flow__num { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; color:#fff; background:var(--blue); font:600 11px/1 var(--sans); }
.ai-lp-flow__icon { display:grid; width:46px; height:46px; place-items:center; border-radius:50%; color:var(--blue); background:#edf6ff; font-size:18px; }
.ai-lp-flow__item h3 { margin:0; font-size:14px; line-height:1.4; }
.ai-lp-flow__item p { margin:3px 0 0; color:var(--muted); font-size:10px; line-height:1.65; }
.ai-lp-about { position:relative; min-height:245px; overflow:hidden; background:var(--sky-soft); }
.ai-lp-about__copy { position:relative; z-index:1; max-width:400px; }
.ai-lp-about__copy > p { margin:0 0 10px; color:var(--muted); font-size:11px; line-height:1.8; }
.ai-lp-about__photo { position:absolute; top:0; right:0; bottom:0; width:39%; margin:0; overflow:hidden; clip-path:ellipse(60% 55% at 70% 50%); }
.ai-lp-about__photo picture { display:block; width:100%; height:100%; }
.ai-lp-about__photo img { display:block; width:100%; height:100%; object-fit:cover; }
.ai-lp-about .v3-text-link { min-height:38px; margin-top:5px; font-size:11px; }
.ai-lp-merit { padding-top:34px; background:#fff; }
.ai-lp-merit__list { display:grid; gap:8px; margin:15px 0 0; padding:0; list-style:none; }
.ai-lp-merit__list li { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:start; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); }
.ai-lp-merit__icon { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; color:var(--blue); background:#eaf4ff; font-size:13px; }
.ai-lp-merit__list strong { display:block; margin-bottom:2px; font-size:11px; }
.ai-lp-merit__list span:last-child { color:var(--muted); font-size:10px; line-height:1.65; }
.ai-lp-issues__grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(110px,.85fr); align-items:center; gap:16px; }
.ai-lp-issues .lp-check-list { gap:11px; }
.ai-lp-issues .lp-check-list li { font-size:11px; }
.ai-lp-issues__visual { position:relative; min-height:190px; display:grid; place-items:center; overflow:hidden; border-radius:50%; background:linear-gradient(140deg,#f5faff,#e1efff); }
.ai-lp-issues__person { position:absolute; right:0; bottom:-2%; z-index:0; width:54%; height:100%; object-fit:contain; object-position:bottom center; }
.ai-lp-issues__visual span { position:absolute; z-index:1; max-width:94px; padding:7px 9px; border:1px solid #cbdff6; border-radius:9px; color:var(--ink-soft); background:#fff; font-size:9px; line-height:1.4; }
.ai-lp-issues__visual span:nth-of-type(1) { top:9%; left:3%; }
.ai-lp-issues__visual span:nth-of-type(2) { top:42%; left:3%; }
.ai-lp-issues__visual span:nth-of-type(3) { bottom:7%; left:16%; }
.ai-lp-issue-cta { width:auto; margin:18px var(--gutter) 42px; padding:20px 22px; border-radius:10px; background:#edf6ff; text-align:center; }
.ai-lp-layout > .ai-lp-issue-cta { box-sizing:border-box; width:calc(100% - var(--gutter) - var(--gutter)); max-width:940px; margin:18px auto 42px; }
.ai-lp-issue-cta h2 { margin:0; color:var(--blue-deep); font-size:19px; line-height:1.5; }
.ai-lp-issue-cta p { margin:5px 0 13px; color:var(--muted); font-size:11px; }
.ai-lp-issue-cta .v3-button { min-width:210px; }
.ai-lp-faq { background:var(--sky-soft); }
.ai-lp-faq__inner { width:min(calc(100% - var(--gutter)),940px); margin-inline:auto; }
.ai-lp-cta { display:grid; grid-template-columns:1fr auto; align-items:center; gap:20px; padding:35px max(var(--gutter),calc((100vw - 1100px)/2)); color:#fff; background:var(--ink); }
.ai-lp-cta h2 { margin:0; font-size:clamp(21px,3vw,31px); line-height:1.45; }
.ai-lp-cta p { margin:7px 0 0; color:rgba(255,255,255,.78); font-size:11px; line-height:1.7; }
.ai-lp-cta .v3-button { min-width:210px; }
.ai-lp-footer { border-top:1px solid var(--line); }

@media (min-width: 768px) {
  .mobile-lp-hero { min-height:590px; }
  .mobile-lp-service { gap:48px; }
  .mobile-lp-price-chart { gap:19px; padding:24px; }
  .mobile-lp-price-chart__column { grid-template-rows:auto auto 250px auto auto; padding:18px 18px 15px; }
  .mobile-lp-price-chart__plot { height:250px; }
  .mobile-lp-strength__photo { height:184px; }
  .ai-lp-hero__visual { inset:0 0 0 33%; }
  .ai-lp-hero__visual img { object-position:70% 72%; }
  .ai-lp-hero__visual::after { background:linear-gradient(90deg,#eef6ff 0%,rgba(238,246,255,.9) 16%,rgba(238,246,255,.16) 57%,rgba(238,246,255,0) 100%),linear-gradient(180deg,rgba(238,246,255,.08),transparent 56%,rgba(8,34,74,.12)); }
}
@media (min-width: 1100px) {
  .ai-lp-hero { min-height:790px; padding-inline:clamp(56px,7.2vw,110px); }
  .ai-lp-hero__copy { max-width:500px; }
  .ai-lp-hero h1 { font-size:58px; }
  .ai-lp-hero__copy { max-width:560px; }
}
@media (max-width: 767px) {
  .lp-section-head { display:block; }
  .lp-section-head p { margin-top:10px; }
  .mobile-lp-hero { min-height:660px; grid-template-columns:1fr; align-items:start; }
  .mobile-lp-hero__copy { width:min(calc(100% - 2 * var(--gutter)),620px); justify-self:center; padding-block:38px 280px; }
  .mobile-lp-hero h1 { max-width:560px; font-size:clamp(37px,8vw,56px); }
  .mobile-lp-hero__lead { max-width:500px; font-size:14px; }
  .mobile-lp-hero__media { inset:32% 0 0 23%; clip-path:polygon(18% 0,100% 0,100% 100%,0 100%,0 28%); }
  .mobile-lp-hero__media img { object-position:78% center; }
  .mobile-lp-hero__media::after { background:linear-gradient(180deg,#f7fbff 0%,rgba(247,251,255,.1) 30%,rgba(247,251,255,0) 100%),linear-gradient(90deg,rgba(255,255,255,.18),transparent 60%); }
  .mobile-lp-service { grid-template-columns:1fr; gap:21px; }
  .mobile-lp-service__visual { max-width:600px; }
  .mobile-lp-service__visual img { height:200px; }
  .mobile-lp-price-chart { grid-template-columns:minmax(0,1fr); gap:10px; padding:12px; }
  .mobile-lp-price-chart__column { grid-template-rows:auto auto 190px auto auto; padding:13px 12px 12px; }
  .mobile-lp-price-chart__plot { width:min(100%,210px); height:190px; }
  .mobile-lp-price-chart__transition { flex-direction:column; gap:3px; }
  .mobile-lp-price-chart__transition span { width:34px; height:34px; font-size:20px; transform:none; }
  .mobile-lp-price-chart__transition small { font-size:9px; }
  .mobile-lp-price-chart__note { margin-inline:1px; font-size:9px; }
  .mobile-lp-strengths { grid-template-columns:1fr; gap:12px; }
  .mobile-lp-strength { display:grid; grid-template-columns:minmax(150px,.42fr) minmax(0,.58fr); align-items:stretch; }
  .mobile-lp-strength__photo { height:auto; min-height:144px; }
  .mobile-lp-strength__copy { padding:14px; }
  .mobile-lp-strength h3 { font-size:14px; }
  .mobile-lp-strength p { font-size:12px; }
  .mobile-lp-topics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mobile-lp-flow { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 10px; }
  .mobile-lp-flow li:nth-child(2)::after { display:none; }
  .mobile-lp-flow li:not(:last-child)::after { right:2px; }
  .mobile-lp-seo__body { grid-template-columns:1fr; }
  .mobile-lp-cta__inner { align-items:flex-start; flex-direction:column; }
  .ai-lp-hero { min-height:680px; padding:38px var(--gutter) 30px; }
  .ai-lp-hero__visual img { object-position:61% center; }
  .ai-lp-hero__copy { max-width:520px; }
  .ai-lp-hero h1 { font-size:clamp(38px,9vw,54px); }
  .ai-lp-hero__slogan { font-size:18px; }
  .ai-lp-scenes { padding-top:42px; }
  .ai-lp-section { padding:44px var(--gutter); }
  .ai-lp-plan-grid { gap:9px; }
  .ai-lp-plan { padding:14px 10px; }
  .ai-lp-plan h3 { font-size:12px; }
  .ai-lp-plan__features li { font-size:9px; }
  .ai-lp-about { min-height:250px; }
  .ai-lp-issues__grid { grid-template-columns:minmax(0,1fr) minmax(100px,.72fr); gap:8px; }
  .ai-lp-issues__visual { min-height:155px; }
  .ai-lp-issue-cta { margin:0 var(--gutter) 36px; }
  .ai-lp-cta { grid-template-columns:1fr; padding:30px var(--gutter); }
  .ai-lp-cta .v3-button { justify-self:start; }
}
@media (max-width: 430px) {
  .mobile-lp-hero { min-height:640px; }
  .mobile-lp-hero__copy { padding-top:30px; padding-bottom:250px; }
  .mobile-lp-hero h1 { font-size:37px; }
  .mobile-lp-hero__actions { flex-direction:column; align-items:stretch; }
  .mobile-lp-hero__actions .v3-button { width:100%; }
  .mobile-lp-service__visual { grid-template-columns:.85fr 1.15fr; gap:7px; }
  .mobile-lp-service__visual img { height:165px; }
  .mobile-lp-service__checks { gap:8px; padding:12px 9px; }
  .mobile-lp-service__checks li { gap:6px; font-size:10px; line-height:1.5; }
  .mobile-lp-price-chart__column h3 { font-size:13px; }
  .mobile-lp-price-chart__column { grid-template-rows:auto auto 170px auto auto; }
  .mobile-lp-price-chart__plot { height:170px; }
  .mobile-lp-strengths { grid-template-columns:1fr; }
  .mobile-lp-strength { display:grid; grid-template-columns:35% 1fr; align-items:stretch; }
  .mobile-lp-strength__photo { height:auto; min-height:112px; }
  .mobile-lp-strength:nth-child(3) .mobile-lp-strength__photo img { object-position:center 24%; }
  .mobile-lp-strength:nth-child(2) .mobile-lp-strength__photo img { object-fit:contain; }
  .mobile-lp-strength__copy { padding:11px; }
  .mobile-lp-flow__icon { width:34px; height:34px; }
  .mobile-lp-flow h3 { font-size:12px; }
  .mobile-lp-flow p { font-size:10px; }
  .ai-lp-hero { min-height:650px; }
  .ai-lp-hero h1 { font-size:clamp(32px,9.7vw,38px); }
  .ai-lp-scenes__grid { gap:10px; }
  .ai-lp-scene { padding:9px; }
  .ai-lp-scene h3 { font-size:12px; }
  .ai-lp-scene p { font-size:10px; }
  .ai-lp-plan-grid { max-width:540px; grid-template-columns:1fr; gap:12px; margin-inline:auto; }
  .ai-lp-plan { padding:17px 16px; }
  .ai-lp-plan h3 { font-size:15px; }
  .ai-lp-plan__summary { font-size:12px; }
  .ai-lp-plan__price strong { font-size:30px; }
  .ai-lp-plan__features li { font-size:11px; }
  .ai-lp-plan__term { font-size:10px; }
  .ai-lp-flow__item { grid-template-columns:35px 38px minmax(0,1fr); gap:7px; }
  .ai-lp-flow__num { width:30px; height:30px; }
  .ai-lp-flow__icon { width:37px; height:37px; }
  .ai-lp-flow__item h3 { font-size:12px; }
  .ai-lp-about__photo { width:34%; opacity:.8; }
  .ai-lp-about__photo img { object-position:right center; }
  .ai-lp-about__copy { max-width:64%; }
  .ai-lp-issues__grid { grid-template-columns:1fr; }
  .ai-lp-issues__visual { min-height:150px; border-radius:12px; }
  .ai-lp-issues__person { right:2%; width:44%; height:100%; }
  .ai-lp-issues__visual span:nth-of-type(1) { left:4%; }
  .ai-lp-issues__visual span:nth-of-type(2) { left:4%; }
  .ai-lp-issues__visual span:nth-of-type(3) { left:18%; }
}
@media (max-width: 1100px) {
  body.mobile-lp-page #ozc-root #ozc-launcher.ozc-labeled { width:56px; height:56px; padding:0; justify-content:center; gap:0; border-radius:50%; }
  body.mobile-lp-page #ozc-root #ozc-launcher.ozc-labeled .ozc-main,
  body.mobile-lp-page #ozc-root #ozc-launcher.ozc-labeled .ozc-sub { display:none; }
  body.mobile-lp-page #ozc-root #ozc-launcher.ozc-labeled .ozc-ic { width:24px; height:24px; }
  body[data-ozc-label="AI顧問｜無料相談"] #ozc-root #ozc-launcher.ozc-labeled { width:56px; height:56px; padding:0; justify-content:center; gap:0; border-radius:50%; }
  body[data-ozc-label="AI顧問｜無料相談"] #ozc-root #ozc-launcher.ozc-labeled .ozc-main,
  body[data-ozc-label="AI顧問｜無料相談"] #ozc-root #ozc-launcher.ozc-labeled .ozc-sub { display:none; }
  body[data-ozc-label="AI顧問｜無料相談"] #ozc-root #ozc-launcher.ozc-labeled .ozc-ic { width:24px; height:24px; }
}
body.mobile-lp-page .v3-mobile-nav { position:absolute; inset:100% 0 auto; height:calc(100vh - 72px); max-height:calc(100vh - 72px); }
@supports (height: 100dvh) {
  body.mobile-lp-page .v3-mobile-nav { height:calc(100dvh - 72px); max-height:calc(100dvh - 72px); }
}
body[data-ozc-label="AI顧問｜無料相談"] .v3-mobile-nav { position:absolute; inset:100% 0 auto; height:calc(100vh - 72px); max-height:calc(100vh - 72px); }
@supports (height: 100dvh) {
  body[data-ozc-label="AI顧問｜無料相談"] .v3-mobile-nav { height:calc(100dvh - 72px); max-height:calc(100dvh - 72px); }
}
@media (max-width: 375px) {
  .mobile-lp-hero h1 { font-size:clamp(32px,9vw,34px); }
}

/* V3 goal-reference pages */
.cp-page { --cp-gutter:clamp(20px,4vw,58px); overflow-x:clip; }
.cp-page main { min-width:0; }
.cp-breadcrumb { display:flex; align-items:center; gap:10px; padding-block:13px; color:var(--muted); font-size:11px; }
.cp-breadcrumb a:hover { color:var(--blue); }
.cp-hero { position:relative; min-height:clamp(520px,61vw,720px); display:flex; align-items:center; overflow:hidden; isolation:isolate; background:#f3f9ff; }
.cp-hero__visual { position:absolute; z-index:-2; inset:0 0 0 30%; margin:0; overflow:hidden; }
.cp-hero__visual::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,#f3f9ff 0%,rgba(243,249,255,.96) 13%,rgba(243,249,255,.68) 34%,rgba(243,249,255,.06) 70%),linear-gradient(0deg,rgba(8,34,74,.18),transparent 56%); }
.cp-hero__visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:70% center; }
.cp-hero__inner { padding-block:72px; }
.cp-hero__copy { width:min(56%,650px); }
.cp-hero h1 { margin:0; font-size:clamp(42px,6vw,74px); font-weight:800; line-height:1.23; letter-spacing:-.065em; }
.cp-hero__lead { max-width:550px; margin:22px 0 0; color:var(--ink-soft); font-size:clamp(14px,1.5vw,18px); line-height:1.95; }
.cp-hero__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:27px; }
.cp-hero__stamp { position:absolute; right:5%; bottom:7%; color:#fff; font:600 10px/1.7 var(--sans); letter-spacing:.2em; text-shadow:0 2px 14px rgba(8,34,74,.55); }
.cp-section { padding-block:clamp(56px,8vw,94px); }
.cp-section--soft { background:var(--sky-soft); }
.cp-section__head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:27px; }
.cp-section__head .v3-eyebrow { margin-bottom:11px; }
.cp-section__head h2,.cp-policy-intro h2 { max-width:760px; margin:0; font-size:clamp(27px,4.1vw,42px); font-weight:800; line-height:1.38; letter-spacing:-.045em; }
.cp-section__head>p { max-width:430px; margin:0; color:var(--muted); font-size:13px; line-height:1.85; }
.cp-cards { display:grid; gap:16px; }
.cp-cards--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cp-cards--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.cp-card { position:relative; display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:12px 12px 3px 12px; background:#fff; box-shadow:0 8px 25px rgba(8,34,74,.035); transition:transform .2s,border-color .2s,box-shadow .2s; }
.cp-card:hover { transform:translateY(-3px); border-color:#a9c9ef; box-shadow:0 15px 30px rgba(8,34,74,.08); }
.cp-card__media { min-height:0; overflow:hidden; aspect-ratio:1.95; background:#eaf4ff; }
.cp-card__media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s; }
.cp-card:hover .cp-card__media img { transform:scale(1.025); }
.cp-card__body { position:relative; flex:1; padding:17px 20px 22px; }
.cp-card__eyebrow { margin:0 0 6px; color:var(--blue); font:700 9px/1.4 var(--sans); letter-spacing:.16em; }
.cp-card h3 { margin:0; font-size:clamp(17px,2vw,22px); line-height:1.45; }
.cp-card__body>p:not(.cp-card__eyebrow) { max-width:38em; margin:8px 0 0; color:var(--muted); font-size:12px; line-height:1.8; }
.cp-card__arrow { position:absolute; right:16px; bottom:13px; display:grid; width:32px; height:32px; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--blue); background:#fff; font:500 16px/1 var(--sans); }
.cp-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:0; padding:0; list-style:none; }
.cp-steps>li { position:relative; display:grid; grid-template-columns:42px 48px minmax(0,1fr); align-items:center; gap:10px; min-width:0; padding:16px 13px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.cp-step__num { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; color:#fff; background:var(--blue); font:700 10px/1 var(--sans); }
.cp-step__icon { display:grid; width:44px; height:44px; place-items:center; border-radius:50%; color:var(--blue); background:#eaf4ff; font-size:19px; }
.cp-steps h3 { margin:0; font-size:14px; line-height:1.5; }
.cp-steps p { grid-column:1/-1; margin:0; color:var(--muted); font-size:11px; line-height:1.7; }
.cp-pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.cp-pillars article { padding:22px; border:1px solid var(--line); border-radius:10px 10px 2px 10px; background:#fff; }
.cp-pillars article>span { color:var(--blue); font:700 13px/1 var(--sans); letter-spacing:.1em; }
.cp-pillars h3 { margin:12px 0 7px; font-size:17px; }
.cp-pillars p { margin:0; color:var(--muted); font-size:12px; line-height:1.85; }
.cp-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.cp-benefits--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.cp-benefits--5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.cp-benefits article { min-width:0; padding:19px 16px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.cp-benefits b { color:var(--blue); font:700 11px/1 var(--sans); letter-spacing:.1em; }
.cp-benefits h3 { margin:9px 0 6px; font-size:14px; line-height:1.5; }
.cp-benefits p { margin:0; color:var(--muted); font-size:11px; line-height:1.75; }
.cp-plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:900px; gap:18px; margin-inline:auto; }
.cp-plan-grid article { padding:28px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.cp-plan-grid article.is-featured { border-color:#a9c9ef; background:#f3f9ff; box-shadow:0 12px 28px rgba(18,103,214,.08); }
.cp-plan-grid__label { margin:0 0 4px; color:var(--blue); font:700 10px/1.3 var(--sans); letter-spacing:.15em; }
.cp-plan-grid h3 { margin:0; font-size:24px; }
.cp-plan-grid__price { margin:13px 0 17px; font-size:13px; }
.cp-plan-grid__price strong { font:700 36px/1 var(--sans); letter-spacing:-.05em; }
.cp-plan-grid__price span { color:var(--muted); font-size:11px; }
.cp-plan-grid ul { display:grid; gap:10px; margin:0; padding:17px 0 0; border-top:1px solid var(--line); list-style:none; }
.cp-plan-grid li { display:flex; gap:9px; font-size:13px; line-height:1.6; }
.cp-plan-grid li::before { content:"✓"; color:var(--blue); font-weight:800; }
.cp-note { max-width:900px; margin:15px auto 0; color:var(--muted); font-size:11px; line-height:1.75; }
.cp-issue-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.cp-issue-grid article { min-width:0; padding:18px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.cp-issue-grid article>span { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; color:var(--blue); background:#eaf4ff; font-size:18px; }
.cp-issue-grid h3 { margin:9px 0 5px; font-size:15px; }
.cp-issue-grid p { margin:0; color:var(--muted); font-size:11px; line-height:1.75; }
.cp-product-list { display:grid; gap:14px; }
.cp-product-list article { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); align-items:center; gap:28px; padding:18px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.cp-product-list article:nth-child(even) { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
.cp-product-list article:nth-child(even) img { order:2; }
.cp-product-list img { width:100%; height:260px; object-fit:cover; border-radius:8px; background:#eef6ff; }
.cp-product-list h3 { margin:0; font-size:27px; }
.cp-product-list p:not(.v3-eyebrow) { color:var(--muted); font-size:13px; line-height:1.8; }
.cp-issue-list { display:grid; gap:10px; }
.cp-issue-list article { display:flex; align-items:center; gap:15px; padding:15px 19px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.cp-issue-list article>span { display:grid; width:39px; height:39px; flex:0 0 39px; place-items:center; border-radius:50%; color:var(--blue); background:#eaf4ff; }
.cp-issue-list h3 { margin:0; font-size:14px; }
.cp-issue-list p { margin:4px 0 0; color:var(--muted); font-size:11px; }
.cp-case-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.cp-case-grid article { overflow:hidden; border:1px solid var(--line); border-radius:11px; background:#fff; }
.cp-case-grid img { display:block; width:100%; height:200px; object-fit:cover; }
.cp-case-grid article>div { padding:18px 20px 21px; }
.cp-case-grid h3 { margin:0; font-size:18px; }
.cp-case-grid article>div>p:not(.cp-card__eyebrow) { margin:8px 0; color:var(--muted); font-size:12px; line-height:1.8; }
.cp-case-grid article>div>span { color:var(--blue-deep); font-size:11px; font-weight:700; }
.cp-before-after { display:grid; grid-template-columns:1fr 56px 1fr; align-items:center; gap:14px; max-width:900px; margin-inline:auto; }
.cp-before-after article { padding:21px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.cp-before-after article:last-child { border-color:#a9c9ef; background:#f4f9ff; }
.cp-before-after article>p { margin:0 0 13px; font-weight:800; }
.cp-before-after ul { display:grid; gap:9px; margin:0; padding:0; color:var(--muted); font-size:12px; list-style:none; }
.cp-before-after li::before { content:"✓　"; color:var(--blue); font-weight:800; }
.cp-before-after>span { color:var(--blue); font-size:27px; text-align:center; }
.cp-faq-group { margin-top:22px; }
.cp-faq-group:first-child { margin-top:0; }
.cp-faq-group .v3-eyebrow { margin-bottom:9px; }
.cp-faq { display:grid; gap:8px; }
.cp-faq details { border:1px solid var(--line); border-radius:9px; background:#fff; }
.cp-faq summary { display:flex; min-height:54px; align-items:center; gap:12px; padding:11px 15px; cursor:pointer; list-style:none; font-size:13px; font-weight:700; line-height:1.65; }
.cp-faq summary::-webkit-details-marker { display:none; }
.cp-faq summary::after { margin-left:auto; content:"＋"; color:var(--blue); font:500 20px/1 var(--sans); }
.cp-faq details[open] summary::after { content:"−"; }
.cp-faq__q { display:grid; width:27px; height:27px; flex:0 0 27px; place-items:center; border-radius:50%; color:var(--blue-deep); background:#eaf4ff; font:700 11px/1 var(--sans); }
.cp-faq details>p { margin:0; padding:0 18px 16px 54px; color:var(--muted); font-size:12px; line-height:1.85; }
.cp-contact-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr); gap:34px; }
.cp-contact-grid h2 { margin:0 0 19px; font-size:24px; }
.cp-contact-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-bottom:18px; }
.cp-contact-options a { display:flex; min-width:0; flex-direction:column; gap:5px; padding:15px 12px; border:1px solid var(--line); border-radius:9px; background:#fff; }
.cp-contact-options a>span { color:var(--blue); font-size:21px; }
.cp-contact-options strong { font-size:11px; }
.cp-contact-options small { overflow-wrap:anywhere; color:var(--muted); font-size:10px; line-height:1.5; }
.cp-form { display:grid; gap:12px; padding:20px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.cp-form__alert { margin:0; color:#b33434; font-size:11px; }
.cp-form>label:not(.cp-form__consent) { display:grid; grid-template-columns:145px minmax(0,1fr); align-items:start; gap:12px; font-size:12px; font-weight:700; }
.cp-form__field-head { display:flex; min-height:43px; align-items:center; gap:8px; }
.cp-form__field-head small { color:var(--muted); font-size:10px; font-weight:500; }
.cp-form label>small { color:var(--muted); font-size:10px; font-weight:500; }
.cp-form input:not([type=checkbox]),.cp-form select,.cp-form textarea { width:100%; min-width:0; min-height:43px; padding:10px 12px; border:1px solid var(--line-strong); border-radius:7px; color:var(--ink); background:#fff; font:400 12px/1.6 var(--serif); }
.cp-form textarea { resize:vertical; }
.cp-form__consent { display:flex; align-items:center; gap:9px; margin:3px 0; font-size:11px; }
.cp-form__consent input { width:17px; height:17px; accent-color:var(--blue); }
.cp-form__consent a { color:var(--blue-deep); text-decoration:underline; }
.cp-form button { min-height:48px; border:0; border-radius:999px; color:#fff; background:#9aa8ba; font-size:13px; font-weight:700; }
.cp-form button:disabled { cursor:not-allowed; opacity:.72; }
.cp-form .v3-button { justify-self:start; min-width:220px; min-height:48px; color:#fff; background:var(--red); cursor:pointer; }
.cp-form .v3-button:hover { background:var(--red-hover); }
.cp-form .v3-button:disabled { cursor:wait; }
.cp-form__privacy { margin:0; color:var(--muted); font-size:11px; line-height:1.7; }
.cp-form__privacy a { color:var(--blue-deep); text-decoration:underline; }
.cp-form__status { min-height:1.5em; margin:0; color:var(--muted); font-size:12px; }
.cp-form__status--error { color:#b33434; }
.cp-form__success { padding:20px; border-left:4px solid var(--blue); background:var(--sky-soft); }
.cp-form__success h3 { margin:0 0 8px; color:var(--ink); font-size:17px; }
.cp-form__success p { margin:0; color:var(--muted); font-size:13px; line-height:1.8; }
.cp-contact-side { padding:23px; border-radius:11px; background:#f2f8ff; }
.cp-contact-side .cp-steps { grid-template-columns:1fr; gap:10px; }
.cp-contact-side .cp-steps>li { grid-template-columns:36px 42px minmax(0,1fr); padding:12px; }
.cp-contact-side .cp-steps p { grid-column:3; }
.cp-address { margin-top:18px; padding-top:16px; border-top:1px solid var(--line-strong); }
.cp-address h3 { margin:0 0 6px; font-size:15px; }
.cp-address p { color:var(--muted); font-size:12px; line-height:1.75; }
.cp-address a { font-weight:700; }
.cp-facts { max-width:920px; margin-inline:auto; }
.cp-facts dl { margin:0; border-top:1px solid var(--line); }
.cp-facts dl>div { display:grid; grid-template-columns:190px minmax(0,1fr); border-bottom:1px solid var(--line); }
.cp-facts dt,.cp-facts dd { margin:0; padding:15px 17px; font-size:13px; line-height:1.75; }
.cp-facts dt { color:var(--ink-soft); background:#f3f9ff; font-weight:700; }
.cp-facts dd a { color:var(--blue-deep); text-decoration:underline; }
.cp-message { max-width:790px; font-size:14px; line-height:2; }
.cp-message p { color:var(--muted); }
.cp-final-cta { padding-block:42px; color:#fff; background:var(--ink); }
.cp-final-cta__inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.cp-final-cta .v3-eyebrow { color:#9ccaff; }
.cp-final-cta h2 { margin:0; font-size:clamp(22px,3vw,31px); line-height:1.4; }
.cp-final-cta p:not(.v3-eyebrow) { margin:7px 0 0; color:rgba(255,255,255,.8); font-size:12px; }
.cp-final-cta .v3-button { min-width:225px; }
.cp-policy-intro { max-width:850px; }
.cp-policy-intro h2 { font-size:24px; }
.cp-policy-intro>p:last-child { color:var(--muted); font-size:13px; line-height:1.9; }
.cp-prose { max-width:900px; color:var(--ink-soft); font-size:13px; line-height:1.95; }
.cp-prose h3 { margin:23px 0 8px; font-size:17px; }
.cp-prose p { margin:9px 0; }
.cp-prose ul { padding-left:1.4em; }
.cp-table-wrap { overflow-x:auto; margin-top:20px; }
.cp-facts-table { width:100%; border-collapse:collapse; background:#fff; }
.cp-facts-table th,.cp-facts-table td { padding:13px 15px; border:1px solid var(--line); text-align:left; font-size:12px; line-height:1.75; }
.cp-facts-table th { width:28%; background:#f3f9ff; }
@media(min-width:1024px) { .cp-page .v3-header__inner { height:78px; } .cp-page .v3-nav { display:flex; align-items:center; gap:clamp(14px,2vw,30px); } .cp-page .v3-nav a { color:var(--ink-soft); font-size:12px; font-weight:700; } .cp-page .v3-nav a:hover { color:var(--blue); } }
@media(max-width:900px) { .cp-benefits--5 { grid-template-columns:repeat(3,minmax(0,1fr)); } .cp-steps { grid-template-columns:repeat(2,minmax(0,1fr)); } .cp-contact-grid { grid-template-columns:1fr; } .cp-contact-side { order:-1; } }
@media(max-width:767px) {
 .cp-breadcrumb { padding-block:10px; font-size:10px; }
 .cp-hero { min-height:660px; align-items:flex-start; }
 .cp-hero__visual { inset:28% 0 0 12%; }
 .cp-hero__visual::after { background:linear-gradient(180deg,#f3f9ff 0%,rgba(243,249,255,.88) 11%,rgba(243,249,255,.22) 39%,rgba(8,34,74,.1) 100%),linear-gradient(90deg,rgba(243,249,255,.25),transparent 72%); }
 .cp-hero__visual img { object-position:65% center; }
 .cp-hero__inner { padding-block:38px 260px; }
 .cp-hero__copy { width:min(100%,620px); }
 .cp-hero h1 { font-size:clamp(37px,9vw,54px); }
 .cp-hero__lead { max-width:500px; margin-top:15px; font-size:14px; }
 .cp-hero__actions { margin-top:20px; }
 .cp-hero__actions .v3-button { min-height:46px; padding-inline:17px; font-size:12px; }
 .cp-hero__stamp { right:5%; bottom:6%; font-size:8px; }
 .cp-section__head { display:block; margin-bottom:20px; }
 .cp-section__head>p { margin-top:9px; font-size:12px; }
 .cp-cards--2,.cp-cards--3 { grid-template-columns:1fr; gap:12px; }
 .cp-card { display:grid; grid-template-columns:minmax(115px,.42fr) minmax(0,.58fr); align-items:stretch; }
 .cp-card__media { aspect-ratio:auto; min-height:150px; height:100%; }
 .cp-card__body { padding:14px 14px 25px; }
 .cp-card h3 { font-size:16px; }
 .cp-card__body>p:not(.cp-card__eyebrow) { font-size:10px; line-height:1.65; }
 .cp-card__eyebrow { font-size:8px; }
 .cp-card__arrow { right:10px; bottom:8px; width:26px; height:26px; }
 .cp-steps { grid-template-columns:1fr; gap:9px; }
 .cp-steps>li { grid-template-columns:35px 42px minmax(0,1fr); gap:8px; padding:12px; }
 .cp-step__num { width:30px; height:30px; }
 .cp-step__icon { width:38px; height:38px; }
 .cp-steps h3 { font-size:13px; }
 .cp-steps p { grid-column:3; font-size:10px; }
 .cp-pillars,.cp-benefits,.cp-benefits--4,.cp-benefits--5,.cp-issue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
 .cp-pillars article,.cp-benefits article,.cp-issue-grid article { padding:14px; }
 .cp-pillars h3 { font-size:14px; }
 .cp-pillars p,.cp-benefits p,.cp-issue-grid p { font-size:10px; }
 .cp-benefits h3,.cp-issue-grid h3 { font-size:12px; }
 .cp-plan-grid { grid-template-columns:1fr; gap:12px; }
 .cp-plan-grid article { padding:22px; }
 .cp-plan-grid__price strong { font-size:34px; }
 .cp-product-list article,.cp-product-list article:nth-child(even) { grid-template-columns:1fr; gap:13px; padding:12px; }
 .cp-product-list article:nth-child(even) img { order:0; }
 .cp-product-list img { height:auto; max-height:230px; }
 .cp-product-list h3 { font-size:23px; }
 .cp-case-grid { grid-template-columns:1fr; gap:12px; }
 .cp-case-grid img { height:170px; }
 .cp-before-after { grid-template-columns:1fr; gap:8px; }
 .cp-before-after>span { transform:rotate(90deg); }
 .cp-faq summary { min-height:50px; padding:10px 12px; font-size:12px; }
 .cp-faq details>p { padding:0 14px 14px 50px; font-size:11px; }
 .cp-contact-options { grid-template-columns:1fr; }
 .cp-contact-options a { display:grid; grid-template-columns:33px minmax(0,1fr); align-items:center; column-gap:10px; }
 .cp-contact-options a>span { grid-row:span 2; }
 .cp-form { padding:15px; }
 .cp-form>label:not(.cp-form__consent) { grid-template-columns:1fr; gap:5px; }
 .cp-contact-side { padding:16px; }
 .cp-contact-side .cp-steps p { grid-column:3; }
 .cp-facts dl>div { grid-template-columns:1fr; }
 .cp-facts dt { padding-bottom:4px; }
 .cp-facts dd { padding-top:5px; }
 .cp-final-cta__inner { align-items:flex-start; flex-direction:column; }
 .cp-final-cta .v3-button { width:100%; }
 .cp-policy-intro h2 { font-size:21px; }
 .cp-facts-table th,.cp-facts-table td { min-width:115px; padding:10px; font-size:11px; }
}
@media(max-width:360px) { .cp-hero h1 { font-size:36px; } .cp-hero__actions { display:grid; grid-template-columns:1fr; } .cp-hero__actions .v3-button { width:100%; } .cp-card { grid-template-columns:minmax(100px,.38fr) minmax(0,.62fr); } .cp-benefits--5 { grid-template-columns:1fr; } }

/* Service use-case cards without a separate destination are explanatory, not links. */
.cp-card.cp-card--static { cursor: default; }
.cp-card.cp-card--static:hover {
  transform: none;
  border-color: var(--line);
  box-shadow: 0 8px 25px rgba(8,34,74,.035);
}
.cp-card.cp-card--static:hover .cp-card__media img { transform: none; }
