/* ============================================================
   CMC ITS — site.css  (single stylesheet for every page)
   ------------------------------------------------------------
   STRUCTURE (top → bottom):
     1. :root design tokens .............. colors, shadows. Re-theme here.
     2. Reset & base ..................... global element defaults
     3. Header / Navigation .............. desktop nav, mega-menu, dropdowns
     4. Breadcrumb
     5. Page hero (layout only) .......... colors/images live in page blocks
     6. Mobile nav accordion
     7. Footer
     8. Shared components / utilities .... buttons, cards, tabs, sidebar,
                                           nutrition label, steps, TOC, etc.
     9. Shared page components ........... promoted from per-page scopes
    10. Per-page blocks (.pg-<name>) ..... one section per page, hero image
                                           + anything unique to that page

   MAINTENANCE NOTES
   - Shared look (nav, footer, cards, buttons) is defined ONCE in sections
     1–9. Edit there to restyle the whole site; do NOT re-add these rules
     inside a .pg-<name> block.
   - A .pg-<name> block should only hold what is genuinely unique to that
     page (its hero background image, one-off layouts). Selectors there are
     class-scoped (0,2,0) and override the shared rules by specificity.
   - The wide mega-menu element has BOTH .dropdown-menu and .dropdown-wide;
     .dropdown-wide must stay AFTER .dropdown-menu in source order (equal
     specificity, source order decides). See the note in section 3.
   - New page? Copy templates/template-*.html, add one .pg-<name> block here
     if needed, then run tools/build-search-index.py and tools/sync-nav.py.
   ============================================================ */

:root {
  --cmc-accent: #ac3040;
  --cmc-border: #e2e2e2;
  --cmc-maroon: #74001c;
  --cmc-maroon-dark: #4c000f;
  --cmc-maroon-hover: #8b162a;
  --cmc-maroon-light: #ffb3b5;
  --cmc-surface: #f9f9f9;
  --cmc-surface-alt: #f8f2f1;
  --cmc-text: #1a1c1c;
  --cmc-text-muted: #676463;
  --cmc-text-secondary: #584142;
  --navy: #1a2744;
  --navy-hover: #253460;
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.13);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.10);
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
}

/* ── Reset & base ───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Open Sans', sans-serif; color: var(--cmc-text); background: #fff; line-height: 1.6; }
h1,h2,h3,h4,h5,h6 { font-family: 'Montserrat', sans-serif; }
a { color: inherit; text-decoration: none; }

/* ── Header / Navigation ────────────────────────────────── */
.site-header { background:#fff; border-bottom:2px solid var(--cmc-maroon); position:sticky; top:0; z-index:1000; box-shadow:var(--shadow-md); }
.header-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; height:68px; }
.logo-wrap { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.logo-wrap .logo-text { font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:600; color:var(--cmc-maroon); letter-spacing:0.08em; text-transform:uppercase; line-height:1.3; }
.header-nav { list-style:none; display:flex; align-items:center; gap:2px; }
.header-nav > li > a { display:block; padding:8px 12px; font-family:'Montserrat',sans-serif; font-size:0.82rem; font-weight:600; color:var(--cmc-text); border-radius:6px; transition:background 0.18s,color 0.18s; white-space:nowrap; }
.mobile-chevron { font-size:0.7rem; opacity:0.6; }
.dropdown { position:relative; }
.dropdown-menu a:hover { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu { display:block; }
.dropdown:hover .dropdown-wide,.dropdown:focus-within .dropdown-wide { display:grid; }
.hamburger { display:none; background:none; border:none; cursor:pointer; padding:8px; border-radius:6px; }
.mobile-nav { display:none; background:#fff; border-top:1px solid var(--cmc-border); padding:16px; }
.mobile-nav.open { display: block; max-height: calc(100dvh - 68px); overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.mobile-nav a { display:block; padding:10px 12px; font-size:0.9rem; color:var(--cmc-text); border-radius:6px; }
.mobile-nav a:hover { background:var(--cmc-surface-alt); }
.mobile-section { margin-bottom:8px; }
.mobile-label { font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:var(--cmc-maroon); padding:8px 12px 4px; }
.mobile-sub { padding-left:12px; }
.dropdown-section { min-width:0; padding:0 14px; }
/* Every label reserves the same height (--dd-label-lines, set on the panel), so
   the rule under the labels — and the first link of every column — lands on one
   line however many lines an individual label wraps to. */
.dropdown-label { display:block; min-height:calc(var(--dd-label-lines,1) * 1.25em + 11px); font-family:"Montserrat",sans-serif; font-size:0.66rem; font-weight:700; line-height:1.25; text-transform:uppercase; letter-spacing:0.07em; text-wrap:balance; color:var(--cmc-maroon); padding:0 12px 10px; border-bottom:1px solid var(--cmc-border); margin-bottom:6px; }
.logo-wrap img { height:42px; width:auto; }
.dropdown-menu a { display:block; padding:8px 12px; font-size:0.84rem; color:var(--cmc-text-secondary); border-radius:6px; transition:background 0.15s,color 0.15s; font-family:"Open Sans",sans-serif; }
.hamburger span { display:block; width:22px; height:2px; background:var(--cmc-text); margin:5px 0; border-radius:2px; transition:all 0.3s; }
.dropdown-menu { display:none; position:absolute; top:calc(100% + 6px); left:0; background:#fff; border:1px solid var(--cmc-border); border-radius:10px; box-shadow:var(--shadow-lg); min-width:200px; padding:8px; z-index:2000; }
/* ── Mega-menu (.dropdown-wide) ──────────────────────────────────────────────
   .dropdown-wide must follow .dropdown-menu: the mega-menu element carries both
   classes at equal specificity, so source order decides which of them wins.

   Layout contract — three rules keep every mega-menu uniform at every width:
   1. Sections are equal grid columns with a 170px floor. Below that the row
      WRAPS rather than squeezing, so the seven-section Solutions menu becomes
      4+3 on a narrow laptop instead of seven unreadable slivers.
   2. Every label reserves the same height (--dd-label-lines), so a label that
      wraps to three lines no longer pushes its own column's links down past
      its neighbours'. Menus with 6+ sections get narrow columns and so need a
      taller band; if a new label needs more lines than the band reserves at
      its narrowest column width, raise --dd-label-lines for that section count.
   3. The panel is centred on the header and clamped to the page's 1232px
      content width, so a wide menu can never run off the right edge (it used
      to overflow the viewport by ~57px at 1280px). See the @supports block.
   -------------------------------------------------------------------------- */
.dropdown-wide { --dd-cols:2; --dd-label-lines:1; display:none; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); align-items:start; gap:22px 0; min-width:760px; max-width:calc(100vw - 32px); left:50%; transform:translateX(-40%); padding:20px 16px 16px; }
/* One step per section, so the panel widens with the menu instead of cramming. */
.dropdown-wide:has(> .dropdown-section:nth-child(3)) { --dd-cols:3; }
.dropdown-wide:has(> .dropdown-section:nth-child(4)) { --dd-cols:4; }
.dropdown-wide:has(> .dropdown-section:nth-child(5)) { --dd-cols:5; }
.dropdown-wide:has(> .dropdown-section:nth-child(6)) { --dd-cols:6; --dd-label-lines:3; }
.dropdown-wide:has(> .dropdown-section:nth-child(7)) { --dd-cols:7; }
.dropdown-wide:has(> .dropdown-section:nth-child(8)) { --dd-cols:8; }

@supports selector(:has(*)) {
  /* Anchor the panel to the sticky header (already a positioned ancestor)
     instead of its own <li>: every mega-menu then opens in the same place,
     centred and clamped to the viewport. Narrow .dropdown-menu panels keep
     their <li> anchor, so only the wide ones opt out. */
  .dropdown:has(> .dropdown-wide) { position:static; }
  .dropdown-wide { min-width:0; left:50%; transform:translateX(-50%); width:clamp(min(760px, calc(100% - 32px)), calc(var(--dd-cols) * 210px + 32px), min(1232px, calc(100% - 32px))); max-width:calc(100% - 32px); }
}

/* ── Header on narrow phones ──────────────────────────────────────────────────
   At full size the header needs 423px: 48px of gutters, a 253px logo lockup
   (140px wordmark + 12px + 101px of lockup text) and three 38px controls. Below
   that the hamburger was pushed past the viewport and the whole page scrolled
   sideways — so the breakpoint is 440px, not 400px: 412px and 428px are common
   phone widths and were overflowing too, and stopping at 424px left only 1.7px
   of slack on the other side of the query.

   The controls keep their 38px touch target; the logo gives up the room, image
   and text scaling together so the lockup stays in proportion. Both ramp
   linearly with the viewport rather than stepping at breakpoints, and both hit
   their desktop ceiling at ~420px — well inside the query — so crossing 440px
   changes nothing you can see. The floors are what a 320px phone can afford.
   Verified 320–441px: at least 10px of slack at every width. */
@media (max-width:440px) {
  .logo-wrap { gap:8px; }
  .logo-wrap img { height:clamp(24px, calc(17.8vw - 32.8px), 42px); }
  .logo-wrap .logo-text { font-size:clamp(0.55rem, calc(5.085vw - 9.37px), 0.75rem); letter-spacing:0.04em; line-height:1.25; }
  /* The 38px control size is a touch target — only the spacing between them
     gives. Scoped to .header-inner so this outranks the #id rules that define
     these buttons much further down the file, whatever the source order. */
  .header-inner #site-search-trigger, .header-inner #site-theme-trigger { margin-left:2px; }
}
/* Below 360px the ramp alone runs out — the wordmark is at its 24px floor and
   still needs more than the gutters leave. Trimming the header gutter is the
   last thing to give; content gutters below it stay at 24px. */
@media (max-width:360px) { .header-inner { padding:0 12px; } }

/* ── Breadcrumb ─────────────────────────────────────────── */
.breadcrumb { background:var(--cmc-surface); border-bottom:1px solid var(--cmc-border); padding:10px 0; }
.breadcrumb-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:flex; align-items:center; gap:8px; font-size:0.82rem; color:var(--cmc-text-muted); flex-wrap:wrap; }
.breadcrumb-inner a { color:var(--cmc-maroon); font-weight:600; }
.breadcrumb-inner a:hover { text-decoration:underline; }
.breadcrumb-sep { color:var(--cmc-border); }

/* ── Page hero (layout, not colours) ───────────────────── */
.page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; }
.page-eyebrow { display:inline-block; background:rgba(255,255,255,0.15); color:rgba(255,255,255,0.9); font-family:'Montserrat',sans-serif; font-size:0.7rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; padding:4px 12px; border-radius:9999px; border:1px solid rgba(255,255,255,0.25); margin-bottom:14px; }
.page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; margin-bottom:12px; text-shadow:0 2px 10px rgba(0,0,0,0.2); }
.hero-desc { font-size:1rem; color:rgba(255,255,255,0.82); max-width:600px; line-height:1.65; }

/* ── Mobile nav accordion ───────────────────────────────── */
.mob-home { display:block; padding:14px 16px; font-family:'Montserrat',sans-serif; font-size:0.95rem; font-weight:600; color:var(--cmc-maroon); border-bottom:1px solid var(--cmc-border); text-decoration:none; }
.mob-home:hover { background:var(--cmc-surface-alt); }
.mob-group { border-bottom:1px solid var(--cmc-border); }
.mob-btn { width:100%; display:flex; justify-content:space-between; align-items:center; padding:14px 16px; background:none; border:none; font-family:'Montserrat',sans-serif; font-size:0.9rem; font-weight:600; color:var(--cmc-text); cursor:pointer; text-align:left; }
.mob-btn:hover { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.mob-btn[aria-expanded="true"] { color:var(--cmc-maroon); }
.mob-btn[aria-expanded="true"] .mob-chev { transform:rotate(180deg); }
.mob-chev { display:inline-block; font-size:0.75rem; transition:transform 0.2s; color:var(--cmc-text-muted); }
.mob-items { padding:4px 0 8px; background:var(--cmc-surface); }
.mob-items a { display:block; padding:9px 16px 9px 28px; font-size:0.875rem; color:var(--cmc-text-secondary); text-decoration:none; }
.mob-items a:hover { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.mob-sublabel { display:block; padding:10px 16px 4px 16px; font-family:'Montserrat',sans-serif; font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-maroon); opacity:0.7; }

/* ── Footer ─────────────────────────────────────────────── */
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; max-width:1280px; margin:0 auto; padding:0 24px 40px; }
.footer-brand img { height:36px; margin-bottom:16px; filter:brightness(0) invert(1); }
.footer-brand p { font-size:0.84rem; color:rgba(255,255,255,0.65); line-height:1.65; margin-bottom:16px; }
.footer-contact-item { font-size:0.83rem; color:rgba(255,255,255,0.75); display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.footer-col h4 { font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:rgba(255,255,255,0.55); margin-bottom:16px; }
.footer-col a { display:block; font-size:0.84rem; color:rgba(255,255,255,0.75); padding:4px 0; transition:color 0.15s; }
.footer-col a:hover { color:var(--cmc-maroon-light); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.1); max-width:1280px; margin:0 auto; padding:20px 24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-bottom p { font-size:0.78rem; color:rgba(255,255,255,0.58); }
.footer-location { font-size:0.81rem; color:rgba(255,255,255,0.65); line-height:1.6; margin-top:12px; }
.footer-location-label { font-family:'Montserrat',sans-serif; font-size:0.67rem; font-weight:700; text-transform:uppercase; letter-spacing:0.09em; color:rgba(255,255,255,0.55); margin-bottom:2px; }
.footer-hours { color:rgba(255,255,255,0.58); font-size:0.78rem; margin-top:2px; }
.site-footer { background:var(--cmc-maroon-dark); color:rgba(255,255,255,0.85); padding:56px 0 0; margin-top:80px; }

/* ── Shared components / utilities ──────────────────────── */
.header-nav > li > a:hover,.header-nav > li > a:focus,.header-nav > li > a.active { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.container { max-width:1280px; margin:0 auto; padding:0 24px; }
.section-eyebrow { font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.12em; color:var(--cmc-maroon); margin-bottom:8px; }
/* Fallback for browsers without :has() — the @supports block above never runs,
   so the panel is still <li>-anchored and needs its own narrow-screen escape. */
@supports not selector(:has(*)) {
  @media (max-width:900px) { .dropdown-wide { min-width:0 !important; width:calc(100vw - 32px); left:0 !important; transform:none !important; } }
}
.dropdown-section a { display:block; padding:6px 12px; font-size:0.82rem; color:var(--cmc-text-secondary); border-radius:5px; transition:background 0.15s,color 0.15s; font-family:'Open Sans',sans-serif; }
.dropdown-section a:hover { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
/* Hover bridge — keeps the pointer "inside" the menu while it crosses the gap
   between the nav item and the panel, so the menu does not close mid-travel.
   The bridge must be at least as tall as that gap. Standard dropdowns hang off
   their own li (6px gap); the mega-menus hang off .site-header instead (see the
   position:static rule above), which puts them ~22px below the nav row. */
.dropdown-menu::before { content:''; position:absolute; top:-10px; left:0; right:0; height:10px; }
/* Sized to the gap and no larger: the mega-menu bridge spans the whole panel
   width, so any extra height would sit over the neighboring nav items and stop
   them opening while a panel is up. */
.dropdown-wide::before { top:-22px; height:22px; }
/* !important so the per-page .pg-* copies of this rule (which still say flex)
   cannot knock the mega-menu out of grid layout. */
.dropdown:hover .dropdown-wide, .dropdown:focus-within .dropdown-wide { display:grid !important; }
.sidebar-card { background:#fff; border:1px solid var(--cmc-border); border-radius:12px; padding:20px; box-shadow:var(--shadow-sm); }
@media (max-width:540px) { .footer-grid { grid-template-columns:1fr; } }
.btn-maroon:hover { background:var(--cmc-maroon-hover); transform:translateY(-1px); }
.header-nav > li > a.active { color:var(--cmc-maroon); border-bottom:2px solid var(--cmc-maroon); }
.dropdown:hover .dropdown-menu, .dropdown:focus-within .dropdown-menu { display:block; }
.main-content { min-width:0; }
.prereqs-box { background:#fffbeb; border:1px solid #f59e0b; border-left:4px solid #f59e0b; border-radius:10px; padding:20px 24px; margin-bottom:40px; }
.prereqs-box h2, .prereqs-box h3 { font-size:0.95rem; font-weight:700; color:#92400e; display:flex; align-items:center; gap:8px; margin-bottom:10px; }
.prereqs-box ul { list-style:none; padding:0; }
/* Marker lists use a hanging indent, NOT display:flex. A flex li turns every
   inline child into its own flex item, so a sentence containing <a>/<strong>/
   <code> is split into separately-wrapping columns — the text looks disjointed,
   worst at narrow widths. Absolute-positioned markers keep the sentence inline. */
.prereqs-box li { font-size:0.88rem; color:#78350f; padding:4px 0 4px 20px; position:relative; }
.prereqs-box li::before { content:'✓'; position:absolute; left:0; top:4px; color:#d97706; font-weight:700; }
.steps-list { display:flex; flex-direction:column; gap:0; }
.step-item { display:grid; grid-template-columns:52px 1fr; gap:20px; position:relative; padding-bottom:40px; }
.step-item:last-child { padding-bottom:0; }
.step-item:not(:last-child)::before { content:''; position:absolute; left:25px; top:52px; bottom:0; width:2px; background:linear-gradient(to bottom,var(--cmc-maroon-light),transparent); }
.step-num { width:52px; height:52px; border-radius:50%; background:var(--cmc-maroon); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:1.1rem; font-weight:800; flex-shrink:0; box-shadow:0 4px 12px rgba(116,0,28,0.3); }
.step-body { padding-top:10px; }
.step-body h3 { font-size:1.05rem; font-weight:700; margin-bottom:8px; color:var(--cmc-text); }
.step-body p { font-size:0.9rem; color:var(--cmc-text-secondary); line-height:1.65; margin-bottom:12px; }
.step-body p:last-child { margin-bottom:0; }
.troubleshoot-section { margin-top:48px; }
.troubleshoot-item { border:1px solid var(--cmc-border); border-radius:8px; margin-bottom:8px; overflow:hidden; }
.troubleshoot-q { width:100%; background:#fff; border:none; text-align:left; padding:14px 18px; font-family:'Montserrat',sans-serif; font-size:0.88rem; font-weight:600; color:var(--cmc-text); cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.troubleshoot-q:hover { background:var(--cmc-surface); }
.troubleshoot-a { padding:0 18px 14px; font-size:0.86rem; color:var(--cmc-text-secondary); line-height:1.6; display:none; }
.troubleshoot-item.open .troubleshoot-a { display:block; }
.troubleshoot-chevron { font-size:0.75rem; transition:transform 0.2s; }
.troubleshoot-item.open .troubleshoot-chevron { transform:rotate(180deg); }
.sidebar { position:sticky; top:88px; display:flex; flex-direction:column; gap:20px; }
.sidebar-card h4 { font-family:"Montserrat",sans-serif; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-maroon); border-bottom:1px solid var(--cmc-border); padding-bottom:10px; margin-bottom:12px; }
.toc-list { list-style:none; }
.toc-list li a { display:flex; align-items:center; gap:8px; padding:7px 0; font-size:0.85rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); transition:color 0.15s; }
.toc-list li a:hover { color:var(--cmc-maroon); }
.toc-num { width:22px; height:22px; border-radius:50%; background:var(--cmc-surface-alt); display:flex; align-items:center; justify-content:center; font-size:0.68rem; font-weight:700; color:var(--cmc-maroon); flex-shrink:0; }
.related-guide-link { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--cmc-surface); font-size:0.85rem; color:var(--cmc-text-secondary); transition:color 0.15s; }
.related-guide-link:last-child { border-bottom:none; }
.related-guide-link:hover { color:var(--cmc-maroon); }
.related-guide-icon { width:32px; height:32px; border-radius:8px; background:var(--cmc-surface-alt); display:flex; align-items:center; justify-content:center; font-size:0.9rem; flex-shrink:0; }
.help-card { background:var(--cmc-maroon); color:#fff; border-radius:12px; padding:20px; }
.help-card h4 { color:#fff; border-bottom:1px solid rgba(255,255,255,0.2); padding-bottom:10px; margin-bottom:0; }
.help-card p { font-size:0.84rem; color:rgba(255,255,255,0.85); line-height:1.55; margin-bottom:14px; margin-top:8px; }
.btn-white { display:inline-block; background:#fff; color:var(--cmc-maroon); padding:9px 18px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.8rem; font-weight:700; transition:background 0.18s; }
.btn-white:hover { background:var(--cmc-maroon-light); }
.related-link { display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid var(--cmc-surface); font-size:0.85rem; color:var(--cmc-text-secondary); transition:color 0.15s; }
.related-link:last-child { border-bottom:none; }
.related-link:hover { color:var(--cmc-maroon); }
/* Static variant: a listed item with no page of its own. Keeps the row layout
   but drops the link affordance (no pointer, no hover tint) so it never reads
   as a control that does nothing. */
.related-link-static { cursor:default; }
.related-link-static:hover { color:var(--cmc-text-secondary); }
.related-link-icon { width:28px; height:28px; border-radius:7px; background:var(--cmc-surface-alt); display:flex; align-items:center; justify-content:center; font-size:0.85rem; flex-shrink:0; }
.btn-maroon { background:var(--cmc-maroon); color:#fff; }
.header-nav > li > a:hover,.header-nav > li > a.active { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.content-wrap { max-width:1280px; margin:0 auto; padding:48px 24px; display:grid; grid-template-columns:1fr 320px; gap:48px; align-items:start; }
.section-block { margin-bottom:44px; }
.section-block p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:12px; }
.tabs { margin-top:8px; }
.tab-btns { display:flex; gap:4px; border-bottom:2px solid var(--cmc-border); margin-bottom:20px; flex-wrap:wrap; }
.tab-btn { padding:9px 18px; font-family:'Montserrat',sans-serif; font-size:0.82rem; font-weight:700; color:var(--cmc-text-muted); background:none; border:none; cursor:pointer; border-bottom:3px solid transparent; margin-bottom:-2px; transition:color 0.18s,border-color 0.18s; border-radius:6px 6px 0 0; }
.tab-panel { display:none; }
.tab-panel.active { display:block; animation:fadeIn 0.2s ease; }
@keyframes fadeIn { from{opacity:0;transform:translateY(4px)} to{opacity:1;transform:translateY(0)} }
.use-case-list { list-style:none; padding:0; }
.use-case-list li { padding:10px 0 10px 28px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); line-height:1.55; }
.getting-started-steps { display:flex; flex-direction:column; gap:16px; }
.gs-step { display:flex; gap:16px; align-items:flex-start; background:var(--cmc-surface); border-radius:10px; padding:16px 20px; }
.gs-step h4 { font-size:0.92rem; font-weight:700; margin-bottom:4px; }
.gs-step p { font-size:0.85rem; color:var(--cmc-text-muted); line-height:1.55; margin:0; }
.solution-cta h3 { font-size:1.15rem; font-weight:800; margin-bottom:8px; }
.solution-cta p { font-size:0.9rem; color:var(--cmc-text-muted); margin-bottom:20px; }
.btn { display:inline-flex; align-items:center; gap:6px; padding:11px 26px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.85rem; font-weight:700; cursor:pointer; transition:background 0.18s,transform 0.15s; text-decoration:none; border:none; }
.nl-header { background:var(--cmc-text); color:#fff; padding:12px 16px; }
.nl-header p { font-size:0.72rem; color:rgba(255,255,255,0.7); }
.nl-divider { height:8px; background:var(--cmc-text); }
.nl-divider-thin { height:3px; background:var(--cmc-text); margin:0 16px; }
.nl-divider-hairline { height:1px; background:rgba(0,0,0,0.15); margin:0 16px; }
.nl-row { display:flex; justify-content:space-between; align-items:baseline; padding:8px 16px; gap:8px; }
.nl-row + .nl-row { border-top:1px solid rgba(0,0,0,0.1); }
.nl-value { font-size:0.8rem; color:var(--cmc-text-secondary); text-align:right; max-width:55%; }
.nl-badge { display:inline-block; padding:2px 8px; border-radius:4px; font-size:0.7rem; font-weight:700; background:var(--cmc-surface-alt); color:var(--cmc-maroon); font-family:'Montserrat',sans-serif; }
.nl-footer { padding:10px 16px; background:var(--cmc-surface); font-size:0.72rem; color:var(--cmc-text-muted); line-height:1.5; border-top:3px solid var(--cmc-text); }
@media (max-width:960px) { .content-wrap { grid-template-columns:1fr; } .sidebar { position:static; } .header-nav { display:none; } .hamburger { display:block; } .footer-grid { grid-template-columns:1fr 1fr; } }
.gs-num { width:36px; height:36px; border-radius:50%; background:var(--cmc-maroon); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:0.9rem; font-weight:800; flex-shrink:0; }
.nutrition-label { background:#fff; border:3px solid var(--cmc-text); border-radius:4px; overflow:hidden; font-family:"Open Sans",sans-serif; }
.nl-header h4 { font-family:'Montserrat',sans-serif; font-size:1.1rem; font-weight:900; letter-spacing:-0.01em; margin-bottom:2px; }
.nl-label { font-size:0.82rem; font-weight:600; color:var(--cmc-text); }
.section-block h2 { font-size:1.25rem; font-weight:800; color:var(--cmc-text); border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.solution-cta { background:linear-gradient(135deg, var(--cmc-surface-alt), #fff); border:1px solid var(--cmc-border); border-radius:16px; padding:32px; text-align:center; margin-top:40px; }
.tab-btn:hover { color:var(--cmc-maroon); }
.tab-btn.active { color:var(--cmc-maroon); border-bottom-color:var(--cmc-maroon); }
.use-case-list li::before { content:'\2736'; position:absolute; left:0; color:var(--cmc-maroon); font-size:0.7rem; top:13px; }

/* ── Shared page components (promoted from per-page scopes) ─────────── */
.hero-shield { width:72px;height:72px;border-radius:18px;background:rgba(255,255,255,0.12);border:2px solid rgba(255,255,255,0.25);display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0 }
.effective-date { font-size:0.82rem;color:rgba(255,255,255,0.7) }
.policy-wrap { max-width:1280px;margin:0 auto;padding:48px 24px;display:grid;grid-template-columns:200px 1fr 240px;gap:40px;align-items:start }
.toc-sidebar { position:sticky;top:88px }
.toc-sidebar h4 { font-family:"Montserrat",sans-serif;font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--cmc-text-muted);margin-bottom:12px }
.policy-main { min-width:0 }
.tldr-box { background:var(--cmc-surface-alt);border-left:4px solid var(--cmc-maroon);border-radius:0 12px 12px 0;padding:24px 28px;margin-bottom:40px }
.tldr-box h3 { font-size:0.95rem;font-weight:800;color:var(--cmc-maroon);display:flex;align-items:center;gap:8px;margin-bottom:14px;text-transform:uppercase;letter-spacing:0.05em }
.tldr-box ul { list-style:none;padding:0 }
.tldr-box li { font-size:0.9rem;color:var(--cmc-text-secondary);padding:6px 0 6px 22px;position:relative;line-height:1.55;border-bottom:1px solid rgba(116,0,28,0.1) }
.tldr-box li:last-child { border-bottom:none }
.tldr-box li::before { content:"→";position:absolute;left:0;top:7px;color:var(--cmc-maroon);font-weight:700 }
.policy-body h2 { font-size:1.15rem;font-weight:800;color:var(--cmc-text);margin:36px 0 14px;padding-bottom:8px;border-bottom:2px solid var(--cmc-border) }
.policy-body h3 { font-size:0.98rem;font-weight:700;color:var(--cmc-text);margin:24px 0 10px }
.policy-body p { font-size:0.92rem;color:var(--cmc-text-secondary);line-height:1.75;margin-bottom:14px }
.policy-body ul { list-style:none;padding:0;margin-bottom:14px }
.policy-body ul li { font-size:0.92rem;color:var(--cmc-text-secondary);padding:6px 0 6px 24px;position:relative;border-bottom:1px solid var(--cmc-surface);line-height:1.55 }
.policy-body ul li::before { content:"›";position:absolute;left:0;color:var(--cmc-maroon);font-weight:700 }
.policy-sidebar { position:sticky;top:88px;display:flex;flex-direction:column;gap:20px }
.action-btn { display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:8px;font-size:0.85rem;font-weight:600;color:var(--cmc-text);background:var(--cmc-surface);border:1px solid var(--cmc-border);margin-bottom:8px;cursor:pointer;transition:all 0.18s;text-decoration:none;width:100% }
.action-btn:last-child { margin-bottom:0 }
.action-btn:hover { background:var(--cmc-surface-alt);border-color:var(--cmc-maroon);color:var(--cmc-maroon) }
.policy-info-row { display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--cmc-surface);font-size:0.83rem;gap:8px }
.policy-info-row:last-child { border-bottom:none }
.pir-label { color:var(--cmc-text-muted);font-weight:600 }
.pir-value { color:var(--cmc-text);font-weight:700;text-align:right;max-width:55% }
img { max-width:100%;display:block }
.grid-section { padding:64px 0 }
.card-link:hover svg { transform:translateX(3px) }
.service-icon-hero { width:72px;height:72px;border-radius:18px;background:rgba(255,255,255,0.15);border:2px solid rgba(255,255,255,0.25);display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0 }
.overview-body { font-size:0.95rem;color:var(--cmc-text-secondary);line-height:1.75;margin-bottom:36px }
.overview-body p { margin-bottom:16px }
.overview-body h2 { font-size:1.2rem;font-weight:700;margin:28px 0 12px;color:var(--cmc-text) }
.overview-body ul { list-style:none;padding:0 }
.overview-body ul li { padding:6px 0 6px 28px;position:relative;font-size:0.92rem;border-bottom:1px solid var(--cmc-surface) }
.overview-body ul li::before { content:"›";position:absolute;left:0;color:var(--cmc-maroon);font-weight:700;font-size:1.1rem }
.details-box { background:var(--cmc-surface);border:1px solid var(--cmc-border);border-radius:12px;overflow:hidden;margin-bottom:36px }
.details-box-header { background:var(--cmc-maroon);color:#fff;padding:14px 20px;font-family:"Montserrat",sans-serif;font-size:0.82rem;font-weight:700;text-transform:uppercase;letter-spacing:0.09em }
.details-grid { display:grid;grid-template-columns:1fr 1fr;gap:0 }
.detail-item { padding:14px 20px;border-bottom:1px solid var(--cmc-border);border-right:1px solid var(--cmc-border) }
.detail-item:nth-child(even) { border-right:none }
.detail-item:nth-last-child(-n+2) { border-bottom:none }
.detail-label { font-family:"Montserrat",sans-serif;font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--cmc-text-muted);margin-bottom:4px }
.detail-value { font-size:0.9rem;font-weight:600;color:var(--cmc-text) }
.fs-widget-body { padding:24px }
.contact-row { display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--cmc-surface) }
.contact-row:last-child { border-bottom:none }
.contact-row-icon { width:36px;height:36px;border-radius:9px;background:var(--cmc-surface-alt);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0 }
.contact-row-text .label { font-size:0.72rem;color:var(--cmc-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:0.06em }
.contact-row-text .value { font-size:0.88rem;color:var(--cmc-text);font-weight:600 }

/* ── pg-about-contact ──────────────────────────────────────────── */
.pg-about-contact .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-about-contact.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-about-contact .page-hero-inner { display:block; }
.pg-about-contact .hero-icon { width:68px; height:68px; border-radius:18px; background:rgba(255,255,255,0.12); border:2px solid rgba(255,255,255,0.25); display:flex; align-items:center; justify-content:center; font-size:1.9rem; flex-shrink:0; }
.pg-about-contact .page-hero h1 { font-size:clamp(1.5rem,3vw,2.4rem); font-weight:800; color:#fff; line-height:1.2; }
.pg-about-contact section { padding:56px 0; }
.pg-about-contact .section-title { font-size:1.5rem; font-weight:800; margin-bottom:8px; }
.pg-about-contact .section-subtitle { font-size:0.95rem; color:var(--cmc-text-muted); margin-bottom:36px; }
.pg-about-contact .contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:0; }
.pg-about-contact .contact-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; padding:32px; box-shadow:var(--shadow-sm); transition:transform 0.2s,box-shadow 0.2s; }
.pg-about-contact .contact-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.pg-about-contact .contact-card-icon { width:52px; height:52px; border-radius:14px; background:var(--cmc-surface-alt); display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:18px; border:1px solid var(--cmc-border); }
.pg-about-contact .contact-card h3 { font-size:1.1rem; font-weight:800; margin-bottom:6px; }
.pg-about-contact .contact-card .sub { font-size:0.83rem; color:var(--cmc-maroon); font-weight:700; font-family:'Montserrat',sans-serif; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:16px; }
.pg-about-contact .contact-detail { display:flex; align-items:flex-start; gap:10px; margin-bottom:10px; font-size:0.88rem; color:var(--cmc-text-secondary); }
.pg-about-contact .contact-detail-icon { font-size:1rem; flex-shrink:0; margin-top:1px; }
.pg-about-contact .contact-detail strong { display:block; font-weight:700; color:var(--cmc-text); font-size:0.85rem; margin-bottom:1px; }
.pg-about-contact .contact-detail a { color:var(--cmc-maroon); font-weight:600; }
.pg-about-contact .contact-detail a:hover { text-decoration:underline; }
.pg-about-contact .hours-badge { display:inline-flex; align-items:center; gap:6px; background:var(--cmc-surface-alt); border:1px solid var(--cmc-border); border-radius:9999px; padding:5px 12px; font-size:0.78rem; font-family:'Montserrat',sans-serif; font-weight:700; color:var(--cmc-text-muted); margin-top:4px; }
.pg-about-contact .hours-dot { width:7px; height:7px; border-radius:50%; background:#22c55e; display:inline-block; }
.pg-about-contact .map-section { background:var(--cmc-surface); }
.pg-about-contact .map-placeholder { background:var(--cmc-surface-alt); border:2px dashed var(--cmc-border); border-radius:16px; min-height:300px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:40px; }
.pg-about-contact .map-placeholder .map-icon { font-size:2.5rem; }
.pg-about-contact .map-placeholder h3 { font-size:1rem; font-weight:700; color:var(--cmc-text); }
.pg-about-contact .map-placeholder p { font-size:0.88rem; color:var(--cmc-text-muted); text-align:center; max-width:400px; }
.pg-about-contact .map-locations { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:24px; }
.pg-about-contact .map-loc-card { background:#fff; border:1px solid var(--cmc-border); border-radius:12px; padding:20px; }
.pg-about-contact .map-loc-card h4 { font-size:0.9rem; font-weight:800; margin-bottom:4px; }
.pg-about-contact .map-loc-card .address { font-size:0.85rem; color:var(--cmc-text-muted); margin-bottom:8px; line-height:1.5; }
.pg-about-contact .map-loc-tag { display:inline-block; font-size:0.7rem; font-family:'Montserrat',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:0.07em; background:var(--cmc-surface-alt); color:var(--cmc-maroon); padding:3px 8px; border-radius:9999px; }
.pg-about-contact .form-section { padding:56px 0; }
.pg-about-contact .form-intro { font-size:0.95rem; color:var(--cmc-text-secondary); margin-bottom:32px; max-width:600px; }
.pg-about-contact .freshwidget-wrap { border:1px solid var(--cmc-border); border-radius:16px; overflow:hidden; background:#fff; }
@media (max-width:900px) { .pg-about-contact .header-nav { display:none; } .pg-about-contact .hamburger { display:block; } .pg-about-contact .contact-grid { grid-template-columns:1fr; } .pg-about-contact .map-locations { grid-template-columns:1fr; } .pg-about-contact .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .pg-about-contact .footer-grid { grid-template-columns:1fr; } }

/* ── pg-about-itsc ──────────────────────────────────────────── */
/* ── Policy page hero layout ────────────────────────────── */
.pg-about-itsc .page-hero-inner { display:flex; align-items:center; gap:24px; }
@media (max-width:640px) { .pg-about-itsc .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-about-itsc .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-about-itsc .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-about-itsc.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-about-itsc .hero-text-wrap { }
.pg-about-itsc .page-hero h1 { font-size:clamp(1.4rem,2.8vw,2.2rem); font-weight:800; color:#fff; line-height:1.2; margin-bottom:8px; }
.pg-about-itsc .toc-list { list-style:none; padding:0; }
.pg-about-itsc .toc-list li a { display:block; padding:7px 10px; font-size:0.83rem; color:var(--cmc-text-muted); border-left:2px solid var(--cmc-border); transition:all 0.18s; line-height:1.4; }
.pg-about-itsc .toc-list li a:hover, .pg-about-itsc .toc-list li a.active { border-left-color:var(--cmc-maroon); color:var(--cmc-maroon); background:var(--cmc-surface-alt); }
.pg-about-itsc .policy-body blockquote { background:var(--cmc-surface); border-left:3px solid var(--cmc-maroon); padding:16px 20px; border-radius:0 8px 8px 0; margin:20px 0; font-style:italic; color:var(--cmc-text-secondary); font-size:0.9rem; }
.pg-about-itsc .policy-table { width:100%; border-collapse:collapse; margin:20px 0; font-size:0.85rem; border-radius:10px; overflow:hidden; border:1px solid var(--cmc-border); }
.pg-about-itsc .policy-table thead { background:var(--cmc-maroon); color:#fff; }
.pg-about-itsc .policy-table th { padding:12px 16px; text-align:left; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.07em; }
.pg-about-itsc .policy-table td { padding:11px 16px; border-bottom:1px solid var(--cmc-border); color:var(--cmc-text-secondary); vertical-align:top; line-height:1.5; }
.pg-about-itsc .policy-table tr:last-child td { border-bottom:none; }
.pg-about-itsc .policy-table tr:nth-child(even) td { background:var(--cmc-surface); }
.pg-about-itsc .meeting-card { background:var(--cmc-surface-alt); border:1px solid var(--cmc-border); border-radius:12px; padding:22px 24px; margin:20px 0; display:flex; gap:18px; align-items:flex-start; }
.pg-about-itsc .meeting-icon { font-size:1.6rem; flex-shrink:0; }
.pg-about-itsc .meeting-card h4 { font-size:0.9rem; font-weight:800; margin-bottom:4px; }
.pg-about-itsc .meeting-card p { font-size:0.85rem; color:var(--cmc-text-muted); margin:0; line-height:1.6; }
.pg-about-itsc .action-btn-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; background:var(--cmc-surface-alt); }
@media (max-width:1100px) { .pg-about-itsc .policy-wrap { grid-template-columns:1fr; } .pg-about-itsc .toc-sidebar, .pg-about-itsc .policy-sidebar { position:static; } .pg-about-itsc .header-nav { display:none; } .pg-about-itsc .hamburger { display:block; } .pg-about-itsc .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-about-leadership ──────────────────────────────────────────── */
.pg-about-leadership .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-about-leadership.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-about-leadership .page-hero-inner { display:block; }
.pg-about-leadership .hero-icon { width:68px; height:68px; border-radius:18px; background:rgba(255,255,255,0.12); border:2px solid rgba(255,255,255,0.25); display:flex; align-items:center; justify-content:center; font-size:1.9rem; flex-shrink:0; }
.pg-about-leadership .page-hero h1 { font-size:clamp(1.5rem,3vw,2.4rem); font-weight:800; color:#fff; line-height:1.2; }
.pg-about-leadership section { padding:56px 0; }
.pg-about-leadership .section-title { font-size:1.5rem; font-weight:800; margin-bottom:8px; }
.pg-about-leadership .section-subtitle { font-size:0.95rem; color:var(--cmc-text-muted); margin-bottom:36px; }
.pg-about-leadership .leadership-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.pg-about-leadership .leader-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; padding:28px; display:flex; gap:20px; box-shadow:var(--shadow-sm); transition:transform 0.2s,box-shadow 0.2s; align-items:flex-start; }
.pg-about-leadership .leader-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.pg-about-leadership .leader-card.tbd { opacity:0.65; }
.pg-about-leadership .leader-avatar { width:64px; height:64px; border-radius:50%; background:var(--cmc-maroon); display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:1.3rem; font-weight:800; color:#fff; flex-shrink:0; letter-spacing:-0.02em; }
.pg-about-leadership .leader-avatar.navy { background:var(--navy); }
.pg-about-leadership .leader-avatar.accent { background:var(--cmc-accent); }
.pg-about-leadership .leader-avatar.tbd-bg { background:#ccc; }
.pg-about-leadership .leader-info h3 { font-size:1rem; font-weight:800; margin-bottom:2px; }
.pg-about-leadership .leader-title { font-size:0.83rem; color:var(--cmc-maroon); font-weight:600; margin-bottom:4px; }
.pg-about-leadership .leader-wing { display:inline-block; font-size:0.7rem; font-family:'Montserrat',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:0.07em; background:var(--cmc-surface-alt); color:var(--cmc-text-muted); padding:2px 8px; border-radius:9999px; margin-bottom:8px; }
.pg-about-leadership .leader-bio { font-size:0.85rem; color:var(--cmc-text-secondary); line-height:1.6; }
@media (max-width:900px) { .pg-about-leadership .header-nav { display:none; } .pg-about-leadership .hamburger { display:block; } .pg-about-leadership .leadership-grid { grid-template-columns:1fr; } .pg-about-leadership .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .pg-about-leadership .footer-grid { grid-template-columns:1fr; } }

/* ── pg-about-mission ──────────────────────────────────────────── */
/* ── Policy page hero layout ────────────────────────────── */
.pg-about-mission .page-hero-inner { display:flex; align-items:center; gap:24px; }
@media (max-width:640px) { .pg-about-mission .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-about-mission .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-about-mission .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-about-mission.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-about-mission .hero-text-wrap { }
.pg-about-mission .page-hero h1 { font-size:clamp(1.4rem,2.8vw,2.2rem); font-weight:800; color:#fff; line-height:1.2; margin-bottom:8px; }
.pg-about-mission .toc-list { list-style:none; padding:0; }
.pg-about-mission .toc-list li a { display:block; padding:7px 10px; font-size:0.83rem; color:var(--cmc-text-muted); border-left:2px solid var(--cmc-border); transition:all 0.18s; line-height:1.4; }
.pg-about-mission .toc-list li a:hover, .pg-about-mission .toc-list li a.active { border-left-color:var(--cmc-maroon); color:var(--cmc-maroon); background:var(--cmc-surface-alt); }
.pg-about-mission .policy-body blockquote { background:var(--cmc-surface); border-left:3px solid var(--cmc-maroon); padding:16px 20px; border-radius:0 8px 8px 0; margin:20px 0; font-style:italic; color:var(--cmc-text-secondary); font-size:0.9rem; }
.pg-about-mission .stats-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:28px 0; }
.pg-about-mission .stat-cell { background:var(--cmc-surface-alt); border:1px solid var(--cmc-border); border-radius:12px; padding:18px; text-align:center; }
.pg-about-mission .stat-number { font-family:'Montserrat',sans-serif; font-size:1.8rem; font-weight:800; color:var(--cmc-maroon); line-height:1; }
.pg-about-mission .stat-label { font-size:0.78rem; color:var(--cmc-text-muted); margin-top:4px; }
.pg-about-mission .values-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:20px 0; }
.pg-about-mission .value-card { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:10px; padding:16px 18px; display:flex; gap:12px; align-items:flex-start; }
.pg-about-mission .value-icon { font-size:1.3rem; flex-shrink:0; margin-top:1px; }
.pg-about-mission .value-card h4 { font-size:0.88rem; font-weight:800; margin-bottom:3px; }
.pg-about-mission .value-card p { font-size:0.82rem; color:var(--cmc-text-muted); line-height:1.5; margin:0; }
.pg-about-mission .action-btn-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; background:var(--cmc-surface-alt); }
@media (max-width:1100px) { .pg-about-mission .policy-wrap { grid-template-columns:1fr; } .pg-about-mission .toc-sidebar, .pg-about-mission .policy-sidebar { position:static; } .pg-about-mission .header-nav { display:none; } .pg-about-mission .hamburger { display:block; } .pg-about-mission .footer-grid { grid-template-columns:1fr 1fr; } .pg-about-mission .stats-strip { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-about-mission .footer-grid { grid-template-columns:1fr; } .pg-about-mission .values-grid { grid-template-columns:1fr; } .pg-about-mission .stats-strip { grid-template-columns:1fr; } }

/* ── pg-about-org-structure ──────────────────────────────────────────── */
.pg-about-org-structure .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-about-org-structure.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-about-org-structure .page-hero-inner { display:block; }
.pg-about-org-structure .hero-icon { width:68px; height:68px; border-radius:18px; background:rgba(255,255,255,0.12); border:2px solid rgba(255,255,255,0.25); display:flex; align-items:center; justify-content:center; font-size:1.9rem; flex-shrink:0; }
.pg-about-org-structure .page-hero h1 { font-size:clamp(1.5rem,3vw,2.4rem); font-weight:800; color:#fff; line-height:1.2; }
.pg-about-org-structure .page-hero p { color:rgba(255,255,255,0.8); font-size:0.95rem; margin-top:8px; }
.pg-about-org-structure section { padding:56px 0; }
.pg-about-org-structure .section-title { font-size:1.5rem; font-weight:800; margin-bottom:8px; }
.pg-about-org-structure .section-subtitle { font-size:0.95rem; color:var(--cmc-text-muted); margin-bottom:36px; }
.pg-about-org-structure .org-section { background:var(--cmc-surface); }
.pg-about-org-structure .org-chart { display:flex; flex-direction:column; align-items:center; gap:0; padding:8px 0; overflow-x:auto; }
.pg-about-org-structure .org-node { background:#fff; border:2px solid var(--cmc-border); border-radius:12px; padding:14px 20px; text-align:center; min-width:160px; box-shadow:var(--shadow-sm); position:relative; transition:border-color 0.18s,box-shadow 0.18s; }
.pg-about-org-structure .org-node:hover { border-color:var(--cmc-maroon); box-shadow:var(--shadow-md); }
.pg-about-org-structure .org-node.cio { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; min-width:200px; }
.pg-about-org-structure .org-node.cio .org-title { color:rgba(255,255,255,0.75); }
.pg-about-org-structure .org-node.wing { border-color:var(--cmc-maroon); }
.pg-about-org-structure .org-node.sub { min-width:140px; }
.pg-about-org-structure .org-name { font-family:'Montserrat',sans-serif; font-size:0.85rem; font-weight:700; }
.pg-about-org-structure .org-title { font-size:0.75rem; color:var(--cmc-text-muted); margin-top:3px; }
.pg-about-org-structure .org-connector-down { width:2px; height:32px; background:var(--cmc-border); margin:0 auto; }
.pg-about-org-structure .org-h-bar { height:2px; background:var(--cmc-border); margin:0 auto; }
.pg-about-org-structure .wing-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.pg-about-org-structure .wing-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; padding:28px; box-shadow:var(--shadow-sm); transition:transform 0.2s,box-shadow 0.2s; }
.pg-about-org-structure .wing-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.pg-about-org-structure .wing-card-header { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.pg-about-org-structure .wing-icon { width:48px; height:48px; border-radius:12px; background:var(--cmc-surface-alt); display:flex; align-items:center; justify-content:center; font-size:1.3rem; border:1px solid var(--cmc-border); flex-shrink:0; }
.pg-about-org-structure .wing-card h3 { font-size:1rem; font-weight:800; margin-bottom:2px; }
.pg-about-org-structure .wing-card .wing-label { font-size:0.75rem; color:var(--cmc-maroon); font-weight:700; font-family:'Montserrat',sans-serif; text-transform:uppercase; letter-spacing:0.06em; }
.pg-about-org-structure .wing-card p { font-size:0.88rem; color:var(--cmc-text-secondary); line-height:1.65; margin-bottom:16px; }
.pg-about-org-structure .wing-team-list { list-style:none; padding:0; }
.pg-about-org-structure .wing-team-list li { font-size:0.83rem; color:var(--cmc-text-muted); padding:5px 0 5px 16px; position:relative; border-bottom:1px solid var(--cmc-surface); }
.pg-about-org-structure .wing-team-list li:last-child { border-bottom:none; }
.pg-about-org-structure .wing-team-list li::before { content:'›'; position:absolute; left:0; top:5px; color:var(--cmc-maroon); font-weight:700; }
.pg-about-org-structure .two-wing-callout { background:var(--cmc-surface-alt); border:1px solid var(--cmc-border); border-left:4px solid var(--cmc-maroon); border-radius:0 12px 12px 0; padding:24px 28px; margin-bottom:40px; }
.pg-about-org-structure .two-wing-callout h3 { font-size:0.95rem; font-weight:800; color:var(--cmc-maroon); margin-bottom:10px; }
.pg-about-org-structure .two-wing-callout p { font-size:0.9rem; color:var(--cmc-text-secondary); line-height:1.7; }
@media (max-width:900px) { .pg-about-org-structure .header-nav { display:none; } .pg-about-org-structure .hamburger { display:block; } .pg-about-org-structure .wing-grid { grid-template-columns:1fr; } .pg-about-org-structure .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .pg-about-org-structure .footer-grid { grid-template-columns:1fr; } }

/* ── pg-blog-index ──────────────────────────────────────────── */
.pg-blog-index .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-blog-index.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-blog-index .page-hero h1 { font-size:clamp(1.6rem,3vw,2.5rem); font-weight:800; color:#fff; line-height:1.15; margin-bottom:8px; }
.pg-blog-index .page-hero p { font-size:0.95rem; color:rgba(255,255,255,0.8); }
.pg-blog-index .featured-section { padding:48px 0 0; }
.pg-blog-index .featured-card { display:grid; grid-template-columns:1fr 1fr; border-radius:16px; overflow:hidden; border:1px solid var(--cmc-border); box-shadow:var(--shadow-md); background:#fff; transition:box-shadow 0.22s,transform 0.22s; }
.pg-blog-index .featured-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-3px); }
.pg-blog-index .featured-visual { background: linear-gradient(135deg, rgba(76,0,15,0.60) 0%, rgba(116,0,28,0.52) 55%, rgba(172,48,64,0.48) 100%), var(--card-img, none); background-size: cover, cover; background-position: center center; min-height:280px; display:flex; align-items:flex-end; padding:28px; position:relative; overflow:hidden; }
.pg-blog-index .featured-body { padding:32px; display:flex; flex-direction:column; justify-content:center; }
.pg-blog-index .featured-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-maroon); margin-bottom:8px; display:flex; align-items:center; gap:8px; }
.pg-blog-index .featured-label::before { content:'Featured'; display:inline-block; background:var(--cmc-maroon); color:#fff; padding:2px 8px; border-radius:9999px; font-size:0.66rem; }
.pg-blog-index .featured-body h2 { font-size:1.4rem; font-weight:800; line-height:1.25; margin-bottom:12px; }
.pg-blog-index .featured-body p { font-size:0.9rem; color:var(--cmc-text-muted); line-height:1.65; margin-bottom:20px; flex:1; }
.pg-blog-index .featured-meta { display:flex; align-items:center; gap:12px; font-size:0.8rem; color:var(--cmc-text-muted); margin-bottom:20px; }
.pg-blog-index .cat-badge { display:inline-block; padding:3px 10px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.69rem; font-weight:700; }
.pg-blog-index .cat-badge.cio-update { background:var(--cmc-surface-alt); color:var(--cmc-maroon); border:1px solid var(--cmc-maroon-light); }
.pg-blog-index .cat-badge.tech-alert { background:#fff3e0; color:#c2410c; border:1px solid #fed7aa; }
.pg-blog-index .cat-badge.news { background:#eff6ff; color:#1d4ed8; border:1px solid #bfdbfe; }
.pg-blog-index .cat-badge.maintenance { background:#f0fdf4; color:#15803d; border:1px solid #bbf7d0; }
.pg-blog-index .cat-badge.status { background:#f0fdf4; color:#15803d; border:1px solid #bbf7d0; }
.pg-blog-index .cat-badge.event { background:#faf5ff; color:#7e22ce; border:1px solid #e9d5ff; }
.pg-blog-index .btn-maroon { display:inline-flex; align-items:center; gap:6px; padding:10px 22px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.82rem; font-weight:700; background:var(--cmc-maroon); color:#fff; transition:background 0.18s,transform 0.15s; }
.pg-blog-index .filter-bar { padding:32px 0 0; }
.pg-blog-index .filter-tabs { display:flex; gap:6px; flex-wrap:wrap; border-bottom:2px solid var(--cmc-border); padding-bottom:0; }
.pg-blog-index .filter-tab { padding:10px 20px; font-family:'Montserrat',sans-serif; font-size:0.82rem; font-weight:700; color:var(--cmc-text-muted); background:none; border:none; cursor:pointer; border-bottom:3px solid transparent; margin-bottom:-2px; border-radius:6px 6px 0 0; transition:color 0.18s,border-color 0.18s; }
.pg-blog-index .filter-tab:hover { color:var(--cmc-maroon); }
.pg-blog-index .filter-tab.active { color:var(--cmc-maroon); border-bottom-color:var(--cmc-maroon); }
.pg-blog-index .posts-section { padding:36px 0 56px; }
.pg-blog-index .posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.pg-blog-index .post-card { background:#fff; border:1px solid var(--cmc-border); border-radius:12px; overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; transition:transform 0.2s,box-shadow 0.2s; }
.pg-blog-index .post-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.pg-blog-index .post-card.hidden { display:none; }
.pg-blog-index .post-card-color { height:100px; position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:14px 18px; }
.pg-blog-index .post-card-color.maroon { background: linear-gradient(135deg,rgba(76,0,15,0.82),rgba(116,0,28,0.78)), var(--card-img, none); background-size: cover, cover; background-position: center, center; }
.pg-blog-index .post-card-color.navy { background: linear-gradient(135deg,rgba(15,28,56,0.84),rgba(26,39,68,0.80)), var(--card-img, none); background-size: cover, cover; background-position: center, center; }
.pg-blog-index .post-card-color.orange { background: linear-gradient(135deg,rgba(124,45,18,0.82),rgba(180,60,10,0.78)), var(--card-img, none); background-size: cover, cover; background-position: center, center; }
.pg-blog-index .post-card-color.green { background: linear-gradient(135deg,rgba(6,78,59,0.82),rgba(5,150,105,0.78)), var(--card-img, none); background-size: cover, cover; background-position: center, center; }
.pg-blog-index .post-card-color.purple { background: linear-gradient(135deg,rgba(59,7,100,0.82),rgba(100,40,200,0.78)), var(--card-img, none); background-size: cover, cover; background-position: center, center; }
.pg-blog-index .post-card-body { padding:18px; flex:1; display:flex; flex-direction:column; }
.pg-blog-index .post-card-body .cat-badge { margin-bottom:10px; }
.pg-blog-index .post-card-body h3 { font-size:0.95rem; font-weight:700; line-height:1.35; margin-bottom:8px; }
.pg-blog-index .post-card-body p { font-size:0.84rem; color:var(--cmc-text-muted); line-height:1.6; flex:1; margin-bottom:14px; }
.pg-blog-index .post-card-footer { display:flex; align-items:center; justify-content:space-between; padding-top:12px; border-top:1px solid var(--cmc-surface); }
.pg-blog-index .post-card-date { font-size:0.75rem; color:var(--cmc-text-muted); }
.pg-blog-index .read-more { font-size:0.78rem; font-weight:700; color:var(--cmc-maroon); font-family:'Montserrat',sans-serif; display:flex; align-items:center; gap:4px; transition:gap 0.18s; }
.pg-blog-index .read-more:hover { gap:8px; }
.pg-blog-index .no-results { display:none; text-align:center; padding:48px 24px; color:var(--cmc-text-muted); font-size:0.95rem; }
.pg-blog-index .no-results.visible { display:block; }
.pg-blog-index .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:1024px) { .pg-blog-index .posts-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:900px) { .pg-blog-index .header-nav { display:none; } .pg-blog-index .hamburger { display:block; } .pg-blog-index .featured-card { grid-template-columns:1fr; } .pg-blog-index .featured-visual { min-height:160px; } .pg-blog-index .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .pg-blog-index .posts-grid { grid-template-columns:1fr; } .pg-blog-index .footer-grid { grid-template-columns:1fr; } }


/* ── blog/index card images (CSS-relative urls) ─── */
.pg-blog-index .featured-visual[data-card="featured"] { background: linear-gradient(135deg, rgba(76,0,15,0.60) 0%, rgba(116,0,28,0.52) 55%, rgba(172,48,64,0.48) 100%), url('i/card-blog-featured.jpg'); background-size: cover, cover; background-position: center center; }
.pg-blog-index [data-card="clac"] { background: linear-gradient(135deg,rgba(59,7,100,0.82),rgba(100,40,200,0.78)), url('i/card-blog-clac.jpg'); background-size: cover, cover; background-position: center, center; }
.pg-blog-index [data-card="ai"] { background: linear-gradient(135deg,rgba(76,0,15,0.82),rgba(116,0,28,0.78)), url('i/card-blog-ai.jpg'); background-size: cover, cover; background-position: center, center; }
.pg-blog-index [data-card="hpc"] { background: linear-gradient(135deg,rgba(15,28,56,0.84),rgba(26,39,68,0.80)), url('i/card-blog-hpc.jpg'); background-size: cover, cover; background-position: center, center; }
.pg-blog-index [data-card="windows"] { background: linear-gradient(135deg,rgba(124,45,18,0.82),rgba(180,60,10,0.78)), url('i/card-blog-windows.jpg'); background-size: cover, cover; background-position: center, center; }
.pg-blog-index [data-card="zoom-ai"] { background: linear-gradient(135deg,rgba(76,0,15,0.82),rgba(116,0,28,0.78)), url('i/card-blog-zoom-ai.jpg'); background-size: cover, cover; background-position: center, center; }
.pg-blog-index [data-card="status"] { background: linear-gradient(135deg,rgba(6,78,59,0.82),rgba(5,150,105,0.78)), url('i/card-blog-status.jpg'); background-size: cover, cover; background-position: center, center; }
/* ── pg-blog-status ──────────────────────────────────────────── */
:root {
  --green: #16a34a;
  --green-bg: #f0fdf4;
  --green-border: #bbf7d0;
}

.pg-blog-status .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-blog-status.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-blog-status .page-hero-inner { display:block; }
.pg-blog-status .hero-icon { width:64px; height:64px; border-radius:16px; background:rgba(255,255,255,0.12); border:2px solid rgba(255,255,255,0.25); display:flex; align-items:center; justify-content:center; font-size:1.8rem; flex-shrink:0; }
.pg-blog-status .page-hero h1 { font-size:clamp(1.5rem,3vw,2.2rem); font-weight:800; color:#fff; line-height:1.2; }
.pg-blog-status .page-hero p { font-size:0.88rem; color:rgba(255,255,255,0.75); margin-top:6px; }
.pg-blog-status .container { max-width:1100px; margin:0 auto; padding:0 24px; }
.pg-blog-status .status-overview { background:var(--green-bg); border:1px solid var(--green-border); border-radius:14px; padding:20px 28px; margin:40px 0 32px; display:flex; align-items:center; gap:16px; }
.pg-blog-status .status-indicator { width:48px; height:48px; border-radius:50%; background:var(--green); display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; }
.pg-blog-status .status-overview h2 { font-size:1.1rem; font-weight:800; color:var(--green); }
.pg-blog-status .status-overview p { font-size:0.85rem; color:var(--cmc-text-secondary); margin-top:2px; }
.pg-blog-status .section-label { font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.12em; color:var(--cmc-maroon); margin-bottom:16px; }
.pg-blog-status .services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:48px; }
.pg-blog-status .service-row { background:#fff; border:1px solid var(--cmc-border); border-radius:10px; padding:14px 18px; display:flex; align-items:center; justify-content:space-between; box-shadow:var(--shadow-sm); }
.pg-blog-status .service-name { font-size:0.9rem; font-weight:600; color:var(--cmc-text); }
.pg-blog-status .service-status { display:inline-flex; align-items:center; gap:6px; font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700; color:var(--green); }
.pg-blog-status .service-status::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--green); flex-shrink:0; }
.pg-blog-status .service-updated { font-size:0.72rem; color:var(--cmc-text-muted); margin-top:2px; }
.pg-blog-status .maintenance-section { margin-bottom:48px; }
.pg-blog-status .maintenance-section h2 { font-size:1.1rem; font-weight:800; margin-bottom:20px; padding-bottom:10px; border-bottom:2px solid var(--cmc-border); }
.pg-blog-status .maintenance-card { background:#fff; border:1px solid var(--cmc-border); border-radius:12px; padding:20px 24px; margin-bottom:12px; box-shadow:var(--shadow-sm); display:flex; align-items:flex-start; gap:16px; }
.pg-blog-status .maintenance-icon { width:40px; height:40px; border-radius:10px; background:var(--cmc-surface-alt); display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
.pg-blog-status .maintenance-title { font-size:0.92rem; font-weight:700; color:var(--cmc-text); margin-bottom:4px; }
.pg-blog-status .maintenance-detail { font-size:0.83rem; color:var(--cmc-text-muted); }
.pg-blog-status .maintenance-badge { display:inline-block; padding:2px 8px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; background:#fffbeb; color:#92400e; border:1px solid #fde68a; margin-left:8px; }
.pg-blog-status .contact-strip { background:var(--cmc-surface-alt); border-radius:12px; padding:24px 28px; margin-bottom:48px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.pg-blog-status .contact-strip h3 { font-size:0.95rem; font-weight:800; margin-bottom:4px; }
.pg-blog-status .contact-strip p { font-size:0.85rem; color:var(--cmc-text-secondary); }
.pg-blog-status .contact-strip a.btn { display:inline-flex; align-items:center; gap:6px; padding:10px 20px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.82rem; font-weight:700; background:var(--cmc-maroon); color:#fff; white-space:nowrap; transition:background 0.18s; }
.pg-blog-status .contact-strip a.btn:hover { background:var(--cmc-maroon-hover); }
@media (max-width:900px) { .pg-blog-status .header-nav { display:none; } .pg-blog-status .hamburger { display:block; } .pg-blog-status .services-grid { grid-template-columns:1fr 1fr; } .pg-blog-status .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-blog-status .services-grid { grid-template-columns:1fr; } .pg-blog-status .footer-grid { grid-template-columns:1fr; } .pg-blog-status .contact-strip { flex-direction:column; } }

/* ── pg-blog-welcome ──────────────────────────────────────────── */
.pg-blog-welcome .post-header { max-width:760px; margin:48px auto 0; padding:0 24px; }
.pg-blog-welcome .category-badge { display:inline-flex; align-items:center; gap:6px; padding:5px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:16px; }
.pg-blog-welcome .category-badge.cio-update { background:var(--cmc-surface-alt); color:var(--cmc-maroon); border:1px solid var(--cmc-maroon-light); }
.pg-blog-welcome .post-title { font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:800; line-height:1.15; margin-bottom:20px; color:var(--cmc-text); letter-spacing:-0.02em; }
.pg-blog-welcome .post-meta { display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding-bottom:24px; border-bottom:2px solid var(--cmc-border); }
.pg-blog-welcome .author-avatar { width:40px; height:40px; border-radius:50%; background:var(--cmc-maroon); display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Montserrat',sans-serif; font-size:0.85rem; font-weight:800; flex-shrink:0; }
.pg-blog-welcome .author-info .author-name { font-size:0.88rem; font-weight:700; color:var(--cmc-text); }
.pg-blog-welcome .author-info .post-date { font-size:0.8rem; color:var(--cmc-text-muted); }
.pg-blog-welcome .reading-time { font-size:0.8rem; color:var(--cmc-text-muted); background:var(--cmc-surface); padding:4px 10px; border-radius:9999px; border:1px solid var(--cmc-border); }
.pg-blog-welcome .article-body { max-width:760px; margin:0 auto; padding:36px 24px; }
.pg-blog-welcome .article-body p { font-size:1rem; color:var(--cmc-text-secondary); line-height:1.8; margin-bottom:20px; }
.pg-blog-welcome .article-body h2 { font-size:1.3rem; font-weight:800; color:var(--cmc-text); margin:36px 0 14px; }
.pg-blog-welcome .article-body h3 { font-size:1.05rem; font-weight:700; color:var(--cmc-text); margin:24px 0 10px; }
.pg-blog-welcome .article-body ul { padding-left:24px; margin-bottom:20px; }
.pg-blog-welcome .article-body li { font-size:0.95rem; color:var(--cmc-text-secondary); line-height:1.7; margin-bottom:6px; }
.pg-blog-welcome .article-body blockquote { background:var(--cmc-surface-alt); border-left:4px solid var(--cmc-maroon); padding:18px 24px; border-radius:0 10px 10px 0; margin:24px 0; font-style:italic; font-size:1rem; color:var(--cmc-text-secondary); line-height:1.7; }
.pg-blog-welcome .article-body blockquote cite { display:block; margin-top:10px; font-style:normal; font-size:0.85rem; font-weight:700; color:var(--cmc-maroon); }
.pg-blog-welcome .cta-box { background:linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); border-radius:14px; padding:28px 32px; margin:32px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.pg-blog-welcome .cta-box p { font-size:0.95rem; color:rgba(255,255,255,0.9); line-height:1.5; }
.pg-blog-welcome .cta-box a { display:inline-flex; align-items:center; gap:6px; padding:10px 22px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.82rem; font-weight:700; background:#fff; color:var(--cmc-maroon); white-space:nowrap; transition:transform 0.15s; }
.pg-blog-welcome .cta-box a:hover { transform:translateY(-1px); }
.pg-blog-welcome .share-strip { max-width:760px; margin:0 auto; padding:24px 24px 0; border-top:1px solid var(--cmc-border); display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.pg-blog-welcome .share-label { font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.09em; color:var(--cmc-text-muted); }
.pg-blog-welcome .share-btns { display:flex; gap:8px; flex-wrap:wrap; }
.pg-blog-welcome .share-btn { display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; border:1px solid var(--cmc-border); background:#fff; color:var(--cmc-text-secondary); cursor:pointer; transition:all 0.18s; }
.pg-blog-welcome .share-btn:hover { border-color:var(--cmc-maroon); color:var(--cmc-maroon); background:var(--cmc-surface-alt); }
.pg-blog-welcome .share-btn.copied { background:var(--cmc-surface-alt); color:var(--cmc-maroon); border-color:var(--cmc-maroon); }
.pg-blog-welcome .related-section { background:var(--cmc-surface); padding:56px 0; margin-top:56px; }
.pg-blog-welcome .related-inner { max-width:1100px; margin:0 auto; padding:0 24px; }
.pg-blog-welcome .related-inner h2 { font-size:1.2rem; font-weight:800; margin-bottom:24px; }
.pg-blog-welcome .related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.pg-blog-welcome .related-card { background:#fff; border:1px solid var(--cmc-border); border-radius:12px; overflow:hidden; box-shadow:var(--shadow-sm); transition:transform 0.2s,box-shadow 0.2s; }
.pg-blog-welcome .related-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.pg-blog-welcome .related-card-color { height:80px; position:relative; overflow:hidden; background-size:cover,cover; background-position:center,center; }
.pg-blog-welcome .related-card-color.maroon { background:linear-gradient(135deg,rgba(76,0,15,0.82),rgba(116,0,28,0.78)), var(--card-img, none); background-size:cover,cover; background-position:center,center; }
.pg-blog-welcome .related-card-color.navy { background:linear-gradient(135deg,rgba(15,28,56,0.84),rgba(26,39,68,0.80)), var(--card-img, none); background-size:cover,cover; background-position:center,center; }
.pg-blog-welcome .related-card-color.green { background:linear-gradient(135deg,rgba(6,78,59,0.82),rgba(5,150,105,0.78)), var(--card-img, none); background-size:cover,cover; background-position:center,center; }
.pg-blog-welcome .related-card-body { padding:16px; }
.pg-blog-welcome .related-card-cat { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:var(--cmc-maroon); margin-bottom:6px; }
.pg-blog-welcome .related-card h3 { font-size:0.9rem; font-weight:700; margin-bottom:6px; line-height:1.35; }
.pg-blog-welcome .related-card p { font-size:0.82rem; color:var(--cmc-text-muted); line-height:1.5; margin-bottom:12px; }
.pg-blog-welcome .related-card-date { font-size:0.75rem; color:var(--cmc-text-muted); }
@media (max-width:900px) { .pg-blog-welcome .header-nav { display:none; } .pg-blog-welcome .hamburger { display:block; } .pg-blog-welcome .related-grid { grid-template-columns:1fr 1fr; } .pg-blog-welcome .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-blog-welcome .related-grid { grid-template-columns:1fr; } .pg-blog-welcome .footer-grid { grid-template-columns:1fr; } .pg-blog-welcome .cta-box { flex-direction:column; } }


/* ── blog/welcome related card images (CSS-relative urls) ─── */
.pg-blog-welcome [data-card="strategy"] { background: linear-gradient(135deg,rgba(76,0,15,0.82),rgba(116,0,28,0.78)), url('i/card-blog-strategy.jpg'); background-size: cover, cover; background-position: center, center; }
.pg-blog-welcome [data-card="about"] { background: linear-gradient(135deg,rgba(15,28,56,0.84),rgba(26,39,68,0.80)), url('i/card-blog-about.jpg'); background-size: cover, cover; background-position: center, center; }
.pg-blog-welcome [data-card="status"] { background: linear-gradient(135deg,rgba(6,78,59,0.82),rgba(5,150,105,0.78)), url('i/card-blog-status.jpg'); background-size: cover, cover; background-position: center, center; }
/* ── pg-guides-dorm-devices ──────────────────────────────────────────── */
/* ── Guide page hero layout ─────────────────────────────── */
.pg-guides-dorm-devices .page-hero-inner { display:block; }
.pg-guides-dorm-devices .page-hero h1 { font-size:clamp(1.5rem,3vw,2.4rem); font-weight:800; color:#fff; line-height:1.2; text-shadow:0 2px 8px rgba(0,0,0,0.2); margin-bottom:6px; }
.pg-guides-dorm-devices .page-hero p { color:rgba(255,255,255,0.85); font-size:0.97rem; margin-top:8px; max-width:560px; line-height:1.6; }
@media (max-width:640px) { .pg-guides-dorm-devices .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-guides-dorm-devices .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-guides-dorm-devices .header-nav > li > a:hover { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-guides-dorm-devices .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/guide-hero-dorm-devices.jpg'); background-size: cover, cover; background-position: center, center; padding: 40px 0; position: relative; }
.pg-guides-dorm-devices .warning-banner { background:#fff7ed; border:1px solid #fb923c; border-left:4px solid #ea580c; border-radius:10px; padding:16px 20px; margin-bottom:32px; display:flex; align-items:flex-start; gap:12px; }
.pg-guides-dorm-devices .warning-banner .warn-icon { font-size:1.3rem; flex-shrink:0; margin-top:2px; }
.pg-guides-dorm-devices .warning-banner p { font-size:0.88rem; color:#9a3412; line-height:1.6; margin:0; }
.pg-guides-dorm-devices .warning-banner strong { color:#7c2d12; }
.pg-guides-dorm-devices .device-mac-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:20px 0; }
.pg-guides-dorm-devices .device-mac-card { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:10px; padding:14px 16px; }
.pg-guides-dorm-devices .device-mac-card h4 { font-size:0.82rem; font-weight:700; margin-bottom:6px; display:flex; align-items:center; gap:6px; color:var(--cmc-text); }
.pg-guides-dorm-devices .device-mac-card p { font-size:0.8rem; color:var(--cmc-text-secondary); line-height:1.5; margin:0; }
.pg-guides-dorm-devices .step-body ul { list-style:none; padding:0; margin-bottom:12px; }
.pg-guides-dorm-devices .step-body ul li { font-size:0.88rem; color:var(--cmc-text-secondary); padding:3px 0 3px 16px; position:relative; }
.pg-guides-dorm-devices .step-body ul li::before { content:'–'; position:absolute; left:0; color:var(--cmc-maroon); }
.pg-guides-dorm-devices .info-box { background:#eff6ff; border:1px solid #bfdbfe; border-left:4px solid #3b82f6; border-radius:8px; padding:14px 18px; margin:16px 0; }
.pg-guides-dorm-devices .info-box p { font-size:0.86rem; color:#1e40af; margin:0; line-height:1.55; }
.pg-guides-dorm-devices .troubleshoot-section h2 { font-size:1.15rem; font-weight:700; margin-bottom:16px; }
@media (max-width:900px) { .pg-guides-dorm-devices .content-wrap { grid-template-columns:1fr; } .pg-guides-dorm-devices .sidebar { position:static; } .pg-guides-dorm-devices .header-nav { display:none; } .pg-guides-dorm-devices .hamburger { display:block; } .pg-guides-dorm-devices .footer-grid { grid-template-columns:1fr 1fr; } .pg-guides-dorm-devices .device-mac-grid { grid-template-columns:1fr; } }

/* ── pg-guides-ebb-setup ──────────────────────────────────────────── */
/* ── Guide page hero layout ─────────────────────────────── */
.pg-guides-ebb-setup .page-hero-inner { display:block; }
.pg-guides-ebb-setup .page-hero h1 { font-size:clamp(1.5rem,3vw,2.4rem); font-weight:800; color:#fff; line-height:1.2; text-shadow:0 2px 8px rgba(0,0,0,0.2); margin-bottom:6px; }
.pg-guides-ebb-setup .page-hero p { color:rgba(255,255,255,0.85); font-size:0.97rem; margin-top:8px; max-width:560px; line-height:1.6; }
@media (max-width:640px) { .pg-guides-ebb-setup .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-guides-ebb-setup .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-guides-ebb-setup .header-nav > li > a:hover { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-guides-ebb-setup .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/guide-hero-ebb.jpg'); background-size: cover, cover; background-position: center, center; padding: 40px 0; position: relative; }
.pg-guides-ebb-setup .integrity-banner { background:#fef2f2; border:1px solid #fca5a5; border-left:4px solid #dc2626; border-radius:10px; padding:16px 20px; margin-bottom:32px; display:flex; align-items:flex-start; gap:12px; }
.pg-guides-ebb-setup .integrity-banner .icon { font-size:1.3rem; flex-shrink:0; }
.pg-guides-ebb-setup .integrity-banner p { font-size:0.87rem; color:#991b1b; margin:0; line-height:1.55; }
.pg-guides-ebb-setup .sysreq-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:36px; }
.pg-guides-ebb-setup .sysreq-card { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:10px; padding:14px 16px; }
.pg-guides-ebb-setup .sysreq-card h4 { font-size:0.82rem; font-weight:700; margin-bottom:6px; display:flex; align-items:center; gap:6px; color:var(--cmc-text); }
.pg-guides-ebb-setup .sysreq-card ul { list-style:none; padding:0; }
.pg-guides-ebb-setup .sysreq-card li { font-size:0.8rem; color:var(--cmc-text-secondary); padding:2px 0 2px 14px; position:relative; }
.pg-guides-ebb-setup .sysreq-card li::before { content:'·'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:900; }
.pg-guides-ebb-setup .os-tabs { display:flex; gap:8px; margin-bottom:12px; }
.pg-guides-ebb-setup .os-tab { padding:6px 16px; border-radius:9999px; border:2px solid var(--cmc-border); background:#fff; cursor:pointer; font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text-secondary); transition:all 0.18s; }
.pg-guides-ebb-setup .os-tab.active, .pg-guides-ebb-setup .os-tab:hover { border-color:var(--cmc-maroon); color:var(--cmc-maroon); background:var(--cmc-surface-alt); }
.pg-guides-ebb-setup .os-panel { display:none; background:var(--cmc-surface); border-radius:8px; padding:14px 16px; border:1px solid var(--cmc-border); font-size:0.87rem; color:var(--cmc-text-secondary); line-height:1.6; }
.pg-guides-ebb-setup .os-panel.active { display:block; }
.pg-guides-ebb-setup .blocks-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:16px 0; }
.pg-guides-ebb-setup .block-item { background:#fef2f2; border:1px solid #fecaca; border-radius:8px; padding:10px 12px; text-align:center; }
.pg-guides-ebb-setup .block-item .b-icon { font-size:1.2rem; margin-bottom:4px; }
.pg-guides-ebb-setup .block-item p { font-size:0.75rem; color:#991b1b; font-weight:600; margin:0; line-height:1.3; }
.pg-guides-ebb-setup .checklist { background:#f0fdf4; border:1px solid #86efac; border-radius:12px; padding:20px 24px; margin-top:40px; }
.pg-guides-ebb-setup .checklist h3 { font-size:0.95rem; font-weight:700; color:#15803d; margin-bottom:12px; }
.pg-guides-ebb-setup .checklist ul { list-style:none; padding:0; }
.pg-guides-ebb-setup .checklist li { font-size:0.88rem; color:#166534; padding:6px 0 6px 24px; position:relative; border-bottom:1px solid #bbf7d0; }
.pg-guides-ebb-setup .checklist li:last-child { border-bottom:none; }
.pg-guides-ebb-setup .checklist li::before { content:'☐'; position:absolute; left:0; font-size:1rem; }
.pg-guides-ebb-setup .troubleshoot-section h2 { font-size:1.15rem; font-weight:700; margin-bottom:16px; }
@media (max-width:900px) { .pg-guides-ebb-setup .content-wrap { grid-template-columns:1fr; } .pg-guides-ebb-setup .sidebar { position:static; } .pg-guides-ebb-setup .header-nav { display:none; } .pg-guides-ebb-setup .hamburger { display:block; } .pg-guides-ebb-setup .footer-grid { grid-template-columns:1fr 1fr; } .pg-guides-ebb-setup .sysreq-grid { grid-template-columns:1fr; } .pg-guides-ebb-setup .blocks-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-guides-ebb-setup .footer-grid { grid-template-columns:1fr; } .pg-guides-ebb-setup .blocks-grid { grid-template-columns:1fr; } }

/* ── pg-guides-eduroam ──────────────────────────────────────────── */
/* ── Guide page hero layout ─────────────────────────────── */
.pg-guides-eduroam .page-hero-inner { display:block; }
.pg-guides-eduroam .page-hero h1 { font-size:clamp(1.5rem,3vw,2.4rem); font-weight:800; color:#fff; line-height:1.2; text-shadow:0 2px 8px rgba(0,0,0,0.2); margin-bottom:6px; }
.pg-guides-eduroam .page-hero p { color:rgba(255,255,255,0.85); font-size:0.97rem; margin-top:8px; max-width:560px; line-height:1.6; }
@media (max-width:640px) { .pg-guides-eduroam .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-guides-eduroam .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-guides-eduroam .header-nav > li > a:hover, .pg-guides-eduroam .header-nav > li > a:focus { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-guides-eduroam .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/guide-hero-eduroam.jpg'); background-size: cover, cover; background-position: center, center; padding: 40px 0; position: relative; }
.pg-guides-eduroam .device-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.pg-guides-eduroam .device-tab { padding:6px 16px; border-radius:9999px; border:2px solid var(--cmc-border); background:#fff; cursor:pointer; font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text-secondary); transition:all 0.18s; }
.pg-guides-eduroam .device-tab.active, .pg-guides-eduroam .device-tab:hover { border-color:var(--cmc-maroon); color:var(--cmc-maroon); background:var(--cmc-surface-alt); }
.pg-guides-eduroam .device-panel { display:none; background:var(--cmc-surface); border-radius:10px; padding:16px 20px; margin-bottom:20px; border:1px solid var(--cmc-border); }
.pg-guides-eduroam .device-panel.active { display:block; }
.pg-guides-eduroam .device-panel p { font-size:0.88rem; color:var(--cmc-text-secondary); line-height:1.65; margin-bottom:8px; }
.pg-guides-eduroam .device-panel p:last-child { margin-bottom:0; }
.pg-guides-eduroam .step-body code { background:var(--cmc-surface-alt); border:1px solid var(--cmc-border); border-radius:4px; padding:2px 6px; font-size:0.85rem; font-family:monospace; color:var(--cmc-maroon); }
.pg-guides-eduroam .note-box { background:#eff6ff; border:1px solid #bfdbfe; border-left:4px solid #3b82f6; border-radius:8px; padding:14px 18px; margin:16px 0; }
.pg-guides-eduroam .note-box p { font-size:0.86rem; color:#1e40af; margin:0; line-height:1.55; }
.pg-guides-eduroam .note-box strong { color:#1e3a8a; }
.pg-guides-eduroam .troubleshoot-section h2 { font-size:1.15rem; font-weight:700; margin-bottom:16px; color:var(--cmc-text); }
@media (max-width:900px) { .pg-guides-eduroam .content-wrap { grid-template-columns:1fr; } .pg-guides-eduroam .sidebar { position:static; } .pg-guides-eduroam .header-nav { display:none; } .pg-guides-eduroam .hamburger { display:block; } .pg-guides-eduroam .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-guides-guest-wifi ──────────────────────────────────────────── */
/* ── Guide page hero layout ─────────────────────────────── */
.pg-guides-guest-wifi .page-hero-inner { display:block; }
.pg-guides-guest-wifi .page-hero h1 { font-size:clamp(1.5rem,3vw,2.4rem); font-weight:800; color:#fff; line-height:1.2; text-shadow:0 2px 8px rgba(0,0,0,0.2); margin-bottom:6px; }
.pg-guides-guest-wifi .page-hero p { color:rgba(255,255,255,0.85); font-size:0.97rem; margin-top:8px; max-width:560px; line-height:1.6; }
@media (max-width:640px) { .pg-guides-guest-wifi .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-guides-guest-wifi .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-guides-guest-wifi .header-nav > li > a:hover { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-guides-guest-wifi .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/guide-hero-guest-wifi.jpg'); background-size: cover, cover; background-position: center, center; padding: 40px 0; position: relative; }
.pg-guides-guest-wifi .access-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:24px 0; }
.pg-guides-guest-wifi .access-card { border-radius:10px; padding:16px 20px; }
.pg-guides-guest-wifi .access-card.can { background:#f0fdf4; border:1px solid #86efac; }
.pg-guides-guest-wifi .access-card.cannot { background:#fef2f2; border:1px solid #fca5a5; }
.pg-guides-guest-wifi .access-card h4 { font-size:0.82rem; font-weight:700; margin-bottom:10px; display:flex; align-items:center; gap:6px; }
.pg-guides-guest-wifi .access-card.can h4 { color:#15803d; }
.pg-guides-guest-wifi .access-card.cannot h4 { color:#b91c1c; }
.pg-guides-guest-wifi .access-card ul { list-style:none; padding:0; }
.pg-guides-guest-wifi .access-card li { font-size:0.84rem; padding:3px 0 3px 16px; position:relative; }
.pg-guides-guest-wifi .access-card.can li { color:#166534; }
.pg-guides-guest-wifi .access-card.cannot li { color:#991b1b; }
.pg-guides-guest-wifi .access-card li::before { position:absolute; left:0; top:3px; font-weight:700; }
.pg-guides-guest-wifi .access-card.can li::before { content:'✓'; }
.pg-guides-guest-wifi .access-card.cannot li::before { content:'✗'; font-weight:700; }
.pg-guides-guest-wifi .info-box { background:#f0f9ff; border:1px solid #bae6fd; border-left:4px solid #0284c7; border-radius:8px; padding:14px 18px; margin:16px 0; }
.pg-guides-guest-wifi .info-box p { font-size:0.86rem; color:#0369a1; margin:0; line-height:1.55; }
.pg-guides-guest-wifi .info-box strong { color:#075985; }
.pg-guides-guest-wifi .security-banner { background:#f8fafc; border:1px solid var(--cmc-border); border-radius:10px; padding:14px 18px; margin:24px 0; display:flex; align-items:center; gap:12px; }
.pg-guides-guest-wifi .security-banner .lock-icon { font-size:1.4rem; flex-shrink:0; }
.pg-guides-guest-wifi .security-banner p { font-size:0.84rem; color:var(--cmc-text-secondary); margin:0; line-height:1.5; }
.pg-guides-guest-wifi .troubleshoot-section h2 { font-size:1.15rem; font-weight:700; margin-bottom:16px; }
.pg-guides-guest-wifi .session-info { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:10px; padding:14px 20px; margin:16px 0; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.pg-guides-guest-wifi .session-stat { text-align:center; }
.pg-guides-guest-wifi .session-stat .val { font-family:'Montserrat',sans-serif; font-size:1.5rem; font-weight:800; color:var(--cmc-maroon); }
.pg-guides-guest-wifi .session-stat .lbl { font-size:0.72rem; color:var(--cmc-text-muted); font-weight:600; text-transform:uppercase; letter-spacing:0.05em; }
.pg-guides-guest-wifi .session-divider { width:1px; height:40px; background:var(--cmc-border); }
@media (max-width:900px) { .pg-guides-guest-wifi .content-wrap { grid-template-columns:1fr; } .pg-guides-guest-wifi .sidebar { position:static; } .pg-guides-guest-wifi .header-nav { display:none; } .pg-guides-guest-wifi .hamburger { display:block; } .pg-guides-guest-wifi .footer-grid { grid-template-columns:1fr 1fr; } .pg-guides-guest-wifi .access-grid { grid-template-columns:1fr; } }

/* ── pg-guides-index ──────────────────────────────────────────── */
.pg-guides-index .header-nav > li > a:hover, .pg-guides-index .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-guides-index .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-guides-index .dropdown:hover .dropdown-menu, .pg-guides-index .dropdown:focus-within .dropdown-menu { display: block; }
.pg-guides-index .dropdown:hover .dropdown-wide, .pg-guides-index .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-guides-index .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-guides-index .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/guide-hero-index.jpg'); background-size: cover, cover; background-position: center, center; padding: 52px 0 48px; position: relative; }
.pg-guides-index .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-guides-index .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-guides-index .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-guides-index .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-guides-index .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-guides-index .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-guides-index .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-guides-index .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-guides-index .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-guides-index .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-guides-index .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-guides-index .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-guides-index .header-nav { display: none; } .pg-guides-index .hamburger { display: block; } .pg-guides-index .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-guides-index .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-guides-index .card-grid { grid-template-columns: 1fr; } .pg-guides-index .footer-grid { grid-template-columns: 1fr; } .pg-guides-index .grid-section { padding: 48px 0; } }

/* ── pg-guides-mfa-setup ──────────────────────────────────────────── */
/* ── Guide page hero layout ─────────────────────────────── */
.pg-guides-mfa-setup .page-hero-inner { display:block; }
.pg-guides-mfa-setup .page-hero h1 { font-size:clamp(1.5rem,3vw,2.4rem); font-weight:800; color:#fff; line-height:1.2; text-shadow:0 2px 8px rgba(0,0,0,0.2); margin-bottom:6px; }
.pg-guides-mfa-setup .page-hero p { color:rgba(255,255,255,0.85); font-size:0.97rem; margin-top:8px; max-width:560px; line-height:1.6; }
@media (max-width:640px) { .pg-guides-mfa-setup .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-guides-mfa-setup .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-guides-mfa-setup .header-nav > li > a:hover { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-guides-mfa-setup .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/guide-hero-mfa.jpg'); background-size: cover, cover; background-position: center, center; padding: 40px 0; position: relative; }
.pg-guides-mfa-setup .stat-banner { background:linear-gradient(135deg, #052e16, #14532d); border-radius:12px; padding:20px 24px; margin-bottom:32px; display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.pg-guides-mfa-setup .stat-item { text-align:center; flex:1; }
.pg-guides-mfa-setup .stat-val { font-family:'Montserrat',sans-serif; font-size:1.6rem; font-weight:800; color:#4ade80; }
.pg-guides-mfa-setup .stat-lbl { font-size:0.75rem; color:rgba(255,255,255,0.75); margin-top:2px; }
.pg-guides-mfa-setup .stat-divider { width:1px; height:44px; background:rgba(255,255,255,0.15); }
.pg-guides-mfa-setup .sms-warning { background:#fef3c7; border:1px solid #fcd34d; border-left:4px solid #f59e0b; border-radius:8px; padding:14px 18px; margin:20px 0; }
.pg-guides-mfa-setup .sms-warning p { font-size:0.86rem; color:#78350f; margin:0; line-height:1.55; }
.pg-guides-mfa-setup .auth-methods { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:20px 0; }
.pg-guides-mfa-setup .auth-card { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:10px; padding:16px; }
.pg-guides-mfa-setup .auth-card.recommended { background:#f0fdf4; border-color:#86efac; }
.pg-guides-mfa-setup .auth-card h4 { font-size:0.85rem; font-weight:700; margin-bottom:6px; color:var(--cmc-text); display:flex; align-items:center; gap:6px; }
.pg-guides-mfa-setup .auth-card.recommended h4 { color:#15803d; }
.pg-guides-mfa-setup .auth-card p { font-size:0.82rem; color:var(--cmc-text-secondary); line-height:1.5; margin:0; }
.pg-guides-mfa-setup .recommended-badge { font-size:0.65rem; font-weight:700; background:#16a34a; color:#fff; padding:2px 7px; border-radius:9999px; text-transform:uppercase; letter-spacing:0.05em; }
.pg-guides-mfa-setup .app-badges { display:flex; gap:12px; margin:12px 0; flex-wrap:wrap; }
.pg-guides-mfa-setup .app-badge { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:8px; padding:8px 14px; font-size:0.82rem; font-weight:600; display:flex; align-items:center; gap:6px; color:var(--cmc-text-secondary); }
.pg-guides-mfa-setup .info-box { background:#eff6ff; border:1px solid #bfdbfe; border-left:4px solid #3b82f6; border-radius:8px; padding:14px 18px; margin:16px 0; }
.pg-guides-mfa-setup .info-box p { font-size:0.86rem; color:#1e40af; margin:0; line-height:1.55; }
.pg-guides-mfa-setup .security-reminders { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:12px; padding:20px 24px; margin-top:40px; }
.pg-guides-mfa-setup .security-reminders h3 { font-size:0.95rem; font-weight:700; margin-bottom:12px; }
.pg-guides-mfa-setup .security-reminders ul { list-style:none; padding:0; }
.pg-guides-mfa-setup .security-reminders li { font-size:0.88rem; color:var(--cmc-text-secondary); padding:5px 0 5px 20px; position:relative; border-bottom:1px solid var(--cmc-border); }
.pg-guides-mfa-setup .security-reminders li:last-child { border-bottom:none; }
.pg-guides-mfa-setup .security-reminders li::before { content:'🛡️'; position:absolute; left:0; }
.pg-guides-mfa-setup .troubleshoot-section h2 { font-size:1.15rem; font-weight:700; margin-bottom:16px; }
@media (max-width:900px) { .pg-guides-mfa-setup .content-wrap { grid-template-columns:1fr; } .pg-guides-mfa-setup .sidebar { position:static; } .pg-guides-mfa-setup .header-nav { display:none; } .pg-guides-mfa-setup .hamburger { display:block; } .pg-guides-mfa-setup .footer-grid { grid-template-columns:1fr 1fr; } .pg-guides-mfa-setup .auth-methods { grid-template-columns:1fr; } }

/* ── pg-guides-password-reset ──────────────────────────────────────────── */
/* ── Guide page hero layout ─────────────────────────────── */
.pg-guides-password-reset .page-hero-inner { display:block; }
.pg-guides-password-reset .page-hero h1 { font-size:clamp(1.5rem,3vw,2.4rem); font-weight:800; color:#fff; line-height:1.2; text-shadow:0 2px 8px rgba(0,0,0,0.2); margin-bottom:6px; }
.pg-guides-password-reset .page-hero p { color:rgba(255,255,255,0.85); font-size:0.97rem; margin-top:8px; max-width:560px; line-height:1.6; }
@media (max-width:640px) { .pg-guides-password-reset .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-guides-password-reset .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-guides-password-reset .header-nav > li > a:hover { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-guides-password-reset .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/guide-hero-password.jpg'); background-size: cover, cover; background-position: center, center; padding: 40px 0; position: relative; }
.pg-guides-password-reset .quick-action { background:linear-gradient(135deg, #eff6ff, #dbeafe); border:1px solid #93c5fd; border-radius:12px; padding:20px 24px; margin-bottom:32px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.pg-guides-password-reset .quick-action p { font-size:0.9rem; color:#1e40af; font-weight:600; margin:0; }
.pg-guides-password-reset .quick-action-note { display:block; margin-top:6px; font-size:0.78rem; font-weight:500; }
.pg-guides-password-reset .quick-action a { display:inline-block; background:#1d4ed8; color:#fff; padding:10px 20px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.82rem; font-weight:700; white-space:nowrap; transition:background 0.18s; }
.pg-guides-password-reset .quick-action a:hover { background:#1e40af; }
.pg-guides-password-reset .step-body code { background:var(--cmc-surface-alt); border:1px solid var(--cmc-border); border-radius:4px; padding:2px 6px; font-size:0.85rem; font-family:monospace; color:var(--cmc-maroon); }
.pg-guides-password-reset .pw-requirements { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:10px; padding:16px 20px; margin:12px 0; }
.pg-guides-password-reset .pw-requirements h4 { font-size:0.82rem; font-weight:700; color:var(--cmc-text); margin-bottom:10px; }
.pg-guides-password-reset .pw-req-list { list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:4px; }
.pg-guides-password-reset .pw-req-list li { font-size:0.82rem; color:var(--cmc-text-secondary); padding:3px 0 3px 18px; position:relative; }
.pg-guides-password-reset .pw-req-list li::before { content:'✓'; position:absolute; left:0; color:#16a34a; font-weight:700; }
.pg-guides-password-reset .best-practices { background:#f0fdf4; border:1px solid #86efac; border-radius:12px; padding:20px 24px; margin-top:40px; }
.pg-guides-password-reset .best-practices h3 { font-size:0.95rem; font-weight:700; color:#15803d; margin-bottom:12px; }
.pg-guides-password-reset .best-practices ul { list-style:none; padding:0; }
.pg-guides-password-reset .best-practices li { font-size:0.88rem; color:#166534; padding:5px 0 5px 20px; position:relative; border-bottom:1px solid #bbf7d0; }
.pg-guides-password-reset .best-practices li:last-child { border-bottom:none; }
.pg-guides-password-reset .best-practices li::before { content:'🔒'; position:absolute; left:0; }
.pg-guides-password-reset .emergency-banner { background:#fef2f2; border:1px solid #fca5a5; border-left:4px solid #dc2626; border-radius:10px; padding:16px 20px; margin-top:40px; display:flex; align-items:flex-start; gap:12px; }
.pg-guides-password-reset .emergency-banner .icon { font-size:1.3rem; flex-shrink:0; }
.pg-guides-password-reset .emergency-banner div h4 { font-size:0.9rem; font-weight:700; color:#991b1b; margin-bottom:4px; }
.pg-guides-password-reset .emergency-banner div p { font-size:0.86rem; color:#b91c1c; margin:0; line-height:1.5; }
.pg-guides-password-reset .emergency-banner div a { color:#7f1d1d; font-weight:700; text-decoration:underline; }
.pg-guides-password-reset .troubleshoot-section h2 { font-size:1.15rem; font-weight:700; margin-bottom:16px; }
@media (max-width:900px) { .pg-guides-password-reset .content-wrap { grid-template-columns:1fr; } .pg-guides-password-reset .sidebar { position:static; } .pg-guides-password-reset .header-nav { display:none; } .pg-guides-password-reset .hamburger { display:block; } .pg-guides-password-reset .footer-grid { grid-template-columns:1fr 1fr; } .pg-guides-password-reset .pw-req-list { grid-template-columns:1fr; } .pg-guides-password-reset .quick-action { flex-direction:column; align-items:flex-start; } }

/* ── pg-guides-report-phishing ──────────────────────────────────────────── */
/* ── Guide page hero layout ─────────────────────────────── */
.pg-guides-report-phishing .page-hero-inner { display:block; }
.pg-guides-report-phishing .page-hero h1 { font-size:clamp(1.5rem,3vw,2.4rem); font-weight:800; color:#fff; line-height:1.2; text-shadow:0 2px 8px rgba(0,0,0,0.2); margin-bottom:6px; }
.pg-guides-report-phishing .page-hero p { color:rgba(255,255,255,0.85); font-size:0.97rem; margin-top:8px; max-width:560px; line-height:1.6; }
@media (max-width:640px) { .pg-guides-report-phishing .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-guides-report-phishing .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-guides-report-phishing .header-nav > li > a:hover { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-guides-report-phishing .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/guide-hero-phishing.jpg'); background-size: cover, cover; background-position: center, center; padding: 40px 0; position: relative; }
.pg-guides-report-phishing .emergency-banner { background:#fef2f2; border:1px solid #fca5a5; border-left:4px solid #dc2626; border-radius:10px; padding:16px 20px; margin-bottom:32px; display:flex; align-items:flex-start; gap:12px; }
.pg-guides-report-phishing .emergency-banner .icon { font-size:1.4rem; flex-shrink:0; }
.pg-guides-report-phishing .emergency-banner div h4 { font-size:0.92rem; font-weight:700; color:#991b1b; margin-bottom:4px; }
.pg-guides-report-phishing .emergency-banner div p { font-size:0.86rem; color:#b91c1c; margin:0; line-height:1.5; }
.pg-guides-report-phishing .emergency-banner div a { color:#7f1d1d; font-weight:700; text-decoration:underline; }
.pg-guides-report-phishing .why-report { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:12px; padding:20px 24px; margin-bottom:36px; }
.pg-guides-report-phishing .why-report h3 { font-size:0.95rem; font-weight:700; margin-bottom:12px; }
.pg-guides-report-phishing .why-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.pg-guides-report-phishing .why-item { background:#fff; border:1px solid var(--cmc-border); border-radius:8px; padding:12px 14px; }
.pg-guides-report-phishing .why-item .why-num { font-family:'Montserrat',sans-serif; font-size:1.2rem; font-weight:800; color:var(--cmc-maroon); }
.pg-guides-report-phishing .why-item p { font-size:0.82rem; color:var(--cmc-text-secondary); margin:4px 0 0; line-height:1.5; }
.pg-guides-report-phishing .step-body ul { list-style:none; padding:0; margin:8px 0; }
.pg-guides-report-phishing .step-body ul li { font-size:0.88rem; color:var(--cmc-text-secondary); padding:3px 0 3px 16px; position:relative; }
.pg-guides-report-phishing .step-body ul li::before { content:'–'; position:absolute; left:0; color:var(--cmc-maroon); }
.pg-guides-report-phishing .indicators-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:16px 0; }
.pg-guides-report-phishing .indicator-card { background:#fff7ed; border:1px solid #fed7aa; border-radius:8px; padding:12px 14px; }
.pg-guides-report-phishing .indicator-card h4 { font-size:0.82rem; font-weight:700; color:#c2410c; margin-bottom:4px; }
.pg-guides-report-phishing .indicator-card p { font-size:0.8rem; color:#9a3412; margin:0; line-height:1.5; }
.pg-guides-report-phishing .do-not-box { background:#fef2f2; border:1px solid #fecaca; border-radius:10px; padding:18px 20px; margin:24px 0; }
.pg-guides-report-phishing .do-not-box h3 { font-size:0.9rem; font-weight:700; color:#dc2626; margin-bottom:10px; display:flex; align-items:center; gap:6px; }
.pg-guides-report-phishing .do-not-box ul { list-style:none; padding:0; }
.pg-guides-report-phishing .do-not-box li { font-size:0.86rem; color:#b91c1c; padding:4px 0 4px 20px; position:relative; }
.pg-guides-report-phishing .do-not-box li::before { content:'✗'; position:absolute; left:0; font-weight:700; }
.pg-guides-report-phishing .troubleshoot-section h2 { font-size:1.15rem; font-weight:700; margin-bottom:16px; }
@media (max-width:900px) { .pg-guides-report-phishing .content-wrap { grid-template-columns:1fr; } .pg-guides-report-phishing .sidebar { position:static; } .pg-guides-report-phishing .header-nav { display:none; } .pg-guides-report-phishing .hamburger { display:block; } .pg-guides-report-phishing .footer-grid { grid-template-columns:1fr 1fr; } .pg-guides-report-phishing .why-grid, .pg-guides-report-phishing .indicators-grid { grid-template-columns:1fr; } }

/* ── pg-guides-slack-navigation ──────────────────────────────────────────── */
/* ── Guide page hero layout ─────────────────────────────── */
.pg-guides-slack-navigation .page-hero-inner { display:block; }
.pg-guides-slack-navigation .page-hero h1 { font-size:clamp(1.5rem,3vw,2.4rem); font-weight:800; color:#fff; line-height:1.2; text-shadow:0 2px 8px rgba(0,0,0,0.2); margin-bottom:6px; }
.pg-guides-slack-navigation .page-hero p { color:rgba(255,255,255,0.85); font-size:0.97rem; margin-top:8px; max-width:560px; line-height:1.6; }
@media (max-width:640px) { .pg-guides-slack-navigation .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-guides-slack-navigation .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-guides-slack-navigation .header-nav > li > a:hover { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-guides-slack-navigation .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/guide-hero-slack.jpg'); background-size: cover, cover; background-position: center, center; padding: 40px 0; position: relative; }
.pg-guides-slack-navigation .workspace-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; margin-bottom:40px; }
.pg-guides-slack-navigation .workspace-card { border-radius:12px; padding:20px; border:2px solid transparent; }
.pg-guides-slack-navigation .workspace-card.work { background:#faf5ff; border-color:#c084fc; }
.pg-guides-slack-navigation .workspace-card.campus { background:#fefce8; border-color:#fde047; }
.pg-guides-slack-navigation .workspace-card.network { background:#eef1f6; border-color:#93a5c9; }
.pg-guides-slack-navigation .workspace-card .ws-badge { display:inline-block; font-family:'Montserrat',sans-serif; font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; padding:3px 10px; border-radius:9999px; margin-bottom:8px; }
.pg-guides-slack-navigation .workspace-card.work .ws-badge { background:#7c3aed; color:#fff; }
.pg-guides-slack-navigation .workspace-card.campus .ws-badge { background:#ca8a04; color:#fff; }
.pg-guides-slack-navigation .workspace-card.network .ws-badge { background:#1a2744; color:#fff; }
.pg-guides-slack-navigation .workspace-card h3 { font-size:1rem; font-weight:700; margin-bottom:8px; }
.pg-guides-slack-navigation .workspace-card.work h3 { color:#4c1d95; }
.pg-guides-slack-navigation .workspace-card.campus h3 { color:#713f12; }
.pg-guides-slack-navigation .workspace-card.network h3 { color:#1a2744; }
.pg-guides-slack-navigation .workspace-card .ws-who { font-size:0.78rem; font-weight:600; margin-bottom:8px; }
.pg-guides-slack-navigation .workspace-card.work .ws-who { color:#6d28d9; }
.pg-guides-slack-navigation .workspace-card.campus .ws-who { color:#92400e; }
.pg-guides-slack-navigation .workspace-card.network .ws-who { color:#2c3e63; }
.pg-guides-slack-navigation .workspace-card ul { list-style:none; padding:0; }
.pg-guides-slack-navigation .workspace-card li { font-size:0.83rem; padding:3px 0 3px 16px; position:relative; }
.pg-guides-slack-navigation .workspace-card.work li { color:#4c1d95; }
.pg-guides-slack-navigation .workspace-card.campus li { color:#78350f; }
.pg-guides-slack-navigation .workspace-card.network li { color:#2c3e63; }
.pg-guides-slack-navigation .workspace-card li::before { content:'→'; position:absolute; left:0; font-weight:700; }
@media (max-width:900px) { .pg-guides-slack-navigation .workspace-grid { grid-template-columns:1fr; } }
.pg-guides-slack-navigation .warning-box { background:#fef2f2; border:1px solid #fca5a5; border-left:4px solid #dc2626; border-radius:8px; padding:14px 18px; margin-bottom:32px; }
.pg-guides-slack-navigation .warning-box p { font-size:0.86rem; color:#991b1b; margin:0; line-height:1.55; }
.pg-guides-slack-navigation .step-body code { background:var(--cmc-surface-alt); border:1px solid var(--cmc-border); border-radius:4px; padding:2px 6px; font-size:0.85rem; font-family:monospace; color:var(--cmc-maroon); }
.pg-guides-slack-navigation .channel-types { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:16px 0; }
.pg-guides-slack-navigation .channel-card { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:8px; padding:12px 14px; }
.pg-guides-slack-navigation .channel-card h4 { font-size:0.82rem; font-weight:700; margin-bottom:4px; color:var(--cmc-text); display:flex; align-items:center; gap:6px; }
.pg-guides-slack-navigation .channel-card p { font-size:0.8rem; color:var(--cmc-text-secondary); margin:0; line-height:1.5; }
.pg-guides-slack-navigation .commands-list { background:var(--cmc-surface); border-radius:10px; padding:16px 20px; margin:16px 0; border:1px solid var(--cmc-border); }
.pg-guides-slack-navigation .cmd-row { display:flex; align-items:baseline; gap:12px; padding:6px 0; border-bottom:1px solid var(--cmc-border); }
.pg-guides-slack-navigation .cmd-row:last-child { border-bottom:none; }
.pg-guides-slack-navigation .cmd-code { font-family:monospace; font-size:0.85rem; font-weight:700; color:var(--cmc-maroon); background:var(--cmc-surface-alt); padding:2px 8px; border-radius:4px; white-space:nowrap; flex-shrink:0; }
.pg-guides-slack-navigation .cmd-desc { font-size:0.83rem; color:var(--cmc-text-secondary); }
.pg-guides-slack-navigation .guidelines { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:12px; padding:20px 24px; margin-top:40px; }
.pg-guides-slack-navigation .guidelines h3 { font-size:0.95rem; font-weight:700; margin-bottom:12px; }
.pg-guides-slack-navigation .guidelines ul { list-style:none; padding:0; }
.pg-guides-slack-navigation .guidelines li { font-size:0.88rem; color:var(--cmc-text-secondary); padding:6px 0 6px 20px; position:relative; border-bottom:1px solid var(--cmc-border); }
.pg-guides-slack-navigation .guidelines li:last-child { border-bottom:none; }
.pg-guides-slack-navigation .guidelines li::before { content:'💬'; position:absolute; left:0; }
.pg-guides-slack-navigation .troubleshoot-section h2 { font-size:1.15rem; font-weight:700; margin-bottom:16px; }
@media (max-width:900px) { .pg-guides-slack-navigation .content-wrap { grid-template-columns:1fr; } .pg-guides-slack-navigation .sidebar { position:static; } .pg-guides-slack-navigation .header-nav { display:none; } .pg-guides-slack-navigation .hamburger { display:block; } .pg-guides-slack-navigation .footer-grid { grid-template-columns:1fr 1fr; } .pg-guides-slack-navigation .workspace-grid, .pg-guides-slack-navigation .channel-types { grid-template-columns:1fr; } }

/* ── pg-guides-zoom-ai ──────────────────────────────────────────── */
/* ── Guide page hero layout ─────────────────────────────── */
.pg-guides-zoom-ai .page-hero-inner { display:block; }
.pg-guides-zoom-ai .page-hero h1 { font-size:clamp(1.5rem,3vw,2.4rem); font-weight:800; color:#fff; line-height:1.2; text-shadow:0 2px 8px rgba(0,0,0,0.2); margin-bottom:6px; }
.pg-guides-zoom-ai .page-hero p { color:rgba(255,255,255,0.85); font-size:0.97rem; margin-top:8px; max-width:560px; line-height:1.6; }
@media (max-width:640px) { .pg-guides-zoom-ai .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-guides-zoom-ai .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-guides-zoom-ai .header-nav > li > a:hover { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-guides-zoom-ai .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/guide-hero-zoom.jpg'); background-size: cover, cover; background-position: center, center; padding: 40px 0; position: relative; }
.pg-guides-zoom-ai .blocked-banner { background:#fef3c7; border:1px solid #fcd34d; border-left:4px solid #f59e0b; border-radius:10px; padding:16px 20px; margin-bottom:32px; display:flex; align-items:flex-start; gap:12px; }
.pg-guides-zoom-ai .blocked-banner .icon { font-size:1.3rem; flex-shrink:0; }
.pg-guides-zoom-ai .blocked-banner p { font-size:0.88rem; color:#78350f; margin:0; line-height:1.55; }
.pg-guides-zoom-ai .blocked-banner strong { color:#7c2d12; }
.pg-guides-zoom-ai .capabilities-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:36px; }
.pg-guides-zoom-ai .cap-card { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:10px; padding:14px; text-align:center; }
.pg-guides-zoom-ai .cap-icon { font-size:1.5rem; margin-bottom:6px; }
.pg-guides-zoom-ai .cap-card h4 { font-size:0.8rem; font-weight:700; color:var(--cmc-text); margin-bottom:4px; }
.pg-guides-zoom-ai .cap-card p { font-size:0.76rem; color:var(--cmc-text-muted); line-height:1.4; margin:0; }
.pg-guides-zoom-ai .info-box { background:#f5f3ff; border:1px solid #c4b5fd; border-left:4px solid #7c3aed; border-radius:8px; padding:14px 18px; margin:16px 0; }
.pg-guides-zoom-ai .info-box p { font-size:0.86rem; color:#4c1d95; margin:0; line-height:1.55; }
.pg-guides-zoom-ai .privacy-section { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:12px; padding:20px 24px; margin-top:40px; }
.pg-guides-zoom-ai .privacy-section h3 { font-size:0.95rem; font-weight:700; margin-bottom:12px; display:flex; align-items:center; gap:6px; }
.pg-guides-zoom-ai .privacy-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.pg-guides-zoom-ai .privacy-item { background:#fff; border:1px solid var(--cmc-border); border-radius:8px; padding:12px 14px; }
.pg-guides-zoom-ai .privacy-item h4 { font-size:0.8rem; font-weight:700; color:var(--cmc-maroon); margin-bottom:4px; }
.pg-guides-zoom-ai .privacy-item p { font-size:0.79rem; color:var(--cmc-text-secondary); margin:0; line-height:1.5; }
.pg-guides-zoom-ai .tips-list { margin-top:32px; }
.pg-guides-zoom-ai .tips-list h3 { font-size:0.95rem; font-weight:700; margin-bottom:12px; }
.pg-guides-zoom-ai .tip-item { display:flex; gap:12px; align-items:flex-start; padding:10px 0; border-bottom:1px solid var(--cmc-border); }
.pg-guides-zoom-ai .tip-item:last-child { border-bottom:none; }
.pg-guides-zoom-ai .tip-icon { font-size:1.1rem; flex-shrink:0; margin-top:2px; }
.pg-guides-zoom-ai .tip-item p { font-size:0.86rem; color:var(--cmc-text-secondary); line-height:1.55; margin:0; }
.pg-guides-zoom-ai .troubleshoot-section h2 { font-size:1.15rem; font-weight:700; margin-bottom:16px; }
@media (max-width:900px) { .pg-guides-zoom-ai .content-wrap { grid-template-columns:1fr; } .pg-guides-zoom-ai .sidebar { position:static; } .pg-guides-zoom-ai .header-nav { display:none; } .pg-guides-zoom-ai .hamburger { display:block; } .pg-guides-zoom-ai .footer-grid { grid-template-columns:1fr 1fr; } .pg-guides-zoom-ai .capabilities-grid { grid-template-columns:1fr 1fr; } .pg-guides-zoom-ai .privacy-grid { grid-template-columns:1fr; } }
@media (max-width:540px) { .pg-guides-zoom-ai .footer-grid { grid-template-columns:1fr; } .pg-guides-zoom-ai .capabilities-grid { grid-template-columns:1fr; } }

/* ── pg-home ──────────────────────────────────────────── */
:root {
  --green: #1a7a4a;
  --green-light: #e8f5ee;
}

.pg-home h1, .pg-home h2, .pg-home h3, .pg-home h4, .pg-home h5, .pg-home h6 { font-family: 'Montserrat', sans-serif; }
.pg-home .announcement-bar { background: var(--cmc-maroon-dark); color: #fff; text-align: center; padding: 10px 20px; font-size: 0.85rem; font-family: 'Montserrat', sans-serif; font-weight: 500; letter-spacing: 0.01em; }
.pg-home .announcement-bar a { color: var(--cmc-maroon-light); text-decoration: underline; }
.pg-home .header-nav > li > a:hover, .pg-home .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-home .dropdown:hover .dropdown-menu, .pg-home .dropdown:focus-within .dropdown-menu { display: block; }
.pg-home .dropdown:hover .dropdown-wide, .pg-home .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-home .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-home .mobile-nav .mobile-section { margin-bottom: 8px; }
.pg-home .mobile-nav .mobile-label { font-family: 'Montserrat', sans-serif; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--cmc-maroon); padding: 8px 12px 4px; }
.pg-home .hero { position: relative; background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--cmc-maroon) 55%, var(--cmc-accent) 100%); min-height: 520px; display: flex; align-items: center; overflow: hidden; }
.pg-home .hero-bg { position: absolute; inset: 0; background-image: url('i/its-hero-bg.jpg'); background-size: cover; background-position: center 30%; opacity: 0.30; mix-blend-mode: luminosity; }
.pg-home .hero-content { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; padding: 64px 24px; width: 100%; }
.pg-home .hero-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 20px; }
.pg-home .hero h1 { font-family: 'Montserrat', sans-serif; font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 800; color: #fff; line-height: 1.15; max-width: 680px; margin-bottom: 16px; text-shadow: 0 2px 12px rgba(0,0,0,0.2); }
.pg-home .hero-sub { font-size: 1.05rem; color: rgba(255,255,255,0.85); max-width: 560px; margin-bottom: 40px; line-height: 1.65; }
.pg-home .hero-cards { display: flex; gap: 20px; flex-wrap: wrap; }
.pg-home .audience-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.pg-home .audience-label { font-size: 0.85rem; color: rgba(255,255,255,0.75); font-family: 'Open Sans', sans-serif; }
.pg-home .audience-pill { display: inline-flex; align-items: center; gap: 4px; padding: 8px 16px; border-radius: 9999px; background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.35); color: #fff; font-family: 'Montserrat', sans-serif; font-size: 0.8rem; font-weight: 600; text-decoration: none; transition: background 0.18s, transform 0.15s; }
.pg-home .audience-pill:hover { background: rgba(255,255,255,0.24); transform: translateY(-1px); }
.pg-home .hero-card { background: rgba(255,255,255,0.97); border-radius: 12px; padding: 24px 28px; min-width: 240px; max-width: 300px; box-shadow: var(--shadow-lg); position: relative; overflow: hidden; transition: transform 0.22s, box-shadow 0.22s; }
.pg-home .hero-card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(0,0,0,0.18); }
.pg-home .hero-card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--cmc-maroon); border-radius: 4px 0 0 4px; }
.pg-home .hero-card.navy::before { background: var(--navy); }
.pg-home .hero-card h3 { font-size: 0.95rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 6px; }
.pg-home .hero-card p { font-size: 0.82rem; color: var(--cmc-text-muted); margin-bottom: 16px; line-height: 1.5; }
.pg-home .btn { display: inline-flex; align-items: center; gap: 6px; padding: 9px 20px; border-radius: 9999px; font-family: 'Montserrat', sans-serif; font-size: 0.8rem; font-weight: 700; cursor: pointer; transition: background 0.18s, transform 0.15s; text-decoration: none; border: none; }
.pg-home .btn-navy { background: var(--navy); color: #fff; }
.pg-home .btn-navy:hover { background: var(--navy-hover); transform: translateY(-1px); }
.pg-home .btn-outline { background: transparent; border: 2px solid var(--cmc-maroon); color: var(--cmc-maroon); }
.pg-home .btn-outline:hover { background: var(--cmc-maroon); color: #fff; }
.pg-home .status-ticker { background: var(--cmc-surface); border-bottom: 1px solid var(--cmc-border); padding: 10px 0; overflow: hidden; }
.pg-home .status-inner { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; gap: 32px; flex-wrap: wrap; }
.pg-home .status-label { font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; color: var(--cmc-text-muted); flex-shrink: 0; }
.pg-home .status-items { display: flex; gap: 20px; flex-wrap: wrap; align-items: center; }
.pg-home .status-item { display: flex; align-items: center; gap: 7px; font-size: 0.83rem; color: var(--cmc-text-secondary); }
.pg-home .status-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; animation: pulse-green 2.5s infinite; }
.pg-home .status-dot.green { background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,0.2); }
.pg-home .status-dot.yellow { background: #f59e0b; box-shadow: 0 0 0 3px rgba(245,158,11,0.2); animation: none; }
.pg-home .status-dot.red { background: #ef4444; box-shadow: 0 0 0 3px rgba(239,68,68,0.2); animation: none; }
@keyframes pulse-green { 0%,100%{box-shadow:0 0 0 3px rgba(34,197,94,0.2)} 50%{box-shadow:0 0 0 6px rgba(34,197,94,0.1)} }
.pg-home section { padding: 72px 0; }
.pg-home .section-eyebrow { font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--cmc-maroon); margin-bottom: 10px; }
.pg-home .section-title { font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 800; margin-bottom: 12px; }
.pg-home .section-subtitle { font-size: 1rem; color: var(--cmc-text-muted); max-width: 560px; line-height: 1.65; }
.pg-home .support-section { background: var(--cmc-surface-alt); }
.pg-home .support-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-home .support-card { background: #fff; border-radius: 16px; padding: 32px 28px; display: flex; flex-direction: column; align-items: flex-start; box-shadow: var(--shadow-md); border: 1px solid var(--cmc-border); transition: transform 0.22s, box-shadow 0.22s; }
.pg-home .support-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.pg-home .support-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; margin-bottom: 18px; }
.pg-home .support-icon.maroon { background: var(--cmc-surface-alt); }
.pg-home .support-icon.navy { background: #eef0f7; }
.pg-home .support-icon.green-bg { background: var(--green-light); }
.pg-home .support-card h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 8px; }
.pg-home .support-card p { font-size: 0.88rem; color: var(--cmc-text-muted); line-height: 1.65; flex: 1; margin-bottom: 20px; }
.pg-home .support-card .support-meta { font-size: 0.82rem; font-weight: 600; color: var(--cmc-text-secondary); margin-bottom: 18px; display: flex; align-items: center; gap: 6px; }
.pg-home .contact-section { background: var(--navy); }
.pg-home .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 40px; }
.pg-home .contact-card { background: rgba(255,255,255,0.07); border-radius: 16px; padding: 36px; display: flex; flex-direction: column; box-shadow: var(--shadow-md); border: 1px solid rgba(255,255,255,0.12); transition: transform 0.22s, box-shadow 0.22s, background 0.22s; }
.pg-home .contact-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); background: rgba(255,255,255,0.11); }
.pg-home .contact-icon { width: 56px; height: 56px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; margin-bottom: 20px; }
.pg-home .contact-icon.maroon { background: rgba(116,0,28,0.35); }
.pg-home .contact-icon.navy-icon { background: rgba(255,255,255,0.12); }
.pg-home .contact-card h3 { font-size: 1.2rem; font-weight: 700; margin-bottom: 10px; color: #fff; }
.pg-home .contact-card p { font-size: 0.9rem; color: rgba(255,255,255,0.72); line-height: 1.65; flex: 1; margin-bottom: 24px; }
.pg-home .highlights-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-home .highlight-card { background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid var(--cmc-border); box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-home .highlight-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-home .highlight-img { height: 200px; background: url('i/card-clac.jpg') center/cover no-repeat; position: relative; overflow: hidden; }
.pg-home .highlight-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.28) 100%); }
.pg-home .highlight-img-alt { background: url('i/card-ai.jpg') center/cover no-repeat; }
.pg-home .highlight-img-alt2 { background: url('i/card-hpc.jpg') center/cover no-repeat; }
.pg-home .highlight-body { padding: 20px; }
.pg-home .tag-chip { display: inline-block; padding: 3px 10px; border-radius: 9999px; font-size: 0.7rem; font-weight: 700; font-family: 'Montserrat', sans-serif; letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: 10px; }
.pg-home .tag-chip.maroon { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-home .tag-chip.navy { background: #eef0f7; color: var(--navy); }
.pg-home .tag-chip.green { background: var(--green-light); color: var(--green); }
.pg-home .highlight-card h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: 8px; line-height: 1.35; }
.pg-home .highlight-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; margin-bottom: 16px; }
.pg-home .link-arrow { font-size: 0.83rem; font-weight: 600; color: var(--cmc-maroon); display: flex; align-items: center; gap: 5px; }
.pg-home .link-arrow:hover { gap: 9px; }
.pg-home .link-arrow svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-home .link-arrow:hover svg { transform: translateX(3px); }
.pg-home .guides-section { background: var(--cmc-surface); }
.pg-home .guides-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px; }
.pg-home .guide-card { background: #fff; border-radius: 12px; padding: 24px; border: 1px solid var(--cmc-border); box-shadow: var(--shadow-sm); display: flex; gap: 16px; align-items: flex-start; transition: transform 0.2s, box-shadow 0.2s; }
.pg-home .guide-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.pg-home .guide-badge { width: 40px; height: 40px; border-radius: 10px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-family: 'Montserrat', sans-serif; font-size: 0.7rem; font-weight: 800; color: var(--cmc-maroon); flex-shrink: 0; text-align: center; line-height: 1.2; }
.pg-home .guide-card h4 { font-size: 0.92rem; font-weight: 700; margin-bottom: 5px; }
.pg-home .guide-card p { font-size: 0.82rem; color: var(--cmc-text-muted); line-height: 1.5; margin-bottom: 10px; }
.pg-home .step-count { font-size: 0.75rem; color: var(--cmc-text-muted); font-weight: 600; }
.pg-home .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; }
@media (max-width: 1024px) { .pg-home .header-nav { display: none; } .pg-home .hamburger { display: block; } .pg-home .contact-grid, .pg-home .highlights-grid, .pg-home .guides-grid, .pg-home .support-grid { grid-template-columns: 1fr 1fr; } .pg-home .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-home .hero-cards { flex-direction: column; } .pg-home .hero-card { max-width: 100%; } .pg-home .contact-grid, .pg-home .highlights-grid, .pg-home .guides-grid, .pg-home .footer-grid, .pg-home .support-grid { grid-template-columns: 1fr; } .pg-home section { padding: 48px 0; } }

/* ── pg-security-accessibility ──────────────────────────────────────────── */
/* ── Policy page hero layout ────────────────────────────── */
.pg-security-accessibility .page-hero-inner { display:block; }
@media (max-width:640px) { .pg-security-accessibility .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-security-accessibility .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-security-accessibility .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-security-accessibility.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-security-accessibility .page-hero h1 { font-size:clamp(1.4rem,2.8vw,2.2rem); font-weight:800; color:#fff; line-height:1.2; margin-bottom:8px; }
.pg-security-accessibility .toc-list { list-style:none; padding:0; }
.pg-security-accessibility .toc-list li a { display:block; padding:7px 10px; font-size:0.83rem; color:var(--cmc-text-muted); border-left:2px solid var(--cmc-border); transition:all 0.18s; line-height:1.4; }
.pg-security-accessibility .toc-list li a:hover, .pg-security-accessibility .toc-list li a.active { border-left-color:var(--cmc-maroon); color:var(--cmc-maroon); background:var(--cmc-surface-alt); }
.pg-security-accessibility .tools-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:12px 0; }
.pg-security-accessibility .tool-chip { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:8px; padding:10px 14px; font-size:0.85rem; color:var(--cmc-text-secondary); display:flex; align-items:center; gap:8px; }
.pg-security-accessibility .tool-chip::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--cmc-maroon); flex-shrink:0; }
.pg-security-accessibility .action-btn-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; background:var(--cmc-surface-alt); }
@media (max-width:1100px) { .pg-security-accessibility .policy-wrap { grid-template-columns:1fr; } .pg-security-accessibility .toc-sidebar, .pg-security-accessibility .policy-sidebar { position:static; } .pg-security-accessibility .header-nav { display:none; } .pg-security-accessibility .hamburger { display:block; } .pg-security-accessibility .footer-grid { grid-template-columns:1fr 1fr; } .pg-security-accessibility .tools-grid { grid-template-columns:1fr; } }

/* ── pg-security-data-classification ──────────────────────────────────────────── */
/* ── Policy page hero layout ────────────────────────────── */
.pg-security-data-classification .page-hero-inner { display:flex; align-items:center; gap:24px; }
@media (max-width:640px) { .pg-security-data-classification .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-security-data-classification .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-security-data-classification .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-security-data-classification.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-security-data-classification .page-hero h1 { font-size:clamp(1.4rem,2.8vw,2.2rem); font-weight:800; color:#fff; line-height:1.2; margin-bottom:8px; }
.pg-security-data-classification .toc-list { list-style:none; padding:0; }
.pg-security-data-classification .toc-list li a { display:block; padding:7px 10px; font-size:0.83rem; color:var(--cmc-text-muted); border-left:2px solid var(--cmc-border); transition:all 0.18s; line-height:1.4; }
.pg-security-data-classification .toc-list li a:hover, .pg-security-data-classification .toc-list li a.active { border-left-color:var(--cmc-maroon); color:var(--cmc-maroon); background:var(--cmc-surface-alt); }
.pg-security-data-classification .class-table-wrap { margin:24px 0 32px; border-radius:16px; overflow:hidden; border:1px solid var(--cmc-border); box-shadow:var(--shadow-md); }
.pg-security-data-classification .class-row { display:grid; grid-template-columns:110px 1fr 1fr 1fr; align-items:stretch; border-bottom:1px solid rgba(0,0,0,0.07); }
.pg-security-data-classification .class-row:last-child { border-bottom:none; }
.pg-security-data-classification .class-row.header-row { background:var(--cmc-text); }
.pg-security-data-classification .class-row.header-row .class-cell { color:#fff; font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; padding:14px 16px; }
.pg-security-data-classification .class-cell { padding:18px 16px; font-size:0.88rem; line-height:1.55; vertical-align:top; }
.pg-security-data-classification .class-cell strong { display:block; font-family:'Montserrat',sans-serif; font-size:0.82rem; margin-bottom:4px; }
.pg-security-data-classification .class-cell.level { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:6px; }
.pg-security-data-classification .row-p1 { background:#f0fdf4; }
.pg-security-data-classification .row-p1 .level { border-left:5px solid #16a34a; }
.pg-security-data-classification .badge-p1 { display:inline-block; background:#16a34a; color:#fff; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:800; padding:3px 10px; border-radius:9999px; }
.pg-security-data-classification .row-p1 .class-cell { color:#14532d; }
.pg-security-data-classification .row-p1 .class-cell strong { color:#166534; }
.pg-security-data-classification .row-p2 { background:#fefce8; }
.pg-security-data-classification .row-p2 .level { border-left:5px solid #ca8a04; }
.pg-security-data-classification .badge-p2 { display:inline-block; background:#ca8a04; color:#fff; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:800; padding:3px 10px; border-radius:9999px; }
.pg-security-data-classification .row-p2 .class-cell { color:#713f12; }
.pg-security-data-classification .row-p2 .class-cell strong { color:#854d0e; }
.pg-security-data-classification .row-p3 { background:#fff7ed; }
.pg-security-data-classification .row-p3 .level { border-left:5px solid #ea580c; }
.pg-security-data-classification .badge-p3 { display:inline-block; background:#ea580c; color:#fff; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:800; padding:3px 10px; border-radius:9999px; }
.pg-security-data-classification .row-p3 .class-cell { color:#7c2d12; }
.pg-security-data-classification .row-p3 .class-cell strong { color:#9a3412; }
.pg-security-data-classification .row-p4 { background:#fef2f2; }
.pg-security-data-classification .row-p4 .level { border-left:5px solid #dc2626; }
.pg-security-data-classification .badge-p4 { display:inline-block; background:#dc2626; color:#fff; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:800; padding:3px 10px; border-radius:9999px; }
.pg-security-data-classification .row-p4 .class-cell { color:#7f1d1d; }
.pg-security-data-classification .row-p4 .class-cell strong { color:#991b1b; }
.pg-security-data-classification .action-btn-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; background:var(--cmc-surface-alt); }
@media (max-width:1100px) { .pg-security-data-classification .policy-wrap { grid-template-columns:1fr; } .pg-security-data-classification .toc-sidebar, .pg-security-data-classification .policy-sidebar { position:static; } .pg-security-data-classification .header-nav { display:none; } .pg-security-data-classification .hamburger { display:block; } .pg-security-data-classification .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:700px) { .pg-security-data-classification .class-row { grid-template-columns:80px 1fr; } .pg-security-data-classification .class-row .class-cell:nth-child(3), .pg-security-data-classification .class-row .class-cell:nth-child(4), .pg-security-data-classification .class-row.header-row .class-cell:nth-child(3), .pg-security-data-classification .class-row.header-row .class-cell:nth-child(4) { display:none; } }

/* ── pg-security-exception-policy ──────────────────────────────────────────── */
.pg-security-exception-policy .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-security-exception-policy.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-security-exception-policy .page-hero h1 { font-size:clamp(1.6rem,3vw,2.6rem); font-weight:800; color:#fff; line-height:1.15; margin-bottom:8px; }
.pg-security-exception-policy .page-hero p { font-size:0.95rem; color:rgba(255,255,255,0.8); max-width:560px; }
.pg-security-exception-policy .container { max-width:900px; margin:0 auto; padding:0 24px; }
.pg-security-exception-policy .preflight { background:var(--cmc-surface); border-radius:16px; padding:32px; margin:40px 0; border:1px solid var(--cmc-border); }
.pg-security-exception-policy .preflight h2 { font-size:1rem; font-weight:800; margin-bottom:20px; display:flex; align-items:center; gap:10px; }
.pg-security-exception-policy .preflight-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pg-security-exception-policy .checklist-item { display:flex; align-items:flex-start; gap:12px; background:#fff; border:1px solid var(--cmc-border); border-radius:10px; padding:14px 16px; }
.pg-security-exception-policy .check-icon { width:28px; height:28px; border-radius:7px; background:var(--cmc-surface-alt); display:flex; align-items:center; justify-content:center; font-size:0.9rem; flex-shrink:0; }
.pg-security-exception-policy .checklist-item h4 { font-size:0.88rem; font-weight:700; margin-bottom:2px; }
.pg-security-exception-policy .checklist-item p { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-security-exception-policy .process-strip { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:0; margin:40px 0; background:var(--cmc-surface-alt); border-radius:16px; padding:24px 32px; }
.pg-security-exception-policy .process-step { text-align:center; }
.pg-security-exception-policy .process-num { width:40px; height:40px; border-radius:50%; background:var(--cmc-maroon); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:0.95rem; font-weight:800; margin:0 auto 10px; }
.pg-security-exception-policy .process-step h4 { font-size:0.82rem; font-weight:700; margin-bottom:3px; }
.pg-security-exception-policy .process-step p { font-size:0.73rem; color:var(--cmc-text-muted); line-height:1.35; }
.pg-security-exception-policy .process-arrow { font-size:1.4rem; color:var(--cmc-border); padding:0 4px; }
.pg-security-exception-policy .fs-section { margin:40px 0; }
.pg-security-exception-policy .fs-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-md); }
.pg-security-exception-policy .fs-header { background:linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); padding:24px 32px; }
.pg-security-exception-policy .fs-header h2 { color:#fff; font-size:1.1rem; font-weight:700; margin-bottom:4px; }
.pg-security-exception-policy .fs-header p { color:rgba(255,255,255,0.8); font-size:0.85rem; }
.pg-security-exception-policy .fs-body { padding:32px; }
.pg-security-exception-policy .faq-section { margin:48px 0; }
.pg-security-exception-policy .faq-section h2 { font-size:1.2rem; font-weight:800; margin-bottom:20px; }
.pg-security-exception-policy .faq-list { display:flex; flex-direction:column; gap:8px; }
.pg-security-exception-policy .faq-item { border:1px solid var(--cmc-border); border-radius:10px; overflow:hidden; }
.pg-security-exception-policy .faq-question { width:100%; background:#fff; border:none; padding:18px 20px; display:flex; justify-content:space-between; align-items:center; cursor:pointer; text-align:left; font-family:'Montserrat',sans-serif; font-size:0.9rem; font-weight:700; color:var(--cmc-text); transition:background 0.18s; }
.pg-security-exception-policy .faq-question:hover { background:var(--cmc-surface); }
.pg-security-exception-policy .faq-question[aria-expanded="true"] { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-security-exception-policy .faq-chevron { font-size:0.75rem; transition:transform 0.25s; flex-shrink:0; }
.pg-security-exception-policy .faq-question[aria-expanded="true"] .faq-chevron { transform:rotate(180deg); }
.pg-security-exception-policy .faq-answer { display:none; padding:0 20px 18px; font-size:0.9rem; color:var(--cmc-text-secondary); line-height:1.65; background:var(--cmc-surface-alt); border-top:1px solid var(--cmc-border); }
.pg-security-exception-policy .faq-answer.open { display:block; animation:slideDown 0.2s ease; }
@keyframes slideDown { from{opacity:0;transform:translateY(-6px)} to{opacity:1;transform:translateY(0)} }
.pg-security-exception-policy .faq-answer p { padding-top:14px; }
@media (max-width:900px) { .pg-security-exception-policy .header-nav { display:none; } .pg-security-exception-policy .hamburger { display:block; } .pg-security-exception-policy .preflight-grid { grid-template-columns:1fr; } .pg-security-exception-policy .process-strip { grid-template-columns:1fr; gap:16px; } .pg-security-exception-policy .process-arrow { transform:rotate(90deg); } .pg-security-exception-policy .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-security-index ──────────────────────────────────────────── */
:root {
  --red-urgent: #b91c1c;
  --red-urgent-bg: #fef2f2;
  --red-urgent-border: #fca5a5;
}

.pg-security-index .header-nav > li > a:hover, .pg-security-index .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-security-index .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-security-index .dropdown:hover .dropdown-menu, .pg-security-index .dropdown:focus-within .dropdown-menu { display: block; }
.pg-security-index .dropdown:hover .dropdown-wide, .pg-security-index .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-security-index .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-security-index .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-security-index.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding: 52px 0 48px; }
.pg-security-index .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-security-index .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-security-index .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-security-index .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-security-index .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-security-index .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-security-index .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-security-index .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-security-index .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-security-index .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-security-index .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-security-index .index-card.urgent { background: var(--red-urgent-bg); border-color: var(--red-urgent-border); border-width: 2px; }
.pg-security-index .index-card.urgent .card-icon { background: #fee2e2; }
.pg-security-index .index-card.urgent h3 { color: var(--red-urgent); }
.pg-security-index .index-card.urgent .card-link { color: var(--red-urgent); }
.pg-security-index .urgent-badge { display: inline-flex; align-items: center; gap: 5px; background: var(--red-urgent); color: #fff; font-family: 'Montserrat', sans-serif; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 3px 9px; border-radius: 9999px; margin-bottom: 12px; width: fit-content; }
.pg-security-index .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-security-index .header-nav { display: none; } .pg-security-index .hamburger { display: block; } .pg-security-index .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-security-index .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-security-index .card-grid { grid-template-columns: 1fr; } .pg-security-index .footer-grid { grid-template-columns: 1fr; } .pg-security-index .grid-section { padding: 48px 0; } }

/* ── pg-security-isp ──────────────────────────────────────────── */
/* ── Policy page hero layout ────────────────────────────── */
.pg-security-isp .page-hero-inner { display:flex; align-items:center; gap:24px; }
@media (max-width:640px) { .pg-security-isp .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-security-isp .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-security-isp .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-security-isp.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-security-isp .page-hero h1 { font-size:clamp(1.4rem,2.8vw,2.2rem); font-weight:800; color:#fff; line-height:1.2; margin-bottom:8px; }
.pg-security-isp .toc-list { list-style:none; padding:0; }
.pg-security-isp .toc-list li a { display:block; padding:7px 10px; font-size:0.83rem; color:var(--cmc-text-muted); border-left:2px solid var(--cmc-border); transition:all 0.18s; line-height:1.4; }
.pg-security-isp .toc-list li a:hover, .pg-security-isp .toc-list li a.active { border-left-color:var(--cmc-maroon); color:var(--cmc-maroon); background:var(--cmc-surface-alt); }
.pg-security-isp .policy-body blockquote { background:var(--cmc-surface); border-left:3px solid var(--cmc-maroon); padding:16px 20px; border-radius:0 8px 8px 0; margin:20px 0; font-style:italic; color:var(--cmc-text-secondary); font-size:0.9rem; }
.pg-security-isp .cia-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:16px 0 24px; }
.pg-security-isp .cia-card { border-radius:12px; padding:20px; border:1px solid var(--cmc-border); }
.pg-security-isp .cia-card.confidentiality { background:#f0f9ff; border-color:#bae6fd; }
.pg-security-isp .cia-card.integrity { background:#fefce8; border-color:#fde68a; }
.pg-security-isp .cia-card.availability { background:#f0fdf4; border-color:#bbf7d0; }
.pg-security-isp .cia-card h4 { font-size:0.88rem; font-weight:800; margin-bottom:8px; }
.pg-security-isp .cia-card.confidentiality h4 { color:#0369a1; }
.pg-security-isp .cia-card.integrity h4 { color:#92400e; }
.pg-security-isp .cia-card.availability h4 { color:#166534; }
.pg-security-isp .cia-card p { font-size:0.82rem; line-height:1.5; margin:0; color:var(--cmc-text-secondary); }
.pg-security-isp .compliance-badges { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.pg-security-isp .comp-badge { display:inline-flex; align-items:center; gap:6px; background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:9999px; padding:5px 14px; font-size:0.82rem; font-weight:600; color:var(--cmc-text-secondary); }
.pg-security-isp .comp-badge::before { content:'✓'; color:var(--cmc-maroon); font-weight:900; }
.pg-security-isp .action-btn-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; background:var(--cmc-surface-alt); }
@media (max-width:1100px) { .pg-security-isp .policy-wrap { grid-template-columns:1fr; } .pg-security-isp .toc-sidebar, .pg-security-isp .policy-sidebar { position:static; } .pg-security-isp .header-nav { display:none; } .pg-security-isp .hamburger { display:block; } .pg-security-isp .footer-grid { grid-template-columns:1fr 1fr; } .pg-security-isp .cia-grid { grid-template-columns:1fr; } }

/* ── pg-security-heoa-disclosure ──────────────────────────────────────────── */
.pg-security-heoa-disclosure .page-hero-inner { display:flex; align-items:center; gap:24px; }
@media (max-width:640px) { .pg-security-heoa-disclosure .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-security-heoa-disclosure .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-security-heoa-disclosure .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.94) 0%, rgba(116,0,28,0.90) 55%, rgba(26,39,68,0.88) 100%); position: relative; padding:44px 0; }
.pg-security-heoa-disclosure .page-hero h1 { font-size:clamp(1.4rem,2.8vw,2.2rem); font-weight:800; color:#fff; line-height:1.2; margin-bottom:8px; }
.pg-security-heoa-disclosure .toc-list { list-style:none; padding:0; }
.pg-security-heoa-disclosure .toc-list li a { display:block; padding:7px 10px; font-size:0.83rem; color:var(--cmc-text-muted); border-left:2px solid var(--cmc-border); transition:all 0.18s; line-height:1.4; }
.pg-security-heoa-disclosure .toc-list li a:hover, .pg-security-heoa-disclosure .toc-list li a.active { border-left-color:var(--cmc-maroon); color:var(--cmc-maroon); background:var(--cmc-surface-alt); }
.pg-security-heoa-disclosure .policy-body blockquote { background:var(--cmc-surface); border-left:3px solid var(--cmc-maroon); padding:16px 20px; border-radius:0 8px 8px 0; margin:20px 0; font-style:italic; color:var(--cmc-text-secondary); font-size:0.9rem; }
.pg-security-heoa-disclosure .action-btn-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; background:var(--cmc-surface-alt); }
@media (max-width:1100px) { .pg-security-heoa-disclosure .policy-wrap { grid-template-columns:1fr; } .pg-security-heoa-disclosure .toc-sidebar, .pg-security-heoa-disclosure .policy-sidebar { position:static; } .pg-security-heoa-disclosure .header-nav { display:none; } .pg-security-heoa-disclosure .hamburger { display:block; } .pg-security-heoa-disclosure .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-security-report-incident ──────────────────────────────────────────── */
.pg-security-report-incident .page-hero { background: linear-gradient(135deg, rgba(26,0,0,0.90) 0%, rgba(127,29,29,0.82) 45%, rgba(220,38,38,0.74) 100%), url('i/pg-security-report-incident.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; position:relative; overflow:hidden; }
.pg-security-report-incident .page-hero::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(45deg, transparent, transparent 40px, rgba(255,255,255,0.02) 40px, rgba(255,255,255,0.02) 80px); pointer-events:none; }
.pg-security-report-incident .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; }
.pg-security-report-incident .page-eyebrow { display:inline-block; background:rgba(255,255,255,0.2); color:#fff; font-family:'Montserrat',sans-serif; font-size:0.7rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; padding:4px 12px; border-radius:9999px; border:1px solid rgba(255,255,255,0.35); margin-bottom:14px; }
.pg-security-report-incident .page-hero h1 { font-size:clamp(1.8rem,4vw,3rem); font-weight:800; color:#fff; line-height:1.1; margin-bottom:16px; text-shadow:0 2px 16px rgba(0,0,0,0.4); }
.pg-security-report-incident .hero-desc { font-size:1.05rem; color:rgba(255,255,255,0.85); max-width:560px; line-height:1.65; margin-bottom:28px; }
.pg-security-report-incident .hero-phone-cta { display:inline-flex; align-items:center; gap:14px; background:#fff; border-radius:16px; padding:16px 28px; box-shadow:0 4px 24px rgba(0,0,0,0.3); text-decoration:none; transition:transform 0.15s,box-shadow 0.15s; }
.pg-security-report-incident .hero-phone-cta:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(0,0,0,0.35); }
.pg-security-report-incident .hero-phone-icon { width:48px; height:48px; border-radius:12px; background:#dc2626; display:flex; align-items:center; justify-content:center; font-size:1.4rem; flex-shrink:0; }
.pg-security-report-incident .hero-phone-text { text-align:left; }
.pg-security-report-incident .hero-phone-label { font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:#991b1b; margin-bottom:2px; }
.pg-security-report-incident .hero-phone-number { font-family:'Montserrat',sans-serif; font-size:1.5rem; font-weight:800; color:#1a1c1c; line-height:1; }
.pg-security-report-incident .container { max-width:900px; margin:0 auto; padding:0 24px; }
.pg-security-report-incident .scenarios-section { margin:40px 0; }
.pg-security-report-incident .scenarios-section h2 { font-size:1.1rem; font-weight:800; margin-bottom:16px; display:flex; align-items:center; gap:10px; }
.pg-security-report-incident .scenarios-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pg-security-report-incident .scenario-card { background:#fef2f2; border:1px solid #fecaca; border-left:4px solid #dc2626; border-radius:10px; padding:16px 18px; }
.pg-security-report-incident .scenario-card h4 { font-size:0.88rem; font-weight:700; color:#991b1b; margin-bottom:5px; display:flex; align-items:center; gap:8px; }
.pg-security-report-incident .scenario-card p { font-size:0.82rem; color:#7f1d1d; line-height:1.5; }
.pg-security-report-incident .report-methods { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:20px 0; }
.pg-security-report-incident .report-method { background:#fff; border:1px solid var(--cmc-border); border-radius:12px; padding:20px; }
.pg-security-report-incident .report-method.urgent { border-color:#fecaca; background:#fef2f2; }
.pg-security-report-incident .report-method h4 { font-size:0.88rem; font-weight:800; margin-bottom:10px; display:flex; align-items:center; gap:8px; }
.pg-security-report-incident .report-method.urgent h4 { color:#991b1b; }
.pg-security-report-incident .report-method ul { list-style:none; padding:0; }
.pg-security-report-incident .report-method ul li { font-size:0.85rem; color:var(--cmc-text-secondary); padding:5px 0 5px 16px; position:relative; line-height:1.45; }
.pg-security-report-incident .report-method ul li::before { content:'›'; position:absolute; left:0; top:5px; color:var(--cmc-maroon); font-weight:700; }
.pg-security-report-incident .report-method.urgent ul li { color:#7f1d1d; }
.pg-security-report-incident .report-method.urgent ul li::before { color:#dc2626; }
.pg-security-report-incident .process-strip { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:0; margin:40px 0; background:var(--cmc-surface-alt); border-radius:16px; padding:24px 32px; }
.pg-security-report-incident .process-step { text-align:center; }
.pg-security-report-incident .process-num { width:40px; height:40px; border-radius:50%; background:var(--cmc-maroon); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:0.95rem; font-weight:800; margin:0 auto 10px; }
.pg-security-report-incident .process-step h4 { font-size:0.82rem; font-weight:700; margin-bottom:3px; }
.pg-security-report-incident .process-step p { font-size:0.73rem; color:var(--cmc-text-muted); line-height:1.35; }
.pg-security-report-incident .process-arrow { font-size:1.4rem; color:var(--cmc-border); padding:0 4px; }
.pg-security-report-incident .include-list { display:flex; flex-direction:column; gap:8px; margin:16px 0; }
.pg-security-report-incident .include-item { display:flex; gap:12px; align-items:flex-start; background:var(--cmc-surface); border-radius:8px; padding:12px 16px; font-size:0.9rem; color:var(--cmc-text-secondary); }
.pg-security-report-incident .include-num { width:24px; height:24px; border-radius:50%; background:var(--cmc-maroon); color:#fff; font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.pg-security-report-incident .after-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:16px 0; }
.pg-security-report-incident .after-item { background:var(--cmc-surface); border-radius:8px; padding:14px 16px; font-size:0.88rem; color:var(--cmc-text-secondary); border-left:3px solid var(--cmc-maroon); }
.pg-security-report-incident .fs-section { margin:40px 0; }
.pg-security-report-incident .fs-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-md); }
.pg-security-report-incident .fs-header { background:linear-gradient(135deg, #7f1d1d, #dc2626); padding:24px 32px; }
.pg-security-report-incident .fs-header h2 { color:#fff; font-size:1.1rem; font-weight:700; margin-bottom:4px; }
.pg-security-report-incident .fs-header p { color:rgba(255,255,255,0.85); font-size:0.85rem; }
.pg-security-report-incident .fs-body { padding:32px; }
.pg-security-report-incident .faq-section { margin:48px 0; }
.pg-security-report-incident .faq-section h2 { font-size:1.2rem; font-weight:800; margin-bottom:20px; }
.pg-security-report-incident .faq-list { display:flex; flex-direction:column; gap:8px; }
.pg-security-report-incident .faq-item { border:1px solid var(--cmc-border); border-radius:10px; overflow:hidden; }
.pg-security-report-incident .faq-question { width:100%; background:#fff; border:none; padding:18px 20px; display:flex; justify-content:space-between; align-items:center; cursor:pointer; text-align:left; font-family:'Montserrat',sans-serif; font-size:0.9rem; font-weight:700; color:var(--cmc-text); transition:background 0.18s; }
.pg-security-report-incident .faq-question:hover { background:var(--cmc-surface); }
.pg-security-report-incident .faq-question[aria-expanded="true"] { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-security-report-incident .faq-chevron { font-size:0.75rem; transition:transform 0.25s; flex-shrink:0; }
.pg-security-report-incident .faq-question[aria-expanded="true"] .faq-chevron { transform:rotate(180deg); }
.pg-security-report-incident .faq-answer { display:none; padding:0 20px 18px; font-size:0.9rem; color:var(--cmc-text-secondary); line-height:1.65; background:var(--cmc-surface-alt); border-top:1px solid var(--cmc-border); }
.pg-security-report-incident .faq-answer.open { display:block; animation:slideDown 0.2s ease; }
@keyframes slideDown { from{opacity:0;transform:translateY(-6px)} to{opacity:1;transform:translateY(0)} }
.pg-security-report-incident .faq-answer p { padding-top:14px; }
.pg-security-report-incident .section-heading { font-size:1.1rem; font-weight:800; margin:40px 0 16px; display:flex; align-items:center; gap:10px; }
.pg-security-report-incident .section-heading::after { content:''; flex:1; height:2px; background:var(--cmc-border); }
@media (max-width:900px) { .pg-security-report-incident .header-nav { display:none; } .pg-security-report-incident .hamburger { display:block; } .pg-security-report-incident .scenarios-grid, .pg-security-report-incident .report-methods, .pg-security-report-incident .after-grid { grid-template-columns:1fr; } .pg-security-report-incident .process-strip { grid-template-columns:1fr; gap:16px; } .pg-security-report-incident .process-arrow { transform:rotate(90deg); } .pg-security-report-incident .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-security-rscp ──────────────────────────────────────────── */
/* ── Policy page hero layout ────────────────────────────── */
.pg-security-rscp .page-hero-inner { display:flex; align-items:center; gap:24px; }
@media (max-width:640px) { .pg-security-rscp .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-security-rscp .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-security-rscp .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-security-rscp.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-security-rscp .page-hero h1 { font-size:clamp(1.4rem,2.8vw,2.2rem); font-weight:800; color:#fff; line-height:1.2; margin-bottom:8px; }
.pg-security-rscp .toc-list { list-style:none; padding:0; }
.pg-security-rscp .toc-list li a { display:block; padding:7px 10px; font-size:0.83rem; color:var(--cmc-text-muted); border-left:2px solid var(--cmc-border); transition:all 0.18s; line-height:1.4; }
.pg-security-rscp .toc-list li a:hover, .pg-security-rscp .toc-list li a.active { border-left-color:var(--cmc-maroon); color:var(--cmc-maroon); background:var(--cmc-surface-alt); }
.pg-security-rscp .policy-body blockquote { background:var(--cmc-surface); border-left:3px solid var(--cmc-maroon); padding:16px 20px; border-radius:0 8px 8px 0; margin:20px 0; font-style:italic; color:var(--cmc-text-secondary); font-size:0.9rem; }
.pg-security-rscp .action-btn-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; }
.pg-security-rscp .action-btn-icon.red { background:#fef2f2; }
.pg-security-rscp .action-btn-icon.orange { background:#fff7ed; }
@media (max-width:1100px) { .pg-security-rscp .policy-wrap { grid-template-columns:1fr; } .pg-security-rscp .toc-sidebar, .pg-security-rscp .policy-sidebar { position:static; } .pg-security-rscp .header-nav { display:none; } .pg-security-rscp .hamburger { display:block; } .pg-security-rscp .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-services-academic-software ──────────────────────────────────────────── */
.pg-services-academic-software .header-nav > li > a:hover, .pg-services-academic-software .header-nav > li > a:focus, .pg-services-academic-software .header-nav > li > a.active { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-services-academic-software .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-services-academic-software.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-services-academic-software .content-wrap { max-width:1280px; margin:0 auto; padding:48px 24px; display:grid; grid-template-columns:1fr 340px; gap:48px; align-items:start; }
.pg-services-academic-software .overview-body h3 { font-size:1rem; font-weight:700; margin:20px 0 8px; color:var(--cmc-text); }
.pg-services-academic-software .overview-body ol { padding-left:20px; }
.pg-services-academic-software .overview-body ol li { padding:6px 0; font-size:0.92rem; }
.pg-services-academic-software .software-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin:16px 0 28px; }
.pg-services-academic-software .software-card { background:#fff; border:1px solid var(--cmc-border); border-radius:12px; padding:18px 20px; box-shadow:var(--shadow-sm); transition:box-shadow 0.2s, transform 0.2s; }
.pg-services-academic-software .software-card:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); }
.pg-services-academic-software .software-card-icon { font-size:1.8rem; margin-bottom:10px; }
.pg-services-academic-software .software-card-name { font-family:'Montserrat',sans-serif; font-size:0.9rem; font-weight:700; color:var(--cmc-text); margin-bottom:4px; }
.pg-services-academic-software .software-card-category { font-size:0.72rem; font-weight:600; text-transform:uppercase; letter-spacing:0.08em; color:var(--cmc-maroon); margin-bottom:8px; }
.pg-services-academic-software .software-card-desc { font-size:0.82rem; color:var(--cmc-text-secondary); }
.pg-services-academic-software .eligibility-badge { display:inline-flex; align-items:center; gap:4px; font-size:0.72rem; font-weight:600; padding:2px 8px; border-radius:9999px; margin-top:8px; }
.pg-services-academic-software .badge-all { background:#f0fdf4; color:#15803d; border:1px solid #86efac; }
.pg-services-academic-software .badge-limited { background:#fff8e1; color:#92400e; border:1px solid #fcd34d; }
.pg-services-academic-software .alert-policy { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-left:4px solid var(--cmc-maroon); border-radius:8px; padding:14px 18px; margin-bottom:24px; font-size:0.88rem; color:var(--cmc-text-secondary); }
.pg-services-academic-software .fs-widget-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-md); margin-bottom:36px; }
.pg-services-academic-software .fs-widget-header { background:linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); padding:20px 24px; }
.pg-services-academic-software .fs-widget-header h3 { color:#fff; font-size:1rem; font-weight:700; margin-bottom:4px; }
.pg-services-academic-software .fs-widget-header p { color:rgba(255,255,255,0.8); font-size:0.83rem; }
@media (max-width:960px) { .pg-services-academic-software .content-wrap { grid-template-columns:1fr; } .pg-services-academic-software .sidebar { position:static; } .pg-services-academic-software .header-nav { display:none; } .pg-services-academic-software .hamburger { display:block; } .pg-services-academic-software .footer-grid { grid-template-columns:1fr 1fr; } .pg-services-academic-software .details-grid { grid-template-columns:1fr; } .pg-services-academic-software .detail-item { border-right:none !important; } .pg-services-academic-software .software-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-services-academic-software .footer-grid { grid-template-columns:1fr; } .pg-services-academic-software .software-grid { grid-template-columns:1fr; } }

/* ── pg-services-av-support ──────────────────────────────────────────── */
.pg-services-av-support .header-nav > li > a:hover, .pg-services-av-support .header-nav > li > a:focus, .pg-services-av-support .header-nav > li > a.active { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-services-av-support .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-services-av-support.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-services-av-support .content-wrap { max-width:1280px; margin:0 auto; padding:48px 24px; display:grid; grid-template-columns:1fr 340px; gap:48px; align-items:start; }
.pg-services-av-support .overview-body ol { padding-left:20px; }
.pg-services-av-support .overview-body ol li { padding:6px 0; font-size:0.92rem; }
.pg-services-av-support .alert-deadline { background:var(--cmc-surface-alt); border:2px solid var(--cmc-maroon); border-radius:12px; padding:20px 24px; margin-bottom:28px; display:flex; align-items:flex-start; gap:16px; }
.pg-services-av-support .alert-deadline-icon { font-size:2rem; flex-shrink:0; line-height:1; }
.pg-services-av-support .alert-deadline h3 { font-family:'Montserrat',sans-serif; font-size:1rem; font-weight:800; color:var(--cmc-maroon); margin-bottom:4px; }
.pg-services-av-support .alert-deadline p { font-size:0.88rem; color:var(--cmc-text-secondary); margin:0; }
.pg-services-av-support .timeline { margin:16px 0 24px; }
.pg-services-av-support .timeline-step { display:flex; gap:16px; padding:12px 0; border-bottom:1px solid var(--cmc-border); }
.pg-services-av-support .timeline-step:last-child { border-bottom:none; }
.pg-services-av-support .timeline-num { width:28px; height:28px; border-radius:50%; background:var(--cmc-maroon); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; flex-shrink:0; margin-top:2px; }
.pg-services-av-support .timeline-content strong { font-family:'Montserrat',sans-serif; font-size:0.88rem; font-weight:700; color:var(--cmc-text); display:block; margin-bottom:2px; }
.pg-services-av-support .timeline-content span { font-size:0.85rem; color:var(--cmc-text-secondary); }
.pg-services-av-support .fs-widget-card { background:#fff; border:2px solid var(--cmc-maroon); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-lg); margin-bottom:36px; }
.pg-services-av-support .fs-widget-header { background:linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); padding:24px 28px; }
.pg-services-av-support .fs-widget-header h3 { color:#fff; font-size:1.1rem; font-weight:700; margin-bottom:6px; }
.pg-services-av-support .fs-widget-header p { color:rgba(255,255,255,0.85); font-size:0.88rem; }
@media (max-width:960px) { .pg-services-av-support .content-wrap { grid-template-columns:1fr; } .pg-services-av-support .sidebar { position:static; } .pg-services-av-support .header-nav { display:none; } .pg-services-av-support .hamburger { display:block; } .pg-services-av-support .footer-grid { grid-template-columns:1fr 1fr; } .pg-services-av-support .details-grid { grid-template-columns:1fr; } .pg-services-av-support .detail-item { border-right:none !important; } }

/* ── pg-services-help-desk ──────────────────────────────────────────── */
.pg-services-help-desk .header-nav > li > a:hover, .pg-services-help-desk .header-nav > li > a:focus, .pg-services-help-desk .header-nav > li > a.active { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-services-help-desk .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-services-help-desk.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-services-help-desk .content-wrap { max-width:1280px; margin:0 auto; padding:48px 24px; display:grid; grid-template-columns:1fr 340px; gap:48px; align-items:start; }
.pg-services-help-desk .overview-body table { width:100%; border-collapse:collapse; font-size:0.88rem; margin:16px 0; }
.pg-services-help-desk .overview-body th { background:var(--cmc-maroon); color:#fff; padding:10px 14px; text-align:left; font-family:'Montserrat',sans-serif; font-size:0.75rem; letter-spacing:0.06em; }
.pg-services-help-desk .overview-body td { padding:10px 14px; border-bottom:1px solid var(--cmc-border); }
.pg-services-help-desk .overview-body tr:nth-child(even) td { background:var(--cmc-surface); }
.pg-services-help-desk .fs-widget-card { background:#fff; border:2px solid var(--cmc-maroon); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-lg); margin-bottom:36px; }
.pg-services-help-desk .fs-widget-header { background:linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); padding:24px 28px; }
.pg-services-help-desk .fs-widget-header h3 { color:#fff; font-size:1.2rem; font-weight:700; margin-bottom:6px; }
.pg-services-help-desk .fs-widget-header p { color:rgba(255,255,255,0.85); font-size:0.88rem; }
.pg-services-help-desk .btn { display:inline-flex; align-items:center; gap:6px; padding:9px 20px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.8rem; font-weight:700; cursor:pointer; transition:background 0.18s,transform 0.15s; text-decoration:none; border:none; }
.pg-services-help-desk .btn-full { width:100%; justify-content:center; }
.pg-services-help-desk .alert-info { background:#f0f7ff; border:1px solid #b3d4f5; border-left:4px solid #3b82f6; border-radius:8px; padding:14px 18px; margin-bottom:24px; font-size:0.88rem; color:#1e40af; }
@media (max-width:960px) { .pg-services-help-desk .content-wrap { grid-template-columns:1fr; } .pg-services-help-desk .sidebar { position:static; } .pg-services-help-desk .header-nav { display:none; } .pg-services-help-desk .hamburger { display:block; } .pg-services-help-desk .footer-grid { grid-template-columns:1fr 1fr; } .pg-services-help-desk .details-grid { grid-template-columns:1fr; } .pg-services-help-desk .detail-item { border-right:none !important; } }

/* ── pg-services-index ──────────────────────────────────────────── */
.pg-services-index .header-nav > li > a:hover, .pg-services-index .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-services-index .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-services-index .dropdown:hover .dropdown-menu, .pg-services-index .dropdown:focus-within .dropdown-menu { display: block; }
.pg-services-index .dropdown:hover .dropdown-wide, .pg-services-index .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-services-index .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-services-index .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-services-index.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding: 52px 0 48px; }
.pg-services-index .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-services-index .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-services-index .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-services-index .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-services-index .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-services-index .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-services-index .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-services-index .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-services-index .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-services-index .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-services-index .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-services-index .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-services-index .header-nav { display: none; } .pg-services-index .hamburger { display: block; } .pg-services-index .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-services-index .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-services-index .card-grid { grid-template-columns: 1fr; } .pg-services-index .footer-grid { grid-template-columns: 1fr; } .pg-services-index .grid-section { padding: 48px 0; } }

/* ── pg-services-laptop-fleet ──────────────────────────────────────────── */
.pg-services-laptop-fleet .header-nav > li > a:hover, .pg-services-laptop-fleet .header-nav > li > a:focus, .pg-services-laptop-fleet .header-nav > li > a.active { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-services-laptop-fleet .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-services-laptop-fleet.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-services-laptop-fleet .content-wrap { max-width:1280px; margin:0 auto; padding:48px 24px; display:grid; grid-template-columns:1fr 340px; gap:48px; align-items:start; }
.pg-services-laptop-fleet .overview-body h3 { font-size:1rem; font-weight:700; margin:20px 0 8px; color:var(--cmc-text); }
.pg-services-laptop-fleet .overview-body ol { padding-left:20px; }
.pg-services-laptop-fleet .overview-body ol li { padding:6px 0; font-size:0.92rem; }
.pg-services-laptop-fleet .alert-warning { background:#fff8e1; border:1px solid #ffe082; border-left:4px solid #f59e0b; border-radius:8px; padding:14px 18px; margin-bottom:24px; font-size:0.88rem; color:#78350f; }
.pg-services-laptop-fleet .fs-widget-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-md); margin-bottom:36px; }
.pg-services-laptop-fleet .fs-widget-header { background:linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); padding:20px 24px; }
.pg-services-laptop-fleet .fs-widget-header h3 { color:#fff; font-size:1rem; font-weight:700; margin-bottom:4px; }
.pg-services-laptop-fleet .fs-widget-header p { color:rgba(255,255,255,0.8); font-size:0.83rem; }
.pg-services-laptop-fleet .btn { display:inline-flex; align-items:center; gap:6px; padding:9px 20px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.8rem; font-weight:700; cursor:pointer; transition:background 0.18s,transform 0.15s; text-decoration:none; border:none; }
.pg-services-laptop-fleet .btn-full { width:100%; justify-content:center; }
@media (max-width:960px) { .pg-services-laptop-fleet .content-wrap { grid-template-columns:1fr; } .pg-services-laptop-fleet .sidebar { position:static; } .pg-services-laptop-fleet .header-nav { display:none; } .pg-services-laptop-fleet .hamburger { display:block; } .pg-services-laptop-fleet .footer-grid { grid-template-columns:1fr 1fr; } .pg-services-laptop-fleet .details-grid { grid-template-columns:1fr; } .pg-services-laptop-fleet .detail-item { border-right:none !important; } }

/* ── pg-services-mdm ──────────────────────────────────────────── */
.pg-services-mdm .header-nav > li > a:hover, .pg-services-mdm .header-nav > li > a:focus, .pg-services-mdm .header-nav > li > a.active { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-services-mdm .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-services-mdm.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-services-mdm .content-wrap { max-width:1280px; margin:0 auto; padding:48px 24px; display:grid; grid-template-columns:1fr 340px; gap:48px; align-items:start; }
.pg-services-mdm .overview-body h3 { font-size:1rem; font-weight:700; margin:20px 0 8px; color:var(--cmc-text); }
.pg-services-mdm .alert-danger { background:#fff0f0; border:1px solid #fca5a5; border-left:4px solid #dc2626; border-radius:8px; padding:14px 18px; margin-bottom:24px; font-size:0.88rem; color:#7f1d1d; }
.pg-services-mdm .compare-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:16px 0 24px; }
.pg-services-mdm .compare-card { border-radius:10px; padding:16px 20px; }
.pg-services-mdm .compare-card.manages { background:#f0fdf4; border:1px solid #86efac; }
.pg-services-mdm .compare-card.doesnt { background:#fef2f2; border:1px solid #fca5a5; }
.pg-services-mdm .compare-card h4 { font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:12px; }
.pg-services-mdm .compare-card.manages h4 { color:#15803d; }
.pg-services-mdm .compare-card.doesnt h4 { color:#dc2626; }
.pg-services-mdm .compare-card ul { list-style:none; padding:0; }
.pg-services-mdm .compare-card ul li { padding:5px 0 5px 22px; position:relative; font-size:0.85rem; color:var(--cmc-text-secondary); }
.pg-services-mdm .compare-card.manages ul li::before { content:'✓'; position:absolute; left:0; color:#15803d; font-weight:700; }
.pg-services-mdm .compare-card.doesnt ul li::before { content:'✗'; position:absolute; left:0; color:#dc2626; font-weight:700; }
.pg-services-mdm .fs-widget-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-md); margin-bottom:36px; }
.pg-services-mdm .fs-widget-header { background:linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); padding:20px 24px; }
.pg-services-mdm .fs-widget-header h3 { color:#fff; font-size:1rem; font-weight:700; margin-bottom:4px; }
.pg-services-mdm .fs-widget-header p { color:rgba(255,255,255,0.8); font-size:0.83rem; }
@media (max-width:960px) { .pg-services-mdm .content-wrap { grid-template-columns:1fr; } .pg-services-mdm .sidebar { position:static; } .pg-services-mdm .header-nav { display:none; } .pg-services-mdm .hamburger { display:block; } .pg-services-mdm .footer-grid { grid-template-columns:1fr 1fr; } .pg-services-mdm .details-grid { grid-template-columns:1fr; } .pg-services-mdm .detail-item { border-right:none !important; } .pg-services-mdm .compare-grid { grid-template-columns:1fr; } }

/* ── pg-services-printing ──────────────────────────────────────────── */
.pg-services-printing .header-nav > li > a:hover, .pg-services-printing .header-nav > li > a:focus, .pg-services-printing .header-nav > li > a.active { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-services-printing .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-services-printing.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-services-printing .content-wrap { max-width:1280px; margin:0 auto; padding:48px 24px; display:grid; grid-template-columns:1fr 340px; gap:48px; align-items:start; }
.pg-services-printing .overview-body h3 { font-size:1rem; font-weight:700; margin:20px 0 8px; color:var(--cmc-text); }
.pg-services-printing .overview-body ol { padding-left:20px; }
.pg-services-printing .overview-body ol li { padding:6px 0; font-size:0.92rem; }
.pg-services-printing .location-cards { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:16px 0 24px; }
.pg-services-printing .location-card { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:10px; padding:16px 20px; }
.pg-services-printing .location-card h4 { font-family:'Montserrat',sans-serif; font-size:0.82rem; font-weight:700; color:var(--cmc-maroon); margin-bottom:6px; }
.pg-services-printing .location-card p { font-size:0.85rem; color:var(--cmc-text-secondary); margin:0; }
.pg-services-printing .fs-widget-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-md); margin-bottom:36px; }
.pg-services-printing .fs-widget-header { background:linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); padding:20px 24px; }
.pg-services-printing .fs-widget-header h3 { color:#fff; font-size:1rem; font-weight:700; margin-bottom:4px; }
.pg-services-printing .fs-widget-header p { color:rgba(255,255,255,0.8); font-size:0.83rem; }
.pg-services-printing .btn { display:inline-flex; align-items:center; gap:6px; padding:9px 20px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.8rem; font-weight:700; cursor:pointer; transition:background 0.18s,transform 0.15s; text-decoration:none; border:none; }
.pg-services-printing .btn-full { width:100%; justify-content:center; }
@media (max-width:960px) { .pg-services-printing .content-wrap { grid-template-columns:1fr; } .pg-services-printing .sidebar { position:static; } .pg-services-printing .header-nav { display:none; } .pg-services-printing .hamburger { display:block; } .pg-services-printing .footer-grid { grid-template-columns:1fr 1fr; } .pg-services-printing .details-grid { grid-template-columns:1fr; } .pg-services-printing .detail-item { border-right:none !important; } .pg-services-printing .location-cards { grid-template-columns:1fr; } }

/* ── pg-services-smart-classrooms ──────────────────────────────────────────── */
.pg-services-smart-classrooms .header-nav > li > a:hover, .pg-services-smart-classrooms .header-nav > li > a:focus, .pg-services-smart-classrooms .header-nav > li > a.active { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-services-smart-classrooms .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-services-smart-classrooms.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-services-smart-classrooms .content-wrap { max-width:1280px; margin:0 auto; padding:48px 24px; display:grid; grid-template-columns:1fr 340px; gap:48px; align-items:start; }
.pg-services-smart-classrooms .overview-body h3 { font-size:1rem; font-weight:700; margin:20px 0 8px; color:var(--cmc-text); }
.pg-services-smart-classrooms .overview-body ol { padding-left:20px; }
.pg-services-smart-classrooms .overview-body ol li { padding:6px 0; font-size:0.92rem; }
.pg-services-smart-classrooms .tech-cards { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:16px 0 24px; }
.pg-services-smart-classrooms .tech-card { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:10px; padding:16px 20px; }
.pg-services-smart-classrooms .tech-card h4 { font-family:'Montserrat',sans-serif; font-size:0.85rem; font-weight:700; color:var(--cmc-text); margin-bottom:6px; display:flex; align-items:center; gap:8px; }
.pg-services-smart-classrooms .tech-card p { font-size:0.85rem; color:var(--cmc-text-secondary); margin:0; }
.pg-services-smart-classrooms .tip-box { background:#f0fdf4; border:1px solid #86efac; border-left:4px solid #16a34a; border-radius:8px; padding:14px 18px; margin:20px 0; font-size:0.88rem; color:#14532d; }
.pg-services-smart-classrooms .tip-box strong { display:block; margin-bottom:4px; }
.pg-services-smart-classrooms .fs-widget-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-md); margin-bottom:36px; }
.pg-services-smart-classrooms .fs-widget-header { background:linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); padding:20px 24px; }
.pg-services-smart-classrooms .fs-widget-header h3 { color:#fff; font-size:1rem; font-weight:700; margin-bottom:4px; }
.pg-services-smart-classrooms .fs-widget-header p { color:rgba(255,255,255,0.8); font-size:0.83rem; }
@media (max-width:960px) { .pg-services-smart-classrooms .content-wrap { grid-template-columns:1fr; } .pg-services-smart-classrooms .sidebar { position:static; } .pg-services-smart-classrooms .header-nav { display:none; } .pg-services-smart-classrooms .hamburger { display:block; } .pg-services-smart-classrooms .footer-grid { grid-template-columns:1fr 1fr; } .pg-services-smart-classrooms .details-grid { grid-template-columns:1fr; } .pg-services-smart-classrooms .detail-item { border-right:none !important; } .pg-services-smart-classrooms .tech-cards { grid-template-columns:1fr; } }

/* ── pg-services-sts ──────────────────────────────────────────── */
.pg-services-sts .header-nav > li > a:hover, .pg-services-sts .header-nav > li > a:focus, .pg-services-sts .header-nav > li > a.active { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-services-sts .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-services-sts.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-services-sts .sts-highlights-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 20px 0 36px; }
@media (max-width: 640px) { .pg-services-sts .sts-highlights-grid { grid-template-columns: 1fr; } }
.pg-services-sts .content-wrap { max-width:1280px; margin:0 auto; padding:48px 24px; display:grid; grid-template-columns:1fr 340px; gap:48px; align-items:start; }
.pg-services-sts .hours-table { width:100%; border-collapse:collapse; font-size:0.88rem; margin:16px 0 24px; border-radius:10px; overflow:hidden; }
.pg-services-sts .hours-table th { background:var(--cmc-maroon); color:#fff; padding:10px 16px; text-align:left; font-family:'Montserrat',sans-serif; font-size:0.75rem; letter-spacing:0.06em; }
.pg-services-sts .hours-table td { padding:10px 16px; border-bottom:1px solid var(--cmc-border); }
.pg-services-sts .hours-table tr:nth-child(even) td { background:var(--cmc-surface); }
.pg-services-sts .hours-table tr:last-child td { border-bottom:none; }
.pg-services-sts .cta-banner { background:var(--cmc-surface-alt); border:1px solid var(--cmc-border); border-left:4px solid var(--cmc-maroon); border-radius:8px; padding:16px 20px; margin-top:28px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.pg-services-sts .cta-banner p { font-size:0.92rem; color:var(--cmc-text); font-weight:600; flex:1; }
.pg-services-sts .cta-banner a { color:var(--cmc-maroon); }
.pg-services-sts .fs-widget-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-md); margin-bottom:36px; }
.pg-services-sts .fs-widget-header { background:linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); padding:20px 24px; }
.pg-services-sts .fs-widget-header h3 { color:#fff; font-size:1rem; font-weight:700; margin-bottom:4px; }
.pg-services-sts .fs-widget-header p { color:rgba(255,255,255,0.8); font-size:0.83rem; }
@media (max-width:960px) { .pg-services-sts .content-wrap { grid-template-columns:1fr; } .pg-services-sts .sidebar { position:static; } .pg-services-sts .header-nav { display:none; } .pg-services-sts .hamburger { display:block; } .pg-services-sts .footer-grid { grid-template-columns:1fr 1fr; } .pg-services-sts .details-grid { grid-template-columns:1fr; } .pg-services-sts .detail-item { border-right:none !important; } }

/* ── pg-solutions-ai-box-ai ──────────────────────────────────────────── */
:root {
  --box: #0061d5;
  --box-dark: #0050b3;
}

.pg-solutions-ai-box-ai .page-hero { background: linear-gradient(135deg, rgba(0,51,128,0.88) 0%, rgba(0,97,213,0.80) 55%, rgba(26,127,232,0.74) 100%), url('i/pg-solutions-ai-box-ai.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }
.pg-solutions-ai-box-ai .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; margin-bottom:12px; }
.pg-solutions-ai-box-ai .hero-desc { font-size:1rem; color:rgba(255,255,255,0.88); max-width:600px; line-height:1.65; }
.pg-solutions-ai-box-ai .section-block h2 { font-size:1.25rem; font-weight:800; color:var(--cmc-text); border-left:4px solid var(--box); padding-left:14px; margin-bottom:16px; }
.pg-solutions-ai-box-ai .query-examples { background:var(--cmc-surface); border-radius:12px; padding:20px 24px; margin:16px 0; }
.pg-solutions-ai-box-ai .query-examples h3 { font-size:0.88rem; font-weight:700; color:var(--cmc-text-muted); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:14px; }
.pg-solutions-ai-box-ai .query-item { background:#fff; border:1px solid var(--cmc-border); border-radius:8px; padding:10px 14px; margin-bottom:8px; font-size:0.88rem; color:var(--cmc-text-secondary); font-style:italic; display:flex; align-items:center; gap:10px; }
.pg-solutions-ai-box-ai .query-item:last-child { margin-bottom:0; }
.pg-solutions-ai-box-ai .query-item::before { content:'?'; display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:var(--box); color:#fff; font-size:0.72rem; font-weight:800; font-style:normal; flex-shrink:0; font-family:'Montserrat',sans-serif; }
.pg-solutions-ai-box-ai .tab-btn:hover { color:var(--box); }
.pg-solutions-ai-box-ai .tab-btn.active { color:var(--box); border-bottom-color:var(--box); }
.pg-solutions-ai-box-ai .use-case-list li::before { content:'✦'; position:absolute; left:0; color:var(--box); font-size:0.7rem; top:13px; }
.pg-solutions-ai-box-ai .gs-num { width:36px; height:36px; border-radius:50%; background:var(--box); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:0.9rem; font-weight:800; flex-shrink:0; }
.pg-solutions-ai-box-ai .protection-list { list-style:none; padding:0; display:flex; flex-direction:column; gap:10px; }
.pg-solutions-ai-box-ai .protection-item { padding:12px 16px; background:#e8f0fe; border-radius:10px; border-left:3px solid var(--box); }
.pg-solutions-ai-box-ai .protection-item h4 { font-size:0.88rem; font-weight:700; color:#003380; margin-bottom:2px; }
.pg-solutions-ai-box-ai .protection-item p { font-size:0.82rem; color:#1e40af; line-height:1.5; }
.pg-solutions-ai-box-ai .solution-cta { background:linear-gradient(135deg, #e8f0fe, #fff); border:1px solid #bfdbfe; border-radius:16px; padding:32px; text-align:center; margin-top:40px; }
.pg-solutions-ai-box-ai .btn-box { background:var(--box); color:#fff; }
.pg-solutions-ai-box-ai .btn-box:hover { background:var(--box-dark); transform:translateY(-1px); }
.pg-solutions-ai-box-ai .nl-header h4 { font-family:'Montserrat',sans-serif; font-size:1.1rem; font-weight:900; margin-bottom:2px; }
.pg-solutions-ai-box-ai .nl-label { font-size:0.82rem; font-weight:600; }

/* ── pg-solutions-ai-claude ──────────────────────────────────────────── */
:root {
  --claude: #d97706;
  --claude-dark: #b45309;
}

.pg-solutions-ai-claude .page-hero { background: linear-gradient(135deg, rgba(120,53,15,0.88) 0%, rgba(217,119,6,0.80) 55%, rgba(245,158,11,0.74) 100%), url('i/pg-solutions-ai-claude.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }
.pg-solutions-ai-claude .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; margin-bottom:12px; }
.pg-solutions-ai-claude .hero-desc { font-size:1rem; color:rgba(255,255,255,0.9); max-width:600px; line-height:1.65; }
.pg-solutions-ai-claude .section-block h2 { font-size:1.25rem; font-weight:800; color:var(--cmc-text); border-left:4px solid var(--claude); padding-left:14px; margin-bottom:16px; }
.pg-solutions-ai-claude .access-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
.pg-solutions-ai-claude .access-card { border-radius:12px; padding:20px; border:2px solid; }
.pg-solutions-ai-claude .access-card.primary { border-color:var(--claude); background:#fffbeb; }
.pg-solutions-ai-claude .access-card.secondary { border-color:var(--cmc-border); background:var(--cmc-surface); }
.pg-solutions-ai-claude .access-card h3 { font-size:0.9rem; font-weight:800; margin-bottom:8px; }
.pg-solutions-ai-claude .access-card.primary h3 { color:#92400e; }
.pg-solutions-ai-claude .access-card .access-badge { display:inline-block; padding:2px 8px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; margin-bottom:10px; }
.pg-solutions-ai-claude .access-card.primary .access-badge { background:var(--claude); color:#fff; }
.pg-solutions-ai-claude .access-card.secondary .access-badge { background:var(--cmc-text-muted); color:#fff; }
.pg-solutions-ai-claude .access-card ol { padding-left:18px; }
.pg-solutions-ai-claude .access-card ol li { font-size:0.85rem; color:var(--cmc-text-secondary); padding:4px 0; line-height:1.5; }
.pg-solutions-ai-claude .tab-btn:hover { color:var(--claude); }
.pg-solutions-ai-claude .tab-btn.active { color:var(--claude); border-bottom-color:var(--claude); }
.pg-solutions-ai-claude .use-case-list li::before { content:'✦'; position:absolute; left:0; color:var(--claude); font-size:0.7rem; top:13px; }
.pg-solutions-ai-claude .capability-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:16px; }
.pg-solutions-ai-claude .capability-item { background:var(--cmc-surface); border-radius:10px; padding:16px; border-left:3px solid var(--claude); }
.pg-solutions-ai-claude .capability-item h4 { font-size:0.88rem; font-weight:700; margin-bottom:4px; color:var(--cmc-text); }
.pg-solutions-ai-claude .capability-item p { font-size:0.82rem; color:var(--cmc-text-muted); line-height:1.5; }
.pg-solutions-ai-claude .protection-list { list-style:none; padding:0; display:flex; flex-direction:column; gap:10px; }
.pg-solutions-ai-claude .protection-item { display:flex; align-items:flex-start; gap:12px; padding:12px 16px; background:#fffbeb; border-radius:10px; border-left:3px solid var(--claude); }
.pg-solutions-ai-claude .protection-item h4 { font-size:0.88rem; font-weight:700; color:#92400e; margin-bottom:2px; }
.pg-solutions-ai-claude .protection-item p { font-size:0.82rem; color:#78350f; line-height:1.5; }
.pg-solutions-ai-claude .solution-cta { background:linear-gradient(135deg, #fffbeb, #fff); border:1px solid #fde68a; border-radius:16px; padding:32px; text-align:center; margin-top:40px; }
.pg-solutions-ai-claude .btn-claude { background:var(--claude); color:#fff; }
.pg-solutions-ai-claude .btn-claude:hover { background:var(--claude-dark); transform:translateY(-1px); }
.pg-solutions-ai-claude .nl-header h4 { font-family:'Montserrat',sans-serif; font-size:1.1rem; font-weight:900; margin-bottom:2px; }
.pg-solutions-ai-claude .nl-label { font-size:0.82rem; font-weight:600; }
@media (max-width:960px) { .pg-solutions-ai-claude .content-wrap { grid-template-columns:1fr; } .pg-solutions-ai-claude .sidebar { position:static; } .pg-solutions-ai-claude .header-nav { display:none; } .pg-solutions-ai-claude .hamburger { display:block; } .pg-solutions-ai-claude .access-grid { grid-template-columns:1fr; } .pg-solutions-ai-claude .capability-grid { grid-template-columns:1fr; } .pg-solutions-ai-claude .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-solutions-ai-copilot ──────────────────────────────────────────── */
:root {
  --copilot: #0078d4;
  --copilot-dark: #005a9e;
}

.pg-solutions-ai-copilot .page-hero { background: linear-gradient(135deg, rgba(0,63,127,0.88) 0%, rgba(0,120,212,0.80) 55%, rgba(119,25,170,0.74) 100%), url('i/pg-solutions-ai-copilot.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }
.pg-solutions-ai-copilot .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; margin-bottom:12px; }
.pg-solutions-ai-copilot .hero-desc { font-size:1rem; color:rgba(255,255,255,0.85); max-width:600px; line-height:1.65; }
.pg-solutions-ai-copilot .section-block h2 { font-size:1.25rem; font-weight:800; color:var(--cmc-text); border-left:4px solid var(--copilot); padding-left:14px; margin-bottom:16px; }
.pg-solutions-ai-copilot .tab-btn:hover { color:var(--copilot); }
.pg-solutions-ai-copilot .tab-btn.active { color:var(--copilot); border-bottom-color:var(--copilot); }
.pg-solutions-ai-copilot .use-case-list li::before { content:'✦'; position:absolute; left:0; color:var(--copilot); font-size:0.7rem; top:13px; }
.pg-solutions-ai-copilot .highlight-box { background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:20px 24px; margin:16px 0; }
.pg-solutions-ai-copilot .highlight-box h3 { font-size:0.95rem; font-weight:700; color:#1e40af; margin-bottom:8px; }
.pg-solutions-ai-copilot .highlight-box p { font-size:0.88rem; color:#1e3a8a; line-height:1.6; margin:0; }
.pg-solutions-ai-copilot .gs-num { width:36px; height:36px; border-radius:50%; background:var(--copilot); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:0.9rem; font-weight:800; flex-shrink:0; }
.pg-solutions-ai-copilot .protection-list { list-style:none; padding:0; display:flex; flex-direction:column; gap:10px; }
.pg-solutions-ai-copilot .protection-item { display:flex; align-items:flex-start; gap:12px; padding:12px 16px; background:#eff6ff; border-radius:10px; border-left:3px solid var(--copilot); }
.pg-solutions-ai-copilot .protection-item h4 { font-size:0.88rem; font-weight:700; color:#1e40af; margin-bottom:2px; }
.pg-solutions-ai-copilot .protection-item p { font-size:0.82rem; color:#1e3a8a; line-height:1.5; }
.pg-solutions-ai-copilot .solution-cta { background:linear-gradient(135deg, #eff6ff, #fff); border:1px solid #bfdbfe; border-radius:16px; padding:32px; text-align:center; margin-top:40px; }
.pg-solutions-ai-copilot .btn-copilot { background:var(--copilot); color:#fff; }
.pg-solutions-ai-copilot .btn-copilot:hover { background:var(--copilot-dark); transform:translateY(-1px); }
.pg-solutions-ai-copilot .nl-header h4 { font-family:'Montserrat',sans-serif; font-size:1.1rem; font-weight:900; margin-bottom:2px; }
.pg-solutions-ai-copilot .nl-label { font-size:0.82rem; font-weight:600; }

/* ── pg-solutions-ai-gemini ──────────────────────────────────────────── */
.pg-solutions-ai-gemini .page-hero { background: linear-gradient(135deg, rgba(26,60,110,0.88) 0%, rgba(21,87,176,0.80) 55%, rgba(52,168,83,0.74) 100%), url('i/pg-solutions-ai-gemini.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }
.pg-solutions-ai-gemini .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; margin-bottom:12px; }
.pg-solutions-ai-gemini .hero-desc { font-size:1rem; color:rgba(255,255,255,0.85); max-width:600px; line-height:1.65; }
.pg-solutions-ai-gemini .section-block h2 { font-size:1.25rem; font-weight:800; color:var(--cmc-text); border-left:4px solid #4285f4; padding-left:14px; margin-bottom:16px; }
.pg-solutions-ai-gemini .tab-btn:hover { color:#4285f4; }
.pg-solutions-ai-gemini .tab-btn.active { color:#4285f4; border-bottom-color:#4285f4; }
.pg-solutions-ai-gemini .use-case-list li::before { content:'✦'; position:absolute; left:0; color:#4285f4; font-size:0.7rem; top:13px; }
.pg-solutions-ai-gemini .gs-num { width:36px; height:36px; border-radius:50%; background:#4285f4; color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:0.9rem; font-weight:800; flex-shrink:0; }
.pg-solutions-ai-gemini .protection-list { list-style:none; padding:0; display:flex; flex-direction:column; gap:10px; }
.pg-solutions-ai-gemini .protection-item { display:flex; align-items:flex-start; gap:12px; padding:12px 16px; background:#e8f0fe; border-radius:10px; border-left:3px solid #4285f4; }
.pg-solutions-ai-gemini .protection-item h4 { font-size:0.88rem; font-weight:700; color:#1a3c6e; margin-bottom:2px; }
.pg-solutions-ai-gemini .protection-item p { font-size:0.82rem; color:#1557b0; line-height:1.5; }
.pg-solutions-ai-gemini .solution-cta { background:linear-gradient(135deg, #e8f0fe, #fff); border:1px solid #c5d9f7; border-radius:16px; padding:32px; text-align:center; margin-top:40px; }
.pg-solutions-ai-gemini .btn-blue { background:#4285f4; color:#fff; }
.pg-solutions-ai-gemini .btn-blue:hover { background:#1a73e8; transform:translateY(-1px); }
.pg-solutions-ai-gemini .nl-header h4 { font-family:'Montserrat',sans-serif; font-size:1.1rem; font-weight:900; margin-bottom:2px; }
.pg-solutions-ai-gemini .nl-label { font-size:0.82rem; font-weight:600; }

/* ── pg-solutions-ai-index ──────────────────────────────────────────── */
.pg-solutions-ai-index .page-hero { background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 40%, #312e81 70%, #4c1d95 100%), url('i/pg-solutions-ai-index.jpg'); background-size: cover, cover; background-position: center, center; padding: 64px 0; position: relative; overflow: hidden; }
.pg-solutions-ai-index .page-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 70% 50%, rgba(139,92,246,0.25) 0%, transparent 60%); pointer-events: none; }
.pg-solutions-ai-index .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; }
.pg-solutions-ai-index .page-eyebrow { display:inline-block; background:rgba(255,255,255,0.12); color:rgba(255,255,255,0.9); font-family:'Montserrat',sans-serif; font-size:0.7rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; padding:4px 12px; border-radius:9999px; border:1px solid rgba(255,255,255,0.2); margin-bottom:14px; }
.pg-solutions-ai-index .page-hero h1 { font-size:clamp(2rem,4vw,3.2rem); font-weight:800; color:#fff; line-height:1.1; margin-bottom:16px; }
.pg-solutions-ai-index .hero-desc { font-size:1.05rem; color:rgba(255,255,255,0.8); max-width:620px; line-height:1.7; margin-bottom:24px; }
.pg-solutions-ai-index .hero-badges { display:flex; flex-wrap:wrap; gap:10px; }
.pg-solutions-ai-index .hero-badge { display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2); border-radius:9999px; padding:6px 14px; font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700; color:rgba(255,255,255,0.9); }
.pg-solutions-ai-index .content-wrap { max-width:1280px; margin:0 auto; padding:56px 24px; display:grid; grid-template-columns:1fr 300px; gap:48px; align-items:start; }
.pg-solutions-ai-index .section-block { margin-bottom:52px; }
.pg-solutions-ai-index .section-block h2 { font-size:1.25rem; font-weight:800; color:var(--cmc-text); border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:8px; }
.pg-solutions-ai-index .section-sub { font-size:0.9rem; color:var(--cmc-text-muted); margin-bottom:24px; }
.pg-solutions-ai-index .ai-tool-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.pg-solutions-ai-index .ai-tool-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; padding:24px; display:flex; flex-direction:column; gap:12px; transition:box-shadow 0.2s, transform 0.2s, border-color 0.2s; text-decoration:none; color:inherit; position:relative; overflow:hidden; }
.pg-solutions-ai-index .ai-tool-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-2px); border-color:var(--cmc-maroon); }
.pg-solutions-ai-index .ai-tool-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; }
.pg-solutions-ai-index .card-gemini::before { background:linear-gradient(90deg,#4285f4,#34a853); }
.pg-solutions-ai-index .card-copilot::before { background:linear-gradient(90deg,#0078d4,#7719aa); }
.pg-solutions-ai-index .card-claude::before { background:linear-gradient(90deg,#d97706,#f59e0b); }
.pg-solutions-ai-index .card-zoom::before { background:linear-gradient(90deg,#2d8cff,#0e72eb); }
.pg-solutions-ai-index .card-box::before { background:linear-gradient(90deg,#0061d5,#1a7fe8); }
.pg-solutions-ai-index .card-local::before { background:linear-gradient(90deg,#374151,#6b7280); }
.pg-solutions-ai-index .tool-header { display:flex; align-items:center; gap:12px; }
.pg-solutions-ai-index .tool-icon { width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0; }
.pg-solutions-ai-index .icon-gemini { background:#e8f0fe; }
.pg-solutions-ai-index .icon-copilot { background:#ede9fe; }
.pg-solutions-ai-index .icon-claude { background:#fef3c7; }
.pg-solutions-ai-index .icon-zoom { background:#e8f4ff; }
.pg-solutions-ai-index .icon-box { background:#e8f0fe; }
.pg-solutions-ai-index .icon-local { background:#f1f5f9; }
.pg-solutions-ai-index .tool-title { font-family:'Montserrat',sans-serif; font-size:1rem; font-weight:800; }
.pg-solutions-ai-index .tool-vendor { font-size:0.75rem; color:var(--cmc-text-muted); font-weight:600; }
.pg-solutions-ai-index .tool-desc { font-size:0.85rem; color:var(--cmc-text-secondary); line-height:1.6; flex:1; }
.pg-solutions-ai-index .tool-tags { display:flex; flex-wrap:wrap; gap:6px; }
.pg-solutions-ai-index .tool-tag { display:inline-block; padding:2px 8px; border-radius:9999px; font-size:0.7rem; font-weight:700; background:var(--cmc-surface); color:var(--cmc-text-muted); font-family:'Montserrat',sans-serif; border:1px solid var(--cmc-border); }
.pg-solutions-ai-index .tool-cta { display:inline-flex; align-items:center; gap:4px; font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-maroon); margin-top:4px; }
.pg-solutions-ai-index .tool-cta:hover { text-decoration:underline; }
.pg-solutions-ai-index .principles-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:16px; }
.pg-solutions-ai-index .principle-item { display:flex; align-items:flex-start; gap:12px; background:var(--cmc-surface); border-radius:10px; padding:14px; }
.pg-solutions-ai-index .principle-num { width:28px; height:28px; border-radius:50%; background:var(--cmc-maroon); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:800; flex-shrink:0; }
.pg-solutions-ai-index .principle-item h4 { font-size:0.85rem; font-weight:700; margin-bottom:2px; }
.pg-solutions-ai-index .principle-item p { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.45; }
.pg-solutions-ai-index .philosophy-strip { background:linear-gradient(135deg,#1e1b4b,#312e81); border-radius:16px; padding:32px; color:#fff; margin-bottom:52px; }
.pg-solutions-ai-index .philosophy-strip h2 { font-size:1.1rem; font-weight:800; margin-bottom:20px; color:#fff; }
.pg-solutions-ai-index .philosophy-items { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pg-solutions-ai-index .phi-item { display:flex; align-items:flex-start; gap:10px; }
.pg-solutions-ai-index .phi-dot { width:8px; height:8px; border-radius:50%; background:#a78bfa; margin-top:6px; flex-shrink:0; }
.pg-solutions-ai-index .phi-item h4 { font-size:0.85rem; font-weight:700; color:#e0e7ff; margin-bottom:2px; }
.pg-solutions-ai-index .phi-item p { font-size:0.8rem; color:rgba(255,255,255,0.65); line-height:1.5; }
.pg-solutions-ai-index .getting-started-steps { display:flex; flex-direction:column; gap:14px; }
@media (max-width:960px) { .pg-solutions-ai-index .content-wrap { grid-template-columns:1fr; } .pg-solutions-ai-index .sidebar { position:static; } .pg-solutions-ai-index .header-nav { display:none; } .pg-solutions-ai-index .hamburger { display:block; } .pg-solutions-ai-index .ai-tool-grid { grid-template-columns:1fr; } .pg-solutions-ai-index .principles-grid { grid-template-columns:1fr; } .pg-solutions-ai-index .philosophy-items { grid-template-columns:1fr; } .pg-solutions-ai-index .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-solutions-ai-local-models ──────────────────────────────────────────── */
:root {
  --local: #374151;
  --local-accent: #6b7280;
}

.pg-solutions-ai-local-models .page-hero { background: linear-gradient(135deg, rgba(17,24,39,0.88) 0%, rgba(31,41,55,0.80) 55%, rgba(55,65,81,0.74) 100%), url('i/pg-solutions-ai-local-models.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }
.pg-solutions-ai-local-models .page-eyebrow { display:inline-block; background:rgba(255,255,255,0.12); color:rgba(255,255,255,0.9); font-family:'Montserrat',sans-serif; font-size:0.7rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; padding:4px 12px; border-radius:9999px; border:1px solid rgba(255,255,255,0.2); margin-bottom:14px; }
.pg-solutions-ai-local-models .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; margin-bottom:12px; }
.pg-solutions-ai-local-models .section-block h2 { font-size:1.25rem; font-weight:800; color:var(--cmc-text); border-left:4px solid var(--local); padding-left:14px; margin-bottom:16px; }
.pg-solutions-ai-local-models .key-props { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:16px 0; }
.pg-solutions-ai-local-models .key-prop { background:#f1f5f9; border-radius:10px; padding:16px; border-left:3px solid var(--local); display:flex; align-items:flex-start; gap:10px; }
.pg-solutions-ai-local-models .key-prop-icon { font-size:1.2rem; flex-shrink:0; }
.pg-solutions-ai-local-models .key-prop h4 { font-size:0.88rem; font-weight:700; margin-bottom:3px; }
.pg-solutions-ai-local-models .key-prop p { font-size:0.82rem; color:var(--cmc-text-muted); line-height:1.45; }
.pg-solutions-ai-local-models .tool-cards { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
.pg-solutions-ai-local-models .tool-card { background:#fff; border:1px solid var(--cmc-border); border-radius:12px; padding:20px; }
.pg-solutions-ai-local-models .tool-card h3 { font-size:0.95rem; font-weight:800; margin-bottom:8px; color:var(--local); }
.pg-solutions-ai-local-models .tool-card p { font-size:0.85rem; color:var(--cmc-text-secondary); line-height:1.6; }
.pg-solutions-ai-local-models .model-table { width:100%; border-collapse:collapse; margin-top:16px; font-size:0.85rem; }
.pg-solutions-ai-local-models .model-table th { background:var(--local); color:#fff; padding:10px 14px; text-align:left; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; }
.pg-solutions-ai-local-models .model-table th:first-child { border-radius:8px 0 0 0; }
.pg-solutions-ai-local-models .model-table th:last-child { border-radius:0 8px 0 0; }
.pg-solutions-ai-local-models .model-table td { padding:10px 14px; border-bottom:1px solid var(--cmc-border); color:var(--cmc-text-secondary); vertical-align:top; line-height:1.5; }
.pg-solutions-ai-local-models .model-table tr:last-child td { border-bottom:none; }
.pg-solutions-ai-local-models .model-table tr:nth-child(even) td { background:var(--cmc-surface); }
.pg-solutions-ai-local-models .gs-num { width:36px; height:36px; border-radius:50%; background:var(--local); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:0.9rem; font-weight:800; flex-shrink:0; }
.pg-solutions-ai-local-models .hw-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:16px; }
.pg-solutions-ai-local-models .hw-card { border-radius:10px; padding:16px; text-align:center; border:1px solid var(--cmc-border); }
.pg-solutions-ai-local-models .hw-card.min { background:#fafafa; }
.pg-solutions-ai-local-models .hw-card.rec { background:#f0fdf4; border-color:#bbf7d0; }
.pg-solutions-ai-local-models .hw-card.opt { background:#eff6ff; border-color:#bfdbfe; }
.pg-solutions-ai-local-models .hw-label { display:block; font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:10px; color:var(--cmc-text-muted); }
.pg-solutions-ai-local-models .hw-card h4 { font-size:0.88rem; font-weight:700; margin-bottom:6px; }
.pg-solutions-ai-local-models .hw-card p { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.5; }
.pg-solutions-ai-local-models .protection-list { list-style:none; padding:0; display:flex; flex-direction:column; gap:10px; }
.pg-solutions-ai-local-models .protection-item { padding:12px 16px; background:#f1f5f9; border-radius:10px; border-left:3px solid var(--local); }
.pg-solutions-ai-local-models .protection-item h4 { font-size:0.88rem; font-weight:700; color:#111827; margin-bottom:2px; }
.pg-solutions-ai-local-models .protection-item p { font-size:0.82rem; color:var(--local-accent); line-height:1.5; }
.pg-solutions-ai-local-models .solution-cta { background:linear-gradient(135deg, #f1f5f9, #fff); border:1px solid var(--cmc-border); border-radius:16px; padding:32px; text-align:center; margin-top:40px; }
.pg-solutions-ai-local-models .btn-local { background:var(--local); color:#fff; }
.pg-solutions-ai-local-models .btn-local:hover { background:#1f2937; transform:translateY(-1px); }
.pg-solutions-ai-local-models .nl-header h4 { font-family:'Montserrat',sans-serif; font-size:1.1rem; font-weight:900; margin-bottom:2px; }
.pg-solutions-ai-local-models .nl-label { font-size:0.82rem; font-weight:600; }
.pg-solutions-ai-local-models .nl-badge-dark { display:inline-block; padding:2px 8px; border-radius:4px; font-size:0.7rem; font-weight:700; background:var(--local); color:#fff; font-family:'Montserrat',sans-serif; }
@media (max-width:960px) { .pg-solutions-ai-local-models .content-wrap { grid-template-columns:1fr; } .pg-solutions-ai-local-models .sidebar { position:static; } .pg-solutions-ai-local-models .header-nav { display:none; } .pg-solutions-ai-local-models .hamburger { display:block; } .pg-solutions-ai-local-models .key-props { grid-template-columns:1fr; } .pg-solutions-ai-local-models .tool-cards { grid-template-columns:1fr; } .pg-solutions-ai-local-models .hw-grid { grid-template-columns:1fr; } .pg-solutions-ai-local-models .model-table { font-size:0.8rem; } .pg-solutions-ai-local-models .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-solutions-ai-zoom-ai ──────────────────────────────────────────── */
:root {
  --zoom: #2d8cff;
  --zoom-dark: #0e72eb;
}

.pg-solutions-ai-zoom-ai .page-hero { background: linear-gradient(135deg, rgba(10,37,64,0.88) 0%, rgba(45,140,255,0.80) 60%, rgba(124,58,237,0.74) 100%), url('i/pg-solutions-ai-zoom-ai.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }
.pg-solutions-ai-zoom-ai .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; margin-bottom:12px; }
.pg-solutions-ai-zoom-ai .hero-desc { font-size:1rem; color:rgba(255,255,255,0.88); max-width:600px; line-height:1.65; }
.pg-solutions-ai-zoom-ai .section-block h2 { font-size:1.25rem; font-weight:800; color:var(--cmc-text); border-left:4px solid var(--zoom); padding-left:14px; margin-bottom:16px; }
.pg-solutions-ai-zoom-ai .warning-banner { background:#fff7ed; border:1px solid #fed7aa; border-left:4px solid #ea580c; border-radius:10px; padding:16px 20px; margin-bottom:24px; display:flex; align-items:flex-start; gap:12px; }
.pg-solutions-ai-zoom-ai .warning-banner .w-icon { font-size:1.2rem; flex-shrink:0; margin-top:2px; }
.pg-solutions-ai-zoom-ai .warning-banner h4 { font-size:0.9rem; font-weight:800; color:#9a3412; margin-bottom:4px; }
.pg-solutions-ai-zoom-ai .warning-banner p { font-size:0.85rem; color:#7c2d12; line-height:1.5; margin:0; }
.pg-solutions-ai-zoom-ai .capability-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:16px; }
.pg-solutions-ai-zoom-ai .capability-item { background:var(--cmc-surface); border-radius:10px; padding:16px; border-left:3px solid var(--zoom); }
.pg-solutions-ai-zoom-ai .capability-item h4 { font-size:0.88rem; font-weight:700; margin-bottom:4px; }
.pg-solutions-ai-zoom-ai .capability-item p { font-size:0.82rem; color:var(--cmc-text-muted); line-height:1.5; }
.pg-solutions-ai-zoom-ai .gs-num { width:36px; height:36px; border-radius:50%; background:var(--zoom); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:0.9rem; font-weight:800; flex-shrink:0; }
.pg-solutions-ai-zoom-ai .protection-list { list-style:none; padding:0; display:flex; flex-direction:column; gap:10px; }
.pg-solutions-ai-zoom-ai .protection-item { padding:12px 16px; background:#e8f4ff; border-radius:10px; border-left:3px solid var(--zoom); }
.pg-solutions-ai-zoom-ai .protection-item h4 { font-size:0.88rem; font-weight:700; color:#0a2540; margin-bottom:2px; }
.pg-solutions-ai-zoom-ai .protection-item p { font-size:0.82rem; color:#1e40af; line-height:1.5; }
.pg-solutions-ai-zoom-ai .solution-cta { background:linear-gradient(135deg, #e8f4ff, #fff); border:1px solid #bfdbfe; border-radius:16px; padding:32px; text-align:center; margin-top:40px; }
.pg-solutions-ai-zoom-ai .btn-zoom { background:var(--zoom); color:#fff; }
.pg-solutions-ai-zoom-ai .btn-zoom:hover { background:var(--zoom-dark); transform:translateY(-1px); }
.pg-solutions-ai-zoom-ai .nl-header h4 { font-family:'Montserrat',sans-serif; font-size:1.1rem; font-weight:900; margin-bottom:2px; }
.pg-solutions-ai-zoom-ai .nl-label { font-size:0.82rem; font-weight:600; }
@media (max-width:960px) { .pg-solutions-ai-zoom-ai .content-wrap { grid-template-columns:1fr; } .pg-solutions-ai-zoom-ai .sidebar { position:static; } .pg-solutions-ai-zoom-ai .header-nav { display:none; } .pg-solutions-ai-zoom-ai .hamburger { display:block; } .pg-solutions-ai-zoom-ai .capability-grid { grid-template-columns:1fr; } .pg-solutions-ai-zoom-ai .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-solutions-boomi ──────────────────────────────────────────── */
.pg-solutions-boomi .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-boomi.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }
.pg-solutions-boomi .flow-diagram { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:16px; padding:28px; margin:20px 0; }
.pg-solutions-boomi .flow-row { display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.pg-solutions-boomi .flow-row:last-child { margin-bottom:0; }
.pg-solutions-boomi .flow-node { background:#fff; border:2px solid var(--cmc-maroon); border-radius:10px; padding:10px 18px; font-family:'Montserrat',sans-serif; font-size:0.82rem; font-weight:700; color:var(--cmc-maroon); text-align:center; min-width:120px; }
.pg-solutions-boomi .flow-arrow { font-size:1.4rem; color:var(--cmc-maroon); opacity:0.6; }
.pg-solutions-boomi .flow-label { font-size:0.72rem; color:var(--cmc-text-muted); text-align:center; font-family:'Montserrat',sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:0.08em; }
.pg-solutions-boomi .integration-list { display:flex; flex-direction:column; gap:16px; margin-top:16px; }
.pg-solutions-boomi .integration-card { background:#fff; border:1px solid var(--cmc-border); border-radius:12px; padding:20px; display:flex; gap:16px; align-items:flex-start; }
.pg-solutions-boomi .integration-icon { width:44px; height:44px; border-radius:10px; background:var(--cmc-surface-alt); display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0; }
.pg-solutions-boomi .integration-card h3 { font-size:0.95rem; font-weight:700; margin-bottom:6px; color:var(--cmc-text); }
.pg-solutions-boomi .integration-card ul { list-style:none; padding:0; }
.pg-solutions-boomi .integration-card ul li { font-size:0.84rem; color:var(--cmc-text-secondary); padding:3px 0 3px 18px; position:relative; line-height:1.5; }
.pg-solutions-boomi .integration-card ul li::before { content:'✦'; position:absolute; left:0; color:var(--cmc-maroon); font-size:0.6rem; top:6px; }
.pg-solutions-boomi .benefits-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
.pg-solutions-boomi .benefit-item { background:var(--cmc-surface); border-radius:10px; padding:16px 20px; border-left:3px solid var(--cmc-maroon); }
.pg-solutions-boomi .benefit-item h4 { font-size:0.88rem; font-weight:700; margin-bottom:4px; }
.pg-solutions-boomi .benefit-item p { font-size:0.83rem; color:var(--cmc-text-muted); line-height:1.5; }
@media (max-width:960px) { .pg-solutions-boomi .content-wrap { grid-template-columns:1fr; } .pg-solutions-boomi .sidebar { position:static; } .pg-solutions-boomi .header-nav { display:none; } .pg-solutions-boomi .hamburger { display:block; } .pg-solutions-boomi .benefits-grid { grid-template-columns:1fr; } .pg-solutions-boomi .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-solutions-consulting ──────────────────────────────────────────── */
.pg-solutions-consulting .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-solutions-consulting.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-solutions-consulting .page-hero h1 { font-size:clamp(1.6rem,3vw,2.6rem); font-weight:800; color:#fff; line-height:1.15; margin-bottom:8px; }
.pg-solutions-consulting .page-hero p { font-size:0.95rem; color:rgba(255,255,255,0.8); max-width:520px; }
.pg-solutions-consulting .container { max-width:900px; margin:0 auto; padding:0 24px; }
.pg-solutions-consulting .preflight { background:var(--cmc-surface); border-radius:16px; padding:32px; margin:40px 0; border:1px solid var(--cmc-border); }
.pg-solutions-consulting .preflight h2 { font-size:1rem; font-weight:800; margin-bottom:20px; display:flex; align-items:center; gap:10px; }
.pg-solutions-consulting .preflight-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pg-solutions-consulting .checklist-item { display:flex; align-items:flex-start; gap:12px; background:#fff; border:1px solid var(--cmc-border); border-radius:10px; padding:14px 16px; }
.pg-solutions-consulting .check-icon { width:28px; height:28px; border-radius:7px; background:var(--cmc-surface-alt); display:flex; align-items:center; justify-content:center; font-size:0.9rem; flex-shrink:0; }
.pg-solutions-consulting .checklist-item h4 { font-size:0.88rem; font-weight:700; margin-bottom:2px; }
.pg-solutions-consulting .checklist-item p { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-solutions-consulting .process-strip { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:0; margin:40px 0; background:var(--cmc-surface-alt); border-radius:16px; padding:24px 32px; }
.pg-solutions-consulting .process-step { text-align:center; }
.pg-solutions-consulting .process-num { width:48px; height:48px; border-radius:50%; background:var(--cmc-maroon); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:1.1rem; font-weight:800; margin:0 auto 12px; }
.pg-solutions-consulting .process-step h4 { font-size:0.88rem; font-weight:700; margin-bottom:4px; }
.pg-solutions-consulting .process-step p { font-size:0.78rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-solutions-consulting .process-arrow { font-size:1.5rem; color:var(--cmc-border); padding:0 8px; }
.pg-solutions-consulting .section-block h2 { font-size:1.2rem; font-weight:800; color:var(--cmc-text); border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-solutions-consulting .offering-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; }
.pg-solutions-consulting .offering-card { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:12px; padding:20px; }
.pg-solutions-consulting .offering-card h3 { font-size:0.95rem; font-weight:700; color:var(--cmc-maroon); margin-bottom:10px; }
.pg-solutions-consulting .offering-card ul { list-style:none; padding:0; }
.pg-solutions-consulting .offering-card ul li { font-size:0.85rem; color:var(--cmc-text-secondary); padding:5px 0 5px 20px; position:relative; border-bottom:1px solid var(--cmc-border); line-height:1.5; }
.pg-solutions-consulting .offering-card ul li:last-child { border-bottom:none; }
.pg-solutions-consulting .offering-card ul li::before { content:'→'; position:absolute; left:0; color:var(--cmc-maroon); font-size:0.8rem; }
.pg-solutions-consulting .scope-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; }
.pg-solutions-consulting .scope-col { border-radius:12px; padding:20px; }
.pg-solutions-consulting .scope-col.do { background:#f0fdf4; border:1px solid #bbf7d0; }
.pg-solutions-consulting .scope-col.dont { background:#fff7ed; border:1px solid #fed7aa; }
.pg-solutions-consulting .scope-col h3 { font-size:0.88rem; font-weight:800; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:12px; }
.pg-solutions-consulting .scope-col.do h3 { color:#166534; }
.pg-solutions-consulting .scope-col.dont h3 { color:#9a3412; }
.pg-solutions-consulting .scope-col ul { list-style:none; padding:0; }
.pg-solutions-consulting .scope-col ul li { font-size:0.85rem; padding:5px 0 5px 20px; position:relative; line-height:1.5; }
.pg-solutions-consulting .scope-col.do ul li::before { content:'✓'; position:absolute; left:0; color:#16a34a; font-weight:700; }
.pg-solutions-consulting .scope-col.dont ul li::before { content:'✗'; position:absolute; left:0; color:#ea580c; font-weight:700; }
.pg-solutions-consulting .fs-section { margin:40px 0; }
.pg-solutions-consulting .fs-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-md); }
.pg-solutions-consulting .fs-header { background:linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); padding:24px 32px; }
.pg-solutions-consulting .fs-header h2 { color:#fff; font-size:1.1rem; font-weight:700; margin-bottom:4px; }
.pg-solutions-consulting .fs-header p { color:rgba(255,255,255,0.8); font-size:0.85rem; }
.pg-solutions-consulting .fs-body { padding:32px; }
.pg-solutions-consulting .faq-section { margin:48px 0; }
.pg-solutions-consulting .faq-section h2 { font-size:1.2rem; font-weight:800; margin-bottom:20px; }
.pg-solutions-consulting .faq-list { display:flex; flex-direction:column; gap:8px; }
.pg-solutions-consulting .faq-item { border:1px solid var(--cmc-border); border-radius:10px; overflow:hidden; }
.pg-solutions-consulting .faq-question { width:100%; background:#fff; border:none; padding:18px 20px; display:flex; justify-content:space-between; align-items:center; cursor:pointer; text-align:left; font-family:'Montserrat',sans-serif; font-size:0.9rem; font-weight:700; color:var(--cmc-text); transition:background 0.18s; }
.pg-solutions-consulting .faq-question:hover { background:var(--cmc-surface); }
.pg-solutions-consulting .faq-question[aria-expanded="true"] { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-solutions-consulting .faq-chevron { font-size:0.75rem; transition:transform 0.25s; flex-shrink:0; }
.pg-solutions-consulting .faq-question[aria-expanded="true"] .faq-chevron { transform:rotate(180deg); }
.pg-solutions-consulting .faq-answer { display:none; padding:0 20px 18px; font-size:0.9rem; color:var(--cmc-text-secondary); line-height:1.65; background:var(--cmc-surface-alt); border-top:1px solid var(--cmc-border); }
.pg-solutions-consulting .faq-answer.open { display:block; animation:slideDown 0.2s ease; }
@keyframes slideDown { from{opacity:0;transform:translateY(-6px)} to{opacity:1;transform:translateY(0)} }
.pg-solutions-consulting .faq-answer p { padding-top:14px; }
@media (max-width:900px) { .pg-solutions-consulting .header-nav { display:none; } .pg-solutions-consulting .hamburger { display:block; } .pg-solutions-consulting .preflight-grid { grid-template-columns:1fr; } .pg-solutions-consulting .process-strip { grid-template-columns:1fr; gap:16px; } .pg-solutions-consulting .process-arrow { transform:rotate(90deg); } .pg-solutions-consulting .offering-grid { grid-template-columns:1fr; } .pg-solutions-consulting .scope-grid { grid-template-columns:1fr; } .pg-solutions-consulting .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-solutions-hecvat ──────────────────────────────────────────── */
.pg-solutions-hecvat .page-hero { background: linear-gradient(135deg, rgba(26,39,68,0.88) 0%, rgba(37,52,96,0.80) 60%, rgba(26,58,92,0.74) 100%), url('i/pg-solutions-hecvat.jpg'); background-size: cover, cover; background-position: center, center; padding:44px 0; }
.pg-solutions-hecvat .page-hero h1 { font-size:clamp(1.6rem,3vw,2.6rem); font-weight:800; color:#fff; line-height:1.15; margin-bottom:8px; }
.pg-solutions-hecvat .page-hero p { font-size:0.95rem; color:rgba(255,255,255,0.8); max-width:540px; }
.pg-solutions-hecvat .container { max-width:900px; margin:0 auto; padding:0 24px; }
.pg-solutions-hecvat .section-block h2 { font-size:1.2rem; font-weight:800; color:var(--cmc-text); border-left:4px solid var(--navy); padding-left:14px; margin-bottom:16px; }
.pg-solutions-hecvat .info-box { background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:20px 24px; margin-bottom:24px; }
.pg-solutions-hecvat .info-box h3 { font-size:0.95rem; font-weight:700; color:#1e40af; margin-bottom:8px; }
.pg-solutions-hecvat .info-box ul { list-style:none; padding:0; }
.pg-solutions-hecvat .info-box ul li { font-size:0.88rem; color:#1e3a8a; padding:4px 0 4px 20px; position:relative; line-height:1.5; }
.pg-solutions-hecvat .info-box ul li::before { content:'•'; position:absolute; left:0; color:#3b82f6; font-weight:700; }
.pg-solutions-hecvat .risk-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:20px; }
.pg-solutions-hecvat .risk-card { border-radius:12px; padding:20px; border:1px solid; }
.pg-solutions-hecvat .risk-card.low { background:#f0fdf4; border-color:#bbf7d0; }
.pg-solutions-hecvat .risk-card.medium { background:#fffbeb; border-color:#fde68a; }
.pg-solutions-hecvat .risk-card.high { background:#fff1f2; border-color:#fecdd3; }
.pg-solutions-hecvat .risk-badge { display:inline-block; padding:3px 10px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.7rem; font-weight:700; margin-bottom:10px; }
.pg-solutions-hecvat .risk-card.low .risk-badge { background:#166534; color:#fff; }
.pg-solutions-hecvat .risk-card.medium .risk-badge { background:#92400e; color:#fff; }
.pg-solutions-hecvat .risk-card.high .risk-badge { background:#9f1239; color:#fff; }
.pg-solutions-hecvat .risk-card h3 { font-size:0.9rem; font-weight:700; margin-bottom:6px; }
.pg-solutions-hecvat .risk-card p { font-size:0.82rem; color:var(--cmc-text-muted); line-height:1.5; }
.pg-solutions-hecvat .preflight { background:var(--cmc-surface); border-radius:16px; padding:32px; margin:40px 0; border:1px solid var(--cmc-border); }
.pg-solutions-hecvat .preflight h2 { font-size:1rem; font-weight:800; margin-bottom:20px; display:flex; align-items:center; gap:10px; }
.pg-solutions-hecvat .preflight-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pg-solutions-hecvat .checklist-item { display:flex; align-items:flex-start; gap:12px; background:#fff; border:1px solid var(--cmc-border); border-radius:10px; padding:14px 16px; }
.pg-solutions-hecvat .check-icon { width:28px; height:28px; border-radius:7px; background:var(--cmc-surface-alt); display:flex; align-items:center; justify-content:center; font-size:0.9rem; flex-shrink:0; }
.pg-solutions-hecvat .checklist-item h4 { font-size:0.88rem; font-weight:700; margin-bottom:2px; }
.pg-solutions-hecvat .checklist-item p { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-solutions-hecvat .process-strip { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:0; margin:40px 0; background:#eff6ff; border-radius:16px; padding:24px 32px; border:1px solid #bfdbfe; }
.pg-solutions-hecvat .process-step { text-align:center; }
.pg-solutions-hecvat .process-num { width:48px; height:48px; border-radius:50%; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:1.1rem; font-weight:800; margin:0 auto 12px; }
.pg-solutions-hecvat .process-step h4 { font-size:0.88rem; font-weight:700; margin-bottom:4px; }
.pg-solutions-hecvat .process-step p { font-size:0.78rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-solutions-hecvat .process-arrow { font-size:1.5rem; color:#93c5fd; padding:0 8px; }
.pg-solutions-hecvat .pitfall-list { list-style:none; padding:0; display:flex; flex-direction:column; gap:12px; margin-top:16px; }
.pg-solutions-hecvat .pitfall-item { display:flex; align-items:flex-start; gap:14px; background:#fff7ed; border:1px solid #fed7aa; border-radius:10px; padding:14px 16px; }
.pg-solutions-hecvat .pitfall-icon { font-size:1.2rem; flex-shrink:0; margin-top:2px; }
.pg-solutions-hecvat .pitfall-item h4 { font-size:0.88rem; font-weight:700; color:#9a3412; margin-bottom:4px; }
.pg-solutions-hecvat .pitfall-item p { font-size:0.83rem; color:var(--cmc-text-muted); line-height:1.5; }
.pg-solutions-hecvat .fs-section { margin:40px 0; }
.pg-solutions-hecvat .fs-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-md); }
.pg-solutions-hecvat .fs-header { background:linear-gradient(135deg, #1a2744, #253460); padding:24px 32px; }
.pg-solutions-hecvat .fs-header h2 { color:#fff; font-size:1.1rem; font-weight:700; margin-bottom:4px; }
.pg-solutions-hecvat .fs-header p { color:rgba(255,255,255,0.8); font-size:0.85rem; }
.pg-solutions-hecvat .fs-body { padding:32px; }
.pg-solutions-hecvat .faq-section { margin:48px 0; }
.pg-solutions-hecvat .faq-section h2 { font-size:1.2rem; font-weight:800; margin-bottom:20px; }
.pg-solutions-hecvat .faq-list { display:flex; flex-direction:column; gap:8px; }
.pg-solutions-hecvat .faq-item { border:1px solid var(--cmc-border); border-radius:10px; overflow:hidden; }
.pg-solutions-hecvat .faq-question { width:100%; background:#fff; border:none; padding:18px 20px; display:flex; justify-content:space-between; align-items:center; cursor:pointer; text-align:left; font-family:'Montserrat',sans-serif; font-size:0.9rem; font-weight:700; color:var(--cmc-text); transition:background 0.18s; }
.pg-solutions-hecvat .faq-question:hover { background:var(--cmc-surface); }
.pg-solutions-hecvat .faq-question[aria-expanded="true"] { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-solutions-hecvat .faq-chevron { font-size:0.75rem; transition:transform 0.25s; flex-shrink:0; }
.pg-solutions-hecvat .faq-question[aria-expanded="true"] .faq-chevron { transform:rotate(180deg); }
.pg-solutions-hecvat .faq-answer { display:none; padding:0 20px 18px; font-size:0.9rem; color:var(--cmc-text-secondary); line-height:1.65; background:var(--cmc-surface-alt); border-top:1px solid var(--cmc-border); }
.pg-solutions-hecvat .faq-answer.open { display:block; animation:slideDown 0.2s ease; }
@keyframes slideDown { from{opacity:0;transform:translateY(-6px)} to{opacity:1;transform:translateY(0)} }
.pg-solutions-hecvat .faq-answer p { padding-top:14px; }
@media (max-width:900px) { .pg-solutions-hecvat .header-nav { display:none; } .pg-solutions-hecvat .hamburger { display:block; } .pg-solutions-hecvat .preflight-grid { grid-template-columns:1fr; } .pg-solutions-hecvat .process-strip { grid-template-columns:1fr; gap:16px; } .pg-solutions-hecvat .process-arrow { transform:rotate(90deg); } .pg-solutions-hecvat .risk-grid { grid-template-columns:1fr; } .pg-solutions-hecvat .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-solutions-index ──────────────────────────────────────────── */
.pg-solutions-index .header-nav > li > a:hover, .pg-solutions-index .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-solutions-index .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-solutions-index .dropdown:hover .dropdown-menu, .pg-solutions-index .dropdown:focus-within .dropdown-menu { display: block; }
.pg-solutions-index .dropdown:hover .dropdown-wide, .pg-solutions-index .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-solutions-index .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-solutions-index .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-solutions-index.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding: 52px 0 48px; }
.pg-solutions-index .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-solutions-index .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-solutions-index .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 600px; line-height: 1.65; }
.pg-solutions-index .solutions-wrap { max-width: 1280px; margin: 0 auto; padding: 64px 24px; display: flex; flex-direction: column; gap: 64px; }
.pg-solutions-index .sol-group {}
.pg-solutions-index .sol-group-header { margin-bottom: 28px; padding-bottom: 16px; border-bottom: 2px solid var(--cmc-border); display: flex; align-items: baseline; gap: 16px; }
.pg-solutions-index .sol-group-title { font-size: 1.1rem; font-weight: 800; color: var(--cmc-text); }
.pg-solutions-index .sol-group-count { font-size: 0.78rem; font-weight: 600; color: var(--cmc-text-muted); font-family: 'Montserrat', sans-serif; }
.pg-solutions-index .sol-group-eyebrow { display: block; font-family: 'Montserrat', sans-serif; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--cmc-maroon); margin-bottom: 6px; }
.pg-solutions-index .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pg-solutions-index .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 12px; padding: 22px 20px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-solutions-index .index-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.pg-solutions-index .card-icon { width: 44px; height: 44px; border-radius: 10px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.25rem; margin-bottom: 14px; flex-shrink: 0; }
.pg-solutions-index .index-card h3 { font-size: 0.93rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 6px; }
.pg-solutions-index .index-card p { font-size: 0.83rem; color: var(--cmc-text-muted); line-height: 1.55; flex: 1; margin-bottom: 16px; }
.pg-solutions-index .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.8rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-solutions-index .card-link svg { width: 13px; height: 13px; transition: transform 0.18s; }
.pg-solutions-index .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; }
@media (max-width: 1024px) { .pg-solutions-index .header-nav { display: none; } .pg-solutions-index .hamburger { display: block; } .pg-solutions-index .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-solutions-index .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-solutions-index .card-grid { grid-template-columns: 1fr; } .pg-solutions-index .footer-grid { grid-template-columns: 1fr; } .pg-solutions-index .solutions-wrap { padding: 48px 24px; gap: 48px; } }

/* ── pg-solutions-platforms-adobe-cc ──────────────────────────────────────────── */
.pg-solutions-platforms-adobe-cc .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-adobe-cc.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }

/* ── pg-solutions-platforms-box ──────────────────────────────────────────── */
.pg-solutions-platforms-box .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-box.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }

/* ── pg-solutions-platforms-canva ──────────────────────────────────────────── */
/* Hero photo is the Adobe CC image mirrored (magick -flop), so the two design
   platform pages read as a pair without repeating the same frame. */
.pg-solutions-platforms-canva .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-canva.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }

/* ── pg-solutions-platforms-overleaf ─────────────────────────────────────────── */
.pg-solutions-platforms-overleaf .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-overleaf.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }

/* ── pg-solutions-platforms-acrobat ──────────────────────────────────────────── */
.pg-solutions-platforms-acrobat .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-acrobat.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }

/* ── pg-solutions-platforms-canvas ──────────────────────────────────────────── */
.pg-solutions-platforms-canvas .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-canvas.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }
.pg-solutions-platforms-canvas .tab-btns { display:flex; gap:4px; border-bottom:2px solid var(--cmc-border); margin-bottom:20px; }
.pg-solutions-platforms-canvas .use-case-list li::before { content:'✦'; position:absolute; left:0; color:var(--cmc-maroon); font-size:0.7rem; top:13px; }

/* ── pg-solutions-platforms-ems ──────────────────────────────────────────── */
.pg-solutions-platforms-ems .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-ems.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }

/* ── pg-solutions-platforms-freshservice ──────────────────────────────────────────── */
.pg-solutions-platforms-freshservice .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-freshservice.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }
.pg-solutions-platforms-freshservice .fs-section { margin:40px 0; }
.pg-solutions-platforms-freshservice .fs-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-md); }
.pg-solutions-platforms-freshservice .fs-header { background:linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); padding:24px 32px; }
.pg-solutions-platforms-freshservice .fs-header h2 { color:#fff; font-size:1.1rem; font-weight:700; margin-bottom:4px; }
.pg-solutions-platforms-freshservice .fs-header p { color:rgba(255,255,255,0.8); font-size:0.85rem; }
.pg-solutions-platforms-freshservice .fs-body { padding:32px; }

/* ── pg-solutions-platforms-google-workspace ──────────────────────────────────────────── */
.pg-solutions-platforms-google-workspace .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-google-workspace.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }

/* ── pg-solutions-platforms-interfolio ──────────────────────────────────────────── */
.pg-solutions-platforms-interfolio .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-interfolio.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }

/* ── pg-solutions-platforms-m365 ──────────────────────────────────────────── */
.pg-solutions-platforms-m365 .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-m365.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }

/* ── pg-solutions-platforms-pathify ──────────────────────────────────────────── */
.pg-solutions-platforms-pathify .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-pathify.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }

/* ── pg-solutions-platforms-sis ──────────────────────────────────────────── */
.pg-solutions-platforms-sis .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-sis.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }

/* ── pg-solutions-platforms-slack ──────────────────────────────────────────── */
.pg-solutions-platforms-slack .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-slack.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }
.pg-solutions-platforms-slack .ws-cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 4px; }
.pg-solutions-platforms-slack .ws-cell { background: var(--cmc-surface); border-radius: 10px; padding: 20px; border-left: 4px solid transparent; min-width: 0; }
.pg-solutions-platforms-slack .ws-cell.ws-work { border-left-color: var(--cmc-maroon); }
.pg-solutions-platforms-slack .ws-cell.ws-campus { border-left-color: var(--cmc-accent); }
.pg-solutions-platforms-slack .ws-cell.ws-network { border-left-color: var(--navy); }
.pg-solutions-platforms-slack .ws-cell h3 { font-size: 0.95rem; font-weight: 800; margin-bottom: 8px; overflow-wrap: break-word; }
.pg-solutions-platforms-slack .ws-cell p { font-size: 0.85rem; color: var(--cmc-text-muted); margin: 0; }
.pg-solutions-platforms-slack .ws-beta-badge { display: inline-block; font-size: 0.65rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--navy); background: var(--cmc-surface-alt); padding: 2px 7px; border-radius: 999px; vertical-align: middle; }
@media (max-width: 860px) { .pg-solutions-platforms-slack .ws-cards-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .pg-solutions-platforms-slack .ws-cards-grid { grid-template-columns: 1fr; } }
.pg-solutions-platforms-slack .tab-btns { display:flex; gap:4px; border-bottom:2px solid var(--cmc-border); margin-bottom:20px; }
.pg-solutions-platforms-slack .use-case-list li::before { content:'✦'; position:absolute; left:0; color:var(--cmc-maroon); font-size:0.7rem; top:13px; }

/* ── pg-solutions-platforms-starrez ──────────────────────────────────────────── */
.pg-solutions-platforms-starrez .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-starrez.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }

/* ── pg-solutions-platforms-trello ──────────────────────────────────────────── */
.pg-solutions-platforms-trello .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-trello.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }

/* ── pg-solutions-platforms-linkedin-learning ──────────────────────────────────────────── */
.pg-solutions-platforms-linkedin-learning .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%); padding:52px 0; }

/* ── pg-solutions-platforms-via ──────────────────────────────────────────── */
.pg-solutions-platforms-via .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-via.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }

/* ── pg-solutions-platforms-workday ──────────────────────────────────────────── */
.pg-solutions-platforms-workday .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-workday.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }

/* ── pg-solutions-platforms-zoom ──────────────────────────────────────────── */
.pg-solutions-platforms-zoom .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-platforms-zoom.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }

/* ── pg-solutions-research-hipaa ──────────────────────────────────────────── */
.pg-solutions-research-hipaa .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-research-hipaa.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }
.pg-solutions-research-hipaa .section-block h3 { font-size:1rem; font-weight:700; color:var(--cmc-text); margin:20px 0 10px; }
.pg-solutions-research-hipaa .feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:8px; }
.pg-solutions-research-hipaa .feature-card { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:10px; padding:16px 18px; }
.pg-solutions-research-hipaa .feature-card-icon { font-size:1.4rem; margin-bottom:8px; }
.pg-solutions-research-hipaa .feature-card h4 { font-size:0.88rem; font-weight:700; margin-bottom:6px; }
.pg-solutions-research-hipaa .feature-card ul { list-style:none; padding:0; }
.pg-solutions-research-hipaa .feature-card ul li { font-size:0.82rem; color:var(--cmc-text-muted); padding:3px 0 3px 16px; position:relative; line-height:1.45; }
.pg-solutions-research-hipaa .feature-card ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.pg-solutions-research-hipaa .warning-banner { background:#fef2f2; border:1px solid #fecaca; border-left:4px solid #dc2626; border-radius:0 10px 10px 0; padding:18px 22px; margin:20px 0; display:flex; gap:14px; align-items:flex-start; }
.pg-solutions-research-hipaa .warning-banner-icon { font-size:1.4rem; flex-shrink:0; margin-top:2px; }
.pg-solutions-research-hipaa .warning-banner h4 { font-size:0.9rem; font-weight:800; color:#991b1b; margin-bottom:6px; }
.pg-solutions-research-hipaa .warning-banner p { font-size:0.85rem; color:#7f1d1d; line-height:1.55; margin:0; }
.pg-solutions-research-hipaa .prohibition-list { list-style:none; padding:0; display:flex; flex-direction:column; gap:8px; }
.pg-solutions-research-hipaa .prohibition-list li { display:flex; gap:12px; align-items:flex-start; padding:12px 16px; background:#fef2f2; border-radius:8px; border-left:3px solid #dc2626; font-size:0.9rem; color:#7f1d1d; line-height:1.5; }
.pg-solutions-research-hipaa .prohibition-list li::before { content:'✕'; color:#dc2626; font-weight:900; flex-shrink:0; }
.pg-solutions-research-hipaa .phi-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:8px; }
.pg-solutions-research-hipaa .phi-item { display:flex; gap:10px; align-items:center; background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:8px; padding:12px 14px; font-size:0.87rem; color:var(--cmc-text-secondary); }
.pg-solutions-research-hipaa .phi-item-dot { width:10px; height:10px; border-radius:50%; background:var(--cmc-maroon); flex-shrink:0; }
.pg-solutions-research-hipaa .nl-badge { display:inline-block; padding:2px 8px; border-radius:4px; font-size:0.7rem; font-weight:700; background:#fef2f2; color:#991b1b; font-family:'Montserrat',sans-serif; }
@media (max-width:960px) { .pg-solutions-research-hipaa .content-wrap { grid-template-columns:1fr; } .pg-solutions-research-hipaa .sidebar { position:static; } .pg-solutions-research-hipaa .header-nav { display:none; } .pg-solutions-research-hipaa .hamburger { display:block; } .pg-solutions-research-hipaa .feature-grid, .pg-solutions-research-hipaa .phi-grid { grid-template-columns:1fr; } .pg-solutions-research-hipaa .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-solutions-research-hpc ──────────────────────────────────────────── */
.pg-solutions-research-hpc .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-research-hpc.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }
.pg-solutions-research-hpc .spec-table { width:100%; border-collapse:collapse; margin:16px 0; font-size:0.88rem; border-radius:10px; overflow:hidden; border:1px solid var(--cmc-border); }
.pg-solutions-research-hpc .spec-table th { background:var(--cmc-maroon); color:#fff; padding:10px 16px; text-align:left; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.07em; }
.pg-solutions-research-hpc .spec-table td { padding:10px 16px; border-bottom:1px solid var(--cmc-border); color:var(--cmc-text-secondary); vertical-align:top; }
.pg-solutions-research-hpc .spec-table tr:last-child td { border-bottom:none; }
.pg-solutions-research-hpc .spec-table tr:nth-child(even) td { background:var(--cmc-surface); }
.pg-solutions-research-hpc .spec-table td:first-child { font-weight:600; color:var(--cmc-text); white-space:nowrap; }
.pg-solutions-research-hpc .tab-btns { display:flex; gap:4px; border-bottom:2px solid var(--cmc-border); margin-bottom:20px; }
.pg-solutions-research-hpc .use-case-list li::before { content:'✦'; position:absolute; left:0; color:var(--cmc-maroon); font-size:0.7rem; top:13px; }
.pg-solutions-research-hpc .best-practices { list-style:none; padding:0; display:flex; flex-direction:column; gap:10px; }
.pg-solutions-research-hpc .bp-item { padding:12px 16px; background:var(--cmc-surface); border-radius:8px; border-left:3px solid var(--cmc-maroon); font-size:0.9rem; color:var(--cmc-text-secondary); }
.pg-solutions-research-hpc .bp-item strong { color:var(--cmc-text); }

/* ── pg-solutions-research-qcl ──────────────────────────────────────────── */
.pg-solutions-research-qcl .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-solutions-research-qcl.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; }
.pg-solutions-research-qcl .section-block h3 { font-size:1rem; font-weight:700; color:var(--cmc-text); margin:20px 0 10px; }
.pg-solutions-research-qcl .software-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; margin-top:8px; }
.pg-solutions-research-qcl .software-category { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:10px; padding:16px 18px; }
.pg-solutions-research-qcl .software-category h4 { font-size:0.82rem; font-weight:700; color:var(--cmc-maroon); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid var(--cmc-border); }
.pg-solutions-research-qcl .software-list { list-style:none; padding:0; }
.pg-solutions-research-qcl .software-list li { font-size:0.84rem; color:var(--cmc-text-secondary); padding:4px 0; display:flex; align-items:center; gap:8px; }
.pg-solutions-research-qcl .software-list li::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--cmc-maroon); flex-shrink:0; }
.pg-solutions-research-qcl .tab-btns { display:flex; gap:4px; border-bottom:2px solid var(--cmc-border); margin-bottom:20px; }
.pg-solutions-research-qcl .use-case-list li::before { content:'✦'; position:absolute; left:0; color:var(--cmc-maroon); font-size:0.7rem; top:13px; }
.pg-solutions-research-qcl .tips-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:8px; }
.pg-solutions-research-qcl .tip-card { background:var(--cmc-surface-alt); border-radius:10px; padding:16px 18px; border-left:3px solid var(--cmc-maroon); }
.pg-solutions-research-qcl .tip-card h4 { font-size:0.88rem; font-weight:700; margin-bottom:5px; }
.pg-solutions-research-qcl .tip-card p { font-size:0.82rem; color:var(--cmc-text-muted); line-height:1.5; margin:0; }
@media (max-width:960px) { .pg-solutions-research-qcl .content-wrap { grid-template-columns:1fr; } .pg-solutions-research-qcl .sidebar { position:static; } .pg-solutions-research-qcl .header-nav { display:none; } .pg-solutions-research-qcl .hamburger { display:block; } .pg-solutions-research-qcl .software-grid { grid-template-columns:1fr 1fr; } .pg-solutions-research-qcl .tips-grid { grid-template-columns:1fr; } .pg-solutions-research-qcl .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .pg-solutions-research-qcl .software-grid { grid-template-columns:1fr; } }

/* ── pg-strategy-clac-2026 ──────────────────────────────────────────── */
:root {
  --green: #16a34a;
  --green-bg: #f0fdf4;
}

.pg-strategy-clac-2026 .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-strategy-clac-2026.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; position:relative; overflow:hidden; }
.pg-strategy-clac-2026 .page-hero::after { content:''; position:absolute; right:-80px; top:-80px; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.04); pointer-events:none; }
.pg-strategy-clac-2026 .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.pg-strategy-clac-2026 .hero-title-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.pg-strategy-clac-2026 .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; text-shadow:0 2px 10px rgba(0,0,0,0.2); }
.pg-strategy-clac-2026 .status-badge-hero { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; white-space:nowrap; }
.pg-strategy-clac-2026 .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-strategy-clac-2026 .status-badge-hero.complete { background:rgba(34,197,94,0.2); color:#4ade80; border:1px solid rgba(34,197,94,0.4); }
.pg-strategy-clac-2026 .status-badge-hero.planning { background:rgba(147,197,253,0.2); color:#93c5fd; border:1px solid rgba(147,197,253,0.3); }
.pg-strategy-clac-2026 .hero-partner { font-size:0.88rem; color:rgba(255,255,255,0.7); margin-top:8px; }
.pg-strategy-clac-2026 .hero-partner strong { color:rgba(255,255,255,0.95); }
.pg-strategy-clac-2026 .hero-link { display:inline-flex; align-items:center; gap:6px; margin-top:14px; padding:8px 18px; background:rgba(255,255,255,0.15); border:1px solid rgba(255,255,255,0.3); border-radius:9999px; color:#fff; font-family:'Montserrat',sans-serif; font-size:0.8rem; font-weight:700; transition:background 0.18s; }
.pg-strategy-clac-2026 .hero-link:hover { background:rgba(255,255,255,0.25); }
.pg-strategy-clac-2026 .project-meta { background:#fff; border-bottom:1px solid var(--cmc-border); box-shadow:var(--shadow-sm); }
.pg-strategy-clac-2026 .project-meta-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); }
.pg-strategy-clac-2026 .meta-item { padding:18px 20px; border-right:1px solid var(--cmc-border); }
.pg-strategy-clac-2026 .meta-item:last-child { border-right:none; }
.pg-strategy-clac-2026 .meta-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-text-muted); margin-bottom:4px; }
.pg-strategy-clac-2026 .meta-value { font-family:'Montserrat',sans-serif; font-size:0.92rem; font-weight:700; color:var(--cmc-text); }
.pg-strategy-clac-2026 .timeline-section { padding:56px 0; }
.pg-strategy-clac-2026 .section-title { font-size:1.4rem; font-weight:800; margin-bottom:32px; }
.pg-strategy-clac-2026 .timeline-track { position:relative; padding:8px 0; }
.pg-strategy-clac-2026 .timeline-track::before { content:''; position:absolute; top:28px; left:28px; right:28px; height:3px; background:var(--cmc-border); z-index:0; }
.pg-strategy-clac-2026 .timeline-steps { display:flex; justify-content:space-between; position:relative; z-index:1; gap:8px; }
.pg-strategy-clac-2026 .timeline-step { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pg-strategy-clac-2026 .timeline-node { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; font-size:1.1rem; border:3px solid; transition:transform 0.2s; }
.pg-strategy-clac-2026 .timeline-node:hover { transform:scale(1.08); }
.pg-strategy-clac-2026 .timeline-node.done { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; }
.pg-strategy-clac-2026 .timeline-node.active { background:#fff; border-color:var(--cmc-maroon); color:var(--cmc-maroon); box-shadow:0 0 0 4px rgba(116,0,28,0.15); }
.pg-strategy-clac-2026 .timeline-node.pending { background:#fff; border-color:var(--cmc-border); color:var(--cmc-text-muted); }
.pg-strategy-clac-2026 .timeline-phase { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text); margin-bottom:3px; }
.pg-strategy-clac-2026 .timeline-date { font-size:0.73rem; color:var(--cmc-text-muted); }
.pg-strategy-clac-2026 .impact-section { background:var(--cmc-surface-alt); padding:56px 0; }
.pg-strategy-clac-2026 .impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:8px; }
.pg-strategy-clac-2026 .impact-text p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-strategy-clac-2026 .metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pg-strategy-clac-2026 .metric-card { background:#fff; border-radius:12px; padding:20px; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--cmc-border); }
.pg-strategy-clac-2026 .metric-value { font-family:'Montserrat',sans-serif; font-size:2rem; font-weight:800; color:var(--cmc-maroon); line-height:1; margin-bottom:6px; }
.pg-strategy-clac-2026 .metric-label { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-strategy-clac-2026 .content-section { padding:56px 0; }
.pg-strategy-clac-2026 .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-strategy-clac-2026 .content-body { max-width:760px; }
.pg-strategy-clac-2026 .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-strategy-clac-2026 .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-strategy-clac-2026 .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-strategy-clac-2026 .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-strategy-clac-2026 .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.pg-strategy-clac-2026 .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.pg-strategy-clac-2026 .gallery-placeholder { background:var(--cmc-surface); border:2px dashed var(--cmc-border); border-radius:10px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; color:var(--cmc-text-muted); font-size:0.8rem; font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:0.05em; }
@media (max-width:900px) { .pg-strategy-clac-2026 .header-nav { display:none; } .pg-strategy-clac-2026 .hamburger { display:block; } .pg-strategy-clac-2026 .project-meta-inner { grid-template-columns:1fr 1fr; } .pg-strategy-clac-2026 .meta-item:nth-child(2) { border-right:none; } .pg-strategy-clac-2026 .timeline-steps { flex-wrap:wrap; } .pg-strategy-clac-2026 .timeline-track::before { display:none; } .pg-strategy-clac-2026 .impact-grid { grid-template-columns:1fr; } .pg-strategy-clac-2026 .gallery-grid { grid-template-columns:1fr 1fr; } .pg-strategy-clac-2026 .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-strategy-clac-2026 .metrics-grid { grid-template-columns:1fr 1fr; } .pg-strategy-clac-2026 .gallery-grid { grid-template-columns:1fr; } .pg-strategy-clac-2026 .footer-grid { grid-template-columns:1fr; } .pg-strategy-clac-2026 .project-meta-inner { grid-template-columns:1fr; } .pg-strategy-clac-2026 .meta-item { border-right:none; border-bottom:1px solid var(--cmc-border); } }

/* ── pg-strategy-disaster-recovery ──────────────────────────────────────────── */
:root {
  --green: #16a34a;
  --green-bg: #f0fdf4;
}

.pg-strategy-disaster-recovery .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-strategy-disaster-recovery.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; position:relative; overflow:hidden; }
.pg-strategy-disaster-recovery .page-hero::after { content:''; position:absolute; right:-80px; top:-80px; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.04); pointer-events:none; }
.pg-strategy-disaster-recovery .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.pg-strategy-disaster-recovery .hero-title-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.pg-strategy-disaster-recovery .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; text-shadow:0 2px 10px rgba(0,0,0,0.2); }
.pg-strategy-disaster-recovery .status-badge-hero { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; white-space:nowrap; }
.pg-strategy-disaster-recovery .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-strategy-disaster-recovery .hero-partner { font-size:0.88rem; color:rgba(255,255,255,0.7); margin-top:8px; }
.pg-strategy-disaster-recovery .hero-partner strong { color:rgba(255,255,255,0.95); }
.pg-strategy-disaster-recovery .project-meta { background:#fff; border-bottom:1px solid var(--cmc-border); box-shadow:var(--shadow-sm); }
.pg-strategy-disaster-recovery .project-meta-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); }
.pg-strategy-disaster-recovery .meta-item { padding:18px 20px; border-right:1px solid var(--cmc-border); }
.pg-strategy-disaster-recovery .meta-item:last-child { border-right:none; }
.pg-strategy-disaster-recovery .meta-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-text-muted); margin-bottom:4px; }
.pg-strategy-disaster-recovery .meta-value { font-family:'Montserrat',sans-serif; font-size:0.92rem; font-weight:700; color:var(--cmc-text); }
.pg-strategy-disaster-recovery .timeline-section { padding:56px 0; }
.pg-strategy-disaster-recovery .section-title { font-size:1.4rem; font-weight:800; margin-bottom:32px; }
.pg-strategy-disaster-recovery .timeline-track { position:relative; padding:8px 0; }
.pg-strategy-disaster-recovery .timeline-track::before { content:''; position:absolute; top:28px; left:28px; right:28px; height:3px; background:var(--cmc-border); z-index:0; }
.pg-strategy-disaster-recovery .timeline-steps { display:flex; justify-content:space-between; position:relative; z-index:1; gap:8px; }
.pg-strategy-disaster-recovery .timeline-step { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pg-strategy-disaster-recovery .timeline-node { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; font-size:1.1rem; border:3px solid; transition:transform 0.2s; }
.pg-strategy-disaster-recovery .timeline-node:hover { transform:scale(1.08); }
.pg-strategy-disaster-recovery .timeline-node.done { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; }
.pg-strategy-disaster-recovery .timeline-node.active { background:#fff; border-color:var(--cmc-maroon); color:var(--cmc-maroon); box-shadow:0 0 0 4px rgba(116,0,28,0.15); }
.pg-strategy-disaster-recovery .timeline-node.pending { background:#fff; border-color:var(--cmc-border); color:var(--cmc-text-muted); }
.pg-strategy-disaster-recovery .timeline-phase { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text); margin-bottom:3px; }
.pg-strategy-disaster-recovery .timeline-date { font-size:0.73rem; color:var(--cmc-text-muted); }
.pg-strategy-disaster-recovery .impact-section { background:var(--cmc-surface-alt); padding:56px 0; }
.pg-strategy-disaster-recovery .impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:8px; }
.pg-strategy-disaster-recovery .impact-text p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-strategy-disaster-recovery .metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pg-strategy-disaster-recovery .metric-card { background:#fff; border-radius:12px; padding:20px; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--cmc-border); }
.pg-strategy-disaster-recovery .metric-value { font-family:'Montserrat',sans-serif; font-size:2rem; font-weight:800; color:var(--cmc-maroon); line-height:1; margin-bottom:6px; }
.pg-strategy-disaster-recovery .metric-label { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-strategy-disaster-recovery .content-section { padding:56px 0; }
.pg-strategy-disaster-recovery .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-strategy-disaster-recovery .content-body { max-width:760px; }
.pg-strategy-disaster-recovery .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-strategy-disaster-recovery .content-body h3 { font-size:1rem; font-weight:700; margin:20px 0 10px; color:var(--cmc-text); }
.pg-strategy-disaster-recovery .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-strategy-disaster-recovery .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-strategy-disaster-recovery .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-strategy-disaster-recovery .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.pg-strategy-disaster-recovery .rto-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:20px 0; }
.pg-strategy-disaster-recovery .rto-card { background:var(--cmc-surface-alt); border-radius:10px; padding:18px; border:1px solid var(--cmc-border); }
.pg-strategy-disaster-recovery .rto-label { font-family:'Montserrat',sans-serif; font-size:0.7rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:var(--cmc-maroon); margin-bottom:6px; }
.pg-strategy-disaster-recovery .rto-value { font-size:1.4rem; font-weight:800; font-family:'Montserrat',sans-serif; color:var(--cmc-text); }
.pg-strategy-disaster-recovery .rto-desc { font-size:0.78rem; color:var(--cmc-text-muted); margin-top:4px; }
@media (max-width:900px) { .pg-strategy-disaster-recovery .header-nav { display:none; } .pg-strategy-disaster-recovery .hamburger { display:block; } .pg-strategy-disaster-recovery .project-meta-inner { grid-template-columns:1fr 1fr; } .pg-strategy-disaster-recovery .meta-item:nth-child(2) { border-right:none; } .pg-strategy-disaster-recovery .timeline-steps { flex-wrap:wrap; } .pg-strategy-disaster-recovery .timeline-track::before { display:none; } .pg-strategy-disaster-recovery .impact-grid { grid-template-columns:1fr; } .pg-strategy-disaster-recovery .rto-grid { grid-template-columns:1fr; } .pg-strategy-disaster-recovery .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-strategy-disaster-recovery .metrics-grid { grid-template-columns:1fr 1fr; } .pg-strategy-disaster-recovery .footer-grid { grid-template-columns:1fr; } .pg-strategy-disaster-recovery .project-meta-inner { grid-template-columns:1fr; } .pg-strategy-disaster-recovery .meta-item { border-right:none; border-bottom:1px solid var(--cmc-border); } }

/* ── pg-strategy-index ──────────────────────────────────────────── */
.pg-strategy-index .header-nav > li > a:hover, .pg-strategy-index .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-strategy-index .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-strategy-index .dropdown:hover .dropdown-menu, .pg-strategy-index .dropdown:focus-within .dropdown-menu { display: block; }
.pg-strategy-index .dropdown:hover .dropdown-wide, .pg-strategy-index .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-strategy-index .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-strategy-index .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-strategy-index.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding: 52px 0 48px; }
.pg-strategy-index .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-strategy-index .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-strategy-index .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-strategy-index .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-strategy-index .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-strategy-index .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-strategy-index .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-strategy-index .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-strategy-index .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-strategy-index .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-strategy-index .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-strategy-index .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-strategy-index .header-nav { display: none; } .pg-strategy-index .hamburger { display: block; } .pg-strategy-index .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-strategy-index .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-strategy-index .card-grid { grid-template-columns: 1fr; } .pg-strategy-index .footer-grid { grid-template-columns: 1fr; } .pg-strategy-index .grid-section { padding: 48px 0; } }

/* ── pg-strategy-rdsc ──────────────────────────────────────────── */
.pg-engagement-rdsc .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-strategy-rdsc.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; position:relative; overflow:hidden; }
.pg-engagement-rdsc .page-hero::after { content:''; position:absolute; right:-80px; top:-80px; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.04); pointer-events:none; }
.pg-engagement-rdsc .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.pg-engagement-rdsc .hero-title-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.pg-engagement-rdsc .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; text-shadow:0 2px 10px rgba(0,0,0,0.2); }
.pg-engagement-rdsc .status-badge-hero { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; white-space:nowrap; }
.pg-engagement-rdsc .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-engagement-rdsc .status-badge-hero.complete { background:rgba(34,197,94,0.2); color:#4ade80; border:1px solid rgba(34,197,94,0.4); }
.pg-engagement-rdsc .hero-partner { font-size:0.88rem; color:rgba(255,255,255,0.7); margin-top:8px; }
.pg-engagement-rdsc .hero-partner strong { color:rgba(255,255,255,0.95); }
.pg-engagement-rdsc .project-meta { background:#fff; border-bottom:1px solid var(--cmc-border); box-shadow:var(--shadow-sm); }
.pg-engagement-rdsc .project-meta-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); }
.pg-engagement-rdsc .meta-item { padding:18px 20px; border-right:1px solid var(--cmc-border); }
.pg-engagement-rdsc .meta-item:last-child { border-right:none; }
.pg-engagement-rdsc .meta-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-text-muted); margin-bottom:4px; }
.pg-engagement-rdsc .meta-value { font-family:'Montserrat',sans-serif; font-size:0.92rem; font-weight:700; color:var(--cmc-text); }
.pg-engagement-rdsc .timeline-section { padding:56px 0; }
.pg-engagement-rdsc .section-title { font-size:1.4rem; font-weight:800; margin-bottom:32px; }
.pg-engagement-rdsc .timeline-track { position:relative; padding:8px 0; }
.pg-engagement-rdsc .timeline-track::before { content:''; position:absolute; top:28px; left:28px; right:28px; height:3px; background:var(--cmc-border); z-index:0; }
.pg-engagement-rdsc .timeline-steps { display:flex; justify-content:space-between; position:relative; z-index:1; gap:8px; }
.pg-engagement-rdsc .timeline-step { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pg-engagement-rdsc .timeline-node { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; font-size:1.1rem; border:3px solid; transition:transform 0.2s; }
.pg-engagement-rdsc .timeline-node:hover { transform:scale(1.08); }
.pg-engagement-rdsc .timeline-node.done { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; }
.pg-engagement-rdsc .timeline-node.active { background:#fff; border-color:var(--cmc-maroon); color:var(--cmc-maroon); box-shadow:0 0 0 4px rgba(116,0,28,0.15); }
.pg-engagement-rdsc .timeline-node.pending { background:#fff; border-color:var(--cmc-border); color:var(--cmc-text-muted); }
.pg-engagement-rdsc .timeline-phase { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text); margin-bottom:3px; }
.pg-engagement-rdsc .timeline-date { font-size:0.73rem; color:var(--cmc-text-muted); }
.pg-engagement-rdsc .impact-section { background:var(--cmc-surface-alt); padding:56px 0; }
.pg-engagement-rdsc .impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:8px; }
.pg-engagement-rdsc .impact-text p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-engagement-rdsc .metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pg-engagement-rdsc .metric-card { background:#fff; border-radius:12px; padding:20px; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--cmc-border); }
.pg-engagement-rdsc .metric-value { font-family:'Montserrat',sans-serif; font-size:2rem; font-weight:800; color:var(--cmc-maroon); line-height:1; margin-bottom:6px; }
.pg-engagement-rdsc .metric-label { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-engagement-rdsc .content-section { padding:56px 0; }
.pg-engagement-rdsc .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-engagement-rdsc .content-body { max-width:760px; }
.pg-engagement-rdsc .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-engagement-rdsc .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-engagement-rdsc .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-engagement-rdsc .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-engagement-rdsc .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.pg-engagement-rdsc .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.pg-engagement-rdsc .gallery-placeholder { background:var(--cmc-surface); border:2px dashed var(--cmc-border); border-radius:10px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; color:var(--cmc-text-muted); font-size:0.8rem; font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:0.05em; }
@media (max-width:900px) { .pg-engagement-rdsc .header-nav { display:none; } .pg-engagement-rdsc .hamburger { display:block; } .pg-engagement-rdsc .project-meta-inner { grid-template-columns:1fr 1fr; } .pg-engagement-rdsc .meta-item:nth-child(2) { border-right:none; } .pg-engagement-rdsc .timeline-steps { flex-wrap:wrap; } .pg-engagement-rdsc .timeline-track::before { display:none; } .pg-engagement-rdsc .impact-grid { grid-template-columns:1fr; } .pg-engagement-rdsc .gallery-grid { grid-template-columns:1fr 1fr; } .pg-engagement-rdsc .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-engagement-rdsc .metrics-grid { grid-template-columns:1fr 1fr; } .pg-engagement-rdsc .gallery-grid { grid-template-columns:1fr; } .pg-engagement-rdsc .footer-grid { grid-template-columns:1fr; } .pg-engagement-rdsc .project-meta-inner { grid-template-columns:1fr; } .pg-engagement-rdsc .meta-item { border-right:none; border-bottom:1px solid var(--cmc-border); } }

/* ── pg-strategy-sports-bowl ──────────────────────────────────────────── */
.pg-engagement-sports-bowl .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-strategy-sports-bowl.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; position:relative; overflow:hidden; }
.pg-engagement-sports-bowl .page-hero::after { content:''; position:absolute; right:-80px; top:-80px; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.04); pointer-events:none; }
.pg-engagement-sports-bowl .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.pg-engagement-sports-bowl .hero-title-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.pg-engagement-sports-bowl .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; text-shadow:0 2px 10px rgba(0,0,0,0.2); }
.pg-engagement-sports-bowl .status-badge-hero { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; white-space:nowrap; }
.pg-engagement-sports-bowl .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-engagement-sports-bowl .status-badge-hero.planning { background:rgba(147,197,253,0.2); color:#93c5fd; border:1px solid rgba(147,197,253,0.3); }
.pg-engagement-sports-bowl .hero-partner { font-size:0.88rem; color:rgba(255,255,255,0.7); margin-top:8px; }
.pg-engagement-sports-bowl .hero-partner strong { color:rgba(255,255,255,0.95); }
.pg-engagement-sports-bowl .project-meta { background:#fff; border-bottom:1px solid var(--cmc-border); box-shadow:var(--shadow-sm); }
.pg-engagement-sports-bowl .project-meta-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); }
.pg-engagement-sports-bowl .meta-item { padding:18px 20px; border-right:1px solid var(--cmc-border); }
.pg-engagement-sports-bowl .meta-item:last-child { border-right:none; }
.pg-engagement-sports-bowl .meta-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-text-muted); margin-bottom:4px; }
.pg-engagement-sports-bowl .meta-value { font-family:'Montserrat',sans-serif; font-size:0.92rem; font-weight:700; color:var(--cmc-text); }
.pg-engagement-sports-bowl .timeline-section { padding:56px 0; }
.pg-engagement-sports-bowl .section-title { font-size:1.4rem; font-weight:800; margin-bottom:32px; }
.pg-engagement-sports-bowl .timeline-track { position:relative; padding:8px 0; }
.pg-engagement-sports-bowl .timeline-track::before { content:''; position:absolute; top:28px; left:28px; right:28px; height:3px; background:var(--cmc-border); z-index:0; }
.pg-engagement-sports-bowl .timeline-steps { display:flex; justify-content:space-between; position:relative; z-index:1; gap:8px; }
.pg-engagement-sports-bowl .timeline-step { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pg-engagement-sports-bowl .timeline-node { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; font-size:1.1rem; border:3px solid; transition:transform 0.2s; }
.pg-engagement-sports-bowl .timeline-node:hover { transform:scale(1.08); }
.pg-engagement-sports-bowl .timeline-node.done { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; }
.pg-engagement-sports-bowl .timeline-node.active { background:#fff; border-color:var(--cmc-maroon); color:var(--cmc-maroon); box-shadow:0 0 0 4px rgba(116,0,28,0.15); }
.pg-engagement-sports-bowl .timeline-node.pending { background:#fff; border-color:var(--cmc-border); color:var(--cmc-text-muted); }
/* `live` = work happening right now: green outline plus a ring that radiates
   outward on a loop. --sb-live-rgb carries the theme's green as a raw triplet so
   the one keyframe set serves both themes (see the dark override below). */
.pg-engagement-sports-bowl .timeline-node.live { --sb-live-rgb:42,122,42; background:#fff; border-color:var(--tone-green); color:var(--tone-green); animation:sb-node-radiate 2.4s ease-out infinite; }
@keyframes sb-node-radiate {
  0%   { box-shadow:0 0 0 4px rgba(var(--sb-live-rgb),0.18), 0 0 0 0 rgba(var(--sb-live-rgb),0.45); }
  70%  { box-shadow:0 0 0 4px rgba(var(--sb-live-rgb),0.18), 0 0 0 14px rgba(var(--sb-live-rgb),0); }
  100% { box-shadow:0 0 0 4px rgba(var(--sb-live-rgb),0.18), 0 0 0 14px rgba(var(--sb-live-rgb),0); }
}
@media (prefers-reduced-motion: reduce) {
  .pg-engagement-sports-bowl .timeline-node.live { animation:none; box-shadow:0 0 0 4px rgba(var(--sb-live-rgb),0.18); }
}
.pg-engagement-sports-bowl .timeline-phase { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text); margin-bottom:3px; }
.pg-engagement-sports-bowl .timeline-date { font-size:0.73rem; color:var(--cmc-text-muted); }
.pg-engagement-sports-bowl .impact-section { background:var(--cmc-surface-alt); padding:56px 0; }
.pg-engagement-sports-bowl .impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:8px; }
.pg-engagement-sports-bowl .impact-text p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-engagement-sports-bowl .metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pg-engagement-sports-bowl .metric-card { background:#fff; border-radius:12px; padding:20px; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--cmc-border); }
.pg-engagement-sports-bowl .metric-value { font-family:'Montserrat',sans-serif; font-size:2rem; font-weight:800; color:var(--cmc-maroon); line-height:1; margin-bottom:6px; }
.pg-engagement-sports-bowl .metric-label { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-engagement-sports-bowl .content-section { padding:56px 0; }
.pg-engagement-sports-bowl .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-engagement-sports-bowl .content-body { max-width:760px; }
.pg-engagement-sports-bowl .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-engagement-sports-bowl .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-engagement-sports-bowl .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-engagement-sports-bowl .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-engagement-sports-bowl .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.pg-engagement-sports-bowl .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.pg-engagement-sports-bowl .gallery-placeholder { background:var(--cmc-surface); border:2px dashed var(--cmc-border); border-radius:10px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; color:var(--cmc-text-muted); font-size:0.8rem; font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:0.05em; }
@media (max-width:900px) { .pg-engagement-sports-bowl .header-nav { display:none; } .pg-engagement-sports-bowl .hamburger { display:block; } .pg-engagement-sports-bowl .project-meta-inner { grid-template-columns:1fr 1fr; } .pg-engagement-sports-bowl .meta-item:nth-child(2) { border-right:none; } .pg-engagement-sports-bowl .timeline-steps { flex-wrap:wrap; } .pg-engagement-sports-bowl .timeline-track::before { display:none; } .pg-engagement-sports-bowl .impact-grid { grid-template-columns:1fr; } .pg-engagement-sports-bowl .gallery-grid { grid-template-columns:1fr 1fr; } .pg-engagement-sports-bowl .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-engagement-sports-bowl .metrics-grid { grid-template-columns:1fr 1fr; } .pg-engagement-sports-bowl .gallery-grid { grid-template-columns:1fr; } .pg-engagement-sports-bowl .footer-grid { grid-template-columns:1fr; } .pg-engagement-sports-bowl .project-meta-inner { grid-template-columns:1fr; } .pg-engagement-sports-bowl .meta-item { border-right:none; border-bottom:1px solid var(--cmc-border); } }

/* ── pg-strategy-vision ──────────────────────────────────────────── */
/* ── Policy page hero layout ────────────────────────────── */
.pg-strategy-vision .page-hero-inner { display:flex; align-items:center; gap:24px; }
@media (max-width:640px) { .pg-strategy-vision .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-strategy-vision .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-strategy-vision .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-strategy-vision.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-strategy-vision .page-hero h1 { font-size:clamp(1.4rem,2.8vw,2.2rem); font-weight:800; color:#fff; line-height:1.2; margin-bottom:8px; }
.pg-strategy-vision .toc-list { list-style:none; padding:0; }
.pg-strategy-vision .toc-list li a { display:block; padding:7px 10px; font-size:0.83rem; color:var(--cmc-text-muted); border-left:2px solid var(--cmc-border); transition:all 0.18s; line-height:1.4; }
.pg-strategy-vision .toc-list li a:hover, .pg-strategy-vision .toc-list li a.active { border-left-color:var(--cmc-maroon); color:var(--cmc-maroon); background:var(--cmc-surface-alt); }
.pg-strategy-vision .policy-body blockquote { background:var(--cmc-surface); border-left:3px solid var(--cmc-maroon); padding:16px 20px; border-radius:0 8px 8px 0; margin:20px 0; font-style:italic; color:var(--cmc-text-secondary); font-size:0.9rem; }
.pg-strategy-vision .comparison-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:20px 0; }
.pg-strategy-vision .comparison-card { border-radius:12px; padding:20px; border:1px solid var(--cmc-border); }
.pg-strategy-vision .comparison-card.then { background:#fff; }
.pg-strategy-vision .comparison-card.now { background:var(--cmc-surface-alt); border-color:var(--cmc-maroon); }
.pg-strategy-vision .comparison-card h4 { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:12px; }
.pg-strategy-vision .comparison-card.then h4 { color:var(--cmc-text-muted); }
.pg-strategy-vision .comparison-card.now h4 { color:var(--cmc-maroon); }
.pg-strategy-vision .comparison-card ul { list-style:none; padding:0; }
.pg-strategy-vision .comparison-card ul li { font-size:0.85rem; color:var(--cmc-text-secondary); padding:5px 0; border-bottom:1px solid var(--cmc-border); }
.pg-strategy-vision .comparison-card ul li:last-child { border-bottom:none; }
.pg-strategy-vision .action-btn-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; }
.pg-strategy-vision .action-btn-icon.maroon { background:var(--cmc-surface-alt); }
.pg-strategy-vision .priority-list { list-style:none; padding:0; counter-reset:priority; }
.pg-strategy-vision .priority-list li { counter-increment:priority; display:flex; align-items:flex-start; gap:10px; padding:8px 0; border-bottom:1px solid var(--cmc-surface); font-size:0.83rem; color:var(--cmc-text-secondary); }
.pg-strategy-vision .priority-list li:last-child { border-bottom:none; }
.pg-strategy-vision .priority-list li::before { content:counter(priority); display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:var(--cmc-maroon); color:#fff; font-family:'Montserrat',sans-serif; font-size:0.7rem; font-weight:800; flex-shrink:0; margin-top:1px; }
@media (max-width:1100px) { .pg-strategy-vision .policy-wrap { grid-template-columns:1fr; } .pg-strategy-vision .toc-sidebar, .pg-strategy-vision .policy-sidebar { position:static; } .pg-strategy-vision .header-nav { display:none; } .pg-strategy-vision .hamburger { display:block; } .pg-strategy-vision .comparison-grid { grid-template-columns:1fr; } .pg-strategy-vision .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-templates-template-blog-index ──────────────────────────────────────────── */
.pg-templates-template-blog-index .page-hero { background:linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--cmc-maroon) 60%, var(--cmc-accent) 100%); padding:44px 0; }
.pg-templates-template-blog-index .page-hero h1 { font-size:clamp(1.6rem,3vw,2.5rem); font-weight:800; color:#fff; line-height:1.15; margin-bottom:8px; }
.pg-templates-template-blog-index .page-hero p { font-size:0.95rem; color:rgba(255,255,255,0.8); }
.pg-templates-template-blog-index .featured-section { padding:48px 0 0; }
.pg-templates-template-blog-index .featured-card { display:grid; grid-template-columns:1fr 1fr; border-radius:16px; overflow:hidden; border:1px solid var(--cmc-border); box-shadow:var(--shadow-md); background:#fff; transition:box-shadow 0.22s,transform 0.22s; }
.pg-templates-template-blog-index .featured-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-3px); }
.pg-templates-template-blog-index .featured-visual { background:linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--cmc-maroon) 60%, var(--cmc-accent) 100%); min-height:280px; display:flex; align-items:flex-end; padding:28px; position:relative; overflow:hidden; }
.pg-templates-template-blog-index .featured-visual::after { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
.pg-templates-template-blog-index .featured-visual-emoji { font-size:3rem; position:relative; z-index:1; }
.pg-templates-template-blog-index .featured-body { padding:32px; display:flex; flex-direction:column; justify-content:center; }
.pg-templates-template-blog-index .featured-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-maroon); margin-bottom:8px; display:flex; align-items:center; gap:8px; }
.pg-templates-template-blog-index .featured-label::before { content:'Featured'; display:inline-block; background:var(--cmc-maroon); color:#fff; padding:2px 8px; border-radius:9999px; font-size:0.66rem; }
.pg-templates-template-blog-index .featured-body h2 { font-size:1.4rem; font-weight:800; line-height:1.25; margin-bottom:12px; }
.pg-templates-template-blog-index .featured-body p { font-size:0.9rem; color:var(--cmc-text-muted); line-height:1.65; margin-bottom:20px; flex:1; }
.pg-templates-template-blog-index .featured-meta { display:flex; align-items:center; gap:12px; font-size:0.8rem; color:var(--cmc-text-muted); margin-bottom:20px; }
.pg-templates-template-blog-index .cat-badge { display:inline-block; padding:3px 10px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.69rem; font-weight:700; }
.pg-templates-template-blog-index .cat-badge.tech-alert { background:#fff3e0; color:#c2410c; border:1px solid #fed7aa; }
.pg-templates-template-blog-index .cat-badge.cio-update { background:var(--cmc-surface-alt); color:var(--cmc-maroon); border:1px solid var(--cmc-maroon-light); }
.pg-templates-template-blog-index .cat-badge.news { background:#eff6ff; color:#1d4ed8; border:1px solid #bfdbfe; }
.pg-templates-template-blog-index .cat-badge.maintenance { background:#f0fdf4; color:#15803d; border:1px solid #bbf7d0; }
.pg-templates-template-blog-index .btn-maroon { display:inline-flex; align-items:center; gap:6px; padding:10px 22px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.82rem; font-weight:700; background:var(--cmc-maroon); color:#fff; transition:background 0.18s,transform 0.15s; }
.pg-templates-template-blog-index .filter-bar { padding:32px 0 0; }
.pg-templates-template-blog-index .filter-tabs { display:flex; gap:6px; flex-wrap:wrap; border-bottom:2px solid var(--cmc-border); padding-bottom:0; }
.pg-templates-template-blog-index .filter-tab { padding:10px 20px; font-family:'Montserrat',sans-serif; font-size:0.82rem; font-weight:700; color:var(--cmc-text-muted); background:none; border:none; cursor:pointer; border-bottom:3px solid transparent; margin-bottom:-2px; border-radius:6px 6px 0 0; transition:color 0.18s,border-color 0.18s; }
.pg-templates-template-blog-index .filter-tab:hover { color:var(--cmc-maroon); }
.pg-templates-template-blog-index .filter-tab.active { color:var(--cmc-maroon); border-bottom-color:var(--cmc-maroon); }
.pg-templates-template-blog-index .posts-section { padding:36px 0 56px; }
.pg-templates-template-blog-index .posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.pg-templates-template-blog-index .post-card { background:#fff; border:1px solid var(--cmc-border); border-radius:12px; overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; transition:transform 0.2s,box-shadow 0.2s; }
.pg-templates-template-blog-index .post-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.pg-templates-template-blog-index .post-card[data-category] { display:flex; }
.pg-templates-template-blog-index .post-card.hidden { display:none; }
.pg-templates-template-blog-index .post-card-color { height:100px; position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:14px 18px; }
.pg-templates-template-blog-index .post-card-color.maroon { background:linear-gradient(135deg,var(--cmc-maroon-dark),var(--cmc-maroon)); }
.pg-templates-template-blog-index .post-card-color.navy { background:linear-gradient(135deg,#0f1c38,var(--navy)); }
.pg-templates-template-blog-index .post-card-color.orange { background:linear-gradient(135deg,#7c2d12,#ea580c); }
.pg-templates-template-blog-index .post-card-color.green { background:linear-gradient(135deg,#064e3b,#059669); }
.pg-templates-template-blog-index .post-card-emoji { font-size:1.6rem; }
.pg-templates-template-blog-index .post-card-body { padding:18px; flex:1; display:flex; flex-direction:column; }
.pg-templates-template-blog-index .post-card-body .cat-badge { margin-bottom:10px; }
.pg-templates-template-blog-index .post-card-body h3 { font-size:0.95rem; font-weight:700; line-height:1.35; margin-bottom:8px; }
.pg-templates-template-blog-index .post-card-body p { font-size:0.84rem; color:var(--cmc-text-muted); line-height:1.6; flex:1; margin-bottom:14px; }
.pg-templates-template-blog-index .post-card-footer { display:flex; align-items:center; justify-content:space-between; padding-top:12px; border-top:1px solid var(--cmc-surface); }
.pg-templates-template-blog-index .post-card-date { font-size:0.75rem; color:var(--cmc-text-muted); }
.pg-templates-template-blog-index .read-more { font-size:0.78rem; font-weight:700; color:var(--cmc-maroon); font-family:'Montserrat',sans-serif; display:flex; align-items:center; gap:4px; transition:gap 0.18s; }
.pg-templates-template-blog-index .read-more:hover { gap:8px; }
.pg-templates-template-blog-index .no-results { display:none; text-align:center; padding:48px 24px; color:var(--cmc-text-muted); font-size:0.95rem; }
.pg-templates-template-blog-index .no-results.visible { display:block; }
@media (max-width:1024px) { .pg-templates-template-blog-index .posts-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:900px) { .pg-templates-template-blog-index .header-nav { display:none; } .pg-templates-template-blog-index .hamburger { display:block; } .pg-templates-template-blog-index .featured-card { grid-template-columns:1fr; } .pg-templates-template-blog-index .featured-visual { min-height:160px; } .pg-templates-template-blog-index .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .pg-templates-template-blog-index .posts-grid { grid-template-columns:1fr; } .pg-templates-template-blog-index .footer-grid { grid-template-columns:1fr; } }
.pg-templates-template-blog-index .sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ── pg-templates-template-blog ──────────────────────────────────────────── */
.pg-templates-template-blog .post-header { max-width:760px; margin:48px auto 0; padding:0 24px; }
.pg-templates-template-blog .category-badge { display:inline-flex; align-items:center; gap:6px; padding:5px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:16px; }
.pg-templates-template-blog .category-badge.tech-alert { background:#fff3e0; color:#c2410c; border:1px solid #fed7aa; }
.pg-templates-template-blog .category-badge.cio-update { background:var(--cmc-surface-alt); color:var(--cmc-maroon); border:1px solid var(--cmc-maroon-light); }
.pg-templates-template-blog .category-badge.news { background:#eff6ff; color:#1d4ed8; border:1px solid #bfdbfe; }
.pg-templates-template-blog .category-badge.maintenance { background:#f0fdf4; color:#15803d; border:1px solid #bbf7d0; }
.pg-templates-template-blog .post-title { font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:800; line-height:1.15; margin-bottom:20px; color:var(--cmc-text); letter-spacing:-0.02em; }
.pg-templates-template-blog .post-meta { display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding-bottom:24px; border-bottom:2px solid var(--cmc-border); }
.pg-templates-template-blog .author-avatar { width:40px; height:40px; border-radius:50%; background:var(--cmc-maroon); display:flex; align-items:center; justify-content:center; color:#fff; font-family:'Montserrat',sans-serif; font-size:0.85rem; font-weight:800; flex-shrink:0; }
.pg-templates-template-blog .author-info .author-name { font-size:0.88rem; font-weight:700; color:var(--cmc-text); }
.pg-templates-template-blog .author-info .post-date { font-size:0.8rem; color:var(--cmc-text-muted); }
.pg-templates-template-blog .reading-time { font-size:0.8rem; color:var(--cmc-text-muted); background:var(--cmc-surface); padding:4px 10px; border-radius:9999px; border:1px solid var(--cmc-border); }
.pg-templates-template-blog .article-body { max-width:760px; margin:0 auto; padding:36px 24px; }
.pg-templates-template-blog .article-body p { font-size:1rem; color:var(--cmc-text-secondary); line-height:1.8; margin-bottom:20px; }
.pg-templates-template-blog .article-body h2 { font-size:1.3rem; font-weight:800; color:var(--cmc-text); margin:36px 0 14px; }
.pg-templates-template-blog .article-body h3 { font-size:1.05rem; font-weight:700; color:var(--cmc-text); margin:24px 0 10px; }
.pg-templates-template-blog .article-body ul, .pg-templates-template-blog .article-body ol { padding-left:24px; margin-bottom:20px; }
.pg-templates-template-blog .article-body li { font-size:0.95rem; color:var(--cmc-text-secondary); line-height:1.7; margin-bottom:6px; }
.pg-templates-template-blog .article-body blockquote { background:var(--cmc-surface-alt); border-left:4px solid var(--cmc-maroon); padding:18px 24px; border-radius:0 10px 10px 0; margin:24px 0; font-style:italic; font-size:1rem; color:var(--cmc-text-secondary); line-height:1.7; }
.pg-templates-template-blog .article-body blockquote cite { display:block; margin-top:10px; font-style:normal; font-size:0.85rem; font-weight:700; color:var(--cmc-maroon); }
.pg-templates-template-blog .article-body code { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-radius:4px; padding:2px 7px; font-family:monospace; font-size:0.88em; color:var(--cmc-maroon); }
.pg-templates-template-blog .article-body pre { background:#1a1c1c; color:#e5e7eb; border-radius:10px; padding:20px 24px; overflow-x:auto; margin:20px 0; font-size:0.88rem; line-height:1.6; }
.pg-templates-template-blog .callout { border-radius:10px; padding:16px 20px; margin:24px 0; display:flex; gap:12px; align-items:flex-start; }
.pg-templates-template-blog .callout.info { background:#eff6ff; border:1px solid #bfdbfe; }
.pg-templates-template-blog .callout.warning { background:#fffbeb; border:1px solid #fde68a; }
.pg-templates-template-blog .callout.critical { background:#fef2f2; border:1px solid #fecaca; }
.pg-templates-template-blog .callout-icon { font-size:1.2rem; flex-shrink:0; margin-top:2px; }
.pg-templates-template-blog .callout-text { font-size:0.9rem; color:var(--cmc-text-secondary); line-height:1.6; }
.pg-templates-template-blog .callout-text strong { color:var(--cmc-text); }
.pg-templates-template-blog .share-strip { max-width:760px; margin:0 auto; padding:24px 24px 0; border-top:1px solid var(--cmc-border); display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.pg-templates-template-blog .share-label { font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.09em; color:var(--cmc-text-muted); }
.pg-templates-template-blog .share-btns { display:flex; gap:8px; flex-wrap:wrap; }
.pg-templates-template-blog .share-btn { display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; border:1px solid var(--cmc-border); background:#fff; color:var(--cmc-text-secondary); cursor:pointer; transition:all 0.18s; }
.pg-templates-template-blog .share-btn:hover { border-color:var(--cmc-maroon); color:var(--cmc-maroon); background:var(--cmc-surface-alt); }
.pg-templates-template-blog .share-btn.copied { background:var(--cmc-surface-alt); color:var(--cmc-maroon); border-color:var(--cmc-maroon); }
.pg-templates-template-blog .related-section { background:var(--cmc-surface); padding:56px 0; margin-top:56px; }
.pg-templates-template-blog .related-inner { max-width:1100px; margin:0 auto; padding:0 24px; }
.pg-templates-template-blog .related-inner h2 { font-size:1.2rem; font-weight:800; margin-bottom:24px; }
.pg-templates-template-blog .related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.pg-templates-template-blog .related-card { background:#fff; border:1px solid var(--cmc-border); border-radius:12px; overflow:hidden; box-shadow:var(--shadow-sm); transition:transform 0.2s,box-shadow 0.2s; }
.pg-templates-template-blog .related-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.pg-templates-template-blog .related-card-color { height:80px; display:flex; align-items:center; padding-left:20px; font-size:1.8rem; }
.pg-templates-template-blog .related-card-color.maroon { background:linear-gradient(135deg,var(--cmc-maroon-dark),var(--cmc-maroon)); }
.pg-templates-template-blog .related-card-color.navy { background:linear-gradient(135deg,#0f1c38,var(--navy)); }
.pg-templates-template-blog .related-card-color.green { background:linear-gradient(135deg,#064e3b,#059669); }
.pg-templates-template-blog .related-card-body { padding:16px; }
.pg-templates-template-blog .related-card-cat { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:var(--cmc-maroon); margin-bottom:6px; }
.pg-templates-template-blog .related-card h3 { font-size:0.9rem; font-weight:700; margin-bottom:6px; line-height:1.35; }
.pg-templates-template-blog .related-card p { font-size:0.82rem; color:var(--cmc-text-muted); line-height:1.5; margin-bottom:12px; }
.pg-templates-template-blog .related-card-date { font-size:0.75rem; color:var(--cmc-text-muted); }
@media (max-width:900px) { .pg-templates-template-blog .header-nav { display:none; } .pg-templates-template-blog .hamburger { display:block; } .pg-templates-template-blog .related-grid { grid-template-columns:1fr 1fr; } .pg-templates-template-blog .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-templates-template-blog .related-grid { grid-template-columns:1fr; } .pg-templates-template-blog .footer-grid { grid-template-columns:1fr; } }

/* ── pg-templates-template-guide ──────────────────────────────────────────── */
.pg-templates-template-guide .header-nav > li > a:hover, .pg-templates-template-guide .header-nav > li > a:focus { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-templates-template-guide .header-nav > li > a.active { color:var(--cmc-maroon); }
.pg-templates-template-guide .page-hero { background:linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--cmc-maroon) 60%, var(--cmc-accent) 100%); padding:40px 0; }
.pg-templates-template-guide .step-body p { font-size:0.9rem; color:var(--cmc-text-secondary); line-height:1.65; margin-bottom:16px; }
.pg-templates-template-guide .screenshot-placeholder { background:var(--cmc-surface); border:2px dashed var(--cmc-border); border-radius:10px; height:200px; display:flex; align-items:center; justify-content:center; color:var(--cmc-text-muted); font-size:0.85rem; font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:0.05em; margin-bottom:12px; }
.pg-templates-template-guide .help-card h4 { color:#fff; border-bottom:1px solid rgba(255,255,255,0.2); }
.pg-templates-template-guide .btn { display:inline-flex; align-items:center; gap:6px; padding:9px 20px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.8rem; font-weight:700; cursor:pointer; transition:background 0.18s,transform 0.15s; text-decoration:none; border:none; }
.pg-templates-template-guide .btn-maroon:hover { background:var(--cmc-maroon-hover); }
@media (max-width:900px) { .pg-templates-template-guide .content-wrap { grid-template-columns:1fr; } .pg-templates-template-guide .sidebar { position:static; } .pg-templates-template-guide .header-nav { display:none; } .pg-templates-template-guide .hamburger { display:block; } .pg-templates-template-guide .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-templates-template-home ──────────────────────────────────────────── */
:root {
  --green: #1a7a4a;
  --green-light: #e8f5ee;
}

.pg-templates-template-home h1, .pg-templates-template-home h2, .pg-templates-template-home h3, .pg-templates-template-home h4, .pg-templates-template-home h5, .pg-templates-template-home h6 { font-family: 'Montserrat', sans-serif; }
.pg-templates-template-home .announcement-bar { background: var(--cmc-maroon-dark); color: #fff; text-align: center; padding: 10px 20px; font-size: 0.85rem; font-family: 'Montserrat', sans-serif; font-weight: 500; letter-spacing: 0.01em; }
.pg-templates-template-home .announcement-bar a { color: var(--cmc-maroon-light); text-decoration: underline; }
.pg-templates-template-home .header-nav > li > a:hover, .pg-templates-template-home .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-templates-template-home .dropdown:hover .dropdown-menu, .pg-templates-template-home .dropdown:focus-within .dropdown-menu { display: block; }
/* .dropdown-wide / -section / -label overrides removed — they were page-scoped
   copies of the shared mega-menu rules (see section 3) and pinned this page to
   the old flex layout. Shared nav look belongs in section 3 only. */
.pg-templates-template-home .mobile-nav .mobile-section { margin-bottom: 8px; }
.pg-templates-template-home .mobile-nav .mobile-label { font-family: 'Montserrat', sans-serif; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--cmc-maroon); padding: 8px 12px 4px; }
.pg-templates-template-home .hero { position: relative; background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--cmc-maroon) 55%, var(--cmc-accent) 100%); min-height: 520px; display: flex; align-items: center; overflow: hidden; }
.pg-templates-template-home .hero-bg { position: absolute; inset: 0; background-image: url('i/cmc-hero-bg.jpg'); background-size: cover; background-position: center; opacity: 0.15; mix-blend-mode: luminosity; }
.pg-templates-template-home .hero-content { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; padding: 64px 24px; width: 100%; }
.pg-templates-template-home .hero-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 20px; }
.pg-templates-template-home .hero h1 { font-family: 'Montserrat', sans-serif; font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 800; color: #fff; line-height: 1.15; max-width: 640px; margin-bottom: 16px; text-shadow: 0 2px 12px rgba(0,0,0,0.2); }
.pg-templates-template-home .hero-sub { font-size: 1.05rem; color: rgba(255,255,255,0.85); max-width: 520px; margin-bottom: 40px; line-height: 1.65; }
.pg-templates-template-home .hero-cards { display: flex; gap: 20px; flex-wrap: wrap; }
.pg-templates-template-home .hero-card { background: rgba(255,255,255,0.97); border-radius: 12px; padding: 24px 28px; min-width: 240px; max-width: 300px; box-shadow: var(--shadow-lg); position: relative; overflow: hidden; transition: transform 0.22s, box-shadow 0.22s; }
.pg-templates-template-home .hero-card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(0,0,0,0.18); }
.pg-templates-template-home .hero-card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--cmc-maroon); border-radius: 4px 0 0 4px; }
.pg-templates-template-home .hero-card.navy::before { background: var(--navy); }
.pg-templates-template-home .hero-card h3 { font-size: 0.95rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 6px; }
.pg-templates-template-home .hero-card p { font-size: 0.82rem; color: var(--cmc-text-muted); margin-bottom: 16px; line-height: 1.5; }
.pg-templates-template-home .btn { display: inline-flex; align-items: center; gap: 6px; padding: 9px 20px; border-radius: 9999px; font-family: 'Montserrat', sans-serif; font-size: 0.8rem; font-weight: 700; cursor: pointer; transition: background 0.18s, transform 0.15s; text-decoration: none; border: none; }
.pg-templates-template-home .btn-navy { background: var(--navy); color: #fff; }
.pg-templates-template-home .btn-navy:hover { background: var(--navy-hover); transform: translateY(-1px); }
.pg-templates-template-home .btn-outline { background: transparent; border: 2px solid var(--cmc-maroon); color: var(--cmc-maroon); }
.pg-templates-template-home .btn-outline:hover { background: var(--cmc-maroon); color: #fff; }
.pg-templates-template-home .status-ticker { background: var(--cmc-surface); border-bottom: 1px solid var(--cmc-border); padding: 10px 0; overflow: hidden; }
.pg-templates-template-home .status-inner { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; gap: 32px; flex-wrap: wrap; }
.pg-templates-template-home .status-label { font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; color: var(--cmc-text-muted); flex-shrink: 0; }
.pg-templates-template-home .status-items { display: flex; gap: 20px; flex-wrap: wrap; align-items: center; }
.pg-templates-template-home .status-item { display: flex; align-items: center; gap: 7px; font-size: 0.83rem; color: var(--cmc-text-secondary); }
.pg-templates-template-home .status-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; animation: pulse-green 2.5s infinite; }
.pg-templates-template-home .status-dot.green { background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,0.2); }
.pg-templates-template-home .status-dot.yellow { background: #f59e0b; box-shadow: 0 0 0 3px rgba(245,158,11,0.2); animation: none; }
.pg-templates-template-home .status-dot.red { background: #ef4444; box-shadow: 0 0 0 3px rgba(239,68,68,0.2); animation: none; }
@keyframes pulse-green { 0%,100%{box-shadow:0 0 0 3px rgba(34,197,94,0.2)} 50%{box-shadow:0 0 0 6px rgba(34,197,94,0.1)} }
.pg-templates-template-home section { padding: 72px 0; }
.pg-templates-template-home .section-eyebrow { font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--cmc-maroon); margin-bottom: 10px; }
.pg-templates-template-home .section-title { font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 800; margin-bottom: 12px; }
.pg-templates-template-home .section-subtitle { font-size: 1rem; color: var(--cmc-text-muted); max-width: 560px; line-height: 1.65; }
.pg-templates-template-home .contact-section { background: var(--cmc-surface-alt); }
.pg-templates-template-home .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 40px; }
.pg-templates-template-home .contact-card { background: #fff; border-radius: 16px; padding: 36px; display: flex; flex-direction: column; box-shadow: var(--shadow-md); border: 1px solid var(--cmc-border); transition: transform 0.22s, box-shadow 0.22s; }
.pg-templates-template-home .contact-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.pg-templates-template-home .contact-icon { width: 56px; height: 56px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; margin-bottom: 20px; }
.pg-templates-template-home .contact-icon.maroon { background: var(--cmc-surface-alt); }
.pg-templates-template-home .contact-icon.navy { background: #eef0f7; }
.pg-templates-template-home .contact-card h3 { font-size: 1.2rem; font-weight: 700; margin-bottom: 10px; }
.pg-templates-template-home .contact-card p { font-size: 0.9rem; color: var(--cmc-text-muted); line-height: 1.65; flex: 1; margin-bottom: 24px; }
.pg-templates-template-home .highlights-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-templates-template-home .highlight-card { background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid var(--cmc-border); box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-templates-template-home .highlight-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-templates-template-home .highlight-img { height: 180px; background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-accent)); position: relative; overflow: hidden; }
.pg-templates-template-home .highlight-img-alt { background: linear-gradient(135deg, var(--navy), #3b52a0); }
.pg-templates-template-home .highlight-img-alt2 { background: linear-gradient(135deg, #1a7a4a, #34a871); }
.pg-templates-template-home .highlight-img-emoji { position: absolute; bottom: 16px; left: 20px; font-size: 2.5rem; }
.pg-templates-template-home .highlight-body { padding: 20px; }
.pg-templates-template-home .tag-chip { display: inline-block; padding: 3px 10px; border-radius: 9999px; font-size: 0.7rem; font-weight: 700; font-family: 'Montserrat', sans-serif; letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: 10px; }
.pg-templates-template-home .tag-chip.maroon { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-templates-template-home .tag-chip.navy { background: #eef0f7; color: var(--navy); }
.pg-templates-template-home .tag-chip.green { background: var(--green-light); color: var(--green); }
.pg-templates-template-home .highlight-card h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: 8px; line-height: 1.35; }
.pg-templates-template-home .highlight-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; margin-bottom: 16px; }
.pg-templates-template-home .link-arrow { font-size: 0.83rem; font-weight: 600; color: var(--cmc-maroon); display: flex; align-items: center; gap: 5px; }
.pg-templates-template-home .link-arrow:hover { gap: 9px; }
.pg-templates-template-home .link-arrow svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-templates-template-home .link-arrow:hover svg { transform: translateX(3px); }
.pg-templates-template-home .guides-section { background: var(--cmc-surface); }
.pg-templates-template-home .guides-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px; }
.pg-templates-template-home .guide-card { background: #fff; border-radius: 12px; padding: 24px; border: 1px solid var(--cmc-border); box-shadow: var(--shadow-sm); display: flex; gap: 16px; align-items: flex-start; transition: transform 0.2s, box-shadow 0.2s; }
.pg-templates-template-home .guide-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.pg-templates-template-home .guide-badge { width: 40px; height: 40px; border-radius: 10px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-family: 'Montserrat', sans-serif; font-size: 0.7rem; font-weight: 800; color: var(--cmc-maroon); flex-shrink: 0; text-align: center; line-height: 1.2; }
.pg-templates-template-home .guide-card h4 { font-size: 0.92rem; font-weight: 700; margin-bottom: 5px; }
.pg-templates-template-home .guide-card p { font-size: 0.82rem; color: var(--cmc-text-muted); line-height: 1.5; margin-bottom: 10px; }
.pg-templates-template-home .step-count { font-size: 0.75rem; color: var(--cmc-text-muted); font-weight: 600; }
.pg-templates-template-home .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; }
@media (max-width: 1024px) { .pg-templates-template-home .header-nav { display: none; } .pg-templates-template-home .hamburger { display: block; } .pg-templates-template-home .contact-grid, .pg-templates-template-home .highlights-grid, .pg-templates-template-home .guides-grid { grid-template-columns: 1fr 1fr; } .pg-templates-template-home .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-templates-template-home .hero-cards { flex-direction: column; } .pg-templates-template-home .hero-card { max-width: 100%; } .pg-templates-template-home .contact-grid, .pg-templates-template-home .highlights-grid, .pg-templates-template-home .guides-grid, .pg-templates-template-home .footer-grid { grid-template-columns: 1fr; } .pg-templates-template-home section { padding: 48px 0; } }

/* ── pg-templates-template-policy ──────────────────────────────────────────── */
/* ── Policy page hero layout ────────────────────────────── */
.pg-templates-template-policy .page-hero-inner { display:block; }
@media (max-width:640px) { .pg-templates-template-policy .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; } .pg-templates-template-policy .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; } }
.pg-templates-template-policy .page-hero { background:linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--cmc-maroon) 60%, var(--cmc-accent) 100%); padding:44px 0; }
.pg-templates-template-policy .hero-text-wrap { }
.pg-templates-template-policy .page-hero h1 { font-size:clamp(1.4rem,2.8vw,2.2rem); font-weight:800; color:#fff; line-height:1.2; margin-bottom:8px; }
.pg-templates-template-policy .toc-list { list-style:none; padding:0; }
.pg-templates-template-policy .toc-list li a { display:block; padding:7px 10px; font-size:0.83rem; color:var(--cmc-text-muted); border-left:2px solid var(--cmc-border); transition:all 0.18s; line-height:1.4; }
.pg-templates-template-policy .toc-list li a:hover, .pg-templates-template-policy .toc-list li a.active { border-left-color:var(--cmc-maroon); color:var(--cmc-maroon); background:var(--cmc-surface-alt); }
.pg-templates-template-policy .policy-body blockquote { background:var(--cmc-surface); border-left:3px solid var(--cmc-maroon); padding:16px 20px; border-radius:0 8px 8px 0; margin:20px 0; font-style:italic; color:var(--cmc-text-secondary); font-size:0.9rem; }
.pg-templates-template-policy .policy-table { width:100%; border-collapse:collapse; margin:20px 0; font-size:0.85rem; border-radius:10px; overflow:hidden; border:1px solid var(--cmc-border); }
.pg-templates-template-policy .policy-table thead { background:var(--cmc-maroon); color:#fff; }
.pg-templates-template-policy .policy-table th { padding:12px 16px; text-align:left; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.07em; }
.pg-templates-template-policy .policy-table td { padding:11px 16px; border-bottom:1px solid var(--cmc-border); color:var(--cmc-text-secondary); vertical-align:top; line-height:1.5; }
.pg-templates-template-policy .policy-table tr:last-child td { border-bottom:none; }
.pg-templates-template-policy .policy-table tr:nth-child(even) td { background:var(--cmc-surface); }
.pg-templates-template-policy .class-badge { display:inline-block; padding:3px 10px; border-radius:9999px; font-size:0.72rem; font-weight:700; font-family:'Montserrat',sans-serif; }
.pg-templates-template-policy .class-p1 { background:#fef2f2; color:#991b1b; }
.pg-templates-template-policy .class-p2 { background:#fff7ed; color:#9a3412; }
.pg-templates-template-policy .class-p3 { background:#fffbeb; color:#92400e; }
.pg-templates-template-policy .class-p4 { background:#f0fdf4; color:#166534; }
.pg-templates-template-policy .action-btn-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; }
.pg-templates-template-policy .action-btn-icon.red { background:#fef2f2; }
.pg-templates-template-policy .action-btn-icon.orange { background:#fff7ed; }
@media (max-width:1100px) { .pg-templates-template-policy .policy-wrap { grid-template-columns:1fr; } .pg-templates-template-policy .toc-sidebar, .pg-templates-template-policy .policy-sidebar { position:static; } .pg-templates-template-policy .header-nav { display:none; } .pg-templates-template-policy .hamburger { display:block; } .pg-templates-template-policy .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-templates-template-project ──────────────────────────────────────────── */
:root {
  --green: #16a34a;
  --green-bg: #f0fdf4;
}

.pg-templates-template-project .page-hero { background:linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--cmc-maroon) 55%, var(--cmc-accent) 100%); padding:52px 0; position:relative; overflow:hidden; }
.pg-templates-template-project .page-hero::after { content:''; position:absolute; right:-80px; top:-80px; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.04); pointer-events:none; }
.pg-templates-template-project .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.pg-templates-template-project .hero-title-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.pg-templates-template-project .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; text-shadow:0 2px 10px rgba(0,0,0,0.2); }
.pg-templates-template-project .status-badge-hero { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; white-space:nowrap; }
.pg-templates-template-project .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-templates-template-project .status-badge-hero.complete { background:rgba(34,197,94,0.2); color:#4ade80; border:1px solid rgba(34,197,94,0.4); }
.pg-templates-template-project .status-badge-hero.planning { background:rgba(147,197,253,0.2); color:#93c5fd; border:1px solid rgba(147,197,253,0.3); }
.pg-templates-template-project .hero-partner { font-size:0.88rem; color:rgba(255,255,255,0.7); margin-top:8px; }
.pg-templates-template-project .hero-partner strong { color:rgba(255,255,255,0.95); }
.pg-templates-template-project .project-meta { background:#fff; border-bottom:1px solid var(--cmc-border); box-shadow:var(--shadow-sm); }
.pg-templates-template-project .project-meta-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); }
.pg-templates-template-project .meta-item { padding:18px 20px; border-right:1px solid var(--cmc-border); }
.pg-templates-template-project .meta-item:last-child { border-right:none; }
.pg-templates-template-project .meta-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-text-muted); margin-bottom:4px; }
.pg-templates-template-project .meta-value { font-family:'Montserrat',sans-serif; font-size:0.92rem; font-weight:700; color:var(--cmc-text); }
.pg-templates-template-project .timeline-section { padding:56px 0; }
.pg-templates-template-project .section-title { font-size:1.4rem; font-weight:800; margin-bottom:32px; }
.pg-templates-template-project .timeline-track { position:relative; padding:8px 0; }
.pg-templates-template-project .timeline-track::before { content:''; position:absolute; top:28px; left:28px; right:28px; height:3px; background:var(--cmc-border); z-index:0; }
.pg-templates-template-project .timeline-steps { display:flex; justify-content:space-between; position:relative; z-index:1; gap:8px; }
.pg-templates-template-project .timeline-step { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pg-templates-template-project .timeline-node { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; font-size:1.1rem; border:3px solid; transition:transform 0.2s; }
.pg-templates-template-project .timeline-node:hover { transform:scale(1.08); }
.pg-templates-template-project .timeline-node.done { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; }
.pg-templates-template-project .timeline-node.active { background:#fff; border-color:var(--cmc-maroon); color:var(--cmc-maroon); box-shadow:0 0 0 4px rgba(116,0,28,0.15); }
.pg-templates-template-project .timeline-node.pending { background:#fff; border-color:var(--cmc-border); color:var(--cmc-text-muted); }
.pg-templates-template-project .timeline-phase { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text); margin-bottom:3px; }
.pg-templates-template-project .timeline-date { font-size:0.73rem; color:var(--cmc-text-muted); }
.pg-templates-template-project .impact-section { background:var(--cmc-surface-alt); padding:56px 0; }
.pg-templates-template-project .impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:8px; }
.pg-templates-template-project .impact-text p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-templates-template-project .metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pg-templates-template-project .metric-card { background:#fff; border-radius:12px; padding:20px; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--cmc-border); }
.pg-templates-template-project .metric-value { font-family:'Montserrat',sans-serif; font-size:2rem; font-weight:800; color:var(--cmc-maroon); line-height:1; margin-bottom:6px; }
.pg-templates-template-project .metric-label { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-templates-template-project .content-section { padding:56px 0; }
.pg-templates-template-project .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-templates-template-project .content-body { max-width:760px; }
.pg-templates-template-project .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-templates-template-project .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-templates-template-project .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-templates-template-project .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-templates-template-project .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.pg-templates-template-project .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.pg-templates-template-project .gallery-placeholder { background:var(--cmc-surface); border:2px dashed var(--cmc-border); border-radius:10px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; color:var(--cmc-text-muted); font-size:0.8rem; font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:0.05em; }
@media (max-width:900px) { .pg-templates-template-project .header-nav { display:none; } .pg-templates-template-project .hamburger { display:block; } .pg-templates-template-project .project-meta-inner { grid-template-columns:1fr 1fr; } .pg-templates-template-project .meta-item:nth-child(2) { border-right:none; } .pg-templates-template-project .timeline-steps { flex-wrap:wrap; } .pg-templates-template-project .timeline-track::before { display:none; } .pg-templates-template-project .impact-grid { grid-template-columns:1fr; } .pg-templates-template-project .gallery-grid { grid-template-columns:1fr 1fr; } .pg-templates-template-project .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-templates-template-project .metrics-grid { grid-template-columns:1fr 1fr; } .pg-templates-template-project .gallery-grid { grid-template-columns:1fr; } .pg-templates-template-project .footer-grid { grid-template-columns:1fr; } .pg-templates-template-project .project-meta-inner { grid-template-columns:1fr; } .pg-templates-template-project .meta-item { border-right:none; border-bottom:1px solid var(--cmc-border); } }

/* ── pg-templates-template-request ──────────────────────────────────────────── */
.pg-templates-template-request .page-hero { background:linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--cmc-maroon) 60%, var(--cmc-accent) 100%); padding:44px 0; }
.pg-templates-template-request .page-hero h1 { font-size:clamp(1.6rem,3vw,2.6rem); font-weight:800; color:#fff; line-height:1.15; margin-bottom:8px; }
.pg-templates-template-request .page-hero p { font-size:0.95rem; color:rgba(255,255,255,0.8); max-width:520px; }
.pg-templates-template-request .container { max-width:900px; margin:0 auto; padding:0 24px; }
.pg-templates-template-request .container-wide { max-width:1100px; margin:0 auto; padding:0 24px; }
.pg-templates-template-request .preflight { background:var(--cmc-surface); border-radius:16px; padding:32px; margin:40px 0; border:1px solid var(--cmc-border); }
.pg-templates-template-request .preflight h2 { font-size:1rem; font-weight:800; margin-bottom:20px; display:flex; align-items:center; gap:10px; }
.pg-templates-template-request .preflight-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pg-templates-template-request .checklist-item { display:flex; align-items:flex-start; gap:12px; background:#fff; border:1px solid var(--cmc-border); border-radius:10px; padding:14px 16px; }
.pg-templates-template-request .check-icon { width:28px; height:28px; border-radius:7px; background:var(--cmc-surface-alt); display:flex; align-items:center; justify-content:center; font-size:0.9rem; flex-shrink:0; }
.pg-templates-template-request .check-icon.done { background:#f0fdf4; }
.pg-templates-template-request .checklist-item h4 { font-size:0.88rem; font-weight:700; margin-bottom:2px; }
.pg-templates-template-request .checklist-item p { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-templates-template-request .process-strip { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:0; margin:40px 0; background:var(--cmc-surface-alt); border-radius:16px; padding:24px 32px; }
.pg-templates-template-request .process-step { text-align:center; }
.pg-templates-template-request .process-num { width:48px; height:48px; border-radius:50%; background:var(--cmc-maroon); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:1.1rem; font-weight:800; margin:0 auto 12px; }
.pg-templates-template-request .process-step h4 { font-size:0.88rem; font-weight:700; margin-bottom:4px; }
.pg-templates-template-request .process-step p { font-size:0.78rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-templates-template-request .process-arrow { font-size:1.5rem; color:var(--cmc-border); padding:0 8px; }
.pg-templates-template-request .fs-section { margin:40px 0; }
.pg-templates-template-request .fs-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-md); }
.pg-templates-template-request .fs-header { background:linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); padding:24px 32px; }
.pg-templates-template-request .fs-header h2 { color:#fff; font-size:1.1rem; font-weight:700; margin-bottom:4px; }
.pg-templates-template-request .fs-header p { color:rgba(255,255,255,0.8); font-size:0.85rem; }
.pg-templates-template-request .fs-body { padding:32px; }
.pg-templates-template-request #freshservice-widget-embed { width:100%; min-height:450px; background:var(--cmc-surface); border-radius:10px; border:2px dashed var(--cmc-border); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:var(--cmc-text-muted); font-size:0.85rem; font-family:'Montserrat',sans-serif; font-weight:600; text-align:center; padding:32px; }
.pg-templates-template-request #freshservice-widget-embed .fs-placeholder-icon { font-size:2.5rem; }
.pg-templates-template-request .faq-section { margin:48px 0; }
.pg-templates-template-request .faq-section h2 { font-size:1.2rem; font-weight:800; margin-bottom:20px; }
.pg-templates-template-request .faq-list { display:flex; flex-direction:column; gap:8px; }
.pg-templates-template-request .faq-item { border:1px solid var(--cmc-border); border-radius:10px; overflow:hidden; }
.pg-templates-template-request .faq-question { width:100%; background:#fff; border:none; padding:18px 20px; display:flex; justify-content:space-between; align-items:center; cursor:pointer; text-align:left; font-family:'Montserrat',sans-serif; font-size:0.9rem; font-weight:700; color:var(--cmc-text); transition:background 0.18s; }
.pg-templates-template-request .faq-question:hover { background:var(--cmc-surface); }
.pg-templates-template-request .faq-question[aria-expanded="true"] { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-templates-template-request .faq-chevron { font-size:0.75rem; transition:transform 0.25s; flex-shrink:0; }
.pg-templates-template-request .faq-question[aria-expanded="true"] .faq-chevron { transform:rotate(180deg); }
.pg-templates-template-request .faq-answer { display:none; padding:0 20px 18px; font-size:0.9rem; color:var(--cmc-text-secondary); line-height:1.65; background:var(--cmc-surface-alt); border-top:1px solid var(--cmc-border); }
.pg-templates-template-request .faq-answer.open { display:block; animation:slideDown 0.2s ease; }
@keyframes slideDown { from{opacity:0;transform:translateY(-6px)} to{opacity:1;transform:translateY(0)} }
.pg-templates-template-request .faq-answer p { padding-top:14px; }
@media (max-width:900px) { .pg-templates-template-request .header-nav { display:none; } .pg-templates-template-request .hamburger { display:block; } .pg-templates-template-request .preflight-grid { grid-template-columns:1fr; } .pg-templates-template-request .process-strip { grid-template-columns:1fr; gap:16px; } .pg-templates-template-request .process-arrow { transform:rotate(90deg); } .pg-templates-template-request .footer-grid { grid-template-columns:1fr 1fr; } }

/* ── pg-templates-template-service ──────────────────────────────────────────── */
.pg-templates-template-service .header-nav > li > a:hover, .pg-templates-template-service .header-nav > li > a:focus, .pg-templates-template-service .header-nav > li > a.active { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-templates-template-service .page-hero { background:linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--cmc-maroon) 60%, var(--cmc-accent) 100%); padding:44px 0; }
.pg-templates-template-service .content-wrap { max-width:1280px; margin:0 auto; padding:48px 24px; display:grid; grid-template-columns:1fr 340px; gap:48px; align-items:start; }
.pg-templates-template-service .fs-widget-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-md); }
.pg-templates-template-service .fs-widget-header { background:linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); padding:20px 24px; }
.pg-templates-template-service .fs-widget-header h3 { color:#fff; font-size:1rem; font-weight:700; margin-bottom:4px; }
.pg-templates-template-service .fs-widget-header p { color:rgba(255,255,255,0.8); font-size:0.83rem; }
.pg-templates-template-service .fs-embed { width:100%; min-height:400px; border:none; border-radius:8px; background:var(--cmc-surface); display:flex; align-items:center; justify-content:center; }
.pg-templates-template-service #freshservice-widget-embed { width: 100%; min-height: 400px; background: var(--cmc-surface); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: var(--cmc-text-muted); font-size: 0.85rem; font-family: 'Montserrat', sans-serif; font-weight: 600; border: 2px dashed var(--cmc-border); flex-direction: column; gap: 12px; text-align: center; padding: 24px; }
.pg-templates-template-service #freshservice-widget-embed .fs-placeholder-icon { font-size: 2.5rem; }
.pg-templates-template-service .btn { display:inline-flex; align-items:center; gap:6px; padding:9px 20px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.8rem; font-weight:700; cursor:pointer; transition:background 0.18s,transform 0.15s; text-decoration:none; border:none; }
.pg-templates-template-service .btn-full { width:100%; justify-content:center; }
@media (max-width:960px) { .pg-templates-template-service .content-wrap { grid-template-columns:1fr; } .pg-templates-template-service .sidebar { position:static; } .pg-templates-template-service .header-nav { display:none; } .pg-templates-template-service .hamburger { display:block; } .pg-templates-template-service .footer-grid { grid-template-columns:1fr 1fr; } .pg-templates-template-service .details-grid { grid-template-columns:1fr; } .pg-templates-template-service .detail-item { border-right:none !important; } }

/* ── pg-templates-template-solution ──────────────────────────────────────────── */
.pg-templates-template-solution .page-hero { background:linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--cmc-maroon) 55%, var(--cmc-accent) 100%); padding:52px 0; }
.pg-templates-template-solution .tab-btns { display:flex; gap:4px; border-bottom:2px solid var(--cmc-border); margin-bottom:20px; }
.pg-templates-template-solution .use-case-list li::before { content:'✦'; position:absolute; left:0; color:var(--cmc-maroon); font-size:0.7rem; top:13px; }

/* ── pg-templates-template-status ──────────────────────────────────────────── */
:root {
  --blue: #2563eb;
  --blue-bg: #eff6ff;
  --blue-border: #bfdbfe;
  --green: #16a34a;
  --green-bg: #f0fdf4;
  --green-border: #bbf7d0;
  --red: #dc2626;
  --red-bg: #fef2f2;
  --red-border: #fecaca;
  --yellow: #d97706;
  --yellow-bg: #fffbeb;
  --yellow-border: #fde68a;
}

.pg-templates-template-status .page-hero { background:linear-gradient(135deg, #0f1c38 0%, var(--navy) 60%, #2a3f70 100%); padding:44px 0; }
.pg-templates-template-status .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
.pg-templates-template-status .page-hero h1 { font-size:clamp(1.5rem,3vw,2.2rem); font-weight:800; color:#fff; margin-bottom:6px; }
.pg-templates-template-status .page-hero p { font-size:0.9rem; color:rgba(255,255,255,0.7); }
.pg-templates-template-status .refresh-badge { display:flex; align-items:center; gap:8px; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2); border-radius:9999px; padding:8px 16px; font-size:0.78rem; color:rgba(255,255,255,0.8); font-family:'Montserrat',sans-serif; font-weight:600; white-space:nowrap; }
.pg-templates-template-status .refresh-dot { width:8px; height:8px; border-radius:50%; background:#22c55e; animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1}50%{opacity:0.4} }
.pg-templates-template-status section { padding:48px 0; }
.pg-templates-template-status .overall-status { margin:36px 0; }
.pg-templates-template-status .overall-banner { display:flex; align-items:center; gap:20px; padding:24px 32px; border-radius:16px; border:2px solid; }
.pg-templates-template-status .overall-banner.operational { background:var(--green-bg); border-color:var(--green-border); }
.pg-templates-template-status .overall-banner.degraded { background:var(--yellow-bg); border-color:var(--yellow-border); }
.pg-templates-template-status .overall-banner.outage { background:var(--red-bg); border-color:var(--red-border); }
.pg-templates-template-status .overall-icon { font-size:2.5rem; flex-shrink:0; }
.pg-templates-template-status .overall-text h2 { font-size:1.4rem; font-weight:800; }
.pg-templates-template-status .overall-text h2.operational { color:var(--green); }
.pg-templates-template-status .overall-text h2.degraded { color:var(--yellow); }
.pg-templates-template-status .overall-text h2.outage { color:var(--red); }
.pg-templates-template-status .overall-text p { font-size:0.9rem; color:var(--cmc-text-muted); margin-top:4px; }
.pg-templates-template-status .section-title { font-size:1.4rem; font-weight:800; margin-bottom:24px; }
.pg-templates-template-status .status-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px,1fr)); gap:16px; }
.pg-templates-template-status .status-card { background:#fff; border:1px solid var(--cmc-border); border-radius:12px; padding:20px; display:flex; align-items:center; gap:16px; box-shadow:var(--shadow-sm); transition:transform 0.18s,box-shadow 0.18s; }
.pg-templates-template-status .status-card:hover { transform:translateY(-2px); box-shadow:var(--shadow-md); }
.pg-templates-template-status .status-indicator { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0; }
.pg-templates-template-status .status-indicator.operational { background:var(--green-bg); }
.pg-templates-template-status .status-indicator.degraded { background:var(--yellow-bg); }
.pg-templates-template-status .status-indicator.outage { background:var(--red-bg); }
.pg-templates-template-status .status-indicator.maintenance { background:var(--blue-bg); }
.pg-templates-template-status .status-info { flex:1; min-width:0; }
.pg-templates-template-status .status-name { font-family:'Montserrat',sans-serif; font-size:0.9rem; font-weight:700; margin-bottom:3px; }
.pg-templates-template-status .status-desc { font-size:0.8rem; color:var(--cmc-text-muted); }
.pg-templates-template-status .status-badge { display:inline-flex; align-items:center; gap:5px; padding:3px 10px; border-radius:9999px; font-size:0.72rem; font-weight:700; font-family:'Montserrat',sans-serif; flex-shrink:0; }
.pg-templates-template-status .status-badge.operational { background:var(--green-bg); color:var(--green); border:1px solid var(--green-border); }
.pg-templates-template-status .status-badge.degraded { background:var(--yellow-bg); color:var(--yellow); border:1px solid var(--yellow-border); }
.pg-templates-template-status .status-badge.outage { background:var(--red-bg); color:var(--red); border:1px solid var(--red-border); }
.pg-templates-template-status .status-badge.maintenance { background:var(--blue-bg); color:var(--blue); border:1px solid var(--blue-border); }
.pg-templates-template-status .status-dot-sm { width:6px; height:6px; border-radius:50%; background:currentColor; }
.pg-templates-template-status .incidents-section { background:var(--cmc-surface); border-radius:16px; padding:32px; }
.pg-templates-template-status .incident-timeline { display:flex; flex-direction:column; gap:0; }
.pg-templates-template-status .incident-item { display:grid; grid-template-columns:120px 1fr; gap:20px; padding:20px 0; border-bottom:1px solid var(--cmc-border); position:relative; }
.pg-templates-template-status .incident-item:last-child { border-bottom:none; padding-bottom:0; }
.pg-templates-template-status .incident-item:first-child { padding-top:0; }
.pg-templates-template-status .incident-date { font-size:0.78rem; color:var(--cmc-text-muted); font-weight:600; padding-top:2px; }
.pg-templates-template-status .incident-content h4 { font-size:0.92rem; font-weight:700; margin-bottom:4px; }
.pg-templates-template-status .incident-content p { font-size:0.85rem; color:var(--cmc-text-secondary); line-height:1.55; margin-bottom:8px; }
.pg-templates-template-status .incident-tag { display:inline-block; padding:2px 9px; border-radius:9999px; font-size:0.7rem; font-weight:700; font-family:'Montserrat',sans-serif; }
.pg-templates-template-status .incident-tag.resolved { background:var(--green-bg); color:var(--green); }
.pg-templates-template-status .incident-tag.monitoring { background:var(--yellow-bg); color:var(--yellow); }
.pg-templates-template-status .incident-tag.investigating { background:var(--red-bg); color:var(--red); }
.pg-templates-template-status .maintenance-list { display:flex; flex-direction:column; gap:12px; }
.pg-templates-template-status .maintenance-item { display:flex; align-items:flex-start; gap:16px; background:#fff; border:1px solid var(--cmc-border); border-radius:10px; padding:16px 20px; }
.pg-templates-template-status .maintenance-date-block { background:var(--blue-bg); border:1px solid var(--blue-border); border-radius:10px; padding:8px 12px; text-align:center; flex-shrink:0; min-width:60px; }
.pg-templates-template-status .maintenance-month { font-family:'Montserrat',sans-serif; font-size:0.62rem; font-weight:700; text-transform:uppercase; color:var(--blue); letter-spacing:0.08em; }
.pg-templates-template-status .maintenance-day { font-family:'Montserrat',sans-serif; font-size:1.4rem; font-weight:800; color:var(--navy); line-height:1; }
.pg-templates-template-status .maintenance-info h4 { font-size:0.9rem; font-weight:700; margin-bottom:4px; }
.pg-templates-template-status .maintenance-info p { font-size:0.83rem; color:var(--cmc-text-muted); line-height:1.5; }
.pg-templates-template-status .maintenance-time { font-size:0.78rem; font-weight:700; color:var(--blue); margin-top:4px; font-family:'Montserrat',sans-serif; }
.pg-templates-template-status .site-footer { background:var(--cmc-maroon-dark); color:rgba(255,255,255,0.85); padding:56px 0 0; margin-top:0; }
@media (max-width:900px) { .pg-templates-template-status .header-nav { display:none; } .pg-templates-template-status .hamburger { display:block; } .pg-templates-template-status .incident-item { grid-template-columns:1fr; gap:4px; } .pg-templates-template-status .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-templates-template-status .footer-grid { grid-template-columns:1fr; } .pg-templates-template-status .page-hero-inner { flex-direction:column; align-items:flex-start; } }

/* ── pg-templates-template-team ──────────────────────────────────────────── */
.pg-templates-template-team .page-hero { background:linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--cmc-maroon) 60%, var(--cmc-accent) 100%); padding:44px 0; }
.pg-templates-template-team .page-hero-inner { display:block; }
.pg-templates-template-team .hero-icon { width:68px; height:68px; border-radius:18px; background:rgba(255,255,255,0.12); border:2px solid rgba(255,255,255,0.25); display:flex; align-items:center; justify-content:center; font-size:1.9rem; flex-shrink:0; }
.pg-templates-template-team .page-hero h1 { font-size:clamp(1.5rem,3vw,2.4rem); font-weight:800; color:#fff; line-height:1.2; }
.pg-templates-template-team section { padding:56px 0; }
.pg-templates-template-team .section-title { font-size:1.5rem; font-weight:800; margin-bottom:8px; }
.pg-templates-template-team .section-subtitle { font-size:0.95rem; color:var(--cmc-text-muted); margin-bottom:36px; }
.pg-templates-template-team .org-section { background:var(--cmc-surface); }
.pg-templates-template-team .org-chart { display:flex; flex-direction:column; align-items:center; gap:0; padding:8px 0; overflow-x:auto; }
.pg-templates-template-team .org-row { display:flex; justify-content:center; gap:24px; position:relative; width:100%; }
.pg-templates-template-team .org-node { background:#fff; border:2px solid var(--cmc-border); border-radius:12px; padding:14px 20px; text-align:center; min-width:160px; box-shadow:var(--shadow-sm); position:relative; transition:border-color 0.18s,box-shadow 0.18s; }
.pg-templates-template-team .org-node:hover { border-color:var(--cmc-maroon); box-shadow:var(--shadow-md); }
.pg-templates-template-team .org-node.cio { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; }
.pg-templates-template-team .org-node.cio .org-title { color:rgba(255,255,255,0.75); }
.pg-templates-template-team .org-node.wing { border-color:var(--cmc-maroon); }
.pg-templates-template-team .org-name { font-family:'Montserrat',sans-serif; font-size:0.85rem; font-weight:700; }
.pg-templates-template-team .org-title { font-size:0.75rem; color:var(--cmc-text-muted); margin-top:3px; }
.pg-templates-template-team .org-connector-down { width:2px; height:32px; background:var(--cmc-border); margin:0 auto; }
.pg-templates-template-team .org-connector-row { display:flex; justify-content:center; position:relative; width:100%; margin-bottom:0; }
.pg-templates-template-team .org-connector-h { height:2px; background:var(--cmc-border); position:absolute; top:0; }
.pg-templates-template-team .leadership-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.pg-templates-template-team .leader-card { background:#fff; border:1px solid var(--cmc-border); border-radius:16px; padding:28px; display:flex; gap:20px; box-shadow:var(--shadow-sm); transition:transform 0.2s,box-shadow 0.2s; align-items:flex-start; }
.pg-templates-template-team .leader-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.pg-templates-template-team .leader-avatar { width:64px; height:64px; border-radius:50%; background:var(--cmc-maroon); display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:1.3rem; font-weight:800; color:#fff; flex-shrink:0; letter-spacing:-0.02em; }
.pg-templates-template-team .leader-avatar.navy { background:var(--navy); }
.pg-templates-template-team .leader-avatar.accent { background:var(--cmc-accent); }
.pg-templates-template-team .leader-info h3 { font-size:1rem; font-weight:800; margin-bottom:2px; }
.pg-templates-template-team .leader-title { font-size:0.83rem; color:var(--cmc-maroon); font-weight:600; margin-bottom:4px; }
.pg-templates-template-team .leader-wing { display:inline-block; font-size:0.7rem; font-family:'Montserrat',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:0.07em; background:var(--cmc-surface-alt); color:var(--cmc-text-muted); padding:2px 8px; border-radius:9999px; margin-bottom:8px; }
.pg-templates-template-team .leader-bio { font-size:0.85rem; color:var(--cmc-text-secondary); line-height:1.6; }
.pg-templates-template-team .team-section { background:var(--cmc-surface); }
.pg-templates-template-team .team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.pg-templates-template-team .team-card { background:#fff; border:1px solid var(--cmc-border); border-radius:12px; padding:20px; display:flex; gap:14px; align-items:center; box-shadow:var(--shadow-sm); transition:transform 0.2s; }
.pg-templates-template-team .team-card:hover { transform:translateY(-2px); box-shadow:var(--shadow-md); }
.pg-templates-template-team .team-avatar { width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:0.95rem; font-weight:800; color:#fff; flex-shrink:0; }
.pg-templates-template-team .team-avatar.c1 { background:#74001c; }
.pg-templates-template-team .team-avatar.c2 { background:#1a2744; }
.pg-templates-template-team .team-avatar.c3 { background:#ac3040; }
.pg-templates-template-team .team-avatar.c4 { background:#4c000f; }
.pg-templates-template-team .team-avatar.c5 { background:#2a3f70; }
.pg-templates-template-team .team-avatar.c6 { background:#8b162a; }
.pg-templates-template-team .team-info h4 { font-size:0.88rem; font-weight:700; margin-bottom:2px; }
.pg-templates-template-team .team-role { font-size:0.78rem; color:var(--cmc-text-muted); }
.pg-templates-template-team .team-wing-badge { font-size:0.68rem; font-family:'Montserrat',sans-serif; font-weight:700; color:var(--cmc-maroon); text-transform:uppercase; letter-spacing:0.06em; }
@media (max-width:1024px) { .pg-templates-template-team .team-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:900px) { .pg-templates-template-team .header-nav { display:none; } .pg-templates-template-team .hamburger { display:block; } .pg-templates-template-team .leadership-grid { grid-template-columns:1fr; } .pg-templates-template-team .org-row { flex-wrap:wrap; } .pg-templates-template-team .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .pg-templates-template-team .team-grid { grid-template-columns:1fr; } .pg-templates-template-team .footer-grid { grid-template-columns:1fr; } }
/* ═══════════════════════════════════════════════════════════════════════════
   DIGITAL ACCESSIBILITY PAGES — Shared Component Styles
   Covers: services/digital-accessibility/, guides/accessibility/,
           solutions/accessibility/, security/accessibility-compliance.html
   ═══════════════════════════════════════════════════════════════════════════ */

/* Philosophy strip — dark gradient, used on hub page */
.philosophy-strip { background:linear-gradient(135deg,#1e1b4b,#312e81); border-radius:16px; padding:32px; color:#fff; margin-bottom:44px; }
.philosophy-strip > h2 { font-size:1.1rem; font-weight:800; margin-bottom:20px; color:#fff; border:none; padding:0; }
.philosophy-items { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.phi-item { display:flex; align-items:flex-start; gap:10px; }
.phi-dot { width:8px; height:8px; border-radius:50%; background:#a78bfa; margin-top:6px; flex-shrink:0; }
.phi-item h4 { font-size:0.85rem; font-weight:700; color:#e0e7ff; margin-bottom:2px; }
.phi-item p { font-size:0.8rem; color:rgba(255,255,255,0.65); line-height:1.5; margin:0; }

/* Principles grid — numbered cards */
.principles-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
.principle-item { display:flex; align-items:flex-start; gap:12px; background:var(--cmc-surface); border-radius:10px; padding:14px; }
.principle-num { width:28px; height:28px; border-radius:50%; background:var(--cmc-maroon); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:800; flex-shrink:0; }
.principle-item h4 { font-size:0.85rem; font-weight:700; margin-bottom:2px; }
.principle-item h3 { font-size:0.85rem; font-weight:700; margin-bottom:2px; }
.principle-item p { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.45; margin:0; }

/* Guide card grid — resource library index */
.guide-card-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
.guide-card-item { border:1px solid var(--cmc-border); border-radius:12px; padding:18px; background:#fff; text-decoration:none; color:inherit; transition:border-color 0.18s, box-shadow 0.18s; display:flex; flex-direction:column; gap:8px; }
.guide-card-item:hover { border-color:var(--cmc-maroon); box-shadow:0 4px 16px rgba(116,0,28,0.10); }
.guide-card-item .gc-icon { font-size:1.5rem; line-height:1; }
.guide-card-item h4 { font-size:0.92rem; font-weight:700; color:var(--cmc-text); margin:0; }
.guide-card-item p { font-size:0.83rem; color:var(--cmc-text-muted); line-height:1.5; margin:0; flex-grow:1; }
.guide-card-item .gc-cta { font-size:0.78rem; font-weight:700; color:var(--cmc-maroon); font-family:'Montserrat',sans-serif; margin-top:4px; }
.guide-tag { display:inline-block; font-size:0.68rem; font-weight:700; font-family:'Montserrat',sans-serif; padding:2px 7px; border-radius:9999px; background:var(--cmc-surface); color:var(--cmc-text-muted); border:1px solid var(--cmc-border); margin-right:4px; }

/* Tool card grid — solutions/accessibility/index */
.da-tool-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:16px; }
.da-tool-card { border:1px solid var(--cmc-border); border-radius:12px; padding:20px; background:#fff; text-decoration:none; color:inherit; transition:border-color 0.18s, box-shadow 0.18s; display:flex; flex-direction:column; gap:10px; }
.da-tool-card:hover { border-color:var(--cmc-maroon); box-shadow:0 4px 16px rgba(116,0,28,0.10); }
.da-tool-card .tool-icon-wrap { font-size:1.6rem; line-height:1; }
.da-tool-card h4 { font-size:0.92rem; font-weight:700; color:var(--cmc-text); margin:0; }
.da-tool-card .tool-audience { font-size:0.75rem; font-weight:700; font-family:'Montserrat',sans-serif; color:var(--cmc-text-muted); text-transform:uppercase; letter-spacing:0.06em; }
.da-tool-card p { font-size:0.83rem; color:var(--cmc-text-muted); line-height:1.5; margin:0; flex-grow:1; }
.da-tool-card .tool-link { font-size:0.78rem; font-weight:700; color:var(--cmc-maroon); font-family:'Montserrat',sans-serif; }

/* Warning banner — informational / caution */
.warning-banner { background:#fff7ed; border:1px solid #fed7aa; border-left:4px solid #ea580c; border-radius:10px; padding:16px 20px; margin:16px 0 24px; }
/* Row layout only where there is an icon to sit beside the text; a banner holding
   a bare sentence (or two stacked <p>s) stays in normal flow. */
.warning-banner:has(> .w-icon, > .warn-icon, > .warning-banner-icon) { display:flex; align-items:flex-start; gap:12px; }
.warning-banner .w-icon { font-size:1.2rem; flex-shrink:0; margin-top:2px; }
.warning-banner h4 { font-size:0.9rem; font-weight:800; color:#9a3412; margin-bottom:4px; }
.warning-banner p { font-size:0.85rem; color:#7c2d12; line-height:1.5; margin:0; }
.warning-banner.info { background:#eff6ff; border-color:#93c5fd; border-left-color:#2563eb; }
.warning-banner.info h4 { color:#1e40af; }
.warning-banner.info p { color:#1e3a8a; }

/* Highlight box — used for consortium/important callouts */
.highlight-box { background:#eff6ff; border:1px solid #bfdbfe; border-radius:12px; padding:20px 24px; margin:16px 0 24px; }
.highlight-box h2, .highlight-box h3 { font-size:0.95rem; font-weight:700; color:#1e40af; margin-bottom:8px; }
.highlight-box p { font-size:0.88rem; color:#1e3a8a; line-height:1.6; margin:0; }
.highlight-box strong { color:#1e3a8a; }

/* Action buttons — sidebar quick actions */
.action-btn { display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:8px; font-size:0.85rem; font-weight:600; color:var(--cmc-text); background:var(--cmc-surface); border:1px solid var(--cmc-border); margin-bottom:8px; cursor:pointer; transition:all 0.18s; text-decoration:none; width:100%; box-sizing:border-box; }
.action-btn:last-child { margin-bottom:0; }
.action-btn:hover { background:var(--cmc-surface-alt); border-color:var(--cmc-maroon); color:var(--cmc-maroon); }
.action-btn-icon { width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; background:var(--cmc-surface-alt); }

/* Comparison grid — two-column compare layout */
.comparison-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:16px 0 24px; }
.comparison-card { border-radius:12px; padding:20px; border:1px solid var(--cmc-border); background:var(--cmc-surface); }
.comparison-card.then { border-left:4px solid var(--cmc-text-muted); }
.comparison-card.now { border-left:4px solid var(--cmc-maroon); }
.comparison-card h4 { font-size:0.9rem; font-weight:800; margin-bottom:12px; color:var(--cmc-text); }
.comparison-card ul { list-style:none; padding:0; margin:0; }
.comparison-card li { font-size:0.85rem; color:var(--cmc-text-secondary); padding:5px 0 5px 18px; position:relative; border-bottom:1px solid var(--cmc-border); line-height:1.5; }
.comparison-card li:last-child { border-bottom:none; }
.comparison-card li::before { content:'•'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }

/* Policy table — used on DA policy pages */
.policy-table { width:100%; border-collapse:collapse; font-size:0.88rem; margin:16px 0 24px; }
.policy-table th { font-family:'Montserrat',sans-serif; font-size:0.73rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:var(--cmc-text-muted); background:var(--cmc-surface-alt); padding:10px 14px; text-align:left; border-bottom:2px solid var(--cmc-border); }
.policy-table td { padding:10px 14px; border-bottom:1px solid var(--cmc-border); color:var(--cmc-text-secondary); line-height:1.5; vertical-align:top; }
.policy-table tr:last-child td { border-bottom:none; }
.policy-table tr:hover td { background:var(--cmc-surface); }

/* Event cards — training schedule */
.event-card { background:var(--cmc-surface); border:1px solid var(--cmc-border); border-left:4px solid var(--cmc-maroon); border-radius:12px; padding:24px; margin-bottom:20px; }
.event-card:last-child { margin-bottom:0; }
.event-date { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-maroon); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:6px; }
.event-card h3 { font-size:1rem; font-weight:800; margin-bottom:8px; color:var(--cmc-text); }
.event-card p { font-size:0.88rem; color:var(--cmc-text-muted); line-height:1.55; margin-bottom:6px; }
.event-card p:last-of-type { margin-bottom:12px; }
.event-presenter { font-style:italic; color:var(--cmc-text-secondary) !important; }

/* Checklist items — used at bottom of guide pages */
.checklist { list-style:none; padding:0; margin:12px 0; }
.checklist li { font-size:0.9rem; color:var(--cmc-text-secondary); padding:7px 0 7px 28px; position:relative; border-bottom:1px solid var(--cmc-surface); line-height:1.5; }
.checklist li:last-child { border-bottom:none; }
.checklist li::before { content:'✓'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }

/* Governance workstream grid */
.workstream-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
.workstream-card { background:var(--cmc-surface); border-radius:10px; padding:16px; border:1px solid var(--cmc-border); }
.workstream-card h4 { font-size:0.88rem; font-weight:800; color:var(--cmc-maroon); margin-bottom:6px; }
.workstream-card p { font-size:0.82rem; color:var(--cmc-text-muted); line-height:1.5; margin:0; }

/* DA Hub hero — standard block-flow hero (matches template-solution/service) */
.pg-services-da-index .page-hero-inner { display:block; }
.pg-services-da-index .page-hero h1 { font-size:clamp(1.4rem,2.8vw,2.2rem); }
.pg-services-da-index .hero-badges { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.pg-services-da-index .hero-badge { display:inline-flex; align-items:center; gap:6px; font-size:0.75rem; font-weight:700; font-family:'Montserrat',sans-serif; padding:5px 12px; border-radius:9999px; background:rgba(255,255,255,0.15); border:1px solid rgba(255,255,255,0.3); color:#fff; letter-spacing:0.03em; }

/* Guide pages — hero eyebrow shield style */
[class^="pg-guides-accessibility"] .page-hero,
[class^="pg-solutions-accessibility"] .page-hero,
.pg-services-da-training .page-hero,
.pg-services-da-report .page-hero,
.pg-services-da-governance .page-hero { padding:40px 0; }

/* Responsive adjustments */
@media (max-width:960px) {
  .philosophy-items { grid-template-columns:1fr; }
  .principles-grid { grid-template-columns:1fr; }
  .comparison-grid { grid-template-columns:1fr; }
  .guide-card-grid { grid-template-columns:1fr; }
  .da-tool-grid { grid-template-columns:1fr; }
  .workstream-grid { grid-template-columns:1fr; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   DA PAGES — Enhanced copy & layout styling
   ═══════════════════════════════════════════════════════════════════════════ */

/* Better section-block heading treatment for DA pages */
[class*="pg-services-da"] .section-block h2,
[class*="pg-guides-accessibility"] .section-block h2,
[class*="pg-solutions-accessibility"] .section-block h2,
.pg-security-accessibility-compliance .section-block h2 {
  font-size:1.3rem;
  font-weight:800;
  color:var(--cmc-text);
  border-left:4px solid var(--cmc-maroon);
  padding-left:14px;
  margin-bottom:18px;
  line-height:1.25;
}

/* Section-block paragraph text */
[class*="pg-services-da"] .section-block p,
[class*="pg-guides-accessibility"] .section-block p,
[class*="pg-solutions-accessibility"] .section-block p,
.pg-security-accessibility-compliance .section-block p {
  font-size:0.93rem;
  color:var(--cmc-text-secondary);
  line-height:1.75;
  margin-bottom:14px;
}

/* Hero for guide pages — compact, no badge row */
[class*="pg-guides-accessibility"] .page-hero,
[class*="pg-solutions-accessibility"] .page-hero { padding:36px 0; }

/* DA pages use standard block-flow hero so the .page-eyebrow pill shrinks to
   its text width (matches template-solution / template-service). No flex column,
   no eyebrow override — the base .page-eyebrow pill style applies. */
[class*="pg-guides-accessibility"] .hero-desc,
[class*="pg-solutions-accessibility"] .hero-desc,
[class*="pg-services-da"] .hero-desc {
  font-size:0.98rem;
  color:#fff;
  line-height:1.65;
  max-width:680px;
  margin-top:14px;
  text-shadow:0 1px 6px rgba(0,0,0,0.35);
}

/* Steps list inside section-block - matching site style exactly */
[class*="pg-guides-accessibility"] .steps-list .step-num,
[class*="pg-solutions-accessibility"] .steps-list .step-num {
  width:52px;
  height:52px;
  border-radius:50%;
  background:var(--cmc-maroon);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Montserrat',sans-serif;
  font-size:1.1rem;
  font-weight:800;
  flex-shrink:0;
}

/* Step body heading */
[class*="pg-guides-accessibility"] .steps-list h3,
[class*="pg-solutions-accessibility"] .steps-list h3 {
  font-size:0.98rem;
  font-weight:800;
  margin-bottom:6px;
  color:var(--cmc-text);
}

[class*="pg-guides-accessibility"] .steps-list p,
[class*="pg-solutions-accessibility"] .steps-list p {
  font-size:0.88rem;
  color:var(--cmc-text-muted);
  line-height:1.6;
  margin:0;
}

/* Prereqs box improvement */
[class*="pg-guides-accessibility"] .prereqs-box {
  margin-bottom:32px;
}

/* Getting started steps inside DA pages */
[class*="pg-services-da"] .gs-step,
[class*="pg-guides-accessibility"] .gs-step,
[class*="pg-solutions-accessibility"] .gs-step {
  border:1px solid var(--cmc-border);
}

[class*="pg-services-da"] .gs-num,
[class*="pg-guides-accessibility"] .gs-num,
[class*="pg-solutions-accessibility"] .gs-num {
  background:var(--cmc-maroon);
}

/* Checklist items */
[class*="pg-guides-accessibility"] .checklist,
[class*="pg-solutions-accessibility"] .checklist {
  background:var(--cmc-surface);
  border-radius:12px;
  padding:16px 20px;
  border:1px solid var(--cmc-border);
}

[class*="pg-guides-accessibility"] .checklist li,
[class*="pg-solutions-accessibility"] .checklist li {
  font-size:0.88rem;
}

/* Warning banner inside DA pages */
[class*="pg-guides-accessibility"] .warning-banner,
[class*="pg-solutions-accessibility"] .warning-banner,
[class*="pg-services-da"] .warning-banner {
  margin:20px 0 28px;
}

/* Highlight box inside DA pages */
[class*="pg-guides-accessibility"] .highlight-box,
[class*="pg-solutions-accessibility"] .highlight-box,
[class*="pg-services-da"] .highlight-box {
  margin:0 0 28px;
}

/* Guide card grid hover state enhancement */
.guide-card-item:hover h4 { color:var(--cmc-maroon); }

/* Policy table improvements */
.policy-table tbody tr:nth-child(even) td { background:var(--cmc-surface); }

/* Event card enhancements */
.event-card .btn { margin-top:12px; }

/* Governance table */
[class*="pg-services-da-governance"] .policy-table th:first-child,
[class*="pg-services-da-governance"] .policy-table td:first-child { font-weight:700; }

/* Solution CTA inside DA pages */
[class*="pg-solutions-accessibility"] .solution-cta,
[class*="pg-services-da"] .solution-cta {
  background:linear-gradient(135deg, var(--cmc-surface-alt), #fff);
  border:1px solid var(--cmc-border);
}

/* Sidebar IT Nutrition label for DA pages */
[class*="pg-guides-accessibility"] .nutrition-label,
[class*="pg-solutions-accessibility"] .nutrition-label,
[class*="pg-services-da"] .nutrition-label { font-size:0.85rem; }

/* da-tool-card improvements */
.da-tool-card h4 { color:var(--cmc-text); transition:color 0.18s; }
.da-tool-card:hover h4 { color:var(--cmc-maroon); }
.da-tool-card .tool-audience::before { content:'For: '; }

/* Page body font color consistency — scoped to content sections only so it
   never overrides light text in the hero, philosophy strip, or help card. */
[class*="pg-guides-accessibility"] .section-block p,
[class*="pg-solutions-accessibility"] .section-block p,
[class*="pg-services-da"] .section-block p,
[class*="pg-guides-accessibility"] .prereqs-box p,
[class*="pg-solutions-accessibility"] .prereqs-box p,
[class*="pg-services-da"] .prereqs-box p {
  color:var(--cmc-text-secondary);
}

/* Responsive: DA page hero shield on mobile */
@media (max-width:640px) {
  .pg-services-da-index .page-hero-inner { flex-direction:column; align-items:flex-start; gap:14px; }
  .pg-services-da-index .hero-shield { width:54px; height:54px; border-radius:14px; font-size:1.5rem; }
  .guide-card-grid { grid-template-columns:1fr; }
  .da-tool-grid { grid-template-columns:1fr; }
  .workstream-grid { grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   DA PAGES — Hero background images (generated via Ernie Image Turbo)
   All use maroon gradient overlays consistent with site brand
   ═══════════════════════════════════════════════════════════════════════════ */

/* Hub */
.pg-services-da-index .page-hero {
  background: linear-gradient(135deg, rgba(60,0,12,0.92) 0%, rgba(116,0,28,0.85) 55%, rgba(160,40,60,0.80) 100%), url('i/pg-services-da-index.jpg');
  background-size: cover; background-position: center; padding:44px 0;
}
/* Training */
.pg-services-da-training .page-hero {
  background: linear-gradient(135deg, rgba(30,27,75,0.90) 0%, rgba(76,0,28,0.83) 60%, rgba(116,0,28,0.78) 100%), url('i/pg-services-da-training.jpg');
  background-size: cover; background-position: center; padding:40px 0;
}
/* Report a Barrier */
.pg-services-da-report .page-hero {
  background: linear-gradient(135deg, rgba(10,40,60,0.90) 0%, rgba(20,60,80,0.83) 55%, rgba(76,0,28,0.78) 100%), url('i/pg-services-da-report.jpg');
  background-size: cover; background-position: center; padding:40px 0;
}
/* Governance */
.pg-services-da-governance .page-hero {
  background: linear-gradient(135deg, rgba(60,0,12,0.92) 0%, rgba(116,0,28,0.85) 55%, rgba(160,40,60,0.80) 100%), url('i/pg-services-da-governance.jpg');
  background-size: cover; background-position: center; padding:40px 0;
}
/* Resource Library */
.pg-guides-accessibility-index .page-hero {
  background: linear-gradient(135deg, rgba(20,20,60,0.88) 0%, rgba(76,0,28,0.80) 55%, rgba(140,30,50,0.75) 100%), url('i/pg-guides-accessibility-index.jpg');
  background-size: cover; background-position: center; padding:36px 0;
}
/* PDF Guide */
.pg-guides-accessibility-pdf .page-hero {
  background: linear-gradient(135deg, rgba(20,20,60,0.88) 0%, rgba(76,0,28,0.80) 55%, rgba(140,30,50,0.75) 100%), url('i/pg-guides-accessibility-pdf.jpg');
  background-size: cover; background-position: center; padding:36px 0;
}
/* Word Guide */
.pg-guides-accessibility-word .page-hero {
  background: linear-gradient(135deg, rgba(20,20,60,0.88) 0%, rgba(76,0,28,0.80) 55%, rgba(140,30,50,0.75) 100%), url('i/pg-guides-accessibility-word.jpg');
  background-size: cover; background-position: center; padding:36px 0;
}
/* PowerPoint Guide */
.pg-guides-accessibility-ppt .page-hero {
  background: linear-gradient(135deg, rgba(20,20,60,0.88) 0%, rgba(76,0,28,0.80) 55%, rgba(140,30,50,0.75) 100%), url('i/pg-guides-accessibility-ppt.jpg');
  background-size: cover; background-position: center; padding:36px 0;
}
/* Excel Guide */
.pg-guides-accessibility-excel .page-hero {
  background: linear-gradient(135deg, rgba(20,20,60,0.88) 0%, rgba(76,0,28,0.80) 55%, rgba(140,30,50,0.75) 100%), url('i/pg-guides-accessibility-excel.jpg');
  background-size: cover; background-position: center; padding:36px 0;
}
/* Google Workspace Guide */
.pg-guides-accessibility-google .page-hero {
  background: linear-gradient(135deg, rgba(30,27,75,0.90) 0%, rgba(76,0,28,0.83) 60%, rgba(116,0,28,0.78) 100%), url('i/pg-guides-accessibility-google.jpg');
  background-size: cover; background-position: center; padding:36px 0;
}
/* Email Guide */
.pg-guides-accessibility-email .page-hero {
  background: linear-gradient(135deg, rgba(20,20,60,0.88) 0%, rgba(76,0,28,0.80) 55%, rgba(140,30,50,0.75) 100%), url('i/pg-guides-accessibility-email.jpg');
  background-size: cover; background-position: center; padding:36px 0;
}
/* Canvas Guide */
.pg-guides-accessibility-canvas .page-hero {
  background: linear-gradient(135deg, rgba(30,27,75,0.90) 0%, rgba(76,0,28,0.83) 60%, rgba(116,0,28,0.78) 100%), url('i/pg-guides-accessibility-canvas.jpg');
  background-size: cover; background-position: center; padding:36px 0;
}
/* Video & Captions Guide */
.pg-guides-accessibility-video .page-hero {
  background: linear-gradient(135deg, rgba(60,0,12,0.92) 0%, rgba(116,0,28,0.85) 55%, rgba(160,40,60,0.80) 100%), url('i/pg-guides-accessibility-video.jpg');
  background-size: cover; background-position: center; padding:36px 0;
}
/* Images & Alt Text Guide */
.pg-guides-accessibility-images .page-hero {
  background: linear-gradient(135deg, rgba(20,20,60,0.88) 0%, rgba(76,0,28,0.80) 55%, rgba(140,30,50,0.75) 100%), url('i/pg-guides-accessibility-images.jpg');
  background-size: cover; background-position: center; padding:36px 0;
}
/* Social Media Guide */
.pg-guides-accessibility-social .page-hero {
  background: linear-gradient(135deg, rgba(30,27,75,0.90) 0%, rgba(76,0,28,0.83) 60%, rgba(116,0,28,0.78) 100%), url('i/pg-guides-accessibility-social.jpg');
  background-size: cover; background-position: center; padding:36px 0;
}
/* Canva Guide */
.pg-guides-accessibility-canva .page-hero {
  background: linear-gradient(135deg, rgba(30,27,75,0.90) 0%, rgba(76,0,28,0.83) 60%, rgba(116,0,28,0.78) 100%), url('i/pg-guides-accessibility-canva.jpg');
  background-size: cover; background-position: center; padding:36px 0;
}
/* Quick Reference pages — same gradient family as the guides they summarise.
   Without these the hero has no background at all and its white text lands on
   white: measured 1:1 before this was added. */
.pg-guides-accessibility-qr-quick-start .page-hero {
  background: linear-gradient(135deg, rgba(30,27,75,0.90) 0%, rgba(76,0,28,0.83) 60%, rgba(116,0,28,0.78) 100%), url('i/pg-guides-accessibility-qr-quick-start.jpg');
  background-size: cover; background-position: center; padding:36px 0;
}
.pg-guides-accessibility-qr-alt-text-tree .page-hero {
  background: linear-gradient(135deg, rgba(30,27,75,0.90) 0%, rgba(76,0,28,0.83) 60%, rgba(116,0,28,0.78) 100%), url('i/pg-guides-accessibility-qr-alt-text-tree.jpg');
  background-size: cover; background-position: center; padding:36px 0;
}
.pg-guides-accessibility-qr-canvas-checklist .page-hero {
  background: linear-gradient(135deg, rgba(30,27,75,0.90) 0%, rgba(76,0,28,0.83) 60%, rgba(116,0,28,0.78) 100%), url('i/pg-guides-accessibility-qr-canvas-checklist.jpg');
  background-size: cover; background-position: center; padding:36px 0;
}
.pg-guides-accessibility-qr-contrast .page-hero {
  background: linear-gradient(135deg, rgba(30,27,75,0.90) 0%, rgba(76,0,28,0.83) 60%, rgba(116,0,28,0.78) 100%), url('i/pg-guides-accessibility-qr-contrast.jpg');
  background-size: cover; background-position: center; padding:36px 0;
}
/* Web Content Guide */
.pg-guides-accessibility-web .page-hero {
  background: linear-gradient(135deg, rgba(10,40,60,0.90) 0%, rgba(20,60,80,0.83) 55%, rgba(76,0,28,0.78) 100%), url('i/pg-guides-accessibility-web.jpg');
  background-size: cover; background-position: center; padding:36px 0;
}
/* Accessibility Tools Overview */
.pg-solutions-accessibility-index .page-hero {
  background: linear-gradient(135deg, rgba(60,0,12,0.92) 0%, rgba(116,0,28,0.85) 55%, rgba(160,40,60,0.80) 100%), url('i/pg-solutions-accessibility-index.jpg');
  background-size: cover; background-position: center; padding:40px 0;
}
/* Siteimprove */
.pg-solutions-accessibility-siteimprove .page-hero {
  background: linear-gradient(135deg, rgba(10,40,60,0.90) 0%, rgba(20,60,80,0.83) 55%, rgba(76,0,28,0.78) 100%), url('i/pg-solutions-accessibility-siteimprove.jpg');
  background-size: cover; background-position: center; padding:40px 0;
}
/* Ally */
.pg-solutions-accessibility-ally .page-hero {
  background: linear-gradient(135deg, rgba(30,27,75,0.90) 0%, rgba(76,0,28,0.83) 60%, rgba(116,0,28,0.78) 100%), url('i/pg-solutions-accessibility-ally.jpg');
  background-size: cover; background-position: center; padding:40px 0;
}
/* Accessible Procurement */
.pg-solutions-accessibility-procurement .page-hero {
  background: linear-gradient(135deg, rgba(60,0,12,0.92) 0%, rgba(116,0,28,0.85) 55%, rgba(160,40,60,0.80) 100%), url('i/pg-solutions-accessibility-procurement.jpg');
  background-size: cover; background-position: center; padding:40px 0;
}
/* Compliance Framework */
.pg-security-accessibility-compliance .page-hero {
  background: linear-gradient(135deg, rgba(60,0,12,0.92) 0%, rgba(116,0,28,0.85) 55%, rgba(160,40,60,0.80) 100%), url('i/pg-security-accessibility-compliance.jpg');
  background-size: cover; background-position: center; padding:44px 0;
}
.pg-security-accessibility-compliance .page-hero-inner { display:block; }

/* ═══════════════════════════════════════════════════════════════════════════
   DA PAGES — CSS fixes for class mismatches & layout issues
   ═══════════════════════════════════════════════════════════════════════════ */

/* Fix warning-banner global: use block not flex (flex breaks plain-text banners) */
.warning-banner { display:block; }
/* Restore flex only when using the icon+div 2-column pattern */
.warning-banner:has(.warning-banner-icon),
.warning-banner:has(.w-icon) { display:flex; align-items:flex-start; gap:12px; }
.warning-banner-icon { font-size:1.2rem; flex-shrink:0; margin-top:2px; }

/* comparison-col alias */
.comparison-col { border-radius:12px; padding:20px; border:1px solid var(--cmc-border); background:var(--cmc-surface); }
.comparison-col h3 { font-size:0.9rem; font-weight:800; margin-bottom:10px; color:var(--cmc-text); }
.comparison-col p { font-size:0.85rem; color:var(--cmc-text-secondary); line-height:1.6; margin-bottom:8px; }
.comparison-col p:last-child { margin-bottom:0; }

/* Links in body copy — the global reset is `a { color:inherit; text-decoration:none }`,
   so an unclassed link inside a section-block is otherwise identical to the text around
   it: same colour, no underline, no weight change. 146 links across 52 pages were
   invisible as links before this rule. Scoped to :not([class]) so buttons, CTAs and
   .da-policy-link keep their own treatment. --cmc-maroon flips to rose in dark mode,
   so both themes are covered by the token. */
.section-block p a:not([class]),
.section-block li a:not([class]),
.section-block td a:not([class]) { color: var(--cmc-maroon); text-decoration: underline; }
.section-block p a:not([class]):hover,
.section-block li a:not([class]):hover,
.section-block td a:not([class]):hover { text-decoration-thickness: 2px; }

/* note-box — used in PDF guide for important callouts */
.note-box { background:#fef9c3; border:1px solid #fde047; border-left:4px solid #ca8a04; border-radius:8px; padding:12px 16px; margin:12px 0; }
.note-box p { font-size:0.87rem; color:#713f12; line-height:1.55; margin:0; }
/* The global reset is `a { color:inherit; text-decoration:none }`, so a link in
   body copy is invisible as a link unless the component says otherwise. */
.note-box a { color:#5c330e; font-weight:700; text-decoration:underline; }
.note-box a:hover { color:#3f2208; }

/* da-tool-card subclass structure */
.da-tool-icon { font-size:1.5rem; line-height:1; margin-bottom:8px; display:block; }
.da-tool-body { flex:1; }
.da-tool-title { font-size:0.92rem; font-weight:700; color:var(--cmc-text); margin:0 0 4px; display:block; }
.da-tool-audience { font-size:0.72rem; font-weight:700; font-family:'Montserrat',sans-serif; color:var(--cmc-text-muted); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:8px; display:block; }
.da-tool-desc { font-size:0.83rem; color:var(--cmc-text-muted); line-height:1.5; margin:0 0 10px; display:block; flex-grow:1; }
.da-tool-link { font-size:0.78rem; font-weight:700; color:var(--cmc-maroon); font-family:'Montserrat',sans-serif; text-decoration:none; display:block; }
.da-tool-link:hover { text-decoration:underline; }

/* Fix: da-tool-card needs flex-direction column for the subclass pattern above */
.da-tool-card { flex-direction:column; }

/* checklist aliases */
.checklist-list { list-style:none; padding:0; margin:0; }
.checklist-list li { font-size:0.9rem; color:var(--cmc-text-secondary); padding:7px 0 7px 28px; position:relative; border-bottom:1px solid var(--cmc-surface); line-height:1.5; display:flex; align-items:flex-start; gap:8px; }
.checklist-list li:last-child { border-bottom:none; }
.checklist-list li::before { content:'✓'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.checklist-list div { flex:1; }

/* note: global .checklist was added earlier; override display for checklist-list */
.checklist-list { background:var(--cmc-surface); border-radius:12px; padding:12px 20px; border:1px solid var(--cmc-border); }

/* use-case-list as ordered list (issues-list was renamed) */
ol.use-case-list { list-style:none; padding:0; counter-reset:issue-counter; }
ol.use-case-list li { counter-increment:issue-counter; padding:14px 0 14px 40px; position:relative; border-bottom:1px solid var(--cmc-surface); font-size:0.92rem; line-height:1.6; color:var(--cmc-text-secondary); }
ol.use-case-list li:last-child { border-bottom:none; }
ol.use-case-list li::before { content:counter(issue-counter); position:absolute; left:0; top:14px; width:24px; height:24px; border-radius:50%; background:var(--cmc-maroon); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:0.7rem; font-weight:800; }
ol.use-case-list li strong { color:var(--cmc-text); display:block; margin-bottom:4px; }
ol.use-case-list li p { font-size:0.87rem; margin:4px 0 0; color:var(--cmc-text-muted); line-height:1.55; }

/* comparison-grid improved (ensure both col types work) */
.comparison-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:16px 0 24px; }
@media (max-width:640px) { .comparison-grid { grid-template-columns:1fr; } }


/* Heroes use standard block flow (base .page-hero-inner). This lets the
   inline-block .page-eyebrow pill shrink to its text width on every page,
   matching template-solution / template-service. Shields were removed, so no
   page needs a flex hero container any longer. */
.pg-security-accessibility-compliance .hero-shield { display:none; }

/* Ensure nutrition-label in DA sidebar renders at correct width */
[class*="pg-services-da"] .nutrition-label,
[class*="pg-guides-accessibility"] .nutrition-label,
[class*="pg-solutions-accessibility"] .nutrition-label { width:100%; box-sizing:border-box; }

/* ═══════════════════════════════════════════════════════════════════════════
   DA PAGES — Contrast fixes & richer card design (matches site design language)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Philosophy strip — text must read as white on the dark gradient */
.philosophy-strip .phi-item h4 { color:#ffffff; }
.philosophy-strip .phi-item p  { color:rgba(255,255,255,0.88); }
.philosophy-strip .phi-dot     { background:#ffb3b5; }

/* Help card — white text on maroon */
.help-card p { color:rgba(255,255,255,0.92); }
.help-card h4 { color:#ffffff; }

/* ── da-tool-card / guide cards: colored top bar + icon chip (like ai-tool-card) ── */
.da-tool-card,
.guide-card-item {
  position:relative;
  overflow:hidden;
  border-radius:14px;
  padding:22px 20px;
}
.da-tool-card::before,
.guide-card-item::before {
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:4px;
  background:linear-gradient(90deg, var(--cmc-maroon), #b3324c);
}
.da-tool-card:hover,
.guide-card-item:hover {
  box-shadow:var(--shadow-lg);
  transform:translateY(-2px);
  border-color:var(--cmc-maroon);
}

/* Icon as a filled rounded-square chip in CMC surface tone */
.da-tool-card .da-tool-icon,
.guide-card-item .gc-icon {
  width:44px; height:44px;
  border-radius:11px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; line-height:1;
  background:var(--cmc-surface-alt);
  border:1px solid var(--cmc-border);
  margin-bottom:4px;
}

/* Tags inside cards (ai-tool-tags / tag) — pill chips matching .tool-tag */
.da-tool-card .ai-tool-tags,
.guide-card-item .ai-tool-tags {
  display:flex; flex-wrap:wrap; gap:6px; margin:2px 0 4px;
}
.da-tool-card .ai-tool-tags .tag,
.guide-card-item .ai-tool-tags .tag,
.da-tool-card .tag,
.guide-card-item .tag {
  display:inline-block;
  padding:2px 9px;
  border-radius:9999px;
  font-size:0.68rem;
  font-weight:700;
  font-family:'Montserrat',sans-serif;
  letter-spacing:0.03em;
  background:var(--cmc-surface);
  color:var(--cmc-text-muted);
  border:1px solid var(--cmc-border);
}

/* Card title + link polish */
.da-tool-card .da-tool-title,
.guide-card-item h4 { font-size:0.95rem; font-weight:800; font-family:'Montserrat',sans-serif; }
.da-tool-card .da-tool-link,
.guide-card-item .gc-cta {
  display:inline-flex; align-items:center; gap:4px;
  margin-top:6px;
}

/* ── DA pages: bare <ul> inside section-block styled like use-case-list ────
   Targets only unclassed <ul> so existing use-case-list/checklist classes
   are unaffected. Covers guides/, services/digital-accessibility/,
   solutions/accessibility/, and security/accessibility-compliance.html.  */
[class*="pg-guides-accessibility"] .section-block ul:not([class]),
[class*="pg-solutions-accessibility"] .section-block ul:not([class]),
[class*="pg-services-da"] .section-block ul:not([class]),
.pg-security-accessibility-compliance .section-block ul:not([class]) {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
}

[class*="pg-guides-accessibility"] .section-block ul:not([class]) li,
[class*="pg-solutions-accessibility"] .section-block ul:not([class]) li,
[class*="pg-services-da"] .section-block ul:not([class]) li,
.pg-security-accessibility-compliance .section-block ul:not([class]) li {
  padding: 9px 0 9px 28px;
  position: relative;
  font-size: 0.92rem;
  color: var(--cmc-text-secondary);
  line-height: 1.6;
  border-bottom: 1px solid var(--cmc-surface);
}

[class*="pg-guides-accessibility"] .section-block ul:not([class]) li:last-child,
[class*="pg-solutions-accessibility"] .section-block ul:not([class]) li:last-child,
[class*="pg-services-da"] .section-block ul:not([class]) li:last-child,
.pg-security-accessibility-compliance .section-block ul:not([class]) li:last-child {
  border-bottom: none;
}

[class*="pg-guides-accessibility"] .section-block ul:not([class]) li::before,
[class*="pg-solutions-accessibility"] .section-block ul:not([class]) li::before,
[class*="pg-services-da"] .section-block ul:not([class]) li::before,
.pg-security-accessibility-compliance .section-block ul:not([class]) li::before {
  content: '\2736';
  position: absolute;
  left: 0;
  color: var(--cmc-maroon);
  font-size: 0.7rem;
  top: 12px;
}

/* Also style bare <ol> (numbered lists not using steps-list) */
[class*="pg-guides-accessibility"] .section-block ol:not([class]),
[class*="pg-solutions-accessibility"] .section-block ol:not([class]),
[class*="pg-services-da"] .section-block ol:not([class]) {
  padding-left: 24px;
  margin: 0 0 16px;
}

[class*="pg-guides-accessibility"] .section-block ol:not([class]) li,
[class*="pg-solutions-accessibility"] .section-block ol:not([class]) li,
[class*="pg-services-da"] .section-block ol:not([class]) li {
  font-size: 0.92rem;
  color: var(--cmc-text-secondary);
  line-height: 1.6;
  padding: 5px 0 5px 4px;
  border-bottom: 1px solid var(--cmc-surface);
}

[class*="pg-guides-accessibility"] .section-block ol:not([class]) li:last-child,
[class*="pg-solutions-accessibility"] .section-block ol:not([class]) li:last-child,
[class*="pg-services-da"] .section-block ol:not([class]) li:last-child {
  border-bottom: none;
}

/* Nested strong/em inside these list items inherit correctly */
[class*="pg-guides-accessibility"] .section-block ul:not([class]) li strong,
[class*="pg-solutions-accessibility"] .section-block ul:not([class]) li strong,
[class*="pg-services-da"] .section-block ul:not([class]) li strong {
  color: var(--cmc-text);
  font-weight: 700;
}

/* DA compliance page — policy-body list styling (matches all other security policy pages) */
.pg-security-accessibility-compliance .policy-body ul li:last-child { border-bottom:none; }
.pg-security-accessibility-compliance .tldr-box ul li { font-size:0.9rem; color:var(--cmc-text-secondary); padding:6px 0; display:flex; align-items:flex-start; gap:10px; line-height:1.55; border-bottom:1px solid rgba(116,0,28,0.1); }
.pg-security-accessibility-compliance .tldr-box ul li:last-child { border-bottom:none; }
.pg-security-accessibility-compliance .tldr-box ul li::before { content:'→'; color:var(--cmc-maroon); font-weight:700; flex-shrink:0; margin-top:1px; }

/* ═══════════════════════════════════════════════════════════════════════════
   REPORT A BARRIER — Form & Urgent Assistance card
   pg-services-da-report
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Form container ────────────────────────────────────────────────────────*/
.report-form {
  background: var(--cmc-surface);
  border: 1px solid var(--cmc-border);
  border-radius: 14px;
  padding: 28px 28px 24px;
  margin-top: 20px;
}

/* ── Section grouping ──────────────────────────────────────────────────────*/
.rform-section { margin-bottom: 8px; }

.rform-section-label {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--cmc-maroon);
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.rform-optional {
  font-size: 0.63rem;
  font-weight: 600;
  color: var(--cmc-text-muted);
  text-transform: none;
  letter-spacing: 0;
  background: var(--cmc-surface-alt);
  border: 1px solid var(--cmc-border);
  border-radius: 9999px;
  padding: 1px 8px;
}

.rform-divider {
  border: none;
  border-top: 1px solid var(--cmc-border);
  margin: 24px 0;
}

/* ── 2-column row ──────────────────────────────────────────────────────────*/
.rform-row-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media (max-width: 640px) { .rform-row-2col { grid-template-columns: 1fr; } }

/* ── Form group (label + control) ─────────────────────────────────────────*/
.rform-group { margin-bottom: 20px; }
.rform-group:last-child { margin-bottom: 0; }

.rform-label {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--cmc-text);
  margin-bottom: 6px;
}
.rform-required {
  color: var(--cmc-maroon);
  font-size: 0.9em;
  margin-left: 2px;
}
.rform-hint {
  display: block;
  font-size: 0.78rem;
  color: var(--cmc-text-muted);
  margin-top: 5px;
  line-height: 1.45;
}

/* ── Text input & textarea ─────────────────────────────────────────────────*/
.rform-input,
.rform-textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-family: 'Open Sans', sans-serif;
  font-size: 0.9rem;
  color: var(--cmc-text);
  background: #fff;
  border: 1.5px solid var(--cmc-border);
  border-radius: 8px;
  padding: 10px 14px;
  line-height: 1.5;
  transition: border-color 0.18s, box-shadow 0.18s;
  -webkit-appearance: none;
}
.rform-input::placeholder,
.rform-textarea::placeholder { color: var(--cmc-text-muted); font-size: 0.875rem; }
.rform-input:focus,
.rform-textarea:focus {
  outline: none;
  border-color: var(--cmc-maroon);
  box-shadow: 0 0 0 3px rgba(116,0,28,0.10);
}
.rform-textarea { resize: vertical; min-height: 110px; }

/* ── Select wrapper (custom arrow) ────────────────────────────────────────*/
.rform-select-wrap { position: relative; }
.rform-select {
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-family: 'Open Sans', sans-serif;
  font-size: 0.9rem;
  color: var(--cmc-text);
  background: #fff;
  border: 1.5px solid var(--cmc-border);
  border-radius: 8px;
  padding: 10px 36px 10px 14px;
  line-height: 1.5;
  cursor: pointer;
  transition: border-color 0.18s, box-shadow 0.18s;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.rform-select:focus {
  outline: none;
  border-color: var(--cmc-maroon);
  box-shadow: 0 0 0 3px rgba(116,0,28,0.10);
}
.rform-select-arrow {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.75rem;
  color: var(--cmc-text-muted);
  pointer-events: none;
}

/* ── Urgency radio cards ───────────────────────────────────────────────────*/
.rform-radio-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 2px;
}
@media (max-width: 580px) { .rform-radio-group { grid-template-columns: 1fr; } }

.rform-radio-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border: 1.5px solid var(--cmc-border);
  border-radius: 10px;
  padding: 14px 16px;
  cursor: pointer;
  background: #fff;
  transition: border-color 0.18s, background 0.18s, box-shadow 0.18s;
}
.rform-radio-card:hover {
  border-color: var(--cmc-maroon);
  background: var(--cmc-surface);
}
.rform-radio-card input[type="radio"] {
  margin: 3px 0 0;
  flex-shrink: 0;
  accent-color: var(--cmc-maroon);
  width: 16px;
  height: 16px;
  cursor: pointer;
}
.rform-radio-card:has(input:checked) {
  border-color: var(--cmc-maroon);
  background: var(--cmc-surface);
  box-shadow: 0 0 0 3px rgba(116,0,28,0.08);
}
.rrc-body { display: flex; flex-direction: column; gap: 3px; }
.rrc-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--cmc-text);
  line-height: 1.3;
}
.rrc-desc {
  font-size: 0.78rem;
  color: var(--cmc-text-muted);
  line-height: 1.45;
}

/* Urgent radio card gets a subtle left accent */
.rfc-urgent,
.rform-radio-card.rrc-urgent { border-left: 3px solid #ea580c; }
.rform-radio-card.rrc-urgent:has(input:checked) {
  border-color: #ea580c;
  border-left-width: 3px;
  box-shadow: 0 0 0 3px rgba(234,88,12,0.10);
}
.rform-radio-card.rrc-urgent .rrc-title { color: #9a3412; }

/* ── Submit row ────────────────────────────────────────────────────────────*/
.rform-submit-row {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--cmc-border);
}
@media (max-width: 580px) { .rform-submit-row { flex-direction: column; align-items: flex-start; } }

.rform-submit-btn {
  flex-shrink: 0;
  padding: 11px 28px;
  font-size: 0.86rem;
}
.rform-privacy-note {
  font-size: 0.78rem;
  color: var(--cmc-text-muted);
  line-height: 1.45;
}

/* ── Urgent Assistance sidebar card ───────────────────────────────────────*/
.rform-urgent-card {
  background: var(--cmc-maroon-dark, #4c000f);
  border-radius: 14px;
  padding: 22px 20px 18px;
  color: #fff;
  text-align: center;
}
.rua-eyebrow {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255,255,255,0.65);
  margin-bottom: 14px;
}
.rua-phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
  color: #fff;
  text-decoration: none;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 9999px;
  padding: 10px 20px;
  transition: background 0.18s;
  letter-spacing: -0.01em;
}
.rua-phone:hover { background: rgba(255,255,255,0.22); }
.rua-hours {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.6);
  margin-top: 8px;
  margin-bottom: 0;
  letter-spacing: 0.02em;
}
.rua-divider {
  border: none;
  border-top: 1px solid rgba(255,255,255,0.15);
  margin: 16px 0;
}
.rua-body {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.82);
  line-height: 1.55;
  margin: 0 0 10px;
}
.rua-email {
  display: inline-block;
  font-size: 0.84rem;
  font-weight: 600;
  color: rgba(255,255,255,0.85);
  text-decoration: none;
}
.rua-email:hover { color: #fff; text-decoration: underline; }

/* ═══ Audience home pages (Students / Faculty / Staff) ═══ */

/* ── pg-home-students ──────────────────────────────────────────── */
:root {
  --green: #1a7a4a;
  --green-light: #e8f5ee;
}

.pg-home-students h1, .pg-home-students h2, .pg-home-students h3, .pg-home-students h4, .pg-home-students h5, .pg-home-students h6 { font-family: 'Montserrat', sans-serif; }
.pg-home-students .announcement-bar { background: var(--cmc-maroon-dark); color: #fff; text-align: center; padding: 10px 20px; font-size: 0.85rem; font-family: 'Montserrat', sans-serif; font-weight: 500; letter-spacing: 0.01em; }
.pg-home-students .announcement-bar a { color: var(--cmc-maroon-light); text-decoration: underline; }
.pg-home-students .header-nav > li > a:hover, .pg-home-students .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-home-students .dropdown:hover .dropdown-menu, .pg-home-students .dropdown:focus-within .dropdown-menu { display: block; }
.pg-home-students .dropdown:hover .dropdown-wide, .pg-home-students .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-home-students .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-home-students .mobile-nav .mobile-section { margin-bottom: 8px; }
.pg-home-students .mobile-nav .mobile-label { font-family: 'Montserrat', sans-serif; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--cmc-maroon); padding: 8px 12px 4px; }
.pg-home-students .hero { position: relative; background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--cmc-maroon) 55%, var(--cmc-accent) 100%); min-height: 520px; display: flex; align-items: center; overflow: hidden; }
.pg-home-students .hero-bg { position: absolute; inset: 0; background-image: url('i/hero-home-students.jpg'); background-size: cover; background-position: center 30%; opacity: 0.30; mix-blend-mode: luminosity; }
.pg-home-students .hero-content { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; padding: 64px 24px; width: 100%; }
.pg-home-students .hero-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 20px; }
.pg-home-students .hero h1 { font-family: 'Montserrat', sans-serif; font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 800; color: #fff; line-height: 1.15; max-width: 680px; margin-bottom: 16px; text-shadow: 0 2px 12px rgba(0,0,0,0.2); }
.pg-home-students .hero-sub { font-size: 1.05rem; color: rgba(255,255,255,0.85); max-width: 560px; margin-bottom: 40px; line-height: 1.65; }
.pg-home-students .hero-cards { display: flex; gap: 20px; flex-wrap: wrap; }
.pg-home-students .hero-card { background: rgba(255,255,255,0.97); border-radius: 12px; padding: 24px 28px; min-width: 240px; max-width: 300px; box-shadow: var(--shadow-lg); position: relative; overflow: hidden; transition: transform 0.22s, box-shadow 0.22s; }
.pg-home-students .hero-card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(0,0,0,0.18); }
.pg-home-students .hero-card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--cmc-maroon); border-radius: 4px 0 0 4px; }
.pg-home-students .hero-card.navy::before { background: var(--navy); }
.pg-home-students .hero-card h3 { font-size: 0.95rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 6px; }
.pg-home-students .hero-card p { font-size: 0.82rem; color: var(--cmc-text-muted); margin-bottom: 16px; line-height: 1.5; }
.pg-home-students .btn { display: inline-flex; align-items: center; gap: 6px; padding: 9px 20px; border-radius: 9999px; font-family: 'Montserrat', sans-serif; font-size: 0.8rem; font-weight: 700; cursor: pointer; transition: background 0.18s, transform 0.15s; text-decoration: none; border: none; }
.pg-home-students .btn-navy { background: var(--navy); color: #fff; }
.pg-home-students .btn-navy:hover { background: var(--navy-hover); transform: translateY(-1px); }
.pg-home-students .btn-outline { background: transparent; border: 2px solid var(--cmc-maroon); color: var(--cmc-maroon); }
.pg-home-students .btn-outline:hover { background: var(--cmc-maroon); color: #fff; }
.pg-home-students .status-ticker { background: var(--cmc-surface); border-bottom: 1px solid var(--cmc-border); padding: 10px 0; overflow: hidden; }
.pg-home-students .status-inner { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; gap: 32px; flex-wrap: wrap; }
.pg-home-students .status-label { font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; color: var(--cmc-text-muted); flex-shrink: 0; }
.pg-home-students .status-items { display: flex; gap: 20px; flex-wrap: wrap; align-items: center; }
.pg-home-students .status-item { display: flex; align-items: center; gap: 7px; font-size: 0.83rem; color: var(--cmc-text-secondary); }
.pg-home-students .status-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; animation: pulse-green 2.5s infinite; }
.pg-home-students .status-dot.green { background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,0.2); }
.pg-home-students .status-dot.yellow { background: #f59e0b; box-shadow: 0 0 0 3px rgba(245,158,11,0.2); animation: none; }
.pg-home-students .status-dot.red { background: #ef4444; box-shadow: 0 0 0 3px rgba(239,68,68,0.2); animation: none; }
@keyframes pulse-green { 0%,100%{box-shadow:0 0 0 3px rgba(34,197,94,0.2)} 50%{box-shadow:0 0 0 6px rgba(34,197,94,0.1)} }
.pg-home-students section { padding: 72px 0; }
.pg-home-students .section-eyebrow { font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--cmc-maroon); margin-bottom: 10px; }
.pg-home-students .section-title { font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 800; margin-bottom: 12px; }
.pg-home-students .section-subtitle { font-size: 1rem; color: var(--cmc-text-muted); max-width: 560px; line-height: 1.65; }
.pg-home-students .support-section { background: var(--cmc-surface-alt); }
.pg-home-students .support-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-home-students .support-card { background: #fff; border-radius: 16px; padding: 32px 28px; display: flex; flex-direction: column; align-items: flex-start; box-shadow: var(--shadow-md); border: 1px solid var(--cmc-border); transition: transform 0.22s, box-shadow 0.22s; }
.pg-home-students .support-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.pg-home-students .support-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; margin-bottom: 18px; }
.pg-home-students .support-icon.maroon { background: var(--cmc-surface-alt); }
.pg-home-students .support-icon.navy { background: #eef0f7; }
.pg-home-students .support-icon.green-bg { background: var(--green-light); }
.pg-home-students .support-card h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 8px; }
.pg-home-students .support-card p { font-size: 0.88rem; color: var(--cmc-text-muted); line-height: 1.65; flex: 1; margin-bottom: 20px; }
.pg-home-students .support-card .support-meta { font-size: 0.82rem; font-weight: 600; color: var(--cmc-text-secondary); margin-bottom: 18px; display: flex; align-items: center; gap: 6px; }
.pg-home-students .contact-section { background: var(--navy); }
.pg-home-students .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 40px; }
.pg-home-students .contact-card { background: rgba(255,255,255,0.07); border-radius: 16px; padding: 36px; display: flex; flex-direction: column; box-shadow: var(--shadow-md); border: 1px solid rgba(255,255,255,0.12); transition: transform 0.22s, box-shadow 0.22s, background 0.22s; }
.pg-home-students .contact-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); background: rgba(255,255,255,0.11); }
.pg-home-students .contact-icon { width: 56px; height: 56px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; margin-bottom: 20px; }
.pg-home-students .contact-icon.maroon { background: rgba(116,0,28,0.35); }
.pg-home-students .contact-icon.navy-icon { background: rgba(255,255,255,0.12); }
.pg-home-students .contact-card h3 { font-size: 1.2rem; font-weight: 700; margin-bottom: 10px; color: #fff; }
.pg-home-students .contact-card p { font-size: 0.9rem; color: rgba(255,255,255,0.72); line-height: 1.65; flex: 1; margin-bottom: 24px; }
.pg-home-students .highlights-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-home-students .highlight-card { background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid var(--cmc-border); box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-home-students .highlight-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-home-students .highlight-img { height: 200px; background: url('i/card-clac.jpg') center/cover no-repeat; position: relative; overflow: hidden; }
.pg-home-students .highlight-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.28) 100%); }
.pg-home-students .highlight-img-alt { background: url('i/card-ai.jpg') center/cover no-repeat; }
.pg-home-students .highlight-img-alt2 { background: url('i/card-hpc.jpg') center/cover no-repeat; }
.pg-home-students .highlight-body { padding: 20px; }
.pg-home-students .tag-chip { display: inline-block; padding: 3px 10px; border-radius: 9999px; font-size: 0.7rem; font-weight: 700; font-family: 'Montserrat', sans-serif; letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: 10px; }
.pg-home-students .tag-chip.maroon { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-home-students .tag-chip.navy { background: #eef0f7; color: var(--navy); }
.pg-home-students .tag-chip.green { background: var(--green-light); color: var(--green); }
.pg-home-students .highlight-card h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: 8px; line-height: 1.35; }
.pg-home-students .highlight-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; margin-bottom: 16px; }
.pg-home-students .link-arrow { font-size: 0.83rem; font-weight: 600; color: var(--cmc-maroon); display: flex; align-items: center; gap: 5px; }
.pg-home-students .link-arrow:hover { gap: 9px; }
.pg-home-students .link-arrow svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-home-students .link-arrow:hover svg { transform: translateX(3px); }
.pg-home-students .guides-section { background: var(--cmc-surface); }
.pg-home-students .guides-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px; }
.pg-home-students .guide-card { background: #fff; border-radius: 12px; padding: 24px; border: 1px solid var(--cmc-border); box-shadow: var(--shadow-sm); display: flex; gap: 16px; align-items: flex-start; transition: transform 0.2s, box-shadow 0.2s; }
.pg-home-students .guide-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.pg-home-students .guide-badge { width: 40px; height: 40px; border-radius: 10px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-family: 'Montserrat', sans-serif; font-size: 0.7rem; font-weight: 800; color: var(--cmc-maroon); flex-shrink: 0; text-align: center; line-height: 1.2; }
.pg-home-students .guide-card h4 { font-size: 0.92rem; font-weight: 700; margin-bottom: 5px; }
.pg-home-students .guide-card p { font-size: 0.82rem; color: var(--cmc-text-muted); line-height: 1.5; margin-bottom: 10px; }
.pg-home-students .step-count { font-size: 0.75rem; color: var(--cmc-text-muted); font-weight: 600; }
.pg-home-students .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; }
@media (max-width: 1024px) { .pg-home-students .header-nav { display: none; } .pg-home-students .hamburger { display: block; } .pg-home-students .contact-grid, .pg-home-students .highlights-grid, .pg-home-students .guides-grid, .pg-home-students .support-grid { grid-template-columns: 1fr 1fr; } .pg-home-students .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-home-students .hero-cards { flex-direction: column; } .pg-home-students .hero-card { max-width: 100%; } .pg-home-students .contact-grid, .pg-home-students .highlights-grid, .pg-home-students .guides-grid, .pg-home-students .footer-grid, .pg-home-students .support-grid { grid-template-columns: 1fr; } .pg-home-students section { padding: 48px 0; } }


.pg-home-students .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
@media (max-width: 900px) { .pg-home-students .card-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .pg-home-students .card-grid { grid-template-columns: 1fr; } }
.pg-home-students .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; overflow: hidden; padding: 0; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-home-students .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-home-students .card-color { height: 64px; display: flex; align-items: center; padding: 0 20px; flex-shrink: 0; }
.pg-home-students .card-color.guide { background: linear-gradient(135deg, #1d4ed8, #3b82f6); }
.pg-home-students .card-color.service { background: linear-gradient(135deg, #15803d, #22c55e); }
.pg-home-students .card-color.solution { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); }
.pg-home-students .card-color.security { background: linear-gradient(135deg, #c2410c, #f97316); }
.pg-home-students .card-icon { width: 40px; height: 40px; border-radius: 10px; background: rgba(255,255,255,0.22); display: flex; align-items: center; justify-content: center; font-size: 1.15rem; flex-shrink: 0; }
.pg-home-students .index-card-body { padding: 20px 22px 22px; display: flex; flex-direction: column; flex: 1; }
.pg-home-students .index-card-body h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-home-students .index-card-body p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-home-students .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-home-students .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }


/* ── pg-home-faculty ──────────────────────────────────────────── */
:root {
  --green: #1a7a4a;
  --green-light: #e8f5ee;
}

.pg-home-faculty h1, .pg-home-faculty h2, .pg-home-faculty h3, .pg-home-faculty h4, .pg-home-faculty h5, .pg-home-faculty h6 { font-family: 'Montserrat', sans-serif; }
.pg-home-faculty .announcement-bar { background: var(--cmc-maroon-dark); color: #fff; text-align: center; padding: 10px 20px; font-size: 0.85rem; font-family: 'Montserrat', sans-serif; font-weight: 500; letter-spacing: 0.01em; }
.pg-home-faculty .announcement-bar a { color: var(--cmc-maroon-light); text-decoration: underline; }
.pg-home-faculty .header-nav > li > a:hover, .pg-home-faculty .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-home-faculty .dropdown:hover .dropdown-menu, .pg-home-faculty .dropdown:focus-within .dropdown-menu { display: block; }
.pg-home-faculty .dropdown:hover .dropdown-wide, .pg-home-faculty .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-home-faculty .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-home-faculty .mobile-nav .mobile-section { margin-bottom: 8px; }
.pg-home-faculty .mobile-nav .mobile-label { font-family: 'Montserrat', sans-serif; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--cmc-maroon); padding: 8px 12px 4px; }
.pg-home-faculty .hero { position: relative; background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--cmc-maroon) 55%, var(--cmc-accent) 100%); min-height: 520px; display: flex; align-items: center; overflow: hidden; }
.pg-home-faculty .hero-bg { position: absolute; inset: 0; background-image: url('i/hero-home-faculty.jpg'); background-size: cover; background-position: center 30%; opacity: 0.30; mix-blend-mode: luminosity; }
.pg-home-faculty .hero-content { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; padding: 64px 24px; width: 100%; }
.pg-home-faculty .hero-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 20px; }
.pg-home-faculty .hero h1 { font-family: 'Montserrat', sans-serif; font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 800; color: #fff; line-height: 1.15; max-width: 680px; margin-bottom: 16px; text-shadow: 0 2px 12px rgba(0,0,0,0.2); }
.pg-home-faculty .hero-sub { font-size: 1.05rem; color: rgba(255,255,255,0.85); max-width: 560px; margin-bottom: 40px; line-height: 1.65; }
.pg-home-faculty .hero-cards { display: flex; gap: 20px; flex-wrap: wrap; }
.pg-home-faculty .hero-card { background: rgba(255,255,255,0.97); border-radius: 12px; padding: 24px 28px; min-width: 240px; max-width: 300px; box-shadow: var(--shadow-lg); position: relative; overflow: hidden; transition: transform 0.22s, box-shadow 0.22s; }
.pg-home-faculty .hero-card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(0,0,0,0.18); }
.pg-home-faculty .hero-card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--cmc-maroon); border-radius: 4px 0 0 4px; }
.pg-home-faculty .hero-card.navy::before { background: var(--navy); }
.pg-home-faculty .hero-card h3 { font-size: 0.95rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 6px; }
.pg-home-faculty .hero-card p { font-size: 0.82rem; color: var(--cmc-text-muted); margin-bottom: 16px; line-height: 1.5; }
.pg-home-faculty .btn { display: inline-flex; align-items: center; gap: 6px; padding: 9px 20px; border-radius: 9999px; font-family: 'Montserrat', sans-serif; font-size: 0.8rem; font-weight: 700; cursor: pointer; transition: background 0.18s, transform 0.15s; text-decoration: none; border: none; }
.pg-home-faculty .btn-navy { background: var(--navy); color: #fff; }
.pg-home-faculty .btn-navy:hover { background: var(--navy-hover); transform: translateY(-1px); }
.pg-home-faculty .btn-outline { background: transparent; border: 2px solid var(--cmc-maroon); color: var(--cmc-maroon); }
.pg-home-faculty .btn-outline:hover { background: var(--cmc-maroon); color: #fff; }
.pg-home-faculty .status-ticker { background: var(--cmc-surface); border-bottom: 1px solid var(--cmc-border); padding: 10px 0; overflow: hidden; }
.pg-home-faculty .status-inner { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; gap: 32px; flex-wrap: wrap; }
.pg-home-faculty .status-label { font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; color: var(--cmc-text-muted); flex-shrink: 0; }
.pg-home-faculty .status-items { display: flex; gap: 20px; flex-wrap: wrap; align-items: center; }
.pg-home-faculty .status-item { display: flex; align-items: center; gap: 7px; font-size: 0.83rem; color: var(--cmc-text-secondary); }
.pg-home-faculty .status-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; animation: pulse-green 2.5s infinite; }
.pg-home-faculty .status-dot.green { background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,0.2); }
.pg-home-faculty .status-dot.yellow { background: #f59e0b; box-shadow: 0 0 0 3px rgba(245,158,11,0.2); animation: none; }
.pg-home-faculty .status-dot.red { background: #ef4444; box-shadow: 0 0 0 3px rgba(239,68,68,0.2); animation: none; }
@keyframes pulse-green { 0%,100%{box-shadow:0 0 0 3px rgba(34,197,94,0.2)} 50%{box-shadow:0 0 0 6px rgba(34,197,94,0.1)} }
.pg-home-faculty section { padding: 72px 0; }
.pg-home-faculty .section-eyebrow { font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--cmc-maroon); margin-bottom: 10px; }
.pg-home-faculty .section-title { font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 800; margin-bottom: 12px; }
.pg-home-faculty .section-subtitle { font-size: 1rem; color: var(--cmc-text-muted); max-width: 560px; line-height: 1.65; }
.pg-home-faculty .support-section { background: var(--cmc-surface-alt); }
.pg-home-faculty .support-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-home-faculty .support-card { background: #fff; border-radius: 16px; padding: 32px 28px; display: flex; flex-direction: column; align-items: flex-start; box-shadow: var(--shadow-md); border: 1px solid var(--cmc-border); transition: transform 0.22s, box-shadow 0.22s; }
.pg-home-faculty .support-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.pg-home-faculty .support-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; margin-bottom: 18px; }
.pg-home-faculty .support-icon.maroon { background: var(--cmc-surface-alt); }
.pg-home-faculty .support-icon.navy { background: #eef0f7; }
.pg-home-faculty .support-icon.green-bg { background: var(--green-light); }
.pg-home-faculty .support-card h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 8px; }
.pg-home-faculty .support-card p { font-size: 0.88rem; color: var(--cmc-text-muted); line-height: 1.65; flex: 1; margin-bottom: 20px; }
.pg-home-faculty .support-card .support-meta { font-size: 0.82rem; font-weight: 600; color: var(--cmc-text-secondary); margin-bottom: 18px; display: flex; align-items: center; gap: 6px; }
.pg-home-faculty .contact-section { background: var(--navy); }
.pg-home-faculty .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 40px; }
.pg-home-faculty .contact-card { background: rgba(255,255,255,0.07); border-radius: 16px; padding: 36px; display: flex; flex-direction: column; box-shadow: var(--shadow-md); border: 1px solid rgba(255,255,255,0.12); transition: transform 0.22s, box-shadow 0.22s, background 0.22s; }
.pg-home-faculty .contact-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); background: rgba(255,255,255,0.11); }
.pg-home-faculty .contact-icon { width: 56px; height: 56px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; margin-bottom: 20px; }
.pg-home-faculty .contact-icon.maroon { background: rgba(116,0,28,0.35); }
.pg-home-faculty .contact-icon.navy-icon { background: rgba(255,255,255,0.12); }
.pg-home-faculty .contact-card h3 { font-size: 1.2rem; font-weight: 700; margin-bottom: 10px; color: #fff; }
.pg-home-faculty .contact-card p { font-size: 0.9rem; color: rgba(255,255,255,0.72); line-height: 1.65; flex: 1; margin-bottom: 24px; }
.pg-home-faculty .highlights-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-home-faculty .highlight-card { background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid var(--cmc-border); box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-home-faculty .highlight-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-home-faculty .highlight-img { height: 200px; background: url('i/card-clac.jpg') center/cover no-repeat; position: relative; overflow: hidden; }
.pg-home-faculty .highlight-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.28) 100%); }
.pg-home-faculty .highlight-img-alt { background: url('i/card-ai.jpg') center/cover no-repeat; }
.pg-home-faculty .highlight-img-alt2 { background: url('i/card-hpc.jpg') center/cover no-repeat; }
.pg-home-faculty .highlight-body { padding: 20px; }
.pg-home-faculty .tag-chip { display: inline-block; padding: 3px 10px; border-radius: 9999px; font-size: 0.7rem; font-weight: 700; font-family: 'Montserrat', sans-serif; letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: 10px; }
.pg-home-faculty .tag-chip.maroon { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-home-faculty .tag-chip.navy { background: #eef0f7; color: var(--navy); }
.pg-home-faculty .tag-chip.green { background: var(--green-light); color: var(--green); }
.pg-home-faculty .highlight-card h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: 8px; line-height: 1.35; }
.pg-home-faculty .highlight-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; margin-bottom: 16px; }
.pg-home-faculty .link-arrow { font-size: 0.83rem; font-weight: 600; color: var(--cmc-maroon); display: flex; align-items: center; gap: 5px; }
.pg-home-faculty .link-arrow:hover { gap: 9px; }
.pg-home-faculty .link-arrow svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-home-faculty .link-arrow:hover svg { transform: translateX(3px); }
.pg-home-faculty .guides-section { background: var(--cmc-surface); }
.pg-home-faculty .guides-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px; }
.pg-home-faculty .guide-card { background: #fff; border-radius: 12px; padding: 24px; border: 1px solid var(--cmc-border); box-shadow: var(--shadow-sm); display: flex; gap: 16px; align-items: flex-start; transition: transform 0.2s, box-shadow 0.2s; }
.pg-home-faculty .guide-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.pg-home-faculty .guide-badge { width: 40px; height: 40px; border-radius: 10px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-family: 'Montserrat', sans-serif; font-size: 0.7rem; font-weight: 800; color: var(--cmc-maroon); flex-shrink: 0; text-align: center; line-height: 1.2; }
.pg-home-faculty .guide-card h4 { font-size: 0.92rem; font-weight: 700; margin-bottom: 5px; }
.pg-home-faculty .guide-card p { font-size: 0.82rem; color: var(--cmc-text-muted); line-height: 1.5; margin-bottom: 10px; }
.pg-home-faculty .step-count { font-size: 0.75rem; color: var(--cmc-text-muted); font-weight: 600; }
.pg-home-faculty .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; }
@media (max-width: 1024px) { .pg-home-faculty .header-nav { display: none; } .pg-home-faculty .hamburger { display: block; } .pg-home-faculty .contact-grid, .pg-home-faculty .highlights-grid, .pg-home-faculty .guides-grid, .pg-home-faculty .support-grid { grid-template-columns: 1fr 1fr; } .pg-home-faculty .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-home-faculty .hero-cards { flex-direction: column; } .pg-home-faculty .hero-card { max-width: 100%; } .pg-home-faculty .contact-grid, .pg-home-faculty .highlights-grid, .pg-home-faculty .guides-grid, .pg-home-faculty .footer-grid, .pg-home-faculty .support-grid { grid-template-columns: 1fr; } .pg-home-faculty section { padding: 48px 0; } }


.pg-home-faculty .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
@media (max-width: 900px) { .pg-home-faculty .card-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .pg-home-faculty .card-grid { grid-template-columns: 1fr; } }
.pg-home-faculty .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; overflow: hidden; padding: 0; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-home-faculty .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-home-faculty .card-color { height: 64px; display: flex; align-items: center; padding: 0 20px; flex-shrink: 0; }
.pg-home-faculty .card-color.guide { background: linear-gradient(135deg, #1d4ed8, #3b82f6); }
.pg-home-faculty .card-color.service { background: linear-gradient(135deg, #15803d, #22c55e); }
.pg-home-faculty .card-color.solution { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); }
.pg-home-faculty .card-color.security { background: linear-gradient(135deg, #c2410c, #f97316); }
.pg-home-faculty .card-icon { width: 40px; height: 40px; border-radius: 10px; background: rgba(255,255,255,0.22); display: flex; align-items: center; justify-content: center; font-size: 1.15rem; flex-shrink: 0; }
.pg-home-faculty .index-card-body { padding: 20px 22px 22px; display: flex; flex-direction: column; flex: 1; }
.pg-home-faculty .index-card-body h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-home-faculty .index-card-body p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-home-faculty .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-home-faculty .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }


/* ── pg-home-staff ──────────────────────────────────────────── */
:root {
  --green: #1a7a4a;
  --green-light: #e8f5ee;
}

.pg-home-staff h1, .pg-home-staff h2, .pg-home-staff h3, .pg-home-staff h4, .pg-home-staff h5, .pg-home-staff h6 { font-family: 'Montserrat', sans-serif; }
.pg-home-staff .announcement-bar { background: var(--cmc-maroon-dark); color: #fff; text-align: center; padding: 10px 20px; font-size: 0.85rem; font-family: 'Montserrat', sans-serif; font-weight: 500; letter-spacing: 0.01em; }
.pg-home-staff .announcement-bar a { color: var(--cmc-maroon-light); text-decoration: underline; }
.pg-home-staff .header-nav > li > a:hover, .pg-home-staff .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-home-staff .dropdown:hover .dropdown-menu, .pg-home-staff .dropdown:focus-within .dropdown-menu { display: block; }
.pg-home-staff .dropdown:hover .dropdown-wide, .pg-home-staff .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-home-staff .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-home-staff .mobile-nav .mobile-section { margin-bottom: 8px; }
.pg-home-staff .mobile-nav .mobile-label { font-family: 'Montserrat', sans-serif; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--cmc-maroon); padding: 8px 12px 4px; }
.pg-home-staff .hero { position: relative; background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--cmc-maroon) 55%, var(--cmc-accent) 100%); min-height: 520px; display: flex; align-items: center; overflow: hidden; }
.pg-home-staff .hero-bg { position: absolute; inset: 0; background-image: url('i/hero-home-staff.jpg'); background-size: cover; background-position: center 30%; opacity: 0.30; mix-blend-mode: luminosity; }
.pg-home-staff .hero-content { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; padding: 64px 24px; width: 100%; }
.pg-home-staff .hero-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 20px; }
.pg-home-staff .hero h1 { font-family: 'Montserrat', sans-serif; font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 800; color: #fff; line-height: 1.15; max-width: 680px; margin-bottom: 16px; text-shadow: 0 2px 12px rgba(0,0,0,0.2); }
.pg-home-staff .hero-sub { font-size: 1.05rem; color: rgba(255,255,255,0.85); max-width: 560px; margin-bottom: 40px; line-height: 1.65; }
.pg-home-staff .hero-cards { display: flex; gap: 20px; flex-wrap: wrap; }
.pg-home-staff .hero-card { background: rgba(255,255,255,0.97); border-radius: 12px; padding: 24px 28px; min-width: 240px; max-width: 300px; box-shadow: var(--shadow-lg); position: relative; overflow: hidden; transition: transform 0.22s, box-shadow 0.22s; }
.pg-home-staff .hero-card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(0,0,0,0.18); }
.pg-home-staff .hero-card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--cmc-maroon); border-radius: 4px 0 0 4px; }
.pg-home-staff .hero-card.navy::before { background: var(--navy); }
.pg-home-staff .hero-card h3 { font-size: 0.95rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 6px; }
.pg-home-staff .hero-card p { font-size: 0.82rem; color: var(--cmc-text-muted); margin-bottom: 16px; line-height: 1.5; }
.pg-home-staff .btn { display: inline-flex; align-items: center; gap: 6px; padding: 9px 20px; border-radius: 9999px; font-family: 'Montserrat', sans-serif; font-size: 0.8rem; font-weight: 700; cursor: pointer; transition: background 0.18s, transform 0.15s; text-decoration: none; border: none; }
.pg-home-staff .btn-navy { background: var(--navy); color: #fff; }
.pg-home-staff .btn-navy:hover { background: var(--navy-hover); transform: translateY(-1px); }
.pg-home-staff .btn-outline { background: transparent; border: 2px solid var(--cmc-maroon); color: var(--cmc-maroon); }
.pg-home-staff .btn-outline:hover { background: var(--cmc-maroon); color: #fff; }
.pg-home-staff .status-ticker { background: var(--cmc-surface); border-bottom: 1px solid var(--cmc-border); padding: 10px 0; overflow: hidden; }
.pg-home-staff .status-inner { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; gap: 32px; flex-wrap: wrap; }
.pg-home-staff .status-label { font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; color: var(--cmc-text-muted); flex-shrink: 0; }
.pg-home-staff .status-items { display: flex; gap: 20px; flex-wrap: wrap; align-items: center; }
.pg-home-staff .status-item { display: flex; align-items: center; gap: 7px; font-size: 0.83rem; color: var(--cmc-text-secondary); }
.pg-home-staff .status-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; animation: pulse-green 2.5s infinite; }
.pg-home-staff .status-dot.green { background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,0.2); }
.pg-home-staff .status-dot.yellow { background: #f59e0b; box-shadow: 0 0 0 3px rgba(245,158,11,0.2); animation: none; }
.pg-home-staff .status-dot.red { background: #ef4444; box-shadow: 0 0 0 3px rgba(239,68,68,0.2); animation: none; }
@keyframes pulse-green { 0%,100%{box-shadow:0 0 0 3px rgba(34,197,94,0.2)} 50%{box-shadow:0 0 0 6px rgba(34,197,94,0.1)} }
.pg-home-staff section { padding: 72px 0; }
.pg-home-staff .section-eyebrow { font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--cmc-maroon); margin-bottom: 10px; }
.pg-home-staff .section-title { font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 800; margin-bottom: 12px; }
.pg-home-staff .section-subtitle { font-size: 1rem; color: var(--cmc-text-muted); max-width: 560px; line-height: 1.65; }
.pg-home-staff .support-section { background: var(--cmc-surface-alt); }
.pg-home-staff .support-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-home-staff .support-card { background: #fff; border-radius: 16px; padding: 32px 28px; display: flex; flex-direction: column; align-items: flex-start; box-shadow: var(--shadow-md); border: 1px solid var(--cmc-border); transition: transform 0.22s, box-shadow 0.22s; }
.pg-home-staff .support-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.pg-home-staff .support-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; margin-bottom: 18px; }
.pg-home-staff .support-icon.maroon { background: var(--cmc-surface-alt); }
.pg-home-staff .support-icon.navy { background: #eef0f7; }
.pg-home-staff .support-icon.green-bg { background: var(--green-light); }
.pg-home-staff .support-card h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 8px; }
.pg-home-staff .support-card p { font-size: 0.88rem; color: var(--cmc-text-muted); line-height: 1.65; flex: 1; margin-bottom: 20px; }
.pg-home-staff .support-card .support-meta { font-size: 0.82rem; font-weight: 600; color: var(--cmc-text-secondary); margin-bottom: 18px; display: flex; align-items: center; gap: 6px; }
.pg-home-staff .contact-section { background: var(--navy); }
.pg-home-staff .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 40px; }
.pg-home-staff .contact-card { background: rgba(255,255,255,0.07); border-radius: 16px; padding: 36px; display: flex; flex-direction: column; box-shadow: var(--shadow-md); border: 1px solid rgba(255,255,255,0.12); transition: transform 0.22s, box-shadow 0.22s, background 0.22s; }
.pg-home-staff .contact-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); background: rgba(255,255,255,0.11); }
.pg-home-staff .contact-icon { width: 56px; height: 56px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; margin-bottom: 20px; }
.pg-home-staff .contact-icon.maroon { background: rgba(116,0,28,0.35); }
.pg-home-staff .contact-icon.navy-icon { background: rgba(255,255,255,0.12); }
.pg-home-staff .contact-card h3 { font-size: 1.2rem; font-weight: 700; margin-bottom: 10px; color: #fff; }
.pg-home-staff .contact-card p { font-size: 0.9rem; color: rgba(255,255,255,0.72); line-height: 1.65; flex: 1; margin-bottom: 24px; }
.pg-home-staff .highlights-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-home-staff .highlight-card { background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid var(--cmc-border); box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-home-staff .highlight-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-home-staff .highlight-img { height: 200px; background: url('i/card-clac.jpg') center/cover no-repeat; position: relative; overflow: hidden; }
.pg-home-staff .highlight-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.28) 100%); }
.pg-home-staff .highlight-img-alt { background: url('i/card-ai.jpg') center/cover no-repeat; }
.pg-home-staff .highlight-img-alt2 { background: url('i/card-hpc.jpg') center/cover no-repeat; }
.pg-home-staff .highlight-body { padding: 20px; }
.pg-home-staff .tag-chip { display: inline-block; padding: 3px 10px; border-radius: 9999px; font-size: 0.7rem; font-weight: 700; font-family: 'Montserrat', sans-serif; letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: 10px; }
.pg-home-staff .tag-chip.maroon { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-home-staff .tag-chip.navy { background: #eef0f7; color: var(--navy); }
.pg-home-staff .tag-chip.green { background: var(--green-light); color: var(--green); }
.pg-home-staff .highlight-card h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: 8px; line-height: 1.35; }
.pg-home-staff .highlight-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; margin-bottom: 16px; }
.pg-home-staff .link-arrow { font-size: 0.83rem; font-weight: 600; color: var(--cmc-maroon); display: flex; align-items: center; gap: 5px; }
.pg-home-staff .link-arrow:hover { gap: 9px; }
.pg-home-staff .link-arrow svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-home-staff .link-arrow:hover svg { transform: translateX(3px); }
.pg-home-staff .guides-section { background: var(--cmc-surface); }
.pg-home-staff .guides-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px; }
.pg-home-staff .guide-card { background: #fff; border-radius: 12px; padding: 24px; border: 1px solid var(--cmc-border); box-shadow: var(--shadow-sm); display: flex; gap: 16px; align-items: flex-start; transition: transform 0.2s, box-shadow 0.2s; }
.pg-home-staff .guide-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.pg-home-staff .guide-badge { width: 40px; height: 40px; border-radius: 10px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-family: 'Montserrat', sans-serif; font-size: 0.7rem; font-weight: 800; color: var(--cmc-maroon); flex-shrink: 0; text-align: center; line-height: 1.2; }
.pg-home-staff .guide-card h4 { font-size: 0.92rem; font-weight: 700; margin-bottom: 5px; }
.pg-home-staff .guide-card p { font-size: 0.82rem; color: var(--cmc-text-muted); line-height: 1.5; margin-bottom: 10px; }
.pg-home-staff .step-count { font-size: 0.75rem; color: var(--cmc-text-muted); font-weight: 600; }
.pg-home-staff .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; }
@media (max-width: 1024px) { .pg-home-staff .header-nav { display: none; } .pg-home-staff .hamburger { display: block; } .pg-home-staff .contact-grid, .pg-home-staff .highlights-grid, .pg-home-staff .guides-grid, .pg-home-staff .support-grid { grid-template-columns: 1fr 1fr; } .pg-home-staff .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-home-staff .hero-cards { flex-direction: column; } .pg-home-staff .hero-card { max-width: 100%; } .pg-home-staff .contact-grid, .pg-home-staff .highlights-grid, .pg-home-staff .guides-grid, .pg-home-staff .footer-grid, .pg-home-staff .support-grid { grid-template-columns: 1fr; } .pg-home-staff section { padding: 48px 0; } }


.pg-home-staff .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
@media (max-width: 900px) { .pg-home-staff .card-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .pg-home-staff .card-grid { grid-template-columns: 1fr; } }
.pg-home-staff .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; overflow: hidden; padding: 0; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-home-staff .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-home-staff .card-color { height: 64px; display: flex; align-items: center; padding: 0 20px; flex-shrink: 0; }
.pg-home-staff .card-color.guide { background: linear-gradient(135deg, #1d4ed8, #3b82f6); }
.pg-home-staff .card-color.service { background: linear-gradient(135deg, #15803d, #22c55e); }
.pg-home-staff .card-color.solution { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); }
.pg-home-staff .card-color.security { background: linear-gradient(135deg, #c2410c, #f97316); }
.pg-home-staff .card-icon { width: 40px; height: 40px; border-radius: 10px; background: rgba(255,255,255,0.22); display: flex; align-items: center; justify-content: center; font-size: 1.15rem; flex-shrink: 0; }
.pg-home-staff .index-card-body { padding: 20px 22px 22px; display: flex; flex-direction: column; flex: 1; }
.pg-home-staff .index-card-body h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-home-staff .index-card-body p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-home-staff .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-home-staff .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }


/* ═══ Audience onboarding checklists ═══ */

/* ── pg-home-students-onboarding ──────────────────────────────────────────── */
.pg-home-students-onboarding .header-nav > li > a:hover, .pg-home-students-onboarding .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-home-students-onboarding .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-home-students-onboarding .dropdown:hover .dropdown-menu, .pg-home-students-onboarding .dropdown:focus-within .dropdown-menu { display: block; }
.pg-home-students-onboarding .dropdown:hover .dropdown-wide, .pg-home-students-onboarding .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-home-students-onboarding .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-home-students-onboarding .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%); position: relative; padding: 52px 0 48px; }
.pg-home-students-onboarding .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-home-students-onboarding .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-home-students-onboarding .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-home-students-onboarding .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-home-students-onboarding .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-home-students-onboarding .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-home-students-onboarding .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-home-students-onboarding .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-home-students-onboarding .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-home-students-onboarding .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-home-students-onboarding .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-home-students-onboarding .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-home-students-onboarding .header-nav { display: none; } .pg-home-students-onboarding .hamburger { display: block; } .pg-home-students-onboarding .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-home-students-onboarding .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-home-students-onboarding .card-grid { grid-template-columns: 1fr; } .pg-home-students-onboarding .footer-grid { grid-template-columns: 1fr; } .pg-home-students-onboarding .grid-section { padding: 48px 0; } }


.pg-home-students-onboarding .steps-section { padding: 56px 0 72px; }
.pg-home-students-onboarding .steps-list { max-width: 760px; margin: 32px auto 0; display: flex; flex-direction: column; gap: 0; }
.pg-home-students-onboarding .step-item { display: flex; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--cmc-border); }
.pg-home-students-onboarding .step-item:last-child { border-bottom: none; }
.pg-home-students-onboarding .step-num { flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; background: var(--cmc-surface-alt); color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 1rem; display: flex; align-items: center; justify-content: center; }
.pg-home-students-onboarding .step-body h3 { font-size: 1rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 6px; }
.pg-home-students-onboarding .step-body p { font-size: 0.9rem; color: var(--cmc-text-muted); line-height: 1.6; margin-bottom: 10px; max-width: 60ch; }
.pg-home-students-onboarding .step-body a.step-link { font-size: 0.85rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-home-students-onboarding .steps-intro { max-width: 760px; margin: 0 auto; text-align: left; }
@media (max-width: 640px) { .pg-home-students-onboarding .step-item { gap: 14px; } .pg-home-students-onboarding .step-num { width: 32px; height: 32px; font-size: 0.85rem; } }


/* ── pg-home-faculty-onboarding ──────────────────────────────────────────── */
.pg-home-faculty-onboarding .header-nav > li > a:hover, .pg-home-faculty-onboarding .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-home-faculty-onboarding .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-home-faculty-onboarding .dropdown:hover .dropdown-menu, .pg-home-faculty-onboarding .dropdown:focus-within .dropdown-menu { display: block; }
.pg-home-faculty-onboarding .dropdown:hover .dropdown-wide, .pg-home-faculty-onboarding .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-home-faculty-onboarding .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-home-faculty-onboarding .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%); position: relative; padding: 52px 0 48px; }
.pg-home-faculty-onboarding .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-home-faculty-onboarding .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-home-faculty-onboarding .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-home-faculty-onboarding .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-home-faculty-onboarding .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-home-faculty-onboarding .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-home-faculty-onboarding .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-home-faculty-onboarding .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-home-faculty-onboarding .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-home-faculty-onboarding .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-home-faculty-onboarding .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-home-faculty-onboarding .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-home-faculty-onboarding .header-nav { display: none; } .pg-home-faculty-onboarding .hamburger { display: block; } .pg-home-faculty-onboarding .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-home-faculty-onboarding .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-home-faculty-onboarding .card-grid { grid-template-columns: 1fr; } .pg-home-faculty-onboarding .footer-grid { grid-template-columns: 1fr; } .pg-home-faculty-onboarding .grid-section { padding: 48px 0; } }


.pg-home-faculty-onboarding .steps-section { padding: 56px 0 72px; }
.pg-home-faculty-onboarding .steps-list { max-width: 760px; margin: 32px auto 0; display: flex; flex-direction: column; gap: 0; }
.pg-home-faculty-onboarding .step-item { display: flex; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--cmc-border); }
.pg-home-faculty-onboarding .step-item:last-child { border-bottom: none; }
.pg-home-faculty-onboarding .step-num { flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; background: var(--cmc-surface-alt); color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 1rem; display: flex; align-items: center; justify-content: center; }
.pg-home-faculty-onboarding .step-body h3 { font-size: 1rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 6px; }
.pg-home-faculty-onboarding .step-body p { font-size: 0.9rem; color: var(--cmc-text-muted); line-height: 1.6; margin-bottom: 10px; max-width: 60ch; }
.pg-home-faculty-onboarding .step-body a.step-link { font-size: 0.85rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-home-faculty-onboarding .steps-intro { max-width: 760px; margin: 0 auto; text-align: left; }
@media (max-width: 640px) { .pg-home-faculty-onboarding .step-item { gap: 14px; } .pg-home-faculty-onboarding .step-num { width: 32px; height: 32px; font-size: 0.85rem; } }


/* ── pg-home-staff-onboarding ──────────────────────────────────────────── */
.pg-home-staff-onboarding .header-nav > li > a:hover, .pg-home-staff-onboarding .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-home-staff-onboarding .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-home-staff-onboarding .dropdown:hover .dropdown-menu, .pg-home-staff-onboarding .dropdown:focus-within .dropdown-menu { display: block; }
.pg-home-staff-onboarding .dropdown:hover .dropdown-wide, .pg-home-staff-onboarding .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-home-staff-onboarding .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-home-staff-onboarding .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%); position: relative; padding: 52px 0 48px; }
.pg-home-staff-onboarding .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-home-staff-onboarding .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-home-staff-onboarding .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-home-staff-onboarding .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-home-staff-onboarding .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-home-staff-onboarding .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-home-staff-onboarding .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-home-staff-onboarding .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-home-staff-onboarding .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-home-staff-onboarding .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-home-staff-onboarding .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-home-staff-onboarding .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-home-staff-onboarding .header-nav { display: none; } .pg-home-staff-onboarding .hamburger { display: block; } .pg-home-staff-onboarding .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-home-staff-onboarding .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-home-staff-onboarding .card-grid { grid-template-columns: 1fr; } .pg-home-staff-onboarding .footer-grid { grid-template-columns: 1fr; } .pg-home-staff-onboarding .grid-section { padding: 48px 0; } }


.pg-home-staff-onboarding .steps-section { padding: 56px 0 72px; }
.pg-home-staff-onboarding .steps-list { max-width: 760px; margin: 32px auto 0; display: flex; flex-direction: column; gap: 0; }
.pg-home-staff-onboarding .step-item { display: flex; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--cmc-border); }
.pg-home-staff-onboarding .step-item:last-child { border-bottom: none; }
.pg-home-staff-onboarding .step-num { flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; background: var(--cmc-surface-alt); color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 1rem; display: flex; align-items: center; justify-content: center; }
.pg-home-staff-onboarding .step-body h3 { font-size: 1rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 6px; }
.pg-home-staff-onboarding .step-body p { font-size: 0.9rem; color: var(--cmc-text-muted); line-height: 1.6; margin-bottom: 10px; max-width: 60ch; }
.pg-home-staff-onboarding .step-body a.step-link { font-size: 0.85rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-home-staff-onboarding .steps-intro { max-width: 760px; margin: 0 auto; text-align: left; }
@media (max-width: 640px) { .pg-home-staff-onboarding .step-item { gap: 14px; } .pg-home-staff-onboarding .step-num { width: 32px; height: 32px; font-size: 0.85rem; } }


/* ═══ Site search — global, unscoped (works identically on every page) ═══ */
#site-search-trigger { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; border: none; background: transparent; color: var(--cmc-text-muted); cursor: pointer; transition: background 0.15s, color 0.15s; flex-shrink: 0; margin-left: 4px; }
#site-search-trigger:hover, #site-search-trigger:focus-visible { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
#site-search-overlay { position: fixed; inset: 0; background: rgba(26,28,28,0.55); z-index: 5000; display: flex; align-items: flex-start; justify-content: center; padding: 10vh 20px 20px; }
#site-search-overlay[hidden] { display: none; }
.site-search-panel { background: #fff; border-radius: 14px; width: 100%; max-width: 640px; box-shadow: var(--shadow-lg); overflow: hidden; max-height: 70vh; display: flex; flex-direction: column; }
.site-search-inputrow { display: flex; align-items: center; gap: 10px; padding: 16px 18px; border-bottom: 1px solid var(--cmc-border); color: var(--cmc-text-muted); flex-shrink: 0; }
#site-search-input { flex: 1; border: none; outline: none; font-size: 1rem; font-family: 'Open Sans', sans-serif; color: var(--cmc-text); background: transparent; }
#site-search-close { border: none; background: none; font-size: 1.4rem; line-height: 1; color: var(--cmc-text-muted); cursor: pointer; padding: 2px 6px; border-radius: 6px; }
#site-search-close:hover { background: var(--cmc-surface-alt); }
#site-search-results { overflow-y: auto; }
.site-search-result { display: flex; flex-direction: column; gap: 2px; padding: 12px 18px; text-decoration: none; border-bottom: 1px solid var(--cmc-surface); }
.site-search-result:hover, .site-search-result.active { background: var(--cmc-surface-alt); }
.site-search-result .ssr-section { font-family: 'Montserrat', sans-serif; font-size: 0.66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--cmc-maroon); }
.site-search-result .ssr-title { font-size: 0.92rem; font-weight: 700; color: var(--cmc-text); }
.site-search-result .ssr-desc { font-size: 0.8rem; color: var(--cmc-text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.site-search-empty { padding: 24px 18px; text-align: center; color: var(--cmc-text-muted); font-size: 0.88rem; }
@media (max-width: 640px) { #site-search-overlay { padding: 6vh 12px 12px; } }

/* ── pg-services-course-materials-digitizing ──────────────────────────────────────────── */
.pg-services-course-materials-digitizing .header-nav > li > a:hover, .pg-services-course-materials-digitizing .header-nav > li > a:focus, .pg-services-course-materials-digitizing .header-nav > li > a.active { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-services-course-materials-digitizing .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-services-course-materials-digitizing.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-services-course-materials-digitizing .content-wrap { max-width:1280px; margin:0 auto; padding:48px 24px; display:grid; grid-template-columns:1fr 340px; gap:48px; align-items:start; }
.pg-services-course-materials-digitizing .overview-body ol { padding-left:20px; }
.pg-services-course-materials-digitizing .overview-body ol li { padding:6px 0; font-size:0.92rem; }
.pg-services-course-materials-digitizing .alert-deadline { background:var(--cmc-surface-alt); border:2px solid var(--cmc-maroon); border-radius:12px; padding:20px 24px; margin-bottom:28px; display:flex; align-items:flex-start; gap:16px; }
.pg-services-course-materials-digitizing .alert-deadline-icon { font-size:2rem; flex-shrink:0; line-height:1; }
.pg-services-course-materials-digitizing .alert-deadline h3 { font-family:'Montserrat',sans-serif; font-size:1rem; font-weight:800; color:var(--cmc-maroon); margin-bottom:4px; }
.pg-services-course-materials-digitizing .alert-deadline p { font-size:0.88rem; color:var(--cmc-text-secondary); margin:0; }
.pg-services-course-materials-digitizing .timeline { margin:16px 0 24px; }
.pg-services-course-materials-digitizing .timeline-step { display:flex; gap:16px; padding:12px 0; border-bottom:1px solid var(--cmc-border); }
.pg-services-course-materials-digitizing .timeline-step:last-child { border-bottom:none; }
.pg-services-course-materials-digitizing .timeline-num { width:28px; height:28px; border-radius:50%; background:var(--cmc-maroon); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; flex-shrink:0; margin-top:2px; }
.pg-services-course-materials-digitizing .timeline-content strong { font-family:'Montserrat',sans-serif; font-size:0.88rem; font-weight:700; color:var(--cmc-text); display:block; margin-bottom:2px; }
.pg-services-course-materials-digitizing .timeline-content span { font-size:0.85rem; color:var(--cmc-text-secondary); }
.pg-services-course-materials-digitizing .fs-widget-card { background:#fff; border:2px solid var(--cmc-maroon); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-lg); margin-bottom:36px; }
.pg-services-course-materials-digitizing .fs-widget-header { background:linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); padding:24px 28px; }
.pg-services-course-materials-digitizing .fs-widget-header h3 { color:#fff; font-size:1.1rem; font-weight:700; margin-bottom:6px; }
.pg-services-course-materials-digitizing .fs-widget-header p { color:rgba(255,255,255,0.85); font-size:0.88rem; }
@media (max-width:960px) { .pg-services-course-materials-digitizing .content-wrap { grid-template-columns:1fr; } .pg-services-course-materials-digitizing .sidebar { position:static; } .pg-services-course-materials-digitizing .header-nav { display:none; } .pg-services-course-materials-digitizing .hamburger { display:block; } .pg-services-course-materials-digitizing .footer-grid { grid-template-columns:1fr 1fr; } .pg-services-course-materials-digitizing .details-grid { grid-template-columns:1fr; } .pg-services-course-materials-digitizing .detail-item { border-right:none !important; } }


/* ── pg-services-computer-labs ──────────────────────────────────────────── */
.pg-services-computer-labs .header-nav > li > a:hover, .pg-services-computer-labs .header-nav > li > a:focus, .pg-services-computer-labs .header-nav > li > a.active { background:var(--cmc-surface-alt); color:var(--cmc-maroon); }
.pg-services-computer-labs .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-services-computer-labs.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding:44px 0; }
.pg-services-computer-labs .content-wrap { max-width:1280px; margin:0 auto; padding:48px 24px; display:grid; grid-template-columns:1fr 340px; gap:48px; align-items:start; }
.pg-services-computer-labs .overview-body ol { padding-left:20px; }
.pg-services-computer-labs .overview-body ol li { padding:6px 0; font-size:0.92rem; }
.pg-services-computer-labs .alert-deadline { background:var(--cmc-surface-alt); border:2px solid var(--cmc-maroon); border-radius:12px; padding:20px 24px; margin-bottom:28px; display:flex; align-items:flex-start; gap:16px; }
.pg-services-computer-labs .alert-deadline-icon { font-size:2rem; flex-shrink:0; line-height:1; }
.pg-services-computer-labs .alert-deadline h3 { font-family:'Montserrat',sans-serif; font-size:1rem; font-weight:800; color:var(--cmc-maroon); margin-bottom:4px; }
.pg-services-computer-labs .alert-deadline p { font-size:0.88rem; color:var(--cmc-text-secondary); margin:0; }
.pg-services-computer-labs .timeline { margin:16px 0 24px; }
.pg-services-computer-labs .timeline-step { display:flex; gap:16px; padding:12px 0; border-bottom:1px solid var(--cmc-border); }
.pg-services-computer-labs .timeline-step:last-child { border-bottom:none; }
.pg-services-computer-labs .timeline-num { width:28px; height:28px; border-radius:50%; background:var(--cmc-maroon); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; flex-shrink:0; margin-top:2px; }
.pg-services-computer-labs .timeline-content strong { font-family:'Montserrat',sans-serif; font-size:0.88rem; font-weight:700; color:var(--cmc-text); display:block; margin-bottom:2px; }
.pg-services-computer-labs .timeline-content span { font-size:0.85rem; color:var(--cmc-text-secondary); }
.pg-services-computer-labs .fs-widget-card { background:#fff; border:2px solid var(--cmc-maroon); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-lg); margin-bottom:36px; }
.pg-services-computer-labs .fs-widget-header { background:linear-gradient(135deg, var(--cmc-maroon-dark), var(--cmc-maroon)); padding:24px 28px; }
.pg-services-computer-labs .fs-widget-header h3 { color:#fff; font-size:1.1rem; font-weight:700; margin-bottom:6px; }
.pg-services-computer-labs .fs-widget-header p { color:rgba(255,255,255,0.85); font-size:0.88rem; }
@media (max-width:960px) { .pg-services-computer-labs .content-wrap { grid-template-columns:1fr; } .pg-services-computer-labs .sidebar { position:static; } .pg-services-computer-labs .header-nav { display:none; } .pg-services-computer-labs .hamburger { display:block; } .pg-services-computer-labs .footer-grid { grid-template-columns:1fr 1fr; } .pg-services-computer-labs .details-grid { grid-template-columns:1fr; } .pg-services-computer-labs .detail-item { border-right:none !important; } }

.pg-services-computer-labs .card-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 16px; }
.pg-services-computer-labs .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 22px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); }
.pg-services-computer-labs .card-icon { width: 40px; height: 40px; border-radius: 10px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.2rem; margin-bottom: 12px; flex-shrink: 0; }
.pg-services-computer-labs .index-card h3 { font-size: 0.95rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 6px; }
.pg-services-computer-labs .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; margin-bottom: 10px; }
.pg-services-computer-labs .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.8rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-services-computer-labs .card-link svg { width: 13px; height: 13px; }
@media (max-width: 700px) { .pg-services-computer-labs .card-grid { grid-template-columns: 1fr; } }
.pg-services-computer-labs .lab-map-figure { margin: 0 0 32px; }
.pg-services-computer-labs .lab-map-figure img { width: 100%; height: auto; border-radius: 14px; border: 1px solid var(--cmc-border); box-shadow: var(--shadow-sm); display: block; }
.pg-services-computer-labs .lab-map-figure figcaption { font-size: 0.82rem; color: var(--cmc-text-muted); margin-top: 10px; text-align: center; }
.pg-home-students .cat-badge, .pg-home-faculty .cat-badge, .pg-home-staff .cat-badge { display:inline-block; padding:3px 10px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; margin-bottom:10px; }
.pg-home-students .cat-badge.guide, .pg-home-faculty .cat-badge.guide, .pg-home-staff .cat-badge.guide { background:#eff6ff; color:#1d4ed8; border:1px solid #bfdbfe; }
.pg-home-students .cat-badge.service, .pg-home-faculty .cat-badge.service, .pg-home-staff .cat-badge.service { background:#f0fdf4; color:#15803d; border:1px solid #bbf7d0; }
.pg-home-students .cat-badge.solution, .pg-home-faculty .cat-badge.solution, .pg-home-staff .cat-badge.solution { background:var(--cmc-surface-alt); color:var(--cmc-maroon); border:1px solid var(--cmc-maroon-light); }
.pg-home-students .cat-badge.security, .pg-home-faculty .cat-badge.security, .pg-home-staff .cat-badge.security { background:#fff3e0; color:#c2410c; border:1px solid #fed7aa; }


/* ══════════════ About / Engagement / Releases (new sections) ══════════════ */
/* ── pg-about-index ──────────────────────────────────────────── */
.pg-about-index .header-nav > li > a:hover, .pg-about-index .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-about-index .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-about-index .dropdown:hover .dropdown-menu, .pg-about-index .dropdown:focus-within .dropdown-menu { display: block; }
.pg-about-index .dropdown:hover .dropdown-wide, .pg-about-index .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-about-index .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-about-index .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/hero-about.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding: 52px 0 48px; }
.pg-about-index .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-about-index .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-about-index .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-about-index .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-about-index .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-about-index .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-about-index .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-about-index .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-about-index .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-about-index .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-about-index .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-about-index .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-about-index .header-nav { display: none; } .pg-about-index .hamburger { display: block; } .pg-about-index .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-about-index .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-about-index .card-grid { grid-template-columns: 1fr; } .pg-about-index .footer-grid { grid-template-columns: 1fr; } .pg-about-index .grid-section { padding: 48px 0; } }


/* ── pg-engagement-index ──────────────────────────────────────────── */
.pg-engagement-index .header-nav > li > a:hover, .pg-engagement-index .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-engagement-index .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-engagement-index .dropdown:hover .dropdown-menu, .pg-engagement-index .dropdown:focus-within .dropdown-menu { display: block; }
.pg-engagement-index .dropdown:hover .dropdown-wide, .pg-engagement-index .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-engagement-index .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-engagement-index .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-strategy-index.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding: 52px 0 48px; }
.pg-engagement-index .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-engagement-index .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-engagement-index .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-engagement-index .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-engagement-index .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-engagement-index .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-engagement-index .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-engagement-index .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-engagement-index .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-engagement-index .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-engagement-index .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-engagement-index .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-engagement-index .header-nav { display: none; } .pg-engagement-index .hamburger { display: block; } .pg-engagement-index .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-engagement-index .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-engagement-index .card-grid { grid-template-columns: 1fr; } .pg-engagement-index .footer-grid { grid-template-columns: 1fr; } .pg-engagement-index .grid-section { padding: 48px 0; } }


/* ── pg-releases-index ──────────────────────────────────────────── */
.pg-releases-index .header-nav > li > a:hover, .pg-releases-index .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-releases-index .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-releases-index .dropdown:hover .dropdown-menu, .pg-releases-index .dropdown:focus-within .dropdown-menu { display: block; }
.pg-releases-index .dropdown:hover .dropdown-wide, .pg-releases-index .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-releases-index .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-releases-index .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-blog-index.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding: 52px 0 48px; }
.pg-releases-index .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-releases-index .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-releases-index .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-releases-index .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-releases-index .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-releases-index .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-releases-index .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-releases-index .status-badge-hero { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 9999px; font-family: 'Montserrat', sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.04em; white-space: nowrap; align-self: flex-start; }
.pg-releases-index .status-badge-hero.complete { background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0; }
.pg-releases-index .status-badge-hero.inprogress { background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa; }
.pg-releases-index .status-badge-hero.planning { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; }
.pg-releases-index .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; margin-top: 10px; }
.pg-releases-index .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-releases-index .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-releases-index .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-releases-index .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-releases-index .header-nav { display: none; } .pg-releases-index .hamburger { display: block; } .pg-releases-index .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-releases-index .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-releases-index .card-grid { grid-template-columns: 1fr; } .pg-releases-index .footer-grid { grid-template-columns: 1fr; } .pg-releases-index .grid-section { padding: 48px 0; } }


/* ── pg-releases-2024-04 ──────────────────────────────────────────── */
.pg-releases-2024-04 .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-blog-status.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; position:relative; overflow:hidden; }
.pg-releases-2024-04 .page-hero::after { content:''; position:absolute; right:-80px; top:-80px; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.04); pointer-events:none; }
.pg-releases-2024-04 .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.pg-releases-2024-04 .hero-title-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.pg-releases-2024-04 .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; text-shadow:0 2px 10px rgba(0,0,0,0.2); }
.pg-releases-2024-04 .status-badge-hero { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; white-space:nowrap; }
.pg-releases-2024-04 .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-releases-2024-04 .status-badge-hero.complete { background:rgba(34,197,94,0.2); color:#4ade80; border:1px solid rgba(34,197,94,0.4); }
.pg-releases-2024-04 .status-badge-hero.planning { background:rgba(147,197,253,0.2); color:#93c5fd; border:1px solid rgba(147,197,253,0.3); }
.pg-releases-2024-04 .hero-partner { font-size:0.88rem; color:rgba(255,255,255,0.7); margin-top:8px; }
.pg-releases-2024-04 .hero-partner strong { color:rgba(255,255,255,0.95); }
.pg-releases-2024-04 .project-meta { background:#fff; border-bottom:1px solid var(--cmc-border); box-shadow:var(--shadow-sm); }
.pg-releases-2024-04 .project-meta-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); }
.pg-releases-2024-04 .meta-item { padding:18px 20px; border-right:1px solid var(--cmc-border); }
.pg-releases-2024-04 .meta-item:last-child { border-right:none; }
.pg-releases-2024-04 .meta-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-text-muted); margin-bottom:4px; }
.pg-releases-2024-04 .meta-value { font-family:'Montserrat',sans-serif; font-size:0.92rem; font-weight:700; color:var(--cmc-text); }
.pg-releases-2024-04 .timeline-section { padding:56px 0; }
.pg-releases-2024-04 .section-title { font-size:1.4rem; font-weight:800; margin-bottom:32px; }
.pg-releases-2024-04 .timeline-track { position:relative; padding:8px 0; }
.pg-releases-2024-04 .timeline-track::before { content:''; position:absolute; top:28px; left:28px; right:28px; height:3px; background:var(--cmc-border); z-index:0; }
.pg-releases-2024-04 .timeline-steps { display:flex; justify-content:space-between; position:relative; z-index:1; gap:8px; }
.pg-releases-2024-04 .timeline-step { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pg-releases-2024-04 .timeline-node { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; font-size:1.1rem; border:3px solid; transition:transform 0.2s; }
.pg-releases-2024-04 .timeline-node:hover { transform:scale(1.08); }
.pg-releases-2024-04 .timeline-node.done { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; }
.pg-releases-2024-04 .timeline-node.active { background:#fff; border-color:var(--cmc-maroon); color:var(--cmc-maroon); box-shadow:0 0 0 4px rgba(116,0,28,0.15); }
.pg-releases-2024-04 .timeline-node.pending { background:#fff; border-color:var(--cmc-border); color:var(--cmc-text-muted); }
.pg-releases-2024-04 .timeline-phase { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text); margin-bottom:3px; }
.pg-releases-2024-04 .timeline-date { font-size:0.73rem; color:var(--cmc-text-muted); }
.pg-releases-2024-04 .impact-section { background:var(--cmc-surface-alt); padding:56px 0; }
.pg-releases-2024-04 .impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:8px; }
.pg-releases-2024-04 .impact-text p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2024-04 .metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pg-releases-2024-04 .metric-card { background:#fff; border-radius:12px; padding:20px; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--cmc-border); }
.pg-releases-2024-04 .metric-value { font-family:'Montserrat',sans-serif; font-size:2rem; font-weight:800; color:var(--cmc-maroon); line-height:1; margin-bottom:6px; }
.pg-releases-2024-04 .metric-label { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-releases-2024-04 .content-section { padding:56px 0; }
.pg-releases-2024-04 .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-releases-2024-04 .content-body { max-width:760px; }
.pg-releases-2024-04 .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-releases-2024-04 .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2024-04 .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-releases-2024-04 .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-releases-2024-04 .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.pg-releases-2024-04 .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.pg-releases-2024-04 .gallery-placeholder { background:var(--cmc-surface); border:2px dashed var(--cmc-border); border-radius:10px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; color:var(--cmc-text-muted); font-size:0.8rem; font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:0.05em; }
@media (max-width:900px) { .pg-releases-2024-04 .header-nav { display:none; } .pg-releases-2024-04 .hamburger { display:block; } .pg-releases-2024-04 .project-meta-inner { grid-template-columns:1fr 1fr; } .pg-releases-2024-04 .meta-item:nth-child(2) { border-right:none; } .pg-releases-2024-04 .timeline-steps { flex-wrap:wrap; } .pg-releases-2024-04 .timeline-track::before { display:none; } .pg-releases-2024-04 .impact-grid { grid-template-columns:1fr; } .pg-releases-2024-04 .gallery-grid { grid-template-columns:1fr 1fr; } .pg-releases-2024-04 .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-releases-2024-04 .metrics-grid { grid-template-columns:1fr 1fr; } .pg-releases-2024-04 .gallery-grid { grid-template-columns:1fr; } .pg-releases-2024-04 .footer-grid { grid-template-columns:1fr; } .pg-releases-2024-04 .project-meta-inner { grid-template-columns:1fr; } .pg-releases-2024-04 .meta-item { border-right:none; border-bottom:1px solid var(--cmc-border); } }


/* ── pg-releases-2024-08 ──────────────────────────────────────────── */
.pg-releases-2024-08 .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-blog-status.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; position:relative; overflow:hidden; }
.pg-releases-2024-08 .page-hero::after { content:''; position:absolute; right:-80px; top:-80px; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.04); pointer-events:none; }
.pg-releases-2024-08 .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.pg-releases-2024-08 .hero-title-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.pg-releases-2024-08 .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; text-shadow:0 2px 10px rgba(0,0,0,0.2); }
.pg-releases-2024-08 .status-badge-hero { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; white-space:nowrap; }
.pg-releases-2024-08 .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-releases-2024-08 .status-badge-hero.complete { background:rgba(34,197,94,0.2); color:#4ade80; border:1px solid rgba(34,197,94,0.4); }
.pg-releases-2024-08 .status-badge-hero.planning { background:rgba(147,197,253,0.2); color:#93c5fd; border:1px solid rgba(147,197,253,0.3); }
.pg-releases-2024-08 .hero-partner { font-size:0.88rem; color:rgba(255,255,255,0.7); margin-top:8px; }
.pg-releases-2024-08 .hero-partner strong { color:rgba(255,255,255,0.95); }
.pg-releases-2024-08 .project-meta { background:#fff; border-bottom:1px solid var(--cmc-border); box-shadow:var(--shadow-sm); }
.pg-releases-2024-08 .project-meta-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); }
.pg-releases-2024-08 .meta-item { padding:18px 20px; border-right:1px solid var(--cmc-border); }
.pg-releases-2024-08 .meta-item:last-child { border-right:none; }
.pg-releases-2024-08 .meta-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-text-muted); margin-bottom:4px; }
.pg-releases-2024-08 .meta-value { font-family:'Montserrat',sans-serif; font-size:0.92rem; font-weight:700; color:var(--cmc-text); }
.pg-releases-2024-08 .timeline-section { padding:56px 0; }
.pg-releases-2024-08 .section-title { font-size:1.4rem; font-weight:800; margin-bottom:32px; }
.pg-releases-2024-08 .timeline-track { position:relative; padding:8px 0; }
.pg-releases-2024-08 .timeline-track::before { content:''; position:absolute; top:28px; left:28px; right:28px; height:3px; background:var(--cmc-border); z-index:0; }
.pg-releases-2024-08 .timeline-steps { display:flex; justify-content:space-between; position:relative; z-index:1; gap:8px; }
.pg-releases-2024-08 .timeline-step { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pg-releases-2024-08 .timeline-node { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; font-size:1.1rem; border:3px solid; transition:transform 0.2s; }
.pg-releases-2024-08 .timeline-node:hover { transform:scale(1.08); }
.pg-releases-2024-08 .timeline-node.done { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; }
.pg-releases-2024-08 .timeline-node.active { background:#fff; border-color:var(--cmc-maroon); color:var(--cmc-maroon); box-shadow:0 0 0 4px rgba(116,0,28,0.15); }
.pg-releases-2024-08 .timeline-node.pending { background:#fff; border-color:var(--cmc-border); color:var(--cmc-text-muted); }
.pg-releases-2024-08 .timeline-phase { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text); margin-bottom:3px; }
.pg-releases-2024-08 .timeline-date { font-size:0.73rem; color:var(--cmc-text-muted); }
.pg-releases-2024-08 .impact-section { background:var(--cmc-surface-alt); padding:56px 0; }
.pg-releases-2024-08 .impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:8px; }
.pg-releases-2024-08 .impact-text p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2024-08 .metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pg-releases-2024-08 .metric-card { background:#fff; border-radius:12px; padding:20px; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--cmc-border); }
.pg-releases-2024-08 .metric-value { font-family:'Montserrat',sans-serif; font-size:2rem; font-weight:800; color:var(--cmc-maroon); line-height:1; margin-bottom:6px; }
.pg-releases-2024-08 .metric-label { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-releases-2024-08 .content-section { padding:56px 0; }
.pg-releases-2024-08 .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-releases-2024-08 .content-body { max-width:760px; }
.pg-releases-2024-08 .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-releases-2024-08 .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2024-08 .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-releases-2024-08 .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-releases-2024-08 .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.pg-releases-2024-08 .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.pg-releases-2024-08 .gallery-placeholder { background:var(--cmc-surface); border:2px dashed var(--cmc-border); border-radius:10px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; color:var(--cmc-text-muted); font-size:0.8rem; font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:0.05em; }
@media (max-width:900px) { .pg-releases-2024-08 .header-nav { display:none; } .pg-releases-2024-08 .hamburger { display:block; } .pg-releases-2024-08 .project-meta-inner { grid-template-columns:1fr 1fr; } .pg-releases-2024-08 .meta-item:nth-child(2) { border-right:none; } .pg-releases-2024-08 .timeline-steps { flex-wrap:wrap; } .pg-releases-2024-08 .timeline-track::before { display:none; } .pg-releases-2024-08 .impact-grid { grid-template-columns:1fr; } .pg-releases-2024-08 .gallery-grid { grid-template-columns:1fr 1fr; } .pg-releases-2024-08 .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-releases-2024-08 .metrics-grid { grid-template-columns:1fr 1fr; } .pg-releases-2024-08 .gallery-grid { grid-template-columns:1fr; } .pg-releases-2024-08 .footer-grid { grid-template-columns:1fr; } .pg-releases-2024-08 .project-meta-inner { grid-template-columns:1fr; } .pg-releases-2024-08 .meta-item { border-right:none; border-bottom:1px solid var(--cmc-border); } }


/* ── pg-releases-2024-12 ──────────────────────────────────────────── */
.pg-releases-2024-12 .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-blog-status.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; position:relative; overflow:hidden; }
.pg-releases-2024-12 .page-hero::after { content:''; position:absolute; right:-80px; top:-80px; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.04); pointer-events:none; }
.pg-releases-2024-12 .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.pg-releases-2024-12 .hero-title-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.pg-releases-2024-12 .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; text-shadow:0 2px 10px rgba(0,0,0,0.2); }
.pg-releases-2024-12 .status-badge-hero { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; white-space:nowrap; }
.pg-releases-2024-12 .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-releases-2024-12 .status-badge-hero.complete { background:rgba(34,197,94,0.2); color:#4ade80; border:1px solid rgba(34,197,94,0.4); }
.pg-releases-2024-12 .status-badge-hero.planning { background:rgba(147,197,253,0.2); color:#93c5fd; border:1px solid rgba(147,197,253,0.3); }
.pg-releases-2024-12 .hero-partner { font-size:0.88rem; color:rgba(255,255,255,0.7); margin-top:8px; }
.pg-releases-2024-12 .hero-partner strong { color:rgba(255,255,255,0.95); }
.pg-releases-2024-12 .project-meta { background:#fff; border-bottom:1px solid var(--cmc-border); box-shadow:var(--shadow-sm); }
.pg-releases-2024-12 .project-meta-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); }
.pg-releases-2024-12 .meta-item { padding:18px 20px; border-right:1px solid var(--cmc-border); }
.pg-releases-2024-12 .meta-item:last-child { border-right:none; }
.pg-releases-2024-12 .meta-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-text-muted); margin-bottom:4px; }
.pg-releases-2024-12 .meta-value { font-family:'Montserrat',sans-serif; font-size:0.92rem; font-weight:700; color:var(--cmc-text); }
.pg-releases-2024-12 .timeline-section { padding:56px 0; }
.pg-releases-2024-12 .section-title { font-size:1.4rem; font-weight:800; margin-bottom:32px; }
.pg-releases-2024-12 .timeline-track { position:relative; padding:8px 0; }
.pg-releases-2024-12 .timeline-track::before { content:''; position:absolute; top:28px; left:28px; right:28px; height:3px; background:var(--cmc-border); z-index:0; }
.pg-releases-2024-12 .timeline-steps { display:flex; justify-content:space-between; position:relative; z-index:1; gap:8px; }
.pg-releases-2024-12 .timeline-step { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pg-releases-2024-12 .timeline-node { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; font-size:1.1rem; border:3px solid; transition:transform 0.2s; }
.pg-releases-2024-12 .timeline-node:hover { transform:scale(1.08); }
.pg-releases-2024-12 .timeline-node.done { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; }
.pg-releases-2024-12 .timeline-node.active { background:#fff; border-color:var(--cmc-maroon); color:var(--cmc-maroon); box-shadow:0 0 0 4px rgba(116,0,28,0.15); }
.pg-releases-2024-12 .timeline-node.pending { background:#fff; border-color:var(--cmc-border); color:var(--cmc-text-muted); }
.pg-releases-2024-12 .timeline-phase { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text); margin-bottom:3px; }
.pg-releases-2024-12 .timeline-date { font-size:0.73rem; color:var(--cmc-text-muted); }
.pg-releases-2024-12 .impact-section { background:var(--cmc-surface-alt); padding:56px 0; }
.pg-releases-2024-12 .impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:8px; }
.pg-releases-2024-12 .impact-text p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2024-12 .metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pg-releases-2024-12 .metric-card { background:#fff; border-radius:12px; padding:20px; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--cmc-border); }
.pg-releases-2024-12 .metric-value { font-family:'Montserrat',sans-serif; font-size:2rem; font-weight:800; color:var(--cmc-maroon); line-height:1; margin-bottom:6px; }
.pg-releases-2024-12 .metric-label { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-releases-2024-12 .content-section { padding:56px 0; }
.pg-releases-2024-12 .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-releases-2024-12 .content-body { max-width:760px; }
.pg-releases-2024-12 .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-releases-2024-12 .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2024-12 .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-releases-2024-12 .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-releases-2024-12 .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.pg-releases-2024-12 .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.pg-releases-2024-12 .gallery-placeholder { background:var(--cmc-surface); border:2px dashed var(--cmc-border); border-radius:10px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; color:var(--cmc-text-muted); font-size:0.8rem; font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:0.05em; }
@media (max-width:900px) { .pg-releases-2024-12 .header-nav { display:none; } .pg-releases-2024-12 .hamburger { display:block; } .pg-releases-2024-12 .project-meta-inner { grid-template-columns:1fr 1fr; } .pg-releases-2024-12 .meta-item:nth-child(2) { border-right:none; } .pg-releases-2024-12 .timeline-steps { flex-wrap:wrap; } .pg-releases-2024-12 .timeline-track::before { display:none; } .pg-releases-2024-12 .impact-grid { grid-template-columns:1fr; } .pg-releases-2024-12 .gallery-grid { grid-template-columns:1fr 1fr; } .pg-releases-2024-12 .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-releases-2024-12 .metrics-grid { grid-template-columns:1fr 1fr; } .pg-releases-2024-12 .gallery-grid { grid-template-columns:1fr; } .pg-releases-2024-12 .footer-grid { grid-template-columns:1fr; } .pg-releases-2024-12 .project-meta-inner { grid-template-columns:1fr; } .pg-releases-2024-12 .meta-item { border-right:none; border-bottom:1px solid var(--cmc-border); } }


/* ── pg-releases-2025-04 ──────────────────────────────────────────── */
.pg-releases-2025-04 .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-blog-status.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; position:relative; overflow:hidden; }
.pg-releases-2025-04 .page-hero::after { content:''; position:absolute; right:-80px; top:-80px; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.04); pointer-events:none; }
.pg-releases-2025-04 .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.pg-releases-2025-04 .hero-title-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.pg-releases-2025-04 .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; text-shadow:0 2px 10px rgba(0,0,0,0.2); }
.pg-releases-2025-04 .status-badge-hero { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; white-space:nowrap; }
.pg-releases-2025-04 .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-releases-2025-04 .status-badge-hero.complete { background:rgba(34,197,94,0.2); color:#4ade80; border:1px solid rgba(34,197,94,0.4); }
.pg-releases-2025-04 .status-badge-hero.planning { background:rgba(147,197,253,0.2); color:#93c5fd; border:1px solid rgba(147,197,253,0.3); }
.pg-releases-2025-04 .hero-partner { font-size:0.88rem; color:rgba(255,255,255,0.7); margin-top:8px; }
.pg-releases-2025-04 .hero-partner strong { color:rgba(255,255,255,0.95); }
.pg-releases-2025-04 .project-meta { background:#fff; border-bottom:1px solid var(--cmc-border); box-shadow:var(--shadow-sm); }
.pg-releases-2025-04 .project-meta-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); }
.pg-releases-2025-04 .meta-item { padding:18px 20px; border-right:1px solid var(--cmc-border); }
.pg-releases-2025-04 .meta-item:last-child { border-right:none; }
.pg-releases-2025-04 .meta-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-text-muted); margin-bottom:4px; }
.pg-releases-2025-04 .meta-value { font-family:'Montserrat',sans-serif; font-size:0.92rem; font-weight:700; color:var(--cmc-text); }
.pg-releases-2025-04 .timeline-section { padding:56px 0; }
.pg-releases-2025-04 .section-title { font-size:1.4rem; font-weight:800; margin-bottom:32px; }
.pg-releases-2025-04 .timeline-track { position:relative; padding:8px 0; }
.pg-releases-2025-04 .timeline-track::before { content:''; position:absolute; top:28px; left:28px; right:28px; height:3px; background:var(--cmc-border); z-index:0; }
.pg-releases-2025-04 .timeline-steps { display:flex; justify-content:space-between; position:relative; z-index:1; gap:8px; }
.pg-releases-2025-04 .timeline-step { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pg-releases-2025-04 .timeline-node { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; font-size:1.1rem; border:3px solid; transition:transform 0.2s; }
.pg-releases-2025-04 .timeline-node:hover { transform:scale(1.08); }
.pg-releases-2025-04 .timeline-node.done { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; }
.pg-releases-2025-04 .timeline-node.active { background:#fff; border-color:var(--cmc-maroon); color:var(--cmc-maroon); box-shadow:0 0 0 4px rgba(116,0,28,0.15); }
.pg-releases-2025-04 .timeline-node.pending { background:#fff; border-color:var(--cmc-border); color:var(--cmc-text-muted); }
.pg-releases-2025-04 .timeline-phase { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text); margin-bottom:3px; }
.pg-releases-2025-04 .timeline-date { font-size:0.73rem; color:var(--cmc-text-muted); }
.pg-releases-2025-04 .impact-section { background:var(--cmc-surface-alt); padding:56px 0; }
.pg-releases-2025-04 .impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:8px; }
.pg-releases-2025-04 .impact-text p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2025-04 .metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pg-releases-2025-04 .metric-card { background:#fff; border-radius:12px; padding:20px; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--cmc-border); }
.pg-releases-2025-04 .metric-value { font-family:'Montserrat',sans-serif; font-size:2rem; font-weight:800; color:var(--cmc-maroon); line-height:1; margin-bottom:6px; }
.pg-releases-2025-04 .metric-label { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-releases-2025-04 .content-section { padding:56px 0; }
.pg-releases-2025-04 .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-releases-2025-04 .content-body { max-width:760px; }
.pg-releases-2025-04 .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-releases-2025-04 .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2025-04 .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-releases-2025-04 .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-releases-2025-04 .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.pg-releases-2025-04 .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.pg-releases-2025-04 .gallery-placeholder { background:var(--cmc-surface); border:2px dashed var(--cmc-border); border-radius:10px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; color:var(--cmc-text-muted); font-size:0.8rem; font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:0.05em; }
@media (max-width:900px) { .pg-releases-2025-04 .header-nav { display:none; } .pg-releases-2025-04 .hamburger { display:block; } .pg-releases-2025-04 .project-meta-inner { grid-template-columns:1fr 1fr; } .pg-releases-2025-04 .meta-item:nth-child(2) { border-right:none; } .pg-releases-2025-04 .timeline-steps { flex-wrap:wrap; } .pg-releases-2025-04 .timeline-track::before { display:none; } .pg-releases-2025-04 .impact-grid { grid-template-columns:1fr; } .pg-releases-2025-04 .gallery-grid { grid-template-columns:1fr 1fr; } .pg-releases-2025-04 .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-releases-2025-04 .metrics-grid { grid-template-columns:1fr 1fr; } .pg-releases-2025-04 .gallery-grid { grid-template-columns:1fr; } .pg-releases-2025-04 .footer-grid { grid-template-columns:1fr; } .pg-releases-2025-04 .project-meta-inner { grid-template-columns:1fr; } .pg-releases-2025-04 .meta-item { border-right:none; border-bottom:1px solid var(--cmc-border); } }


/* ── pg-releases-2025-08 ──────────────────────────────────────────── */
.pg-releases-2025-08 .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-blog-status.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; position:relative; overflow:hidden; }
.pg-releases-2025-08 .page-hero::after { content:''; position:absolute; right:-80px; top:-80px; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.04); pointer-events:none; }
.pg-releases-2025-08 .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.pg-releases-2025-08 .hero-title-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.pg-releases-2025-08 .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; text-shadow:0 2px 10px rgba(0,0,0,0.2); }
.pg-releases-2025-08 .status-badge-hero { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; white-space:nowrap; }
.pg-releases-2025-08 .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-releases-2025-08 .status-badge-hero.complete { background:rgba(34,197,94,0.2); color:#4ade80; border:1px solid rgba(34,197,94,0.4); }
.pg-releases-2025-08 .status-badge-hero.planning { background:rgba(147,197,253,0.2); color:#93c5fd; border:1px solid rgba(147,197,253,0.3); }
.pg-releases-2025-08 .hero-partner { font-size:0.88rem; color:rgba(255,255,255,0.7); margin-top:8px; }
.pg-releases-2025-08 .hero-partner strong { color:rgba(255,255,255,0.95); }
.pg-releases-2025-08 .project-meta { background:#fff; border-bottom:1px solid var(--cmc-border); box-shadow:var(--shadow-sm); }
.pg-releases-2025-08 .project-meta-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); }
.pg-releases-2025-08 .meta-item { padding:18px 20px; border-right:1px solid var(--cmc-border); }
.pg-releases-2025-08 .meta-item:last-child { border-right:none; }
.pg-releases-2025-08 .meta-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-text-muted); margin-bottom:4px; }
.pg-releases-2025-08 .meta-value { font-family:'Montserrat',sans-serif; font-size:0.92rem; font-weight:700; color:var(--cmc-text); }
.pg-releases-2025-08 .timeline-section { padding:56px 0; }
.pg-releases-2025-08 .section-title { font-size:1.4rem; font-weight:800; margin-bottom:32px; }
.pg-releases-2025-08 .timeline-track { position:relative; padding:8px 0; }
.pg-releases-2025-08 .timeline-track::before { content:''; position:absolute; top:28px; left:28px; right:28px; height:3px; background:var(--cmc-border); z-index:0; }
.pg-releases-2025-08 .timeline-steps { display:flex; justify-content:space-between; position:relative; z-index:1; gap:8px; }
.pg-releases-2025-08 .timeline-step { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pg-releases-2025-08 .timeline-node { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; font-size:1.1rem; border:3px solid; transition:transform 0.2s; }
.pg-releases-2025-08 .timeline-node:hover { transform:scale(1.08); }
.pg-releases-2025-08 .timeline-node.done { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; }
.pg-releases-2025-08 .timeline-node.active { background:#fff; border-color:var(--cmc-maroon); color:var(--cmc-maroon); box-shadow:0 0 0 4px rgba(116,0,28,0.15); }
.pg-releases-2025-08 .timeline-node.pending { background:#fff; border-color:var(--cmc-border); color:var(--cmc-text-muted); }
.pg-releases-2025-08 .timeline-phase { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text); margin-bottom:3px; }
.pg-releases-2025-08 .timeline-date { font-size:0.73rem; color:var(--cmc-text-muted); }
.pg-releases-2025-08 .impact-section { background:var(--cmc-surface-alt); padding:56px 0; }
.pg-releases-2025-08 .impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:8px; }
.pg-releases-2025-08 .impact-text p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2025-08 .metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pg-releases-2025-08 .metric-card { background:#fff; border-radius:12px; padding:20px; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--cmc-border); }
.pg-releases-2025-08 .metric-value { font-family:'Montserrat',sans-serif; font-size:2rem; font-weight:800; color:var(--cmc-maroon); line-height:1; margin-bottom:6px; }
.pg-releases-2025-08 .metric-label { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-releases-2025-08 .content-section { padding:56px 0; }
.pg-releases-2025-08 .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-releases-2025-08 .content-body { max-width:760px; }
.pg-releases-2025-08 .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-releases-2025-08 .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2025-08 .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-releases-2025-08 .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-releases-2025-08 .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.pg-releases-2025-08 .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.pg-releases-2025-08 .gallery-placeholder { background:var(--cmc-surface); border:2px dashed var(--cmc-border); border-radius:10px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; color:var(--cmc-text-muted); font-size:0.8rem; font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:0.05em; }
@media (max-width:900px) { .pg-releases-2025-08 .header-nav { display:none; } .pg-releases-2025-08 .hamburger { display:block; } .pg-releases-2025-08 .project-meta-inner { grid-template-columns:1fr 1fr; } .pg-releases-2025-08 .meta-item:nth-child(2) { border-right:none; } .pg-releases-2025-08 .timeline-steps { flex-wrap:wrap; } .pg-releases-2025-08 .timeline-track::before { display:none; } .pg-releases-2025-08 .impact-grid { grid-template-columns:1fr; } .pg-releases-2025-08 .gallery-grid { grid-template-columns:1fr 1fr; } .pg-releases-2025-08 .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-releases-2025-08 .metrics-grid { grid-template-columns:1fr 1fr; } .pg-releases-2025-08 .gallery-grid { grid-template-columns:1fr; } .pg-releases-2025-08 .footer-grid { grid-template-columns:1fr; } .pg-releases-2025-08 .project-meta-inner { grid-template-columns:1fr; } .pg-releases-2025-08 .meta-item { border-right:none; border-bottom:1px solid var(--cmc-border); } }


/* ── pg-releases-2025-12 ──────────────────────────────────────────── */
.pg-releases-2025-12 .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-blog-status.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; position:relative; overflow:hidden; }
.pg-releases-2025-12 .page-hero::after { content:''; position:absolute; right:-80px; top:-80px; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.04); pointer-events:none; }
.pg-releases-2025-12 .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.pg-releases-2025-12 .hero-title-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.pg-releases-2025-12 .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; text-shadow:0 2px 10px rgba(0,0,0,0.2); }
.pg-releases-2025-12 .status-badge-hero { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; white-space:nowrap; }
.pg-releases-2025-12 .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-releases-2025-12 .status-badge-hero.complete { background:rgba(34,197,94,0.2); color:#4ade80; border:1px solid rgba(34,197,94,0.4); }
.pg-releases-2025-12 .status-badge-hero.planning { background:rgba(147,197,253,0.2); color:#93c5fd; border:1px solid rgba(147,197,253,0.3); }
.pg-releases-2025-12 .hero-partner { font-size:0.88rem; color:rgba(255,255,255,0.7); margin-top:8px; }
.pg-releases-2025-12 .hero-partner strong { color:rgba(255,255,255,0.95); }
.pg-releases-2025-12 .project-meta { background:#fff; border-bottom:1px solid var(--cmc-border); box-shadow:var(--shadow-sm); }
.pg-releases-2025-12 .project-meta-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); }
.pg-releases-2025-12 .meta-item { padding:18px 20px; border-right:1px solid var(--cmc-border); }
.pg-releases-2025-12 .meta-item:last-child { border-right:none; }
.pg-releases-2025-12 .meta-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-text-muted); margin-bottom:4px; }
.pg-releases-2025-12 .meta-value { font-family:'Montserrat',sans-serif; font-size:0.92rem; font-weight:700; color:var(--cmc-text); }
.pg-releases-2025-12 .timeline-section { padding:56px 0; }
.pg-releases-2025-12 .section-title { font-size:1.4rem; font-weight:800; margin-bottom:32px; }
.pg-releases-2025-12 .timeline-track { position:relative; padding:8px 0; }
.pg-releases-2025-12 .timeline-track::before { content:''; position:absolute; top:28px; left:28px; right:28px; height:3px; background:var(--cmc-border); z-index:0; }
.pg-releases-2025-12 .timeline-steps { display:flex; justify-content:space-between; position:relative; z-index:1; gap:8px; }
.pg-releases-2025-12 .timeline-step { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pg-releases-2025-12 .timeline-node { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; font-size:1.1rem; border:3px solid; transition:transform 0.2s; }
.pg-releases-2025-12 .timeline-node:hover { transform:scale(1.08); }
.pg-releases-2025-12 .timeline-node.done { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; }
.pg-releases-2025-12 .timeline-node.active { background:#fff; border-color:var(--cmc-maroon); color:var(--cmc-maroon); box-shadow:0 0 0 4px rgba(116,0,28,0.15); }
.pg-releases-2025-12 .timeline-node.pending { background:#fff; border-color:var(--cmc-border); color:var(--cmc-text-muted); }
.pg-releases-2025-12 .timeline-phase { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text); margin-bottom:3px; }
.pg-releases-2025-12 .timeline-date { font-size:0.73rem; color:var(--cmc-text-muted); }
.pg-releases-2025-12 .impact-section { background:var(--cmc-surface-alt); padding:56px 0; }
.pg-releases-2025-12 .impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:8px; }
.pg-releases-2025-12 .impact-text p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2025-12 .metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pg-releases-2025-12 .metric-card { background:#fff; border-radius:12px; padding:20px; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--cmc-border); }
.pg-releases-2025-12 .metric-value { font-family:'Montserrat',sans-serif; font-size:2rem; font-weight:800; color:var(--cmc-maroon); line-height:1; margin-bottom:6px; }
.pg-releases-2025-12 .metric-label { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-releases-2025-12 .content-section { padding:56px 0; }
.pg-releases-2025-12 .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-releases-2025-12 .content-body { max-width:760px; }
.pg-releases-2025-12 .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-releases-2025-12 .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2025-12 .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-releases-2025-12 .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-releases-2025-12 .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.pg-releases-2025-12 .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.pg-releases-2025-12 .gallery-placeholder { background:var(--cmc-surface); border:2px dashed var(--cmc-border); border-radius:10px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; color:var(--cmc-text-muted); font-size:0.8rem; font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:0.05em; }
@media (max-width:900px) { .pg-releases-2025-12 .header-nav { display:none; } .pg-releases-2025-12 .hamburger { display:block; } .pg-releases-2025-12 .project-meta-inner { grid-template-columns:1fr 1fr; } .pg-releases-2025-12 .meta-item:nth-child(2) { border-right:none; } .pg-releases-2025-12 .timeline-steps { flex-wrap:wrap; } .pg-releases-2025-12 .timeline-track::before { display:none; } .pg-releases-2025-12 .impact-grid { grid-template-columns:1fr; } .pg-releases-2025-12 .gallery-grid { grid-template-columns:1fr 1fr; } .pg-releases-2025-12 .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-releases-2025-12 .metrics-grid { grid-template-columns:1fr 1fr; } .pg-releases-2025-12 .gallery-grid { grid-template-columns:1fr; } .pg-releases-2025-12 .footer-grid { grid-template-columns:1fr; } .pg-releases-2025-12 .project-meta-inner { grid-template-columns:1fr; } .pg-releases-2025-12 .meta-item { border-right:none; border-bottom:1px solid var(--cmc-border); } }


/* ── pg-releases-2026-04 ──────────────────────────────────────────── */
.pg-releases-2026-04 .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-blog-status.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; position:relative; overflow:hidden; }
.pg-releases-2026-04 .page-hero::after { content:''; position:absolute; right:-80px; top:-80px; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.04); pointer-events:none; }
.pg-releases-2026-04 .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.pg-releases-2026-04 .hero-title-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.pg-releases-2026-04 .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; text-shadow:0 2px 10px rgba(0,0,0,0.2); }
.pg-releases-2026-04 .status-badge-hero { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; white-space:nowrap; }
.pg-releases-2026-04 .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-releases-2026-04 .status-badge-hero.complete { background:rgba(34,197,94,0.2); color:#4ade80; border:1px solid rgba(34,197,94,0.4); }
.pg-releases-2026-04 .status-badge-hero.planning { background:rgba(147,197,253,0.2); color:#93c5fd; border:1px solid rgba(147,197,253,0.3); }
.pg-releases-2026-04 .hero-partner { font-size:0.88rem; color:rgba(255,255,255,0.7); margin-top:8px; }
.pg-releases-2026-04 .hero-partner strong { color:rgba(255,255,255,0.95); }
.pg-releases-2026-04 .project-meta { background:#fff; border-bottom:1px solid var(--cmc-border); box-shadow:var(--shadow-sm); }
.pg-releases-2026-04 .project-meta-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); }
.pg-releases-2026-04 .meta-item { padding:18px 20px; border-right:1px solid var(--cmc-border); }
.pg-releases-2026-04 .meta-item:last-child { border-right:none; }
.pg-releases-2026-04 .meta-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-text-muted); margin-bottom:4px; }
.pg-releases-2026-04 .meta-value { font-family:'Montserrat',sans-serif; font-size:0.92rem; font-weight:700; color:var(--cmc-text); }
.pg-releases-2026-04 .timeline-section { padding:56px 0; }
.pg-releases-2026-04 .section-title { font-size:1.4rem; font-weight:800; margin-bottom:32px; }
.pg-releases-2026-04 .timeline-track { position:relative; padding:8px 0; }
.pg-releases-2026-04 .timeline-track::before { content:''; position:absolute; top:28px; left:28px; right:28px; height:3px; background:var(--cmc-border); z-index:0; }
.pg-releases-2026-04 .timeline-steps { display:flex; justify-content:space-between; position:relative; z-index:1; gap:8px; }
.pg-releases-2026-04 .timeline-step { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pg-releases-2026-04 .timeline-node { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; font-size:1.1rem; border:3px solid; transition:transform 0.2s; }
.pg-releases-2026-04 .timeline-node:hover { transform:scale(1.08); }
.pg-releases-2026-04 .timeline-node.done { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; }
.pg-releases-2026-04 .timeline-node.active { background:#fff; border-color:var(--cmc-maroon); color:var(--cmc-maroon); box-shadow:0 0 0 4px rgba(116,0,28,0.15); }
.pg-releases-2026-04 .timeline-node.pending { background:#fff; border-color:var(--cmc-border); color:var(--cmc-text-muted); }
.pg-releases-2026-04 .timeline-phase { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text); margin-bottom:3px; }
.pg-releases-2026-04 .timeline-date { font-size:0.73rem; color:var(--cmc-text-muted); }
.pg-releases-2026-04 .impact-section { background:var(--cmc-surface-alt); padding:56px 0; }
.pg-releases-2026-04 .impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:8px; }
.pg-releases-2026-04 .impact-text p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2026-04 .metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pg-releases-2026-04 .metric-card { background:#fff; border-radius:12px; padding:20px; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--cmc-border); }
.pg-releases-2026-04 .metric-value { font-family:'Montserrat',sans-serif; font-size:2rem; font-weight:800; color:var(--cmc-maroon); line-height:1; margin-bottom:6px; }
.pg-releases-2026-04 .metric-label { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-releases-2026-04 .content-section { padding:56px 0; }
.pg-releases-2026-04 .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-releases-2026-04 .content-body { max-width:760px; }
.pg-releases-2026-04 .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-releases-2026-04 .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2026-04 .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-releases-2026-04 .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-releases-2026-04 .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.pg-releases-2026-04 .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.pg-releases-2026-04 .gallery-placeholder { background:var(--cmc-surface); border:2px dashed var(--cmc-border); border-radius:10px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; color:var(--cmc-text-muted); font-size:0.8rem; font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:0.05em; }
@media (max-width:900px) { .pg-releases-2026-04 .header-nav { display:none; } .pg-releases-2026-04 .hamburger { display:block; } .pg-releases-2026-04 .project-meta-inner { grid-template-columns:1fr 1fr; } .pg-releases-2026-04 .meta-item:nth-child(2) { border-right:none; } .pg-releases-2026-04 .timeline-steps { flex-wrap:wrap; } .pg-releases-2026-04 .timeline-track::before { display:none; } .pg-releases-2026-04 .impact-grid { grid-template-columns:1fr; } .pg-releases-2026-04 .gallery-grid { grid-template-columns:1fr 1fr; } .pg-releases-2026-04 .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-releases-2026-04 .metrics-grid { grid-template-columns:1fr 1fr; } .pg-releases-2026-04 .gallery-grid { grid-template-columns:1fr; } .pg-releases-2026-04 .footer-grid { grid-template-columns:1fr; } .pg-releases-2026-04 .project-meta-inner { grid-template-columns:1fr; } .pg-releases-2026-04 .meta-item { border-right:none; border-bottom:1px solid var(--cmc-border); } }


/* ── pg-releases-2026-08 ──────────────────────────────────────────── */
.pg-releases-2026-08 .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-blog-status.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; position:relative; overflow:hidden; }
.pg-releases-2026-08 .page-hero::after { content:''; position:absolute; right:-80px; top:-80px; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.04); pointer-events:none; }
.pg-releases-2026-08 .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.pg-releases-2026-08 .hero-title-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.pg-releases-2026-08 .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; text-shadow:0 2px 10px rgba(0,0,0,0.2); }
.pg-releases-2026-08 .status-badge-hero { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; white-space:nowrap; }
.pg-releases-2026-08 .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-releases-2026-08 .status-badge-hero.complete { background:rgba(34,197,94,0.2); color:#4ade80; border:1px solid rgba(34,197,94,0.4); }
.pg-releases-2026-08 .status-badge-hero.planning { background:rgba(147,197,253,0.2); color:#93c5fd; border:1px solid rgba(147,197,253,0.3); }
.pg-releases-2026-08 .hero-partner { font-size:0.88rem; color:rgba(255,255,255,0.7); margin-top:8px; }
.pg-releases-2026-08 .hero-partner strong { color:rgba(255,255,255,0.95); }
.pg-releases-2026-08 .project-meta { background:#fff; border-bottom:1px solid var(--cmc-border); box-shadow:var(--shadow-sm); }
.pg-releases-2026-08 .project-meta-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); }
.pg-releases-2026-08 .meta-item { padding:18px 20px; border-right:1px solid var(--cmc-border); }
.pg-releases-2026-08 .meta-item:last-child { border-right:none; }
.pg-releases-2026-08 .meta-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-text-muted); margin-bottom:4px; }
.pg-releases-2026-08 .meta-value { font-family:'Montserrat',sans-serif; font-size:0.92rem; font-weight:700; color:var(--cmc-text); }
.pg-releases-2026-08 .timeline-section { padding:56px 0; }
.pg-releases-2026-08 .section-title { font-size:1.4rem; font-weight:800; margin-bottom:32px; }
.pg-releases-2026-08 .timeline-track { position:relative; padding:8px 0; }
.pg-releases-2026-08 .timeline-track::before { content:''; position:absolute; top:28px; left:28px; right:28px; height:3px; background:var(--cmc-border); z-index:0; }
.pg-releases-2026-08 .timeline-steps { display:flex; justify-content:space-between; position:relative; z-index:1; gap:8px; }
.pg-releases-2026-08 .timeline-step { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pg-releases-2026-08 .timeline-node { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; font-size:1.1rem; border:3px solid; transition:transform 0.2s; }
.pg-releases-2026-08 .timeline-node:hover { transform:scale(1.08); }
.pg-releases-2026-08 .timeline-node.done { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; }
.pg-releases-2026-08 .timeline-node.active { background:#fff; border-color:var(--cmc-maroon); color:var(--cmc-maroon); box-shadow:0 0 0 4px rgba(116,0,28,0.15); }
.pg-releases-2026-08 .timeline-node.pending { background:#fff; border-color:var(--cmc-border); color:var(--cmc-text-muted); }
.pg-releases-2026-08 .timeline-phase { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text); margin-bottom:3px; }
.pg-releases-2026-08 .timeline-date { font-size:0.73rem; color:var(--cmc-text-muted); }
.pg-releases-2026-08 .impact-section { background:var(--cmc-surface-alt); padding:56px 0; }
.pg-releases-2026-08 .impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:8px; }
.pg-releases-2026-08 .impact-text p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2026-08 .metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pg-releases-2026-08 .metric-card { background:#fff; border-radius:12px; padding:20px; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--cmc-border); }
.pg-releases-2026-08 .metric-value { font-family:'Montserrat',sans-serif; font-size:2rem; font-weight:800; color:var(--cmc-maroon); line-height:1; margin-bottom:6px; }
.pg-releases-2026-08 .metric-label { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-releases-2026-08 .content-section { padding:56px 0; }
.pg-releases-2026-08 .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-releases-2026-08 .content-body { max-width:760px; }
.pg-releases-2026-08 .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-releases-2026-08 .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2026-08 .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-releases-2026-08 .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-releases-2026-08 .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.pg-releases-2026-08 .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.pg-releases-2026-08 .gallery-placeholder { background:var(--cmc-surface); border:2px dashed var(--cmc-border); border-radius:10px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; color:var(--cmc-text-muted); font-size:0.8rem; font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:0.05em; }
@media (max-width:900px) { .pg-releases-2026-08 .header-nav { display:none; } .pg-releases-2026-08 .hamburger { display:block; } .pg-releases-2026-08 .project-meta-inner { grid-template-columns:1fr 1fr; } .pg-releases-2026-08 .meta-item:nth-child(2) { border-right:none; } .pg-releases-2026-08 .timeline-steps { flex-wrap:wrap; } .pg-releases-2026-08 .timeline-track::before { display:none; } .pg-releases-2026-08 .impact-grid { grid-template-columns:1fr; } .pg-releases-2026-08 .gallery-grid { grid-template-columns:1fr 1fr; } .pg-releases-2026-08 .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-releases-2026-08 .metrics-grid { grid-template-columns:1fr 1fr; } .pg-releases-2026-08 .gallery-grid { grid-template-columns:1fr; } .pg-releases-2026-08 .footer-grid { grid-template-columns:1fr; } .pg-releases-2026-08 .project-meta-inner { grid-template-columns:1fr; } .pg-releases-2026-08 .meta-item { border-right:none; border-bottom:1px solid var(--cmc-border); } }



/* ══════════════ Engagement department pages (new) ══════════════ */
/* ── pg-engagement-roberts-pavilion ──────────────────────────────────────────── */
.pg-engagement-roberts-pavilion .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-strategy-sports-bowl.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; position:relative; overflow:hidden; }
.pg-engagement-roberts-pavilion .page-hero::after { content:''; position:absolute; right:-80px; top:-80px; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.04); pointer-events:none; }
.pg-engagement-roberts-pavilion .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.pg-engagement-roberts-pavilion .hero-title-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.pg-engagement-roberts-pavilion .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; text-shadow:0 2px 10px rgba(0,0,0,0.2); }
.pg-engagement-roberts-pavilion .status-badge-hero { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; white-space:nowrap; }
.pg-engagement-roberts-pavilion .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-engagement-roberts-pavilion .status-badge-hero.complete { background:rgba(34,197,94,0.2); color:#4ade80; border:1px solid rgba(34,197,94,0.4); }
.pg-engagement-roberts-pavilion .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-engagement-roberts-pavilion .status-badge-hero.planning { background:rgba(147,197,253,0.2); color:#93c5fd; border:1px solid rgba(147,197,253,0.3); }
.pg-engagement-roberts-pavilion .hero-partner { font-size:0.88rem; color:rgba(255,255,255,0.7); margin-top:8px; }
.pg-engagement-roberts-pavilion .hero-partner strong { color:rgba(255,255,255,0.95); }
.pg-engagement-roberts-pavilion .project-meta { background:#fff; border-bottom:1px solid var(--cmc-border); box-shadow:var(--shadow-sm); }
.pg-engagement-roberts-pavilion .project-meta-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); }
.pg-engagement-roberts-pavilion .meta-item { padding:18px 20px; border-right:1px solid var(--cmc-border); }
.pg-engagement-roberts-pavilion .meta-item:last-child { border-right:none; }
.pg-engagement-roberts-pavilion .meta-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-text-muted); margin-bottom:4px; }
.pg-engagement-roberts-pavilion .meta-value { font-family:'Montserrat',sans-serif; font-size:0.92rem; font-weight:700; color:var(--cmc-text); }
.pg-engagement-roberts-pavilion .timeline-section { padding:56px 0; }
.pg-engagement-roberts-pavilion .section-title { font-size:1.4rem; font-weight:800; margin-bottom:32px; }
.pg-engagement-roberts-pavilion .timeline-track { position:relative; padding:8px 0; }
.pg-engagement-roberts-pavilion .timeline-track::before { content:''; position:absolute; top:28px; left:28px; right:28px; height:3px; background:var(--cmc-border); z-index:0; }
.pg-engagement-roberts-pavilion .timeline-steps { display:flex; justify-content:space-between; position:relative; z-index:1; gap:8px; }
.pg-engagement-roberts-pavilion .timeline-step { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pg-engagement-roberts-pavilion .timeline-node { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; font-size:1.1rem; border:3px solid; transition:transform 0.2s; }
.pg-engagement-roberts-pavilion .timeline-node:hover { transform:scale(1.08); }
.pg-engagement-roberts-pavilion .timeline-node.done { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; }
.pg-engagement-roberts-pavilion .timeline-node.active { background:#fff; border-color:var(--cmc-maroon); color:var(--cmc-maroon); box-shadow:0 0 0 4px rgba(116,0,28,0.15); }
.pg-engagement-roberts-pavilion .timeline-node.pending { background:#fff; border-color:var(--cmc-border); color:var(--cmc-text-muted); }
.pg-engagement-roberts-pavilion .timeline-phase { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text); margin-bottom:3px; }
.pg-engagement-roberts-pavilion .timeline-date { font-size:0.73rem; color:var(--cmc-text-muted); }
.pg-engagement-roberts-pavilion .impact-section { background:var(--cmc-surface-alt); padding:56px 0; }
.pg-engagement-roberts-pavilion .impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:8px; }
.pg-engagement-roberts-pavilion .impact-text p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-engagement-roberts-pavilion .metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pg-engagement-roberts-pavilion .metric-card { background:#fff; border-radius:12px; padding:20px; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--cmc-border); }
.pg-engagement-roberts-pavilion .metric-value { font-family:'Montserrat',sans-serif; font-size:2rem; font-weight:800; color:var(--cmc-maroon); line-height:1; margin-bottom:6px; }
.pg-engagement-roberts-pavilion .metric-label { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-engagement-roberts-pavilion .content-section { padding:56px 0; }
.pg-engagement-roberts-pavilion .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-engagement-roberts-pavilion .content-body { max-width:760px; }
.pg-engagement-roberts-pavilion .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-engagement-roberts-pavilion .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-engagement-roberts-pavilion .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-engagement-roberts-pavilion .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-engagement-roberts-pavilion .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.pg-engagement-roberts-pavilion .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.pg-engagement-roberts-pavilion .gallery-placeholder { background:var(--cmc-surface); border:2px dashed var(--cmc-border); border-radius:10px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; color:var(--cmc-text-muted); font-size:0.8rem; font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:0.05em; }
@media (max-width:900px) { .pg-engagement-roberts-pavilion .header-nav { display:none; } .pg-engagement-roberts-pavilion .hamburger { display:block; } .pg-engagement-roberts-pavilion .project-meta-inner { grid-template-columns:1fr 1fr; } .pg-engagement-roberts-pavilion .meta-item:nth-child(2) { border-right:none; } .pg-engagement-roberts-pavilion .timeline-steps { flex-wrap:wrap; } .pg-engagement-roberts-pavilion .timeline-track::before { display:none; } .pg-engagement-roberts-pavilion .impact-grid { grid-template-columns:1fr; } .pg-engagement-roberts-pavilion .gallery-grid { grid-template-columns:1fr 1fr; } .pg-engagement-roberts-pavilion .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-engagement-roberts-pavilion .metrics-grid { grid-template-columns:1fr 1fr; } .pg-engagement-roberts-pavilion .gallery-grid { grid-template-columns:1fr; } .pg-engagement-roberts-pavilion .footer-grid { grid-template-columns:1fr; } .pg-engagement-roberts-pavilion .project-meta-inner { grid-template-columns:1fr; } .pg-engagement-roberts-pavilion .meta-item { border-right:none; border-bottom:1px solid var(--cmc-border); } }



/* ── pg-engagement-finance ──────────────────────────────────────────── */
.pg-engagement-finance .header-nav > li > a:hover, .pg-engagement-finance .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-engagement-finance .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-engagement-finance .dropdown:hover .dropdown-menu, .pg-engagement-finance .dropdown:focus-within .dropdown-menu { display: block; }
.pg-engagement-finance .dropdown:hover .dropdown-wide, .pg-engagement-finance .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-engagement-finance .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-engagement-finance .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/hero-strategy.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding: 52px 0 48px; }
.pg-engagement-finance .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-engagement-finance .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-engagement-finance .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-engagement-finance .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-engagement-finance .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-engagement-finance .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-engagement-finance .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-engagement-finance .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-engagement-finance .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-engagement-finance .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-engagement-finance .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-engagement-finance .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-engagement-finance .header-nav { display: none; } .pg-engagement-finance .hamburger { display: block; } .pg-engagement-finance .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-engagement-finance .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-engagement-finance .card-grid { grid-template-columns: 1fr; } .pg-engagement-finance .footer-grid { grid-template-columns: 1fr; } .pg-engagement-finance .grid-section { padding: 48px 0; } }



.pg-engagement-finance .content-section { padding:56px 0; }
.pg-engagement-finance .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-engagement-finance .content-body { max-width:760px; }
.pg-engagement-finance .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-engagement-finance .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-engagement-finance .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-engagement-finance .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-engagement-finance .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }


/* ── pg-engagement-hr ──────────────────────────────────────────── */
.pg-engagement-hr .header-nav > li > a:hover, .pg-engagement-hr .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-engagement-hr .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-engagement-hr .dropdown:hover .dropdown-menu, .pg-engagement-hr .dropdown:focus-within .dropdown-menu { display: block; }
.pg-engagement-hr .dropdown:hover .dropdown-wide, .pg-engagement-hr .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-engagement-hr .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-engagement-hr .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/hero-about.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding: 52px 0 48px; }
.pg-engagement-hr .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-engagement-hr .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-engagement-hr .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-engagement-hr .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-engagement-hr .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-engagement-hr .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-engagement-hr .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-engagement-hr .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-engagement-hr .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-engagement-hr .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-engagement-hr .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-engagement-hr .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-engagement-hr .header-nav { display: none; } .pg-engagement-hr .hamburger { display: block; } .pg-engagement-hr .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-engagement-hr .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-engagement-hr .card-grid { grid-template-columns: 1fr; } .pg-engagement-hr .footer-grid { grid-template-columns: 1fr; } .pg-engagement-hr .grid-section { padding: 48px 0; } }



.pg-engagement-hr .content-section { padding:56px 0; }
.pg-engagement-hr .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-engagement-hr .content-body { max-width:760px; }
.pg-engagement-hr .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-engagement-hr .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-engagement-hr .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-engagement-hr .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-engagement-hr .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }


/* ── pg-engagement-dean-of-the-faculty ──────────────────────────────────────────── */
.pg-engagement-dean-of-the-faculty .header-nav > li > a:hover, .pg-engagement-dean-of-the-faculty .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-engagement-dean-of-the-faculty .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-engagement-dean-of-the-faculty .dropdown:hover .dropdown-menu, .pg-engagement-dean-of-the-faculty .dropdown:focus-within .dropdown-menu { display: block; }
.pg-engagement-dean-of-the-faculty .dropdown:hover .dropdown-wide, .pg-engagement-dean-of-the-faculty .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-engagement-dean-of-the-faculty .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-engagement-dean-of-the-faculty .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/hero-solutions.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding: 52px 0 48px; }
.pg-engagement-dean-of-the-faculty .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-engagement-dean-of-the-faculty .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-engagement-dean-of-the-faculty .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-engagement-dean-of-the-faculty .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-engagement-dean-of-the-faculty .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-engagement-dean-of-the-faculty .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-engagement-dean-of-the-faculty .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-engagement-dean-of-the-faculty .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-engagement-dean-of-the-faculty .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-engagement-dean-of-the-faculty .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-engagement-dean-of-the-faculty .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-engagement-dean-of-the-faculty .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-engagement-dean-of-the-faculty .header-nav { display: none; } .pg-engagement-dean-of-the-faculty .hamburger { display: block; } .pg-engagement-dean-of-the-faculty .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-engagement-dean-of-the-faculty .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-engagement-dean-of-the-faculty .card-grid { grid-template-columns: 1fr; } .pg-engagement-dean-of-the-faculty .footer-grid { grid-template-columns: 1fr; } .pg-engagement-dean-of-the-faculty .grid-section { padding: 48px 0; } }



.pg-engagement-dean-of-the-faculty .content-section { padding:56px 0; }
.pg-engagement-dean-of-the-faculty .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-engagement-dean-of-the-faculty .content-body { max-width:760px; }
.pg-engagement-dean-of-the-faculty .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-engagement-dean-of-the-faculty .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-engagement-dean-of-the-faculty .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-engagement-dean-of-the-faculty .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-engagement-dean-of-the-faculty .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }


/* ── pg-engagement-facilities ──────────────────────────────────────────── */
.pg-engagement-facilities .header-nav > li > a:hover, .pg-engagement-facilities .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-engagement-facilities .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-engagement-facilities .dropdown:hover .dropdown-menu, .pg-engagement-facilities .dropdown:focus-within .dropdown-menu { display: block; }
.pg-engagement-facilities .dropdown:hover .dropdown-wide, .pg-engagement-facilities .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-engagement-facilities .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-engagement-facilities .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-strategy-index.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding: 52px 0 48px; }
.pg-engagement-facilities .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-engagement-facilities .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-engagement-facilities .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-engagement-facilities .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-engagement-facilities .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-engagement-facilities .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-engagement-facilities .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-engagement-facilities .status-badge-hero { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 9999px; font-family: 'Montserrat', sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.04em; white-space: nowrap; align-self: flex-start; }
.pg-engagement-facilities .status-badge-hero.complete { background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0; }
.pg-engagement-facilities .status-badge-hero.inprogress { background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa; }
.pg-engagement-facilities .status-badge-hero.planning { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; }
.pg-engagement-facilities .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; margin-top: 10px; }
.pg-engagement-facilities .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-engagement-facilities .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-engagement-facilities .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-engagement-facilities .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-engagement-facilities .header-nav { display: none; } .pg-engagement-facilities .hamburger { display: block; } .pg-engagement-facilities .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-engagement-facilities .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-engagement-facilities .card-grid { grid-template-columns: 1fr; } .pg-engagement-facilities .footer-grid { grid-template-columns: 1fr; } .pg-engagement-facilities .grid-section { padding: 48px 0; } }



.pg-engagement-facilities .content-section { padding:56px 0; }
.pg-engagement-facilities .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-engagement-facilities .content-body { max-width:760px; }
.pg-engagement-facilities .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-engagement-facilities .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-engagement-facilities .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-engagement-facilities .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-engagement-facilities .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }


/* ══════════════ More Engagement departments (Registrar, Advancement, Intl, Athletics) ══════════════ */
/* ── pg-engagement-registrar ──────────────────────────────────────────── */
.pg-engagement-registrar .header-nav > li > a:hover, .pg-engagement-registrar .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-engagement-registrar .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-engagement-registrar .dropdown:hover .dropdown-menu, .pg-engagement-registrar .dropdown:focus-within .dropdown-menu { display: block; }
.pg-engagement-registrar .dropdown:hover .dropdown-wide, .pg-engagement-registrar .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-engagement-registrar .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-engagement-registrar .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/hero-solutions-platforms.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding: 52px 0 48px; }
.pg-engagement-registrar .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-engagement-registrar .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-engagement-registrar .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-engagement-registrar .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-engagement-registrar .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-engagement-registrar .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-engagement-registrar .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-engagement-registrar .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-engagement-registrar .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-engagement-registrar .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-engagement-registrar .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-engagement-registrar .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-engagement-registrar .header-nav { display: none; } .pg-engagement-registrar .hamburger { display: block; } .pg-engagement-registrar .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-engagement-registrar .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-engagement-registrar .card-grid { grid-template-columns: 1fr; } .pg-engagement-registrar .footer-grid { grid-template-columns: 1fr; } .pg-engagement-registrar .grid-section { padding: 48px 0; } }



.pg-engagement-registrar .content-section { padding:56px 0; }
.pg-engagement-registrar .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-engagement-registrar .content-body { max-width:760px; }
.pg-engagement-registrar .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-engagement-registrar .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-engagement-registrar .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-engagement-registrar .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-engagement-registrar .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }


/* ── pg-engagement-advancement ──────────────────────────────────────────── */
.pg-engagement-advancement .header-nav > li > a:hover, .pg-engagement-advancement .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-engagement-advancement .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-engagement-advancement .dropdown:hover .dropdown-menu, .pg-engagement-advancement .dropdown:focus-within .dropdown-menu { display: block; }
.pg-engagement-advancement .dropdown:hover .dropdown-wide, .pg-engagement-advancement .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-engagement-advancement .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-engagement-advancement .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/hero-strategy.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding: 52px 0 48px; }
.pg-engagement-advancement .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-engagement-advancement .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-engagement-advancement .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-engagement-advancement .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-engagement-advancement .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-engagement-advancement .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-engagement-advancement .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-engagement-advancement .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-engagement-advancement .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-engagement-advancement .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-engagement-advancement .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-engagement-advancement .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-engagement-advancement .header-nav { display: none; } .pg-engagement-advancement .hamburger { display: block; } .pg-engagement-advancement .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-engagement-advancement .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-engagement-advancement .card-grid { grid-template-columns: 1fr; } .pg-engagement-advancement .footer-grid { grid-template-columns: 1fr; } .pg-engagement-advancement .grid-section { padding: 48px 0; } }



.pg-engagement-advancement .content-section { padding:56px 0; }
.pg-engagement-advancement .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-engagement-advancement .content-body { max-width:760px; }
.pg-engagement-advancement .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-engagement-advancement .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-engagement-advancement .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-engagement-advancement .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-engagement-advancement .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }


/* ── pg-engagement-international-programs ──────────────────────────────────────────── */
.pg-engagement-international-programs .header-nav > li > a:hover, .pg-engagement-international-programs .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-engagement-international-programs .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-engagement-international-programs .dropdown:hover .dropdown-menu, .pg-engagement-international-programs .dropdown:focus-within .dropdown-menu { display: block; }
.pg-engagement-international-programs .dropdown:hover .dropdown-wide, .pg-engagement-international-programs .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-engagement-international-programs .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-engagement-international-programs .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/hero-solutions.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding: 52px 0 48px; }
.pg-engagement-international-programs .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-engagement-international-programs .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-engagement-international-programs .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-engagement-international-programs .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-engagement-international-programs .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-engagement-international-programs .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-engagement-international-programs .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-engagement-international-programs .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-engagement-international-programs .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-engagement-international-programs .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-engagement-international-programs .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-engagement-international-programs .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-engagement-international-programs .header-nav { display: none; } .pg-engagement-international-programs .hamburger { display: block; } .pg-engagement-international-programs .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-engagement-international-programs .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-engagement-international-programs .card-grid { grid-template-columns: 1fr; } .pg-engagement-international-programs .footer-grid { grid-template-columns: 1fr; } .pg-engagement-international-programs .grid-section { padding: 48px 0; } }



.pg-engagement-international-programs .content-section { padding:56px 0; }
.pg-engagement-international-programs .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-engagement-international-programs .content-body { max-width:760px; }
.pg-engagement-international-programs .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-engagement-international-programs .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-engagement-international-programs .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-engagement-international-programs .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-engagement-international-programs .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }


/* ── pg-engagement-athletics ──────────────────────────────────────────── */
.pg-engagement-athletics .header-nav > li > a:hover, .pg-engagement-athletics .header-nav > li > a:focus { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
.pg-engagement-athletics .header-nav > li > a.active { color: var(--cmc-maroon); background: var(--cmc-surface-alt); }
.pg-engagement-athletics .dropdown:hover .dropdown-menu, .pg-engagement-athletics .dropdown:focus-within .dropdown-menu { display: block; }
.pg-engagement-athletics .dropdown:hover .dropdown-wide, .pg-engagement-athletics .dropdown:focus-within .dropdown-wide { display: flex; }
.pg-engagement-athletics .dropdown-section a { display: block; padding: 7px 12px; font-size: 0.83rem; color: var(--cmc-text-secondary); border-radius: 6px; transition: background 0.15s, color 0.15s; font-family: 'Open Sans', sans-serif; line-height: 1.4; }
.pg-engagement-athletics .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.90) 0%, rgba(116,0,28,0.82) 55%, rgba(172,48,64,0.80) 100%), url('i/pg-strategy-sports-bowl.jpg'); background-size: cover, cover; background-position: center, center; position: relative; padding: 52px 0 48px; }
.pg-engagement-athletics .page-eyebrow { display: inline-block; background: rgba(255,255,255,0.15); color: rgba(255,255,255,0.9); font-family: 'Montserrat', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 5px 14px; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.25); margin-bottom: 16px; }
.pg-engagement-athletics .page-hero h1 { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 12px; text-shadow: 0 2px 8px rgba(0,0,0,0.2); }
.pg-engagement-athletics .page-hero p { font-size: 1rem; color: rgba(255,255,255,0.85); max-width: 540px; line-height: 1.65; }
.pg-engagement-athletics .card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pg-engagement-athletics .index-card { background: #fff; border: 1px solid var(--cmc-border); border-radius: 14px; padding: 28px 24px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm); transition: transform 0.22s, box-shadow 0.22s; }
.pg-engagement-athletics .index-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.pg-engagement-athletics .card-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--cmc-surface-alt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; flex-shrink: 0; }
.pg-engagement-athletics .index-card h3 { font-size: 0.98rem; font-weight: 700; color: var(--cmc-text); margin-bottom: 8px; }
.pg-engagement-athletics .index-card p { font-size: 0.85rem; color: var(--cmc-text-muted); line-height: 1.6; flex: 1; margin-bottom: 18px; }
.pg-engagement-athletics .card-link { display: inline-flex; align-items: center; gap: 5px; font-size: 0.83rem; font-weight: 700; color: var(--cmc-maroon); font-family: 'Montserrat', sans-serif; }
.pg-engagement-athletics .card-link svg { width: 14px; height: 14px; transition: transform 0.18s; }
.pg-engagement-athletics .site-footer { background: var(--cmc-maroon-dark); color: rgba(255,255,255,0.85); padding: 56px 0 0; margin-top: 40px; }
@media (max-width: 1024px) { .pg-engagement-athletics .header-nav { display: none; } .pg-engagement-athletics .hamburger { display: block; } .pg-engagement-athletics .card-grid { grid-template-columns: repeat(2, 1fr); } .pg-engagement-athletics .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pg-engagement-athletics .card-grid { grid-template-columns: 1fr; } .pg-engagement-athletics .footer-grid { grid-template-columns: 1fr; } .pg-engagement-athletics .grid-section { padding: 48px 0; } }



.pg-engagement-athletics .content-section { padding:56px 0; }
.pg-engagement-athletics .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-engagement-athletics .content-body { max-width:760px; }
.pg-engagement-athletics .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-engagement-athletics .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-engagement-athletics .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-engagement-athletics .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-engagement-athletics .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }

.pg-engagement-athletics .status-badge-hero { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 9999px; font-family: 'Montserrat', sans-serif; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.04em; white-space: nowrap; align-self: flex-start; }
.pg-engagement-athletics .status-badge-hero.complete { background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0; }
.pg-engagement-athletics .status-badge-hero.inprogress { background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa; }
.pg-engagement-athletics .status-badge-hero.planning { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; }


/* ── pg-engagement-playsight-tennis ──────────────────────────────────────────── */
.pg-engagement-playsight-tennis .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-strategy-sports-bowl.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; position:relative; overflow:hidden; }
.pg-engagement-playsight-tennis .page-hero::after { content:''; position:absolute; right:-80px; top:-80px; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.04); pointer-events:none; }
.pg-engagement-playsight-tennis .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.pg-engagement-playsight-tennis .hero-title-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.pg-engagement-playsight-tennis .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; text-shadow:0 2px 10px rgba(0,0,0,0.2); }
.pg-engagement-playsight-tennis .status-badge-hero { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; white-space:nowrap; }
.pg-engagement-playsight-tennis .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-engagement-playsight-tennis .status-badge-hero.complete { background:rgba(34,197,94,0.2); color:#4ade80; border:1px solid rgba(34,197,94,0.4); }
.pg-engagement-playsight-tennis .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-engagement-playsight-tennis .status-badge-hero.planning { background:rgba(147,197,253,0.2); color:#93c5fd; border:1px solid rgba(147,197,253,0.3); }
.pg-engagement-playsight-tennis .hero-partner { font-size:0.88rem; color:rgba(255,255,255,0.7); margin-top:8px; }
.pg-engagement-playsight-tennis .hero-partner strong { color:rgba(255,255,255,0.95); }
.pg-engagement-playsight-tennis .project-meta { background:#fff; border-bottom:1px solid var(--cmc-border); box-shadow:var(--shadow-sm); }
.pg-engagement-playsight-tennis .project-meta-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); }
.pg-engagement-playsight-tennis .meta-item { padding:18px 20px; border-right:1px solid var(--cmc-border); }
.pg-engagement-playsight-tennis .meta-item:last-child { border-right:none; }
.pg-engagement-playsight-tennis .meta-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-text-muted); margin-bottom:4px; }
.pg-engagement-playsight-tennis .meta-value { font-family:'Montserrat',sans-serif; font-size:0.92rem; font-weight:700; color:var(--cmc-text); }
.pg-engagement-playsight-tennis .timeline-section { padding:56px 0; }
.pg-engagement-playsight-tennis .section-title { font-size:1.4rem; font-weight:800; margin-bottom:32px; }
.pg-engagement-playsight-tennis .timeline-track { position:relative; padding:8px 0; }
.pg-engagement-playsight-tennis .timeline-track::before { content:''; position:absolute; top:28px; left:28px; right:28px; height:3px; background:var(--cmc-border); z-index:0; }
.pg-engagement-playsight-tennis .timeline-steps { display:flex; justify-content:space-between; position:relative; z-index:1; gap:8px; }
.pg-engagement-playsight-tennis .timeline-step { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pg-engagement-playsight-tennis .timeline-node { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; font-size:1.1rem; border:3px solid; transition:transform 0.2s; }
.pg-engagement-playsight-tennis .timeline-node:hover { transform:scale(1.08); }
.pg-engagement-playsight-tennis .timeline-node.done { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; }
.pg-engagement-playsight-tennis .timeline-node.active { background:#fff; border-color:var(--cmc-maroon); color:var(--cmc-maroon); box-shadow:0 0 0 4px rgba(116,0,28,0.15); }
.pg-engagement-playsight-tennis .timeline-node.pending { background:#fff; border-color:var(--cmc-border); color:var(--cmc-text-muted); }
.pg-engagement-playsight-tennis .timeline-phase { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text); margin-bottom:3px; }
.pg-engagement-playsight-tennis .timeline-date { font-size:0.73rem; color:var(--cmc-text-muted); }
.pg-engagement-playsight-tennis .impact-section { background:var(--cmc-surface-alt); padding:56px 0; }
.pg-engagement-playsight-tennis .impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:8px; }
.pg-engagement-playsight-tennis .impact-text p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-engagement-playsight-tennis .metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pg-engagement-playsight-tennis .metric-card { background:#fff; border-radius:12px; padding:20px; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--cmc-border); }
.pg-engagement-playsight-tennis .metric-value { font-family:'Montserrat',sans-serif; font-size:2rem; font-weight:800; color:var(--cmc-maroon); line-height:1; margin-bottom:6px; }
.pg-engagement-playsight-tennis .metric-label { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-engagement-playsight-tennis .content-section { padding:56px 0; }
.pg-engagement-playsight-tennis .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-engagement-playsight-tennis .content-body { max-width:760px; }
.pg-engagement-playsight-tennis .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-engagement-playsight-tennis .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-engagement-playsight-tennis .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-engagement-playsight-tennis .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-engagement-playsight-tennis .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.pg-engagement-playsight-tennis .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.pg-engagement-playsight-tennis .gallery-placeholder { background:var(--cmc-surface); border:2px dashed var(--cmc-border); border-radius:10px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; color:var(--cmc-text-muted); font-size:0.8rem; font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:0.05em; }
@media (max-width:900px) { .pg-engagement-playsight-tennis .header-nav { display:none; } .pg-engagement-playsight-tennis .hamburger { display:block; } .pg-engagement-playsight-tennis .project-meta-inner { grid-template-columns:1fr 1fr; } .pg-engagement-playsight-tennis .meta-item:nth-child(2) { border-right:none; } .pg-engagement-playsight-tennis .timeline-steps { flex-wrap:wrap; } .pg-engagement-playsight-tennis .timeline-track::before { display:none; } .pg-engagement-playsight-tennis .impact-grid { grid-template-columns:1fr; } .pg-engagement-playsight-tennis .gallery-grid { grid-template-columns:1fr 1fr; } .pg-engagement-playsight-tennis .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-engagement-playsight-tennis .metrics-grid { grid-template-columns:1fr 1fr; } .pg-engagement-playsight-tennis .gallery-grid { grid-template-columns:1fr; } .pg-engagement-playsight-tennis .footer-grid { grid-template-columns:1fr; } .pg-engagement-playsight-tennis .project-meta-inner { grid-template-columns:1fr; } .pg-engagement-playsight-tennis .meta-item { border-right:none; border-bottom:1px solid var(--cmc-border); } }


/* ── Skip link (keyboard/screen-reader bypass to main content) ─────────────── */
.skip-link { position:absolute; left:-9999px; top:auto; z-index:3000; background:var(--cmc-maroon-dark); color:#fff; padding:10px 18px; border-radius:0 0 8px 0; font-family:'Montserrat',sans-serif; font-weight:700; font-size:0.85rem; text-decoration:none; }
.skip-link:focus { left:0; top:0; }


/* ═══ ── DARK THEME ═══════════════════════════════════════════════════════
   Applied when html[data-theme="dark"] is set by assets/theme.js
   (user choice of Light / Dark / System; System follows the OS).
   Layer 1: token overrides + theme control. Layer 2 (below): generated
   component overrides — rebuild with tools/build-dark-css if base styles
   change. */

/* tint/tone tokens used by inline styles (light values = former literals) */
:root {
  --card: #fff;
  --tint-red: #fef2f2; --tint-orange: #fff7ed; --tint-amber: #fffbeb;
  --tint-green: #f0fdf4; --tint-blue: #eff6ff;
  --line-blue: #bfdbfe; --line-red: #fecaca; --line-amber: #fde68a;
  --tone-amber: #92400e; --tone-orange: #7c2d12; --tone-red: #991b1b;
  --tone-blue: #1e3a8a; --tone-green: #2a7a2a;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --cmc-border: #3a3536;
  --cmc-maroon: #e08a97;            /* accent/link/label usages — readable on dark */
  --dm-maroon-strong: #8f1d33;      /* pinned background maroon (buttons, chips) */
  --cmc-maroon-hover: #a83248;
  --cmc-surface: #1a1817;
  --cmc-surface-alt: #262122;
  --cmc-text: #f0ebe9;
  --cmc-text-muted: #a8a09e;
  --cmc-text-secondary: #cfc2c0;
  --navy: #9db4ea;                  /* accent/text usages — readable on dark */
  --dm-navy-strong: #22345c;        /* pinned background navy (buttons, chips) */
  --navy-hover: #2c4272;
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.5);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.4);
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.35);
  --green: #4ec87e; --green-bg: #12241a; --green-border: #1e4a30; --green-light: #14281e;
  --blue: #7fa7f2; --blue-bg: #16202f; --blue-border: #2a4368;
  --red: #f28b8b; --red-bg: #2b1517; --red-border: #572125;
  --red-urgent: #f28b8b; --red-urgent-bg: #2b1517; --red-urgent-border: #572125;
  --yellow: #e8b25c; --yellow-bg: #2a2210; --yellow-border: #4a3a14;
  --card: #242021;
  --tint-red: #2c1618; --tint-orange: #2b1d12; --tint-amber: #2a2310;
  --tint-green: #12241a; --tint-blue: #141f31;
  --line-blue: #2c4a74; --line-red: #5b2a2e; --line-amber: #54421a;
  --tone-amber: #e4a95e; --tone-orange: #e69a70; --tone-red: #ef9a9a;
  --tone-blue: #93b3f5; --tone-green: #7ed6a0;
}

/* light-mode values for the pinned background tokens so generated rules and
   inline styles stay valid in light mode */
:root { --dm-maroon-strong: #74001c; --dm-navy-strong: #1a2744; }

/* badge keeps a deep red background under white text in dark mode */
html[data-theme="dark"] .pg-security-index .urgent-badge { background: #b91c1c; }

/* brand wordmark: maroon PNG is invisible on a dark header — render it white */
html[data-theme="dark"] .logo-wrap img { filter: brightness(0) invert(1); }

/* hero split-CTA cards use rgba-white backgrounds (not caught by the generator) */
html[data-theme="dark"] .pg-home .hero-card,
html[data-theme="dark"] .pg-templates-template-home .hero-card,
html[data-theme="dark"] .pg-home-students .hero-card,
html[data-theme="dark"] .pg-home-faculty .hero-card,
html[data-theme="dark"] .pg-home-staff .hero-card { background: rgba(32,28,29,0.95); border: 1px solid rgba(255,255,255,0.14); }

/* keep white/near-white text white where backgrounds stay maroon/navy */
html[data-theme="dark"] .btn-maroon,
html[data-theme="dark"] .btn-navy { color: #fff; }

/* "ink"-background components (background: var(--cmc-text)) invert with the
   token in dark mode — keep the inverted-label look by darkening their text */
html[data-theme="dark"] .nl-header { color: #161314; }
html[data-theme="dark"] .nl-header p { color: rgba(22,19,20,0.75); }
html[data-theme="dark"] .pg-security-data-classification .class-row.header-row,
html[data-theme="dark"] .pg-security-data-classification .class-row.header-row .class-cell { color: #161314; }
html[data-theme="dark"] .pg-solutions-ai-claude .access-card.secondary .access-badge { color: #161314; }

/* ── theme control (mirrors #site-search-trigger) ─────────────────────────── */
#site-theme-trigger { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; border: none; background: transparent; color: var(--cmc-text-muted); cursor: pointer; transition: background 0.15s, color 0.15s; flex-shrink: 0; margin-left: 4px; }
#site-theme-trigger:hover, #site-theme-trigger:focus-visible { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
#site-theme-menu { position: fixed; z-index: 5001; min-width: 176px; background: var(--card); border: 1px solid var(--cmc-border); border-radius: 12px; box-shadow: var(--shadow-lg); padding: 6px; }
#site-theme-menu[hidden] { display: none; }
#site-theme-menu [role="menuitemradio"] { display: flex; align-items: center; gap: 10px; width: 100%; border: none; background: transparent; text-align: left; padding: 9px 12px; border-radius: 8px; font-family: 'Montserrat', sans-serif; font-size: 0.82rem; font-weight: 600; color: var(--cmc-text); cursor: pointer; }
#site-theme-menu [role="menuitemradio"]:hover, #site-theme-menu [role="menuitemradio"]:focus-visible { background: var(--cmc-surface-alt); color: var(--cmc-maroon); }
#site-theme-menu .stm-icon { display: inline-flex; color: var(--cmc-text-muted); }
#site-theme-menu .stm-check { margin-left: auto; color: var(--cmc-maroon); visibility: hidden; }
#site-theme-menu [aria-checked="true"] .stm-check { visibility: visible; }

/* ── generated dark overrides (layer 2) ─────────────────────────────────── */
html[data-theme="dark"] body { background: #242021; }
html[data-theme="dark"] .site-header { background: #242021; }
html[data-theme="dark"] .mobile-nav { background: #242021; }
html[data-theme="dark"] .dropdown-menu { background: #242021; }
html[data-theme="dark"] .sidebar-card { background: #242021; }
html[data-theme="dark"] .prereqs-box { background: #302a15; }
html[data-theme="dark"] .prereqs-box h2,
html[data-theme="dark"] .prereqs-box h3 { color: #f39f6b; }
html[data-theme="dark"] .prereqs-box li { color: #f3ac84; }
html[data-theme="dark"] .step-num { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .troubleshoot-q { background: #242021; }
html[data-theme="dark"] .help-card { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .btn-white { background: #242021; }
html[data-theme="dark"] .btn-maroon { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .gs-num { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .nutrition-label { background: #242021; }
html[data-theme="dark"] .solution-cta { background: linear-gradient(135deg, var(--cmc-surface-alt), #242021); }
html[data-theme="dark"] .details-box-header { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-about-contact .contact-card { background: #242021; }
html[data-theme="dark"] .pg-about-contact .map-loc-card { background: #242021; }
html[data-theme="dark"] .pg-about-contact .freshwidget-wrap { background: #242021; }
html[data-theme="dark"] .pg-about-itsc .policy-table thead { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-about-leadership .leader-card { background: #242021; }
html[data-theme="dark"] .pg-about-leadership .leader-avatar { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-about-leadership .leader-avatar.navy { background: var(--dm-navy-strong); }
html[data-theme="dark"] .pg-about-leadership .leader-avatar.tbd-bg { background: #424242; }
html[data-theme="dark"] .pg-about-org-structure .org-node { background: #242021; }
html[data-theme="dark"] .pg-about-org-structure .org-node.cio { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-about-org-structure .wing-card { background: #242021; }
html[data-theme="dark"] .pg-blog-index .featured-card { background: #242021; }
html[data-theme="dark"] .pg-blog-index .featured-label::before { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-blog-index .cat-badge.tech-alert { background: #302515; color: #f28a5f; border: 1px solid #41301d; }
html[data-theme="dark"] .pg-blog-index .cat-badge.news { background: #152130; color: #6387ee; border: 1px solid #1d2d41; }
html[data-theme="dark"] .pg-blog-index .cat-badge.maintenance { background: #15301d; color: #7ceda6; border: 1px solid #1d412a; }
html[data-theme="dark"] .pg-blog-index .cat-badge.status { background: #15301d; color: #7ceda6; border: 1px solid #1d412a; }
html[data-theme="dark"] .pg-blog-index .cat-badge.event { background: #221530; color: #ad67ea; border: 1px solid #2e1d41; }
html[data-theme="dark"] .pg-blog-index .btn-maroon { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-blog-index .post-card { background: #242021; }
html[data-theme="dark"] .pg-blog-status .service-row { background: #242021; }
html[data-theme="dark"] .pg-blog-status .maintenance-card { background: #242021; }
html[data-theme="dark"] .pg-blog-status .maintenance-badge { background: #302a15; color: #f39f6b; border: 1px solid #5b5129; }
html[data-theme="dark"] .pg-blog-status .contact-strip a.btn { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-blog-welcome .author-avatar { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-blog-welcome .cta-box { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-blog-welcome .cta-box a { background: #242021; }
html[data-theme="dark"] .pg-blog-welcome .share-btn { background: #242021; }
html[data-theme="dark"] .pg-blog-welcome .related-card { background: #242021; }
html[data-theme="dark"] .pg-guides-dorm-devices .warning-banner { background: #302415; }
html[data-theme="dark"] .pg-guides-dorm-devices .warning-banner p { color: #f08562; }
html[data-theme="dark"] .pg-guides-dorm-devices .warning-banner strong { color: #f09d80; }
html[data-theme="dark"] .pg-guides-dorm-devices .info-box { background: #152130; border: 1px solid #1d2d41; }
html[data-theme="dark"] .pg-guides-dorm-devices .info-box p { color: #6886e9; }
html[data-theme="dark"] .pg-guides-ebb-setup .integrity-banner { background: #301515; }
html[data-theme="dark"] .pg-guides-ebb-setup .integrity-banner p { color: #e86969; }
html[data-theme="dark"] .pg-guides-ebb-setup .os-tab { background: #242021; }
html[data-theme="dark"] .pg-guides-ebb-setup .block-item { background: #301515; border: 1px solid #411d1d; }
html[data-theme="dark"] .pg-guides-ebb-setup .block-item p { color: #e86969; }
html[data-theme="dark"] .pg-guides-ebb-setup .checklist { background: #15301d; border: 1px solid #295b3b; }
html[data-theme="dark"] .pg-guides-ebb-setup .checklist h3 { color: #7ceda6; }
html[data-theme="dark"] .pg-guides-ebb-setup .checklist li { color: #98ebb8; border-bottom: 1px solid #1d412a; }
html[data-theme="dark"] .pg-guides-eduroam .device-tab { background: #242021; }
html[data-theme="dark"] .pg-guides-eduroam .note-box { background: #152130; border: 1px solid #1d2d41; }
html[data-theme="dark"] .pg-guides-eduroam .note-box p { color: #6886e9; }
html[data-theme="dark"] .pg-guides-eduroam .note-box strong { color: #7290e4; }
html[data-theme="dark"] .pg-guides-guest-wifi .access-card.can { background: #15301d; border: 1px solid #295b3b; }
html[data-theme="dark"] .pg-guides-guest-wifi .access-card.cannot { background: #301515; }
html[data-theme="dark"] .pg-guides-guest-wifi .access-card.can h4 { color: #7ceda6; }
html[data-theme="dark"] .pg-guides-guest-wifi .access-card.cannot h4 { color: #eb6565; }
html[data-theme="dark"] .pg-guides-guest-wifi .access-card.can li { color: #98ebb8; }
html[data-theme="dark"] .pg-guides-guest-wifi .access-card.cannot li { color: #e86969; }
html[data-theme="dark"] .pg-guides-guest-wifi .info-box { background: #152530; border: 1px solid #1d3541; }
html[data-theme="dark"] .pg-guides-guest-wifi .info-box p { color: #67c1f3; }
html[data-theme="dark"] .pg-guides-guest-wifi .info-box strong { color: #7dcbf4; }
html[data-theme="dark"] .pg-guides-guest-wifi .security-banner { background: #152230; }
html[data-theme="dark"] .pg-guides-index .index-card { background: #242021; }
html[data-theme="dark"] .pg-guides-mfa-setup .sms-warning { background: #413a1d; border: 1px solid #5b5029; }
html[data-theme="dark"] .pg-guides-mfa-setup .sms-warning p { color: #f3ac84; }
html[data-theme="dark"] .pg-guides-mfa-setup .auth-card.recommended { background: #15301d; border-color: #295b3b; }
html[data-theme="dark"] .pg-guides-mfa-setup .auth-card.recommended h4 { color: #7ceda6; }
html[data-theme="dark"] .pg-guides-mfa-setup .info-box { background: #152130; border: 1px solid #1d2d41; }
html[data-theme="dark"] .pg-guides-mfa-setup .info-box p { color: #6886e9; }
html[data-theme="dark"] .pg-guides-password-reset .quick-action { background: linear-gradient(135deg, #152130, #1d2d41); }
html[data-theme="dark"] .pg-guides-password-reset .quick-action p { color: #6886e9; }
html[data-theme="dark"] .pg-guides-password-reset .best-practices { background: #15301d; border: 1px solid #295b3b; }
html[data-theme="dark"] .pg-guides-password-reset .best-practices h3 { color: #7ceda6; }
html[data-theme="dark"] .pg-guides-password-reset .best-practices li { color: #98ebb8; border-bottom: 1px solid #1d412a; }
html[data-theme="dark"] .pg-guides-password-reset .emergency-banner { background: #301515; }
html[data-theme="dark"] .pg-guides-password-reset .emergency-banner div h4 { color: #e86969; }
html[data-theme="dark"] .pg-guides-password-reset .emergency-banner div p { color: #eb6565; }
html[data-theme="dark"] .pg-guides-password-reset .emergency-banner div a { color: #e47e7e; }
html[data-theme="dark"] .pg-guides-report-phishing .emergency-banner { background: #301515; }
html[data-theme="dark"] .pg-guides-report-phishing .emergency-banner div h4 { color: #e86969; }
html[data-theme="dark"] .pg-guides-report-phishing .emergency-banner div p { color: #eb6565; }
html[data-theme="dark"] .pg-guides-report-phishing .emergency-banner div a { color: #e47e7e; }
html[data-theme="dark"] .pg-guides-report-phishing .why-item { background: #242021; }
html[data-theme="dark"] .pg-guides-report-phishing .indicator-card { background: #302415; border: 1px solid #41301d; }
html[data-theme="dark"] .pg-guides-report-phishing .indicator-card h4 { color: #f28a5f; }
html[data-theme="dark"] .pg-guides-report-phishing .indicator-card p { color: #f08562; }
html[data-theme="dark"] .pg-guides-report-phishing .do-not-box { background: #301515; border: 1px solid #411d1d; }
html[data-theme="dark"] .pg-guides-report-phishing .do-not-box h3 { color: #ea6767; }
html[data-theme="dark"] .pg-guides-report-phishing .do-not-box li { color: #eb6565; }
html[data-theme="dark"] .pg-guides-slack-navigation .workspace-card.work { background: #221530; }
html[data-theme="dark"] .pg-guides-slack-navigation .workspace-card.campus { background: #302d15; border-color: #5b5329; }
html[data-theme="dark"] .pg-guides-slack-navigation .workspace-card.network { background: #18202d; }
html[data-theme="dark"] .pg-guides-slack-navigation .workspace-card.work h3 { color: #9b6be6; }
html[data-theme="dark"] .pg-guides-slack-navigation .workspace-card.campus h3 { color: #efbb8c; }
html[data-theme="dark"] .pg-guides-slack-navigation .workspace-card.network h3 { color: #bac8e6; }
html[data-theme="dark"] .pg-guides-slack-navigation .workspace-card.work .ws-who { color: #9a69e8; }
html[data-theme="dark"] .pg-guides-slack-navigation .workspace-card.campus .ws-who { color: #f39f6b; }
html[data-theme="dark"] .pg-guides-slack-navigation .workspace-card.network .ws-who { color: #9baed4; }
html[data-theme="dark"] .pg-guides-slack-navigation .workspace-card.work li { color: #9b6be6; }
html[data-theme="dark"] .pg-guides-slack-navigation .workspace-card.campus li { color: #f3ac84; }
html[data-theme="dark"] .pg-guides-slack-navigation .workspace-card.network li { color: #9baed4; }
html[data-theme="dark"] .pg-guides-slack-navigation .warning-box { background: #301515; }
html[data-theme="dark"] .pg-guides-slack-navigation .warning-box p { color: #e86969; }
html[data-theme="dark"] .pg-guides-zoom-ai .blocked-banner { background: #413a1d; border: 1px solid #5b5029; }
html[data-theme="dark"] .pg-guides-zoom-ai .blocked-banner p { color: #f3ac84; }
html[data-theme="dark"] .pg-guides-zoom-ai .blocked-banner strong { color: #f09d80; }
html[data-theme="dark"] .pg-guides-zoom-ai .info-box { background: #1a1530; }
html[data-theme="dark"] .pg-guides-zoom-ai .info-box p { color: #9b6be6; }
html[data-theme="dark"] .pg-guides-zoom-ai .privacy-item { background: #242021; }
html[data-theme="dark"] .pg-home .hero { background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--dm-maroon-strong) 55%, var(--cmc-accent) 100%); }
html[data-theme="dark"] .pg-home .hero-card::before { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-home .hero-card.navy::before { background: var(--dm-navy-strong); }
html[data-theme="dark"] .pg-home .btn-navy { background: var(--dm-navy-strong); }
html[data-theme="dark"] .pg-home .btn-outline:hover { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-home .support-card { background: #242021; }
html[data-theme="dark"] .pg-home .support-icon.navy { background: #161c2f; }
html[data-theme="dark"] .pg-home .contact-section { background: var(--dm-navy-strong); }
html[data-theme="dark"] .pg-home .highlight-card { background: #242021; }
html[data-theme="dark"] .pg-home .tag-chip.navy { background: #161c2f; }
html[data-theme="dark"] .pg-home .guide-card { background: #242021; }
html[data-theme="dark"] .pg-security-accessibility .tool-chip::before { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-security-data-classification .row-p1 { background: #15301d; }
html[data-theme="dark"] .pg-security-data-classification .row-p1 .class-cell { color: #aaedc5; }
html[data-theme="dark"] .pg-security-data-classification .row-p1 .class-cell strong { color: #98ebb8; }
html[data-theme="dark"] .pg-security-data-classification .row-p2 { background: #302d15; }
html[data-theme="dark"] .pg-security-data-classification .row-p2 .class-cell { color: #efbb8c; }
html[data-theme="dark"] .pg-security-data-classification .row-p2 .class-cell strong { color: #f4b977; }
html[data-theme="dark"] .pg-security-data-classification .row-p3 { background: #302415; }
html[data-theme="dark"] .pg-security-data-classification .row-p3 .class-cell { color: #f09d80; }
html[data-theme="dark"] .pg-security-data-classification .row-p3 .class-cell strong { color: #f08562; }
html[data-theme="dark"] .pg-security-data-classification .row-p4 { background: #301515; }
html[data-theme="dark"] .pg-security-data-classification .row-p4 .class-cell { color: #e47e7e; }
html[data-theme="dark"] .pg-security-data-classification .row-p4 .class-cell strong { color: #e86969; }
html[data-theme="dark"] .pg-security-exception-policy .checklist-item { background: #242021; }
html[data-theme="dark"] .pg-security-exception-policy .process-num { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-security-exception-policy .fs-card { background: #242021; }
html[data-theme="dark"] .pg-security-exception-policy .fs-header { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-security-exception-policy .faq-question { background: #242021; }
html[data-theme="dark"] .pg-security-index .index-card { background: #242021; }
html[data-theme="dark"] .pg-security-index .index-card.urgent .card-icon { background: #301515; }
html[data-theme="dark"] .pg-security-isp .cia-card.confidentiality { background: #152530; border-color: #1d3541; }
html[data-theme="dark"] .pg-security-isp .cia-card.integrity { background: #302d15; border-color: #5b5129; }
html[data-theme="dark"] .pg-security-isp .cia-card.availability { background: #15301d; border-color: #1d412a; }
html[data-theme="dark"] .pg-security-isp .cia-card.confidentiality h4 { color: #67c1f3; }
html[data-theme="dark"] .pg-security-isp .cia-card.integrity h4 { color: #f39f6b; }
html[data-theme="dark"] .pg-security-isp .cia-card.availability h4 { color: #98ebb8; }
html[data-theme="dark"] .pg-security-report-incident .hero-phone-cta { background: #242021; }
html[data-theme="dark"] .pg-security-report-incident .hero-phone-label { color: #e86969; }
html[data-theme="dark"] .pg-security-report-incident .hero-phone-number { color: #e3e5e5; }
html[data-theme="dark"] .pg-security-report-incident .scenario-card { background: #301515; border: 1px solid #411d1d; }
html[data-theme="dark"] .pg-security-report-incident .scenario-card h4 { color: #e86969; }
html[data-theme="dark"] .pg-security-report-incident .scenario-card p { color: #e47e7e; }
html[data-theme="dark"] .pg-security-report-incident .report-method { background: #242021; }
html[data-theme="dark"] .pg-security-report-incident .report-method.urgent { border-color: #411d1d; background: #301515; }
html[data-theme="dark"] .pg-security-report-incident .report-method.urgent h4 { color: #e86969; }
html[data-theme="dark"] .pg-security-report-incident .report-method.urgent ul li { color: #e47e7e; }
html[data-theme="dark"] .pg-security-report-incident .report-method.urgent ul li::before { color: #ea6767; }
html[data-theme="dark"] .pg-security-report-incident .process-num { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-security-report-incident .include-num { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-security-report-incident .fs-card { background: #242021; }
html[data-theme="dark"] .pg-security-report-incident .faq-question { background: #242021; }
html[data-theme="dark"] .pg-security-rscp .action-btn-icon.red { background: #301515; }
html[data-theme="dark"] .pg-security-rscp .action-btn-icon.orange { background: #302415; }
html[data-theme="dark"] .pg-services-academic-software .software-card { background: #242021; }
html[data-theme="dark"] .pg-services-academic-software .badge-all { background: #15301d; color: #7ceda6; border: 1px solid #295b3b; }
html[data-theme="dark"] .pg-services-academic-software .badge-limited { background: #302915; color: #f39f6b; border: 1px solid #5b5029; }
html[data-theme="dark"] .pg-services-academic-software .fs-widget-card { background: #242021; }
html[data-theme="dark"] .pg-services-academic-software .fs-widget-header { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-services-av-support .timeline-num { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-services-av-support .fs-widget-card { background: #242021; }
html[data-theme="dark"] .pg-services-av-support .fs-widget-header { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-services-help-desk .overview-body th { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-services-help-desk .fs-widget-card { background: #242021; }
html[data-theme="dark"] .pg-services-help-desk .fs-widget-header { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-services-help-desk .alert-info { background: #152230; border: 1px solid #1d2f41; color: #6886e9; }
html[data-theme="dark"] .pg-services-index .index-card { background: #242021; }
html[data-theme="dark"] .pg-services-laptop-fleet .alert-warning { background: #302915; border: 1px solid #5b4f29; color: #f3ac84; }
html[data-theme="dark"] .pg-services-laptop-fleet .fs-widget-card { background: #242021; }
html[data-theme="dark"] .pg-services-laptop-fleet .fs-widget-header { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-services-mdm .alert-danger { background: #301515; color: #e47e7e; }
html[data-theme="dark"] .pg-services-mdm .compare-card.manages { background: #15301d; border: 1px solid #295b3b; }
html[data-theme="dark"] .pg-services-mdm .compare-card.doesnt { background: #301515; }
html[data-theme="dark"] .pg-services-mdm .compare-card.manages h4 { color: #7ceda6; }
html[data-theme="dark"] .pg-services-mdm .compare-card.doesnt h4 { color: #ea6767; }
html[data-theme="dark"] .pg-services-mdm .compare-card.manages ul li::before { color: #7ceda6; }
html[data-theme="dark"] .pg-services-mdm .compare-card.doesnt ul li::before { color: #ea6767; }
html[data-theme="dark"] .pg-services-mdm .fs-widget-card { background: #242021; }
html[data-theme="dark"] .pg-services-mdm .fs-widget-header { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-services-printing .fs-widget-card { background: #242021; }
html[data-theme="dark"] .pg-services-printing .fs-widget-header { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-services-smart-classrooms .tip-box { background: #15301d; border: 1px solid #295b3b; color: #aaedc5; }
html[data-theme="dark"] .pg-services-smart-classrooms .fs-widget-card { background: #242021; }
html[data-theme="dark"] .pg-services-smart-classrooms .fs-widget-header { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-services-sts .hours-table th { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-services-sts .fs-widget-card { background: #242021; }
html[data-theme="dark"] .pg-services-sts .fs-widget-header { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-solutions-ai-box-ai .query-item { background: #242021; }
html[data-theme="dark"] .pg-solutions-ai-box-ai .protection-item { background: #151f30; }
html[data-theme="dark"] .pg-solutions-ai-box-ai .protection-item h4 { color: #89b4f5; }
html[data-theme="dark"] .pg-solutions-ai-box-ai .protection-item p { color: #6886e9; }
html[data-theme="dark"] .pg-solutions-ai-box-ai .solution-cta { background: linear-gradient(135deg, #151f30, #242021); border: 1px solid #1d2d41; }
html[data-theme="dark"] .pg-solutions-ai-claude .access-card.primary { background: #302a15; }
html[data-theme="dark"] .pg-solutions-ai-claude .access-card.primary h3 { color: #f39f6b; }
html[data-theme="dark"] .pg-solutions-ai-claude .protection-item { background: #302a15; }
html[data-theme="dark"] .pg-solutions-ai-claude .protection-item h4 { color: #f39f6b; }
html[data-theme="dark"] .pg-solutions-ai-claude .protection-item p { color: #f3ac84; }
html[data-theme="dark"] .pg-solutions-ai-claude .solution-cta { background: linear-gradient(135deg, #302a15, #242021); border: 1px solid #5b5129; }
html[data-theme="dark"] .pg-solutions-ai-copilot .highlight-box { background: #152130; border: 1px solid #1d2d41; }
html[data-theme="dark"] .pg-solutions-ai-copilot .highlight-box h3 { color: #6886e9; }
html[data-theme="dark"] .pg-solutions-ai-copilot .highlight-box p { color: #7290e4; }
html[data-theme="dark"] .pg-solutions-ai-copilot .protection-item { background: #152130; }
html[data-theme="dark"] .pg-solutions-ai-copilot .protection-item h4 { color: #6886e9; }
html[data-theme="dark"] .pg-solutions-ai-copilot .protection-item p { color: #7290e4; }
html[data-theme="dark"] .pg-solutions-ai-copilot .solution-cta { background: linear-gradient(135deg, #152130, #242021); border: 1px solid #1d2d41; }
html[data-theme="dark"] .pg-solutions-ai-gemini .protection-item { background: #151f30; }
html[data-theme="dark"] .pg-solutions-ai-gemini .protection-item h4 { color: #8fb3e7; }
html[data-theme="dark"] .pg-solutions-ai-gemini .protection-item p { color: #619ef0; }
html[data-theme="dark"] .pg-solutions-ai-gemini .solution-cta { background: linear-gradient(135deg, #151f30, #242021); border: 1px solid #1d2c41; }
html[data-theme="dark"] .pg-solutions-ai-index .ai-tool-card { background: #242021; }
html[data-theme="dark"] .pg-solutions-ai-index .icon-gemini { background: #151f30; }
html[data-theme="dark"] .pg-solutions-ai-index .icon-copilot { background: #1a1530; }
html[data-theme="dark"] .pg-solutions-ai-index .icon-claude { background: #413a1d; }
html[data-theme="dark"] .pg-solutions-ai-index .icon-zoom { background: #152330; }
html[data-theme="dark"] .pg-solutions-ai-index .icon-box { background: #151f30; }
html[data-theme="dark"] .pg-solutions-ai-index .icon-local { background: #152230; }
html[data-theme="dark"] .pg-solutions-ai-index .principle-num { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-solutions-ai-local-models .key-prop { background: #152230; }
html[data-theme="dark"] .pg-solutions-ai-local-models .tool-card { background: #242021; }
html[data-theme="dark"] .pg-solutions-ai-local-models .hw-card.min { background: #222222; }
html[data-theme="dark"] .pg-solutions-ai-local-models .hw-card.rec { background: #15301d; border-color: #1d412a; }
html[data-theme="dark"] .pg-solutions-ai-local-models .hw-card.opt { background: #152130; border-color: #1d2d41; }
html[data-theme="dark"] .pg-solutions-ai-local-models .protection-item { background: #152230; }
html[data-theme="dark"] .pg-solutions-ai-local-models .protection-item h4 { color: #d7dfef; }
html[data-theme="dark"] .pg-solutions-ai-local-models .solution-cta { background: linear-gradient(135deg, #152230, #242021); }
html[data-theme="dark"] .pg-solutions-ai-zoom-ai .warning-banner { background: #302415; border: 1px solid #41301d; }
html[data-theme="dark"] .pg-solutions-ai-zoom-ai .warning-banner h4 { color: #f08562; }
html[data-theme="dark"] .pg-solutions-ai-zoom-ai .warning-banner p { color: #f09d80; }
html[data-theme="dark"] .pg-solutions-ai-zoom-ai .protection-item { background: #152330; }
html[data-theme="dark"] .pg-solutions-ai-zoom-ai .protection-item h4 { color: #bedaf6; }
html[data-theme="dark"] .pg-solutions-ai-zoom-ai .protection-item p { color: #6886e9; }
html[data-theme="dark"] .pg-solutions-ai-zoom-ai .solution-cta { background: linear-gradient(135deg, #152330, #242021); border: 1px solid #1d2d41; }
html[data-theme="dark"] .pg-solutions-boomi .flow-node { background: #242021; }
html[data-theme="dark"] .pg-solutions-boomi .integration-card { background: #242021; }
html[data-theme="dark"] .pg-solutions-consulting .checklist-item { background: #242021; }
html[data-theme="dark"] .pg-solutions-consulting .process-num { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-solutions-consulting .scope-col.do { background: #15301d; border: 1px solid #1d412a; }
html[data-theme="dark"] .pg-solutions-consulting .scope-col.dont { background: #302415; border: 1px solid #41301d; }
html[data-theme="dark"] .pg-solutions-consulting .scope-col.do h3 { color: #98ebb8; }
html[data-theme="dark"] .pg-solutions-consulting .scope-col.dont h3 { color: #f08562; }
html[data-theme="dark"] .pg-solutions-consulting .fs-card { background: #242021; }
html[data-theme="dark"] .pg-solutions-consulting .fs-header { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-solutions-consulting .faq-question { background: #242021; }
html[data-theme="dark"] .pg-solutions-hecvat .info-box { background: #152130; border: 1px solid #1d2d41; }
html[data-theme="dark"] .pg-solutions-hecvat .info-box h3 { color: #6886e9; }
html[data-theme="dark"] .pg-solutions-hecvat .info-box ul li { color: #7290e4; }
html[data-theme="dark"] .pg-solutions-hecvat .risk-card.low { background: #15301d; border-color: #1d412a; }
html[data-theme="dark"] .pg-solutions-hecvat .risk-card.medium { background: #302a15; border-color: #5b5129; }
html[data-theme="dark"] .pg-solutions-hecvat .risk-card.high { background: #301517; border-color: #411d22; }
html[data-theme="dark"] .pg-solutions-hecvat .checklist-item { background: #242021; }
html[data-theme="dark"] .pg-solutions-hecvat .process-strip { background: #152130; border: 1px solid #1d2d41; }
html[data-theme="dark"] .pg-solutions-hecvat .process-num { background: var(--dm-navy-strong); }
html[data-theme="dark"] .pg-solutions-hecvat .pitfall-item { background: #302415; border: 1px solid #41301d; }
html[data-theme="dark"] .pg-solutions-hecvat .pitfall-item h4 { color: #f08562; }
html[data-theme="dark"] .pg-solutions-hecvat .fs-card { background: #242021; }
html[data-theme="dark"] .pg-solutions-hecvat .faq-question { background: #242021; }
html[data-theme="dark"] .pg-solutions-platforms-freshservice .fs-card { background: #242021; }
html[data-theme="dark"] .pg-solutions-platforms-freshservice .fs-header { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-solutions-index .index-card { background: #242021; }
html[data-theme="dark"] .pg-solutions-research-hipaa .warning-banner { background: #301515; border: 1px solid #411d1d; }
html[data-theme="dark"] .pg-solutions-research-hipaa .warning-banner h4 { color: #e86969; }
html[data-theme="dark"] .pg-solutions-research-hipaa .warning-banner p { color: #e47e7e; }
html[data-theme="dark"] .pg-solutions-research-hipaa .prohibition-list li { background: #301515; color: #e47e7e; }
html[data-theme="dark"] .pg-solutions-research-hipaa .prohibition-list li::before { color: #ea6767; }
html[data-theme="dark"] .pg-solutions-research-hipaa .phi-item-dot { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-solutions-research-hipaa .nl-badge { background: #301515; color: #e86969; }
html[data-theme="dark"] .pg-solutions-research-hpc .spec-table th { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-solutions-research-qcl .software-list li::before { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-strategy-clac-2026 .project-meta { background: #242021; }
html[data-theme="dark"] .pg-strategy-clac-2026 .timeline-node.done { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-strategy-clac-2026 .timeline-node.active { background: #242021; }
html[data-theme="dark"] .pg-strategy-clac-2026 .timeline-node.pending { background: #242021; }
html[data-theme="dark"] .pg-strategy-clac-2026 .metric-card { background: #242021; }
html[data-theme="dark"] .pg-strategy-disaster-recovery .project-meta { background: #242021; }
html[data-theme="dark"] .pg-strategy-disaster-recovery .timeline-node.done { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-strategy-disaster-recovery .timeline-node.active { background: #242021; }
html[data-theme="dark"] .pg-strategy-disaster-recovery .timeline-node.pending { background: #242021; }
html[data-theme="dark"] .pg-strategy-disaster-recovery .metric-card { background: #242021; }
html[data-theme="dark"] .pg-strategy-index .index-card { background: #242021; }
html[data-theme="dark"] .pg-engagement-rdsc .project-meta { background: #242021; }
html[data-theme="dark"] .pg-engagement-rdsc .timeline-node.done { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-engagement-rdsc .timeline-node.active { background: #242021; }
html[data-theme="dark"] .pg-engagement-rdsc .timeline-node.pending { background: #242021; }
html[data-theme="dark"] .pg-engagement-rdsc .metric-card { background: #242021; }
html[data-theme="dark"] .pg-engagement-sports-bowl .project-meta { background: #242021; }
html[data-theme="dark"] .pg-engagement-sports-bowl .timeline-node.done { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-engagement-sports-bowl .timeline-node.active { background: #242021; }
html[data-theme="dark"] .pg-engagement-sports-bowl .timeline-node.pending { background: #242021; }
html[data-theme="dark"] .pg-engagement-sports-bowl .timeline-node.live { background: #242021; --sb-live-rgb:126,214,160; }
html[data-theme="dark"] .pg-engagement-sports-bowl .metric-card { background: #242021; }
html[data-theme="dark"] .pg-strategy-vision .comparison-card.then { background: #242021; }
html[data-theme="dark"] .pg-strategy-vision .priority-list li::before { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-templates-template-blog-index .page-hero { background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--dm-maroon-strong) 60%, var(--cmc-accent) 100%); }
html[data-theme="dark"] .pg-templates-template-blog-index .featured-card { background: #242021; }
html[data-theme="dark"] .pg-templates-template-blog-index .featured-visual { background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--dm-maroon-strong) 60%, var(--cmc-accent) 100%); }
html[data-theme="dark"] .pg-templates-template-blog-index .featured-label::before { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-templates-template-blog-index .cat-badge.tech-alert { background: #302515; color: #f28a5f; border: 1px solid #41301d; }
html[data-theme="dark"] .pg-templates-template-blog-index .cat-badge.news { background: #152130; color: #6387ee; border: 1px solid #1d2d41; }
html[data-theme="dark"] .pg-templates-template-blog-index .cat-badge.maintenance { background: #15301d; color: #7ceda6; border: 1px solid #1d412a; }
html[data-theme="dark"] .pg-templates-template-blog-index .btn-maroon { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-templates-template-blog-index .post-card { background: #242021; }
html[data-theme="dark"] .pg-templates-template-blog-index .post-card-color.maroon { background: linear-gradient(135deg,var(--cmc-maroon-dark),var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-templates-template-blog-index .post-card-color.navy { background: linear-gradient(135deg,#0f1c38,var(--dm-navy-strong)); }
html[data-theme="dark"] .pg-templates-template-blog .category-badge.tech-alert { background: #302515; color: #f28a5f; border: 1px solid #41301d; }
html[data-theme="dark"] .pg-templates-template-blog .category-badge.news { background: #152130; color: #6387ee; border: 1px solid #1d2d41; }
html[data-theme="dark"] .pg-templates-template-blog .category-badge.maintenance { background: #15301d; color: #7ceda6; border: 1px solid #1d412a; }
html[data-theme="dark"] .pg-templates-template-blog .author-avatar { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-templates-template-blog .callout.info { background: #152130; border: 1px solid #1d2d41; }
html[data-theme="dark"] .pg-templates-template-blog .callout.warning { background: #302a15; border: 1px solid #5b5129; }
html[data-theme="dark"] .pg-templates-template-blog .callout.critical { background: #301515; border: 1px solid #411d1d; }
html[data-theme="dark"] .pg-templates-template-blog .share-btn { background: #242021; }
html[data-theme="dark"] .pg-templates-template-blog .related-card { background: #242021; }
html[data-theme="dark"] .pg-templates-template-blog .related-card-color.maroon { background: linear-gradient(135deg,var(--cmc-maroon-dark),var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-templates-template-blog .related-card-color.navy { background: linear-gradient(135deg,#0f1c38,var(--dm-navy-strong)); }
html[data-theme="dark"] .pg-templates-template-guide .page-hero { background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--dm-maroon-strong) 60%, var(--cmc-accent) 100%); }
html[data-theme="dark"] .pg-templates-template-home .hero { background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--dm-maroon-strong) 55%, var(--cmc-accent) 100%); }
html[data-theme="dark"] .pg-templates-template-home .hero-card::before { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-templates-template-home .hero-card.navy::before { background: var(--dm-navy-strong); }
html[data-theme="dark"] .pg-templates-template-home .btn-navy { background: var(--dm-navy-strong); }
html[data-theme="dark"] .pg-templates-template-home .btn-outline:hover { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-templates-template-home .contact-card { background: #242021; }
html[data-theme="dark"] .pg-templates-template-home .contact-icon.navy { background: #161c2f; }
html[data-theme="dark"] .pg-templates-template-home .highlight-card { background: #242021; }
html[data-theme="dark"] .pg-templates-template-home .highlight-img-alt { background: linear-gradient(135deg, var(--dm-navy-strong), #3b52a0); }
html[data-theme="dark"] .pg-templates-template-home .tag-chip.navy { background: #161c2f; }
html[data-theme="dark"] .pg-templates-template-home .guide-card { background: #242021; }
html[data-theme="dark"] .pg-templates-template-policy .page-hero { background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--dm-maroon-strong) 60%, var(--cmc-accent) 100%); }
html[data-theme="dark"] .pg-templates-template-policy .policy-table thead { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-templates-template-policy .class-p1 { background: #301515; color: #e86969; }
html[data-theme="dark"] .pg-templates-template-policy .class-p2 { background: #302415; color: #f08562; }
html[data-theme="dark"] .pg-templates-template-policy .class-p3 { background: #302a15; color: #f39f6b; }
html[data-theme="dark"] .pg-templates-template-policy .class-p4 { background: #15301d; color: #98ebb8; }
html[data-theme="dark"] .pg-templates-template-policy .action-btn-icon.red { background: #301515; }
html[data-theme="dark"] .pg-templates-template-policy .action-btn-icon.orange { background: #302415; }
html[data-theme="dark"] .pg-templates-template-project .page-hero { background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--dm-maroon-strong) 55%, var(--cmc-accent) 100%); }
html[data-theme="dark"] .pg-templates-template-project .project-meta { background: #242021; }
html[data-theme="dark"] .pg-templates-template-project .timeline-node.done { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-templates-template-project .timeline-node.active { background: #242021; }
html[data-theme="dark"] .pg-templates-template-project .timeline-node.pending { background: #242021; }
html[data-theme="dark"] .pg-templates-template-project .metric-card { background: #242021; }
html[data-theme="dark"] .pg-templates-template-request .page-hero { background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--dm-maroon-strong) 60%, var(--cmc-accent) 100%); }
html[data-theme="dark"] .pg-templates-template-request .checklist-item { background: #242021; }
html[data-theme="dark"] .pg-templates-template-request .check-icon.done { background: #15301d; }
html[data-theme="dark"] .pg-templates-template-request .process-num { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-templates-template-request .fs-card { background: #242021; }
html[data-theme="dark"] .pg-templates-template-request .fs-header { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-templates-template-request .faq-question { background: #242021; }
html[data-theme="dark"] .pg-templates-template-service .page-hero { background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--dm-maroon-strong) 60%, var(--cmc-accent) 100%); }
html[data-theme="dark"] .pg-templates-template-service .fs-widget-card { background: #242021; }
html[data-theme="dark"] .pg-templates-template-service .fs-widget-header { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-templates-template-solution .page-hero { background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--dm-maroon-strong) 55%, var(--cmc-accent) 100%); }
html[data-theme="dark"] .pg-templates-template-status .page-hero { background: linear-gradient(135deg, #0f1c38 0%, var(--dm-navy-strong) 60%, #2a3f70 100%); }
html[data-theme="dark"] .pg-templates-template-status .status-card { background: #242021; }
html[data-theme="dark"] .pg-templates-template-status .maintenance-item { background: #242021; }
html[data-theme="dark"] .pg-templates-template-team .page-hero { background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--dm-maroon-strong) 60%, var(--cmc-accent) 100%); }
html[data-theme="dark"] .pg-templates-template-team .org-node { background: #242021; }
html[data-theme="dark"] .pg-templates-template-team .org-node.cio { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-templates-template-team .leader-card { background: #242021; }
html[data-theme="dark"] .pg-templates-template-team .leader-avatar { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-templates-template-team .leader-avatar.navy { background: var(--dm-navy-strong); }
html[data-theme="dark"] .pg-templates-template-team .team-card { background: #242021; }
html[data-theme="dark"] .principle-num { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .guide-card-item { background: #242021; }
html[data-theme="dark"] .da-tool-card { background: #242021; }
html[data-theme="dark"] .warning-banner { background: #302415; border: 1px solid #41301d; }
html[data-theme="dark"] .warning-banner h4 { color: #f08562; }
html[data-theme="dark"] .warning-banner p { color: #f09d80; }
html[data-theme="dark"] .warning-banner.info { background: #152130; }
html[data-theme="dark"] .warning-banner.info h4 { color: #6886e9; }
html[data-theme="dark"] .warning-banner.info p { color: #7290e4; }
html[data-theme="dark"] .highlight-box { background: #152130; border: 1px solid #1d2d41; }
html[data-theme="dark"] .highlight-box h2,
html[data-theme="dark"] .highlight-box h3 { color: #6886e9; }
html[data-theme="dark"] .highlight-box p { color: #7290e4; }
html[data-theme="dark"] .highlight-box strong { color: #7290e4; }
html[data-theme="dark"] [class*="pg-guides-accessibility"] .steps-list .step-num, html[data-theme="dark"] [class*="pg-solutions-accessibility"] .steps-list .step-num { background: var(--dm-maroon-strong); }
html[data-theme="dark"] [class*="pg-services-da"] .gs-num, html[data-theme="dark"] [class*="pg-guides-accessibility"] .gs-num, html[data-theme="dark"] [class*="pg-solutions-accessibility"] .gs-num { background: var(--dm-maroon-strong); }
html[data-theme="dark"] [class*="pg-solutions-accessibility"] .solution-cta, html[data-theme="dark"] [class*="pg-services-da"] .solution-cta { background: linear-gradient(135deg, var(--cmc-surface-alt), #242021); }
html[data-theme="dark"] .note-box { background: #413e1d; border: 1px solid #5b5329; }
html[data-theme="dark"] .note-box p { color: #efbb8c; }
html[data-theme="dark"] .note-box a { color: #ffd9ae; }
html[data-theme="dark"] .note-box a:hover { color: #ffe3c2; }
html[data-theme="dark"] ol.use-case-list li::before { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .philosophy-strip .phi-dot { background: #411d1e; }
html[data-theme="dark"] .da-tool-card::before, html[data-theme="dark"] .guide-card-item::before { background: linear-gradient(90deg, var(--dm-maroon-strong), #b3324c); }
html[data-theme="dark"] .rform-input, html[data-theme="dark"] .rform-textarea { background: #242021; }
html[data-theme="dark"] .rform-select { background: #242021; }
html[data-theme="dark"] .rform-radio-card { background: #242021; }
html[data-theme="dark"] .rform-radio-card.rrc-urgent .rrc-title { color: #f08562; }
html[data-theme="dark"] .pg-home-students .hero { background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--dm-maroon-strong) 55%, var(--cmc-accent) 100%); }
html[data-theme="dark"] .pg-home-students .hero-card::before { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-home-students .hero-card.navy::before { background: var(--dm-navy-strong); }
html[data-theme="dark"] .pg-home-students .btn-navy { background: var(--dm-navy-strong); }
html[data-theme="dark"] .pg-home-students .btn-outline:hover { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-home-students .support-card { background: #242021; }
html[data-theme="dark"] .pg-home-students .support-icon.navy { background: #161c2f; }
html[data-theme="dark"] .pg-home-students .contact-section { background: var(--dm-navy-strong); }
html[data-theme="dark"] .pg-home-students .highlight-card { background: #242021; }
html[data-theme="dark"] .pg-home-students .tag-chip.navy { background: #161c2f; }
html[data-theme="dark"] .pg-home-students .guide-card { background: #242021; }
html[data-theme="dark"] .pg-home-students .index-card { background: #242021; }
html[data-theme="dark"] .pg-home-students .card-color.solution { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-home-faculty .hero { background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--dm-maroon-strong) 55%, var(--cmc-accent) 100%); }
html[data-theme="dark"] .pg-home-faculty .hero-card::before { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-home-faculty .hero-card.navy::before { background: var(--dm-navy-strong); }
html[data-theme="dark"] .pg-home-faculty .btn-navy { background: var(--dm-navy-strong); }
html[data-theme="dark"] .pg-home-faculty .btn-outline:hover { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-home-faculty .support-card { background: #242021; }
html[data-theme="dark"] .pg-home-faculty .support-icon.navy { background: #161c2f; }
html[data-theme="dark"] .pg-home-faculty .contact-section { background: var(--dm-navy-strong); }
html[data-theme="dark"] .pg-home-faculty .highlight-card { background: #242021; }
html[data-theme="dark"] .pg-home-faculty .tag-chip.navy { background: #161c2f; }
html[data-theme="dark"] .pg-home-faculty .guide-card { background: #242021; }
html[data-theme="dark"] .pg-home-faculty .index-card { background: #242021; }
html[data-theme="dark"] .pg-home-faculty .card-color.solution { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-home-staff .hero { background: linear-gradient(135deg, var(--cmc-maroon-dark) 0%, var(--dm-maroon-strong) 55%, var(--cmc-accent) 100%); }
html[data-theme="dark"] .pg-home-staff .hero-card::before { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-home-staff .hero-card.navy::before { background: var(--dm-navy-strong); }
html[data-theme="dark"] .pg-home-staff .btn-navy { background: var(--dm-navy-strong); }
html[data-theme="dark"] .pg-home-staff .btn-outline:hover { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-home-staff .support-card { background: #242021; }
html[data-theme="dark"] .pg-home-staff .support-icon.navy { background: #161c2f; }
html[data-theme="dark"] .pg-home-staff .contact-section { background: var(--dm-navy-strong); }
html[data-theme="dark"] .pg-home-staff .highlight-card { background: #242021; }
html[data-theme="dark"] .pg-home-staff .tag-chip.navy { background: #161c2f; }
html[data-theme="dark"] .pg-home-staff .guide-card { background: #242021; }
html[data-theme="dark"] .pg-home-staff .index-card { background: #242021; }
html[data-theme="dark"] .pg-home-staff .card-color.solution { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-home-students-onboarding .index-card { background: #242021; }
html[data-theme="dark"] .pg-home-faculty-onboarding .index-card { background: #242021; }
html[data-theme="dark"] .pg-home-staff-onboarding .index-card { background: #242021; }
html[data-theme="dark"] .site-search-panel { background: #242021; }
html[data-theme="dark"] .pg-services-course-materials-digitizing .timeline-num { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-services-course-materials-digitizing .fs-widget-card { background: #242021; }
html[data-theme="dark"] .pg-services-course-materials-digitizing .fs-widget-header { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-services-computer-labs .timeline-num { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-services-computer-labs .fs-widget-card { background: #242021; }
html[data-theme="dark"] .pg-services-computer-labs .fs-widget-header { background: linear-gradient(135deg, var(--cmc-maroon-dark), var(--dm-maroon-strong)); }
html[data-theme="dark"] .pg-services-computer-labs .index-card { background: #242021; }
html[data-theme="dark"] .pg-home-students .cat-badge.guide, html[data-theme="dark"] .pg-home-faculty .cat-badge.guide, html[data-theme="dark"] .pg-home-staff .cat-badge.guide { background: #152130; color: #6387ee; border: 1px solid #1d2d41; }
html[data-theme="dark"] .pg-home-students .cat-badge.service, html[data-theme="dark"] .pg-home-faculty .cat-badge.service, html[data-theme="dark"] .pg-home-staff .cat-badge.service { background: #15301d; color: #7ceda6; border: 1px solid #1d412a; }
html[data-theme="dark"] .pg-home-students .cat-badge.security, html[data-theme="dark"] .pg-home-faculty .cat-badge.security, html[data-theme="dark"] .pg-home-staff .cat-badge.security { background: #302515; color: #f28a5f; border: 1px solid #41301d; }
html[data-theme="dark"] .pg-about-index .index-card { background: #242021; }
html[data-theme="dark"] .pg-engagement-index .index-card { background: #242021; }
html[data-theme="dark"] .pg-releases-index .index-card { background: #242021; }
html[data-theme="dark"] .pg-releases-index .status-badge-hero.complete { background: #15301d; color: #7ceda6; border: 1px solid #1d412a; }
html[data-theme="dark"] .pg-releases-index .status-badge-hero.inprogress { background: #302415; color: #f28a5f; border: 1px solid #41301d; }
html[data-theme="dark"] .pg-releases-index .status-badge-hero.planning { background: #152130; color: #6387ee; border: 1px solid #1d2d41; }
html[data-theme="dark"] .pg-releases-2024-04 .project-meta { background: #242021; }
html[data-theme="dark"] .pg-releases-2024-04 .timeline-node.done { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-releases-2024-04 .timeline-node.active { background: #242021; }
html[data-theme="dark"] .pg-releases-2024-04 .timeline-node.pending { background: #242021; }
html[data-theme="dark"] .pg-releases-2024-04 .metric-card { background: #242021; }
html[data-theme="dark"] .pg-releases-2024-08 .project-meta { background: #242021; }
html[data-theme="dark"] .pg-releases-2024-08 .timeline-node.done { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-releases-2024-08 .timeline-node.active { background: #242021; }
html[data-theme="dark"] .pg-releases-2024-08 .timeline-node.pending { background: #242021; }
html[data-theme="dark"] .pg-releases-2024-08 .metric-card { background: #242021; }
html[data-theme="dark"] .pg-releases-2024-12 .project-meta { background: #242021; }
html[data-theme="dark"] .pg-releases-2024-12 .timeline-node.done { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-releases-2024-12 .timeline-node.active { background: #242021; }
html[data-theme="dark"] .pg-releases-2024-12 .timeline-node.pending { background: #242021; }
html[data-theme="dark"] .pg-releases-2024-12 .metric-card { background: #242021; }
html[data-theme="dark"] .pg-releases-2025-04 .project-meta { background: #242021; }
html[data-theme="dark"] .pg-releases-2025-04 .timeline-node.done { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-releases-2025-04 .timeline-node.active { background: #242021; }
html[data-theme="dark"] .pg-releases-2025-04 .timeline-node.pending { background: #242021; }
html[data-theme="dark"] .pg-releases-2025-04 .metric-card { background: #242021; }
html[data-theme="dark"] .pg-releases-2025-08 .project-meta { background: #242021; }
html[data-theme="dark"] .pg-releases-2025-08 .timeline-node.done { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-releases-2025-08 .timeline-node.active { background: #242021; }
html[data-theme="dark"] .pg-releases-2025-08 .timeline-node.pending { background: #242021; }
html[data-theme="dark"] .pg-releases-2025-08 .metric-card { background: #242021; }
html[data-theme="dark"] .pg-releases-2025-12 .project-meta { background: #242021; }
html[data-theme="dark"] .pg-releases-2025-12 .timeline-node.done { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-releases-2025-12 .timeline-node.active { background: #242021; }
html[data-theme="dark"] .pg-releases-2025-12 .timeline-node.pending { background: #242021; }
html[data-theme="dark"] .pg-releases-2025-12 .metric-card { background: #242021; }
html[data-theme="dark"] .pg-releases-2026-04 .project-meta { background: #242021; }
html[data-theme="dark"] .pg-releases-2026-04 .timeline-node.done { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-releases-2026-04 .timeline-node.active { background: #242021; }
html[data-theme="dark"] .pg-releases-2026-04 .timeline-node.pending { background: #242021; }
html[data-theme="dark"] .pg-releases-2026-04 .metric-card { background: #242021; }
html[data-theme="dark"] .pg-releases-2026-08 .project-meta { background: #242021; }
html[data-theme="dark"] .pg-releases-2026-08 .timeline-node.done { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-releases-2026-08 .timeline-node.active { background: #242021; }
html[data-theme="dark"] .pg-releases-2026-08 .timeline-node.pending { background: #242021; }
html[data-theme="dark"] .pg-releases-2026-08 .metric-card { background: #242021; }
html[data-theme="dark"] .pg-engagement-roberts-pavilion .project-meta { background: #242021; }
html[data-theme="dark"] .pg-engagement-roberts-pavilion .timeline-node.done { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-engagement-roberts-pavilion .timeline-node.active { background: #242021; }
html[data-theme="dark"] .pg-engagement-roberts-pavilion .timeline-node.pending { background: #242021; }
html[data-theme="dark"] .pg-engagement-roberts-pavilion .metric-card { background: #242021; }
html[data-theme="dark"] .pg-engagement-finance .index-card { background: #242021; }
html[data-theme="dark"] .pg-engagement-hr .index-card { background: #242021; }
html[data-theme="dark"] .pg-engagement-dean-of-the-faculty .index-card { background: #242021; }
html[data-theme="dark"] .pg-engagement-facilities .index-card { background: #242021; }
html[data-theme="dark"] .pg-engagement-facilities .status-badge-hero.complete { background: #15301d; color: #7ceda6; border: 1px solid #1d412a; }
html[data-theme="dark"] .pg-engagement-facilities .status-badge-hero.inprogress { background: #302415; color: #f28a5f; border: 1px solid #41301d; }
html[data-theme="dark"] .pg-engagement-facilities .status-badge-hero.planning { background: #152130; color: #6387ee; border: 1px solid #1d2d41; }
html[data-theme="dark"] .pg-engagement-registrar .index-card { background: #242021; }
html[data-theme="dark"] .pg-engagement-advancement .index-card { background: #242021; }
html[data-theme="dark"] .pg-engagement-international-programs .index-card { background: #242021; }
html[data-theme="dark"] .pg-engagement-athletics .index-card { background: #242021; }
html[data-theme="dark"] .pg-engagement-athletics .status-badge-hero.complete { background: #15301d; color: #7ceda6; border: 1px solid #1d412a; }
html[data-theme="dark"] .pg-engagement-athletics .status-badge-hero.inprogress { background: #302415; color: #f28a5f; border: 1px solid #41301d; }
html[data-theme="dark"] .pg-engagement-athletics .status-badge-hero.planning { background: #152130; color: #6387ee; border: 1px solid #1d2d41; }
html[data-theme="dark"] .pg-engagement-playsight-tennis .project-meta { background: #242021; }
html[data-theme="dark"] .pg-engagement-playsight-tennis .timeline-node.done { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-engagement-playsight-tennis .timeline-node.active { background: #242021; }
html[data-theme="dark"] .pg-engagement-playsight-tennis .timeline-node.pending { background: #242021; }
html[data-theme="dark"] .pg-engagement-playsight-tennis .metric-card { background: #242021; }

/* ═══════════════════════════════════════════════════════════════════════
   Digital Accessibility — Solutions review, August 2026
   ═══════════════════════════════════════════════════════════════════════ */

/* Scope grid: give the emoji a legible container. The 28px maroon circle was
   sized for digits — an emoji rendered in its own colours on maroon has no
   controlled contrast and reads as off-centre. Neutral surface, more room. */
.pg-services-da-index .principle-num {
  width: 44px; height: 44px; border-radius: 12px;
  background: var(--cmc-surface-alt); border: 1px solid var(--cmc-border);
  color: inherit; font-size: 1.35rem; line-height: 1;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-bottom: 14px;
}

/* Quick Reference Downloads on the guides index had no rules for this page's
   body class, so the chips rendered as unstyled stacked text. */
.pg-guides-accessibility-index .tools-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 12px 0 4px;
}
.pg-guides-accessibility-index .tool-chip {
  background: var(--cmc-surface); border: 1px solid var(--cmc-border);
  border-radius: 8px; padding: 12px 14px; font-size: 0.85rem;
  color: var(--cmc-text-secondary); display: flex; align-items: center; gap: 9px;
}
.pg-guides-accessibility-index .tool-chip-link {
  text-decoration: none; color: var(--cmc-text-secondary);
  transition: background 0.16s, border-color 0.16s, transform 0.16s;
}
.pg-guides-accessibility-index .tool-chip-link:hover,
.pg-guides-accessibility-index .tool-chip-link:focus-visible {
  background: var(--cmc-surface-alt); border-color: var(--cmc-maroon);
  color: var(--cmc-maroon); transform: translateY(-1px);
}
.pg-guides-accessibility-index .tool-chip-link:focus-visible {
  outline: 2px solid var(--cmc-maroon); outline-offset: 2px;
}
@media (max-width: 640px) {
  .pg-guides-accessibility-index .tools-grid { grid-template-columns: 1fr; }
}

/* "Coming soon" badge — barrier report form is not wired to intake yet. */
.coming-soon-badge {
  display: inline-block; vertical-align: middle; margin-left: 10px;
  background: var(--cmc-surface-alt); border: 1px solid var(--cmc-border);
  border-radius: 9999px; padding: 3px 12px;
  font-family: 'Montserrat', sans-serif; font-size: 0.68rem; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--cmc-text-muted); white-space: nowrap;
}

/* Disabled submit state + the note that explains why. */
.report-form .rform-submit-btn[disabled] {
  background: var(--cmc-surface-alt); color: var(--cmc-text-muted);
  border: 1px solid var(--cmc-border); cursor: not-allowed; box-shadow: none;
}
.report-form .rform-submit-btn[disabled]:hover {
  background: var(--cmc-surface-alt); transform: none;
}
.rform-unavailable-note {
  font-size: 0.85rem; color: var(--cmc-text-secondary);
  line-height: 1.55; margin: 10px 0 0; max-width: 46ch;
}
.report-form.is-preview .rform-section-label { color: var(--cmc-text-muted); }

/* Freshness stamp on committee remediation progress. */
.progress-meta {
  font-size: 0.82rem; color: var(--cmc-text-muted);
  margin: -4px 0 18px; font-style: italic;
}

html[data-theme="dark"] .pg-services-da-index .principle-num { background: #242021; border-color: rgba(255,255,255,0.14); }
html[data-theme="dark"] .pg-guides-accessibility-index .tool-chip { background: #242021; border-color: rgba(255,255,255,0.14); }
html[data-theme="dark"] .coming-soon-badge { background: #242021; border-color: rgba(255,255,255,0.14); }
html[data-theme="dark"] .report-form .rform-submit-btn[disabled] { background: #242021; border-color: rgba(255,255,255,0.14); }

/* Keyboard focus ring for the rebuilt tabs widget. */
.tabs[data-tabs="accessible"] .tab-btn:focus-visible {
  outline: 2px solid var(--cmc-maroon); outline-offset: 2px; border-radius: 6px 6px 0 0;
}

/* Filled green Email Us button — white text needs a filled background.
   #fff on #1a7a4a measured 5.35:1, passes AA at this size. */
.btn-green { background: var(--green); color: #fff; border: 1px solid var(--green); }
.btn-green:hover, .btn-green:focus { background: #12803b; border-color: #12803b; color: #fff; }
.btn-green:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

/* Photo heroes: keep the photograph, tame it, and add a scrim so hero text clears
   contrast. All five hero variants share the same maroon gradient and the same
   rgba(255,255,255,0.85) hero-sub colour — only the photograph differs — so one
   treatment covers them all. .hero-content is z-index:1, so the scrim paints above
   .hero-bg and below the content.
   Measured worst case (image lifting luminance by the full 16% at the lightest
   gradient stop): h1 6.24:1, hero-sub 5.00:1. Both clear AA. */
.pg-home .hero-bg,
.pg-home-students .hero-bg,
.pg-home-faculty .hero-bg,
.pg-home-staff .hero-bg,
.pg-templates-template-home .hero-bg { opacity: 0.16; }

.pg-home .hero::after,
.pg-home-students .hero::after,
.pg-home-faculty .hero::after,
.pg-home-staff .hero::after,
.pg-templates-template-home .hero::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(135deg, rgba(60,0,15,0.42) 0%, rgba(66,0,16,0.34) 55%, rgba(52,0,12,0.30) 100%);
}

/* ═══════════════════════════════════════════════════════════════════════
   Inline SVG icon set — replaces the former emoji, August 2026
   Every icon is stroke="currentColor", so it takes its container's colour
   and follows the dark theme automatically (--cmc-maroon is theme-aware).
   ═══════════════════════════════════════════════════════════════════════ */
.ico { flex-shrink: 0; }

/* Icons flowing inline with text sit on the baseline. */
h1 .ico, h2 .ico, h3 .ico, h4 .ico, h5 .ico, p .ico, li .ico, strong .ico,
em .ico, a .ico, td .ico, th .ico, button .ico, label .ico, summary .ico,
.pill .ico, .hero-badge .ico, .tool-chip .ico, .nl-value .ico,
.da-tool-link .ico, .comp-badge .ico, .cat-badge .ico, .tag-chip .ico,
.guide-badge .ico, .step-count .ico {
  display: inline-block; vertical-align: -0.14em;
}

/* Icons sitting alone inside a tinted tile take the brand colour and centre. */
.related-link-icon, .da-tool-icon, .check-icon, .action-btn-icon,
.integration-icon, .card-icon, .contact-card-icon, .contact-detail-icon,
.principle-num, .key-prop-icon, .pitfall-icon, .w-icon, .cap-icon,
.warning-banner-icon, .tool-icon, .phi-dot, .timeline-node {
  color: var(--cmc-maroon);
}
.related-link-icon .ico, .da-tool-icon .ico, .check-icon .ico,
.action-btn-icon .ico, .integration-icon .ico, .card-icon .ico,
.contact-card-icon .ico, .contact-detail-icon .ico, .principle-num .ico,
.cap-icon .ico, .warning-banner-icon .ico, .tool-icon .ico {
  display: block; vertical-align: baseline;
}
/* the tiles sized their emoji with font-size; that no longer applies */
.related-link-icon, .check-icon, .action-btn-icon, .integration-icon,
.card-icon, .contact-card-icon, .principle-num { line-height: 0; }

/* Yes / No marks carry meaning (they are role="img" with a Yes/No label), so
   they must also clear the 3:1 non-text contrast floor. The "yes" green already
   measures 5:1 and is inherited unchanged. The former "no" mark inherited
   #cfc6bd at 1.68:1 -- visually almost absent -- so the icon is darkened just
   enough to read while keeping the muted, non-shouting intent of the original.
   --tone-green / --tone-red are only declared in the dark theme, so literal
   values are used here with an explicit dark-theme counterpart. */
td.no .ico, .pill.p-gap .ico { color: #7a6f66; }          /* 4.89:1 on white */
html[data-theme="dark"] td.no .ico,
html[data-theme="dark"] .pill.p-gap .ico { color: #b5a8a0; }

/* ═══════════════════════════════════════════════════════════════════════
   Page-hero scrim — the same treatment as the photo heroes.
   These heroes bake their overlay into a `background: linear-gradient(), url()`
   shorthand whose lightest stop runs as low as 0.74 alpha; over a bright
   photograph that left the 16px hero description at ~3.9:1. One scrim covers
   all 113 of them. Measured after: h1 6.18:1, hero description 4.98:1.
   ═══════════════════════════════════════════════════════════════════════ */
.page-hero { position: relative; }
.page-hero::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(135deg, rgba(60,0,15,0.30) 0%, rgba(56,0,14,0.30) 55%, rgba(52,0,12,0.30) 100%);
}
.page-hero-inner { position: relative; z-index: 1; }

/* ═══════════════════════════════════════════════════════════════════════
   Live system status (assets/status-feed.js)
   The base status rules above are page-scoped (.pg-blog-status …, .pg-home …)
   and hard-code the healthy green. These tone modifiers are deliberately the
   LAST rules in this file: they tie those blocks on specificity and win on
   source order, so one set of colours covers every page that carries a status
   display — present and future.
   ═══════════════════════════════════════════════════════════════════════ */

.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* ── Ticker dots ─────────────────────────────────────────────────────────── */
.status-dot.blue { background:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,0.2); animation:none; }
.status-dot.grey { background:#9ca3af; box-shadow:0 0 0 3px rgba(156,163,175,0.2); animation:none; }
.status-item-muted { color:var(--cmc-text-muted); font-style:italic; }

/* ── Overview banner ─────────────────────────────────────────────────────── */
.status-overview[data-status-tone="degraded"] { background:var(--yellow-bg); border-color:var(--yellow-border); }
.status-overview[data-status-tone="degraded"] .status-indicator { background:var(--yellow); }
.status-overview[data-status-tone="degraded"] h2 { color:var(--yellow); }
.status-overview[data-status-tone="outage"] { background:var(--red-bg); border-color:var(--red-border); }
.status-overview[data-status-tone="outage"] .status-indicator { background:var(--red); }
.status-overview[data-status-tone="outage"] h2 { color:var(--red); }
.status-overview[data-status-tone="maintenance"] { background:var(--blue-bg); border-color:var(--blue-border); }
.status-overview[data-status-tone="maintenance"] .status-indicator { background:var(--blue); }
.status-overview[data-status-tone="maintenance"] h2 { color:var(--blue); }
.status-overview[data-status-tone="unknown"] { background:var(--cmc-surface-alt); border-color:var(--cmc-border); }
.status-overview[data-status-tone="unknown"] .status-indicator { background:#6b7280; }
.status-overview[data-status-tone="unknown"] h2 { color:var(--cmc-text); }
.status-overview .status-indicator { color:#fff; }
.status-overview .status-indicator .ico { width:22px; height:22px; }

.status-meta { font-size:0.76rem; color:var(--cmc-text-muted); margin-top:8px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.status-stale { color:var(--red); font-weight:600; }
.status-refresh { font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700; color:var(--cmc-maroon); background:transparent; border:1px solid var(--cmc-border); border-radius:9999px; padding:4px 12px; cursor:pointer; transition:background 0.18s, border-color 0.18s; }
.status-refresh:hover { background:var(--cmc-surface-alt); border-color:var(--cmc-maroon); }
.status-refresh[disabled] { opacity:0.55; cursor:progress; }

/* ── Service rows ────────────────────────────────────────────────────────── */
.service-row[data-status-tone="degraded"] .service-status { color:var(--yellow); }
.service-row[data-status-tone="degraded"] .service-status::before { background:var(--yellow); }
.service-row[data-status-tone="outage"] .service-status { color:var(--red); }
.service-row[data-status-tone="outage"] .service-status::before { background:var(--red); }
.service-row[data-status-tone="maintenance"] .service-status { color:var(--blue); }
.service-row[data-status-tone="maintenance"] .service-status::before { background:var(--blue); }
.service-row[data-status-tone="unknown"] .service-status { color:var(--cmc-text-muted); }
.service-row[data-status-tone="unknown"] .service-status::before { background:var(--cmc-text-muted); }
.service-row[data-status-tone="degraded"] { border-color:var(--yellow-border); }
.service-row[data-status-tone="outage"] { border-color:var(--red-border); }
.service-row-message { display:block; grid-column:1 / -1; color:var(--cmc-text-muted); font-size:0.85rem; font-style:italic; }

/* ═══════════════════════════════════════════════════════════════════════
   Hours badge tones (driven by assets/site.js)
   open = green, closed/neutral = the muted default, appointment = blue.
   Like the status block above, these sit last so they beat the page-scoped
   .pg-about-contact rules on source order. Light-mode green is darkened from
   --green (#16a34a) to #15803d: the token gives 3.15:1 on --green-bg, below
   the 4.5:1 this 0.78rem label needs; #15803d measures 4.79:1. The dark-theme
   green (#4ec87e on #12241a) already clears it at 7.65:1, so it stays.
   ═══════════════════════════════════════════════════════════════════════ */
.hours-badge[data-tone="open"] { background:var(--green-bg); border-color:var(--green-border); color:#15803d; }
.hours-badge[data-tone="open"] .hours-dot { background:#15803d; }
html[data-theme="dark"] .hours-badge[data-tone="open"] { color:var(--green); }
html[data-theme="dark"] .hours-badge[data-tone="open"] .hours-dot { background:var(--green); }

.hours-badge[data-tone="appointment"] { background:var(--blue-bg); border-color:var(--blue-border); color:var(--blue); }
.hours-badge[data-tone="appointment"] .hours-dot { background:var(--blue); }

.hours-badge[data-tone="closed"] .hours-dot,
.hours-badge[data-tone="neutral"] .hours-dot { background:var(--cmc-text-muted); }

/* ── pg-releases-2026-12 ──────────────────────────────────────────── */
.pg-releases-2026-12 .page-hero { background: linear-gradient(135deg, rgba(76,0,15,0.88) 0%, rgba(116,0,28,0.80) 55%, rgba(172,48,64,0.74) 100%), url('i/pg-blog-status.jpg'); background-size: cover, cover; background-position: center, center; padding:52px 0; position:relative; overflow:hidden; }
.pg-releases-2026-12 .page-hero::after { content:''; position:absolute; right:-80px; top:-80px; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.04); pointer-events:none; }
.pg-releases-2026-12 .page-hero-inner { max-width:1280px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }
.pg-releases-2026-12 .hero-title-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.pg-releases-2026-12 .page-hero h1 { font-size:clamp(1.7rem,3.5vw,2.8rem); font-weight:800; color:#fff; line-height:1.15; text-shadow:0 2px 10px rgba(0,0,0,0.2); }
.pg-releases-2026-12 .status-badge-hero { display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:9999px; font-family:'Montserrat',sans-serif; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; white-space:nowrap; }
.pg-releases-2026-12 .status-badge-hero.inprogress { background:rgba(251,191,36,0.2); color:#fbbf24; border:1px solid rgba(251,191,36,0.4); }
.pg-releases-2026-12 .status-badge-hero.complete { background:rgba(34,197,94,0.2); color:#4ade80; border:1px solid rgba(34,197,94,0.4); }
.pg-releases-2026-12 .status-badge-hero.planning { background:rgba(147,197,253,0.2); color:#93c5fd; border:1px solid rgba(147,197,253,0.3); }
.pg-releases-2026-12 .hero-partner { font-size:0.88rem; color:rgba(255,255,255,0.7); margin-top:8px; }
.pg-releases-2026-12 .hero-partner strong { color:rgba(255,255,255,0.95); }
.pg-releases-2026-12 .project-meta { background:#fff; border-bottom:1px solid var(--cmc-border); box-shadow:var(--shadow-sm); }
.pg-releases-2026-12 .project-meta-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(4,1fr); }
.pg-releases-2026-12 .meta-item { padding:18px 20px; border-right:1px solid var(--cmc-border); }
.pg-releases-2026-12 .meta-item:last-child { border-right:none; }
.pg-releases-2026-12 .meta-label { font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--cmc-text-muted); margin-bottom:4px; }
.pg-releases-2026-12 .meta-value { font-family:'Montserrat',sans-serif; font-size:0.92rem; font-weight:700; color:var(--cmc-text); }
.pg-releases-2026-12 .timeline-section { padding:56px 0; }
.pg-releases-2026-12 .section-title { font-size:1.4rem; font-weight:800; margin-bottom:32px; }
.pg-releases-2026-12 .timeline-track { position:relative; padding:8px 0; }
.pg-releases-2026-12 .timeline-track::before { content:''; position:absolute; top:28px; left:28px; right:28px; height:3px; background:var(--cmc-border); z-index:0; }
.pg-releases-2026-12 .timeline-steps { display:flex; justify-content:space-between; position:relative; z-index:1; gap:8px; }
.pg-releases-2026-12 .timeline-step { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.pg-releases-2026-12 .timeline-node { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; font-size:1.1rem; border:3px solid; transition:transform 0.2s; }
.pg-releases-2026-12 .timeline-node:hover { transform:scale(1.08); }
.pg-releases-2026-12 .timeline-node.done { background:var(--cmc-maroon); border-color:var(--cmc-maroon); color:#fff; }
.pg-releases-2026-12 .timeline-node.active { background:#fff; border-color:var(--cmc-maroon); color:var(--cmc-maroon); box-shadow:0 0 0 4px rgba(116,0,28,0.15); }
.pg-releases-2026-12 .timeline-node.pending { background:#fff; border-color:var(--cmc-border); color:var(--cmc-text-muted); }
.pg-releases-2026-12 .timeline-phase { font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:700; color:var(--cmc-text); margin-bottom:3px; }
.pg-releases-2026-12 .timeline-date { font-size:0.73rem; color:var(--cmc-text-muted); }
.pg-releases-2026-12 .impact-section { background:var(--cmc-surface-alt); padding:56px 0; }
.pg-releases-2026-12 .impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:8px; }
.pg-releases-2026-12 .impact-text p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2026-12 .metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pg-releases-2026-12 .metric-card { background:#fff; border-radius:12px; padding:20px; text-align:center; box-shadow:var(--shadow-sm); border:1px solid var(--cmc-border); }
.pg-releases-2026-12 .metric-value { font-family:'Montserrat',sans-serif; font-size:2rem; font-weight:800; color:var(--cmc-maroon); line-height:1; margin-bottom:6px; }
.pg-releases-2026-12 .metric-label { font-size:0.8rem; color:var(--cmc-text-muted); line-height:1.4; }
.pg-releases-2026-12 .content-section { padding:56px 0; }
.pg-releases-2026-12 .content-section:nth-child(even) { background:var(--cmc-surface); }
.pg-releases-2026-12 .content-body { max-width:760px; }
.pg-releases-2026-12 .content-body h2 { font-size:1.25rem; font-weight:800; border-left:4px solid var(--cmc-maroon); padding-left:14px; margin-bottom:16px; }
.pg-releases-2026-12 .content-body p { font-size:0.93rem; color:var(--cmc-text-secondary); line-height:1.75; margin-bottom:14px; }
.pg-releases-2026-12 .content-body ul { list-style:none; padding:0; margin-bottom:14px; }
.pg-releases-2026-12 .content-body ul li { padding:7px 0 7px 24px; position:relative; font-size:0.92rem; color:var(--cmc-text-secondary); border-bottom:1px solid var(--cmc-surface); }
.pg-releases-2026-12 .content-body ul li::before { content:'›'; position:absolute; left:0; color:var(--cmc-maroon); font-weight:700; }
.pg-releases-2026-12 .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.pg-releases-2026-12 .gallery-placeholder { background:var(--cmc-surface); border:2px dashed var(--cmc-border); border-radius:10px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; color:var(--cmc-text-muted); font-size:0.8rem; font-family:'Montserrat',sans-serif; font-weight:600; letter-spacing:0.05em; }
@media (max-width:900px) { .pg-releases-2026-12 .header-nav { display:none; } .pg-releases-2026-12 .hamburger { display:block; } .pg-releases-2026-12 .project-meta-inner { grid-template-columns:1fr 1fr; } .pg-releases-2026-12 .meta-item:nth-child(2) { border-right:none; } .pg-releases-2026-12 .timeline-steps { flex-wrap:wrap; } .pg-releases-2026-12 .timeline-track::before { display:none; } .pg-releases-2026-12 .impact-grid { grid-template-columns:1fr; } .pg-releases-2026-12 .gallery-grid { grid-template-columns:1fr 1fr; } .pg-releases-2026-12 .footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:540px) { .pg-releases-2026-12 .metrics-grid { grid-template-columns:1fr 1fr; } .pg-releases-2026-12 .gallery-grid { grid-template-columns:1fr; } .pg-releases-2026-12 .footer-grid { grid-template-columns:1fr; } .pg-releases-2026-12 .project-meta-inner { grid-template-columns:1fr; } .pg-releases-2026-12 .meta-item { border-right:none; border-bottom:1px solid var(--cmc-border); } }
html[data-theme="dark"] .pg-releases-2026-12 .project-meta { background: #242021; }
html[data-theme="dark"] .pg-releases-2026-12 .timeline-node.done { background: var(--dm-maroon-strong); }
html[data-theme="dark"] .pg-releases-2026-12 .timeline-node.active { background: #242021; }
html[data-theme="dark"] .pg-releases-2026-12 .timeline-node.pending { background: #242021; }
html[data-theme="dark"] .pg-releases-2026-12 .metric-card { background: #242021; }

/* ═══════════════════════════════════════════════════════════════════════
   BETA PREVIEW BANNER — sitewide
   Sits above .site-header on every page. Warning-yellow, deliberately
   outside the maroon palette so it reads as a notice, not as chrome.
   Not page-scoped: one rule, every page. Placed last so nothing in a
   .pg-<name> block can quietly restyle it.
   Contrast: #4a3b00 on #fff3cd = 9.0:1; chip #fff on #92400e = 7.6:1;
   dark theme #f3dda0 on #2f2609 = 10.4:1. All clear AA at this size.
   Height is deliberately ~37px and the copy is one line: .site-header is
   sticky, so this offset is only paid at scroll 0. Keep the text short
   enough to hold one line down to ~1000px or the bar doubles in height.
   ═══════════════════════════════════════════════════════════════════════ */
.beta-banner { background:#fff3cd; color:#4a3b00; border-bottom:3px solid #d97706; }
.beta-banner-inner { max-width:1280px; margin:0 auto; padding:7px 24px; display:flex; align-items:center; gap:10px; }
.beta-banner-icon { width:17px; height:17px; flex-shrink:0; color:#a35a06; }
.beta-banner-tag { flex-shrink:0; background:#92400e; color:#fff; font-family:'Montserrat',sans-serif; font-size:0.64rem; font-weight:700; line-height:1.15; text-transform:uppercase; letter-spacing:0.09em; padding:4px 9px; border-radius:9999px; white-space:nowrap; }
.beta-banner-text { font-family:'Open Sans',sans-serif; font-size:0.82rem; line-height:1.5; color:#4a3b00; }
.beta-banner-text strong { font-weight:700; }
.beta-banner a { color:#7a3d00; text-decoration:underline; }

html[data-theme="dark"] .beta-banner { background:#2f2609; color:#f3dda0; border-bottom-color:#b45309; }
html[data-theme="dark"] .beta-banner-icon { color:#e8b25c; }
html[data-theme="dark"] .beta-banner-tag { background:#f0c463; color:#2a2004; }
html[data-theme="dark"] .beta-banner-text { color:#f3dda0; }
html[data-theme="dark"] .beta-banner a { color:#f0c463; }

@media (max-width:640px) {
  .beta-banner-inner { align-items:flex-start; flex-wrap:wrap; gap:8px 10px; padding:10px 16px; }
  .beta-banner-text { flex-basis:100%; font-size:0.78rem; }
}
