:root{
  --dark:#201c18;
  --gold:#ad8a46;
  --gold-dark:#8b6f39;
  --gold-light:#d9c08f;
  --charcoal:#2a2520;
  --grey:#6b6459;
  --cream-tint:#f4ecdc;
  --line:#e4d6b4;
  --white:#ffffff;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Poppins',sans-serif;
  color:var(--charcoal);
  background:var(--white);
  line-height:1.6;
  font-weight:300;
}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:600;color:var(--charcoal);}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}

/* topbar */
.topbar{background:var(--dark);color:#c9c2b4;font-size:0.8rem;}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;padding:8px 24px;}
.topbar-inner a{color:var(--gold-light);}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.96);border-bottom:1px solid var(--line);backdrop-filter:blur(6px);}
.nav-inner{display:flex;justify-content:space-between;align-items:center;height:72px;}
.brand{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;letter-spacing:0.5px;color:var(--charcoal);display:flex;align-items:center;transition:transform .25s ease;}
.brand:hover{transform:scale(1.04);}
.brand-logo{height:46px;width:auto;display:block;}
.nav-links{display:flex;gap:0.4rem;align-items:center;}
.nav-links a{font-size:0.92rem;color:var(--charcoal);letter-spacing:0.3px;padding:9px 16px;border-radius:30px;transition:background-color .25s ease,color .25s ease,transform .2s ease;}
.nav-links a:not(.nav-cta):hover,.nav-links a:not(.nav-cta):focus-visible{background:var(--cream-tint);color:var(--gold-dark);transform:translateY(-1px);}
.nav-links a:not(.nav-cta).active{background:var(--gold);color:var(--white);}
.nav-cta{background:var(--grey);border:2px solid var(--gold);color:var(--white)!important;padding:7px 18px;}
.nav-cta:hover{background:var(--gold);border-color:var(--gold-dark);color:var(--white)!important;transform:translateY(-1px) scale(1.04);}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.nav-toggle span{width:24px;height:2px;background:var(--charcoal);display:block;}

/* hero */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(20,17,14,0.55) 0%, rgba(20,17,14,0.35) 45%, rgba(20,17,14,0.75) 100%);}
.hero-content{position:relative;z-index:2;text-align:center;color:var(--white);padding:0 20px;max-width:760px;}
.kicker{font-size:0.85rem;letter-spacing:3px;text-transform:uppercase;color:var(--gold-light);margin-bottom:1rem;}
.hero h1{font-size:4.2rem;color:var(--white);margin-bottom:0.8rem;}
.hero-sub{font-size:1.05rem;color:#efe9dc;margin-bottom:2.2rem;font-weight:300;}
.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

.btn{display:inline-block;padding:14px 30px;border-radius:30px;font-size:0.92rem;letter-spacing:0.4px;transition:background-color .25s ease,transform .2s ease,box-shadow .25s ease;}
.btn-gold{background:var(--gold);color:var(--white);}
.btn-gold:hover{background:var(--gold-dark);transform:translateY(-2px) scale(1.04);box-shadow:0 10px 24px rgba(139,111,57,0.35);}
.btn-outline{border:1.5px solid var(--white);color:var(--white);}
.btn-outline:hover{background:rgba(255,255,255,0.12);transform:translateY(-2px) scale(1.04);}
.btn:active{transform:translateY(0) scale(0.98);}
.btn-lg{padding:16px 42px;font-size:1rem;}

/* intro */
.intro{padding:6rem 0 5rem;}
.intro-inner{max-width:720px;margin:0 auto;text-align:center;}
.eyebrow{font-size:0.82rem;letter-spacing:3px;text-transform:uppercase;color:var(--gold-dark);margin-bottom:0.6rem;}
.eyebrow.center{text-align:center;}
.eyebrow.light{color:var(--gold-light);}
h2{font-size:2.3rem;margin-bottom:1.2rem;}
h2.center{text-align:center;}
h2.light{color:var(--white);}
.intro p{color:var(--grey);font-size:1.02rem;}

/* services */
.services{padding:5rem 0;background:var(--cream-tint);}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:2.8rem;}
.card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:2.2rem 1.8rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
.card:hover{transform:translateY(-8px);box-shadow:0 18px 34px rgba(32,28,24,0.1);border-color:var(--gold-light);}
.card h3{font-size:1.4rem;margin-bottom:0.7rem;}
.card p{color:var(--grey);font-size:0.95rem;}

