/* ==========================================================================
   Eduvantage — Site stylesheet
   Motion & layout language adapted from OSE Engineering's technical
   precision aesthetic, rendered entirely in the Eduvantage design system.
   ========================================================================== */

/* --- Reset ------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
img,svg,video{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:none;cursor:pointer}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}

body{
  font-family:var(--ev-font);
  font-weight:var(--ev-weight-body);
  font-size:.9375rem;
  line-height:1.58;
  color:var(--ev-text-primary);
  background:var(--ev-bg-surface);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

/* --- Typography -------------------------------------------------------- */
h1,h2,h3,h4,h5,h6,th,label,button{font-weight:var(--ev-weight-display)}
h1{font-size:1.875rem;line-height:1.22;letter-spacing:-.015em}
h2{font-size:1.5rem;line-height:1.28;letter-spacing:-.01em}
h3{font-size:1.25rem;line-height:1.32;letter-spacing:-.005em}
h4{font-size:1.0625rem;line-height:1.38}
h5{font-size:.9375rem;line-height:1.42}
/* Size utilities: keep heading LEVEL semantic, control SIZE here */
.ev-h4{font-size:1.0625rem;line-height:1.38;letter-spacing:0}
.ev-h5{font-size:.9375rem;line-height:1.42;letter-spacing:0}

.ev-hero-type{
  font-size:clamp(2.5rem,6.5vw,4.25rem);
  font-weight:var(--ev-weight-display-max);
  line-height:1.02;letter-spacing:-.032em;max-width:19ch;
}
.ev-display-1{
  font-size:clamp(2rem,4.6vw,3.25rem);
  font-weight:var(--ev-weight-display-max);
  line-height:1.08;letter-spacing:-.025em;max-width:22ch;
}
.ev-display-2{
  font-size:clamp(1.75rem,3.4vw,2.625rem);
  font-weight:var(--ev-weight-display);
  line-height:1.12;letter-spacing:-.02em;max-width:24ch;
}
.ev-display-3{
  font-size:clamp(1.5rem,2.6vw,2.125rem);
  font-weight:var(--ev-weight-display);
  line-height:1.18;letter-spacing:-.015em;
}
.ev-lead{font-size:clamp(1.0625rem,1.6vw,1.1875rem);line-height:1.62;
  font-weight:var(--ev-weight-body);color:var(--ev-text-secondary);max-width:62ch}
.ev-body-lg{font-size:1.0625rem;line-height:1.6}
.ev-body-sm{font-size:.8125rem;line-height:1.54}
.ev-caption{font-size:.75rem;line-height:1.45;color:var(--ev-text-tertiary)}
.ev-prose{max-width:68ch}
.ev-prose p+p{margin-top:1em}

/* Eyebrow — OSE trailing-underscore motif, in Eduvantage green */
.ev-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.6875rem;font-weight:var(--ev-weight-display);
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--ev-text-accent);
}
.ev-eyebrow::before{
  content:"";width:14px;height:14px;flex:none;
  background:var(--ev-sand-300);
}
.ev-eyebrow::after{content:"_";opacity:.6}
.ev-eyebrow--light{color:var(--ev-teal-100)}
.ev-eyebrow--onteal{color:var(--ev-navy-700)}

.ev-numeric{font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:'tnum' 1,'lnum' 1}

/* --- Layout ------------------------------------------------------------ */
.ev-container{width:100%;max-width:var(--ev-container);margin-inline:auto;
  padding-inline:var(--ev-gutter)}
.ev-container--narrow{max-width:var(--ev-container-narrow)}

.ev-section{padding-block:clamp(3rem,7vw,5rem)}
.ev-section--lg{padding-block:clamp(4rem,9vw,7rem)}
.ev-section--compact{padding-block:clamp(2.25rem,4.5vw,3.5rem)}
.ev-section--page{background:var(--ev-bg-page)}
.ev-section--brand{background:var(--ev-bg-brand)}
.ev-section--subtle{background:var(--ev-bg-brand-subtle)}
.ev-section--inverse{background:var(--ev-bg-inverse);color:var(--ev-text-inverse)}
.ev-section--inverse .ev-lead{color:var(--ev-navy-200)}
.ev-section--brand .ev-lead{color:var(--ev-navy-800)}

