/* =========
   THEME TOKENS
========= */
:root{
  --bg:#fdfdfd;
  --text:#0f1116;
  --muted:#525767;
  --card:#f3f5fb;
  --border:#d9dce8;
  --cta:#3451ff;
  --ghost:#22242c;

  /* Hero animation colors */
  --hero-line:rgba(52,81,255,0.28);
  --hero-dot:#3451ff;
 

  /* Ambient line glow (used elsewhere if needed) */
   --halo:rgba(52,81,255,0.16);
}

:root.dark{
  --bg:#0f1217; --text:#eef1f7; --muted:#b5bbca;
  --card:#141824; --border:#222839; --cta:#4A6CFF; --ghost:#cfd5e6;

  --hero-line: rgba(74,108,255,0.25); /* soft network (dark) */
  --hero-dot: #4773FF;                /* same cobalt works on dark */

  --halo: rgba(74,108,255,0.15);
}

/* =========
   GLOBAL
========= */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html { scroll-behavior: smooth; }
/* Subtle depth for both themes */
body{
  color:var(--text);
  background: linear-gradient(160deg, var(--bg) 60%, rgba(45,78,207,0.04) 100%);
  background-attachment: fixed;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  line-height:1.65; transition: background .6s, color .6s;
}
:root.dark body{
  background: linear-gradient(160deg, var(--bg) 60%, rgba(74,108,255,0.06) 100%);
}

/* =========
   TYPE & UTILS
========= */
h1,h2,h3{font-family:"Space Grotesk",Inter,sans-serif; line-height:1.15; margin:0 0 .6rem; color:var(--cta);}
h1{font-size:clamp(2rem,5vw,3.5rem); letter-spacing:-0.02em; font-weight:700;}
h2{font-size:clamp(1.4rem,2.4vw,2.1rem); font-weight:600;}

.section{padding:84px 0}
.section.alt{
  background: linear-gradient(180deg, var(--card) 0%, rgba(45,78,207,0.03) 100%);
}
.container{width:min(1120px,92%); margin:0 auto}
.narrow{width:min(840px,92%)}
.center{text-align:center}
.lead{font-size:1.15rem; color:var(--muted)}
.para{opacity:.94}

.link{color:var(--cta); text-decoration:none; font-weight:600}
.link:hover{color:#2D4ECF; text-decoration:underline}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.7rem 1rem; border-radius:12px; text-decoration:none; font-weight:600; border:1px solid var(--border);
  color:var(--text); background:transparent; transition:.25s ease; cursor:pointer;
}
.btn.ghost:hover{background:var(--card)}
.btn.cta{background:linear-gradient(90deg,#2D4ECF,#446DFF); border-color:transparent; color:#fff; text-align:center;}
.btn.cta:hover{filter:brightness(1.1)}
.actions{display:flex; gap:10px; margin-top:12px; text-align:center;}

/* Chips/Tags */
.tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px}
.tags li{list-style:none; padding:.3rem .6rem; border:1px solid var(--border); border-radius:999px; color:var(--muted)}

/* =========
   HEADER / NAV
========= */
.site-header{
  position:sticky; top:0; z-index:40;
  backdrop-filter:saturate(1.2) blur(10px);
  background: color-mix(in srgb, var(--bg) 90%, var(--cta) 5%);
  border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:12px min(3vw,22px);
}
.brand{
font-family:font-family:"Space Grotesk", Inter, sans-serif;
  font-weight:700;
  letter-spacing:-0.02em;
  font-size:1.15rem; color:var(--text); text-decoration:none; white-space:nowrap}

.main-nav{display:flex; align-items:center; gap:6px}

.main-nav a{
  color:var(--text); text-decoration:none;
  padding:.5rem .8rem; border-radius:10px; line-height:1.2; font-weight:500; position: relative;
  transition: color .2s ease;
}
.main-nav a::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--cta);
  transition: width .2s ease;
}
.main-nav a:hover::after,
.main-nav a.active::after {
  width: 100%;
}
.main-nav a:hover{
  background:color-mix(in srgb, var(--card) 80%, var(--cta) 5%);
}
.main-nav a.active {
  color: var(--cta);
  font-weight: 600;
  border-bottom: 2px solid var(--cta);
}