/* courses */
.courses{padding:6rem 0;background:var(--dark);}
.course-note{color:#c9c2b4;margin-top:0.6rem;font-size:0.98rem;}
.price-disclaimer{display:block;font-size:0.78rem;color:#8a8070;margin-top:0.4rem;font-style:italic;}
.courses-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;margin-top:2.8rem;align-items:stretch;}
.course-card{background:#2a2520;border:1px solid #453c30;border-radius:12px;padding:2rem 1.4rem;color:#e7e1d3;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
.course-card:hover{transform:translateY(-8px);box-shadow:0 18px 34px rgba(0,0,0,0.35);border-color:var(--gold);}
.course-card.featured{border-color:var(--gold);background:#332c22;}
.course-head{display:flex;flex-direction:column;margin-bottom:1rem;}
.course-level{font-family:'Cormorant Garamond',serif;font-size:1.45rem;color:var(--gold-light);}
.course-name{font-size:0.85rem;font-style:italic;color:#a89b7f;}
.course-price{font-size:1.9rem;font-family:'Cormorant Garamond',serif;color:var(--white);margin-bottom:0.9rem;}
.course-teaser{font-size:0.88rem;color:#d8d1c0;line-height:1.55;flex:1;}
.course-card ul{display:flex;flex-direction:column;gap:0.6rem;flex:1;}
.course-card li{position:relative;padding-left:1.2rem;font-size:0.92rem;color:#d8d1c0;}
.course-card li::before{content:"";position:absolute;left:0;top:0.5em;width:6px;height:6px;border-radius:50%;background:var(--gold);}
.syllabus-link{display:inline-block;font-size:0.85rem;color:var(--gold-light);border-bottom:1px solid var(--gold-light);padding-bottom:2px;transition:color .2s ease,border-color .2s ease;}
.syllabus-link:hover{color:var(--white);border-color:var(--white);}

@media (max-width:1100px){
  .courses-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .courses-grid{grid-template-columns:1fr;}
}

/* syllabus / temario */
.syllabus{max-width:820px;margin:0 auto;}
.syllabus-title{margin-bottom:0.4rem;}
.syllabus-list{margin-top:2.4rem;display:flex;flex-direction:column;gap:0.9rem;}
.syllabus-item{background:#2a2520;border:1px solid #453c30;border-radius:10px;overflow:hidden;transition:border-color .3s ease;}
.syllabus-item:hover{border-color:var(--gold);}
.syllabus-toggle{width:100%;display:flex;align-items:center;gap:1rem;background:none;border:none;cursor:pointer;padding:1.1rem 1.4rem;text-align:left;color:#e7e1d3;font-family:inherit;}
.syllabus-num{flex:0 0 auto;font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--gold-light);letter-spacing:0.3px;}
.syllabus-name{flex:1;font-size:0.98rem;}
.syllabus-icon{flex:0 0 auto;font-size:1.3rem;color:var(--gold);transition:transform .3s ease;}
.syllabus-toggle[aria-expanded="true"] .syllabus-icon{transform:rotate(45deg);}
.syllabus-content{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;padding:0 1.4rem;}
.syllabus-content p{color:#c9c2b4;font-size:0.92rem;margin-bottom:0.6rem;}
.syllabus-content p:last-child{margin-bottom:0;}
.syllabus-item.open .syllabus-content{max-height:320px;padding:0 1.4rem 1.3rem;}
.syllabus-bonus{border-color:var(--gold);background:#332c22;}
.syllabus-bonus .syllabus-num{color:var(--gold);}
.syllabus-exclusive{font-style:italic;color:var(--gold-light)!important;font-size:0.85rem!important;}

/* portfolio */
.portfolio{padding:6rem 0;}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:0.9rem;margin-top:2.8rem;}
.gallery img{width:100%;height:260px;object-fit:cover;border-radius:8px;transition:transform .35s ease,box-shadow .35s ease;cursor:pointer;}
.gallery img:hover{transform:scale(1.05);box-shadow:0 14px 30px rgba(32,28,24,0.25);position:relative;z-index:2;}

/* testimonials */
.testimonials{padding:6rem 0;background:var(--cream-tint);}
.testimonial-note{color:var(--grey);font-size:0.82rem;font-style:italic;margin-top:0.3rem;margin-bottom:1rem;}
.quote-card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:2.2rem 1.8rem;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
.quote-card:hover{transform:translateY(-8px);box-shadow:0 18px 34px rgba(32,28,24,0.1);border-color:var(--gold-light);}
.quote{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-style:italic;color:var(--charcoal);margin-bottom:1rem;}
.quote-author{font-size:0.85rem;color:var(--gold-dark);}

/* contact */
.contact{padding:6rem 0;}
.contact-inner{max-width:640px;margin:0 auto;}
.contact-text{color:var(--grey);margin-bottom:2rem;}
.social-row{display:flex;justify-content:center;gap:2rem;margin-top:2rem;}
.social-row a{font-size:0.9rem;color:var(--gold-dark);letter-spacing:0.4px;border-bottom:1px solid var(--gold-dark);padding-bottom:2px;transition:color .2s ease,transform .2s ease,border-color .2s ease;display:inline-block;}
.social-row a:hover{color:var(--charcoal);border-color:var(--charcoal);transform:translateY(-2px);}

/* footer */
.footer{background:var(--dark);color:#8a8070;padding:1.6rem 0;font-size:0.8rem;}
.footer-inner{text-align:center;}

.center{text-align:center;}

@media (max-width:900px){
  .cards-3{grid-template-columns:1fr;}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .hero h1{font-size:2.8rem;}
  h2{font-size:1.8rem;}
}

@media (prefers-reduced-motion: reduce){
  *{transition-duration:0.01ms!important;animation-duration:0.01ms!important;}
}

@media (max-width:720px){
  .nav-toggle{display:flex;}
  .nav-links{position:absolute;top:72px;left:0;right:0;background:var(--white);flex-direction:column;padding:1.5rem 24px;gap:1.2rem;border-bottom:1px solid var(--line);display:none;}
  .nav-links.open{display:flex;}
  .topbar-inner{flex-direction:column;gap:2px;text-align:center;padding:8px 12px;}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .gallery img{height:180px;}
}
