:root {
    --ink: #0a0a0a;
    --ink-2: #1a1a1a;
    --charcoal: #1e2028;
    --charcoal-2: #2a2d36;
    --navy: #0f2645;
    --navy-2: #14315b;
    --navy-deep: #06172e;
    --blue: #1e6c99;
    --blue-2: #2681b8;
    --gold: #c9a35c;
    --cream: #f5f1e8;
    --off-white: #f8f7f3;
    --slate: #3a4657;
    --slate-2: #4a5768;
    --panel-blue: #435264;
    --panel-warm: #6b6353;
    --text: #1a2332;
    --text-2: #4a5468;
    --text-muted: #6d7685;  /* 2026-09-15 contrast pass - see theme.css */
    --line: #e6e2d8;
  }
  * { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }
  body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    color: var(--text);
    line-height: 1.6;
    font-size: 16px;
    background: #fff;
  }
  h1, h2, h3, h4 { font-family: 'Playfair Display', Georgia, serif; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); }
  a { color: inherit; text-decoration: none; }
  img { max-width: 100%; display: block; }
  .container { max-width: 1360px; margin: 0 auto; padding: 0 40px; }

  /* ============ PILL BUTTONS ============ */
  .pill-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 32px;
    border-radius: 999px;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 15px;
    transition: all 0.2s;
    cursor: pointer;
    border: none;
    text-align: center;
    letter-spacing: 0.01em;
  }
  .pill-btn.dark { background: var(--navy-deep); color: #fff; }
  .pill-btn.dark:hover { background: var(--navy); }
  .pill-btn.blue { background: var(--blue); color: #fff; }
  .pill-btn.blue:hover { background: var(--blue-2); }
  .pill-btn.outline-white {
    background: transparent;
    color: #fff;
    border: 1.5px solid rgba(255,255,255,0.75);
  }
  .pill-btn.outline-white:hover { background: rgba(255,255,255,0.1); border-color: #fff; }
  .pill-btn.outline-dark {
    background: transparent;
    color: var(--ink);
    border: 1.5px solid var(--ink);
  }
  .pill-btn.outline-dark:hover { background: var(--ink); color: #fff; }
  .pill-btn.sm { padding: 12px 22px; font-size: 14px; }

  

  /* ============ FLOATING PILL NAV ============ */
  .nav-wrap {
    position: relative;
    z-index: 50;
  }
  .nav-pill {
    background: #fff;
    border-radius: 20px;
    padding: 14px 22px 14px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 12px 40px rgba(0,0,0,0.25);
    max-width: 1360px;
    margin: 24px 40px 0;
  }
  .nav-pill .logo img { height: 56px; width: auto; }
  .nav-links { display: flex; align-items: center; gap: 8px; }
  .nav-links a {
    padding: 10px 18px;
    color: var(--ink);
    font-weight: 500;
    font-size: 15px;
    border-radius: 999px;
    transition: all 0.15s;
  }
  .nav-links a:hover { background: var(--off-white); }
  .nav-links .drop-cue { font-size: 15px; margin-left: 5px; opacity: 0.9; font-weight: 700; line-height: 1; }

  /* ============ HERO ============ */
  .hero {
    position: relative;
    margin-top: -110px;  /* pulls hero under the floating pill nav; the util-bar's z-index:60 stops the bleed at the top */
    height: 780px;
    background: url('../img/hero/mythic-enterprises-insurance-partnerships.webp') center/cover;
    background-color: #0a0a0a;
    overflow: hidden;
  }
  .hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.55) 100%);
    filter: grayscale(0.75);
  }
  .hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 0%, transparent 60%, rgba(0,0,0,0.35) 100%);
  }
  .hero-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 130px 40px 40px;
    color: #fff;
  }
  .hero-eyebrow {
    font-size: 15px;
    font-weight: 500;
    color: rgba(255,255,255,0.95);
    margin-bottom: 24px;
    letter-spacing: 0.02em;
  }
  .hero h1 {
    font-family: 'Playfair Display', serif;
    color: #fff;
    font-size: 82px;
    line-height: 1.05;
    max-width: 1100px;
    margin-bottom: 60px;
    font-weight: 600;
  }
  .hero-sub {
    font-size: 20px;
    color: rgba(255,255,255,0.92);
    margin-bottom: 40px;
    font-weight: 400;
  }
  .hero-ctas {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
  }
  .hero-ctas .sep { color: rgba(255,255,255,0.7); font-size: 13px; font-weight: 600; letter-spacing: 0.06em; }

  /* ============ WHO WE SERVE ============ */
  .serve {
    background: var(--charcoal);
    padding: 110px 0 130px;
    position: relative;
    color: #fff;
  }
  .serve h2 {
    font-family: 'Playfair Display', serif;
    color: #fff;
    text-align: center;
    font-size: 62px;
    line-height: 1.05;
    margin-bottom: 60px;
    font-weight: 600;
  }
  .serve-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .serve-card {
    background: var(--charcoal-2);
    border-radius: 24px;
    padding: 32px 36px;
    display: flex;
    flex-direction: column;
  }
  .serve-card-head {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
  }
  .serve-card-head .ic {
    width: 52px; height: 52px;
    background: #fff;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--blue);
    font-size: 22px;
    flex: none;
  }
  .serve-card-head h3 {
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: -0.005em;
  }
  .serve-image-collage {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
    border-radius: 16px;
    overflow: hidden;
    flex: 1;                    /* fill remaining card height so both serve-cards line up on the bottom */
    min-height: 320px;          /* but never collapse below a legible photo strip */
  }
  .serve-image-collage div { background-size: cover; background-position: center; }
  .serve-image-collage div:nth-child(1) { background-image: url('../img/hero/about-couple.jpg'); }
  .serve-image-collage div:nth-child(2) { background-image: url('../img/service/family-embrace.jpg'); }

  .sub-card-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: auto;
  }
  .sub-card {
    background: var(--panel-blue);
    border-radius: 16px;
    padding: 20px 22px;
    color: rgba(255,255,255,0.9);
    font-size: 14px;
    line-height: 1.55;
  }
  .sub-card.wide { grid-column: 1 / -1; background: var(--panel-warm); }
  .sub-card .sc-ic {
    width: 32px; height: 32px;
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,0.85);
    font-size: 18px;
    margin-bottom: 10px;
  }
  .sub-card h4 {
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 12px;
    letter-spacing: -0.005em;
  }

  /* ============ WAVE DIVIDER ============ */
  .wave-divider {
    background: var(--charcoal);
    position: relative;
    height: 90px;
    overflow: hidden;
  }
  .wave-divider svg {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
  }

  /* ============ CARRIERS ============ */
  .carriers {
    background: #f7f6f2;
    padding: 60px 0 100px;
    text-align: center;
  }
  .carriers h2 {
    font-family: 'Playfair Display', serif;
    font-size: 52px;
    margin-bottom: 14px;
    font-weight: 600;
  }
  .carriers p.lede {
    font-size: 17px;
    color: var(--text-2);
    margin-bottom: 60px;
  }
  .carriers-row {
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 40px;
    filter: grayscale(1) contrast(1.1);
    opacity: 0.85;
  }
  .carrier-slot {
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ink);
    font-family: 'Playfair Display', serif;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -0.02em;
    padding: 0 8px;
  }
  .carrier-slot.small { font-size: 20px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.02em; font-family: 'Inter', sans-serif; }

  /* ============ BLOG ============ */
  .blog-section {
    background: #fff;
    padding: 100px 0 130px;
  }
  .blog-grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 80px;
    align-items: start;
  }
  .blog-left h2 {
    font-family: 'Playfair Display', serif;
    font-size: 88px;
    line-height: 1;
    margin-bottom: 40px;
    font-weight: 500;
  }
  .blog-cards { display: flex; flex-direction: column; gap: 32px; }
  .blog-card {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 28px;
    align-items: start;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--line);
  }
  .blog-card:last-child { border-bottom: none; }
  .blog-thumb {
    height: 180px;
    background-size: cover;
    background-position: center;
    border-radius: 12px;
  }
  .blog-thumb.b1 { background-image: url('../img/service/business-handshake.jpg'); }
  .blog-thumb.b2 { background-image: url('../img/hero/auto-road.jpg'); }
  .blog-thumb.b3 { background-image: url('../img/service/home-umbrella.jpg'); }
  .blog-info h3 {
    font-family: 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 10px;
    letter-spacing: -0.01em;
    color: var(--ink);
  }
  .blog-info p {
    color: var(--text-2);
    font-size: 15px;
    line-height: 1.55;
    margin-bottom: 14px;
  }
  .blog-info .tag {
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 500;
  }

  /* ============ CTA + FOOTER ============ */
  .cta-footer {
    background: #1a1a1a;
    color: rgba(255,255,255,0.85);
    padding: 100px 0 30px;
  }
  .cta-section {
    text-align: center;
    padding: 40px 0 80px;
    max-width: 780px;
    margin: 0 auto;
  }
  .cta-section h2 {
    font-family: 'Playfair Display', serif;
    color: #fff;
    font-size: 62px;
    line-height: 1.1;
    margin-bottom: 24px;
    font-weight: 600;
  }
  .cta-section p {
    color: rgba(255,255,255,0.85);
    font-size: 18px;
    margin-bottom: 32px;
    line-height: 1.55;
  }
  .footer-panel {
    background: #262a30;
    border-radius: 24px;
    padding: 60px 60px 40px;
    margin: 0 0 30px;
  }
  .footer-cols {
    display: grid;
    grid-template-columns: 1.4fr 1.2fr;   /* was 3 cols; Specialty Lines removed 2026-08-19 */
    gap: 50px;
    margin-bottom: 40px;
  }
  .footer-panel h5 {
    color: #fff;
    font-family: 'Playfair Display', serif;
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 24px;
  }
  .footer-panel ul { list-style: none; }
  .footer-panel ul li { margin-bottom: 12px; }
  .footer-panel a { color: rgba(255,255,255,0.75); font-size: 14.5px; text-decoration: none; }
  .footer-panel a:hover { color: #fff; text-decoration: underline; }
  .footer-panel .desc {
    color: rgba(255,255,255,0.65);
    font-size: 14px;
    line-height: 1.6;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,0.1);
  }
  .footer-bottom {
    display: grid;
    grid-template-columns: 220px 1fr auto;   /* brand | text | social */
    gap: 40px;
    align-items: center;                       /* vertically center the social icon against the text block */
    padding: 20px 60px 0;
  }
  .footer-bottom .brand-mark {
    display: flex;
    align-items: center;
  }
  .footer-bottom-text { min-width: 0; }         /* let the disclaimer wrap inside the middle column */
  .footer-bottom-social {
    display: flex;
    justify-content: flex-end;                  /* pin to the right edge of the footer */
    align-items: center;
  }
  .footer-bottom .brand-mark img {
    height: 50px;
    filter: brightness(0) invert(1);
    opacity: 0.9;
  }
  .footer-bottom .legal-links {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    margin-bottom: 16px;
  }
  .footer-bottom .legal-links a { color: rgba(255,255,255,0.85); font-size: 14px; text-decoration: none; }
  .footer-bottom .legal-links a:hover { text-decoration: underline; }
  .footer-bottom .legal-links .divider { color: rgba(255,255,255,0.35); }
  .footer-bottom .disclaimer {
    color: rgba(255,255,255,0.55);
    font-size: 12.5px;
    line-height: 1.55;
    margin-bottom: 10px;
  }
  .footer-bottom .copy {
    color: rgba(255,255,255,0.6);
    font-size: 13px;
    margin-top: 14px;
  }
  .footer-bottom .copy a { color: rgba(255,255,255,0.75); text-decoration: none; }
  .footer-bottom .copy a:hover { text-decoration: underline; }

  /* ============ RESPONSIVE ============ */
  @media (max-width: 1100px) {
    .hero h1 { font-size: 60px; }
    .blog-grid { grid-template-columns: 1fr; gap: 40px; }
    .blog-left h2 { font-size: 60px; }
    .serve-grid { grid-template-columns: 1fr; }
    .footer-cols { grid-template-columns: 1fr; gap: 30px; }
    .cta-section h2 { font-size: 40px; }
    .serve h2 { font-size: 40px; }
  }
  @media (max-width: 720px) {
    .container { padding: 0 20px; }
    .nav-pill { margin: 16px 16px 0; padding: 12px 16px 12px 20px; }
    .nav-links { display: none; }
    /* util-bar padding is normalized in the consolidated block below */
    .hero { height: 620px; margin-top: -70px; }
    .hero h1 { font-size: 40px; }
    .carriers h2 { font-size: 36px; }
    .carriers-row { gap: 24px; }
    .footer-panel { padding: 30px 24px; }
    .footer-bottom { padding: 20px 24px 0; grid-template-columns: 1fr; }
    .blog-card { grid-template-columns: 1fr; }
    .blog-thumb { height: 200px; }
  }

