*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Segoe UI',Helvetica,Arial,sans-serif;line-height:1.6;color:#20302f;background:#fff;}
a{text-decoration:none;}
h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;line-height:1.25;}
img{max-width:100%;display:block;}

/* Header */
.header-inner{max-width:1400px;margin:0 auto;padding:18px 32px;display:flex;align-items:center;gap:32px;}
.header-logo{font-size:22px;font-weight:700;letter-spacing:1px;display:flex;flex-direction:column;}
.header-logo small{font-size:10px;font-weight:400;letter-spacing:2px;opacity:.8;}
.header-hours{font-size:14px;flex:1;}
.hours-icon{margin-right:6px;}
.header-nav{display:flex;gap:28px;}
.nav-link{font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;}
.header-search-btn{background:none;border:none;font-size:18px;cursor:pointer;}

/* Hero: left/right split like puppet.org */
.hero{display:grid;grid-template-columns:38% 62%;min-height:560px;position:relative;}
.hero-left{padding:64px 48px;display:flex;flex-direction:column;justify-content:center;}
.hero-left h1{font-size:40px;color:#fff;margin-bottom:20px;}
.hero-sub{font-size:15px;margin-bottom:14px;}
.hero-note{font-size:14px;margin-bottom:26px;}
.hero-cta-list{display:flex;flex-direction:column;gap:2px;max-width:280px;}
.cta-btn{padding:14px 20px;font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;text-align:center;}
.hero-right{position:relative;background-size:cover;background-position:center;}
.hero-float-card{position:absolute;left:40px;bottom:60px;width:320px;padding:28px;}
.float-card-tag{font-size:11px;font-weight:700;letter-spacing:1px;display:block;margin-bottom:10px;}
.hero-float-card h3{font-size:22px;margin-bottom:10px;}
.hero-float-card p{font-size:14px;margin-bottom:16px;}
.float-card-link{display:inline-block;padding:10px 18px;border:1px solid;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;}

/* Quick rail - fixed right edge icons like puppet.org */
.quick-rail{position:fixed;right:0;top:40%;z-index:50;display:flex;flex-direction:column;}
.quick-item{width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-size:22px;}

/* Programs strip - 3 col cards */
.programs-strip{padding:60px 32px;max-width:1400px;margin:0 auto;}
.programs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.program-card{height:340px;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;}
.program-card::before{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.75),transparent 60%);}
.program-card-inner{position:relative;padding:24px;color:#fff;}
.program-date{font-size:11px;font-weight:700;letter-spacing:1px;display:block;margin-bottom:8px;}
.program-card-inner h3{font-size:20px;margin-bottom:14px;color:#fff;}
.program-btn{display:inline-block;padding:9px 16px;border:1px solid;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;}

/* Path section - 4 col */
.path-section{padding:70px 32px;text-align:center;}
.path-section h2{font-size:30px;margin-bottom:10px;}
.path-intro{max-width:600px;margin:0 auto 40px;color:#5a6b69;}
.path-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.path-card{background:#fff;padding:32px 22px;border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.06);}
.path-icon{font-size:36px;display:block;margin-bottom:16px;}
.path-card h3{font-size:18px;margin-bottom:10px;}
.path-card p{font-size:14px;color:#5a6b69;}

/* Faculty section - 3 col */
.faculty-section{padding:70px 32px;max-width:1200px;margin:0 auto;text-align:center;}
.faculty-section h2{font-size:30px;margin-bottom:10px;}
.faculty-intro{max-width:640px;margin:0 auto 40px;color:#5a6b69;}
.faculty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.faculty-card img{border-radius:4px;margin-bottom:16px;aspect-ratio:4/3;object-fit:cover;}
.faculty-card h4{font-size:16px;margin-bottom:8px;}
.faculty-card p{font-size:13px;color:#5a6b69;}

/* Testimonials */
.testimonial-strip{padding:70px 32px;text-align:center;}
.testimonial-strip h2{font-size:30px;margin-bottom:40px;}
.testimonial-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.testimonial-card{padding:28px;border-radius:4px;text-align:left;}
.testimonial-card p{font-size:14px;font-style:italic;margin-bottom:14px;}
.testimonial-card cite{font-size:12px;font-weight:600;font-style:normal;display:block;}

/* Support banner - angled cut like puppet.org donate section */
.support-banner{padding:80px 32px;clip-path:polygon(0 6%,100% 0,100% 100%,0 100%);text-align:center;}
.support-inner{max-width:640px;margin:0 auto;padding:0 24px;}
.support-tag{font-size:12px;font-weight:700;letter-spacing:2px;}
.support-banner h2{font-size:30px;margin:14px 0 16px;}
.support-banner p{font-size:14px;margin-bottom:26px;}
.support-btn{display:inline-block;padding:14px 32px;font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;}

/* Footer */
.footer-inner{max-width:900px;margin:0 auto;padding:24px;text-align:center;}
.footer-nav-inner{max-width:1400px;margin:0 auto;padding:56px 32px 32px;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.footer-col h4{font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:16px;}
.footer-col a{display:block;font-size:13px;margin-bottom:10px;}
.footer-bottom{text-align:center;padding:20px;font-size:12px;border-top:1px solid rgba(255,255,255,.1);}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;}
  .programs-grid,.path-grid,.faculty-grid,.testimonial-grid,.footer-nav-inner{grid-template-columns:1fr 1fr;}
  .quick-rail{display:none;}
}
@media (max-width:600px){
  .programs-grid,.path-grid,.faculty-grid,.testimonial-grid,.footer-nav-inner{grid-template-columns:1fr;}
  .header-inner{flex-wrap:wrap;padding:14px 20px;}
  .header-hours{font-size:12px;flex:1 1 auto;order:2;}
  .header-nav{display:none;}
  .header-search-btn{order:3;}
  .hero-left h1{font-size:30px;}
}