.header-actions{display:flex; gap:10px; align-items:center}
.lang-btn, .lang-btn.small{
  background:transparent; border:1px solid var(--border); color:var(--text);
  padding:.35rem .6rem; border-radius:10px; cursor:pointer; transition:.2s;
}
.lang-btn:hover{background:var(--card)}
.icon-btn{
  border:1px solid var(--border); background:transparent; color:var(--text);
  padding:.35rem .55rem; border-radius:999px; cursor:pointer; transition:.25s;
}
.icon-btn:hover{background:var(--card)}
.icon-sun,.icon-moon{display:inline-block}
:root.dark .icon-sun{opacity:.35}
:root:not(.dark) .icon-moon{opacity:.35}

/* Burger (mobile) */
.burger{display:none; flex-direction:column; gap:4px; background:transparent; border:1px solid var(--border); padding:.45rem; border-radius:10px}
.burger span{display:block; width:20px; height:2px; background:var(--text)}

@media (max-width:980px){
  .main-nav{display:none; position:absolute; right:12px; top:60px; background:var(--bg);
    border:1px solid var(--border); border-radius:12px; padding:.6rem; flex-direction:column; gap:6px;
    box-shadow:0 18px 40px -22px var(--halo)}
  .main-nav.open{display:flex}
  .burger{display:flex}
}

/* =========
   HERO
========= */
.hero{
  position:relative; width:100%;
  min-height:72vh; display:grid; place-items:center; overflow:hidden;
}
#heroCanvas{
  position:absolute; top:0; left:0; width:100%; height:100%;
  pointer-events:none; display:block;
}
.hero-inner{position:relative; z-index:2; width:min(960px,92%); text-align:center}
.hero-slides{margin:8px auto 16px; min-height:28px; color:var(--muted); font-weight:600}
.hero-slides .slide {
  position:absolute;
  left:0; right:0;
  opacity:0;
  transition:opacity .8s ease;
}
.hero-slides .slide.active {
  opacity:1;
  position:relative;
}
.hero-actions{display:flex; gap:10px; justify-content:center; margin-top:8px}
@keyframes fade{from{opacity:0; transform:translateY(4px)} to{opacity:1; transform:none}}

/* =========
   GRID CARDS
========= */
.grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin-top:24px; margin-bottom: 48px;
}
.card{
  background:var(--bg); border:1px solid var(--border); border-radius:16px; padding:18px;
  transition: transform .25s, box-shadow .25s, background .6s, border-color .6s;
}
.card:hover{transform:translateY(-3px); box-shadow:0 12px 28px -16px var(--halo)}
.card-title{font-family:"Space Grotesk"; font-weight:600; margin-bottom:.2rem}
.card-desc{color:var(--muted)}

.bullets{margin:10px 0 0 1rem; padding:0}
.bullets li{margin:.2rem 0}

/* =========
   CONTACT + BREVO
========= */

.newsletter {
  background: var(--card);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.contact-form{
  margin-top:18px; background:var(--card); border:1px solid var(--border); border-radius:16px; padding:18px
}
.contact-form label span{display:block; font-weight:600; font-size:.95rem; margin-bottom:.2rem}
.contact-form input, .contact-form textarea{
  width:100%; border:1px solid var(--border); background:var(--bg); color:var(--text);
  padding:.7rem .8rem; border-radius:10px; outline:none; transition:border .2s;
}
.contact-form input:focus, .contact-form textarea:focus{border-color:color-mix(in lab, var(--cta) 65%, var(--border))}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:12px}
@media (max-width:680px){ .grid-2{grid-template-columns:1fr} }
.form-success{color:#28b060; font-weight:600; margin-top:.5rem}

.brevo-hook{margin:14px 0}
#brevoFormHook,
#fallbackForm{
  width:100%; max-width:680px; margin:0 auto 24px; transition:opacity .4s ease;
}
#brevoFormHook:empty{
  min-height:100px; border:1px dashed var(--border); border-radius:12px;
  display:flex; align-items:center; justify-content:center; color:var(--muted);
  font-size:.9rem; opacity:.6;
}
#brevoFormHook:empty::before{content:"Brevo form placeholder — paste your embed here"}

/* Quick contact cards inherit general .card */
.contact-cards{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin:18px 0;
}
.contact-cards .card{background:var(--card)}
.contact-cards .card .card-body{color:var(--muted)}

