/* ==========================================================================
   Red y Energía — pixel clone of the Claude Design comp (project d825a51b)
   Tokens ported 1:1 from tokens/*.css in the design project.
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap");

:root{
  /* Neutrals */
  --white:#ffffff;
  --gray-25:#f8fafc;
  --gray-50:#f4f8fb;
  --gray-100:#edf1f5;
  --gray-150:#e6ebf0;
  --gray-200:#dee6ec;
  --gray-250:#e2e6ea;
  --gray-400:#b9c2c4;
  --gray-500:#7a8280;
  --gray-600:#55605e;
  --ink-800:#1a1d1c;
  --ink-900:#0b0f0e;

  --green-900:#0f3b37;
  --green-700:#1d6362;
  --green-500:#2e8a7f;
  --green-100:#d8e8e6;
  --green-50:#eef5f4;

  --lime-500:#bdf06b;
  --lime-400:#d0fa93;
  --lime-200:#e8fdcd;

  --blue-700:#1330b8;
  --blue-600:#1b45e8;
  --blue-500:#2e5bff;
  --blue-100:#dbe3ff;

  --text-primary:var(--ink-900);
  --text-secondary:var(--gray-600);
  --text-muted:var(--gray-500);
  --text-accent:var(--green-700);
  --text-on-dark:var(--white);
  --text-on-dark-muted:rgba(255,255,255,0.74);

  --surface-page:var(--gray-200);
  --surface-shell:var(--gray-50);
  --surface-card:var(--white);
  --surface-inverse:var(--ink-800);

  --border-subtle:var(--gray-250);
  --border-card:#e9edf1;
  --border-strong:var(--gray-200);
  --border-on-dark:rgba(255,255,255,0.22);

  --scrim-hero:linear-gradient(180deg, rgba(9,22,30,0.42) 0%, rgba(9,22,30,0.12) 46%, rgba(9,22,30,0.34) 100%);

  --shadow-shell:0 30px 80px rgba(16,34,48,0.09);
  --shadow-card:0 1px 2px rgba(16,34,48,0.04);
  --shadow-card-hover:0 14px 34px rgba(16,34,48,0.09);
  --shadow-float:0 24px 60px rgba(11,32,26,0.18);
  --shadow-pill:0 2px 8px rgba(11,15,14,0.12);

  --radius-xs:6px;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:14px;
  --radius-xl:16px;
  --radius-2xl:20px;
  --radius-3xl:24px;
  --radius-pill:999px;

  --shell-max:1408px;
  --shell-gutter:96px;
  --content-max:1240px;
  --content-pad:84px;
  --grid-gap:26px;
  --grid-gap-lg:18px;

  --cols-service: minmax(0,1fr) minmax(0,480px);
  --cols-service-meta: repeat(3, minmax(0,1fr));
  --cols-feature: 1fr 1fr;
  --cols-footer: minmax(280px,420px) 1fr;
  --cols-footer-links: repeat(4, minmax(0,1fr));
  --cols-hero-foot: 1fr minmax(0,860px);
  --gap-service:64px;
  --aspect-service:480 / 400;
  --aspect-cta:1408 / 559;
  --cta-media-min:0px;
  --cta-panel-w:min(718px,52%);

  --ease-out:cubic-bezier(0.22,0.61,0.36,1);
  --dur-fast:160ms;
  --dur-base:320ms;
  --dur-slow:640ms;
  --reveal-shift:18px;
  --hover-lift:-2px;
  --hover-scale:1.025;

  --fw-regular:400;
  --fw-medium:500;
  --fw-semibold:600;

  --fs-hero:clamp(40px,4.75vw,76px);
  --fs-h2:clamp(30px,2.9vw,46px);
  --fs-h3:clamp(28px,2.5vw,40px);
  --fs-h4:clamp(21px,1.5vw,24px);
  --fs-h5:19px;
  --fs-lead:clamp(17px,1.25vw,20px);
  --fs-body-lg:18px;
  --fs-body:17px;
  --fs-body-sm:16px;
  --fs-caption:14px;
  --fs-micro:13px;
  --fs-eyebrow:12px;

  --lh-hero:1.14;
  --lh-heading:1.2;
  --lh-title:1.32;
  --lh-body:1.62;

  --ls-hero:-0.026em;
  --ls-heading:-0.02em;
  --ls-title:-0.012em;
  --ls-body:-0.002em;
  --ls-eyebrow:0.09em;

  --font-sans:"Plus Jakarta Sans","Aeonik","General Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:var(--font-sans);

  --type-hero:var(--fw-medium) var(--fs-hero) / var(--lh-hero) var(--font-display);
  --type-h2:var(--fw-medium) var(--fs-h2) / var(--lh-heading) var(--font-display);
  --type-h3:var(--fw-medium) var(--fs-h3) / var(--lh-heading) var(--font-display);
  --type-h4:var(--fw-medium) var(--fs-h4) / var(--lh-title) var(--font-display);
  --type-body:var(--fw-regular) var(--fs-body) / var(--lh-body) var(--font-sans);
  --type-body-sm:var(--fw-regular) var(--fs-body-sm) / var(--lh-body) var(--font-sans);
  --type-eyebrow:var(--fw-medium) var(--fs-eyebrow) / 1.2 var(--font-sans);
}

