:root{--plum:#230625;--ink:#291a29;--cream:#f8f4ed;--paper:#fdfaf5;--gold:#e6c591;--muted:#635660;--line:#dcd0c5;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:1rem/1.65 system-ui,sans-serif}img{display:block;width:100%;height:auto}a{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.035em}h1{font-size:clamp(2.65rem,5.4vw,5.65rem)}h2{font-size:clamp(2.25rem,4.1vw,4.2rem)}h3{font-size:clamp(1.5rem,2.3vw,2.2rem)}p+p{margin-top:.85rem}.wrap{width:min(1200px,calc(100% - 3.5rem));margin-inline:auto}.narrow{max-width:760px}.dark{background:var(--plum);color:var(--cream)}.eyebrow{display:flex;align-items:center;gap:.75rem;font-size:.73rem;font-weight:650;letter-spacing:.16em;text-transform:uppercase;color:#65472e}.eyebrow::before{content:'';display:block;width:26px;border-top:1px solid currentColor}.dark .eyebrow{color:var(--gold)}.eyebrow+h1,.eyebrow+h2{margin-top:1rem}.lead{max-width:42ch;font-size:clamp(1rem,1.65vw,1.2rem);color:var(--muted)}.dark .lead{color:#e5d8e1}.button{display:inline-flex;align-items:center;gap:1.25rem;min-height:48px;padding:.7rem 1.15rem;text-decoration:none;background:var(--plum);color:var(--cream);font-weight:650;font-size:.9rem;border:1px solid transparent;border-radius:3px}.button:hover{background:#512749}.dark .button{background:var(--gold);color:var(--plum)}.dark .button:hover{background:#f3dbb6}.button span{font-size:1.15em}a:focus-visible,summary:focus-visible{outline:2px solid #a16a32;outline-offset:4px}.dark a:focus-visible{outline-color:var(--gold)}.skip{position:absolute;left:1rem;top:-100px;z-index:5}.skip:focus{top:1rem}
header{border-bottom:1px solid #fff2}.header-row{display:flex;min-height:93px;align-items:center;justify-content:space-between;gap:1.5rem}.logo{width:140px;flex:none}.nav{display:flex;gap:clamp(.65rem,2vw,1.7rem);align-items:center;flex-wrap:wrap}.nav a{font-size:.88rem;text-decoration:none;padding:.25rem 0;border-bottom:1px solid transparent}.nav a:hover,.nav [aria-current]{border-color:var(--gold);color:var(--gold)}
.hero{padding-block:clamp(2.7rem,7vw,6.5rem);background:radial-gradient(ellipse at 75% 40%,#371038 0%,var(--plum) 58%)}.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:clamp(2rem,5vw,5rem)}.hero .lead{margin:1.4rem 0 1.7rem}.hero figure{position:relative;padding:0 10px 10px 0}.hero figure::before{content:'';position:absolute;inset:10px 0 0 10px;border:1px solid #e6c59180;border-radius:2px}.hero img{position:relative;aspect-ratio:1.07;object-fit:cover;object-position:63% 50%;border-radius:2px}
.band{padding-block:clamp(3.4rem,8vw,7rem)}.light{background:var(--paper)}.section-intro>p:last-child{margin-top:1rem}.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}.trio article{border-top:1px solid var(--line);padding:1.2rem 0}.trio .number{font-size:.76rem;color:#765739;letter-spacing:.12em}.trio h3{margin:.65rem 0}.trio p,.bodycopy{color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,6vw,5.5rem)}.split img{object-fit:cover;aspect-ratio:1.35;border-radius:3px}.portrait img{aspect-ratio:auto;object-fit:contain}.split h2+p,.split h3+p,.page-intro h1+p{margin-top:1rem}.split .button,.page-intro .button{margin-top:1.25rem}.text-link{display:inline-block;margin-top:1.25rem;text-underline-offset:.3em;font-weight:650}.contact{border-top:1px solid #fff2}.contact .lead{margin:1rem auto 1.5rem}.center{text-align:center}.center .eyebrow{justify-content:center}.faq{margin-top:1.75rem}details{border-bottom:1px solid var(--line);padding:.9rem 0}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-weight:650}details p{padding:.65rem 0 .2rem;color:var(--muted)}.page-intro{padding-block:clamp(3rem,8vw,7rem)}.page-intro h1{max-width:13ch}.modality+.modality{border-top:1px solid var(--line)}.modality h2{font-size:clamp(2.1rem,3.9vw,3.6rem)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.formats-intro{padding-top:clamp(3.4rem,7vw,6rem)}.first-modality{padding-top:clamp(1.7rem,4vw,3rem)}.modality h3{font-size:clamp(2rem,3.5vw,3.45rem);margin-top:.65rem}

.hero h1{font-size:clamp(2.35rem,4.8vw,5rem)}

/* Cabeçalho visível durante a rolagem, com espaço para as âncoras. */
html{scroll-padding-top:110px}
body>header{position:sticky;top:0;z-index:10}
.skip:focus{position:fixed;z-index:11}

body{min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1}
.inner-title{font-size:clamp(2.25rem,4.1vw,4.2rem)}
.split .inner-title+p{margin-top:1rem}
.site-footer{border-top:1px solid #fff2;padding-block:2rem;font-size:.9rem;color:#e5d8e1}
.foot{display:grid;grid-template-columns:1.4fr 1fr auto;gap:1.5rem 2rem;text-align:left}
.foot-title{font-weight:650;color:var(--gold);margin-bottom:.35rem}
.foot ul{margin:0;padding:0;list-style:none}
.foot a{display:inline-block;padding-block:.25rem;text-underline-offset:.22em;overflow-wrap:anywhere}
.foot a:hover{color:var(--gold)}
.foot-socials{display:flex;flex-wrap:wrap;gap:.5rem}
@media(max-width:880px){.foot{grid-template-columns:1fr}}

.site-footer address,.contact-address address{font-style:normal}
.foot .social-button{display:inline-grid;place-items:center start;width:44px;height:44px;padding:0;color:var(--gold)}
.foot .social-button:hover{color:var(--cream)}
.contact-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem}
.contact-address{margin-top:2rem}
.contact-address h2{font-size:clamp(1.45rem,3vw,2rem);margin-bottom:.5rem}

.menu-toggle { display: none; }
@media (max-width: 760px) {
  html { scroll-padding-top: 76px; }
  .wrap { width: min(100% - 2rem, 35rem); }
  .header-row {
    position: relative;
    min-height: 64px;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    padding-block: .375rem;
  }
  .logo { width: 104px; }
  .nav { flex-basis: 100%; gap: .25rem 1rem; }
  .nav a { display: flex; align-items: center; min-height: 44px; }
  .menu-ready .menu-toggle {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 3px;
    background: transparent;
    color: var(--gold);
    font: inherit;
    cursor: pointer;
  }
  .menu-toggle:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
  .menu-ready .nav {
    position: absolute;
    inset: 100% 0 auto;
    display: grid;
    gap: 0;
    max-height: calc(100vh - 76px);
    max-height: calc(100dvh - 76px);
    overflow: auto;
    padding: .35rem .8rem;
    background: var(--plum);
    border: 1px solid #e6c59180;
    border-radius: 3px;
    box-shadow: 0 .65rem 1.5rem #0004;
  }
  .menu-ready .menu-toggle[aria-expanded="false"] + .nav { display: none; }
  .menu-ready .nav a + a { border-top: 1px solid #fff2; }

  .hero, .band { padding-block: 2.5rem; }
  .hero-grid, .split, .trio { grid-template-columns: minmax(0, 1fr); }
  .hero-grid, .split { gap: 1.5rem; }
  .hero h1 { font-size: clamp(1.95rem, 8vw, 3.15rem); }
  h2, .inner-title { font-size: clamp(1.8rem, 7vw, 2.55rem); }
  .modality h3 { font-size: clamp(1.65rem, 6vw, 2.2rem); }
  .hero .lead { margin-block: 1rem 1.25rem; }
  .hero img { aspect-ratio: 1.45; }
  .formats-intro { padding-top: 2.5rem; }
  .first-modality { padding-top: 1.5rem; }
  .modality .split img { order: 2; }
  .portrait img { width: min(100%, 21rem); justify-self: center; }
  .trio { gap: .25rem; margin-top: 1.4rem; }
  .trio article { padding-block: 1rem; }
  .button { max-width: 100%; gap: .75rem; overflow-wrap: anywhere; }
  .contact-actions { flex-direction: column; align-items: center; }
  .contact-actions .button { justify-content: center; }
  .foot { gap: .85rem; }
  .foot > * + * { padding-top: .85rem; border-top: 1px solid #fff2; }
}