/* =========
   FOOTER
========= */
.site-footer{
  background: color-mix(in srgb, var(--bg) 90%, var(--cta) 5%);
  border-top:1px solid var(--border); padding:18px 0; margin-top:36px
}
.footer-wrap{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap}
.foot-left{color:var(--muted)}

/* =========
   REVEAL
========= */
.reveal{opacity:0; transform:translateY(8px); transition:.7s ease}
.reveal.in{opacity:1; transform:none}
/* === HEADER FIX PATCH === */
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 3vw;
  height: 64px;
  position: sticky;
  top: 0;
  z-index: 50;
}

.brand {
  display: flex;
  align-items: center;
  font-size: 1.1rem;
}

.main-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.main-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 0.8rem;
  line-height: 1.2;
  font-weight: 500;
  border-radius: 10px;
  transition: background 0.25s ease;
}

.main-nav a:hover {
  background: color-mix(in srgb, var(--card) 85%, var(--cta) 8%);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Ensure burger doesn't shift header items on small screens */
@media (max-width: 980px) {
  .site-header {
    flex-wrap: wrap;
    height: auto;
  }
  .brand {
    flex: 1 0 100%;
    justify-content: center;
    margin-bottom: 6px;
  }
}

/* === Brevo Form Dark Mode Overrides === */

/* General reset for transparency and border harmony */
.sib-form,
#sib-container {
  background-color: transparent !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}

/* Text color for both modes */
#sib-container label,
#sib-container p,
#sib-container input,
#sib-container button,
#sib-container .entry__specification {
  color: var(--text) !important;
}

/* Input background & border to match your theme */
#sib-container input {
  background-color: var(--bg) !important;
  border: 1px solid var(--border) !important;
}

/* Button adapt to dark/light CTA color */
#sib-container button {
  background: linear-gradient(90deg, var(--cta), #446DFF) !important;
  border: none !important;
  color: #fff !important;
  font-weight: 600 !important;
  transition: filter .25s ease;
}
#sib-container button:hover {
  filter: brightness(1.1);
}

/* Recolor success and error messages for consistency */
#success-message,
#error-message {
  background-color: var(--card) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Ensure icons and SVG paths use the text color */
.sib-form svg path {
  fill: var(--text) !important;
}

/* Dark mode refinements */
:root.dark #sib-container {
  background-color: rgba(20, 24, 36, 0.9) !important;
  border: 1px solid var(--border) !important;
}

:root.dark .sib-form {
  background-color: transparent !important;
}

:root.dark #sib-container input {
  background-color: #141824 !important;
  color: #eef1f7 !important;
}

:root.dark #sib-container button {
  background: linear-gradient(90deg, #4A6CFF, #6080FF) !important;
}


/* === Animated separators inspired by hero network === */
.separator.network {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 72px 0;
  position: relative;
}

.separator.network span {
  position: relative;
  width: 140px;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--hero-line),
    var(--hero-dot),
    var(--hero-line),
    transparent
  );
  border-radius: 2px;
  animation: flowLine 4s infinite ease-in-out;
  opacity: 0.8;
}

/* small floating dots along the line */
.separator.network::before,
.separator.network::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--hero-dot);
  animation: moveDot 4s infinite ease-in-out;
}

.separator.network::after {
  animation-delay: 2s;
}

@keyframes flowLine {
  0%,100% { opacity: 0.5; transform: scaleX(0.8); }
  50% { opacity: 1; transform: scaleX(1); }
}

@keyframes moveDot {
  0% { left: 30%; opacity: 0.2; transform: scale(0.6); }
  50% { left: 70%; opacity: 1; transform: scale(1); }
  100% { left: 30%; opacity: 0.2; transform: scale(0.6); }
}

/* ===== ANIMATED SEPARATORS ===== */
.separator {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 48px 0;
}

.separator span {
  width: 120px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--cta), transparent);
  border-radius: 3px;
  position: relative;
  animation: linePulse 3s infinite ease-in-out;
  opacity: 0.6;
}

@keyframes linePulse {
  0%,100% { opacity: 0.3; transform: scaleX(0.6); }
  50% { opacity: 1; transform: scaleX(1); }
}