@media (max-width:1180px){
  :root{
    --cols-service: minmax(0,1fr) minmax(0,380px);
    --cols-footer: 1fr;
    --gap-service:40px;
    --cta-media-min:520px;
    --cta-panel-w:min(718px,66%);
  }
}
@media (max-width:980px){
  :root{
    --cols-service:1fr;
    --cols-service-meta: repeat(2, minmax(0,1fr));
    --cols-feature:1fr;
    --cols-footer-links: repeat(2, minmax(0,1fr));
    --cols-hero-foot:1fr;
    --aspect-service:16 / 9;
    --aspect-cta:3 / 4;
    --cta-media-min:560px;
    --cta-panel-w: calc(100% - var(--content-pad) * 2);
  }
}

.rye-scope, .rye-scope *, .rye-scope *::before, .rye-scope *::after{ box-sizing:border-box; }
body.rye-scope{
  margin:0;
  font:var(--type-body);
  letter-spacing:var(--ls-body);
  color:var(--text-primary);
  background:var(--surface-page);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.rye-scope h1,.rye-scope h2,.rye-scope h3,.rye-scope h4,.rye-scope h5{ margin:0; font-weight:var(--fw-medium); color:var(--text-primary); }
.rye-scope h1{ font:var(--type-hero); letter-spacing:var(--ls-hero); }
.rye-scope h2{ font:var(--type-h2); letter-spacing:var(--ls-heading); }
.rye-scope h3{ font:var(--type-h3); letter-spacing:var(--ls-heading); }
.rye-scope h4{ font:var(--type-h4); letter-spacing:var(--ls-title); }
.rye-scope p{ margin:0; }
.rye-scope img{ display:block; max-width:100%; }
.rye-scope button{ font:inherit; color:inherit; }
.rye-scope a{ color:var(--text-accent); text-decoration:none; transition:color var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out); }
.rye-scope a:hover{ color:var(--green-900); }
.rye-scope ::selection{ background:var(--lime-400); color:var(--ink-900); }

html{ scroll-behavior:smooth; }
body.rye-scope{ padding:var(--shell-gutter) var(--shell-gutter) 82px; }
#rye-root{ max-width:var(--shell-max); margin:0 auto; }
.rye-shell{ background:var(--surface-shell); border-radius:var(--radius-3xl); box-shadow:var(--shadow-shell); }
.rye-content{ padding-left:var(--content-pad); padding-right:var(--content-pad); }
.rye-content.narrow{ max-width:968px; margin:0 auto; }
.rye-band{ padding:24px 0 104px; }
.rye-block-white{ background:var(--white); border-radius:var(--radius-3xl); padding:112px 0 116px; margin:0; }
#Nosotros.rye-band{ padding:112px 0 120px; }
.rye-grid-2{ display:grid; grid-template-columns:var(--cols-feature); gap:var(--grid-gap-lg); margin-top:60px; }
.rye-rail-wrap{ margin-top:56px; padding:0 0 24px var(--content-pad); overflow-x:auto; scrollbar-width:none; }
.rye-rail-wrap::-webkit-scrollbar{ display:none; }
.rye-rail{ display:flex; gap:var(--grid-gap); padding-right:var(--content-pad); align-items:stretch; }
.rye-faq-note{ margin-top:56px; text-align:center; font-size:var(--fs-body-sm); color:var(--gray-600); }
.rye-faq-note a{ color:var(--ink-900); text-decoration:underline; text-underline-offset:3px; }
.rye-faq-note a:hover{ color:var(--green-700); }
.rye-cta-wrap{ padding:96px 0 0; }