.ev-grid{display:grid;gap:var(--ev-space-6)}
.ev-grid--2{grid-template-columns:1fr}
.ev-grid--3{grid-template-columns:1fr}
.ev-grid--4{grid-template-columns:repeat(2,1fr)}
@media (min-width:768px){
  .ev-grid--2{grid-template-columns:repeat(2,1fr)}
  .ev-grid--3{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:1024px){
  .ev-grid--3{grid-template-columns:repeat(3,1fr)}
  .ev-grid--4{grid-template-columns:repeat(4,1fr)}
}
.ev-split{display:grid;gap:clamp(2rem,5vw,4rem);align-items:center}
@media (min-width:900px){.ev-split{grid-template-columns:1fr 1fr}
  .ev-split--wide-left{grid-template-columns:1.15fr .85fr}}

.ev-stack>*+*{margin-top:var(--ev-space-4)}
.ev-stack-lg>*+*{margin-top:var(--ev-space-8)}
.ev-section-head{max-width:56ch;margin-bottom:clamp(2rem,4vw,3rem)}
.ev-section-head>*+*{margin-top:var(--ev-space-4)}

/* --- Scroll progress --------------------------------------------------- */
.ev-progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:200;
  background:var(--ev-green-600);transition:width 80ms linear}

/* --- Status readout (OSE-inspired technical strip) --------------------- */
.ev-readout{
  background:var(--ev-navy-800);color:var(--ev-navy-300);
  font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;
  font-weight:var(--ev-weight-display);
}
.ev-readout__inner{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;
  align-items:center;padding-block:.5rem;justify-content:space-between}
.ev-readout__group{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center}
.ev-readout__item{display:flex;align-items:center;gap:.45rem}
.ev-readout__dot{width:6px;height:6px;background:var(--ev-teal-400);
  border-radius:50%;animation:ev-pulse 2.4s var(--ev-ease) infinite}
@keyframes ev-pulse{0%,100%{opacity:1}50%{opacity:.25}}
.ev-readout b{color:var(--ev-teal-200);font-weight:var(--ev-weight-display)}
@media (max-width:640px){.ev-readout__group:last-child{display:none}}

/* --- Navigation -------------------------------------------------------- */
.ev-nav{position:sticky;top:0;z-index:150;background:var(--ev-bg-surface);
  border-bottom:1px solid var(--ev-border-default);
  transition:box-shadow var(--ev-motion-fast) var(--ev-ease)}
.ev-nav.is-scrolled{box-shadow:var(--ev-shadow-sm)}
.ev-nav__inner{display:flex;align-items:center;justify-content:space-between;
  gap:var(--ev-space-6);height:var(--ev-nav-h)}
.ev-nav__logo{display:flex;align-items:center;gap:.6rem;font-weight:900;
  font-size:1.125rem;letter-spacing:-.02em;color:var(--ev-navy-700)}