/* Optional color variants */
.separator.blue span   { background: linear-gradient(90deg, transparent, #4773FF, transparent); }
.separator.indigo span { background: linear-gradient(90deg, transparent, #2D4ECF, transparent); }
.separator.orange span { background: linear-gradient(90deg, transparent, #ff9347, transparent); }

/* === Active language button highlight === */
.lang-btn.active {
  background: var(--card);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--cta) 25%, transparent);
}
/* Compact icon link array */
.contact-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 32px;
  margin: 32px 0;
}

.contact-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  color: var(--text);
  text-decoration: none;
  transition: color .25s ease;
}

.contact-link:hover { color: var(--cta); }

/* Simple icon placeholders — replace with SVGs or icon font */
.contact-link i {
  width: 20px;
  height: 20px;
  display: inline-block;
  background: var(--cta);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}

/* Example masks (use your preferred SVG paths) */
.icon-mail      { mask-image: url("/assets/icons/mail.svg"); }
.icon-instagram { mask-image: url("/assets/icons/instagram.svg"); }
.icon-linkedin  { mask-image: url("/assets/icons/linkedin.svg"); }
.icon-youtube   { mask-image: url("/assets/icons/youtube.svg"); }
.icon-globe     { mask-image: url("/assets/icons/globe.svg"); }
.icon-whatsapp { mask-image: url("/assets/icons/whatsapp.svg"); }

/* === Contact section inverted === */
.contact {
  background: var(--cta);
  color: #fff;
}
.contact h2,
.contact p,
.contact a,
.contact .contact-link,
.contact .btn {
  color: #fff; text-align:center;
}
.contact .btn.cta {
  background: #fff;
  color: var(--cta);
  border-color: transparent;
display:inline-block;
  margin:24px auto 0;
}
.contact .btn.cta:hover {
  filter: brightness(0.95);
}
:root.dark .contact {
  background: #2D4ECF;
}

.parallax-banner {
  position: relative;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  color: #fff;
  text-align: center;
  padding: 140px 20px;
}

.parallax-banner .overlay {
  background: rgba(0,0,0,0.45);
  backdrop-filter: blur(2px);
  padding: 60px 30px;
  border-radius: 12px;
}
/* Generic overlay toggle for parallax sections */
.section.parallax.overlay::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(160deg, rgba(0,0,0,0.45), rgba(0,0,0,0.25));
  backdrop-filter:blur(2px);
  z-index:0;
}
:root.dark .section.parallax.overlay::before {
  background:linear-gradient(160deg, rgba(0,0,0,0.6), rgba(0,0,0,0.3));
}

/* === Parallax background handler === */
section.parallax {
  position: relative;
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  color: var(--text);
}

/* Theme-based background swapping */
:root {
  --bg-projects: url("./assets/img/bg-light.jpg");
  --bg-contact: url("./assets/img/bg-light.jpg");
}

:root.dark {
  --bg-projects: url("./assets/img/bg-dark.jpg");
  --bg-contact: url("./assets/img/bg-dark.jpg");
}

/* Optional monochrome fallback */
body.bw-mode :root {
  --bg-projects: url("./assets/img/bg-bw.jpg");
  --bg-contact: url("./assets/img/bg-bw.jpg");
}

/* Specific section backgrounds */
#projects.parallax {
  background-image: var(--bg-projects);
}

#contact.parallax {
  background-image: var(--bg-contact);
}

/* Overlay for readability */
#projects.parallax::before,
#contact.parallax::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.65);
  backdrop-filter: blur(2px);
  z-index: 0;
}
:root.dark #projects.parallax::before,
:root.dark #contact.parallax::before {
  background: rgba(0,0,0,0.45);
}
#projects > *,
#contact > * {
  position: relative;
  z-index: 1;
}

.timeline{margin:40px auto;max-width:600px;text-align:left;}
.timeline div{margin-bottom:12px;font-size:0.95rem;color:var(--muted);}
.benefits{list-style:none;margin:20px 0;padding:0;}
.benefits li{margin:10px 0;font-weight:500;}


.posts{display:grid;gap:24px;margin-top:40px;}
.posts article{background:var(--card);padding:24px;border-radius:12px;text-align:left;}
.posts h3{margin-top:0;}

#contact-hero, #contact-options, #contact-location {
  background-image: var(--bg-projects);
}

#mainContactForm {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 24px;
}

