/* BALDRAM v5 — sections */
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:smooth; } }

.hero{ position:relative; z-index:2; min-height:100svh; padding:calc(var(--nav-h) + clamp(1.5rem,4vh,3rem)) var(--gx) clamp(1.2rem,3vh,2rem);
  display:flex; flex-direction:column; }

.hero__meta{ display:flex; justify-content:space-between; align-items:baseline; color:var(--ink-1); }

.hero__meta b{ font-family:var(--font-display); font-style:italic; color:var(--accent); font-weight:400; font-size:1rem; letter-spacing:0; }

.hero__wm{ font-family:var(--font-display); font-weight:400; text-transform:uppercase; line-height:.8; letter-spacing:.005em;
  font-size:clamp(4rem, 17.5vw, 18rem); margin:clamp(.4rem,2vh,1.5rem) 0 0; }

.hero__wm .ln{ display:block; overflow:hidden; }

.hero__sub{ margin-top:clamp(.6rem,1.5vh,1.2rem); color:var(--accent); }

.hero__body{ display:grid; gap:clamp(1.5rem,3vw,3rem); align-items:end; margin-top:auto; padding-top:clamp(1.5rem,4vh,3rem); }

@media (min-width:880px){ .hero__body{ grid-template-columns:1.05fr .95fr; } }

.hero__statement{ font-family:var(--font-display); font-weight:400; font-size:clamp(1.7rem,1rem + 2.2vw,3rem); line-height:1.04; max-width:18ch; }

.hero__statement em{ font-style:italic; color:var(--accent); }

.hero__lede{ margin-top:1.2rem; max-width:42ch; color:var(--ink-1); font-size:1rem; }

.hero__plate{ position:relative; aspect-ratio:5/4; border:1px solid var(--ink); overflow:hidden; }

.hero__plate img{ transform:scale(1.04); }

.hero__plate figcaption{ position:absolute; left:0; bottom:0; padding:.7em 1em; background:var(--paper-0); border-top:1px solid var(--ink); border-right:1px solid var(--ink); color:var(--ink); }

.hero__foot{ display:flex; justify-content:space-between; align-items:center; margin-top:clamp(1rem,2.5vh,1.8rem); padding-top:1rem; border-top:1px solid var(--rule); color:var(--ink-1); }

.hero__scroll{ display:inline-flex; align-items:center; gap:.6rem; }

.hero__scroll i{ width:34px; height:1px; background:var(--ink-1); position:relative; overflow:hidden; }

.hero__scroll i::after{ content:""; position:absolute; inset:0; background:var(--accent); transform:translateX(-100%); animation:sl 2.2s var(--ease) infinite; }

.mq2 { border-block:1px solid var(--ink); overflow:hidden; white-space:nowrap; padding:1.1rem 0; }

.mq2__t { display:inline-flex; gap:2.5rem; will-change:transform; }

.mq2__t span { font-family:var(--font-display); text-transform:uppercase; font-size:clamp(1.4rem,2.4vw,2.4rem); display:inline-flex; align-items:center; gap:2.5rem; letter-spacing:.02em; }

.mq2__t span::after { content:"✦"; color:var(--accent); font-size:.45em; }

.intro__grid { display:grid; gap:clamp(2rem,5vw,4.5rem); }

@media (min-width:900px){ .intro__grid{ grid-template-columns:.85fr 1.15fr; align-items:start; } }

.intro__plate { aspect-ratio:4/5; }

@media (min-width:900px){ .intro__plate{ position:sticky; top:14vh; } }

.intro__beats { display:flex; flex-direction:column; gap:clamp(1.6rem,4vw,3rem); }

.intro__p { font-size:clamp(1.05rem,1.4vw,1.3rem); max-width:46ch; }

.beat2 { display:flex; flex-direction:column; gap:.7rem; padding-top:1.4rem; border-top:1px solid var(--rule); }

.beat2 .mono { color:var(--accent); }

.beat2 p { max-width:46ch; color:var(--ink-1); }

.beat2__big { font-family:var(--font-display); font-size:clamp(1.6rem,3vw,2.6rem)!important; line-height:1.08; color:var(--ink)!important; max-width:18ch!important; }

.club { background:var(--ink); color:var(--paper-0); display:grid; }

@media (min-width:900px){ .club{ grid-template-columns:1fr 1fr; } }

.club__in { padding:clamp(4rem,9vh,8rem) var(--gx); display:flex; flex-direction:column; gap:1.3rem; align-items:flex-start; justify-content:center; }

.club__in .mono { color:var(--paper-0); opacity:.55; }

.club__h { font-family:var(--font-display); font-weight:400; font-size:clamp(2.2rem,1rem + 4vw,5rem); line-height:1; max-width:14ch; }

.club__h em { font-style:italic; color:var(--accent); }

.club__p { max-width:42ch; color:rgba(244,238,227,.78); }

.club__b { list-style:none; margin:.4rem 0 1rem; padding:0; display:flex; flex-direction:column; gap:.9rem; width:100%; max-width:40rem; }

