
:root{
  --ink:#111512;--green:#17352f;--green-2:#24473f;--paper:#f2e7d2;--paper-2:#fffaf0;
  --oxblood:#6f2732;--brass:#b08a4b;--charcoal:#333431;--muted:#706b61;--line:#d5c4a5;
  --adult:#7a3040;--young:#315e58;--blue:#26354f;--error:#842f2f;--success:#245f46;
  --display:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --reading:Georgia,"Times New Roman",serif;--ui:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --shadow:0 22px 70px rgba(17,21,18,.16);--small-shadow:0 12px 34px rgba(17,21,18,.12);
  --radius:22px;--radius-sm:14px;--max:1180px;--read:760px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;color:var(--charcoal);background:var(--paper-2);font-family:var(--reading);font-size:18px;line-height:1.68;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto}a{color:var(--green);text-underline-offset:.18em;text-decoration-thickness:.08em}a:hover{text-decoration-thickness:.13em}
button,input,select,textarea{font:inherit}.skip-link{position:absolute;left:12px;top:-100px;background:var(--paper);color:var(--ink);padding:.8rem 1rem;z-index:9999;border-radius:8px}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(17,21,18,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(176,138,75,.35)}
.header-inner{max-width:var(--max);margin:auto;min-height:74px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;color:var(--paper);text-decoration:none;min-width:0}.brand img{width:35px;height:42px}.brand-copy{line-height:1.05}.brand-name{font-family:var(--display);font-weight:700;letter-spacing:.08em;font-size:1.02rem}.brand-kicker{font-family:var(--ui);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:#cfbd9c;display:block;margin-top:5px;white-space:nowrap}
.nav-toggle{display:none;background:transparent;border:1px solid rgba(242,231,210,.45);color:var(--paper);min-width:46px;min-height:46px;border-radius:12px}.nav-list{display:flex;align-items:center;gap:4px;list-style:none;padding:0;margin:0;font-family:var(--ui);font-size:.84rem}.nav-list a{color:#eee2cd;text-decoration:none;padding:.75rem .78rem;border-radius:10px;display:block}.nav-list a:hover,.nav-list a:focus-visible,.nav-list a[aria-current="page"]{background:rgba(242,231,210,.1);color:#fff}
main{min-height:65vh}.container{max-width:var(--max);margin:auto;padding-left:24px;padding-right:24px}.reading-width{max-width:var(--read);margin-left:auto;margin-right:auto}.section{padding:76px 0}.section-tight{padding:48px 0}.dark{background:var(--ink);color:var(--paper)}.deep-green{background:var(--green);color:var(--paper)}.paper{background:var(--paper)}
.eyebrow{font-family:var(--ui);text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:750;color:var(--brass);margin:0 0 10px}.dark .eyebrow,.deep-green .eyebrow{color:#d8b878}
h1,h2,h3,h4{font-family:var(--display);line-height:1.08;color:var(--ink);text-wrap:balance}h1{font-size:clamp(2.55rem,7vw,5.9rem);margin:.15em 0 .3em;letter-spacing:-.035em}h2{font-size:clamp(2rem,4.2vw,3.7rem);margin:.1em 0 .45em;letter-spacing:-.025em}h3{font-size:clamp(1.35rem,2.5vw,2rem);margin:.1em 0 .45em}.dark h1,.dark h2,.dark h3,.deep-green h1,.deep-green h2,.deep-green h3{color:var(--paper)}
.lead{font-size:clamp(1.12rem,2.2vw,1.45rem);max-width:780px;color:#575348}.dark .lead,.deep-green .lead{color:#e2d5c0}.small{font-family:var(--ui);font-size:.84rem;line-height:1.5}.muted{color:var(--muted)}.dark .muted,.deep-green .muted{color:#c9baa2}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 84% 18%,rgba(176,138,75,.22),transparent 26%),linear-gradient(135deg,#0d100e,#16231f 62%,#111512);color:var(--paper);padding:86px 0 76px}.hero:after{content:"";position:absolute;inset:auto -10% -160px 35%;height:340px;border:1px solid rgba(176,138,75,.24);border-radius:50%;transform:rotate(-7deg)}.hero h1{color:var(--paper);max-width:980px}.hero .lead{max-width:810px;color:#e7dac4}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.institution-line{display:inline-flex;align-items:center;gap:8px;font-family:var(--ui);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:#d7c7aa;border:1px solid rgba(215,199,170,.3);padding:.55rem .75rem;border-radius:999px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:.78rem 1.08rem;border-radius:12px;border:1px solid transparent;font-family:var(--ui);font-size:.9rem;font-weight:750;text-decoration:none;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--brass);color:#111512}.btn-primary:hover{background:#c19a58}.btn-light{background:var(--paper);color:var(--ink)}.btn-outline{border-color:rgba(242,231,210,.45);color:var(--paper);background:transparent}.btn-ink{background:var(--ink);color:var(--paper)}.btn-soft{background:#e7dac4;color:var(--ink);border-color:#c9b897}.btn-danger{background:var(--oxblood);color:white}
.two-door{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:-36px;position:relative;z-index:3}.program-card{position:relative;padding:32px;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;min-height:380px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.18)}.program-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.48));z-index:0}.program-card>*{position:relative;z-index:1}.program-adult{background:linear-gradient(140deg,rgba(111,39,50,.84),rgba(17,21,18,.96)),url('/assets/images/romance-english-cover.jpg') center/cover}.program-young{background:linear-gradient(140deg,rgba(23,53,47,.80),rgba(17,21,18,.94)),url('/assets/images/young-english-cover.jpg') center/cover}.program-card h2{font-size:clamp(2rem,4vw,3.4rem);color:white}.program-card p{color:#f3eadb;max-width:540px}.program-tag{font-family:var(--ui);text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;color:#ead49b}
.orientation{background:#fff8ea;border:1px solid var(--line);border-radius:var(--radius-sm);padding:22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;font-family:var(--ui);font-size:.86rem}.orientation strong{display:block;color:var(--green);margin-bottom:4px}
.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:white;border:1px solid #ded1bb;border-radius:var(--radius-sm);padding:24px;box-shadow:var(--small-shadow)}.card.flat{box-shadow:none}.card h3{margin-top:0}.card p:last-child{margin-bottom:0}.accent-adult{border-top:5px solid var(--adult)}.accent-young{border-top:5px solid var(--young)}
.book-feature{display:grid;grid-template-columns:minmax(200px,300px) minmax(0,1fr);gap:42px;align-items:center}.book-cover{display:block;border-radius:6px;box-shadow:0 25px 55px rgba(0,0,0,.28);width:100%;background:#ddd}.book-meta{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.pill{display:inline-flex;align-items:center;border:1px solid #cdbd9e;border-radius:999px;padding:.32rem .65rem;font-family:var(--ui);font-size:.72rem;background:#fff9ed}.disclosure{border-left:4px solid var(--brass);padding:14px 16px;background:#fbf3e5;font-family:var(--ui);font-size:.84rem;line-height:1.55}
.cover-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.edition-card{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;align-items:center;background:white;border:1px solid #d7c8ae;border-radius:var(--radius-sm);padding:18px}.edition-card img{border-radius:4px;box-shadow:0 12px 28px rgba(0,0,0,.22)}
.route-list{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px}.route-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;background:white;border:1px solid #ddcfb6;border-radius:12px;padding:15px 16px;text-decoration:none;font-family:var(--ui);font-weight:700;color:var(--ink)}.route-list a:hover{border-color:var(--brass);box-shadow:var(--small-shadow)}
.breadcrumbs{font-family:var(--ui);font-size:.78rem;color:var(--muted);padding-top:24px}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.breadcrumbs li:not(:last-child)::after{content:"/";margin-left:8px;color:#a5957c}
.page-hero{padding:60px 0 48px;background:linear-gradient(180deg,#efe2cd,#fffaf0)}.page-hero.adult{background:linear-gradient(135deg,#f0ddd8,#fffaf0)}.page-hero.young{background:linear-gradient(135deg,#dce9e4,#fffaf0)}.page-hero h1{font-size:clamp(2.4rem,6vw,5rem)}
.cycle-header{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px;align-items:center}.cycle-header img{border-radius:4px;box-shadow:0 18px 44px rgba(0,0,0,.24)}
.progress-wrap{margin:20px 0}.progress-track{height:12px;background:#e1d4bf;border-radius:999px;overflow:hidden}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--brass),#d0a55d);transition:width .25s}.progress-copy{font-family:var(--ui);font-size:.78rem;margin-top:8px;color:var(--muted)}
.stage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.stage-card{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid #d8c7aa;border-radius:12px;background:#fff;text-decoration:none;color:var(--ink);min-height:150px}.stage-card:hover{border-color:var(--brass)}.stage-card.complete{background:#edf5ef;border-color:#7fa48f}.stage-num{font-family:var(--ui);text-transform:uppercase;letter-spacing:.1em;font-size:.67rem;color:var(--muted)}.stage-card strong{font-family:var(--display);font-size:1.18rem}.stage-range{font-family:var(--ui);font-size:.75rem;color:var(--muted)}
.stage-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:36px;align-items:start}.stage-main{max-width:790px}.stage-aside{position:sticky;top:100px;background:#f1e6d3;border:1px solid #d4c19f;border-radius:14px;padding:20px}.spoiler{background:var(--ink);color:var(--paper);border-radius:12px;padding:14px 16px;font-family:var(--ui);font-size:.82rem}.prompt-list{counter-reset:prompt;list-style:none;padding:0;display:grid;gap:16px}.prompt-list li{counter-increment:prompt;background:white;border:1px solid #dfd2bb;border-radius:14px;padding:20px 20px 20px 64px;position:relative}.prompt-list li:before{content:counter(prompt);position:absolute;left:18px;top:18px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:white;font-family:var(--ui);font-weight:800;font-size:.82rem}.reflection-box{background:#efe3d0;border:1px solid #cdb894;border-radius:14px;padding:22px;margin:24px 0}.reflection-box h3{margin-top:0}.complete-control{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px}.complete-control button[aria-pressed="true"]{background:var(--success);color:white}
.quote{font-family:var(--display);font-size:clamp(1.5rem,3vw,2.35rem);line-height:1.35;border-left:4px solid var(--brass);padding-left:24px;color:var(--green)}
article.prose{max-width:760px;margin:auto}.prose h2{font-size:2rem;margin-top:2.2em}.prose h3{font-size:1.35rem;margin-top:1.8em}.prose p{margin:0 0 1.15em}.prose ul{padding-left:1.25em}.article-meta{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--ui);font-size:.76rem;color:var(--muted);border-bottom:1px solid #d9cab1;padding-bottom:18px;margin-bottom:28px}
.form-shell{max-width:760px;background:white;border:1px solid #d8c7aa;border-radius:var(--radius);padding:30px;box-shadow:var(--small-shadow)}.field{display:grid;gap:7px;margin-bottom:18px}.field label{font-family:var(--ui);font-size:.85rem;font-weight:750}.field input,.field select,.field textarea{width:100%;border:1px solid #a9987b;border-radius:10px;padding:.78rem .85rem;background:#fffdf8;color:var(--ink)}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(176,138,75,.28);border-color:var(--green)}.checkbox{display:flex;gap:10px;align-items:flex-start;font-family:var(--ui);font-size:.82rem}.checkbox input{margin-top:.25rem;min-width:20px;min-height:20px}.form-note{font-family:var(--ui);font-size:.8rem;background:#f5ecdc;border-radius:10px;padding:13px;margin-bottom:20px}.hp{position:absolute;left:-9999px}
.notice{padding:18px 20px;border-radius:12px;background:#edf4ef;border:1px solid #a8c3b0}.notice.warning{background:#fff2da;border-color:#d9bb7d}.notice.error{background:#f7e3e0;border-color:#cb948b}
.site-footer{background:#0c0f0d;color:#d8cab2;padding:54px 0 30px;border-top:1px solid rgba(176,138,75,.35)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}.footer-brand{font-family:var(--display);font-size:1.6rem;color:var(--paper)}.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-family:var(--ui);font-size:.78rem}.footer-links a{color:#d8cab2;text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid rgba(242,231,210,.15);margin-top:34px;padding-top:22px;font-family:var(--ui);font-size:.72rem;color:#aa9d88;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.mobile-only{display:none}.desktop-only{display:block}
:focus-visible{outline:3px solid #d7ae61;outline-offset:3px}
@media (max-width:960px){.nav-toggle{display:inline-flex;align-items:center;justify-content:center}.site-nav{position:fixed;inset:74px 0 auto 0;background:#111512;border-bottom:1px solid rgba(176,138,75,.35);padding:14px 18px 22px;display:none}.site-nav.open{display:block}.nav-list{display:grid}.nav-list a{padding:14px}.two-door,.grid-3,.grid-4{grid-template-columns:1fr 1fr}.orientation{grid-template-columns:1fr 1fr}.stage-grid{grid-template-columns:repeat(3,1fr)}.stage-layout{grid-template-columns:1fr}.stage-aside{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media (max-width:700px){body{font-size:17px}.container{padding-left:18px;padding-right:18px}.section{padding:58px 0}.hero{padding:62px 0 52px}.brand-kicker{display:none}.two-door,.grid-2,.grid-3,.grid-4,.cover-pair,.orientation{grid-template-columns:1fr}.program-card{min-height:340px;padding:25px}.book-feature,.cycle-header{grid-template-columns:1fr}.book-feature .book-cover,.cycle-header img{max-width:230px;margin:auto}.edition-card{grid-template-columns:105px 1fr;gap:14px}.stage-grid{grid-template-columns:1fr 1fr}.stage-card{min-height:128px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.desktop-only{display:none}.mobile-only{display:block}.page-hero{padding:42px 0 36px}.form-shell{padding:22px}.hero-actions .btn{width:100%}}
@media (max-width:430px){.stage-grid{grid-template-columns:1fr}.edition-card{grid-template-columns:85px 1fr}.brand-name{font-size:.93rem}.hero h1{font-size:2.72rem}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.btn,.nav-toggle,.breadcrumbs{display:none!important}body{background:white;color:black;font-size:12pt}.section,.page-hero{padding:20px 0}.card,.form-shell{box-shadow:none;border:1px solid #aaa}.container{max-width:none}}


/* RETURNING READER DESK */
.reader-desk-section{padding:0 0 38px;background:linear-gradient(180deg,#111512 0,#111512 42%,var(--paper) 42%,var(--paper) 100%)}
.reader-desk-section[hidden]{display:none!important}
.reader-desk-card{position:relative;display:grid;grid-template-columns:220px minmax(0,1fr);gap:38px;align-items:center;overflow:hidden;border:1px solid rgba(176,138,75,.62);border-radius:24px;padding:34px;background:linear-gradient(135deg,#17201b 0%,#0d110f 58%,#211710 100%);box-shadow:0 26px 70px rgba(0,0,0,.28);color:#f2e7d2}
.reader-desk-card:after{content:"";position:absolute;inset:auto -80px -110px auto;width:270px;height:270px;border-radius:50%;background:radial-gradient(circle,rgba(216,171,83,.17),transparent 68%);pointer-events:none}
.reader-desk-content{position:relative;z-index:2}.reader-desk-content h2{color:#fff6e8;font-size:clamp(2rem,4vw,3.5rem);margin-bottom:.45rem}.reader-desk-content .eyebrow{color:#d9ba79}.reader-desk-book{margin:0 0 20px;color:#dcd0bd;font-family:var(--ui);font-size:.84rem;letter-spacing:.02em}.reader-next-room{display:grid;gap:3px;padding:17px 18px;margin:0 0 18px;border:1px solid rgba(232,220,199,.17);border-radius:14px;background:rgba(255,255,255,.055)}.reader-next-room span{font-family:var(--ui);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:#d9ba79}.reader-next-room strong{font-family:var(--display);font-size:1.45rem;color:#fff7e8}.reader-next-room small{font-family:var(--ui);color:#c5b8a2}.reader-desk-track{background:rgba(255,255,255,.12)}.reader-desk-track .progress-fill{box-shadow:0 0 18px rgba(230,180,80,.44)}.reader-desk-content .progress-copy{color:#c8baa5}.reader-desk-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.reader-desk-actions .btn-soft{color:#f2e7d2;border-color:rgba(242,231,210,.35);background:rgba(255,255,255,.07)}.reader-desk-actions .btn-soft:hover{background:rgba(255,255,255,.13)}.reader-desk-privacy{margin:18px 0 0;color:#aa9d88;font-family:var(--ui);font-size:.72rem}.reader-desk-visual{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:270px}.reader-spine{position:relative;width:112px;height:250px;overflow:hidden;border:1px solid rgba(233,215,178,.36);border-radius:12px 7px 7px 12px;background:linear-gradient(90deg,#32131a,#6f2732 38%,#421820 72%,#220c11);box-shadow:14px 18px 34px rgba(0,0,0,.34),inset 9px 0 12px rgba(255,255,255,.035)}.reader-spine:before,.reader-spine:after{content:"";position:absolute;left:10px;right:10px;height:1px;background:rgba(225,190,116,.48);z-index:3}.reader-spine:before{top:20px}.reader-spine:after{bottom:20px}.reader-spine-fill{position:absolute;left:0;right:0;bottom:0;min-height:8%;background:linear-gradient(0deg,rgba(218,158,58,.52),rgba(255,211,117,.20) 58%,rgba(255,229,167,.07));box-shadow:inset 0 12px 28px rgba(255,222,151,.16);transition:height .55s ease}.reader-spine-title{position:absolute;inset:26px 0;z-index:4;display:grid;place-items:center;color:#f0dcae;font-family:var(--display);font-size:.84rem;letter-spacing:.16em;writing-mode:vertical-rl;transform:rotate(180deg);text-shadow:0 1px 1px #000}.reader-lantern{position:absolute;left:5px;top:24px;width:65px;height:86px;border:3px solid #9a7740;border-radius:16px 16px 22px 22px;background:radial-gradient(circle at 50% 58%,rgba(255,222,137,.35),rgba(119,71,23,.12) 55%,rgba(0,0,0,.16));box-shadow:0 0 30px rgba(225,171,68,.20)}.reader-lantern:before{content:"";position:absolute;left:14px;right:14px;top:-25px;height:29px;border:3px solid #9a7740;border-bottom:0;border-radius:22px 22px 0 0}.reader-lantern-flame{position:absolute;left:50%;top:42%;width:13px;height:25px;border-radius:70% 35% 70% 35%;background:#ffd27a;transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 15px #ffc45f,0 0 31px rgba(255,193,86,.65);animation:lantern-breathe 2.8s ease-in-out infinite}.reader-nav-link{color:#f0d38d!important}
@keyframes lantern-breathe{0%,100%{opacity:.78;transform:translate(-50%,-50%) rotate(45deg) scale(.92)}50%{opacity:1;transform:translate(-50%,-50%) rotate(45deg) scale(1.08)}}
@media(max-width:700px){.reader-desk-section{padding-bottom:24px;background:linear-gradient(180deg,#111512 0,#111512 22%,var(--paper) 22%,var(--paper) 100%)}.reader-desk-card{grid-template-columns:1fr;padding:25px;gap:16px}.reader-desk-visual{min-height:135px;justify-content:flex-start;padding-left:78px}.reader-spine{width:76px;height:132px}.reader-spine-title{font-size:.61rem}.reader-lantern{left:3px;top:28px;transform:scale(.72);transform-origin:left center}.reader-desk-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.reader-lantern-flame{animation:none}.reader-spine-fill{transition:none}}