/* --- interior page styles (from service template) --- */
:root {
    --ink:#0a0a0a; --ink-2:#1a1a1a; --charcoal:#1e2028; --charcoal-2:#2a2d36;
    --navy:#0f2645; --navy-2:#14315b; --navy-deep:#06172e;
    --blue:#1e6c99; --blue-2:#2681b8; --gold:#c9a35c;
    --cream:#f5f1e8; --off-white:#f8f7f3;
    --slate:#3a4657; --panel-blue:#435264; --panel-warm:#6b6353;
    --text:#1a2332; --text-2:#4a5468; --text-muted:#7a8595; --line:#e6e2d8;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text);line-height:1.6;font-size:16px;background:#fff;}
  h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;font-weight:600;letter-spacing:-0.01em;color:var(--ink);}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .container{max-width:1360px;margin:0 auto;padding:0 40px;}
  .container-narrow{max-width:1120px;margin:0 auto;padding:0 40px;}

  .pill-btn{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;border-radius:999px;font-family:'Inter',sans-serif;font-weight:500;font-size:15px;transition:all .2s;cursor:pointer;border:none;text-align:center;letter-spacing:.01em;}
  .pill-btn.dark{background:var(--navy-deep);color:#fff;}
  .pill-btn.dark:hover{background:var(--navy);}
  .pill-btn.blue{background:var(--blue);color:#fff;}
  .pill-btn.blue:hover{background:var(--blue-2);}
  .pill-btn.outline-white{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.75);}
  .pill-btn.outline-white:hover{background:rgba(255,255,255,.1);border-color:#fff;}
  .pill-btn.outline-dark{background:transparent;color:var(--ink);border:1.5px solid var(--ink);}
  .pill-btn.outline-dark:hover{background:var(--ink);color:#fff;}
  .pill-btn.sm{padding:12px 22px;font-size:14px;}

  .util-bar{background:#000;color:rgba(255,255,255,.9);padding:12px 40px;text-align:right;font-size:13.5px;}
  .util-bar span{display:inline-flex;align-items:center;gap:8px;}
  .util-bar .key-ic{color:var(--gold);}
  .util-bar a{color:rgba(255,255,255,.9);}
  .util-bar a:hover{color:var(--gold);}
  .util-bar .divider{margin:0 16px;opacity:.35;}

  .nav-wrap{position:relative;z-index:50;}
  .nav-pill{background:#fff;border-radius:20px;padding:14px 22px 14px 32px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 12px 40px rgba(0,0,0,.25);max-width:1360px;margin:24px auto 0;width:calc(100% - 80px);}
  .nav-pill .logo img{height:56px;width:auto;}
  .nav-links{display:flex;align-items:center;gap:8px;}
  .nav-links a{padding:10px 18px;color:var(--ink);font-weight:500;font-size:15px;border-radius:999px;transition:all .15s;}
  .nav-links a:hover{background:var(--off-white);}
  .nav-links .drop-cue{font-size:11px;margin-left:4px;opacity:.7;}

  /* interior hero */
  .page-hero{position:relative;height:540px;background:#0a0a0a center/cover no-repeat;overflow:hidden;margin-top:-110px;}
  .page-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.36) 50%,rgba(0,0,0,.57) 100%);filter:grayscale(.7);}
  .page-hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:170px 40px 60px;color:#fff;}
  .page-hero .breadcrumb{font-size:13.5px;color:rgba(255,255,255,.85);letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px;}
  .page-hero .breadcrumb a{color:rgba(255,255,255,.7);}
  .page-hero .breadcrumb a:hover{color:#fff;}
  .page-hero h1{font-family:'Playfair Display',serif;color:#fff;font-size:64px;line-height:1.05;max-width:900px;font-weight:600;margin-bottom:18px;}
  .page-hero .lede{font-size:18px;color:rgba(255,255,255,.92);max-width:620px;font-weight:400;line-height:1.5;text-wrap:balance;}

  /* content sections */
  .section{padding:100px 0;}
  .section-dark{background:var(--charcoal);color:#fff;padding:100px 0;}
  .section-dark h2,.section-dark h3{color:#fff;}
  .section-cream{background:var(--off-white);padding:100px 0;}
  .section-title{font-family:'Playfair Display',serif;font-size:52px;line-height:1.1;margin-bottom:20px;font-weight:600;}
  .section-title.center{text-align:center;}
  .section-lede{font-size:18px;color:var(--text-2);max-width:780px;margin-bottom:50px;line-height:1.6;}
  .section-lede.center{text-align:center;margin-left:auto;margin-right:auto;}

  /* two-col article body */
  .article-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:80px;align-items:start;}
  .article-body p{font-size:16px;color:var(--text-2);margin-bottom:20px;line-height:1.7;}
  .article-body h2{font-family:'Playfair Display',serif;font-size:34px;margin:36px 0 16px;font-weight:600;}
  .article-body h3{font-family:'Playfair Display',serif;font-size:24px;margin:28px 0 12px;font-weight:600;}
  .article-body ul{list-style:none;margin:16px 0 24px;}
  .article-body ul li{padding:12px 0 12px 32px;border-bottom:1px solid var(--line);color:var(--text-2);position:relative;line-height:1.55;}
  .article-body ul li::before{content:'';position:absolute;left:0;top:20px;width:18px;height:2px;background:var(--blue);}
  .article-body ul li strong{color:var(--ink);display:block;margin-bottom:2px;font-weight:600;}
  /* .article-body a.link rules removed 2026-08-19. The old rule painted a permanent border-bottom underline in the default state, and stacked with the newer .article-body a:hover text-decoration:underline. The site-wide in-content link rule (`.article-body a`) now handles the whole treatment: blue, no underline default, underline on hover. */

  /* sidebar */
  .sidebar{position:sticky;top:32px;display:flex;flex-direction:column;gap:20px;}
  .side-card{background:var(--cream);border-radius:20px;padding:28px 26px;}
  .side-card h4{font-family:'Playfair Display',serif;font-size:22px;margin-bottom:14px;font-weight:600;}
  .side-card p{font-size:14.5px;color:var(--text-2);margin-bottom:16px;line-height:1.55;}
  .side-card .call{background:var(--navy-deep);color:#fff;border-radius:14px;padding:18px 20px;margin-bottom:14px;text-align:center;}
  .side-card .call .lbl{font-size:12px;text-transform:uppercase;letter-spacing:.1em;opacity:.7;margin-bottom:4px;}
  .side-card .call a{color:#fff;font-family:'Playfair Display',serif;font-size:26px;font-weight:600;letter-spacing:-.01em;}
  .side-nav{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 26px;}
  .side-nav h4{font-family:'Inter',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:14px;font-weight:700;}
  .side-nav ul{list-style:none;}
  .side-nav ul li a{display:block;padding:10px 0;color:var(--text);font-size:14.5px;border-bottom:1px solid var(--line);transition:all .15s;}
  .side-nav ul li:last-child a{border-bottom:none;}
  .side-nav ul li a:hover{color:var(--blue);padding-left:6px;}
  .side-nav ul li a.active{color:var(--blue);font-weight:600;}

  /* coverage cards grid */
  .cov-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:30px;}
  /* Card is a 2-col grid: icon in col 1 (spans both rows), title + paragraph in col 2.
     Result: icon sits to the LEFT of the title, description flows under the title. */
  .cov-card{background:var(--charcoal-2);border-radius:20px;padding:28px 26px;color:rgba(255,255,255,.9);
    display:grid;grid-template-columns:auto 1fr;column-gap:18px;row-gap:10px;align-items:start;}
  .cov-card .ic{grid-column:1;grid-row:1 / span 2;align-self:start;
    width:64px;height:64px;background:var(--panel-blue);border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:30px;margin:0;}
  .cov-card h4{grid-column:2;align-self:center;color:#fff;font-family:'Inter',sans-serif;font-size:20px;font-weight:600;margin:0;letter-spacing:-.005em;line-height:1.2;}
  .cov-card p{grid-column:2;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.75);margin:0;}

  /* FAQ */
  .faq-list{margin-top:20px;}
  .faq-item{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:14px;overflow:hidden;}
  .faq-item summary{padding:24px 30px;cursor:pointer;font-weight:600;font-size:21px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;list-style:none;font-family:'Playfair Display',serif;line-height:1.3;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:'+';font-size:32px;color:var(--blue);font-weight:300;font-family:'Inter',sans-serif;line-height:1;}
  .faq-item[open] summary::after{content:'−';}
  .faq-item[open] summary{border-bottom:1px solid var(--line);}
  .faq-item .faq-body{padding:22px 32px 28px;color:var(--text-2);font-size:16px;line-height:1.7;}

  /* team grid */
  .team-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 340px));gap:28px;justify-content:center;max-width:1120px;margin:0 auto;}
  .team-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 20px rgba(10,10,10,.06);}
  .team-photo{height:320px;background:linear-gradient(135deg,var(--slate),var(--navy));display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);font-family:'Playfair Display',serif;font-size:80px;font-weight:600;}
  .team-info{padding:28px 26px;}
  .team-info h3, .team-info h4{font-family:'Playfair Display',serif;font-size:30px;line-height:1.15;margin-bottom:6px;font-weight:600;color:var(--ink);}
  .team-info .role{color:var(--blue);font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:14px;}
  .team-info p{color:var(--text-2);font-size:14.5px;line-height:1.6;}

  /* community */
  .community-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px;}
  .comm-col{background:var(--charcoal-2);border-radius:20px;padding:32px 30px;}
  .comm-col h4{color:#fff;font-family:'Playfair Display',serif;font-size:24px;margin-bottom:20px;font-weight:600;}
  .comm-col ul{list-style:none;}
  .comm-col ul li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.85);font-size:15px;display:flex;justify-content:space-between;gap:14px;}
  .comm-col ul li:last-child{border-bottom:none;}
  .comm-col ul li .role{color:rgba(255,255,255,.5);font-size:13px;}

  /* contact */
  .contact-grid{display:grid;grid-template-columns:2fr 1fr;gap:48px;align-items:start;}
  .contact-info-card{background:var(--cream);border-radius:20px;padding:36px 32px;}
  .contact-info-card h3{font-family:'Playfair Display',serif;font-size:28px;margin-bottom:22px;font-weight:600;}
  .contact-row{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);}
  .contact-row:last-child{border-bottom:none;}
  .contact-row .ic{width:38px;height:38px;background:var(--navy-deep);color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none;font-size:16px;}
  .contact-row .content{flex:1;}
  .contact-row .lbl{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600;margin-bottom:2px;}
  .contact-row .val{font-size:15.5px;color:var(--ink);font-weight:500;line-height:1.5;}
  .contact-row a{color:var(--blue);}
  .contact-row a:hover{color:var(--blue-2);}

  .form-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:40px 40px;}
  .form-card h3{font-family:'Playfair Display',serif;font-size:32px;margin-bottom:8px;font-weight:600;}
  .form-card .form-lede{color:var(--text-2);margin-bottom:28px;font-size:15px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
  .form-row.single{grid-template-columns:1fr;}
  .form-field label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600;margin-bottom:6px;}
  .form-field input,.form-field select,.form-field textarea{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:12px;font-family:'Inter',sans-serif;font-size:15px;color:var(--ink);background:#fff;transition:border-color .15s;}
  .form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--blue);}
  .form-field textarea{resize:vertical;min-height:120px;}
  .form-legal{font-size:12.5px;color:var(--text-muted);margin-top:14px;line-height:1.5;}

  /* CTA + footer (reused from v2) */
  .cta-footer{background:#1a1a1a;color:rgba(255,255,255,.85);padding:100px 0 30px;}
  .cta-section{text-align:center;padding:40px 0 80px;max-width:780px;margin:0 auto;}
  .cta-section h2{font-family:'Playfair Display',serif;color:#fff;font-size:62px;line-height:1.1;margin-bottom:24px;font-weight:600;}
  .cta-section p{color:rgba(255,255,255,.85);font-size:18px;margin-bottom:32px;line-height:1.55;}
  .footer-panel{background:#262a30;border-radius:24px;padding:60px 60px 40px;margin:0 0 30px;}
  .footer-cols{display:grid;grid-template-columns:1.4fr 1.2fr;gap:50px;margin-bottom:40px;}
  .footer-panel h5{color:#fff;font-family:'Playfair Display',serif;font-size:24px;font-weight:500;margin-bottom:24px;}
  .footer-panel ul{list-style:none;}
  .footer-panel ul li{margin-bottom:12px;}
  .footer-panel a{color:rgba(255,255,255,.75);font-size:14.5px;text-decoration:none;}
  .footer-panel a:hover{color:#fff;text-decoration:underline;}
  .footer-panel .desc{color:rgba(255,255,255,.65);font-size:14px;line-height:1.6;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);}
  .footer-bottom{display:grid;grid-template-columns:220px 1fr auto;gap:40px;align-items:center;padding:20px 60px 0;}
  .footer-bottom-text{min-width:0;}
  .footer-bottom-social{display:flex;justify-content:flex-end;align-items:center;}
  .footer-bottom .brand-mark img{height:50px;}
  .footer-bottom .legal-links{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:16px;}
  .footer-bottom .legal-links a{color:rgba(255,255,255,.85);font-size:14px;text-decoration:none;}
  .footer-bottom .legal-links a:hover{text-decoration:underline;}
  .footer-bottom .legal-links .divider{color:rgba(255,255,255,.35);}
  .footer-bottom .disclaimer{color:rgba(255,255,255,.55);font-size:12.5px;line-height:1.55;margin-bottom:10px;}
  .footer-bottom .copy{color:rgba(255,255,255,.6);font-size:13px;margin-top:14px;}
  .footer-bottom .copy a{color:rgba(255,255,255,.75);text-decoration:none;}
  .footer-bottom .copy a:hover{text-decoration:underline;}

  @media (max-width:1000px){
    .article-grid,.contact-grid,.community-grid,.cov-grid,.footer-cols,.team-grid{grid-template-columns:1fr;}
    .team-grid{gap:20px;}
    .page-hero h1{font-size:44px;}
    .section-title,.cta-section h2{font-size:38px;}
    .nav-links{display:none;}
    .container,.container-narrow{padding:0 20px;}
    .nav-pill{margin:16px 16px 0;padding:12px 16px 12px 20px;}
    .footer-panel{padding:30px 24px;}
    .footer-bottom{padding:20px 24px 0;grid-template-columns:1fr;}
    .form-card{padding:28px 24px;}
    .form-row{grid-template-columns:1fr;}
  }
/* ============ NAV DROPDOWNS (added for real site nav) ============ */
.nav-links ul { list-style: none; display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; }
.nav-links li.nav-item { position: relative; }
.nav-links li.nav-item > a {
  display: block;
  padding: 10px 16px;
  color: var(--ink);
  font-weight: 500;
  font-size: 14px;
  border-radius: 999px;
  transition: all 0.15s;
  white-space: nowrap;
  letter-spacing: 0.01em;
}
.nav-links li.nav-item > a:hover { background: var(--off-white); color: var(--navy); }
.nav-links li.nav-item.active > a { color: var(--blue); font-weight: 600; }
.nav-links li.nav-item .drop-cue { font-size: 15px; opacity: 0.9; margin-left: 5px; font-weight: 700; line-height: 1; }

.nav-links li.nav-item .drop {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.15);
  padding: 12px;
  min-width: 240px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: all 0.15s ease-out;
  z-index: 100;
}
.nav-links li.nav-item.has-drop:hover > .drop,
.nav-links li.nav-item .drop:hover {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.nav-links li.nav-item .drop a {
  display: block;
  padding: 9px 14px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 500;
  border-radius: 6px;
  white-space: nowrap;
}
.nav-links li.nav-item .drop a:hover { background: var(--off-white); color: var(--blue); }

/* Wide dropdown (Insurance = 2 columns) */
.nav-links li.nav-item .drop.drop-wide {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 24px;
  min-width: 520px;
  padding: 18px 20px;
}
.nav-links li.nav-item .drop-col { display: flex; flex-direction: column; gap: 2px; }
.nav-links li.nav-item .drop-head {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--gold, #c9a35c);
  font-weight: 700;
  padding: 4px 14px 8px;
  border-bottom: 1px solid var(--line, #e6e2d8);
  margin-bottom: 4px;
}

/* ============ MOBILE NAV (hamburger + slide-down panel) ============ */

/* Hamburger button - hidden on desktop, shown below 1100px */
.hamburger {
  display: none;
  background: transparent;
  border: none;
  padding: 8px 10px;
  cursor: pointer;
  border-radius: 6px;
  margin-left: auto;
  margin-right: 8px;
}
.hamburger:hover { background: var(--off-white, #f8f7f3); }
.hamburger span {
  display: block;
  width: 26px;
  height: 3px;
  background: var(--ink, #0a0a0a);
  border-radius: 2px;
  margin: 4px 0;
  transition: transform 0.2s, opacity 0.2s;
}
.hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 1100px) {
  .hamburger { display: block; }
  .nav-pill .pill-btn.dark.sm { display: none; }  /* Get a Quote pill hides - moved into open menu */

  /* Hide the inline nav */
  .nav-links {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.16);
    padding: 12px;
    z-index: 100;
    max-height: calc(100vh - 180px);
    overflow-y: auto;
  }
  .nav-links.open {
    display: block !important;
    animation: fadeInDown 0.18s ease-out;
  }
  @keyframes fadeInDown {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .nav-links ul {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
  }
  .nav-links li.nav-item { position: static; }
  .nav-links li.nav-item > a {
    padding: 14px 18px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  .nav-links li.nav-item.has-drop > a::after {
    content: '';
  }
  .nav-links li.nav-item .drop-cue { float: right; font-size: 14px; opacity: 0.5; }
  /* Dropdowns become inline expandable sub-lists on mobile */
  .nav-links li.nav-item .drop,
  .nav-links li.nav-item .drop.drop-wide {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    display: block !important;
    box-shadow: none !important;
    background: var(--off-white, #f8f7f3);
    border-radius: 10px;
    padding: 6px 8px 10px;
    margin: 4px 8px 8px;
    min-width: 0 !important;
    grid-template-columns: 1fr !important;
  }
  .nav-links li.nav-item .drop a {
    padding: 10px 14px;
    font-size: 14px;
    text-transform: none;
    letter-spacing: 0;
  }
  .nav-links li.nav-item .drop-head {
    color: var(--gold, #c9a35c);
    font-size: 10.5px;
    padding: 8px 14px 4px;
    border: none;
    margin: 0;
  }
  /* Real Get a Quote link at the bottom of the open menu */
  .nav-links li.mobile-only-cta { margin-top: 8px; padding: 0 8px; list-style: none; }
  .nav-links li.mobile-only-cta a.mobile-quote-btn {
    display: block;
    background: var(--navy-deep, #06172e);
    color: #fff !important;
    text-align: center;
    padding: 14px 18px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 15px;
    text-transform: none;
    letter-spacing: 0.01em;
    text-decoration: none;
  }
  .nav-links li.mobile-only-cta a.mobile-quote-btn:hover {
    background: var(--navy, #0f2645);
    color: #fff !important;
  }
}

/* Hide the mobile-only quote inside nav-links on desktop */
@media (min-width: 1101px) {
  .nav-links li.mobile-only-cta { display: none !important; }
}

/* ============ MOBILE TYPOGRAPHY FIXES ============ */
@media (max-width: 720px) {
  .hero h1 { font-size: 42px !important; }
  .hero-sub { font-size: 16px !important; }
  .serve h2, .cta-section h2, .carriers h2, .blog-left h2, .section-title { font-size: 32px !important; }
  .blog-left h2 { font-size: 42px !important; line-height: 1.05; margin-bottom: 20px; }
  .serve { padding: 60px 0 !important; }
  .section, .section-dark, .section-cream { padding: 60px 0 !important; }
  .cta-footer { padding: 60px 0 30px !important; }
  .page-hero h1 { font-size: 36px !important; }
  /* util-bar mobile behavior is consolidated in the block below */
}
@media (max-width: 400px) {
  .hero h1 { font-size: 32px !important; }
  .blog-left h2, .serve h2, .cta-section h2 { font-size: 28px !important; }
  .page-hero h1 { font-size: 28px !important; }
  .container, .container-narrow { padding: 0 16px !important; }
}

/* ============ MOBILE HEADER SPACING FIX ============ */
/* On mobile the floating pill effect creates an ugly gap between the black
   util bar and the pill. Make the pill flush against the util bar with no
   rounded corners, and remove the hero's negative margin (which was pulling
   it under the floating pill on desktop but caused overlap issues on mobile). */
@media (max-width: 720px) {
  .nav-pill {
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 1px 8px rgba(0,0,0,0.08) !important;
    padding: 10px 14px !important;
  }
  .nav-wrap {
    /* Also strip the floating gap around the pill */
    box-shadow: none;
  }
  .hero {
    margin-top: 0 !important;
    height: auto !important;
    min-height: 520px;
  }
  .hero-content {
    padding: 40px 20px !important;
  }
  .page-hero {
    margin-top: 0 !important;
    height: auto !important;
    min-height: 280px;
  }
  .page-hero-content {
    padding: 40px 20px !important;
  }
  .logo img {
    height: 44px !important;
  }
  /* Tighten the mobile nav open panel positioning (it was calc'd from the floating pill) */
  .nav-links.open {
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    border-radius: 0 !important;
  }
}

/* ============ UTIL BAR - CONSOLIDATED PADDING + LAYOUT ============
   Bookended flex: tagline pinned left, phone pinned right, divider hidden.
   That way it always looks balanced at every viewport width instead of
   playing tricks with text-align.
   Horizontal padding mirrors .container edges: 40px → 20px ≤720 → 16px ≤400. */
.util-bar {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 40px !important;
  font-size: 13.5px !important;
  text-align: left !important;
}
.util-bar span { display: inline-flex !important; align-items: center; gap: 8px; margin: 0 !important; }
.util-bar .divider { display: none !important; }

@media (max-width: 720px) {
  .util-bar { padding: 9px 20px !important; font-size: 12.5px !important; justify-content: center !important; flex-wrap: wrap; column-gap: 14px; row-gap: 2px; text-align: center !important; }
}
@media (max-width: 400px) {
  .util-bar { padding: 8px 16px !important; font-size: 12px !important; }
  .util-bar span { flex-basis: 100%; justify-content: center; }
}

/* ============ IN-CONTENT LINKS ============
   Blog articles, service pages, prose paragraphs - links in body copy should
   be blue and NOT underlined by default (matches the rest of the site's clean
   look), then underline on hover so the affordance is still obvious.
   Deliberately scoped to prose containers so nav/footer/button links are not
   affected - those already have their own dedicated rules. */
.article-body a,
.section .container p a:not(.pill-btn),
.section .container-narrow p a:not(.pill-btn),
.section .container li a:not(.pill-btn),
.section .container-narrow li a:not(.pill-btn),
.section-cream .container p a:not(.pill-btn),
.section-cream .container li a:not(.pill-btn),
.comm-col a:not(.pill-btn) {
  color: var(--blue);
  text-decoration: none;
}
.article-body a:not(.pill-btn):hover,
.section .container p a:not(.pill-btn):hover,
.section .container-narrow p a:not(.pill-btn):hover,
.section .container li a:not(.pill-btn):hover,
.section .container-narrow li a:not(.pill-btn):hover,
.section-cream .container p a:not(.pill-btn):hover,
.section-cream .container li a:not(.pill-btn):hover,
.comm-col a:not(.pill-btn):hover {
  color: var(--blue);
  text-decoration: underline;
}

/* ============ FACEBOOK / SOCIAL ICON ============ */
.footer-bottom .social-ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: rgba(255,255,255,0.9);
  background: rgba(255,255,255,0.08);
  transition: color 0.15s, background 0.15s, transform 0.15s;
  text-decoration: none !important;
}
.footer-bottom .social-ic svg { display: block; }
.footer-bottom .social-ic:hover {
  color: #fff;
  background: rgba(255,255,255,0.18);
  transform: translateY(-1px);
}

/* Privacy Policy link now lives inside the disclaimer paragraph - keep it
   readable against the muted disclaimer text. */
.footer-bottom .disclaimer a {
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.25);
}
.footer-bottom .disclaimer a:hover {
  color: #fff;
  border-bottom-color: #fff;
}

/* Mobile: stack the three columns and re-center the social icon. */
@media (max-width: 720px) {
  .footer-bottom { grid-template-columns: 1fr !important; text-align: center; gap: 20px !important; }
  .footer-bottom .brand-mark { justify-content: center; }
  .footer-bottom-social { justify-content: center; }
}

/* =====================================================================
   RESTORED SECTIONS FROM THE ORIGINAL SITE (2026-08-19)
   Three sections that lived on the original absoluteriskservices.com
   homepage and needed to be re-added to the rebuild.
   ===================================================================== */

/* ---- WHY OUR INDEPENDENT AGENTS ARE SO SUCCESSFUL ---- */
/* Split panel: copy on the left (dark charcoal), full-bleed photo on the right. */
.why-agents {
  background: var(--charcoal, #1e2028);
  color: rgba(255,255,255,0.92);
}
.why-agents-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 480px;
}
.why-agents-copy {
  padding: 90px 60px 90px calc((100vw - 1360px)/2 + 40px);   /* aligns with .container's left edge on wide screens */
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 720px;
  margin-left: auto;
}
.why-agents-copy h2 {
  font-family: 'Playfair Display', Georgia, serif;
  color: #fff;
  font-size: 44px;
  line-height: 1.1;
  font-weight: 600;
  margin-bottom: 24px;
  letter-spacing: -0.01em;
  text-wrap: balance;   /* let browser pick a balanced 2-line wrap so "Agents" doesn\'t orphan */
}
.why-agents-copy p {
  color: rgba(255,255,255,0.82);
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 30px;
}
.why-agents-copy .pill-btn { align-self: flex-start; }
.why-agents-photo {
  background: url('../img/service/auto-dog.jpg') center/cover no-repeat;
  background-color: #0a0a0a;
  min-height: 480px;
}

/* ---- WHY TRUST ABSOLUTE RISK SERVICES ---- */
/* Plain white, centered blue headline + paragraph - same look as the original. */
.why-trust {
  background: #fff;
  padding: 90px 20px;
  text-align: center;
}
.why-trust h2 {
  color: var(--blue);
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  font-size: 44px;
  line-height: 1.15;
  margin-bottom: 28px;
  letter-spacing: -0.005em;
}
.why-trust p {
  color: var(--text-2);
  font-size: 18px;
  line-height: 1.7;
  max-width: 980px;
  margin: 0 auto;
}

/* ---- THREE COVERAGE PILLARS (gold outline icons) ---- */
.pillars {
  background: #fff;
  padding: 80px 0 90px;
}
.pillar-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px;
}
.pillar {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  color: inherit;
  text-decoration: none;
  transition: transform 0.15s;
}
.pillar:hover { transform: translateY(-2px); }
.pillar:hover h3 { color: var(--blue); }
.pillar-ic {
  flex: none;
  width: 68px;
  height: 68px;
  color: var(--gold);      /* strokes inherit currentColor */
}
.pillar-ic svg { width: 100%; height: 100%; }
.pillar-body h3 {
  font-family: 'Inter', sans-serif;
  font-size: 22px;
  font-weight: 500;
  color: var(--ink);
  margin-bottom: 10px;
  letter-spacing: -0.005em;
  transition: color 0.15s;
}
.pillar-body p {
  color: var(--text-2);
  font-size: 15px;
  line-height: 1.55;
  margin: 0;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 1100px) {
  .why-agents-inner { grid-template-columns: 1fr; }
  .why-agents-copy { padding: 60px 40px; margin: 0; max-width: none; }
  .why-agents-photo { min-height: 360px; }
  .why-trust { padding: 70px 20px; }
  .why-trust h2 { font-size: 36px; }
  .pillar-grid { grid-template-columns: 1fr; gap: 36px; }
}
@media (max-width: 720px) {
  .why-agents-copy { padding: 50px 24px; }
  .why-agents-copy h2 { font-size: 34px; }
  .why-agents-photo { min-height: 280px; }
  .why-trust { padding: 60px 20px; }
  .why-trust h2 { font-size: 30px; }
  .why-trust p { font-size: 16px; }
  .pillars { padding: 30px 0 70px; }
  .pillar { gap: 16px; }
  .pillar-ic { width: 56px; height: 56px; }
  .pillar-body h3 { font-size: 20px; }
}

/* ============ 2026-08-20 typography + card additions ============ */
/* Prevent orphan words. HEADINGS get `balance` (browsers balance line
   lengths across the whole heading, killing single-word tails). BODY
   copy gets `pretty` (avoids widow on last line, respects flow). */
.section h1, .section h2, .section h3, .section h4,
.section-cream h1, .section-cream h2, .section-cream h3, .section-cream h4,
.section-dark h1, .section-dark h2, .section-dark h3, .section-dark h4,
.page-hero h1, .page-hero p.lede,
.section-title, .section-lede { text-wrap: balance; }
.section p, .section li, .section-cream p, .section-cream li,
.section-dark p, .section-dark li { text-wrap: pretty; }

/* Wider body wrapper for prose sections */
.prose-wide { max-width: 900px; margin: 0 auto; }

/* Styled "value card" grid - replaces boring bulleted lists */
.value-card-grid {
  display: grid; gap: 24px;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  max-width: 1200px; margin: 32px auto 0;
}
.value-card {
  background: #fff; border: 1px solid var(--line);
  border-radius: 16px; padding: 30px 32px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: 'num head' 'body body';
  column-gap: 16px; row-gap: 10px;
}
.value-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(10,10,10,.08);
  border-color: transparent;
}
.value-card .num {
  grid-area: num; align-self: start;
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; border-radius: 10px;
  background: var(--blue); color: #fff;
  font-family: 'Playfair Display', serif; font-size: 17px; font-weight: 600;
  margin-bottom: 14px;
}
.value-card h4 {
  grid-area: head; align-self: center;
  font-family: 'Playfair Display', serif;
  font-size: 24px; line-height: 1.2; font-weight: 600;
  margin-bottom: 0; color: var(--ink);
}
.value-card p {
  grid-area: body;
  font-size: 15px; line-height: 1.65; color: var(--text-2); margin: 0;
}

/* Styled "check list" - for scannable credential/perk lists */
.check-list {
  list-style: none; padding: 0; margin: 24px auto 0;
  max-width: 780px;
  display: grid; gap: 14px;
}
.check-list li {
  position: relative; padding: 16px 20px 16px 56px;
  background: #fff; border: 1px solid var(--line); border-radius: 12px;
  font-size: 16.5px; line-height: 1.55; color: var(--ink);
}
.check-list li::before {
  content: '';
  position: absolute; left: 18px; top: 50%; transform: translateY(-50%);
  width: 24px; height: 24px; border-radius: 50%;
  background: var(--blue) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center / 14px 14px no-repeat;
}

/* Slim helper for 2-col text blocks (e.g. Established 2010 story) */
.two-col-prose {
  display: grid; grid-template-columns: 1fr 1fr; gap: 44px;
  max-width: 1040px; margin: 24px auto 0;
}
.two-col-prose p { font-size: 17px; line-height: 1.75; color: var(--text-2); }
@media (max-width: 720px) { .two-col-prose { grid-template-columns: 1fr; gap: 20px; } }

/* Team photo initials fallback (used when photo file is missing) */
.team-photo-initials {
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--blue), var(--navy-deep));
  color: #fff; font-family: 'Playfair Display', serif;
  font-size: 64px; font-weight: 600; letter-spacing: .02em;
  min-height: 260px;
}

/* 2026-08-20 tighten carriers copy so the last word does not orphan */
.carriers .lede { max-width: 780px; margin-left: auto; margin-right: auto; text-wrap: balance; }

/* Testimonials 2026-08-20 refresh */
.testimonial-card {
  background: #fff; border-radius: 20px; padding: 66px 30px 32px;
  box-shadow: 0 4px 24px rgba(10,10,10,.06);
  position: relative; transition: transform .18s ease, box-shadow .18s ease;
}
.testimonial-card::before {
  content: '\201C';
  position: absolute; top: 6px; left: 22px;
  font-family: 'Playfair Display', serif; font-size: 88px; line-height: 1;
  color: var(--blue); opacity: .22;
}
.testimonial-card:hover { transform: translateY(-3px); box-shadow: 0 12px 36px rgba(10,10,10,.10); }
.testimonial-card blockquote, .testimonial-card p:first-of-type { margin: 0 0 18px; font-size: 16.5px; line-height: 1.6; color: var(--ink); position: relative; z-index: 1; }
.testimonial-card cite, .testimonial-card p.attr { font-style: normal; font-weight: 600; color: var(--text-muted); font-size: 14px; }

/* 2026-08-20 Coverage cards on the business-insurance page */
.coverage-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 40px rgba(10,10,10,.10);
}
.coverage-card h3 {
  font-family: 'Playfair Display', serif;
  font-size: 24px; margin-bottom: 12px; color: var(--ink);
}
.coverage-card p {
  font-size: 15.5px; line-height: 1.6; color: var(--text-2); margin-bottom: 16px;
}

/* 2026-08-20 Mobile nav polish */
/* Kill the blue focus outline on hamburger tap (keeps it for keyboard users via :focus-visible) */
.hamburger:focus { outline: none; }
.hamburger:focus:not(:focus-visible) { outline: none; box-shadow: none; }
.hamburger:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }

/* Guard :hover states so mobile taps don't "stick" a hover background on nav items */
@media (hover: none) {
  .nav-links li.nav-item > a:hover { background: transparent !important; color: inherit !important; }
  .nav-links li.nav-item .drop a:hover { background: transparent !important; color: var(--ink) !important; }
  .pill-btn:hover { transform: none !important; }
}
/* Explicit tap highlight color kill for iOS/Android */
.nav-links a, .hamburger, .pill-btn { -webkit-tap-highlight-color: transparent; }

/* ============================================================
   2026-08-21  Mobile nav polish -- pill width + active state
   ============================================================
   Fixes:
   1. Nav-pill was "width: calc(100% - 80px)" from the desktop
      rule; mobile overrides only reset margin, so on phones the
      white pill background stopped 80px short of the right edge
      (the visible "hard line"). Reset width on mobile.
   2. Mobile dropdown containers had a beige background which read
      as an "active" highlight, while the real .active parent only
      changed text colour (too subtle to notice). Make the drop
      container quiet, and give .active a real filled treatment.
   3. Belt-and-braces on the hamburger focus ring for touch.
   ============================================================ */

/* --- 1. Nav pill fills the viewport on tablet + phone --- */
@media (max-width: 1100px) {
  .nav-pill { width: auto !important; }
}
@media (max-width: 720px) {
  /* At <=720 the pill goes edge-to-edge (see MOBILE HEADER SPACING FIX).
     Margin becomes 0 there, so width must be a full 100% (not calc-80). */
  .nav-pill { width: 100% !important; }
}

/* --- 2. Mobile active-state + drop container polish --- */
@media (max-width: 1100px) {
  /* Real, unambiguous active treatment for the currently-open section */
  .nav-links li.nav-item.active > a {
    background: var(--navy-deep, #06172e) !important;
    color: #fff !important;
    font-weight: 700 !important;
  }
  .nav-links li.nav-item.active > a .drop-cue { color: #fff !important; opacity: .8 !important; }

  /* Quiet the dropdown container so it doesn't look "highlighted".
     Indent + thin left rule signals "sub-menu" without competing
     with the real .active fill above. */
  .nav-links li.nav-item .drop,
  .nav-links li.nav-item .drop.drop-wide {
    background: transparent !important;
    border-radius: 0 !important;
    border-left: 2px solid var(--line, #e6e2d8) !important;
    margin: 4px 0 8px 20px !important;
    padding: 4px 0 4px 10px !important;
  }
  .nav-links li.nav-item .drop a { background: transparent !important; }
  .nav-links li.nav-item .drop a:hover { background: transparent !important; color: var(--blue, #1e6c99) !important; }
}

/* --- 3. Hamburger tap: no ring, ever, on touch devices --- */
.hamburger { -webkit-tap-highlight-color: transparent; }
@media (hover: none), (pointer: coarse) {
  .hamburger:focus,
  .hamburger:focus-visible { outline: none !important; box-shadow: none !important; }
}

/* 2026-08-21  Page-hero size adjustment (global — matches Oxford Risk).
   H1 was 64px which shouted; lede was 620px wide which forced awkward line
   breaks. Pull H1 down to a still-editorial 48px and widen the lede to
   ~820px so 2-3 line descriptions read comfortably. Mobile step-down below. */
.page-hero h1 {
  font-size: 48px;
  max-width: 1000px;
  line-height: 1.1;
}
.page-hero .lede {
  max-width: 820px;
  font-size: 17.5px;
  line-height: 1.55;
}
@media (max-width: 1000px) {
  .page-hero h1 { font-size: 40px !important; }
  .page-hero .lede { max-width: 700px; }
}
@media (max-width: 720px) {
  .page-hero h1 { font-size: 32px !important; }
  .page-hero .lede { font-size: 16px; }
}


/* 2026-08-21  Dan 7-point design refresh: cream cov-cards, tighter hero spacing, why-choose card grid, testimonial carousel, cta heading */

/* 1. Kill blue/charcoal cov-cards - cream + gold-accent card style (Oxford cov-lp-card language) */
.cov-grid .cov-card {
  background: linear-gradient(180deg, #fbf9f2 0%, #f7f5ed 100%);
  color: var(--ink);
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(15,20,30,0.04);
  transition: box-shadow .2s, border-color .2s, transform .2s, background .2s;
  border: 1px solid var(--line);
}
.cov-grid .cov-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold), rgba(201,163,92,0.35));
  border-radius: 20px 20px 0 0;
}
.cov-grid .cov-card:hover {
  background: #ffffff;
  border-color: var(--gold);
  box-shadow: 0 12px 28px rgba(15,20,30,0.09);
  transform: translateY(-3px);
}
.cov-grid .cov-card .ic {
  background: rgba(201,163,92,0.14);
  color: var(--gold);
}
.cov-grid .cov-card h4 { color: var(--ink); }
.cov-grid .cov-card p { color: var(--text-2); }

/* 2. Hero - tighter top padding, centered 900px-capped subhead */
.hero-content { padding-top: 82px; }
.hero-sub { max-width: 900px; margin-left: auto; margin-right: auto; }



/* 6. CTA footer - larger, width-capped lede paragraph under the two-line heading */
.cta-section p:first-of-type {
  font-size: 18.5px;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}


/* 2026-08-21  Mobile fixes: footer stacking, hero CTAs stacked without OR, util-bar wrap */
.footer-cols.footer-cols-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 40px;
}
@media (max-width: 900px) {
  .footer-cols.footer-cols-3 { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 720px) {
  .hero-ctas {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
  .hero-ctas .pill-btn { width: 100%; justify-content: center; text-align: center; }
  .hero-ctas .sep { display: none; }
  .util-bar {
    flex-direction: column;
    gap: 4px;
    text-align: center;
    padding: 10px 16px;
    text-wrap: balance;
  }
  .util-bar .divider { display: none; }
  .util-bar span { display: block; }
}

/* 2026-08-21  Inline article images */
.article-inline {
  margin: 32px 0 28px;
}
.article-inline img {
  width: 100%;
  max-width: 720px;
  height: auto;
  border-radius: 12px;
  display: block;
  box-shadow: 0 4px 20px rgba(15,20,30,0.09);
}

/* 2026-08-21  Morales-inspired components: text-image split, full-width callout, blue-gradient section, vehicle slideshow */
/* --- 1. Text/image split (used inside coverage pages) --- */
.tis-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 0;
}
.tis-split.tis-reverse { direction: rtl; }
.tis-split.tis-reverse > * { direction: ltr; }
.tis-text h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 40px;
  font-weight: 500;
  line-height: 1.15;
  color: var(--ink);
  margin: 0 0 22px;
  text-wrap: balance;
}
.tis-text p {
  font-size: 17px;
  line-height: 1.7;
  color: var(--text-2);
  margin: 0 0 16px;
}
.tis-image img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  display: block;
  box-shadow: 0 12px 40px rgba(15,20,30,0.14);
}
@media (max-width: 900px) {
  .tis-split { grid-template-columns: 1fr; gap: 32px; padding: 24px 0; }
  .tis-split.tis-reverse { direction: ltr; }
  .tis-text h2 { font-size: 30px; }
}

/* --- 2. Full-width callout with background image and dark scrim --- */
.fw-callout {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: center;
  color: #fff;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  margin: 0;
}
.fw-callout::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(10,15,25,0.75) 0%, rgba(10,15,25,0.55) 50%, rgba(10,15,25,0.15) 100%);
}
.fw-callout .fw-inner {
  position: relative;
  z-index: 1;
  max-width: 620px;
  padding: 80px 60px;
  margin-left: 8vw;
}
.fw-callout h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 52px;
  font-weight: 500;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 20px;
  text-wrap: balance;
}
.fw-callout p {
  font-size: 18px;
  line-height: 1.65;
  color: rgba(255,255,255,0.85);
  margin: 0 0 28px;
}
@media (max-width: 900px) {
  .fw-callout { min-height: 420px; }
  .fw-callout .fw-inner { padding: 60px 24px; margin-left: 0; max-width: 100%; }
  .fw-callout h2 { font-size: 36px; }
  .fw-callout::before {
    background: linear-gradient(180deg, rgba(10,15,25,0.75) 0%, rgba(10,15,25,0.65) 100%);
  }
}

/* --- 3. Blue-gradient section background (for team + testimonials) --- */
.section-gradient-blue {
  background: linear-gradient(135deg, #12294a 0%, #081a30 100%);
  color: #fff;
  padding: 90px 0;
}
.section-gradient-blue h2,
.section-gradient-blue .section-title { color: #fff; }
.section-gradient-blue .section-lede,
.section-gradient-blue p { color: rgba(255,255,255,0.82); }
.section-gradient-blue .team-card { background: #ffffff; color: var(--ink); }
.section-gradient-blue .testimonial-card { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); color: #fff; }
.section-gradient-blue .testimonial-card p { color: rgba(255,255,255,0.9); }
.section-gradient-blue .testimonial-card .attr { color: rgba(255,255,255,0.65); }

/* --- 4. Vehicle / coverage slideshow (used on commercial-auto pages) --- */
.vsg-wrap { position: relative; padding: 60px 0 40px; }
.vsg-header { display: flex; justify-content: space-between; align-items: end; margin-bottom: 32px; padding: 0 24px; max-width: 1400px; margin-left: auto; margin-right: auto; }
.vsg-header h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 44px;
  font-weight: 500;
  line-height: 1.1;
  margin: 0;
  max-width: 520px;
  color: #fff;
  text-wrap: balance;
}
.vsg-scroller {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(280px, 340px);
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 0 24px 20px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.vsg-scroller::-webkit-scrollbar { height: 4px; }
.vsg-scroller::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.25); border-radius: 2px; }
.vsg-card {
  scroll-snap-align: start;
  position: relative;
  aspect-ratio: 3/4;
  border-radius: 14px;
  overflow: hidden;
  background: #222;
}
.vsg-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.vsg-card:hover img { transform: scale(1.04); }
.vsg-card .vsg-label {
  position: absolute;
  top: 16px;
  left: 16px;
  background: rgba(255,255,255,0.95);
  color: var(--ink);
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
@media (max-width: 720px) {
  .vsg-header { flex-direction: column; align-items: start; gap: 16px; }
  .vsg-header h2 { font-size: 32px; }
  .vsg-scroller { grid-auto-columns: 78%; }
}

/* 2026-08-21  Batch design fixes: 3-col grid, why cards, blog cards, mobile buttons, hero height, testimonial carousel */

/* --- 3. Fix 3-block sections: force 30/30/30 (repeat 3 fr) so 3rd block doesn't wrap alone --- */
.cov-grid { grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 900px) { .cov-grid { grid-template-columns: 1fr; } }
.cov-lp-grid.grid-3, .cov-lp-grid[data-count="3"] { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .cov-lp-grid.grid-3, .cov-lp-grid[data-count="3"] { grid-template-columns: 1fr; } }

/* --- 6. Why-choose cards: bigger circle number,
 centered {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 22px;
  align-items: stretch;
}

/* --- 7. Blog cards equal height --- */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 28px;
  align-items: stretch;
}
.blog-card { display: flex; flex-direction: column; height: 100%; }
.blog-card > div:last-child { flex: 1 1 auto; display: flex; flex-direction: column; }
.blog-card h3 { flex: 1 1 auto; }

/* --- 8. Mobile stacked-button spacing: ensure margin-bottom on stacked pills --- */
@media (max-width: 720px) {
  .hero-ctas { gap: 10px; }
  .hero-ctas .pill-btn + .pill-btn { margin-top: 8px; }
  .pill-btn + .pill-btn { margin-top: 8px; }
  .btn-row { display: flex; flex-direction: column; gap: 8px; }
  .btn-row .pill-btn { width: 100%; justify-content: center; }
  /* Hover-only styles disabled on mobile to avoid stuck-hover states */
  .pill-btn:hover { transition: none; }
}

/* --- 11. Reduce hero height slightly --- */
.hero, .hero-inner { min-height: auto; }
.hero-content { padding-top: 60px; padding-bottom: 60px; }
@media (max-width: 720px) {
  .hero-content { padding-top: 40px; padding-bottom: 40px; }
}

/* --- 9. Testimonial carousel: pull arrows outside the card, faster auto-scroll (JS side), taller card equal-height --- */
.tc-carousel { padding: 4px 70px; }
.tc-arrow { width: 44px; height: 44px; }
.tc-prev { left: 4px; }
.tc-next { right: 4px; }
.testimonial-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 30px 28px;
  box-shadow: 0 4px 20px rgba(15,20,30,0.05);
}
.testimonial-card p { flex: 1 1 auto; }
.tc-page { align-items: stretch; }
@media (max-width: 640px) {
  .tc-carousel { padding: 4px 8px; }
  .tc-arrow { display: none; }
}

/* --- Locations styling parity with Builders Risk card --- */
.location-card.cov-lp-card, .loc-card.cov-lp-card {
  padding: 28px 26px 22px;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.location-card.cov-lp-card h3, .loc-card.cov-lp-card h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 500;
  font-size: 22px;
  margin: 6px 0 12px;
  color: var(--ink);
}
.location-card.cov-lp-card .loc-address,
.loc-card.cov-lp-card .loc-address {
  color: var(--text-2);
  font-size: 14.5px;
  line-height: 1.55;
  margin: 0 0 12px;
}
.location-card.cov-lp-card .pill-btn,
.loc-card.cov-lp-card .pill-btn {
  margin-top: auto;
  align-self: flex-start;
}

/* 2026-08-21  value-card treatment (used on locations + contact info cards) */
.value-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  align-items: stretch;
}
.value-card {
  position: relative;
  background: linear-gradient(180deg, #fbf9f2 0%, #f7f5ed 100%);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 34px 26px 22px;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.value-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold), rgba(201,163,92,0.35));
  border-radius: 14px 14px 0 0;
}
.value-card .num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--gold);
  color: #fff;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 18px;
  font-weight: 500;
  margin: 0 0 14px;
  line-height: 1;
}
.value-card h4 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 20px;
  font-weight: 500;
  margin: 0 0 8px;
  color: var(--ink);
}
.value-card p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--text-2); }

/* 2026-08-21  Testimonial carousel rebuild: 1-up, seamless continuous, elegant style */
.tc-carousel {
  position: relative;
  max-width: 900px;
  margin: 40px auto 0;
  overflow: hidden;
  padding: 4px 64px;
}
.tc-track {
  display: flex;
  transition: transform .6s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}
.tc-track.tc-no-anim { transition: none; }
.tc-page {
  flex: 0 0 100%;
  min-width: 100%;
  display: flex;
  padding: 0 8px;
  box-sizing: border-box;
}
.tc-carousel .testimonial-card {
  flex: 1 1 auto;
  width: 100%;
  background: linear-gradient(180deg, #fbf9f2 0%, #f7f5ed 100%);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 72px 56px 42px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(15,20,30,0.06);
}
.tc-carousel .testimonial-card::before {
  content: '\201C';
  position: absolute;
  top: 8px;
  left: 40px;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 140px;
  line-height: 1;
  color: var(--gold);
  opacity: 0.55;
  z-index: 0;
  pointer-events: none;
}
.tc-carousel .testimonial-card::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold), rgba(201,163,92,0.35));
  border-radius: 20px 20px 0 0;
}
.tc-carousel .testimonial-card p,
.tc-carousel .testimonial-card blockquote {
  position: relative;
  z-index: 1;
  margin: 0 0 22px;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 22px;
  font-weight: 400;
  font-style: italic;
  line-height: 1.55;
  color: var(--ink);
  text-wrap: pretty;
}
.tc-carousel .testimonial-card .attr,
.tc-carousel .testimonial-card cite {
  position: relative;
  z-index: 1;
  display: block;
  font-family: 'Inter', system-ui, sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.02em;
  color: var(--text-muted);
  text-transform: none;
}
.tc-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px; height: 46px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--line);
  color: var(--ink);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(10,10,10,0.08);
  transition: border-color .15s, color .15s, transform .15s;
  font-size: 20px;
  z-index: 3;
  padding: 0;
  line-height: 1;
}
.tc-arrow:hover {
  border-color: var(--gold);
  color: var(--gold);
  transform: translateY(-50%) scale(1.08);
}
.tc-prev { left: 6px; }
.tc-next { right: 6px; }
.tc-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 26px;
}
.tc-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: var(--line);
  cursor: pointer;
  padding: 0;
  transition: background .2s, transform .2s, width .2s;
}
.tc-dot.active {
  background: var(--gold);
  width: 24px;
  border-radius: 4px;
}
@media (max-width: 720px) {
  .tc-carousel { padding: 4px 8px; }
  .tc-carousel .testimonial-card { padding: 60px 28px 32px; }
  .tc-carousel .testimonial-card::before { font-size: 100px; left: 20px; top: 4px; }
  .tc-carousel .testimonial-card p,
  .tc-carousel .testimonial-card blockquote { font-size: 18px; }
  .tc-arrow { display: none; }
}