.club__b li { display:flex; gap:1rem; align-items:baseline; padding-bottom:.9rem; border-bottom:1px solid rgba(244,238,227,.16); }

.club__b .mono { color:var(--accent); }

.club__media { position:relative; min-height:52vh; }

.club__media img { filter:saturate(.95); }

.phil2__lead { font-family:var(--font-display); font-weight:400; font-size:clamp(2.2rem,1rem + 4.4vw,5.5rem); line-height:1; letter-spacing:-.01em; max-width:18ch; margin:1.2rem 0 clamp(2rem,5vw,3.5rem); }

.phil2__lead em { font-style:italic; color:var(--accent); }

.phil2__grid { display:grid; gap:clamp(2rem,5vw,4rem); }

@media (min-width:900px){ .phil2__grid{ grid-template-columns:1fr 1fr; align-items:start; } }

.phil2__body { font-size:clamp(1.05rem,1.4vw,1.3rem); line-height:1.6; max-width:48ch; color:var(--ink-1); }

.phil2__img { aspect-ratio:16/10; }

.gal2 { height:100svh; overflow:hidden; }

.gal2__head { position:absolute; top:clamp(5rem,12vh,8rem); left:var(--gx); z-index:3; margin:0; max-width:26rem; }

.gal2__track { display:flex; height:100%; align-items:center; gap:clamp(1.5rem,3vw,3rem); padding-inline:var(--gx); will-change:transform; }

.gal2__intro { flex:0 0 auto; width:clamp(40vw,46vw,32rem); }

.gal2__item { flex:0 0 auto; position:relative; width:clamp(260px,28vw,420px); height:62vh; border:1px solid var(--ink); overflow:hidden; background:var(--paper-1); }

.gal2__item img { transition:transform 1s var(--ease); }

.gal2__item:hover img { transform:scale(1.05); }

