/* Courses Page - Visual Redesign */
/* ===== HERO COLLAGE ===== */
.courses-hero{
 position:relative;
 min-height:100vh;
 display:flex;
 align-items:center;
 justify-content:center;
 overflow:hidden;
}
.hero-collage{
 position:absolute;
 inset:0;
 display:grid;
 grid-template-columns:2fr 1fr;
 grid-template-rows:1fr 1fr;
 gap:4px;
}
.collage-img{
 background-size:cover;
 background-position:center;
}
.collage-main{
 grid-row:1 / 3;
}
.hero-collage-overlay{
 position:absolute;
 inset:0;
 background:linear-gradient(135deg, rgba(28,25,23,0.85) 0%, rgba(28,25,23,0.7) 50%, rgba(28,25,23,0.85) 100%);
}
.hero-collage-content{
 position:relative;
 z-index:2;
 text-align:center;
 max-width:800px;
 padding:2rem;
}
.hero-collage-content h1{
 color:#ffffff;
 margin-bottom:1rem;
}
.hero-tagline{
 font-size:1.15rem;
 color:#d4d4d4;
 margin-bottom:2rem;
 max-width:600px;
 margin-left:auto;
 margin-right:auto;
 line-height:1.7;
}
/* ===== APPI SECTION ===== */
.appi-section{
 padding:5rem 0;
}
.appi-grid{
 display:grid;
 grid-template-columns:1.3fr 1fr;
 gap:3rem;
 align-items:start;
}
.appi-text h2{
 margin-top:0.5rem;
 margin-bottom:1.5rem;
}
.appi-text p{
 color:#d4d4d4;
 font-size:1.05rem;
 line-height:1.8;
 margin-bottom:1.25rem;
}
.text-link{
 color:var(--amber-500);
 text-decoration:underline;
 font-weight:600;
}
.appi-badges{
 display:flex;
 gap:1.5rem;
 margin-top:2rem;
 flex-wrap:wrap;
}
.badge-item{
 display:flex;
 align-items:center;
 gap:0.5rem;
 background:var(--paper-light);
 border:1px solid var(--stone-700);
 padding:0.6rem 1rem;
 font-size:0.85rem;
 font-weight:600;
 color:var(--ink-color);
 letter-spacing:0.03em;
}
.badge-icon{
 font-size:1.2rem;
}
.appi-image-stack{
 display:flex;
 flex-direction:column;
 gap:1.5rem;
}
.appi-logo-card{
 background:#fff;
 border:2px solid var(--stone-700);
 padding:1.5rem;
 text-align:center;
}
.appi-logo-img{
 max-width:100%;
 height:auto;
}
.appi-photo{
 height:220px;
 background-size:cover;
 background-position:center;
 border:2px solid var(--stone-700);
}
/* ===== COURSE CARDS ===== */
.course-cards-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:2rem;
}
.course-card-visual{
 background:var(--stone-800);
 border:2px solid var(--stone-700);
 overflow:hidden;
 transition:border-color 0.3s, transform 0.3s;
}
.course-card-visual:hover{
 border-color:var(--amber-500);
 transform:translateY(-4px);
}
.card-image{
 height:220px;
 background-size:cover;
 background-position:center;
 position:relative;
 display:flex;
 align-items:flex-end;
 padding:1.5rem;
}
.card-image-overlay{
 position:absolute;
 inset:0;
 background:linear-gradient(transparent 30%, rgba(0,0,0,0.7) 100%);
}
.card-badge{
 position:absolute;
 top:1rem;
 left:1rem;
 background:var(--amber-600);
 color:#fff;
 padding:0.2rem 0.75rem;
 font-size:0.7rem;
 font-weight:700;
 letter-spacing:0.15em;
 z-index:1;
}
.card-days{
 position:relative;
 z-index:1;
 font-size:2rem;
 font-weight:900;
 color:#ffffff;
 text-shadow:0 2px 8px rgba(0,0,0,0.5);
}
.card-body{
 padding:2rem;
}
.card-body h3{
 color:#ffffff;
 margin-bottom:1rem;
 font-size:1.2rem;
}
.card-body p{
 color:#b0b0b0;
 font-size:0.95rem;
 line-height:1.7;
 margin-bottom:1.5rem;
}
.card-features{
 list-style:none;
 margin-bottom:2rem;
}
.card-features li{
 color:#d4d4d4;
 padding:0.5rem 0;
 padding-left:1.25rem;
 position:relative;
 font-size:0.9rem;
 border-bottom:1px solid var(--stone-700);
}
.card-features li:last-child{
 border-bottom:none;
}
.card-features li::before{
 content:"✓";
 color:var(--amber-500);
 position:absolute;
 left:0;
 font-weight:bold;
}
/* ===== SYLLABUS SECTIONS ===== */
.syllabus-section{
 padding:4rem 0;
}
.syllabus-header{
 text-align:center;
 margin-bottom:3rem;
}
.syllabus-header h2{
 margin-top:0.5rem;
}
.syllabus-intro-text{
 color:var(--ink-light);
 font-size:1.05rem;
 max-width:650px;
 margin:1rem auto 0;
 line-height:1.7;
}
/* Phase Blocks */
.phase-block{
 margin-bottom:2.5rem;
 border:2px solid var(--stone-700);
 background:var(--paper-light);
 overflow:hidden;
}
.phase-label{
 display:flex;
 align-items:center;
 gap:1.25rem;
 background:var(--stone-900);
 padding:1.25rem 2rem;
}
.phase-num{
 font-size:2.5rem;
 font-weight:900;
 color:var(--amber-500);
 line-height:1;
}
.phase-tag{
 display:inline-block;
 background:var(--amber-600);
 color:var(--stone-900);
 padding:0.15rem 0.6rem;
 font-size:0.65rem;
 font-weight:700;
 letter-spacing:0.15em;
 margin-bottom:0.25rem;
}
.phase-label h3{
 font-size:1.15rem;
 margin:0;
 color:#ffffff;
}
.phase-items{
 padding:1.5rem 2rem;
}
.phase-subtitle{
 color:var(--amber-500);
 font-size:0.8rem;
 font-weight:700;
 letter-spacing:0.15em;
 text-transform:uppercase;
 margin:1.75rem 0 0.75rem;
 padding-bottom:0.4rem;
 border-bottom:2px solid var(--amber-800);
}
.phase-subtitle:first-child{
 margin-top:0;
}
.item{
 padding:0.7rem 0;
 border-bottom:1px solid #444;
 color:#d4d4d4;
 font-size:0.95rem;
 line-height:1.6;
}
.item:last-child{
 border-bottom:none;
}
.item.featured{
 background:rgba(245, 158, 11, 0.1);
 border-left:4px solid var(--amber-500);
 padding:0.85rem 1rem;
 margin:0.3rem 0;
}
.item.check{
 background:rgba(245, 158, 11, 0.05);
 padding-left:0.5rem;
}
.item.solo{
 background:rgba(245, 158, 11, 0.15);
 border:2px solid var(--amber-600);
 padding:1rem;
 margin-top:0.5rem;
 font-size:0.95rem;
 line-height:1.7;
}
/* Flight Items */
.flight-item{
 display:flex;
 align-items:flex-start;
 gap:0.75rem;
 padding:0.65rem 0;
 border-bottom:1px solid #444;
 color:#d4d4d4;
 font-size:0.9rem;
 line-height:1.6;
}
.flight-item:last-child{
 border-bottom:none;
}
.f-num{
 background:var(--stone-900);
 color:var(--amber-500);
 padding:0.15rem 0.5rem;
 font-size:0.7rem;
 font-weight:700;
 letter-spacing:0.05em;
 white-space:nowrap;
 flex-shrink:0;
 min-width:36px;
 text-align:center;
}
.flight-item.xc{
 background:rgba(245, 158, 11, 0.12);
 border:2px solid var(--amber-500);
 padding:0.85rem;
 margin-top:0.25rem;
}
/* ===== PHOTO BREAK ===== */
.photo-break{
 height:300px;
 overflow:hidden;
}
.photo-break-grid{
 display:grid;
 grid-template-columns:1fr 2fr 1fr;
 height:100%;
}
.break-img{
 background-size:cover;
 background-position:center;
}
/* ===== CERTIFICATION ===== */
.cert-section{
 padding:5rem 0;
}
.cert-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:3rem;
 align-items:start;
}
.cert-left h2{
 margin-top:0.5rem;
 margin-bottom:2rem;
 color:#ffffff;
}
.cert-req{
 color:#e0e0e0;
 padding:0.75rem 0;
 border-bottom:1px solid var(--stone-700);
 font-size:0.95rem;
 line-height:1.6;
}
.cert-card{
 background:var(--stone-800);
 border:3px solid var(--amber-500);
 padding:2.5rem;
}
.cert-card h3{
 margin-bottom:1.5rem;
 color:#ffffff;
}
.cert-card p{
 color:#d0d0d0;
 line-height:1.8;
 margin-bottom:1rem;
}
.cert-card .btn{
 margin-top:1rem;
}
/* ===== INSTRUCTOR ===== */
.instructor-section{
 padding:5rem 0;
}
.instructor-grid{
 display:grid;
 grid-template-columns:1fr 1.3fr;
 gap:3rem;
 align-items:center;
}
.instructor-photo{
 height:400px;
 background-size:cover;
 background-position:center;
 border:2px solid var(--stone-700);
}
.instructor-info h2{
 margin-top:0.5rem;
 margin-bottom:1.5rem;
}
.instructor-info p{
 color:#d4d4d4;
 font-size:1.05rem;
 line-height:1.8;
 margin-bottom:1.25rem;
}
.instructor-stats{
 display:flex;
 gap:2rem;
 margin-top:2rem;
 padding-top:2rem;
 border-top:3px solid var(--amber-500);
}
.stat-box{
 text-align:center;
}
.stat-num{
 display:block;
 font-size:2.25rem;
 font-weight:900;
 color:var(--amber-500);
 line-height:1;
}
.stat-lbl{
 display:block;
 font-size:0.75rem;
 font-weight:700;
 letter-spacing:0.1em;
 text-transform:uppercase;
 color:var(--stone-400);
 margin-top:0.4rem;
}
/* ===== RESPONSIVE ===== */
@media (max-width:768px){
 .hero-collage{
 grid-template-columns:1fr;
 grid-template-rows:1fr;
}
 .collage-top-right, .collage-bottom-right{
 display:none;
}
 .collage-main{
 grid-row:1;
}
 .appi-grid{
 grid-template-columns:1fr;
}
 .course-cards-grid{
 grid-template-columns:1fr;
}
 .cert-grid{
 grid-template-columns:1fr;
}
 .instructor-grid{
 grid-template-columns:1fr;
}
 .instructor-photo{
 height:250px;
}
 .photo-break{
 height:200px;
}
 .photo-break-grid{
 grid-template-columns:1fr;
}
 .break-img:nth-child(2), .break-img:nth-child(3){
 display:none;
}
 .phase-label{
 flex-direction:column;
 align-items:flex-start;
 gap:0.5rem;
}
 .appi-badges{
 flex-direction:column;
 gap:0.75rem;
}
 .instructor-stats{
 justify-content:center;
}
}
