/* EssayHorse: one light, minimal stylesheet for every public page (home, info pages, guides, resources, citations). */
:root{
  --bg:#ffffff;--tint:#faf8ff;--tint-2:#f6f3fd;--ink:#1c1530;--body:#3b3550;--muted:#6b6580;--line:#e9e5f2;
  --p:#7c3aed;--p-dk:#6d28d9;--p-soft:#f5f3ff;--p-line:#ddd6fe;--ok:#15803d;
  --r:14px;--r-sm:10px;--shadow:0 1px 2px rgba(31,26,20,.04),0 8px 24px rgba(31,26,20,.06);
  --font:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--body);background:var(--bg);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}
a{color:var(--p-dk);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
h1,h2,h3,h4{color:var(--ink);line-height:1.2;margin:0 0 12px;letter-spacing:-.01em}
p{margin:0 0 16px}
.ed-wrap{max-width:1160px;margin:0 auto;padding:0 20px}
:focus-visible{outline:2px solid var(--p);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Buttons */
.ed-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--p);color:#fff;font-weight:700;font-size:.95rem;border-radius:var(--r-sm);padding:12px 20px;border:1px solid var(--p);transition:background .15s,transform .15s;cursor:pointer}
.ed-btn:hover{background:var(--p-dk);border-color:var(--p-dk);text-decoration:none;transform:translateY(-1px)}
.ed-btn.ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.ed-btn.ghost:hover{border-color:var(--p-line);background:var(--p-soft)}
.ed-btn.sm{padding:9px 16px;font-size:.88rem}

/* Top menu */
.ed-nav{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.ed-nav-in{max-width:1160px;margin:0 auto;padding:0 20px;height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.ed-logo{font-weight:800;font-size:1.22rem;color:var(--ink);letter-spacing:-.02em;display:flex;align-items:center;gap:9px}
.ed-logo:hover{text-decoration:none}
.ed-logo b{color:var(--p)}
.ed-logo svg{flex:none}
.ed-links{display:flex;align-items:center;gap:24px}
.ed-links a{color:var(--muted);font-weight:600;font-size:.9rem}
.ed-links a:hover,.ed-links a.on{color:var(--ink);text-decoration:none}
.ed-links a.on{box-shadow:inset 0 -2px 0 var(--p)}
.ed-links .ed-btn{color:#fff}
.ed-burger{display:none;background:none;border:0;padding:6px;cursor:pointer}
.ed-burger span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;border-radius:2px}
@media(max-width:900px){
  .ed-burger{display:block}
  .ed-links{display:none;position:fixed;top:66px;left:0;right:0;bottom:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px;overflow-y:auto}
  .ed-links.open{display:flex}
  .ed-links a{padding:14px 0;border-bottom:1px solid var(--line);font-size:1rem}
  .ed-links a.on{box-shadow:none;color:var(--p-dk)}
  .ed-links .ed-btn{margin-top:14px;border-bottom:0}
}

/* Sections */
.ed-sec{padding:80px 0}
.ed-sec.tint{background:var(--tint)}
.ed-eyebrow{display:inline-block;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--p-dk);margin-bottom:10px}
.ed-h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:12px;text-wrap:balance}
.ed-lede{color:var(--muted);font-size:1.05rem;max-width:620px}
.ed-head{margin-bottom:36px}
.ed-head.center{text-align:center}.ed-head.center .ed-lede{margin:0 auto}

/* Hero */
.ed-hero{background:linear-gradient(180deg,var(--tint) 0%,#fff 100%);padding:70px 0 64px;border-bottom:1px solid var(--line)}
.ed-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.ed-hero h1{font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1.08;letter-spacing:-.025em;margin-bottom:18px;text-wrap:balance}
.ed-hero h1 em{font-style:normal;color:var(--p-dk)}
.ed-hero p.lead{font-size:1.12rem;color:var(--muted);max-width:540px;margin-bottom:26px}
.ed-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px}
.ed-ticks{display:flex;flex-wrap:wrap;gap:8px 18px;padding:0;margin:0;list-style:none;font-size:.9rem;color:var(--body)}
.ed-ticks li{display:flex;align-items:center;gap:7px}
.ed-ticks li::before{content:"";width:16px;height:16px;border-radius:50%;background:var(--p-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b45309' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L19 7'/%3E%3C/svg%3E") center/10px no-repeat;border:1px solid var(--p-line)}
@media(max-width:900px){.ed-hero-grid{grid-template-columns:1fr;gap:36px}.ed-hero{padding:48px 0}}

/* Cards and grids */
.ed-grid{display:grid;gap:18px}
.ed-grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ed-grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ed-grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:960px){.ed-grid.c3,.ed-grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ed-grid.c2,.ed-grid.c3,.ed-grid.c4{grid-template-columns:1fr}}
.ed-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column}
.ed-card h3{font-size:1.08rem;margin-bottom:8px}
.ed-card p{color:var(--muted);font-size:.94rem;flex:1}
.ed-card .ed-more{font-weight:700;font-size:.9rem;margin-top:6px}
.ed-ico{width:42px;height:42px;border-radius:12px;background:var(--p-soft);border:1px solid var(--p-line);display:grid;place-items:center;margin-bottom:16px;color:var(--p-dk)}
.ed-ico svg{width:20px;height:20px}

/* Steps */
.ed-steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ed-step{position:relative;padding:22px 20px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.ed-step::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--p);color:#fff;font-weight:800;font-size:.9rem;margin-bottom:14px}
.ed-step h3{font-size:1rem;margin-bottom:6px}.ed-step p{color:var(--muted);font-size:.92rem;margin:0}
@media(max-width:900px){.ed-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.ed-steps{grid-template-columns:1fr}}

/* Estimate card */
.ed-est{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:26px}
.ed-est h2{font-size:1.15rem;margin-bottom:4px}.ed-est .est-note{font-size:.8rem;color:var(--muted);margin-bottom:16px}
.ed-field{margin-bottom:12px}.ed-field label{display:block;font-size:.78rem;font-weight:700;color:var(--muted);margin-bottom:5px}
.ed-field select,.ed-field input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:var(--r-sm);font:inherit;font-size:16px;color:var(--ink);background:#fff}
.ed-field select:focus,.ed-field input:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 3px var(--p-soft)}
.ed-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ed-price{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;margin:6px 0 14px;color:var(--muted);font-size:.9rem}
.ed-price strong{font-size:1.6rem;color:var(--ink);letter-spacing:-.02em}
.ed-est .ed-btn{width:100%}

/* Promise strip */
.ed-promise{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden}
.ed-promise div{padding:22px 20px;border-right:1px solid var(--line)}
.ed-promise div:last-child{border-right:0}
.ed-promise strong{display:block;color:var(--ink);font-size:.98rem;margin-bottom:4px}
.ed-promise span{color:var(--muted);font-size:.88rem}
@media(max-width:900px){.ed-promise{grid-template-columns:1fr 1fr}.ed-promise div:nth-child(2){border-right:0}.ed-promise div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:520px){.ed-promise{grid-template-columns:1fr}.ed-promise div{border-right:0;border-bottom:1px solid var(--line)}.ed-promise div:last-child{border-bottom:0}}

/* Link lists */
.ed-links-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.ed-links-list li{border-bottom:1px solid var(--line);padding:13px 0}
.ed-links-list a{font-weight:700;color:var(--ink)}.ed-links-list a:hover{color:var(--p-dk)}
.ed-links-list small{display:block;color:var(--muted);font-size:.86rem;margin-top:2px;line-height:1.45}
@media(max-width:700px){.ed-links-list{grid-template-columns:1fr}}

/* FAQ */
.ed-faq{max-width:780px}
.ed-faq details{border-bottom:1px solid var(--line);padding:4px 0}
.ed-faq summary{cursor:pointer;list-style:none;font-weight:700;color:var(--ink);padding:16px 30px 16px 0;position:relative}
.ed-faq summary::-webkit-details-marker{display:none}
.ed-faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:1.4rem;color:var(--p-dk);font-weight:500}
.ed-faq details[open] summary::after{content:"\2212"}
.ed-faq details p{color:var(--muted);margin:0 0 16px}