.gal2__n { position:absolute; top:.8rem; left:.9rem; color:#fff; mix-blend-mode:difference; }

.gal2__item figcaption { position:absolute; left:0; bottom:0; padding:.5em .9em; background:var(--paper-0); border-top:1px solid var(--ink); border-right:1px solid var(--ink); color:var(--ink); }

@media (hover:none){ .gal2{ height:auto; padding:9rem 0 3rem; } .gal2__track{ overflow-x:auto; scroll-snap-type:x mandatory; } .gal2__item{ scroll-snap-align:center; } }

.un__g { display:grid; gap:clamp(2rem,4vw,3rem); }

@media (min-width:820px){ .un__g{ grid-template-columns:1fr 1fr; } }

.un__plate { aspect-ratio:4/3; }

.un__b { display:flex; flex-direction:column; gap:.6rem; align-items:flex-start; padding-top:1.4rem; }

.un__b .mono.accent { color:var(--accent); }

.un__n { font-family:var(--font-display); font-weight:400; font-size:clamp(2rem,4vw,3.4rem); line-height:1; }

.un__b p { max-width:38ch; color:var(--ink-1); }

.un__a { display:flex; gap:1.5rem; margin-top:.6rem; }

.un__a a { font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; border-bottom:1px solid var(--rule); padding-bottom:.2em; transition:border-color .4s, color .4s; }

.un__a a:hover { border-color:var(--accent); color:var(--accent); }

.bg { height:100svh; overflow:hidden; }

.bg__head { position:absolute; top:clamp(5rem,12vh,8rem); left:var(--gx); z-index:3; margin:0; max-width:30rem; }

.bg__hint { color:var(--accent); margin-top:.4rem; }

.bg__track { display:flex; height:100%; align-items:center; gap:clamp(1.5rem,3vw,3rem); padding-inline:var(--gx); will-change:transform; }

.bg__intro { flex:0 0 auto; width:clamp(42vw,48vw,34rem); }

.bg__item { flex:0 0 auto; width:clamp(280px,30vw,420px); }

.bg__media { aspect-ratio:4/5; }

.bg__cap { display:flex; align-items:baseline; gap:1rem; margin-top:1.1rem; }

.bg__n { color:var(--accent); }

.bg__name { font-family:var(--font-display); font-weight:400; font-size:clamp(1.4rem,2vw,2rem); }

.bg__role { margin-left:auto; color:var(--ink-1); }

@media (hover:none){ .bg{ height:auto; padding:11rem 0 3rem; } .bg__track{ overflow-x:auto; scroll-snap-type:x mandatory; } .bg__item{ scroll-snap-align:center; } }

.end { padding:clamp(6rem,16vh,12rem) var(--gx); text-align:center; display:flex; flex-direction:column; align-items:center; gap:1.4rem; }

.end .mono { color:var(--ink-1); max-width:42ch; }

.end__h { font-family:var(--font-display); font-weight:400; font-size:clamp(3.5rem,2rem + 9vw,13rem); line-height:.9; letter-spacing:-.01em; }

.end__h em { font-style:italic; color:var(--accent); }

.end__a { display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; margin-top:1rem; }

.ft { border-top:1px solid var(--ink); padding:clamp(3rem,6vw,5rem) var(--gx) 2rem; }

.ft__wm { width:min(74%,340px); aspect-ratio:2072/626; margin:0 auto; background:currentColor;
  -webkit-mask:url(/assets/logos/01.svg) center/contain no-repeat; mask:url(/assets/logos/01.svg) center/contain no-repeat; }

.ft__cols { display:grid; gap:2rem; margin:clamp(2rem,5vw,4rem) 0; }

@media (min-width:760px){ .ft__cols{ grid-template-columns:repeat(3,1fr); } }

.ft__col { display:flex; flex-direction:column; gap:.55rem; align-items:flex-start; }

.ft__col .mono { color:var(--ink-1); margin-bottom:.4rem; }

.ft__col a:hover { color:var(--accent); }

.ft__tag p { font-family:var(--font-display); font-size:clamp(1.2rem,2vw,1.8rem); max-width:20ch; }

.ft__b { display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding-top:1.4rem; border-top:1px solid var(--rule); color:var(--ink-1); }

.fill { height:100svh; display:flex; align-items:center; }

.fill__in { width:100%; padding:0 var(--gx); display:flex; flex-direction:column; gap:clamp(1.4rem,4vh,2.6rem); }

.fill__lab { color:var(--ink-1); }

.fill__t { font-family:var(--font-display); font-weight:400; font-size:clamp(2.4rem,1rem + 5.5vw,7rem); line-height:1.0; letter-spacing:-.01em; max-width:20ch; margin:0; }

.fill__t .w { color:rgba(22,36,30,.17); transition:color .35s var(--ease); }

.fill__t .w.on { color:var(--ink); }

.fill__t .w.accent.on { color:var(--accent); }

.fill__prog { color:var(--ink-1); }

.gal2__head, .bg__head {
  position:static; flex:0 0 auto; align-self:center; z-index:auto;
  width:clamp(18rem,42vw,38rem); max-width:none; margin:0;
  display:flex; flex-direction:column; gap:1rem;
}

.gal2 .bg__hint, .bg .bg__hint { color:var(--accent); margin-top:.3rem; }

.club__media { overflow:hidden; }

.hero__wm { position:relative; z-index:2; }

.hero__body { position:relative; z-index:3; }

.hero__plate { position:relative; z-index:3; backface-visibility:hidden; }

.club { background:var(--bordo-d); }

.club__media img { filter:saturate(.92) brightness(.96); }

.hero { min-height:100svh; display:flex; flex-direction:column;
  padding:calc(var(--nav-h) + clamp(1rem,3vh,2rem)) var(--gx) clamp(1.2rem,3vh,2rem); }

.hero__top { display:flex; justify-content:space-between; align-items:baseline; color:var(--ink-1); }

.hero__wm { font-family:var(--font-display); font-weight:400; text-transform:uppercase; line-height:.8; letter-spacing:.01em;
  font-size:clamp(4rem, 16vw, 16rem); margin:clamp(.4rem,1.5vh,1rem) 0 clamp(1.2rem,3vh,2rem); }

.hero__wm .ln { display:block; overflow:hidden; }

.hero__wm .ln-i { display:block; }

.hero__grid { flex:1; min-height:0; display:grid; gap:clamp(1.4rem,3vw,2.6rem); }

@media (min-width:900px){ .hero__grid{ grid-template-columns:1.55fr 1fr; align-items:stretch; } }

.hero__photo { position:relative; overflow:hidden; border:1px solid var(--ink); min-height:40vh; }

.hero__photo img { width:100%; height:100%; object-fit:cover; transform:scale(1.03); }

.hero__photo figcaption { position:absolute; left:0; bottom:0; padding:.55em 1em; background:var(--paper-0);
  border-top:1px solid var(--ink); border-right:1px solid var(--ink); color:var(--ink); }

.hero__side { display:flex; flex-direction:column; justify-content:flex-end; gap:1.1rem; }

.hero__sub { color:var(--accent); }

.hero__statement { font-family:var(--font-display); font-weight:400; font-size:clamp(1.7rem,1rem + 2.2vw,3.2rem); line-height:1.05; letter-spacing:-.01em; max-width:16ch; }

.hero__statement em { font-style:italic; color:var(--accent); }

.hero__lede { max-width:38ch; color:var(--ink-1); font-size:.98rem; }

.hero__cta { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-top:.4rem; padding-top:1.1rem; border-top:1px solid var(--rule); }

.hero__scroll { display:inline-flex; align-items:center; gap:.6rem; color:var(--ink-1); }

.hero__scroll i { width:34px; height:1px; background:var(--ink-1); position:relative; overflow:hidden; }

.hero__scroll i::after { content:""; position:absolute; inset:0; background:var(--accent); transform:translateX(-100%); animation:sl 2.2s var(--ease) infinite; }

.hero__wm { position:relative; z-index:3; margin-bottom:clamp(-1rem, -3.5vh, -4rem); }

.hero__grid { position:relative; z-index:1; }

.hero__photo { margin-top:.2rem; }

.stack { position:sticky; top:0; min-height:100svh; will-change:transform; }

.fill.stack, .end.stack { background:var(--paper-0); }

.end.stack { display:flex; flex-direction:column; align-items:center; justify-content:center; }

.stack { overflow:hidden; }

.stack-wrap { position:relative; }

.stack-wrap > .club { position:sticky; top:0; min-height:100svh; z-index:1; }

.fill { position:relative; z-index:2; background:var(--paper-0); overflow:hidden; }

.stack { position:static !important; min-height:0 !important; overflow:visible !important; }

.hero--fb { position:relative; height:100svh; overflow:hidden; background:#16241E; color:var(--paper-0); padding:0; display:block; }

.hero__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }

.hero__scrim { position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(60% 55% at 50% 46%, rgba(12,18,15,.55) 0%, rgba(12,18,15,0) 70%),
    linear-gradient(180deg, rgba(12,18,15,.55) 0%, rgba(12,18,15,.16) 34%, rgba(12,18,15,.84) 100%); }

/* Símbolo (monograma PB) 3D — destaque central do hero; texto no lugar original */
.hero--3d .hero__fb { justify-content:center; gap:clamp(1rem,3vh,2.4rem); }
.hero__c3d { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:min(94vw,820px); height:clamp(340px,60vh,640px);
  opacity:0; transition:opacity 1.2s var(--ease); z-index:1; pointer-events:none;
  filter:drop-shadow(0 30px 70px rgba(0,0,0,.55)); }
/* texto no centro vertical (como o hero original), ladeando o B */
.hero--3d .hero__fb { justify-content:center; }
.hero--3d .hero__fbfoot { position:relative; z-index:2; margin:0; }
.hero__c3d[data-ready] { opacity:1; }
.hero__c3d canvas { width:100% !important; height:100% !important; }

/* Palco 3D — navalha cinematográfica ao fundo, bem escurecida, com brilho
   central que descola o B do fundo movimentado (mais impacto). */
.hero--3d { background:#0b120e; }
.hero--3d .hero__bg { filter:brightness(.7) saturate(.9) contrast(1.05); }
.hero--3d .hero__scrim { background:
  radial-gradient(42% 42% at 50% 43%, rgba(26,44,34,.5) 0%, rgba(8,12,9,0) 60%),
  radial-gradient(125% 105% at 50% 50%, rgba(6,10,8,.35) 34%, rgba(6,10,8,.86) 100%),
  linear-gradient(180deg, rgba(6,10,8,.72) 0%, rgba(6,10,8,.28) 30%, rgba(6,10,8,.92) 100%); }

.hero--fb .hero__fb { position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:space-between;
  padding:calc(var(--nav-h) + clamp(1rem,3vh,2rem)) var(--gx) clamp(1.4rem,3vh,2.4rem); }

.hero--fb .hero__top { color:rgba(244,238,227,.72); }

.hero--fb .hero__wm { color:var(--paper-0); margin:auto 0; }

.hero--fb .hero__fbfoot { display:flex; justify-content:space-between; align-items:center; gap:2rem; flex-wrap:wrap;
  padding-top:1.1rem; border-top:1px solid rgba(244,238,227,.18); }

.hero--fb .hero__sub { color:var(--accent); }

.hero--fb .hero__statement { font-family:var(--font-display); font-weight:400; color:var(--paper-0); font-size:clamp(1.6rem,1rem + 2vw,2.8rem); line-height:1.05; max-width:18ch; margin-top:.6rem; }

.hero--fb .hero__statement em { color:var(--paper-0); font-style:italic; }

.hero--fb .hero__scroll { display:inline-flex; align-items:center; gap:.6rem; color:rgba(244,238,227,.6); }

.hero--fb .hero__scroll i { width:34px; height:1px; background:rgba(244,238,227,.4); position:relative; overflow:hidden; }

.hero--fb .hero__scroll i::after { content:""; position:absolute; inset:0; background:var(--accent); transform:translateX(-100%); animation:sl 2.2s var(--ease) infinite; }

.tst2 { position:relative; background:var(--ink); }

.tst2__bg { position:absolute; inset:0; }

.tst2__bg img { width:100%; height:100%; object-fit:cover; }

.tst2__meta { position:absolute; inset:0; z-index:2; padding:calc(var(--nav-h) + 1.4rem) var(--gx); display:flex; justify-content:space-between; align-items:flex-start; color:rgba(244,238,227,.8); pointer-events:none; }

.tst2__ml { line-height:1.5; }

.tst2__mr { font-size:1rem; letter-spacing:.1em; }

.tst2__cards { position:relative; z-index:3; max-width:600px; margin:-100svh auto 0; padding:0 var(--gx) 24vh; }

.tst2__card { position:sticky; top:calc(22vh + var(--i) * 20px); margin-bottom:46vh; }

.tst2__card:last-child { margin-bottom:0; }

.tst2__inner { background:var(--paper-0); color:var(--ink); border-radius:16px; padding:clamp(2rem,1.4rem + 2.5vw,3.2rem); box-shadow:0 40px 90px -40px rgba(0,0,0,.6); }

.tst2__stars { color:var(--accent); letter-spacing:.25em; font-size:.85rem; }

.tst2__quote { font-family:var(--font-display); font-weight:400; font-size:clamp(1.45rem,1rem + 1.9vw,2.35rem); line-height:1.2; margin:1rem 0 1.6rem; }

.tst2__by { display:flex; flex-direction:column; gap:.15rem; }

.tst2__by b { font-weight:600; }

.tst2__by .mono { color:var(--accent); }

@media (max-width:640px){ .tst2__mr{ display:none; } }

.svc { background:var(--ink); color:var(--paper-0); padding:clamp(4rem,9vh,7rem) var(--gx) clamp(4rem,8vh,6rem); }

.svc__head { margin-bottom:clamp(2rem,5vh,3.5rem); }

.svc__head .mono { color:var(--accent); }

.svc__h { font-family:var(--font-display); font-weight:400; color:var(--paper-0); font-size:clamp(2.4rem,1rem + 5vw,6rem); line-height:1; margin-top:.4rem; }

.svc__h em { font-style:italic; color:var(--accent); }

.svc__stage { display:grid; grid-template-columns:1fr minmax(190px,.66fr) 1fr; gap:clamp(1rem,3vw,3rem); align-items:start; }

.svc__list { list-style:none; margin:0; padding:0; }

.svc__row { min-height:40vh; display:flex; gap:1.1rem; align-items:center; border-top:1px solid rgba(244,238,227,.14); opacity:.38; transition:opacity .5s var(--ease); }

.svc__row.is-active { opacity:1; }

.svc__n { color:var(--accent); padding-top:.25rem; flex:none; }

.svc__name { font-family:var(--font-display); font-weight:400; font-size:clamp(1.5rem,1rem + 1.8vw,2.6rem); line-height:1.05; }

.svc__d { color:rgba(244,238,227,.62); max-width:32ch; margin-top:.5rem; }

.svc__rot { position:sticky; top:0; height:100svh; display:grid; place-items:center; pointer-events:none; }

.svc__rot img { width:100%; max-width:440px; aspect-ratio:1; object-fit:contain; filter:drop-shadow(0 30px 60px rgba(0,0,0,.45)); }

.svc__media { display:grid; grid-auto-rows:40vh; }

.svc__fig { height:32vh; align-self:center; overflow:hidden; opacity:.62; transition:opacity .5s var(--ease), transform .5s var(--ease); box-shadow:0 26px 64px -28px rgba(0,0,0,.75); outline:1px solid rgba(244,238,227,.09); outline-offset:-1px; }

.svc__fig.is-active { opacity:1; }

.svc__fig img { width:100%; height:100%; object-fit:cover; }

.svc__cta { margin-top:clamp(2.5rem,6vh,4rem); }

@media (max-width:900px){
  .svc__stage { grid-template-columns:1fr; gap:1rem; }
  .svc__rot { display:none; }
  .svc__row { min-height:0; padding:1.5rem 0; }
  .svc__fig { height:30vh; margin-bottom:1rem; }
}

.tst2 { position:relative; height:100svh; overflow:hidden; background:var(--ink); }

.tst2__bg { position:absolute; inset:0; z-index:0; height:auto; }

.tst2__bg img { width:100%; height:100%; object-fit:cover; }

.tst2__bg::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(12,18,15,.5), rgba(12,18,15,.72)); }

