/* Distinct editorial treatments for training, reputation and healthcare stories. */
.communications-page .comms-hero-grid { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:72px; }
.communications-page .comms-hero-grid > *, .communications-page .comms-section-heading > * { min-width:0; }
.communications-page .comms-hero-grid h1 { max-width:15ch; }
.communications-page .comms-section-heading { display:grid; grid-template-columns:1.1fr 1fr; gap:72px; align-items:end; margin-bottom:44px; }
.communications-page .comms-section-heading h2 { margin-bottom:0; }
.communications-page .comms-section-heading > p { margin-bottom:5px; max-width:45ch; }
.communications-page .eyebrow { color:var(--red); }
.communications-page .contact-invitation .eyebrow { color:inherit; }
.communications-page figcaption { font-size:12px; line-height:1.5; color:var(--muted); margin-top:14px; }
.comms-context { display:flex; align-items:center; justify-content:space-between; gap:25px; border-top:1px solid var(--rule); margin-top:56px; padding-top:22px; }
.comms-context > span { font-size:11px; letter-spacing:.08em; font-weight:700; text-transform:uppercase; }
.comms-context p { font-size:14px; margin:0; }
.comms-context b { color:var(--red); font-weight:400; margin-inline:14px; }
/* A quiet recording frame: purposeful typography rather than a stock presenter. */
.practice-screen { position:relative; background:var(--ink); color:var(--paper); min-height:438px; padding:34px; display:flex; flex-direction:column; justify-content:space-between; }
.practice-screen::before { content:""; position:absolute; inset:22px; border:1px solid #696b62; pointer-events:none; }
.practice-label { display:flex; align-items:center; gap:10px; font-size:11px; letter-spacing:.09em; text-transform:uppercase; position:relative; }
.practice-label i { width:8px; height:8px; background:#e36a5e; border-radius:50%; }
.practice-message { padding:35px 6px; position:relative; }
.practice-message > span { display:block; color:#c4c6ba; font-size:12px; margin-bottom:20px; }
.practice-message p { margin:0; font-size:clamp(30px,3.2vw,45px); letter-spacing:-.035em; line-height:1.12; }
.practice-message em { color:#efc0b1; }
.practice-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:11px; color:#d4d5cc; position:relative; }
.training-scenarios { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ink); }
.training-scenarios article { padding:28px 30px 0 0; }
.training-scenarios article + article { padding-left:30px; border-left:1px solid var(--rule); }
.training-scenarios article:last-child { padding-right:0; }
.scenario-label { display:block; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--red); margin-bottom:25px; }
.training-scenarios h3 { font-size:clamp(26px,2.7vw,36px); line-height:1.1; margin-bottom:20px; }
.training-scenarios p { font-size:16px; }
.training-scenarios .scenario-prompt { font-size:10px; text-transform:uppercase; font-weight:700; letter-spacing:.06em; border-top:1px solid var(--rule); padding-top:22px; margin-top:28px; }
.scenario-prompt span { display:block; font-family:Georgia,'Times New Roman',serif; font-size:21px; line-height:1.4; font-weight:400; font-style:italic; text-transform:none; letter-spacing:-.02em; margin-top:10px; }
.coaching-band { background:var(--sage); }
.coaching-cycle { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.coaching-cycle li { border-top:1px solid #8f9385; padding-top:22px; }
.coaching-cycle li > span { display:block; font-size:12px; color:var(--red); font-weight:700; margin-bottom:25px; }
.coaching-cycle h3 { font-size:25px; line-height:1.2; }
.coaching-cycle p { margin:0; font-size:16px; }
.newsroom-perspective { display:grid; grid-template-columns:.7fr 1.3fr; gap:90px; align-items:center; }
.newsroom-perspective figure { max-width:370px; }
.newsroom-perspective img { width:100%; background:var(--sage); }
.newsroom-perspective h2 { margin-bottom:26px; }
/* A briefing table gives this page its own visual language. */
.crisis-hero-copy { display:grid; grid-template-columns:1.15fr 1fr; gap:84px; align-items:end; }
.crisis-hero-copy h1 { margin-bottom:0; }
.crisis-page .page-hero { border-bottom:0; }
.message-room { background:var(--ink); color:var(--paper); }
.message-room-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:85px; align-items:center; }
.message-room .eyebrow { color:#efb9aa; }
.message-room h2 { font-size:clamp(45px,5.1vw,72px); margin-bottom:28px; }
.message-room p:not(.eyebrow) { max-width:30ch; color:#d3d5c9; font-size:17px; }
.message-board { background:var(--paper); color:var(--ink); padding:30px 34px; border-top:6px solid var(--red); box-shadow:10px 10px 0 #3b3d35; }
.message-board-heading { display:flex; justify-content:space-between; gap:25px; align-items:center; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:26px; }
.message-board-heading > span:last-child { color:var(--red); font-size:30px; line-height:1; }
.message-board dl { margin:0; }
.message-board dl > div { border-top:1px solid var(--rule); padding:20px 0; }
.message-board dl > div:last-child { padding-bottom:0; }
.message-board dt { font-size:20px; line-height:1.3; letter-spacing:-.025em; font-weight:600; }
.message-board dt > span { color:var(--red); font-size:11px; font-weight:400; margin-right:14px; vertical-align:middle; }
.message-board dd { font-size:14px; line-height:1.5; color:var(--muted); margin:9px 0 0 30px; }
.response-path { border-top:1px solid var(--ink); }
.response-path article { display:grid; grid-template-columns:.55fr 1.5fr .7fr; gap:40px; padding-block:34px; border-bottom:1px solid var(--rule); }
.response-phase > span { display:block; font-size:12px; color:var(--red); margin-bottom:10px; }
.response-phase > p { margin:0; font-size:19px; line-height:1.2; }
.response-path h3 { font-size:28px; margin-bottom:15px; }
.response-path article > div > p:not(.response-phase p) { font-size:16px; margin:0; }
.response-path .response-output { font-size:11px; margin:0; color:var(--muted); }
.response-output strong { display:block; margin-top:12px; font-size:15px; font-weight:500; color:var(--ink); }
.audience-section { background:#e9e4d9; }
.audience-layout { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.audience-layout h2 { margin-bottom:26px; }
.audience-questions { margin:0; }
.audience-questions > div { border-top:1px solid #b7b1a5; padding:25px 0; }
.audience-questions > div:last-child { border-bottom:1px solid #b7b1a5; }
.audience-questions dt { color:var(--red); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-bottom:12px; }
.audience-questions dd { margin:0; font-family:Georgia,'Times New Roman',serif; font-style:italic; font-size:26px; line-height:1.3; }
.comms-brief { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.comms-brief h2 { margin:0; }
/* Warm, spacious and person-led, with a diagram that makes the approach visible. */
.healthcare-page .healthcare-hero-grid { grid-template-columns:1.1fr 1fr; gap:65px; }
.healthcare-page .healthcare-hero-grid h1 { max-width:16ch; font-size:clamp(48px,5.4vw,80px); }
.story-compass-inner { position:relative; padding:42px 30px 30px; background:#e6e9df; border-radius:50% 50% 0 0; text-align:center; min-height:465px; display:flex; flex-direction:column; justify-content:center; }
.story-compass-inner > .eyebrow { font-size:10px; margin-bottom:25px; }
.compass-center { font-size:clamp(36px,4vw,56px); line-height:1.06; letter-spacing:-.045em; margin:0 0 35px; }
.compass-center em { color:var(--red); }
.compass-points { display:grid; grid-template-columns:repeat(3,1fr); padding-top:26px; border-top:1px solid #b5bbaa; gap:15px; }
.compass-points span { font-size:11px; font-weight:700; color:var(--red); }
.compass-points p { font-size:12px; line-height:1.5; margin:8px 0 0; }
.healthcare-story-types { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ink); }
.healthcare-story-types article { padding:30px 30px 0 0; }
.healthcare-story-types article + article { padding-left:30px; border-left:1px solid var(--rule); }
.healthcare-story-types article:last-child { padding-right:0; }
.healthcare-story-types article > span { display:block; font-size:11px; color:var(--red); margin-bottom:30px; }
.healthcare-story-types h3 { font-size:clamp(28px,3vw,40px); line-height:1.1; margin-bottom:25px; }
.healthcare-story-types p { font-size:16px; margin:0; }
.care-planning { background:#e9ebe3; }
.care-planning-layout { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.care-planning-layout h2 { margin-bottom:28px; }
.care-notes { border-top:1px solid #a9af9f; }
.care-notes article { border-bottom:1px solid #b9beaf; padding-block:26px; }
.care-notes article > span { display:block; color:var(--red); font-size:11px; margin-bottom:12px; }
.care-notes h3 { font-size:28px; margin-bottom:14px; }
.care-notes p { font-size:16px; margin:0; }
.healthcare-proof { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.healthcare-proof h2 { margin-bottom:28px; }
.healthcare-project-image { display:block; border:1px solid var(--rule); background:#fff; padding:12px; }
.healthcare-project-image img { width:100%; }
.healthcare-project-image:hover { border-color:var(--red); }
.healthcare-proof figcaption { display:flex; gap:10px 24px; justify-content:space-between; flex-wrap:wrap; }
.healthcare-formats { border-top:1px solid var(--rule); padding-block:35px 55px; }
.healthcare-formats > p:not(.eyebrow):not(.scope-note) { font-size:23px; max-width:none; line-height:1.6; margin-bottom:0; }
.healthcare-formats > p > span { color:var(--red); padding-inline:18px; }
.healthcare-formats .scope-note { margin-top:16px; }
@media(max-width:1100px) {
  .communications-page .comms-hero-grid,.communications-page .comms-section-heading { gap:40px; }
  .crisis-hero-copy,.message-room-layout,.audience-layout,.comms-brief,.care-planning-layout,.healthcare-proof,.newsroom-perspective { gap:45px; }
  .practice-screen { padding:30px; }
  .training-scenarios article,.healthcare-story-types article { padding-right:22px; }
  .training-scenarios article + article,.healthcare-story-types article + article { padding-left:22px; }
  .comms-context { align-items:start; }
  .comms-context b { margin-inline:7px; }
  .response-path article { gap:24px; }
  .healthcare-page .healthcare-hero-grid { gap:40px; }
  .story-compass-inner { min-height:420px; padding-inline:23px; }
}
@media(max-width:800px) {
  .communications-page .comms-hero-grid,.communications-page .comms-section-heading,.crisis-hero-copy,.message-room-layout,.audience-layout,.comms-brief,.healthcare-page .healthcare-hero-grid,.care-planning-layout,.healthcare-proof { grid-template-columns:1fr; gap:32px; }
  .communications-page .comms-section-heading { margin-bottom:35px; }
  .communications-page .comms-section-heading > p { max-width:60ch; }
  .comms-hero-grid > figure { max-width:560px; width:100%; }
  .practice-screen { min-height:400px; }
  .practice-message p { font-size:43px; }
  .comms-context { margin-top:35px; flex-direction:column; gap:12px; }
  .training-scenarios,.healthcare-story-types { grid-template-columns:1fr; }
  .training-scenarios article,.healthcare-story-types article { padding:28px 0; }
  .training-scenarios article + article,.healthcare-story-types article + article { padding-left:0; border-left:0; border-top:1px solid var(--rule); }
  .training-scenarios h3 br,.healthcare-story-types h3 br { display:none; }
  .training-scenarios h3,.healthcare-story-types h3 { font-size:32px; }
  .scenario-label,.healthcare-story-types article > span { margin-bottom:18px; }
  .training-scenarios .scenario-prompt { border-top:0; padding-top:0; margin-top:20px; margin-bottom:0; }
  .coaching-cycle { gap:25px; }
  .newsroom-perspective { grid-template-columns:.7fr 1.2fr; gap:30px; align-items:start; }
  .newsroom-perspective h2 { font-size:36px; }
  .message-room h2 br:nth-child(1) { display:none; }
  .message-room p:not(.eyebrow) { max-width:50ch; }
  .message-board { box-shadow:6px 6px 0 #3b3d35; }
  .response-path article { grid-template-columns:120px 1fr; }
  .response-path .response-output { grid-column:2; }
  .response-output strong { display:inline; margin-left:10px; }
  .response-output br { display:none; }
  .healthcare-page .healthcare-hero-grid h1 { font-size:var(--page-title); }
  .story-compass-inner { min-height:420px; }
  .compass-center { font-size:52px; }
  .compass-points p { font-size:14px; }
  .healthcare-formats > p:not(.eyebrow):not(.scope-note) { font-size:21px; }
  .healthcare-formats > p > span { padding-inline:8px; }
}
@media(max-width:540px) {
  .practice-screen { min-height:365px; padding:28px; }
  .practice-screen::before { inset:16px; }
  .practice-message p { font-size:35px; }
  .practice-label,.practice-footer { font-size:10px; }
  .comms-context p { font-size:13px; line-height:1.8; }
  .comms-context b { margin-inline:3px; }
  .coaching-cycle,.newsroom-perspective { grid-template-columns:1fr; }
  .coaching-cycle { gap:28px; }
  .coaching-cycle li > span { margin-bottom:15px; }
  .newsroom-perspective figure { max-width:260px; }
  .newsroom-perspective h2 { font-size:var(--section-title); }
  .message-board { padding:24px; }
  .message-board dt { font-size:19px; }
  .message-board dt > span { margin-right:8px; }
  .message-board dd { margin-left:23px; }
  .response-path article { grid-template-columns:1fr; gap:20px; }
  .response-phase { display:flex; gap:12px; align-items:center; }
  .response-phase > span { margin:0; }
  .response-phase > p { font-size:16px; }
  .response-path .response-output { grid-column:auto; }
  .audience-questions dd { font-size:24px; }
  .story-compass-inner { min-height:390px; padding:38px 20px 26px; }
  .story-compass-inner > .eyebrow { font-size:9px; }
  .compass-center { font-size:43px; margin-bottom:28px; }
  .compass-points { gap:10px; }
  .compass-points p { font-size:11px; }
  .compass-points span { font-size:10px; }
  .healthcare-project-image { padding:7px; }
}
@media print {
  .practice-screen,.message-room { background:white; color:black; }
  .practice-message em,.message-room p:not(.eyebrow),.message-room .eyebrow { color:black; }
  .message-board { box-shadow:none; border:1px solid black; }
  .practice-label i { background:black; }
}
