@import url("individual-brand.css");
/* Native disclosure works with touch and keyboard, including without JS. */
.course-about-menu { position:relative; flex-shrink:0; color:#173f6b; }
.course-about-menu summary { display:flex; align-items:center; gap:8px; min-height:44px; font-size:14px; font-weight:600; cursor:pointer; list-style:none; }
.course-about-menu summary::-webkit-details-marker { display:none; }
.course-about-menu summary>span { transition:transform .15s; }
.course-about-menu[open] summary>span { transform:rotate(180deg); }
.course-about-links { position:absolute; top:100%; right:0; z-index:50; display:flex; flex-direction:column; min-width:235px; padding:8px; border:1px solid #cad9d2; border-radius:10px; background:white; box-shadow:0 12px 30px #173f6b20; }
.course-about-links a { display:block; padding:12px; font-size:14px; text-decoration:none; border-radius:6px; }
.course-about-links a:hover { background:#edf4ee; color:#167d79; }
.site-header>.course-about-menu { margin-left:auto; }
@media(max-width:600px) {
  .ap-world-page .site-header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding-block:18px 8px; }
  .ap-world-page .site-header>.course-about-menu { grid-column:1/-1; grid-row:2; margin-left:0; }
  .course-about-links { right:auto; left:0; min-width:235px; max-width:calc(100vw - 40px); }
  .ap-world-page .site-header .button-small { font-size:11px; gap:8px; padding-inline:10px; }
}
/* The independent course entrance. Deliberately scoped from classroom UI. */
.ap-world-page { --paper:#f8f9f6; --teal-soft:#e8f3ef; --navy:#173f6b; --ink:#182e3b; --muted:#536774; --line:#d9e3df; margin:0; background:var(--paper); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
.ap-world-page *, .ap-world-page *::before, .ap-world-page *::after { box-sizing:border-box; }
.ap-world-page a { color:inherit; text-underline-offset:4px; }
.ap-world-page button { font:inherit; }
.ap-world-page :focus-visible { outline:3px solid var(--cll-signal-teal); outline-offset:5px; }
.ap-world-page h1,.ap-world-page h2,.ap-world-page h3,.ap-world-page h4,.ap-world-page p { margin:0; }
.ap-world-page h1,.ap-world-page h2,.ap-world-page h3,.ap-world-page h4 { line-height:1.15; letter-spacing:-.035em; font-weight:400; }
.ap-world-page [id] { scroll-margin-top:35px; }
.ap-world-page [hidden] { display:none!important; }
.wrap { width:min(1240px,calc(100% - 96px)); margin-inline:auto; }
.skip-link { position:fixed; top:10px; left:10px; z-index:100; transform:translateY(-150%); background:white; padding:12px 20px; border:2px solid var(--navy); }
.skip-link:focus { transform:translateY(0); }
.site-header { width:min(1360px,calc(100% - 80px)); min-height:110px; display:flex; align-items:center; justify-content:space-between; gap:30px; margin:auto; border-bottom:1px solid var(--line); }
.brand { display:flex; gap:12px; align-items:center; color:var(--navy)!important; text-decoration:none; flex-shrink:0; }
.brand img { width:34px; height:auto; object-fit:contain; }
.brand>span { font-family:Georgia,"Times New Roman",serif; font-size:35px; font-weight:700; line-height:1; letter-spacing:-1px; }
.brand-byline { display:block; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; font-size:10px; letter-spacing:.025em; font-weight:550; margin-top:8px; }
.site-header nav { display:flex; gap:30px; align-items:center; margin-left:auto; }
.site-header nav a { font-size:14px; font-weight:550; text-decoration:none; padding:10px 0; }
.site-header nav a:hover,.text-link:hover,.footer-links a:hover { color:var(--cll-signal-teal); }
.button { display:inline-flex; justify-content:center; align-items:center; gap:24px; min-height:54px; padding:13px 23px; border-radius:9px; border:1px solid transparent; font-size:15px; line-height:1.4; font-weight:650; text-decoration:none; transition:background .18s,transform .18s; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:white!important; background:var(--cll-signal-teal); box-shadow:0 4px 0 #d8a13a; }
.button-primary:hover { background:var(--cll-signal-teal-hover); }
.button-outline { color:var(--navy)!important; border-color:#bacfc8; background:#edf5f0; border-bottom:3px solid #c78a26; }
.button-outline:hover { background:#dcece4; }
.button-small { min-height:43px; padding:10px 17px; font-size:13px; gap:15px; }
.eyebrow { display:flex; align-items:center; gap:12px; color:var(--cll-signal-teal); font-size:11px; line-height:1.5; font-weight:750; letter-spacing:.15em; text-transform:uppercase; }
.little-line { display:inline-block; width:25px; height:2px; background:#c78a26; }
.hero { display:grid; grid-template-columns:1fr 1.02fr; gap:60px; padding-block:72px 80px; align-items:center; }
.hero h1 { font-size:clamp(46px,4.7vw,68px); letter-spacing:-.035em; line-height:1.08; margin-block:23px; font-weight:300; }
.hero h1>span { color:var(--cll-signal-teal); }
.hero-description { max-width:470px; color:var(--muted); font-size:18px; line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:30px; }
.text-link { text-decoration:none; font-size:14px; font-weight:650; display:inline-flex; align-items:center; gap:9px; }
/* A quiet teacher credit beneath the primary signup action. */
.teacher-note { margin-top:36px; padding:3px 0 3px 18px; border-left:2px solid #c78a26; }
.teacher-note .teacher-credit { font-size:18px; color:var(--navy); line-height:1.45; }
.teacher-note strong { font-weight:500; }
.teacher-note .teacher-experience { margin-top:5px; font-size:14px; color:var(--muted); line-height:1.6; }
.hero-visual { position:relative; padding:26px 0 44px; isolation:isolate; }
.orbit { position:absolute; z-index:-1; border:1px solid #d5e4da; border-radius:50%; pointer-events:none; }
.orbit-one { width:95%; height:85%; top:3%; left:5%; transform:rotate(-15deg); background:#edf3eb; }
.orbit-two { width:90%; height:94%; top:-2%; left:2%; transform:rotate(25deg); border-color:#e0dcc8; }
.course-window { position:relative; border:1px solid #c9d8cf; border-radius:15px; overflow:hidden; background:white; box-shadow:0 24px 55px -22px #2b4e4140,0 4px 8px -2px #173f6b08; transform:rotate(-1.3deg); }
.window-bar { padding:15px 22px; background:var(--navy); display:flex; justify-content:space-between; align-items:center; color:white; font-size:8px; font-weight:650; letter-spacing:.16em; }
.window-bar>span:first-child { display:flex; align-items:center; gap:8px; }
.status-dot { width:6px; height:6px; border-radius:50%; background:#84b6a0; display:inline-block; flex:none; }
.window-mark { font-family:Georgia,serif; font-size:20px; letter-spacing:-.025em; }
.window-content { padding:28px 27px 22px; }
.mini-eyebrow { color:var(--cll-signal-teal); font-size:9px; letter-spacing:.12em; font-weight:700; text-transform:uppercase; }
.window-content h2 { font-size:32px; line-height:1.16; font-weight:300; letter-spacing:-.045em; margin-block:9px 22px; }
.resume-example { display:flex; gap:14px; align-items:flex-start; background:#f0f6f2; padding:21px 16px; border:1px solid #dae5da; border-radius:10px; border-top:3px solid #c78a26; }
.resume-icon { width:33px; height:33px; border-radius:8px; background:white; border:1px solid #d4e3d9; display:flex; justify-content:center; align-items:center; color:var(--cll-signal-teal); font-size:20px; flex:none; }
.resume-example span { color:var(--cll-signal-teal); font-size:8px; letter-spacing:.08em; font-weight:750; }
.resume-example h3 { font-size:21px; margin-top:3px; }
.resume-example p { font-size:11px; color:var(--muted); margin-top:7px; }
.example-progress { display:flex; align-items:center; gap:8px; padding:19px 10px; color:var(--cll-signal-teal); font-size:10px; font-weight:650; }
.example-progress span { display:flex; align-items:center; gap:7px; }
.example-progress span::before { content:""; width:5px; height:5px; border:1px solid var(--cll-signal-teal); border-radius:50%; }
.example-progress i { height:1px; flex:1; background:#d6e5db; }
.home-tiles { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.home-tiles>div { padding:13px 13px 15px; border:1px solid #dce5e2; border-radius:8px; }
.home-tiles strong { display:block; font-size:12px; margin-top:4px; font-weight:650; }
.home-tiles small { font-size:10px; color:var(--muted); }
.mini-icon { font-size:21px; color:var(--cll-signal-teal); line-height:1; }
.window-foot { padding:12px 24px; border-top:1px solid #e6ece7; font-size:10px; color:var(--muted); display:flex; gap:8px; align-items:center; }
.floating-note { display:flex; align-items:center; gap:17px; position:absolute; right:-18px; bottom:17px; width:min(470px,90%); background:#fffaf0; padding:24px 29px; border:1px solid #d7c69e; border-radius:14px; box-shadow:0 16px 32px -17px #583d135c; transform:rotate(2deg); }
.floating-note p { font-size:19px; line-height:1.36; font-weight:650; }
.floating-note strong { color:var(--navy); font-weight:750; }
.note-icon { color:#ad741d; font-size:29px; flex-shrink:0; }
.example-caption { position:absolute; bottom:-13px; left:0; font-size:10px; color:var(--muted); }
.course-at-a-glance { display:grid; grid-template-columns:repeat(4,1fr); border-block:1px solid var(--line); padding-block:27px; }
.course-at-a-glance p { padding-inline:26px; border-right:1px solid var(--line); }
.course-at-a-glance p:first-child { padding-left:0; }
.course-at-a-glance p:last-child { border-right:0; }
.course-at-a-glance strong { display:block; color:var(--navy); font-size:17px; font-weight:650; letter-spacing:-.02em; }
.course-at-a-glance span { font-size:12px; color:var(--muted); }
.section { padding-block:100px; }
.section-intro { display:flex; justify-content:space-between; gap:60px; align-items:flex-end; margin-bottom:42px; }
.section-intro h2 { margin-top:14px; font-size:42px; font-weight:300; color:var(--navy); }
.section-intro>p { max-width:370px; color:var(--muted); font-size:16px; line-height:1.8; }
.learning-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:46px; }
.learning-steps article { border-top:1px solid #b9cfc4; padding-top:20px; }
.step-number { color:#97702b; font-family:Georgia,serif; font-size:27px; }
.learning-steps h3 { font-size:23px; font-weight:400; margin:15px 0 12px; }
.learning-steps p { color:var(--muted); font-size:15px; line-height:1.8; }
.inside-section { background:#eaf1ed; padding-block:90px; border-block:1px solid #dce5de; }
.experience-tabs { display:flex; gap:8px; padding-bottom:15px; border-bottom:1px solid #cad8ce; margin-bottom:34px; }
.experience-tab { border:1px solid transparent; color:#4c6261; font-weight:600; font-size:14px!important; background:transparent; padding:12px 22px; border-radius:8px; cursor:pointer; }
.experience-tab span { font-size:10px; margin-right:9px; color:#698579; }
.experience-tab.is-active { color:var(--navy); background:#fff; border-color:#ccdcd1; box-shadow:0 3px 9px #37503b07; }
.experience-tab:hover { background:#ffffff9c; }
.experience-panel { display:grid; grid-template-columns:.85fr 1fr; gap:90px; align-items:center; padding:4px 25px; }
.experience-panel+.experience-panel { margin-top:35px; }
.tabs-enhanced .experience-panel { margin-top:0; }
.experience-copy h3 { font-size:34px; color:var(--navy); font-weight:300; margin:12px 0 19px; }
.experience-copy>p:not(.mini-eyebrow) { color:var(--muted); font-size:16px; line-height:1.8; max-width:395px; }
.check-list { list-style:none; padding:0; margin:23px 0; }
.check-list li { font-size:14px; margin-block:9px; display:flex; gap:10px; }
.check-list li::before { content:"✓"; font-weight:700; color:var(--cll-signal-teal); }
.example-label { color:var(--muted); font-size:11px; display:block; }
.lesson-example { background:white; border:1px solid #ccdcd1; border-radius:13px; padding:33px; box-shadow:0 15px 32px -24px #35563c40; }
.lesson-example h4 { font-size:25px; font-weight:550; color:var(--navy); line-height:1.3; margin:17px 0; }
.lesson-example>p:not(.mini-eyebrow):not(.authorship-note) { color:var(--muted); font-size:15px; }
.prompt-example { border-left:3px solid #c58b29; padding:16px 19px; background:#fff7e4; border-radius:0 7px 7px 0; margin-top:23px; }
.prompt-example span { color:#725622; font-size:10px; text-transform:uppercase; letter-spacing:.09em; font-weight:700; }
.prompt-example p { font-size:16px; color:var(--navy); margin-top:7px; line-height:1.65; }
.reading-lines { margin:22px 0; }
.reading-lines i { display:block; height:5px; background:#edf1ee; margin-block:9px; border-radius:4px; }
.reading-lines i:last-child { width:65%; }
.example-bottom { margin-top:26px; padding-top:18px; border-top:1px solid #e1e8e2; display:flex; justify-content:space-between; gap:20px; font-size:10px; color:#5a706b; }
.example-bottom span:last-child { color:var(--cll-signal-teal); font-weight:650; }
.example-bottom b { margin-left:8px; }
.answer-example { background:#edf6f0; color:var(--cll-signal-teal); padding:15px; border:1px solid #abcbb8; border-radius:7px; font-size:14px; display:flex; gap:11px; line-height:1.6; }
.feedback-example { padding:20px 0 0; font-size:14px; }
.feedback-example strong { color:var(--cll-signal-teal); }
.feedback-example p { color:var(--muted); margin-top:7px; }
.chat-example { padding:17px 19px; border-radius:10px; font-size:14px; margin-top:20px; }
.chat-example span { font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:.05em; display:block; margin-bottom:8px; }
.student-chat { background:#edf3f8; margin-left:30px; }
.coach-chat { background:#eef6ef; margin-right:30px; border-left:3px solid var(--cll-signal-teal); }
.authorship-note { font-size:11px; color:var(--muted); margin-top:20px!important; }
.inside-disclosure { color:var(--muted); font-size:11px; margin-top:32px!important; text-align:center; }
.inside-disclosure a { color:var(--cll-signal-teal); }
.unit-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.unit-item { display:flex; align-items:flex-start; gap:18px; padding:26px 12px 26px 0; border-bottom:1px solid var(--line); }
.unit-number { font-size:20px; font-family:Georgia,serif; color:#879d92; line-height:1.6; }
.unit-item p { font-size:10px; color:var(--muted); margin-bottom:5px; }
.unit-item h3 { font-size:18px; font-weight:400; color:var(--navy); letter-spacing:-.02em; line-height:1.4; }
.writing-band { display:flex; justify-content:space-between; align-items:center; gap:35px; padding:31px; margin-top:36px; background:#f0f3eb; border:1px solid #d9e1d1; border-radius:12px; }
.writing-band h3 { font-size:20px; font-weight:400; margin-top:8px; max-width:290px; }
.writing-types { display:flex; gap:35px; }
.writing-types strong { display:block; color:var(--cll-signal-teal); font-size:23px; letter-spacing:-.03em; font-weight:550; }
.writing-types span { font-size:11px; color:var(--muted); }
.family-section { background:white; border-block:1px solid var(--line); padding-block:90px; }
.family-layout { display:grid; grid-template-columns:.72fr 1fr; gap:85px; }
.family-intro h2 { font-size:43px; font-weight:300; color:var(--navy); margin-top:15px; }
.family-intro>p:not(.eyebrow) { color:var(--muted); font-size:16px; margin:22px 0; max-width:325px; }
.family-intro>.text-link { color:var(--cll-signal-teal); }
.founder-card { display:flex; align-items:center; gap:14px; margin-top:37px; padding-top:24px; border-top:1px solid var(--line); max-width:325px; }
.founder-monogram { width:46px; height:46px; display:flex; align-items:center; justify-content:center; font-size:13px; font-family:Georgia,serif; background:#e8f1eb; color:var(--cll-signal-teal); border-radius:50%; }
.founder-card strong { font-size:14px; font-weight:650; display:block; }
.founder-card div>span { font-size:11px; color:var(--muted); display:block; }
.founder-letter { background:#eef4ef; border:1px solid #cadacb; border-radius:10px; margin-bottom:16px; }
.family-details summary { cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:25px; list-style:none; font-weight:600; font-size:15px; line-height:1.6; }
.family-details summary::-webkit-details-marker { display:none; }
.founder-letter summary { padding:23px 24px; color:var(--navy); font-size:19px; }
.founder-letter summary small { display:block; font-size:8px; font-weight:750; letter-spacing:.09em; color:var(--cll-signal-teal); margin-bottom:5px; }
.disclosure-plus { font-size:22px; font-weight:400; flex-shrink:0; color:var(--cll-signal-teal); transition:transform .15s; }
details[open]>summary .disclosure-plus { transform:rotate(45deg); }
.letter-body { padding:0 25px 26px; }
.letter-body p { font-size:14px; color:#3e554d; line-height:1.85; margin-top:17px; }
.letter-body p:last-child { font-family:Georgia,serif; font-size:17px; color:var(--navy); }
.faq { border-bottom:1px solid var(--line); }
.faq summary { padding:20px 5px; color:var(--ink); }
.faq>div { padding:0 32px 23px 5px; color:var(--muted); font-size:14px; line-height:1.85; }
.faq p+p { margin-top:12px; }
.offer-section { padding-block:80px; }
.offer-card { display:grid; grid-template-columns:1fr 1fr; gap:70px; background:var(--navy); border-radius:19px; padding:53px; position:relative; overflow:hidden; }
.offer-copy { color:white; align-self:center; }
.offer-copy .eyebrow { color:#b0d9c8; }
.offer-copy h2 { font-size:45px; margin:18px 0 22px; font-weight:300; letter-spacing:-.04em; }
.offer-copy>p:not(.eyebrow) { color:#d3e0e7; font-size:16px; line-height:1.8; }
.offer-copy strong { color:white; font-weight:600; }
.offer-points { margin-top:28px; display:flex; gap:15px; flex-wrap:wrap; }
.offer-points span { color:#c3d8dc; font-size:11px; display:flex; gap:6px; align-items:center; }
.offer-points span::before { content:"✓"; color:#c7dbab; }
.entry-card { background:#fff; border-radius:12px; padding:29px; }
.enrollment-status { display:inline-flex; align-items:center; gap:7px; font-size:10px; font-weight:650; color:#566944; background:#f1f4e8; border-radius:20px; padding:6px 10px; }
.enrollment-status .status-dot { background:#8b9858; }
.entry-card h3 { font-size:24px; margin-block:17px 12px; color:var(--navy); font-weight:400; }
.entry-card>p { color:var(--muted); font-size:13px; line-height:1.7; }
.entry-card ol { list-style:none; padding:0; margin:19px 0 24px; }
.entry-card li { display:flex; gap:10px; align-items:flex-start; font-size:12px; color:var(--ink); line-height:1.6; margin-block:12px; }
.entry-card li>span { display:flex; width:19px; height:19px; border:1px solid #d2dfd4; color:var(--cll-signal-teal); border-radius:50%; justify-content:center; align-items:center; font-size:9px; flex:none; margin-top:1px; }
.entry-card .button { font-size:13px; width:100%; min-height:47px; }
.entry-note { font-size:10px!important; text-align:center; margin-top:14px!important; }
.site-footer { display:grid; grid-template-columns:1fr auto; gap:28px; border-top:1px solid var(--line); padding:36px 0 28px; }
.site-footer .brand>span { font-size:28px; }
.site-footer .brand img { width:28px; }
.site-footer>div>p { font-size:11px; margin-top:18px; color:var(--muted); }
.footer-links { display:flex; align-items:center; gap:25px; flex-wrap:wrap; }
.footer-links a { font-size:12px; color:var(--muted); text-decoration:none; }
.footer-note { grid-column:1/-1; font-size:10px; color:var(--muted); border-top:1px solid var(--line); padding-top:20px; }
@media(min-width:1600px) { .hero { gap:100px; } }
@media(max-width:1100px) { .wrap { width:calc(100% - 64px); } .site-header { width:calc(100% - 64px); } .hero { gap:35px; padding-top:55px; } .hero h1 { font-size:55px; } .hero-actions { gap:20px; } .hero-description { font-size:16px; } .hero-visual { padding-bottom:50px; } .window-content { padding:24px 20px 18px; } .floating-note { right:-8px; bottom:14px; padding:13px 18px; } .section-intro { gap:35px; } .section-intro h2 { font-size:35px; } .section-intro>p { max-width:310px; font-size:14px; } .experience-panel { gap:42px; padding:0; } .family-layout { gap:45px; } .family-intro h2 { font-size:37px; } .offer-card { gap:38px; padding:40px; } .offer-copy h2 { font-size:39px; } .writing-types { gap:22px; } .course-at-a-glance p { padding-inline:18px; } .course-at-a-glance strong { font-size:15px; } }
@media(max-width:800px) { .site-header { min-height:92px; gap:20px; } .site-header nav { gap:20px; } .site-header nav a { font-size:12px; } .site-header nav a:nth-child(2) { display:none; } .brand>span { font-size:29px; } .brand img { width:30px; } .hero { gap:28px; } .hero h1 { font-size:46px; } .hero-description { font-size:15px; } .hero-actions .button { padding-inline:18px; font-size:13px; } .teacher-note { margin-top:27px; } .hero-visual .window-content { padding:21px 17px; } .window-content h2 { font-size:26px; } .window-bar { padding:12px 16px; } .window-bar>span:first-child { font-size:6px; } .resume-example { padding:15px 12px; gap:9px; } .resume-icon { display:none; } .home-tiles { gap:8px; } .home-tiles>div { padding:10px; } .home-tiles strong { font-size:10px; } .home-tiles small { font-size:9px; } .window-foot { font-size:8px; padding-inline:15px; } .floating-note { font-size:10px; } .floating-note p { font-size:10px; } .course-at-a-glance { grid-template-columns:repeat(2,1fr); gap:24px 0; } .course-at-a-glance p:nth-child(2) { border:0; } .course-at-a-glance p:nth-child(3) { padding-left:0; } .section { padding-block:70px; } .inside-section,.family-section { padding-block:65px; } .section-intro { align-items:flex-start; flex-direction:column; gap:20px; margin-bottom:30px; } .section-intro>p { max-width:540px; font-size:15px; } .learning-steps { gap:25px; } .learning-steps h3 { font-size:21px; } .learning-steps p { font-size:14px; } .experience-tab { padding:12px; font-size:12px!important; } .experience-tab span { margin-right:5px; } .experience-panel { gap:30px; grid-template-columns:1fr 1.05fr; } .experience-copy h3 { font-size:28px; } .experience-copy>p:not(.mini-eyebrow) { font-size:14px; } .check-list li { font-size:12px; } .lesson-example { padding:24px; } .lesson-example h4 { font-size:22px; } .lesson-example>p:not(.mini-eyebrow):not(.authorship-note),.prompt-example p { font-size:13px; } .unit-grid { grid-template-columns:repeat(2,1fr); } .unit-item:last-child { grid-column:1/-1; } .writing-band { flex-direction:column; align-items:flex-start; gap:25px; } .writing-band h3 { max-width:none; } .writing-types { justify-content:space-between; width:100%; } .family-layout { grid-template-columns:1fr; gap:35px; } .family-intro { display:grid; grid-template-columns:1fr 1fr; gap:0 30px; } .family-intro .eyebrow,.family-intro h2 { grid-column:1; } .family-intro>p:not(.eyebrow) { grid-column:1; font-size:14px; } .family-intro>.text-link { grid-column:1; } .founder-card { grid-column:2; grid-row:2/5; margin:0; padding:0; border:0; align-self:center; } .offer-card { gap:28px; padding:30px; } .offer-copy h2 { font-size:34px; } .offer-copy>p:not(.eyebrow) { font-size:14px; } .entry-card { padding:22px; } .entry-card h3 { font-size:22px; } .offer-section { padding-block:55px; } }
@media(max-width:600px) { .wrap,.site-header { width:calc(100% - 40px); } .site-header { min-height:82px; } .site-header nav { display:none; } .site-header .button-small { min-height:40px; } .hero { grid-template-columns:1fr; padding-block:37px 58px; gap:32px; } .hero h1 { font-size:54px; line-height:1.06; margin-block:18px; } .hero h1>br:nth-child(2) { display:none; } .hero h1>span { display:block; } .hero h1>span br { display:none; } .hero h1>span { max-width:330px; } .hero-description { font-size:16px; max-width:430px; } .hero-actions { margin-top:24px; gap:21px; } .hero-actions .button { font-size:14px; padding:15px 20px; } .teacher-note { margin-top:29px; } .hero-visual { width:min(430px,100%); margin:auto; padding:10px 8px 48px; } .course-window { transform:rotate(-1deg); } .hero-visual .window-content { padding:25px 22px 18px; } .window-content h2 { font-size:30px; } .window-bar>span:first-child { font-size:8px; } .resume-example { padding:17px 14px; } .resume-icon { display:flex; } .home-tiles>div { padding:12px; } .home-tiles strong { font-size:11px; } .home-tiles small { font-size:10px; } .window-foot { font-size:9px; } .floating-note { right:0; bottom:17px; padding:12px 18px; } .floating-note p { font-size:11px; } .example-caption { left:8px; font-size:9px; bottom:-6px; } .course-at-a-glance { padding-block:22px; gap:20px 0; } .course-at-a-glance p { padding-inline:14px; } .course-at-a-glance strong { font-size:14px; } .course-at-a-glance span { font-size:10px; } .section { padding-block:57px; } .section-intro h2 { font-size:33px; } .section-intro { gap:18px; } .section-intro>p { font-size:15px; } .learning-steps { grid-template-columns:1fr; gap:24px; } .learning-steps article { display:grid; grid-template-columns:35px 1fr; gap:0 16px; padding-top:22px; } .step-number { grid-row:1/3; font-size:24px; } .learning-steps h3 { margin:3px 0 10px; font-size:22px; } .learning-steps p { grid-column:2; } .inside-section,.family-section { padding-block:55px; } .experience-tabs { gap:3px; margin-bottom:28px; } .experience-tab { padding:10px 8px; flex:1; font-size:11px!important; line-height:1.5; } .experience-tab span { display:block; margin:0 0 2px; } .experience-panel { grid-template-columns:1fr; gap:26px; } .experience-copy h3 br { display:none; } .experience-copy h3 { font-size:29px; margin-block:10px 12px; } .experience-copy>p:not(.mini-eyebrow) { font-size:15px; max-width:none; } .check-list { margin:16px 0; } .check-list li { font-size:13px; } .lesson-example { padding:24px; } .lesson-example h4 { font-size:25px; } .lesson-example>p:not(.mini-eyebrow):not(.authorship-note),.prompt-example p { font-size:14px; } .inside-disclosure { margin-top:25px!important; text-align:left; font-size:11px; } .unit-grid { grid-template-columns:1fr; } .unit-item { padding-block:20px; gap:20px; } .unit-number { min-width:26px; } .unit-item h3 { font-size:19px; } .writing-band { padding:24px; margin-top:28px; } .writing-band h3 { font-size:22px; } .writing-types { gap:20px; flex-wrap:wrap; } .writing-types p { flex:1; min-width:75px; } .writing-types strong { font-size:23px; } .writing-types span { display:block; font-size:10px; } .family-intro { display:block; } .family-intro h2 { font-size:36px; } .family-intro>p:not(.eyebrow) { max-width:none; font-size:15px; margin-block:18px; } .founder-card { margin-top:26px; border-top:1px solid var(--line); padding-top:22px; } .founder-letter summary { padding:19px; font-size:17px; } .founder-letter summary small { font-size:7px; } .letter-body { padding:0 19px 23px; } .faq summary { font-size:14px; padding-block:18px; gap:20px; } .faq>div { font-size:14px; padding-right:10px; } .offer-section { padding-block:45px; } .offer-card { grid-template-columns:1fr; padding:29px 22px 22px; gap:29px; border-radius:14px; } .offer-copy h2 { font-size:37px; margin:14px 0 18px; } .offer-copy>p:not(.eyebrow) { font-size:15px; } .offer-points { margin-top:20px; gap:8px 15px; } .entry-card { padding:23px; } .entry-card h3 { font-size:23px; } .site-footer { grid-template-columns:1fr; gap:24px; padding-top:30px; } .footer-links { gap:18px; } .footer-note { font-size:10px; } }
@media(prefers-reduced-motion:reduce) { .ap-world-page * { transition:none!important; scroll-behavior:auto!important; } }

@media(max-width:1100px) { .hero-visual .orbit { display:none; } }

/* Contact remains usable even without a configured email application. */
.contact-section { display:grid; grid-template-columns:1fr 1fr; gap:50px; padding-block:15px 65px; align-items:center; }
.contact-section h2 { font-weight:300; font-size:30px; color:var(--navy); margin-block:12px!important; }
.contact-section p:not(.eyebrow) { font-size:15px; color:var(--muted); }
.contact-address { border:1px solid var(--line); background:white; border-radius:12px; padding:25px; }
.contact-address>a { display:inline-block; font-size:21px; font-weight:650; color:var(--cll-signal-teal); overflow-wrap:anywhere; margin-block:5px 12px; }
.contact-address p:last-child { font-size:13px; }
@media(max-width:800px) { .contact-section { grid-template-columns:1fr; gap:22px; padding-bottom:40px; } .contact-section h2 { font-size:27px; } .contact-address>a { font-size:19px; } }

/* Longer, conversational headings wrap naturally at each screen width. */
.hero h1>span { display:block; }
.section-intro>div { max-width:630px; }
.hero-description { font-size:17px; }

/* Final public-page polish: balanced type and consistent interaction details. */
.ap-world-page h1,.ap-world-page h2,.experience-copy h3 { text-wrap:balance; }
.hero-copy,.section-intro>div,.experience-copy,.family-intro { min-width:0; }
.hero-description { text-wrap:pretty; }
.button { cursor:pointer; transition:background .18s,transform .18s,box-shadow .18s; }
.button:active { transform:translateY(0); }
.site-header nav a { text-underline-offset:7px; }
.site-header nav a:hover { text-decoration:underline; text-decoration-color:#bd8a34; }
.experience-tab { min-height:48px; transition:background .18s,box-shadow .18s; }
.experience-tab.is-active { box-shadow:inset 0 -3px 0 #bd8a34,0 3px 9px #37503b07; }
.experience-panel:focus-visible { outline-offset:10px; border-radius:8px; }
.family-details summary { min-height:56px; border-radius:8px; transition:background .18s; }
.faq summary:hover { background:#f4f8f5; }
.faq[open] summary { color:var(--cll-signal-teal); }
.letter-body { max-width:70ch; }
.footer-links a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:600px) {
  .hero h1 { font-size:clamp(40px,10.8vw,54px); line-height:1.1; }
  .hero h1>span { max-width:none; }
  .hero-actions .button { min-height:54px; }
  .site-header .button-small { min-height:44px; }
  .experience-tab { font-size:12px!important; }
  .student-chat { margin-left:12px; }
  .coach-chat { margin-right:12px; }
  .contact-address { min-width:0; }
}
@media(prefers-reduced-motion:reduce) {
  .ap-world-page *, .ap-world-page *::before, .ap-world-page *::after { transition:none!important; scroll-behavior:auto!important; }
}

@media(max-width:800px) {
  .floating-note p { font-size:15px; }
}
@media(max-width:600px) {
  .floating-note { width:min(390px,94%); padding:16px 18px; gap:10px; }
  .floating-note p { font-size:13px; line-height:1.35; }
  .note-icon { font-size:22px; }
}

.course-price { display:flex; align-items:baseline; gap:5px; color:var(--navy)!important; margin-block:14px!important; }
.course-price strong { font-size:36px; font-weight:300; letter-spacing:-.035em; }
.course-price span { font-size:14px; color:var(--muted); }

/* Returning students share the existing course-specific account entry. */
.header-account-actions { display:flex; align-items:center; gap:16px; flex-shrink:0; }
.sign-in-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 5px; color:var(--navy)!important; font-size:14px; font-weight:650; text-decoration:underline; text-underline-offset:4px; white-space:nowrap; }
.sign-in-link:hover { color:var(--cll-signal-teal)!important; }
.returning-student { display:flex; align-items:center; flex-wrap:wrap; gap:5px; margin-top:14px!important; color:var(--muted); font-size:14px; }
@media(max-width:1100px) { .site-header nav { display:none; } }
@media(max-width:600px) {
  .ap-world-page .site-header .brand { grid-column:1; grid-row:1; }
  .ap-world-page .site-header .header-account-actions { grid-column:1/-1; grid-row:2; justify-content:flex-start; }
  .ap-world-page .site-header>.course-about-menu { grid-column:2; grid-row:1; justify-self:end; }
}
