/* Academy adaptations of the exact Glengarry Agency stylesheet. */
:root { color-scheme:dark; }
button,input,textarea { font:inherit; }
button { cursor:pointer; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible { outline:2px solid var(--amber); outline-offset:5px; }
[id] { scroll-margin-top:108px; }
.skip-link { position:fixed; left:20px; top:-80px; z-index:20; padding:14px; background:var(--amber); color:#000; }
.skip-link:focus { top:20px; }
.nav { z-index:10; }
.brand-mark { border-radius:0; }
.nav-links { gap:2px; }
.menu-toggle { display:none; background:transparent; border:1px solid #666; border-radius:8px; color:white; padding:10px 12px; min-height:44px; }
.amber-word { color:var(--amber); }
.hero { min-height:750px; padding:120px 0 72px; }
.hero h1 { max-width:1160px; font-size:clamp(58px,8.3vw,104px); }
.hero-subtitle { font-family:"DM Serif Display",Georgia,serif; font-size:clamp(24px,3vw,35px); color:var(--cloud); margin-bottom:15px; letter-spacing:-.025em; }
.hero-copy { max-width:640px; }
.hero-actions .button { min-height:50px; }
.button.amber { background:var(--amber); color:#090a0b; }
.button.text-link { border-color:#626263; background:transparent; }
.video-toggle { position:absolute; z-index:4; right:24px; bottom:20px; color:#eee; background:#0f1011b3; border:1px solid #ffffff40; border-radius:50px; padding:8px 12px; font:400 11px "Roboto Mono",monospace; }
.section-kicker { display:block; margin-bottom:20px; }
.industry-heading { max-width:920px; text-align:center; margin:auto; }
.industry-heading h2 { font-size:clamp(44px,5.8vw,72px); }
.industry-heading p { color:var(--ash); margin:24px auto 0; font-size:18px; line-height:1.55; }
.client-shot::before,.client-shot::after { content:none!important; }
.client-shot img { object-fit:contain; filter:saturate(.82) brightness(.9); }
@media (min-width:761px) and (prefers-reduced-motion:no-preference) {
 .client-gallery.has-scroll-reveal .client-shot:nth-child(-n+5) { z-index:2; }
 .client-gallery.has-scroll-reveal .client-shot:nth-child(n+6) { z-index:1; will-change:transform; }
}
.classroom-copy { padding:54px; }
.classroom-copy h2 { font-size:clamp(42px,4.8vw,62px); }
.guide-questions { list-style:none; padding:0; margin:28px 0 0; color:var(--silver); font-size:16px; line-height:1.55; }
.guide-questions li { position:relative; padding:12px 0 12px 22px; border-bottom:1px solid #ffffff1a; }
.guide-questions li::before { content:"↗"; position:absolute; left:0; color:var(--amber); }
.guide-image { background:transparent; display:grid; place-items:center; padding:35px; }
.guide-image img { object-fit:contain; max-height:640px; filter:none; }
.form-wrap { margin-top:30px; width:100%; }
.classroom-copy .signup { max-width:100%; margin:0; padding:8px; flex-wrap:wrap; }
.classroom-copy .signup input { flex-basis:100%; min-height:44px; padding:0 12px; }
.classroom-copy .signup .button { margin:0; width:100%; min-height:48px; color:#090a0b; }
.preview-note { color:var(--ash); font-size:12px!important; line-height:1.55!important; margin-top:12px!important; }
.form-status { color:var(--gold); font-size:14px; line-height:1.5; margin-top:10px; }
.form-status:empty { display:none; }
.book-section { border-bottom:1px solid #ffffff73; }
.book-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:center; }
.book-visual { margin:0; height:600px; background:transparent; }
.book-visual img { width:100%; height:100%; object-fit:contain; }
.book-copy h2 { max-width:550px; }
.book-copy > p { font-size:20px; color:var(--ash); margin-top:24px; line-height:1.55; }
.book-copy .hero-actions { justify-content:flex-start; flex-wrap:wrap; }
.author-note { border-top:1px solid #ffffff30; margin-top:36px; padding-top:24px; }
.author-note p { color:var(--silver); font-size:15px; line-height:1.6; }
.author-note small { color:var(--ash); font-size:12px; }
.course-intro { display:flex; align-items:end; justify-content:space-between; gap:48px; margin-bottom:44px; }
.course-intro h2 { max-width:740px; }
.course-intro p { max-width:340px; color:var(--ash); font-size:18px; line-height:1.55; }
.course-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.course-card { display:flex; flex-direction:column; border-radius:30px; overflow:hidden; background:var(--amber); color:#090a0b; transition:transform .35s; }
.course-card:hover { transform:translateY(-6px); }
.course-card > img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; display:block; }
.course-body { padding:30px; display:flex; flex-direction:column; gap:20px; flex:1; }
.course-body h3 { font:400 37px/.98 "DM Serif Display",Georgia,serif; letter-spacing:-.035em; }
.course-body p { font-size:16px; line-height:1.5; }
.course-body .button { margin-top:auto; align-self:flex-start; background:#0f1011; color:white; min-height:46px; }
.credentials { background:var(--abyss); }
.credentials-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.portrait { height:600px; border-radius:30px; margin:0; overflow:hidden; background:var(--graphite); }
.portrait img { width:100%; height:100%; object-fit:cover; }
.credentials-list { list-style:none; padding:0; margin:32px 0; }
.credentials-list li { padding:20px 0; border-bottom:1px solid #ffffff30; font-size:18px; line-height:1.5; color:var(--silver); }
.credentials-list strong { color:var(--amber); font-weight:500; }
.footer-brand { display:flex; align-items:center; gap:10px; color:white; }
.footer-brand img { width:26px; }
.footer-links { display:flex; gap:24px; flex-wrap:wrap; }
.footer-meta { margin-top:12px; font-size:11px; }
.page-hero { padding:110px 0 80px; text-align:center; border-bottom:1px solid #ffffff40; }
.page-hero--video { position:relative; overflow:hidden; background:var(--obsidian); isolation:isolate; }
.page-hero--video::after { content:""; position:absolute; inset:0; z-index:3; pointer-events:none; background:linear-gradient(180deg,rgba(20,20,19,.57) 0%,rgba(18,18,17,.66) 48%,rgba(15,15,14,.81) 100%); }
.page-hero--video > .shell { position:relative; z-index:4; }
.page-hero--video .hero-copy { color:var(--silver); }
.page-hero h1 { max-width:1080px; font-size:clamp(54px,7vw,90px); line-height:.96; }
.page-hero .hero-copy { max-width:720px; }
.page-hero p + p { margin-top:20px; }
.pack-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.pack-image { width:100%; height:auto; border-radius:24px; display:block; }
.price { display:block; font:400 64px/1 "DM Serif Display",Georgia,serif; color:var(--amber); margin:24px 0; }
.pack-list { list-style:none; padding:0; margin:25px 0; }
.pack-list li { padding:18px 0; border-bottom:1px solid #ffffff26; color:var(--silver); font-size:17px; line-height:1.6; }
.pack-list strong { display:block; color:white; font-weight:500; }
.pack-list small { color:var(--gold); }
.upgrade-note { margin-top:60px; border:1px solid #ffffff26; padding:36px; border-radius:24px; background:var(--graphite); }
.upgrade-note h3 { font:400 34px/1.1 "DM Serif Display",Georgia,serif; padding-bottom:18px; border-bottom:1px solid #fff; }
.upgrade-note p { color:var(--silver); line-height:1.7; margin-top:14px; max-width:950px; }
.coaching-panel { margin-top:56px; }
.coaching-panel h3 { font:400 42px/1.1 "DM Serif Display",Georgia,serif; }
.booking-panel { max-width:800px; margin:0 auto; background:var(--graphite); padding:50px; border-radius:30px; }
.booking-panel h2 { font-size:48px; }
.booking-panel p { color:var(--silver); font-size:18px; line-height:1.65; margin-top:22px; }
.booking-panel .button { margin-top:28px; }
.preview-label { font:400 11px "Roboto Mono",monospace; letter-spacing:.1em; text-transform:uppercase; color:var(--ash); }
@media (max-width:1000px) and (min-width:761px) {
 .nav-links a { padding:8px; font-size:10px; }
 .brand { font-size:12px; }
 .classroom-copy { padding:36px; }
 .book-grid { gap:40px; }
 .course-body { padding:24px; }
 .course-body h3 { font-size:31px; }
 .credentials-grid { gap:40px; }
}
@media (max-width:760px) {
 [id] { scroll-margin-top:90px; }
 .nav > .button { display:none; }
 .menu-toggle { display:block; }
 .nav-links.is-open { display:flex; position:absolute; left:-1px; right:-1px; top:calc(100% + 8px); flex-direction:column; align-items:stretch; gap:5px; border:1px solid #ffffff30; border-radius:8px; background:#0f1011f5; padding:12px; }
 .nav-links.is-open a { padding:14px; font-size:12px; }
 .hero { min-height:660px; padding:95px 0 75px; }
 .hero h1 { font-size:clamp(43px,10.9vw,65px); line-height:.96; max-width:600px; }
 .hero-subtitle { font-size:25px; }
 .hero-copy { font-size:17px; max-width:330px; }
 .hero-actions { gap:10px; flex-wrap:wrap; }
 .hero-actions .button { padding:15px; font-size:14px; }
 .video-toggle { bottom:16px; right:16px; }
 .industry-heading h2 { font-size:43px; }
 .industry-heading p { font-size:17px; }
 .client-shot { border-radius:14px; }
 .classroom-copy { padding:34px 24px; text-align:left; align-items:stretch; }
 .classroom-copy h2 { font-size:44px; text-align:left; }
 .classroom-copy .guide-questions { margin-top:20px; }
 .classroom-grid { gap:0; }
 .guide-image { min-height:0; padding:24px; }
 .guide-image img { max-height:370px; }
 .book-grid,.credentials-grid,.pack-grid { grid-template-columns:1fr; gap:35px; }
 .book-visual { height:430px; }
 .book-copy { text-align:center; }
 .book-copy .hero-actions { justify-content:center; }
 .book-copy h2 { margin:auto; }
 .book-copy > p { font-size:18px; }
 .course-intro { display:block; text-align:center; }
 .course-intro p { margin:24px auto 0; }
 .course-grid { grid-template-columns:1fr; gap:20px; }
 .course-card { border-radius:24px; }
 .course-card:hover { transform:none; }
 .course-body h3 { font-size:38px; }
 .portrait { height:440px; border-radius:24px; }
 .credentials-list li { font-size:17px; }
 .footer-links { justify-content:center; gap:20px; }
 .footer-brand { justify-content:center; }
 .page-hero { padding:80px 0 60px; }
 .page-hero h1 { font-size:clamp(43px,11vw,65px); }
 .upgrade-note { padding:26px; margin-top:40px; }
 .booking-panel { padding:30px 24px; }
 .booking-panel h2 { font-size:40px; }
}
@media (prefers-reduced-motion:reduce) { .hero-video { display:none; } .hero { background:var(--obsidian); } .video-toggle { display:none; } }
