/* ============================================================
   LegacyApp - Resources (list) + Resource Article (single entry)
   Shared stylesheet. Builds ONLY on the foundation:

       <link rel="stylesheet" href="tokens.css">
       <link rel="stylesheet" href="foundation.css">
       <link rel="stylesheet" href="res.css">   <-- this file

   - only .res- prefixed classes,
   - header / footer / .la-prose come from .la-*, not repeated,
   - same class names at every width; differences are media
     queries only, at the foundation breakpoints 920 and 760 px.
   ============================================================ */

/* ---------- shared ---------- */
.res-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--gray-500);}
.res-eyebrow::before{content:"";width:6px;height:6px;border-radius:999px;background:var(--res-accent, var(--orange-500));}
.res-h1{font-family:var(--font-serif);font-weight:700;line-height:1.05;letter-spacing:-0.015em;color:var(--gray-900);margin:16px 0 0;text-wrap:balance;}

/* ============================================================
   RESOURCES (list)
   ============================================================ */
.res-hero{border-bottom:1px solid var(--color-border);padding:clamp(44px,6vw,84px) clamp(20px,5vw,48px) clamp(32px,4vw,52px);}
.res-hero__inner{max-width:1200px;margin:0 auto;}
.res-hero__lead{margin:20px 0 0;max-width:60ch;font-size:clamp(16px,1.4vw,19px);line-height:1.6;color:var(--gray-600);}

/* type filter (look-only) */
.res-filter{margin-top:clamp(28px,3vw,40px);display:flex;flex-wrap:wrap;gap:10px;}
.res-chip{border-radius:999px;padding:9px 16px;font-size:13.5px;font-weight:600;font-family:var(--font-body);cursor:pointer;background:#fff;color:var(--gray-700);border:1px solid var(--color-border);}
.res-chip.is-active{background:var(--blue-500);color:#fff;border-color:var(--blue-500);}

/* featured */
.res-featured{display:grid;gap:clamp(20px,3vw,44px);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:center;background:#fff;border:1px solid var(--color-border);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s var(--ease-out);}
.res-featured:hover{box-shadow:var(--shadow-md);}
.res-featured__media{aspect-ratio:16/11;background:repeating-linear-gradient(135deg,var(--blue-50),var(--blue-50) 16px,#eef4fc 16px,#eef4fc 32px);display:flex;align-items:center;justify-content:center;color:var(--blue-200);min-height:100%;}
.res-featured__body{padding:clamp(22px,3vw,40px);padding-left:clamp(22px,1vw,8px);}

/* grid + cards */
.res-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));}
.res-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--color-border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s var(--ease-out),transform .2s var(--ease-out);}
.res-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}
.res-card__thumb{aspect-ratio:16/10;background:repeating-linear-gradient(135deg,var(--gray-100),var(--gray-100) 14px,var(--gray-50) 14px,var(--gray-50) 28px);display:flex;align-items:center;justify-content:center;color:var(--gray-300);border-bottom:1px solid var(--color-border);}
.res-card__body{padding:20px;display:flex;flex-direction:column;flex:1;}
.res-badge{font-weight:600;border-radius:999px;padding:4px 10px;}