/* 2026-08-21  Check-list redesign: 2-col card grid, gold accent, cream card (used on coverage pages) */
ul.check-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  max-width: 1000px !important;
  margin: 24px auto 0 !important;
  padding: 0 !important;
  list-style: none;
}
ul.check-list li {
  position: relative;
  background: linear-gradient(180deg, #fbf9f2 0%, #f7f5ed 100%);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 18px 20px 18px 56px;
  color: var(--ink);
  font-size: 15.5px;
  line-height: 1.55;
  margin: 0 !important;
  transition: box-shadow .2s, border-color .2s, transform .2s;
}
ul.check-list li::before {
  content: '';
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
  background: var(--gold);
  border-radius: 50%;
  display: block;
}
ul.check-list li::after {
  content: '';
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-56%) rotate(45deg);
  width: 6px;
  height: 12px;
  border-right: 2.5px solid #fff;
  border-bottom: 2.5px solid #fff;
  display: block;
}
ul.check-list li:hover {
  border-color: var(--gold);
  box-shadow: 0 6px 18px rgba(15,20,30,0.07);
  transform: translateY(-2px);
}
@media (max-width: 720px) {
  ul.check-list { grid-template-columns: 1fr; gap: 10px; }
  ul.check-list li { padding: 16px 18px 16px 52px; font-size: 15px; }
}

/* 2026-08-21  vsg-wrap: self-contain the dark gradient so slideshow always renders correctly */
.vsg-wrap {
  background: linear-gradient(135deg, #12294a 0%, #081a30 100%);
  color: #fff;
  padding: 60px 0 40px;
  border-radius: 0;
}
.vsg-header h2 { color: #fff; }
.vsg-card .vsg-label { color: var(--ink); }

/* 2026-08-21  Kill dead-space on text/image split sections */
.tis-split {
  padding: 20px 0 !important;
  align-items: center !important;
  gap: 48px !important;
}
.tis-image {
  display: flex;
  align-items: center;
  justify-content: center;
}
.tis-image img {
  max-height: 420px !important;
  object-fit: cover !important;
  object-position: center !important;
  width: 100%;
}
/* Also tighten the enclosing section that hosts a .tis-split */
section.section:has(> .container > .tis-split) {
  padding-top: 30px;
  padding-bottom: 30px;
}
@media (max-width: 900px) {
  .tis-split { gap: 24px !important; padding: 16px 0 !important; }
  .tis-image img { max-height: 320px !important; }
}

/* 2026-08-21  Editorial split: prose sections show body left, big heading right with thin separator */
.container-narrow:has(.section-title.center):has(> .prose-wide > p),
.container-narrow:has(.section-title.center):has(> .prose-wide > p:first-child),
section.section > .container-narrow:has(> h2 + .prose-wide > p) {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  align-items: center;
  max-width: 1180px !important;
  margin: 0 auto;
  padding: 20px 24px;
}
.container-narrow:has(.section-title.center):has(> .prose-wide > p) > .section-title,
.container-narrow:has(.section-title.center):has(> .prose-wide > p) > h2,
section.section > .container-narrow:has(> h2 + .prose-wide > p) > h2 {
  order: 2;
  text-align: left !important;
  border-left: 1px solid var(--line);
  padding-left: 56px;
  margin: 0 !important;
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 500;
  font-size: 52px;
  line-height: 1.1;
  color: var(--ink);
  text-wrap: balance;
}
.container-narrow:has(.section-title.center):has(> .prose-wide > p) > .prose-wide,
section.section > .container-narrow:has(> h2 + .prose-wide > p) > .prose-wide {
  order: 1;
  padding-right: 8px;
  margin: 0 !important;
}
.container-narrow:has(.section-title.center):has(> .prose-wide > p) > .prose-wide p,
section.section > .container-narrow:has(> h2 + .prose-wide > p) > .prose-wide p {
  font-size: 17px;
  line-height: 1.7;
  color: var(--text-2);
  margin: 0 0 14px;
  text-wrap: pretty;
}
@media (max-width: 900px) {
  .container-narrow:has(.section-title.center):has(> .prose-wide > p),
  section.section > .container-narrow:has(> h2 + .prose-wide > p) {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 16px 24px;
  }
  .container-narrow:has(.section-title.center):has(> .prose-wide > p) > .section-title,
  .container-narrow:has(.section-title.center):has(> .prose-wide > p) > h2,
  section.section > .container-narrow:has(> h2 + .prose-wide > p) > h2 {
    order: 1;
    border-left: none;
    border-bottom: 1px solid var(--line);
    padding-left: 0;
    padding-bottom: 16px;
    font-size: 34px;
    text-align: left !important;
  }
  .container-narrow:has(.section-title.center):has(> .prose-wide > p) > .prose-wide,
  section.section > .container-narrow:has(> h2 + .prose-wide > p) > .prose-wide {
    order: 2;
    padding-right: 0;
  }
}

/* 2026-08-21  Kill wave divider, swap blue backgrounds -> black, add glossy sheen */

/* Wave divider - hide anywhere it survives */
.wave-divider, .wave-divider svg { display: none !important; }

/* Blue gradient sections -> black glossy */
.section-gradient-blue,
.vsg-wrap {
  background: linear-gradient(135deg, #0f0f10 0%, #050505 100%) !important;
  color: #fff;
  position: relative;
  overflow: hidden;
}
/* Subtle glossy sheen on dark sections: top-left radial highlight */
.section-gradient-blue::before,
.vsg-wrap::before {
  content: '';
  position: absolute;
  top: -20%; left: -10%;
  width: 60%; height: 80%;
  background: radial-gradient(ellipse at top left, rgba(255,255,255,0.06) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
}
.section-gradient-blue > *,
.vsg-wrap > * { position: relative; z-index: 1; }

/* Cards: subtle top gloss line for cream cards */
.cov-lp-card,
 .value-card,
 ul.check-list li {
  background-image: linear-gradient(180deg, rgba(255,255,255,0.4) 0%, rgba(255,255,255,0) 40%), linear-gradient(180deg, #fbf9f2 0%, #f7f5ed 100%);
  background-blend-mode: normal;
}

/* Buttons: subtle inner top highlight */
.pill-btn.blue,
.pill-btn.dark {
  background-image: linear-gradient(180deg, rgba(255,255,255,0.15) 0%, rgba(255,255,255,0) 55%);
  background-color: var(--blue);
  box-shadow: 0 6px 18px rgba(15,20,30,0.14), inset 0 1px 0 rgba(255,255,255,0.2);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.pill-btn.dark { background-color: var(--ink); }
.pill-btn.blue:hover, .pill-btn.dark:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(15,20,30,0.2), inset 0 1px 0 rgba(255,255,255,0.25);
}

/* Testimonial card: add subtle top gloss */
.tc-carousel .testimonial-card {
  background-image: linear-gradient(180deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0) 30%), linear-gradient(180deg, #fbf9f2 0%, #f7f5ed 100%);
}

/* Full-width callout: swap the blue-tinted scrim for a clean black scrim */
.fw-callout::before {
  background: linear-gradient(90deg, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0.1) 100%) !important;
}

/* 2026-08-21  Auto-fit grid columns by child count so 4 cards go 2x2 (not 3+1) */
.cov-grid:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, 1fr) !important; }
.cov-grid:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, 1fr) !important; }
.cov-grid:has(> :nth-child(6):last-child) { grid-template-columns: repeat(3, 1fr) !important; }
.cov-grid:has(> :nth-child(8):last-child) { grid-template-columns: repeat(4, 1fr) !important; }
/* Same rule for the cov-lp-grid used on landing pages */
.cov-lp-grid:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, 1fr) !important; }
.cov-lp-grid:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, 1fr) !important; }
@media (max-width: 900px) {
  .cov-grid, .cov-lp-grid { grid-template-columns: 1fr !important; }
}

/* 2026-08-21  Heading color scoping (narrowly targeted, replaces old universal !important rule) */
/* Only these specific headings were rendering blue on light bg before: */
.why-trust h2,
.why-trust h3,
.section-cream h2 {
  color: var(--ink) !important;
}

/* 2026-08-21  Footer contrast fixes.
   Column headers use <h4> in the footer markup, but only <h5> was whitened.
   And the <p class="footer-contact"> lines had no color set, so they inherited
   the dark body colour and vanished on the dark footer background. */
.footer-panel h4,
.footer-panel h5 {
  color: #fff;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 20px;
}
.footer-panel .footer-contact,
.footer-panel p:not(.disclaimer):not(.copy):not(.desc) {
  color: rgba(255,255,255,0.82);
  font-size: 14.5px;
  line-height: 1.6;
  margin-bottom: 12px;
}
.footer-panel .footer-contact strong { color: #fff; font-weight: 600; }

/* 2026-08-21  CTA visibility guarantee.
   The .cta-section text is white so it depends on the .cta-footer parent
   for the dark background. If a page ever uses .cta-section without the
   .cta-footer wrapper, add the dark bg directly so text stays readable
   instead of rendering white-on-white. */
.cta-section {
  background: #1a1a1a;
  padding-top: 80px;
  padding-bottom: 80px;
}
.cta-footer .cta-section {
  /* Wrapped case: let .cta-footer supply the surface (nicer padding) */
  background: transparent;
  padding-top: 40px;
  padding-bottom: 80px;
}


/* 2026-08-21  Post-audit fixes: touch targets, mobile stacks, hover states, oxford team, get-a-quote routing */

/* pill-btn.sm on mobile: ensure 44px+ touch target */
@media (max-width: 720px) {
  .pill-btn.sm {
    padding: 14px 22px !important;
    min-height: 44px;
    font-size: 15px;
  }
}

/* .ncc-widget grid should stack at 320-380px (Oxford + Mythic Ins) */
@media (max-width: 380px) {
  .ncc-widget .ncc-split-grid,
  .ncc-widget .ncc-options-grid { grid-template-columns: 1fr !important; }
  .ncc-widget .ncc-btn {
    padding: 14px 20px !important;
    min-height: 44px;
    font-size: 15px;
  }
}

/* .location-card / .loc-card hover state (missing per audit) */
.location-card.cov-lp-card:hover,
.loc-card.cov-lp-card:hover {
  border-color: var(--gold);
  box-shadow: 0 12px 28px rgba(15,20,30,0.09);
  transform: translateY(-3px);
}

/* Oxford staff.php: .team-title + .team-contact + team-info styles */
.team-info { padding: 24px 22px 26px; }
.team-info h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 500;
  font-size: 22px;
  color: var(--ink);
  margin: 0 0 4px;
}
.team-info .team-title {
  font-size: 13.5px;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin: 0 0 12px;
  font-weight: 600;
}
.team-info .team-contact {
  font-size: 14.5px;
  margin: 0 0 14px;
  color: var(--text-2);
}
.team-info .team-contact a {
  color: var(--blue);
  text-decoration: none;
  font-weight: 600;
}
.team-info .team-contact a:hover { text-decoration: underline; }
.team-info p { font-size: 14.5px; line-height: 1.6; color: var(--text-2); margin-bottom: 12px; }
.team-info p:last-child { margin-bottom: 0; }

/* ARS footer: recent articles column styling */
.footer-recent-articles { }
.footer-recent-articles h5 { font-family: 'Playfair Display', Georgia, serif; }
.footer-recent-articles ul { list-style: none; padding: 0; margin: 0; }
.footer-recent-articles li { margin-bottom: 12px; }
.footer-recent-articles a {
  color: rgba(255,255,255,0.75);
  text-decoration: none;
  font-size: 13.5px;
  line-height: 1.4;
  display: block;
}
.footer-recent-articles a:hover { color: #fff; text-decoration: underline; }

/* Footer 3-col grid for ARS (now that it has a 3rd column) */
.footer-cols { grid-template-columns: repeat(3, 1fr); gap: 40px; }
@media (max-width: 900px) { .footer-cols { grid-template-columns: 1fr; gap: 30px; } }

/* 2026-08-21  All dark backgrounds → pure #000000 (per Dan) */
.why-agents,
.section-gradient-blue,
.vsg-wrap,
.util-bar {
  background: #000000 !important;
}
/* Ensure text stays white on these */
.why-agents,
.why-agents-copy,
.why-agents-copy h2,
.why-agents-copy h3,
.why-agents-copy p,
.section-gradient-blue,
.section-gradient-blue h1,
.section-gradient-blue h2,
.section-gradient-blue h3,
.section-gradient-blue p,
.vsg-wrap,
.vsg-header h2,
.fw-callout,
.fw-callout h2,
.fw-callout p,
.cta-footer,
.cta-footer h2,
.cta-section,
.cta-section h2,
.cta-section p,
footer,
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
footer p,
.footer-panel,
.footer-panel h4,
.footer-panel h5,
.footer-panel a,
.footer-panel p,
.hero,
.hero-content h1,
.hero-content h2,
.hero-eyebrow,
.hero-sub,
.page-hero h1,
.page-hero .lede,
.page-hero .breadcrumb,
.page-hero .breadcrumb a,
.util-bar,
.util-bar a {
  color: #ffffff !important;
}
/* Muted white for supporting text */
.footer-panel .footer-contact,
.footer-panel .desc,
.footer-panel p:not(.disclaimer):not(.copy):not(.desc),
.why-agents-copy p,
.fw-callout p,
.cta-section p {
  color: rgba(255,255,255,0.85) !important;
}
/* footer disclaimer/copy */
.footer-panel .disclaimer,
.footer-panel .copy,
.footer-bottom-text p {
  color: rgba(255,255,255,0.55) !important;
}
/* Mobile: .why-agents-copy padding so content does not touch page edge */
@media (max-width: 720px) {
  .why-agents-copy { padding: 60px 24px !important; max-width: 100% !important; }
}
@media (max-width: 400px) {
  .why-agents-copy { padding: 50px 20px !important; }
  .why-agents-copy h2 { font-size: 28px !important; line-height: 1.15; }
}

/* 2026-08-21c  Outer footer BLACK, inner panel stays charcoal; button restyle to tan/hover-blue + outline-hover-tan */

/* Outer footer surfaces → pure black */
.cta-footer,
.footer-bottom {
  background: #000000 !important;
}
/* Inner floating panel — stays #262a30 (no change; explicit for parity) */
.footer-panel {
  background: #161616 !important;
}

/* ============ BUTTONS ============ */
/* Variant A: filled tan pill, hover to blue */
.pill-btn,
.pill-btn.blue,
.pill-btn.dark,
.pill-btn.tan {
  background: #ccb7a3 !important;
  color: #ffffff !important;
  border: 1px solid transparent !important;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease !important;
}
.pill-btn:hover,
.pill-btn.blue:hover,
.pill-btn.dark:hover,
.pill-btn.tan:hover {
  background: #1e6c99 !important;   /* --blue */
  color: #ffffff !important;
  transform: translateY(-1px);
}

/* Variant B: outlined white (transparent bg, white border + white text), hover fills #ccb7a3 with white text */
.pill-btn.outline-white,
.pill-btn.outline-light,
.pill-btn.ghost {
  background: transparent !important;
  color: #ffffff !important;
  border: 1px solid #ffffff !important;
}
.pill-btn.outline-white:hover,
.pill-btn.outline-light:hover,
.pill-btn.ghost:hover {
  background: #ccb7a3 !important;
  border-color: #ccb7a3 !important;
  color: #ffffff !important;
}

/* Variant B alt: outline-dark (dark border + dark text on light bg), hover fills #ccb7a3 with white text */
.pill-btn.outline-dark {
  background: transparent !important;
  color: var(--ink) !important;
  border: 1px solid var(--ink) !important;
}
.pill-btn.outline-dark:hover {
  background: #ccb7a3 !important;
  border-color: #ccb7a3 !important;
  color: #ffffff !important;
}

/* 2026-08-21d  Blog thumb width fix — flex-column card was collapsing thumb to zero width */
.blog-card .blog-thumb,
.blog-thumb { width: 100% !important; align-self: stretch; }

/* 2026-08-21e  "Why FLB" style restyle — bigger cards, big display numeral, tail paragraph separated & centered */
.why-trust {
  padding: 100px 20px !important;
  text-align: left;
}
.why-trust h2 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 44px !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  margin: 0 auto 44px !important;
  text-align: center;
  max-width: 900px;
  text-wrap: balance;
}
.why-trust > .container-narrow > p:last-child {
  /* trailing paragraph: centered, italic pull-quote-style with generous top space */
  max-width: 780px !important;
  margin: 0 auto !important;
  padding-top: 32px !important;
  border-top: 1px solid rgba(0,0,0,0.08);
  text-align: center;
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 19px !important;
  line-height: 1.7 !important;
  color: var(--text-2) !important;
  text-wrap: balance;
}
@media (max-width: 720px) {
  .why-trust { padding: 70px 20px !important; }
  .why-trust h2 { font-size: 34px !important; margin-bottom: 32px !important; }
  .why-trust > .container-narrow > p:last-child { font-size: 17px !important; padding-top: 24px !important; }
}

/* 2026-08-22  Coverage tile "Learn more" link styling (used inside .cov-lp-card) */
.cov-lp-card {
  display: flex !important;
  flex-direction: column;
  height: 100%;
}
.cov-lp-card h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 22px;
  font-weight: 500;
  color: var(--ink);
  margin: 6px 0 10px;
  text-wrap: balance;
}
.cov-lp-card p {
  flex: 1 1 auto;
  color: var(--text-2);
  font-size: 14.5px;
  line-height: 1.55;
  margin: 0 0 18px;
}
.cov-lp-card .cov-lp-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: var(--gold);
  letter-spacing: 0.01em;
  margin-top: auto;
  transition: color .2s ease, gap .2s ease;
}
.cov-lp-card:hover .cov-lp-link {
  color: var(--ink);
  gap: 10px;
}

/* 2026-08-22  Editorial split flipped: heading LEFT, body RIGHT */
.container-narrow:has(.section-title.center):has(> .prose-wide > p) > .section-title,
.container-narrow:has(.section-title.center):has(> .prose-wide > p) > h2,
section.section > .container-narrow:has(> h2 + .prose-wide > p) > h2 {
  order: 1 !important;
  text-align: left !important;
  border-left: none !important;
  border-right: 1px solid var(--line);
  padding-left: 0 !important;
  padding-right: 40px;
}
.container-narrow:has(.section-title.center):has(> .prose-wide > p) > .prose-wide,
section.section > .container-narrow:has(> h2 + .prose-wide > p) > .prose-wide {
  order: 2 !important;
  padding-left: 40px;
  padding-right: 0 !important;
}
/* Reset grid ratio so heading column is narrower than body */
.container-narrow:has(.section-title.center):has(> .prose-wide > p),
section.section > .container-narrow:has(> h2 + .prose-wide > p) {
  grid-template-columns: 1fr 1.4fr !important;
}
@media (max-width: 900px) {
  .container-narrow:has(.section-title.center):has(> .prose-wide > p) > .section-title,
  .container-narrow:has(.section-title.center):has(> .prose-wide > p) > h2,
  section.section > .container-narrow:has(> h2 + .prose-wide > p) > h2 {
    border-right: none;
    border-bottom: 1px solid var(--line);
    padding-right: 0 !important;
    padding-bottom: 16px;
  }
  .container-narrow:has(.section-title.center):has(> .prose-wide > p) > .prose-wide,
  section.section > .container-narrow:has(> h2 + .prose-wide > p) > .prose-wide {
    padding-left: 0 !important;
  }
}

/* 2026-08-22  .section-dark → pure black (Dan) */
.section-dark {
  background: #000000 !important;
  color: #ffffff;
}
.section-dark h1, .section-dark h2, .section-dark h3, .section-dark h4, .section-dark p {
  color: #ffffff;
}
.section-dark p:not(:has(.pill-btn)) {
  color: rgba(255,255,255,0.85);
}

/* 2026-08-22  .cov-lp-grid base rule (was only defined as modifiers before, causing 1-col fallback) */
.cov-lp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 22px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
/* Make .cov-lp-card visible on cream section backgrounds - stronger border, distinct fill */
.section-cream .cov-lp-card {
  background: #ffffff !important;
  border: 1px solid var(--line);
  box-shadow: 0 2px 6px rgba(15,20,30,0.04);
}
.section-cream .cov-lp-card:hover {
  background: #ffffff !important;
  border-color: var(--gold);
  box-shadow: 0 12px 28px rgba(15,20,30,0.09);
  transform: translateY(-3px);
}
@media (max-width: 720px) {
  .cov-lp-grid { grid-template-columns: 1fr !important; gap: 16px; padding: 0 20px; }
}

/* 2026-08-22  Who We Are (.value-card-grid) refinement: tighter cards, closer number-to-heading */
.value-card-grid .value-card {
  padding: 28px 26px 24px !important;
  min-height: auto !important;
}
.value-card-grid .value-card .num {
  margin-bottom: 12px !important;
}
.value-card-grid .value-card h4 {
  margin: 0 0 12px !important;
  font-size: 22px !important;
  line-height: 1.25;
  text-wrap: balance;
}
.value-card-grid .value-card p {
  margin: 0 !important;
  font-size: 15.5px !important;
  line-height: 1.55;
}

/* 2026-08-22  Why-cards grid: equal-height cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  justify-content: center;
  max-width: 1200px !important;
  margin: 0 auto 60px !important;
}

/* 2026-08-22  Numbered decorations REMOVED everywhere — replaced with a thin gold accent bar.
   Cards are top-anchored,
 equal-height,
 incomplete last row centered.
   Design goal: consistent editorial rhythm,

.value-card .num {
  display: none !important;
}


.value-card {
  position: relative;
  padding-top: 38px !important;
}

.value-card::after {
  content: '';
  position: absolute;
  top: 22px;
  left: 26px;
  width: 40px;
  height: 3px;
  background: var(--gold);
  border-radius: 2px;
  display: block;
}

/* Card body: top-anchored,

.value-card {
  display: flex !important;
  flex-direction: column;
  justify-content: flex-start !important;
  padding: 38px 26px 24px !important;
  min-height: 200px;
}

.value-card p {
  margin: 0 !important;
  font-size: 15.5px !important;
  line-height: 1.6 !important;
  color: var(--ink) !important;
  font-weight: 500;
  padding-right: 0 !important;
  text-wrap: pretty;
}

/* For rows with fewer than 3 items {
  /* When only 1 or 2 cards remain on the last row, they naturally left-align.
     Use justify-self on those cards to center them together via wrapper container. */
}

@media (max-width: 900px) {
   .value-card { min-height: 180px; padding: 34px 22px 22px !important; }
   .value-card::after { top: 20px; left: 22px; width: 32px; }
}

/* Big gold circle with a checkmark {
  content: '';
  display: block;
  position: static !important;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center / 20px 20px no-repeat,
    var(--gold);
  border: none !important;
  top: auto !important;
  left: auto !important;
}

/* Body text: bigger,
 more readable {
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  color: var(--ink) !important;
  font-weight: 500 !important;
  padding-right: 0 !important;
  text-wrap: pretty;
}

/* 2026-08-22  .section-mist — light gray section (used for coverage highlights) */
.section-mist {
  background: #f5f5f5 !important;
  color: var(--ink);
  padding: 80px 0;
}
.section-mist h2,
.section-mist h3,
.section-mist .section-title { color: var(--ink) !important; }
.section-mist .section-lede,
.section-mist p { color: var(--text-2) !important; }
.section-mist .cov-card p { color: var(--text-2) !important; }

/* 2026-08-22  Bump testimonial font size */
.tc-carousel .testimonial-card p,
.tc-carousel .testimonial-card blockquote {
  font-size: 28px !important;
  line-height: 1.4 !important;
}
.tc-carousel .testimonial-card .attr,
.tc-carousel .testimonial-card cite {
  font-size: 16px !important;
}
@media (max-width: 720px) {
  .tc-carousel .testimonial-card p,
  .tc-carousel .testimonial-card blockquote { font-size: 20px !important; }
}

/* 2026-08-22b  .section-mist reinforcement: dark card text on cream, light-gray section bg */
.section-mist .cov-card,
.section-mist .cov-card h4,
.section-mist .cov-card p {
  color: var(--ink) !important;
}
.section-mist .cov-card p {
  color: var(--text-2) !important;
}

/* 2026-08-22  check-list: real SVG check on a solid gold disc, anchored to top so multi-line rows stay aligned */
ul.check-list li {
  padding: 18px 20px 18px 64px !important;
  display: block !important;
}
ul.check-list li::before {
  content: "" !important;
  position: absolute !important;
  left: 18px !important;
  top: 18px !important;
  transform: none !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background:
    url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23ffffff%27 stroke-width=%273.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><polyline points=%2720 6 9 17 4 12%27/></svg>") center / 16px 16px no-repeat,
    var(--gold) !important;
  border: none !important;
  display: block !important;
}
ul.check-list li::after { content: none !important; display: none !important; }
ul.check-list li,
ul.check-list li:focus,
ul.check-list li:focus-visible,
ul.check-list li:active {
  outline: none !important;
  border-color: var(--line) !important;
}
ul.check-list li:hover {
  border-color: rgba(201,163,92,0.35) !important;
}
@media (max-width: 720px) {
  ul.check-list li { padding: 16px 18px 16px 56px !important; }
  ul.check-list li::before { width: 28px !important; height: 28px !important; top: 16px !important; left: 16px !important; background-size: 14px 14px, auto !important; }
}

/* 2026-08-22  value/why card cleanup — kill orphan hairline stripe,

.value-card::after,

.value-card::before {
  content: none !important;
  display: none !important;
  background: none !important;
}
.value-card-grid .value-card {
  padding: 40px 28px 32px !important;
  text-align: center !important;
  border: 1px solid rgba(201,163,92,0.20) !important;
  background: linear-gradient(180deg, #fbf9f2 0%, #f6f4ec 100%) !important;
  border-radius: 14px !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}
.value-card-grid .value-card:hover {
  transform: translateY(-3px);
  border-color: rgba(201,163,92,0.55) !important;
  box-shadow: 0 12px 28px rgba(15,20,30,0.08) !important;
}
.value-card-grid .value-card h4 {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  margin: 0 !important;
  color: var(--ink) !important;
  line-height: 1.25 !important;
  position: relative !important;
  padding-bottom: 12px !important;
  text-wrap: balance;
}
.value-card-grid .value-card h4::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 40px !important;
  height: 2px !important;
  background: var(--gold) !important;
  border-radius: 2px !important;
  display: block !important;
}
.value-card-grid .value-card p {
  margin: 0 !important;
  font-size: 15.5px !important;
  line-height: 1.65 !important;
  color: var(--ink) !important;
  font-weight: 400 !important;
  text-wrap: pretty;
}


/* ============================================================
   WHY / TRUST SECTION - proof-strip and editorial-two-col
   Replaces the retired .why-card / .why-grid / .why-num pattern.
   Two compositions in one file — markup picks one.

   PROOF-STRIP  (ARS, FLB, Crystal River):
     Horizontal N-column strip of number + label + short body,
     hairline dividers, no boxes/shadows/radius.
     Desktop:  --why-cols columns in one row.
     Tablet:   5-col strips STACK to single column (avoids 3+2
               orphan); 3-col strips stay 3-col.
     Mobile:   all strips stack to single column with horizontal
               hairline dividers only.

   EDITORIAL-TWO-COL  (Mythic Insurance, Oxford, Prestige):
     Left column: eyebrow-free headline (+ optional CTA).
     Right column: numbered ordered list, absolute-positioned
     numerals so inline links flow naturally through the sentence.
     No boxes. Stacks headline-above-list on tablet and mobile.
   ============================================================ */

/* Correction: Why-section H2 uses the site's established black heading
   color, not blue. Small accents (gold numerals, hairline dividers,
   blue proof-item labels, blue links) intentionally keep their color. */
.why-trust h2 { color: var(--ink); }

/* ---- Shared: promoted lede paragraph, used above proof strip ---- */
.why-trust .why-lede {
  color: var(--text-2);
  font-size: 18px;
  line-height: 1.7;
  max-width: 720px;
  margin: 0 auto 44px;
  font-style: italic;
}

/* ---- PROOF STRIP ---- */
.why-proof {
  display: grid;
  grid-template-columns: repeat(var(--why-cols, 5), minmax(0, 1fr));
  margin: 40px 0 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-align: left;
}
.why-proof-item {
  padding: 34px 26px;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.why-proof-item:last-child { border-right: none; }
.why-proof-num {
  display: block;
  font-family: 'Playfair Display', Georgia, serif;
  color: var(--gold);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  margin-bottom: 14px;
}
.why-proof-label {
  font-family: 'Playfair Display', Georgia, serif;
  color: var(--blue);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 10px;
  letter-spacing: -0.005em;
}
.why-trust .why-proof-body {
  color: var(--text-2);
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
  max-width: none;
}

/* Tablet: 5-item strips stack to single column to avoid 3+2 orphan */
@media (max-width: 960px) {
  .why-proof[style*="--why-cols:5"] {
    grid-template-columns: 1fr;
    border-bottom: none;
  }
  .why-proof[style*="--why-cols:5"] .why-proof-item {
    border-right: none;
    border-bottom: 1px solid var(--line);
    padding: 26px 8px;
  }
  .why-proof[style*="--why-cols:5"] .why-proof-item:last-child {
    border-bottom: none;
  }
  .why-proof[style*="--why-cols:5"] .why-proof-num {
    display: inline-block;
    margin-right: 12px;
    margin-bottom: 0;
    vertical-align: baseline;
  }
  .why-proof[style*="--why-cols:5"] .why-proof-label {
    display: inline-block;
    font-size: 20px;
    margin-bottom: 8px;
  }
}

/* Mobile: everything (including 3-col strips) stacks single-column */
@media (max-width: 640px) {
  .why-proof {
    grid-template-columns: 1fr;
    border-bottom: none;
  }
  .why-proof-item {
    border-right: none;
    border-bottom: 1px solid var(--line);
    padding: 24px 4px;
    text-align: left;
  }
  .why-proof-item:last-child { border-bottom: none; }
  .why-proof-num {
    display: inline-block;
    margin-right: 12px;
    margin-bottom: 0;
    vertical-align: baseline;
  }
  .why-proof-label {
    display: inline-block;
    font-size: 20px;
    margin-bottom: 8px;
  }
}

/* ---- EDITORIAL TWO-COL ---- */
.why-trust.is-editorial,
.section.is-editorial-why {
  text-align: left;
}
.why-editorial {
  display: grid;
  grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.35fr);
  gap: 72px;
  align-items: start;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 40px;
}
.why-editorial-headline {
  position: sticky;
  top: 120px;
}
.why-editorial-headline h2 {
  font-family: 'Playfair Display', Georgia, serif;
  color: var(--ink);
  font-size: 44px;
  line-height: 1.1;
  letter-spacing: -0.005em;
  margin: 0;
  text-align: left;
  font-weight: 700;
}
.why-editorial-cta {
  display: inline-flex;
  margin-top: 28px;
}

/* The list. Numerals are absolutely positioned so inline links in
   the sentence flow naturally through the text. (Grid on <li> broke
   the inline flow of Oxford's "Instant Bond" link.) */