.tst2__meta { position:absolute; inset:0; z-index:2; padding:calc(var(--nav-h) + 1.4rem) var(--gx); display:flex; justify-content:space-between; align-items:flex-start; color:rgba(244,238,227,.8); pointer-events:none; }

.tst2__cards { position:absolute; inset:0; z-index:3; display:grid; place-items:center; padding:var(--gx); margin:0; max-width:none; }

.tst2__card { position:relative; grid-area:1/1; top:auto; width:min(560px,90vw); margin:0; will-change:transform; }

.tst2__inner { background:var(--paper-0); color:var(--ink); border-radius:0; padding:clamp(2rem,1.4rem + 2.5vw,3.4rem); box-shadow:0 40px 90px -40px rgba(0,0,0,.65); }

.hero--fb .hero__fbfoot { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding-top:0; border-top:none; }

.hero--fb .hero__statement { font-family:var(--font-display); font-weight:400; color:var(--paper-0); font-size:clamp(1.5rem,1rem + 2.3vw,3rem); line-height:1.02; max-width:none; margin:0; }

.hero--fb .hero__statement--r { text-align:right; }

.hero--fb .hero__statement em { color:var(--paper-0); font-style:italic; }

.hero__fbbar { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:1.5rem; margin-top:1.1rem; padding-top:1.1rem; border-top:1px solid rgba(244,238,227,.18); }

