.elementor-8 .elementor-element.elementor-element-4a01f71{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8 .elementor-element.elementor-element-0c35f63{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8 .elementor-element.elementor-element-9f51589{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8 .elementor-element.elementor-element-ff8d768{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8 .elementor-element.elementor-element-a9232cb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8 .elementor-element.elementor-element-f442975{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8 .elementor-element.elementor-element-3d56240{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;700&family=Inter:wght@400;500;600;700;800;900&family=Roboto+Mono:wght@400;500;700&display=swap');

:root {
  --g-blue:   #4285F4;
  --g-red:    #EA4335;
  --g-yellow: #FBBC04;
  --g-green:  #34A853;
  --g-dark:   #202124;
  --g-mid:    #5F6368;
  --g-light:  #F8F9FA;
  --g-border: #DADCE0;
  --g-card-shadow: 0 1px 2px 0 rgba(60,64,67,.10), 0 1px 3px 1px rgba(60,64,67,.08);
  --g-card-shadow-hover: 0 1px 3px 0 rgba(60,64,67,.15), 0 4px 8px 3px rgba(60,64,67,.08);
  --font-main: 'Google Sans', 'Inter', -apple-system, sans-serif;
  --font-mono: 'Roboto Mono', monospace;
}

/* ── Resets for Stride sections ── */
.stride-section * { box-sizing: border-box; -webkit-font-smoothing: antialiased; }
.stride-section { font-family: var(--font-main); color: var(--g-dark); }

/* ── Cards ── */
.st-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: var(--g-card-shadow);
  transition: box-shadow .2s ease;
}
.st-card:hover { box-shadow: var(--g-card-shadow-hover); }

.st-card-elevated {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 6px rgba(60,64,67,.10), 0 4px 12px rgba(60,64,67,.08);
  transition: box-shadow .3s ease, transform .3s ease;
}
.st-card-elevated:hover {
  box-shadow: 0 4px 12px rgba(60,64,67,.15), 0 8px 24px rgba(60,64,67,.08);
  transform: translateY(-2px);
}

/* ── Buttons ── */
.st-btn-primary {
  background: var(--g-green);
  color: #fff;
  padding: 12px 24px;
  border-radius: 24px;
  font-family: var(--font-main);
  font-weight: 500;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background .2s, box-shadow .2s;
  text-decoration: none;
  box-shadow: 0 1px 2px 0 rgba(60,64,67,.15);
}
.st-btn-primary:hover { background: #2D9248; box-shadow: 0 2px 4px 1px rgba(60,64,67,.15); color:#fff; }
.st-btn-primary:disabled { background: #BDC1C6; cursor: not-allowed; }

.st-btn-secondary {
  background: #fff;
  color: var(--g-green);
  padding: 12px 24px;
  border-radius: 24px;
  font-family: var(--font-main);
  font-weight: 500;
  font-size: 14px;
  border: 1px solid var(--g-border);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background .2s, border-color .2s;
  text-decoration: none;
}
.st-btn-secondary:hover { background: var(--g-light); border-color: #BDC1C6; color: var(--g-green); }

/* ── Typography helpers ── */
.st-display { font-family: var(--font-main); font-weight: 700; letter-spacing: -.02em; }
.st-section-meta {
  font-size: 12px;
  font-weight: 500;
  color: var(--g-green);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 8px;
}
.st-mono { font-family: var(--font-mono); }

/* ── Progress bar ── */
.st-progress { height: 8px; background: #F1F3F4; border-radius: 4px; overflow: hidden; }
.st-progress-fill { height: 100%; border-radius: 4px; transition: width 1s ease-out; }

/* ── Badge ── */
.st-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.st-badge-green  { background: #E6F4EA; color: #1E8E3E; }
.st-badge-blue   { background: #E8F0FE; color: #1A73E8; }
.st-badge-yellow { background: #FEF7E0; color: #B06000; }

/* ── Input field ── */
.st-input {
  background: #fff;
  border: 2px solid var(--g-border);
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 15px;
  color: var(--g-dark);
  width: 100%;
  font-family: var(--font-main);
  transition: border-color .2s, box-shadow .2s;
  outline: none;
}
.st-input:focus { border-color: var(--g-green); box-shadow: 0 0 0 3px rgba(52,168,83,.15); }

/* ── Google dot row ── */
.st-dots { display:flex; gap:5px; }
.st-dot { width:9px; height:9px; border-radius:50%; display:inline-block; }

/* ── Animations ── */
@keyframes st-pulse  { 0%,100%{opacity:1} 50%{opacity:.5} }
@keyframes st-spin   { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
@keyframes st-slideUp{ from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
@keyframes st-shimmer{
  0%   { background-position:-1000px 0 }
  100% { background-position: 1000px 0 }
}
.st-pulse   { animation: st-pulse  2s infinite; }
.st-spin    { animation: st-spin   1s linear infinite; }
.st-slide-up{ animation: st-slideUp .5s ease forwards; }
.st-skeleton{
  background: linear-gradient(90deg,#F1F3F4 0%,#fff 50%,#F1F3F4 100%);
  background-size: 1000px 100%;
  animation: st-shimmer 2s infinite;
  border-radius: 12px;
}

/* ── Grid helpers ── */
.st-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.st-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.st-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }

@media(max-width:900px){
  .st-grid-4,.st-grid-3 { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:600px){
  .st-grid-4,.st-grid-3,.st-grid-2 { grid-template-columns:1fr; }
}

/* ── Color bar (Google 4-color strip) ── */
.st-colorbar { display:flex; height:6px; border-radius:6px 6px 0 0; overflow:hidden; }
.st-colorbar > div { flex:1; }/* End custom CSS */