/* CTA band (light) */
.ed-band{background:var(--p-soft);border:1px solid var(--p-line);border-radius:20px;padding:44px 32px;text-align:center}
.ed-band h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:10px}
.ed-band p{color:var(--muted);max-width:560px;margin:0 auto 22px}

/* Page header (info pages) */
.ed-page-head{background:var(--tint);border-bottom:1px solid var(--line);padding:56px 0 48px}
.ed-page-head h1{font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:12px;text-wrap:balance}
.ed-page-head p{color:var(--muted);font-size:1.08rem;max-width:640px;margin:0}
.ed-crumb{font-size:.84rem;color:var(--muted);margin-bottom:12px}.ed-crumb a{color:var(--muted)}
.ed-prose{max-width:760px}
.ed-prose h2{font-size:1.4rem;margin-top:38px}
.ed-prose ul{padding-left:22px}.ed-prose li{margin-bottom:6px}

/* Footer (light) */
.ed-foot{background:var(--tint-2);border-top:1px solid var(--line);padding:56px 0 0;margin-top:0;font-size:.92rem}
.ed-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px}
.ed-foot p{color:var(--muted);max-width:300px}
.ed-foot h4{font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:14px}
.ed-foot a{display:block;color:var(--body);margin-bottom:9px}.ed-foot a:hover{color:var(--p-dk)}
.ed-foot-bottom{border-top:1px solid var(--line);margin-top:36px;padding:20px 0;color:var(--muted);font-size:.84rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
@media(max-width:820px){.ed-foot-grid{grid-template-columns:1fr 1fr}.ed-foot-grid>div:first-child{grid-column:1/-1}}

/* ── Article template (guides, resources, citations) ── */
.ed-ahero{background:var(--tint);border-bottom:1px solid var(--line);padding:52px 20px 44px;text-align:center}
.ed-ahero .badge{display:inline-block;background:#fff;border:1px solid var(--p-line);color:var(--p-dk);border-radius:999px;padding:5px 12px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;margin-bottom:14px}
.ed-ahero h1{font-size:clamp(1.85rem,3.6vw,2.7rem);max-width:860px;margin:0 auto 12px;text-wrap:balance}
.ed-ahero p{max-width:700px;margin:0 auto;color:var(--muted);font-size:1.04rem}
.ed-ahero .upd{margin-top:12px;font-size:.82rem;color:var(--muted)}
.ed-awrap{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:200px minmax(0,1fr) 280px;gap:40px;padding:44px 20px 80px}
.ed-awrap article{max-width:740px;min-width:0}
.ltoc-in{position:sticky;top:86px;max-height:calc(100vh - 100px);overflow:auto}
.ltoc h3{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px}
.ltoc ol+h3{margin-top:24px}
.ltoc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.ltoc ol a{display:block;padding:5px 0 5px 12px;margin-left:-2px;border-left:2px solid transparent;font-size:.84rem;line-height:1.35;color:var(--muted)}
.ltoc ol a:hover{color:var(--ink);text-decoration:none}.ltoc ol a.on{color:var(--p-dk);border-left-color:var(--p);font-weight:700}
.ltoc a.rel{display:block;font-size:.84rem;line-height:1.4;margin:0 0 10px;color:var(--ink)}
article .lead{font-size:1.08rem;color:var(--body);border-left:3px solid var(--p);padding-left:16px;margin:0 0 24px}
article h2{font-size:1.42rem;margin:42px 0 12px;scroll-margin-top:86px}
article h3{font-size:1.1rem;margin:26px 0 10px}
article ul,article ol{padding-left:22px;margin:0 0 18px}article li{margin-bottom:7px}
article strong{color:var(--ink)}
.qa{background:var(--p-soft);border:1px solid var(--p-line);border-radius:12px;padding:18px 20px;margin:0 0 26px}
.qa h2{margin:0 0 8px;font-size:1.05rem}.qa p:last-child{margin:0}
.toc{border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin:0 0 28px;background:var(--tint)}
.toc strong{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}
.toc ol{margin:0;padding-left:20px}.toc li{margin:4px 0}
.tbl{overflow-x:auto;margin:8px 0 22px}
article table{width:100%;border-collapse:collapse;font-size:.93rem}
article th,article td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
article th{background:var(--tint);color:var(--ink)}
.eg{border-left:3px solid var(--p);background:var(--tint);padding:14px 18px;border-radius:0 10px 10px 0;margin:18px 0}.eg p:last-child{margin:0}
.note{background:#faf8ff;border:1px solid var(--p-line);border-radius:12px;padding:14px 18px;margin:20px 0}.note p:last-child{margin:0}
article pre,article code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}
article pre{background:var(--tint);border:1px solid var(--line);border-radius:10px;padding:14px;overflow-x:auto;white-space:pre-wrap}
.mid-cta{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;justify-content:space-between;border:1px solid var(--p-line);background:var(--p-soft);border-radius:14px;padding:18px 20px;margin:30px 0}
.mid-cta div{flex:1 1 260px}.mid-cta strong{display:block;font-size:1.02rem;color:var(--ink);margin-bottom:3px}.mid-cta span{font-size:.92rem;color:var(--muted)}
.mid-cta a{background:var(--p);color:#fff;font-weight:800;border-radius:10px;padding:11px 18px;white-space:nowrap}.mid-cta a:hover{background:var(--p-dk);text-decoration:none}
.cta{background:var(--p-soft);border:1px solid var(--p-line);border-radius:16px;padding:30px 24px;margin:42px 0;text-align:center}
.cta h2{margin:0 0 10px;font-size:1.4rem}.cta p{color:var(--muted);max-width:600px;margin:0 auto 18px}
.cta .btn{display:inline-block;background:var(--p);color:#fff;border-radius:10px;padding:12px 22px;font-weight:800}.cta .btn:hover{background:var(--p-dk);text-decoration:none}
.cta .assure{font-size:.82rem;color:var(--muted);margin:14px 0 0}
.faq{border-top:1px solid var(--line);margin-top:42px;padding-top:8px}
.faq div{border-bottom:1px solid var(--line);padding:15px 0}.faq strong{display:block;color:var(--ink);margin-bottom:6px}.faq div p{margin:0}
.gside{align-self:stretch}
.sc{border-radius:14px;padding:20px}
.sc-cta{position:sticky;top:86px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.sc-cta .ey{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--p-dk)}
.sc-cta h4{font-size:1.1rem;line-height:1.3;margin:6px 0 8px}
.sc-cta p{font-size:.88rem;color:var(--muted);margin:0 0 14px;line-height:1.55}
.sc-cta a.go{display:block;text-align:center;background:var(--p);color:#fff;font-weight:800;border-radius:10px;padding:11px 14px}.sc-cta a.go:hover{background:var(--p-dk);text-decoration:none}
.g-list{list-style:none;padding:14px 0 0;margin:16px 0 0;border-top:1px solid var(--line);font-size:.84rem}
.g-list li{padding-left:22px;position:relative;margin:6px 0;line-height:1.4;color:var(--body)}
.g-list li::before{content:"\2713";position:absolute;left:0;color:var(--p-dk);font-weight:900}
.sc-cta a.mb{display:block;margin-top:10px;font-size:.8rem;font-weight:700}
@media(min-width:1101px){article .toc{display:none}}
@media(max-width:1100px){.ed-awrap{grid-template-columns:minmax(0,1fr) 280px}.ltoc{display:none}}
@media(max-width:960px){.ed-awrap{grid-template-columns:1fr;padding:32px 16px 64px}.sc-cta{position:static}.ed-ahero{padding:40px 16px 34px}}
@media(max-width:640px){article h2{font-size:1.28rem}.mid-cta a{width:100%;text-align:center}.ed-sec{padding:56px 0}}

.ed-logo-img{display:block;height:34px;width:auto;max-width:none}@media(max-width:600px){.ed-logo-img{height:30px}}
