/*
Theme Name: Equine Coach
Theme URI: https://e-quinecoach.com
Author: Mark Rutherford
Author URI: https://e-quinecoach.com
Description: Custom WordPress theme for E-Quine Coach
Version: 1.0
Text Domain: equine-coach
*/

:root{
  --bg:#f5f9fd;
  --surface:#ffffff;
  --surface-soft:#eef6fc;
  --text:#1e2a36;
  --muted:#66788a;
  --accent:#1f6fb5;
  --accent-dark:#174f82;
  --accent-soft:#dcebf8;
  --gold:#f2b300;
  --gold-dark:#cf9600;
  --warm:#b67932;
  --border:#dce6f0;
  --success:#166534;
  --danger:#991b1b;
  --heading:#12202d;
  --footer:#eaf3fb;
  --footer-soft:#f4f9fe;
  --footer-border:rgba(31,111,181,0.12);
  --radius:20px;
  --radius-sm:14px;
  --shadow:0 18px 45px rgba(17,24,39,0.08);
  --shadow-soft:0 8px 24px rgba(17,24,39,0.05);
  --container:1200px;
  --transition:all .25s ease;

  --ecp-bg:#f5f9fd;
  --ecp-surface:#ffffff;
  --ecp-surface-soft:#f8fbfe;
  --ecp-surface-tint:#eef6fc;
  --ecp-text:#1e2a36;
  --ecp-heading:#12202d;
  --ecp-muted:#66788a;
  --ecp-border:#dce6f0;
  --ecp-border-strong:#c8d8e8;
  --ecp-accent:#1f6fb5;
  --ecp-accent-dark:#174f82;
  --ecp-accent-soft:#dcebf8;
  --ecp-success:#166534;
  --ecp-success-bg:#dcfce7;
  --ecp-danger:#991b1b;
  --ecp-danger-bg:#fee2e2;
  --ecp-warning:#9a6700;
  --ecp-warning-bg:#fff4cc;
  --ecp-shadow-sm:0 10px 24px rgba(15,23,42,.06);
  --ecp-shadow-md:0 18px 44px rgba(15,23,42,.08);
  --ecp-shadow-lg:0 22px 48px rgba(15,23,42,.16);
  --ecp-radius-sm:16px;
  --ecp-radius-md:20px;
  --ecp-radius-lg:24px;
  --ecp-radius-xl:26px;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  background:
    radial-gradient(circle at top left, rgba(31,111,181,0.06) 0%, rgba(245,249,253,0) 35%),
    linear-gradient(180deg, #f7fbff 0%, #f5f9fd 100%);
  color:var(--text);
  line-height:1.65;
}

a{
  color:var(--accent);
  text-decoration:none;
  transition:var(--transition);
}

a:hover{
  color:var(--accent-dark);
}

img{
  max-width:100%;
  height:auto;
  display:block;
}

.container{
  width:min(var(--container), calc(100% - 32px));
  margin:0 auto;
}

/* Header */

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  min-height:92px;
  background:rgba(255,255,255,0.88);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(220,230,240,0.95);
  box-shadow:0 10px 28px rgba(18,32,45,0.05);
}

.header-inner{
  display:grid;
  grid-template-columns:minmax(170px, 220px) minmax(0, 1fr);
  align-items:center;
  gap:18px;
  min-height:92px;
}

.site-branding{
  min-width:0;
  max-width:220px;
}

.site-branding__link{
  color:var(--heading);
}

.site-branding__link--text-only{
  display:block;
}

.site-branding__text{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  min-width:0;
}

.site-branding__text--header-only{
  transform:none;
}

.site-branding__eyebrow{
  display:block;
  margin:0;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent);
  line-height:1.08;
}

.site-branding__name{
  display:block;
  margin:0;
  font-size:1.28rem;
  font-weight:800;
  letter-spacing:-0.03em;
  color:var(--heading);
  line-height:0.98;
}

.main-nav{
  min-width:0;
  justify-self:center;
}

.main-nav ul,
.main-nav__menu{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  margin:0;
  padding:0;
  flex-wrap:nowrap;
}

.main-nav li{
  margin:0;
  padding:0;
}

.main-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 12px;
  border-radius:999px;
  font-weight:700;
  font-size:.92rem;
  color:var(--text);
  transition:var(--transition);
  white-space:nowrap;
}

.main-nav a:hover{
  color:var(--accent);
  background:rgba(31,111,181,0.07);
}

.main-nav--desktop{
  display:block;
}

.header-cta{
  display:flex;
  align-items:center;
  gap:8px;
}

.header-cta--desktop{
  display:flex;
}

.header-primary-btn{
  min-width:154px;
}

.header-ghost-btn{
  background:transparent;
  color:var(--heading);
  border:1px solid rgba(31,111,181,0.12);
  box-shadow:none;
}

.header-ghost-btn:hover{
  background:rgba(31,111,181,0.06);
  color:var(--accent-dark);
  border-color:rgba(31,111,181,0.20);
  box-shadow:none;
}

.header-cta .button{
  min-height:42px;
  padding:0 16px;
  font-size:.9rem;
}

.main-nav__menu > .menu-item-login{
  margin-left:auto;
}

.main-nav__menu > .menu-item-login > a{
  min-width:92px;
}

/* Mobile menu */

.mobile-menu{
  display:none;
  position:relative;
  justify-self:end;
  width:auto;
}

.mobile-menu summary{
  list-style:none;
}

.mobile-menu summary::-webkit-details-marker{
  display:none;
}

.mobile-menu__toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:0 16px;
  border-radius:999px;
  cursor:pointer;
  user-select:none;
  background:#ffffff;
  border:1px solid rgba(31,111,181,0.12);
  box-shadow:var(--shadow-soft);
  color:var(--heading);
}

.mobile-menu__toggle:hover{
  background:rgba(31,111,181,0.04);
  border-color:rgba(31,111,181,0.18);
}

.mobile-menu__toggle:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(31,111,181,0.10);
}

.mobile-menu__toggle-lines{
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  width:18px;
}

.mobile-menu__toggle-lines span{
  display:block;
  width:18px;
  height:2px;
  border-radius:999px;
  background:var(--heading);
}

.mobile-menu__toggle-text{
  font-size:.92rem;
  font-weight:800;
  color:var(--heading);
  line-height:1;
}

.mobile-menu__panel{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  width:min(320px, calc(100vw - 24px));
  padding:18px;
  border:1px solid rgba(220,230,240,0.95);
  border-radius:20px;
  background:rgba(255,255,255,0.98);
  backdrop-filter:blur(14px);
  box-shadow:0 18px 45px rgba(17,24,39,0.12);
}

.mobile-menu__brand{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 0 16px;
  padding:10px 10px 6px;
  border-bottom:1px solid rgba(220,230,240,0.95);
}

.mobile-menu__brand-link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
}

.mobile-menu__brand-logo{
  width:100%;
  max-width:180px;
  max-height:78px;
  object-fit:contain;
  filter:drop-shadow(0 10px 20px rgba(18,32,45,0.08));
}

.mobile-menu__actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:14px;
}

.mobile-menu__action{
  width:100%;
}

.mobile-nav{
  width:100%;
}

.mobile-nav ul,
.mobile-nav__menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.mobile-nav li{
  margin:0;
  padding:0;
}

.mobile-nav a{
  display:flex;
  align-items:center;
  min-height:46px;
  padding:0 14px;
  border-radius:14px;
  font-weight:700;
  font-size:.96rem;
  color:var(--text);
  background:rgba(248,251,255,0.85);
  border:1px solid rgba(220,230,240,0.95);
}

.mobile-nav a:hover{
  color:var(--accent);
  background:rgba(31,111,181,0.06);
}

.mobile-nav__menu > .menu-item-login{
  order:999;
  margin-top:10px;
}

.mobile-nav__menu > .menu-item-login > a{
  justify-content:center;
  min-height:48px;
  border-radius:999px;
  background:#12202d;
  color:#ffffff;
  border:1px solid #12202d;
  box-shadow:0 12px 24px rgba(18,32,45,0.18);
}

.mobile-nav__menu > .menu-item-login > a:hover{
  background:#1e2a36;
  color:#ffffff;
  border-color:#1e2a36;
}

/* Buttons */

.button,
.wp-block-button__link,
button,
input[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  border:none;
  background:linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);
  color:#fff;
  padding:0 22px;
  border-radius:999px;
  cursor:pointer;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:0 12px 26px rgba(31,111,181,0.22);
  transition:var(--transition);
}

.button:hover,
.wp-block-button__link:hover,
button:hover,
input[type="submit"]:hover{
  background:linear-gradient(135deg, #2b7fc9 0%, #174f82 100%);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 16px 30px rgba(31,111,181,0.28);
}

.button-secondary{
  background:rgba(255,255,255,0.14);
  color:#ffffff;
  border:1px solid rgba(255,255,255,0.26);
  box-shadow:none;
}

.button-secondary:hover{
  background:rgba(255,255,255,0.22);
  color:#ffffff;
  border-color:rgba(255,255,255,0.34);
  box-shadow:none;
}

/* Hero */

.hero{
  position:relative;
  padding:72px 0 64px;
  background:
    radial-gradient(circle at top left, rgba(242,179,0,0.14) 0%, rgba(245,249,253,0) 28%),
    radial-gradient(circle at top right, rgba(31,111,181,0.12) 0%, rgba(245,249,253,0) 32%),
    linear-gradient(135deg, #f9fcff 0%, #edf6fd 48%, #ffffff 100%);
  overflow:hidden;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,0.20) 0%, rgba(255,255,255,0) 45%);
  pointer-events:none;
}

.hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:0;
  align-items:start;
}

.hero-copy{
  max-width:760px;
  padding-top:12px;
}

.hero-eyebrow,
.section-kicker{
  display:inline-block;
  margin:0 0 12px;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
}

.hero h1{
  margin:0 0 18px;
  font-size:clamp(2.8rem, 5vw, 4.8rem);
  line-height:0.94;
  color:var(--heading);
  letter-spacing:-0.055em;
  max-width:760px;
}

.hero-intro{
  margin:0 0 24px;
  font-size:1.04rem;
  color:var(--muted);
  max-width:600px;
  line-height:1.55;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-bottom:0;
}

/* Hero banner image */

.hero-banner{
  position:relative;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  min-height:620px;
  display:flex;
  align-items:flex-start;
}

.hero-banner::before{
  display:none;
}

.hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(
    90deg,
    rgba(10,20,30,0.56) 0%,
    rgba(10,20,30,0.34) 32%,
    rgba(10,20,30,0.14) 60%,
    rgba(10,20,30,0.02) 100%
  );
}

.hero-banner .hero-copy{
  color:#ffffff;
}

.hero-banner .hero-eyebrow{
  color:#ffd04a;
  text-shadow:0 2px 10px rgba(0,0,0,0.14);
}

.hero-banner h1{
  color:rgba(255,255,255,0.97);
  text-shadow:0 8px 28px rgba(0,0,0,0.14);
}

.hero-banner .hero-intro{
  color:rgba(255,255,255,0.84);
}

.hero-banner .button-secondary{
  background:rgba(255,255,255,0.12);
  color:#ffffff;
  border:1px solid rgba(255,255,255,0.24);
}

.hero-banner .button-secondary:hover{
  background:rgba(255,255,255,0.18);
  color:#ffffff;
  border-color:rgba(255,255,255,0.32);
}

/* Trust strip */

.hero-trust-strip{
  margin-top:-12px;
  padding:6px 0 14px 0;
  position:relative;
  z-index:2;
}

.hero-trust-strip__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 24px;
  border:1px solid rgba(220,230,240,0.9);
  border-radius:20px;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(12px);
  box-shadow:0 18px 45px rgba(17,24,39,0.08);
}

.hero-trust-strip__inner--simple{
  background:rgba(255,255,255,0.65);
  border-radius:8px;
  padding:8px 18px;
  display:flex;
  justify-content:center;
  align-items:center;
  box-shadow:none;
}

.hero-trust-strip__label{
  flex:0 0 auto;
  font-size:14px;
  font-weight:600;
  letter-spacing:2.4px;
  text-transform:uppercase;
  color:#2c5f99;
  text-align:center;
  white-space:nowrap;
}

.hero-trust-strip__logos{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  min-width:0;
}

.hero-trust-strip__item{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border:1px solid var(--border);
  border-radius:999px;
  background:#ffffff;
  color:var(--heading);
  font-size:.92rem;
  font-weight:700;
  white-space:nowrap;
  box-shadow:var(--shadow-soft);
}

/* Brand showcase */

.brand-showcase{
  padding:64px 0 18px;
}

.brand-showcase__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:18px;
}

.brand-showcase__logo{
  display:block;
  width:auto;
  max-width:320px;
  max-height:220px;
  height:auto;
  margin:0 auto;
  object-fit:contain;
  filter:none;
}

.brand-showcase__text{
  max-width:760px;
}

.brand-showcase__eyebrow{
  display:inline-block;
  margin:0 0 10px;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
}

.brand-showcase__title{
  margin:0 0 12px;
  font-size:clamp(2rem, 3vw, 3rem);
  line-height:1.08;
  letter-spacing:-0.03em;
  color:var(--heading);
}

.brand-showcase__intro{
  margin:0;
  font-size:1.02rem;
  line-height:1.7;
  color:var(--muted);
}

/* How it works */

.section-how-it-works{
  padding-top:56px;
  padding-bottom:28px;
}

.how-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:22px;
}

.how-card{
  position:relative;
  background:linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border:1px solid var(--border);
  border-radius:22px;
  padding:24px;
  box-shadow:var(--shadow-soft);
}

.how-card__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin-bottom:16px;
  border-radius:999px;
  background:linear-gradient(135deg, #f7c53a 0%, var(--gold) 100%);
  color:#4c3a00;
  font-weight:800;
  font-size:1rem;
  box-shadow:0 8px 16px rgba(242,179,0,0.18);
}

.how-card h3{
  margin:0 0 10px;
  font-size:1.05rem;
  line-height:1.25;
  color:var(--heading);
}

