.grvst{box-sizing:border-box;font-family:var(--grvst-body,inherit);line-height:1.62}.grvst button,.grvst input,.grvst select,.grvst textarea{font-family:inherit}.grvst *{box-sizing:border-box}.grvst h1,.grvst h2,.grvst h3{font-family:var(--grvst-head,var(--grvst-body,inherit));line-height:1.12}.grvst-section{padding:calc(clamp(2rem,4vw,4rem)*var(--grvst-space,1)) 1rem}.grvst-wrap{width:min(1120px,100%);margin:auto}.grvst-lead{max-width:48rem;margin:.7rem auto 1.7rem;text-align:center}.grvst-section> .grvst-wrap>h2{max-width:52rem;margin:0 auto calc(1rem*var(--grvst-space,1));text-align:center;font-size:clamp(1.85rem,3.2vw,2.75rem);font-weight:700;line-height:1.12;letter-spacing:-.02em;text-wrap:balance}.grvst-grid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:calc(1rem*var(--grvst-space,1))}.grvst-cols-2{--cols:2}.grvst-cols-3{--cols:3}.grvst-cols-4{--cols:4}.grvst-card,.grvst-story,.grvst-details{padding:calc(1.25rem*var(--grvst-space,1));border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:var(--grvst-radius,14px);background:var(--grvst-surface,#fff);color:var(--grvst-text,#172033);box-shadow:0 .6rem 1.6rem rgb(0 0 0/.07)}.grvst-icon{display:grid;place-items:center;width:3rem;height:3rem;border-radius:calc(var(--grvst-radius,14px)/2);color:var(--grvst-on-accent,#fff);background:var(--grvst-accent,#7c3cff)}.grvst-button{display:inline-block;margin-top:1rem;padding:.75rem 1.1rem;border-radius:calc(var(--grvst-radius,14px)/2);color:var(--grvst-on-accent,#fff);background:var(--grvst-accent,#7c3cff);text-decoration:none}.grvst-story,.grvst-details{margin:.75rem 0}.grvst-media{margin:0;overflow:hidden;border-radius:var(--grvst-radius,14px)}.grvst-media img{display:block;width:100%;height:auto}.grvst-media figcaption{padding:.5rem}.grvst-cta{text-align:center}.grvst-hero{display:grid;min-height:0;padding:calc(clamp(3.5rem,8vw,7rem)*var(--grvst-space,1)) 1rem;text-align:center;color:#fff;background:linear-gradient(#0008,#0008),var(--grvst-image,#111) center/cover}.grvst-hero .grvst-wrap{margin:auto}@media(max-width:760px){.grvst-grid{--cols:1}}
.grvst-icon.fa-solid,.grvst-icon.fa-regular,.grvst-icon.fa-brands,.grvst-icon.fas,.grvst-icon.far,.grvst-icon.fab{display:inline-block;width:auto;height:auto;background:transparent;color:var(--grvst-accent,#7c3cff);font-size:1.5rem}

/* Modularis 0.9.35 Design Kit color-mode contract.
   Explicit Light/Dark tokens are emitted at runtime by gravister-modularis.php.
   Regular sections use the semantic page/text contract; media-driven Hero/Hero Stories intentionally keep their own contrast overlays. */
:where(.grvst-section:not(.grvst-hero):not(.grvst-hero-stories)){background:var(--grvst-page,transparent);color:var(--grvst-text,inherit)}
.grvst-section .grvst-lead{color:var(--grvst-muted,inherit)}

/* Neutral headings consume semantic text; media headings retain local contrast. */
.grvst-section:where(:not(.grvst-hero):not(.grvst-hero-stories):not(.grvst-showcase)) :is(h1,h2,h3,h4,h5,h6){color:var(--grvst-text,inherit)}

/* Modularis 0.9.34.6: own Font Awesome font-family inside Modularis so theme icon/font rules cannot turn icons into fallback glyphs. */
.grvst .fa-solid,.grvst .fas{font-family:"Font Awesome 6 Free"!important;font-weight:900!important;font-style:normal!important;line-height:1}
.grvst .fa-regular,.grvst .far{font-family:"Font Awesome 6 Free"!important;font-weight:400!important;font-style:normal!important;line-height:1}
.grvst .fa-brands,.grvst .fab{font-family:"Font Awesome 6 Brands"!important;font-weight:400!important;font-style:normal!important;line-height:1}


/* Modularis 0.8.2 Visual Foundation. Scoped to .grvst-showcase. */
.grvst-showcase{--s-bg:#050a12;--s-panel:#0d1725;--s-line:rgb(136 169 211/.19);--s-text:#f3f7fe;--s-muted:#97a8bd;--s-violet:#8b4dff;--s-cyan:#29cbd2;--s-amber:#efa829;--s-blue:#3d9ff4;box-sizing:border-box;padding:clamp(1rem,2.4vw,2.2rem);color:var(--s-text);background:radial-gradient(52rem 32rem at 18% 0,rgb(22 83 132/.21),transparent 65%),radial-gradient(44rem 34rem at 70% 52%,rgb(101 45 218/.12),transparent 70%),linear-gradient(145deg,#091321,var(--s-bg) 65%);font-family:var(--grvst-body,inherit)}.grvst-showcase *{box-sizing:border-box}.grvst-showcase h1,.grvst-showcase h2,.grvst-showcase h3,.grvst-showcase p{margin:0;color:inherit}.grvst-showcase__shell{width:min(1540px,100%);margin:auto}.grvst-showcase__brand{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;max-width:560px}.grvst-showcase__brand>p{grid-column:1/-1;color:#6bd7d4}.grvst-showcase__brand .grvst-showcase__intro{color:#c5d0df}.grvst-showcase__brand h1{font-size:clamp(2.2rem,4vw,3.45rem);line-height:.95;letter-spacing:-.045em}.grvst-showcase__brand>b{padding:.38rem .7rem;border-radius:8px;background:linear-gradient(#7543ef,#4f24c9)}.grvst-showcase__logo{display:grid;place-items:center;width:58px;height:58px;border-radius:15px;color:#fff;background:linear-gradient(145deg,#ae63ff,#6c2ff1 60%,#4820ca);box-shadow:0 0 32px rgb(126 55 255/.42),inset 0 1px rgb(255 255 255/.25)}.grvst-showcase__logo svg{width:32px;fill:none;stroke:currentColor;stroke-width:2}.grvst-showcase__nav{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.6rem 0}.grvst-showcase__nav a{display:grid;grid-template-columns:50px 1fr;color:inherit;text-decoration:none}.grvst-showcase__nav i{grid-row:1/3;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--s-line);border-radius:50%;color:var(--s-cyan);background:#132137;font-style:normal;font-size:1.3rem}.grvst-showcase__nav b,.grvst-showcase__nav span{display:block}.grvst-showcase__nav span{color:var(--s-muted);font-size:.78rem}.grvst-showcase__panel,.grvst-showcase__cabinet,.grvst-showcase__footer{border:1px solid var(--s-line);border-radius:14px;background:linear-gradient(150deg,rgb(18 31 49/.96),rgb(10 18 30/.96));box-shadow:0 22px 55px rgb(0 0 0/.38),inset 0 1px rgb(220 235 255/.08)}.grvst-showcase__panel{padding:1.1rem}.grvst-showcase__panel>h2{margin-bottom:1rem;font-size:1.16rem}.grvst-showcase__top{display:grid;grid-template-columns:1.05fr 1.15fr 1fr;gap:1rem;margin-bottom:1rem}.grvst-showcase__cabinet{min-height:340px;padding:1.8rem;display:flex;align-items:end;background:linear-gradient(0deg,rgb(4 8 14/.97),transparent 76%),linear-gradient(90deg,rgb(5 10 18/.68),transparent),var(--visual) center/cover}.grvst-showcase__cabinet h2{font:700 clamp(2.5rem,4vw,3.6rem)/.96 var(--grvst-head,var(--grvst-body,inherit))}.grvst-showcase__cabinet p{margin:.8rem 0}.grvst-showcase__cabinet a,.grvst-showcase__cta a,.grvst-showcase__patterns a,.grvst-showcase__footer>a{display:inline-block;padding:.68rem 1.15rem;border-radius:8px;color:#fff;text-decoration:none;font-weight:750;background:linear-gradient(105deg,#6937df,#9439ff);box-shadow:0 10px 26px rgb(94 38 220/.34)}.grvst-showcase__stats{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.grvst-showcase__stats article{display:flex;gap:.7rem;padding:1rem;border:1px solid var(--s-line);border-radius:10px;background:#0b1523}.grvst-showcase__stats article>b{font-size:1.85rem;color:var(--s-violet)}.grvst-showcase__stats span,.grvst-showcase__stats strong{display:block}.grvst-showcase__stats span{color:var(--s-muted);font-size:.76rem}.grvst-showcase__stats strong{color:var(--s-text);text-transform:uppercase}.grvst-showcase__road ol{list-style:none;margin:0;padding:0}.grvst-showcase__road li{position:relative;display:grid;grid-template-columns:auto 1fr;gap:.7rem;padding:0 0 1rem 1.2rem}.grvst-showcase__road li:before{content:"";position:absolute;left:0;top:.4rem;width:10px;height:10px;border-radius:50%;background:currentColor;box-shadow:0 0 14px currentColor}.grvst-showcase__road li:not(:last-child):after{content:"";position:absolute;left:4px;top:1.15rem;bottom:0;width:1px;background:currentColor;opacity:.45}.grvst-showcase__road li>b{height:max-content;padding:.15rem .4rem;border-radius:4px;background:#1a2a3f}.grvst-showcase__road span,.grvst-showcase__road strong{display:block}.grvst-showcase__road span{color:var(--s-muted);font-size:.75rem}.grvst-showcase .cyan{color:var(--s-cyan)}.grvst-showcase .violet{color:var(--s-violet)}.grvst-showcase .amber{color:var(--s-amber)}.grvst-showcase .blue{color:var(--s-blue)}.grvst-showcase__main{display:grid;grid-template-columns:1.2fr 1.8fr .9fr;gap:1rem}.grvst-showcase__components{display:grid;grid-template-columns:repeat(3,1fr);gap:.72rem}.grvst-showcase__components article,.grvst-showcase__patterns article{overflow:hidden;border:1px solid var(--s-line);border-radius:10px;background:#0b1523;color:var(--s-text)}.grvst-showcase__components h3,.grvst-showcase__components p,.grvst-showcase__patterns h3,.grvst-showcase__patterns p{padding:.5rem .65rem 0}.grvst-showcase__components p,.grvst-showcase__patterns p{padding-top:0;padding-bottom:.65rem;color:var(--s-muted);font-size:.76rem}.grvst-mini{height:98px;position:relative;overflow:hidden;background:#111d2e}.grvst-mini--hero{background:linear-gradient(0deg,#07111ddd,transparent 70%),url('../media/mountains.webp') center/cover}.grvst-mini--features{background:radial-gradient(circle at 20% 30%,#25cbd3 0 8px,transparent 9px),radial-gradient(circle at 50% 30%,#874fff 0 8px,transparent 9px),radial-gradient(circle at 80% 30%,#efa927 0 8px,transparent 9px),#111d2e}.grvst-mini--gallery{background:url('../media/profile.webp') center/cover}.grvst-mini--cards:before{content:"";position:absolute;inset:12px;background:linear-gradient(#f7f9fc,#f7f9fc) 0/30% 100% no-repeat,linear-gradient(#f7f9fc,#f7f9fc) 50%/30% 100% no-repeat,linear-gradient(#f7f9fc,#f7f9fc) 100%/30% 100% no-repeat}.grvst-mini--story{background:url('../media/editorial-cabinet.webp') center/cover}.grvst-mini--accordion{background:linear-gradient(#1b2b40,#1b2b40) center 18%/84% 18px no-repeat,linear-gradient(#1b2b40,#1b2b40) center 50%/84% 18px no-repeat,linear-gradient(#1b2b40,#1b2b40) center 82%/84% 18px no-repeat,#101b2b}.grvst-showcase__cta{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding:1rem;border:1px solid var(--s-line);border-radius:10px}.grvst-showcase__cta span{color:var(--s-muted)}.grvst-showcase__cta b{display:block;color:var(--s-text)}.grvst-showcase__patterns{display:grid;grid-template-columns:repeat(5,1fr);gap:.72rem}.grvst-showcase__patterns img{display:block;width:100%;height:140px;object-fit:cover}.grvst-showcase__patterns a{display:block;margin:.6rem;padding:.5rem;text-align:center}.grvst-showcase__patterns .starter{display:flex;flex-direction:column;justify-content:center;text-align:center;border-style:dashed}.grvst-showcase__patterns .starter>b{font-size:2.5rem}.grvst-showcase__benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:.75rem;padding:1rem;border:1px solid var(--s-line);border-radius:10px;color:var(--s-muted);font-size:.75rem}.grvst-showcase__benefits b{color:var(--s-text)}.grvst-showcase__themes article{display:grid;grid-template-columns:1fr 50%;gap:.6rem;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--s-line)}.grvst-showcase__themes span{color:var(--s-muted);font-size:.72rem}.grvst-showcase__themes span>b{display:block;color:var(--s-text)}.grvst-showcase__themes article>i{height:55px;position:relative;border-radius:7px;background:#17283e}.grvst-showcase__themes u{position:absolute;top:8px;width:42%;height:37px;background:#f2f5f8}.grvst-showcase__themes u:first-child{left:7px}.grvst-showcase__themes u:last-child{right:7px;background:#101b2a}.grvst-showcase__themes .theme-2>i{background:#153354}.grvst-showcase__themes .theme-3>i{background:#49382d}.grvst-showcase__themes .theme-4>i{background:#002b36}.grvst-showcase__themes .theme-5>i{background:#e8edf3}.grvst-showcase__footer{display:flex;justify-content:space-between;align-items:center;max-width:780px;margin:1rem auto 0;padding:1rem 1.35rem}.grvst-showcase__footer>span{display:flex;gap:.8rem}.grvst-showcase__footer>span>b{font-size:2rem;color:var(--s-violet)}.grvst-showcase__footer i{font-style:normal;color:var(--s-muted)}.grvst-showcase__footer strong{display:block;color:var(--s-text)}@media(max-width:1100px){.grvst-showcase__top{grid-template-columns:1fr 1fr}.grvst-showcase__road{grid-column:1/-1}.grvst-showcase__main{grid-template-columns:1fr 1fr}.grvst-showcase__themes{grid-column:1/-1}.grvst-showcase__patterns{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.grvst-showcase__nav{grid-template-columns:1fr 1fr}.grvst-showcase__top,.grvst-showcase__main{grid-template-columns:1fr}.grvst-showcase__road,.grvst-showcase__themes{grid-column:auto}.grvst-showcase__components,.grvst-showcase__patterns{grid-template-columns:1fr 1fr}.grvst-showcase__benefits{grid-template-columns:1fr 1fr}.grvst-showcase__footer{flex-direction:column;align-items:flex-start;gap:1rem}}@media(max-width:460px){.grvst-showcase__nav,.grvst-showcase__components,.grvst-showcase__patterns,.grvst-showcase__benefits,.grvst-showcase__stats{grid-template-columns:1fr}}


/* 0.8.6 Cards Visual Fidelity - implementation based on the approved Modularis mockup. */
.grvst-cards-section{--grvst-card-panel:var(--grvst-page,#07111e);--grvst-card-surface:var(--grvst-surface,#0b1625);--grvst-card-surface-hi:var(--grvst-surface-soft,#101d2e);--grvst-card-border:var(--grvst-border,rgb(123 157 201/.20));--grvst-card-text:var(--grvst-text,#f3f7fd);--grvst-card-muted:var(--grvst-muted,#95a6ba);--grvst-card-violet:#8450ff;--grvst-card-cyan:#28c9d1;--grvst-card-amber:#efa72a;--grvst-card-blue:#3c9ef0}
.grvst-cards-section--showcase{color:var(--grvst-card-text);background:var(--grvst-page,radial-gradient(38rem 24rem at 15% 0,rgb(29 92 139/.12),transparent 68%),linear-gradient(145deg,#07111d,#030812))}
.grvst-cards-section--showcase>.grvst-wrap,.grvst-cards-section--glass>.grvst-wrap{padding:clamp(1rem,2.2vw,1.65rem);border:1px solid var(--grvst-card-border);border-radius:calc(var(--grvst-radius,14px) + 2px);background:var(--grvst-surface,linear-gradient(150deg,rgb(15 27 43/.95),rgb(6 14 25/.96)));box-shadow:0 24px 58px rgb(0 0 0/.34),inset 0 1px rgb(226 238 255/.07)}
.grvst-cards-section--showcase .grvst-lead,.grvst-cards-section--glass .grvst-lead{color:var(--grvst-card-muted)}
.grvst-cards-grid{align-items:stretch}
.grvst-visual-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--grvst-card-border);border-radius:calc(var(--grvst-radius,14px) - 3px);background:var(--grvst-surface,linear-gradient(150deg,var(--grvst-card-surface-hi),var(--grvst-card-surface)));box-shadow:0 12px 28px rgb(0 0 0/.22),inset 0 1px rgb(255 255 255/.045);color:var(--grvst-card-text);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.grvst-visual-card:hover{transform:translateY(-3px);border-color:var(--grvst-border,rgb(139 174 222/.36));box-shadow:0 19px 38px rgb(0 0 0/.31),0 0 24px color-mix(in srgb,var(--card-accent) 13%,transparent)}
.grvst-visual-card{--card-accent:var(--grvst-accent,#8450ff)}.grvst-visual-card.is-violet{--card-accent:var(--grvst-card-violet);--card-on-accent:#fff}.grvst-visual-card.is-cyan{--card-accent:var(--grvst-card-cyan);--card-on-accent:#172033}.grvst-visual-card.is-amber{--card-accent:var(--grvst-card-amber);--card-on-accent:#172033}.grvst-visual-card.is-blue{--card-accent:var(--grvst-card-blue);--card-on-accent:#172033}
.grvst-visual-card:before{content:"";position:absolute;z-index:2;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--card-accent),transparent);opacity:.72}
.grvst-visual-card__media{position:relative;overflow:hidden;aspect-ratio:3/2;background:#111d2c}
.grvst-media-square .grvst-visual-card__media{aspect-ratio:1}.grvst-media-portrait .grvst-visual-card__media{aspect-ratio:4/5}
.grvst-visual-card__media:after{content:"";position:absolute;inset:0;box-shadow:inset 0 -38px 42px -35px #02060d;pointer-events:none}
.grvst-visual-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .28s ease,filter .28s ease}
.grvst-visual-card:hover .grvst-visual-card__media img{transform:scale(1.025);filter:saturate(1.06)}
.grvst-visual-card__body{display:flex;flex-direction:column;align-items:flex-start;min-height:9.2rem;padding:calc(1rem*var(--grvst-space,1))}
.grvst-visual-card__eyebrow{display:inline-flex;margin-bottom:.55rem;padding:.22rem .48rem;border:1px solid color-mix(in srgb,var(--card-accent) 42%,transparent);border-radius:999px;color:var(--card-accent);background:color-mix(in srgb,var(--card-accent) 10%,transparent);font-size:.69rem;font-weight:750;line-height:1.2;letter-spacing:.045em;text-transform:uppercase}
.grvst-visual-card h3{margin:0;color:var(--grvst-card-text);font-size:1.02rem}.grvst-visual-card p{margin:.48rem 0 0;color:var(--grvst-card-muted);font-size:.88rem;line-height:1.5}
.grvst-visual-card__link{display:inline-flex;gap:.55rem;align-items:center;margin-top:auto;padding-top:.85rem;color:var(--card-accent);font-weight:750;text-decoration:none}.grvst-visual-card__link span{transition:transform .18s ease}.grvst-visual-card__link:hover span{transform:translateX(3px)}
.grvst-visual-card__placeholder{background:linear-gradient(145deg,#17273b,#091421)}.grvst-visual-card__placeholder i{position:absolute;border-radius:4px;background:rgb(255 255 255/.82)}.grvst-visual-card__placeholder i:nth-child(1){left:9%;top:12%;width:27%;height:66%;background:linear-gradient(145deg,#68839d,#172f43)}.grvst-visual-card__placeholder i:nth-child(2){left:43%;right:10%;top:19%;height:8px}.grvst-visual-card__placeholder i:nth-child(3){left:43%;right:18%;top:42%;height:6px;background:#5f7186;box-shadow:0 16px #44576d,0 32px var(--card-accent)}
.grvst-cards-section--clean{color:inherit;background:transparent}.grvst-cards-section--clean .grvst-visual-card{border-color:var(--grvst-border,rgb(28 44 63/.15));background:var(--grvst-surface,#fff);color:var(--grvst-text,#172033);box-shadow:0 .6rem 1.6rem rgb(0 0 0/.08)}.grvst-cards-section--clean .grvst-visual-card h3{color:var(--grvst-text,#172033)}.grvst-cards-section--clean .grvst-visual-card p{color:var(--grvst-muted,#526174)}
.grvst-cards-section--glass{color:var(--grvst-card-text);background:var(--grvst-page,linear-gradient(145deg,#0a1523,#060b13))}.grvst-cards-section--glass .grvst-visual-card{background:var(--grvst-surface,rgb(14 27 43/.68));backdrop-filter:blur(12px)}
@media(prefers-reduced-motion:reduce){.grvst-visual-card,.grvst-visual-card__media img,.grvst-visual-card__link span{transition:none}.grvst-visual-card:hover{transform:none}.grvst-visual-card:hover .grvst-visual-card__media img{transform:none}}

/* 0.8.8 Content Depth: Hero v2, Features v3, Story v2, Stats and Timeline. */
.grvst-eyebrow{display:block;margin:0 0 .55rem;color:var(--grvst-accent,#7c3cff);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.grvst-badge{display:inline-flex;padding:.25rem .55rem;border:1px solid color-mix(in srgb,var(--grvst-accent,#7c3cff) 48%,transparent);border-radius:999px;color:var(--grvst-accent,#7c3cff);background:color-mix(in srgb,var(--grvst-accent,#7c3cff) 10%,transparent);font-size:.72rem;font-weight:800;text-transform:uppercase}.grvst-feature-grid,.grvst-stats__grid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:calc(1rem*var(--grvst-space,1))}.grvst-feature{--local-accent:var(--grvst-accent,#7c3cff);overflow:hidden;min-width:0;border:1px solid var(--grvst-border,rgb(120 155 200/.2));border-radius:var(--grvst-radius,14px);color:var(--grvst-text,#f3f7fd);background:var(--grvst-surface,linear-gradient(150deg,#101d2e,#07111e));box-shadow:0 14px 32px rgb(0 0 0/.24)}.grvst-feature.is-violet{--local-accent:#8450ff;--local-on-accent:#fff}.grvst-feature.is-cyan{--local-accent:#28c9d1;--local-on-accent:#172033}.grvst-feature.is-amber{--local-accent:#efa72a;--local-on-accent:#172033}.grvst-feature.is-blue{--local-accent:#3c9ef0;--local-on-accent:#172033}.grvst-feature__media{margin:0;aspect-ratio:16/10;overflow:hidden}.grvst-feature__media img{display:block;width:100%;height:100%;object-fit:cover}.grvst-feature__body{padding:1.25rem}.grvst-feature__body .grvst-badge{color:var(--local-accent);border-color:color-mix(in srgb,var(--local-accent) 48%,transparent)}.grvst-feature__icon{display:grid;place-items:center;width:3rem;height:3rem;margin:.75rem 0;border-radius:10px;color:var(--local-on-accent,var(--grvst-on-accent,#fff));background:var(--local-accent);font-style:normal}.grvst-feature h3{margin:.35rem 0;color:var(--grvst-text,#fff)}.grvst-feature p{color:var(--grvst-muted,#9dacc0)}.grvst-feature__subtitle{display:block;color:var(--grvst-text,#dfe7f2)}.grvst-feature__link{display:inline-flex;gap:.45rem;margin-top:.75rem;color:var(--local-accent);font-weight:800;text-decoration:none}.grvst-features--classic .grvst-feature{border:0;background:transparent;box-shadow:none}.grvst-features--editorial .grvst-feature{border-width:2px 0 0;border-radius:0;background:transparent;box-shadow:none}.grvst-features--highlight .grvst-feature:first-child{grid-column:span 2}.grvst-features--mixed .grvst-feature--wide{grid-column:span 2}.grvst-features--mixed .grvst-feature--tall{grid-row:span 2}.grvst-features--mixed .grvst-feature--featured{grid-column:span 2;grid-row:span 2}.grvst-hero{--grvst-overlay:.52;background:linear-gradient(rgb(0 0 0/var(--grvst-overlay)),rgb(0 0 0/var(--grvst-overlay))),var(--grvst-image,#111) center/cover}.grvst-hero__content{max-width:760px;margin:auto}.grvst-hero .grvst-hero__content h1{margin:.35rem 0 .75rem;color:#fff;font-size:clamp(2.6rem,6.4vw,5.35rem);font-weight:800;line-height:.94;letter-spacing:-.045em;text-wrap:balance}.grvst-hero .grvst-hero__content .grvst-badge+ h1{margin-top:.8rem}.grvst-hero__lead{max-width:48rem;margin:.65rem auto 0;color:rgb(255 255 255/.86)}.grvst-hero--split .grvst-hero__lead{margin-left:0;margin-right:0}.grvst-hero--split .grvst-hero__content{margin-left:0;text-align:left}.grvst-hero--card .grvst-hero__content{padding:2rem;border:1px solid #ffffff2b;border-radius:var(--grvst-radius,14px);background:#07111dcc;backdrop-filter:blur(12px)}.grvst-hero__lead{font-size:clamp(1.05rem,2vw,1.3rem)}.grvst-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.grvst-hero--split .grvst-actions{justify-content:flex-start}.grvst-button--secondary{border:1px solid #ffffff66;background:#ffffff12;color:#fff}.grvst-hero__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #ffffff2b}.grvst-hero__stats strong,.grvst-hero__stats span{display:block}.grvst-hero__stats strong{font-size:1.5rem}.grvst-hero__stats span{font-size:.78rem;color:#c6d0de}.grvst-story--rich{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:center;padding:0;overflow:hidden}.grvst-story--rich figure{margin:0}.grvst-story--rich figure img{display:block;width:100%;height:100%;min-height:260px;object-fit:cover}.grvst-story--rich figcaption{padding:.45rem .7rem;color:var(--grvst-muted,#5d6a7d)}.grvst-story--rich>div{padding:1.5rem}.grvst-story--rich.is-reversed figure{order:2}.grvst-story blockquote{margin:1rem 0;padding:.8rem 1rem;border-left:3px solid var(--grvst-accent,#7c3cff);color:var(--grvst-muted,#39485d);font:italic 1.08rem var(--grvst-head,var(--grvst-body,inherit))}.grvst-highlight{font-weight:800;color:var(--grvst-accent,#7c3cff)!important}.grvst-stats__grid{--cols:4}.grvst-stats__grid article.is-violet,.grvst-timeline__list li.is-violet{--local-accent:#8450ff}.grvst-stats__grid article{--local-accent:var(--grvst-accent,#8450ff);padding:1.25rem;border:1px solid var(--grvst-border,rgb(120 155 200/.2));border-radius:var(--grvst-radius,14px);background:var(--grvst-surface,#0b1625);text-align:center}.grvst-stats__grid article.is-cyan{--local-accent:#28c9d1}.grvst-stats__grid article.is-amber{--local-accent:#efa72a}.grvst-stats__grid article.is-blue{--local-accent:#3c9ef0}.grvst-stats__grid strong{display:block;color:var(--local-accent);font-size:clamp(2rem,4vw,3.2rem)}.grvst-stats__grid h3{margin:.25rem 0;color:var(--grvst-text,#fff)}.grvst-stats__grid p{color:var(--grvst-muted,#97a8bd)}.grvst-timeline__list{max-width:850px;margin:0 auto;padding:0;list-style:none}.grvst-timeline__list li{--local-accent:var(--grvst-accent,#8450ff);position:relative;display:grid;grid-template-columns:28px 1fr;gap:1rem;padding-bottom:1.1rem}.grvst-timeline__list li.is-cyan{--local-accent:#28c9d1}.grvst-timeline__list li.is-amber{--local-accent:#efa72a}.grvst-timeline__list li.is-blue{--local-accent:#3c9ef0}.grvst-timeline__list li:not(:last-child):before{content:"";position:absolute;left:13px;top:24px;bottom:-4px;width:2px;background:color-mix(in srgb,var(--local-accent) 42%,transparent)}.grvst-timeline__marker{z-index:1;width:28px;height:28px;border:7px solid #10131a;border-radius:50%;background:var(--local-accent);box-shadow:0 0 18px var(--local-accent)}.grvst-timeline__list article{padding:1rem 1.2rem;border:1px solid var(--grvst-border,rgb(120 155 200/.2));border-radius:var(--grvst-radius,14px);background:var(--grvst-surface,#0b1625)}.grvst-timeline time{color:var(--local-accent);font-weight:800}.grvst-timeline h3{margin:.35rem 0;color:#fff}.grvst-timeline p{margin:0;color:var(--grvst-muted,#9dacc0)}@media(max-width:760px){.grvst-feature-grid,.grvst-stats__grid{--cols:1}.grvst-features--highlight .grvst-feature:first-child,.grvst-features--mixed .grvst-feature--wide,.grvst-features--mixed .grvst-feature--featured{grid-column:auto;grid-row:auto}.grvst-story--rich{grid-template-columns:1fr}.grvst-story--rich.is-reversed figure{order:initial}}


/* 0.8.9 Posts (Latest Articles) */
.grvst-posts{--posts-bg:var(--grvst-page,#050b14);--posts-panel:var(--grvst-surface,#0b1625);--posts-panel-hi:var(--grvst-surface-soft,#101e30);--posts-line:var(--grvst-border,rgb(126 160 205/.21));--posts-text:var(--grvst-text,#f3f7fd);--posts-muted:var(--grvst-muted,#96a7bc);--posts-accent:var(--grvst-accent,#7c3cff)}
.grvst-posts--showcase{color:var(--posts-text);background:var(--grvst-page,radial-gradient(44rem 26rem at 12% 0,rgb(35 105 154/.13),transparent 68%),linear-gradient(145deg,#07121f,var(--posts-bg)))}
.grvst-posts--showcase>.grvst-wrap,.grvst-posts--editorial>.grvst-wrap{padding:clamp(1rem,2.2vw,1.7rem);border:1px solid var(--posts-line);border-radius:calc(var(--grvst-radius,14px) + 2px);background:var(--grvst-surface,linear-gradient(150deg,rgb(16 29 46/.96),rgb(6 14 25/.97)));box-shadow:0 24px 58px rgb(0 0 0/.34),inset 0 1px rgb(225 239 255/.07)}
.grvst-posts__grid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:calc(1rem*var(--grvst-space,1))}.grvst-posts__grid.grvst-cols-2{--cols:2}.grvst-posts__grid.grvst-cols-3{--cols:3}.grvst-posts__grid.grvst-cols-4{--cols:4}
.grvst-post-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--posts-line);border-radius:calc(var(--grvst-radius,14px) - 3px);color:var(--posts-text);background:var(--grvst-surface,linear-gradient(150deg,var(--posts-panel-hi),var(--posts-panel)));box-shadow:0 12px 28px rgb(0 0 0/.23),inset 0 1px rgb(255 255 255/.045);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.grvst-post-card:hover{transform:translateY(-3px);border-color:var(--grvst-border,rgb(143 178 225/.38));box-shadow:0 19px 38px rgb(0 0 0/.31),0 0 24px color-mix(in srgb,var(--posts-accent) 13%,transparent)}
.grvst-post-card:before{content:"";position:absolute;z-index:2;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--posts-accent),transparent);opacity:.75}
.grvst-post-card__media{display:block;position:relative;overflow:hidden;aspect-ratio:3/2;background:#122034}.grvst-post-card__media:after{content:"";position:absolute;inset:0;box-shadow:inset 0 -42px 46px -39px #02060d;pointer-events:none}.grvst-post-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .28s ease,filter .28s ease}.grvst-post-card:hover .grvst-post-card__media img{transform:scale(1.025);filter:saturate(1.06)}
.grvst-post-card__body{display:flex;flex-direction:column;align-items:flex-start;min-height:12.4rem;padding:calc(1rem*var(--grvst-space,1))}.grvst-post-card time{margin-bottom:.45rem;color:color-mix(in srgb,var(--posts-accent) 76%,white);font-size:.74rem;font-weight:700;letter-spacing:.035em}.grvst-post-card h3{margin:0;font-size:1.08rem}.grvst-post-card h3 a{color:var(--posts-text);text-decoration:none}.grvst-post-card p{margin:.55rem 0 0;color:var(--posts-muted);font-size:.88rem;line-height:1.52}.grvst-post-card__more{display:inline-flex;gap:.5rem;align-items:center;margin-top:auto;padding-top:.9rem;color:var(--posts-accent);font-weight:750;text-decoration:none}.grvst-post-card__more span{transition:transform .18s ease}.grvst-post-card__more:hover span{transform:translateX(3px)}
.grvst-post-card__placeholder{display:block;position:absolute;inset:0;background:linear-gradient(145deg,#1a2b40,#091421)}.grvst-post-card__placeholder i{position:absolute;border-radius:4px}.grvst-post-card__placeholder i:first-child{left:9%;top:13%;width:29%;height:70%;background:linear-gradient(145deg,#7993aa,#1b354b)}.grvst-post-card__placeholder i:nth-child(2){left:44%;right:10%;top:22%;height:8px;background:#eef3f8}.grvst-post-card__placeholder i:nth-child(3){left:44%;right:17%;top:45%;height:6px;background:#61748a;box-shadow:0 16px #46596f,0 32px var(--posts-accent)}
.grvst-posts__all{text-align:center;margin:1.2rem 0 0}.grvst-posts__empty{margin:0;padding:1.2rem;border:1px dashed var(--posts-line);border-radius:var(--grvst-radius,14px);color:var(--posts-muted);text-align:center}
.grvst-posts--editorial{color:var(--grvst-text,#f7f0e3);background:var(--grvst-page,#15110f)}.grvst-posts--editorial>.grvst-wrap{background:var(--grvst-surface,linear-gradient(145deg,#211b17,#120f0d));border-color:var(--grvst-border,rgb(222 192 143/.20))}.grvst-posts--editorial .grvst-post-card{background:var(--grvst-surface,#f4ead8);color:var(--grvst-text,#211b17);border-color:var(--grvst-border,#d2b98f)}.grvst-posts--editorial .grvst-post-card h3 a{color:var(--grvst-text,#211b17)}.grvst-posts--editorial .grvst-post-card p{color:var(--grvst-muted,#66594c)}
.grvst-posts--clean{color:inherit;background:transparent}.grvst-posts--clean .grvst-post-card{background:var(--grvst-surface,#fff);color:var(--grvst-text,#172033);border-color:var(--grvst-border,rgb(28 44 63/.15));box-shadow:0 .6rem 1.6rem rgb(0 0 0/.08)}.grvst-posts--clean .grvst-post-card h3 a{color:var(--grvst-text,#172033)}.grvst-posts--clean .grvst-post-card p{color:var(--grvst-muted,#526174)}
@media(max-width:920px){.grvst-posts__grid.grvst-cols-3,.grvst-posts__grid.grvst-cols-4{--cols:2}}@media(max-width:620px){.grvst-posts__grid{--cols:1!important}}@media(prefers-reduced-motion:reduce){.grvst-post-card,.grvst-post-card__media img,.grvst-post-card__more span{transition:none}.grvst-post-card:hover{transform:none}.grvst-post-card:hover .grvst-post-card__media img{transform:none}}

/* 0.9.5 Component Correctness */
.grvst-card,.grvst-story,.grvst-details,.grvst-feature,.grvst-visual-card,.grvst-cards-section--clean .grvst-visual-card,.grvst-post-card,.grvst-posts--clean .grvst-post-card{box-shadow:var(--grvst-card-shadow,0 .35rem 1rem rgb(0 0 0/.12))}
.grvst-visual-card:hover,.grvst-post-card:hover{box-shadow:var(--grvst-card-shadow-hover,0 1.1rem 2.4rem rgb(0 0 0/.24))}
.grvst-visual-card__icon{display:grid;place-items:center;width:2.6rem;height:2.6rem;margin:0 0 .65rem;border-radius:9px;color:var(--card-on-accent,var(--grvst-on-accent,#fff));background:var(--card-accent);font-style:normal}
.grvst-visual-card__icon.fa-solid,.grvst-visual-card__icon.fa-regular,.grvst-visual-card__icon.fa-brands,.grvst-visual-card__icon.fas,.grvst-visual-card__icon.far,.grvst-visual-card__icon.fab{display:inline-block;width:auto;height:auto;background:transparent;color:var(--card-accent);font-size:1.4rem}
.grvst-stats__grid.grvst-cols-2{--cols:2}.grvst-stats__grid.grvst-cols-3{--cols:3}.grvst-stats__grid.grvst-cols-4{--cols:4}
@media(min-width:761px){.grvst-timeline--alternating .grvst-timeline__list li{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:1.25rem}.grvst-timeline--alternating .grvst-timeline__list li:not(:last-child):before{left:50%;transform:translateX(-1px)}.grvst-timeline--alternating .grvst-timeline__marker{grid-column:2;grid-row:1}.grvst-timeline--alternating .grvst-timeline__list article{grid-column:3;grid-row:1}.grvst-timeline--alternating .grvst-timeline__list li:nth-child(even) article{grid-column:1;text-align:right}}

/* Modularis 0.9.16 section-scoped design sets.
   These override the global Design Kit only on sections that explicitly opt in. */
.grvst-design-airy{--grvst-accent:#14b8c4;--grvst-radius:0px;--grvst-space:1.22;--grvst-card-shadow:0 .35rem 1rem rgb(0 0 0 / .10);--grvst-card-shadow-hover:0 1.1rem 2.4rem rgb(0 0 0 / .20);--grvst-body:system-ui,-apple-system,"Segoe UI",sans-serif;--grvst-head:Georgia,"Times New Roman",serif;--grvst-on-accent:#172033}
.grvst-design-editorial{--grvst-accent:#d97706;--grvst-radius:0px;--grvst-space:.78;--grvst-card-shadow:0 .35rem 1rem rgb(0 0 0 / .12);--grvst-card-shadow-hover:0 1.1rem 2.4rem rgb(0 0 0 / .24);--grvst-body:system-ui,-apple-system,"Segoe UI",sans-serif;--grvst-head:Georgia,"Times New Roman",serif;--grvst-on-accent:#172033}
.grvst-design-portfolio{--grvst-accent:#2563eb;--grvst-radius:14px;--grvst-space:1;--grvst-card-shadow:0 .35rem 1rem rgb(0 0 0 / .12);--grvst-card-shadow-hover:0 1.1rem 2.4rem rgb(0 0 0 / .24);--grvst-body:system-ui,-apple-system,"Segoe UI",sans-serif;--grvst-head:system-ui,-apple-system,"Segoe UI",sans-serif;--grvst-on-accent:#fff}
.grvst-design-signature{--grvst-accent:#7c3cff;--grvst-radius:14px;--grvst-space:1;--grvst-card-shadow:0 .35rem 1rem rgb(0 0 0 / .12);--grvst-card-shadow-hover:0 1.1rem 2.4rem rgb(0 0 0 / .24);--grvst-body:system-ui,-apple-system,"Segoe UI",sans-serif;--grvst-head:system-ui,-apple-system,"Segoe UI",sans-serif;--grvst-on-accent:#fff}


/* Modularis 0.9.24 Signature Components */
.grvst-bento__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:calc(1rem*var(--grvst-space,1))}.grvst-bento__cell{min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:var(--grvst-radius,14px);background:var(--grvst-surface,#fff);color:var(--grvst-text,#172033);box-shadow:var(--grvst-card-shadow,0 .35rem 1rem rgb(0 0 0/.12))}.grvst-bento__cell--wide{grid-column:span 2}.grvst-bento__cell--tall{grid-row:span 2}.grvst-bento__cell--featured{grid-column:span 2;grid-row:span 2;background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 7%,#fff))}.grvst-bento__media{margin:0;aspect-ratio:16/9;overflow:hidden}.grvst-bento__cell--tall .grvst-bento__media,.grvst-bento__cell--featured .grvst-bento__media{aspect-ratio:4/3}.grvst-bento__media img{display:block;width:100%;height:100%;object-fit:cover}.grvst-bento__body{padding:calc(1.2rem*var(--grvst-space,1))}.grvst-bento__icon{display:grid;place-items:center;width:2.7rem;height:2.7rem;margin-bottom:.8rem;border-radius:calc(var(--grvst-radius,14px)/2);background:var(--grvst-accent,#7c3cff);color:var(--grvst-on-accent,#fff);font-style:normal;font-weight:800}.grvst-bento__icon.fa-solid,.grvst-bento__icon.fa-regular,.grvst-bento__icon.fa-brands,.grvst-bento__icon.fas,.grvst-bento__icon.far,.grvst-bento__icon.fab{display:inline-block;width:auto;height:auto;background:transparent;color:var(--grvst-accent,#7c3cff);font-size:1.4rem}.grvst-bento__value{display:block;color:var(--grvst-accent,#7c3cff);font-size:clamp(2rem,5vw,4rem);line-height:1}.grvst-bento__cell h3{margin:.55rem 0}.grvst-bento__cell p{margin:.45rem 0;color:var(--grvst-muted,#526174)}.grvst-bento__link{display:inline-flex;gap:.45rem;align-items:center;margin-top:.5rem;color:var(--grvst-accent,#7c3cff);font-weight:750;text-decoration:none}

.grvst-interactive-showcase__layout{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.8fr);gap:calc(1.25rem*var(--grvst-space,1));align-items:start}.grvst-interactive-showcase__tabs{display:flex;flex-direction:column;gap:.45rem}.grvst-interactive-showcase__tab{appearance:none;width:100%;padding:.9rem 1rem;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:calc(var(--grvst-radius,14px)/1.4);background:#fff;color:#172033;text-align:left;font:inherit;font-weight:750;cursor:pointer}.grvst-interactive-showcase__tab[aria-selected="true"]{border-color:var(--grvst-accent,#7c3cff);background:color-mix(in srgb,var(--grvst-accent,#7c3cff) 9%,#fff);color:var(--grvst-accent,#7c3cff)}.grvst-interactive-showcase__tab:focus-visible{outline:3px solid color-mix(in srgb,var(--grvst-accent,#7c3cff) 45%,transparent);outline-offset:2px}.grvst-interactive-showcase__panels{min-width:0}.grvst-interactive-showcase__panel{overflow:hidden;margin:0 0 1rem;border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:var(--grvst-radius,14px);background:#fff;color:#172033;box-shadow:var(--grvst-card-shadow,0 .35rem 1rem rgb(0 0 0/.12))}.grvst-interactive-showcase__panel[hidden]{display:none}.grvst-interactive-showcase__panel figure{margin:0;aspect-ratio:16/9;overflow:hidden}.grvst-interactive-showcase__panel figure img{display:block;width:100%;height:100%;object-fit:cover}.grvst-interactive-showcase__copy{padding:calc(1.4rem*var(--grvst-space,1))}.grvst-interactive-showcase__copy h3{margin:0}.grvst-interactive-showcase__copy p{color:var(--grvst-muted,#526174)}

.grvst-hero-stories{position:relative;padding:calc(clamp(2rem,4vw,4rem)*var(--grvst-space,1)) 1rem}.grvst-hero-stories__section-title,.grvst-hero-stories__section-lead{text-align:center}.grvst-hero-stories__section-lead{max-width:48rem;margin:.6rem auto 1.5rem}.grvst-hero-stories__viewport{position:relative;overflow:hidden;border-radius:var(--grvst-radius,14px);background:#111}.grvst-hero-stories__story{display:grid;min-height:clamp(340px,58vw,620px);align-items:end;padding:clamp(1.5rem,5vw,4rem);color:#fff;background:linear-gradient(0deg,rgb(0 0 0/.72),rgb(0 0 0/.15) 68%),var(--grvst-story-image,#10131a) center/cover}.grvst-hero-stories__story[hidden]{display:none}.grvst-hero-stories__content{max-width:48rem}.grvst-hero-stories__content h3{margin:.45rem 0;font-size:clamp(2rem,5vw,4.8rem)}.grvst-hero-stories__content p{max-width:42rem;font-size:clamp(1rem,1.8vw,1.25rem)}.grvst-hero-stories__controls{display:flex;justify-content:center;align-items:center;gap:.7rem;margin-top:1rem}.grvst-hero-stories__arrow,.grvst-hero-stories__dots button{appearance:none;border:1px solid color-mix(in srgb,currentColor 22%,transparent);background:#fff;color:#172033;cursor:pointer}.grvst-hero-stories__arrow{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%}.grvst-hero-stories__dots{display:flex;gap:.4rem}.grvst-hero-stories__dots button{width:.7rem;height:.7rem;padding:0;border-radius:50%}.grvst-hero-stories__dots button[aria-selected="true"]{background:var(--grvst-accent,#7c3cff);border-color:var(--grvst-accent,#7c3cff)}.grvst-hero-stories__arrow:focus-visible,.grvst-hero-stories__dots button:focus-visible{outline:3px solid color-mix(in srgb,var(--grvst-accent,#7c3cff) 45%,transparent);outline-offset:2px}.grvst-hero-stories--fade[data-grvst-enhanced="true"] .grvst-hero-stories__story{animation:grvst-story-fade .32s ease}.grvst-hero-stories--slide[data-grvst-enhanced="true"] .grvst-hero-stories__story{animation:grvst-story-slide .32s ease}@keyframes grvst-story-fade{from{opacity:.25}to{opacity:1}}@keyframes grvst-story-slide{from{opacity:.45;transform:translateX(2rem)}to{opacity:1;transform:none}}

@media(max-width:800px){.grvst-bento__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grvst-interactive-showcase__layout{grid-template-columns:1fr}.grvst-interactive-showcase__tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.grvst-bento__grid{grid-template-columns:1fr}.grvst-bento__cell--wide,.grvst-bento__cell--featured{grid-column:auto}.grvst-bento__cell--tall,.grvst-bento__cell--featured{grid-row:auto}.grvst-interactive-showcase__tabs{grid-template-columns:1fr}.grvst-hero-stories__story{min-height:360px;padding:1.3rem}.grvst-hero-stories__content h3{font-size:2.15rem}}@media(prefers-reduced-motion:reduce){.grvst-hero-stories--fade[data-grvst-enhanced="true"] .grvst-hero-stories__story,.grvst-hero-stories--slide[data-grvst-enhanced="true"] .grvst-hero-stories__story{animation:none}}

/* Modularis 0.9.24.1 Timeline presentation modes */
.grvst-timeline__scroller{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}.grvst-timeline__scroller:focus-visible{outline:3px solid color-mix(in srgb,var(--grvst-accent,#7c3cff) 42%,transparent);outline-offset:4px;border-radius:var(--grvst-radius,14px)}.grvst-timeline__meta{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.grvst-timeline__marker{display:grid;place-items:center;color:#fff;font-size:.72rem;font-weight:900}.grvst-timeline__marker i{font-size:.72rem}.grvst-timeline__list li.is-status-done .grvst-timeline__marker{box-shadow:none}.grvst-timeline__list li.is-status-active .grvst-timeline__marker{outline:4px solid color-mix(in srgb,var(--local-accent) 24%,transparent);box-shadow:0 0 24px var(--local-accent)}.grvst-timeline__list li.is-status-upcoming{opacity:.68}.grvst-timeline__list li.is-status-upcoming .grvst-timeline__marker{background:#657287;box-shadow:none}.grvst-timeline__list li.is-highlighted article{border-color:color-mix(in srgb,var(--local-accent) 56%,transparent);background:color-mix(in srgb,var(--local-accent) 10%,#0b1625)}
@media(min-width:761px){
.grvst-timeline--horizontal .grvst-timeline__list,.grvst-timeline--horizontal-compact .grvst-timeline__list,.grvst-timeline--progress .grvst-timeline__list{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:0;min-width:max(100%,calc(var(--grvst-timeline-count,4)*220px));max-width:none;padding:2.2rem 0 .5rem}.grvst-timeline--horizontal .grvst-timeline__list:before,.grvst-timeline--horizontal-compact .grvst-timeline__list:before,.grvst-timeline--progress .grvst-timeline__list:before{content:"";position:absolute;left:0;right:0;top:3.04rem;height:2px;background:color-mix(in srgb,var(--grvst-accent,#7c3cff) 28%,transparent)}.grvst-timeline--horizontal .grvst-timeline__list li,.grvst-timeline--horizontal-compact .grvst-timeline__list li,.grvst-timeline--progress .grvst-timeline__list li{display:grid;grid-template-columns:1fr;grid-template-rows:28px auto;gap:.9rem;padding:0 .55rem;min-width:0}.grvst-timeline--horizontal .grvst-timeline__list li:before,.grvst-timeline--horizontal-compact .grvst-timeline__list li:before,.grvst-timeline--progress .grvst-timeline__list li:before{display:none}.grvst-timeline--horizontal .grvst-timeline__marker,.grvst-timeline--horizontal-compact .grvst-timeline__marker,.grvst-timeline--progress .grvst-timeline__marker{z-index:2;justify-self:center;grid-row:1}.grvst-timeline--horizontal .grvst-timeline__list article,.grvst-timeline--horizontal-compact .grvst-timeline__list article,.grvst-timeline--progress .grvst-timeline__list article{grid-row:2;text-align:center}.grvst-timeline--horizontal .grvst-timeline__meta,.grvst-timeline--horizontal-compact .grvst-timeline__meta,.grvst-timeline--progress .grvst-timeline__meta{justify-content:center}.grvst-timeline--horizontal-compact .grvst-timeline__list{grid-auto-columns:minmax(155px,1fr)}.grvst-timeline--horizontal-compact .grvst-timeline__list article{padding:.65rem .7rem;border:0;background:transparent;box-shadow:none}.grvst-timeline--horizontal-compact .grvst-timeline__list p,.grvst-timeline--horizontal-compact .grvst-badge{display:none}.grvst-timeline--horizontal-compact .grvst-timeline h3{font-size:.98rem}.grvst-timeline--progress .grvst-timeline__list:before{height:5px;border-radius:999px;background:color-mix(in srgb,var(--grvst-accent,#7c3cff) 16%,#667085)}.grvst-timeline--progress .grvst-timeline__marker{border-width:5px}.grvst-timeline--progress .is-status-done .grvst-timeline__marker{background:var(--local-accent)}.grvst-timeline--progress .is-status-upcoming .grvst-timeline__marker{background:#667085}.grvst-timeline--milestones .grvst-timeline__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:none}.grvst-timeline--milestones .grvst-timeline__list li{display:grid;grid-template-columns:1fr;gap:.7rem;padding:0}.grvst-timeline--milestones .grvst-timeline__list li:before{display:none}.grvst-timeline--milestones .grvst-timeline__marker{width:42px;height:42px;border-width:6px}.grvst-timeline--milestones .grvst-timeline__list article{height:100%}
}
@media(max-width:760px){.grvst-timeline--horizontal .grvst-timeline__scroller,.grvst-timeline--horizontal-compact .grvst-timeline__scroller,.grvst-timeline--progress .grvst-timeline__scroller{overflow-x:visible}.grvst-timeline--milestones .grvst-timeline__list{display:block}.grvst-timeline--milestones .grvst-timeline__list li{display:grid;grid-template-columns:42px 1fr;gap:1rem;padding-bottom:1rem}.grvst-timeline--milestones .grvst-timeline__list li:not(:last-child):before{content:"";position:absolute;left:20px;top:38px;bottom:-4px;width:2px;background:color-mix(in srgb,var(--local-accent) 42%,transparent)}}



/* Modularis 0.9.25 Component Enrichment I: presentation-only variants */
.grvst-gallery--masonry .grvst-gallery__grid{display:grid;grid-template-columns:repeat(var(--grvst-gallery-columns,3),minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:clamp(190px,18vw,260px);gap:calc(1rem*var(--grvst-space,1))}.grvst-gallery--masonry .grvst-media{display:flex;min-width:0;height:100%;margin:0;overflow:hidden;flex-direction:column;border-radius:var(--grvst-radius,14px);background:color-mix(in srgb,currentColor 5%,transparent)}.grvst-gallery--masonry .grvst-media[hidden]{display:none}.grvst-gallery--masonry .grvst-media img{display:block;width:100%;min-height:0;flex:1 1 auto;object-fit:cover}.grvst-gallery--masonry .grvst-media figcaption{flex:0 0 auto;padding:.55rem .35rem .15rem}.grvst-gallery--masonry .grvst-media.is-mosaic-tall{grid-row:span 2}.grvst-gallery--masonry .grvst-media.is-mosaic-wide{grid-column:span 2}.grvst-gallery--masonry .grvst-media.is-mosaic-full{grid-column:1/-1}
.grvst-cards-layout--featured .grvst-cards-grid .is-featured-card{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr)}.grvst-cards-layout--featured .is-featured-card .grvst-visual-card__media{height:100%;min-height:280px}.grvst-cards-layout--featured .is-featured-card .grvst-visual-card__media img{height:100%;object-fit:cover}.grvst-cards-layout--featured .is-featured-card .grvst-visual-card__body{display:flex;flex-direction:column;justify-content:center}
.grvst-posts-layout--lead-grid .grvst-posts__grid .is-lead-post{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)}.grvst-posts-layout--lead-grid .is-lead-post .grvst-post-card__media{min-height:300px}.grvst-posts-layout--lead-grid .is-lead-post .grvst-post-card__media img{height:100%;object-fit:cover}.grvst-posts-layout--lead-grid .is-lead-post h3{font-size:clamp(1.55rem,3vw,2.5rem)}
.grvst-stats--focal .grvst-stats__grid .is-focal-stat{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);align-items:center;text-align:left;padding:clamp(1.4rem,4vw,2.7rem)}.grvst-stats--focal .is-focal-stat strong{grid-row:1/3;font-size:clamp(3.6rem,9vw,7rem);text-align:center}.grvst-stats--focal .is-focal-stat h3{font-size:clamp(1.4rem,2.5vw,2rem)}
.grvst-cta__inner{display:flex;flex-direction:column;align-items:center}.grvst-cta__copy h2{margin-bottom:.45rem}.grvst-cta__copy p{margin:.25rem 0}.grvst-cta--split{text-align:left}.grvst-cta--split .grvst-cta__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center}.grvst-cta--split .grvst-cta__action .grvst-button{margin-top:0;white-space:nowrap}.grvst-cta--banner{padding-block:calc(1.15rem*var(--grvst-space,1));background:color-mix(in srgb,var(--grvst-accent,#7c3cff) 9%,transparent)}.grvst-cta--banner .grvst-cta__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center;text-align:left}.grvst-cta--banner h2{font-size:clamp(1.25rem,2.5vw,1.8rem)}.grvst-cta--banner .grvst-button{margin-top:0}
.grvst-accordion__items{counter-reset:grvst-accordion}.grvst-accordion .grvst-details summary{display:flex;gap:.8rem;align-items:center;cursor:pointer}.grvst-accordion__index{display:none;flex:0 0 auto}.grvst-accordion--numbered .grvst-accordion__index{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:color-mix(in srgb,var(--grvst-accent,#7c3cff) 12%,#fff);color:var(--grvst-accent,#7c3cff);font-weight:800}.grvst-accordion--faq .grvst-details summary:before,.grvst-accordion--faq .grvst-accordion__answer:before{display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border-radius:50%;font-weight:900}.grvst-accordion--faq .grvst-details summary:before{content:"Q";background:var(--grvst-accent,#7c3cff);color:var(--grvst-on-accent,#fff)}.grvst-accordion--faq .grvst-accordion__answer{display:grid;grid-template-columns:2rem 1fr;gap:.8rem;align-items:start}.grvst-accordion--faq .grvst-accordion__answer:before{content:"A";background:color-mix(in srgb,var(--grvst-accent,#7c3cff) 12%,#fff);color:var(--grvst-accent,#7c3cff)}.grvst-accordion--faq .grvst-accordion__answer p{margin-top:.25rem}
.grvst-bento--balanced .grvst-bento__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grvst-bento--balanced .grvst-bento__cell--wide,.grvst-bento--balanced .grvst-bento__cell--featured{grid-column:span 2}.grvst-bento--mosaic .grvst-bento__grid>.grvst-bento__cell:first-child{grid-column:span 2;grid-row:span 2}.grvst-bento--mosaic .grvst-bento__grid>.grvst-bento__cell:nth-child(4n){grid-column:span 2}.grvst-bento--compact .grvst-bento__grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:calc(.65rem*var(--grvst-space,1))}.grvst-bento--compact .grvst-bento__cell{grid-column:span 2;grid-row:auto}.grvst-bento--compact .grvst-bento__cell--wide{grid-column:span 3}.grvst-bento--compact .grvst-bento__cell--featured{grid-column:span 4}.grvst-bento--compact .grvst-bento__body{padding:calc(.85rem*var(--grvst-space,1))}
.grvst-hero-height--full{min-height:100svh;min-height:100vh}
@supports(height:100svh){.grvst-hero-height--full{min-height:100svh}}
@media(max-width:900px){.grvst-gallery--masonry .grvst-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(180px,32vw,250px)}.grvst-gallery--masonry .grvst-media.is-mosaic-tall{grid-row:auto}.grvst-gallery--masonry .grvst-media.is-mosaic-wide,.grvst-gallery--masonry .grvst-media.is-mosaic-full{grid-column:1/-1}}
@media(max-width:760px){.grvst-gallery--masonry .grvst-gallery__grid{grid-template-columns:1fr;grid-auto-rows:auto}.grvst-gallery--masonry .grvst-media,.grvst-gallery--masonry .grvst-media.is-mosaic-tall,.grvst-gallery--masonry .grvst-media.is-mosaic-wide,.grvst-gallery--masonry .grvst-media.is-mosaic-full{grid-column:auto;grid-row:auto;height:auto}.grvst-gallery--masonry .grvst-media img{aspect-ratio:4/3;min-height:220px}.grvst-cards-layout--featured .grvst-cards-grid .is-featured-card,.grvst-posts-layout--lead-grid .grvst-posts__grid .is-lead-post,.grvst-stats--focal .grvst-stats__grid .is-focal-stat,.grvst-cta--split .grvst-cta__inner,.grvst-cta--banner .grvst-cta__inner{grid-template-columns:1fr}.grvst-cards-layout--featured .grvst-cards-grid .is-featured-card{grid-column:auto}.grvst-stats--focal .is-focal-stat strong{grid-row:auto;text-align:left}.grvst-cta--split,.grvst-cta--banner{text-align:center}.grvst-cta--split .grvst-cta__action .grvst-button,.grvst-cta--banner .grvst-button{margin-top:1rem}.grvst-bento--balanced .grvst-bento__grid,.grvst-bento--compact .grvst-bento__grid{grid-template-columns:1fr}.grvst-bento--balanced .grvst-bento__cell--wide,.grvst-bento--balanced .grvst-bento__cell--featured,.grvst-bento--compact .grvst-bento__cell,.grvst-bento--compact .grvst-bento__cell--wide,.grvst-bento--compact .grvst-bento__cell--featured,.grvst-bento--mosaic .grvst-bento__grid>.grvst-bento__cell:first-child,.grvst-bento--mosaic .grvst-bento__grid>.grvst-bento__cell:nth-child(4n){grid-column:auto;grid-row:auto}}


/* Modularis 0.9.25.1 Anchor Foundation + Page Jump */
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.grvst-page-jump{padding-block:calc(1.1rem*var(--grvst-space,1))}.grvst-page-jump__inner{display:flex}.grvst-page-jump--left .grvst-page-jump__inner{justify-content:flex-start}.grvst-page-jump--center .grvst-page-jump__inner{justify-content:center}.grvst-page-jump--right .grvst-page-jump__inner{justify-content:flex-end}.grvst-page-jump__link{display:inline-flex;align-items:center;gap:.65rem;color:var(--grvst-accent,#7c3cff);font-weight:800;text-decoration:none}.grvst-page-jump__icon{font-size:1.15em;line-height:1;transition:transform .18s ease}.grvst-page-jump__link:hover .grvst-page-jump__icon{transform:translateY(2px)}.grvst-page-jump--button .grvst-page-jump__link{padding:.72rem 1.05rem;border-radius:var(--grvst-radius,14px);background:var(--grvst-accent,#7c3cff);color:var(--grvst-on-accent,#fff);box-shadow:var(--grvst-card-shadow,0 .35rem 1rem rgb(0 0 0/.12))}.grvst-page-jump--line .grvst-page-jump__inner{display:grid;grid-template-columns:minmax(2rem,1fr) auto minmax(2rem,1fr);align-items:center;gap:1rem}.grvst-page-jump--line .grvst-page-jump__inner:before,.grvst-page-jump--line .grvst-page-jump__inner:after{content:"";height:1px;background:color-mix(in srgb,var(--grvst-accent,#7c3cff) 28%,transparent)}.grvst-page-jump__unavailable{opacity:.5;font-weight:700}
@media(prefers-reduced-motion:reduce){.grvst-page-jump__icon{transition:none}.grvst-page-jump__link:hover .grvst-page-jump__icon{transform:none}}

.grvst-page-jump--minimal .grvst-page-jump__link{background:transparent}


/* Modularis 0.9.25.2 content discovery wave */
/* Modularis 0.9.26.1 shared section-heading hierarchy */
.grvst-empty{color:var(--grvst-muted,#6b7280)}
.grvst-logo-cloud__viewport{overflow:hidden}.grvst-logo-cloud__track,.grvst-logo-cloud__set{display:flex;align-items:center}.grvst-logo-cloud__track{gap:clamp(1rem,3vw,2.5rem)}.grvst-logo-cloud__set{flex:1 0 auto;justify-content:center;gap:clamp(1rem,3vw,2.5rem)}.grvst-logo-cloud__item{display:flex;align-items:center;justify-content:center;min-width:110px;min-height:64px;padding:.65rem 1rem;color:inherit;text-decoration:none}.grvst-logo-cloud__logo{display:grid;place-items:center;gap:.35rem}.grvst-logo-cloud__logo img{display:block;max-width:150px;max-height:52px;width:auto;height:auto;object-fit:contain;filter:grayscale(.15)}.grvst-logo-cloud__name{font-size:.78rem;color:var(--grvst-muted,#6b7280)}.grvst-logo-cloud--grid .grvst-logo-cloud__set{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));width:100%}.grvst-logo-cloud--compact .grvst-logo-cloud__item{min-width:84px;padding:.3rem .55rem}.grvst-logo-cloud--compact .grvst-logo-cloud__logo img{max-width:110px;max-height:38px}.grvst-logo-cloud--marquee .grvst-logo-cloud__track{width:max-content;animation:grvst-logo-marquee 28s linear infinite}.grvst-logo-cloud--marquee:hover .grvst-logo-cloud__track{animation-play-state:paused}@keyframes grvst-logo-marquee{to{transform:translateX(calc(-50% - 1.25rem))}}
.grvst-taxonomy-cloud__items{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.grvst-taxonomy-cloud__term{display:inline-flex;align-items:center;gap:.4rem;color:inherit;text-decoration:none}.grvst-taxonomy-cloud__term small{opacity:.65}.grvst-taxonomy-cloud--pills .grvst-taxonomy-cloud__term{padding:.48rem .8rem;border:1px solid color-mix(in srgb,var(--grvst-accent,#7c3cff) 24%,transparent);border-radius:999px;background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 7%,transparent))}.grvst-taxonomy-cloud--cloud .grvst-taxonomy-cloud__term{font-size:calc(.82rem * var(--grvst-tax-weight,1));font-weight:650}.grvst-taxonomy-cloud--list .grvst-taxonomy-cloud__items{display:grid;gap:0}.grvst-taxonomy-cloud--list .grvst-taxonomy-cloud__term{justify-content:space-between;padding:.65rem 0;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.grvst-archive__years{display:grid;gap:1.4rem}.grvst-archive__year{display:grid;grid-template-columns:minmax(5rem,.25fr) 1fr;gap:1rem}.grvst-archive__year h3{margin:0;font-size:clamp(1.4rem,3vw,2.4rem)}.grvst-archive__months{display:grid;gap:0}.grvst-archive__month{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)}.grvst-archive__month span{color:var(--grvst-muted,#6b7280)}.grvst-archive--compact .grvst-archive__years{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grvst-archive--compact .grvst-archive__year{grid-template-columns:1fr}
.grvst-events__items{display:grid;gap:1rem}.grvst-event{display:grid;grid-template-columns:72px 1fr;gap:1rem;padding:1rem;border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:var(--grvst-radius,14px);background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 3%,transparent))}.grvst-event.has-media{grid-template-columns:minmax(150px,200px) 72px minmax(0,1fr);align-items:stretch}.grvst-event__media{margin:0;overflow:hidden;border-radius:calc(var(--grvst-radius,14px)*.7);background:#0d1520}.grvst-event__media img{display:block;width:100%;height:100%;min-height:128px;object-fit:cover}.grvst-event__date{display:grid;place-content:center;text-align:center;border-right:1px solid color-mix(in srgb,currentColor 12%,transparent)}.grvst-event__date strong{font-size:1.7rem;line-height:1}.grvst-event__date span{text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}.grvst-event__body h3{margin:0 0 .35rem}.grvst-event__body h3 a{color:inherit;text-decoration:none}.grvst-event__meta{display:flex;gap:.65rem;flex-wrap:wrap;color:var(--grvst-muted,#6b7280);font-size:.82rem}.grvst-event__body p{margin:.7rem 0 0}.grvst-events--cards .grvst-events__items{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grvst-events--cards .grvst-event,.grvst-events--cards .grvst-event.has-media{grid-template-columns:1fr}.grvst-events--cards .grvst-event__media{aspect-ratio:16/9}.grvst-events--cards .grvst-event__media img{min-height:0;aspect-ratio:16/9}.grvst-events--cards .grvst-event__date{justify-content:start;grid-auto-flow:column;gap:.4rem;border-right:0;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent);padding-bottom:.65rem}.grvst-events--compact .grvst-event{grid-template-columns:56px 1fr;padding:.65rem}.grvst-events--compact .grvst-event__date strong{font-size:1.25rem}
@media(max-width:640px){.grvst-archive__year{grid-template-columns:1fr}.grvst-event,.grvst-event.has-media{grid-template-columns:58px 1fr}.grvst-event.has-media .grvst-event__media{grid-column:1/-1;aspect-ratio:16/9}.grvst-logo-cloud--marquee .grvst-logo-cloud__track{animation-duration:22s}}@media(prefers-reduced-motion:reduce){.grvst-logo-cloud--marquee .grvst-logo-cloud__track{animation:none;transform:none}.grvst-logo-cloud--marquee .grvst-logo-cloud__set[aria-hidden="true"]{display:none}}


/* Modularis 0.9.26.1 Component Wave III */
.grvst-tabs__list{display:flex;gap:.45rem;flex-wrap:wrap;margin:0 0 calc(1rem*var(--grvst-space,1));border-bottom:1px solid color-mix(in srgb,currentColor 16%,transparent)}
.grvst-tabs__tab{appearance:none;padding:.78rem 1rem;border:1px solid transparent;border-radius:calc(var(--grvst-radius,14px)/1.5) calc(var(--grvst-radius,14px)/1.5) 0 0;background:transparent;color:inherit;font:inherit;font-weight:750;cursor:pointer}
.grvst-tabs__tab[aria-selected="true"]{border-color:color-mix(in srgb,var(--grvst-accent,#7c3cff) 35%,transparent);background:color-mix(in srgb,var(--grvst-accent,#7c3cff) 9%,transparent);color:var(--grvst-accent,#7c3cff)}
.grvst-tabs__tab:focus-visible{outline:3px solid color-mix(in srgb,var(--grvst-accent,#7c3cff) 42%,transparent);outline-offset:2px}
.grvst-tabs--pills .grvst-tabs__list{border:0}.grvst-tabs--pills .grvst-tabs__tab{border-radius:999px}.grvst-tabs--pills .grvst-tabs__tab[aria-selected="true"]{background:var(--grvst-accent,#7c3cff);color:#fff}
.grvst-tabs--underline .grvst-tabs__tab{border:0;border-bottom:3px solid transparent;border-radius:0}.grvst-tabs--underline .grvst-tabs__tab[aria-selected="true"]{border-bottom-color:var(--grvst-accent,#7c3cff);background:transparent}
.grvst-tabs__panel{display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:var(--grvst-radius,14px);background:var(--grvst-surface,#fff);color:var(--grvst-text,#172033);box-shadow:var(--grvst-card-shadow,0 .35rem 1rem rgb(0 0 0/.1))}
.grvst-tabs__panel[hidden]{display:none}.grvst-tabs__panel figure{margin:0;aspect-ratio:16/7;overflow:hidden}.grvst-tabs__panel figure img{display:block;width:100%;height:100%;object-fit:cover}.grvst-tabs__copy{padding:calc(1.35rem*var(--grvst-space,1))}.grvst-tabs__copy h3{margin-top:0}
.grvst-pricing__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:calc(1rem*var(--grvst-space,1));align-items:stretch}.grvst-pricing__plan{position:relative;display:flex;flex-direction:column;padding:calc(1.4rem*var(--grvst-space,1));border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:var(--grvst-radius,14px);background:var(--grvst-surface,#fff);color:var(--grvst-text,#172033);box-shadow:var(--grvst-card-shadow,0 .35rem 1rem rgb(0 0 0/.1))}.grvst-pricing__plan.is-featured{border:2px solid var(--grvst-accent,#7c3cff);transform:translateY(-.35rem)}.grvst-pricing__badge{position:absolute;top:.8rem;right:.8rem;padding:.24rem .55rem;border-radius:999px;background:var(--grvst-accent,#7c3cff);color:#fff;font-size:.72rem;font-weight:800}.grvst-pricing__plan h3{margin:.2rem 0}.grvst-pricing__price{display:flex;align-items:baseline;gap:.35rem;margin:.7rem 0}.grvst-pricing__price strong{font-size:clamp(2rem,4vw,3.25rem);color:var(--grvst-accent,#7c3cff)}.grvst-pricing__price span,.grvst-pricing__description{color:var(--grvst-muted,#617087)}.grvst-pricing__features{display:grid;gap:.55rem;margin:1rem 0 1.25rem;padding:0;list-style:none}.grvst-pricing__features li:before{content:"✓";margin-right:.5rem;color:var(--grvst-accent,#7c3cff);font-weight:900}.grvst-pricing__plan .grvst-button{margin-top:auto;align-self:flex-start}.grvst-pricing--compact .grvst-pricing__plan{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(140px,.6fr) minmax(0,1.6fr) auto;gap:1rem;align-items:center}.grvst-pricing--compact .grvst-pricing__features{margin:.3rem 0}.grvst-pricing--compact .grvst-pricing__description{display:none}.grvst-pricing--comparison .grvst-pricing__grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0}.grvst-pricing--comparison .grvst-pricing__plan{border-radius:0;box-shadow:none}.grvst-pricing--comparison .grvst-pricing__plan:first-child{border-radius:var(--grvst-radius,14px) 0 0 var(--grvst-radius,14px)}.grvst-pricing--comparison .grvst-pricing__plan:last-child{border-radius:0 var(--grvst-radius,14px) var(--grvst-radius,14px) 0}
.grvst-gallery__filters{display:none;justify-content:center;gap:.45rem;flex-wrap:wrap;margin:0 0 1.2rem}.grvst-gallery[data-grvst-enhanced="true"] .grvst-gallery__filters{display:flex}.grvst-gallery__filters button{appearance:none;padding:.5rem .8rem;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:999px;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}.grvst-gallery__filters button.is-active{border-color:var(--grvst-accent,#7c3cff);background:var(--grvst-accent,#7c3cff);color:#fff}.grvst-gallery [data-grvst-gallery-item][hidden]{display:none!important}
.grvst-stats--counter .grvst-stats__value{font-variant-numeric:tabular-nums}.grvst-stats--progress .grvst-stats__grid{grid-template-columns:1fr}.grvst-stats--progress .grvst-stats__grid article{text-align:left}.grvst-stats__progress-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.grvst-stats__progress-heading h3{margin:0}.grvst-stats__progress-heading strong{font-size:1.15rem}.grvst-stats--progress progress{appearance:none;width:100%;height:.75rem;margin:.75rem 0;border:0;border-radius:999px;overflow:hidden;background:color-mix(in srgb,currentColor 10%,transparent)}.grvst-stats--progress progress::-webkit-progress-bar{background:color-mix(in srgb,currentColor 10%,transparent)}.grvst-stats--progress progress::-webkit-progress-value{background:var(--local-accent)}.grvst-stats--progress progress::-moz-progress-bar{background:var(--local-accent)}
@media(max-width:760px){.grvst-pricing--compact .grvst-pricing__plan{grid-template-columns:1fr}.grvst-pricing--comparison .grvst-pricing__grid{gap:1rem}.grvst-pricing--comparison .grvst-pricing__plan,.grvst-pricing--comparison .grvst-pricing__plan:first-child,.grvst-pricing--comparison .grvst-pricing__plan:last-child{border-radius:var(--grvst-radius,14px)}}
@media(prefers-reduced-motion:reduce){.grvst-pricing__plan.is-featured{transform:none}}

/* Modularis 0.9.26.1 Cards Testimonials */
.grvst-cards-layout--testimonials .grvst-cards-grid{align-items:stretch}
.grvst-cards-layout--testimonials .grvst-visual-card{display:grid;grid-template-columns:minmax(0,5.25rem) 1fr;align-items:stretch}
.grvst-cards-layout--testimonials .grvst-visual-card__media{height:auto;min-height:100%;aspect-ratio:auto}
.grvst-cards-layout--testimonials .grvst-visual-card__media img{width:100%;height:100%;object-fit:cover}
.grvst-cards-layout--testimonials .grvst-visual-card__placeholder{min-height:100%;background:linear-gradient(145deg,color-mix(in srgb,var(--card-accent) 28%,#17273b),#091421)}
.grvst-cards-layout--testimonials .grvst-visual-card__body{justify-content:space-between;padding:1.15rem 1.2rem}
.grvst-testimonial__quote{position:relative;margin:0;padding:.1rem 0 0;border:0}
.grvst-testimonial__quote::before{content:"“";display:block;height:.8em;margin:0 0 .2rem;color:var(--card-accent);font:800 2.7rem/1 var(--grvst-head,var(--grvst-body,inherit));opacity:.9}
.grvst-testimonial__quote p{margin:.2rem 0 1.05rem;color:inherit;font-size:1rem;line-height:1.65}
.grvst-testimonial__person h3{margin:0;font-size:.98rem}
.grvst-testimonial__role{display:block;margin-top:.22rem;color:var(--grvst-card-muted);font-size:.8rem;line-height:1.35}
.grvst-cards-section--clean .grvst-testimonial__role{color:var(--grvst-muted,#647286)}
@media(max-width:760px){.grvst-cards-layout--testimonials .grvst-visual-card{grid-template-columns:4rem 1fr}}




/* Modularis 0.9.26.4 Component Showcase hardening */
.grvst-showcase-index{width:min(var(--grvst-container-standard,1320px),calc(100% - (2 * var(--grvst-page-gutter,1rem))));margin:1.35rem auto 2rem;padding:1rem 1.15rem;border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:var(--grvst-radius,12px);background:color-mix(in srgb,currentColor 3%,transparent)}
.grvst-showcase-index>strong{display:block;margin-bottom:.7rem;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grvst-accent,#7c3cff)}
.grvst-showcase-index nav{display:flex;flex-wrap:wrap;gap:.45rem}.grvst-showcase-index a{display:inline-flex;padding:.42rem .66rem;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:999px;color:inherit;text-decoration:none;font-size:.88rem;background:color-mix(in srgb,currentColor 2%,transparent)}.grvst-showcase-index a:hover,.grvst-showcase-index a:focus-visible{border-color:var(--grvst-accent,#7c3cff);color:var(--grvst-accent,#7c3cff)}
.grvst-showcase-section{position:relative;margin:0;padding-block:clamp(3.25rem,6vw,5.6rem);border-top:1px solid color-mix(in srgb,currentColor 10%,transparent)}
.grvst-showcase-section:nth-of-type(even){background:color-mix(in srgb,currentColor 2.2%,transparent)}
.grvst-showcase-section>.grvst-wrap{width:min(calc(100% - (2 * var(--grvst-page-gutter,1rem))),var(--grvst-section-container-max,var(--grvst-container-standard,1320px)));margin-inline:auto}
.grvst-showcase-meta{width:min(var(--grvst-container-standard,1320px),calc(100% - (2 * var(--grvst-page-gutter,1rem))));margin:0 auto clamp(2rem,4vw,3rem);padding:0 0 1.05rem;border-bottom:1px solid color-mix(in srgb,currentColor 13%,transparent);text-align:left}
.grvst-showcase-meta__eyebrow{display:block;margin-bottom:.55rem;color:var(--grvst-accent,#7c3cff);font:800 .72rem/1.2 var(--grvst-body,inherit);letter-spacing:.14em;text-transform:uppercase}
.grvst-showcase-meta__title-row{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap}.grvst-showcase-meta h2{margin:0;font-size:clamp(1.65rem,2.6vw,2.45rem);line-height:1.05;letter-spacing:-.025em}.grvst-showcase-meta__variant{display:inline-flex;padding:.28rem .55rem;border:1px solid color-mix(in srgb,var(--grvst-accent,#7c3cff) 28%,transparent);border-radius:999px;color:var(--grvst-accent,#7c3cff);font-size:.78rem;font-weight:800}.grvst-showcase-meta p{max-width:48rem;margin:.6rem 0 0;color:color-mix(in srgb,currentColor 68%,transparent);font-size:.96rem;line-height:1.55}
/* Showcase stages inherit the same Responsive Container System as live sections. */
/* Extreme page-level layouts are previewed, not allowed to dominate the catalog. */
.grvst-showcase-section.grvst-hero-height--full{min-height:min(68svh,700px);padding-block:clamp(2.5rem,5vw,4.5rem)}
@supports not (height:100svh){.grvst-showcase-section.grvst-hero-height--full{min-height:min(68vh,700px)}}
.grvst-showcase-section.grvst-hero .grvst-hero__content{max-width:820px}.grvst-showcase-section.grvst-hero h1{font-size:clamp(2.25rem,5vw,4.7rem)}
/* Readability checks for compact/data-oriented components in catalog context. */
.grvst-showcase-section.grvst-logo-cloud .grvst-logo-cloud__item{min-height:82px}.grvst-showcase-section.grvst-logo-cloud .grvst-logo-cloud__logo img{max-width:170px;max-height:60px}.grvst-showcase-section.grvst-logo-cloud .grvst-logo-cloud__name{font-size:.88rem}
.grvst-showcase-section.grvst-taxonomy-cloud .grvst-taxonomy-cloud__term{font-size:1rem}.grvst-showcase-section.grvst-archive .grvst-archive__month{font-size:1rem;padding:.68rem 0}.grvst-showcase-section.grvst-archive .grvst-archive__year h3{font-size:clamp(1.65rem,3vw,2.5rem)}
.grvst-showcase-section.grvst-timeline--progress .grvst-timeline__list{grid-auto-columns:minmax(245px,1fr)}.grvst-showcase-section.grvst-timeline--progress .grvst-timeline__list article{padding:1rem 1.1rem}.grvst-showcase-section.grvst-timeline--progress .grvst-timeline h3{font-size:1.08rem}
.grvst-showcase-section.grvst-tabs .grvst-tabs__tab{font-size:.96rem}
@media(max-width:760px){.grvst-showcase-index{width:calc(100% - 1.25rem)}.grvst-showcase-section{padding-block:2.75rem}.grvst-showcase-section>.grvst-wrap,.grvst-showcase-meta{width:calc(100% - 1.25rem)}.grvst-showcase-meta{margin-bottom:2rem}.grvst-showcase-section.grvst-hero-height--full{min-height:0}.grvst-showcase-section.grvst-hero h1{font-size:clamp(2rem,10vw,3.2rem)}}

/* Modularis 0.9.26.4 Component Showcase variant grouping + typography hardening. */
.grvst-showcase-section{border-top:0;padding-block:clamp(2rem,4vw,3.4rem);background:transparent}
.grvst-showcase-section:has(.grvst-showcase-group-header){margin-top:clamp(2.8rem,7vw,6.5rem);padding-top:clamp(3rem,6vw,5rem);border-top:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.grvst-showcase-section:first-of-type:has(.grvst-showcase-group-header){margin-top:0}
.grvst-showcase-meta{margin-bottom:clamp(1.4rem,3vw,2.3rem);padding-bottom:.8rem;border-bottom:0}
.grvst-showcase-meta.grvst-showcase-group-header{margin-bottom:clamp(1.8rem,4vw,3rem);padding-bottom:1.15rem;border-bottom:1px solid color-mix(in srgb,currentColor 15%,transparent)}
.grvst-showcase-meta__component{margin:0;font-family:var(--grvst-head,inherit);font-size:clamp(2rem,3.3vw,3.2rem);font-weight:800;line-height:1.02;letter-spacing:-.035em}
.grvst-showcase-meta__variant-title{margin:0;font-family:var(--grvst-head,inherit);font-size:clamp(1.25rem,2vw,1.65rem);font-weight:750;line-height:1.15}
.grvst-showcase-meta__title-row{margin-top:.65rem}
.grvst-showcase-meta p{font-family:var(--grvst-body,inherit)}
.grvst-showcase-section,.grvst-showcase-section *{font-family:var(--grvst-body,inherit)}
.grvst-showcase-section h1,.grvst-showcase-section h2,.grvst-showcase-section h3,.grvst-showcase-section h4,.grvst-showcase-section h5,.grvst-showcase-section h6{font-family:var(--grvst-head,var(--grvst-body,inherit))}
.grvst-showcase-section .grvst-showcase-meta__eyebrow,.grvst-showcase-section .grvst-showcase-meta__variant{font-family:var(--grvst-body,inherit)}
/* Keep Bento demo cells visually complete even when a cell has intentionally sparse content. */
.grvst-showcase-section.grvst-bento .grvst-bento__cell{min-height:11rem}
.grvst-showcase-section.grvst-bento .grvst-bento__cell:empty::after{content:'Bento cell';display:grid;place-items:center;min-height:8rem;border:1px dashed color-mix(in srgb,currentColor 24%,transparent);border-radius:inherit;color:color-mix(in srgb,currentColor 56%,transparent);font-size:.85rem}
/* The full viewport contract is preserved on real pages, but previewed compactly in Showcase. */
.grvst-showcase-section.grvst-hero-height--full{min-height:min(68svh,700px)}
@media(max-width:760px){.grvst-showcase-section:has(.grvst-showcase-group-header){margin-top:2.5rem;padding-top:2.75rem}.grvst-showcase-section{padding-block:1.8rem}}

/* Modularis 0.9.28.1 Showcase Content Differentiation */
.grvst-pricing__plan{min-width:0}.grvst-pricing__plan h3{min-height:1.5em}.grvst-pricing__price{min-height:4.25rem}.grvst-pricing__description{min-height:3.2em}.grvst-pricing__features{align-content:start}.grvst-pricing__plan .grvst-button{justify-self:start}
.grvst-pricing--cards .grvst-pricing__plan,.grvst-pricing--comparison .grvst-pricing__plan{height:100%}
.grvst-pricing--comparison .grvst-pricing__grid{align-items:stretch}.grvst-pricing--comparison .grvst-pricing__plan.is-featured{z-index:1}
.grvst-pricing--compact .grvst-pricing__grid{grid-template-columns:1fr;gap:.7rem}.grvst-pricing--compact .grvst-pricing__plan{grid-template-columns:minmax(8rem,.65fr) minmax(9rem,.55fr) minmax(16rem,1.5fr) auto;align-items:center;transform:none}.grvst-pricing--compact .grvst-pricing__plan h3,.grvst-pricing--compact .grvst-pricing__price,.grvst-pricing--compact .grvst-pricing__features{min-height:0;margin:0}.grvst-pricing--compact .grvst-pricing__price strong{font-size:clamp(1.55rem,2.5vw,2.25rem)}.grvst-pricing--compact .grvst-pricing__badge{position:static;grid-column:1/-1;justify-self:start;margin-bottom:-.35rem}.grvst-pricing--compact .grvst-pricing__plan .grvst-button{margin-top:0;white-space:nowrap}
@media(max-width:900px){.grvst-pricing--compact .grvst-pricing__plan{grid-template-columns:1fr 1fr}.grvst-pricing--compact .grvst-pricing__features{grid-column:1/-1}.grvst-pricing--compact .grvst-pricing__plan .grvst-button{justify-self:start}}
@media(max-width:620px){.grvst-pricing--compact .grvst-pricing__plan{grid-template-columns:1fr}.grvst-pricing--compact .grvst-pricing__features,.grvst-pricing--compact .grvst-pricing__badge{grid-column:auto}.grvst-pricing__price,.grvst-pricing__description,.grvst-pricing__plan h3{min-height:0}}

/* Modularis 0.9.28.1 Showcase Content Differentiation */
.grvst-pricing__plan{min-width:0}.grvst-pricing__plan h3{min-height:1.5em}.grvst-pricing__price{min-height:4.25rem}.grvst-pricing__description{min-height:3.2em}.grvst-pricing__features{align-content:start}.grvst-pricing__plan .grvst-button{justify-self:start}
.grvst-pricing--cards .grvst-pricing__plan,.grvst-pricing--comparison .grvst-pricing__plan{height:100%}
.grvst-pricing--comparison .grvst-pricing__grid{align-items:stretch}.grvst-pricing--comparison .grvst-pricing__plan.is-featured{z-index:1}
.grvst-pricing--compact .grvst-pricing__grid{grid-template-columns:1fr;gap:.7rem}.grvst-pricing--compact .grvst-pricing__plan{grid-template-columns:minmax(8rem,.65fr) minmax(9rem,.55fr) minmax(16rem,1.5fr) auto;align-items:center;transform:none}.grvst-pricing--compact .grvst-pricing__plan h3,.grvst-pricing--compact .grvst-pricing__price,.grvst-pricing--compact .grvst-pricing__features{min-height:0;margin:0}.grvst-pricing--compact .grvst-pricing__price strong{font-size:clamp(1.55rem,2.5vw,2.25rem)}.grvst-pricing--compact .grvst-pricing__badge{position:static;grid-column:1/-1;justify-self:start;margin-bottom:-.35rem}.grvst-pricing--compact .grvst-pricing__plan .grvst-button{margin-top:0;white-space:nowrap}
@media(max-width:900px){.grvst-pricing--compact .grvst-pricing__plan{grid-template-columns:1fr 1fr}.grvst-pricing--compact .grvst-pricing__features{grid-column:1/-1}.grvst-pricing--compact .grvst-pricing__plan .grvst-button{justify-self:start}}
@media(max-width:620px){.grvst-pricing--compact .grvst-pricing__plan{grid-template-columns:1fr}.grvst-pricing--compact .grvst-pricing__features,.grvst-pricing--compact .grvst-pricing__badge{grid-column:auto}.grvst-pricing__price,.grvst-pricing__description,.grvst-pricing__plan h3{min-height:0}}

/* Modularis 0.9.28.1 Pricing + Showcase quality fixes */
.grvst-pricing--comparison .grvst-pricing__plan.is-featured{transform:none;border-width:2px}
.grvst-pricing--compact .grvst-pricing__plan{grid-template-columns:minmax(8rem,.65fr) minmax(8.5rem,.55fr) minmax(0,1.5fr) max-content;grid-template-areas:"name price features cta";column-gap:1.25rem;row-gap:.45rem}
.grvst-pricing--compact .grvst-pricing__plan h3{grid-area:name;margin:0;align-self:center}
.grvst-pricing--compact .grvst-pricing__price{grid-area:price;margin:0;align-self:center;white-space:nowrap}
.grvst-pricing--compact .grvst-pricing__features{grid-area:features;margin:0;align-self:center;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}
.grvst-pricing--compact .grvst-pricing__plan .grvst-button{grid-area:cta;margin:0;align-self:center;white-space:nowrap}
.grvst-pricing--compact .grvst-pricing__badge{position:absolute;top:.55rem;right:.7rem;max-width:calc(100% - 1.4rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.grvst-showcase-section.grvst-logo-cloud--grid .grvst-logo-cloud__item{min-width:150px;border:1px solid color-mix(in srgb,currentColor 10%,transparent);border-radius:calc(var(--grvst-radius,14px)*.8);background:color-mix(in srgb,var(--grvst-accent,#7c3cff) 5%,#0b1625)}
.grvst-showcase-section.grvst-logo-cloud--grid .grvst-logo-cloud__logo img{width:min(190px,100%);max-width:190px;max-height:68px;filter:none}
.grvst-showcase-section.grvst-logo-cloud .grvst-logo-cloud__name{font-size:.92rem;font-weight:650}
.grvst-showcase-section.grvst-taxonomy-cloud--cloud .grvst-taxonomy-cloud__term{font-size:calc(.95rem * var(--grvst-tax-weight,1));line-height:1.2}
@media(max-width:900px){.grvst-pricing--compact .grvst-pricing__plan{grid-template-columns:1fr 1fr;grid-template-areas:"name price" "features features" "cta cta"}.grvst-pricing--compact .grvst-pricing__features{grid-template-columns:1fr 1fr}.grvst-pricing--compact .grvst-pricing__badge{position:static;grid-column:1/-1;grid-row:1;justify-self:start;margin:0 0 .35rem}.grvst-pricing--compact .grvst-pricing__plan{padding-top:1.4rem}}
@media(max-width:620px){.grvst-pricing--compact .grvst-pricing__plan{grid-template-columns:1fr;grid-template-areas:"name" "price" "features" "cta"}.grvst-pricing--compact .grvst-pricing__features{grid-template-columns:1fr}}


/* Modularis 0.9.28.1 Showcase Differentiation + Layout Discipline */
.grvst-accordion .grvst-details{padding:0;overflow:hidden}
.grvst-accordion .grvst-details summary{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) 2rem;gap:.8rem;align-items:center;min-height:3.5rem;padding:1rem 1.15rem;cursor:pointer;list-style:none;transition:background .16s ease,border-color .16s ease}
.grvst-accordion .grvst-details summary::-webkit-details-marker{display:none}
.grvst-accordion .grvst-details summary::marker{content:""}
.grvst-accordion .grvst-details summary:hover,.grvst-accordion .grvst-details summary:focus-visible{background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 6%,transparent))}
.grvst-accordion .grvst-details summary:focus-visible{outline:2px solid var(--grvst-accent,#7c3cff);outline-offset:-2px}
.grvst-accordion__question{min-width:0;font-weight:800}
.grvst-accordion__disclosure{position:relative;display:grid;place-items:center;width:2rem;height:2rem;margin-left:auto;border:1px solid color-mix(in srgb,var(--grvst-accent,#7c3cff) 34%,transparent);border-radius:50%;background:color-mix(in srgb,var(--grvst-accent,#7c3cff) 7%,transparent)}
.grvst-accordion__disclosure::before,.grvst-accordion__disclosure::after{content:"";position:absolute;width:.72rem;height:2px;border-radius:999px;background:var(--grvst-accent,#7c3cff);transition:transform .18s ease}
.grvst-accordion__disclosure::after{transform:rotate(90deg)}
.grvst-details[open] .grvst-accordion__disclosure::after{transform:rotate(0deg)}
.grvst-accordion__answer{padding:0 1.15rem 1.15rem 4rem}
.grvst-accordion--faq .grvst-accordion__answer{padding-left:1.15rem}
.grvst-accordion--numbered .grvst-accordion__answer{padding-left:4rem}
@media(prefers-reduced-motion:reduce){.grvst-accordion__disclosure::before,.grvst-accordion__disclosure::after{transition:none}}

.grvst-stats--counter .grvst-stats__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid color-mix(in srgb,currentColor 14%,transparent);border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.grvst-stats--counter .grvst-stats__grid article{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"value title" "value text";column-gap:1.15rem;align-items:center;padding:1.35rem 1rem;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:left}
.grvst-stats--counter .grvst-stats__grid article:nth-child(odd){border-right:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.grvst-stats--counter .grvst-stats__grid article:nth-child(-n+2){border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.grvst-stats--counter .grvst-stats__value{grid-area:value;min-width:3.3ch;font-size:clamp(3.35rem,7vw,6rem);line-height:.85}
.grvst-stats--counter .grvst-stats__grid h3{grid-area:title;margin:0 0 .2rem}
.grvst-stats--counter .grvst-stats__grid p{grid-area:text;margin:0}
@media(max-width:760px){.grvst-stats--counter .grvst-stats__grid{grid-template-columns:1fr}.grvst-stats--counter .grvst-stats__grid article:nth-child(odd){border-right:0}.grvst-stats--counter .grvst-stats__grid article{border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)}.grvst-stats--counter .grvst-stats__grid article:last-child{border-bottom:0}}

.grvst-features--classic .grvst-feature-grid,.grvst-features--cards .grvst-feature-grid{align-items:stretch}
.grvst-features--classic .grvst-feature,.grvst-features--cards .grvst-feature{height:100%}
.grvst-features--highlight .grvst-feature-grid{grid-auto-flow:row dense}
.grvst-features--highlight .grvst-feature{height:100%}

.grvst-cards-layout--featured .grvst-cards-grid{align-items:stretch}
.grvst-cards-layout--featured .grvst-cards-grid .is-featured-card{overflow:hidden;min-width:0}
.grvst-cards-layout--featured .is-featured-card .grvst-visual-card__media{min-width:0;overflow:hidden}
.grvst-cards-layout--featured .is-featured-card .grvst-visual-card__body{position:relative;z-index:1;min-width:0;padding:clamp(1.15rem,2vw,1.65rem);background:inherit}
.grvst-cards-layout--featured .is-featured-card .grvst-visual-card__body>*{max-width:100%;overflow-wrap:anywhere}

.grvst-cta--split .grvst-cta__inner{padding:clamp(1.4rem,3vw,2.3rem);border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:var(--grvst-radius,14px);background:var(--grvst-surface,#fff);color:var(--grvst-text,#172033);box-shadow:var(--grvst-card-shadow,0 .35rem 1rem rgb(0 0 0/.08))}
.grvst-cta--banner{border-block:1px solid color-mix(in srgb,var(--grvst-accent,#7c3cff) 18%,transparent)}
.grvst-cta--banner .grvst-wrap{width:min(100%,1320px)}
.grvst-cta--banner .grvst-cta__inner{padding-inline:clamp(.5rem,2vw,1.5rem)}

.grvst-bento--auto .grvst-bento__grid,.grvst-bento--mosaic .grvst-bento__grid{grid-auto-flow:dense}
.grvst-bento--compact .grvst-bento__cell{min-height:8.5rem}
.grvst-bento--compact .grvst-bento__cell--tall{grid-column:span 2}
.grvst-bento--compact .grvst-bento__cell--featured{grid-column:span 3}

.grvst-posts-layout--lead-grid .grvst-posts__grid{grid-auto-flow:row dense}

.grvst-archive__years{gap:1.75rem}
.grvst-archive__year{min-width:0}
.grvst-archive__year-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.grvst-archive__year-head h3{margin:0}
.grvst-archive__year-total{color:var(--grvst-muted,#6b7280);font-size:.82rem}
.grvst-archive__month{min-width:0}
.grvst-archive__month.is-empty{opacity:.35}
.grvst-archive--year-bands .grvst-archive__year{display:block;padding:1.1rem 0;border-top:1px solid color-mix(in srgb,currentColor 15%,transparent)}
.grvst-archive--year-bands .grvst-archive__months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.35rem;margin-top:.9rem}
.grvst-archive--year-bands .grvst-archive__month{display:grid;place-items:center;gap:.2rem;min-height:4.5rem;padding:.55rem .25rem;border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:calc(var(--grvst-radius,14px)*.65);text-align:center}
.grvst-archive--year-bands .grvst-archive__month time{font-size:.75rem;font-weight:750;text-transform:uppercase}
.grvst-archive--year-bands .grvst-archive__month span{font-size:1rem;font-weight:850;color:var(--grvst-accent,#7c3cff)}
.grvst-archive--matrix .grvst-archive__years{gap:.55rem}
.grvst-archive--matrix .grvst-archive__matrix-head,.grvst-archive--matrix .grvst-archive__year{display:grid;grid-template-columns:minmax(4.2rem,.45fr) repeat(12,minmax(2.4rem,1fr));gap:.3rem;align-items:center}
.grvst-archive--matrix .grvst-archive__matrix-head{margin-bottom:.45rem;color:var(--grvst-muted,#6b7280);font-size:.7rem;font-weight:800;text-transform:uppercase}
.grvst-archive--matrix .grvst-archive__year{padding:.35rem 0}
.grvst-archive--matrix .grvst-archive__year h3{font-size:1.05rem}
.grvst-archive--matrix .grvst-archive__month{display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:.5rem;background:color-mix(in srgb,var(--grvst-accent,#7c3cff) calc(var(--archive-heat,0) * 18%),transparent)}
.grvst-archive--matrix .grvst-archive__month time{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.grvst-archive--matrix .grvst-archive__month span{font-weight:800;color:inherit}
.grvst-archive--editorial .grvst-archive__year{display:grid;grid-template-columns:minmax(6rem,.25fr) 1fr;gap:1.25rem;padding:1.25rem 0;border-top:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.grvst-archive--editorial .grvst-archive__year h3{font-size:clamp(2rem,5vw,4rem);letter-spacing:-.04em}
.grvst-archive--editorial .grvst-archive__months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem 1rem}
.grvst-archive--editorial .grvst-archive__month{display:flex;align-items:baseline;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid color-mix(in srgb,currentColor 11%,transparent)}
.grvst-archive--editorial .grvst-archive__month time{font-weight:750}
.grvst-archive--editorial .grvst-archive__month span{font-size:.82rem}
@media(max-width:900px){.grvst-archive--year-bands .grvst-archive__months{grid-template-columns:repeat(6,minmax(0,1fr))}.grvst-archive--matrix{overflow-x:auto}.grvst-archive--matrix .grvst-wrap{min-width:760px}}
@media(max-width:640px){.grvst-archive--year-bands .grvst-archive__months{grid-template-columns:repeat(3,minmax(0,1fr))}.grvst-archive--editorial .grvst-archive__year{grid-template-columns:1fr}.grvst-archive--editorial .grvst-archive__months{grid-template-columns:1fr 1fr}}

.grvst-showcase.grvst-showcase--product{padding:0;background:transparent;color:inherit}
.grvst-showcase--product .grvst-showcase__product{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.grvst-showcase--product .grvst-showcase__copy{min-width:0}
.grvst-showcase--product .grvst-showcase__kicker{margin:0 0 .6rem;color:var(--grvst-accent,#7c3cff);font-size:.76rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.grvst-showcase--product h2{margin:.15rem 0 .75rem;font-size:clamp(2rem,4.5vw,4rem);letter-spacing:-.04em}
.grvst-showcase--product .grvst-showcase__lead{margin:0;color:color-mix(in srgb,currentColor 68%,transparent);font-size:clamp(1rem,1.7vw,1.2rem)}
.grvst-showcase--product .grvst-showcase__points{display:grid;gap:.75rem;margin:1.35rem 0 0;padding:0;list-style:none}
.grvst-showcase--product .grvst-showcase__points li{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;padding:.75rem 0;border-top:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.grvst-showcase--product .grvst-showcase__points b{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:color-mix(in srgb,var(--grvst-accent,#7c3cff) 12%,transparent);color:var(--grvst-accent,#7c3cff)}
.grvst-showcase--product .grvst-showcase__points strong,.grvst-showcase--product .grvst-showcase__points span{display:block}
.grvst-showcase--product .grvst-showcase__points span{margin-top:.15rem;color:color-mix(in srgb,currentColor 64%,transparent);font-size:.9rem}
.grvst-showcase--product .grvst-showcase__actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.25rem}
.grvst-showcase--product .grvst-showcase__visual{position:relative;min-height:390px;overflow:hidden;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:calc(var(--grvst-radius,14px)*1.2);background:linear-gradient(145deg,color-mix(in srgb,var(--grvst-accent,#7c3cff) 12%,#101a2a),#07111d);box-shadow:var(--grvst-card-shadow,0 1rem 2rem rgb(0 0 0/.16))}
.grvst-showcase--product .grvst-showcase__visual img{display:block;width:100%;height:100%;min-height:390px;object-fit:cover}
.grvst-showcase--product .grvst-showcase__visual-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:2rem}
.grvst-showcase--product .grvst-showcase__visual-placeholder::before{content:"";width:min(76%,420px);aspect-ratio:16/10;border:1px solid color-mix(in srgb,var(--grvst-accent,#7c3cff) 30%,transparent);border-radius:1rem;background:linear-gradient(160deg,color-mix(in srgb,var(--grvst-accent,#7c3cff) 24%,transparent),transparent 55%),linear-gradient(#fff2,#fff0);box-shadow:0 1.5rem 4rem rgb(0 0 0/.28)}
@media(max-width:800px){.grvst-showcase--product .grvst-showcase__product{grid-template-columns:1fr}.grvst-showcase--product .grvst-showcase__visual{min-height:280px}.grvst-showcase--product .grvst-showcase__visual img{min-height:280px}}

/* Modularis 0.9.28.1 Showcase Grid & Admin Fixes */
/* Focal is one dominant metric plus three supporting rows, with no orphaned grid cell. */
.grvst-stats--focal .grvst-stats__grid{grid-template-columns:minmax(0,1.6fr) minmax(220px,.72fr);grid-template-rows:repeat(3,minmax(0,1fr));align-items:stretch}
.grvst-stats--focal .grvst-stats__grid .is-focal-stat{grid-column:1;grid-row:1/4;height:100%}
.grvst-stats--focal .grvst-stats__grid article:not(.is-focal-stat){grid-column:2;text-align:left;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"value title" "value text";column-gap:.85rem;align-items:center}
.grvst-stats--focal .grvst-stats__grid article:not(.is-focal-stat) .grvst-stats__value{grid-area:value;font-size:clamp(1.8rem,3vw,2.6rem)}
.grvst-stats--focal .grvst-stats__grid article:not(.is-focal-stat) h3{grid-area:title;margin:0}
.grvst-stats--focal .grvst-stats__grid article:not(.is-focal-stat) p{grid-area:text;margin:.2rem 0 0}

/* Mixed Features uses dense placement, while Showcase demo data deliberately closes every row. */
.grvst-features--mixed .grvst-feature-grid{grid-auto-flow:dense}
.grvst-features--editorial .grvst-feature-grid{align-items:stretch}
.grvst-features--editorial .grvst-feature{height:100%}

/* Featured card owns two rows; the two supporting cards stack beside it. */
.grvst-cards-layout--featured .grvst-cards-grid .is-featured-card{grid-row:span 2}

/* Horizontal Showcase variants demonstrate the layout inside the stage instead of forcing a demo scrollbar. */
.grvst-showcase-section.grvst-timeline--horizontal .grvst-timeline__scroller,
.grvst-showcase-section.grvst-timeline--progress .grvst-timeline__scroller{overflow-x:clip}
.grvst-showcase-section.grvst-timeline--horizontal .grvst-timeline__list,
.grvst-showcase-section.grvst-timeline--progress .grvst-timeline__list{grid-auto-flow:initial;grid-auto-columns:auto;grid-template-columns:repeat(var(--grvst-timeline-count,6),minmax(0,1fr));min-width:0;width:100%}
.grvst-showcase-section.grvst-timeline--horizontal .grvst-timeline__list article,
.grvst-showcase-section.grvst-timeline--progress .grvst-timeline__list article{padding:.8rem .65rem}
.grvst-showcase-section.grvst-timeline--horizontal .grvst-timeline__list p,
.grvst-showcase-section.grvst-timeline--progress .grvst-timeline__list p{display:none}
.grvst-showcase-section.grvst-timeline--horizontal .grvst-timeline__list h3,
.grvst-showcase-section.grvst-timeline--progress .grvst-timeline__list h3{font-size:.94rem}
.grvst-showcase-section.grvst-timeline--horizontal .grvst-badge,
.grvst-showcase-section.grvst-timeline--progress .grvst-badge{display:none}

/* Eight Showcase logos are a deliberate 4 x 2 brand block, not an auto-fit 3 + 3 + 2 tail. */
.grvst-showcase-section.grvst-logo-cloud--grid .grvst-logo-cloud__set{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.grvst-showcase-section.grvst-logo-cloud--grid .grvst-logo-cloud__item{min-width:0;width:100%}

@media(max-width:900px){
  .grvst-showcase-section.grvst-logo-cloud--grid .grvst-logo-cloud__set{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grvst-showcase-section.grvst-timeline--horizontal .grvst-timeline__list,
  .grvst-showcase-section.grvst-timeline--progress .grvst-timeline__list{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;row-gap:1.1rem;padding-top:1rem}
  .grvst-showcase-section.grvst-timeline--horizontal .grvst-timeline__list:before,
  .grvst-showcase-section.grvst-timeline--progress .grvst-timeline__list:before{display:none}
}
@media(max-width:760px){
  .grvst-stats--focal .grvst-stats__grid{grid-template-columns:1fr;grid-template-rows:auto}
  .grvst-stats--focal .grvst-stats__grid .is-focal-stat,.grvst-stats--focal .grvst-stats__grid article:not(.is-focal-stat){grid-column:auto;grid-row:auto}
  .grvst-stats--focal .grvst-stats__grid article:not(.is-focal-stat){grid-template-columns:auto minmax(0,1fr)}
}
@media(max-width:560px){
  .grvst-showcase-section.grvst-logo-cloud--grid .grvst-logo-cloud__set{grid-template-columns:1fr}
  .grvst-showcase-section.grvst-timeline--horizontal .grvst-timeline__list,
  .grvst-showcase-section.grvst-timeline--progress .grvst-timeline__list{grid-template-columns:1fr}
}


/* Modularis 0.9.28.1 focused Showcase layout hotfix */
/* Horizontal Compact follows the same no-scroll Showcase contract as Horizontal and Progress. */
.grvst-showcase-section.grvst-timeline--horizontal-compact .grvst-timeline__scroller{overflow-x:clip}
.grvst-showcase-section.grvst-timeline--horizontal-compact .grvst-timeline__list{grid-auto-flow:initial;grid-auto-columns:auto;grid-template-columns:repeat(var(--grvst-timeline-count,6),minmax(0,1fr));min-width:0;width:100%}
.grvst-showcase-section.grvst-timeline--horizontal-compact .grvst-timeline__list article{padding:.55rem .35rem}
.grvst-showcase-section.grvst-timeline--horizontal-compact .grvst-timeline__list h3{font-size:.86rem;line-height:1.2}
.grvst-showcase-section.grvst-timeline--horizontal-compact .grvst-timeline__meta time{font-size:.78rem}
.grvst-showcase-section.grvst-timeline--horizontal-compact .grvst-badge,.grvst-showcase-section.grvst-timeline--horizontal-compact .grvst-timeline__list p{display:none}
/* The eight-item Mosaic demo closes after row three instead of creating an unnecessary fourth-row span. */
.grvst-showcase-section.grvst-bento--mosaic .grvst-bento__grid>.grvst-bento__cell:nth-child(8){grid-column:span 1;grid-row:span 1}
@media(max-width:900px){.grvst-showcase-section.grvst-timeline--horizontal-compact .grvst-timeline__list{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;row-gap:1rem;padding-top:1rem}.grvst-showcase-section.grvst-timeline--horizontal-compact .grvst-timeline__list:before{display:none}}
@media(max-width:560px){.grvst-showcase-section.grvst-timeline--horizontal-compact .grvst-timeline__list{grid-template-columns:1fr}}



/* Hero Stories control placement: 0.9.28.1 */
.grvst-hero-stories__frame{position:relative}
.grvst-hero-stories[data-controls-position="inside"] .grvst-hero-stories__controls,.grvst-hero-stories[data-controls-position="side"] .grvst-hero-stories__controls{position:absolute;z-index:3;margin:0;padding:.55rem;border:1px solid rgb(255 255 255/.22);border-radius:999px;background:rgb(9 14 24/.68);box-shadow:0 10px 30px rgb(0 0 0/.18);backdrop-filter:blur(10px)}
.grvst-hero-stories[data-controls-position="inside"] .grvst-hero-stories__controls{left:50%;bottom:1rem;transform:translateX(-50%)}
.grvst-hero-stories[data-controls-position="side"] .grvst-hero-stories__controls{top:50%;flex-direction:column;transform:translateY(-50%)}
.grvst-hero-stories[data-controls-position="side"][data-controls-side="left"] .grvst-hero-stories__controls{left:1rem}
.grvst-hero-stories[data-controls-position="side"][data-controls-side="right"] .grvst-hero-stories__controls{right:1rem}
.grvst-hero-stories[data-controls-position="side"] .grvst-hero-stories__dots{flex-direction:column}
.grvst-hero-stories[data-controls-position="inside"] .grvst-hero-stories__arrow,.grvst-hero-stories[data-controls-position="inside"] .grvst-hero-stories__dots button,.grvst-hero-stories[data-controls-position="side"] .grvst-hero-stories__arrow,.grvst-hero-stories[data-controls-position="side"] .grvst-hero-stories__dots button{border-color:rgb(255 255 255/.38);background:rgb(255 255 255/.92);color:#172033}
.grvst-hero-stories[data-controls-position="inside"] .grvst-hero-stories__story{padding-bottom:clamp(5.5rem,9vw,7rem)}
.grvst-hero-stories[data-controls-position="side"][data-controls-side="left"] .grvst-hero-stories__story{padding-left:clamp(5rem,8vw,7rem)}
.grvst-hero-stories[data-controls-position="side"][data-controls-side="right"] .grvst-hero-stories__story{padding-right:clamp(5rem,8vw,7rem)}


/* Modularis 0.9.28.1: Responsive Container System */

.grvst-section {
    --grvst-section-container-max: var(--grvst-container-max,var(--grvst-container-standard,1320px));
}

.grvst-section[data-grvst-width="narrow"] { --grvst-section-container-max: var(--grvst-container-narrow,960px); }
.grvst-section[data-grvst-width="standard"] { --grvst-section-container-max: var(--grvst-container-standard,1320px); }
.grvst-section[data-grvst-width="inherit"] { --grvst-section-container-max: var(--grvst-container-max,var(--grvst-container-standard,1320px)); }
.grvst-section[data-grvst-width="wide"] { --grvst-section-container-max: var(--grvst-container-wide,1560px); }
.grvst-section[data-grvst-width="full"] { --grvst-section-container-max: none; }

.grvst-section > .grvst-wrap,
.grvst-wrap {
    width: min(calc(100% - (2 * var(--grvst-page-gutter,clamp(1rem,3vw,4rem)))), var(--grvst-section-container-max, var(--grvst-container-max,var(--grvst-container-standard,1320px))));
    margin-inline: auto;
}

.grvst-section[data-grvst-width="full"] > .grvst-wrap {
    width: calc(100% - (2 * var(--grvst-page-gutter,clamp(1rem,3vw,4rem))));
    max-width: none;
}

.grvst-section .grvst-readable,
.grvst-section .grvst-intro,
.grvst-section > .grvst-wrap > p:first-of-type {
    max-width: var(--grvst-readable-width,820px);
    margin-inline: auto;
}

.grvst-gallery,
.grvst-bento,
.grvst-pricing,
.grvst-timeline--horizontal,
.grvst-timeline--horizontal-compact,
.grvst-timeline--progress,
.grvst-logo-cloud,
.grvst-showcase,
.grvst-interactive-showcase {
    --grvst-section-container-max: var(--grvst-container-wide,1560px);
}

.grvst-accordion,
.grvst-tabs,
.grvst-archive,
.grvst-taxonomy-cloud {
    --grvst-section-container-max: var(--grvst-container-standard,1320px);
}



/* Modularis 0.9.28.1: Responsive Container Showcase Integration */
.grvst-showcase-section {
    --grvst-section-container-max: var(--grvst-container-standard,1320px);
}
.grvst-showcase-section.grvst-gallery,
.grvst-showcase-section.grvst-bento,
.grvst-showcase-section.grvst-pricing,
.grvst-showcase-section.grvst-timeline--horizontal,
.grvst-showcase-section.grvst-timeline--horizontal-compact,
.grvst-showcase-section.grvst-timeline--progress,
.grvst-showcase-section.grvst-logo-cloud,
.grvst-showcase-section.grvst-showcase,
.grvst-showcase-section.grvst-interactive-showcase,
.grvst-showcase-section.grvst-hero,
.grvst-showcase-section.grvst-hero-stories {
    --grvst-section-container-max: var(--grvst-container-wide,1560px);
}
.grvst-showcase-section > .grvst-wrap {
    width: min(calc(100% - (2 * var(--grvst-page-gutter,clamp(1rem,3vw,4rem)))), var(--grvst-section-container-max));
    max-width: none;
}
.grvst-showcase-index,
.grvst-showcase-meta {
    width: min(calc(100% - (2 * var(--grvst-page-gutter,clamp(1rem,3vw,4rem)))), var(--grvst-container-standard,1320px));
}
@media (max-width:760px) {
    .grvst-showcase-section > .grvst-wrap,
    .grvst-showcase-index,
    .grvst-showcase-meta {
        width: calc(100% - 1.25rem);
    }
}


/* Modularis 0.9.29.4 Pricing alignment polish */
.grvst-pricing__badge-slot{position:absolute;inset:0;pointer-events:none}
.grvst-pricing__badge-slot .grvst-pricing__badge{pointer-events:auto}
.grvst-pricing--compact .grvst-pricing__plan{
  grid-template-columns:minmax(8rem,.65fr) minmax(8.5rem,.55fr) minmax(0,1.5fr) max-content;
  grid-template-areas:
    "name price features badge"
    "name price features cta";
  grid-template-rows:minmax(1.8rem,auto) auto;
  column-gap:1.25rem;
  row-gap:.35rem;
  align-items:center;
}
.grvst-pricing--compact .grvst-pricing__badge-slot{
  position:static;
  grid-area:badge;
  min-height:1.8rem;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  pointer-events:none;
}
.grvst-pricing--compact .grvst-pricing__badge-slot .grvst-pricing__badge{
  position:static;
  max-width:none;
  margin:0;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
  pointer-events:auto;
}
.grvst-pricing--compact .grvst-pricing__plan h3{grid-area:name;align-self:center}
.grvst-pricing--compact .grvst-pricing__price{grid-area:price;align-self:center}
.grvst-pricing--compact .grvst-pricing__features{grid-area:features;align-self:center}
.grvst-pricing--compact .grvst-pricing__plan .grvst-button{grid-area:cta;align-self:start;justify-self:end}
@media(max-width:900px){
  .grvst-pricing--compact .grvst-pricing__plan{
    grid-template-columns:1fr 1fr;
    grid-template-areas:"name price" "features features" "badge badge" "cta cta";
    grid-template-rows:auto;
  }
  .grvst-pricing--compact .grvst-pricing__badge-slot{justify-content:flex-start;min-height:0}
  .grvst-pricing--compact .grvst-pricing__plan .grvst-button{justify-self:start}
}
@media(max-width:620px){
  .grvst-pricing--compact .grvst-pricing__plan{
    grid-template-columns:1fr;
    grid-template-areas:"name" "price" "features" "badge" "cta";
  }
}

/* 0.9.30.3.3: Keep Hero media on its own paint layer in every layout. */
.grvst-hero{position:relative;isolation:isolate;overflow:hidden;background:#111}.grvst-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgb(0 0 0/var(--grvst-overlay,.52)),rgb(0 0 0/var(--grvst-overlay,.52))),var(--grvst-image,#111) center/cover no-repeat}.grvst-hero .grvst-wrap{position:relative;z-index:1}

/* 0.9.30.3.4: Compact functional Archive Picker. */
.grvst-archive__picker{display:flex;align-items:end;justify-content:center;gap:.75rem;max-width:680px;margin:1.5rem auto 0;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:var(--grvst-radius,14px);background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 4%,transparent))}.grvst-archive__picker label{display:grid;gap:.35rem;font-size:.82rem;font-weight:750}.grvst-archive__picker select{min-width:min(100%,300px);padding:.72rem .8rem;border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:calc(var(--grvst-radius,14px)*.65);color:inherit;background:transparent}.grvst-archive__picker .grvst-button{margin:0}.grvst-posts__filter{margin:0 0 1.1rem;text-align:center;color:var(--grvst-muted,#6b7280)}.grvst-posts__filter a{color:inherit;font-weight:750}@media(max-width:640px){.grvst-archive__picker{align-items:stretch;flex-direction:column}.grvst-archive__picker select{width:100%}}

/* 0.9.30.3.5: Archive Navigator exposes publication history without a select-only UI. */
.grvst-archive__navigator{max-width:760px;margin:1.5rem auto 0}.grvst-archive__year-tabs{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.5rem}.grvst-archive__year-tabs a{padding:.45rem .75rem;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:999px;color:inherit;text-decoration:none;font-weight:750}.grvst-archive__year-tabs a[aria-current="true"]{color:#fff;background:var(--grvst-accent,#7c3cff);border-color:var(--grvst-accent,#7c3cff)}.grvst-archive__navigator-year{margin-top:1rem}.grvst-archive__navigator-year.is-secondary-year{display:none}.grvst-archive__navigator:has(.grvst-archive__navigator-year:target) .grvst-archive__navigator-year{display:none}.grvst-archive__navigator .grvst-archive__navigator-year:target{display:block}.grvst-archive__navigator-year h3{margin:0 0 .6rem}.grvst-archive__navigator-months{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}.grvst-archive__navigator-months>a,.grvst-archive__navigator-months>span{display:grid;place-items:center;gap:.15rem;min-height:4rem;padding:.45rem;border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:calc(var(--grvst-radius,14px)*.65);text-decoration:none;color:inherit}.grvst-archive__navigator-months>a{background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 7%,transparent))}.grvst-archive__navigator-months>a strong{color:var(--grvst-accent,#7c3cff);font-size:1.1rem}.grvst-archive__navigator-months>.is-empty{opacity:.3}@media(max-width:540px){.grvst-archive__navigator-months{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* 0.9.32: Feature Matrix */
.grvst-feature-matrix__scroll{overflow-x:auto;border:1px solid color-mix(in srgb,currentColor 13%,transparent);border-radius:var(--grvst-radius,14px)}
.grvst-feature-matrix__table{width:100%;min-width:640px;border-collapse:collapse;background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 2%,transparent))}
.grvst-feature-matrix__table th,.grvst-feature-matrix__table td{padding:1rem 1.1rem;border-bottom:1px solid color-mix(in srgb,currentColor 11%,transparent);text-align:center;vertical-align:middle}
.grvst-feature-matrix__table th:first-child,.grvst-feature-matrix__table tbody th{text-align:left}
.grvst-feature-matrix__table thead th{font-family:var(--grvst-head,var(--grvst-body,inherit));font-weight:700;background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 7%,transparent))}
.grvst-feature-matrix__table .is-featured{background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 10%,transparent))}
.grvst-feature-matrix__table tbody tr:last-child>*{border-bottom:0}
.grvst-matrix-state{display:inline-grid;place-items:center;min-width:1.7rem;min-height:1.7rem;border-radius:999px;font-weight:800}
.grvst-matrix-state.is-yes{background:color-mix(in srgb,var(--grvst-accent,#7c3cff) 14%,transparent);color:var(--grvst-accent,#7c3cff)}
.grvst-matrix-state.is-no{opacity:.5}

/* 0.9.32: Downloads */
.grvst-downloads__items{display:grid;gap:.85rem}
.grvst-downloads--cards .grvst-downloads__items{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.grvst-download{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,currentColor 13%,transparent);border-radius:var(--grvst-radius,14px);background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 2%,transparent))}
.grvst-downloads--cards .grvst-download{grid-template-columns:1fr;align-items:start}
.grvst-download__icon{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:calc(var(--grvst-radius,14px) * .7);background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 12%,transparent));color:var(--grvst-accent,#7c3cff);font-size:1.2rem}
.grvst-download__heading{display:flex;flex-wrap:wrap;gap:.45rem .75rem;align-items:baseline}.grvst-download__heading h3{margin:0}.grvst-download__heading>span{font-size:.78rem;font-weight:700;color:var(--grvst-accent,#7c3cff)}
.grvst-download__body p{margin:.35rem 0 0}.grvst-download__meta{display:flex;flex-wrap:wrap;gap:.35rem .75rem;margin-top:.55rem;font-size:.78rem;opacity:.7}
.grvst-download__action{display:inline-flex;gap:.45rem;align-items:center;justify-content:center;padding:.62rem .8rem;border-radius:calc(var(--grvst-radius,14px) * .65);background:var(--grvst-accent,#7c3cff);color:var(--grvst-on-accent,#fff);text-decoration:none;font-weight:700}
.grvst-downloads--cards .grvst-download__action{justify-self:start}

/* 0.9.32: richer FAQ metadata */
.grvst-accordion__question{display:flex;flex-direction:column;gap:.18rem}.grvst-accordion__category{font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--grvst-accent,#7c3cff)}
.grvst-details.is-featured{border-color:color-mix(in srgb,var(--grvst-accent,#7c3cff) 42%,transparent);background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 4%,#fff));color:var(--grvst-text,#172033)}
@media(max-width:640px){.grvst-download{grid-template-columns:auto minmax(0,1fr)}.grvst-download__action{grid-column:1/-1;justify-self:stretch}}


/* Next iteration: Video + Location + Specifications + Hotspots + People */
.grvst-video__layout{display:grid;gap:1.2rem}.grvst-video--split .grvst-video__layout{grid-template-columns:minmax(0,1.55fr) minmax(240px,.7fr);align-items:center}.grvst-video__media{margin:0}.grvst-video__media video,.grvst-video__frame{display:block;width:100%;overflow:hidden;border-radius:var(--grvst-radius,14px);background:#05070a;box-shadow:var(--grvst-card-shadow,0 .35rem 1rem rgb(0 0 0/.12))}.grvst-video__media video{aspect-ratio:16/9;object-fit:cover}.grvst-video__frame{aspect-ratio:16/9}.grvst-video__frame iframe{display:block;width:100%;height:100%;border:0}.grvst-video__media figcaption{margin-top:.55rem;color:var(--grvst-muted,#6b7280);font-size:.82rem}.grvst-video__copy{display:grid;gap:1rem;align-content:center}.grvst-video__copy p{margin:0}.grvst-video__copy .grvst-button{justify-self:start}.grvst-video__empty{display:grid;place-items:center;min-height:280px;border:1px dashed color-mix(in srgb,currentColor 22%,transparent);border-radius:var(--grvst-radius,14px);color:var(--grvst-muted,#6b7280)}
.grvst-location__layout{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.5fr);gap:1.25rem;align-items:stretch}.grvst-location__details{display:grid;align-content:center;gap:.65rem;margin:0;padding:1.35rem;border:1px solid color-mix(in srgb,currentColor 13%,transparent);border-radius:var(--grvst-radius,14px);background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 3%,transparent));font-style:normal}.grvst-location__details h3,.grvst-location__details p{margin:0}.grvst-location__details a:not(.grvst-button){color:inherit}.grvst-location__details .grvst-button{justify-self:start;margin-top:.35rem}.grvst-location__address,.grvst-location__hours{white-space:pre-line}.grvst-location__map{display:grid;grid-template-rows:1fr auto;min-height:360px;margin:0;overflow:hidden;border:1px solid color-mix(in srgb,currentColor 13%,transparent);border-radius:var(--grvst-radius,14px);background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 3%,transparent))}.grvst-location__map iframe{width:100%;height:100%;min-height:360px;border:0}.grvst-location__map figcaption{padding:.48rem .7rem;color:var(--grvst-muted,#6b7280);font-size:.75rem}.grvst-location__empty{display:grid;place-items:center;min-height:360px;color:var(--grvst-muted,#6b7280)}.grvst-location--map .grvst-location__layout{grid-template-columns:1fr}.grvst-location--compact .grvst-location__layout{grid-template-columns:minmax(220px,.55fr) minmax(0,1fr)}.grvst-location--compact .grvst-location__map,.grvst-location--compact .grvst-location__map iframe,.grvst-location--compact .grvst-location__empty{min-height:260px}
.grvst-feature-matrix__specifications{display:grid;gap:1rem}.grvst-feature-matrix__spec-group{overflow:hidden;border:1px solid color-mix(in srgb,currentColor 13%,transparent);border-radius:var(--grvst-radius,14px);background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 2%,transparent))}.grvst-feature-matrix__spec-group>h3{margin:0;padding:.9rem 1.1rem;background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 7%,transparent))}.grvst-feature-matrix__spec-group dl{margin:0}.grvst-feature-matrix__spec-group dl>div{display:grid;grid-template-columns:minmax(160px,.65fr) minmax(0,1fr);gap:1rem;padding:.82rem 1.1rem;border-top:1px solid color-mix(in srgb,currentColor 10%,transparent)}.grvst-feature-matrix__spec-group dt{font-weight:700}.grvst-feature-matrix__spec-group dd{margin:0}
.grvst-hotspots__layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.65fr);gap:1.2rem;align-items:start}.grvst-hotspots__stage{position:relative;overflow:hidden;margin:0;border-radius:var(--grvst-radius,14px);background:#0d1520}.grvst-hotspots__stage>img{display:block;width:100%;height:auto;min-height:360px;object-fit:cover}.grvst-hotspots__markers{position:absolute;inset:0}.grvst-hotspot{position:absolute;left:var(--grvst-hotspot-x);top:var(--grvst-hotspot-y);transform:translate(-50%,-50%);display:grid;place-items:center;width:2.35rem;height:2.35rem;padding:0;border:2px solid #fff;border-radius:999px;background:var(--grvst-accent,#7c3cff);color:#fff;font:800 .86rem/1 var(--grvst-body,inherit);box-shadow:0 .25rem .85rem rgb(0 0 0/.3);cursor:pointer}.grvst-hotspot[aria-selected="true"]{width:2.7rem;height:2.7rem;box-shadow:0 0 0 .35rem color-mix(in srgb,var(--grvst-accent,#7c3cff) 24%,transparent),0 .25rem .85rem rgb(0 0 0/.3)}.grvst-hotspot:focus-visible{outline:3px solid #fff;outline-offset:3px}.grvst-hotspots__panels{display:grid}.grvst-hotspots__panel{padding:1.2rem;border:1px solid color-mix(in srgb,currentColor 13%,transparent);border-radius:var(--grvst-radius,14px);background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 3%,transparent))}.grvst-hotspots__panel[hidden]{display:none}.grvst-hotspots__panel h3{margin:.2rem 0}.grvst-hotspots__panel p{margin:.55rem 0 0}.grvst-hotspots__label{color:var(--grvst-accent,#7c3cff);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.grvst-cards-layout--people .grvst-cards-grid{align-items:stretch}.grvst-cards-layout--people .grvst-visual-card__media{aspect-ratio:4/5}.grvst-cards-layout--people .grvst-visual-card__body{gap:.45rem}.grvst-person__role{display:block;color:var(--grvst-accent,#7c3cff);font-size:.82rem;font-weight:750}.grvst-person__contacts{display:grid;gap:.22rem;margin-top:.35rem;font-size:.82rem}.grvst-person__contacts a{color:inherit;overflow-wrap:anywhere}
@media(max-width:800px){.grvst-video--split .grvst-video__layout,.grvst-location__layout,.grvst-location--compact .grvst-location__layout,.grvst-hotspots__layout{grid-template-columns:1fr}.grvst-feature-matrix__spec-group dl>div{grid-template-columns:1fr;gap:.2rem}}


/* 0.9.34: Content Pack & visual-quality hardening. */
.grvst-logo-cloud[data-logo-size="large"] .grvst-logo-cloud__item{min-height:104px;padding:1rem 1.25rem}
.grvst-logo-cloud[data-logo-size="large"] .grvst-logo-cloud__logo img{width:min(220px,100%);max-width:220px;max-height:84px;filter:none}
.grvst-logo-cloud[data-logo-size="large"] .grvst-logo-cloud__set{gap:clamp(1rem,3.5vw,3rem)}
@media(max-width:640px){
  .grvst-hero .grvst-hero__content h1{font-size:clamp(2.25rem,12vw,3.65rem);letter-spacing:-.035em}
  .grvst-hero--split .grvst-hero__content{text-align:center;margin-inline:auto}
  .grvst-hero--split .grvst-actions{justify-content:center}
  .grvst-hero--split .grvst-hero__lead{margin-inline:auto}
  .grvst-logo-cloud[data-logo-size="large"] .grvst-logo-cloud__set{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grvst-logo-cloud[data-logo-size="large"] .grvst-logo-cloud__item{min-width:0;min-height:86px;padding:.75rem}
  .grvst-logo-cloud[data-logo-size="large"] .grvst-logo-cloud__logo img{max-width:160px;max-height:64px}
}
@media(max-width:430px){.grvst-logo-cloud[data-logo-size="large"] .grvst-logo-cloud__set{grid-template-columns:1fr}}

/* 0.9.34.5: Modularis owns item-title typography and keeps titles above body copy. */
.grvst.grvst-section{--grvst-item-title-size:max(1.125rem,1.12em)}
.grvst.grvst-section h3{font-family:var(--grvst-head,var(--grvst-body,inherit));font-weight:700}
.grvst.grvst-section .grvst-story--rich h3,
.grvst.grvst-section .grvst-feature h3,
.grvst.grvst-section .grvst-visual-card h3,
.grvst.grvst-section .grvst-post-card h3,
.grvst.grvst-section .grvst-bento__body h3,
.grvst.grvst-section .grvst-interactive-showcase__copy h3,
.grvst.grvst-section .grvst-hotspots__panel h3,
.grvst.grvst-section .grvst-event__body h3,
.grvst.grvst-section .grvst-tabs__copy h3,
.grvst.grvst-section .grvst-pricing__plan h3,
.grvst.grvst-section .grvst-download__heading h3,
.grvst.grvst-section .grvst-location__details h3,
.grvst.grvst-section .grvst-feature-matrix__spec-group>h3,
.grvst.grvst-section .grvst-stats__grid h3,
.grvst.grvst-section:not(.grvst-showcase-section) .grvst-timeline__list h3{font-size:var(--grvst-item-title-size);line-height:1.22}
.grvst.grvst-section .grvst-post-card h3 a,
.grvst.grvst-section .grvst-event__body h3 a{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}

/* 0.9.34.7: Visual Fidelity Pass. Component Showcase is the reference lab, but these are shared component rules. */
/* Features: clearer icon chips, stable card rhythm, and consistent action placement. */
.grvst-feature__body{display:flex;flex-direction:column;align-items:flex-start;height:100%}
.grvst .grvst-feature__icon.fa-solid,.grvst .grvst-feature__icon.fa-regular,.grvst .grvst-feature__icon.fa-brands,.grvst .grvst-feature__icon.fas,.grvst .grvst-feature__icon.far,.grvst .grvst-feature__icon.fab{display:grid;place-items:center;width:2.85rem;height:2.85rem;margin:0 0 .85rem;border:1px solid color-mix(in srgb,var(--local-accent) 34%,transparent);border-radius:12px;background:var(--grvst-surface,color-mix(in srgb,var(--local-accent) 12%,transparent));color:var(--local-accent);font-size:1.25rem;box-shadow:inset 0 1px rgb(255 255 255/.08)}
.grvst-feature p{margin:.55rem 0 0}.grvst-feature__link{margin-top:auto;padding-top:.85rem}
.grvst-features--cards .grvst-feature,.grvst-features--highlight .grvst-feature,.grvst-features--mixed .grvst-feature{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.grvst-features--cards .grvst-feature:hover,.grvst-features--highlight .grvst-feature:hover,.grvst-features--mixed .grvst-feature:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--local-accent) 34%,transparent);box-shadow:0 18px 38px rgb(0 0 0/.28),0 0 24px color-mix(in srgb,var(--local-accent) 10%,transparent)}

/* Balanced Bento: a deliberate two-column composition with no accidental giant empty cells. */
.grvst-bento--balanced .grvst-bento__grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;align-items:stretch}
.grvst-bento--balanced .grvst-bento__cell,.grvst-bento--balanced .grvst-bento__cell--wide,.grvst-bento--balanced .grvst-bento__cell--tall,.grvst-bento--balanced .grvst-bento__cell--featured{grid-column:auto;grid-row:auto;min-height:0}
.grvst-bento--balanced .grvst-bento__cell:last-child:nth-child(odd){grid-column:1/-1}
.grvst-bento--balanced .grvst-bento__media,.grvst-bento--balanced .grvst-bento__cell--tall .grvst-bento__media,.grvst-bento--balanced .grvst-bento__cell--featured .grvst-bento__media{aspect-ratio:16/10}
.grvst-bento--balanced .grvst-bento__body{display:flex;flex-direction:column;align-items:flex-start;height:100%;min-height:10rem}
.grvst-bento--balanced .grvst-bento__link{margin-top:auto;padding-top:.85rem}
.grvst .grvst-bento__icon.fa-solid,.grvst .grvst-bento__icon.fa-regular,.grvst .grvst-bento__icon.fa-brands,.grvst .grvst-bento__icon.fas,.grvst .grvst-bento__icon.far,.grvst .grvst-bento__icon.fab{display:grid;place-items:center;width:2.7rem;height:2.7rem;margin:0 0 .8rem;border:1px solid color-mix(in srgb,var(--grvst-accent,#7c3cff) 32%,transparent);border-radius:11px;background:color-mix(in srgb,var(--grvst-accent,#7c3cff) 10%,#fff);color:var(--grvst-accent,#7c3cff);font-size:1.18rem}

/* Posts: tighter editorial rhythm without changing native Grav sourcing. */
.grvst-post-card__body{min-height:11.5rem}
.grvst-posts-layout--lead-grid .is-lead-post .grvst-post-card__body{justify-content:center;padding:clamp(1.2rem,3vw,2rem)}
.grvst-posts-layout--lead-grid .is-lead-post .grvst-post-card__media{aspect-ratio:auto}
.grvst-post-card p{max-width:68ch}

/* Product Showcase: make the proposition/visual pair read as one intentional product surface. */
.grvst-showcase--product .grvst-showcase__product{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:clamp(1.25rem,3vw,2.5rem);padding:clamp(1.2rem,2.6vw,2rem);border:1px solid color-mix(in srgb,currentColor 13%,transparent);border-radius:calc(var(--grvst-radius,14px)*1.25);background:color-mix(in srgb,var(--grvst-accent,#7c3cff) 3%,transparent);box-shadow:var(--grvst-card-shadow,0 .75rem 2rem rgb(0 0 0/.14))}
.grvst-showcase--product h2{font-size:clamp(2rem,4vw,3.35rem)}
.grvst-showcase--product .grvst-showcase__points li{padding:.8rem 0}
.grvst-showcase--product .grvst-showcase__points b{width:2.25rem;height:2.25rem;border:1px solid color-mix(in srgb,var(--grvst-accent,#7c3cff) 30%,transparent);background:color-mix(in srgb,var(--grvst-accent,#7c3cff) 10%,transparent)}
.grvst-showcase--product .grvst-showcase__visual,.grvst-showcase--product .grvst-showcase__visual img{min-height:340px}

/* Events: images belong to the composition instead of looking bolted onto an old text row. */
.grvst-events--list .grvst-event.has-media{grid-template-columns:minmax(170px,220px) 76px minmax(0,1fr);gap:0;padding:0;overflow:hidden}
.grvst-events--list .grvst-event.has-media .grvst-event__media{border-radius:0}.grvst-events--list .grvst-event.has-media .grvst-event__date{padding:.9rem .65rem}.grvst-events--list .grvst-event.has-media .grvst-event__body{align-self:center;padding:1rem 1.1rem 1rem 0}
.grvst-events--cards .grvst-event,.grvst-events--cards .grvst-event.has-media{gap:0;padding:0;overflow:hidden}
.grvst-events--cards .grvst-event__media{border-radius:0}.grvst-events--cards .grvst-event__date{margin:0 1rem;padding:.85rem 0 .65rem}.grvst-events--cards .grvst-event__body{padding:0 1rem 1.1rem}

/* People: portrait cards stay recognisably photographic, compact, and content-led. */
.grvst-cards-layout--people .grvst-visual-card__media{aspect-ratio:4/4.6}.grvst-cards-layout--people .grvst-visual-card__media img{object-position:center 30%}
.grvst-cards-layout--people .grvst-visual-card__body{min-height:0;padding:1rem 1.05rem;gap:.38rem}.grvst-cards-layout--people .grvst-visual-card p{font-size:.84rem}.grvst-cards-layout--people .grvst-visual-card__link{padding-top:.65rem}

/* Hotspots: stronger product stage and detail surface, while keeping the accessible side-panel model. */
.grvst-hotspots__stage{border:1px solid color-mix(in srgb,currentColor 14%,transparent);box-shadow:var(--grvst-card-shadow,0 .75rem 2rem rgb(0 0 0/.14))}
.grvst-hotspots__panel{background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 5%,transparent));box-shadow:var(--grvst-card-shadow,0 .45rem 1.4rem rgb(0 0 0/.10))}
.grvst-hotspot{transition:transform .16s ease,box-shadow .16s ease}.grvst-hotspot:hover{transform:translate(-50%,-50%) scale(1.08)}

@media(max-width:800px){
  .grvst-bento--balanced .grvst-bento__grid{grid-template-columns:1fr}
  .grvst-bento--balanced .grvst-bento__cell:last-child:nth-child(odd){grid-column:auto}
  .grvst-showcase--product .grvst-showcase__product{grid-template-columns:1fr;padding:1rem}
  .grvst-showcase--product .grvst-showcase__visual,.grvst-showcase--product .grvst-showcase__visual img{min-height:280px}
  .grvst-events--list .grvst-event.has-media{grid-template-columns:1fr 64px minmax(0,1fr)}
  .grvst-events--list .grvst-event.has-media .grvst-event__media{grid-column:1/-1;aspect-ratio:16/9}
  .grvst-events--list .grvst-event.has-media .grvst-event__body{padding:1rem}
}
@media(prefers-reduced-motion:reduce){.grvst-features--cards .grvst-feature,.grvst-features--highlight .grvst-feature,.grvst-features--mixed .grvst-feature,.grvst-hotspot{transition:none}.grvst-features--cards .grvst-feature:hover,.grvst-features--highlight .grvst-feature:hover,.grvst-features--mixed .grvst-feature:hover{transform:none}.grvst-hotspot:hover{transform:translate(-50%,-50%)}}



/* 0.9.34.8: Visual Reference Contract Pass. Approved mockups define target hierarchy, not new hidden capabilities. */
/* Posts and related editorial cards: image-first hierarchy, tighter copy and calmer metadata. */
.grvst-post-card__media{aspect-ratio:16/10}
.grvst-post-card__body{min-height:10.5rem;padding:clamp(.9rem,1.7vw,1.1rem)}
.grvst-post-card time{margin-bottom:.4rem;font-size:.72rem;letter-spacing:.025em;opacity:.92}
.grvst-post-card h3{font-size:max(1.14rem,1.14em);line-height:1.18}
.grvst-post-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin-top:.5rem}
.grvst-post-card__more{padding-top:.75rem}
.grvst-posts-layout--lead-grid .is-lead-post{min-height:330px}
.grvst-posts-layout--lead-grid .is-lead-post .grvst-post-card__body{min-height:0;padding:clamp(1.25rem,3vw,2rem)}
.grvst-posts-layout--lead-grid .is-lead-post h3{font-size:clamp(1.65rem,3vw,2.65rem);line-height:1.06}
.grvst-posts-layout--lead-grid .is-lead-post p{-webkit-line-clamp:4;font-size:.96rem}
.grvst-cards-section .is-related-card .grvst-visual-card__media{aspect-ratio:16/10}
.grvst-cards-section .is-related-card .grvst-visual-card__body{min-height:10.4rem;padding:1rem}
.grvst-cards-section .is-related-card time{margin:0 0 .45rem;color:var(--card-accent);font-size:.72rem;font-weight:750;letter-spacing:.025em}
.grvst-cards-section .is-related-card h3{font-size:max(1.12rem,1.12em);line-height:1.18}
.grvst-cards-section .is-related-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.grvst-cards-section .is-related-card .grvst-visual-card__eyebrow{display:none}

/* Testimonials: photographs become real card content instead of a narrow decorative strip. */
.grvst-cards-layout--testimonials .grvst-visual-card{display:flex;flex-direction:column;align-items:stretch}
.grvst-cards-layout--testimonials .grvst-visual-card__media{width:100%;min-height:0;aspect-ratio:16/9}
.grvst-cards-layout--testimonials .grvst-visual-card__body{min-height:10.5rem;padding:1rem 1.05rem}
.grvst-cards-layout--testimonials .grvst-testimonial__quote p{font-size:.94rem;line-height:1.58}

/* Hero Stories: a stronger photographic stage with a compact, readable story layer. */
.grvst-hero-stories__frame{overflow:hidden;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:calc(var(--grvst-radius,14px)*1.15);box-shadow:var(--grvst-card-shadow,0 1rem 2.4rem rgb(0 0 0/.20))}
.grvst-hero-stories__viewport{border-radius:0}
.grvst-hero-stories__story{min-height:clamp(420px,62vw,680px);padding:clamp(1.4rem,4.5vw,3.5rem);background:linear-gradient(90deg,rgb(0 0 0/.78) 0%,rgb(0 0 0/.52) 34%,rgb(0 0 0/.14) 70%),linear-gradient(0deg,rgb(0 0 0/.45),transparent 56%),var(--grvst-story-image,#10131a) center/cover}
.grvst-hero-stories__content{max-width:37rem}
.grvst-hero-stories__content h3{max-width:12ch;margin:.45rem 0 .65rem;font-size:clamp(2.3rem,5.5vw,5rem);line-height:.96;letter-spacing:-.035em;text-wrap:balance}
.grvst-hero-stories__content p{max-width:34rem;margin:.55rem 0 0;color:rgb(255 255 255/.88)}
.grvst-hero-stories[data-controls-position="inside"] .grvst-hero-stories__controls{left:clamp(1.4rem,4.5vw,3.5rem);bottom:1.15rem;transform:none}
.grvst-hero-stories[data-controls-position="inside"] .grvst-hero-stories__story{padding-bottom:clamp(5.1rem,8vw,6.3rem)}

/* Focal Stats: preserve the 1+3 contract while making the visual hierarchy explicit. */
.grvst-stats--focal .grvst-stats__grid{gap:.8rem}
.grvst-stats--focal .grvst-stats__grid article{box-shadow:inset 0 1px rgb(255 255 255/.035)}
.grvst-stats--focal .grvst-stats__grid .is-focal-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(1.8rem,4vw,3.2rem);text-align:center;background:var(--grvst-surface,radial-gradient(30rem 18rem at 50% 20%,color-mix(in srgb,var(--local-accent) 12%,transparent),transparent 70%),#0b1625)}
.grvst-stats--focal .is-focal-stat .grvst-stats__value{font-size:clamp(4rem,9vw,7rem);line-height:.84}
.grvst-stats--focal .is-focal-stat h3{margin:.85rem 0 .3rem;font-size:clamp(1.35rem,2vw,1.8rem)}
.grvst-stats--focal .is-focal-stat p{max-width:34rem;margin:.45rem auto 0}
.grvst-stats--focal .grvst-stats__grid article:not(.is-focal-stat){min-height:0;padding:1rem 1.1rem;background:var(--grvst-surface,#101c2b)}
.grvst-stats--focal .grvst-stats__grid article:not(.is-focal-stat) .grvst-stats__value{min-width:3.2rem;text-align:center}

/* Large Logo Cloud: six-partner examples read as a deliberate 3x2 partner grid on wide screens. */
.grvst-logo-cloud--grid[data-logo-size="large"] .grvst-logo-cloud__set{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.grvst-logo-cloud--grid[data-logo-size="large"] .grvst-logo-cloud__item{min-width:0;min-height:96px;padding:1rem;border:1px solid color-mix(in srgb,currentColor 11%,transparent);border-radius:calc(var(--grvst-radius,14px)*.8);background:var(--grvst-surface,color-mix(in srgb,var(--grvst-accent,#7c3cff) 3%,transparent))}
.grvst-logo-cloud--grid[data-logo-size="large"] .grvst-logo-cloud__logo img{width:min(220px,100%);max-width:220px;max-height:78px}

@media(max-width:900px){
  .grvst-logo-cloud--grid[data-logo-size="large"] .grvst-logo-cloud__set{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .grvst-hero-stories__story{min-height:430px;background:linear-gradient(0deg,rgb(0 0 0/.78) 0%,rgb(0 0 0/.34) 66%),var(--grvst-story-image,#10131a) center/cover}
  .grvst-hero-stories__content h3{max-width:14ch;font-size:clamp(2.2rem,11vw,3.4rem)}
  .grvst-hero-stories[data-controls-position="inside"] .grvst-hero-stories__controls{left:1.25rem;bottom:1rem}
  .grvst-logo-cloud--grid[data-logo-size="large"] .grvst-logo-cloud__set{grid-template-columns:1fr}
}

/* 0.9.35 Logo Cloud layout contract */
.grvst-logo-cloud--grid[data-logo-columns="2"] .grvst-logo-cloud__set{grid-template-columns:repeat(2,minmax(0,1fr))}
.grvst-logo-cloud--grid[data-logo-columns="3"] .grvst-logo-cloud__set{grid-template-columns:repeat(3,minmax(0,1fr))}
.grvst-logo-cloud--grid[data-logo-columns="4"] .grvst-logo-cloud__set{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:820px){.grvst-logo-cloud--grid[data-logo-columns="3"] .grvst-logo-cloud__set,.grvst-logo-cloud--grid[data-logo-columns="4"] .grvst-logo-cloud__set{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.grvst-logo-cloud--grid[data-logo-columns] .grvst-logo-cloud__set{grid-template-columns:1fr}}


/* Text: ordinary modular-page prose; no cards, synthetic headings or theme adapter. */
.grvst.grvst-section.grvst-text{color:var(--grvst-text,inherit);font-family:var(--grvst-body,inherit);text-align:left}
.grvst.grvst-section.grvst-text>.grvst-wrap>h2{max-width:none;margin-inline:0;text-align:inherit;color:inherit;font-family:var(--grvst-head,inherit)}
.grvst.grvst-section.grvst-text>.grvst-wrap>.grvst-lead{max-width:none;margin-inline:0;text-align:inherit;color:var(--grvst-muted,inherit)}
.grvst.grvst-section.grvst-text--centered{text-align:center}
.grvst-text-readable>.grvst-wrap>.grvst-text__body{max-width:var(--grvst-readable-width,46rem);margin-inline:auto}
.grvst-text__body{min-width:0;line-height:1.65;overflow-wrap:anywhere}
.grvst-text__body>:first-child{margin-top:0}
.grvst-text__body>:last-child{margin-bottom:0}
.grvst-text__body :is(p,ul,ol,blockquote,pre,table){margin-block:calc(1rem*var(--grvst-space,1))}
.grvst-text__body :is(h1,h2,h3,h4,h5,h6){font-family:var(--grvst-head,inherit);color:inherit}
.grvst-text__body :is(img,video){max-width:100%;height:auto}
.grvst-text__body pre{overflow-x:auto;white-space:pre;overflow-wrap:normal}
.grvst-text__body table{display:block;max-width:100%;overflow-x:auto;text-align:left}
.grvst-text__body a{color:var(--grvst-accent,inherit)}

