/* Layout based on the user-selected teaching-site reference. */
:root{--navy:#142342;--gold:#e6b544;--paper:#faf8f2;--rose:#c9755d;--muted:#616976}
.container{max-width:1280px;padding:0 30px}
.header{border:0;background:#fffffff5}
.header-inner{max-width:1500px;padding:25px 60px;gap:25px}
.brand{font-size:26px;letter-spacing:.4px;position:relative;line-height:1.4}
.brand:after{content:'';position:absolute;left:25px;bottom:-7px;width:100px;height:3px;background:#d7b168;transform:rotate(-4deg)}
.header nav{gap:8px}
.header nav a{background:#f7f5ee;border:1px solid #e8e5dc;font-size:12px;padding:13px 14px;border-radius:12px}
.header nav a[aria-current=page]{background:var(--navy);border-color:var(--navy);color:white}
.reference-hero{grid-template-columns:1fr 1.12fr;gap:15px;padding:0;height:630px;align-items:stretch;position:relative}
.hero-copy{align-self:center;padding:30px 0 35px;position:relative;z-index:1}
.reference-hero h1{font-size:64px;line-height:1.32;letter-spacing:-1.8px;margin:20px 0 30px}
.reference-hero .eyebrow{font-size:16px;letter-spacing:1.5px;margin-bottom:22px}
.reference-hero .lead{font-size:16px;line-height:2;margin-bottom:12px}
.underline{background:none;position:relative;white-space:nowrap}
.underline:after{content:'';position:absolute;left:2px;right:0;bottom:3px;height:3px;background:var(--rose);transform:rotate(-2deg)}
.hero-photo{position:relative;height:630px;width:calc(100% + 50px);overflow:hidden}
.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:58% center;border-radius:48% 0 0 0;mask-image:linear-gradient(90deg,transparent 0%,#000 13%)}
.reference-hero .actions{gap:28px;margin-top:27px}
.button{background:linear-gradient(110deg,#f0ca6d,#dfac36);box-shadow:0 8px 20px #deb24818;font-size:14px;padding:13px 26px;gap:20px}
.button.navy{background:var(--navy)}
.syllabus-link{display:flex;gap:14px;align-items:center;font-size:15px;font-weight:700}
.outline-arrow{display:flex;align-items:center;justify-content:center;width:39px;height:39px;border:1px solid var(--navy);border-radius:50%;font-size:26px;font-weight:400}
.capability-strip{background:#f7f8fb}
.capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-top:25px;padding-bottom:25px}
.capability{display:flex;align-items:center;gap:22px;position:relative;padding:0 18px}
.line-icon{width:41px;height:41px;flex-shrink:0;color:var(--navy)}
.capability h3,.start-links h3,.submission-box h3{font-family:var(--font-ui);font-size:21px;font-weight:700;margin:0}
.capability p{font-size:13px;margin:3px 0 0;color:var(--muted)}
.capability-arrow{position:absolute;right:-25px;font-size:30px;color:#c8a056}
.learning-map{padding-top:47px;padding-bottom:18px}
.center-title{text-align:center;margin-bottom:27px}
.center-title>span{font-size:13px;color:var(--muted)}
.center-title h2{font-size:31px;letter-spacing:0;margin:8px 0 7px}
.center-title i{display:block;width:40px;height:2px;background:#e5bc5c;margin:auto}
.reference-map{grid-template-columns:repeat(6,1fr);gap:20px}
.week-card.photo-card{padding:0;overflow:visible;border-radius:11px;box-shadow:0 7px 18px #18234204;background:white;border:1px solid #ededed}
.card-photo{height:150px;width:100%;object-fit:cover;border-radius:10px 10px 0 0;display:block}
.card-copy{padding:17px 12px 20px;text-align:center;position:relative}
.card-copy .week-kicker{font-size:12px;color:#8b7152;letter-spacing:0;font-weight:500}
.card-copy h3{font-family:var(--font-ui);font-size:18px;line-height:1.6;margin:7px 0 10px}
.card-copy p{font-size:12px;min-height:0;margin:0;color:var(--muted)}
.reference-map .card-photo{height:129px}
.reference-map .card-copy h3{font-size:16px}
.reference-map .card-next{position:absolute;right:-19px;top:-51px;color:#cca559;font-size:21px;z-index:2}
.reference-map .photo-card:last-child .card-next{display:none}
.map-caption{text-align:center;font-size:12px;color:var(--muted);margin-top:22px}
.start-area{padding-top:38px;padding-bottom:54px;display:grid;grid-template-columns:1.04fr 1fr;gap:75px;align-items:center}
.short-line{display:block;width:35px;height:2px;background:#d8ad5e;margin-bottom:11px}
.start-left h2{font-size:30px;margin-bottom:20px}
.start-links{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.start-links article{display:flex;align-items:flex-start;gap:13px}
.start-links article+article{border-left:1px solid #ececec;padding-left:25px}
.start-links .line-icon{width:36px;height:36px}
.start-links h3{font-size:17px;margin:0 0 8px}
.start-links a,.start-links button{font-size:13px}
.submission-box{display:flex;align-items:flex-start;gap:20px;background:#f5f2fc;border-radius:22px;padding:31px}
.submission-box p{font-size:13px;color:var(--muted);margin:7px 0 15px}
.submission-box .fine{font-size:11px;display:block;margin-top:10px}
.submission-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.submission-actions .button{font-size:13px;padding:10px 19px}
.submission-actions .text-link{font-size:12px}
footer{max-width:1280px;padding:26px 30px;font-size:11px;gap:35px}
.back-link{margin:24px 0 18px}
.lesson-banner{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:25px;background:#faf8f1;border-radius:28px;padding:42px 42px;margin-bottom:34px}
.lesson-banner .page-intro{padding:0;max-width:none}
.lesson-banner h1{font-size:40px;line-height:1.6;letter-spacing:-.6px;margin-bottom:22px}
.lesson-banner .eyebrow{font-size:12px;color:#886342;letter-spacing:.5px}
.lesson-banner .lead{font-size:15px;line-height:2}
.banner-photo{position:relative;padding-bottom:25px}
.banner-photo img{border-radius:30px 65px 30px 30px;aspect-ratio:1.3;object-fit:cover;display:block;width:100%}
.banner-photo span{display:block;position:absolute;bottom:2px;left:6px;right:6px;text-align:center;background:white;padding:10px 15px;border-radius:8px;box-shadow:0 10px 20px #17274708;transform:rotate(-2deg);font-size:13px;color:#8b7152}
.subnav{border:1px solid #e8e5dc;border-radius:13px;background:#faf9f4;padding:12px;gap:8px}
.subnav a{background:transparent}
.lesson-layout{gap:35px}
.lesson-body h2,.goal-box h3{font-family:var(--font-ui);font-weight:700}
.topic-detail-grid article{background:#faf8f1}
@media(max-width:1250px){.header-inner{padding:24px 30px;gap:15px}.brand{font-size:21px}.header nav{gap:5px}.header nav a{padding:12px 9px;font-size:11px}.reference-hero h1{font-size:56px}.reference-hero{height:570px}.hero-photo{height:570px;width:calc(100% + 15px)}.reference-map{gap:14px}.reference-map .card-copy h3{font-size:15px}.reference-map .card-photo{height:110px}.reference-map .card-next{right:-14px}.start-area{gap:35px}}
@media(max-width:980px){.header-inner{display:block}.header nav{margin-top:20px;justify-content:flex-end}.brand{font-size:24px}.reference-hero h1{font-size:47px}.reference-hero .eyebrow{font-size:13px}.reference-hero .lead{font-size:14px}.reference-hero{height:510px}.hero-photo{height:510px;width:100%}.reference-map{grid-template-columns:repeat(3,1fr);gap:20px}.reference-map .card-photo{height:150px}.reference-map .card-next{display:none}.start-area{grid-template-columns:1fr;gap:30px}.capability{gap:12px;padding:0}.capability h3{font-size:18px}.capability p{font-size:11px}.capability-arrow{right:-20px}.lesson-banner{padding:30px;gap:20px}.lesson-banner h1{font-size:32px}}
@media(max-width:760px){.header-inner{padding:20px}.brand{font-size:24px}.brand:after{width:100px;left:30px;bottom:-6px}.header nav{display:grid;grid-template-columns:repeat(3,1fr);margin-top:22px;gap:7px}.header nav a{font-size:11px;padding:9px 5px}.header nav a:last-child{grid-column:2}.container{padding-left:23px;padding-right:23px}.reference-hero{display:flex;flex-direction:column;height:auto;padding-top:30px;gap:20px}.hero-copy{padding:12px 0 0;width:100%}.reference-hero h1{font-size:43px;line-height:1.4;margin:22px 0}.reference-hero .eyebrow{font-size:12px}.reference-hero .lead{font-size:15px;line-height:1.9}.reference-hero .lead br{display:none}.reference-hero .actions{gap:20px;margin-top:23px}.syllabus-link{font-size:13px;gap:10px}.outline-arrow{width:32px;height:32px;font-size:21px}.hero-photo{height:auto;width:100%;aspect-ratio:1.17;margin-top:5px}.hero-photo img{clip-path:none;mask-image:linear-gradient(180deg,transparent 0%,#000 7%);object-position:62% center;border-radius:45px 0 0 0}.capabilities{grid-template-columns:1fr;padding-top:25px;padding-bottom:25px;gap:25px}.capability{padding:0 10px;gap:23px}.capability h3{font-size:20px}.capability p{font-size:12px}.capability-arrow{right:8px;font-size:24px;transform:rotate(90deg)}.learning-map{padding-top:36px}.center-title h2{font-size:27px}.reference-map{grid-template-columns:repeat(2,1fr);gap:15px}.reference-map .card-photo{height:115px}.reference-map .card-copy{padding:13px 10px 17px}.reference-map .card-copy h3{font-size:16px}.reference-map .card-copy p{font-size:11px}.map-caption{font-size:11px;line-height:1.8}.start-area{padding-top:28px;padding-bottom:38px}.start-left h2{font-size:28px}.start-links{gap:17px}.start-links article{gap:10px}.start-links article+article{padding-left:17px}.start-links h3{font-size:15px}.start-links .line-icon{width:28px}.submission-box{padding:25px 20px;gap:15px}.submission-box .line-icon{width:30px}.submission-box h3{font-size:20px}.submission-actions{gap:15px}.lesson-banner{display:flex;flex-direction:column;padding:25px;margin-bottom:26px;gap:20px;border-radius:24px}.lesson-banner h1{font-size:30px;line-height:1.55}.lesson-banner .lead{font-size:14px}.banner-photo{width:100%;max-width:430px}.banner-photo img{aspect-ratio:1.5}.subnav a{font-size:11px;padding:7px 11px}.week-card.photo-card{margin-bottom:0}.card-photo{height:165px}.card-copy h3{font-size:19px}.card-next{display:none}footer{padding:25px 23px}.header{position:relative}}

/* Teacher portrait: transparent cutout on an organic warm backdrop. */
.teacher-cutout{position:relative;min-height:420px;isolation:isolate;max-width:430px;width:100%;margin:auto}
.teacher-cutout:before{content:'';position:absolute;inset:45px 10px 30px 15px;background:linear-gradient(140deg,#f3cd6e,#e6b64d);border-radius:48% 35% 57% 28% / 34% 57% 30% 61%;transform:rotate(-10deg);z-index:-1}
.teacher-cutout:after{content:'';position:absolute;left:7px;top:25px;width:44px;height:44px;background:#477e73;border-radius:48% 54% 42% 58%;transform:rotate(18deg);z-index:-1}
.teacher-cutout img{display:block;position:relative;width:100%;height:420px;object-fit:contain;object-position:bottom center;border-radius:0;aspect-ratio:auto}
.teacher-cutout span{bottom:0;left:0;right:0;background:#ffffffed}
.teacher-welcome .page-intro h1{font-size:39px;line-height:1.65}
.teacher-welcome .welcome-note{font-size:15px;line-height:2.1;margin-top:18px}
.teacher-welcome .teacher-sign{font-family:var(--font-ui);font-size:17px;font-weight:700;margin-top:24px}
.lesson-banner:not(.teacher-welcome) .banner-photo img{border-radius:36% 12% 28% 10% / 18% 35% 13% 31%}
@media(max-width:760px){.teacher-cutout{min-height:340px;max-width:340px}.teacher-cutout img{height:340px}.teacher-welcome .page-intro h1{font-size:29px}.hero-photo img{border-radius:43% 4% 0 0}.teacher-welcome .welcome-note{font-size:14px}}
.reference-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)}
.reference-hero .hero-photo{width:100%;max-width:100%;min-width:0}

@media(max-width:760px){.header nav a:last-child{grid-column:auto}}

/* Typography revision: rounded geometric display with a matching reading face. */
.brand{font-family:var(--font-ui);font-size:24px;font-weight:700;letter-spacing:-.025em}
.reference-hero h1{font-weight:800;font-size:56px;line-height:1.42;letter-spacing:-.015em}
.reference-hero .lead{font-size:17px;line-height:1.95;color:#526071}
.header nav a{font-weight:500}
.center-title h2,.lesson-body h2{font-weight:700;letter-spacing:0}
.card-copy h3,.station-card h3,.material-card h3,.scenario-card h3,.lab-panel h2{font-weight:700;letter-spacing:0}
.step-heading h1,.lesson-banner h1{font-weight:700;letter-spacing:-.01em;line-height:1.5}
@media(max-width:980px){.reference-hero h1{font-size:46px}.brand{font-size:23px}}
@media(max-width:760px){.reference-hero h1{font-size:38px;line-height:1.45}.reference-hero .lead{font-size:16px}.brand{font-size:22px}.lesson-banner h1,.step-heading h1{font-size:30px;line-height:1.5}}

body{font-synthesis:none}.station-number{font-family:var(--font-ui);font-weight:400}
