
:root{--bg:#050505;--panel:#0a0908;--gold:#d59a39;--gold2:#f1c77c;--text:#f5efe6;--muted:#aaa39a;}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
.hero{position:relative;width:100%;min-height:100vh;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center}
.hero-art{width:100%;height:100vh;object-fit:cover;object-position:center;display:block;user-select:none;pointer-events:none}
.hotspot{position:absolute;z-index:4;display:block;border-radius:8px;background:transparent}
.hotspot:focus-visible{outline:2px solid var(--gold2);outline-offset:2px;background:rgba(213,154,57,.07)}
.hs-inicio{top:4.6%;left:48%;width:5.3%;height:5%} .hs-sobre{top:4.6%;left:54.3%;width:5%;height:5%}
.hs-cursos{top:4.6%;left:60.8%;width:5.7%;height:5%} .hs-estrutura{top:4.6%;left:67.7%;width:7.5%;height:5%}
.hs-galeria{top:4.6%;left:76%;width:6.5%;height:5%} .hs-contato{top:4.6%;left:83.2%;width:6.3%;height:5%}
.hs-cursos-btn{top:70.2%;left:70.3%;width:24.4%;height:7.6%}
.mobile-bar{display:none;position:absolute;left:18px;right:18px;bottom:18px;z-index:6;gap:10px;justify-content:center;flex-wrap:wrap}
.mobile-bar a{background:rgba(0,0,0,.78);border:1px solid rgba(213,154,57,.6);padding:12px 15px;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}
.section{position:relative;padding:110px 28px;border-top:1px solid rgba(255,255,255,.055);overflow:hidden}
.wrap{max-width:1180px;margin:auto}
.kicker{color:var(--gold2);font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;margin-bottom:18px}
h2{font-size:clamp(2.2rem,5vw,4.6rem);line-height:.95;margin:0 0 26px;letter-spacing:-.04em}
.lead{font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.7;color:#d0c7bb;max-width:760px}
.goldline{width:72px;height:1px;background:var(--gold);margin:28px 0}
.essence{background:radial-gradient(circle at 85% 25%,rgba(213,154,57,.11),transparent 28%),#070706}
.essence-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center}
.photo-frame{position:relative;min-height:570px;overflow:hidden;border:1px solid rgba(213,154,57,.25);box-shadow:0 35px 90px rgba(0,0,0,.45)}
.photo-frame img{width:100%;height:100%;position:absolute;object-fit:cover;filter:saturate(.7) contrast(1.08) brightness(.68) sepia(.13)}
.photo-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.72))}
.quote{font-family:Georgia,serif;font-size:1.35rem;line-height:1.6;color:#ead9bd;border-left:1px solid var(--gold);padding-left:24px;margin-top:35px}
.courses{background:#050505}
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.course{min-height:320px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);padding:30px;display:flex;align-items:flex-end;background:#111}
.course img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.35) saturate(.7);transition:.5s transform,.5s filter}
.course:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(0,0,0,.88))}
.course:hover img{transform:scale(1.04);filter:brightness(.48) saturate(.85)}
.course div{position:relative;z-index:2} .course h3{font-size:1.6rem;margin:0 0 8px}
.course p{color:#bcb4aa;margin:0;line-height:1.5;font-size:.94rem}
.course .num{color:var(--gold2);font-size:.7rem;letter-spacing:.2em;margin-bottom:12px}
.structure{background:#090807}
.structure-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:48px}
.structure-grid img{width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(.72) sepia(.08);transition:.4s}
.bigpic{height:570px;overflow:hidden} .sidepics{display:grid;grid-template-rows:1fr 1fr;gap:18px;height:570px}
.pic{overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.07)} .pic:hover img{transform:scale(1.025)}
.caption{position:absolute;left:20px;bottom:18px;background:rgba(0,0,0,.65);padding:9px 12px;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#e6c486}
.band{padding:62px 28px;background:linear-gradient(90deg,#0a0805,#151007,#0a0805);border-top:1px solid rgba(213,154,57,.25);border-bottom:1px solid rgba(213,154,57,.25)}
.band .wrap{display:flex;justify-content:space-between;gap:35px;align-items:center}
.band strong{font-size:clamp(1.5rem,3vw,2.6rem);font-weight:500} .band span{color:#c2b8aa;max-width:520px;line-height:1.6}
.placeholder{background:#050505;text-align:center}
.cta{display:inline-block;margin-top:28px;border:1px solid var(--gold);padding:16px 22px;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;color:#f1d5a7}
.cta:hover{background:var(--gold);color:#090705}
footer{padding:45px 28px;text-align:center;color:#80786f;font-size:.78rem;border-top:1px solid rgba(255,255,255,.06)}
@media(max-width:900px){
.hero{min-height:auto;align-items:flex-start} .hero-art{width:100%;height:auto;min-height:0;object-fit:contain}
.hotspot{display:none} .mobile-bar{display:flex}
.section{padding:78px 20px} .essence-grid,.structure-grid{grid-template-columns:1fr;gap:35px}
.photo-frame{min-height:430px} .course-grid{grid-template-columns:1fr}
.bigpic,.sidepics{height:430px} .band .wrap{display:block} .band span{display:block;margin-top:20px}
}

.pg-topnav{
  position:fixed;
  top:0; left:0; right:0;
  z-index:50;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(to bottom,rgba(0,0,0,.72),rgba(0,0,0,.08),transparent);
  backdrop-filter:blur(2px);
}
.pg-topnav .inner{
  width:min(1180px,calc(100% - 44px));
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:34px;
}
.pg-topnav a{
  font-size:.74rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#efe9df;
  position:relative;
  padding:6px 0;
}
.pg-topnav a:after{
  content:"";
  position:absolute;
  left:0; right:100%; bottom:-6px;
  height:1px;
  background:var(--gold2);
  transition:.25s;
}
.pg-topnav a:hover:after{right:0}
.pg-topnav .active:after{right:0}
.pg-menu-btn{
  display:none;
  background:rgba(0,0,0,.65);
  border:1px solid rgba(213,154,57,.55);
  color:#fff;
  font-size:1.2rem;
  width:44px;height:44px;
}
@media(max-width:900px){
  .pg-topnav{height:46px}
  .pg-topnav .inner{justify-content:space-between;width:calc(100% - 28px)}
  .pg-topnav .links{
    display:none;
    position:absolute;
    top:46px;left:0;right:0;
    background:rgba(4,4,4,.96);
    padding:20px 24px 24px;
    border-top:1px solid rgba(255,255,255,.06);
    flex-direction:column;
    gap:18px;
  }
  .pg-topnav .links.open{display:flex}
  .pg-menu-btn{display:block;margin-left:auto}
}


.people{background:linear-gradient(180deg,#070706,#0c0906 55%,#070706)}
.people-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:46px;align-items:center}
.people-image{position:relative;overflow:hidden;min-height:660px;border:1px solid rgba(213,154,57,.18);box-shadow:0 35px 90px rgba(0,0,0,.5)}
.people-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(.75) sepia(.08)}
.people-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.6))}
.people-copy p{color:#bdb4a8;line-height:1.8;font-size:1.03rem}
.people-copy .names{font-size:1.05rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);margin-top:30px}
.gallery{background:#050505}
.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:46px}
.gallery-main,.gallery-side{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.07)}
.gallery-main{height:610px}.gallery-side{height:610px}
.gallery-main img,.gallery-side img{width:100%;height:100%;object-fit:cover;filter:brightness(.66) saturate(.72);transition:.45s}
.gallery-main:hover img,.gallery-side:hover img{transform:scale(1.02);filter:brightness(.76) saturate(.82)}
.gallery-label{position:absolute;left:22px;bottom:20px;z-index:2;background:rgba(0,0,0,.58);padding:10px 13px;color:#e4c38f;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
.testimonials{background:radial-gradient(circle at 15% 20%,rgba(213,154,57,.08),transparent 28%),#080706}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.testimonial{padding:28px;border:1px solid rgba(255,255,255,.07);background:#0d0c0b;min-height:220px}
.testimonial p{color:#c9c0b6;line-height:1.7;margin-top:0}.testimonial small{color:#8f877d;letter-spacing:.12em;text-transform:uppercase}
.contact-final{background:linear-gradient(180deg,#080706,#030303);text-align:center}
.contact-box{max-width:880px;margin:0 auto;padding:54px;border:1px solid rgba(213,154,57,.22);background:rgba(20,15,8,.38)}
.contact-data{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:30px;color:#d9d0c3}
.contact-data span{padding:10px 0}
.contact-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:26px}
.contact-actions a{display:inline-block;border:1px solid var(--gold);padding:15px 20px;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem}
.contact-actions a.primary{background:var(--gold);color:#090705}
@media(max-width:900px){
 .people-grid,.gallery-grid{grid-template-columns:1fr}
 .people-image{min-height:520px}
 .gallery-main,.gallery-side{height:440px}
 .testimonial-grid{grid-template-columns:1fr}
 .contact-box{padding:34px 20px}
}


/* Contact refinement — approved */
.contact-final{background:radial-gradient(circle at 18% 20%,rgba(213,154,57,.10),transparent 27%),linear-gradient(180deg,#0b0a09,#070707)}
.contact-box{max-width:1080px;margin:auto;padding:72px 64px;border:1px solid rgba(213,154,57,.22);background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.006));position:relative;overflow:hidden}
.contact-box:after{content:"";position:absolute;right:-80px;top:-100px;width:320px;height:320px;border:1px solid rgba(213,154,57,.12);border-radius:50%}
.contact-final h2{max-width:760px}.contact-final .lead{margin:0!important;max-width:680px}
.contact-data{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;margin:38px 0 30px}
.contact-item{padding:20px 18px;border-top:1px solid rgba(213,154,57,.35);background:rgba(255,255,255,.018)}
.contact-item small{display:block;color:#a99f91;text-transform:uppercase;letter-spacing:.16em;font-size:.62rem;margin-bottom:8px}
.contact-item strong{font-size:.96rem;font-weight:500;color:#eee7dc}
.contact-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.contact-actions a{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em}
.contact-actions .primary{display:inline-block;padding:15px 22px;border:1px solid #a77c39;color:#e8c681;background:rgba(213,154,57,.06)}
.contact-actions .phone-link{color:#c7bba9}


@media(max-width:760px){
 html,body{overflow-x:hidden}.pg-topnav{height:46px}.pg-topnav .inner{padding:0 14px}
 .pg-topnav .brand{font-size:.68rem;letter-spacing:.13em}.pg-menu-btn{display:block}.pg-topnav .links{top:46px}
 .hero{min-height:76svh}.hero-image{object-position:center center}.mobile-bar{display:flex}
 .section{padding:72px 20px}.wrap{width:100%}h2{font-size:clamp(2.15rem,11vw,3.45rem);line-height:.98}
 .lead{font-size:1rem;line-height:1.65}.essence-grid,.people-grid{grid-template-columns:1fr!important;gap:34px!important}
 .photo-frame,.people-image{min-height:390px!important}.course-grid,.structure-grid,.testimonials-grid{grid-template-columns:1fr!important}
 .course-card{min-height:430px}.gallery-grid{grid-template-columns:1fr!important}
 .contact-box{padding:46px 22px}.contact-data{grid-template-columns:1fr}.contact-item{padding:16px 4px}
 .contact-actions{align-items:flex-start;flex-direction:column;gap:18px}.contact-actions .primary{width:100%;text-align:center;padding:16px 18px}
 footer{padding:25px 18px;font-size:.62rem;line-height:1.6}
}
@media(max-width:430px){.section{padding:62px 17px}.hero{min-height:72svh}.mobile-bar{left:12px;right:12px;bottom:12px}
 .mobile-bar a{padding:10px 11px;font-size:.62rem}.photo-frame,.people-image{min-height:330px!important}.course-card{min-height:390px}}

a:focus-visible,button:focus-visible{outline:2px solid #d5a04d!important;outline-offset:3px}