#mainContactForm label {
  font-weight: 600;
  font-size: 0.9rem;
}

#mainContactForm input,
#mainContactForm select,
#mainContactForm textarea {
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--card);
  color: var(--text);
  font: inherit;
}

#mainContactForm button {
  align-self: flex-start;
}

.contact-options-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 32px;
}

.contact-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: var(--card);
  border-radius: 10px;
  text-decoration: none;
  color: var(--text);
  transition: transform .25s ease, background .25s ease;
}

.contact-option:hover {
  background: var(--cta);
  color: #fff;
  transform: translateY(-3px);
}

/* Journal */

#featuredCarousel {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 10px;
}
#featuredCarousel article {
  flex: 0 0 280px;
  scroll-snap-align: start;
}
.tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.tags button {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 6px 14px;
  cursor: pointer;
  transition: background .25s ease;
}
.tags button:hover {
  background: var(--cta);
  color: #fff;
}


.card img {
  width: 100%;
  border-radius: 12px 12px 0 0;
  display: block;
}
.card-body {
  padding: 16px;
}
.card .meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.85rem;
  color: var(--muted);
  margin-top: 8px;
}
.tags, .tag {
  display: inline-flex;
  gap: 6px;
}
.tag {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 2px 8px;
  font-size: 0.75rem;
}

#postModal {
  position: fixed;
  inset: 0;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
#postModal.open { display: flex; }
#postModal .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(4px);
}
#postModal .modal-content {
  position: relative;
  background: var(--bg);
  color: var(--text);
  border-radius: 12px;
  padding: 40px;
  max-width: 800px;
  max-height: 80vh;
  overflow-y: auto;
  box-shadow: 0 10px 40px rgba(0,0,0,0.4);
  z-index: 2;
}
#postModal .close {
  position: absolute;
  top: 8px;
  right: 12px;
  background: none;
  border: none;
  color: var(--text);
  font-size: 2rem;
  cursor: pointer;
}
#postModal .modal-body img {
  max-width: 100%;
  border-radius: 8px;
  margin: 12px 0;
}

/* ABout */
#about-hero, #about-timeline, #about-cta {
  background-image: var(--bg-projects);
}

.timeline {
  list-style: none;
  padding: 0;
  margin: 40px auto;
  border-left: 2px solid var(--border);
}
.timeline li {
  margin: 20px 0;
  padding-left: 20px;
  position: relative;
}
.timeline li::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--cta);
}

/*Coaching*/
#coach-hero, #coach-programs, #coach-cta {
  background-image: var(--bg-projects);
}

.pillars {
  list-style: none;
  margin: 30px auto;
  padding: 0;
}
.pillars li {
  background: var(--card);
  border-radius: 10px;
  padding: 14px 18px;
  margin: 10px 0;
  border: 1px solid var(--border);
}

.programs {
  gap: 24px;
  justify-content: center;
}

.testimonials blockquote {
  font-style: italic;
  background: var(--card);
  padding: 20px;
  border-radius: 10px;
  margin: 20px 0;
  position: relative;
}
.testimonials blockquote::before {
  content: "“";
  font-size: 3rem;
  position: absolute;
  left: 10px;
  top: -20px;
  opacity: 0.15;
}
/*manifesto*/
#manifesto-hero, #manif-quote {
  background-image: var(--bg-projects);
}

blockquote {
  font-size: 1.3rem;
  font-style: italic;
  line-height: 1.6;
  max-width: 700px;
  margin: 40px auto;
  position: relative;
}
blockquote::before, blockquote::after {
  content: '"';
  font-size: 3rem;
  position: absolute;
  opacity: 0.15;
}
blockquote::before { left: -18px; top: -10px; }
blockquote::after { display: none; }

.share-buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 20px;
}
#projects-hero, #projects-cta {
  background-image: var(--bg-projects);
}

#projectsGrid {
   display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  align-items: start;
}

#projectsGrid .card img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 12px 12px 0 0;
}
#projectsGrid .card {
  display: flex;
  flex-direction: column;
  height: auto;
  text-align: left;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease;
}
#projectsGrid .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
#projectsGrid .card h3 {
  margin: 12px 16px 0;
flex-grow: 0;
}
#projectsGrid .card p {
  margin: 8px 16px 16px;
  color: var(--muted);
}
