:root{--navy:#102a43;--deep:#091d30;--gold:#edbc55;--ink:#172f46;--muted:#53687a;--line:#dbe3e9;--light:#f1f5f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);font:17px/1.65 Arial,sans-serif;background:white}a{color:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #b06b00;outline-offset:5px}.skip{position:absolute;left:20px;top:-100px;padding:12px;background:white;z-index:10}.skip:focus{top:12px}.wrap{max-width:1180px;margin:auto;padding:0 30px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:26px;padding-top:22px;padding-bottom:22px}.wordmark{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:18px;line-height:1.15;font-weight:700}.wordmark img{width:48px;height:48px}.wordmark strong{display:block;letter-spacing:3px;font-size:13px;margin-top:6px}.nav{display:flex;gap:28px;align-items:center;font-size:15px;font-weight:700}.nav a{text-decoration:none;padding:9px 0}.nav a:hover{text-decoration:underline}.hero{background:var(--navy);color:white;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;min-height:550px;padding-top:64px;padding-bottom:64px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-weight:700;font-size:13px;margin:0 0 17px}.hero .eyebrow{color:var(--gold)}h1{font-size:clamp(42px,5.3vw,68px);line-height:1.07;letter-spacing:-2px;margin:0 0 25px;max-width:700px}h1 em{font-style:normal;color:var(--gold)}.hero p.intro{font-size:19px;color:#dce6ee;max-width:480px;margin:0 0 30px}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 21px;border:2px solid var(--navy);border-radius:6px;background:var(--navy);color:white;text-decoration:none;font-weight:700;font-size:16px;text-align:center;line-height:1.35}.button.gold{background:var(--gold);border-color:var(--gold);color:var(--deep)}.button.outline{background:transparent;border-color:#647d92;color:white}.button.light{background:white;color:var(--navy);border-color:var(--line)}.button:hover{filter:brightness(.94)}.map-card{margin:0;background:#ead8b1;box-shadow:16px 16px 0 #ffffff0c;transform:rotate(2deg);border:8px solid #ffffff14;color:var(--deep)}.map-card img{display:block;width:100%;height:280px;object-fit:contain;background:#eee4c9;padding:12px}.map-card figcaption{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:14px;padding:15px 20px;line-height:1.4}.map-card b{display:block;font-size:17px}.map-year{font-size:33px;font-weight:700}.band{border-bottom:1px solid var(--line);background:var(--light)}.band .wrap{display:flex;gap:30px;justify-content:space-between;padding-top:18px;padding-bottom:18px;font-size:14px;font-weight:700}.section{padding-top:76px;padding-bottom:76px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:29px}.section-heading p{margin:0;color:var(--muted);max-width:360px}.section h2{font-size:36px;line-height:1.16;margin:0;letter-spacing:-1px}.section .eyebrow{color:#6c4c12;margin-bottom:11px}.unit-card{display:grid;grid-template-columns:225px 1fr;background:var(--light);border:1px solid var(--line);border-radius:10px;overflow:hidden}.unit-label{background:var(--navy);color:var(--gold);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:32px;line-height:1}.unit-label span{font-size:16px;letter-spacing:3px;font-weight:bold}.unit-label b{font-size:105px;letter-spacing:-6px;margin-top:16px}.unit-body{padding:38px 42px}.unit-body h3{font-size:29px;line-height:1.25;margin:0 0 13px}.unit-body p{color:var(--muted);margin:0 0 22px;max-width:650px}.tags{display:flex;gap:12px;flex-wrap:wrap;font-size:14px;font-weight:700;margin-bottom:25px}.tags span{padding-right:13px;border-right:1px solid #b9c9d5}.tags span:last-child{border:0}.saved-summary{font-size:15px!important;color:var(--navy)!important;font-weight:700;margin-top:17px!important;margin-bottom:0!important}.teacher-section{background:var(--light)}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.resource{padding:32px;border:1px solid var(--line);border-radius:8px;background:white}.resource h3{font-size:25px;line-height:1.25;margin:13px 0}.resource p{color:var(--muted);margin-bottom:24px}.resource-label{font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#755214}.resource .button{margin-top:3px}.about{display:grid;grid-template-columns:1fr 1.4fr;gap:80px}.about p{margin:0;color:var(--muted);max-width:680px}.footer{background:var(--deep);color:#d6e2eb;font-size:14px}.footer .wrap{display:flex;justify-content:space-between;gap:25px;align-items:center;padding-top:28px;padding-bottom:28px}.footer a{color:white}.guide-page{max-width:1060px;margin:0 auto;padding:35px 26px}.guide-page h1{font-size:42px}.guide-page .guide-maps{display:grid;grid-template-columns:1fr 1fr;gap:22px}.guide-page img,.guide-page svg{max-width:100%;height:auto}.guide-page .print-actions{display:flex;gap:15px;margin:25px 0}.guide-page button{font:inherit;cursor:pointer}.legal-note{font-size:14px;color:var(--muted)}@media(max-width:800px){.hero-layout{gap:35px;min-height:auto;padding-top:45px;padding-bottom:48px}.hero-layout{grid-template-columns:1fr}.hero h1{max-width:650px}.map-card{max-width:550px;transform:none;box-shadow:none}.map-card img{height:240px}.band .wrap{justify-content:start;flex-wrap:wrap;gap:9px 25px}.section{padding-top:50px;padding-bottom:50px}.section-heading{align-items:start;flex-direction:column;gap:15px}.resource-grid{grid-template-columns:1fr}.about{grid-template-columns:1fr;gap:24px}.unit-card{grid-template-columns:150px 1fr}.unit-body{padding:27px}.unit-label b{font-size:85px}.guide-page .guide-maps{grid-template-columns:1fr}}@media(max-width:520px){.wrap{padding-left:21px;padding-right:21px}.masthead{flex-wrap:wrap;gap:15px}.nav{width:100%;gap:26px}.nav a{padding:0}.wordmark{font-size:17px}.hero-layout{padding-top:35px}.hero h1{font-size:45px;letter-spacing:-1.8px}.hero p.intro{font-size:18px}.actions .button{width:100%}.map-card img{height:190px}.map-card figcaption{padding:12px}.map-year{font-size:28px}.section h2{font-size:31px}.unit-card{grid-template-columns:1fr}.unit-label{align-items:center;flex-direction:row;gap:16px;justify-content:start;padding:20px 25px}.unit-label b{font-size:38px;letter-spacing:-1px;margin:0}.unit-body{padding:25px}.unit-body h3{font-size:26px}.unit-body .button{width:100%}.resource{padding:25px}.footer .wrap{flex-direction:column;align-items:start;gap:10px}.guide-page h1{font-size:33px}.guide-page .print-actions{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.masthead,.footer,.print-actions{display:none!important}.guide-page{padding:0;max-width:none}.guide-page h1{font-size:25pt}.guide-page article,.pineda-map-panel{break-inside:avoid}.guide-page *{box-shadow:none!important}.guide-page .guide-maps{display:block}.guide-page svg{max-height:350px}}


/* Main site welcome page and student lesson directory. */
.masthead .nav{flex-wrap:wrap;gap:10px 24px;justify-content:flex-end}
.nav [aria-current="page"]{text-decoration:underline;text-underline-offset:7px;text-decoration-color:#b88423;text-decoration-thickness:2px}
.academy-hero .hero-layout{grid-template-columns:1.25fr .85fr;gap:44px;min-height:580px}
.academy-hero h1{font-size:clamp(42px,5.2vw,68px);margin-bottom:22px}
.academy-tagline{font-size:22px;font-weight:700;line-height:1.45;margin:0 0 18px}
.academy-hero p.intro{font-size:18px;max-width:530px}
.academy-emblem{border:1px solid #7e91a352;border-radius:50% 50% 10px 10px;padding:38px 24px 30px;display:flex;align-items:center;flex-direction:column;text-align:center;background:linear-gradient(145deg,#193a55,#102a43)}
.academy-emblem img{display:block;width:100%;max-width:310px;height:auto;aspect-ratio:490/470;margin:10px 0}
.emblem-kicker{font-size:12px;line-height:1.6;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold);font-weight:700}
.emblem-caption{font-size:15px;line-height:1.5;color:#dce6ee;max-width:250px}
.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.entry-card{position:relative;border:1px solid var(--line);border-radius:12px;padding:36px;display:flex;flex-direction:column;align-items:flex-start}
.student-entry{background:#f1f5f8;border-top:5px solid var(--navy)}
.teacher-entry{background:#fcf8ee;border-top:5px solid var(--gold)}
.entry-number{position:absolute;right:27px;top:21px;font-size:33px;line-height:1;font-weight:700;color:#b3c1cc}
.teacher-entry .entry-number{color:#dbc99e}
.entry-card h3{font-size:29px;line-height:1.2;letter-spacing:-.5px;max-width:380px;margin:12px 0 16px}
.entry-card>p:not(.eyebrow){color:var(--muted);margin:0 0 24px}
.entry-card .available-note{font-size:14px;line-height:1.5;font-weight:700;margin-top:auto!important;padding-top:4px}
.entry-card .button{gap:15px}
.availability-dot{display:inline-block;background:#247159;width:8px;height:8px;border-radius:50%;margin-right:5px}
.about .about-followup{margin-top:18px}
.lessons-intro{background:var(--navy);color:white;padding:35px 0 50px}
.lessons-intro .back-link{display:inline-block;color:#dce6ee;font-size:15px;margin-bottom:28px;text-underline-offset:4px}
.lessons-intro .eyebrow{color:var(--gold)}
.lessons-intro h1{font-size:clamp(38px,4.5vw,57px);margin-bottom:20px;letter-spacing:-1.5px}
.lessons-intro>div>p:last-child{color:#dce6ee;max-width:620px;margin:0;font-size:19px}
.student-save-note{border-left:4px solid var(--gold);background:#fcf8ee;margin-top:32px;padding:23px 28px}
.student-save-note h3{font-size:21px;line-height:1.3;margin:0 0 10px}
.student-save-note p{max-width:820px;margin:0 0 12px;color:var(--muted);font-size:16px}
.student-save-note a{font-size:15px;font-weight:700}
@media(max-width:960px){.masthead{flex-wrap:wrap}.masthead .nav{justify-content:flex-start}.academy-hero .hero-layout{grid-template-columns:1.1fr .9fr;gap:25px}.academy-emblem{padding:34px 16px 24px}.emblem-kicker{letter-spacing:1px}.entry-card{padding:30px}.entry-card h3{font-size:26px}}
@media(max-width:800px){.academy-hero .hero-layout{grid-template-columns:1fr;min-height:auto;gap:34px}.academy-emblem{max-width:450px;width:100%;justify-self:center;padding:24px;border-radius:12px}.academy-emblem img{max-width:200px;margin:5px 0}.entry-grid{grid-template-columns:1fr}.entry-card h3{max-width:500px}.entry-card>p:not(.eyebrow){max-width:650px}.academy-hero h1{font-size:54px}.academy-tagline{font-size:21px}}
@media(max-width:520px){.masthead .nav{gap:10px 20px;font-size:14px;line-height:1.5}.academy-hero h1{font-size:45px}.academy-tagline{font-size:19px}.academy-hero .actions .button{width:100%}.entry-card{padding:27px 24px}.entry-card .button{width:100%}.entry-card h3{font-size:26px;padding-right:15px}.entry-number{font-size:28px;right:22px}.student-save-note{padding:21px}.lessons-intro{padding-top:25px;padding-bottom:35px}.lessons-intro h1{font-size:39px}}

/* Draft: owner-provided Texas History Academy logo. */
.wordmark img.brand-logo{display:block;width:80px;height:auto;aspect-ratio:141/151;object-fit:contain}
.academy-emblem img.hero-brand-logo{width:100%;max-width:260px;height:auto;aspect-ratio:141/151;border-radius:3px;margin:20px 0}
@media(max-width:800px){.academy-emblem img.hero-brand-logo{max-width:200px}}
@media(max-width:520px){.wordmark img.brand-logo{width:70px}.masthead{gap:18px}}

/* Founder story with the owner's original headshot. */
.founder-section{grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:60px;align-items:start}
.founder-portrait{margin:0;border-radius:12px;overflow:hidden;background:var(--navy)}
.founder-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.founder-portrait figcaption{padding:22px 26px;color:white}
.founder-portrait figcaption strong{display:block;font-size:25px;line-height:1.3}
.founder-portrait figcaption span{display:block;margin-top:5px;font-size:14px;color:#dce6ee}
.founder-story h2{margin-bottom:18px}
.founder-story>p{margin-bottom:18px}
.founder-story .eyebrow{margin-bottom:11px}
.founder-story .founder-credentials{color:var(--navy);font-size:14px;font-weight:700;line-height:1.6;padding-bottom:18px;border-bottom:1px solid var(--line)}
.founder-story .founder-mission{font-size:22px;font-weight:700;color:var(--navy);line-height:1.4;border-left:4px solid var(--gold);padding:4px 0 4px 18px;margin:24px 0}
.founder-story .founder-invitation{margin-bottom:24px}
.founder-story .button{gap:18px}
@media(max-width:800px){.founder-section{grid-template-columns:1fr;gap:32px}.founder-portrait{width:100%;max-width:380px}.founder-story h2{max-width:650px}}
@media(max-width:520px){.founder-story .button{width:100%}.founder-story .founder-mission{font-size:21px}}
