.epsi-guide,
.epsi-guide * { box-sizing: border-box; }
.epsi-guide :is(div,section,label,span) {min-width:0;}
.epsi-guide :is(p,h1,h2,a,label) {overflow-wrap:anywhere;}
.epsi-guide-compact .epsi-guide-hero {padding:20px 24px;}
.epsi-guide-compact .epsi-guide-hero h2 {font-size:24px;line-height:1.3;letter-spacing:0;}
.epsi-guide-compact .epsi-guide-body {padding:24px;}
.epsi-guide-download-summary img {display:block;max-width:200px;height:auto;margin:0 auto 24px;}

.epsi-guide {
  --epsi-ink: #1c2d40;
  --epsi-cyan: #91ddf6;
  --epsi-action: #c6531f;
  --epsi-paper: #f2f7f9;
  --epsi-line: #cbd8df;
  max-width: 980px;
  margin: 32px auto;
  overflow: hidden;
  border: 1px solid var(--epsi-line);
  border-radius: 14px;
  background: #fff;
  color: var(--epsi-ink);
  box-shadow: 0 22px 64px rgba(28,45,64,.09);
  font: 400 16px/1.5 Arial, Helvetica, sans-serif;
}

.epsi-guide-hero {
  position: relative;
  padding: clamp(32px,6vw,64px);
  background: var(--epsi-paper);
  border-bottom: 1px solid var(--epsi-line);
}

.epsi-guide-logo { display: block; width: 160px; height: auto; margin: 0 0 34px; }
.epsi-guide-kicker { display: block; margin-bottom: 10px; color: #405e6c; font-size: 12px; font-weight: 700; letter-spacing: .18em; }
.epsi-guide h1,.epsi-guide h2 { max-width: 760px; margin: 0; color: var(--epsi-ink); font: 700 clamp(32px,5vw,56px)/1.08 Arial, Helvetica, sans-serif; letter-spacing: -.035em; }
.epsi-guide-hero p { max-width: 650px; margin: 18px 0 0; color: #52636e; font-size: clamp(16px,2vw,19px); }
.epsi-guide-body { padding: clamp(28px,5vw,56px); }
.epsi-guide-form { display: grid; gap: 18px; }
.epsi-guide-form > label { display: block; color: var(--epsi-ink); font-size: 14px; font-weight: 700; }
.epsi-guide-form > label input { display: block; width: 100%; min-height: 48px; margin-top: 7px; padding: 11px 14px; border: 1px solid #afc1cb; border-radius: 5px; background: white; color: var(--epsi-ink); font: inherit; font-size: 16px; }
.epsi-guide input:focus-visible,.epsi-guide button:focus-visible,.epsi-guide a:focus-visible { outline: 3px solid #257a9a; outline-offset: 3px; }
.epsi-guide-consents { display: grid; gap: 14px; margin: 10px 0 4px; padding-top: 22px; border-top: 1px solid var(--epsi-line); }
.epsi-guide-check { display: flex; gap: 12px; align-items: flex-start; color: #405465; font-size: 14px; line-height: 1.5; }
.epsi-guide-check input { flex: 0 0 auto; width: 19px; height: 19px; margin: 2px 0 0; accent-color: var(--epsi-ink); }
.epsi-guide-check a { color: #125a76; text-decoration: underline; text-underline-offset: 2px; }
.epsi-guide button { display: inline-flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 21px; border: 0; border-radius: 5px; background: var(--epsi-action); color: white; cursor: pointer; font: 700 16px/1.2 Arial, Helvetica, sans-serif; text-align: left; }
.epsi-guide button:hover { background: #9c3e17; }
.epsi-guide-message { margin: 0 0 22px; padding: 16px 20px; border-left: 4px solid #257a9a; background: var(--epsi-paper); color: var(--epsi-ink); }
.epsi-guide-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.epsi-guide-confirm-page { min-height: 100vh; margin: 0; padding: 32px 16px; background: #eaf1f4; }
.epsi-guide-confirm { max-width: 760px; margin: clamp(12px,5vh,72px) auto; }
.epsi-guide-confirm .epsi-guide-body p { margin: 0 0 24px; font-size: 18px; }
.epsi-guide-notice { padding: 15px; border-left: 4px solid #c6531f; }

@media (max-width: 640px) {
  .epsi-guide { margin: 16px auto; border-radius: 8px; }
  .epsi-guide-logo { width: 132px; margin-bottom: 28px; }
  .epsi-guide button { width: 100%; }
  .epsi-guide-hero,.epsi-guide-compact .epsi-guide-hero {padding:20px;}
  .epsi-guide-body,.epsi-guide-compact .epsi-guide-body {padding:20px;}
  .epsi-guide h1,.epsi-guide h2 {font-size:28px;line-height:1.2;}
  .epsi-guide-compact .epsi-guide-hero h2 {font-size:22px;}
  .epsi-guide-check {gap:10px;}
  .epsi-guide-confirm-page {padding:20px 12px;}
  .epsi-guide-confirm .epsi-guide-body p {font-size:16px;}
}

@media (prefers-reduced-motion: no-preference) {
  .epsi-guide button { transition: background-color .2s ease; }
}