@media (max-width:1460px){ .rye-nav a{ padding:0 13px; font-size:14px; } }
@media (max-width:1240px){ .rye-header-cta{ display:none; } }
@media (max-width:1000px){ .rye-nav{ display:none!important; } }
@media (max-width:1280px){
  body.rye-scope{ padding:40px 40px 48px; }
  :root{ --content-pad:56px; }
}
@media (max-width:980px){
  :root{ --content-pad:32px; }
  body.rye-scope{ padding:16px 16px 24px; }
  .rye-band{ padding:8px 0 72px; }
  .rye-block-white{ padding:72px 0 76px; }
  #Nosotros.rye-band{ padding:72px 0 80px; }
  .rye-cta-wrap{ padding:64px 0 0; }
}

.rye-reveal{ opacity:1; transform:none; transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out); will-change:opacity, transform; }
.js .rye-reveal{ opacity:0; transform:translateY(var(--reveal-shift)); }
.js .rye-reveal.is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .rye-reveal{ opacity:1!important; transform:none!important; transition:none!important; } }

.rye-wordmark{ display:inline-flex; align-items:baseline; gap:0.24em; font-family:var(--font-display); font-weight:var(--fw-medium); letter-spacing:-0.03em; line-height:1; white-space:nowrap; color:var(--ink-900); }
.rye-wordmark.is-light{ color:var(--white); }
.rye-wordmark .y{ font-style:italic; font-weight:var(--fw-regular); color:var(--green-700); }
.rye-wordmark.is-light .y{ color:var(--lime-400); }
.rye-wordmark.no-accent .y{ color:inherit; }

.rye-eyebrow{ margin:0; font:var(--type-eyebrow); letter-spacing:var(--ls-eyebrow); text-transform:uppercase; color:var(--text-accent); }
.rye-eyebrow.is-light{ color:rgba(255,255,255,0.8); }
.rye-eyebrow.is-muted{ color:var(--text-muted); }
.rye-eyebrow.is-center{ text-align:center; }

.rye-btn{ display:inline-flex; align-items:center; gap:10px; border:1px solid transparent; border-radius:var(--radius-pill); font-family:var(--font-sans); font-weight:var(--fw-medium); letter-spacing:-0.005em; cursor:pointer; text-decoration:none; white-space:nowrap; background:none;
  transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out); }