.hero--fb .hero__fbbar .hero__sub { color:var(--accent); }

.hero--fb .hero__wm { transform-origin:50% 50%; will-change:transform; }

.hero__sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }


.svc__canvas { width:100%; height:100%; }

.svc__rot { overflow:hidden; }

.svc__canvas canvas { width:100% !important; height:100% !important; display:block; }

.svc { transition: background-color .7s var(--ease); }

.svc__fig img { transition: transform .7s var(--ease), opacity .5s var(--ease); }

.svc__fig.is-active img { transform: scale(1.06); }

.svc__row { border-top:none !important; }

.svc__stage { background-image:repeating-linear-gradient(to bottom, rgba(244,238,227,.14) 0, rgba(244,238,227,.14) 1px, transparent 1px, transparent 40vh); }

.un__g { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); margin-top:clamp(2.5rem,6vh,4.5rem); }

.un__c { display:block; }

.un__plate { margin:0; overflow:hidden; aspect-ratio:4/3; background:rgba(22,36,30,.06); }

.un__plate img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .9s var(--ease); }

.un__c:hover .un__plate img { transform:scale(1.045); }

.un__head { display:flex; align-items:baseline; gap:.9rem; border-top:1px solid rgba(22,36,30,.16); padding-top:1.1rem; margin-top:1.3rem; }

