/* TBASE shared stylesheet - The Writing Academy(R), LLC
   Used by the home page, the section pages and the account pages. */
:root{--navy:#172d49;--navy2:#254566;--gold:#d9a63c;--cream:#faf6ec;--line:#e6dcc4;--ink:#26313d;--muted:#5a636d}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Archivo,Arial,sans-serif;background:var(--cream);color:var(--ink);line-height:1.55}
a{color:inherit}
img{max-width:100%}
.wrap{max-width:1000px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:var(--navy);padding:10px 14px;z-index:10000;font-weight:700;border-radius:0 0 10px 0}
.skip:focus{left:10px;top:10px}
:focus-visible{outline:3px solid #1a73e8;outline-offset:3px}

/* Header */
header{background:var(--navy);color:#fff;padding:32px 20px 28px;border-bottom:5px solid var(--gold)}
header .wrap{padding:0}
.eyebrow{font:700 13px Poppins,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#e7c877}
header h1{font:800 clamp(34px,6vw,56px) Poppins,Arial,sans-serif;margin:6px 0 10px;letter-spacing:.04em}
header h1 span{color:var(--gold)}
header .sub{margin:0;max-width:740px;font-size:17px;color:#d8e2ef}
.home header{text-align:center}
.home header .sub{margin:0 auto}
.crumb{font-size:13px;color:#c9d6e6;margin-bottom:8px}
.crumb a{color:#c9d6e6;text-decoration:underline}
.crumb a:hover,.crumb a:focus{color:var(--gold)}
.crumb .here{color:#fff}

/* Purpose box (matches the IMRA site pattern) */
.pp-box{margin:22px 0 10px;background:#fbf8f0;border:1px solid #e6dcc4;border-left:6px solid #d9a63c;border-radius:14px;padding:20px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pp-h{font:700 12px Poppins,Arial,sans-serif;letter-spacing:.12em;color:#8a6414;margin-bottom:6px;text-transform:uppercase}
.pp-box p{margin:0;font-size:15px;line-height:1.55;color:var(--ink)}
@media(max-width:760px){.pp-box{grid-template-columns:1fr;gap:14px}}

/* Main */
main{max-width:1000px;margin:0 auto;padding:6px 20px 40px}
.section-h{font:800 clamp(22px,3vw,30px) Poppins,Arial,sans-serif;color:var(--navy);margin:26px 0 4px}
.section-lead{margin:0 0 8px;color:var(--muted)}

/* Big section buttons on the home page */
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0 6px}
@media(max-width:760px){.cta-grid{grid-template-columns:1fr}}
a.cta{display:flex;flex-direction:column;gap:6px;text-decoration:none;background:#fff;border:1px solid var(--line);border-top:6px solid var(--gold);border-radius:16px;padding:28px 26px;box-shadow:0 4px 14px rgba(23,45,73,.08);transition:transform .15s,box-shadow .15s}
a.cta:hover,a.cta:focus-visible{transform:translateY(-3px);box-shadow:0 10px 26px rgba(23,45,73,.16)}
.cta .tag{font:700 12px Poppins,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8a6414}
.cta h2{font:800 clamp(22px,2.6vw,28px) Poppins,Arial,sans-serif;color:var(--navy);margin:2px 0 4px}
.cta p{margin:0;color:var(--ink)}
.cta .go{font:700 16px Poppins,Arial,sans-serif;color:var(--navy);margin-top:8px}

/* Cards on the section pages */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin:20px 0 10px}
a.card{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-top:6px solid var(--gold);border-radius:16px;padding:24px;text-decoration:none;color:var(--ink);box-shadow:0 4px 14px rgba(23,45,73,.07);transition:transform .15s,box-shadow .15s}
a.card:hover,a.card:focus-visible{transform:translateY(-3px);box-shadow:0 8px 22px rgba(23,45,73,.15)}
.card .tag{font:700 12px Poppins,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#8a6414}
.card h2{font:800 23px Poppins,Arial,sans-serif;color:var(--navy);margin:2px 0}
.card p{margin:0;color:var(--ink)}
.card .go{font:700 15px Poppins,Arial,sans-serif;color:var(--navy);margin-top:auto;padding-top:8px}
.card.soon{opacity:.92;border-top-color:#c9bfa6;cursor:default}
.card .badge{font:700 12px Poppins,Arial,sans-serif;color:#8a6414;background:#fbf8f0;border:1px solid var(--line);border-radius:999px;padding:2px 10px;align-self:flex-start}

/* Account call to action */
.account{margin:30px 0 10px;background:var(--navy);color:#fff;border-radius:18px;border-bottom:6px solid var(--gold);padding:26px 26px 28px}
.account h2{font:800 clamp(21px,2.4vw,27px) Poppins,Arial,sans-serif;margin:0 0 6px;color:#fff}
.account p{margin:0 0 16px;color:#d8e2ef}

/* Buttons */
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
.btn{display:inline-block;font:800 17px Poppins,Arial,sans-serif;border:0;border-radius:14px;padding:14px 24px;min-height:52px;cursor:pointer;text-decoration:none;text-align:center;box-shadow:0 4px 0 rgba(0,0,0,.22);transition:transform .1s}
.btn:active{transform:translateY(2px);box-shadow:0 2px 0 rgba(0,0,0,.22)}
.btn.navy{background:var(--navy2);color:#fff;border-bottom:4px solid var(--gold)}
.btn.gold{background:var(--gold);color:var(--navy)}
.btn.ghost{background:#fff;color:var(--navy);border:2px solid var(--gold)}
.btn[disabled]{opacity:.55;cursor:not-allowed}

/* Forms (account pages) */
.form-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(18px,3vw,30px);margin:22px 0 30px;box-shadow:0 6px 20px rgba(23,45,73,.07);max-width:580px}
.field{margin-bottom:16px}
.field label{display:block;font:700 15px Poppins,Arial,sans-serif;color:var(--navy);margin-bottom:6px}
.field .hint{font-weight:400;color:var(--muted);font-size:13px}
input[type=text],input[type=email],input[type=password],select{font:500 16px Archivo,Arial,sans-serif;color:var(--ink);background:#fff;border:2px solid #c9bfa6;border-radius:12px;padding:12px 14px;width:100%;min-height:50px}
select{min-height:52px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:520px){.grid-2{grid-template-columns:1fr}}
.form-note{font-size:14px;color:var(--muted);margin:6px 0 16px}
.form-note a{color:var(--navy);font-weight:700}
.form-alt{margin-top:18px;font-size:15px}
.form-alt a{color:var(--navy);font-weight:700}
.field-error{color:#8a1c16;font-size:13px;font-weight:700;margin-top:4px;display:none}
.field-error.show{display:block}
.status{margin-top:16px;border-radius:12px;padding:14px 16px;font-weight:700;display:none}
.status.show{display:block}
.status.ok{background:#e7f5ec;border:2px solid #1f6b3a;color:#14512c}
.status.err{background:#fdecea;border:2px solid #b3261e;color:#8a1c16}
input[aria-invalid="true"],select[aria-invalid="true"]{border-color:#b3261e;background:#fff6f5}

/* Footer */
footer.site{text-align:center;color:var(--muted);font-size:13px;padding:24px 20px 40px}

/* Essay scoring (essay-scoring/index.html) */
textarea{font:500 16px Archivo,Arial,sans-serif;color:var(--ink);background:#fff;border:2px solid #c9bfa6;border-radius:12px;padding:12px 14px;width:100%;min-height:150px;resize:vertical}
textarea:focus{outline:3px solid var(--gold);outline-offset:2px}
.form-card.wide{max-width:980px}
.progress{display:none;margin-top:16px;border-radius:12px;padding:14px 16px;font-weight:700;background:#fff8e6;border:2px solid var(--gold);color:var(--navy)}
.progress.show{display:block}
.progress .bar{height:10px;border-radius:999px;background:#eee;margin-top:12px;overflow:hidden}
.progress .bar i{display:block;height:100%;width:40%;border-radius:999px;background:var(--gold);animation:tbase-slide 1.2s ease-in-out infinite}
@keyframes tbase-slide{0%{transform:translateX(-100%)}100%{transform:translateX(320%)}}
.report-shell{margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 0 24px;overflow:hidden}
@media print{.print-hide{display:none !important}.report-shell{border:0;margin:0;padding:0}}
