/* ==========================================================================
   CFO CRAFT - SHARED RESOURCES STYLES
   Global navbar/footer/theme tokens come from ../style.css + ../responsive.css.
   Only Resources Hub / Events page-specific components live here.
   ========================================================================== */

body.resource-page {
  --resource-paper: var(--gray-100);
  --resource-card: var(--white);
  --resource-line: var(--gray-200);
  --resource-muted: var(--gray-600);
  --resource-ink: var(--dark-blue);
  --resource-positive: #366170;
  background: var(--resource-paper);
  color: #111;
  font-family: var(--font-primary);
  font-size: 16px;
  line-height: 1.65;
}
.resource-page main { overflow: hidden; }
.resource-page .resource-wrap { max-width: 1160px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.resource-page .resource-skip { position:absolute; left:-9999px; }
.resource-page .resource-skip:focus { left:16px; top:12px; z-index:1200; padding:8px 12px; background:var(--white); color:var(--dark-blue); border-radius:6px; }
.resource-page :focus-visible { outline:2px solid var(--primary-blue); outline-offset:2px; }
.resource-page .nav-dropdown-wrap > .nav-link { cursor: default; }
.resource-page .nav-dropdown a[aria-current="page"] { background: var(--gray-100); }
.resource-page .nav-dropdown a[aria-current="page"] .dd-title { color: var(--primary-blue); font-weight: 700; }

/* Hero */
.resource-page .resource-hero {
  position:relative; overflow:hidden; padding:9rem 0 4.5rem;
  background:linear-gradient(110deg, var(--dark-blue-gradient)); color:var(--white);
}
.resource-page .resource-hero::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse at 20% 75%, rgba(166,203,247,.13), transparent 52%),
             radial-gradient(ellipse at 82% 18%, rgba(43,109,178,.16), transparent 48%);
}
.resource-page .resource-hero .resource-wrap { position:relative; z-index:1; display:grid; grid-template-columns:auto minmax(0,1fr); gap:30px; align-items:start; }
.resource-page .resource-crumb { margin:0 0 .8rem; color:rgba(255,255,255,.64); font-size:.85rem; }
.resource-page .resource-crumb a { color:inherit; }
.resource-page .resource-crumb a:hover { color:var(--light-blue); }
.resource-page .resource-hero h1 { max-width:850px; margin:0; color:var(--light-blue); font-family:var(--font-heading); font-size:clamp(2.35rem,5vw,3.7rem); font-weight:400; line-height:1.12; letter-spacing:-.025em; }
.resource-page .resource-lede { max-width:760px; margin:1.1rem 0 0; color:rgba(255,255,255,.84); font-size:clamp(1rem,1.7vw,1.16rem); line-height:1.7; }