.how-card p{
  margin:0;
  font-size:.95rem;
  line-height:1.55;
  color:var(--muted);
}

/* Sections */

.section{
  padding:88px 0;
}

.section-soft{
  background:linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.78) 100%);
}

.section-heading{
  max-width:760px;
  margin:0 auto 42px;
  text-align:center;
}

.section-heading h1,
.section-heading h2{
  margin:0 0 14px;
  font-size:clamp(2rem, 3vw, 3rem);
  line-height:1.08;
  letter-spacing:-0.03em;
  color:var(--heading);
}

.section-heading p{
  margin:0;
  color:var(--muted);
  font-size:1.05rem;
}

.card-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}

.card{
  background:linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:28px;
}

.card h3{
  margin:0 0 12px;
  color:var(--heading);
}

.card p{
  margin:0;
  color:var(--muted);
}

.feature-card{
  min-height:100%;
  transition:var(--transition);
}

.feature-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 44px rgba(18,32,45,0.10);
}

.split-panel{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:28px;
  align-items:stretch;
}

.split-panel__content{
  padding:10px 0;
}

.split-panel__content h2{
  margin:0 0 16px;
  font-size:clamp(2rem, 3vw, 3rem);
  line-height:1.08;
  letter-spacing:-0.03em;
  color:var(--heading);
}

.split-panel__content p{
  margin:0 0 18px;
  color:var(--muted);
  font-size:1.02rem;
}

.split-panel__card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:16px;
}

.check-list{
  margin:0;
  padding:0;
  list-style:none;
}

.check-list li{
  position:relative;
  padding-left:28px;
  margin-bottom:12px;
  color:var(--text);
}

.check-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.58em;
  width:12px;
  height:12px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
}

/* Generic content */

.site-main{
  padding:48px 0 80px;
}

.page-content,
.entry-content{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:32px;
  box-shadow:var(--shadow);
}

.page-content h1,
.entry-content h1,
.entry-content h2,
.entry-content h3{
  color:var(--heading);
}

/* About page */

.about-reviewer-premium{
  margin-top:40px;
  padding-top:8px;
}

.about-reviewer-premium__hero{
  display:grid;
  grid-template-columns:minmax(340px, .9fr) minmax(0, 1.1fr);
  gap:32px;
  align-items:stretch;
  margin-bottom:36px;
}

.about-reviewer-premium__media{
  min-width:0;
}

.about-reviewer-premium__image-frame{
  height:100%;
  padding:16px;
  border:1px solid var(--border);
  border-radius:28px;
  background:
    radial-gradient(circle at top right, rgba(242,179,0,0.10) 0%, rgba(255,255,255,0) 28%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow:var(--shadow);
}

.about-reviewer-premium__image{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
  border-radius:22px;
  box-shadow:0 18px 36px rgba(18,32,45,0.10);
}

.about-reviewer-premium__copy{
  padding:8px 0;
}

.about-reviewer-premium__title{
  margin:0 0 12px;
  font-size:clamp(2.2rem, 3.8vw, 3.6rem);
  line-height:1.02;
  letter-spacing:-0.04em;
  color:var(--heading);
}

.about-reviewer-premium__subtitle{
  margin:0 0 18px;
  font-size:1.05rem;
  line-height:1.6;
  font-weight:700;
  color:var(--warm);
}

.about-reviewer-premium__intro{
  margin:0 0 16px;
  font-size:1.02rem;
  line-height:1.8;
  color:var(--muted);
}

.about-reviewer-premium__statement{
  margin-top:26px;
  padding:24px 26px;
  border:1px solid rgba(31,111,181,0.10);
  border-radius:24px;
  background:linear-gradient(180deg, #f8fbff 0%, #eef6fc 100%);
  box-shadow:var(--shadow-soft);
}

.about-reviewer-premium__statement h3{
  margin:0 0 10px;
  color:var(--heading);
  font-size:1.15rem;
}

.about-reviewer-premium__statement p{
  margin:0;
  color:var(--text);
  line-height:1.75;
}

.about-reviewer-premium__overview{
  margin-top:10px;
}

.about-reviewer-premium__heading{
  max-width:860px;
  margin:0 auto 34px;
}

.about-reviewer-premium__grid{
  gap:24px;
}

.about-reviewer-premium__card{
  min-height:100%;
}

.about-reviewer-premium__card-label{
  display:inline-block;
  margin:0 0 12px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
}

.about-reviewer-premium__card h3{
  margin:0 0 10px;
  font-size:1.12rem;
  line-height:1.25;
}

.about-reviewer-premium__closing{
  margin-top:30px;
  padding:0;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(242,179,0,0.16) 0%, rgba(255,255,255,0) 25%),
    linear-gradient(135deg, #f9fcff 0%, #edf6fd 48%, #ffffff 100%);
}

.about-reviewer-premium__closing-inner{
  padding:34px;
}

.about-reviewer-premium__closing h3{
  margin:0 0 12px;
  font-size:clamp(1.7rem, 2.5vw, 2.35rem);
  line-height:1.08;
  letter-spacing:-0.03em;
  color:var(--heading);
}

.about-reviewer-premium__closing p{
  margin:0;
  max-width:860px;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.8;
}

/* Contact page */

.contact-page-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(242,179,0,0.12) 0%, rgba(255,255,255,0) 26%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border:1px solid rgba(31,111,181,0.10);
}

.contact-page-card__email{
  display:block;
  margin:0 0 4px;
  font-size:1.05rem;
  line-height:1.6;
  word-break:break-word;
}

.contact-page-card__link{
  display:inline-block;
  font-weight:800;
  color:var(--accent-dark);
}

.contact-page-card__link:hover{
  color:var(--accent);
}

.contact-page-card__note{
  margin:0;
  font-size:.95rem;
  line-height:1.6;
  color:var(--muted);
}

/* Platform / dashboard */

.ecp-shell{
  width:100%;
  color:var(--ecp-text);
}

.ecp-shell,
.ecp-shell *{
  box-sizing:border-box;
}

.ecp-page-head{
  margin:0 0 28px;
}

.ecp-page-head__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  margin:0 0 12px;
  border-radius:999px;
  background:#eef6fc;
  border:1px solid #dce6f0;
  color:#1f6fb5;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ecp-page-head h2{
  margin:0 0 10px;
  font-size:clamp(2rem, 3vw, 2.8rem);
  line-height:1.08;
  letter-spacing:-0.03em;
  color:var(--heading);
}

.ecp-page-head p{
  margin:0;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.7;
}

.ecp-stats-strip{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  margin:0 0 34px;
}

.ecp-stat-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  min-height:112px;
  padding:22px 24px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border:1px solid rgba(220,230,240,0.95);
  border-radius:20px;
  box-shadow:0 12px 28px rgba(18,32,45,0.06);
}

.ecp-stat-card__label{
  display:block;
  margin:0;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  line-height:1.3;
}

.ecp-stat-card__value{
  display:block;
  margin:0;
  font-size:2rem;
  line-height:1;
  letter-spacing:-0.03em;
  color:var(--heading);
}

.ecp-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:24px;
}

.ecp-card,
.ecp-form-card,
.ecp-table-card,
.ecp-panel{
  background:var(--ecp-surface);
  border:1px solid var(--ecp-border);
  border-radius:var(--ecp-radius-lg);
  box-shadow:var(--ecp-shadow-md);
}

.ecp-card,
.ecp-form-card,
.ecp-table-card{
  padding:24px;
}

.ecp-panel{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:18px 20px;
  box-shadow:var(--ecp-shadow-sm);
  background:linear-gradient(180deg,#ffffff 0%,#f9fbfe 100%);
}

.ecp-card h2,
.ecp-card h3,
.ecp-card h4,
.ecp-panel h3,
.ecp-panel h4{
  margin-top:0;
  color:var(--ecp-heading);
}

.ecp-card p,
.ecp-panel p{
  color:var(--ecp-text);
}

.ecp-submission-card{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.ecp-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.ecp-card-head__main{
  flex:1 1 auto;
  min-width:0;
}

.ecp-card-head h3{
  margin:0;
  font-size:1.2rem;
  line-height:1.25;
  letter-spacing:-0.02em;
  color:var(--heading);
}

.ecp-card-meta-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin:10px 0 0;
}

.ecp-card-meta-row__item{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#f8fbfe;
  border:1px solid #dce6f0;
  color:#5b7083;
  font-size:12px;
  font-weight:700;
}

.ecp-status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.04em;
  white-space:nowrap;
}

.ecp-status-pill--pending{
  background:rgba(242,179,0,0.14);
  color:#8a6400;
  border:1px solid rgba(242,179,0,0.22);
}

.ecp-status-pill--review{
  background:rgba(31,111,181,0.10);
  color:#1f6fb5;
  border:1px solid rgba(31,111,181,0.16);
}

.ecp-status-pill--complete{
  background:rgba(22,101,52,0.10);
  color:#166534;
  border:1px solid rgba(22,101,52,0.16);
}

.ecp-status-pill--archived,
.ecp-status-pill--default{
  background:rgba(102,120,138,0.12);
  color:#4a5c6d;
  border:1px solid rgba(102,120,138,0.16);
}

.ecp-queue-age-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  white-space:nowrap;
}

.ecp-queue-age-badge--fresh{
  background:#eef6fc;
  color:#1f6fb5;
  border:1px solid #cfe0ff;
}

.ecp-queue-age-badge--active{
  background:#fff4cc;
  color:#7a5d00;
  border:1px solid #f4e4a8;
}

.ecp-queue-age-badge--aging{
  background:#fef3c7;
  color:#92400e;
  border:1px solid #fcd34d;
}

.ecp-queue-age-badge--urgent{
  background:#fee2e2;
  color:#991b1b;
  border:1px solid #fecaca;
}

.ecp-meta{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  padding:18px 20px;
  border:1px solid rgba(220,230,240,0.95);
  border-radius:16px;
  background:rgba(248,251,255,0.85);
  align-items:start;
}

.ecp-meta > div{
  min-width:0;
}

.ecp-meta strong{
  display:block;
  margin:0 0 7px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--accent);
  line-height:1.3;
}

.ecp-meta span{
  display:block;
  margin:0;
  color:var(--heading);
  font-weight:700;
  line-height:1.5;
  word-break:break-word;
  font-size:.96rem;
}

.ecp-panel,
.ecp-video-block,
.ecp-feedback-panel{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:20px;
  border:1px solid rgba(220,230,240,0.95);
  border-radius:16px;
  background:#ffffff;
}

.ecp-panel h4,
.ecp-video-block h4,
.ecp-feedback-panel h4{
  margin:0;
  font-size:1rem;
  line-height:1.25;
  color:var(--heading);
}

.ecp-panel p,
.ecp-video-block p,
.ecp-feedback-panel p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}

.ecp-panel p strong,
.ecp-video-block p strong,
.ecp-feedback-panel p strong{
  color:var(--heading);
}

.ecp-video-player{
  width:100%;
  max-width:100%;
  display:block;
  border-radius:14px;
  background:#000;
}

.ecp-video-link{
  margin:0;
}

.ecp-video-link a{
  font-weight:700;
}

.ecp-form{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.ecp-form-row{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.ecp-form-row label{
  display:block;
  margin:0 0 8px;
  color:var(--ecp-heading);
  font-weight:700;
}

.ecp-form input[type='text'],
.ecp-form input[type='email'],
.ecp-form input[type='password'],
.ecp-form input[type='url'],
.ecp-form input[type='file'],
.ecp-form input[type='number'],
.ecp-form select,
.ecp-form textarea{
  width:100%;
  border:1px solid var(--ecp-border);
  border-radius:14px;
  background:#ffffff;
  color:var(--ecp-text);
  padding:12px 14px;
  font-size:15px;
  line-height:1.5;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.ecp-form input[type='text']:focus,
.ecp-form input[type='email']:focus,
.ecp-form input[type='password']:focus,
.ecp-form input[type='url']:focus,
.ecp-form input[type='file']:focus,
.ecp-form input[type='number']:focus,
.ecp-form select:focus,
.ecp-form textarea:focus{
  border-color:rgba(31,111,181,.42);
  box-shadow:0 0 0 4px rgba(31,111,181,.10);
  outline:none;
}

.ecp-form textarea{
  resize:vertical;
}

.ecp-form-actions{
  display:flex;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}

.ecp-btn,
.button.ecp-btn,
.ecp-inline-success-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 22px;
  border:1px solid transparent;
  border-radius:999px;
  background:linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);
  color:#ffffff;
  font-weight:800;
  letter-spacing:.01em;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(31,111,181,0.22);
  transition:var(--transition);
  text-decoration:none;
}

.ecp-btn:hover,
.ecp-btn:focus,
.button.ecp-btn:hover,
.button.ecp-btn:focus,
.ecp-inline-success-actions a:hover,
.ecp-inline-success-actions a:focus{
  background:linear-gradient(135deg, #2b7fc9 0%, #174f82 100%);
  color:#ffffff;
  transform:translateY(-1px);
  box-shadow:0 16px 30px rgba(31,111,181,0.28);
  outline:none;
}

.ecp-btn:disabled{
  opacity:.7;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}

.ecp-btn--danger{
  background:linear-gradient(135deg,#991b1b 0%,#b91c1c 100%);
}

.ecp-btn--danger:hover,
.ecp-btn--danger:focus{
  background:linear-gradient(135deg,#b91c1c 0%,#dc2626 100%);
  color:#ffffff;
}

.ecp-alert{
  margin:0 0 24px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid var(--ecp-border);
  background:var(--ecp-surface);
  color:var(--ecp-text);
  box-shadow:var(--ecp-shadow-sm);
}

.ecp-alert strong{
  color:inherit;
}

.ecp-alert-success{
  border-color:rgba(22,101,52,.18);
  background:linear-gradient(180deg,#effcf3 0%,#e4f8ea 100%);
  color:var(--ecp-success);
}

.ecp-alert-error{
  background:linear-gradient(180deg,#fff5f5 0%,#feecec 100%);
  border-color:rgba(153,27,27,.18);
  color:var(--danger);
}

.ecp-alert-error strong{
  color:inherit;
}

.ecp-table-card{
  overflow:hidden;
}

.ecp-table-wrap{
  overflow-x:auto;
}

.ecp-table{
  width:100%;
  border-collapse:collapse;
}

.ecp-table th,
.ecp-table td{
  text-align:left;
  padding:14px 16px;
  border-bottom:1px solid rgba(220,230,240,0.95);
  vertical-align:top;
}

.ecp-table th{
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--accent);
}

.ecp-table td{
  color:var(--text);
}

.ecp-table-submission{
  min-width:220px;
}

.ecp-table-submission__title{
  display:block;
  margin:0 0 4px;
  font-size:14px;
  line-height:1.5;
  color:#12202d;
}

.ecp-table-submission__meta{
  display:block;
  font-size:12px;
  line-height:1.6;
  color:#6b7f92;
}

.ecp-feedback-preview{
  display:block;
  max-width:240px;
  color:#4f6476;
}

.ecp-feedback-preview--empty{
  color:#94a3b8;
  font-style:italic;
}

/* Dashboard hero */

.ecp-hero{
  position:relative;
  overflow:hidden;
  margin:0 0 30px;
  padding:32px;
  border-radius:30px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.24) 0%, rgba(255,255,255,0) 38%),
    linear-gradient(135deg,#12202d 0%,#1b3144 55%,#244967 100%);
  box-shadow:0 26px 64px rgba(15,23,42,.18);
  color:#ffffff;
}

.ecp-hero::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,0) 42%);
  pointer-events:none;
}

.ecp-hero__main,
.ecp-hero__highlights{
  position:relative;
  z-index:1;
}

.ecp-hero__main{
  max-width:760px;
}

.ecp-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  margin:0 0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#dbeafe;
}