.why-editorial-list {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: why-ed;
}
.why-editorial-list li {
  counter-increment: why-ed;
  position: relative;
  padding: 22px 0 22px 60px;
  border-top: 1px solid var(--line);
  color: var(--text-2);
  font-size: 17px;
  line-height: 1.65;
}
.why-editorial-list li:last-child { border-bottom: 1px solid var(--line); }
.why-editorial-list li::before {
  content: counter(why-ed, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 24px;
  font-family: 'Playfair Display', Georgia, serif;
  color: var(--gold);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.06em;
}
.why-editorial-list a {
  color: var(--blue);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(30, 108, 153, 0.4);
  text-underline-offset: 3px;
  font-weight: 600;
}
.why-editorial-list a:hover { text-decoration-color: var(--blue); }

/* Prestige - extra-restrained variant: navy numerals + headline */
.why-editorial.is-premium .why-editorial-list li::before { color: var(--navy); font-weight: 700; }

@media (max-width: 900px) {
  .why-editorial {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 0 32px;
  }
  .why-editorial-headline { position: static; }
  .why-editorial-headline h2 { font-size: 34px; }
}
@media (max-width: 560px) {
  .why-editorial { padding: 0 20px; gap: 24px; }
  .why-editorial-headline h2 { font-size: 28px; }
  .why-editorial-list li {
    padding: 20px 0 20px 44px;
    font-size: 16px;
  }
  .why-editorial-list li::before {
    font-size: 17px;
    top: 22px;
  }
}

/* 2026-09-03  Editorial-split mobile collapse fix — the 1fr 1.4fr !important
   rule above blocks the earlier @media 1fr override; this restores single-column
   at ≤900px. */
@media (max-width: 900px) {
  .container-narrow:has(.section-title.center):has(> .prose-wide > p),
  section.section > .container-narrow:has(> h2 + .prose-wide > p) {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

/* 2026-09-03/4  Text-led editorial blog pattern.
   Applied portfolio-wide across the 6 newer Mythic agency sites. Adopts the
   NC Coastal design PRINCIPLE — text-led, no per-article thumbnail — while
   picking up each agency's own tokens (--ink, --text-2, --line, --gold,
   --blue, --cream) so no colours are hard-coded here.

   Surfaces styled:
   • .editorial-blog        — homepage "Latest from the Blog" section
   • .editorial-index       — /blog list page
   Featured images render only when present. No gradient placeholders,
   no card shadows, no oversized rounded rectangles. */

/* ── HOMEPAGE section ────────────────────────────────────────────────── */
.editorial-blog { padding: 72px 0; background: transparent; }
.editorial-blog .container { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.editorial-blog__head { max-width: 720px; margin: 0 0 40px; }
.editorial-blog__head h2 { font-family: 'Playfair Display', Georgia, serif; font-weight: 500; font-size: 44px; line-height: 1.1; color: var(--ink); margin: 0 0 12px; text-wrap: balance; }
.editorial-blog__head .lede { font-size: 16.5px; line-height: 1.6; color: var(--text-2); margin: 0; text-wrap: pretty; }

.editorial-blog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 44px; align-items: start; }
.editorial-blog__grid > .editorial-item { min-width: 0; }

.editorial-item { position: relative; padding-top: 20px; }
.editorial-item::before { content: ''; position: absolute; top: 0; left: 0; width: 40px; height: 2px; background: var(--gold); border-radius: 2px; }
.editorial-item__link { display: block; text-decoration: none; color: inherit; }
.editorial-item__cat { display: inline-block; font-family: 'Inter', -apple-system, sans-serif; font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--text-2); margin: 0 0 12px; }
.editorial-item__title { font-family: 'Playfair Display', Georgia, serif; font-weight: 500; font-size: 22px; line-height: 1.28; color: var(--ink); margin: 0 0 12px; text-wrap: balance; transition: color .18s ease; }
.editorial-item__excerpt { font-family: 'Inter', -apple-system, sans-serif; font-size: 15.5px; line-height: 1.6; color: var(--text-2); margin: 0 0 16px; text-wrap: pretty; }
.editorial-item__more { display: inline-flex; align-items: center; gap: 6px; font-family: 'Inter', -apple-system, sans-serif; font-weight: 600; font-size: 14px; color: var(--blue); transition: gap .18s ease, color .18s ease; }
.editorial-item__more::after { content: '\2192'; transition: transform .18s ease; }
.editorial-item__link:hover .editorial-item__title { color: var(--blue); }
.editorial-item__link:hover .editorial-item__more { gap: 10px; }
.editorial-item__link:hover .editorial-item__more::after { transform: translateX(2px); }

.editorial-blog__cta { margin-top: 44px; }

@media (max-width: 960px) {
  .editorial-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 32px; }
  .editorial-blog__head h2 { font-size: 36px; }
}
@media (max-width: 640px) {
  .editorial-blog { padding: 52px 0; }
  .editorial-blog__grid { grid-template-columns: 1fr; gap: 32px; }
  .editorial-blog__head { margin-bottom: 28px; }
  .editorial-blog__head h2 { font-size: 30px; }
  .editorial-blog__head .lede { font-size: 15.5px; }
  .editorial-item__title { font-size: 20px; }
  .editorial-blog__cta { margin-top: 28px; text-align: left; }
}

/* ── BLOG INDEX list ─────────────────────────────────────────────────── */
.editorial-index { padding: 24px 0 96px; }
.editorial-index__list { list-style: none; padding: 0; margin: 0; }
.editorial-index__row { padding: 32px 0; border-top: 1px solid var(--line); }
.editorial-index__row:last-child { border-bottom: 1px solid var(--line); }
.editorial-index__row a { text-decoration: none; color: inherit; display: block; }
.editorial-index__meta { display: flex; flex-wrap: wrap; gap: 10px 18px; font-family: 'Inter', -apple-system, sans-serif; font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--text-2); font-weight: 600; margin: 0 0 10px; }
.editorial-index__meta .dot { color: var(--line); font-weight: 400; letter-spacing: 0; }
.editorial-index__title { font-family: 'Playfair Display', Georgia, serif; font-weight: 500; font-size: 28px; line-height: 1.22; color: var(--ink); margin: 0 0 12px; text-wrap: balance; transition: color .18s ease; }
.editorial-index__excerpt { font-family: 'Inter', -apple-system, sans-serif; font-size: 16px; line-height: 1.65; color: var(--text-2); margin: 0 0 14px; text-wrap: pretty; max-width: 780px; }
.editorial-index__more { display: inline-flex; align-items: center; gap: 6px; font-family: 'Inter', -apple-system, sans-serif; font-weight: 600; font-size: 14px; color: var(--blue); transition: gap .18s ease; }
.editorial-index__more::after { content: '\2192'; transition: transform .18s ease; }
.editorial-index__row a:hover .editorial-index__title { color: var(--blue); }
.editorial-index__row a:hover .editorial-index__more { gap: 10px; }
.editorial-index__row a:hover .editorial-index__more::after { transform: translateX(2px); }

.editorial-index__empty { padding: 60px 0; text-align: center; color: var(--text-2); }
.editorial-index__empty h3 { font-family: 'Playfair Display', Georgia, serif; font-weight: 500; font-size: 26px; color: var(--ink); margin: 0 0 10px; }

@media (max-width: 640px) {
  .editorial-index { padding: 16px 0 60px; }
  .editorial-index__row { padding: 24px 0; }
  .editorial-index__title { font-size: 22px; }
  .editorial-index__excerpt { font-size: 15px; }
  .editorial-index__meta { font-size: 11.5px; gap: 8px 12px; }
}

/* ── ARTICLE byline (used on article.php under the h1) ────────────── */
.editorial-byline { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; font-family: 'Inter', -apple-system, sans-serif; font-size: 13.5px; color: var(--text-2); margin: 0 0 32px; }
.editorial-byline .dot { color: var(--line); }
.editorial-byline .cat { text-transform: uppercase; letter-spacing: .1em; font-weight: 600; color: var(--gold); font-size: 12px; }


/* 2026-09-04/2  Staff/team portrait responsive crop fix.
   The base `.team-photo { height: 320px }` combined with the shared mobile
   rule that collapses `.team-grid` to 1fr on ≤1000px viewports made each
   photo container wide-and-short at tablet widths (~700w × 320h), which
   forced background-size/object-fit:cover to zoom past the face and clip
   the top of the head. Two changes, both scoped to `.team-photo` /
   `.team-grid`, no other selectors:
     1. Keep the auto-fit grid on tablet so cards stay ~260–340 wide
        instead of stretching to viewport width. Overrides only .team-grid
        inside the existing @media, not the sibling grids in that rule.
     2. Replace the fixed pixel height on .team-photo with an aspect-ratio
        that matches how staff portraits are shot (4:5 portrait). Bias the
        object-position toward the top so any residual cover-crop clips
        below the collarbone, never above the eyes. */
@media (max-width: 1000px) {
  .team-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 340px)) !important; justify-content: center; }
}
.team-photo { aspect-ratio: 4 / 5; height: auto; background-position: center 15%; }
.team-photo > img { object-position: center 15%; }


/* =============================================================================
   SHELL v2 — CLONED-AGENCY BASELINE IMPROVEMENTS (2026-09-10)
   =============================================================================
   Reusable improvements Mythic agency sites inherit going forward. Uses
   SEMANTIC theme tokens already declared at the top of this file
   (--line, --ink, --text-2, --off-white, --gold). NO Prestige literals
   (#052D45 / #006B8C / #00C7D1 / #E8F4F7) appear in this block — an
   agency's own theme.css chooses the actual colors by remapping tokens.

   Contents:
     - .faq-grid / .faq-card       always-visible Q&A card grid
     - .why-agents-copy override   center copy inside its 50% column

   The old .faq-list + .faq-item accordion rules earlier in this file
   remain in place for interior pages that still use them.
   ========================================================================= */

