/* Communication Difficulties page — scoped to prevent cross-page bleed. */
.communication-difficulties-page {
    --cd-blue: #2f72ff;
    --cd-red: #ec252e;
    --cd-panel: #0a111c;
    --cd-panel-blue: #0b1930;
    --cd-border: #2e4568;
    --cd-text: #f7f9ff;
    --cd-muted: #bac9dd;
    margin: 0;
    color: var(--cd-text);
    background:
        radial-gradient(circle at 4% 12%, rgba(47,114,255,.15), transparent 28rem),
        radial-gradient(circle at 97% 38%, rgba(236,37,46,.13), transparent 32rem),
        #000;
    overflow-x: hidden;
}

.communication-difficulties-page *,
.communication-difficulties-page *::before,
.communication-difficulties-page *::after { box-sizing: border-box; }

.communication-difficulties-page main {
    width: min(100% - 40px, 1500px);
    margin-inline: auto;
}

.communication-difficulties-page h1,
.communication-difficulties-page h2,
.communication-difficulties-page h3 {
    margin-top: 0;
    color: #fff;
    line-height: 1.08;
}

.communication-difficulties-page p { overflow-wrap: anywhere; }

.communication-difficulties-page .eyebrow {
    display: block;
    width: 100%;
    margin: 0 0 16px;
    color: #76a7ff;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .23em;
    line-height: 1.5;
    text-align: inherit;
    white-space: normal;
    word-break: normal;
}

.communication-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.42fr) minmax(340px, .58fr);
    gap: clamp(32px, 5vw, 78px);
    align-items: center;
    margin: 34px 0 28px;
    padding: clamp(48px, 7vw, 105px);
    border: 1px solid #29436e;
    border-radius: 32px;
    background:
        linear-gradient(112deg, rgba(5,25,65,.96), rgba(3,5,9,.98) 51%, rgba(62,3,9,.96)),
        #030507;
    box-shadow: 0 28px 85px rgba(0,0,0,.45);
}

.communication-hero h1 {
    margin-bottom: 28px;
    font-size: clamp(50px, 6.5vw, 100px);
    letter-spacing: -.045em;
}

.communication-hero h1 span { color: var(--cd-red); }
.hero-intro { max-width: 900px; color: var(--cd-muted); font-size: clamp(19px, 1.8vw, 26px); line-height: 1.65; }

