/* OEM case-led page. Scope keeps existing commerce and form layouts intact. */
.ftk-oem-design { --oem-ink:#302820; --oem-muted:#655c53; --oem-paper:#fbfaf7; --oem-tint:#f1ede5; --oem-rule:#d8d1c5; --oem-accent:#69402a; background:var(--oem-paper); color:var(--oem-ink); font-family:'Noto Sans JP',sans-serif; font-size:16px; line-height:1.9; }
.ftk-oem-design *, .ftk-oem-design *::before, .ftk-oem-design *::after { box-sizing:border-box; }
.ftk-oem-wrap { width:min(1200px,calc(100% - 96px)); margin-inline:auto; }
.ftk-oem-design h1,.ftk-oem-design h2 { font-family:'Noto Serif JP',serif; font-weight:600; letter-spacing:.025em; line-height:1.55; margin:0 0 24px; }
.ftk-oem-design h1 { font-size:clamp(32px,3.35vw,51px); }
.ftk-oem-design h2 { font-size:clamp(28px,2.8vw,40px); }
.ftk-oem-design h3 { font-size:19px; line-height:1.6; font-weight:600; margin:0 0 12px; }
.ftk-oem-design p { margin:0 0 20px; }
.ftk-oem-design figure { margin:0; min-width:0; }
.ftk-oem-design a { color:inherit; }
.ftk-oem-design a:focus-visible,.ftk-oem-design summary:focus-visible { outline:3px solid var(--oem-accent); outline-offset:5px; }
.ftk-oem-kicker { font-size:13px; color:var(--oem-accent); letter-spacing:.06em; font-weight:600; }
.ftk-oem-hero { padding:64px 0 0; }
.ftk-oem-hero-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:56px; align-items:center; }
.ftk-oem-hero-image img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; display:block; background:#fff; }
.ftk-oem-hero-image figcaption { color:var(--oem-muted); font-size:13px; margin-top:12px; }
.ftk-oem-lead { font-size:18px; }
.ftk-oem-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin:28px 0 18px; }
.ftk-oem-design .ftk-oem-button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; padding:12px 24px; background:var(--oem-accent); color:#fff; font-size:15px; font-weight:600; text-decoration:none; text-align:center; border:1px solid var(--oem-accent); }
.ftk-oem-design .ftk-oem-button:hover { background:#4d2d1e; }
.ftk-oem-text-link { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:5px; font-size:15px; }
.ftk-oem-note { color:var(--oem-muted); font-size:13px; line-height:1.8; }
.ftk-oem-design .ftk-oem-audience { border-top:1px solid var(--oem-rule); margin:46px 0 0; padding:20px 0; color:var(--oem-muted); font-size:13px; }
.ftk-oem-section { padding:88px 0; scroll-margin-top:100px; }
.ftk-oem-tinted { background:var(--oem-tint); }
.ftk-oem-section-head { max-width:760px; margin-bottom:40px; }
.ftk-oem-comparison { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-bottom:22px; }
.ftk-oem-case-image { display:block; background:#fff; }
.ftk-oem-case-image img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.ftk-oem-comparison figcaption { padding-top:20px; }
.ftk-oem-comparison figcaption p { font-size:14px; color:var(--oem-muted); }
.ftk-oem-step-label { display:block; font-size:12px; color:var(--oem-muted); margin-bottom:6px; }
.ftk-oem-case-notes { display:grid; grid-template-columns:1fr 1fr; gap:56px; border-top:1px solid var(--oem-rule); padding-top:30px; margin-top:32px; }
.ftk-oem-case-notes p { font-size:15px; }
.ftk-oem-split { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; }
.ftk-oem-principles article + article { padding-top:26px; border-top:1px solid var(--oem-rule); }
.ftk-oem-principles article { padding-bottom:12px; }
.ftk-oem-principles p { color:var(--oem-muted); font-size:15px; }
.ftk-oem-flow { list-style:decimal; padding-left:24px; margin:0; }
.ftk-oem-flow li { padding:0 0 22px 12px; }
.ftk-oem-flow li::marker { color:var(--oem-accent); }
.ftk-oem-flow p { color:var(--oem-muted); font-size:15px; }
.ftk-oem-reference { display:grid; grid-template-columns:120px 1fr auto; gap:28px; align-items:center; padding:24px 0; border-top:1px solid var(--oem-rule); }
.ftk-oem-reference img { display:block; width:120px; height:120px; object-fit:cover; }
.ftk-oem-reference p { font-size:14px; margin-bottom:8px; }
.ftk-oem-secondary { margin-top:28px!important; font-size:13px; color:var(--oem-muted); }
.ftk-oem-secondary a { text-decoration:underline; text-underline-offset:4px; display:inline-block; padding-block:9px; }
.ftk-oem-faq details { border-top:1px solid var(--oem-rule); }
.ftk-oem-faq details:last-child { border-bottom:1px solid var(--oem-rule); }
.ftk-oem-faq summary { padding:20px 6px; font-size:16px; cursor:pointer; }
.ftk-oem-faq details p { padding:0 6px 8px; font-size:14px; color:var(--oem-muted); }
.ftk-oem-contact { background:var(--oem-tint); }
.ftk-oem-contact .ftk-oem-button { margin:8px 0 20px; }
.ftk-oem-signoff { padding:26px 0; font-size:13px; color:var(--oem-muted); }
.ftk-oem-design img { max-width:100%; }
.ftk-oem-design a,.ftk-oem-design p { overflow-wrap:anywhere; }
@media(max-width:1050px) {
 .ftk-oem-wrap { width:calc(100% - 64px); }
 .ftk-oem-hero-grid { gap:32px; grid-template-columns:1.15fr 1fr; }
 .ftk-oem-split { gap:40px; }
 .ftk-oem-hero-grid br { display:none; }
}
@media(max-width:700px) {
 .ftk-oem-wrap { width:calc(100% - 40px); }
 .ftk-oem-hero { padding-top:32px; }
 .ftk-oem-hero-grid,.ftk-oem-split,.ftk-oem-case-notes { grid-template-columns:1fr; gap:28px; }
 .ftk-oem-hero-image { max-width:440px; margin-inline:auto!important; }
 .ftk-oem-hero-image img { max-height:340px; }
 .ftk-oem-lead { font-size:16px; }
 .ftk-oem-design h1 { font-size:32px; }
 .ftk-oem-design h1 br { display:none; }
 .ftk-oem-section { padding:56px 0; }
 .ftk-oem-comparison { grid-template-columns:1fr; gap:36px; }
 .ftk-oem-case-image img { max-height:380px; }
 .ftk-oem-comparison figure { display:grid; grid-template-columns:1fr; }
 .ftk-oem-reference { grid-template-columns:88px 1fr; gap:16px; }
 .ftk-oem-reference img { width:88px; height:88px; }
 .ftk-oem-reference > .ftk-oem-text-link { grid-column:2; }
 .ftk-oem-actions { align-items:stretch; flex-direction:column; gap:8px; }
 .ftk-oem-button { width:100%; }
 .ftk-oem-design .ftk-oem-audience { margin-top:28px; }
}
@media(prefers-reduced-motion:reduce) { .ftk-oem-design * { scroll-behavior:auto; animation:none!important; transition:none!important; } }

.ftk-secondary-commerce { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 24px; padding:16px 0; font-size:13px; }
.ftk-secondary-commerce a { display:inline-flex; align-items:center; min-height:44px; color:inherit; text-decoration:underline; text-underline-offset:4px; }

.ftk-page-oem-form .oemx-ai-preference { padding:24px 0; margin:24px 0; border-top:1px solid #d8d1c5; border-bottom:1px solid #d8d1c5; }
.ftk-page-oem-form .oemx-ai-preference h2 { font-size:20px; margin:0 0 16px; }
.ftk-page-oem-form .oemx-ai-preference .oemx-choices { display:flex; flex-direction:column; gap:8px; }
.ftk-page-oem-form .oemx-ai-preference label { display:flex; align-items:center; gap:10px; min-height:44px; cursor:pointer; }
.ftk-page-oem-form .oemx-ai-preference input { accent-color:#69402a; }
@media(max-width:700px) {
 .ftk-oem-hero-grid > div { display:contents; }
 .ftk-oem-hero-grid h1 { order:0; font-size:clamp(22px,6.2vw,28px); margin-bottom:0; }
 .ftk-oem-hero-grid h1 br { display:initial; }
 .ftk-oem-hero-grid .ftk-oem-hero-image { order:1; width:100%; max-width:320px; }
 .ftk-oem-hero-grid .ftk-oem-hero-image img { max-height:280px; }
 .ftk-oem-hero-grid p { order:3; margin-bottom:0; }
 .ftk-oem-hero-grid .ftk-oem-lead { order:2; }
 .ftk-oem-hero-grid .ftk-oem-actions { order:4; margin:0; }
 .ftk-oem-hero-grid .ftk-oem-note { order:5; }
}

.ftk-page-oem-form .oemx-ai-preference .oemx-choices label { border:0; border-radius:0; box-shadow:none; background:transparent; padding:8px 0; font-weight:400; }
.ftk-page-oem-form .oemx-ai-preference .oemx-choices label:has(input:checked) { border:0; box-shadow:none; background:transparent; }
.ftk-page-oem-form .oemx-question textarea[data-oem-free-text] { box-sizing:border-box; max-width:100%; }

/* Guide-only layout keeps the selected diagram as the single visual hero. */
.ftk-page-oem-guide .ftk-oem-hero-grid { grid-template-columns:1fr; gap:32px; }
.ftk-page-oem-guide .ftk-oem-hero-intro { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:32px; align-items:end; }
.ftk-page-oem-guide .ftk-oem-hero-intro h1 { grid-column:1; font-size:clamp(28px,2.35vw,36px); margin-bottom:0; }
.ftk-page-oem-guide .ftk-oem-hero-intro .ftk-oem-lead { grid-column:2; margin:0; }
.ftk-page-oem-guide .ftk-oem-hero-intro > p:not(.ftk-oem-lead) { grid-column:2; margin:0; }
.ftk-page-oem-guide .ftk-oem-hero-image { grid-column:1; width:100%; }
.ftk-page-oem-guide .ftk-oem-hero-image img { aspect-ratio:192/85; background:transparent; }
.ftk-page-oem-guide .ftk-oem-hero-cta { grid-column:1; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.ftk-page-oem-guide .ftk-oem-hero-cta .ftk-oem-actions { margin:0; }
.ftk-page-oem-guide .ftk-oem-hero-cta .ftk-oem-note { margin:0; }
.ftk-page-oem-guide .ftk-oem-kicker { font-size:14px; }
.ftk-page-oem-guide .ftk-oem-note,
.ftk-page-oem-guide .ftk-oem-audience,
.ftk-page-oem-guide .ftk-oem-secondary { font-size:14px; }
.ftk-page-oem-guide .ftk-oem-button,
.ftk-page-oem-guide .ftk-oem-text-link { font-size:16px; }
.ftk-page-oem-guide .ftk-oem-comparison { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ftk-page-oem-guide .ftk-oem-comparison figure { border-top:1px solid var(--oem-rule); padding-top:20px; }
.ftk-page-oem-guide .ftk-oem-comparison figcaption { padding-top:16px; }
.ftk-page-oem-guide .ftk-oem-comparison figcaption p { font-size:16px; }
.ftk-page-oem-guide .ftk-oem-case-link { display:inline-flex; align-items:center; min-height:44px; font-size:16px; text-decoration:underline; text-underline-offset:5px; }

@media(max-width:700px) {
 .ftk-page-oem-guide .ftk-oem-hero-grid { grid-template-columns:1fr; gap:28px; }
 .ftk-page-oem-guide .ftk-oem-hero-intro { display:contents; }
 .ftk-page-oem-guide .ftk-oem-hero-intro h1,
 .ftk-page-oem-guide .ftk-oem-hero-intro .ftk-oem-lead,
 .ftk-page-oem-guide .ftk-oem-hero-intro > p:not(.ftk-oem-lead),
 .ftk-page-oem-guide .ftk-oem-hero-image,
 .ftk-page-oem-guide .ftk-oem-hero-cta { grid-column:1 / -1; min-width:0; }
 .ftk-page-oem-guide .ftk-oem-hero-intro h1 { order:0; font-size:clamp(22px,5.3vw,28px); margin-bottom:0; }
 .ftk-page-oem-guide .ftk-oem-hero-grid .ftk-oem-hero-image { order:1; width:100%; max-width:420px; margin-inline:auto; }
 .ftk-page-oem-guide .ftk-oem-hero-grid .ftk-oem-hero-image img { aspect-ratio:5/7; max-height:none; }
 .ftk-page-oem-guide .ftk-oem-hero-intro .ftk-oem-lead { order:2; margin:0; }
 .ftk-page-oem-guide .ftk-oem-hero-intro > p:not(.ftk-oem-lead) { order:3; margin:0; }
 .ftk-page-oem-guide .ftk-oem-hero-cta { order:4; display:block; }
 .ftk-page-oem-guide .ftk-oem-hero-cta .ftk-oem-actions { margin:0; }
 .ftk-page-oem-guide .ftk-oem-hero-cta .ftk-oem-note { margin-top:12px; }
 .ftk-page-oem-guide .ftk-oem-comparison { grid-template-columns:1fr; }
}