/* follow CTA */
.res-follow{max-width:1200px;margin:0 auto;background:linear-gradient(165deg,#0057B7 0%,#013168 100%);border-radius:24px;box-shadow:var(--shadow-lg);padding:clamp(32px,4vw,52px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px;color:#fff;}
.res-social{display:inline-flex;align-items:center;gap:8px;border-radius:12px;padding:11px 16px;font-size:14px;font-weight:600;}
.res-social--solid{background:#fff;color:var(--blue-700);}
.res-social--solid:hover{opacity:0.92;color:var(--blue-700);}
.res-social--ghost{background:rgba(255,255,255,0.14);color:#fff;border:1px solid rgba(255,255,255,0.3);}
.res-social--ghost:hover{background:rgba(255,255,255,0.22);color:#fff;}

/* ============================================================
   RESOURCE ARTICLE (single entry)
   ============================================================ */
.res-article-hero{padding:clamp(28px,4vw,52px) clamp(20px,5vw,48px) 0;}
.res-article-hero__inner{max-width:820px;margin:0 auto;}
.res-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--gray-500);}
.res-breadcrumb a{color:var(--gray-500);}
.res-breadcrumb a:hover{color:var(--blue-500);}
.res-breadcrumb__sep{color:var(--gray-300);}
.res-article-hero__media{max-width:1040px;margin:clamp(28px,3.5vw,44px) auto 0;}
.res-article-hero__media-box{aspect-ratio:16/8;border-radius:20px;background:repeating-linear-gradient(135deg,var(--blue-50),var(--blue-50) 18px,#eef4fc 18px,#eef4fc 36px);display:flex;align-items:center;justify-content:center;color:var(--blue-200);border:1px solid var(--color-border);}

/* body + aside grid */
.res-body{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) clamp(290px,28vw,340px);gap:clamp(32px,4vw,56px);align-items:start;}
.res-aside__inner{position:sticky;top:90px;background:#fff;border:1px solid var(--color-border);border-radius:18px;box-shadow:var(--shadow-md);padding:22px;}

/* in-prose custom blocks (kept faithful to the source) */
.res-prose{font-size:17px;line-height:1.7;color:var(--gray-700);}
.res-prose h2{font-family:var(--font-serif);font-weight:700;font-size:clamp(22px,2.4vw,30px);line-height:1.2;letter-spacing:-0.01em;color:var(--gray-900);margin:36px 0 0;}
.res-prose blockquote{font-family:var(--font-serif);font-weight:600;font-size:clamp(20px,2.3vw,29px);line-height:1.3;letter-spacing:-0.01em;color:var(--gray-900);border:none;padding:0;margin:32px 0;}
.res-panel{margin:28px 0;border:1px solid var(--color-border);border-radius:18px;padding:22px 24px;}
.res-panel--gray{background:var(--gray-50);}
.res-panel__label{font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--gray-500);}
.res-list{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px;}
.res-list li{display:flex;gap:12px;align-items:flex-start;color:var(--gray-700);}
.res-list__ic{width:24px;height:24px;border-radius:7px;background:var(--blue-50);color:var(--blue-500);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.res-dotlist{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
.res-dotlist li{display:flex;gap:11px;align-items:flex-start;font-size:15.5px;color:var(--gray-700);}
.res-dotlist__dot{width:6px;height:6px;border-radius:999px;background:var(--orange-500);margin-top:9px;flex-shrink:0;}
.res-callout{margin:28px 0;border-left:3px solid var(--orange-500);background:var(--gray-50);border-radius:0 12px 12px 0;padding:18px 20px;}
.res-callout__label{font-size:12px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--orange-500);margin-bottom:6px;}
.res-bigline{margin:0;text-align:center;font-family:var(--font-serif);font-weight:700;font-size:clamp(23px,2.7vw,34px);line-height:1.15;color:var(--gray-900);}
.res-midcta{margin:34px 0;border-radius:18px;background:linear-gradient(165deg,#0057B7 0%,#013168 100%);color:#fff;padding:clamp(22px,3vw,30px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;}
.res-qa{margin:40px 0 0;border-top:1px solid var(--color-border);padding-top:32px;}
.res-qa__item{padding:18px 0;border-bottom:1px solid var(--color-border);}

/* final CTA + related */
.res-cta{padding:clamp(48px,6vw,84px) clamp(20px,5vw,48px);}
.res-cta__card{max-width:1040px;margin:0 auto;background:linear-gradient(165deg,#0057B7 0%,#013168 70%,#00224A 100%);border-radius:26px;box-shadow:var(--shadow-lg);padding:clamp(36px,5vw,64px);text-align:center;color:#fff;}
.res-related{padding:0 clamp(20px,5vw,48px) clamp(48px,6vw,80px);}
.res-related__inner{max-width:1040px;margin:0 auto;}
.res-related__grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));}
.res-related__card{display:block;background:#fff;border:1px solid var(--color-border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease;}
.res-related__card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}
.res-related__thumb{aspect-ratio:16/9;background:repeating-linear-gradient(135deg,var(--gray-100),var(--gray-100) 12px,var(--gray-50) 12px,var(--gray-50) 24px);}

/* store buttons */
.res-store{display:inline-flex;align-items:center;gap:10px;border-radius:12px;padding:11px 16px;}
.res-store--dark{background:var(--gray-900);color:#fff;}
.res-store--dark:hover{opacity:0.9;color:#fff;}
.res-store--light{background:#fff;color:var(--gray-900);padding:12px 18px;border-radius:13px;}
.res-store--light:hover{opacity:0.92;color:var(--gray-900);}
.res-store__txt{display:flex;flex-direction:column;line-height:1.15;text-align:left;}
.res-store__small{font-size:9px;text-transform:uppercase;letter-spacing:0.06em;opacity:0.75;}
.res-store__big{font-size:15px;font-weight:600;}

/* responsive YouTube / video embed (paste <div class="res-video"><iframe ...></iframe></div>) */
.res-video{position:relative;margin:28px 0;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--color-border);background:#000;}
.res-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}

/* downloads under an article */
.res-downloads{margin:36px 0 0;border-top:1px solid var(--color-border);padding-top:24px;}
.res-downloads__label{font-size:12px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--gray-500);}
.res-downloads__list{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
.res-download{display:flex;align-items:center;gap:13px;border:1px solid var(--color-border);border-radius:12px;padding:13px 16px;background:#fff;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease;}
.res-download:hover{border-color:var(--blue-200);box-shadow:var(--shadow-sm);}
.res-download__ic{width:36px;height:36px;border-radius:9px;background:var(--blue-50);color:var(--blue-500);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.res-download__name{flex:1;min-width:0;font-size:15px;font-weight:600;color:var(--gray-900);}
.res-download__arrow{color:var(--gray-400);flex-shrink:0;}
.res-download:hover .res-download__arrow{color:var(--blue-500);}

/* social share (article top + article footer) */
.res-share{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;}
.js-native-share{display:none;}
.res-share--top{margin:22px 0 0;}
.res-share__label{font-size:13px;font-weight:600;color:var(--gray-500);margin-right:2px;}
.res-share__btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--color-border);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:var(--gray-600);cursor:pointer;padding:0;transition:border-color .15s ease,color .15s ease,box-shadow .15s ease;}
.res-share__btn:hover{border-color:var(--blue-200);color:var(--blue-500);box-shadow:var(--shadow-sm);}
.res-share__btn .ic-check{display:none;}
.res-share__btn.is-copied{color:var(--green-500);border-color:var(--green-500);}
.res-share__btn.is-copied .ic-link{display:none;}
.res-share__btn.is-copied .ic-check{display:inline;}
.res-sharebar{margin:40px 0 0;border:1px solid var(--color-border);border-radius:16px;padding:20px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;background:var(--gray-50);}
.res-sharebar__title{font-family:var(--font-serif);font-weight:700;font-size:18px;line-height:1.2;color:var(--gray-900);}

/* ============================================================
   RESPONSIVE - same classes, media queries only (920 / 760)
   ============================================================ */
@media (max-width:919px){
  .res-body{display:flex;flex-direction:column;gap:36px;}
  .res-aside__inner{position:static;}
}
@media (max-width:759px){
  .res-cta__card .res-store,
  .res-midcta .res-store{flex:1 1 200px;justify-content:center;}
}

/* ===== Moved from inline styles ===== */

/* shared: cover image filling its box (cards, featured, related) */
.res-cover-img{width:100%;height:100%;object-fit:cover;display:block;}
/* article hero cover keeps the inherited radius */
.res-article-hero__img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit;}

/* shared: type badge palette */
.res-badge--type{background:var(--res-badge-bg, var(--blue-50));color:var(--res-badge-fg, var(--blue-600));}
/* shared: muted meta text (category) */
.res-meta-muted{color:var(--gray-500);}
/* shared: meta separator dot */
.res-meta-sep{color:var(--gray-300);}
/* shared: centered content container */
.res-container{max-width:1200px;margin:0 auto;}
/* shared: grid/flex child that must shrink below content size */
.res-col-min{min-width:0;}

/* resources (list) */
.res-hero__copy{max-width:720px;}
.res-h1--list{font-size:clamp(34px,5vw,60px);}
.res-section--empty{padding:clamp(32px,5vw,64px) clamp(20px,5vw,48px) clamp(72px,10vw,120px);}
.res-empty{max-width:1200px;margin:0 auto;text-align:center;color:var(--gray-500);font-size:18px;}
.res-section--featured{padding:clamp(36px,5vw,64px) clamp(20px,5vw,48px) 0;}
.res-section--grid{padding:clamp(28px,4vw,48px) clamp(20px,5vw,48px) clamp(48px,6vw,80px);}
.res-featured__meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:12px;}
.res-featured__label{color:var(--orange-500);font-weight:600;}
.res-featured__title{margin:16px 0 0;font-family:var(--font-serif);font-weight:700;font-size:clamp(23px,2.6vw,34px);line-height:1.14;letter-spacing:-0.01em;color:var(--gray-900);text-wrap:pretty;}
.res-featured__excerpt{margin:14px 0 0;font-size:15.5px;line-height:1.6;color:var(--gray-600);}
.res-featured__date{margin-top:22px;font-size:13.5px;color:var(--gray-500);}
.res-section--follow{padding:0 clamp(20px,5vw,48px) clamp(56px,7vw,96px);}
.res-follow__copy{max-width:46ch;}
.res-follow__title{margin:0;font-family:var(--font-serif);font-weight:700;font-size:clamp(24px,2.6vw,36px);line-height:1.12;letter-spacing:-0.01em;color:#fff;}
.res-follow__lead{margin:12px 0 0;font-size:15.5px;line-height:1.6;color:rgba(255,255,255,0.85);}
.res-follow__links{display:flex;flex-wrap:wrap;gap:11px;}

/* resource card */
.res-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;}
.res-card__title{margin:13px 0 0;font-size:17.5px;font-weight:700;letter-spacing:-0.01em;line-height:1.3;color:var(--gray-900);text-wrap:pretty;}
.res-card__excerpt{margin:10px 0 0;font-size:14px;line-height:1.55;color:var(--gray-600);}
.res-card__date{margin-top:auto;padding-top:18px;font-size:12px;color:var(--gray-500);}

/* resource article */
.res-breadcrumb__current{color:var(--gray-600);}
.res-article-hero__meta{margin-top:20px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12.5px;}
.res-article-hero__title{margin:18px 0 0;font-family:var(--font-serif);font-weight:700;font-size:clamp(30px,4.4vw,52px);line-height:1.07;letter-spacing:-0.015em;color:var(--gray-900);text-wrap:balance;}
.res-article-hero__excerpt{margin:20px 0 0;font-size:clamp(17px,1.6vw,21px);line-height:1.55;color:var(--gray-600);text-wrap:pretty;}
.res-section--body{padding:clamp(32px,4vw,56px) clamp(20px,5vw,48px) 0;}
.res-aside__eyebrow{font-size:11.5px;letter-spacing:0.08em;color:var(--orange-500);}
.res-aside__title{margin:12px 0 0;font-family:var(--font-serif);font-weight:700;font-size:21px;line-height:1.15;color:var(--gray-900);}
.res-aside__lead{margin:9px 0 0;font-size:14px;line-height:1.55;color:var(--gray-600);}
.res-aside__stores{margin-top:16px;display:flex;flex-direction:column;gap:9px;}
.res-aside__features{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--gray-500);}
.res-feature{display:inline-flex;align-items:center;gap:5px;}
.res-cta__title{margin:0 auto;max-width:20ch;font-family:var(--font-serif);font-weight:700;font-size:clamp(26px,3.4vw,44px);line-height:1.1;letter-spacing:-0.01em;}
.res-cta__lead{margin:16px auto 0;max-width:46ch;font-size:clamp(15px,1.4vw,18px);line-height:1.6;color:rgba(255,255,255,0.85);}
.res-cta__stores{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.res-store__small--cta{opacity:0.7;}
.res-store__big--cta{font-size:16px;}
.res-related__title{margin:0 0 22px;font-family:var(--font-serif);font-weight:700;font-size:clamp(20px,2.2vw,28px);letter-spacing:-0.01em;color:var(--gray-900);}
.res-related__pad{padding:16px;}
.res-related__cat{font-size:11.5px;color:var(--gray-500);}
.res-related__cardtitle{margin:7px 0 0;font-size:16px;font-weight:700;line-height:1.3;color:var(--gray-900);}

/* ============================================================
   Resources article types (GUIDE / NEWS / PRODUCT / EVENT)
   One modifier on the article root re-points 3 vars; badge,
   eyebrow dot and the type module above the prose read them.
   Colours from tokens.css only. From Claude design handoff.
   ============================================================ */
.res-article{--res-badge-bg:var(--blue-50);--res-badge-fg:var(--blue-600);--res-accent:var(--blue-600);}
.res-article--news{--res-badge-bg:var(--gray-100);--res-badge-fg:var(--gray-600);--res-accent:var(--gray-600);}
.res-article--product{--res-badge-bg:var(--green-50);--res-badge-fg:var(--green-500);--res-accent:var(--green-500);}
.res-article--event{--res-badge-bg:var(--amber-50);--res-badge-fg:var(--amber-500);--res-accent:var(--amber-500);}

/* type-specific module shell (rendered above the prose body) */
.res-module{margin:0 0 28px;border:1px solid var(--color-border);border-radius:16px;overflow:hidden;}
.res-module__head{padding:11px 18px;font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;background:var(--res-badge-bg, var(--blue-50));color:var(--res-badge-fg, var(--blue-600));border-bottom:1px solid var(--color-border);}
.res-module__body{padding:18px;}

/* EVENT: When / Where / Format grid */
.res-event-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));}
.res-event-k{display:block;font-size:12px;color:var(--gray-500);}
.res-event-v{display:block;margin-top:3px;font-size:15px;font-weight:600;color:var(--gray-900);}

/* PRODUCT: "What's new" checklist */
.res-checklist{margin:0;padding:18px;list-style:none;display:flex;flex-direction:column;gap:9px;}
.res-checklist li{position:relative;padding-left:26px;font-size:15.5px;color:var(--gray-700);}
.res-checklist li::before{content:"";position:absolute;left:0;top:6px;width:14px;height:8px;border-left:2px solid var(--res-accent, var(--blue-600));border-bottom:2px solid var(--res-accent, var(--blue-600));transform:rotate(-45deg);}

/* NEWS: dateline lead line */
.res-dateline{margin:0 0 18px;font-size:14px;font-weight:600;letter-spacing:0.04em;color:var(--gray-500);}

@media (max-width:760px){
  .res-event-grid{grid-template-columns:1fr 1fr;}
  .res-module__body,.res-checklist{padding:16px;}
}