.rye-btn:active{ transform:scale(0.985); }
.rye-btn-sm{ height:40px; padding:0 20px; font-size:15px; }
.rye-btn-md{ height:50px; padding:0 26px; font-size:16px; }
.rye-btn-lg{ height:58px; padding:0 32px; font-size:17px; }
.rye-btn-primary{ background:var(--ink-900); color:var(--white); }
.rye-btn-primary:hover{ background:var(--ink-800); color:var(--white); }
.rye-btn-lime{ background:var(--lime-400); color:var(--ink-900); }
.rye-btn-lime:hover{ background:var(--lime-500); color:var(--ink-900); }
.rye-btn-white{ background:var(--white); color:var(--ink-900); }
.rye-btn-white:hover{ background:var(--gray-50); color:var(--ink-900); }
.rye-btn-outline{ background:transparent; color:var(--ink-900); border-color:var(--gray-200); }
.rye-btn-outline:hover{ background:var(--gray-50); border-color:var(--gray-400); }
.rye-btn-glass{ background:rgba(255,255,255,0.16); color:var(--white); border-color:rgba(255,255,255,0.28); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.rye-btn-glass:hover{ background:rgba(255,255,255,0.26); color:var(--white); }
.rye-btn .rye-icon{ display:inline-flex; }

.rye-icon{ display:inline-flex; align-items:center; justify-content:center; flex:none; color:currentColor; }
.rye-icon svg{ display:block; }

.rye-arrow-link{ display:inline-flex; align-items:center; gap:10px; font-size:16px; font-weight:var(--fw-medium); letter-spacing:-0.006em; border-bottom:1px solid transparent; padding-bottom:2px; transition:border-color var(--dur-fast) var(--ease-out); color:inherit; }
.rye-arrow-link:hover{ border-color:currentColor; color:inherit; }
.rye-arrow-link .rye-arrow-glyph{ display:inline-flex; transition:transform var(--dur-base) var(--ease-out); }
.rye-arrow-link:hover .rye-arrow-glyph{ transform:translate(2px,-2px); }

.rye-header{ position:absolute; top:0; left:0; right:0; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:36px var(--content-pad) 0; }
.rye-header .rye-wordmark-link{ display:inline-flex; text-decoration:none; }
.rye-nav{ position:absolute; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:2px; padding:4px; border-radius:var(--radius-pill); background:rgba(255,255,255,0.16); border:1px solid rgba(255,255,255,0.22); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.rye-nav a{ display:inline-flex; align-items:center; height:36px; padding:0 18px; border-radius:var(--radius-pill); font-size:15px; white-space:nowrap; font-weight:var(--fw-medium); letter-spacing:-0.006em; text-decoration:none; color:var(--white); background:transparent; transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.rye-nav a:hover{ background:rgba(255,255,255,0.14); color:var(--white); }
.rye-nav a.is-active, .rye-nav a.is-active:hover{ color:var(--ink-900); background:var(--white); }

.rye-hero{ position:relative; border-top-left-radius:var(--radius-3xl); border-top-right-radius:var(--radius-3xl); overflow:hidden; min-height:900px; display:flex; flex-direction:column; }
.rye-hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.rye-hero-scrim{ position:absolute; inset:0; background:var(--scrim-hero); }
.rye-hero-main{ position:relative; z-index:2; padding:196px var(--content-pad) 0; flex:1; }
.rye-hero-main h1{ max-width:16ch; color:var(--white); }
.rye-hero-subtitle{ margin-top:30px; max-width:680px; font:var(--fw-regular) var(--fs-lead) / 1.6 var(--font-sans); color:var(--text-on-dark-muted); }
.rye-hero-ctas{ margin-top:40px; display:flex; gap:14px; flex-wrap:wrap; }
.rye-hero-foot{ position:relative; z-index:2; display:grid; grid-template-columns:var(--cols-hero-foot); align-items:end; }
.rye-hero-kicker{ padding:0 var(--content-pad) 58px; max-width:340px; font:var(--fw-regular) var(--fs-lead) / 1.45 var(--font-sans); color:var(--white); }

.rye-statbar{ display:grid; align-items:center; background:var(--white); border-top-left-radius:var(--radius-3xl); padding:56px 24px 60px; }
.rye-statbar .stat{ text-align:center; padding:0 12px; }
.rye-statbar .stat-value{ font:var(--fw-medium) clamp(28px,2.6vw,42px) / 1.05 var(--font-display); letter-spacing:-0.03em; color:var(--green-700); }
.rye-statbar .stat-label{ margin-top:14px; font-size:var(--fs-body-sm); color:var(--gray-600); letter-spacing:-0.004em; }

.rye-service{ border-top:1px solid var(--border-subtle); padding:88px 0 92px; }
.rye-service:first-child{ border-top:none; }
.rye-service-grid{ display:grid; grid-template-columns:var(--cols-service); gap:var(--gap-service); align-items:start; }
.rye-service h3{ margin-top:20px; }
.rye-service-tag{ margin-top:14px; font-size:var(--fs-body-lg); color:var(--ink-900); }
.rye-service-desc{ margin-top:56px; max-width:630px; font:var(--type-body); color:var(--gray-600); }
.rye-service-meta{ margin-top:58px; display:grid; grid-template-columns:var(--cols-service-meta); row-gap:26px; }
.rye-service-meta .m{ padding-left:30px; padding-right:24px; border-left:1px solid var(--border-subtle); min-width:0; }
.rye-service-meta .m:first-child{ padding-left:0; border-left:none; }
.rye-service-meta .m-label{ font-size:var(--fs-body-sm); color:var(--gray-500); }
.rye-service-meta .m-value{ margin-top:10px; font-size:var(--fs-body); color:var(--ink-900); }
.rye-service-media{ border-radius:var(--radius-xl); overflow:hidden; aspect-ratio:var(--aspect-service); background:var(--gray-100); }
.rye-service-media img{ width:100%; height:100%; object-fit:cover; transition:transform var(--dur-slow) var(--ease-out); }
.rye-service-media:hover img{ transform:scale(var(--hover-scale)); }

.rye-section-heading{ margin-bottom:56px; }
.rye-section-heading h2{ margin-top:22px; max-width:22ch; }
.rye-section-heading.align-center{ text-align:center; }
.rye-section-heading.align-center h2{ max-width:none; margin-left:auto; margin-right:auto; }
.rye-section-heading.w-26{ max-width:none; }
.rye-section-heading.w-26 h2{ max-width:26ch; }

.rye-feature{ border-radius:var(--radius-xl); padding:72px 64px 52px; min-height:406px; display:flex; flex-direction:column; transition:transform var(--dur-base) var(--ease-out); }
.rye-feature:hover{ transform:translateY(var(--hover-lift)); }
.rye-feature h4{ margin-top:58px; }
.rye-feature p{ margin-top:20px; max-width:460px; font:var(--type-body-sm); }
.rye-feature .rye-feature-link{ margin-top:auto; padding-top:44px; }
.rye-feature.tone-green{ background:var(--green-700); color:var(--white); }
.rye-feature.tone-green p{ color:rgba(255,255,255,0.78); }
.rye-feature.tone-lime{ background:var(--lime-400); color:var(--ink-900); }
.rye-feature.tone-lime p{ color:rgba(11,15,14,0.72); }
.rye-feature.tone-blue{ background:var(--blue-600); color:var(--white); }
.rye-feature.tone-blue p{ color:rgba(255,255,255,0.8); }
.rye-feature.tone-ink{ background:var(--ink-800); color:var(--white); }
.rye-feature.tone-ink p{ color:rgba(255,255,255,0.74); }

.rye-article{ display:flex; flex-direction:column; background:var(--white); border:1px solid var(--border-card); border-radius:var(--radius-lg); overflow:hidden; text-decoration:none; color:inherit; box-shadow:var(--shadow-card); transition:box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out); width:290px; flex:none; }
.rye-article:hover{ box-shadow:var(--shadow-card-hover); transform:translateY(var(--hover-lift)); color:inherit; }
.rye-article-media{ aspect-ratio:290 / 237; overflow:hidden; background:var(--gray-100); }
.rye-article-media img{ width:100%; height:100%; object-fit:cover; transition:transform var(--dur-slow) var(--ease-out); }
.rye-article:hover .rye-article-media img{ transform:scale(var(--hover-scale)); }
.rye-article-author{ display:flex; align-items:center; gap:10px; padding:16px 20px; }
.rye-article-author .avatar{ width:24px; height:24px; border-radius:var(--radius-pill); background:var(--green-100); color:var(--green-700); display:inline-flex; align-items:center; justify-content:center; font-size:10px; font-weight:var(--fw-semibold); letter-spacing:0.02em; }
.rye-article-author .name{ font-size:var(--fs-micro); color:var(--ink-900); }
.rye-article .rule{ height:1px; background:var(--border-card); }
.rye-article-body{ padding:18px 20px 20px; display:flex; flex-direction:column; gap:12px; flex:1; }
.rye-article-body h4{ font:var(--fw-medium) 17px / 1.38 var(--font-display); letter-spacing:var(--ls-title); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.rye-article-body .excerpt{ font-size:var(--fs-caption); line-height:1.55; color:var(--gray-500); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rye-article-foot{ padding:14px 20px; display:flex; align-items:center; gap:10px; font-size:var(--fs-micro); color:var(--green-700); }
.rye-article-foot .dot{ width:3px; height:3px; border-radius:50%; background:var(--gray-400); }

.rye-accordion .item{ border-bottom:1px solid var(--border-subtle); }
.rye-accordion .q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:30px 0; background:none; border:none; cursor:pointer; text-align:left; }
.rye-accordion .q-text{ font:var(--fw-medium) var(--fs-h5) / 1.4 var(--font-display); letter-spacing:var(--ls-title); color:var(--ink-900); }
.rye-accordion .q-icon{ color:var(--gray-500); }
.rye-accordion .q-icon .rye-icon-x{ display:none; }
.rye-accordion .item.is-open .q-icon .rye-icon-plus{ display:none; }
.rye-accordion .item.is-open .q-icon .rye-icon-x{ display:inline-flex; }
.rye-accordion .a-wrap{ display:grid; grid-template-rows:0fr; transition:grid-template-rows var(--dur-base) var(--ease-out); }
.rye-accordion .item.is-open .a-wrap{ grid-template-rows:1fr; }
.rye-accordion .a-inner{ overflow:hidden; }
.rye-accordion .a-text{ padding-bottom:30px; max-width:720px; font:var(--type-body-sm); color:var(--gray-600); }

.rye-cta{ position:relative; }
.rye-cta-media{ border-radius:var(--radius-3xl); overflow:hidden; aspect-ratio:var(--aspect-cta); min-height:var(--cta-media-min); background:var(--gray-100); }
.rye-cta-media img{ width:100%; height:100%; object-fit:cover; }
.rye-cta-panel{ position:absolute; right:calc(var(--content-pad) + 20px); bottom:-50px; width:var(--cta-panel-w); background:var(--lime-400); border-radius:var(--radius-2xl); padding:44px 48px 48px; box-shadow:var(--shadow-float); }
.rye-cta-panel h3{ margin-top:34px; color:var(--ink-900); }
.rye-cta-panel p{ margin-top:20px; max-width:580px; font:var(--type-body-sm); color:rgba(11,15,14,0.72); }
.rye-cta-panel .rye-btn{ margin-top:36px; }

.rye-footer{ background:var(--white); padding:96px var(--content-pad) 104px; border-bottom-left-radius:var(--radius-3xl); border-bottom-right-radius:var(--radius-3xl); display:grid; grid-template-columns:var(--cols-footer); gap:64px; }
.rye-footer-blurb{ margin-top:30px; max-width:372px; font:var(--type-body-sm); color:var(--gray-600); }
.rye-footer-socials{ margin-top:48px; display:flex; align-items:center; gap:20px; }
.rye-footer-socials .label{ font-size:var(--fs-caption); color:var(--gray-600); }
.rye-footer-socials .icons{ display:flex; align-items:center; gap:18px; }
.rye-footer-socials .icons a{ color:var(--ink-900); display:inline-flex; opacity:1; transition:opacity var(--dur-fast) var(--ease-out); }
.rye-footer-socials .icons a:hover{ opacity:0.55; color:var(--ink-900); }
.rye-footer-links{ display:grid; grid-template-columns:var(--cols-footer-links); gap:40px 32px; justify-items:start; }
.rye-footer-col{ display:flex; flex-direction:column; gap:20px; }
.rye-footer-col .col-title{ font-size:var(--fs-eyebrow); letter-spacing:var(--ls-eyebrow); text-transform:uppercase; color:var(--gray-500); }
.rye-footer-col a{ font-size:var(--fs-body-sm); color:var(--ink-900); text-decoration:none; letter-spacing:-0.006em; overflow-wrap:anywhere; }
.rye-footer-col a:hover{ color:var(--green-700); }

/* ---------- Blog index / page hero band ---------- */
.rye-page-hero{ position:relative; background:var(--green-700); border-top-left-radius:var(--radius-3xl); border-top-right-radius:var(--radius-3xl); padding-bottom:80px; overflow:hidden; }
.rye-page-hero::after{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 82% -10%, rgba(208,250,147,0.16), transparent 55%); pointer-events:none; }
.rye-page-hero .rye-header{ position:relative; padding-top:36px; }
.rye-page-hero-body{ position:relative; z-index:2; padding:150px var(--content-pad) 0; max-width:760px; }
.rye-page-hero-body h1{ margin-top:22px; color:var(--white); max-width:16ch; }
.rye-page-hero-body p{ margin-top:22px; max-width:520px; font:var(--fw-regular) var(--fs-lead) / 1.6 var(--font-sans); color:var(--text-on-dark-muted); }
@media (max-width:980px){ .rye-page-hero-body{ padding-top:120px; } }

.rye-blog-band{ padding:88px 0 104px; }
.rye-blog-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(290px, 1fr)); gap:var(--grid-gap); }
.rye-blog-grid .rye-article{ width:auto; }
.rye-blog-empty{ text-align:center; padding:80px 0; color:var(--gray-600); font-size:var(--fs-body-lg); }

.rye-pagination{ margin-top:64px; display:flex; align-items:center; justify-content:center; gap:10px; }
.rye-pagination a, .rye-pagination span{ display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:44px; padding:0 16px; border-radius:var(--radius-pill); font-size:15px; font-weight:var(--fw-medium); color:var(--ink-900); border:1px solid var(--gray-200); }
.rye-pagination a:hover{ background:var(--gray-50); color:var(--ink-900); }
.rye-pagination .current{ background:var(--ink-900); color:var(--white); border-color:var(--ink-900); }
