/* CiCC method landing typography and layout. */
.method-landing {
    --method-body: var(--font-body, var(--font-sans));
    --method-heading: var(--font-heading);
    --method-body-size: 1rem;
    --method-body-leading: 1.8;
    background: #07111f;
    color: #dbeafe;
    min-height: 60vh;
    font-family: var(--method-body);
    font-size: var(--method-body-size);
    line-height: var(--method-body-leading);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.method-landing h1,
.method-landing h2,
.method-landing h3,
.method-landing strong,
.method-landing a { font-family: var(--method-heading); }

.method-hero { position:relative; overflow:hidden; text-align:center; padding:96px 24px 88px; background:linear-gradient(145deg,#07111f,#111c3a 52%,#24134a); }
.method-hero__glow { position:absolute; width:620px; height:620px; left:50%; top:-420px; transform:translateX(-50%); background:radial-gradient(circle,rgba(56,189,248,.2),transparent 68%); pointer-events:none; }
.method-hero__inner { position:relative; max-width:900px; margin:auto; }
.method-hero__icon { display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; border:1px solid rgba(125,211,252,.25); border-radius:20px; background:rgba(56,189,248,.1); font-size:32px; margin-bottom:20px; }
.method-hero__eyebrow { margin:0 0 16px; color:#7dd3fc; font-family:var(--method-body); font-size:12px; font-weight:800; letter-spacing:.14em; line-height:1.4; }
.method-hero h1 { margin:0; color:#fff; font-size:clamp(34px,6vw,64px); font-weight:800; line-height:1.08; letter-spacing:-.04em; }
.method-hero__accent { margin:18px auto 0; color:#c4b5fd; font-family:var(--method-heading); font-size:clamp(19px,3vw,28px); font-weight:700; line-height:1.3; }
.method-hero__intro { max-width:650px; margin:20px auto 30px; color:#94a3b8; font-family:var(--method-body); font-size:16px; line-height:1.7; }
.method-hero__cta,
.method-aside a { display:inline-flex; align-items:center; gap:9px; border-radius:12px; background:linear-gradient(135deg,#2563eb,#7c3aed); padding:14px 22px; color:#fff; text-decoration:none; font-size:14px; font-weight:700; line-height:1.4; }
.method-content-wrap { display:grid; grid-template-columns:minmax(0,760px) 280px; gap:32px; max-width:1100px; margin:0 auto; padding:64px 24px 80px; }
.method-content { min-width:0; color:#b8c7da; font-family:var(--method-body); font-size:var(--method-body-size); line-height:var(--method-body-leading); }
.method-content h2 { margin:42px 0 14px; color:#fff; font-family:var(--method-heading); font-size:28px; font-weight:800; line-height:1.2; letter-spacing:-.02em; }
.method-content h3 { margin:28px 0 10px; color:#e0e7ff; font-family:var(--method-heading); font-size:20px; font-weight:700; line-height:1.35; }
.method-content p,
.method-content li { font-family:var(--method-body); }
.method-content a { color:#7dd3fc; }
.method-content ul { padding-left:24px; }
.method-aside { align-self:start; position:sticky; top:100px; display:grid; gap:12px; padding:22px; border:1px solid rgba(148,163,184,.16); border-radius:16px; background:rgba(255,255,255,.04); color:#94a3b8; font-family:var(--method-body); font-size:13px; line-height:1.6; }
.method-aside strong { color:#fff; font-size:15px; line-height:1.4; }
.method-aside a { justify-content:center; padding:11px 14px; font-family:var(--method-heading); font-size:12px; }

@media (max-width:800px) {
    .method-content-wrap { grid-template-columns:1fr; }
    .method-aside { position:static; }
    .method-hero { padding:72px 20px 64px; }
}

@media (prefers-reduced-motion:reduce) {
    .method-hero__glow { display:none; }
}

/* Shared landing typography contract. Keep this here so every method page
 * receives the same type scale after the global page rules are loaded. */
body.method-landing-page .method-landing,
body.method-landing-page .method-landing p,
body.method-landing-page .method-landing li,
body.method-landing-page .method-landing a,
body.method-landing-page .method-landing button,
body.method-landing-page .method-landing table { font-family: var(--cicc-font-body, 'Inter', sans-serif); }
body.method-landing-page .method-landing h1,
body.method-landing-page .method-landing h2,
body.method-landing-page .method-landing h3,
body.method-landing-page .method-landing h4,
body.method-landing-page .method-landing strong { font-family: var(--cicc-font-heading, 'Plus Jakarta Sans', sans-serif); }
body.method-landing-page .method-landing { font-size: 16px; line-height: 1.7; }
body.method-landing-page .method-landing .method-hero h1 { font-size: clamp(34px, 4.5vw, 54px); line-height: 1.1; letter-spacing: -.035em; }
body.method-landing-page .method-landing .method-hero__accent { font-size: clamp(18px, 2.4vw, 25px); line-height: 1.35; }
body.method-landing-page .method-landing .method-hero__intro { font-size: 16px; line-height: 1.7; }
body.method-landing-page .method-landing .method-content { font-size: 16px; line-height: 1.75; }
body.method-landing-page .method-landing .method-content p,
body.method-landing-page .method-landing .method-content li { font-size: 16px; line-height: 1.75; }
body.method-landing-page .method-landing .method-content h2 { margin: 42px 0 14px; font-size: clamp(24px, 2.7vw, 30px); line-height: 1.2; }
body.method-landing-page .method-landing .method-content h3 { margin: 24px 0 8px; font-size: 18px; line-height: 1.35; }
@media (max-width:800px) {
    body.method-landing-page .method-landing .method-hero h1 { font-size: 34px; }
    body.method-landing-page .method-landing .method-content { font-size: 15.5px; }
    body.method-landing-page .method-landing .method-content p,
    body.method-landing-page .method-landing .method-content li { font-size: 15.5px; }
    body.method-landing-page .method-landing .method-content h2 { font-size: 25px; }
    body.method-landing-page .method-landing .method-content h3 { font-size: 17px; }
}

/* IATF 16949 editorial landing — one controlled type system and clean reading surface. */
.method-landing[data-method="iatf16949-landing"] {
    --method-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --method-heading: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --iatf-ink: #172033;
    --iatf-muted: #56657a;
    --iatf-border: #dbe4ef;
    --iatf-blue: #155eef;
    --iatf-cyan: #06b6d4;
    background: #f5f8fc;
    color: var(--iatf-ink);
    font-family: var(--method-body);
}

.method-landing[data-method="iatf16949-landing"] *,
.method-landing[data-method="iatf16949-landing"] *::before,
.method-landing[data-method="iatf16949-landing"] *::after { box-sizing: border-box; }

.method-landing[data-method="iatf16949-landing"] .method-hero {
    padding: 92px 24px 84px;
    background: radial-gradient(circle at 78% 12%, rgba(34,211,238,.18), transparent 30%), linear-gradient(135deg, #071426 0%, #102854 58%, #142f70 100%);
}

.method-landing[data-method="iatf16949-landing"] .method-hero__inner { max-width: 980px; }
.method-landing[data-method="iatf16949-landing"] .method-hero__icon { border-radius: 18px; background: rgba(255,255,255,.1); }
.method-landing[data-method="iatf16949-landing"] .method-hero__eyebrow,
.method-landing[data-method="iatf16949-landing"] .method-hero__intro,
.method-landing[data-method="iatf16949-landing"] .method-hero__cta,
.method-landing[data-method="iatf16949-landing"] .method-aside,
.method-landing[data-method="iatf16949-landing"] .method-content,
.method-landing[data-method="iatf16949-landing"] .method-content p,
.method-landing[data-method="iatf16949-landing"] .method-content li { font-family: var(--method-body); }

.method-landing[data-method="iatf16949-landing"] .method-hero h1,
.method-landing[data-method="iatf16949-landing"] .method-hero__accent,
.method-landing[data-method="iatf16949-landing"] .method-content h1,
.method-landing[data-method="iatf16949-landing"] .method-content h2,
.method-landing[data-method="iatf16949-landing"] .method-content h3,
.method-landing[data-method="iatf16949-landing"] .method-aside strong { font-family: var(--method-heading); }

.method-landing[data-method="iatf16949-landing"] .method-content-wrap {
    max-width: 1180px;
    grid-template-columns: minmax(0, 820px) 270px;
    gap: 36px;
    padding: 54px 24px 88px;
    background: #f5f8fc;
}

.method-landing[data-method="iatf16949-landing"] .method-content {
    padding: 42px 48px 54px;
    border: 1px solid var(--iatf-border);
    border-radius: 22px;
    background: #fff;
    color: var(--iatf-ink);
    font-size: 17px;
    line-height: 1.78;
    box-shadow: 0 16px 44px rgba(18, 46, 84, .07);
}

.method-landing[data-method="iatf16949-landing"] .method-content > :first-child { margin-top: 0; }
.method-landing[data-method="iatf16949-landing"] .method-content h1 { margin: 0 0 24px; color: var(--iatf-ink); font-size: clamp(30px, 4vw, 46px); line-height: 1.12; letter-spacing: -.035em; }
.method-landing[data-method="iatf16949-landing"] .method-content h2 { margin: 52px 0 16px; padding-top: 8px; color: #102a56; font-size: clamp(25px, 3vw, 34px); line-height: 1.18; letter-spacing: -.025em; }
.method-landing[data-method="iatf16949-landing"] .method-content h3 { margin: 30px 0 10px; color: #164e8a; font-size: 20px; line-height: 1.3; }
.method-landing[data-method="iatf16949-landing"] .method-content p { margin: 0 0 18px; color: var(--iatf-muted); }
.method-landing[data-method="iatf16949-landing"] .method-content strong { color: #102a56; font-weight: 750; }
.method-landing[data-method="iatf16949-landing"] .method-content a { color: var(--iatf-blue); font-family: var(--method-body); font-weight: 650; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.method-landing[data-method="iatf16949-landing"] .method-content ul,
.method-landing[data-method="iatf16949-landing"] .method-content ol { margin: 16px 0 24px; padding-left: 26px; color: var(--iatf-muted); }
.method-landing[data-method="iatf16949-landing"] .method-content li { margin: 8px 0; padding-left: 4px; }
.method-landing[data-method="iatf16949-landing"] .method-content li::marker { color: var(--iatf-blue); font-weight: 700; }
.method-landing[data-method="iatf16949-landing"] .method-content img { display: block; max-width: 100%; height: auto; margin: 26px auto; border-radius: 16px; }
.method-landing[data-method="iatf16949-landing"] .method-content figure { margin: 28px 0; }
.method-landing[data-method="iatf16949-landing"] .method-content figcaption { margin-top: 8px; color: #718096; font-size: 13px; line-height: 1.45; text-align: center; }
.method-landing[data-method="iatf16949-landing"] .method-content table { width: 100%; margin: 24px 0; border-collapse: collapse; overflow: hidden; border: 1px solid var(--iatf-border); border-radius: 12px; font-size: 15px; }
.method-landing[data-method="iatf16949-landing"] .method-content th { background: #edf5ff; color: #102a56; font-family: var(--method-heading); font-weight: 750; text-align: left; }
.method-landing[data-method="iatf16949-landing"] .method-content th,
.method-landing[data-method="iatf16949-landing"] .method-content td { padding: 12px 14px; border-bottom: 1px solid var(--iatf-border); vertical-align: top; }
.method-landing[data-method="iatf16949-landing"] .method-content blockquote { margin: 26px 0; padding: 18px 22px; border-left: 4px solid var(--iatf-cyan); border-radius: 0 12px 12px 0; background: #ecfbff; color: #164e63; }
.method-landing[data-method="iatf16949-landing"] .rank-math-toc { margin: 0 0 34px; padding: 22px 24px; border: 1px solid #cfe3ff; border-radius: 16px; background: #f4f8ff; }
.method-landing[data-method="iatf16949-landing"] .rank-math-toc h2 { margin: 0 0 12px; padding: 0; color: #164e8a; font-size: 18px; }
.method-landing[data-method="iatf16949-landing"] .rank-math-toc ul { margin: 0; padding-left: 20px; font-size: 15px; }
.method-landing[data-method="iatf16949-landing"] .video-embed { position: relative; width: 100%; margin: 28px 0; overflow: hidden; border-radius: 16px; background: #071426; box-shadow: 0 12px 28px rgba(16,42,86,.16); }
.method-landing[data-method="iatf16949-landing"] .video-embed::before { display: block; padding-top: 56.25%; content: ''; }
.method-landing[data-method="iatf16949-landing"] .video-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.method-landing[data-method="iatf16949-landing"] .method-aside { top: 112px; padding: 22px; border: 1px solid var(--iatf-border); border-radius: 18px; background: #fff; color: var(--iatf-muted); box-shadow: 0 12px 30px rgba(18,46,84,.06); }
.method-landing[data-method="iatf16949-landing"] .method-aside strong { color: #102a56; font-size: 16px; }
.method-landing[data-method="iatf16949-landing"] .method-aside a { justify-content: center; background: linear-gradient(135deg, #155eef, #06b6d4); font-family: var(--method-body); }

@media (max-width: 800px) {
    .method-landing[data-method="iatf16949-landing"] .method-content-wrap { padding: 30px 14px 56px; }
    .method-landing[data-method="iatf16949-landing"] .method-content { padding: 28px 22px 38px; border-radius: 16px; font-size: 16px; }
    .method-landing[data-method="iatf16949-landing"] .method-hero { padding: 68px 18px 62px; }
    .method-landing[data-method="iatf16949-landing"] .method-content table { display: block; overflow-x: auto; white-space: normal; }
}