.un__i { color:var(--accent); }

.un__n { font-family:var(--font-display); font-weight:400; font-size:clamp(2rem,1rem + 3vw,3.4rem); line-height:1; }

.un__loc { color:var(--accent); margin-top:.5rem; }

.un__d { color:rgba(22,36,30,.66); max-width:34ch; margin-top:.7rem; }

.un__a { display:flex; gap:1.6rem; align-items:center; margin-top:1.5rem; }

.un__link { display:inline-flex; align-items:center; gap:.45rem; border-bottom:1px solid var(--ink); padding-bottom:.2rem; transition:gap .3s, color .3s, border-color .3s; }

.un__link span { transition:transform .35s var(--ease); }

.un__link:hover span { transform:translateX(5px); }

.un__link--ghost { border-bottom-color:rgba(22,36,30,.25); color:rgba(22,36,30,.7); }

.un__link--ghost:hover { color:var(--ink); border-bottom-color:var(--ink); }

@media (max-width:760px){ .un__g{ grid-template-columns:1fr; gap:3rem; } }

.end { position:relative; min-height:86svh; display:grid; place-items:center; overflow:hidden; text-align:center; color:var(--paper-0); padding:clamp(4rem,12vh,9rem) var(--gx); }

.end__bg { position:absolute; inset:0; z-index:0; }

.end__bg img { width:100%; height:100%; object-fit:cover; }

.end__bg::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(52,9,23,.84) 0%, rgba(30,6,14,.95) 100%); }

.end__c { position:relative; z-index:2; max-width:64ch; }

.end__k { color:var(--accent); }

.end__h { font-family:var(--font-display); font-weight:400; color:var(--paper-0); font-size:clamp(2.6rem,1rem + 6vw,7rem); line-height:1; margin:1.1rem 0; }

.end__h em { font-style:italic; color:var(--accent); }

.end__p { color:rgba(244,238,227,.76); max-width:48ch; margin:0 auto 2.2rem; }