/* Shared sections */
.resource-page .resource-block { padding:4.5rem 0; }
.resource-page .resource-block.resource-white { background:var(--white); border-top:1px solid var(--resource-line); border-bottom:1px solid var(--resource-line); }
.resource-page .resource-h2 { margin:0 0 .65rem; color:var(--dark-blue); font-family:var(--font-heading); font-size:clamp(1.8rem,3.2vw,2.35rem); font-weight:600; line-height:1.2; letter-spacing:-.015em; }
.resource-page .resource-sub { max-width:760px; color:var(--resource-muted); }
.resource-page .resource-ph { display:inline; padding:1px 5px; border:1px dashed #c8954f; border-radius:4px; background:#fff6e9; color:#76501f; font-weight:600; }

.resource-page .resource-btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:12px 18px; border:1px solid transparent; border-radius:8px; font:600 .92rem/1 var(--font-primary); text-decoration:none; cursor:pointer; transition:var(--transition); }
.resource-page .resource-btn-navy { background:var(--dark-blue); color:var(--white); }
.resource-page .resource-btn-navy:hover { background:var(--primary-blue); }
.resource-page .resource-btn-sky { background:var(--light-blue); color:var(--dark-blue); }
.resource-page .resource-btn-sky:hover { background:#c4dcf8; }
.resource-page .resource-btn-line { background:transparent; color:var(--dark-blue); border-color:var(--dark-blue); }
.resource-page .resource-btn-line:hover { background:var(--dark-blue); color:var(--white); }

/* Resources hub */
.resource-page .resource-head { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; margin-bottom:22px; }
.resource-page .count { color:var(--resource-muted); font-size:.9rem; }
.resource-page .filters { display:flex; flex-wrap:wrap; gap:10px; align-items:center; position:sticky; top:72px; z-index:5; padding:16px 0; border-top:1px solid var(--resource-line); border-bottom:1px solid var(--resource-line); background:var(--resource-paper); }
.resource-page .chip { padding:8px 14px; border:1px solid var(--gray-300); border-radius:999px; background:var(--white); color:#222; font:500 .85rem var(--font-primary); cursor:pointer; transition:var(--transition); }
.resource-page .chip:hover { border-color:var(--primary-blue); color:var(--primary-blue); }
.resource-page .chip[aria-pressed="true"] { background:var(--dark-blue); border-color:var(--dark-blue); color:var(--white); }
.resource-page .fx { display:flex; gap:10px; margin-left:auto; }
.resource-page .fx select, .resource-page .fx input { min-height:40px; padding:8px 12px; border:1px solid var(--gray-300); border-radius:8px; background:var(--white); color:#222; font:15px var(--font-primary); }
.resource-page .fx select:focus, .resource-page .fx input:focus { border-color:var(--primary-blue); outline:none; box-shadow:0 0 0 3px rgba(43,109,178,.1); }
.resource-page .fx input { width:220px; }
.resource-page .sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.resource-page .index { list-style:none; margin-top:8px; }
.resource-page .row { display:grid; grid-template-columns:minmax(0,1fr) 170px 110px 150px; gap:20px; align-items:center; padding:22px 0; border-bottom:1px solid var(--resource-line); }
.resource-page .row h3 { color:var(--dark-blue); font-family:var(--font-heading); font-size:1.05rem; font-weight:650; line-height:1.35; }
.resource-page .row p { max-width:760px; margin-top:4px; color:var(--resource-muted); font-size:.9rem; }
.resource-page .topic { color:#333; font-size:.84rem; }
.resource-page .fmt { justify-self:start; padding:4px 10px; border-radius:6px; background:#eaf2fc; color:var(--dark-blue); font-size:.78rem; font-weight:700; }
.resource-page .fmt[data-f="Tool"] { background:var(--light-blue); }
.resource-page .act { justify-self:end; font-size:.84rem; }
.resource-page .act a { color:var(--primary-blue); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.resource-page .act .soon { color:var(--resource-muted); }
.resource-page .empty { padding:40px 0; color:var(--resource-muted); }
.resource-page .linkbtn { border:0; background:none; color:var(--primary-blue); font:inherit; font-weight:600; text-decoration:underline; cursor:pointer; }
.resource-page .ask { background:var(--white); border-top:1px solid var(--resource-line); }
.resource-page .ask-grid { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.resource-page .ask-actions { display:flex; gap:12px; flex-wrap:wrap; }

/* Events */
.resource-page .events { list-style:none; margin-top:18px; }
.resource-page .ev { display:grid; grid-template-columns:96px minmax(0,1fr) auto; gap:28px; align-items:center; padding:24px 0; border-top:1px solid var(--resource-line); }
.resource-page .ev:last-child { border-bottom:1px solid var(--resource-line); }
.resource-page .date { width:96px; overflow:hidden; border:1px solid var(--resource-line); border-radius:14px; background:var(--white); text-align:center; box-shadow:var(--shadow-sm); }
.resource-page .date .m { padding:5px 0; background:var(--light-blue); color:var(--dark-blue); font-weight:700; font-size:.84rem; }
.resource-page .date .d { padding:6px 0 8px; color:var(--dark-blue); font-family:var(--font-heading); font-size:2rem; font-weight:600; line-height:1.1; }
.resource-page .ev .f { color:var(--primary-blue); font-size:.82rem; font-weight:700; }
.resource-page .ev h3 { max-width:680px; margin:3px 0 6px; color:var(--dark-blue); font-family:var(--font-heading); font-size:1.1rem; font-weight:650; line-height:1.35; }
.resource-page .ev .info { color:var(--resource-muted); font-size:.9rem; }
.resource-page .event-empty { margin-top:18px; padding:28px; border:1px dashed var(--gray-300); border-radius:12px; background:var(--white); color:var(--resource-muted); }
.resource-page .event-empty strong { color:var(--dark-blue); }
.resource-page .formats-b { background:var(--white); border-top:1px solid var(--resource-line); border-bottom:1px solid var(--resource-line); }
.resource-page .formats { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:20px; list-style:none; }
.resource-page .formats li { padding-top:16px; border-top:3px solid var(--dark-blue); }
.resource-page .formats h3 { color:var(--dark-blue); font-family:var(--font-heading); font-size:1.25rem; font-weight:600; }
.resource-page .formats .where { margin:2px 0 8px; color:var(--primary-blue); font-size:.84rem; font-weight:700; }
.resource-page .formats p { color:var(--resource-muted); font-size:.9rem; }
.resource-page .interest { display:grid; grid-template-columns:1fr 1.3fr; gap:48px; align-items:start; }
.resource-page form { padding:28px; border:1px solid var(--resource-line); border-radius:14px; background:var(--white); box-shadow:var(--shadow-sm); }
.resource-page .grid2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.resource-page form label { display:block; color:var(--dark-blue); font-size:.84rem; font-weight:600; }
.resource-page form input:not([type=checkbox]), .resource-page form select { display:block; width:100%; margin-top:6px; padding:11px 12px; border:1px solid var(--gray-300); border-radius:8px; background:var(--white); color:#222; font:16px var(--font-primary); }
.resource-page form input:focus, .resource-page form select:focus { border-color:var(--primary-blue); outline:none; box-shadow:0 0 0 3px rgba(43,109,178,.1); }
.resource-page fieldset { margin:20px 0 8px; border:0; }
.resource-page legend { margin-bottom:8px; color:var(--dark-blue); font-size:.84rem; font-weight:600; }
.resource-page .cb { display:flex !important; gap:10px; align-items:flex-start; margin-bottom:8px; color:#222 !important; font-size:.9rem !important; font-weight:400 !important; }
.resource-page .cb input { width:17px; height:17px; margin-top:4px; accent-color:var(--primary-blue); }
.resource-page .consent { margin:14px 0 18px; color:var(--resource-muted) !important; font-size:.84rem !important; }
.resource-page .consent a { color:var(--primary-blue); text-decoration:underline; }
.resource-page .err { margin-bottom:12px; color:#a12a2a; font-size:.84rem; }
.resource-page .ok { margin-top:14px; color:var(--teal-dark); font-weight:600; }

/* CTA */
.resource-page .resource-cta { background:linear-gradient(110deg, var(--dark-blue-gradient)); color:var(--white); }
.resource-page .resource-cta .resource-wrap { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; padding-top:3.4rem; padding-bottom:3.4rem; }
.resource-page .resource-cta h2 { max-width:720px; color:var(--light-blue); font-family:var(--font-heading); font-size:clamp(1.65rem,3vw,2.15rem); font-weight:500; line-height:1.25; }
.resource-page .resource-cta p { max-width:720px; margin-top:6px; color:rgba(255,255,255,.78); }
.resource-page .resource-cta .resource-btn-navy { background:var(--creamish); color:var(--dark-blue); }
.resource-page .resource-cta .resource-btn-navy:hover { background:#dca362; }

@media (max-width:900px) {
  .resource-page .resource-hero .resource-wrap { grid-template-columns:1fr; }
  .resource-page .resource-tile { width:64px; height:64px; border-radius:14px; }
  .resource-page .resource-tile svg { width:30px; height:30px; }
  .resource-page .row { grid-template-columns:1fr; gap:8px; }
  .resource-page .act { justify-self:start; }
  .resource-page .fx { width:100%; margin-left:0; }
  .resource-page .fx input { flex:1; width:auto; min-width:0; }
  .resource-page .filters { position:static; }
  .resource-page .formats, .resource-page .interest, .resource-page .grid2 { grid-template-columns:1fr; }
  .resource-page .ev { grid-template-columns:72px 1fr; gap:18px; }
  .resource-page .ev .resource-btn { grid-column:2; justify-self:start; }
  .resource-page .date { width:72px; }
  .resource-page .date .d { font-size:1.65rem; }
}
@media (max-width:560px) {
  .resource-page .resource-hero { padding:7.5rem 0 3.2rem; }
  .resource-page .resource-hero h1 { font-size:clamp(2rem,10vw,2.65rem); }
  .resource-page .resource-block { padding:3.4rem 0; }
  .resource-page .resource-wrap { padding-left:18px; padding-right:18px; }
  .resource-page .fx { flex-direction:column; }
  .resource-page .fx select, .resource-page .fx input { width:100%; }
  .resource-page form { padding:20px; }
}
@media (prefers-reduced-motion:reduce) { .resource-page * { transition:none !important; } }


/* ==========================================================================
   PREMIUM VISUAL ENHANCEMENT LAYER
   Resources Hub + Events & Webinars
   Keeps existing content and JS behavior intact while improving hierarchy,
   iconography, depth, hover feedback and responsive polish.
   ========================================================================== */

/* ---------- Hero depth ---------- */
.resource-page .resource-hero::after {
  content: "";
  position: absolute;
  right: -10rem;
  bottom: -14rem;
  width: 36rem;
  height: 36rem;
  border: 1px solid rgba(166,203,247,.11);
  border-radius: 50%;
  box-shadow:
    0 0 0 4rem rgba(166,203,247,.025),
    0 0 0 8rem rgba(43,109,178,.02);
  pointer-events: none;
}

.resource-page .resource-tile {
  position: relative;
  isolation: isolate;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.resource-page .resource-tile::after {
  content: "";
  position: absolute;
  inset: 9px;
  z-index: -1;
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(255,255,255,.34), rgba(255,255,255,.08));
}

.resource-page .resource-hero:hover .resource-tile {
  transform: translateY(-4px);
  box-shadow: 0 14px 34px rgba(2,12,27,.24);
}

/* ---------- Section heading accent ---------- */
.resource-page .resource-h2 {
  position: relative;
  padding-bottom: .85rem;
}

.resource-page .resource-h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 72px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--light-blue), var(--primary-blue));
}

/* ---------- Resources Hub: filter toolbar ---------- */
.resource-page .filters {
  margin-top: 1.25rem;
  padding: 14px;
  border: 1px solid rgba(8,41,81,.08);
  border-radius: 16px;
  background: rgba(255,255,255,.94);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(10px);
}

.resource-page .chip {
  position: relative;
  overflow: hidden;
  border-color: rgba(8,41,81,.12);
  box-shadow: 0 2px 8px rgba(8,41,81,.04);
}

.resource-page .chip::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(166,203,247,.16), transparent);
  transform: translateX(-120%);
  transition: transform .35s ease;
}

.resource-page .chip:hover::before {
  transform: translateX(120%);
}

.resource-page .chip[aria-pressed="true"] {
  box-shadow: 0 7px 18px rgba(8,41,81,.14);
}

.resource-page .fx select,
.resource-page .fx input {
  border-radius: 10px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

/* ---------- Resources Hub: resource cards ---------- */
.resource-page .index {
  display: grid;
  gap: .9rem;
  margin-top: 1.25rem;
}

.resource-page .row {
  position: relative;
  overflow: hidden;
  padding: 1.25rem 1.25rem 1.25rem 4.9rem;
  border: 1px solid var(--resource-line);
  border-radius: 16px;
  background: linear-gradient(180deg, #fff, #fbfcff);
  box-shadow: var(--shadow-sm);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.resource-page .row::before {
  content: "";
  position: absolute;
  left: 1.2rem;
  top: 1.25rem;
  width: 46px;
  height: 46px;
  border-radius: 13px;
  background-color: rgba(166,203,247,.25);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 22px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23082951' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M8 8h8M8 12h6M8 16h4'/%3E%3C/svg%3E");
}

.resource-page .row::after {
  content: "";
  position: absolute;
  top: -35px;
  right: -35px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(166,203,247,.22), rgba(166,203,247,0) 70%);
  pointer-events: none;
}

.resource-page .row:hover {
  transform: translateY(-3px);
  border-color: rgba(43,109,178,.2);
  box-shadow: var(--shadow-md);
}

.resource-page .row h3 {
  font-size: 1.08rem;
}

.resource-page .topic {
  position: relative;
  padding-left: 1.05rem;
}

.resource-page .topic::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--primary-blue);
}

.resource-page .fmt {
  border: 1px solid rgba(43,109,178,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.resource-page .act a {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  text-decoration: none;
}

.resource-page .act a::after {
  content: "→";
  transition: transform .2s ease;
}

.resource-page .act a:hover::after {
  transform: translateX(3px);
}

.resource-page .soon {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}

.resource-page .soon::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--creamish);
  box-shadow: 0 0 0 4px rgba(238,186,125,.16);
}

/* ---------- Resource request panel ---------- */
.resource-page .ask {
  position: relative;
  overflow: hidden;
}

.resource-page .ask::before {
  content: "";
  position: absolute;
  right: 5%;
  top: 50%;
  width: 260px;
  height: 260px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(166,203,247,.16), rgba(166,203,247,0) 68%);
  pointer-events: none;
}

.resource-page .ask-grid {
  position: relative;
  z-index: 1;
}

.resource-page .ask-actions .resource-btn {
  min-width: 170px;
}

/* ---------- Events: event cards ---------- */
.resource-page .events {
  display: grid;
  gap: 1rem;
  margin-top: 1.4rem;
}

.resource-page .ev {
  position: relative;
  overflow: hidden;
  padding: 1.25rem;
  border: 1px solid var(--resource-line);
  border-radius: 18px;
  background: linear-gradient(180deg, #fff, #fbfcff);
  box-shadow: var(--shadow-sm);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.resource-page .ev:last-child {
  border-bottom: 1px solid var(--resource-line);
}

.resource-page .ev::after {
  content: "";
  position: absolute;
  top: -45px;
  right: -35px;
  width: 135px;
  height: 135px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(166,203,247,.23), rgba(166,203,247,0) 70%);
  pointer-events: none;
}

.resource-page .ev:hover {
  transform: translateY(-4px);
  border-color: rgba(43,109,178,.2);
  box-shadow: var(--shadow-md);
}

.resource-page .date {
  border-color: rgba(43,109,178,.14);
  box-shadow: 0 8px 20px rgba(8,41,81,.08);
}

.resource-page .date .m {
  letter-spacing: .04em;
  text-transform: uppercase;
}

.resource-page .ev .f {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}

.resource-page .ev .f::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--primary-blue);
  box-shadow: 0 0 0 4px rgba(43,109,178,.09);
}

/* ---------- Events: format cards ---------- */
.resource-page .formats {
  gap: 1.3rem;
}

.resource-page .formats li {
  position: relative;
  overflow: hidden;
  min-height: 100%;
  padding: 1.45rem 1.35rem 1.35rem;
  border: 1px solid var(--resource-line);
  border-top: 0;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff, #fbfcff);
  box-shadow: inset 0 3px 0 var(--dark-blue), var(--shadow-sm);
  transition: transform .24s ease, box-shadow .24s ease;
}

.resource-page .formats li:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 3px 0 var(--primary-blue), var(--shadow-md);
}

.resource-page .formats li::before {
  content: "";
  display: block;
  width: 48px;
  height: 48px;
  margin-bottom: 1rem;
  border-radius: 14px;
  background-color: rgba(166,203,247,.24);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 23px;
}

.resource-page .formats li:nth-child(1)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 24 24' fill='none' stroke='%23082951' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3Ccircle cx='16' cy='8' r='3'/%3E%3Cpath d='M3 20c.4-3.6 2.1-5.5 5-5.5s4.6 1.9 5 5.5M11 20c.4-3.6 2.1-5.5 5-5.5s4.6 1.9 5 5.5'/%3E%3C/svg%3E");
}

.resource-page .formats li:nth-child(2)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 24 24' fill='none' stroke='%23082951' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3Cpath d='m10 9 5 2.5-5 2.5z'/%3E%3C/svg%3E");
}

.resource-page .formats li:nth-child(3)::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' viewBox='0 0 24 24' fill='none' stroke='%23082951' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V9l8-5 8 5v10'/%3E%3Cpath d='M8 19v-6h8v6M3 19h18'/%3E%3C/svg%3E");
}

