/* Instituto Olam · Apresentação institucional em HTML */

:root{
  --rubi:#A0174B;
  --rubi-2:#A20E42;
  --rubi-deep:#7d0f39;
  --vinho:#3f0d23;
  --dourado:#C9A227;
  --dourado-2:#D8AE40;
  --grafite:#161013;
  --paper:#ffffff;
  --paper-2:#fbf7f8;
  --ink:#241019;
  --ink-soft:#5a4650;
  --ink-mute:#8a7782;
  --line:rgba(160,23,75,.16);
  --dark-bg:#1a0d15;
  --dark-ink:#f4e9ee;
  --dark-ink-soft:#cdb8c2;
  --dark-ink-mute:#9a8590;
  --dark-line:rgba(255,255,255,.14);
  --radius:20px;
  --radius-lg:28px;
  --ff-display:'Playfair Display',Cambria,Georgia,serif;
  --ff-body:'Raleway','Segoe UI',system-ui,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:var(--ff-body);
  background:#0e070b;
  color:var(--ink);
  overflow:hidden;
  -webkit-font-smoothing:subpixel-antialiased;
  text-rendering:geometricPrecision;
}
.ti{vertical-align:-.08em}

#deck{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
.stage{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
}
.slide{
  position:absolute;
  inset:0;
  display:flex;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:none;
  transition:opacity .42s ease, visibility 0s linear .46s;
  will-change:opacity;
}
.slide.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .42s ease, visibility 0s;
  z-index:2;
}
.slide.prev{transform:none}
.surface{
  position:relative;
  width:100%;
  height:100%;
  display:flex;
  overflow:hidden;
}
.surface.light{background:var(--paper)}
.surface.tint{background:linear-gradient(155deg,#fff 0%,var(--paper-2) 100%)}
.surface.dark{
  color:var(--dark-ink);
  background:
    radial-gradient(1000px 620px at 82% 12%, rgba(160,23,75,.28), transparent 62%),
    radial-gradient(760px 520px at 8% 94%, rgba(124,15,57,.24), transparent 60%),
    linear-gradient(155deg,#22101b 0%, var(--dark-bg) 58%, #120810 100%);
}
.watermark{
  position:absolute;
  right:-3%;
  top:50%;
  transform:translateY(-50%);
  height:118%;
  opacity:.055;
  pointer-events:none;
  user-select:none;
  z-index:0;
}
.surface.light .watermark,.surface.tint .watermark{opacity:.035}

.pad{
  position:relative;
  z-index:1;
  width:100%;
  padding:clamp(44px,5.4vw,100px) clamp(58px,7vw,128px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.pad.compact{padding-top:clamp(34px,4.4vw,78px);padding-bottom:clamp(34px,4.4vw,78px)}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.7em;
  width:max-content;
  color:var(--rubi);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0;
  font-size:clamp(16px,1.05vw,20px);
  margin-bottom:1em;
}
.surface.dark .eyebrow{color:var(--dourado-2)}
.eyebrow::before{
  content:"";
  width:42px;
  height:2px;
  background:currentColor;
  opacity:.75;
}
h1,h2,h3{
  font-family:var(--ff-display);
  font-weight:800;
  line-height:1.02;
  letter-spacing:0;
}
.title{
  font-size:clamp(44px,5.2vw,82px);
  color:var(--ink);
  max-width:18ch;
}
.surface.dark .title{color:#fff}
.title .rubi{color:var(--rubi)}
.title .gold{color:var(--dourado-2);font-style:italic}
.lead{
  font-size:clamp(21px,1.55vw,30px);
  line-height:1.48;
  color:var(--ink-soft);
  margin-top:1em;
  max-width:54ch;
}
.surface.dark .lead{color:var(--dark-ink-soft)}
.lead strong{color:var(--rubi)}
.surface.dark .lead strong{color:var(--dourado-2)}

/* Entrada */
[data-anim]{opacity:0}
.slide.active [data-anim]{animation:fadeIn .55s ease both}
.slide.active [data-anim="fade"],
.slide.active [data-anim="left"],
.slide.active [data-anim="right"],
.slide.active [data-anim="up"],
.slide.active [data-anim="zoom"],
.slide.active [data-anim="clip"]{animation-name:fadeIn}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.d1{animation-delay:.08s!important}.d2{animation-delay:.16s!important}.d3{animation-delay:.24s!important}
.d4{animation-delay:.32s!important}.d5{animation-delay:.40s!important}.d6{animation-delay:.48s!important}
.d7{animation-delay:.56s!important}

/* Cover */
.cover-surface{
  align-items:center;
  background:
    radial-gradient(1100px 700px at 88% 16%, rgba(160,23,75,.30), transparent 60%),
    radial-gradient(900px 600px at 8% 92%, rgba(124,15,57,.24), transparent 60%),
    linear-gradient(155deg,#22101b 0%, var(--dark-bg) 60%, #120810 100%);
}
.cover-surface .watermark{
  right:2%;
  height:88%;
  opacity:.12;
}
.cover{
  position:relative;
  z-index:1;
  padding:clamp(58px,7vw,128px);
  max-width:1360px;
}
.logo-top{
  display:block;
  height:clamp(70px,7vw,112px);
  max-width:min(760px,82vw);
  width:auto;
  object-fit:contain;
  margin-bottom:clamp(36px,5vh,68px);
}
.cover-title{
  color:#fff;
  font-size:clamp(54px,6.4vw,108px);
  line-height:.98;
  max-width:13.8ch;
}
.cover-title span{color:var(--dourado-2);font-style:italic}
.cover .sub{
  color:var(--dark-ink-soft);
  font-size:clamp(22px,1.65vw,31px);
  line-height:1.45;
  margin-top:1em;
  max-width:48ch;
}
.cover-line{
  margin-top:clamp(30px,4vh,52px);
  color:var(--dourado-2);
  font-weight:700;
  font-size:clamp(18px,1.25vw,24px);
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.cover-line span{
  display:inline-flex;
  align-items:center;
  gap:.6em;
  border:1px solid rgba(216,174,64,.42);
  border-radius:999px;
  padding:.7em 1.25em;
}
.cover-line span:first-child{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,var(--rubi),var(--rubi-deep));
}
.cover-contact{
  margin-top:clamp(14px,1.8vh,22px);
  color:var(--dark-ink-mute);
  font-size:clamp(16px,1.05vw,20px);
  font-weight:600;
}

/* Generic cards */
.summary-grid,.solutions-grid,.pillar-grid,.stats-grid,.case-grid{
  display:grid;
  gap:clamp(20px,2vw,34px);
  margin-top:clamp(26px,3vw,48px);
}
.summary-grid{grid-template-columns:repeat(3,1fr)}
.summary-card,.solution,.pillar,.stat-card,.case,.foundation-panel,.statement,.journey-step{
  position:relative;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 18px 44px rgba(63,13,35,.10);
  padding:clamp(24px,2.4vw,42px);
}
.card-icon{
  width:clamp(42px,3.5vw,58px);
  height:clamp(42px,3.5vw,58px);
  display:grid;
  place-items:center;
  border-radius:16px;
  margin-bottom:clamp(14px,1.5vw,22px);
  color:var(--rubi);
  background:linear-gradient(135deg,rgba(160,23,75,.12),rgba(160,23,75,.04));
  font-size:clamp(22px,1.7vw,30px);
}
.surface.dark .card-icon{
  color:var(--dourado-2);
  background:rgba(216,174,64,.12);
  border:1px solid rgba(216,174,64,.18);
}
.surface.dark .summary-card,.surface.dark .solution,.surface.dark .pillar,.surface.dark .stat-card,.surface.dark .case,.surface.dark .foundation-panel,.surface.dark .statement,.surface.dark .journey-step{
  background:rgba(255,255,255,.05);
  border-color:var(--dark-line);
  box-shadow:none;
}
.summary-card span,.solution span,.pillar span,.journey-step span{
  display:inline-block;
  color:var(--rubi);
  font-weight:800;
  font-size:clamp(18px,1.2vw,24px);
  margin-bottom:.8em;
}
.surface.dark .summary-card span,.surface.dark .solution span,.surface.dark .pillar span,.surface.dark .journey-step span{color:var(--dourado-2)}
.summary-card h3,.solution h3,.pillar h3,.case h3,.journey-step h3{
  font-size:clamp(25px,1.85vw,34px);
  color:var(--ink);
  margin-bottom:.45em;
}
.surface.dark .summary-card h3,.surface.dark .solution h3,.surface.dark .pillar h3,.surface.dark .case h3,.surface.dark .journey-step h3{color:#fff}
.summary-card p,.solution p,.pillar p,.case p,.journey-step p{
  font-size:clamp(18px,1.24vw,24px);
  line-height:1.38;
  color:var(--ink-soft);
}
.surface.dark .summary-card p,.surface.dark .solution p,.surface.dark .pillar p,.surface.dark .case p,.surface.dark .journey-step p{color:var(--dark-ink-soft)}

/* Manifesto and section slides */
.manifesto-surface,.section-surface{align-items:center}
.quote-layout,.section-intro{
  position:relative;
  z-index:1;
  padding:clamp(58px,7vw,128px);
}
.manifesto{
  font-family:var(--ff-display);
  font-weight:800;
  font-size:clamp(56px,6.4vw,112px);
  line-height:.98;
  color:#fff;
  max-width:14ch;
}
.manifesto-sub{
  font-size:clamp(28px,2.6vw,46px);
  line-height:1.22;
  color:var(--dourado-2);
  max-width:26ch;
  margin-top:1em;
}
.section-number{
  position:absolute;
  right:clamp(70px,8vw,150px);
  top:50%;
  transform:translateY(-50%);
  font-family:var(--ff-display);
  font-weight:900;
  font-size:clamp(210px,25vw,430px);
  color:rgba(216,174,64,.08);
  line-height:1;
}
.section-intro .title{font-size:clamp(76px,8vw,138px)}

/* Essence */
.two-col{
  display:grid;
  grid-template-columns:1fr .86fr;
  gap:clamp(38px,5vw,86px);
  align-items:center;
}
.meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:clamp(24px,3vh,38px);
}
.meta-row span{
  border:1px solid rgba(160,23,75,.22);
  border-radius:999px;
  padding:.65em 1.1em;
  color:var(--rubi);
  font-size:clamp(17px,1.15vw,22px);
  font-weight:800;
  text-transform:uppercase;
}
.statement{
  background:linear-gradient(145deg,var(--rubi),var(--rubi-deep));
  color:#fff;
  border-color:rgba(160,23,75,.45);
}
.statement p{
  font-family:var(--ff-display);
  font-size:clamp(32px,3vw,56px);
  line-height:1.08;
}
.statement small{
  display:block;
  margin-top:1.1em;
  color:rgba(255,255,255,.82);
  font-size:clamp(18px,1.3vw,25px);
  line-height:1.35;
}
.conviction .title{max-width:18ch}
.hero-line{
  font-family:var(--ff-display);
  font-weight:800;
  font-size:clamp(54px,6vw,108px);
  line-height:1;
  color:#fff;
  margin-top:.25em;
}
.hero-line span{color:var(--dourado-2);font-style:italic}
.belief-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(18px,2vw,30px);
  margin-top:clamp(34px,4vh,60px);
  max-width:980px;
}
.belief-row span{
  padding:clamp(18px,1.8vw,28px);
  border:1px solid var(--dark-line);
  border-radius:var(--radius);
  color:var(--dark-ink-soft);
  font-weight:700;
  font-size:clamp(20px,1.45vw,28px);
}
.science-grid{
  display:grid;
  grid-template-columns:1fr .82fr;
  gap:clamp(42px,5vw,88px);
  align-items:center;
}
.feuerstein{
  font-family:var(--ff-display);
  font-weight:800;
  font-size:clamp(44px,4.9vw,88px);
  line-height:1.05;
  color:#fff;
}
.caption{
  margin-top:1.2em;
  color:var(--dourado-2);
  font-weight:800;
  font-size:clamp(20px,1.4vw,28px);
}
.foundation-panel h3{
  color:#fff;
  font-size:clamp(28px,2.2vw,42px);
  margin-bottom:.9em;
}
.foundation-panel ul{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:.8em;
}
.foundation-panel li{
  display:flex;
  gap:.7em;
  color:var(--dark-ink-soft);
  font-size:clamp(19px,1.35vw,26px);
  line-height:1.35;
}
.foundation-panel li::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--dourado-2);
  margin-top:.55em;
  flex:none;
}

/* Method */
.solutions-grid{grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.35vw,22px)}
.solution{padding:clamp(18px,1.65vw,30px)}
.solution h3{font-size:clamp(21px,1.42vw,28px)}
.solution p{font-size:clamp(16px,1.02vw,20px);line-height:1.35}
.journey{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(16px,1.6vw,26px);
  margin-top:clamp(28px,3vw,46px);
}
.journey-step{
  border-top:5px solid var(--rubi);
  min-height:clamp(250px,31vh,340px);
}
.journey-step span{
  font-family:var(--ff-display);
  font-size:clamp(36px,3.5vw,62px);
  opacity:.55;
}
.journey-step h3{font-size:clamp(21px,1.46vw,29px)}
.journey-step p{font-size:clamp(16px,1.06vw,21px)}
.pillar-grid{grid-template-columns:repeat(4,1fr);gap:clamp(16px,1.6vw,26px)}
.pillar{min-height:clamp(270px,34vh,370px)}
.pillar h3{font-size:clamp(22px,1.55vw,30px)}
.pillar p{font-size:clamp(16px,1.05vw,21px)}
.pillar small{
  display:block;
  margin-top:1.2em;
  color:var(--dourado-2);
  font-weight:800;
  text-transform:uppercase;
  font-size:clamp(14px,1vw,18px);
  line-height:1.25;
}

/* Results */
.stats-grid{grid-template-columns:repeat(4,1fr)}
.stat-card{
  min-height:clamp(230px,28vh,320px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:rgba(255,255,255,.05);
}
.stat-card strong{
  font-family:var(--ff-display);
  font-size:clamp(52px,5.4vw,94px);
  line-height:1;
  color:var(--dourado-2);
  white-space:nowrap;
}
.stat-card span{
  width:clamp(70px,6vw,118px);
  height:2px;
  background:linear-gradient(90deg,var(--dourado-2),rgba(216,174,64,.1));
  margin:clamp(18px,2vh,28px) 0;
}
.stat-card p{
  color:var(--dark-ink-soft);
  font-size:clamp(17px,1.2vw,23px);
  line-height:1.34;
}
.case-grid{grid-template-columns:repeat(3,1fr)}
.case{overflow:hidden;padding:0}
.case-media{
  height:clamp(130px,18vh,190px);
  overflow:hidden;
  background:var(--vinho);
}
.case-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.case small,.case h3,.case p,.case strong{
  margin-left:clamp(20px,2vw,32px);
  margin-right:clamp(20px,2vw,32px);
}
.case small{
  display:block;
  color:var(--rubi);
  font-size:clamp(14px,1vw,18px);
  font-weight:800;
  text-transform:uppercase;
  margin-top:clamp(18px,1.8vw,26px);
  margin-bottom:.8em;
}
.case strong{
  display:block;
  margin-top:1em;
  margin-bottom:clamp(20px,2vw,32px);
  color:var(--rubi);
  font-size:clamp(17px,1.15vw,22px);
  line-height:1.3;
}
.compare{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  margin-top:clamp(24px,2.7vw,44px);
  background:#fff;
  box-shadow:0 18px 44px rgba(63,13,35,.1);
}
.compare > div{
  padding:clamp(16px,1.5vw,26px) clamp(20px,2vw,34px);
  border-bottom:1px solid var(--line);
  font-size:clamp(18px,1.25vw,24px);
  line-height:1.32;
  color:var(--ink-soft);
}
.compare > div:nth-child(odd){border-right:1px solid var(--line)}
.compare .compare-head{
  color:#fff;
  font-weight:800;
  text-transform:uppercase;
}
.compare .market{background:var(--ink)}
.compare .olam{background:linear-gradient(135deg,var(--rubi),var(--rubi-deep))}
.compare > div:nth-last-child(-n+2){border-bottom:none}
.compare-note{
  max-width:68ch;
  font-size:clamp(22px,1.55vw,30px);
}

/* Leadership and contact */
.leadership{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
}
.leader-photo{
  position:relative;
  height:100%;
  overflow:hidden;
}
.leader-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(26,13,21,.08),rgba(26,13,21,.52));
}
.leader-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.leader-copy{
  position:relative;
  z-index:1;
  padding:clamp(48px,5.6vw,100px) clamp(58px,6.5vw,116px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.leader-copy .title{max-width:12ch}
.leader-list{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:.72em;
  margin-top:clamp(22px,2.5vh,34px);
}
.leader-list li{
  display:flex;
  gap:.75em;
  color:var(--dark-ink-soft);
  font-size:clamp(18px,1.28vw,25px);
  line-height:1.35;
}
.leader-list li::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--dourado-2);
  margin-top:.58em;
  flex:none;
}
.leader-quote{
  margin-top:clamp(26px,3vh,42px);
  color:var(--dourado-2);
  font-family:var(--ff-display);
  font-size:clamp(26px,2vw,38px);
  line-height:1.18;
  max-width:24ch;
}
.contact-layout{
  display:grid;
  grid-template-columns:1fr .82fr;
  gap:clamp(40px,5vw,86px);
  align-items:center;
}
.closing-text{
  margin-top:1.2em;
  color:var(--dark-ink-soft);
  font-size:clamp(24px,1.8vw,34px);
  line-height:1.38;
  max-width:42ch;
}
.contact-cards{
  display:flex;
  flex-direction:column;
  gap:clamp(16px,1.7vw,26px);
}
.contact-cards article{
  border:1px solid var(--dark-line);
  border-radius:var(--radius);
  padding:clamp(22px,2vw,34px);
  background:rgba(255,255,255,.05);
}
.contact-cards i{
  color:var(--dourado-2);
  font-size:clamp(32px,2.6vw,46px);
  margin-right:.45em;
}
.contact-cards span{
  display:inline-block;
  color:var(--dark-ink-mute);
  font-size:clamp(16px,1.05vw,20px);
  font-weight:800;
  text-transform:uppercase;
}
.contact-cards strong{
  display:block;
  margin-top:.35em;
  color:#fff;
  font-size:clamp(22px,1.65vw,31px);
  line-height:1.2;
}

/* Mediation diagram */
.mediation-pad{
  padding:clamp(34px,4.2vh,58px) clamp(44px,5.2vw,86px);
  justify-content:center;
  align-items:center;
  gap:clamp(16px,2vh,28px);
}
.mediation-head{text-align:center;width:100%}
.mediation-head .title{
  margin:0 auto;
  max-width:21ch;
  font-size:clamp(46px,5.2vw,88px);
  line-height:1;
}
.mediation-head .eyebrow{justify-content:center;margin-left:auto;margin-right:auto}
.mediation-wrap{
  position:relative;
  width:min(1120px,91vw);
  height:min(540px,60vh);
  margin:0 auto;
}
.med-card{
  position:absolute;
  width:min(470px,39vw);
  min-height:clamp(132px,17vh,176px);
  padding:clamp(20px,2vw,34px);
  border:1px solid var(--dark-line);
  border-radius:var(--radius-lg);
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
}
.med-card.tl{left:0;top:0}
.med-card.tr{right:0;top:0;text-align:right}
.med-card.bl{left:0;bottom:0}
.med-card.br{right:0;bottom:0;text-align:right}
.med-card span{
  color:var(--dourado-2);
  font-size:clamp(14px,1vw,18px);
  font-weight:800;
}
.med-card h3{
  color:#fff;
  font-size:clamp(28px,2.3vw,42px);
  margin:.25em 0 .35em;
}
.med-card p{
  color:var(--dark-ink-soft);
  font-size:clamp(17px,1.22vw,23px);
  line-height:1.35;
}
.med-core{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:clamp(230px,23vw,322px);
  height:clamp(230px,23vw,322px);
  display:grid;
  place-items:center;
  z-index:3;
}
.ring{
  position:absolute;
  inset:0;
  border-radius:50%;
  border:2px solid rgba(160,23,75,.52);
}
.ring.r2{inset:-28px;border-color:rgba(216,174,64,.34)}
.ring.r3{inset:-56px;border-color:rgba(160,23,75,.2)}
.slide.active .ring{animation:pulseRing 2.7s ease-out infinite}
.slide.active .ring.r2{animation-delay:.45s}
.slide.active .ring.r3{animation-delay:.9s}
@keyframes pulseRing{0%{transform:scale(1);opacity:.8}70%,100%{transform:scale(1.22);opacity:0}}
.orb{
  width:100%;
  height:100%;
  border-radius:50%;
  background:radial-gradient(circle at 38% 32%,#d11857 0%,var(--rubi) 45%,var(--rubi-deep) 100%);
  box-shadow:0 0 58px rgba(160,23,75,.54), inset 0 6px 24px rgba(255,255,255,.18);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:12%;
}
.orb small{
  color:var(--dourado-2);
  font-size:clamp(15px,1vw,19px);
  font-weight:800;
  text-transform:none;
}
.orb strong{
  color:#fff;
  font-family:var(--ff-display);
  font-size:clamp(58px,6vw,96px);
  line-height:1;
}
.orb b{
  color:#fff;
  font-size:clamp(14px,1vw,18px);
  line-height:1.18;
  margin-top:.3em;
}
.orb span{
  color:rgba(255,255,255,.86);
  font-size:clamp(14px,1vw,18px);
  line-height:1.25;
  margin-top:.6em;
}
.mediation-foot{
  margin-top:0;
  max-width:70ch;
  text-align:center;
  color:var(--dark-ink-soft);
  font-size:clamp(18px,1.3vw,25px);
  line-height:1.4;
}

/* Footer and controls */
.foot{
  position:absolute;
  left:clamp(44px,6vw,110px);
  bottom:clamp(20px,2.4vw,34px);
  z-index:3;
  display:flex;
  align-items:center;
  gap:.6em;
  color:var(--ink-mute);
  font-size:clamp(16px,1vw,19px);
}
.surface.dark .foot{color:var(--dark-ink-mute)}
.foot .dot{width:6px;height:6px;border-radius:50%;background:var(--rubi);display:inline-block}
.surface.dark .foot .dot{background:var(--dourado-2)}
.pgnum{
  position:absolute;
  right:clamp(44px,6vw,110px);
  bottom:clamp(20px,2.4vw,34px);
  z-index:3;
  font-family:var(--ff-display);
  color:var(--dourado-2);
  font-size:clamp(24px,1.9vw,34px);
  opacity:.78;
}
.surface.light .pgnum,.surface.tint .pgnum{color:var(--dourado);opacity:.68}
.progress{
  position:fixed;
  top:0;
  left:0;
  height:5px;
  z-index:60;
  width:0;
  background:linear-gradient(90deg,var(--rubi),var(--dourado-2));
  transition:width .4s ease;
}
.brandmark{
  position:fixed;
  top:24px;
  left:30px;
  z-index:40;
  height:52px;
  opacity:.92;
  pointer-events:none;
  transition:opacity .3s ease;
}
.brandmark.hide{opacity:0}
.hint{
  position:fixed;
  left:50%;
  bottom:82px;
  transform:translateX(-50%);
  z-index:45;
  display:flex;
  align-items:center;
  gap:10px;
  color:#eadce3;
  font-size:18px;
  background:rgba(20,9,16,.66);
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  padding:12px 22px;
  transition:opacity .4s ease;
}
.hint.gone{opacity:0;pointer-events:none}
.hud{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:18px;
  pointer-events:none;
}
.hud .group,.dots{
  pointer-events:auto;
  display:flex;
  align-items:center;
  background:rgba(20,9,16,.76);
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  box-shadow:0 8px 28px rgba(0,0,0,.32);
}
.hud .group{gap:6px;padding:8px}
.hud button{
  width:54px;
  height:54px;
  border:none;
  border-radius:999px;
  background:transparent;
  color:#f1e3ea;
  cursor:pointer;
  display:grid;
  place-items:center;
  font-size:26px;
}
.hud button:hover{background:rgba(255,255,255,.12)}
.hud button:disabled{opacity:.32;cursor:default}
.hud .count{
  color:#f1e3ea;
  min-width:88px;
  text-align:center;
  padding:0 16px;
  font-family:var(--ff-display);
  font-size:21px;
}
.hud .count b{color:var(--dourado-2)}
.hud .sep{width:1px;height:26px;background:rgba(255,255,255,.16);margin:0 2px}
.hud button.fs{background:linear-gradient(135deg,var(--rubi),var(--rubi-deep));color:#fff}
.dots{
  gap:10px;
  padding:14px 18px;
}
.dots i{
  width:11px;
  height:11px;
  border-radius:999px;
  background:rgba(255,255,255,.28);
  cursor:pointer;
  transition:width .22s ease, background .22s ease;
}
.dots i.on{
  width:36px;
  background:linear-gradient(90deg,var(--rubi),var(--dourado-2));
}

@media (prefers-reduced-motion:reduce){
  .slide{transition:opacity .2s ease}
  [data-anim],.slide.active [data-anim]{animation:none!important;opacity:1!important}
  .ring{animation:none!important}
}

@media (max-aspect-ratio:1/1){
  .summary-grid,.solutions-grid,.pillar-grid,.stats-grid,.case-grid,.journey,.belief-row{grid-template-columns:1fr}
  .two-col,.science-grid,.contact-layout,.leadership{grid-template-columns:1fr}
  .leader-photo{height:38vh}
  .pad{padding:72px 30px}
}