.end__a { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

.un__g { align-items:start; }

.un__n { margin:0; }

.un__plate { aspect-ratio:3/2; }

.un__g { max-width:1440px; margin-left:auto; margin-right:auto; }

/* (old crossfade .tst2__card opacity/is-on rules removed — the deck below owns the cards) */

.tst2__nav { position:absolute; left:0; right:0; bottom:clamp(1.6rem,5vh,3.4rem); z-index:4;
  display:flex; gap:.4rem; justify-content:center; }

.tst2__dot { width:34px; height:34px; display:grid; place-items:center; border:0;
  background:transparent; cursor:pointer; padding:0; }

.tst2__dot::before { content:""; width:7px; height:7px; border-radius:50%;
  background:rgba(244,238,227,.38); transition:background .3s, transform .3s; }

.tst2__dot.is-on::before { background:var(--accent); transform:scale(1.45); }

.tst2__dot:hover::before { background:rgba(244,238,227,.7); }


/* Scissors CANVAS as a fixed centred overlay so it stays at viewport centre for every
   service (first → last). .svc__rot stays IN the grid (reserves the empty middle column
   so the media photos keep their right column); only the canvas floats fixed. The fixed
   explicit size also kills the WebGL canvas ballooning. */
.svc__rot { overflow:visible; }
.svc__canvas { position:fixed; top:0; left:50%; transform:translateX(-50%);
  width:clamp(240px,29vw,432px); height:100svh; opacity:0; transition:opacity .5s var(--ease); z-index:2; pointer-events:none; }
.svc__canvas.is-on { opacity:1; }
@media (max-width:900px){ .svc__canvas { display:none; } }

/* Serviços — refined row diagramação (number as a top index, bigger name, more air)
   + extra active/hover highlight (slide right + terracota arrow slides in) */
.svc__row { display:grid; grid-template-columns:clamp(2rem,4vw,3.4rem) 1fr;
  column-gap:clamp(1.2rem,2.6vw,2.8rem); align-items:start;
  transition:opacity .5s var(--ease), transform .55s var(--ease); }
.svc__n { align-self:start; padding-top:clamp(.35rem,.7vw,.7rem); transition:color .4s; }
.svc__name { font-family:var(--font-display); font-weight:400; line-height:1.0;
  font-size:clamp(1.7rem,1rem + 2.3vw,3.1rem); position:relative; display:inline-block; }
.svc__d { color:rgba(244,238,227,.58); max-width:34ch; margin-top:clamp(.85rem,1.5vw,1.25rem); line-height:1.55; }
.svc__name::after { content:"\2192"; margin-left:.55em; color:var(--accent); display:inline-block;
  opacity:0; transform:translateX(-.45em); transition:opacity .45s var(--ease), transform .45s var(--ease); }
.svc__row.is-active { transform:translateX(clamp(.5rem,1.5vw,1.6rem)); }
.svc__row.is-active .svc__name::after { opacity:1; transform:translateX(0); }

/* === Ajustes (reaplicados após reset do depoimentos) === */
/* Hero — statement centralizado na vertical, barra embaixo */
.hero--fb .hero__fb { justify-content:center; }
.hero--fb .hero__fbbar { position:absolute; left:var(--gx); right:var(--gx); bottom:clamp(1.4rem,3vh,2.4rem); margin:0; }
/* Unidades — título centralizado */
#unidades .sec__head { align-items:center; text-align:center; }
#unidades .sec__h { margin-inline:auto; }
/* Club — FICA no sticky-stack (mantém o overlap da Filosofia entrando pequena e
   crescendo), mas o conteúdo é compactado pra caber em 100svh e não cortar. */
.club__in { padding-block:clamp(2rem,5vh,4.5rem); gap:1rem; justify-content:center; }
.club__h { font-size:clamp(2.2rem,1rem + 4vw,5rem); line-height:1; max-width:14ch; }
.club__p { font-size:.95rem; }
.club__b { gap:.7rem; margin:.3rem 0 0; }
.club__b li { padding-bottom:.7rem; }

/* === Depoimentos — DECK (painéis sticky 100svh). Foto STICKY (clipa na seção, nunca
   vaza) + cada card sobe e empilha por cima do anterior, que afunda. O último também
   afunda graças ao sentinel (.tst2__end) no fim. === */
.tst2 { position:relative; height:auto; min-height:auto; overflow:visible; background:var(--ink); }
.tst2__bg { position:sticky; top:0; height:100svh; width:100%; margin:0; z-index:0; overflow:hidden; }
.tst2__bg img { width:100%; height:100%; object-fit:cover; }
.tst2__bg::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(12,18,15,.42), rgba(12,18,15,.68)); }
.tst2__meta { position:absolute; inset:0; z-index:2; height:auto; margin:0; padding:calc(var(--nav-h) + 1.4rem) var(--gx); display:flex; justify-content:space-between; align-items:flex-start; color:rgba(244,238,227,.85); pointer-events:none; }
.tst2__cards { position:relative; display:block; max-width:none; margin:-100svh 0 0; padding:0; z-index:3; }
.tst2__card { position:sticky; top:0; height:100svh; width:auto; margin:0; display:grid; place-items:center; padding:0 var(--gx); transform:none; opacity:1; pointer-events:none; }
.tst2__inner { width:min(600px,92vw); border-radius:0; transform-origin:center top; will-change:transform, filter; pointer-events:auto; box-shadow:0 50px 110px -42px rgba(0,0,0,.85); }
/* trailing spacer — gives the LAST card scroll-room so it stays pinned and can
   sink back (stack) as the section ends, instead of just scrolling away. */
.tst2__end { height:100svh; pointer-events:none; }
.tst2__nav { display:none; }
@media (max-width:900px){
  .tst2 { overflow:clip; }
  .tst2__bg { position:relative; height:52vh; }
  .tst2__cards { margin-top:0; }
  .tst2__card { position:relative; height:auto; place-items:stretch; padding:6vh var(--gx) 0; }
  .tst2__card:last-child { padding-bottom:6vh; }
  .tst2__inner { width:auto; }
  .tst2__end { display:none; }
}

/* === CTAs — botões sólidos premium (preenchidos + lift + sombra), em vez de outline fraco === */
.btn { border:0; background:var(--paper-0); color:var(--ink); padding:1.1em 2.1em; letter-spacing:.16em;
  transition:background .4s var(--ease), color .4s, transform .35s var(--ease), box-shadow .4s var(--ease); box-shadow:0 14px 34px -16px rgba(0,0,0,.55); }
