:root {
  --font-title: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --color-accent: #3563d5;
  --color-title: #26334e;
  --color-page: #f8f9fc;
}
:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20283e;background:var(--color-page);font-synthesis:none;line-height:1.6}*{box-sizing:border-box}body{margin:0}a{color:#3155cc;text-underline-offset:3px}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}.shell{max-width:1040px;padding:0 28px;margin:auto}.site-header{display:flex;align-items:center;justify-content:space-between;padding:28px 0;border-bottom:1px solid #e4e7ef}.brand{font-size:25px;font-weight:800;letter-spacing:-1px;text-decoration:none;color:#20283e}.brand-dot{color:var(--color-accent)}.header-note{font-size:13px;color:#656e82}.hero{text-align:center;padding:64px 0 28px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:1.8px;color:#54627f}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(36px,6vw,62px);letter-spacing:-2.7px;line-height:1.09;margin:19px 0 22px;font-weight:750}h2{font-size:25px;letter-spacing:-.7px;line-height:1.3}h3{font-size:16px;letter-spacing:-.2px;margin-bottom:8px}.intro{font-size:17px;color:#616b80;line-height:1.7}.pills{display:flex;justify-content:center;gap:19px;font-size:12px;color:#426352;margin-top:25px}.tool{max-width:510px;margin:8px auto 68px;padding:29px;border:1px solid #e0e5ef;border-radius:20px;background:white;box-shadow:0 12px 45px #243c6910}.tool-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.tool-heading h2{font-size:19px;margin:0}.step-tag{font-size:9px;letter-spacing:1px;color:#65708a;background:#f2f4f9;padding:5px 9px;border-radius:5px}.drop{position:relative;border:1.5px dashed #aabbe9;border-radius:12px;display:flex;align-items:center;flex-direction:column;gap:5px;padding:23px 14px;background:#f6f8ff;text-align:center;cursor:pointer;transition:background .2s}.drop:hover,.drop:focus-within{background:#edf1ff;border-color:var(--color-accent)}.drop:focus-within{outline:3px solid var(--color-accent);outline-offset:3px}.drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.drop strong{font-size:14px}.file-icon{display:grid;place-items:center;width:41px;height:46px;color:var(--color-accent);background:white;border:1px solid #dfe5f8;border-radius:9px;font-size:28px;margin-bottom:8px}.muted{color:#6a7489;font-size:12px}.filename{font-size:12px;color:#425579;overflow-wrap:anywhere;max-width:100%;margin-top:6px}.field-label{display:block;font-size:13px;font-weight:650;margin:23px 0 7px}input[type=password],input[type=text]{width:100%;border:1px solid #d8deea;border-radius:8px;padding:11px 13px;font-size:16px;color:#20283e;background:white}.field-hint{font-size:12px;color:#6a7489;margin:7px 0 10px}.toggle{display:flex;align-items:center;gap:7px;font-size:12px;cursor:pointer}.toggle input{accent-color:var(--color-accent);width:15px;height:15px}.button{display:block;width:100%;border:0;border-radius:9px;padding:13px 18px;background:var(--color-accent);color:white;text-align:center;text-decoration:none;font-size:14px;font-weight:650;cursor:pointer;margin-top:20px;transition:background .2s}.button:hover{background:#2348c4}.button:disabled{opacity:.65;cursor:wait}.tool-note{font-size:11px;color:#69748a;text-align:center;margin:16px 0 0}.errors{color:#ad273f;font-size:13px;margin-top:10px}.errors:empty{display:none}.how{border-top:1px solid #e4e7ef;padding:42px 0}.how>h2{margin-top:12px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:28px}.steps span{display:block;color:var(--color-accent);font-size:12px;font-weight:700;margin-bottom:12px}.steps p{font-size:14px;color:#667087;margin-bottom:0}.faq{max-width:700px;margin:14px auto 65px}.faq h2{margin-bottom:22px}details{border-bottom:1px solid #e0e5ef;padding:16px 0}summary{cursor:pointer;font-size:14px;font-weight:600}details p{font-size:14px;color:#626d82;margin:12px 0 0}.site-footer{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;padding:30px 0 25px;border-top:1px solid #dfe4ee}.site-footer p{font-size:12px;color:#69748a;margin:5px 0}.site-footer nav{display:flex;flex-direction:column;gap:8px}.site-footer nav a{font-size:12px;color:#56627b;text-decoration:none}.site-footer nav a:hover{text-decoration:underline}.site-footer .eyebrow{font-size:9px;margin-bottom:4px}.credit{grid-column:1/-1;border-top:1px solid #e4e7ef;padding-top:20px}.credit a{color:#56627b;text-decoration:none}.success{text-align:center;padding:25px 0}.success-icon{font-size:42px;margin-bottom:15px}.article{max-width:700px;margin:35px auto 60px}.breadcrumb{font-size:12px;color:#677188;margin-bottom:38px}.breadcrumb a{margin-right:8px}.article h1{font-size:clamp(34px,5vw,48px);letter-spacing:-1.7px;line-height:1.15}.article-body{margin-top:34px}.article-body h2{font-size:22px;margin:30px 0 12px}.article-body p,.article-body li{font-size:16px;color:#515e76}.article-body ol{padding-left:23px}.article-body li{padding-left:5px;margin-bottom:12px}.article-cta{border:1px solid #dce3f5;border-radius:14px;padding:25px;background:#eef2ff;margin-top:35px}.article-cta h2{font-size:22px;margin-bottom:8px}.article-cta p{font-size:14px;color:#626d82}.skip-link{position:absolute;left:12px;top:-100px;background:white;padding:10px;z-index:10}.skip-link:focus{top:10px}@media(max-width:600px){.shell{padding:0 20px}.site-header{padding:20px 0}.header-note{font-size:11px}.hero{padding-top:43px}h1{letter-spacing:-1.6px}.intro{font-size:15px}.pills{gap:12px;font-size:11px}.tool{padding:21px;margin-bottom:45px}.steps{grid-template-columns:1fr;gap:23px}.steps span{margin-bottom:5px}.how{padding-top:30px}.site-footer{grid-template-columns:1fr;gap:20px}.faq{margin-bottom:45px}.article{margin-top:25px}.article-cta{padding:20px}}

/* Keep the tool as a quiet, single-card utility. */
.tool-page {
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: 36px 0;
  background: var(--color-page);
}
.tool-page .shell { width: 100%; max-width: 520px; padding: 0 20px; }
.tool-page .tool {
  margin: 0;
  padding: 30px;
  border: 1px solid #426ee0;
  border-radius: 18px;
  background: var(--color-accent);
  color: #fff;
  box-shadow: 0 20px 48px -20px #23489c55, 0 4px 12px #253f7612, inset 0 1px 0 #ffffff20;
}
.compact-heading { text-align: center; margin-bottom: 25px; }
.compact-heading h1 { font-family: var(--font-title); font-size: 45px; letter-spacing: -1.8px; line-height: 1.15; margin: 0 0 10px; font-weight: 500; color: #26334e; }
.compact-heading h1 span { color: var(--color-accent); }
.compact-heading p { font-size: 13px; color: #626c80; line-height: 1.7; margin: 0; }
.compact-instructions { font-size: 13px; line-height: 1.7; color: #edf2ff; margin-bottom: 18px; }
.tool-page .drop { background: #ffffff08; border-color: #ffffff70; padding: 24px 12px; border-radius: 10px; }
.tool-page .drop:hover, .tool-page .drop:focus-within { background: #ffffff12; border-color: #ffffffbb; }
.tool-page .drop:focus-within { outline-color: #fff; }
.tool-page .filename, .tool-page .field-hint, .tool-page .muted { color: #e4ecff; }
.tool-page .field-label { margin-top: 20px; }
.tool-page input[type=password], .tool-page input[type=text] { border-color: #ffffff80; box-shadow: 0 2px 4px #18397d12; }
.tool-page .toggle { color: #edf2ff; }
.tool-page .toggle input { accent-color: #163b95; }
.tool-page .button { background: #fff; color: #284fae; box-shadow: 0 3px 8px #18397d20; }
.tool-page .button:hover { background: #f0f4ff; }
.tool-page :focus-visible { outline-color: #fff; }
.tool-page .tool-note { color: #e4ecff; font-size: 11px; margin-top: 19px; }
.tool-page .errors { color: #fff; background: #862639; border-radius: 7px; padding: 9px 11px; }
.compact-footer { text-align: center; padding: 21px 4px 0; }
.compact-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; }
.compact-footer a { font-size: 11px; color: #626c80; text-decoration: none; }
.compact-footer a:hover { color: #284fae; text-decoration: underline; }
.compact-footer p { margin: 10px 0 0; }
.tool-page .compact-footer :focus-visible { outline-color: var(--color-accent); }
@media (max-width: 420px) {
  .tool-page { padding: 24px 0; }
  .tool-page .tool { padding: 24px; }
}

.guide-list article { padding: 24px 0; border-bottom: 1px solid #e0e5ef; }
.guide-list h2 { font-size: 21px; margin-bottom: 10px; }
.guide-list h2 a { text-decoration: none; }
.guide-list h2 a:hover { text-decoration: underline; }
.guide-list p { color: #626d82; font-size: 14px; margin-bottom: 0; }

/* Shared typography across the tool, guide index, and articles. */
.compact-heading h1,
.article h1,
.article h2,
.brand {
  font-family: var(--font-title);
  font-weight: 500;
  color: var(--color-title);
}
.article h1 { letter-spacing: -1.4px; line-height: 1.15; text-wrap: balance; }
.article h2 { letter-spacing: -.45px; line-height: 1.3; }
.brand { font-size: 28px; letter-spacing: -1px; }
.guide-list h2 { font-size: 25px; }
.guide-list h2 a { color: inherit; }
.guide-list h2 a:hover { color: var(--color-accent); }
.article-cta {
  border-radius: 18px;
  background: #f0f3fc;
  box-shadow: 0 12px 32px -20px #23489c30, 0 2px 6px #253f7608;
}
.article-cta .button { box-shadow: 0 3px 8px #18397d18; }