.ecp-hero__title{
  margin:0 0 10px;
  font-size:40px;
  line-height:1.08;
  letter-spacing:-.02em;
  color:#ffffff;
}

.ecp-hero__text{
  margin:0;
  max-width:720px;
  font-size:16px;
  line-height:1.85;
  color:rgba(255,255,255,.88);
}

.ecp-hero__meta{
  margin-top:18px;
}

.ecp-hero__role{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  font-size:13px;
  font-weight:700;
  color:#ffffff;
}

.ecp-hero__highlights{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:24px;
}

.ecp-hero-highlight{
  padding:16px 18px;
  border-radius:20px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(6px);
}

.ecp-hero-highlight strong{
  display:block;
  margin:0 0 6px;
  font-size:14px;
  line-height:1.3;
  color:#ffffff;
}

.ecp-hero-highlight span{
  display:block;
  font-size:13px;
  line-height:1.6;
  color:rgba(255,255,255,.82);
}

/* Reviewer filters */

.ecp-reviewer-filters{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 24px;
  padding:16px;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);
  border:1px solid #dce6f0;
  box-shadow:0 12px 28px rgba(15,23,42,.05);
}

.ecp-reviewer-filters__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid #dce6f0;
  background:#ffffff;
  color:#5b7083;
  font-size:14px;
  font-weight:700;
  font-family:inherit;
  line-height:1;
  text-decoration:none;
  transition:all .2s ease;
  box-shadow:0 6px 16px rgba(15,23,42,.04);
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}

.ecp-reviewer-filters__link:hover,
.ecp-reviewer-filters__link:focus{
  border-color:#bfd7ea;
  color:#12202d;
  background:#f8fbfe;
  transform:translateY(-1px);
  outline:none;
}

.ecp-reviewer-filters__link.is-active{
  background:linear-gradient(135deg,#12202d 0%,#223547 100%);
  border-color:#12202d;
  color:#ffffff;
  box-shadow:0 12px 24px rgba(15,23,42,.16);
}

.ecp-reviewer-filter-summary{
  margin:0 0 22px;
  padding:18px 20px;
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);
  border:1px solid #dce6f0;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}

.ecp-reviewer-filter-summary__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 10px;
  margin:0 0 10px;
  border-radius:999px;
  background:#eef6fc;
  border:1px solid #dce6f0;
  color:#1f6fb5;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ecp-reviewer-filter-summary h3{
  margin:0 0 8px;
  font-size:22px;
  line-height:1.25;
  color:#12202d;
}

.ecp-reviewer-filter-summary p{
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:#5b7083;
}

/* Submission details panels */

.ecp-highlights-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 0 18px;
}

.ecp-highlight-chip{
  padding:14px 16px;
  border-radius:18px;
  background:linear-gradient(180deg,#f9fcff 0%,#f3f8fc 100%);
  border:1px solid #e3edf6;
}

.ecp-highlight-chip__label{
  display:block;
  margin:0 0 6px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6b7f92;
}

.ecp-highlight-chip__value{
  display:block;
  font-size:14px;
  line-height:1.5;
  color:#12202d;
}

.ecp-status-panel{
  margin:0 0 18px;
  padding:18px 20px;
  border-radius:20px;
  border:1px solid #dce6f0;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}

.ecp-status-panel__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.ecp-status-panel__content{
  flex:1 1 auto;
}

.ecp-status-panel__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  margin:0 0 10px;
  border-radius:999px;
  background:#eef6fc;
  border:1px solid #dce6f0;
  color:#1f6fb5;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ecp-status-panel h4{
  margin:0 0 8px;
  font-size:18px;
  line-height:1.3;
  color:#12202d;
}

.ecp-status-panel p{
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:#4f6476;
}

.ecp-status-panel--pending{
  background:linear-gradient(180deg,#fffdf5 0%,#fff8dd 100%);
  border-color:#f4e4a8;
}

.ecp-status-panel--review{
  background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%);
  border-color:#cfe0ff;
}

.ecp-status-panel--complete{
  background:linear-gradient(180deg,#f5fdf7 0%,#eafbf0 100%);
  border-color:#c8efd4;
}

.ecp-status-panel--archived{
  background:linear-gradient(180deg,#fafafa 0%,#f3f4f6 100%);
  border-color:#e5e7eb;
}

.ecp-action-panel{
  margin:0 0 18px;
  padding:16px 18px;
  border-radius:18px;
  background:linear-gradient(180deg,#f9fcff 0%,#f3f8fc 100%);
  border:1px solid #dce6f0;
}

.ecp-action-panel__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 10px;
  margin:0 0 8px;
  border-radius:999px;
  background:#ffffff;
  border:1px solid #dce6f0;
  color:#1f6fb5;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ecp-action-panel p{
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:#4f6476;
}

/* Timeline */

.ecp-timeline{
  margin:0 0 18px;
  padding:20px 22px 22px;
  border-radius:22px;
  background:
    radial-gradient(circle at top right, rgba(31,111,181,.05) 0%, rgba(31,111,181,0) 32%),
    linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);
  border:1px solid #dce6f0;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}

.ecp-timeline__head{
  margin:0 0 18px;
}

.ecp-timeline__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  margin:0 0 8px;
  border-radius:999px;
  background:#eef6fc;
  border:1px solid #dce6f0;
  color:#1f6fb5;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ecp-timeline__head h4{
  margin:0;
  font-size:18px;
  line-height:1.3;
  color:#12202d;
}

.ecp-timeline__list{
  position:relative;
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.ecp-timeline__list::before{
  content:'';
  position:absolute;
  top:22px;
  left:calc(16.666% + 8px);
  right:calc(16.666% + 8px);
  height:2px;
  background:linear-gradient(90deg,#d9e5f0 0%,#d9e5f0 100%);
  z-index:0;
}

.ecp-timeline__item{
  position:relative;
  z-index:1;
  text-align:center;
  padding:0 8px;
}

.ecp-timeline__marker-wrap{
  margin:0 0 14px;
}

.ecp-timeline__marker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:999px;
  border:2px solid #cbd5e1;
  background:#ffffff;
  font-size:14px;
  font-weight:800;
  color:#64748b;
  box-shadow:0 10px 22px rgba(15,23,42,.06);
}

.ecp-timeline__body{
  display:flex;
  flex-direction:column;
  gap:4px;
  align-items:center;
}

.ecp-timeline__step-label{
  display:block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7a8ea1;
}

.ecp-timeline__label{
  display:block;
  font-size:15px;
  font-weight:700;
  line-height:1.35;
  color:#718396;
  max-width:140px;
}

.ecp-timeline__item.is-complete .ecp-timeline__marker{
  border-color:#1f6fb5;
  background:#1f6fb5;
  color:#ffffff;
  box-shadow:0 14px 28px rgba(31,111,181,.20);
}

.ecp-timeline__item.is-complete .ecp-timeline__step-label,
.ecp-timeline__item.is-complete .ecp-timeline__label{
  color:#12202d;
}

.ecp-timeline__item.is-current .ecp-timeline__marker{
  border-color:#1f6fb5;
  background:#ffffff;
  color:#1f6fb5;
  box-shadow:0 0 0 6px rgba(31,111,181,.10), 0 14px 28px rgba(15,23,42,.08);
}

.ecp-timeline__item.is-current .ecp-timeline__step-label{
  color:#1f6fb5;
}

.ecp-timeline__item.is-current .ecp-timeline__label{
  color:#12202d;
}

.ecp-timeline__item.is-upcoming .ecp-timeline__marker{
  background:#ffffff;
  color:#94a3b8;
  border-color:#d7e0e8;
  box-shadow:none;
}

.ecp-timeline__item.is-upcoming .ecp-timeline__label{
  color:#94a3b8;
}

/* Submission facts */

.ecp-submission-facts{
  margin:0 0 18px;
  padding:18px;
  border-radius:22px;
  background:
    radial-gradient(circle at top right, rgba(31,111,181,.05) 0%, rgba(31,111,181,0) 30%),
    linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);
  border:1px solid #dce6f0;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}

.ecp-submission-facts__featured{
  margin:0 0 16px;
  padding:20px 20px;
  border-radius:20px;
  background:
    linear-gradient(135deg,rgba(183,121,31,.08) 0%, rgba(214,158,46,.10) 100%),
    #ffffff;
  border:1px solid rgba(183,121,31,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}

.ecp-submission-facts__featured-eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 10px;
  margin:0 0 10px;
  border-radius:999px;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(183,121,31,.16);
  color:#8a5a16;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ecp-submission-facts__featured-title{
  margin:0 0 6px;
  font-size:24px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.02em;
  color:#12202d;
}

.ecp-submission-facts__featured-text{
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:#5b7083;
}

.ecp-submission-facts__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.ecp-submission-fact{
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.78);
  border:1px solid #e3edf6;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}

.ecp-submission-fact__label{
  display:block;
  margin:0 0 6px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6b7f92;
}

.ecp-submission-fact__value{
  display:block;
  font-size:15px;
  line-height:1.55;
  color:#12202d;
  font-weight:700;
}

/* Empty state */

.ecp-empty-state{
  padding:0;
  overflow:hidden;
}

.ecp-empty-state__inner{
  padding:32px 28px;
  background:
    radial-gradient(circle at top right, rgba(31,111,181,.08) 0%, rgba(31,111,181,0) 36%),
    linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);
}

.ecp-empty-state__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  margin:0 0 12px;
  border-radius:999px;
  background:#eef6fc;
  border:1px solid #dce6f0;
  color:#1f6fb5;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ecp-empty-state h3{
  margin:0 0 10px;
  font-size:24px;
  line-height:1.2;
}

.ecp-empty-state p{
  margin:0;
  max-width:680px;
  color:#5b7083;
  font-size:15px;
  line-height:1.8;
}

[data-ecp-filter-item][hidden]{
  display:none !important;
}

/* Shared account header */

.ecp-account-shell-head{
  position:relative;
  overflow:hidden;
  margin:0 0 32px;
  padding:34px 34px 26px;
  border-radius:32px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 28%),
    radial-gradient(circle at bottom left, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 24%),
    linear-gradient(135deg,#0f172a 0%,#182737 46%,#21415e 100%);
  color:#ffffff;
  box-shadow:var(--ecp-shadow-lg);
}

.ecp-account-shell-head::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.05) 0%,rgba(255,255,255,0) 42%);
  pointer-events:none;
}

.ecp-account-shell-head__top,
.ecp-account-nav{
  position:relative;
  z-index:1;
}

.ecp-account-shell-head__top{
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px;
  gap:18px;
  align-items:start;
}

.ecp-account-shell-head__main{
  min-width:0;
  max-width:860px;
}

.ecp-account-shell-head__utility-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin:0 0 14px;
}

.ecp-account-shell-head__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#dbeafe;
}

.ecp-account-shell-head__title{
  margin:0;
  font-size:40px;
  line-height:1.05;
  letter-spacing:-.025em;
  color:#ffffff;
}

.ecp-account-shell-head__intro{
  margin:14px 0 0;
  max-width:760px;
  font-size:16px;
  line-height:1.78;
  color:rgba(255,255,255,.84);
}

.ecp-account-shell-head__micro{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.ecp-account-shell-head__welcome{
  font-size:13px;
  font-weight:700;
  color:#ffffff;
}

.ecp-account-shell-head__dot{
  width:5px;
  height:5px;
  border-radius:999px;
  background:rgba(255,255,255,.38);
}

.ecp-account-shell-head__workspace{
  font-size:13px;
  color:rgba(255,255,255,.72);
}

.ecp-account-head-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  align-self:start;
}

.ecp-account-identity-card{
  width:100%;
  min-height:72px;
  padding:13px 14px;
  border-radius:18px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.07) 100%);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(8px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.ecp-account-identity-card__name{
  display:block;
  width:100%;
  margin:0;
  font-size:17px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.02em;
  color:#ffffff;
  word-break:break-word;
}

.ecp-account-identity-card__role{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  margin-top:8px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.10);
  font-size:10px;
  font-weight:700;
  line-height:1;
  color:#dbeafe;
  white-space:nowrap;
}