.ev-nav__logo img{height:30px;width:auto}
.ev-nav__mark{width:26px;height:26px;background:var(--ev-teal-400);
  display:grid;place-items:center;color:#fff;font-size:.8rem;font-weight:900}
.ev-nav__links{display:none;align-items:center;gap:var(--ev-space-6)}
@media (min-width:1024px){.ev-nav__links{display:flex}}
.ev-nav__link{position:relative;font-size:.9375rem;
  font-weight:var(--ev-weight-display);color:var(--ev-navy-700);
  padding-block:.4rem;transition:color var(--ev-motion-fast) var(--ev-ease)}
.ev-nav__link::after{content:"";position:absolute;left:0;bottom:0;height:2px;
  width:0;background:var(--ev-green-600);
  transition:width var(--ev-motion-base) var(--ev-ease)}
.ev-nav__link:hover{color:var(--ev-green-600)}
.ev-nav__link:hover::after,.ev-nav__link.is-active::after{width:100%}
.ev-nav__link.is-active{color:var(--ev-green-600)}
.ev-nav__actions{display:flex;align-items:center;gap:.75rem}
.ev-nav__toggle{display:grid;place-items:center;width:44px;height:44px;
  border:1px solid var(--ev-border-default);color:var(--ev-navy-700);
  font-size:.6875rem;font-weight:900;letter-spacing:.1em}
@media (min-width:1024px){.ev-nav__toggle{display:none}}

/* Mobile overlay menu */
.ev-menu{position:fixed;inset:0;z-index:180;background:var(--ev-navy-700);
  color:#fff;display:flex;flex-direction:column;padding:var(--ev-gutter);
  transform:translateY(-100%);visibility:hidden;
  transition:transform var(--ev-motion-slow) var(--ev-ease),visibility var(--ev-motion-slow)}
.ev-menu.is-open{transform:translateY(0);visibility:visible}
.ev-menu__head{display:flex;justify-content:space-between;align-items:center;
  height:var(--ev-nav-h)}
.ev-menu__close{width:44px;height:44px;border:1px solid rgba(255,255,255,.25);
  color:#fff;font-size:.6875rem;font-weight:900;letter-spacing:.1em}
.ev-menu__list{margin-top:var(--ev-space-8);overflow-y:auto;flex:1}
.ev-menu__list li{border-top:1px solid rgba(255,255,255,.12)}
.ev-menu__list li:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.ev-menu__list a{display:flex;justify-content:space-between;align-items:center;
  padding:1.05rem 0;font-size:1.375rem;font-weight:800;letter-spacing:-.01em}
.ev-menu__list a::after{content:"_";color:var(--ev-teal-300)}
.ev-menu__foot{padding-top:var(--ev-space-6);
  border-top:1px solid rgba(255,255,255,.12);margin-top:var(--ev-space-6)}

/* --- Buttons ----------------------------------------------------------- */
.ev-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  height:44px;padding-inline:1.375rem;font-size:.9375rem;
  font-weight:var(--ev-weight-display);letter-spacing:.005em;
  border-radius:var(--ev-radius-md);border:1px solid transparent;
  transition:background var(--ev-motion-fast) var(--ev-ease),
             color var(--ev-motion-fast) var(--ev-ease),
             border-color var(--ev-motion-fast) var(--ev-ease),
             transform var(--ev-motion-fast) var(--ev-ease)}
.ev-btn:active{transform:translateY(1px)}
.ev-btn--primary{background:var(--ev-action-primary);color:#fff}
.ev-btn--primary:hover{background:var(--ev-action-primary-hover)}
.ev-btn--secondary{background:var(--ev-action-secondary);color:#fff}
.ev-btn--secondary:hover{background:var(--ev-action-secondary-hover)}
.ev-btn--outline{border-color:var(--ev-border-strong);color:var(--ev-navy-700)}
.ev-btn--outline:hover{background:var(--ev-ink-50);border-color:var(--ev-navy-700)}
.ev-btn--onDark{border-color:rgba(255,255,255,.35);color:#fff}
.ev-btn--onDark:hover{background:rgba(255,255,255,.1);border-color:#fff}
.ev-btn--lg{height:52px;padding-inline:1.75rem;font-size:1rem}
.ev-btn__arrow{transition:transform var(--ev-motion-base) var(--ev-ease)}
.ev-btn:hover .ev-btn__arrow{transform:translateX(4px)}
.ev-btn-row{display:flex;flex-wrap:wrap;gap:.75rem}

/* Bracket link — OSE [see +] motif */
.ev-blink{display:inline-flex;align-items:center;gap:.4rem;
  font-size:.8125rem;font-weight:var(--ev-weight-display);
  letter-spacing:.06em;text-transform:uppercase;color:var(--ev-green-600);
  transition:gap var(--ev-motion-base) var(--ev-ease)}
.ev-blink::before{content:"[";color:var(--ev-sand-500)}
.ev-blink::after{content:"]";color:var(--ev-sand-500)}
.ev-blink:hover{gap:.7rem}
.ev-blink--light{color:var(--ev-teal-200)}
.ev-blink--light::before,.ev-blink--light::after{color:var(--ev-teal-400)}

/* --- Hero -------------------------------------------------------------- */
.ev-hero{position:relative;overflow:hidden;background:var(--ev-bg-surface);
  padding-block:clamp(3rem,7vw,6rem) clamp(3rem,6vw,5rem)}
.ev-hero__grid{display:grid;gap:clamp(2.5rem,5vw,4rem);align-items:center}
@media (min-width:1024px){.ev-hero__grid{grid-template-columns:1.05fr .95fr}}
.ev-hero__copy>*+*{margin-top:var(--ev-space-6)}
.ev-hero__media{position:relative}
.ev-hero__media img{width:100%;aspect-ratio:4/3;object-fit:cover;
  border-radius:var(--ev-radius-none)}
.ev-hero__badge{position:absolute;left:0;bottom:0;background:var(--ev-navy-700);
  color:#fff;padding:.9rem 1.15rem;max-width:78%}
.ev-hero__badge b{display:block;font-size:1.5rem;font-weight:900;
  color:var(--ev-teal-300);line-height:1.1}
.ev-hero__badge span{font-size:.6875rem;letter-spacing:.1em;
  text-transform:uppercase;font-weight:800;color:var(--ev-navy-200)}
/* Decorative teal band, echoing the deck's right-edge fill */
.ev-hero::after{content:"";position:absolute;top:0;right:0;width:22vw;
  height:100%;background:var(--ev-teal-50);z-index:-1}

/* --- Cards ------------------------------------------------------------- */
.ev-card{background:var(--ev-bg-surface);border:1px solid var(--ev-border-default);
  border-radius:var(--ev-radius-md);padding:var(--ev-space-5);height:100%;
  display:flex;flex-direction:column;gap:.6rem;
  transition:border-color var(--ev-motion-base) var(--ev-ease),
             transform var(--ev-motion-base) var(--ev-ease)}
.ev-card:hover{border-color:var(--ev-navy-300);transform:translateY(-2px)}
.ev-card__icon{width:36px;height:36px;background:var(--ev-sand-300);
  display:grid;place-items:center;color:var(--ev-navy-800);flex:none}
.ev-card h3,.ev-card h4{color:var(--ev-navy-700)}
.ev-card p{color:var(--ev-text-secondary);font-size:.9375rem}
.ev-card--flush{padding:0;border:none}
.ev-card--inverse{background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.14);color:#fff}
.ev-card--inverse p{color:var(--ev-navy-200)}
.ev-card--inverse:hover{border-color:var(--ev-teal-400)}

/* Module row — deck-style card with sand marker */
.ev-module{display:flex;align-items:flex-start;gap:1rem;padding:1.05rem 1.15rem;
  border:1px solid var(--ev-border-default);background:#fff;
  border-radius:var(--ev-radius-md);height:100%;
  transition:border-color var(--ev-motion-base) var(--ev-ease),
             box-shadow var(--ev-motion-base) var(--ev-ease)}
.ev-module:hover{border-color:var(--ev-navy-300);box-shadow:var(--ev-shadow-sm)}
.ev-module__mark{width:32px;height:32px;flex:none;background:var(--ev-sand-300);
  display:grid;place-items:center;color:var(--ev-navy-800);
  transition:background var(--ev-motion-base) var(--ev-ease)}
.ev-module:hover .ev-module__mark{background:var(--ev-teal-400)}
.ev-module h4{margin-bottom:.15rem}
.ev-module p{font-size:.8125rem;color:var(--ev-text-secondary);line-height:1.45}

/* Outcome card with image */
.ev-outcome{border:1px solid var(--ev-border-default);background:#fff;
  border-radius:var(--ev-radius-md);overflow:hidden;height:100%;
  display:flex;flex-direction:column}
.ev-outcome__img{aspect-ratio:4/3;overflow:hidden;background:var(--ev-ink-100)}
.ev-outcome__img img{width:100%;height:100%;object-fit:cover;
  transition:transform 600ms var(--ev-ease)}
.ev-outcome:hover .ev-outcome__img img{transform:scale(1.04)}
.ev-outcome__body{padding:var(--ev-space-5);display:flex;flex-direction:column;
  gap:.5rem;flex:1}

/* --- Stats ------------------------------------------------------------- */
.ev-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  background:var(--ev-border-default);border:1px solid var(--ev-border-default)}
@media (min-width:900px){.ev-stats{grid-template-columns:repeat(4,1fr)}}
.ev-stat{background:#fff;padding:var(--ev-space-6) var(--ev-space-5)}
.ev-stat b{display:block;font-size:clamp(1.75rem,3.6vw,2.5rem);font-weight:900;
  line-height:1.05;letter-spacing:-.02em;color:var(--ev-navy-700)}
.ev-stat span{display:block;margin-top:.4rem;font-size:.6875rem;
  letter-spacing:.1em;text-transform:uppercase;font-weight:800;
  color:var(--ev-text-tertiary)}
.ev-section--inverse .ev-stats{background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.14)}
.ev-section--inverse .ev-stat{background:var(--ev-navy-700)}
.ev-section--inverse .ev-stat b{color:var(--ev-teal-300)}
.ev-section--inverse .ev-stat span{color:var(--ev-navy-300)}

/* --- Marquee ----------------------------------------------------------- */
.ev-marquee{overflow:hidden;position:relative;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ev-marquee__track{display:flex;gap:3.5rem;width:max-content;
  animation:ev-scroll 32s linear infinite}
.ev-marquee:hover .ev-marquee__track{animation-play-state:paused}
@keyframes ev-scroll{to{transform:translateX(-50%)}}
.ev-marquee__item{display:flex;align-items:center;gap:.75rem;
  font-size:1rem;font-weight:800;color:var(--ev-navy-600);white-space:nowrap}
.ev-marquee__item::before{content:"";width:8px;height:8px;
  background:var(--ev-sand-400);flex:none}
.ev-marquee__item img{height:34px;width:auto;object-fit:contain;
  filter:grayscale(1);opacity:.75;
  transition:filter var(--ev-motion-base),opacity var(--ev-motion-base)}
.ev-marquee__item:hover img{filter:grayscale(0);opacity:1}

/* --- Numbered steps ---------------------------------------------------- */
.ev-steps{display:grid;gap:1px;background:var(--ev-border-default);
  border:1px solid var(--ev-border-default)}
@media (min-width:900px){.ev-steps{grid-template-columns:repeat(3,1fr)}}
.ev-step{background:#fff;padding:var(--ev-space-8) var(--ev-space-6);
  position:relative;transition:background var(--ev-motion-base) var(--ev-ease)}
.ev-step:hover{background:var(--ev-teal-50)}
.ev-step__n{font-size:2.75rem;font-weight:900;line-height:1;
  color:var(--ev-sand-300);letter-spacing:-.03em;
  transition:color var(--ev-motion-base) var(--ev-ease)}
.ev-step:hover .ev-step__n{color:var(--ev-teal-400)}
.ev-step h3{margin:.9rem 0 .55rem}
.ev-step h3::after{content:"_";color:var(--ev-green-600)}
.ev-step p{color:var(--ev-text-secondary);font-size:.9375rem}
.ev-step__list{margin-top:1rem;display:flex;flex-direction:column;gap:.3rem}
.ev-step__list li{font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;
  font-weight:800;color:var(--ev-green-600)}

/* --- Accordion --------------------------------------------------------- */
.ev-acc{border-top:1px solid var(--ev-border-default)}
.ev-acc__item{border-bottom:1px solid var(--ev-border-default)}
.ev-acc__btn{width:100%;display:flex;align-items:center;justify-content:space-between;
  gap:1.5rem;padding:1.25rem 0;text-align:left;font-size:1.0625rem;
  font-weight:800;color:var(--ev-navy-700);
  transition:color var(--ev-motion-fast) var(--ev-ease)}
.ev-acc__btn:hover{color:var(--ev-green-600)}
.ev-acc__sign{width:24px;height:24px;flex:none;position:relative}
.ev-acc__sign::before,.ev-acc__sign::after{content:"";position:absolute;
  background:var(--ev-green-600);transition:transform var(--ev-motion-base) var(--ev-ease)}
.ev-acc__sign::before{left:0;top:11px;width:24px;height:2px}
.ev-acc__sign::after{left:11px;top:0;width:2px;height:24px}
.ev-acc__item.is-open .ev-acc__sign::after{transform:rotate(90deg) scaleX(0)}
.ev-acc__panel{max-height:0;overflow:hidden;
  transition:max-height var(--ev-motion-slow) var(--ev-ease)}
.ev-acc__inner{padding-bottom:1.4rem;color:var(--ev-text-secondary);max-width:68ch}
.ev-acc__inner>*+*{margin-top:.75rem}

/* --- Role tabs --------------------------------------------------------- */
.ev-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--ev-space-8)}
.ev-tab{padding:.6rem 1.05rem;border:1px solid var(--ev-border-default);
  border-radius:var(--ev-radius-sm);font-size:.8125rem;font-weight:800;
  color:var(--ev-navy-700);background:#fff;
  transition:all var(--ev-motion-fast) var(--ev-ease)}
.ev-tab:hover{border-color:var(--ev-navy-400)}
.ev-tab.is-active{background:var(--ev-navy-700);color:#fff;
  border-color:var(--ev-navy-700)}
.ev-panel{display:none}
.ev-panel.is-active{display:block;animation:ev-fade var(--ev-motion-base) var(--ev-ease)}
@keyframes ev-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ev-panel__list{display:grid;gap:.65rem;margin-top:var(--ev-space-5)}
.ev-panel__list li{display:flex;gap:.7rem;align-items:flex-start;
  font-size:.9375rem;color:var(--ev-text-secondary)}
.ev-panel__list li::before{content:"";width:14px;height:14px;flex:none;
  margin-top:.28rem;background:var(--ev-green-600)}

/* --- Feature list ------------------------------------------------------ */
.ev-flist{display:grid;gap:1px;background:var(--ev-border-default);
  border:1px solid var(--ev-border-default)}
.ev-flist__row{background:#fff;display:grid;gap:.35rem;padding:1.15rem 1.35rem;
  transition:background var(--ev-motion-fast) var(--ev-ease)}
@media (min-width:768px){.ev-flist__row{grid-template-columns:.9fr 1.6fr;
  gap:1.5rem;align-items:baseline}}
.ev-flist__row:hover{background:var(--ev-ink-50)}
.ev-flist__row b{font-weight:800;color:var(--ev-navy-700);font-size:.9375rem}
.ev-flist__row span{color:var(--ev-text-secondary);font-size:.9375rem}

/* --- Comparison table -------------------------------------------------- */
.ev-tablewrap{overflow-x:auto;border:1px solid var(--ev-border-default)}
.ev-table{width:100%;border-collapse:collapse;min-width:520px;background:#fff}
.ev-table th{background:var(--ev-ink-50);text-align:left;padding:.75rem 1rem;
  font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;
  font-weight:800;color:var(--ev-ink-600);
  border-bottom:1px solid var(--ev-border-default)}
.ev-table td{padding:.85rem 1rem;font-size:.9375rem;
  border-bottom:1px solid var(--ev-border-subtle);vertical-align:top}
.ev-table tr:last-child td{border-bottom:none}
.ev-table tbody tr:hover{background:var(--ev-ink-50)}

/* --- Badges ------------------------------------------------------------ */
.ev-badge{display:inline-flex;align-items:center;height:22px;padding-inline:.5rem;
  border-radius:var(--ev-radius-sm);font-size:.6875rem;font-weight:800;
  letter-spacing:.05em;text-transform:uppercase}
.ev-badge--ok{background:var(--ev-green-100);color:var(--ev-green-800)}
.ev-badge--wait{background:var(--ev-warning-bg);color:var(--ev-warning)}
.ev-badge--info{background:var(--ev-teal-100);color:var(--ev-teal-800)}

/* --- Media / figures --------------------------------------------------- */
.ev-figure{position:relative;overflow:hidden;background:var(--ev-ink-100)}
.ev-figure img{width:100%;height:100%;object-fit:cover;
  transition:transform 700ms var(--ev-ease)}
.ev-figure:hover img{transform:scale(1.03)}
.ev-figure--wide{aspect-ratio:32/14}
.ev-figure--4x3{aspect-ratio:4/3}
.ev-figure--3x2{aspect-ratio:3/2}
.ev-figure__cap{position:absolute;left:0;bottom:0;right:0;
  padding:1.4rem 1.25rem .9rem;color:#fff;font-size:.8125rem;font-weight:800;
  background:linear-gradient(transparent,rgba(16,29,43,.85))}

/* Page banner with overlay — design.md §8.1 navy overlay 45–60% */
.ev-banner{position:relative;isolation:isolate;background:var(--ev-navy-800);
  color:#fff;padding-block:clamp(3.5rem,8vw,6rem);overflow:hidden}
.ev-banner img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:-2}
.ev-banner::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(16,29,43,.88),rgba(16,29,43,.55))}
.ev-banner__inner{max-width:44ch}
.ev-banner__inner>*+*{margin-top:var(--ev-space-4)}
.ev-banner .ev-lead{color:var(--ev-navy-200)}
.ev-banner--plain{background:var(--ev-navy-700)}
.ev-banner--plain::after{display:none}

/* --- Forms ------------------------------------------------------------- */
.ev-field{display:flex;flex-direction:column;gap:.375rem}
.ev-field label{font-size:.8125rem;font-weight:800;color:var(--ev-navy-700)}
.ev-field input,.ev-field select,.ev-field textarea{
  height:44px;padding:0 .75rem;background:#fff;
  border:1px solid var(--ev-border-default);border-radius:var(--ev-radius-sm);
  font-size:.9375rem;font-weight:500;color:var(--ev-navy-700);
  transition:border-color var(--ev-motion-fast) var(--ev-ease),
             box-shadow var(--ev-motion-fast) var(--ev-ease)}
.ev-field textarea{height:auto;min-height:110px;padding:.65rem .75rem;resize:vertical}
.ev-field input:hover,.ev-field select:hover,.ev-field textarea:hover{
  border-color:var(--ev-border-strong)}
.ev-field input:focus,.ev-field select:focus,.ev-field textarea:focus{
  outline:none;border-color:var(--ev-green-600);
  box-shadow:0 0 0 3px rgba(3,113,70,.14)}
.ev-field small{font-size:.75rem;color:var(--ev-text-tertiary)}
.ev-form-grid{display:grid;gap:var(--ev-space-4)}
@media (min-width:640px){.ev-form-grid--2{grid-template-columns:repeat(2,1fr)}}
.ev-form-note{font-size:.75rem;color:var(--ev-text-tertiary);max-width:52ch}

/* --- Alert ------------------------------------------------------------- */
.ev-alert{display:flex;gap:.85rem;padding:1rem 1.15rem;
  border-left:3px solid var(--ev-info);background:var(--ev-info-bg);
  border-radius:var(--ev-radius-md)}
.ev-alert b{display:block;font-size:.9375rem;color:var(--ev-navy-700)}
.ev-alert p{font-size:.875rem;color:var(--ev-text-secondary);margin-top:.2rem}
.ev-alert--warn{border-left-color:var(--ev-warning);background:var(--ev-warning-bg)}

/* --- CTA band ---------------------------------------------------------- */
.ev-cta{position:relative;isolation:isolate;overflow:hidden;
  background:var(--ev-navy-700);color:#fff;
  padding-block:clamp(3rem,7vw,5.5rem)}
.ev-cta img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:-2}
.ev-cta::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(95deg,rgba(16,29,43,.93),rgba(38,69,99,.72))}
.ev-cta__inner{max-width:46ch}
.ev-cta__inner>*+*{margin-top:var(--ev-space-5)}
.ev-cta .ev-lead{color:var(--ev-navy-200)}

/* --- Footer ------------------------------------------------------------ */
.ev-footer{background:var(--ev-navy-800);color:var(--ev-navy-200);
  padding-block:var(--ev-space-16) var(--ev-space-8)}
.ev-footer__grid{display:grid;gap:var(--ev-space-8)}
@media (min-width:640px){.ev-footer__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.ev-footer__grid{grid-template-columns:1.4fr repeat(4,1fr)}}
.ev-footer h2{color:#fff;font-size:.6875rem;letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:var(--ev-space-4)}
.ev-footer h2::after{content:"_";color:var(--ev-teal-400)}
.ev-footer li+li{margin-top:.5rem}
.ev-footer a{font-size:.875rem;
  transition:color var(--ev-motion-fast) var(--ev-ease)}
.ev-footer a:hover{color:var(--ev-teal-300)}
.ev-footer__brand b{display:block;color:#fff;font-size:1.25rem;font-weight:900;
  letter-spacing:-.02em;margin-bottom:.6rem}
.ev-footer__brand p{font-size:.875rem;max-width:34ch}
.ev-footer__contact{margin-top:var(--ev-space-5);font-size:.875rem}
.ev-footer__contact b{font-size:.875rem;font-weight:800;color:var(--ev-teal-200)}
.ev-footer__bar{margin-top:var(--ev-space-12);padding-top:var(--ev-space-6);
  border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;
  gap:.75rem 1.5rem;justify-content:space-between;font-size:.75rem}
.ev-footer__bar a{font-size:.75rem}

/* --- Scroll reveal ----------------------------------------------------- */
.ev-reveal{opacity:0;transform:translateY(18px);
  transition:opacity 620ms var(--ev-ease),transform 620ms var(--ev-ease)}
.ev-reveal.is-visible{opacity:1;transform:none}
.ev-reveal-group>*{opacity:0;transform:translateY(18px);
  transition:opacity 560ms var(--ev-ease),transform 560ms var(--ev-ease)}
.ev-reveal-group.is-visible>*{opacity:1;transform:none}
.ev-reveal-group.is-visible>*:nth-child(1){transition-delay:0ms}
.ev-reveal-group.is-visible>*:nth-child(2){transition-delay:70ms}
.ev-reveal-group.is-visible>*:nth-child(3){transition-delay:140ms}
.ev-reveal-group.is-visible>*:nth-child(4){transition-delay:210ms}
.ev-reveal-group.is-visible>*:nth-child(5){transition-delay:280ms}
.ev-reveal-group.is-visible>*:nth-child(6){transition-delay:350ms}
.ev-reveal-group.is-visible>*:nth-child(7){transition-delay:420ms}
.ev-reveal-group.is-visible>*:nth-child(8){transition-delay:490ms}

/* --- Accessibility ----------------------------------------------------- */
:focus-visible{outline:2px solid var(--ev-border-focus);outline-offset:2px}
.ev-section--inverse :focus-visible,.ev-banner :focus-visible,
.ev-cta :focus-visible,.ev-menu :focus-visible{outline-color:var(--ev-teal-300)}
.ev-skip{position:absolute;left:-9999px;top:0;z-index:300;
  background:var(--ev-green-600);color:#fff;padding:.75rem 1.25rem;
  font-weight:800;font-size:.875rem}
.ev-skip:focus{left:.5rem;top:.5rem}
.ev-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;
    animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .ev-reveal,.ev-reveal-group>*{opacity:1 !important;transform:none !important}
  .ev-marquee__track{animation:none}
}

/* --- Print ------------------------------------------------------------- */
@media print{
  .ev-nav,.ev-readout,.ev-menu,.ev-progress,.ev-cta,.ev-marquee{display:none}
  body{color:#000;background:#fff}
  a::after{content:" (" attr(href) ")";font-size:.75em}
}
