:root{--accent:#ed563b;--dark:#181818;--muted:#6c757d}html{scroll-behavior:smooth}body{color:#232323}.skip-link{position:fixed;left:12px;top:-60px;z-index:9999;background:#fff;color:#111;padding:10px 16px}.skip-link:focus{top:12px}.header-area .main-nav .logo{font-size:24px}.header-area.header-sticky{background:rgba(24,24,24,.94)}.main-banner .caption p{max-width:680px;margin:20px auto 28px;color:#fff;font-size:17px}.main-banner .caption h6{letter-spacing:3px}.main-banner .caption h2{font-size:72px}.hero-badges{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:24px}.hero-badges span{border:1px solid rgba(255,255,255,.35);padding:7px 12px;color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:1px}.section{padding:100px 0}.section-heading p{max-width:680px;margin:15px auto 0}.eyebrow{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:2px;font-size:13px}.about-photo{position:relative}.about-photo img{width:100%;min-height:430px;object-fit:cover}.about-copy{padding:25px 10px 25px 35px}.about-copy h2{font-size:40px;font-weight:800;text-transform:uppercase}.about-copy blockquote{border-left:4px solid var(--accent);padding:12px 18px;margin:25px 0;background:#f7f7f7;font-weight:600}.program-card{height:100%;background:#fff;box-shadow:0 4px 22px rgba(0,0,0,.08);border-radius:4px;overflow:hidden}.program-card img{width:100%;height:215px;object-fit:cover}.program-card-body{padding:25px}.program-card h3{font-size:21px;font-weight:700}.program-meta{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.program-meta span{font-size:11px;text-transform:uppercase;background:#f1f1f1;padding:5px 8px}.main-button a,.main-button button{border:0;cursor:pointer}.schedule-wrap{background:url('../images/schedule-bg.jpg') center/cover;padding:100px 0;color:#fff}.schedule-wrap .section-heading h2,.schedule-wrap .section-heading p{color:#fff}.schedule-card{background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.25);padding:18px;height:100%}.schedule-card h3{font-size:18px;color:#fff}.availability{color:#ffb0a2;text-transform:uppercase;font-size:11px;font-weight:700}.plan-card{height:100%;padding:30px;border:1px solid #eee;box-shadow:0 4px 22px rgba(0,0,0,.06);position:relative}.plan-card.featured{border-top:5px solid var(--accent)}.plan-card h3{font-weight:700}.price-label{color:var(--accent);font-size:25px;font-weight:800}.plan-card ul{padding-left:19px;min-height:140px}.gallery-card{position:relative;margin-bottom:30px;overflow:hidden}.gallery-card img{width:100%;height:310px;object-fit:cover}.gallery-overlay{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(0,0,0,.9));color:#fff;padding:55px 22px 18px}.gallery-overlay h3{color:#fff;font-size:19px}.journal-card{height:100%;background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.07);overflow:hidden}.journal-card img{width:100%;height:220px;object-fit:cover}.journal-card .content{padding:25px}.journal-card h3{font-size:21px}.booking-panel{background:#fff;padding:35px;box-shadow:0 8px 28px rgba(0,0,0,.12)}.contact-section{background:url('../images/contact-bg.jpg') center/cover;padding:100px 0}.contact-section .section-heading h2,.contact-section .section-heading p{color:#fff}.form-control{border-radius:0;min-height:48px}.alert{border-radius:0}.site-footer{background:#171717;color:#bbb;padding:40px 0}.site-footer a{color:#fff}.inner-hero{padding:160px 0 85px;background:url('../images/cta-bg.jpg') center/cover;position:relative;color:#fff}.inner-hero:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.7)}.inner-hero .container{position:relative}.inner-hero h1{color:#fff;font-size:45px;text-transform:uppercase;font-weight:800}.prose{max-width:800px;margin:auto}.prose p{margin-bottom:20px}.admin-link{opacity:.8}@media(max-width:991px){.header-area .main-nav .logo{font-size:19px}.header-area .main-nav .nav{background:#fff}.header-area .main-nav .nav li a{color:#232323}.main-banner .caption h2{font-size:48px}.about-copy{padding:35px 0}.section{padding:75px 0}}@media(max-width:575px){.main-banner .caption h2{font-size:39px}.main-banner .caption p{font-size:15px}.section{padding:60px 0}.booking-panel{padding:22px}.inner-hero h1{font-size:34px}}