.ecp-account-help-btn--compact{
  -webkit-appearance:none;
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  width:auto;
  min-width:auto;
  border-radius:999px;
  font-family:inherit;
  text-decoration:none;
  cursor:pointer;
  color:#5f4700;
  background:linear-gradient(180deg,#fff5cf 0%,#f3e3a0 100%) !important;
  border:1px solid rgba(175,140,34,.34) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    0 8px 18px rgba(15,23,42,.06);
}

.ecp-account-help-btn--compact:hover,
.ecp-account-help-btn--compact:focus{
  color:#4f3c00;
  background:linear-gradient(180deg,#fff8db 0%,#f5e7ab 100%) !important;
  border-color:rgba(175,140,34,.46) !important;
  outline:none;
  transform:translateY(-1px);
}

.ecp-account-help-btn--compact .ecp-account-help-btn__title{
  display:block;
  margin:0;
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:.01em;
  color:inherit;
}

.ecp-account-help-btn--compact .ecp-account-help-btn__subtext{
  display:none;
}

.ecp-account-nav{
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.10);
}

.ecp-account-nav__list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}

.ecp-account-nav__item{
  margin:0;
  padding:0;
}

.ecp-account-nav__link{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  letter-spacing:.01em;
  color:#ffffff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.05);
  transition:all .18s ease;
  box-shadow:none;
}

.ecp-account-nav__link:hover,
.ecp-account-nav__link:focus{
  background:rgba(255,255,255,.15);
  border-color:rgba(255,255,255,.12);
  color:#ffffff;
  transform:translateY(-1px);
  outline:none;
}

.ecp-account-nav__link.is-active{
  background:#ffffff;
  border-color:#ffffff;
  color:#0f172a;
  box-shadow:0 10px 22px rgba(15,23,42,.18);
}

.ecp-account-nav__link.is-delete-account{
  background:rgba(127,29,29,.22);
  border-color:rgba(255,255,255,.06);
  color:#ffffff;
}

.ecp-account-nav__link.is-delete-account:hover,
.ecp-account-nav__link.is-delete-account:focus{
  background:rgba(153,27,27,.30);
  color:#ffffff;
}

.ecp-account-nav__link.is-logout{
  background:rgba(239,68,68,.16);
  border-color:rgba(255,255,255,.06);
  color:#ffffff;
}

.ecp-account-nav__link.is-logout:hover,
.ecp-account-nav__link.is-logout:focus{
  background:rgba(239,68,68,.25);
  color:#ffffff;
}

.ecp-account-nav__text{
  display:block;
  line-height:1;
}

/* FAQ */

.ecp-faq-section{
  margin:0 0 32px;
}

.ecp-faq-hero{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:22px;
  margin:0 0 22px;
  padding:30px;
  border-radius:26px;
  background:linear-gradient(135deg,#eff7fd 0%,#dcecf9 100%);
  border:1px solid rgba(31,111,181,.10);
  box-shadow:0 18px 40px rgba(31,111,181,.10);
}

.ecp-faq-hero__content{
  flex:1 1 auto;
  min-width:0;
}

.ecp-faq-hero__eyebrow{
  display:inline-block;
  margin:0 0 10px;
  font-size:12px;
  font-weight:700;
  letter-spacing:1.8px;
  text-transform:uppercase;
  color:#1f6fb5;
}

.ecp-faq-hero__title{
  margin:0;
  font-size:34px;
  line-height:1.14;
  color:#12202d;
}

.ecp-faq-hero__intro{
  margin:14px 0 0;
  max-width:760px;
  font-size:16px;
  line-height:1.75;
  color:#4e6476;
}

.ecp-faq-hero__badge{
  flex:0 0 230px;
  align-self:flex-start;
  padding:18px 18px 16px;
  border-radius:20px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(31,111,181,.12);
  box-shadow:0 10px 24px rgba(31,111,181,.10);
}

.ecp-faq-hero__badge-label{
  display:block;
  margin:0 0 6px;
  font-size:11px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:#1f6fb5;
}

.ecp-faq-hero__badge-value{
  display:block;
  font-size:16px;
  line-height:1.5;
  color:#12202d;
}

.ecp-faq-list-wrap{
  padding:20px;
  border-radius:24px;
  background:#ffffff;
  border:1px solid #dce6f0;
  box-shadow:0 18px 44px rgba(15,23,42,.08);
}

.ecp-faq-list{
  display:grid;
  gap:14px;
}

.ecp-faq-item{
  overflow:hidden;
  border:1px solid #dce6f0;
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}

.ecp-faq-item:hover{
  border-color:rgba(31,111,181,.20);
  box-shadow:0 14px 30px rgba(31,111,181,.10);
  transform:translateY(-1px);
}

.ecp-faq-item[open]{
  border-color:rgba(31,111,181,.24);
  box-shadow:0 16px 32px rgba(31,111,181,.12);
}

.ecp-faq-item__summary{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px;
  cursor:pointer;
  list-style:none;
}

.ecp-faq-item__summary::-webkit-details-marker{
  display:none;
}

.ecp-faq-item__question{
  display:block;
  font-size:18px;
  line-height:1.45;
  font-weight:700;
  color:#12202d;
}

.ecp-faq-item__icon{
  position:relative;
  flex:0 0 40px;
  width:40px;
  height:40px;
  border-radius:999px;
  background:#eaf3fb;
  border:1px solid rgba(31,111,181,.12);
}

.ecp-faq-item__icon::before,
.ecp-faq-item__icon::after{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  background:#1f6fb5;
  transform:translate(-50%,-50%);
  transition:transform .2s ease, opacity .2s ease;
}

.ecp-faq-item__icon::before{
  width:14px;
  height:2px;
  border-radius:2px;
}

.ecp-faq-item__icon::after{
  width:2px;
  height:14px;
  border-radius:2px;
}

.ecp-faq-item[open] .ecp-faq-item__icon::after{
  opacity:0;
  transform:translate(-50%,-50%) scaleY(.2);
}

.ecp-faq-item__answer{
  padding:0 24px 24px;
}

.ecp-faq-item__answer p{
  margin:0;
  font-size:15px;
  line-height:1.8;
  color:#4e6476;
}

.ecp-faq-support{
  margin:22px 0 0;
}

.ecp-faq-support__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:26px 28px;
  border-radius:24px;
  background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);
  color:#ffffff;
  box-shadow:0 18px 42px rgba(15,23,42,.18);
}

.ecp-faq-support__text{
  flex:1 1 auto;
  min-width:0;
}

.ecp-faq-support__eyebrow{
  display:inline-block;
  margin:0 0 8px;
  font-size:12px;
  font-weight:700;
  letter-spacing:1.7px;
  text-transform:uppercase;
  color:rgba(255,255,255,.70);
}

.ecp-faq-support__title{
  margin:0;
  font-size:28px;
  line-height:1.2;
  color:#ffffff;
  letter-spacing:-0.03em;
}

.ecp-faq-support__copy{
  margin:12px 0 0;
  max-width:760px;
  font-size:16px;
  line-height:1.7;
  color:rgba(255,255,255,.82);
}

.ecp-faq-support__actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.ecp-faq-support__button{
  min-width:160px;
}

/* Terms / legal page */

.legal-page .card{
  border-color:rgba(31,111,181,0.10);
  border-radius:28px;
  box-shadow:0 18px 45px rgba(17,24,39,0.08);
  background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%);
}

.legal-page .card > .entry-content{
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
  padding:0;
}

.legal-page .entry-content > *:first-child{
  margin-top:0;
}

.legal-page .entry-content > *:last-child{
  margin-bottom:0;
}

.legal-page .entry-content h1,
.legal-page .entry-content h2,
.legal-page .entry-content h3,
.legal-page .entry-content h4{
  color:var(--heading);
  letter-spacing:-0.03em;
}

.legal-page .entry-content h1{
  margin:0 0 18px;
  font-size:clamp(2rem, 3vw, 3rem);
  line-height:1.08;
}

.legal-page .entry-content h2{
  margin:34px 0 14px;
  padding-top:10px;
  border-top:1px solid rgba(220,230,240,0.95);
  font-size:clamp(1.55rem, 2.4vw, 2.15rem);
  line-height:1.12;
}

.legal-page .entry-content h2:first-child{
  margin-top:0;
  padding-top:0;
  border-top:none;
}

.legal-page .entry-content h3{
  margin:24px 0 12px;
  font-size:1.18rem;
  line-height:1.2;
  color:var(--accent-dark);
}

.legal-page .entry-content h4{
  margin:20px 0 10px;
  font-size:1rem;
  line-height:1.25;
}

.legal-page .entry-content p{
  margin:0 0 16px;
  color:var(--muted);
  font-size:1rem;
  line-height:1.8;
}

.legal-page .entry-content strong{
  color:var(--heading);
  font-weight:800;
}

.legal-page .entry-content a{
  color:var(--accent-dark);
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.legal-page .entry-content a:hover{
  color:var(--accent);
}

.legal-page .entry-content ul,
.legal-page .entry-content ol{
  margin:0 0 18px;
}

.legal-page .entry-content ul{
  padding:0;
  list-style:none;
}

.legal-page .entry-content ul li{
  position:relative;
  margin:0 0 12px;
  padding-left:28px;
  color:var(--text);
  line-height:1.7;
}

.legal-page .entry-content ul li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:12px;
  height:12px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
}

.legal-page .entry-content ol{
  padding-left:22px;
}

.legal-page .entry-content ol li{
  margin:0 0 12px;
  padding-left:6px;
  color:var(--text);
  line-height:1.7;
}

.legal-page .entry-content li > ul,
.legal-page .entry-content li > ol{
  margin-top:10px;
  margin-bottom:10px;
}

.legal-page .entry-content hr{
  border:none;
  border-top:1px solid rgba(220,230,240,0.95);
  margin:28px 0;
}

.legal-page .entry-content blockquote{
  margin:22px 0;
  padding:18px 20px;
  border-left:4px solid var(--accent);
  border-radius:0 18px 18px 0;
  background:linear-gradient(180deg,#f8fbff 0%, #eef6fc 100%);
  color:var(--text);
  box-shadow:var(--shadow-soft);
}

.legal-page .entry-content blockquote p{
  margin:0;
  color:var(--text);
}

.legal-page .entry-content table{
  width:100%;
  margin:22px 0;
  border-collapse:collapse;
  overflow:hidden;
  border-radius:18px;
  background:#ffffff;
  box-shadow:var(--shadow-soft);
}

.legal-page .entry-content th,
.legal-page .entry-content td{
  padding:14px 16px;
  border:1px solid rgba(220,230,240,0.95);
  text-align:left;
  vertical-align:top;
}

.legal-page .entry-content th{
  background:#f8fbff;
  color:var(--accent);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.legal-page .entry-content td{
  color:var(--text);
}

.legal-page .entry-content .wp-block-group,
.legal-page .entry-content .wp-block-columns{
  margin-bottom:18px;
}

/* Terms checkbox / modal */

.ecp-terms-wrap{
  margin:20px 0 10px;
  padding:16px 18px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#ffffff;
  box-shadow:var(--shadow-soft);
}

.ecp-terms-label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:0.95rem;
  line-height:1.5;
}

.ecp-terms-label input{
  margin-top:3px;
}

.ecp-terms-link{
  font-weight:700;
  color:var(--accent-dark);
  text-decoration:underline;
  cursor:pointer;
}

.ecp-terms-link:hover{
  color:var(--accent);
}

.ecp-terms-modal{
  display:none;
  position:fixed;
  z-index:9999;
  inset:0;
  background:rgba(0,0,0,0.55);
  backdrop-filter:blur(4px);
  justify-content:center;
  align-items:center;
}

.ecp-terms-modal.is-open{
  display:flex;
}

.ecp-terms-modal__inner{
  width:min(900px, 92vw);
  max-height:85vh;
  overflow:auto;
  background:#ffffff;
  border-radius:20px;
  box-shadow:0 30px 80px rgba(0,0,0,0.25);
  padding:26px;
}

.ecp-terms-modal__close{
  display:inline-block;
  margin-top:18px;
}

/* Upload help */

.ecp-field-help{
  display:block;
  margin-top:8px;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.6;
}

.ecp-upload-limit-note{
  margin-top:14px;
  padding:14px 16px;
  border:1px solid rgba(31,111,181,0.12);
  border-radius:16px;
  background:linear-gradient(180deg, #f8fbff 0%, #eef6fc 100%);
  box-shadow:var(--shadow-soft);
}

.ecp-upload-limit-note strong{
  color:var(--heading);
}

.ecp-card--stacked{
  margin-top:20px;
}

.ecp-login-remember--top{
  align-items:flex-start;
  gap:10px;
}

.ecp-login-remember__checkbox{
  margin-top:4px;
}

/* Submission journey */

.ecp-journey-hero{
  position:relative;
  overflow:hidden;
  margin:0 0 32px;
  padding:34px 32px;
  border-radius:30px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.26) 0%, rgba(255,255,255,0) 38%),
    linear-gradient(135deg,#12202d 0%,#1b3144 52%,#244967 100%);
  box-shadow:0 26px 64px rgba(15,23,42,.18);
  color:#ffffff;
}

.ecp-journey-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,0) 42%);
  pointer-events:none;
}

.ecp-journey-hero > *{
  position:relative;
  z-index:1;
}

.ecp-journey-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 13px;
  margin:0 0 16px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#dbeafe;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

.ecp-journey-hero__title{
  margin:0 0 12px;
  max-width:840px;
  font-size:40px;
  line-height:1.08;
  letter-spacing:-.02em;
  color:#ffffff;
}

.ecp-journey-hero__text{
  margin:0;
  max-width:780px;
  font-size:16px;
  line-height:1.85;
  color:rgba(255,255,255,.88);
}

.ecp-journey-hero__highlights{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:28px;
}