.btn:hover { background:var(--bordo-btn); color:var(--paper-0); transform:translateY(-2px); box-shadow:0 22px 48px -16px rgba(0,0,0,.6); }
.btn--light { background:var(--paper-0); color:var(--ink); border:0; }
.btn--light:hover { background:var(--bordo-btn); color:var(--paper-0); }
.top__side a.top__cta { border:1px solid var(--paper-0); background:var(--paper-0); color:var(--ink); transition:background .35s var(--ease), border-color .35s, color .35s; }
.top__side a.top__cta:hover { background:transparent; border-color:var(--paper-0); color:var(--paper-0); }

/* ============================================================================
   TEMA SOMBRIO — página verde-profunda (80%), creme/terracota/bordô no acento
   (20%). Converte as seções antes claras (Quem Somos, Filosofia, Unidades,
   Galeria, rodapé) para o verde escuro com texto creme. Brief do cliente: mais
   sombria/subtonada, evitar o bordô claro (usar só o escurão, já aplicado no Club).
   ============================================================================ */

/* Rótulos e textos de apoio → creme suave */
.sec__head .mono,
.fill__lab, .fill__prog,
.end .mono,
.ft__col .mono { color:var(--cream-1); }
.ft__b { color:var(--cream-2); border-top-color:var(--rule-l); }

/* Parágrafos que fixavam tinta escura → creme suave */
.beat2 p, .phil2__body, .un__b p { color:var(--cream-1); }
.beat2__big { color:var(--paper-0)!important; }
.beat2 { border-top-color:var(--rule-l); }

/* Molduras, plates e divisórias → versão clara sobre o escuro */
.plate { background:var(--bg-2); border-color:var(--rule-l); }
.gal2__item { border-color:var(--rule-l); }
.un__plate { background:rgba(244,238,227,.05); }
.un__a a { border-bottom-color:var(--rule-l); }
.mq2 { border-block-color:var(--rule-l); }
.ft { border-top-color:var(--rule-l); }

/* Filosofia — palavra por palavra sobre o verde */
.fill, .fill.stack, .end.stack { background:var(--bg-0); }
.fill__t .w { color:rgba(244,238,227,.16); }
.fill__t .w.on { color:var(--paper-0); }

/* Fotografia — grade sombria/subtonada (luz baixa, tom da ID) + tint verde que
   unifica as imagens no 80% verde; captions/números ficam acima do overlay. */
/* Fotos já são geradas no tom certo — só um respiro leve, sem véu. Vinheta
   inferior sutil apenas para legibilidade das legendas. */
.plate img, .intro__plate img, .phil2__img img, .gal2__item img,
.un__plate img, .bg__media img, .svc__fig img { filter:brightness(.97) contrast(1.02) saturate(.96); }
.plate, .gal2__item, .un__plate, .bg__media, .svc__fig { position:relative; }
.plate::after, .gal2__item::after, .un__plate::after, .bg__media::after {
  content:""; position:absolute; inset:0; pointer-events:none; z-index:1;
  background:linear-gradient(180deg, rgba(6,10,8,0) 62%, rgba(6,10,8,.42) 100%); }
.plate figcaption, .gal2__item figcaption, .gal2__n { z-index:3; }

/* Grão visível sobre o escuro */
.grain { mix-blend-mode:soft-light; opacity:.09; }

/* ============================================================================
   MOBILE — hero: no desktop o B fica absoluto no centro e o statement se espalha
   nas bordas; no celular isso colide. Aqui o B volta pro fluxo (acima) e o
   statement empilha centralizado. + ajustes finos de respiro.
   ============================================================================ */
@media (max-width:640px){
  .hero--3d .hero__fb { justify-content:center; gap:clamp(1.1rem,4vh,2.2rem);
    padding:calc(var(--nav-h) + 2vh) var(--gx) clamp(4.5rem,12vh,6rem); }
  .hero__c3d { position:relative; left:auto; top:auto; transform:none; margin:0 auto;
    width:86vw; height:38vh; }
  .hero--3d .hero__fbfoot { position:relative; z-index:2; flex-direction:column;
    align-items:center; justify-content:center; gap:.05em; text-align:center; padding:0; border:0; }
  .hero--fb .hero__statement,
  .hero--fb .hero__statement--l,
  .hero--fb .hero__statement--r { text-align:center; max-width:24ch; margin:0;
    font-size:clamp(1.5rem,5.6vw,2.15rem); line-height:1.08; }
  .hero__fbbar { flex-direction:column; align-items:center; gap:.4rem; text-align:center;
    bottom:clamp(1rem,2.6vh,1.6rem); }
  .hero__fbbar .hero__scroll { display:none; }
}

/* Galerias horizontais: em telas estreitas, garante o scroll por toque mesmo
   sem depender só de (hover:none) — largura de item confortável no dedo. */
@media (max-width:640px){
  .gal2, .bg { height:auto; padding:6.5rem 0 3rem; }
  .gal2__track, .bg__track { overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; }
  .gal2__item, .bg__item { scroll-snap-align:center; }
  .gal2__item { width:78vw; height:64vh; }
  .bg__item { width:74vw; }
  .gal2__head, .bg__head { width:auto; }
}