/* ---------- Events: interest form ---------- */
.resource-page .interest {
  position: relative;
}

.resource-page .interest > div:first-child {
  position: sticky;
  top: 120px;
}

.resource-page form {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  border-color: rgba(8,41,81,.1);
  box-shadow: var(--shadow-md);
}

.resource-page form::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--light-blue), var(--primary-blue), var(--creamish));
}

.resource-page form::after {
  content: "";
  position: absolute;
  right: -50px;
  top: -50px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(166,203,247,.18), rgba(166,203,247,0) 70%);
  pointer-events: none;
}

.resource-page form input:not([type=checkbox]),
.resource-page form select {
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.resource-page form input:not([type=checkbox]):hover,
.resource-page form select:hover {
  border-color: rgba(43,109,178,.38);
}

.resource-page fieldset {
  padding: 1rem;
  border: 1px solid var(--resource-line);
  border-radius: 12px;
  background: #fbfcff;
}

.resource-page .cb {
  padding: .25rem 0;
}

.resource-page .ok {
  padding: .8rem 1rem;
  border: 1px solid rgba(54,97,112,.18);
  border-radius: 10px;
  background: rgba(54,97,112,.08);
}

.resource-page .err {
  padding: .75rem 1rem;
  border: 1px solid rgba(161,42,42,.14);
  border-radius: 10px;
  background: rgba(161,42,42,.06);
}

/* ---------- Empty states ---------- */
.resource-page .event-empty,
.resource-page .empty:not([hidden]) {
  position: relative;
  overflow: hidden;
  border-style: solid;
  border-color: var(--resource-line);
  background: linear-gradient(180deg, #fff, #fbfcff);
  box-shadow: var(--shadow-sm);
}

/* ---------- CTA polish ---------- */
.resource-page .resource-cta {
  position: relative;
  overflow: hidden;
}

.resource-page .resource-cta::before {
  content: "";
  position: absolute;
  right: -80px;
  top: 50%;
  width: 270px;
  height: 270px;
  transform: translateY(-50%);
  border: 1px solid rgba(166,203,247,.12);
  border-radius: 50%;
  box-shadow: 0 0 0 46px rgba(166,203,247,.035);
  pointer-events: none;
}

.resource-page .resource-cta .resource-wrap {
  position: relative;
  z-index: 1;
}

/* ---------- Responsive enhancement layer ---------- */
@media (max-width: 900px) {
  .resource-page .row {
    padding-left: 4.7rem;
  }

  .resource-page .interest > div:first-child {
    position: static;
  }

  .resource-page .formats li {
    min-height: auto;
  }
}

@media (max-width: 560px) {
  .resource-page .resource-hero::after {
    width: 24rem;
    height: 24rem;
    right: -11rem;
    bottom: -10rem;
  }

  .resource-page .resource-h2::after {
    width: 60px;
    height: 3px;
  }

  .resource-page .filters {
    padding: 12px;
    border-radius: 14px;
  }

  .resource-page .row {
    padding: 4.7rem 1rem 1rem;
    border-radius: 14px;
  }

  .resource-page .row::before {
    left: 1rem;
    top: 1rem;
    width: 42px;
    height: 42px;
  }

  .resource-page .ev {
    padding: 1rem;
    border-radius: 14px;
  }

  .resource-page .formats li,
  .resource-page form {
    border-radius: 14px;
  }

  .resource-page .formats li::before {
    width: 44px;
    height: 44px;
    background-size: 21px;
  }

  .resource-page .ask-actions {
    width: 100%;
  }

  .resource-page .ask-actions .resource-btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .resource-page .resource-tile,
  .resource-page .chip::before,
  .resource-page .row,
  .resource-page .ev,
  .resource-page .formats li,
  .resource-page .act a::after {
    transition: none !important;
  }
}


/* ==========================================================================
   RESOURCES — HERO (text only, no video)
   Same type scale, widths and side padding as the Services, Free Tools,
   Industries and About heroes.
   ========================================================================== */

body.resource-page .resource-hero > .resource-wrap {
  display: block !important;
  width: 100%;
  max-width: 1440px !important;
  margin: 0 auto;
  padding-left: clamp(1.75rem, 3.2vw, 3.25rem);
  padding-right: clamp(1.75rem, 3.2vw, 3.25rem);
}

body.resource-page .resource-hero-grid {
  display: block;
}

body.resource-page .resource-hero-copy {
  width: 100%;
  max-width: 780px !important;
  min-width: 0;
}

body.resource-page .resource-crumb {
  margin: 0 0 .85rem;
  font-size: .85rem;
}

body.resource-page .resource-hero h1 {
  width: 100%;
  max-width: 730px;
  margin: 0;
  font-size: clamp(2.55rem, 3.25vw, 3.5rem);
  line-height: 1.08;
  letter-spacing: -.025em;
  text-wrap: balance;
  overflow-wrap: normal;
}

body.resource-page .resource-lede {
  width: 100%;
  max-width: 690px;
  margin: 1rem 0 0;
  font-size: clamp(.98rem, 1.15vw, 1.08rem);
  line-height: 1.58;
  text-wrap: pretty;
  overflow-wrap: anywhere;
}

body.resource-page.case-studies-page .case-status {
  margin: 0 0 .75rem;
}

@media (max-width: 1180px) {
  body.resource-page .resource-hero > .resource-wrap {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

  body.resource-page .resource-hero h1 {
    font-size: clamp(2.35rem, 4vw, 3rem);
  }
}

@media (max-width: 900px) {
  body.resource-page .resource-hero h1,
  body.resource-page .resource-lede {
    max-width: 780px;
  }
}

@media (max-width: 768px) {
  body.resource-page .resource-hero > .resource-wrap {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  body.resource-page .resource-hero h1 {
    font-size: clamp(2.1rem, 7vw, 2.6rem);
    line-height: 1.1;
  }

  body.resource-page .resource-lede {
    font-size: .98rem;
    line-height: 1.55;
  }
}

@media (max-width: 480px) {
  body.resource-page .resource-hero > .resource-wrap {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  body.resource-page .resource-hero h1 {
    font-size: clamp(1.9rem, 9vw, 2.2rem);
    line-height: 1.12;
  }
}
