:root{
  --ed-cream: #FBF7F0;
  --ed-cream-2: #F3ECDF;
  --ed-ink: #2A2621;
  --ed-ink-soft: #58514A;
  --ed-teal-900: #143935;
  --ed-teal-700: #1E5A54;
  --ed-teal-600: #256E67;
  --ed-teal-500: #2E8079;
  --ed-teal-300: #8FC0BA;
  --ed-coral-600: #D65F38;
  --ed-coral-500: #E8734A;
  --ed-coral-300: #F2A183;
  --ed-amber-500: #E8A94A;
  --ed-amber-300: #F2CC8F;
  --ed-white: #FFFDF8;

  --ed-shadow-sm: 0 1px 2px rgba(20,57,53,0.06), 0 2px 8px rgba(20,57,53,0.06);
  --ed-shadow-md: 0 4px 10px rgba(20,57,53,0.08), 0 10px 28px rgba(20,57,53,0.12);
  --ed-shadow-lg: 0 10px 30px rgba(20,57,53,0.14), 0 30px 70px rgba(20,57,53,0.16);

  --ed-radius-sm: 0.85rem;
  --ed-radius-md: 1.4rem;
  --ed-radius-lg: 2.2rem;
  --ed-radius-xl: 3rem;
  --ed-radius-blob: 63% 37% 54% 46% / 45% 51% 49% 55%;

  --ed-gradient-primary: linear-gradient(135deg, var(--ed-teal-700) 0%, var(--ed-coral-500) 62%, var(--ed-amber-500) 100%);
  --ed-gradient-soft: linear-gradient(135deg, rgba(30,90,84,0.12), rgba(232,115,74,0.12));
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family:'Inter', sans-serif;
  color: var(--ed-ink);
  background: var(--ed-cream);
  line-height:1.7;
  font-weight:400;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
h1,h2,h3,h4{
  font-family:'Fraunces', serif;
  color: var(--ed-teal-900);
  line-height:1.15;
  margin:0 0 0.6em;
  font-weight:600;
}
p{ margin:0 0 1em; color: var(--ed-ink-soft); }
a{ color: inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
button{ font-family:'Inter', sans-serif; cursor:pointer; }

.ed-container{ width:100%; max-width:1200px; margin:0 auto; padding:0 1.5rem; }


.pace .pace-progress{ background: var(--ed-gradient-primary); height:3px; box-shadow: 0 0 10px rgba(232,115,74,0.6); }
.pace .pace-progress-inner{ box-shadow:none; }
.pace .pace-activity{ display:none; }


.ed-cookie-bar{
  background: var(--ed-teal-900);
  color: #EFE8DC;
  overflow:hidden;
  max-height: 200px;
  transition: max-height 0.5s ease, padding 0.5s ease, opacity 0.4s ease;
}
.ed-cookie-bar.ed-collapsed{ max-height:0; padding:0; opacity:0; }
.ed-cookie-bar__inner{
  max-width:1200px; margin:0 auto; padding:0.65rem 1.5rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
}
.ed-cookie-bar__inner p{ margin:0; font-size:0.82rem; color:#DCE7E3; }
.ed-cookie-bar__inner a{ color: var(--ed-amber-300); text-decoration:underline; }
.ed-cookie-bar__actions{ display:flex; gap:0.5rem; flex-shrink:0; }


.ed-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:0.5rem;
  padding:0.75rem 1.5rem;
  border-radius: 50px;
  background: var(--ed-gradient-primary);
  color:#fff;
  font-weight:500;
  font-size:0.95rem;
  border:none;
  box-shadow: var(--ed-shadow-sm);
  transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
  min-height:44px;
  white-space:nowrap;
}
.ed-btn:hover{ transform: translateY(-2px); box-shadow: var(--ed-shadow-md); opacity:0.96; }
.ed-btn--lg{ padding:0.95rem 1.9rem; font-size:1rem; }
.ed-btn--sm{ padding:0.5rem 1rem; font-size:0.82rem; min-height:36px; border-radius:40px; }
.ed-btn--outline{ background: transparent; border:1.5px solid var(--ed-teal-700); color: var(--ed-teal-700); box-shadow:none; }
.ed-btn--outline:hover{ background: var(--ed-teal-700); color:#fff; }
.ed-btn--ghost{ background: transparent; color:#EFE8DC; border:1.5px solid rgba(239,232,220,0.35); box-shadow:none; }
.ed-btn--ghost:hover{ background: rgba(239,232,220,0.12); }
.ed-btn--light{ background: #fff; color: var(--ed-teal-700); }
.ed-btn--light:hover{ background: var(--ed-cream); }


.ed-nav{
  position: sticky; top:0; z-index:100;
  background: transparent;
  transition: background 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
  border-bottom: 1px solid transparent;
}
.ed-nav--solid{
  background: rgba(251,247,240,0.92);
  backdrop-filter: blur(10px);
  box-shadow: 0 2px 20px rgba(20,57,53,0.08);
  border-bottom: 1px solid rgba(20,57,53,0.06);
}
.ed-nav__inner{
  max-width:1200px; margin:0 auto; padding:1rem 1.5rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.ed-nav__logo{ display:flex; align-items:center; gap:0.6rem; font-family:'Fraunces', serif; font-weight:600; font-size:1.1rem; color: var(--ed-teal-900); }
.ed-nav__links{ display:flex; gap:1.9rem; }
.ed-nav__links a{
  font-size:0.92rem; font-weight:500; color: var(--ed-ink); position:relative; padding:0.3rem 0;
  transition: color 0.3s ease;
}
.ed-nav__links a::after{
  content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px;
  background: var(--ed-gradient-primary); transition: width 0.3s ease;
}
.ed-nav__links a:hover, .ed-nav__links a.ed-active{ color: var(--ed-coral-600); }
.ed-nav__links a:hover::after, .ed-nav__links a.ed-active::after{ width:100%; }
.ed-nav__cta{ flex-shrink:0; }
.ed-nav__burger{ display:none; flex-direction:column; gap:5px; background:none; border:none; padding:8px; width:44px; height:44px; align-items:center; justify-content:center; z-index:210; }
.ed-nav__burger span{ width:24px; height:2px; background: var(--ed-teal-900); border-radius:2px; transition: transform 0.35s ease, opacity 0.35s ease; }
.ed-nav__burger.is-open span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.ed-nav__burger.is-open span:nth-child(2){ opacity:0; }
.ed-nav__burger.is-open span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

.ed-mobile-menu{
  position: fixed; inset:0; z-index:200;
  background: var(--ed-teal-900);
  clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
  transition: clip-path 0.65s cubic-bezier(.77,0,.18,1);
  display:none;
}
.ed-mobile-menu.is-open{
  display:block;
  clip-path: polygon(15% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.ed-mobile-menu__links{ height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.8rem; }
.ed-mobile-menu__links a{
  font-family:'Fraunces', serif; font-size:1.7rem; color:#EFE8DC; font-weight:600;
  opacity:0; transform: translateY(14px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.ed-mobile-menu.is-open .ed-mobile-menu__links a{ opacity:1; transform: translateY(0); }
.ed-mobile-menu.is-open .ed-mobile-menu__links a:nth-child(1){ transition-delay:0.35s; }
.ed-mobile-menu.is-open .ed-mobile-menu__links a:nth-child(2){ transition-delay:0.42s; }
.ed-mobile-menu.is-open .ed-mobile-menu__links a:nth-child(3){ transition-delay:0.49s; }
.ed-mobile-menu.is-open .ed-mobile-menu__links a:nth-child(4){ transition-delay:0.56s; }
.ed-mobile-menu.is-open .ed-mobile-menu__links a:nth-child(5){ transition-delay:0.63s; }


.ed-eyebrow{
  display:inline-flex; align-items:center; gap:0.5rem;
  font-size:0.8rem; font-weight:500; letter-spacing:0.02em;
  color: var(--ed-teal-700); background: rgba(46,128,121,0.1);
  padding:0.4rem 0.9rem; border-radius:50px; margin-bottom:1.1rem;
}
.ed-eyebrow--dark{ color: var(--ed-coral-600); background: rgba(232,115,74,0.1); }
.ed-eyebrow--light{ color:#FFE9D6; background: rgba(255,255,255,0.14); }


.ed-hero{ position:relative; padding: 4.5rem 0 6rem; overflow:hidden; background: linear-gradient(180deg, var(--ed-cream) 0%, var(--ed-cream-2) 100%); }
.ed-hero__blob{ position:absolute; border-radius: var(--ed-radius-blob); filter: blur(2px); opacity:0.5; z-index:0; }
.ed-hero__blob--a{ width:420px; height:420px; background: radial-gradient(circle at 30% 30%, var(--ed-coral-300), transparent 70%); top:-120px; right:-100px; }
.ed-hero__blob--b{ width:320px; height:320px; background: radial-gradient(circle at 70% 70%, var(--ed-teal-300), transparent 70%); bottom:-80px; left:-80px; opacity:0.4; }
.ed-hero__inner{
  position:relative; z-index:1; max-width:1200px; margin:0 auto; padding:2rem 1.5rem 0;
  display:grid; grid-template-columns: 1.1fr 0.9fr; gap:3rem; align-items:center;
}
.ed-hero__title{ font-size: clamp(2.4rem, 4.6vw + 1rem, 4rem); margin-bottom:1.1rem; letter-spacing:-0.01em; }
.ed-hero__lede{ font-size:1.08rem; max-width:52ch; margin-bottom:1.8rem; }
.ed-hero__actions{ display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:1.3rem; }
.ed-hero__note{ font-size:0.88rem; color: var(--ed-teal-700); display:flex; align-items:center; gap:0.5rem; }
.ed-hero__note i{ color: var(--ed-coral-500); }
.ed-hero__media{ position:relative; }
.ed-hero__media-frame{
  border-radius: 46% 54% 38% 62% / 55% 40% 60% 45%;
  overflow:hidden; box-shadow: var(--ed-shadow-lg);
  aspect-ratio: 4/4.3;
}
.ed-hero__media-frame img{ width:100%; height:100%; object-fit:cover; }
.ed-hero__media-tag{
  position:absolute; bottom:-1.2rem; left:-1.5rem;
  display:flex; align-items:center; gap:0.8rem;
  padding:1rem 1.2rem; border-radius: var(--ed-radius-md);
  box-shadow: var(--ed-shadow-md);
}
.ed-hero__media-tag i{ font-size:1.3rem; color: var(--ed-coral-500); }
.ed-hero__media-tag strong{ display:block; font-family:'Fraunces',serif; color: var(--ed-teal-900); font-size:0.95rem; }
.ed-hero__media-tag span{ font-size:0.78rem; color: var(--ed-ink-soft); }
.ed-wave{ position:absolute; bottom:-1px; left:0; width:100%; height:80px; fill: var(--ed-cream); z-index:0; }
.ed-wave--light path{ fill: var(--ed-cream); }
.ed-wave path{ fill: var(--ed-cream); }


.ed-glass{
  background: rgba(255,253,248,0.55);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.4);
  border-radius: var(--ed-radius-lg);
  box-shadow: var(--ed-shadow-lg);
  padding: 2.4rem;
}


.ed-intro-strip{ background: var(--ed-teal-900); padding: 2.4rem 0; }
.ed-intro-strip__inner p{ color:#DDE7E3; font-size:1.15rem; text-align:center; max-width:60ch; margin:0 auto; font-family:'Fraunces',serif; font-weight:500; line-height:1.5; }


.ed-section{ padding: 5.5rem 0; position:relative; }
.ed-section--tint{ background: var(--ed-cream-2); overflow:hidden; }
.ed-section-head{ max-width:760px; margin:0 auto 3rem; text-align:center; }
.ed-h2{ font-size: clamp(1.8rem, 2.6vw + 1rem, 2.6rem); }
.ed-h2--light{ color:#fff; }
.ed-section-sub{ font-size:1.05rem; }

.ed-blob{ position:absolute; border-radius: var(--ed-radius-blob); z-index:0; filter: blur(1px); }
.ed-blob--tint-a{ width:380px; height:380px; background: radial-gradient(circle, rgba(232,169,74,0.25), transparent 70%); top:-100px; left:-120px; }
.ed-blob--tint-b{ width:340px; height:340px; background: radial-gradient(circle, rgba(46,128,121,0.2), transparent 70%); bottom:-100px; right:-100px; }


.ed-features-grid{
  display:grid; grid-template-columns: repeat(2, 1fr); gap: 0 3rem; position:relative; z-index:1;
}
.ed-feature{ display:flex; gap:1.2rem; padding: 1.8rem 0; border-bottom: 1px solid rgba(20,57,53,0.1); }
.ed-feature:nth-last-child(-n+2){ border-bottom:none; }
.ed-feature__icon{
  flex-shrink:0; width:56px; height:56px; border-radius: var(--ed-radius-sm);
  background: var(--ed-gradient-soft); color: var(--ed-teal-700);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem;
}
.ed-feature__body h3{ font-size:1.15rem; margin-bottom:0.4rem; }
.ed-feature__body p{ font-size:0.95rem; margin:0; }


.ed-compare{ display:grid; grid-template-columns:1fr 1fr; gap:2rem; position:relative; z-index:1; }
.ed-compare__col{
  background: var(--ed-white); border-radius: var(--ed-radius-md); padding:2.2rem;
  box-shadow: var(--ed-shadow-md);
}
.ed-compare__col--accent{ background: linear-gradient(160deg, var(--ed-teal-700), var(--ed-teal-900)); color:#fff; }
.ed-compare__col--accent h3{ color:#fff; }
.ed-compare__head{ display:flex; align-items:center; gap:0.8rem; margin-bottom:1.4rem; }
.ed-compare__head i{ font-size:1.4rem; color: var(--ed-coral-500); }
.ed-compare__col--accent .ed-compare__head i{ color: var(--ed-amber-300); }
.ed-compare__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0.9rem; }
.ed-compare__list li{ display:flex; gap:0.7rem; align-items:flex-start; font-size:0.95rem; }
.ed-compare__list i{ margin-top:0.3rem; flex-shrink:0; color: var(--ed-coral-500); }
.ed-compare__col--accent .ed-compare__list i{ color: var(--ed-amber-300); }
.ed-compare__col--accent .ed-compare__list li{ color:#EAF2F0; }
.ed-compare__footnote{ max-width:80ch; margin: 2rem auto 0; text-align:center; font-size:0.95rem; position:relative; z-index:1; }


.ed-topics-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:1.6rem; }
.ed-topic-card{
  background:#fff; border-radius: var(--ed-radius-md); overflow:hidden;
  box-shadow: var(--ed-shadow-sm); transition: transform 0.35s ease, box-shadow 0.35s ease;
  display:flex; flex-direction:column;
}
.ed-topic-card:hover{ transform: translateY(-8px); box-shadow: var(--ed-shadow-lg); }
.ed-topic-card img{ height:150px; width:100%; object-fit:cover; }
.ed-topic-card__body{ padding:1.5rem; }
.ed-topic-card__tag{ font-family:'Fraunces',serif; font-weight:600; color: var(--ed-coral-500); font-size:0.85rem; }
.ed-topic-card__body h3{ font-size:1.1rem; margin:0.4rem 0 0.5rem; }
.ed-topic-card__body p{ font-size:0.88rem; margin:0; }


.ed-behind{ position:relative; padding:6rem 0; overflow:hidden; }
.ed-behind__bg{ position:absolute; inset:0; z-index:0; }
.ed-behind__bg img{ width:100%; height:100%; object-fit:cover; filter:brightness(0.55) saturate(1.1); }
.ed-behind__bg::after{ content:''; position:absolute; inset:0; background: linear-gradient(160deg, rgba(20,57,53,0.7), rgba(214,95,56,0.45)); }
.ed-behind__panel{ position:relative; z-index:1; max-width:760px; color:#F3EFE6; background: rgba(20,57,53,0.42); border-color: rgba(255,255,255,0.2); }
.ed-behind__panel p{ color:#EAE4D8; }


.ed-cta-band{ background: var(--ed-gradient-primary); padding:4rem 0; }
.ed-cta-band__inner{ display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.ed-cta-band__inner p{ color:#FDF0E4; max-width:50ch; margin:0; }
.ed-cta-band .ed-h2{ margin-bottom:0.5rem; max-width:36ch; }




.ed-page-header{ position:relative; padding: 7rem 0 5rem; background: linear-gradient(180deg, var(--ed-cream) 0%, var(--ed-cream-2) 100%); overflow:hidden; }
.ed-page-header--sm{ padding: 6rem 0 3.5rem; }
.ed-page-header__blob{ width:400px; height:400px; background: radial-gradient(circle, rgba(232,115,74,0.18), transparent 70%); top:-140px; right:-100px; }
.ed-page-header__title{ font-size: clamp(2.1rem, 3.6vw + 1rem, 3.2rem); max-width:20ch; position:relative; z-index:1; }
.ed-page-header__lede{ max-width:65ch; font-size:1.05rem; position:relative; z-index:1; }


.ed-personas{ display:flex; flex-direction:column; gap:4rem; }
.ed-persona{ display:grid; grid-template-columns: 0.9fr 1.1fr; gap:2.6rem; align-items:center; }
.ed-persona--reverse{ direction:rtl; }
.ed-persona--reverse > *{ direction:ltr; }
.ed-persona__media img{ border-radius: var(--ed-radius-lg); box-shadow: var(--ed-shadow-md); aspect-ratio:5/4; object-fit:cover; }
.ed-persona__tag{ font-size:0.8rem; font-weight:500; color: var(--ed-coral-600); text-transform:uppercase; letter-spacing:0.03em; }
.ed-persona__body h2{ font-size:1.5rem; margin:0.5rem 0 0.8rem; }


.ed-check-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:1.4rem; position:relative; z-index:1; margin-bottom:2rem; }
.ed-check-card{
  background:#fff; padding:1.5rem; border-radius: var(--ed-radius-md); box-shadow: var(--ed-shadow-sm);
  display:flex; gap:0.9rem; align-items:flex-start;
}
.ed-check-card i{ color: var(--ed-amber-500); font-size:1.1rem; margin-top:0.2rem; }
.ed-check-card p{ font-size:0.92rem; margin:0; }
.ed-check-note{ max-width:80ch; text-align:center; margin:0 auto 1.8rem; position:relative; z-index:1; }


.ed-topic-detail{ padding: 4.5rem 0; position:relative; overflow:hidden; }
.ed-topic-detail__grid{ display:grid; grid-template-columns: 0.85fr 1.15fr; gap:3rem; align-items:center; position:relative; z-index:1; }
.ed-topic-detail--reverse .ed-topic-detail__grid{ direction:rtl; }
.ed-topic-detail--reverse .ed-topic-detail__grid > *{ direction:ltr; }
.ed-topic-detail__media img{ border-radius: var(--ed-radius-blob); box-shadow: var(--ed-shadow-lg); aspect-ratio:4/4.4; object-fit:cover; }
.ed-topic-detail__body h2{ font-size:1.7rem; }
.ed-topics-closing{ max-width:900px; margin:0 auto; text-align:center; }


.ed-gov-grid{ display:grid; grid-template-columns: repeat(2,1fr); gap:1.6rem; margin-bottom:2.5rem; }
.ed-gov-card{ background:#fff; border-radius: var(--ed-radius-md); padding:2rem; box-shadow: var(--ed-shadow-sm); transition: box-shadow 0.3s ease, transform 0.3s ease; }
.ed-gov-card:hover{ box-shadow: var(--ed-shadow-md); transform: translateY(-4px); }
.ed-gov-card__icon{ width:50px; height:50px; border-radius: var(--ed-radius-sm); background: var(--ed-gradient-soft); color: var(--ed-teal-700); display:flex; align-items:center; justify-content:center; font-size:1.2rem; margin-bottom:1rem; }
.ed-gov-card h2{ font-size:1.15rem; }
.ed-gov-card p{ font-size:0.92rem; }
.ed-gov-card__link{ font-size:0.85rem; color: var(--ed-coral-600); font-weight:500; }
.ed-gov-image{ border-radius: var(--ed-radius-lg); overflow:hidden; box-shadow: var(--ed-shadow-md); margin-bottom:2.5rem; }
.ed-gov-image img{ width:100%; height:340px; object-fit:cover; }
.ed-gov-note h2{ font-size:1.3rem; }


.ed-contact-grid{ display:grid; grid-template-columns: 1.3fr 0.85fr; gap:2.5rem; align-items:start; }
.ed-contact-form-wrap{ padding: 2.4rem; }
.ed-contact-form-wrap h2{ font-size:1.5rem; }
.ed-contact-form-sub{ font-size:0.9rem; margin-bottom:1.6rem; }
.ed-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.ed-form-group{ margin-bottom:1.3rem; }
.ed-form-group label{ display:block; font-size:0.88rem; font-weight:500; margin-bottom:0.45rem; color: var(--ed-teal-900); }
.ed-form-group label span{ color: var(--ed-coral-500); }
.ed-form-group input, .ed-form-group textarea{
  width:100%; padding:0.85rem 1rem; border-radius: var(--ed-radius-sm);
  border:1.5px solid rgba(20,57,53,0.15); background: rgba(255,255,255,0.7);
  font-family:'Inter',sans-serif; font-size:0.95rem; color: var(--ed-ink);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.ed-form-group input:focus, .ed-form-group textarea:focus{ outline:none; border-color: var(--ed-teal-500); box-shadow: 0 0 0 4px rgba(46,128,121,0.14); }
.ed-form-group textarea{ resize:vertical; min-height:140px; }
.ed-form-check{ display:flex; align-items:flex-start; gap:0.7rem; margin-bottom:1.6rem; }
.ed-form-check input{ margin-top:0.3rem; width:18px; height:18px; accent-color: var(--ed-coral-500); flex-shrink:0; }
.ed-form-check label{ font-size:0.87rem; color: var(--ed-ink-soft); }
.ed-form-check a{ color: var(--ed-coral-600); text-decoration:underline; }
.ed-form-submit{ width:100%; }
.ed-contact-info-card{ background:#fff; border-radius: var(--ed-radius-md); padding:2rem; box-shadow: var(--ed-shadow-sm); margin-bottom:1.5rem; }
.ed-contact-info-card h3{ font-size:1.1rem; }
.ed-contact-info-card p{ display:flex; align-items:center; gap:0.7rem; font-size:0.92rem; margin-bottom:0.8rem; }
.ed-contact-info-card i{ color: var(--ed-coral-500); width:18px; }
.ed-contact-map{ border-radius: var(--ed-radius-md); overflow:hidden; box-shadow: var(--ed-shadow-sm); line-height:0; }


.ed-faq{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:0.9rem; position:relative; z-index:1; }
.ed-faq__item{ background:#fff; border-radius: var(--ed-radius-md); padding:1.2rem 1.5rem; box-shadow: var(--ed-shadow-sm); }
.ed-faq__item summary{ cursor:pointer; font-weight:500; color: var(--ed-teal-900); font-size:1rem; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.ed-faq__item summary::-webkit-details-marker{ display:none; }
.ed-faq__item summary::after{ content:'+'; font-size:1.3rem; color: var(--ed-coral-500); transition: transform 0.3s ease; }
.ed-faq__item[open] summary::after{ transform: rotate(45deg); }
.ed-faq__item p{ margin-top:0.8rem; font-size:0.92rem; }


.ed-legal{ padding: 3.5rem 0 6rem; }
.ed-legal__grid{ display:grid; grid-template-columns: 260px 1fr; gap:3rem; align-items:start; }
.ed-legal__toc{ position:sticky; top:100px; display:flex; flex-direction:column; gap:0.4rem; background:#fff; padding:1.5rem; border-radius: var(--ed-radius-md); box-shadow: var(--ed-shadow-sm); }
.ed-legal__toc-label{ font-size:0.75rem; text-transform:uppercase; letter-spacing:0.06em; color: var(--ed-ink-soft); margin-bottom:0.5rem; font-weight:500; }
.ed-legal__toc a{ font-size:0.87rem; color: var(--ed-ink-soft); padding:0.4rem 0.6rem; border-radius: var(--ed-radius-sm); transition: background 0.25s ease, color 0.25s ease; }
.ed-legal__toc a:hover{ background: var(--ed-cream-2); color: var(--ed-teal-900); }
.ed-legal__toc a.ed-toc-active{ background: var(--ed-gradient-soft); color: var(--ed-teal-900); font-weight:500; }
.ed-legal__content section{ margin-bottom:2.4rem; scroll-margin-top:100px; }
.ed-legal__content h2{ font-size:1.35rem; }
.ed-legal__content p{ font-size:0.96rem; }


.ed-thanks{ padding:7rem 0 6rem; position:relative; overflow:hidden; background: linear-gradient(180deg, var(--ed-cream), var(--ed-cream-2)); text-align:center; }
.ed-thanks__inner{ display:flex; flex-direction:column; align-items:center; position:relative; z-index:1; }
.ed-check{ margin-bottom:1.6rem; }
.ed-check__circle{ stroke: var(--ed-teal-600); stroke-dasharray:330; stroke-dashoffset:330; animation: ed-draw-circle 0.8s ease forwards; }
.ed-check__mark{ stroke: var(--ed-coral-500); stroke-dasharray:80; stroke-dashoffset:80; animation: ed-draw-check 0.5s ease forwards 0.75s; }
@keyframes ed-draw-circle{ to{ stroke-dashoffset:0; } }
@keyframes ed-draw-check{ to{ stroke-dashoffset:0; } }
.ed-thanks__title{ font-size: clamp(1.8rem, 3vw + 1rem, 2.6rem); opacity:0; animation: ed-fade-up 0.6s ease forwards 1.3s; }
.ed-thanks__text{ max-width:52ch; opacity:0; animation: ed-fade-up 0.6s ease forwards 1.5s; }
.ed-thanks .ed-btn{ opacity:0; animation: ed-fade-up 0.6s ease forwards 1.7s; }
@keyframes ed-fade-up{ from{ opacity:0; transform: translateY(12px); } to{ opacity:1; transform: translateY(0); } }


.ed-footer{ background: var(--ed-teal-900); color:#D9E4E0; padding: 4.5rem 0 1.5rem; position:relative; overflow:hidden; margin-top:auto; }
.ed-footer__pattern{
  position:absolute; inset:0; z-index:0; opacity:0.5;
  background-image:
    radial-gradient(circle at 8% 20%, rgba(232,115,74,0.18), transparent 40%),
    radial-gradient(circle at 92% 15%, rgba(232,169,74,0.14), transparent 35%),
    radial-gradient(circle at 50% 100%, rgba(46,128,121,0.3), transparent 45%);
}
.ed-footer__grid{ position:relative; z-index:1; display:grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap:2.5rem; margin-bottom:3rem; }
.ed-footer__logo{ color:#fff; margin-bottom:1rem; }
.ed-footer__brand p{ color:#B9CAC5; font-size:0.9rem; max-width:32ch; }
.ed-footer__address{ display:flex; align-items:center; gap:0.6rem; font-size:0.88rem; color:#B9CAC5; }
.ed-footer__col h4{ color:#fff; font-size:0.95rem; margin-bottom:1rem; font-family:'Inter',sans-serif; font-weight:600; letter-spacing:0.02em; }
.ed-footer__col{ display:flex; flex-direction:column; gap:0.7rem; }
.ed-footer__col a{ color:#B9CAC5; font-size:0.88rem; transition: color 0.3s ease, padding-left 0.3s ease; display:flex; align-items:center; gap:0.5rem; }
.ed-footer__col a:hover{ color: var(--ed-amber-300); padding-left:4px; }
.ed-footer__bottom{ position:relative; z-index:1; border-top:1px solid rgba(255,255,255,0.1); padding-top:1.5rem; }
.ed-footer__bottom p{ color:#93A8A2; font-size:0.8rem; margin:0; text-align:center; }

html, body{ height:100%; }
body{ display:flex; flex-direction:column; min-height:100vh; }
main{ flex:1; }


@media (max-width: 1024px){
  .ed-hero__inner{ grid-template-columns:1fr; }
  .ed-hero__media{ order:-1; max-width:420px; margin:0 auto; }
  .ed-topics-grid{ grid-template-columns: repeat(2,1fr); }
  .ed-check-grid{ grid-template-columns: repeat(2,1fr); }
  .ed-gov-grid{ grid-template-columns:1fr; }
  .ed-contact-grid{ grid-template-columns:1fr; }
  .ed-legal__grid{ grid-template-columns:1fr; }
  .ed-legal__toc{ position:static; display:none; }
  .ed-legal__toc.ed-toc-open{ display:flex; }
  .ed-footer__grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width: 860px){
  .ed-nav__links{ display:none; }
  .ed-nav__cta{ display:none; }
  .ed-nav__burger{ display:flex; }
  .ed-features-grid{ grid-template-columns:1fr; }
  .ed-feature{ border-bottom:1px solid rgba(20,57,53,0.1) !important; }
  .ed-feature:last-child{ border-bottom:none !important; }
  .ed-compare{ grid-template-columns:1fr; }
  .ed-persona, .ed-persona--reverse{ grid-template-columns:1fr; direction:ltr; }
  .ed-topic-detail__grid, .ed-topic-detail--reverse .ed-topic-detail__grid{ grid-template-columns:1fr; direction:ltr; }
  .ed-topic-detail__media{ order:-1; }
  .ed-cta-band__inner{ flex-direction:column; align-items:flex-start; }
  .ed-form-row{ grid-template-columns:1fr; }
}

@media (max-width: 640px){
  .ed-container{ padding:0 1.1rem; }
  .ed-section{ padding:3.5rem 0; }
  .ed-topics-grid{ grid-template-columns:1fr; }
  .ed-check-grid{ grid-template-columns:1fr; }
  .ed-footer__grid{ grid-template-columns:1fr; gap:2rem; }
  .ed-hero{ padding:3rem 0 4.5rem; }
  .ed-hero__media-tag{ left:0.5rem; bottom:-1rem; }
}