.faq-section {
    background: var(--off-white);
    padding-top: 72px;
    padding-bottom: 88px;
}
.faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    margin-top: 40px;
    align-items: stretch;
}
.faq-card {
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 32px 32px 30px;
    box-shadow: 0 2px 6px rgba(15, 20, 30, 0.04);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.faq-card::before {
    content: '';
    display: block;
    width: 36px;
    height: 3px;
    border-radius: 2px;
    background: var(--gold);
    margin-bottom: 2px;
}
.faq-card__q {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.28;
    color: var(--ink);
    margin: 0;
    letter-spacing: -0.005em;
    text-wrap: balance;
}
.faq-card__a {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 400;
    font-size: 15.5px;
    line-height: 1.65;
    color: var(--text-2);
    margin: 0;
    text-wrap: pretty;
}
@media (max-width: 900px) {
    .faq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
    .faq-card { padding: 28px 26px 26px; }
}
@media (max-width: 640px) {
    .faq-grid { grid-template-columns: 1fr; gap: 20px; margin-top: 28px; }
    .faq-section { padding-top: 56px; padding-bottom: 64px; }
    .faq-card__q { font-size: 19px; }
}

/* Relationship-section centered copy — overrides the earlier rule at
   ~line 1061 (padding: 90px 60px 90px calc((100vw - 1360px)/2 + 40px);
   max-width: 720px; margin-left: auto), which drifts the copy toward
   the image seam on wide viewports. Later source order wins — no
   !important needed.                                                   */
.why-agents-copy {
    padding: 90px clamp(32px, 5vw, 80px);
    max-width: 640px;
    margin: 0 auto;
}


/* ── Footer theme tokens (agency-scoped brand-neutral defaults) ─────

   Adds a semantic token layer for the three footer surfaces. Each
   agency's theme.css can now brand the footer by assigning these
   three tokens (or the four including --footer-border) without
   overriding any selector directly.

   Default values here are the SHELL's CURRENT visual colors so ARS
   and every existing clone renders identically until an agency
   theme re-maps them.

   Prestige compatibility: Prestige theme.css currently overrides
   .cta-footer / .footer-panel / .footer-bottom directly with
   !important. Those overrides continue to win against these
   token-driven declarations. A future Prestige simplification could
   drop the three !important overrides and just reassign
   --footer-bg / --footer-panel-bg / --footer-bottom-bg to Prestige
   Primary Navy / darker Navy — the shell rules below would then
   paint the footer correctly with no per-selector override.

   NOTE on CTA/footer DOM: <section class="cta-footer"> wraps BOTH
   the "Protect what matters." CTA block AND the footer nav panel +
   Mythic block. Painting .cta-footer paints the CTA area too.
   That's the current architecture; separating them cleanly requires
   a markup change (introducing a distinct footer wrapper), which is
   out of scope for this task. See report item F.                     */

:root {
    --footer-bg:        #1a1a1a;   /* ARS current .cta-footer bg — outer field around footer + CTA */
    --footer-panel-bg:  #262a30;   /* ARS current .footer-panel bg — rounded inset nav panel      */
    --footer-bottom-bg: var(--footer-bg);   /* Mythic/legal block — inherits outer by default   */
    --footer-border:    rgba(255, 255, 255, 0.06);   /* subtle edge on inset panels               */
}

/* Wire the three surfaces to the tokens. These declarations override
   the earlier hard-coded rules by later-source-order specificity —
   no !important is needed at the shell layer. */
.cta-footer {
    background: var(--footer-bg);
}
.footer-panel {
    background: var(--footer-panel-bg);
    border: 1px solid var(--footer-border);
}
.footer-bottom {
    background: var(--footer-bottom-bg);
    /* Generic UX improvement: keeps the copyright / Powered-by line
       from visually touching the footer edge. Applies to every future
       clone.                                                          */
    padding-bottom: 24px;
    border-radius: 0 0 16px 16px;
}


/* ── Button + card generic hooks: DEFERRED with reason ─────────────

   --button-dark-outline-* and --card-* semantic hooks were considered
   for this pass and INTENTIONALLY NOT added. Reason: adding token
   names without wiring them to shell selectors would be dead code
   (no ARS rule uses these tokens today), and wiring them properly
   requires refactoring the master .pill-btn and .editorial-item
   rules — a broader change than fits the "keep scope tight" gate.
   See report items I and J for the exact deferred surface and the
   safe migration plan.                                              */
/* =============================================================================
   END SHELL v2 block
   ========================================================================= */


/* =============================================================================
   MYTHIC BODY-COPY STANDARD (2026-09-12)
   Editorial paragraph treatment for cornerstone / long-form narrative blocks.
   Matches Daniel's Morales Agency body-copy reference.
   ========================================================================== */
.mythic-body {
    max-width: 720px;
    margin: 0 auto;
    color: var(--ink, #0a0a0a);
    font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    font-size: 18px;
    line-height: 1.85;
    text-wrap: pretty;
}
.mythic-body p {
    color: var(--ink, #0a0a0a);
    font-size: 18px;
    line-height: 1.85;
    margin: 0 0 28px;
}
.mythic-body p:last-child { margin-bottom: 0; }
.mythic-body-logo {
    margin: 0 auto 36px;
    text-align: center;
}
.mythic-body-logo img {
    max-height: 96px;
    max-width: 260px;
    width: auto;
    height: auto;
    display: inline-block;
}
@media (max-width: 720px) {
    .mythic-body,
    .mythic-body p { font-size: 17px; line-height: 1.75; }
}

/* =============================================================================
   POWERED-BY BAR (used by non-parent Mythic agency sites)
   Mythic Enterprises PARENT site does NOT render this bar — the partial is
   only included by agency site headers. Styling lives here so it can also be
   picked up if the shared CSS is inherited by future agency clones.
   ========================================================================== */
.powered-by-bar {
    background: #000;
    color: #fff;
    padding: 8px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    font-size: 12.5px;
    letter-spacing: 0.02em;
    line-height: 1;
    position: relative;
    z-index: 100;
}
.powered-by-bar__logo {
    height: 16px;
    width: auto;
    display: inline-block;
    opacity: 0.95;
}
.powered-by-bar__label {
    color: #fff;
    opacity: 0.9;
    font-weight: 400;
}
.powered-by-bar a {
    color: #fff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.powered-by-bar a:hover { opacity: 1; text-decoration: underline; }
@media (max-width: 480px) {
    .powered-by-bar { padding: 7px 12px; font-size: 11.5px; }
    .powered-by-bar__logo { height: 14px; }
}

/* =============================================================================
   REUSABLE COMPONENTS (added 2026-09-12) — clone-source safe
   These are content-agnostic patterns intended to live in the shared shell.
   Mythic Enterprises uses them; agency clones inherit them automatically.
   ========================================================================== */

/* ---- Cornerstone / logo-first landing card grid ------------------------- */
.cs-landing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    max-width: 1200px;
    margin: 0 auto;
}
@media (max-width: 900px) {
    .cs-landing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 560px) {
    .cs-landing-grid { grid-template-columns: 1fr; gap: 18px; }
}
.cs-landing-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--line, #e6e2d8);
    border-radius: 16px;
    padding: 26px 24px 22px;
    text-decoration: none;
    color: var(--ink, #0a0a0a);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    box-shadow: 0 2px 6px -3px rgba(10, 15, 30, 0.10);
    min-height: 320px;
}
.cs-landing-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px -18px rgba(10, 15, 30, 0.32);
    border-color: var(--blue, #1e6c99);
}
.cs-landing-card__logo {
    height: 84px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 18px;
    padding: 8px 4px;
    border-bottom: 1px solid var(--line, #e6e2d8);
}
.cs-landing-card__logo img {
    max-height: 68px;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}
.cs-landing-card__logo-fallback {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--ink, #0a0a0a);
    text-align: center;
    letter-spacing: -0.01em;
}
.cs-landing-card__body { flex: 1 1 auto; }
.cs-landing-card__eyebrow {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--blue, #1e6c99);
    font-weight: 600;
    margin: 0 0 6px;
}
.cs-landing-card__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--ink, #0a0a0a);
    margin: 0 0 10px;
    letter-spacing: -0.01em;
    line-height: 1.25;
}
.cs-landing-card__blurb {
    font-size: 14.5px;
    color: var(--text-2, #4a5468);
    line-height: 1.6;
    margin: 0 0 16px;
    text-wrap: pretty;
}
.cs-landing-card__more {
    display: inline-block;
    margin-top: auto;
    color: var(--blue, #1e6c99);
    font-weight: 600;
    font-size: 14px;
}
.cs-landing-card:hover .cs-landing-card__more { text-decoration: underline; }

/* ---- Logo marquee / partner slideshow ----------------------------------- */
.logo-marquee {
    margin-top: 28px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.logo-marquee__track {
    display: flex;
    align-items: center;
    gap: 56px;
    width: max-content;
    animation: logo-marquee-scroll 48s linear infinite;
    will-change: transform;
}
.logo-marquee:hover .logo-marquee__track { animation-play-state: paused; }
.logo-marquee__item {
    flex: 0 0 auto;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.logo-marquee__item img {
    max-height: 44px;
    max-width: 160px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(20%);
    opacity: 0.9;
    transition: filter .2s ease, opacity .2s ease;
}
.logo-marquee__item img:hover {
    filter: grayscale(0);
    opacity: 1;
}
@keyframes logo-marquee-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
@media (max-width: 720px) {
    .logo-marquee__track { gap: 36px; animation-duration: 36s; }
    .logo-marquee__item { height: 48px; }
    .logo-marquee__item img { max-height: 34px; max-width: 120px; }
}
@media (prefers-reduced-motion: reduce) {
    .logo-marquee__track { animation: none; flex-wrap: wrap; justify-content: center; }
    .logo-marquee { -webkit-mask-image: none; mask-image: none; }
}

/* =============================================================================
   CORNERSTONE CAROUSEL (2026-09-12)
   Horizontal snap-scroll slideshow used on the parent-company home page.
   Pure CSS scroll-snap + a tiny JS controller for prev/next buttons.
   Behaves natively without JS: touch swipe + trackpad drag still work.
   ========================================================================== */

/* -- Layout: viewport + track ---- */
.cs-carousel {
    position: relative;
    margin-top: 40px;
    padding: 0 44px;   /* room for nav arrows on desktop */
}
.cs-carousel__viewport {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.cs-carousel__viewport::-webkit-scrollbar { display: none; }
.cs-carousel__track {
    display: flex;
    gap: 24px;
    padding: 4px 4px 12px;
    width: max-content;
}

/* -- Slide sizing: 3 desktop, 2 tablet, 1 mobile ---- */
.cs-carousel__slide {
    flex: 0 0 calc((100% - 48px) / 3); /* 100% viewport minus 2 gaps of 24px */
    min-width: 0;
    scroll-snap-align: start;
    display: flex;
}
@media (max-width: 900px) {
    .cs-carousel { padding: 0 36px; }
    .cs-carousel__slide { flex-basis: calc((100% - 24px) / 2); }
}
@media (max-width: 620px) {
    .cs-carousel { padding: 0 8px; }
    .cs-carousel__track { gap: 16px; }
    .cs-carousel__slide { flex-basis: calc(100% - 40px); }  /* leave a peek */
}

/* -- Slide card ---- */
.cs-slide-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: #fff;
    border: 1px solid var(--line, #e6e2d8);
    border-radius: 12px;
    padding: 24px 22px 20px;
    text-decoration: none;
    color: var(--ink, #0a0a0a);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    box-shadow: 0 2px 6px -3px rgba(10, 15, 30, 0.10);
    min-height: 340px;
}
.cs-slide-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 36px -18px rgba(10, 15, 30, 0.28);
    border-color: var(--blue, #1e6c99);
}
.cs-slide-card__logo {
    height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 4px;
    margin: 0 0 18px;
    border-bottom: 1px solid var(--line, #e6e2d8);
}
.cs-slide-card__logo img {
    max-height: 72px;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}
.cs-slide-card__logo-fallback {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--ink, #0a0a0a);
    text-align: center;
    letter-spacing: -0.01em;
}
.cs-slide-card__body { flex: 1 1 auto; }
.cs-slide-card__eyebrow {
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--blue, #1e6c99);
    font-weight: 600;
    margin: 0 0 6px;
}
.cs-slide-card__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--ink, #0a0a0a);
    margin: 0 0 10px;
    letter-spacing: -0.01em;
    line-height: 1.25;
}
.cs-slide-card__blurb {
    font-size: 14.5px;
    color: var(--text-2, #4a5468);
    line-height: 1.6;
    margin: 0 0 16px;
    text-wrap: pretty;
}
.cs-slide-card__cta {
    display: inline-block;
    margin-top: auto;
    color: var(--blue, #1e6c99);
    font-weight: 600;
    font-size: 14px;
}
.cs-slide-card:hover .cs-slide-card__cta { text-decoration: underline; }

/* -- Nav arrows ---- */
.cs-carousel__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid var(--line, #e6e2d8);
    background: #fff;
    color: var(--ink, #0a0a0a);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 6px 20px -6px rgba(10, 15, 30, 0.25);
    transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.cs-carousel__nav:hover:not(:disabled) {
    background: var(--blue, #1e6c99);
    border-color: var(--blue, #1e6c99);
    color: #fff;
}
.cs-carousel__nav:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}
.cs-carousel__nav--prev { left: 0; }
.cs-carousel__nav--next { right: 0; }
@media (max-width: 620px) {
    /* On phone, hide side arrows and let native swipe drive it. */
    .cs-carousel__nav { display: none; }
}

/* -- Reduced motion: disable smooth scroll ---- */
@media (prefers-reduced-motion: reduce) {
    .cs-carousel__viewport { scroll-behavior: auto; }
}

/* -- Fallback for any legacy .cornerstone-grid / .cornerstone-card usage --
   The homepage and about pages now use dedicated components, but keep a
   sensible fallback here so any yet-un-updated caller doesn't render as
   an unstyled vertical text stack. ---- */
.cornerstone-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    max-width: 1200px;
    margin: 40px auto 0;
}
@media (max-width: 900px) { .cornerstone-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .cornerstone-grid { grid-template-columns: 1fr; } }
.cornerstone-card {
    display: block;
    background: #fff;
    border: 1px solid var(--line, #e6e2d8);
    border-radius: 12px;
    padding: 24px 22px;
    text-decoration: none;
    color: var(--ink, #0a0a0a);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    box-shadow: 0 2px 6px -3px rgba(10, 15, 30, 0.10);
}
.cornerstone-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -14px rgba(10, 15, 30, 0.25);
    border-color: var(--blue, #1e6c99);
}
.cornerstone-card-eyebrow {
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--blue, #1e6c99);
    font-weight: 600;
    margin-bottom: 6px;
}
.cornerstone-card-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 20px;
    font-weight: 600;
    color: var(--ink, #0a0a0a);
    margin: 0 0 10px;
    letter-spacing: -0.01em;
}
.cornerstone-card-blurb {
    font-size: 14.5px;
    color: var(--text-2, #4a5468);
    line-height: 1.6;
    margin: 0 0 14px;
}
.cornerstone-card-more {
    color: var(--blue, #1e6c99);
    font-weight: 600;
    font-size: 14px;
}

/* =============================================================================
   VISUAL CORRECTION PASS — 2026-09-12b
   Fixes: mythic-body typography, cornerstone 2-col detail, Who We Serve,
   carousel slide sizing bug, section-neutral partners bg, CTA widening.
   ========================================================================== */

/* ---- .mythic-body typography (Morales-reference target) ---- */
/* Override the earlier oversized/loose values with a proper editorial size. */
.mythic-body {
    max-width: 640px;
    margin: 0;                  /* left-align, not centered */
    color: var(--ink, #0a0a0a);
    font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    font-size: 17px;
    line-height: 1.65;
    text-align: left;
    text-wrap: pretty;
}
.mythic-body p {
    color: var(--ink, #0a0a0a);
    font-size: 17px;
    line-height: 1.65;
    margin: 0 0 18px;
}
.mythic-body p:last-child { margin-bottom: 0; }
.mythic-body-logo {
    margin: 0 0 24px;
    text-align: left;
}
.mythic-body-logo img {
    max-height: 88px;
    max-width: 240px;
    width: auto;
    height: auto;
    display: inline-block;
}
@media (max-width: 720px) {
    .mythic-body,
    .mythic-body p { font-size: 16px; line-height: 1.6; }
}

/* ---- Cornerstone detail 2-column layout ---- */
.cs-detail {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr);
    gap: 56px;
    align-items: start;
    max-width: 1160px;
    margin: 0 auto;
}
.cs-detail__main { min-width: 0; }
.cs-detail__logo {
    margin: 0 0 32px;
}
.cs-detail__logo img {
    max-height: 96px;
    max-width: 280px;
    width: auto;
    height: auto;
    display: block;
    object-fit: contain;
}
.cs-detail__aside {
    position: sticky;
    top: 24px;
}
.cs-detail__ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px;
}
.cs-detail__ctas .pill-btn { margin: 0; }
@media (max-width: 900px) {
    .cs-detail {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .cs-detail__aside { position: static; }
    .cs-detail__logo { text-align: center; margin-bottom: 24px; }
    .cs-detail__logo img { margin: 0 auto; }
    .mythic-body { max-width: none; }
}

/* ---- Who We Serve — distinct asymmetric layout ---- */
.who-serve {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 64px;
    align-items: start;
    max-width: 1160px;
    margin: 0 auto;
}
.who-serve__intro { padding-top: 8px; }
.who-serve__eyebrow {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--blue, #1e6c99);
    font-weight: 600;
    margin: 0 0 14px;
}
.who-serve__heading {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: var(--ink, #0a0a0a);
    margin: 0 0 18px;
    text-wrap: balance;
}
.who-serve__lede {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 17px;
    line-height: 1.6;
    color: var(--text-2, #4a5468);
    margin: 0;
    max-width: 380px;
}
.who-serve__benefits {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
.who-serve__panel {
    background: var(--cream, #f5f1e8);
    border-radius: 14px;
    padding: 28px 30px;
    border-left: 3px solid var(--gold, #c9a35c);
}
.who-serve__panel-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--ink, #0a0a0a);
    margin: 0 0 10px;
    letter-spacing: -0.005em;
}
.who-serve__panel-body {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: var(--text-2, #4a5468);
    margin: 0;
}
@media (max-width: 900px) {
    .who-serve { grid-template-columns: 1fr; gap: 32px; }
    .who-serve__heading { font-size: 34px; }
    .who-serve__lede { max-width: none; }
}

/* ---- Section neutral gray (for partners) ---- */
.section-neutral { background: #f4f5f7; }
.section-neutral h1, .section-neutral h2, .section-neutral h3, .section-neutral h4 { color: var(--ink, #0a0a0a); }

/* ---- Carousel track fix: remove max-content so slide 100% is bounded ---- */
/* This overrides the earlier .cs-carousel__track { width: max-content } which
   caused slides to render at ~3000px each because 100% referenced the
   auto-grown track instead of the viewport width. */
.cs-carousel__track {
    width: auto;
    max-width: none;
}
/* Slides remain flex 0 0 calc((100% - 48px)/3) — track width now equals
   viewport width, so slides sit at ~1/3 of viewport as designed. */

/* ---- CTA section widening (Considering your agency's future?) ---- */
.cta-section {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}
.cta-section h2 {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    /* No text-wrap: balance — the browser was 3-line-balancing this and
       orphaning content in ways that hid the natural 2-line pattern. Let
       the paragraph flow with normal wrapping; the widened max-width gives
       "Considering your agency's future? Start with a conversation." two
       natural editorial lines at typical desktop widths. */
}

/* =============================================================================
   2026-09-12 (v2) DESIGN + FIDELITY CORRECTIONS
   Editorial body-copy standard, larger partner logos, tighter cornerstone-
   carousel logos, premium Mission/Vision, editorial CTA, About 2-col intro,
   contact-form component. Everything here is content-agnostic and is
   intended to live in the clone-source shell.
   ========================================================================== */

/* ---- Editorial body-copy STANDARD — overrides earlier .mythic-body ---- */
.mythic-body {
    max-width: 660px;
    margin: 0 auto;
    color: #1a2332;
    font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    font-size: 19px;
    line-height: 1.75;
    font-weight: 400;
    letter-spacing: -0.003em;
    text-wrap: pretty;
    -webkit-font-smoothing: antialiased;
}
.mythic-body p {
    color: #1a2332;
    font-size: 19px;
    line-height: 1.75;
    margin: 0 0 26px;
    font-weight: 400;
}
.mythic-body p:last-child { margin-bottom: 0; }
.mythic-body p strong { color: #0a0a0a; font-weight: 600; }
@media (max-width: 720px) {
    .mythic-body,
    .mythic-body p { font-size: 17.5px; line-height: 1.7; }
    .mythic-body p { margin-bottom: 22px; }
}

/* ---- About 2-column intro (copy | image) ------------------------------- */
.about-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: 64px;
    align-items: start;
    max-width: 1200px;
    margin: 0 auto;
}
.about-intro__copy .mythic-body {
    max-width: none;   /* let the column define the width */
    margin: 0;
}
.about-intro__media {
    position: sticky;
    top: 100px;
}
.about-intro__frame {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 60px -32px rgba(10, 15, 30, 0.32);
    aspect-ratio: 4 / 5;
    background: #eef2f5;
}
.about-intro__frame::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(10, 15, 30, 0.18) 100%);
    pointer-events: none;
}
.about-intro__frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
@media (max-width: 900px) {
    .about-intro { grid-template-columns: 1fr; gap: 36px; }
    .about-intro__media { position: static; }
    .about-intro__frame { aspect-ratio: 16 / 10; }
}

/* ---- Premium Mission / Vision pairing ---------------------------------- */
.section-paper {
    background: #f5f1e8;
    background-image: linear-gradient(180deg, #f7f3ec 0%, #efe9dc 100%);
    padding-top: 96px;
    padding-bottom: 96px;
}
.mission-vision {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 56px;
    align-items: start;
    max-width: 1080px;
    margin: 0 auto;
}
.mission-vision__divider {
    width: 1px;
    align-self: stretch;
    background: linear-gradient(180deg, transparent 0%, rgba(10, 15, 30, 0.14) 20%, rgba(10, 15, 30, 0.14) 80%, transparent 100%);
    margin: 8px 0;
}
.mission-vision__block { min-width: 0; }
.mission-vision__eyebrow {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--blue, #1e6c99);
    margin: 0 0 20px;
}
.mission-vision__heading {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.2;
    color: #0a0a0a;
    letter-spacing: -0.015em;
    margin: 0 0 20px;
    text-wrap: balance;
}
.mission-vision__body {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 17px;
    line-height: 1.7;
    color: #2c3138;
    margin: 0;
    max-width: 44ch;
}
@media (max-width: 900px) {
    .mission-vision { grid-template-columns: 1fr; gap: 40px; }
    .mission-vision__divider {
        width: 100%; height: 1px;
        background: linear-gradient(90deg, transparent 0%, rgba(10, 15, 30, 0.14) 20%, rgba(10, 15, 30, 0.14) 80%, transparent 100%);
    }
    .mission-vision__heading { font-size: 26px; }
    .section-paper { padding-top: 64px; padding-bottom: 64px; }
}

/* ---- Editorial CTA (avoids adjacent-black rhythm) ---------------------- */
.section-editorial {
    background: #faf7f0;
    background-image:
        radial-gradient(1200px 400px at 20% 0%, rgba(30, 108, 153, 0.06) 0%, transparent 65%),
        linear-gradient(180deg, #faf7f0 0%, #f2ece0 100%);
    padding-top: 90px;
    padding-bottom: 90px;
    border-top: 1px solid rgba(10, 15, 30, 0.06);
    border-bottom: 1px solid rgba(10, 15, 30, 0.06);
}
.editorial-cta {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}
.editorial-cta__eyebrow {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--blue, #1e6c99);
    font-weight: 600;
    margin: 0 0 18px;
}
.editorial-cta__heading {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 44px;
    font-weight: 500;
    line-height: 1.15;
    color: #0a0a0a;
    letter-spacing: -0.015em;
    margin: 0 0 20px;
    text-wrap: balance;
}
.editorial-cta__body {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 18px;
    line-height: 1.7;
    color: #2c3138;
    margin: 0 0 32px;
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
}
.editorial-cta__action { margin: 0; }
@media (max-width: 720px) {
    .section-editorial { padding-top: 60px; padding-bottom: 60px; }
    .editorial-cta__heading { font-size: 32px; }
    .editorial-cta__body { font-size: 16.5px; }
}

/* ---- Partners marquee — larger logos, ~5 visible on desktop ------------ */
.logo-marquee {
    margin-top: 32px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.logo-marquee__track {
    display: flex;
    align-items: center;
    gap: 48px;
    width: max-content;
    animation: logo-marquee-scroll 56s linear infinite;
    will-change: transform;
}
.logo-marquee:hover .logo-marquee__track { animation-play-state: paused; }
.logo-marquee__item {
    flex: 0 0 auto;
    width: 200px;
    height: 108px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
}
.logo-marquee__item img {
    max-height: 84px;
    max-width: 180px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: none;
    opacity: 1;
    transition: transform .2s ease;
}
.logo-marquee__item img:hover { transform: scale(1.03); }
@media (max-width: 900px) {
    .logo-marquee__track { gap: 36px; animation-duration: 44s; }
    .logo-marquee__item { width: 160px; height: 88px; }
    .logo-marquee__item img { max-height: 66px; max-width: 140px; }
}
@media (max-width: 560px) {
    .logo-marquee__track { gap: 28px; animation-duration: 36s; }
    .logo-marquee__item { width: 130px; height: 74px; }
    .logo-marquee__item img { max-height: 56px; max-width: 118px; }
}
@media (prefers-reduced-motion: reduce) {
    .logo-marquee__track { animation: none; flex-wrap: wrap; justify-content: center; }
    .logo-marquee { -webkit-mask-image: none; mask-image: none; }
}

/* ---- Cornerstone carousel — logo more restrained, content leads -------- */
.cs-slide-card {
    padding: 20px 22px 20px;
    min-height: 320px;
}
.cs-slide-card__logo {
    height: 56px;
    padding: 0;
    margin: 0 0 14px;
    border-bottom: none;
    justify-content: flex-start;
}
.cs-slide-card__logo img {
    max-height: 44px;
    max-width: 160px;
    object-fit: contain;
    object-position: left center;
}
.cs-slide-card__logo-fallback {
    font-size: 14px;
    color: var(--text-2, #4a5468);
    letter-spacing: 0.02em;
    text-align: left;
    width: 100%;
}
.cs-slide-card__eyebrow { margin-bottom: 4px; }
.cs-slide-card__title { font-size: 22px; margin-bottom: 8px; }
.cs-slide-card__blurb { margin-bottom: 12px; }

/* ---- Cornerstone landing (unchanged intent, tighter logo shelf) -------- */
.cs-landing-card__logo {
    height: 72px;
    padding: 4px 4px;
    margin-bottom: 16px;
}
.cs-landing-card__logo img { max-height: 56px; }

/* ---- Contact form component -------------------------------------------- */
.contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 48px;
    max-width: 1200px;
    margin: 0 auto;
    align-items: start;
}
@media (max-width: 960px) {
    .contact-layout { grid-template-columns: 1fr; gap: 40px; }
}
.contact-form {
    background: #ffffff;
    border: 1px solid var(--line, #e6e2d8);
    border-radius: 16px;
    padding: 36px 36px 32px;
    box-shadow: 0 20px 46px -30px rgba(10, 15, 30, 0.20);
}
@media (max-width: 560px) {
    .contact-form { padding: 26px 20px 22px; border-radius: 12px; }
}
.contact-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
@media (max-width: 560px) {
    .contact-form__row { grid-template-columns: 1fr; gap: 0; }
}
.contact-form__field {
    display: block;
    margin: 0 0 18px;
    min-width: 0;
}
.contact-form__field label,
.contact-form__label {
    display: block;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 13.5px;
    font-weight: 600;
    color: #0a0a0a;
    letter-spacing: 0.02em;
    margin: 0 0 8px;
}
.contact-form__field label .req,
.contact-form__label .req { color: #c0392b; margin-left: 2px; }
.contact-form__field input[type="text"],
.contact-form__field input[type="email"],
.contact-form__field input[type="tel"],
.contact-form__field select,
.contact-form__field textarea {
    width: 100%;
    box-sizing: border-box;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 15.5px;
    line-height: 1.4;
    color: #1a2332;
    background: #ffffff;
    border: 1px solid #d5d3cc;
    border-radius: 10px;
    padding: 12px 14px;
    min-height: 46px;
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
    -webkit-appearance: none;
    appearance: none;
}
.contact-form__field textarea {
    min-height: 148px;
    resize: vertical;
    line-height: 1.55;
}
.contact-form__field select {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%231a2332' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><polyline points='1 1.5 6 6.5 11 1.5'/></svg>");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px 8px;
    padding-right: 40px;
}
.contact-form__field input:focus,
.contact-form__field select:focus,
.contact-form__field textarea:focus {
    outline: none;
    border-color: var(--blue, #1e6c99);
    box-shadow: 0 0 0 3px rgba(30, 108, 153, 0.16);
    background: #ffffff;
}
.contact-form__field input:invalid:not(:placeholder-shown),
.contact-form__field textarea:invalid:not(:placeholder-shown) {
    border-color: #c0392b;
}
.contact-form__field--radios { margin-bottom: 20px; }
.contact-form__radio-group {
    display: flex;
    gap: 24px;
    align-items: center;
    padding-top: 2px;
}
.contact-form__radio {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #1a2332;
    font-weight: 500;
    cursor: pointer;
    margin: 0;
}
.contact-form__radio input[type="radio"] {
    width: 18px; height: 18px;
    accent-color: var(--blue, #1e6c99);
    margin: 0;
}
.contact-form__hp {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}
.contact-form__quote {
    margin: 4px 0 22px;
    font-size: 14.5px;
}
.contact-form__quote a {
    color: var(--blue, #1e6c99);
    font-weight: 600;
    text-decoration: none;
}
.contact-form__quote a:hover { text-decoration: underline; }
.contact-form__submit { margin-top: 8px; }
.contact-form__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 32px;
    background: #101828;
    color: #ffffff;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 15.5px;
    font-weight: 600;
    letter-spacing: 0.01em;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    min-height: 48px;
    transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
    box-shadow: 0 12px 24px -14px rgba(10, 15, 30, 0.5);
}
.contact-form__btn:hover:not(:disabled) {
    background: #1a2332;
    transform: translateY(-1px);
    box-shadow: 0 16px 30px -14px rgba(10, 15, 30, 0.55);
}
.contact-form__btn:disabled { opacity: 0.7; cursor: wait; }
.contact-form__btn.is-pending .contact-form__btn-label::after {
    content: ' …';
}
.contact-form__btn-spinner { display: none; }
.contact-form__status {
    margin: 18px 0 0;
    padding: 0;
    font-size: 14.5px;
    line-height: 1.55;
    min-height: 20px;
}
.contact-form__status--ok {
    color: #14663a;
    padding: 14px 16px;
    background: #ecf9f0;
    border: 1px solid #cbe7d3;
    border-radius: 10px;
}
.contact-form__status--err {
    color: #7a2b1f;
    padding: 14px 16px;
    background: #fdecea;
    border: 1px solid #f5c9c2;
    border-radius: 10px;
}
/* Aside card next to the form */
.contact-aside-card {
    background: #ffffff;
    border: 1px solid var(--line, #e6e2d8);
    border-radius: 16px;
    padding: 28px 26px 26px;
    box-shadow: 0 8px 20px -14px rgba(10, 15, 30, 0.16);
}
.contact-aside-card h3 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 22px;
    font-weight: 600;
    color: #0a0a0a;
    letter-spacing: -0.01em;
    margin: 0 0 10px;
    line-height: 1.25;
}
.contact-aside-card p {
    font-size: 14.5px;
    line-height: 1.65;
    color: #4a5468;
    margin: 0 0 18px;
}
.contact-aside-card__list {
    list-style: none;
    margin: 0 0 22px;
    padding: 0;
    border-top: 1px solid var(--line, #e6e2d8);
}
.contact-aside-card__list li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 0;
    border-bottom: 1px solid var(--line, #e6e2d8);
    font-size: 14px;
}
.contact-aside-card__agency {
    color: #1a2332;
    font-weight: 600;
    line-height: 1.35;
    min-width: 0;
    flex: 1 1 auto;
}
.contact-aside-card__list li a {
    color: var(--blue, #1e6c99);
    text-decoration: none;
    font-weight: 600;
    white-space: nowrap;
}
.contact-aside-card__list li a:hover { text-decoration: underline; }

/* ---- Shared final CTA width (make sure "future" doesn't orphan) -------- */
.cta-section h2 {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    text-wrap: pretty;
}
@media (min-width: 900px) {
    .cta-section h2 { white-space: normal; }
}

/* =============================================================================
   2026-09-12 (v3) DESIGN + FIDELITY CORRECTIONS — second correction pass
   Editorial Mission/Vision (asymmetric, oversized numerals), Resources card
   grid with featured imagery, scalable footer with wider Cornerstones area,
   further-refined partner + carousel logo sizing, contact-form defensive
   layout tweaks.
   ========================================================================== */

/* ---- Mission / Vision — asymmetric editorial with oversized numerals ---- */
/* Supersedes v2 .mission-vision. Old class is retained for compatibility but
   is unused by the new about.php markup. */
.mv-editorial {
    max-width: 1160px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 88px;
    position: relative;
}
.mv-editorial::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 60px;
    bottom: 60px;
    width: 1px;
    background: linear-gradient(180deg, transparent 0%, rgba(10,15,30,0.10) 25%, rgba(10,15,30,0.10) 75%, transparent 100%);
    pointer-events: none;
}
.mv-editorial__row {
    display: grid;
    grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
    gap: 32px;
    align-items: start;
    position: relative;
    z-index: 1;
}
.mv-editorial__row--left {
    grid-column: 1 / -1;
    max-width: 660px;
    justify-self: start;
    text-align: left;
}
.mv-editorial__row--right {
    grid-column: 1 / -1;
    max-width: 660px;
    justify-self: end;
    text-align: left;
}
.mv-editorial__numeral {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 500;
    font-size: 128px;
    line-height: 0.9;
    color: transparent;
    -webkit-text-stroke: 1px rgba(30, 108, 153, 0.55);
    letter-spacing: -0.04em;
    user-select: none;
    padding-top: 6px;
}
.mv-editorial__text { min-width: 0; padding-top: 10px; }
.mv-editorial__eyebrow {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 12.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--blue, #1e6c99);
    margin: 0 0 20px;
}
.mv-editorial__heading {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 38px;
    font-weight: 500;
    line-height: 1.15;
    color: #0a0a0a;
    letter-spacing: -0.018em;
    margin: 0 0 22px;
    text-wrap: balance;
}
.mv-editorial__body {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 17.5px;
    line-height: 1.75;
    color: #2c3138;
    margin: 0;
    max-width: 52ch;
}
@media (max-width: 900px) {
    .mv-editorial { gap: 56px; }
    .mv-editorial::before { display: none; }
    .mv-editorial__row { grid-template-columns: 1fr; gap: 12px; max-width: 100%; justify-self: stretch; }
    .mv-editorial__numeral { font-size: 96px; padding-top: 0; }
    .mv-editorial__heading { font-size: 30px; }
}

/* ---- Resources card grid — polished archive treatment ------------------- */
.resources-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    max-width: 1200px;
    margin: 0 auto;
}
@media (max-width: 960px) {
    .resources-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
}
@media (max-width: 620px) {
    .resources-cards { grid-template-columns: 1fr; gap: 22px; }
}
.resource-card {
    background: #ffffff;
    border: 1px solid var(--line, #e6e2d8);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 8px -4px rgba(10, 15, 30, 0.10);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    display: flex;
}
.resource-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 36px -18px rgba(10, 15, 30, 0.28);
    border-color: var(--blue, #1e6c99);
}
.resource-card__link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: var(--ink, #0a0a0a);
    width: 100%;
    height: 100%;
}
.resource-card__media {
    position: relative;
    aspect-ratio: 16 / 10;
    background: #eef2f5;
    overflow: hidden;
}
.resource-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}
.resource-card:hover .resource-card__media img { transform: scale(1.04); }
.resource-card__tag {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 6px 12px;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #ffffff;
    background: rgba(10, 15, 30, 0.68);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-radius: 999px;
}
.resource-card__body {
    padding: 22px 22px 20px;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
}
.resource-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11.5px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--text-2, #4a5468);
    margin: 0 0 10px;
}
.resource-card__meta .dot { color: var(--line, #e6e2d8); font-weight: 400; letter-spacing: 0; }
.resource-card__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.22;
    color: #0a0a0a;
    letter-spacing: -0.01em;
    margin: 0 0 12px;
    text-wrap: balance;
}
.resource-card__excerpt {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: var(--text-2, #4a5468);
    margin: 0 0 16px;
    text-wrap: pretty;
}
.resource-card__more {
    margin-top: auto;
    color: var(--blue, #1e6c99);
    font-weight: 600;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap .18s ease;
}
.resource-card:hover .resource-card__more { gap: 10px; }

/* ---- Footer — scalable Cornerstones area ------------------------------- */
/* Cornerstones column is now wider than Company/Legal and internally uses
   two sub-columns. This lets us add more agencies without the whole footer
   getting absurdly tall. */
.footer-cols.footer-cols-scalable {
    display: grid;
    grid-template-columns: minmax(0, 2.4fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 48px;
}
.footer-col-cornerstones h5 { margin-bottom: 18px; }
.footer-cornerstones-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px 40px;
}
.footer-cornerstones-grid ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-cornerstones-grid li { margin: 0 0 10px; }
.footer-cornerstones-more { margin-top: 6px; }
@media (max-width: 1024px) {
    .footer-cols.footer-cols-scalable {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
        gap: 36px;
    }
}
@media (max-width: 780px) {
    .footer-cols.footer-cols-scalable {
        grid-template-columns: 1fr 1fr;
        gap: 32px 28px;
    }
    .footer-col-cornerstones { grid-column: 1 / -1; }
    .footer-cornerstones-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
    .footer-cols.footer-cols-scalable { grid-template-columns: 1fr; }
    .footer-cornerstones-grid { grid-template-columns: 1fr; gap: 8px; }
}

/* ---- Legal row above disclaimer (matches live footer layout) ----------- */
.footer-legal-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
    margin: 0 0 14px;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 13.5px;
}
.footer-legal-row a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.footer-legal-row a:hover { color: #ffffff; }
.footer-legal-row .sep { color: rgba(255, 255, 255, 0.35); user-select: none; }
.footer-bottom .footer-bottom-text .disclaimer + .disclaimer { margin-top: 12px; }
.footer-bottom .footer-bottom-text .copy a {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ---- Partners marquee — bump toward ~5 visible on desktop -------------- */
.logo-marquee { margin-top: 32px; }
.logo-marquee__track {
    display: flex;
    align-items: center;
    gap: 56px;
    width: max-content;
    animation: logo-marquee-scroll 60s linear infinite;
    will-change: transform;
}
.logo-marquee__item {
    flex: 0 0 auto;
    width: 220px;
    height: 120px;
    padding: 0 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.logo-marquee__item img {
    max-height: 96px;
    max-width: 200px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: none;
    opacity: 1;
}
@media (max-width: 900px) {
    .logo-marquee__track { gap: 40px; animation-duration: 48s; }
    .logo-marquee__item { width: 170px; height: 96px; }
    .logo-marquee__item img { max-height: 76px; max-width: 150px; }
}
@media (max-width: 560px) {
    .logo-marquee__track { gap: 28px; animation-duration: 40s; }
    .logo-marquee__item { width: 130px; height: 78px; }
    .logo-marquee__item img { max-height: 60px; max-width: 118px; }
}

/* ---- Cornerstone carousel logos — reduce a bit more -------------------- */
.cs-slide-card__logo { height: 48px; margin-bottom: 12px; }
.cs-slide-card__logo img { max-height: 38px; max-width: 150px; }

/* ---- Contact form defensive touch — never stretches past its column --- */
.contact-form { max-width: 100%; }

/* ---- Section-paper background tuning (Mission/Vision section) --------- */
.section-paper .container { max-width: 1240px; }


/* =============================================================================
   MYTHIC ENTERPRISES — EDITORIAL POLISH LAYER          added 2026-09-15
   =============================================================================
   Appended as one block rather than surgically edited into the 158KB of
   legacy rules above, so the whole pass reverts by deleting from this
   banner down. Everything here is scoped to Mythic markup.

   The brand palette this layer consumes now lives in theme.css, which was
   still shipping the unbranded ARS shell defaults until today.
   ============================================================================= */

/* ---- 1. BUTTON HIERARCHY ---------------------------------------------------
   The legacy block near line 2380 collapsed .pill-btn, .blue, .dark and .tan
   into ONE identical tan fill with WHITE labels, then hovered them all to the
   ARS blue. Two defects: white on #ccb7a3 is 2.0:1 (fails WCAG AA outright),
   and with every button identical there was no primary/secondary hierarchy
   anywhere on the site - the exact "two equivalent buttons fighting for
   attention" problem. Fixed here rather than in place because those legacy
   rules are !important and must be met at equal specificity.

   The hierarchy, using Mythic's own colours (nothing imported):
     .pill-btn.dark  - solid near-black, white label. THE primary action.
     .pill-btn.blue  - the action tan, INK label (8.5:1). Warm secondary.
     .outline-*      - tertiary. Hover fills ink, never blue.
   -------------------------------------------------------------------------- */
.pill-btn,
.pill-btn.blue,
.pill-btn.tan {
    background: var(--mythic-tan, #ccb7a3) !important;
    color: var(--brand-charcoal, #1e2028) !important;
    border: 1px solid transparent !important;
    font-weight: 600 !important;
}
.pill-btn:hover,
.pill-btn.blue:hover,
.pill-btn.tan:hover {
    background: var(--mythic-tan-deep, #b9a189) !important;
    color: var(--brand-charcoal, #1e2028) !important;
    border-color: transparent !important;
}
.pill-btn.dark {
    background: var(--brand-primary, #16161a) !important;
    color: #fff !important;
    border: 1px solid var(--brand-primary, #16161a) !important;
    font-weight: 600 !important;
}
.pill-btn.dark:hover {
    background: var(--brand-primary-2, #2a2a30) !important;
    border-color: var(--brand-primary-2, #2a2a30) !important;
    color: #fff !important;
}
.pill-btn.outline-white,
.pill-btn.outline-light,
.pill-btn.ghost { font-weight: 600 !important; }
.pill-btn.outline-white:hover,
.pill-btn.outline-light:hover,
.pill-btn.ghost:hover {
    background: #fff !important;
    border-color: #fff !important;
    color: var(--brand-primary, #16161a) !important;
}
.pill-btn.outline-dark { font-weight: 600 !important; }
.pill-btn.outline-dark:hover {
    background: var(--brand-primary, #16161a) !important;
    border-color: var(--brand-primary, #16161a) !important;
    color: #fff !important;
}

/* ---- 2. EDITORIAL SECTION HEADER -------------------------------------------
   Every homepage section used the same centred `.section-title` + centred
   `.section-lede`, so the page had one composition repeated eight times.
   This is the left-aligned alternative: hairline, small caps eyebrow, serif
   statement, optional lede. Sections alternate between the two so the page
   has rhythm instead of a single rhythm repeated.
   -------------------------------------------------------------------------- */
.me-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin-bottom: 52px;
}
.me-head__rule {
    height: 1px;
    background: var(--brand-neutral, #e4dfd4);
    margin-bottom: 26px;
}
.me-head__eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--brand-secondary, #8a6a4f);
    margin-bottom: 18px;
}
.me-head__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(32px, 3.4vw, 46px);
    line-height: 1.12;
    font-weight: 500;
    letter-spacing: -.01em;
    color: var(--brand-charcoal, #1e2028);
    margin: 0;
    text-wrap: balance;
}
.me-head__lede {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    line-height: 1.65;
    color: var(--text-2, #4a5468);
    margin: 18px 0 0;
    text-wrap: pretty;
}
/* ---- 3. SECTION RHYTHM ------------------------------------------------------
   Legacy `.section{padding:100px 0}` plus each section's own internal top and
   bottom margins was compounding into 250px+ of empty band between blocks
   (measured between Who We Serve and Why Mythic). Tightened to a consistent
   rhythm; the cream/neutral bands keep slightly more air so the colour change
   still reads as a deliberate pause.
   -------------------------------------------------------------------------- */
.section { padding: 84px 0; }
.section.section-cream,
.section.section-neutral,
.section.section-paper { padding: 92px 0; }
@media (max-width: 860px) {
    .section { padding: 60px 0; }
    .section.section-cream,
    .section.section-neutral,
    .section.section-paper { padding: 64px 0; }
}

/* ---- 4. WHO WE SERVE --------------------------------------------------------
   Kept as the asymmetric composition it already was - it is the one homepage
   section that was NOT a centred stack, and it reads well. Only the panels
   change: they were cream rounded rectangles with a tan left border, which is
   the generic-card look. Now editorial blocks divided by hairlines, so the
   emphasis sits on the type rather than on a container.
   -------------------------------------------------------------------------- */
.who-serve { align-items: start; }
.who-serve__panel {
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid var(--brand-neutral, #e4dfd4) !important;
    border-radius: 0 !important;
    padding: 26px 0 0 !important;
    margin: 0 0 30px !important;
    box-shadow: none !important;
}
.who-serve__panel:last-child { margin-bottom: 0 !important; }
.who-serve__panel-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 1.24 !important;
    color: var(--brand-charcoal, #1e2028) !important;
    margin: 0 0 10px !important;
    text-wrap: balance;
}
.who-serve__panel-body {
    font-size: 16.5px !important;
    line-height: 1.68 !important;
    color: var(--text-2, #4a5468) !important;
    margin: 0 !important;
    text-wrap: pretty;
}
.who-serve__heading { text-wrap: balance; }
.who-serve__lede { text-wrap: pretty; }

/* ---- 5. WHY MYTHIC — horizontal proof strip --------------------------------
   Composition A of three. Stays a horizontal strip (its four items are short
   parallel claims, which is what a strip is for) but loses the centred title
   and the ARS-blue labels. Labels are now ink serif; the numerals carry the
   warm accent. Vertical hairlines divide, nothing is boxed.
   -------------------------------------------------------------------------- */
.why-trust { background: #fff; }
.why-proof { border-top: 1px solid var(--brand-neutral, #e4dfd4); }
.why-proof-item {
    border-right: 1px solid var(--brand-neutral, #e4dfd4);
    padding: 30px 32px 6px 0;
}
.why-proof-item:first-child { padding-left: 0; }
.why-proof-num {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .14em !important;
    color: var(--brand-accent, #b08d6a) !important;
    display: block;
    margin-bottom: 14px;
}
.why-proof-label {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 23px !important;
    font-weight: 500 !important;
    line-height: 1.22 !important;
    /* was the leaked ARS blue #1e6c99 - see theme.css */
    color: var(--brand-charcoal, #1e2028) !important;
    margin-bottom: 10px !important;
    text-wrap: balance;
}
.why-proof-body,
.why-trust .why-proof-body {
    font-size: 16px !important;
    line-height: 1.66 !important;
    color: var(--text-2, #4a5468) !important;
    text-wrap: pretty;
}
@media (max-width: 1000px) {
    .why-proof { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .why-proof-item:nth-child(2n) { border-right: none; }
    .why-proof-item { padding-right: 24px; }
    .why-proof-item:nth-child(n+3) { border-top: 1px solid var(--brand-neutral, #e4dfd4); }
}
@media (max-width: 620px) {
    .why-proof { grid-template-columns: minmax(0, 1fr) !important; }
    .why-proof-item { border-right: none; padding-right: 0; }
    .why-proof-item:nth-child(n+2) { border-top: 1px solid var(--brand-neutral, #e4dfd4); }
}

/* ---- 6. OUR APPROACH — stacked editorial rows ------------------------------
   Composition B of three, and the fix for the homepage's worst repetition:
   Why Mythic and Our Approach were BOTH `.why-proof` strips, i.e. the same
   composition twice on one page with only the column count differing. This
   turns Our Approach into vertical rows - oversized serif numeral in a fixed
   rail, statement and body in the flowing column - so the two sections no
   longer read as the same block rendered twice.
   -------------------------------------------------------------------------- */
/* ---- 7. THREE POWERS — ruled columns ---------------------------------------
   Composition C of three. Was three bare columns with Inter headings, which
   made it the only section whose headings were sans while everything around
   it was serif. Now serif headings on a heavy top rule, no numerals (that is
   Why Mythic's and Our Approach's device) and no boxes.
   -------------------------------------------------------------------------- */
.pillar-grid { gap: 48px; }
.pillar {
    display: block;
    border-top: 2px solid var(--brand-charcoal, #1e2028);
    padding-top: 24px;
}
.pillar:hover { transform: none; }
.pillar:hover h3 { color: var(--brand-secondary, #8a6a4f); }
.pillar h3 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 27px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    color: var(--brand-charcoal, #1e2028) !important;
    margin: 0 0 12px !important;
    text-wrap: balance;
}
.pillar p {
    font-size: 16.5px !important;
    line-height: 1.7 !important;
    color: var(--text-2, #4a5468) !important;
    margin: 0 !important;
    text-wrap: pretty;
}
@media (max-width: 900px) {
    .pillar-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 30px; }
}

/* ---- 8. TRUSTED PARTNERS ----------------------------------------------------
   Behaviour is deliberately unchanged - still the same CSS marquee, same
   duplicated track, same pause-on-hover, no JS touched. Only the SIZING
   changes. Items were auto-width with a 44px logo cap, which fitted about
   eleven carriers across a 1440px viewport at a size too small to read and
   clipped the first and last. Each item is now a fifth of the viewport, so
   five show at a time on desktop as specified, and the logo cap roughly
   doubles. Background stays the light neutral (never tan).
   -------------------------------------------------------------------------- */
.logo-marquee {
    --me-logos-visible: 5;
    margin-top: 44px;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
}
.logo-marquee__track { gap: 0; }
.logo-marquee__item {
    flex: 0 0 calc(100% / var(--me-logos-visible));
    height: 108px;
    padding: 0 26px;
    box-sizing: border-box;
}
.logo-marquee__item img {
    max-height: 82px;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;      /* protects every carrier's aspect ratio */
    filter: grayscale(100%);
    opacity: .72;
}
.logo-marquee__item img:hover { filter: grayscale(0); opacity: 1; }
@media (max-width: 1200px) { .logo-marquee { --me-logos-visible: 4; } }
@media (max-width: 900px)  { .logo-marquee { --me-logos-visible: 3; } }
@media (max-width: 620px)  {
    .logo-marquee { --me-logos-visible: 2; }
    .logo-marquee__item { height: 88px; padding: 0 16px; }
    .logo-marquee__item img { max-height: 62px; }
}

/* ---- 9. CTA BANDS -----------------------------------------------------------
   Two problems, both reported by Daniel. (a) The shared footer CTA capped its
   heading at 780px while setting it 62px, which is about 22 characters a line
   - that is what stranded "future?" and "a" on lines of their own. (b) On the
   homepage the image callout sat directly on top of that black footer CTA, so
   two full-bleed dark CTAs ran back to back.
   Fixed by giving both headings a measure that suits their size, and by
   separating the two bands with a hairline rule rather than by deleting
   either section's content.
   -------------------------------------------------------------------------- */
.cta-section {
    max-width: 1000px;
    padding: 56px 0 72px;
}
.cta-section h2 {
    font-size: clamp(30px, 4vw, 50px);
    line-height: 1.14;
    letter-spacing: -.01em;
    max-width: none;
    text-wrap: balance;
}
.cta-section p {
    max-width: 660px;
    margin-left: auto;
    margin-right: auto;
    text-wrap: pretty;
}
.fw-callout .fw-inner { max-width: 640px; }
.fw-callout h2 {
    font-size: clamp(30px, 3.6vw, 46px);
    line-height: 1.14;
    text-wrap: balance;
}
.fw-callout p { text-wrap: pretty; }
/* The homepage image callout runs straight into the black footer CTA.
   A hairline at the top of the CTA field reads as a deliberate seam
   instead of two dark blocks bleeding together. */
.fw-callout + .cta-footer { border-top: 1px solid rgba(255, 255, 255, .10); }

/* ---- 10. FOOTER BALANCE -----------------------------------------------------
   The Cornerstones column was a ten-item tower beside two three-item stubs,
   leaving roughly 350px of dead space in columns two and three. The PHP
   already splits the agencies into two lists; this makes that split hold at
   desktop and gives the short columns a secondary block so they reach a
   comparable depth.
   -------------------------------------------------------------------------- */
.footer-cols.footer-cols-scalable {
    grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 56px;
    align-items: start;
}
.footer-cornerstones-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0 36px;
    align-items: start;
}
.footer-panel h5 {
    font-size: 15px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .55);
    margin-bottom: 22px;
}
.footer-panel ul li { margin-bottom: 11px; }
.footer-panel a { font-size: 15px; }
.footer-panel a:hover { color: #fff; }
.footer-cornerstones-more { margin-top: 14px; }
.footer-panel .desc {
    max-width: none;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, .08);
    text-wrap: pretty;
}

/* ---- 11. RESOURCES — typography-first index --------------------------------
   Replaces the image-card grid. Those cards were borrowing hero photography
   as stand-in thumbnails, which is exactly the dependency to avoid: Mythic is
   not commissioning a unique image per article, so a layout whose card has a
   photo well at the top either needs one or renders a hole.

   This index carries no image well at all. Composition is a split row -
   statement title on the left, meta and summary on the right, divided by
   rules - which is deliberately NOT the Prestige journal's rail|body layout.
   It is driven entirely by type, so it holds at 3 articles or at 30.
   -------------------------------------------------------------------------- */
/* ---- 12. CORNERSTONE CARDS --------------------------------------------------
   The directory keeps its card, because a portfolio of nine agencies is
   content a card genuinely suits. What changes is the balance: the logo well
   was letting some marks run large enough to dominate the entry and, with
   nine different agencies' artwork at nine different aspect ratios, the grid
   read as a logo dump. The well is now a fixed, modest height with
   object-fit: contain, so every mark is legible, none dominates, and each
   keeps its own proportions.
   -------------------------------------------------------------------------- */
.cs-landing-grid { gap: 0; border-top: 1px solid var(--brand-neutral, #e4dfd4); }
.cs-landing-card {
    border: 0 !important;
    border-bottom: 1px solid var(--brand-neutral, #e4dfd4) !important;
    border-right: 1px solid var(--brand-neutral, #e4dfd4) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 34px 34px 30px !important;
    transition: background .18s ease;
}
.cs-landing-card:hover { background: rgba(176, 141, 106, .06) !important; transform: none !important; }
.cs-landing-card__logo {
    height: 58px !important;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 26px !important;
    background: transparent !important;
    padding: 0 !important;
}
.cs-landing-card__logo img {
    max-height: 58px !important;
    max-width: 190px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}
.cs-landing-card__eyebrow {
    font-family: 'Inter', sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
    color: var(--brand-secondary, #8a6a4f) !important;
    margin-bottom: 10px !important;
}
.cs-landing-card__title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 25px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    color: var(--brand-charcoal, #1e2028) !important;
    margin: 0 0 12px !important;
    text-wrap: balance;
}
.cs-landing-card__blurb {
    font-size: 16px !important;
    line-height: 1.66 !important;
    color: var(--text-2, #4a5468) !important;
    margin: 0 0 18px !important;
    text-wrap: pretty;
}
.cs-landing-card__more {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    /* was the leaked ARS blue */
    color: var(--brand-charcoal, #1e2028) !important;
}
@media (min-width: 1025px) {
    .cs-landing-card:nth-child(3n) { border-right: 0 !important; }
}
@media (max-width: 1024px) and (min-width: 721px) {
    .cs-landing-card:nth-child(2n) { border-right: 0 !important; }
}
@media (max-width: 720px) {
    .cs-landing-card { border-right: 0 !important; padding: 26px 0 24px !important; }
}

/* ---- 13. ARTICLE TEMPLATE ---------------------------------------------------
   The template already carried no featured image, which is the right base for
   a site that is not commissioning per-article art. Polish only: a real
   editorial byline rule, a comfortable measure, and a close that stops
   fielding two equal-weight pills directly above the footer CTA's third one.
   -------------------------------------------------------------------------- */
.article-body { max-width: 760px; }
.article-body .editorial-byline {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--brand-secondary, #8a6a4f);
    padding-bottom: 22px;
    margin-bottom: 40px;
    border-bottom: 1px solid var(--brand-neutral, #e4dfd4);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.article-body .editorial-byline .dot { color: var(--brand-neutral, #e4dfd4); }
.article-body .editorial-byline time { color: var(--text-muted, #7a8595); letter-spacing: .1em; }
.article-body > p,
.article-body li {
    font-size: 17.5px;
    line-height: 1.78;
    color: var(--text-2, #4a5468);
    text-wrap: pretty;
}
.article-body h2 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.22;
    color: var(--brand-charcoal, #1e2028);
    margin: 48px 0 16px;
    text-wrap: balance;
}
.article-body h3 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 23px;
    font-weight: 500;
    line-height: 1.26;
    color: var(--brand-charcoal, #1e2028);
    margin: 34px 0 12px;
    text-wrap: balance;
}
/* Article close: one action, left-aligned, no centred double-pill stack. */
.me-article-end {
    margin-top: 64px;
    padding-top: 30px;
    border-top: 1px solid var(--brand-neutral, #e4dfd4);
}
.me-article-end__note {
    font-family: 'Inter', sans-serif;
    font-size: 16.5px;
    line-height: 1.7;
    color: var(--text-2, #4a5468);
    margin: 0 0 22px;
    text-wrap: pretty;
}
.me-article-end__note a { font-weight: 600; }

/* ---- 14. CORNERSTONE DETAIL -------------------------------------------------
   Structure is already what Daniel specified - logo and approved body copy
   left, verified contact right - so the two-column composition is preserved
   exactly. This is presentation only: a contact panel that reads as a
   reference panel rather than a floating card, a logo at a size that suits
   the page, and a single primary action instead of two competing pills.
   -------------------------------------------------------------------------- */
.cs-detail__logo {
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 34px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--brand-neutral, #e4dfd4);
    box-sizing: content-box;
}
.cs-detail__logo img {
    max-height: 76px;
    max-width: 260px;
    width: auto;
    height: auto;
    object-fit: contain;   /* never stretch an agency's mark */
}
.cs-detail .mythic-body p {
    font-size: 17.5px;
    line-height: 1.78;
    color: var(--text-2, #4a5468);
    margin: 0 0 22px;
    text-wrap: pretty;
}
.cs-detail .contact-info-card {
    background: var(--brand-light, #f5f1e8) !important;
    border: 0 !important;
    border-top: 2px solid var(--brand-charcoal, #1e2028) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 32px 30px 30px !important;
}
.cs-detail .contact-info-card h3 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    color: var(--brand-charcoal, #1e2028) !important;
    margin: 0 0 24px !important;
    text-wrap: balance;
}
.cs-detail .contact-row {
    padding: 16px 0;
    border-top: 1px solid rgba(30, 32, 40, .10);
}
.cs-detail .contact-row .lbl {
    font-family: 'Inter', sans-serif;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--brand-secondary, #8a6a4f);
    margin-bottom: 6px;
}
.cs-detail .contact-row .val {
    font-size: 16px;
    line-height: 1.6;
    color: var(--brand-charcoal, #1e2028);
    text-wrap: pretty;
}
.cs-detail__ctas {
    margin-top: 26px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}
.cs-detail__ctas .pill-btn { justify-content: center; }

/* ---- 15. CONTACT ------------------------------------------------------------
   Form behaviour, field order, required flags, honeypot, POST target and the
   submit handler are all untouched - this is the container around them. The
   form now sits on the cream ground under a heavy rule so it reads as part of
   the page rather than dropped onto it.
   -------------------------------------------------------------------------- */
.contact-form {
    background: var(--brand-light, #f5f1e8);
    border-top: 2px solid var(--brand-charcoal, #1e2028);
    padding: 38px 36px 34px;
}
.contact-form label,
.contact-form .contact-form__label {
    font-family: 'Inter', sans-serif;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: var(--brand-secondary, #8a6a4f);
    display: block;
    margin-bottom: 8px;
}
.contact-form .req { color: var(--brand-accent, #b08d6a); }
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form select,
.contact-form textarea {
    font-family: 'Inter', sans-serif;   /* never fall back to the UA font */
    font-size: 16px;
    color: var(--brand-charcoal, #1e2028);
    background: #fff;
    border: 1px solid var(--brand-neutral, #e4dfd4);
    border-radius: 4px;
    padding: 13px 14px;
    width: 100%;
    box-sizing: border-box;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    outline: none;
    border-color: var(--brand-secondary, #8a6a4f);
    box-shadow: 0 0 0 3px rgba(138, 106, 79, .12);
}
.contact-form__btn {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 600;
    background: var(--brand-primary, #16161a);
    color: #fff;
    border: 0;
    border-radius: 999px;
    padding: 16px 34px;
    cursor: pointer;
    transition: background .18s ease;
}
.contact-form__btn:hover { background: var(--brand-primary-2, #2a2a30); }
.contact-form__btn[disabled] { opacity: .6; cursor: default; }
.contact-form__status { margin-top: 16px; font-size: 15.5px; line-height: 1.6; }
.contact-form__status--ok  { color: #2f6b4f; }
.contact-form__status--err { color: #9b2c2c; }
.contact-aside-card {
    background: transparent;
    border: 0;
    border-top: 2px solid var(--brand-charcoal, #1e2028);
    border-radius: 0;
    padding: 32px 0 0;
}
.contact-aside-card h3 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 23px;
    font-weight: 500;
    line-height: 1.24;
    color: var(--brand-charcoal, #1e2028);
    margin: 0 0 14px;
    text-wrap: balance;
}
.contact-aside-card > p { font-size: 16px; line-height: 1.68; color: var(--text-2, #4a5468); text-wrap: pretty; }
.contact-aside-card__list { list-style: none; margin: 24px 0; padding: 0; }
.contact-aside-card__list li {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-top: 1px solid var(--brand-neutral, #e4dfd4);
    font-size: 15.5px;
}
.contact-aside-card__agency { color: var(--brand-charcoal, #1e2028); font-weight: 500; }

/* ---- 16. CORRECTIONS FROM THE FIRST RENDER PASS -----------------------------
   Found by rendering the built site headlessly, not by reading source.
   -------------------------------------------------------------------------- */

/* (a) `.why-trust h2` at line ~2436 centres the heading and caps it at 900px
   with !important, which beat `.me-head__title` and left Why Mythic centred
   while every section around it had moved to the left-aligned header. */
.why-trust .me-head__title,
.section-cream .me-head__title,
.pillars .me-head__title {
    text-align: left !important;
    max-width: none !important;
    margin: 0 !important;
    font-size: clamp(32px, 3.4vw, 46px) !important;
    font-weight: 500 !important;
}
.why-trust { text-align: left; padding: 84px 0 !important; }
.why-trust .container { padding: 0 40px; }
.why-proof { margin-top: 0; border-bottom: 1px solid var(--brand-neutral, #e4dfd4); }

/* (b) `.who-serve` carried max-width:1160px inside a 1360px container, which
   is the same "narrow child in a wide container" pattern we removed from the
   Prestige journal. It now uses the container it sits in. */
.who-serve { max-width: none; gap: 72px; }

/* (c) The Three Powers action sat centred under the middle column while the
   section around it had become left-aligned. */
.pillars { padding: 84px 0; }
.me-action { margin-top: 44px; }
.me-action--left { text-align: left !important; }

/* (d) PARTNERS MARQUEE - real bug, caught in render.
   `flex: 0 0 calc(100% / 5)` resolved its percentage against the TRACK, and
   the track is `width: max-content`, so the basis was indeterminate and every
   item collapsed - only one carrier logo was drawn. Sized against the
   marquee's own inline size with a container query instead, which is what the
   percentage was reaching for. Falls back to a viewport-relative basis where
   container queries are unavailable. Animation, duplicated track, timing and
   pause-on-hover are all still untouched. */
.logo-marquee { container-type: inline-size; }
.logo-marquee__item {
    flex: 0 0 calc(88vw / var(--me-logos-visible));   /* fallback */
}
@supports (container-type: inline-size) {
    .logo-marquee__item { flex: 0 0 calc(100cqw / var(--me-logos-visible)); }
}

/* (e) The legacy `.cs-landing-card__logo` carried a border-bottom that, once
   the card's own borders became the grid rules, read as a stray hairline
   hanging off each agency mark. The card's cell edges do that job now. */
.cs-landing-card__logo { border-bottom: 0 !important; }

/* (f) Nav active state was picking up var(--blue). With theme.css now
   branded that resolves to Mythic's stone rather than the ARS blue, but the
   weight bump alone reads cleanly and matches the rest of the header. */
.nav-links li.nav-item.active > a { color: var(--brand-secondary, #8a6a4f); font-weight: 600; }

/* ---- 17. ORPHAN GUARDS ------------------------------------------------------
   Typography only. Every string below is frozen approved copy (legal
   disclaimers, agency blurbs, the hero sub, article summaries), so these are
   wrap hints, never edits. `pretty` lets the engine rebalance the final two
   lines instead of stranding one word. Deliberately NOT solved by narrowing
   the containers - that was the Prestige-blog mistake.
   -------------------------------------------------------------------------- */
.disclaimer,
.footer-bottom-text .disclaimer,
.hero-sub,
.cs-slide-card__blurb,
.cs-landing-card__blurb,
.cornerstone-card-blurb,
.section-lede,
.page-hero-content .lede,
.contact-aside-card > p { text-wrap: pretty; }
.hero h1, .page-hero-content h1 { text-wrap: balance; }

/* ---- 18. CONTACT FORM CORRECTIONS (found in render) -------------------------
   (a) The legacy `.contact-form` border-radius:16px fought the new 2px top
       rule and drew a stray arc across the top corners.
   (b) Pre-existing validation bug. The legacy rule
         `input:invalid:not(:placeholder-shown) { border-color:#c0392b }`
       is the usual trick for "only redden a field the user has actually
       filled wrong" — but it depends on the input carrying a `placeholder`
       attribute, and these fields have none. With no placeholder,
       `:placeholder-shown` is false even when the field is empty, so every
       required field rendered RED on first paint, before the visitor had
       typed anything. Replaced with `:user-invalid`, which matches only
       after interaction. Field behaviour, required flags and the submit
       handler are untouched — this is styling.
   -------------------------------------------------------------------------- */
.contact-form { border-radius: 0; }
.contact-form__field input:invalid:not(:placeholder-shown),
.contact-form__field textarea:invalid:not(:placeholder-shown) {
    border-color: var(--brand-neutral, #e4dfd4);
}
.contact-form__field input:user-invalid,
.contact-form__field textarea:user-invalid,
.contact-form__field select:user-invalid {
    border-color: #c0392b;
}
.contact-form__field input:focus,
.contact-form__field textarea:focus,
.contact-form__field select:focus {
    border-color: var(--brand-secondary, #8a6a4f);
    box-shadow: 0 0 0 3px rgba(138, 106, 79, .12);
}

/* ---- 19. LAST ARS-BLUE LEAK — About page ------------------------------------
   Found while verifying the About correction. `.mv-editorial__numeral` draws
   the oversized 01 / 02 as an outline via
     -webkit-text-stroke: 1px rgba(30, 108, 153, 0.55)
   which is the ARS blue hard-coded as a raw rgba rather than read through
   var(--blue). Branding theme.css could not reach it, so those two numerals
   were still rendering blue on the About page while the equivalent numerals
   on the homepage had moved to the brand tan. Same defect class as the rest
   of the palette contamination, one declaration, colour only - size, weight,
   stroke width, letter-spacing and layout all unchanged.

   `.why-editorial-list a` had the same raw value on its underline. The three
   other raw occurrences are deliberately left alone: the old button-hover
   blue and the contact focus ring are already superseded by sections 1 and 18
   above, and the third is a 6%-opacity radial gradient that renders as no
   visible colour.
   -------------------------------------------------------------------------- */
.mv-editorial__numeral {
    -webkit-text-stroke: 1px rgba(176, 141, 106, .62);
}
.why-editorial-list a {
    text-decoration-color: rgba(138, 106, 79, .45);
}


/* =============================================================================
   PRESTIGE DESIGN-SYSTEM ALIGNMENT                      added 2026-09-15
   =============================================================================
   Daniel's review: Mythic did not read as the same designer's work as the new
   Prestige site. I measured the DEPLOYED Prestige implementation in Chrome
   rather than working from memory, and the diagnosis was not what "too loose"
   first suggests:

     element                  Prestige      Mythic (before)
     hero h1                  82 / 1.05     82 / 1.05      already matched
     major editorial H2       44 / 1.12     52 / 1.10      Mythic 18% oversized
     secondary H2             33 / 1.18     42 / 1.10      Mythic 27% oversized
     H3                       30 / 1.15     27 / 1.20      Mythic slightly small
     hero sub                 18, measure 480   20, measure 869
     body                     16.5 / 1.6    16.5 / 1.68    close
     container                1360          1360           matched
     section padding          110-120       84             Mythic TIGHTER

   So the looseness was never the section padding - Prestige actually breathes
   MORE between sections. What made Mythic feel loose and unfinished was a
   flattened type scale: everything mid-sized, no real distance between the
   display moment and the supporting copy, and ledes running nearly twice
   Prestige's measure. Prestige's discipline is a few large editorial moments
   with everything else calm and small.

   This layer rebuilds that relationship. Colour, content and architecture stay
   Mythic's - the tan/stone/cream palette replaces Prestige's turquoise/ivory
   everywhere its system calls for an accent.
   ============================================================================= */

/* ---- 20. TYPOGRAPHIC SCALE -------------------------------------------------
   Normalised against the measured Prestige values above. */
.section-title {
    font-size: 44px !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;
    letter-spacing: -.005em !important;
}
.section-lede {
    font-size: 17px !important;
    line-height: 1.55 !important;
    max-width: 720px;
}
.section-lede.center { margin-left: auto; margin-right: auto; }
.me-head__title {
    font-size: clamp(30px, 3.2vw, 44px) !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;
    letter-spacing: -.005em !important;
}
.me-head__lede { font-size: 17px; line-height: 1.55; }
.me-head { margin-bottom: 44px; }
.me-head__rule { margin-bottom: 22px; }

.hero-eyebrow {
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    margin-bottom: 26px !important;
}
.hero-sub {
    font-size: 18px !important;
    line-height: 1.45 !important;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}
.hero-ctas { margin-top: 34px; }

.who-serve__heading { font-size: 36px !important; line-height: 1.14 !important; letter-spacing: -.005em !important; }
.who-serve__lede    { font-size: 17px !important; line-height: 1.55 !important; }
.who-serve__panel-title { font-size: 26px !important; line-height: 1.2 !important; }
.who-serve__panel-body  { font-size: 16.5px !important; line-height: 1.6 !important; }
.who-serve__panel { padding-top: 22px !important; margin-bottom: 24px !important; }

.why-proof-label { font-size: 24px !important; line-height: 1.2 !important; }
.why-proof-body, .why-trust .why-proof-body { font-size: 16.5px !important; line-height: 1.6 !important; }
.why-proof-item { padding: 26px 30px 4px 0; }

.pillar h3 { font-size: 30px !important; line-height: 1.15 !important; letter-spacing: -.005em !important; }
.pillar p  { font-size: 16.5px !important; line-height: 1.6 !important; }
.pillar-grid { gap: 40px; }


.cta-section h2 { font-size: clamp(30px, 3.4vw, 44px) !important; line-height: 1.12 !important; }
.cta-section p  { font-size: 17px !important; line-height: 1.55 !important; }
.cta-section    { padding: 48px 0 64px; }

.page-hero-content h1 { font-size: 54px !important; line-height: 1.08 !important; font-weight: 500 !important; letter-spacing: -.005em !important; }
.page-hero-content .lede { font-size: 17px !important; line-height: 1.55 !important; max-width: 720px; margin-left: auto; margin-right: auto; }

.cs-landing-card__title { font-size: 24px !important; }
.cs-slide-card__title   { font-size: 22px !important; line-height: 1.2 !important; }
.cs-detail .contact-info-card h3 { font-size: 21px !important; }
.contact-aside-card h3 { font-size: 22px !important; }
.mv-editorial__heading { font-size: 33px !important; line-height: 1.18 !important; letter-spacing: -.003em !important; }
.mv-editorial__body    { font-size: 16.5px !important; line-height: 1.6 !important; }
.mv-editorial__numeral { font-size: 96px !important; }

/* Section rhythm: Prestige runs 110-120px. Mythic carries more sections per
   page, so 96px sits inside that family without stretching the page. */
.section { padding: 96px 0; }
.section.section-cream, .section.section-neutral, .section.section-paper { padding: 100px 0; }
.why-trust { padding: 96px 0 !important; }
.pillars   { padding: 96px 0; }
@media (max-width: 860px) {
    .section { padding: 62px 0; }
    .section.section-cream, .section.section-neutral, .section.section-paper { padding: 66px 0; }
    .why-trust { padding: 62px 0 !important; }
    .pillars { padding: 62px 0; }
    .section-title { font-size: 32px !important; }
    .page-hero-content h1 { font-size: 36px !important; }
    .who-serve__heading { font-size: 30px !important; }
    .pillar h3 { font-size: 25px !important; }
}

/* ---- 21. SHARED EDITORIAL EYEBROW ------------------------------------------
   Port of Prestige's .pp-journal__eyebrow-row (rule + spaced caps), in
   Mythic's stone rather than Prestige's turquoise. Used across the homepage
   and Resources so both sites share the same signature. */
.me-eyebrow-row { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.me-eyebrow-rule { display: inline-block; height: 1px; width: 40px; background: var(--brand-accent, #b08d6a); opacity: .7; }
.me-eyebrow {
    color: var(--brand-secondary, #8a6a4f);
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 12px; font-weight: 600;
    letter-spacing: .22em; text-transform: uppercase; line-height: 1;
}
.me-head__eyebrow { letter-spacing: .22em; font-size: 12px; margin-bottom: 0; }

/* ---- 22. RESOURCES — PRESTIGE JOURNAL SYSTEM --------------------------------
   Direct port of Prestige's .pp-journal-lead / .pp-journal architecture,
   read from that site's stylesheet rather than reconstructed by eye: same
   230px meta rail, same 64px column gap, same 52px left-border gutter on the
   body, same serif date over spaced-caps category, same 56px lead headline
   and 31px archive headline, same hairline rhythm, same three breakpoints
   where the rail folds to a horizontal meta line.

   Differences are Mythic's, and only these: the accent is stone/tan rather
   than turquoise, the archive ground is Mythic's cream, and the read-article
   underline uses the tan. Structure and proportion are Prestige's.

   ZERO IMAGES - there is no media slot anywhere in this system.
   NO ARTIFICIAL MEASURE CAPS - neither headline nor excerpt carries a
   max-width. Both flow to the body column the grid establishes, which is the
   correction we made on the Prestige blog. A short headline stays short
   because it is short.
   -------------------------------------------------------------------------- */
.me-journal__eyebrow-row { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.me-journal__rule { display: inline-block; height: 1px; width: 40px; background: var(--brand-accent, #b08d6a); opacity: .7; }
.me-journal__eyebrow {
    color: var(--brand-secondary, #8a6a4f);
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 12px; font-weight: 600;
    letter-spacing: .22em; text-transform: uppercase; line-height: 1;
}
.me-journal__more {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: 'Inter', -apple-system, sans-serif;
    font-weight: 600; font-size: 13px;
    letter-spacing: .12em; text-transform: uppercase;
    color: var(--brand-charcoal, #1e2028);
    text-decoration: none;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--brand-accent, #b08d6a);
    transition: gap .18s ease, color .18s ease;
}
.me-journal__more::after { content: '\2192'; }
.me-journal__more:hover { gap: 12px; color: var(--brand-secondary, #8a6a4f); }
.me-journal__more--sm { font-size: 12px; letter-spacing: .14em; }

/* -- LEAD STORY -- */
.me-journal-lead { background: #ffffff; padding: 108px 40px 100px; }
.me-journal-lead__inner {
    max-width: 1360px; margin: 0 auto;
    display: grid; grid-template-columns: 230px 1fr;
    column-gap: 64px; align-items: start;
}
.me-journal-lead__inner--empty { display: block; max-width: 760px; }
.me-journal-lead__rail { padding-top: 10px; }
.me-journal-lead__date {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 500; font-size: 21px; line-height: 1.25;
    color: var(--brand-charcoal, #1e2028); margin: 0 0 10px;
}
.me-journal-lead__cat {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 11.5px; font-weight: 600;
    letter-spacing: .18em; text-transform: uppercase;
    color: var(--text-2, #4a5468); margin: 0;
}
.me-journal-lead__body {
    border-left: 1px solid var(--brand-neutral, #e4dfd4);
    padding-left: 52px;
}
.me-journal-lead__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 500; font-size: 56px; line-height: 1.08;
    letter-spacing: -.008em; margin: 0 0 24px; text-wrap: balance;
}
.me-journal-lead__title a { color: var(--brand-charcoal, #1e2028); text-decoration: none; transition: color .18s ease; }
.me-journal-lead__title a:hover { color: var(--brand-secondary, #8a6a4f); }
.me-journal-lead__excerpt {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 19px; line-height: 1.62;
    color: var(--text-2, #4a5468); margin: 0 0 30px; text-wrap: pretty;
}

/* -- ARCHIVE LIST -- */
.me-journal { background: var(--brand-light, #f5f1e8); padding: 92px 40px 104px; }
.me-journal__inner { max-width: 1360px; margin: 0 auto; }
.me-journal__header { margin-bottom: 14px; }
.me-journal__list { list-style: none; margin: 0; padding: 0; }
.me-journal__row {
    display: grid; grid-template-columns: 230px 1fr;
    column-gap: 64px; align-items: start;
    border-top: 1px solid var(--brand-neutral, #e4dfd4);
    padding: 40px 0 42px;
}
.me-journal__row:last-child { border-bottom: 1px solid var(--brand-neutral, #e4dfd4); }
.me-journal__row-rail { padding-top: 6px; }
.me-journal__row-date {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 500; font-size: 17px; line-height: 1.3;
    color: var(--brand-charcoal, #1e2028); margin: 0 0 8px;
}
.me-journal__row-cat {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 11px; font-weight: 600;
    letter-spacing: .18em; text-transform: uppercase;
    color: var(--brand-secondary, #8a6a4f); margin: 0;
}
.me-journal__row-body {
    border-left: 1px solid var(--brand-neutral, #e4dfd4);
    padding-left: 52px;
}
.me-journal__row-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 500; font-size: 31px; line-height: 1.18;
    letter-spacing: -.004em; margin: 0 0 14px; text-wrap: balance;
}
.me-journal__row-title a { color: var(--brand-charcoal, #1e2028); text-decoration: none; transition: color .18s ease; }
.me-journal__row-title a:hover { color: var(--brand-secondary, #8a6a4f); }
.me-journal__row-excerpt {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 16.5px; line-height: 1.65;
    color: var(--text-2, #4a5468); margin: 0 0 18px; text-wrap: pretty;
}

/* -- responsive: rail folds to a horizontal meta line (Prestige's breakpoints) -- */
@media (max-width: 1100px) {
    .me-journal-lead { padding: 88px 32px 84px; }
    .me-journal-lead__inner { grid-template-columns: 200px 1fr; column-gap: 48px; }
    .me-journal-lead__body { padding-left: 40px; }
    .me-journal-lead__title { font-size: 46px; }
    .me-journal { padding: 78px 32px 88px; }
    .me-journal__row { grid-template-columns: 200px 1fr; column-gap: 48px; }
    .me-journal__row-body { padding-left: 40px; }
    .me-journal__row-title { font-size: 28px; }
}
@media (max-width: 860px) {
    .me-journal-lead__inner, .me-journal__row { grid-template-columns: 1fr; row-gap: 18px; }
    .me-journal-lead__body, .me-journal__row-body { border-left: 0; padding-left: 0; max-width: 100%; }
    .me-journal-lead__rail, .me-journal__row-rail {
        padding-top: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px;
    }
    .me-journal-lead__rail .me-journal__eyebrow-row { flex-basis: 100%; margin-bottom: 8px; }
    .me-journal-lead__date, .me-journal__row-date { margin: 0; font-size: 17px; }
    .me-journal-lead__cat, .me-journal__row-cat { margin: 0; }
    .me-journal-lead__title { font-size: 38px; }
    .me-journal__row { padding: 32px 0 34px; }
    .me-journal__row-title { font-size: 26px; }
}
@media (max-width: 560px) {
    .me-journal-lead { padding: 62px 22px 60px; }
    .me-journal-lead__title { font-size: 32px; }
    .me-journal-lead__excerpt { font-size: 17px; }
    .me-journal { padding: 58px 22px 68px; }
    .me-journal__row-title { font-size: 24px; }
}

/* ---- 23. ARTICLE — same family as Prestige's .pp-doc ------------------------
   820px reading inner on the cream ground, serif heads, no image dependency. */
.me-doc { background: var(--brand-light, #f5f1e8); padding: 90px 40px 110px; }
.me-doc__inner { max-width: 820px; margin: 0 auto; }
.me-doc__back {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600;
    letter-spacing: .14em; text-transform: uppercase;
    color: var(--brand-secondary, #8a6a4f); text-decoration: none; margin-bottom: 30px;
}
.me-doc__back:hover { color: var(--brand-charcoal, #1e2028); }
.me-doc .article-body { max-width: none; }
.me-doc .article-body .editorial-byline { margin-bottom: 36px; }
@media (max-width: 860px) { .me-doc { padding: 58px 22px 74px; } }

/* ---- 24. OUR NETWORK — editorial statement composition ----------------------
   Built on Prestige's Overview / Who-It-Fits proportions: a left rail
   carrying eyebrow and title against a right column whose first voice is an
   oversized Playfair ITALIC statement, then calm supporting copy beneath it.
   The italic is the real Playfair italic face - head.php requests ital 500/600
   - not a browser-synthesised slant.
   -------------------------------------------------------------------------- */
.me-network { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); column-gap: 88px; align-items: start; }
.me-network__rail { padding-top: 6px; }
.me-network__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 40px; font-weight: 500; line-height: 1.1;
    letter-spacing: -.008em; color: var(--brand-charcoal, #1e2028);
    margin: 0; text-wrap: balance;
}
.me-network__statement {
    font-family: 'Playfair Display', Georgia, serif;
    font-style: italic;
    font-size: 30px; font-weight: 500; line-height: 1.34;
    letter-spacing: -.004em;
    color: var(--brand-charcoal, #1e2028);
    margin: 0 0 28px; text-wrap: pretty;
}
.me-network__body {
    font-family: 'Inter', sans-serif;
    font-size: 17px; line-height: 1.7;
    color: var(--text-2, #4a5468);
    margin: 0 0 30px; text-wrap: pretty;
}
.me-network__divider { height: 1px; background: var(--brand-neutral, #e4dfd4); margin: 0 0 28px; }
@media (max-width: 900px) {
    .me-network { grid-template-columns: minmax(0, 1fr); row-gap: 26px; }
    .me-network__title { font-size: 32px; }
    .me-network__statement { font-size: 24px; }
}
@media (max-width: 560px) {
    .me-network__statement { font-size: 21px; }
    .me-network__body { font-size: 16.5px; }
}

/* ---- 25. GROUND ALTERNATION + EYEBROW CONSISTENCY ---------------------------
   Caught in render. The homepage ran Who We Serve, Why Mythic and Three
   Powers as three consecutive WHITE sections, so ~190px of correct
   Prestige-scale section padding between them read as dead space rather than
   as a deliberate pause - Prestige never runs three same-ground sections in a
   row, it alternates white and ivory so the padding is legible as rhythm.
   Why Mythic takes the cream ground; the sequence becomes
   white -> cream -> white -> cream -> white -> neutral -> cream.
   -------------------------------------------------------------------------- */
.why-trust { background: var(--brand-light, #f5f1e8) !important; }
.why-proof { border-top-color: rgba(30, 32, 40, .13); border-bottom-color: rgba(30, 32, 40, .13); }
.why-proof-item { border-right-color: rgba(30, 32, 40, .13); }

/* Who We Serve used a bare caps eyebrow while every other section had the
   rule + caps treatment. Same signature everywhere now. */
.who-serve__eyebrow {
    display: flex; align-items: center; gap: 14px;
    font-size: 12px !important; font-weight: 600 !important;
    letter-spacing: .22em !important; text-transform: uppercase !important;
    color: var(--brand-secondary, #8a6a4f) !important;
    line-height: 1 !important; margin-bottom: 22px !important;
}
.who-serve__eyebrow::before {
    content: ''; display: inline-block; height: 1px; width: 40px; flex: 0 0 40px;
    background: var(--brand-accent, #b08d6a); opacity: .7;
}
/* The Three Powers action sat 44px below a section that already ends on a
   rule; 34px keeps it attached to the content it belongs to. */
.me-action { margin-top: 34px; }

/* (g) At 390px the About H1 "Building the Future of Independent Insurance"
   stranded "Insurance". `balance` optimises for even line lengths, which is
   right on wide displays but cannot prevent a short last line here; `pretty`
   targets exactly that last-line case. Applied at mobile only so the desktop
   balance is untouched. Copy unchanged. */
@media (max-width: 720px) {
    .page-hero-content h1, .hero h1 { text-wrap: pretty; }
    /* A fixed 36px mobile H1 made "Independent Insurance" physically wider
       than the 346px column at 390px, so no wrap strategy could keep the two
       words together. Scaling the H1 with the viewport instead of pinning it
       lets the phrase fit, which resolves the orphan without touching the
       approved headline or capping the measure. Caps at the previous 36px,
       so nothing changes at 720px. */
    .page-hero-content h1 { font-size: clamp(27px, 7.6vw, 36px) !important; }
}

/* =============================================================================
   HERO + OUR APPROACH — MEASURED AGAINST DEPLOYED PRESTIGE   2026-09-15
   =============================================================================
   Measured both deployed heroes in Chrome at 1440px rather than reasoning from
   class names. Both heroes are already 780px tall with an identical H1
   (82px/86.1px, 1100px measure) and lede (18px/26.1px). The difference was
   entirely in the INTERNAL GAPS:

     gap                        Prestige   Mythic (before)
     eyebrow.bottom -> H1.top      14          26
     H1.bottom -> lede.top         18          60
     lede.bottom -> CTA.top        28          74
     content block total          368         454

   86px of accumulated slack inside the same 780px box, which is exactly the
   stretched feeling Daniel identified. Because .hero-content is centred in the
   hero, removing that slack also pulls the block down to Prestige's start
   position on its own - no absolute positioning needed.
   ============================================================================= */
.hero-eyebrow { margin-bottom: 14px !important; }   /* was 26 - Prestige 14 */
.hero h1      { margin-bottom: 18px !important; }   /* was 60 - Prestige 18 */
.hero-sub     { margin-bottom: 0 !important; }      /* was 40 */
.hero-ctas    { margin-top: 28px !important; }      /* was 34; 40+34=74 -> 28 */

/* ---- OUR APPROACH — Prestige .coverage-index composition --------------------
   Structure, proportion and type taken from the deployed Prestige homepage
   Coverage section, measured:

     section padding      96 / 96
     inner                1280px, grid 393px + 1fr, column-gap 88px
     eyebrow              13px / 600, 140px rule, 14px gap
     headline             58px / 60.9px (1.05) / 600, set in the 380px column
     body                 17px / 28.05px (1.65), max-width 360px
     row                  130px tall, 1px bottom hairline, no row padding
     row numeral          Playfair 22px / 22px / 500, 40px column
     row title            Playfair 40px / 42px (1.05) / 500
     row description      15.5px / 23.25px (1.5)

   Mythic's tan/stone accent replaces the turquoise; everything else is the
   Prestige geometry. Replaces the stacked full-width rows that were there.
   -------------------------------------------------------------------------- */
.me-approach-idx { padding: 96px 0 !important; }
.me-approach-idx__inner {
    /* Prestige's .coverage-index__inner measures 1280px of CONTENT with the
       40px gutter on the section, giving 393 + 88 + 799. Capping this at
       1280 INCLUDING the gutter left the right column 80px short (719), so
       the cap is 1360 and the gutter sits inside it - content lands on 1280. */
    max-width: 1360px; margin: 0 auto; padding: 0 40px;
    display: grid; grid-template-columns: 393px minmax(0, 1fr);
    column-gap: 88px; align-items: start;
}
.me-approach-idx__eyebrow { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; }
.me-approach-idx__eyebrow-text {
    font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600;
    letter-spacing: .2em; text-transform: uppercase; line-height: 1;
    color: var(--brand-secondary, #8a6a4f);
}
.me-approach-idx__eyebrow-rule { flex: 0 0 140px; height: 1px; background: var(--brand-accent, #b08d6a); opacity: .7; }
.me-approach-idx__headline {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 58px; line-height: 1.05; font-weight: 600;
    letter-spacing: -.012em; color: var(--brand-charcoal, #1e2028);
    margin: 0 0 26px; text-wrap: balance;
}
.me-approach-idx__body {
    font-family: 'Inter', sans-serif; font-size: 17px; line-height: 1.65;
    color: var(--text-2, #4a5468); max-width: 360px; margin: 0; text-wrap: pretty;
}
.me-approach-idx__list { list-style: none; margin: 0; padding: 0; }
.me-approach-idx__row {
    display: grid; grid-template-columns: 40px minmax(0, 1fr);
    column-gap: 36px; align-items: start;
    min-height: 130px; padding: 26px 0 24px;
    border-bottom: 1px solid rgba(30, 32, 40, .13);
}
.me-approach-idx__row:first-child { border-top: 1px solid rgba(30, 32, 40, .13); }
.me-approach-idx__num {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 22px; line-height: 1; font-weight: 500;
    color: var(--brand-accent, #b08d6a); padding-top: 10px;
}
.me-approach-idx__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 40px; line-height: 1.05; font-weight: 500;
    letter-spacing: -.008em; color: var(--brand-charcoal, #1e2028);
    margin: 0 0 10px; text-wrap: balance;
}
.me-approach-idx__desc {
    font-family: 'Inter', sans-serif; font-size: 15.5px; line-height: 1.5;
    color: var(--text-2, #4a5468); margin: 0; text-wrap: pretty;
}
@media (max-width: 1200px) {
    .me-approach-idx__inner { grid-template-columns: 340px minmax(0, 1fr); column-gap: 60px; }
    .me-approach-idx__headline { font-size: 48px; }
    .me-approach-idx__title { font-size: 34px; }
}
@media (max-width: 900px) {
    .me-approach-idx { padding: 64px 0 !important; }
    .me-approach-idx__inner { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
    .me-approach-idx__headline { font-size: 38px; }
    .me-approach-idx__body { max-width: none; }
    .me-approach-idx__row { min-height: 0; padding: 22px 0 20px; column-gap: 22px; grid-template-columns: 32px minmax(0, 1fr); }
    .me-approach-idx__title { font-size: 28px; }
}
@media (max-width: 560px) {
    .me-approach-idx__headline { font-size: 32px; }
    .me-approach-idx__title { font-size: 25px; }
}

/* =============================================================================
   VISUAL POLISH PASS                                        2026-09-15
   ============================================================================= */

/* ---- 26. REMOVE HEAVY BLACK DECORATIVE TOP BORDERS -------------------------
   I introduced these as a "capped panel" device earlier in the day. Daniel is
   right that they read as a black lid on a box and are not part of the
   Prestige vocabulary, which uses hairlines only. All five 2px charcoal
   top-borders are removed. Thin editorial hairlines, row separators, eyebrow
   rules and dividers are all deliberately KEPT - they are the actual Prestige
   device and appear throughout Why Mythic, Our Approach, the journal and the
   cornerstone grid.
   -------------------------------------------------------------------------- */
.contact-form            { border-top: 0; }
.contact-aside-card      { border-top: 1px solid var(--brand-neutral, #e4dfd4); }
.cs-detail .contact-info-card { border-top: 0 !important; }
.pillar                  { border-top: 0; padding-top: 0; }
/* The three column rules are gone, so the gap between the section heading and
   the column titles has to be carried deliberately rather than by the rule. */
.pillars .me-head { margin-bottom: 56px; }

/* ---- 27. RADIO / CHECKBOX ALIGNMENT ---------------------------------------
   My own regression. Section 15 styled `.contact-form label` as a block,
   uppercase, letter-spaced field label - and `.contact-form__radio` IS a
   <label>, so each option inherited display:block plus an 8px bottom margin.
   That broke the inline-flex the legacy rule had set and pushed YES/NO off
   their circles. The generic label rule now excludes the option labels, and
   each option is restated as a self-contained inline unit.
   STYLE ONLY - no field, name, value, validation or handler touched.
   -------------------------------------------------------------------------- */
.contact-form label:not(.contact-form__radio):not(.contact-form__checkbox),
.contact-form .contact-form__label {
    display: block;
    margin-bottom: 8px;
}
.contact-form label.contact-form__radio,
.contact-form label.contact-form__checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    color: var(--brand-charcoal, #1e2028) !important;
    cursor: pointer;
}
.contact-form__radio input[type="radio"],
.contact-form__checkbox input[type="checkbox"] {
    width: 18px; height: 18px;
    flex: 0 0 18px;
    margin: 0 !important;
    accent-color: var(--brand-secondary, #8a6a4f);
    cursor: pointer;
}
.contact-form__radio-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 28px;
    padding-top: 4px;
}

/* ---- 28. WHY MYTHIC — cell padding + lower breathing room ------------------
   Architecture, ivory ground, four columns, separators, numbering and
   typography all unchanged. Cells had 0 left padding so content sat hard
   against the vertical rules, and only 4px below the body before the bottom
   hairline. Now an even 30px horizontal gutter inside every cell (the first
   cell keeps flush-left alignment with the section) and 34px of clearance
   above the bottom rule.
   -------------------------------------------------------------------------- */
.why-proof-item {
    padding: 28px 30px 34px 30px;
}
.why-proof-item:first-child { padding-left: 0; }
.why-proof-item:last-child  { padding-right: 0; }
@media (max-width: 1000px) {
    .why-proof-item { padding: 26px 26px 30px 26px; }
    .why-proof-item:nth-child(2n+1) { padding-left: 0; }
    .why-proof-item:nth-child(2n)   { padding-right: 0; }
}
@media (max-width: 620px) {
    .why-proof-item { padding: 24px 0 26px 0 !important; }
}

/* ---- 29. STACKED SECTION HEAD ----------------------------------------------
   The split head put the supporting sentence out to the right of the heading,
   which left it floating. This variant runs eyebrow -> heading -> body in one
   left-hand column with a real editorial measure, which is how Prestige's
   Coverage intro reads. Used by Our Cornerstones and Our Trusted Partners.
   -------------------------------------------------------------------------- */
.me-head--stacked { grid-template-columns: minmax(0, 1fr); }
.me-head--stacked .me-head__lede {
    margin-top: 16px;
    max-width: 640px;
}

/* Centred variant of the same head. Used where the content below is itself
   centred, so a left-anchored head would sit off-axis. The eyebrow and its rule
   centre as one unit rather than the rule staying left of centred text. Type,
   sizes, colours and spacing are the component's own and are not restated. */
.me-head--center { text-align: center; justify-items: center; }
.me-head--center .me-eyebrow-row { justify-content: center; }
.me-head--center .me-head__lede { margin-left: auto; margin-right: auto; }

/* ---- 30. FOOTPRINT INTRO BAND — background + one-line measure ---------------
   SCOPE: this targets the SECTION element `#footprint` only. It does NOT
   touch `#footprint-map`, `.footprint-map-wrap`, the Leaflet stylesheet, the
   inline map <style> block, the map markup, the $FOOTPRINT data or any map
   JavaScript - all of which remain byte-identical (hashed in the report).

   The supporting sentence is 95 characters and was breaking to two lines at
   desktop because the lede caps at 640px; it needs roughly 800px. The cap is
   lifted to 940px here so it sets on one line wherever the viewport allows,
   without shrinking the type. 2026-09-17: the section moved to the site-wide
   .me-head component, so the selector follows it from .section-lede to
   .me-head__lede. Same intent, same measure.
   -------------------------------------------------------------------------- */
#footprint { background: #f4f5f7; }
#footprint .me-head__lede { max-width: 940px; }

/* ---- 31. CARRIERS — white ground, larger marks -----------------------------
   White so it reads as a clean break after the new light-grey Footprint band.
   Logo cap 82px -> 96px: a modest step for legibility. object-fit: contain and
   the per-item width are unchanged, so aspect ratios hold, nothing crops, and
   no mark dominates because of its own intrinsic dimensions. Five-up on
   desktop and the carousel behaviour are untouched.
   -------------------------------------------------------------------------- */
#partners.section-neutral { background: #ffffff; }
#partners .logo-marquee__item img { max-height: 96px; }
@media (max-width: 620px) {
    #partners .logo-marquee__item img { max-height: 68px; }
}

/* ---- 32. ABOUT INTRO BODY SCALE (final QA) ---------------------------------
   Caught by auditing computed fonts page by page rather than trusting one
   component. The About narrative renders through the bare `.mythic-body`,
   which was still at 19px / 33.25px - the "too large and too loose" body copy
   Daniel flagged before the design-system pass. Every other body measure on
   the site now sits at 17px (.me-network__body 17/28.9, Prestige's equivalent
   17/28.05), so About's intro was the last component left on the old scale.
   Cornerstone detail pages are unaffected: they match on
   `.cs-detail .mythic-body p`, which is declared separately at 17.5px.
   -------------------------------------------------------------------------- */
.mythic-body p {
    font-size: 17px;
    line-height: 1.7;
}

/* ---- 33. HEADER LOGO — MODEST REDUCTION (final branding pass) --------------
   The wordmark sat a little heavy inside the floating pill. Reduced ~12.5%
   on desktop (56 -> 49px) and ~11% on mobile (44 -> 39px), which is the
   modest step Daniel asked for, not a small logo.

   `width: auto` is retained so the aspect ratio is driven by the file, never
   by CSS. The pill's height is pinned to what it measured BEFORE the change
   (min-height) so the header, the navigation row and the CTA all keep their
   existing positions - the logo simply gains breathing room inside the same
   bar rather than shrinking it.
   -------------------------------------------------------------------------- */
.nav-pill .logo {
    /* The wordmark is the tallest child in the pill, so shrinking the image
       alone shrank the whole header (measured: 84 -> 77 desktop, 80 -> 73 at
       768, 64 -> 61 at 390). Pinning the LOGO BOX to its original height
       instead keeps the header, the nav row and the CTA exactly where they
       were at every breakpoint, with no per-breakpoint magic numbers - the
       image simply occupies less of the same box. */
    display: flex;
    align-items: center;
    height: 56px;
}
.nav-pill .logo img { height: 49px; width: auto; }   /* 56 -> 49, -12.5% */
@media (max-width: 720px) {
    .nav-pill .logo { height: 44px; }
    .logo img { height: 39px !important; }           /* 44 -> 39, -11.4% */
}

/* ---- 34. HOMEPAGE HERO — NEW BRAND IMAGE (final branding pass) -------------
   Source: Daniel's supplied Mythic mountain/emblem artwork, used as supplied.
   Not recreated, not AI-edited, not restyled - only prepared for delivery:
   2560x1439 PNG (3.35 MB) -> 2560x1439 WebP (206 KB), q90, sharp-YUV, metadata
   stripped. Resolution and 1.779 aspect ratio identical to the source; PSNR
   44.4 dB against the original, i.e. visually indistinguishable, so the
   mountain detail and the stone emblem stay crisp.

   CROP. The hero is 780px tall and the image is 16:9, so the crop behaviour
   flips either side of a 1.779 viewport ratio:
     >= 1.779 (about 1388px+ at this height) the image scales to WIDTH and only
     the top/bottom is trimmed - the emblem is always fully in frame.
     < 1.779 it scales to HEIGHT (1388px wide) and the sides are trimmed, so
     the horizontal position has to be steered to keep the emblem intact.
   The emblem occupies roughly 45%-87.5% of the image width. Positions below
   were computed from that span and then verified in the browser.
   Nothing else about the hero changes: height, typography, H1 size, spacing,
   content width and buttons are all untouched.
   -------------------------------------------------------------------------- */
.hero { background-position: center center; }

@media (max-width: 1200px) and (min-width: 861px) {
    /* window ~17.8%-91.6% of the image - whole emblem in frame */
    .hero { background-position: 70% center; }
}
@media (max-width: 860px) and (min-width: 721px) {
    /* tighter crop needs a further push right: window ~35.7%-91.1% */
    .hero { background-position: 78% center; }
}
@media (max-width: 720px) {
    /* At phone widths the hero is 443px tall against a 390px viewport, so the
       visible slice is only about half the image width while the emblem spans
       42% of it starting at 45% - it cannot be shown whole, and any crop that
       tries leaves a truncated chevron. Positioned instead onto the central
       peaks, which is the strongest passage of the artwork and reads as the
       brand image with no emblem fragment. Compared 12% / 38% / 55% / 100% in
       the browser; 38% was clearly the best frame. Flagged in the report. */
    .hero { background-position: 38% center; }
}

/* ---- OVERLAY. The new artwork is a light monochrome (mean luminance 151
   overall, 134 across the text zone, with fog highlights past 230) where the
   previous photograph was dark. White hero copy measured only ~3.4:1 against
   the brightest fog under the old 0.35/0.40/0.55 gradient - under AA for the
   18px lede. Raised to the smallest values that clear 4.5:1 in the worst
   spot; the image stays clearly legible rather than buried. */
.hero::before {
    background: linear-gradient(180deg, rgba(0,0,0,0.42) 0%, rgba(0,0,0,0.52) 50%, rgba(0,0,0,0.62) 100%);
}

/* Phone-only overlay top-up. Measured from the RENDERED pixels behind the
   lede (text hidden, background sampled): desktop clears AA comfortably at
   5.33:1 (1440) and 5.26:1 (1024), but the 38% phone crop sits on brighter
   fog and came in at 4.01:1 - just under the 4.5:1 needed for 18px copy.
   Raising only the phone gradient to 0.58 brings it to ~5:1. Desktop is
   untouched, so the approved desktop image is exactly as reviewed. */
@media (max-width: 720px) {
    .hero::before {
        background: linear-gradient(180deg, rgba(0,0,0,0.48) 0%, rgba(0,0,0,0.58) 50%, rgba(0,0,0,0.66) 100%);
    }
}

/* =============================================================================
   RESTORED ORIGINAL HOMEPAGE CONTENT                         2026-09-15
   =============================================================================
   Two substantive sections from the live mythicenterprises.com homepage were
   omitted during the rebuild. Both are recovered verbatim from the stored
   scrape at 01_Discovery/_scrape_raw/pages/index.html (and index.txt), and
   presented in the current approved design system rather than as a copy of the
   original Elementor layout. No existing section was altered to accommodate
   them; both are additive.
   ============================================================================= */

/* ---- 35. SEEKING PARTNERS WILLING TO TRANSFORM -----------------------------
   Split editorial composition: eyebrow + heading on the left rail, the
   original narrative in the right column, then the four original pillar
   labels on a hairline row beneath. Deliberately uses serif labels with NO
   numerals, so it stays visually distinct from Why Mythic (numbered strip)
   and Our Approach (numbered index).
   -------------------------------------------------------------------------- */
.me-transform__inner {
    max-width: 1360px; margin: 0 auto; padding: 0 40px;
    display: grid; grid-template-columns: 393px minmax(0, 1fr);
    column-gap: 88px; align-items: start;
}
.me-transform__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 44px; line-height: 1.1; font-weight: 600;
    letter-spacing: -.01em; color: var(--brand-charcoal, #1e2028);
    margin: 0; text-wrap: balance;
}
.me-transform__lead {
    font-family: 'Inter', sans-serif; font-size: 17px; line-height: 1.7;
    color: var(--text-2, #4a5468); margin: 0 0 30px; text-wrap: pretty;
}
.me-transform__rule { height: 1px; background: rgba(30,32,40,.13); margin: 0 0 28px; }
.me-transform__subhead {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 27px; line-height: 1.18; font-weight: 500;
    color: var(--brand-charcoal, #1e2028); margin: 0 0 16px;
}
.me-transform__body {
    font-family: 'Inter', sans-serif; font-size: 16.5px; line-height: 1.7;
    color: var(--text-2, #4a5468); margin: 0 0 18px; text-wrap: pretty;
}
.me-transform__body:last-of-type { margin-bottom: 0; }
.me-transform__pillars {
    list-style: none;
    max-width: 1360px; margin: 56px auto 0; padding: 0 40px;
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
}
/* The hairline lives on the CELLS, not on the wrapper: the wrapper carries the
   40px gutter, so a border on it would start 40px left of the content column
   and overhang every other section edge on the page. */
.me-transform__pillar {
    padding: 26px 30px 4px 30px;
    border-top: 1px solid rgba(30,32,40,.13);
    border-right: 1px solid rgba(30,32,40,.13);
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 22px; line-height: 1.2; font-weight: 500;
    color: var(--brand-charcoal, #1e2028); text-wrap: balance;
}
.me-transform__pillar:first-child { padding-left: 0; }
.me-transform__pillar:last-child { padding-right: 0; border-right: 0; }
.me-transform__actions {
    max-width: 1360px; margin: 40px auto 0; padding: 0 40px;
    display: flex; flex-wrap: wrap; align-items: center; gap: 26px;
}
.me-transform__link {
    font-family: 'Inter', sans-serif; font-size: 14.5px; font-weight: 600;
    color: var(--brand-charcoal, #1e2028); text-decoration: none;
    border-bottom: 1px solid var(--brand-accent, #b08d6a); padding-bottom: 3px;
}
.me-transform__link:hover { color: var(--brand-secondary, #8a6a4f); }
@media (max-width: 1100px) {
    .me-transform__inner { grid-template-columns: 340px minmax(0, 1fr); column-gap: 56px; }
    .me-transform__title { font-size: 36px; }
}
@media (max-width: 900px) {
    .me-transform__inner { grid-template-columns: minmax(0, 1fr); row-gap: 28px; }
    .me-transform__pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .me-transform__pillar { padding: 22px 22px 14px 22px; }
    .me-transform__pillar:nth-child(2n) { border-right: 0; padding-right: 0; }
    .me-transform__pillar:nth-child(2n+1) { padding-left: 0; }
}
@media (max-width: 560px) {
    .me-transform__title { font-size: 30px; }
    .me-transform__pillars { grid-template-columns: minmax(0, 1fr); }
    .me-transform__pillar { border-right: 0; padding: 20px 0 12px 0; }
}

/* ---- 36. STRATEGIES THAT WORK / OUR PLAYBOOKS ------------------------------
   The original was a dark-background section; kept dark here in Mythic's
   charcoal, which also gives the page its one dark editorial moment between
   the white Carriers band and the cream Our Approach. Numbered rows reuse the
   approved index geometry. The four points are rendered as the single verbatim
   sentences the source carries - the original markup has no bold lead-ins, so
   none are invented here.
   -------------------------------------------------------------------------- */
.me-playbook { background: #000000; padding: 96px 0; }
.me-playbook__inner {
    max-width: 1360px; margin: 0 auto; padding: 0 40px;
    display: grid; grid-template-columns: 393px minmax(0, 1fr);
    column-gap: 88px; align-items: start;
}
.me-playbook__eyebrow { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; }
.me-playbook__eyebrow-text {
    margin: 0;
    font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600;
    letter-spacing: .2em; text-transform: uppercase; line-height: 1;
    color: var(--brand-accent, #b08d6a);
}
.me-playbook__eyebrow-rule { flex: 0 0 140px; height: 1px; background: var(--brand-accent, #b08d6a); opacity: .55; }
.me-playbook__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 52px; line-height: 1.06; font-weight: 600;
    letter-spacing: -.012em; color: #ffffff; margin: 0 0 22px; text-wrap: balance;
}
.me-playbook__statement {
    font-family: 'Playfair Display', Georgia, serif;
    font-style: italic; font-size: 24px; line-height: 1.34; font-weight: 500;
    color: rgba(255,255,255,.92); margin: 0 0 22px; text-wrap: pretty;
}
.me-playbook__body {
    font-family: 'Inter', sans-serif; font-size: 17px; line-height: 1.7;
    color: rgba(255,255,255,.74); margin: 0; text-wrap: pretty;
}
.me-playbook__label {
    font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600;
    letter-spacing: .18em; text-transform: uppercase;
    color: var(--brand-accent, #b08d6a); margin: 0 0 16px;
}
.me-playbook__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.16); }
.me-playbook__row {
    display: grid; grid-template-columns: 40px minmax(0, 1fr);
    column-gap: 32px; align-items: start;
    padding: 26px 0 24px;
    border-bottom: 1px solid rgba(255,255,255,.16);
}
.me-playbook__num {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 22px; line-height: 1.35; font-weight: 500;
    color: var(--brand-accent, #b08d6a);
}
.me-playbook__text {
    font-family: 'Inter', sans-serif; font-size: 16.5px; line-height: 1.7;
    color: rgba(255,255,255,.82); margin: 0; text-wrap: pretty;
}
.me-playbook__actions { margin-top: 36px; }
.me-playbook .pill-btn.blue { background: var(--mythic-tan, #ccb7a3) !important; color: var(--brand-charcoal, #1e2028) !important; }
@media (max-width: 1100px) {
    .me-playbook__inner { grid-template-columns: 340px minmax(0, 1fr); column-gap: 56px; }
    .me-playbook__title { font-size: 42px; }
}
@media (max-width: 900px) {
    .me-playbook { padding: 64px 0; }
    .me-playbook__inner { grid-template-columns: minmax(0, 1fr); row-gap: 30px; }
    .me-playbook__title { font-size: 34px; }
    .me-playbook__statement { font-size: 21px; }
    .me-playbook__row { grid-template-columns: 32px minmax(0, 1fr); column-gap: 20px; }
}
@media (max-width: 560px) {
    .me-playbook__title { font-size: 29px; }
    .me-playbook__statement { font-size: 19px; }
}

/* =============================================================================
   HOMEPAGE FLOW + BACKGROUND RHYTHM                            2026-09-15
   =============================================================================
   Section ORDER changed in index.php (pure block reorder, no markup edits).
   This layer carries only the two background changes that order requires.

   Before, the homepage ran SEVEN consecutive light sections (Who We Serve
   through Carriers) with no chapter break, and the two charcoal/light halves
   of the same component - Strategies That Work and Our Approach, which share
   the 393+1fr rail, the eyebrow+rule, the display headline and the numbered
   hairline rows - sat directly against each other. Separating them and giving
   the page a second charcoal chapter fixes both at once.

   Charcoal is now used exactly TWICE on the homepage, on the page's two
   pivotal claims:
       #3  Why Mythic?            - why this partner is different
       #9  Strategies That Work   - how the model actually works
   Everything between them is evidence (network, map, carriers) and stays
   light on purpose: DARK = Mythic making a claim, LIGHT = the proof.
   No third dark band, so the treatment stays an event rather than a pattern.
   ============================================================================= */

/* ---- 37a. WHY MYTHIC -> CHARCOAL --------------------------------------------
   Supersedes the cream ground set in layer 30. Colour only: the padding,
   the 4-up grid, the type scale, the numerals and the hairlines are the
   approved component, untouched. Values are lifted directly from the
   Strategies That Work treatment so there is one dark design system, not two.
   -------------------------------------------------------------------------- */
.why-trust { background: #000000 !important; }
.why-trust .me-eyebrow { color: var(--brand-accent, #b08d6a); }
.why-trust .me-eyebrow-rule { background: var(--brand-accent, #b08d6a); opacity: .55; }
.why-trust .me-head__title { color: #ffffff !important; }
.why-trust .why-proof { border-top-color: rgba(255, 255, 255, .16); border-bottom-color: rgba(255, 255, 255, .16); }
.why-trust .why-proof-item { border-right-color: rgba(255, 255, 255, .16); border-top-color: rgba(255, 255, 255, .16); }
.why-trust .why-proof-num { color: var(--brand-accent, #b08d6a) !important; }
.why-trust .why-proof-label { color: #ffffff !important; }
.why-trust .why-proof-body,
.why-trust .why-proof-body { color: rgba(255, 255, 255, .74) !important; }

/* ---- 37b. OUR CORNERSTONES -> WHITE -----------------------------------------
   Cornerstones used to sit on cream directly above the Footprint band's very
   light grey (#f5f1e8 next to #f4f5f7 - same luminance, different hue, so the
   two read as one undifferentiated block). White separates them while keeping
   the map's liked grey exactly as it is, and it groups the three proof
   sections - Cornerstones, Footprint, Carriers - into one legible chapter.
   Section ground only; nothing inside the carousel is touched.
   -------------------------------------------------------------------------- */
#network.section-cream { background: #ffffff !important; }

/* =============================================================================
   ABOUT — OUR STORY OPENER                                     2026-09-15
   =============================================================================
   Replaces `.about-intro` (paragraph block + stock photograph). Every value
   below is lifted from the approved Strategies That Work treatment so there is
   ONE dark design system on this site, not two: same charcoal token, same
   393 + 1fr rail, same 88px gap, same 13px/.2em tan eyebrow with a 140px rule,
   same 52px Playfair display scale, same Playfair-italic statement, same
   rgba(255,255,255,.16) hairlines, same breakpoints. Nothing new is invented.

   The only deliberate difference: this is a READING column, not a list, so the
   body measure is capped at 660px and the leading is 1.78 rather than 1.7.
   Scoped entirely to `.me-story` — it cannot reach any other component.
   ============================================================================= */
.me-story { background: var(--brand-charcoal, #1e2028); padding: 104px 0; }
.me-story__inner {
    max-width: 1360px; margin: 0 auto; padding: 0 40px;
    display: grid; grid-template-columns: 393px minmax(0, 1fr);
    column-gap: 88px; align-items: start;
}
.me-story__eyebrow { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; }
.me-story__eyebrow-text {
    font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600;
    letter-spacing: .2em; text-transform: uppercase; line-height: 1;
    color: var(--brand-accent, #b08d6a);
}
.me-story__eyebrow-rule { flex: 0 0 140px; height: 1px; background: var(--brand-accent, #b08d6a); opacity: .55; }
.me-story__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 52px; line-height: 1.06; font-weight: 600;
    letter-spacing: -.012em; color: #ffffff; margin: 0; text-wrap: balance;
}
/* Terminates the left rail so the asymmetric split reads as a deliberate
   composition rather than a column that ran out of content. Same hairline
   value as everywhere else on charcoal. */
.me-story__rail-rule { height: 1px; background: rgba(255, 255, 255, .16); margin-top: 38px; }
.me-story__copy { max-width: 660px; }
.me-story__body {
    font-family: 'Inter', sans-serif; font-size: 17px; line-height: 1.78;
    color: rgba(255, 255, 255, .74); margin: 0 0 26px; text-wrap: pretty;
}
.me-story__body:last-child { margin-bottom: 0; }
/* The pivot sentence: paragraph 3 of 5, promoted - styling only, wording
   untouched. Hairlines above and below give the reading column its rhythm
   without introducing a card, a border or a box.

   2026-09-17 SIZE ONLY. Daniel: the statement was too small for the space it
   sits in. 25px -> 38px, and 1.38 -> 1.3 so two lines of display italic sit
   together rather than drifting apart. Nothing else moves: same Playfair
   Display italic, same 500 weight, same colour, same hairline, same 30px
   padding and 34px bottom margin, same column, same alignment.

   38px is the largest size that holds the sentence to TWO lines with room to
   spare. The copy column is a fixed 660px at 1440, 1920 and 2560, so the wrap
   is identical at all three. Measured fill of each line:

       25px   98% / 18%    <- the approved size: line 2 was "better way." alone
       34px   98% / 59%
       36px   87% / 79%
       38px   92% / 84%    <- chosen
       42px   97% / 98%    <- both lines at the column edge, one render from breaking
       44px   three lines

   At 25px the sentence read as body copy with an orphan. At 38px it reads as
   the pull quote it is, fills the measure, and still sits clearly below the
   52px section title. 42px technically holds two lines but leaves no margin at
   all, and 44px breaks. */
.me-story__statement {
    font-family: 'Playfair Display', Georgia, serif;
    font-style: italic; font-size: 38px; line-height: 1.3; font-weight: 500;
    color: rgba(255, 255, 255, .92);
    margin: 0 0 34px; padding: 30px 0 0;
    border-top: 1px solid rgba(255, 255, 255, .16);
    text-wrap: pretty;
}
@media (max-width: 1100px) {
    .me-story__inner { grid-template-columns: 340px minmax(0, 1fr); column-gap: 56px; }
    .me-story__title { font-size: 42px; }
    /* The copy column narrows to 548px here, where 38px would break to three
       lines. 32px keeps two lines at 93% / 85%. */
    .me-story__statement { font-size: 32px; }
}
@media (max-width: 900px) {
    .me-story { padding: 68px 0; }
    .me-story__rail-rule { margin-top: 30px; }
    .me-story__inner { grid-template-columns: minmax(0, 1fr); row-gap: 34px; }
    .me-story__title { font-size: 34px; }
    .me-story__copy { max-width: none; }
    .me-story__statement { font-size: 28px; }
}
@media (max-width: 560px) {
    .me-story__title { font-size: 29px; }
    .me-story__body { font-size: 16.5px; }
    .me-story__statement { font-size: 24px; padding-top: 26px; margin-bottom: 28px; }
}

/* =============================================================================
   FOOTER DISCLAIMER + ARTICLE READING SURFACE                  2026-09-15
   =============================================================================
   Two unrelated, narrowly-scoped corrections. Nothing else is touched: no
   footer layout, no footer width, no disclaimer wording, no article hero, no
   article copy, no Resources landing page, no homepage, no About opener.
   ============================================================================= */

/* ---- 38. FOOTER DISCLAIMER — SIZE ONLY --------------------------------------
   12.5px/1.55 -> 11.5px/1.6, so the legal paragraphs read as secondary to the
   copyright line and the legal nav. Colour, weight, width, composition, the
   bold "DISCLAIMER:" lead-in, the 10px paragraph gap and the surrounding
   layout are all deliberately left alone.
   -------------------------------------------------------------------------- */
.footer-bottom .disclaimer { font-size: 11.5px; line-height: 1.6; }

/* ---- 39. INDIVIDUAL ARTICLE READING SURFACE ---------------------------------
   (a) Ground goes cream -> white. Long-form reading only: this rule is scoped
       to `.me-doc`, which is emitted solely by includes/article-layout.php.
       The Resources landing page (.me-journal-lead / .me-journal) keeps its
       white + cream pairing, and every other cream surface on the site is
       untouched.
   (b) Reading measure 820px -> 960px. Noticeably wider without going
       edge-to-edge; at 1440 that still leaves 240px of margin each side, and
       it stays inside the 1013px body column the widened Prestige journal
       established. Body type is NOT enlarged - the measure changed, not the
       typography.
   (c) The return link is no longer at the top, so the top of the reading
       column starts on the category/date byline with no leftover gap: the
       30px bottom margin that spaced the old link is removed here and the
       byline's own 36px keeps the rhythm.
   -------------------------------------------------------------------------- */
.me-doc { background: #ffffff; }
.me-doc__inner { max-width: 960px; }
.me-doc__return {
    max-width: 960px; margin: 56px auto 0;
    padding-top: 26px;
    border-top: 1px solid var(--brand-neutral, #e4dfd4);
}
.me-doc__return .me-doc__back { margin-bottom: 0; }
@media (max-width: 860px) {
    .me-doc__return { margin-top: 40px; padding-top: 22px; }
}

/* =============================================================================
   FOOTER CREDIT + ABOUT: OUR STORY GROUND + MISSION/VISION    2026-09-15
   =============================================================================
   Three scoped corrections. Nothing global: every selector below is inside
   .footer-bottom, .me-story or .me-mv. No homepage rule, no header rule, no
   article rule, no Cornerstone rule and no shared typography rule is touched.
   ============================================================================= */

/* ---- 40. FOOTER: CREDIT LINE SIZE + NO PERSISTENT UNDERLINES ----------------
   The copyright / "Website by Image Design" line only - the two disclaimer
   paragraphs keep the 11.5px/1.6 set in layer 38. Underlines are removed from
   the persistent state of every link in the footer's legal area; colour and
   hover are kept so they still read and behave as links.
   -------------------------------------------------------------------------- */
.footer-bottom .footer-bottom-text .copy { font-size: 10.5px; line-height: 1.6; }
.footer-bottom .footer-legal-row a,
.footer-bottom .footer-bottom-text .copy a,
.footer-bottom .footer-bottom-text .disclaimer a { text-decoration: none; }
.footer-bottom .footer-bottom-text .disclaimer a { border-bottom: 0; }
.footer-bottom .footer-bottom-text .copy a:hover,
.footer-bottom .footer-bottom-text .disclaimer a:hover { color: #ffffff; }

/* ---- 41. ABOUT / OUR STORY — CHARCOAL GROUND -> WHITE -----------------------
   Colour adaptation ONLY. The composition Daniel approved is untouched: same
   393 + 1fr editorial split, same eyebrow-with-rule, same 52px Playfair
   display line, same promoted statement paragraph, same hairlines, same
   spacing, same copy, still no image. Accent follows the site's own
   light-ground convention - stone (--brand-secondary) for the eyebrow TEXT,
   which clears AA on white at 4.9:1, and tan (--brand-accent) for the
   decorative rule, exactly as .me-eyebrow / .me-eyebrow-rule do elsewhere.
   -------------------------------------------------------------------------- */
.me-story { background: #ffffff; }
.me-story__eyebrow-text { color: var(--brand-secondary, #8a6a4f); }
.me-story__eyebrow-rule { background: var(--brand-accent, #b08d6a); opacity: .8; }
.me-story__title { color: var(--brand-charcoal, #1e2028); }
.me-story__rail-rule { background: rgba(30, 32, 40, .13); }
.me-story__body { color: var(--text-2, #4a5468); }
.me-story__statement {
    color: var(--brand-charcoal, #1e2028);
    border-top-color: rgba(30, 32, 40, .13);
}

/* ---- 42. ABOUT / MISSION + VISION — BALANCED TWO-COLUMN ON CHARCOAL ---------
   Ground is var(--brand-charcoal, #1e2028) - the same custom property the
   homepage Strategies That Work section (.me-playbook) resolves, so the two
   can never drift apart. Type scale, tan accent, white headings, muted body
   and the rgba(255,255,255,.16) hairline are all the established dark-ground
   values. Two equal columns of equal visual weight, divided by one hairline.
   No cards, no boxes, no radii, no shadows, no icons, no oversized numerals.
   -------------------------------------------------------------------------- */
.me-mv { background: #000000; padding: 88px 0; }
.me-mv__inner {
    max-width: 1360px; margin: 0 auto; padding: 0 40px;
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}
.me-mv__col { padding-right: 56px; min-width: 0; }
.me-mv__col + .me-mv__col {
    padding-right: 0; padding-left: 56px;
    border-left: 1px solid rgba(255, 255, 255, .16);
}
.me-mv__meta { display: flex; align-items: baseline; gap: 16px; margin: 0 0 22px; }
.me-mv__num {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 20px; line-height: 1; font-weight: 500;
    color: var(--brand-accent, #b08d6a);
}
.me-mv__eyebrow {
    font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600;
    letter-spacing: .2em; text-transform: uppercase; line-height: 1;
    color: var(--brand-accent, #b08d6a);
}
.me-mv__heading {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 34px; line-height: 1.14; font-weight: 500;
    letter-spacing: -.012em; color: #ffffff;
    margin: 0 0 18px; text-wrap: balance;
}
.me-mv__body {
    font-family: 'Inter', sans-serif; font-size: 16.5px; line-height: 1.75;
    color: rgba(255, 255, 255, .74); margin: 0; text-wrap: pretty;
}
@media (max-width: 1100px) {
    .me-mv__col { padding-right: 40px; }
    .me-mv__col + .me-mv__col { padding-left: 40px; }
    .me-mv__heading { font-size: 30px; }
}
@media (max-width: 900px) {
    .me-mv { padding: 64px 0; }
    .me-mv__inner { grid-template-columns: minmax(0, 1fr); }
    .me-mv__col { padding-right: 0; }
    .me-mv__col + .me-mv__col {
        padding-left: 0; border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, .16);
        margin-top: 40px; padding-top: 40px;
    }
    .me-mv__heading { font-size: 29px; }
}
@media (max-width: 560px) {
    .me-mv__heading { font-size: 26px; }
    .me-mv__body { font-size: 16px; }
}

/* =============================================================================
   INTERIOR-PAGE HERO — PHONE CROP                              2026-09-15
   =============================================================================
   The shared interior hero image is 1945x809 (2.404:1). The .page-hero box is
   2.67:1 at 1440 and 1.42:1 at 768, so `cover` crops vertically there and the
   default centre position was verified good at 1440 / 1327 / 1024 / 768 - no
   override is applied at those widths.

   At phone widths the box is 1.39:1, so only ~58% of the image width is
   visible and a centred crop bisects the Mythic mug exactly on the left
   viewport edge. Shifting the frame slightly toward the desk side removes that
   half-object without changing hero height, geometry, overlay or typography.
   This is a background-position value only, scoped to .page-hero - the
   homepage `.hero` and the homepage `.fw-callout` are different selectors and
   are not affected.
   ============================================================================= */
@media (max-width: 560px) {
    .page-hero { background-position: 30% center; }
}


/* =============================================================================
   HOMEPAGE CTA — BACKGROUND POSITION                           2026-09-15
   =============================================================================
   Scoped to .fw-callout, which exists ONLY on the homepage CTA band. The
   interior `.page-hero` system and the homepage `.hero` are different
   selectors and are not affected.

   The photograph is 1983x793 (2.5006:1) and the man's hairline sits just 15px
   from its top edge. The band is 520px tall, so above ~1300px viewport the
   image is width-constrained and `cover` overflows vertically - a centred
   crop removes ~28px from the top and decapitates him, which is the defect
   being fixed. `center top` pins the top edge, so his full head survives at
   every desktop width; the overflow comes off the bottom of the desk instead.

   Below 1300px the band is height-constrained and there is no vertical crop at
   all, only horizontal. At <=900px the frame is narrow enough that a centred
   crop clips the woman's face at the right edge, so the frame is shifted to
   66% - that centres the window on BOTH faces and keeps each head whole.

   Nothing else changes: no height, no padding, no copy, no button, no
   typography, and the existing left-strong overlay gradient is untouched.
   ============================================================================= */
.fw-callout { background-position: center top; }
@media (max-width: 900px) {
    .fw-callout { background-position: 66% center; }
}

/* =============================================================================
   FOOTER NAV — COMPANY + 3-COLUMN CORNERSTONES GROUP        2026-09-15
   =============================================================================
   Grid only, to match the reorganised markup. The Legal column is gone, so the
   outer track count drops from three to two: a narrow Company column, then the
   Cornerstones group occupying the remaining width and splitting its links
   across three inner columns. The group heading therefore renders ONCE and
   spans columns 2-4, which is the requested reading.

   Nothing else in the footer is touched: background, panel, radius, spacing,
   padding, logo, typography, link styles, hover, the disclaimer block, the
   10.5px copyright line and the legal row all keep their current rules. The
   cancelled 35px radius / negative-margin experiment is NOT reintroduced.
   ============================================================================= */
.footer-cols.footer-cols-scalable {
    grid-template-columns: minmax(0, 1fr) minmax(0, 3.4fr);
    gap: 56px;
    align-items: start;
}
.footer-cornerstones-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 36px;
    align-items: start;
}
@media (max-width: 1024px) {
    .footer-cols.footer-cols-scalable {
        grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
        gap: 40px;
    }
}
/* Tablet: Company sits above, the Cornerstones group goes full width and keeps
   three columns while they still fit comfortably. */
@media (max-width: 860px) {
    .footer-cols.footer-cols-scalable { grid-template-columns: minmax(0, 1fr); gap: 34px; }
    .footer-col-cornerstones { grid-column: 1 / -1; }
    .footer-cornerstones-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 24px; }
}
/* Narrow tablet / large phone: two inner columns. */
@media (max-width: 680px) {
    .footer-cornerstones-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
}
/* Phone: single stack, matching the existing footer behaviour. */
@media (max-width: 480px) {
    .footer-cornerstones-grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}

/* =============================================================================
   LAYER 44 — 2026-09-15  TECHNICAL / ACCESSIBILITY QA PASS
   Presentation-only companions to the heading-LEVEL corrections made in the
   markup this pass, plus the skip link. NO design change is intended: every
   declaration below reproduces the computed style the previous tag already
   produced. Verified by (a) before/after computed-style capture of every
   affected element and (b) full-page pixel diff across 22 routes x 1440/390.
   ========================================================================== */

/* --- Footer column headers -------------------------------------------------
   Were <h5> immediately after the <h2> CTA heading: a skipped heading level
   on all 22 routes. Now <h3>. These declarations mirror the rule that was
   actually winning for .footer-panel h5 (this file, ~line 5173) plus the
   white it took from the global footer contrast list (~line 2327). */
.footer-panel h3 {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #ffffff;
    margin: 0 0 22px;
}

/* --- Cornerstone detail: "How to reach …" ----------------------------------
   Was <h3> directly after the page <h1>. Now <h2>. Mirrors
   `.cs-detail .contact-info-card h3` (~5387) with its 21px override (~5741). */
.cs-detail .contact-info-card h2 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 21px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    color: var(--brand-charcoal, #1e2028) !important;
    margin: 0 0 24px !important;
    text-wrap: balance;
}

/* --- Contact page aside ----------------------------------------------------
   "Prefer a direct conversation?" was <h3> directly after the <h1>. Now <h2>.
   Mirrors `.contact-aside-card h3` (~5494) with its 22px override (~5742). */
.contact-aside-card h2 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 22px !important;
    font-weight: 500;
    line-height: 1.24;
    color: var(--brand-charcoal, #1e2028);
    margin: 0 0 14px;
    text-wrap: balance;
}

/* --- Skip link + <main> landmark -------------------------------------------
   WCAG 2.4.1 Bypass Blocks (Level A). Off-canvas until it receives keyboard
   focus, so it is invisible in every screenshot and to every mouse user. */
main { display: block; }
#main-content:focus { outline: none; }
.skip-to-content {
    position: absolute;
    top: 0;
    left: -9999px;
    z-index: 10000;
    padding: 14px 22px;
    background: #ffffff;
    color: var(--brand-charcoal, #1e2028);
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .04em;
    text-decoration: none;
    border-radius: 0 0 10px 0;
    box-shadow: 0 6px 22px rgba(0, 0, 0, .28);
}
.skip-to-content:focus {
    left: 0;
    outline: 2px solid var(--brand-accent, #b08d6a);
    outline-offset: -2px;
}

/* =============================================================================
   LAYER 45 — 2026-09-15  WCAG AA CONTRAST CORRECTIONS (TEXT COLOUR ONLY)
   Scope: the 13 text contexts measured below 4.5:1 in the technical QA pass.
   Every declaration here sets `color` and nothing else. No token that is ever
   used for a background, border, rule, icon or button fill is touched:
     --brand-secondary (#8a6a4f) - 21 uses incl. fills/borders - UNCHANGED
     --brand-accent / --gold (#b08d6a) - 31 uses incl. hairlines - UNCHANGED
     --blue -> var(--brand-secondary) - also a .pill-btn background - UNCHANGED
   Only --text-muted moved, and only because every one of its uses is `color`.
   ========================================================================== */

/* --- Group A: stone #8a6a4f on cream #f5f1e8 --- 4.38:1 -> 4.52:1 -----------
   #87684d is the lightest value on this hue that clears 4.5:1 (98% of the
   original), so the stone reads as the same colour. */
.me-approach-idx__eyebrow-text { color: #87684d; }              /* index — "Our Approach" */
.me-journal__eyebrow           { color: #87684d; }              /* resources — "More insights" */
.me-journal__row-cat           { color: #87684d; }              /* resources — row categories */
.contact-form label,
.contact-form .contact-form__label { color: #87684d; }          /* contact — field labels */
.contact-form__quote a         { color: #87684d; }              /* contact — "Looking for a quote?" */
.cs-detail .contact-row .lbl   { color: #87684d; }              /* 9 details — Phone/Office/Hours/Website */
.contact-row a,
.cs-detail .contact-row .val a { color: #87684d; }              /* 9 details — phone + website links */
/* The map attribution needs 0,2,1 to win: index.php carries an in-body
   <style> block whose `.leaflet-container a { color: var(--blue) }` (line ~542)
   loads after site.css and would otherwise take source-order priority. Scoped to
   the attribution control so popup links, which already pass at 4.94:1 on white,
   are left exactly as they are. */
.leaflet-container .leaflet-control-attribution a { color: #87684d; }

/* --- Group B: tan #b08d6a on #ffffff --- 3.06:1 -> 4.54:1 -------------------
   Article byline category chip only. --gold itself is untouched because it
   also draws hairlines and icon strokes. */
.editorial-byline .cat,
.article-body .editorial-byline .cat { color: #8d7155; }

/* Group C (#7a8595 -> #6d7685, 3.74:1 -> 4.58:1) is handled at the
   --text-muted token in theme.css; see the comment there. It covers the
   article byline <time> and the "Last updated:" line on the three legal
   pages, whose inline style no stylesheet rule could have reached. */

/* ---- 30. WHO WE SERVE — photograph + overlapping feature cards -------------
   2026-09-16. The right column was two flat cream text panels; the approved
   direction is a straight photograph with three white cards bridging the white
   ground and the image. 2026-09-23: the decorative contour lines that sat
   behind this section were removed; the ground behind the cards is plain white.

   Everything here is namespaced to .who-serve, which appears only on the
   homepage, so no global styles move and no other page is touched. The older
   .who-serve__panel rules above are left in place but are now dead — the
   markup that used them is gone.

   THE PHOTOGRAPH IS NEVER TRANSFORMED. No rotate, skew, perspective or tilted
   wrapper anywhere in this block: the brief is explicit and a later "subtle
   tilt" would break it.
   -------------------------------------------------------------------------- */
.who-serve {
    grid-template-columns: minmax(0, 43fr) minmax(0, 57fr);
    gap: 56px;
    align-items: center;
}
.who-serve__intro { padding-top: 0; }

/* --- CTA: warm gold pill ---------------------------------------------- */
.who-serve__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 30px;
    padding: 15px 30px;
    border-radius: 999px;
    background: var(--brand-secondary, #8a6a4f);
    color: #fff;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-decoration: none;
    border: 1px solid transparent;
    transition: background-color .18s ease, transform .18s ease;
}
.who-serve__cta:hover,
.who-serve__cta:focus-visible { background: var(--brand-secondary-2, #6f5340); color: #fff; }
.who-serve__cta-arrow { width: 17px; height: 17px; flex: 0 0 17px; }
.who-serve__cta:hover .who-serve__cta-arrow { transform: translateX(3px); }
.who-serve__cta-arrow { transition: transform .18s ease; }

/* --- Visual: photo, cards over the photo's left edge --------------------- */
.who-serve__visual {
    position: relative;
    padding-left: 92px;          /* the gutter the cards hang in */
}
.who-serve__figure {
    margin: 0;
    border-radius: 16px;
    overflow: hidden;
    background: var(--brand-neutral, #e4dfd4);
}
.who-serve__figure img {
    display: block;
    width: 100%;
    height: clamp(420px, 34vw, 520px);
    object-fit: cover;
    object-position: center 42%;
}

/* --- Feature cards ----------------------------------------------------- */
.who-serve__cards {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);   /* vertical centring only — never a tilt */
    z-index: 2;
    width: min(330px, 62%);
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 16px;
}
.who-serve__card {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid var(--brand-neutral, #e4dfd4);
    border-radius: 14px;
    box-shadow: 0 6px 20px rgba(30, 32, 40, .07);
}
.who-serve__card-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--brand-light, #f5f1e8);
    color: var(--brand-charcoal, #1e2028);
}
.who-serve__card-icon svg { width: 20px; height: 20px; }
.who-serve__card-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.005em;
    color: var(--ink, #0a0a0a);
    margin: 0 0 5px;
}
.who-serve__card-body {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--text-2, #4a5468);
    margin: 0;
    text-wrap: pretty;
}

/* --- Tablet: keep the two columns, tighten the overlap ----------------- */
@media (max-width: 1100px) and (min-width: 901px) {
    .who-serve { gap: 36px; grid-template-columns: minmax(0, 41fr) minmax(0, 59fr); }
    .who-serve__visual { padding-left: 64px; }
    .who-serve__cards { width: min(288px, 66%); gap: 12px; }
    .who-serve__card { padding: 15px 16px; gap: 12px; }
    .who-serve__card-icon { flex-basis: 38px; width: 38px; height: 38px; }
    .who-serve__card-title { font-size: 17.5px; }
    .who-serve__card-body { font-size: 14px; }
    .who-serve__figure img { height: clamp(400px, 44vw, 470px); }
}

/* --- Mobile: copy, CTA, image, then the cards as a normal stack -------- */
@media (max-width: 900px) {
    .who-serve { grid-template-columns: 1fr; gap: 28px; align-items: start; }
    .who-serve__visual { padding-left: 0; }
    .who-serve__figure img { height: clamp(240px, 52vw, 340px); }
    /* Out of the overlay and into the flow, directly under the photograph. */
    .who-serve__cards {
        position: static;
        transform: none;
        width: 100%;
        margin-top: 18px;
        gap: 12px;
    }
    .who-serve__card { padding: 16px 18px; }
    .who-serve__card-title { font-size: 18px; }
    .who-serve__card-body { font-size: 15px; }
    .who-serve__cta { margin-top: 24px; width: auto; }
}
@media (max-width: 480px) {
    .who-serve__cta { padding: 14px 24px; font-size: 12.5px; }
    .who-serve__card-icon { flex-basis: 38px; width: 38px; height: 38px; }
}

/* Nothing here changes .why-trust; the black section keeps its own padding. */

/* ---- 30b. WHO WE SERVE — LEFT COPY INSET (spacing only) ---------------------
   2026-09-16. Daniel: too much dead space on the left; move the copy slightly
   toward the centre so copy, cards and photograph read as one composition.

   Spacing ONLY. Nothing else in section 30 changes: same 43/57 columns, same
   56px gap, same photograph, same card geometry/overlap/order, same contours,
   same CTA, same radii, and still no transform of any kind on the figure.

   The inset is padding on the existing grid column — no translateX, no absolute
   positioning, no compensating change to the image or cards.

   60px, chosen by measuring rather than by picking the middle of a range:
     1440  heading stays 2 lines; copy-to-cards gap 216px -> 157px
     1101  heading stays 2 lines; gap 105px -> 64px  (70px+ rewraps the heading
           to 3 lines here, which is why the value is 60 and not 70)
   It is a constant, not a vw expression, so it cannot grow on a wide monitor.

   Scoped to >=1101px, i.e. the desktop two-column range only. The 901-1100
   tablet range already runs a 41/59 split with a 36px gap and has no dead space
   to remove, and below 901px the section stacks, where an inset is meaningless.

   Wide screens need no rule of their own: .container is max-width:1360px with
   margin:0 auto, so at 1920 and 2560 the whole composition is identical to 1440
   and simply centres. Verified - the copy-to-visual gap is the same 157px at
   1440, 1920 and 2560.
   -------------------------------------------------------------------------- */
@media (min-width: 1101px) {
    .who-serve__intro { padding-left: 60px; }
}

/* ---- 42. FOOTER LEGAL BLOCK: MATCH PRESTIGE AT 10.5px ----------------------
   2026-09-17. Daniel: the Mythic legal links read visibly larger than
   Prestige. Measured in Chrome rather than read off the source, at 1440, 900
   and 390, all three identical:

       element            Mythic (before)      Prestige (approved)
       .footer-legal-row  13.5px / 21.6px      10.5px / 16.8px
       .sep               13.5px               10.5px
       .disclaimer        11.5px / 18.4px      10.5px / 16.8px
       .copy              10.5px / 16.8px      10.5px / 16.8px

   Mythic's whole footer-bottom block reported three different sizes
   (13.5 / 11.5 / 10.5); Prestige reported one (10.5 on every element).

   SIZE AND LINE-HEIGHT ONLY. Colour, weight, family, the 8px/14px gap, the
   14px bottom margin, the pipe separators, the absence of underlines and the
   #ffffff hover are already identical to Prestige and are not touched here.
   Prestige is NOT changed: Mythic is brought down to it.

   These rules sit at the end of the file and carry the same specificity as
   the earlier declarations they supersede (.footer-legal-row at layer 4742,
   .footer-bottom .disclaimer at layer 38), so later source order wins without
   introducing !important.
   -------------------------------------------------------------------------- */
.footer-legal-row { font-size: 10.5px; line-height: 1.6; }
.footer-bottom .disclaimer { font-size: 10.5px; line-height: 1.6; }

/* ---- 43. RESOURCES HERO SCRIM: REMOVED ------------------------------------
   Resources used to carry its own .page-hero--resources::before scrim at
   min-width 721px (rgba .47 / .52 at 60% / .62). That override was written
   against an earlier, darker shared .page-hero scrim, where it read as
   lighter. The shared scrim has since been set to rgba .45 / .36 at 50% /
   .57, which is lighter than the Resources override, so the override was
   the only thing left making Resources render darker than Cornerstones and
   every other interior page. Measured gap before removal: about 8 points of
   mean luminance at every width from 768 up, and none at 390 because the
   override was gated at min-width 721px.

   Cornerstones & Offices is the approved visual reference for the interior
   hero. Resources now inherits the shared .page-hero treatment unchanged, so
   all interior heroes share one photograph treatment.

   The .page-hero--resources class is still on the Resources markup and is
   intentionally unstyled. Do not reintroduce a per-page scrim here. If one
   interior hero ever genuinely needs a different darkness, document the
   reason at the shared rule so the two values stay visibly related. */

/* ---- GLOBAL: TELEPHONE LINKS ARE NEVER UNDERLINED --------------------------
   A phone number stays clickable and keeps its colour, but no line is ever
   drawn beneath it, in any state, anywhere on the site.

   WHY THIS IS SCOPED THE WAY IT IS
   Measured before writing it: 15 tel links across the site. Four carried a
   real underline. `.pp-contact__phone` drew a bottom-only 1px border. The
   form widget's call bar, the `.link` class and a bare anchor in the terms
   page each added `text-decoration: underline` on hover and focus, inherited
   from generic anchor rules rather than set on the phone number itself.

   The other eleven were `.pill-btn` call-to-action buttons. Their
   border-bottom is one side of a pill-shaped button border: all four sides
   are equal and the radius is 999px. That is a button outline, NOT an
   underline, and removing it would break approved button styling. So the
   border and background parts of this rule exclude button classes. The
   text-decoration part does not need to, because a button should not carry
   text-decoration either.

   `!important` is deliberate and is confined to this one purpose. Several
   competing rules are more specific than an attribute selector, for example
   `.team-info .team-contact a:hover`, so without it a future component rule
   would silently reintroduce an underline. This rule is the site's single
   answer to "phone numbers are never underlined", so it needs to win.

   The widget in includes/forms/render.php carries the same rule inside its
   own scoped stylesheet, because that CSS is ID-scoped and a form may render
   on a page that does not load this file.

   WHAT THIS DOES NOT CATCH
   A pseudo-element underline, meaning an `::after` with empty content sized
   to a 1px bar. No tel link uses one today, and CSS cannot distinguish that
   from an icon pseudo-element, so blanket-resetting `::after` would risk
   removing icons. If a component ever adds one, it must not add it to a
   phone number. */

a[href^="tel:"],
a[href^="TEL:"],
a[href^="tel:"]:link,
a[href^="tel:"]:visited,
a[href^="tel:"]:hover,
a[href^="tel:"]:focus,
a[href^="tel:"]:focus-visible,
a[href^="tel:"]:active,
a[href^="tel:"] *,
a[href^="tel:"]:hover *,
a[href^="tel:"]:focus * {
    text-decoration: none !important;
    text-decoration-line: none !important;
}

/* Bottom-only border used as an underline, and gradient-background
   underlines. Button classes are excluded so a pill button keeps its
   border and its fill. */
a[href^="tel:"]:not(.pill-btn):not(.btn):not(.button):not(.qf-btn):not(.cta-btn),
a[href^="tel:"]:not(.pill-btn):not(.btn):not(.button):not(.qf-btn):not(.cta-btn):hover,
a[href^="tel:"]:not(.pill-btn):not(.btn):not(.button):not(.qf-btn):not(.cta-btn):focus,
a[href^="tel:"]:not(.pill-btn):not(.btn):not(.button):not(.qf-btn):not(.cta-btn):focus-visible,
a[href^="tel:"]:not(.pill-btn):not(.btn):not(.button):not(.qf-btn):not(.cta-btn):active,
a[href^="tel:"]:not(.pill-btn):not(.btn):not(.button):not(.qf-btn):not(.cta-btn):visited {
    border-bottom: 0 !important;
    border-bottom-color: transparent !important;
    background-image: none !important;
}


/* ---- 46. WHO WE SERVE: CARD WIDTH AND TYPE SCALE --------------------------
   2026-09-17. Daniel: the three floating cards feel too narrow and the serif
   card headings too small against "Agencies considering your future." on the
   left. Widen slightly, raise the type, change nothing else.

   SIZE ONLY. The photograph, its crop, its position and its dimensions are
   untouched. .who-serve__visual keeps padding-left: 92px, so the cards still
   hang exactly 92px off the photograph's left edge, the same absolute overlap
   as before. No positioning adjustment was needed and none was made: moving
   the padding to hold the OLD 28%-off-photo proportion would have narrowed the
   photograph by 12px, and a narrower box re-crops an object-fit: cover image.
   The brief says do not change the crop, so the padding stays.

   Nothing else in section 30 changes: same white cards, same 1px
   --brand-neutral border, same 14px radius, same shadow, same cream discs with
   black glyphs, same 16px card gap, same vertical centring, same contours, and
   still no transform of any kind on the figure or the cards.

   WIDTH: 330px -> 372px (+12.7%). Chosen by measuring the wrap, not by picking
   a number in the range. At 1440, with the new type sizes, the fraction of the
   widest line that the last line of body copy fills:

       width   card 1   card 2   card 3   body lines   card heights
       330      99%      85%      34%      2, 2, 3      112, 112, 134
       355      95%      82%      92%      2, 2, 2      118, 118, 118
       363      93%      68%      89%      2, 2, 2      118, 118, 118
       372      90%      65%      87%      2, 2, 2      118, 118, 118
       380      87%      64%      77%      2, 2, 2      118, 118, 118

   At the approved 330px, "A Stronger Future" ran to three lines with a
   two-word orphan ("your terms.") and stood 22px taller than the other two.
   355px is the point where all three settle at two lines and the heights
   match, but card 1 sits at 95% of its line: one font-rendering difference
   from wrapping again. 372px leaves real margin on all three at the larger
   type, and 380px buys margin that is not visible on screen. 372 is the
   smallest width that is comfortably correct rather than only just correct.

   THE PERCENTAGE CEILING MOVES WITH THE WIDTH, 62% -> 66%. The min() form is
   kept rather than replaced with a flat pixel value, because below about
   1200px the percentage is what binds and it stops the cards swallowing the
   photograph. But 62% was tuned for a 330px card, and left alone it caused a
   REGRESSION at the bottom of the desktop range. Measured at 1101px:

       ceiling   card width   body lines   card heights
       62%        341px        3, 2, 3      142, 118, 142   <- worse than before
       64%        352px        2, 2, 3      118, 118, 142   <- same shape as before
       66%        363px        2, 2, 2      118, 118, 118   <- better than before
       68%        372px        2, 2, 2      118, 118, 118   <- no further gain

   At 62% the wider type had less room than it needed and "Greater
   Opportunities" fell to a third line, so the section looked worse at 1101
   than it did before this change. 66% is the first value that holds all three
   cards at two lines and equal height across the whole desktop range. It is
   also more conservative than scaling the old ceiling with the card, which
   would have been 62% x 372/330 = 70%.

   The ceiling only engages below ~1200px. From 1200 up the card is 372px and
   the percentage is never reached, so 1440, 1920 and 2560 are identical either
   way. Share of the photograph covered at 1101 goes from 54.4% to 59.2%, and
   at 1440 from 36.6% to 46.2%; the pier and the gazebo stay clear at both.

   TYPE: heading 19px -> 21.5px (+13.2%), body 14.5px -> 15.5px (+6.9%). The
   body rises at roughly half the heading's rate, so the hierarchy inside the
   card opens up rather than everything simply growing. The heading keeps its
   Playfair Display face, its 600 weight, its 1.25 line-height, its -.005em
   tracking and its --ink colour; only the size moves. At 21.5px the card
   heading is 60% of the 36px section heading, so it gains presence and stays
   clearly subordinate.

   Scoped to >=1101px, the desktop two-column range only. The 901-1100 tablet
   rule and the <=900 stacked rule set their own width and type and are not
   touched, so no desktop value is forced onto a small screen.
   -------------------------------------------------------------------------- */
@media (min-width: 1101px) {
    .who-serve__cards      { width: min(372px, 66%); }
    .who-serve__card-title { font-size: 21.5px; }
    .who-serve__card-body  { font-size: 15.5px; }
}