.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.hero-actions a,
.crisis-section > a {
    display: inline-flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    padding: 15px 26px;
    border-radius: 13px;
    color: #fff;
    font-size: 17px;
    font-weight: 900;
    text-decoration: none;
    transition: transform .2s ease;
}
.hero-actions a:hover,
.crisis-section > a:hover { transform: translateY(-2px); }
.red-button { border: 1px solid #ff535a; background: linear-gradient(135deg, #f33139, #a00812); box-shadow: 0 12px 30px rgba(236,37,46,.24); }
.blue-button { border: 1px solid #5b8eff; background: linear-gradient(135deg, #3478ff, #123c9d); box-shadow: 0 12px 30px rgba(47,114,255,.22); }

.message-console { padding: 29px; border: 1px solid #42689d; border-radius: 24px; background: rgba(7,17,33,.95); }
.console-label { color: #fff; font-size: 13px; font-weight: 900; letter-spacing: .18em; }
.message-console > div:not(.signal-line) { max-width: 88%; margin-top: 17px; padding: 17px 19px; border-radius: 17px; }
.sent-message { margin-left: auto; border-bottom-right-radius: 4px !important; background: linear-gradient(145deg, #0e4ca4, #082b62); }
.received-message { margin-right: auto; border-bottom-left-radius: 4px !important; background: linear-gradient(145deg, #7d151b, #3f0b0e); }
.message-console span { font-size: 11px; font-weight: 900; letter-spacing: .14em; opacity: .78; }
.message-console p { margin: 6px 0 0; color: #fff; font-size: 18px; }
.signal-line { display: flex; align-items: center; gap: 10px; margin: 24px 0 15px; color: #ff6067; font-size: 12px; letter-spacing: .12em; }
.signal-line i { flex: 1; height: 1px; background: linear-gradient(90deg, transparent, #ff3039); }
.signal-line i:last-child { background: linear-gradient(90deg, #2f72ff, transparent); }
.console-note { color: #c7d4e6 !important; font-size: 15px !important; line-height: 1.55; }

.feature-image { padding: clamp(8px, 1.3vw, 18px); border: 2px solid var(--cd-blue); border-radius: 28px; background: linear-gradient(135deg, rgba(47,114,255,.12), rgba(236,37,46,.1)); box-shadow: 0 0 38px rgba(47,114,255,.18); }
.feature-image img { display: block; width: 100%; max-width: none; height: auto; object-fit: contain; border-radius: 18px; background: #050505; }

.truth-banner,
.breakdown-section,
.research-section,
.conversation-plan,
.scripts-section,
.listening-section,
.patterns-section,
.safety-section,
.repair-section,
.resource-section,
.closing-cta,
.sources { margin-top: clamp(55px, 7vw, 105px); }

.truth-banner { padding: clamp(38px, 5vw, 72px); text-align: center; border-top: 3px solid var(--cd-blue); border-bottom: 3px solid var(--cd-red); background: linear-gradient(100deg, rgba(47,114,255,.09), rgba(236,37,46,.09)); }
.truth-banner h2,
.communication-difficulties-page .section-heading h2,
.closing-cta h2 { margin-bottom: 20px; font-size: clamp(38px, 5vw, 68px); }
.truth-banner > p:not(.eyebrow),
.communication-difficulties-page .section-heading > p:not(.eyebrow),
.closing-cta > p:not(.eyebrow) { max-width: 1000px; margin: 0 auto; color: var(--cd-muted); font-size: clamp(18px, 1.7vw, 24px); line-height: 1.7; }

.communication-difficulties-page .section-heading {
    display: flex !important;
    width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto 38px !important;
    padding: 0 !important;
    grid-template-columns: none !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    text-align: center !important;
}
.communication-difficulties-page .section-heading .eyebrow,
.communication-difficulties-page .section-heading h2,
.communication-difficulties-page .section-heading > p {
    display: block !important;
    width: 100% !important;
    max-width: 1050px !important;
    text-align: center !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.breakdown-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.breakdown-track article { position: relative; min-height: 330px; padding: 30px 25px; border: 1px solid #30496f; border-top: 4px solid var(--cd-blue); border-radius: 20px; background: linear-gradient(145deg, #0c192c, #080c13); }
.breakdown-track article:nth-child(even) { border-top-color: var(--cd-red); }
.breakdown-track b { display: block; color: rgba(255,255,255,.08); font-size: 74px; line-height: 1; }
.breakdown-track span { color: #ff6067; font-size: 12px; font-weight: 900; letter-spacing: .14em; }
.breakdown-track h3 { margin: 17px 0 12px; font-size: 27px; }
.breakdown-track p { margin: 0; color: var(--cd-muted); line-height: 1.65; }

.research-section { padding: clamp(35px, 5vw, 70px); border: 1px solid #304a72; border-radius: 28px; background: linear-gradient(125deg, #081831, #05070b 50%, #280409); }
.research-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.research-grid article { padding: 28px; border: 1px solid #345077; border-radius: 18px; background: rgba(7,15,27,.94); }
.research-grid strong { color: #79a8ff; font-size: 13px; letter-spacing: .15em; }
.research-grid h3 { margin: 17px 0 12px; font-size: 27px; }
.research-grid p { color: var(--cd-muted); line-height: 1.65; }
.research-grid a { color: #78a8ff; font-weight: 800; }

.conversation-plan { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(30px, 5vw, 70px); align-items: center; padding: clamp(35px, 5vw, 70px); border: 1px solid #30496f; border-radius: 28px; background: #070b12; }
.plan-copy h2 { font-size: clamp(40px, 4.6vw, 66px); }
.plan-copy > p:not(.eyebrow) { color: var(--cd-muted); font-size: 20px; line-height: 1.7; }
.plan-rule { margin-top: 28px; padding: 22px; border-left: 5px solid var(--cd-red); background: rgba(236,37,46,.09); }
.plan-rule strong { color: #ff6269; line-height: 1.5; }
.plan-rule p { margin: 8px 0 0; color: #e0e7f2; }
.plan-board { display: grid; gap: 14px; }
.plan-board article { display: grid; grid-template-columns: 54px 1fr; gap: 17px; align-items: center; padding: 20px; border: 1px solid #30496f; border-radius: 16px; background: #0a172a; }
.plan-board span { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 50%; color: #fff; font-size: 20px; font-weight: 900; background: linear-gradient(145deg, var(--cd-blue), #123b96); }
.plan-board article:nth-child(even) span { background: linear-gradient(145deg, var(--cd-red), #901016); }
.plan-board h3 { margin-bottom: 5px; font-size: 23px; }
.plan-board p { margin: 0; color: var(--cd-muted); line-height: 1.5; }

.scripts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.scripts-grid article { padding: 28px; border: 1px solid #304a70; border-radius: 19px; background: linear-gradient(145deg, #0a1930, #080c13); }
.scripts-grid span { color: #ff6067; font-size: 12px; font-weight: 900; letter-spacing: .14em; }
.scripts-grid blockquote { margin: 18px 0 0; color: #fff; font-size: clamp(20px, 2vw, 28px); font-weight: 800; line-height: 1.45; }

.listening-section { display: grid; grid-template-columns: 1.35fr .65fr; gap: 20px; }
.listening-panel,
.listening-warning { padding: clamp(30px, 4vw, 54px); border: 1px solid #304a70; border-radius: 25px; background: #080e17; }
.listening-panel h2 { font-size: clamp(38px, 4vw, 58px); }
.listening-loop { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 30px; }
.listening-loop article { padding: 20px; border-top: 3px solid var(--cd-blue); background: #0c192b; }
.listening-loop b { color: rgba(255,255,255,.13); font-size: 42px; }
.listening-loop span { display: block; margin: 8px 0; color: #75a5ff; font-size: 12px; font-weight: 900; letter-spacing: .12em; }
.listening-loop p { margin: 0; color: var(--cd-muted); line-height: 1.55; }
.listening-warning { display: flex; flex-direction: column; justify-content: center; border-color: #73343a; background: linear-gradient(145deg, #270609, #090b10); }
.listening-warning h3 { font-size: clamp(30px, 3vw, 43px); }
.listening-warning p:not(.eyebrow) { color: #d8dfea; font-size: 18px; line-height: 1.65; }

.pattern-table { overflow: hidden; border: 1px solid #30496f; border-radius: 20px; background: #080e17; }
.pattern-table > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pattern-table > div > * { margin: 0; padding: 22px 26px; line-height: 1.55; }
.pattern-table > div:not(.table-head) { border-top: 1px solid #263b59; }
.pattern-table > div:not(.table-head) p:first-child { color: #ff8489; border-right: 1px solid #263b59; }
.pattern-table > div:not(.table-head) p:last-child { color: #dce8fa; }
.table-head { color: #fff; font-weight: 900; background: linear-gradient(90deg, #711017, #123f9d); }

.safety-section { display: grid; grid-template-columns: 1fr auto; gap: 35px; align-items: center; padding: clamp(35px, 5vw, 65px); border: 2px solid var(--cd-red); border-radius: 25px; background: linear-gradient(110deg, #330509, #080a0f 62%); }
.safety-copy h2 { font-size: clamp(38px, 4.5vw, 62px); }
.safety-copy > p:not(.eyebrow) { color: #d7deea; font-size: 19px; line-height: 1.7; }
.safety-actions { display: grid; gap: 13px; min-width: 270px; }
.safety-actions a { padding: 17px 21px; border: 1px solid #ff5960; border-radius: 12px; color: #fff; font-weight: 900; text-align: center; text-decoration: none; background: #ad111a; }
.safety-actions a:last-child { border-color: #5789ef; background: #1747a4; }

.repair-grid,
.resource-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 17px; }
.repair-grid article { padding: 28px; border: 1px solid #30496f; border-radius: 18px; background: #091423; }
.repair-grid span { color: #75a5ff; font-size: 13px; font-weight: 900; letter-spacing: .13em; }
.repair-grid p { color: var(--cd-muted); line-height: 1.6; }

.resource-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.resource-grid a { display: block; padding: 30px; color: #fff; text-decoration: none; border: 1px solid #36527b; border-radius: 18px; background: linear-gradient(145deg, #0b1930, #080c13); transition: transform .2s ease, border-color .2s ease; }
.resource-grid a:hover { transform: translateY(-3px); border-color: #6b99f5; }
.resource-grid span { color: #ff6269; font-size: 13px; font-weight: 900; letter-spacing: .14em; }
.resource-grid h3 { margin: 15px 0 10px; font-size: 25px; }
.resource-grid p { margin: 0; color: var(--cd-muted); line-height: 1.6; }

.crisis-section { display: grid; grid-template-columns: auto 1fr auto; gap: 25px; align-items: center; margin-top: clamp(55px, 7vw, 105px); padding: clamp(28px, 4vw, 48px); border: 2px solid var(--cd-red); border-radius: 22px; background: linear-gradient(110deg, rgba(111,4,12,.9), #090b11 60%); }
.crisis-mark { display: grid; width: 72px; height: 72px; place-items: center; border-radius: 50%; color: #fff; font-size: 46px; font-weight: 900; background: var(--cd-red); }
.crisis-section h2 { margin-bottom: 10px; font-size: clamp(28px, 3vw, 44px); }
.crisis-section p { margin: 0; color: #e5eaf3; font-size: 18px; line-height: 1.6; }
.crisis-section > a { min-width: 130px; color: #9d0710; background: #fff; }

.closing-cta { padding: clamp(42px, 6vw, 85px); text-align: center; border: 1px solid #334e75; border-radius: 28px; background: linear-gradient(120deg, #0a1c3e, #05070b 50%, #3a0509); }
.closing-cta .hero-actions { justify-content: center; }
.sources details { border: 1px solid #2d405b; border-radius: 15px; background: #080c12; }
.sources summary { display: flex; justify-content: space-between; padding: 23px 26px; color: #fff; font-weight: 900; cursor: pointer; list-style: none; }
.sources summary::-webkit-details-marker { display: none; }
.sources details > div { padding: 0 26px 25px; color: var(--cd-muted); line-height: 1.65; }
.sources a { color: #7eaaff; }

@media (max-width: 1120px) {
    .breakdown-track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .breakdown-track article { min-height: 0; }
    .listening-section { grid-template-columns: 1fr; }
    .repair-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 850px) {
    .communication-difficulties-page main { width: min(100% - 24px, 800px); }
    .communication-hero,
    .conversation-plan,
    .safety-section { grid-template-columns: 1fr; }
    .communication-hero { padding: 36px 25px; border-radius: 24px; }
    .communication-hero h1 { font-size: clamp(42px, 10vw, 66px); }
    .research-grid,
    .resource-grid { grid-template-columns: 1fr; }
    .listening-loop { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .safety-actions { min-width: 0; }
    .crisis-section { grid-template-columns: auto 1fr; }
    .crisis-section > a { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
    .communication-difficulties-page main { width: min(100% - 18px, 520px); }
    .communication-hero { margin-top: 18px; padding: 28px 20px; }
    .communication-hero h1 { margin-bottom: 18px; font-size: clamp(35px, 11vw, 50px); }
    .hero-intro { font-size: 17px; line-height: 1.55; }
    .hero-actions { display: grid; margin-top: 24px; }
    .hero-actions a { min-height: 52px; padding: 13px 17px; }
    .message-console { padding: 20px; }
    .feature-image { padding: 5px; border-radius: 19px; }
    .feature-image img { border-radius: 11px; }
    .truth-banner,
    .breakdown-section,
    .research-section,
    .conversation-plan,
    .scripts-section,
    .listening-section,
    .patterns-section,
    .safety-section,
    .repair-section,
    .resource-section,
    .closing-cta,
    .sources { margin-top: 42px; }
    .truth-banner { padding: 30px 18px; }
    .truth-banner h2,
    .communication-difficulties-page .section-heading h2,
    .closing-cta h2 { font-size: 34px; }
    .communication-difficulties-page .section-heading { margin-bottom: 25px !important; }
    .breakdown-track,
    .scripts-grid,
    .listening-loop,
    .repair-grid { grid-template-columns: 1fr; }
    .breakdown-track article { padding: 22px 20px; }
    .breakdown-track b { font-size: 53px; }
    .research-section,
    .conversation-plan,
    .listening-panel,
    .listening-warning,
    .safety-section,
    .closing-cta { padding: 28px 18px; border-radius: 21px; }
    .research-grid article,
    .scripts-grid article,
    .repair-grid article { padding: 22px 20px; }
    .plan-copy h2,
    .listening-panel h2,
    .safety-copy h2 { font-size: 35px; }
    .plan-board article { grid-template-columns: 46px 1fr; padding: 17px; gap: 13px; }
    .plan-board span { width: 44px; height: 44px; }
    .scripts-grid blockquote { font-size: 20px; }
    .pattern-table > div { grid-template-columns: 1fr; }
    .pattern-table > div:not(.table-head) p:first-child { border-right: 0; border-bottom: 1px solid #263b59; }
    .table-head span:last-child { display: none; }
    .pattern-table > div > * { padding: 18px 20px; }
    .resource-grid a { padding: 23px; }
    .crisis-section { grid-template-columns: 1fr; padding: 25px 20px; text-align: center; }
    .crisis-mark { margin-inline: auto; }
    .crisis-section > a { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .communication-difficulties-page *,
    .communication-difficulties-page *::before,
    .communication-difficulties-page *::after {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}