.ecp-journey-hero__highlight{
  padding:18px 20px;
  border-radius:22px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(8px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.ecp-journey-hero__highlight strong{
  display:block;
  margin:0 0 7px;
  font-size:14px;
  line-height:1.3;
  color:#ffffff;
}

.ecp-journey-hero__highlight span{
  display:block;
  font-size:13px;
  line-height:1.65;
  color:rgba(255,255,255,.82);
}

.ecp-auth-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-bottom:30px;
}

.ecp-auth-card{
  padding:24px;
  border:1px solid var(--ecp-border,#dce6f0);
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);
  box-shadow:0 16px 34px rgba(15,23,42,.06);
}

.ecp-auth-card h3{
  margin:0 0 10px;
  font-size:20px;
  line-height:1.25;
  color:var(--ecp-heading,#12202d);
}

.ecp-auth-card p{
  margin:0;
  color:var(--ecp-muted,#66788a);
  line-height:1.8;
}

.ecp-auth-cta{
  text-align:center;
}

.ecp-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}

.ecp-form-row-full{
  grid-column:1 / -1;
}

.ecp-journey-card-title{
  margin:0 0 9px;
  font-size:30px;
  line-height:1.14;
  letter-spacing:-.02em;
  color:var(--ecp-heading,#12202d);
}

.ecp-journey-card-intro{
  margin:0 0 22px;
  color:var(--ecp-muted,#66788a);
  line-height:1.85;
  font-size:15px;
}

.ecp-journey-trust-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:0 0 26px;
}

.ecp-journey-trust-card{
  padding:20px 22px;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);
  border:1px solid #dce6f0;
  box-shadow:0 14px 32px rgba(15,23,42,.05);
}

.ecp-journey-trust-card strong{
  display:block;
  margin:0 0 8px;
  font-size:15px;
  line-height:1.3;
  color:#12202d;
}

.ecp-journey-trust-card span{
  display:block;
  font-size:14px;
  line-height:1.75;
  color:#66788a;
}

.ecp-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:20px;
}

.ecp-summary-item{
  padding:17px 18px;
  border-radius:18px;
  background:linear-gradient(180deg,#f8fbfe 0%,#f4f9fd 100%);
  border:1px solid #e3edf6;
}

.ecp-summary-item strong{
  display:block;
  margin:0 0 6px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#6b7f92;
}

.ecp-summary-item span{
  display:block;
  font-size:15px;
  line-height:1.55;
  color:#12202d;
  font-weight:600;
}

.ecp-terms-check{
  padding:18px 18px;
  border:1px solid rgba(31,111,181,.14);
  border-radius:20px;
  background:linear-gradient(180deg,#f8fbfe 0%,#eef6fc 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}

.ecp-terms-check input[type="checkbox"]{
  width:auto !important;
  flex:0 0 auto;
}

/* Step 2 packages */

.ecp-package-options{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin-top:18px;
  align-items:stretch;
}

.ecp-package-option{
  position:relative;
  display:grid;
  grid-template-rows:auto minmax(96px, auto) minmax(74px, auto) minmax(54px, auto) auto;
  align-items:start;
  min-height:100%;
  padding:24px 22px 20px;
  border:1px solid #dce6f0;
  border-radius:24px;
  background:#ffffff;
  box-shadow:0 14px 32px rgba(15,23,42,.06);
  cursor:pointer;
  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease,
    background .18s ease;
  overflow:hidden;
}

.ecp-package-option:hover{
  transform:translateY(-2px);
  border-color:rgba(31,111,181,.22);
  box-shadow:0 20px 40px rgba(15,23,42,.10);
}

.ecp-package-option:focus-within{
  border-color:rgba(31,111,181,.30);
  box-shadow:0 0 0 4px rgba(31,111,181,.08), 0 18px 38px rgba(15,23,42,.10);
}

.ecp-package-option.is-selected{
  border-color:rgba(31,111,181,.34);
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 0 0 3px rgba(31,111,181,.08), 0 22px 42px rgba(31,111,181,.10);
}

.ecp-package-option--bronze::before,
.ecp-package-option--silver::before,
.ecp-package-option--gold::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:5px;
}

.ecp-package-option--bronze::before{
  background:linear-gradient(90deg,#b7791f 0%,#d69e2e 100%);
}

.ecp-package-option--silver::before{
  background:linear-gradient(90deg,#94a3b8 0%,#cbd5e1 100%);
}

.ecp-package-option--gold::before{
  background:linear-gradient(90deg,#d4a017 0%,#f2c94c 100%);
}

.ecp-package-option input[type="radio"]{
  position:absolute;
  top:22px;
  right:22px;
  width:18px;
  height:18px;
  margin:0;
  opacity:0;
  pointer-events:none;
}

.ecp-package-card-top{
  width:100%;
  margin-bottom:12px;
}

.ecp-package-title-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 110px;
  align-items:start;
  column-gap:16px;
  width:100%;
  min-height:56px;
}

.ecp-package-title{
  margin:0;
  min-width:0;
  font-size:1.24rem;
  line-height:1.18;
  font-weight:700;
  letter-spacing:-.01em;
  color:#12202d;
}

.ecp-package-price{
  justify-self:end;
  align-self:start;
  margin:0;
  font-size:1.02rem;
  line-height:1.2;
  font-weight:700;
  color:#1f6fb5;
  white-space:nowrap;
  text-align:right;
}

.ecp-package-summary{
  width:100%;
  min-height:96px;
  margin:0 0 12px;
  font-size:15px;
  line-height:1.72;
  color:#4f6476;
}

.ecp-package-detail-line{
  width:100%;
  min-height:74px;
  margin:0 0 14px;
  font-size:14px;
  line-height:1.65;
  font-weight:600;
  color:#12202d;
}

.ecp-package-duration{
  width:100%;
  min-height:54px;
  margin:0;
  padding-top:14px;
  border-top:1px solid rgba(220,230,240,.95);
  font-size:13px;
  line-height:1.6;
  color:#5b7083;
}

.ecp-package-selector{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(220,230,240,.95);
}

.ecp-package-selector__control{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border:2px solid #c2d3e2;
  border-radius:999px;
  background:#ffffff;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
  flex:0 0 auto;
}

.ecp-package-selector__control::after{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:#1f6fb5;
  transform:scale(0);
  transition:transform .18s ease;
}

.ecp-package-selector__label{
  font-size:13px;
  line-height:1.4;
  font-weight:700;
  color:#5b7083;
}

.ecp-package-option.is-selected .ecp-package-selector__control{
  border-color:#1f6fb5;
  box-shadow:0 0 0 4px rgba(31,111,181,.08);
}

.ecp-package-option.is-selected .ecp-package-selector__control::after{
  transform:scale(1);
}

.ecp-package-option.is-selected .ecp-package-selector__label{
  color:#12202d;
}

.ecp-package-option--recommended .ecp-package-badge{
  display:none !important;
}

.ecp-package-option--recommended .ecp-package-price{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  min-width:88px;
  padding:0 16px;
  border-radius:999px;
  background:linear-gradient(135deg,#f2b300 0%,#ffd86a 100%);
  border:1px solid rgba(207,150,0,.24);
  box-shadow:0 10px 22px rgba(207,150,0,.16);
  color:#4a3600 !important;
  font-weight:800;
  line-height:1;
}

.ecp-upgrade-panel{
  margin:0 0 24px;
  padding:22px 24px;
  border-radius:24px;
  background:linear-gradient(180deg,#fff9e8 0%,#fff4cc 100%);
  border:1px solid rgba(212,160,23,.25);
  box-shadow:0 14px 30px rgba(15,23,42,.05);
}

.ecp-upgrade-panel h4{
  margin:0 0 8px;
  font-size:18px;
  line-height:1.3;
  color:#12202d;
}

.ecp-upgrade-panel p{
  margin:0;
  color:#5b7083;
  line-height:1.8;
}

.ecp-selected-file{
  margin-top:16px;
  padding:18px 18px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  background:linear-gradient(180deg,#f8fafc 0%,#f3f7fb 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}

.ecp-selected-file__title{
  margin:0 0 6px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#475569;
}

.ecp-selected-file__name{
  font-size:15px;
  font-weight:600;
  color:#0f172a;
  word-break:break-word;
  line-height:1.55;
}

.ecp-selected-file__meta{
  margin-top:7px;
  font-size:13px;
  line-height:1.7;
  color:#64748b;
}

.ecp-upload-progress{
  margin:22px 0 0;
  padding:20px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  background:linear-gradient(180deg,#f8fafc 0%,#f3f7fb 100%);
  box-shadow:0 12px 28px rgba(15,23,42,.05);
}

.ecp-upload-progress__top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}

.ecp-upload-progress__bar{
  width:100%;
  height:14px;
  background:#e2e8f0;
  border-radius:999px;
  overflow:hidden;
}

.ecp-upload-progress__fill{
  width:0%;
  height:100%;
  background:linear-gradient(90deg,#1f6fb5 0%, #174f82 100%);
  transition:width .2s ease;
}

.ecp-upload-progress__text{
  margin:12px 0 0;
  font-size:14px;
  line-height:1.7;
  color:#475569;
}

.ecp-inline-success-actions{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.ecp-journey-help-note{
  margin-top:18px;
  padding:17px 18px;
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);
  border:1px solid #dce6f0;
  color:#5b7083;
  font-size:14px;
  line-height:1.8;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}

/* Pricing */

.pricing-card{
  display:flex;
  flex-direction:column;
}

.pricing-cta{
  margin-top:auto;
  padding-top:18px;
  display:flex;
  justify-content:center;
}

.pricing-btn{
  width:220px;
  min-height:52px;
  justify-content:center;
  text-align:center;
  box-shadow:none;
}

.pricing-btn-bronze{
  background:linear-gradient(135deg,#c58b4e,#8a5a2b);
  color:#fff;
}

.pricing-btn-bronze:hover{
  background:linear-gradient(135deg,#d49a5c,#976437);
  color:#fff;
  box-shadow:0 16px 30px rgba(138,90,43,0.22);
}

.pricing-btn-silver{
  background:linear-gradient(135deg,#cfd4d8,#8f9aa3);
  color:#1e2a36;
}

.pricing-btn-silver:hover{
  background:linear-gradient(135deg,#dbe0e4,#9aa5ae);
  color:#1e2a36;
  box-shadow:0 16px 30px rgba(143,154,163,0.22);
}

.pricing-btn-gold{
  background:linear-gradient(135deg,#f6d26a,#d4a700);
  color:#3b2b00;
}

.pricing-btn-gold:hover{
  background:linear-gradient(135deg,#ffde84,#e0b200);
  color:#3b2b00;
  box-shadow:0 16px 30px rgba(212,167,0,0.24);
}

/* Public pricing cards */

.ecp-public-pricing-showcase{
  margin:0 0 34px;
}

.ecp-public-pricing-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
  align-items:stretch;
}

.ecp-public-pricing-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:28px 26px 24px;
  border:1px solid #dce6f0;
  border-radius:26px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:0 18px 36px rgba(15,23,42,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  overflow:hidden;
}

.ecp-public-pricing-card:hover{
  transform:translateY(-3px);
  border-color:rgba(31,111,181,.20);
  box-shadow:0 22px 42px rgba(15,23,42,.10);
}

.ecp-public-pricing-card__top{
  position:relative;
  width:100%;
  margin-bottom:16px;
}

.ecp-public-pricing-card__title-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:start;
  column-gap:16px;
  width:100%;
  min-height:38px;
  padding-right:0;
}

.ecp-public-pricing-card__title{
  margin:0;
  min-width:0;
}

.ecp-public-pricing-card__price{
  justify-self:end;
  align-self:start;
  text-align:right;
  white-space:nowrap;
  flex:0 0 auto;
  margin:0;
  font-size:1.08rem;
  line-height:1.2;
  font-weight:700;
  color:#1f6fb5;
}

.ecp-public-pricing-card__summary{
  margin:0 0 10px;
  min-height:54px;
  font-size:15px;
  line-height:1.72;
  color:#4f6476;
}

.ecp-public-pricing-card__detail{
  margin:0 0 16px;
  min-height:88px;
  font-size:14px;
  line-height:1.75;
  color:#5b7083;
}

.ecp-public-pricing-card__duration{
  margin:0 0 18px;
  padding-top:14px;
  border-top:1px solid rgba(220,230,240,.95);
  font-size:13px;
  line-height:1.6;
  font-weight:600;
  color:#12202d;
}

.ecp-public-pricing-card__list{
  margin:0;
}

.ecp-public-pricing-card__list li{
  color:#1e2a36;
}

.ecp-public-pricing-card__actions{
  margin-top:auto;
  padding-top:20px;
}

.ecp-public-pricing-card__actions .button{
  width:100%;
  min-height:52px;
  justify-content:center;
  text-align:center;
}

.ecp-public-pricing-card__cta{
  margin-top:auto;
  padding-top:20px;
}

.ecp-public-pricing-card__cta .pricing-btn{
  width:100%;
  min-height:52px;
}

.ecp-public-pricing-card--recommended{
  border-color:rgba(242,179,0,.28);
  background:
    radial-gradient(circle at top right, rgba(242,179,0,.10) 0%, rgba(255,255,255,0) 26%),
    linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:0 22px 44px rgba(15,23,42,.10);
}

.ecp-public-pricing-card--recommended:hover{
  border-color:rgba(242,179,0,.36);
  box-shadow:0 26px 50px rgba(15,23,42,.14);
}

.ecp-public-pricing-card .check-list{
  margin:0;
  padding-top:6px;
}

.ecp-public-pricing-card .check-list li{
  margin-bottom:10px;
  color:var(--text);
  line-height:1.65;
}

.ecp-public-pricing-card .check-list li:last-child{
  margin-bottom:0;
}

.ecp-public-pricing-card--recommended .ecp-public-pricing-card__price{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 16px;
  border-radius:999px;
  background:linear-gradient(135deg,#f2b300 0%,#ffd86a 100%);
  border:1px solid rgba(207,150,0,.24);
  box-shadow:0 10px 22px rgba(207,150,0,.16);
  color:#4a3600;
  font-weight:800;
  line-height:1;
}

.ecp-public-pricing-card--highlight .ecp-public-pricing-card__price{
  position:relative;
  padding:6px 10px;
  border-radius:999px;
  background:linear-gradient(135deg,#f2b300 0%,#ffd86a 100%);
  color:#4a3600;
  font-weight:800;
  box-shadow:0 6px 14px rgba(207,150,0,.18);
}

/* Public page shell */

.ecp-public-page-shell{
  display:block;
  width:100%;
}

.ecp-public-page-hero{
  margin-bottom:34px;
}

.ecp-public-page-card{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  border:1px solid var(--ecp-border);
  border-radius:var(--ecp-radius-lg);
  box-shadow:var(--ecp-shadow-md);
}

.ecp-public-page-card + .ecp-public-page-card{
  margin-top:clamp(24px,3vw,34px);
}

.ecp-public-page-card .entry-content{
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
  padding:0;
}

.ecp-public-page-card .entry-content > *:first-child{
  margin-top:0;
}

.ecp-public-page-card .entry-content > *:last-child{
  margin-bottom:0;
}

.ecp-public-page-card .entry-content h1,
.ecp-public-page-card .entry-content h2,
.ecp-public-page-card .entry-content h3,
.ecp-public-page-card .entry-content h4{
  color:var(--heading);
  letter-spacing:-0.02em;
}

.ecp-public-page-card .entry-content p{
  color:var(--muted);
  line-height:1.85;
}

.ecp-public-page-card .entry-content ul,
.ecp-public-page-card .entry-content ol{
  margin:0 0 18px;
}

.ecp-public-page-card .entry-content ul{
  padding:0;
  list-style:none;
}

.ecp-public-page-card .entry-content ul li{
  position:relative;
  margin:0 0 12px;
  padding-left:28px;
  color:var(--text);
  line-height:1.75;
}

.ecp-public-page-card .entry-content ul li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:12px;
  height:12px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
}

.ecp-public-page-card .split-panel{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:28px;
  align-items:stretch;
}

.ecp-public-page-card .split-panel__content{
  padding:4px 0;
}

.ecp-public-page-card .split-panel__content h2{
  margin:0 0 14px;
  font-size:clamp(2rem, 3vw, 2.8rem);
  line-height:1.08;
  letter-spacing:-0.03em;
  color:var(--heading);
}

.ecp-public-page-card .split-panel__content p{
  margin:0 0 18px;
  color:var(--muted);
  font-size:1rem;
  line-height:1.8;
}

.ecp-public-page-card .split-panel__card,
.ecp-public-page-card .split-panel > .ecp-card{
  height:100%;
}

.ecp-public-page-card.contact-page-card{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(242,179,0,0.12) 0%, rgba(255,255,255,0) 26%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid rgba(31,111,181,0.10);
  box-shadow:var(--ecp-shadow-sm);
}

.ecp-public-page-card.contact-page-card h3{
  color:var(--heading);
}

.ecp-public-page-card.contact-page-card p{
  color:var(--muted);
}

.ecp-public-page-shell .ecp-public-pricing-showcase + .ecp-public-page-card{
  margin-top:clamp(28px,3.5vw,42px);
}

.faq-page .entry-content{
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
  padding:0;
}

.faq-page .entry-content > *:first-child{
  margin-top:0;
}

.faq-page .entry-content > *:last-child{
  margin-bottom:0;
}

.faq-page .entry-content p{
  color:var(--muted);
  line-height:1.8;
}

.faq-page .brand-showcase{
  padding-bottom:22px;
}

.faq-page .brand-showcase__text{
  max-width:880px;
}

.faq-page .brand-showcase__intro{
  max-width:780px;
  margin:0 auto;
}

.faq-page .ecp-faq-section{
  max-width:980px;
  margin:0 auto;
}

.faq-page .ecp-faq-hero__title,
.faq-page .ecp-faq-support__title{
  letter-spacing:-0.03em;
}

.faq-page .ecp-faq-list-wrap{
  backdrop-filter:blur(6px);
}

.faq-page .ecp-faq-support{
  margin-bottom:6px;
}

.legal-page .ecp-public-page-card{
  border-color:rgba(31,111,181,0.10);
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}

.legal-page .ecp-public-page-card > .entry-content{
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
  padding:0;
}

.ecp-public-page-shell .check-list{
  margin:0;
}

.ecp-public-page-shell .check-list li{
  line-height:1.7;
}

/* CTA */

.cta-section{
  padding-top:34px;
  padding-bottom:96px;
}

.cta-panel{
  padding:48px 36px;
  border-radius:30px;
  background:
    radial-gradient(circle at top right, rgba(242,179,0,0.20) 0%, rgba(15,29,42,0) 26%),
    linear-gradient(135deg, #143b5f 0%, #1f6fb5 55%, #174f82 100%);
  color:#fff;
  text-align:center;
  box-shadow:0 24px 48px rgba(17,24,39,0.18);
}

.cta-panel .section-kicker{
  color:#ffe08a;
}

.cta-panel h2{
  margin:0 0 14px;
  font-size:clamp(2rem, 3vw, 3.2rem);
  line-height:1.08;
  letter-spacing:-0.03em;
  color:#fff;
}

.cta-panel p{
  max-width:760px;
  margin:0 auto 24px;
  color:rgba(255,255,255,0.88);
  font-size:1.05rem;
}

.cta-panel .hero-actions{
  justify-content:center;
  margin-bottom:0;
}

.cta-panel .button{
  background:linear-gradient(135deg, #f8c73c 0%, var(--gold) 100%);
  color:#3d2e00;
  box-shadow:0 14px 28px rgba(242,179,0,0.24);
}

.cta-panel .button:hover{
  background:linear-gradient(135deg, #ffd45c 0%, #e0a400 100%);
  color:#3d2e00;
}

.cta-panel .button-secondary{
  background:rgba(255,255,255,0.10);
  border:1px solid rgba(255,255,255,0.18);
  color:#fff;
}

.cta-panel .button-secondary:hover{
  background:rgba(255,255,255,0.16);
  color:#fff;
}

/* Footer */

.site-footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0) 28%),
    radial-gradient(circle at left center, rgba(31,111,181,0.22) 0%, rgba(31,111,181,0) 34%),
    linear-gradient(135deg, #0f172a 0%, #182737 46%, #21415e 100%);
  color:#ffffff;
  padding:76px 0 24px;
  border-top:1px solid rgba(255,255,255,0.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);
}

.site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0) 42%);
  pointer-events:none;
}

.site-footer .container{
  position:relative;
  z-index:1;
}

.footer-top{
  display:grid;
  grid-template-columns:minmax(0, 1.25fr) minmax(180px, .55fr) minmax(180px, .55fr);
  gap:38px;
  padding-bottom:30px;
  border-bottom:1px solid rgba(255,255,255,0.10);
}

.footer-brand-card{
  padding:30px;
  border:1px solid rgba(255,255,255,0.10);
  border-radius:30px;
  background:linear-gradient(180deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.06) 100%);
  backdrop-filter:blur(10px);
  box-shadow:0 24px 48px rgba(15,23,42,0.18);
}

.footer-brand-card__head{
  display:grid;
  grid-template-columns:96px 1fr;
  gap:20px;
  align-items:center;
  margin-bottom:20px;
}

.footer-brand-card__logo-wrap{
  width:96px;
  height:96px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,0.16) 0%, rgba(255,255,255,0.08) 100%);
  border:1px solid rgba(255,255,255,0.10);
  box-shadow:0 14px 28px rgba(15,23,42,0.16);
  padding:12px;
}


.footer-brand-card__logo{
  width:100%;
  max-width:68px;
  max-height:68px;
  object-fit:contain;
  filter:drop-shadow(0 8px 18px rgba(15,23,42,0.18));
}

.footer-brand-card__eyebrow{
  display:inline-block;
  margin:0 0 8px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#93c5fd;
}

.footer-brand-card h3{
  margin:0;
  color:#ffffff;
  font-size:1.7rem;
  line-height:1.08;
  letter-spacing:-0.03em;
}

.footer-brand-card__intro{
  margin:0 0 18px;
  color:rgba(255,255,255,0.78);
  font-size:.98rem;
  line-height:1.7;
}

.footer-brand-card__tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:22px;
}

.footer-brand-card__tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:999px;
  background:rgba(255,255,255,0.08);
  color:#ffffff;
  font-size:.86rem;
  font-weight:700;
  box-shadow:none;
}

.footer-brand-card__actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.footer-brand-card__button{
  min-width:190px;
  background:linear-gradient(135deg, #f8c73c 0%, var(--gold) 100%);
  color:#3d2e00;
  box-shadow:0 14px 28px rgba(242,179,0,0.20);
}

.footer-brand-card__button:hover{
  background:linear-gradient(135deg, #ffd45c 0%, #e0a400 100%);
  color:#3d2e00;
}

.footer-links-column{
  padding-top:10px;
}

.footer-links-column h4{
  margin:0 0 18px;
  color:#ffffff;
  font-size:1.12rem;
  letter-spacing:-0.01em;
}

.footer-links-column ul{
  list-style:none;
  margin:0;
  padding:0;
}

.footer-links-column li{
  margin-bottom:14px;
}

.footer-links-column a{
  color:rgba(255,255,255,0.72);
  font-size:1rem;
  transition:var(--transition);
}

.footer-links-column a:hover{
  color:#ffffff;
}

.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-top:22px;
}

.footer-bottom p{
  margin:0;
  color:rgba(255,255,255,0.62);
  font-size:.95rem;
}

/* Footer responsive */

@media (max-width:1100px){
  .footer-top{
    grid-template-columns:1fr 1fr;
    gap:28px;
  }

  .footer-brand-card{
    grid-column:1 / -1;
  }
}

@media (max-width:980px){
  .footer-top{
    grid-template-columns:1fr;
    gap:24px;
    padding-bottom:24px;
  }

  .footer-links-column{
    padding-top:0;
  }
}

@media (max-width:768px){
  .site-footer{
    padding:56px 0 22px;
  }

  .footer-brand-card{
    padding:24px;
    border-radius:24px;
  }

  .footer-brand-card__head{
    grid-template-columns:1fr;
    align-items:flex-start;
    gap:16px;
  }
  

  .footer-brand-card h3{
    font-size:1.45rem;
  }

  .footer-brand-card__actions{
    flex-direction:column;
    align-items:stretch;
  }

  .footer-brand-card__button{
    min-width:0;
    width:100%;
  }

  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
}

@media (max-width:640px){
  .site-footer{
    padding:46px 0 20px;
  }

  .footer-top{
    gap:22px;
  }

  .footer-brand-card{
    padding:22px;
  }

  .footer-brand-card__tags{
    gap:8px;
  }

  .footer-brand-card__tag{
    min-height:34px;
    padding:0 12px;
    font-size:.8rem;
  }

  .footer-links-column a{
    font-size:.96rem;
  }

  .footer-bottom p{
    font-size:.9rem;
  }
}

/* Forms */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="url"],
input[type="file"],
textarea,
select{
  width:100%;
  max-width:100%;
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px 16px;
  font:inherit;
  color:var(--text);
  background:#fff;
  transition:var(--transition);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="url"]:focus,
input[type="file"]:focus,
textarea:focus,
select:focus{
  outline:none;
  border-color:rgba(31,111,181,0.50);
  box-shadow:0 0 0 4px rgba(31,111,181,0.10);
}

label{
  font-weight:700;
  color:var(--heading);
}

h1,h2,h3,h4,h5,h6{
  line-height:1.15;
}

.platform-page-content{
  margin:0;
  padding:0;
}

.platform-page-content .entry-content{
  background:transparent;
  border:none;
  border-radius:0;
  padding:0;
  box-shadow:none;
}

/* Responsive */

@media (max-width:1260px){
  .header-inner{
    grid-template-columns:minmax(160px, 210px) minmax(0, 1fr);
    gap:16px;
  }

  .main-nav{
    justify-self:end;
  }

  .main-nav ul,
  .main-nav__menu{
    justify-content:flex-end;
    gap:2px;
  }

  .main-nav a{
    padding:0 10px;
    font-size:.9rem;
  }
}

@media (max-width:1100px){
  .how-grid,
  .card-grid{
    grid-template-columns:repeat(2, 1fr);
  }

  .header-inner{
    grid-template-columns:minmax(150px, 200px) minmax(0, 1fr);
    gap:14px;
    row-gap:12px;
    min-height:82px;
  }

  .site-header{
    min-height:82px;
  }

  .site-branding{
    max-width:200px;
  }

  .site-branding__eyebrow{
    font-size:.62rem;
  }

  .site-branding__name{
    font-size:1.18rem;
  }

  .main-nav a{
    min-height:40px;
    padding:0 9px;
    font-size:.88rem;
  }

  .hero{
    padding:60px 0 54px;
  }

  .hero-banner{
    min-height:520px;
  }

  .hero-trust-strip__inner{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    padding:16px 18px;
  }

  .hero-trust-strip__logos{
    justify-content:flex-start;
  }

  .footer-top{
    grid-template-columns:1fr 1fr;
    gap:28px;
  }

  .footer-brand-card{
    grid-column:1 / -1;
  }

  .ecp-stats-strip{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .ecp-hero__highlights,
  .ecp-highlights-strip,
  .ecp-timeline__list,
  .ecp-public-pricing-grid{
    grid-template-columns:1fr;
  }

  .ecp-timeline__list::before{
    display:none;
  }

  .ecp-submission-facts__grid{
    grid-template-columns:1fr;
  }

  .section{
    padding:72px 0;
  }

  .brand-showcase{
    padding:54px 0 16px;
  }

  .ecp-public-pricing-card{
    padding:24px 22px 22px;
    border-radius:22px;
  }

  .ecp-public-pricing-card__title{
    font-size:1.32rem;
  }

  .ecp-public-pricing-card__summary,
  .ecp-public-pricing-card__detail{
    min-height:0;
  }
}

@media (max-width:980px){
  .site-header{
    min-height:auto;
  }

  .header-inner{
    grid-template-columns:1fr auto;
    align-items:center;
    gap:12px;
    padding:14px 0;
    min-height:auto;
  }

  .site-branding{
    justify-self:start;
    max-width:none;
  }

  .main-nav__menu > .menu-item-login{
    margin-left:0;
  }

  .main-nav--desktop,
  .header-cta--desktop{
    display:none;
  }

  .mobile-menu{
    display:block;
  }

  .card-grid,
  .split-panel,
  .footer-top,
  .how-grid,
  .about-reviewer-premium__hero,
  .ecp-grid,
  .ecp-meta,
  .ecp-account-shell-head__top,
  .ecp-auth-grid,
  .ecp-package-options,
  .ecp-journey-trust-strip,
  .ecp-journey-hero__highlights,
  .ecp-public-page-card .split-panel{
    grid-template-columns:1fr;
  }

  .hero{
    padding:56px 0 50px;
  }

  .hero-copy{
    max-width:none;
    padding-top:0;
  }

  .hero h1{
    max-width:none;
    font-size:clamp(2.35rem, 6vw, 3.9rem);
  }

  .hero-banner{
    min-height:440px;
    background-position:center center;
  }

  .hero-overlay{
    background:linear-gradient(
      180deg,
      rgba(10,20,30,0.52) 0%,
      rgba(10,20,30,0.28) 48%,
      rgba(10,20,30,0.12) 100%
    );
  }

  .hero-intro{
    max-width:none;
    font-size:1rem;
  }

  .hero-actions{
    gap:12px;
  }

  .about-reviewer-premium__image{
    min-height:420px;
  }

  .section{
    padding:60px 0;
  }

  .section-heading{
    margin:0 auto 32px;
  }

  .site-main{
    padding:34px 0 64px;
  }

  .page-content,
  .entry-content{
    padding:26px;
  }

  .brand-showcase{
    padding:42px 0 14px;
  }

  .brand-showcase__inner{
    gap:14px;
  }

  .brand-showcase__text{
    max-width:none;
  }

  .cta-panel{
    padding:36px 28px;
  }

  .footer-top{
    padding-bottom:24px;
  }

  .site-footer{
    padding:56px 0 22px;
  }

  .faq-page .ecp-faq-section{
    max-width:none;
  }

  .ecp-account-shell-head{
    padding:26px 24px 22px;
    border-radius:24px;
  }

  .ecp-account-shell-head__top{
    gap:18px;
  }

  .ecp-account-shell-head__title{
    font-size:32px;
  }

  .ecp-account-head-actions{
    grid-template-columns:1fr;
    gap:10px;
  }

  .ecp-account-shell-head__utility-row{
    justify-content:space-between;
    gap:12px;
  }
}

@media (min-width:981px){
  .ecp-account-head-actions{
    display:flex;
    flex-direction:column;
    gap:10px;
    align-items:stretch;
  }

  .ecp-account-help-btn--compact{
    align-self:flex-end;
    order:-1;
  }
}

@media (max-width:860px){
  .ecp-card,
  .ecp-form-card,
  .ecp-table-card{
    padding:20px;
  }

  .ecp-faq-hero{
    flex-direction:column;
    padding:24px;
    border-radius:22px;
  }

  .ecp-faq-hero__title{
    font-size:28px;
  }

  .ecp-faq-hero__badge{
    flex:0 0 auto;
    width:100%;
    align-self:stretch;
  }

  .ecp-faq-list-wrap{
    padding:16px;
    border-radius:20px;
  }

  .ecp-faq-support__inner{
    padding:22px;
    border-radius:20px;
  }

  .ecp-faq-support__title{
    font-size:24px;
  }
}

@media (max-width:768px){
  .container{
    width:min(var(--container), calc(100% - 24px));
  }

  .site-header{
    backdrop-filter:blur(12px);
  }

  .header-inner{
    gap:10px;
    padding:12px 0;
  }

  .site-branding__name{
    font-size:1.26rem;
  }

  .site-branding__eyebrow{
    font-size:.58rem;
    letter-spacing:.13em;
  }

  .mobile-menu__toggle{
    min-height:42px;
    padding:0 14px;
    gap:8px;
  }

  .mobile-menu__toggle-text{
    font-size:.88rem;
  }

  .mobile-menu__panel{
    width:min(300px, calc(100vw - 24px));
    padding:16px;
  }

  .mobile-menu__brand{
    margin:0 0 14px;
    padding:8px 8px 6px;
  }

  .mobile-menu__brand-logo{
    max-width:160px;
    max-height:68px;
  }

  .brand-showcase__logo{
    width:min(100%, 240px);
    max-height:180px;
  }

  .hero{
    padding:48px 0 42px;
  }

  .hero-banner{
    min-height:380px;
  }

  .hero h1{
    font-size:clamp(2.05rem, 8vw, 3rem);
    line-height:0.98;
    letter-spacing:-0.045em;
  }

  .hero-intro{
    font-size:.98rem;
    line-height:1.55;
  }

  .hero-eyebrow,
  .section-kicker{
    margin:0 0 10px;
    font-size:.74rem;
  }

  .hero-trust-strip{
    margin-top:-10px;
    padding:4px 0 12px 0;
  }

  .hero-trust-strip__label{
    white-space:normal;
    font-size:12px;
    letter-spacing:2px;
  }

  .hero-trust-strip__item{
    min-height:36px;
    padding:0 12px;
    font-size:.84rem;
  }

  .section{
    padding:50px 0;
  }

  .section-heading h1,
  .section-heading h2,
  .split-panel__content h2,
  .ecp-public-page-card .split-panel__content h2{
    font-size:clamp(1.7rem, 6vw, 2.4rem);
  }

  .section-heading p,
  .split-panel__content p,
  .brand-showcase__intro{
    font-size:.98rem;
  }

  .card,
  .page-content,
  .entry-content,
  .cta-panel,
  .how-card,
  .footer-brand-card,
  .about-reviewer-premium__image-frame,
  .about-reviewer-premium__closing-inner,
  .about-reviewer-premium__statement,
  .ecp-public-page-card{
    padding:22px;
  }

  .about-reviewer-premium{
    margin-top:28px;
  }

  .about-reviewer-premium__title{
    font-size:clamp(1.95rem, 8vw, 2.75rem);
  }

  .about-reviewer-premium__subtitle{
    font-size:1rem;
  }

  .about-reviewer-premium__intro{
    font-size:.98rem;
  }

  .about-reviewer-premium__image-frame{
    padding:12px;
  }

  .about-reviewer-premium__image{
    min-height:360px;
  }

  .footer-brand-card__head{
    grid-template-columns:1fr;
    align-items:flex-start;
    gap:14px;
  }

  .footer-brand-card__actions{
    flex-direction:column;
    align-items:stretch;
  }

  .footer-brand-card__button{
    min-width:0;
    width:100%;
  }

  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }

  .ecp-card-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .ecp-page-head{
    margin:0 0 22px;
  }

  .ecp-page-head h2{
    font-size:clamp(1.7rem, 6vw, 2.25rem);
  }

  .ecp-stat-card{
    min-height:100px;
    padding:18px 20px;
  }

  .ecp-stat-card__value{
    font-size:1.7rem;
  }

  .ecp-submission-card{
    gap:18px;
  }

  .ecp-card,
  .ecp-panel,
  .ecp-video-block,
  .ecp-feedback-panel,
  .ecp-meta{
    padding:18px;
  }

  .faq-page .brand-showcase{
    padding-bottom:18px;
  }

  .legal-page .card{
    border-radius:22px;
  }

  .legal-page .entry-content h1{
    font-size:clamp(1.7rem, 6vw, 2.4rem);
  }

  .legal-page .entry-content h2{
    font-size:clamp(1.35rem, 5vw, 1.8rem);
    margin:28px 0 12px;
    padding-top:8px;
  }

  .legal-page .entry-content h3{
    font-size:1.08rem;
  }

  .legal-page .entry-content p,
  .legal-page .entry-content ul li,
  .legal-page .entry-content ol li{
    font-size:.98rem;
  }

  .legal-page .entry-content th,
  .legal-page .entry-content td{
    padding:12px 12px;
  }

  .ecp-account-shell-head{
    padding:22px 18px 20px;
    border-radius:22px;
  }

  .ecp-account-shell-head__utility-row{
    align-items:center;
    gap:10px;
    margin-bottom:12px;
  }

  .ecp-account-shell-head__title{
    font-size:28px;
  }

  .ecp-account-shell-head__intro{
    font-size:15px;
    line-height:1.7;
  }

  .ecp-account-shell-head__micro{
    gap:8px;
    margin-top:16px;
  }

  .ecp-account-head-actions{
    grid-template-columns:1fr;
    gap:10px;
  }

  .ecp-account-identity-card{
    min-height:72px;
    padding:13px 14px;
    border-radius:18px;
  }

  .ecp-account-identity-card__name{
    font-size:17px;
  }

  .ecp-account-nav{
    margin-top:22px;
    padding-top:18px;
  }

  .ecp-account-nav__list{
    flex-direction:column;
    align-items:stretch;
    gap:8px;
  }

  .ecp-account-nav__link{
    width:100%;
    justify-content:flex-start;
    min-height:44px;
  }

  .ecp-form-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .ecp-btn{
    width:100%;
  }

  .ecp-faq-item__summary{
    padding:18px 18px;
  }

  .ecp-faq-item__question{
    font-size:16px;
  }

  .ecp-faq-item__answer{
    padding:0 18px 20px;
  }

  .ecp-faq-item__icon{
    flex:0 0 36px;
    width:36px;
    height:36px;
  }

  .ecp-package-option,
  .ecp-auth-card,
  .ecp-journey-trust-card{
    padding:20px;
    border-radius:20px;
  }

  .ecp-package-title{
    font-size:1.16rem;
  }

  .ecp-package-price{
    font-size:.98rem;
  }

  .ecp-package-summary{
    font-size:14px;
  }

  .ecp-package-detail-line{
    font-size:13px;
  }

  .ecp-field-help{
    font-size:.92rem;
  }

  .ecp-upload-limit-note{
    padding:13px 14px;
  }

  .ecp-status-panel__head{
    flex-direction:column;
    align-items:flex-start;
  }

  .ecp-hero{
    padding:22px 18px;
    border-radius:22px;
  }

  .ecp-hero__title{
    font-size:30px;
  }

  .ecp-timeline{
    padding:18px;
  }

  .ecp-timeline__item{
    text-align:left;
    padding-left:0;
  }

  .ecp-timeline__marker-wrap{
    margin:0 0 10px;
  }

  .ecp-timeline__body{
    align-items:flex-start;
  }

  .ecp-timeline__label{
    max-width:none;
  }

  .ecp-submission-facts__featured-title{
    font-size:21px;
  }

  .ecp-reviewer-filters{
    flex-direction:column;
    align-items:stretch;
  }

  .ecp-reviewer-filters__link{
    width:100%;
    justify-content:flex-start;
  }

  .ecp-form-grid,
  .ecp-summary-grid{
    grid-template-columns:1fr;
  }

  .ecp-journey-hero{
    padding:24px 18px;
    border-radius:24px;
  }

  .ecp-journey-hero__title{
    font-size:31px;
  }

  .ecp-package-title-row{
    gap:12px;
  }

  .ecp-package-option--recommended .ecp-package-price{
    min-height:38px;
    padding:0 14px;
    font-size:.96rem;
  }

  .ecp-public-page-hero{
    margin-bottom:26px;
  }

  .ecp-public-page-card .split-panel{
    gap:22px;
  }

  .ecp-public-pricing-grid .ecp-public-pricing-card .ecp-public-pricing-card__title-row{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) 132px !important;
    column-gap:14px !important;
    align-items:start !important;
    width:100% !important;
    min-height:auto !important;
    padding-right:0 !important;
  }

  .ecp-public-pricing-grid .ecp-public-pricing-card .ecp-public-pricing-card__title{
    min-width:0 !important;
    margin:0 !important;
    font-size:1.15rem !important;
    line-height:1.2 !important;
  }

  .ecp-public-pricing-grid .ecp-public-pricing-card .ecp-public-pricing-card__price{
    justify-self:end !important;
    align-self:start !important;
    margin:0 !important;
    text-align:right !important;
    white-space:nowrap !important;
  }

  .ecp-faq-support__inner{
    flex-direction:column;
    align-items:flex-start;
  }

  .ecp-faq-support__actions{
    width:100%;
    justify-content:flex-start;
  }

  .ecp-faq-support__button{
    width:100%;
    min-width:0;
  }
}

@media (max-width:640px){
  .site-branding__eyebrow{
    display:none;
  }

  .site-branding__name{
    font-size:1.18rem;
  }

  .header-inner{
    gap:8px;
    padding:10px 0;
  }

  .mobile-menu__toggle{
    min-height:40px;
    padding:0 13px;
  }

  .mobile-menu__toggle-text{
    display:none;
  }

  .mobile-menu__panel{
    top:calc(100% + 10px);
    right:0;
    width:min(280px, calc(100vw - 24px));
    padding:14px;
  }

  .mobile-menu__brand{
    margin:0 0 12px;
    padding:6px 6px 4px;
  }

  .mobile-menu__brand-logo{
    max-width:145px;
    max-height:60px;
  }

  .mobile-menu__actions{
    gap:8px;
    margin-bottom:12px;
  }

  .mobile-nav a{
    min-height:42px;
    padding:0 12px;
    font-size:.9rem;
  }

  .hero{
    padding:40px 0 34px;
  }

  .hero h1{
    font-size:clamp(1.95rem, 10vw, 2.7rem);
    line-height:1;
  }

  .hero-intro{
    font-size:.96rem;
    margin:0 0 20px;
  }

  .hero-actions{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }

  .button,
  .wp-block-button__link,
  button,
  input[type="submit"]{
    width:100%;
    min-height:48px;
  }

  .hero-banner{
    min-height:320px;
  }

  .hero-banner .button-secondary{
    border-width:1px;
  }

  .hero-trust-strip{
    margin-top:-8px;
  }

  .hero-trust-strip__inner{
    padding:14px 16px;
    gap:12px;
  }

  .hero-trust-strip__inner--simple{
    padding:8px 12px;
  }

  .hero-trust-strip__logos{
    gap:8px;
  }

  .hero-trust-strip__item{
    min-height:34px;
    padding:0 10px;
    font-size:.8rem;
  }

  .brand-showcase{
    padding:34px 0 10px;
  }

  .brand-showcase__title{
    font-size:clamp(1.6rem, 8vw, 2.15rem);
  }

  .section{
    padding:42px 0;
  }

  .section-heading{
    margin:0 auto 24px;
  }

  .section-how-it-works{
    padding-top:34px;
    padding-bottom:18px;
  }

  .card,
  .page-content,
  .entry-content,
  .cta-panel,
  .how-card,
  .footer-brand-card,
  .about-reviewer-premium__image-frame,
  .about-reviewer-premium__closing-inner,
  .about-reviewer-premium__statement,
  .ecp-public-page-card{
    padding:20px;
  }

  .split-panel{
    gap:20px;
  }

  .split-panel__card{
    gap:14px;
  }

  .about-reviewer-premium__image{
    min-height:300px;
  }

  .about-reviewer-premium__title{
    font-size:clamp(1.8rem, 9vw, 2.35rem);
  }

  .about-reviewer-premium__closing h3{
    font-size:clamp(1.45rem, 7vw, 1.95rem);
  }

  .pricing-btn,
  .ecp-btn{
    width:100%;
  }

  .contact-page-card__email{
    font-size:1rem;
  }

  .site-footer{
    padding:46px 0 20px;
  }

  .footer-top{
    gap:22px;
  }

  .footer-brand-card__tags{
    gap:8px;
  }

  .footer-brand-card__tag{
    min-height:34px;
    padding:0 12px;
    font-size:.8rem;
  }

  .ecp-stats-strip{
    grid-template-columns:1fr;
    gap:14px;
  }

  .ecp-card,
  .ecp-stat-card,
  .ecp-panel,
  .ecp-video-block,
  .ecp-feedback-panel,
  .ecp-meta{
    padding:16px;
  }

  .ecp-form-actions{
    display:block;
  }

  .ecp-table th,
  .ecp-table td{
    padding:12px 12px;
  }

  .faq-page .brand-showcase__title{
    font-size:clamp(1.55rem, 8vw, 2.05rem);
  }

  .ecp-package-option{
    padding:20px 18px 18px;
    border-radius:18px;
  }

  .ecp-package-option input[type="radio"]{
    top:18px;
    right:18px;
  }

  .ecp-package-title-row{
    gap:10px;
  }

  .ecp-package-title{
    font-size:1.08rem;
  }

  .ecp-package-price{
    font-size:.94rem;
  }

  .ecp-package-summary,
  .ecp-package-detail-line,
  .ecp-package-duration,
  .ecp-package-selector__label{
    font-size:13px;
  }

  .ecp-package-option--recommended .ecp-package-price{
    min-height:36px;
    padding:0 13px;
    font-size:.92rem;
  }

  .ecp-upload-limit-note{
    border-radius:14px;
  }

  .ecp-account-shell-head__eyebrow{
    max-width:calc(100% - 96px);
  }

  .ecp-public-pricing-card{
    padding:22px 18px 18px;
    border-radius:20px;
  }

  .ecp-public-pricing-card__title-row{
    padding-right:96px;
  }

  .ecp-public-pricing-card__title{
    font-size:1.18rem;
  }

  .ecp-public-pricing-card__price{
    font-size:1rem;
  }

  .ecp-public-pricing-card__summary,
  .ecp-public-pricing-card__detail,
  .ecp-public-pricing-card__duration{
    font-size:13px;
  }
}

@media (max-width:520px){
  .ecp-account-shell-head__eyebrow{
    min-height:28px;
    padding:0 10px;
    font-size:10px;
  }

  .ecp-account-help-btn--compact{
    min-height:34px;
    padding:0 12px;
  }

  .ecp-account-help-btn--compact .ecp-account-help-btn__title{
    font-size:12px;
  }

  .ecp-account-shell-head__title{
    font-size:24px;
  }

  .ecp-account-shell-head__welcome,
  .ecp-account-shell-head__workspace{
    font-size:12px;
  }

  .ecp-account-identity-card__name{
    font-size:16px;
  }

  .ecp-account-identity-card__role{
    font-size:10px;
    min-height:22px;
  }
}
/* Mobile menu buttons */

.ecp-mobile-nav .ecp-menu-register a{
  display:block;
  background:#1f6fb5;
  color:#fff;
  border-radius:8px;
  text-align:center;
  padding:10px;
  margin-top:8px;
  font-weight:600;
}

.ecp-mobile-nav .ecp-menu-login a{
  display:block;
  background:#000;
  color:#fff;
  border-radius:8px;
  text-align:center;
  padding:10px;
  margin-top:8px;
  font-weight:600;
}

/* Dashboard mobile action refinement */

.ecp-account-nav__link{
  min-height:44px;
  padding:0 18px;
  font-size:14px;
  font-weight:700;
  letter-spacing:.005em;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg, rgba(255,255,255,.09) 0%, rgba(255,255,255,.06) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}

.ecp-account-nav__link:hover,
.ecp-account-nav__link:focus{
  background:linear-gradient(135deg, rgba(255,255,255,.15) 0%, rgba(255,255,255,.10) 100%);
  border-color:rgba(255,255,255,.14);
  transform:translateY(-1px);
}

.ecp-account-nav__link.is-active{
  background:linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
  border-color:#ffffff;
  color:#12202d;
  box-shadow:0 10px 22px rgba(15,23,42,.14);
}

.ecp-account-nav__link.is-logout{
  background:linear-gradient(135deg, rgba(255,255,255,.07) 0%, rgba(255,255,255,.05) 100%);
  border-color:rgba(255,255,255,.08);
  color:rgba(255,255,255,.92);
}

.ecp-account-nav__link.is-logout:hover,
.ecp-account-nav__link.is-logout:focus{
  background:linear-gradient(135deg, rgba(255,255,255,.11) 0%, rgba(255,255,255,.08) 100%);
  border-color:rgba(255,255,255,.13);
  color:#ffffff;
}

@media (max-width:768px){
  .ecp-account-shell-head{
    padding:20px 18px 18px;
  }

  .ecp-account-shell-head__intro{
    max-width:33ch;
    margin:12px 0 0;
    line-height:1.62;
  }

  .ecp-account-shell-head__micro{
    margin-top:14px;
    gap:7px;
  }

  .ecp-account-nav{
    margin-top:18px;
    padding-top:16px;
  }

  .ecp-account-nav__list{
    gap:10px;
  }

  .ecp-account-nav__link{
    min-height:42px;
    padding:0 16px;
    border-radius:999px;
  }
}

@media (max-width:640px){
  .ecp-account-shell-head{
    padding:18px 16px 16px;
    border-radius:20px;
  }

  .ecp-account-shell-head__title{
    font-size:23px;
  }

  .ecp-account-shell-head__intro{
    font-size:14px;
    line-height:1.58;
  }

  .ecp-account-nav{
    margin-top:16px;
    padding-top:14px;
  }

  .ecp-account-nav__list{
    gap:9px;
  }

  .ecp-account-nav__link{
    min-height:40px;
    padding:0 15px;
    font-size:13px;
  }
}

/* =========================
   Account nav buttons polish
   ========================= */

.ecp-account-nav{
  margin-top:14px;
}

.ecp-account-nav__list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.ecp-account-nav__item{
  list-style:none;
}

.ecp-account-nav__link{
  display:block;
  width:100%;
  padding:14px 18px;
  border-radius:999px;
  font-size:16px;
  font-weight:600;
  text-decoration:none;
  color:#ffffff;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,0.06),
    rgba(255,255,255,0.02)
  );
  border:1px solid rgba(255,255,255,0.08);
  backdrop-filter:blur(6px);
  transition:all 0.15s ease;
}

.ecp-account-nav__link:active,
.ecp-account-nav__link:hover{
  transform:translateY(-1px);
  background:linear-gradient(
    180deg,
    rgba(255,255,255,0.08),
    rgba(255,255,255,0.03)
  );
}

.ecp-account-nav__link.is-active{
  background:linear-gradient(
    180deg,
    rgba(255,255,255,0.14),
    rgba(255,255,255,0.05)
  );
  border:1px solid rgba(255,255,255,0.18);
}

.ecp-account-nav__link.is-logout{
  background:linear-gradient(
    180deg,
    rgba(180,120,120,0.25),
    rgba(120,80,80,0.18)
  );
  border:1px solid rgba(255,120,120,0.25);
  opacity:0.85;
}

.ecp-account-nav__link.is-logout:hover,
.ecp-account-nav__link.is-logout:active{
  opacity:1;
  background:linear-gradient(
    180deg,
    rgba(200,120,120,0.35),
    rgba(140,80,80,0.25)
  );
}

/* Homepage coach strip refinement */

.hero-trust-strip__inner--compact{
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  padding:16px 18px;
}

.coach-strip{
  padding:54px 0 22px;
}

.coach-strip__inner{
  max-width:980px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:24px;
}

.coach-strip__media{
  width:100%;
  display:flex;
  justify-content:center;
}

.coach-strip__image{
  width:min(100%, 760px);
  max-height:840px;
  object-fit:cover;
  border-radius:36px;
  box-shadow:0 24px 48px rgba(18,32,45,0.12);
  overflow:hidden;
}

.coach-strip__content{
  max-width:760px;
}

.coach-strip__eyebrow{
  display:inline-block;
  margin:0 0 12px;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
}

.coach-strip__title{
  margin:0 0 14px;
  font-size:clamp(2rem, 3vw, 3rem);
  line-height:1.08;
  letter-spacing:-0.03em;
  color:var(--heading);
}

.coach-strip__intro{
  margin:0 auto 18px;
  max-width:700px;
  font-size:1.02rem;
  line-height:1.75;
  color:var(--muted);
}

.coach-strip__meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin:0 0 18px;
}

.coach-strip__meta span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  background:#ffffff;
  border:1px solid var(--border);
  color:var(--heading);
  font-size:.9rem;
  font-weight:700;
  box-shadow:var(--shadow-soft);
}

.coach-strip__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  color:var(--accent-dark);
}

.coach-strip__link:hover{
  color:var(--accent);
}

.split-panel__card--premium{
  background:
    radial-gradient(circle at top right, rgba(242,179,0,0.10) 0%, rgba(255,255,255,0) 24%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border:1px solid rgba(31,111,181,0.10);
}

@media (max-width:980px){
  .coach-strip{
    padding:42px 0 14px;
  }

  .coach-strip__image{
    width:min(100%, 620px);
    border-radius:30px;
  }
}

@media (max-width:768px){
  .coach-strip{
    padding:34px 0 8px;
  }

  .coach-strip__inner{
    gap:20px;
  }

  .coach-strip__image{
    width:min(100%, 500px);
    border-radius:24px;
  }

  .coach-strip__title{
    font-size:clamp(1.75rem, 7vw, 2.4rem);
  }

  .coach-strip__intro{
    font-size:.98rem;
  }
}

@media (max-width:640px){
  .coach-strip__image{
    width:100%;
    border-radius:22px;
  }

  .coach-strip__meta{
    flex-direction:column;
    align-items:stretch;
  }

  .coach-strip__meta span{
    width:100%;
  }
}

.brand-showcase__logo,
.brand-showcase__logo-wrap,
.brand-showcase__media,
.brand-showcase__inner{
  background:transparent !important;
  background-image:none !important;
  border:none !important;
  box-shadow:none !important;
}

.brand-showcase__logo{
  background:transparent !important;
  mix-blend-mode:normal;
}


.section-video-analysis{
  text-align:center;
}

.section-video-analysis__inner{
  max-width:980px;
  margin:0 auto;
}

.section-video-analysis__eyebrow{
  display:inline-block;
  margin:0 0 10px;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
}

.section-video-analysis__title{
  margin:0 0 18px;
  font-size:clamp(2rem, 3vw, 3rem);
  line-height:1.08;
  letter-spacing:-0.03em;
  color:var(--heading);
}

.section-video-analysis__content{
  max-width:980px;
  margin:0 auto;
}

.section-video-analysis__content p{
  margin:0 0 18px;
  font-size:1.02rem;
  line-height:1.75;
  color:var(--muted);
}

.section-video-analysis__content p:last-child{
  margin-bottom:0;
}

@media (max-width:768px){
  .section-video-analysis__title{
    font-size:clamp(1.7rem, 6vw, 2.4rem);
  }

  .section-video-analysis__content p{
    font-size:.98rem;
  }
}

.ecp-reviewer-dashboard-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin:0 0 6px;
  flex-wrap:wrap;
}

.ecp-reviewer-dashboard-head__main{
  flex:1 1 620px;
  min-width:0;
}

.ecp-reviewer-dashboard-head__actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.ecp-reviewer-inbox-button{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:0 18px;
  border-radius:999px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);
  border:1px solid #dce6f0;
  box-shadow:0 12px 24px rgba(15,23,42,.06);
  color:#12202d;
  font-weight:800;
  text-decoration:none;
  transition:all .18s ease;
}

.ecp-reviewer-inbox-button:hover,
.ecp-reviewer-inbox-button:focus{
  transform:translateY(-1px);
  border-color:#bfd7ea;
  color:#12202d;
  box-shadow:0 16px 28px rgba(15,23,42,.08);
}

.ecp-reviewer-inbox-button__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:999px;
  background:#eef6fc;
  color:#1f6fb5;
  font-size:14px;
  line-height:1;
}

.ecp-reviewer-inbox-button__text{
  line-height:1;
}

.ecp-reviewer-inbox-button__count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  padding:0 8px;
  border-radius:999px;
  background:#12202d;
  color:#ffffff;
  font-size:12px;
  line-height:1;
}

.ecp-reviewer-inbox-button__badge{
  position:absolute;
  top:8px;
  right:8px;
  width:10px;
  height:10px;
  border-radius:999px;
  background:#dc2626;
  box-shadow:0 0 0 3px #ffffff;
}

@media (max-width:768px){
  .ecp-reviewer-dashboard-head{
    align-items:stretch;
  }

  .ecp-reviewer-dashboard-head__actions{
    width:100%;
    justify-content:flex-start;
  }

  .ecp-reviewer-inbox-button{
    width:100%;
    justify-content:center;
  }
}

/**
 * Mobile-only Register menu item.
 *
 * The Register CTA remains visible in the desktop hero banner,
 * but the duplicate Register item is hidden from the desktop nav.
 */
@media (min-width: 981px) {
    .ecp-nav-register-mobile-only {
        display: none !important;
    }
}
