/* ===== KAROL — beauty UGC · gesso · claro ===== */

:root{
  --bg:#ede1c9;
  --bg-2:#e3d4b6;
  --paper:#f3ead6;
  --gesso:#efe8d8;
  --gesso-warm:#d9c39a;
  --gesso-shadow:#d6cdb8;
  --ink:#2a1f15;
  --ink-soft:#6b5742;
  --muted:#9a8567;
  --ochre:#9a6f33;
  --gold:#b08948;
  --carved:rgba(42,31,21,.55);
  --carved-light:rgba(255,250,238,.7);
  --hair:rgba(42,31,21,.2);
  --hair-soft:rgba(42,31,21,.08);

  --s-1:4px; --s-2:8px; --s-3:16px; --s-4:24px; --s-5:40px; --s-6:64px; --s-7:96px; --s-8:128px;

  --sans:"Nunito Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --serif:"Outfit",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --display:"Outfit",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;

  --ease:cubic-bezier(.16,1,.3,1);
  --t-fast:280ms;
  --t-med:600ms;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased;overscroll-behavior:none}
button{font-family:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

/* ============ NAV — gesso claro esculpido ============ */
.nav{
  position:fixed;z-index:80;top:0;left:0;right:0;
  display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:28px;
  padding:22px clamp(18px,4vw,64px) 18px;
  pointer-events:none;
  background:rgba(250,243,228,.74);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.nav > *{pointer-events:auto}

.brand{display:inline-flex;align-items:center;gap:12px}
.brand-name{
  font-family:var(--display);font-weight:500;font-style:normal;
  font-size:clamp(26px,2.4vw,34px);line-height:.9;letter-spacing:0;
  color:#2a1f15;
}
.brand-orn{font-family:var(--display);font-style:italic;font-size:15px;color:var(--gold);opacity:.7;transform:translateY(1px)}
.brand-orn.flip{transform:translateY(1px) scaleX(-1)}

.role{
  justify-self:center;font-family:var(--sans);font-size:11px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:#7a6553;white-space:nowrap;
}
.role em{font-style:italic;font-weight:400;letter-spacing:.04em;text-transform:lowercase;color:#bf9954;font-family:var(--display);font-size:13px}

.nav-links{display:inline-flex;gap:2px;align-items:center}
.nav-links a{
  font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink);padding:8px 12px;position:relative;
  transition:color .25s var(--ease);
}
.nav-links a i{font-style:italic;color:var(--gold);margin-right:5px;letter-spacing:.02em;text-transform:lowercase;font-size:13px;font-family:var(--display)}
.nav-links a::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav-links a:hover{color:var(--gold)}
.nav-links a:hover::after{transform:scaleX(1)}

.cta{
  font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gesso);background:var(--ink);
  padding:12px 20px;border:1px solid var(--ink);border-radius:2px;
  box-shadow:0 1px 0 rgba(255,250,238,.4),0 6px 18px rgba(42,31,21,.18);
  transition:transform .25s var(--ease),background .25s var(--ease);
}
.cta:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-2px)}

.nav-rule{
  position:fixed;left:clamp(18px,4vw,64px);right:clamp(18px,4vw,64px);
  top:78px;height:1px;z-index:79;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(191,153,84,.35) 20%,rgba(191,153,84,.45) 50%,rgba(191,153,84,.35) 80%,transparent);
}
.nav-rule::after{
  content:"❦";position:absolute;left:50%;top:-12px;transform:translateX(-50%);
  font-family:var(--display);font-style:italic;font-size:16px;color:#bf9954;
  background:#faf3e4;padding:0 12px;
}

/* ============ DOTS ============ */
.dots{position:fixed;right:var(--s-4);top:50%;transform:translateY(-50%);z-index:75;display:flex;flex-direction:column;gap:12px}
.dots button{width:6px;height:6px;border-radius:50%;background:rgba(42,31,21,.25);transition:background var(--t-fast),transform var(--t-fast)}
.dots button.active{background:var(--ink);transform:scale(1.4)}

/* ============ BOOK ============ */
.book{position:fixed;inset:0;overflow-y:scroll;overflow-x:hidden;scroll-snap-type:y mandatory;scrollbar-width:none}
.book::-webkit-scrollbar{display:none}
.page{position:relative;width:100vw;height:100vh;height:100dvh;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden}

/* ============ TYPE ============ */
.numeral{
  display:block;font-family:var(--display);font-style:italic;font-weight:400;
  font-size:clamp(36px,4vw,56px);line-height:1;color:var(--ink-soft);
  margin-bottom:var(--s-4);letter-spacing:0;
  opacity:.55;
}
.fleuron{display:inline-block;margin:var(--s-3) 0;font-family:var(--display);font-style:italic;font-size:18px;color:var(--gold);opacity:.6;transform:translateY(2px)}
.fleuron.sm{font-size:14px;margin:var(--s-2) 0}

.display{font-family:var(--display);font-weight:400;font-size:clamp(44px,5.4vw,80px);line-height:1.04;letter-spacing:0;color:var(--ink)}
.display em{font-style:italic;color:var(--gold);font-weight:500}
.display-sm{font-family:var(--display);font-weight:400;font-size:clamp(30px,3.6vw,50px);line-height:1.08;letter-spacing:0;color:var(--ink)}
.display-sm em{font-style:italic;color:var(--gold);font-weight:500}
.lede{font-size:15px;line-height:1.65;color:var(--ink-soft);max-width:42ch;font-weight:400}
.foot{position:absolute;left:var(--s-7);bottom:var(--s-5);font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* badges no hero */
.badges{margin-top:var(--s-5);display:flex;gap:var(--s-2);flex-wrap:wrap}
.badges span{
  font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink);padding:7px 11px;border:1px solid var(--hair);background:var(--gesso);
  border-radius:2px;display:inline-flex;align-items:center;gap:6px;
}
.badges em{font-family:var(--display);font-style:italic;font-weight:500;color:var(--gold);text-transform:lowercase;letter-spacing:0;font-size:13px}

/* ============ PLATE ============ */
.plate{position:relative;display:flex;flex-direction:column}
.plate-mat{
  position:relative;padding:22px;
  background:radial-gradient(120% 80% at 30% 20%, #f6efde 0%, var(--gesso) 60%, var(--gesso-shadow) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -1px 0 rgba(42,31,21,.12),
    0 1px 0 rgba(255,255,255,.4),
    0 30px 70px -36px rgba(42,31,21,.55),
    0 12px 30px -18px rgba(42,31,21,.22);
  transition:transform var(--t-med) var(--ease);
}
.plate-mat::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .16 0 0 0 0 .12 0 0 0 0 .08 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.18;mix-blend-mode:multiply;
}
.plate-mat::after{content:"";position:absolute;inset:22px;border:1px solid var(--hair-soft);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);pointer-events:none}
.plate-image{position:relative;width:100%;height:100%;overflow:hidden;background:var(--bg-2)}
.plate-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.84) contrast(1.02);animation:burns 28s ease-in-out infinite alternate}
@keyframes burns{0%{transform:scale(1.02)}100%{transform:scale(1.09)}}

.mark{position:absolute;width:14px;height:14px;z-index:3;pointer-events:none}
.mark::before,.mark::after{content:"";position:absolute;background:var(--ink-soft);opacity:.6}
.mark::before{left:0;top:0;width:14px;height:1px}
.mark::after{left:0;top:0;width:1px;height:14px}
.mark.tl{top:-4px;left:-4px}
.mark.tr{top:-4px;right:-4px;transform:scaleX(-1)}
.mark.bl{bottom:-4px;left:-4px;transform:scaleY(-1)}
.mark.br{bottom:-4px;right:-4px;transform:scale(-1)}

.plate-cap{
  margin-top:var(--s-3);padding-top:var(--s-2);border-top:1px solid var(--hair);
  display:grid;grid-template-columns:auto 1fr auto;gap:var(--s-3);
  font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
}
.plate-cap span:nth-child(2){text-align:center;color:var(--ink-soft);font-family:var(--display);font-style:italic;font-weight:400;font-size:15px;letter-spacing:0;text-transform:none}
.plate-cap span:nth-child(2) em{color:var(--gold)}
.plate-cap span:last-child{text-align:right;font-style:italic;font-family:var(--display);letter-spacing:.02em;text-transform:none;font-size:13px}
.plate:hover .plate-mat{transform:translateY(-3px)}

/* ============ I · COVER ============ */
.page-cover{
  display:block;
  padding:0;
  isolation:isolate;
  background:#160f12;
}
.page-cover .text{
  position:absolute;
  z-index:5;
  left:clamp(22px,7vw,116px);
  bottom:clamp(54px,10vh,118px);
  max-width:min(760px,66vw);
  width:auto;
  color:#fff6f0;
  text-shadow:0 18px 48px rgba(0,0,0,.46);
}
.page-cover .display{
  color:#fff6f0;
  font-size:clamp(56px,7.4vw,116px);
  line-height:.93;
}
.page-cover .numeral,
.page-cover .lede,
.page-cover .foot{
  color:rgba(255,246,240,.78);
}
.page-cover .lede{
  margin-top:0;
  max-width:54ch;
}
.page-cover .badges span{
  color:#fff6f0;
  background:rgba(20,13,16,.38);
  border-color:rgba(255,246,240,.26);
  backdrop-filter:blur(12px);
}
.page-cover .foot{
  z-index:5;
  left:clamp(22px,7vw,116px);
  bottom:24px;
}
.plate-cover{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-height:none;
  display:block;
  margin:0;
  z-index:1;
}
.plate-cover .plate-mat{
  height:100%;
  padding:0;
  background:#160f12;
  box-shadow:none;
}
.plate-cover .plate-mat::before,
.plate-cover .plate-mat::after,
.plate-cover .mark,
.plate-cover .plate-cap{
  display:none;
}
.plate-cover .plate-image{
  height:100%;
  background:#160f12;
}
.plate-cover .plate-image::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(19,13,18,.92) 0%,rgba(19,13,18,.62) 34%,rgba(19,13,18,.14) 68%,rgba(19,13,18,.35) 100%),
    linear-gradient(180deg,rgba(19,13,18,.08) 0%,rgba(19,13,18,.16) 48%,rgba(19,13,18,.88) 100%);
}
.plate-cover .plate-image img{
  width:100%;
  height:100%;
  object-position:58% 34%;
  filter:saturate(1.02) contrast(1.03);
  animation:heroDrift 22s ease-in-out infinite alternate;
}
@keyframes heroDrift{
  0%{transform:scale(1.02) translate3d(0,0,0)}
  100%{transform:scale(1.09) translate3d(-1.5%,.8%,0)}
}

/* ============ II · PORTRAIT / PRESENÇA ============ */
.page-portrait{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--s-7);padding:130px var(--s-7) var(--s-6);background:var(--bg-2)}
.plate-portrait{width:100%;display:grid;grid-template-rows:1fr auto}
.plate-portrait .plate-mat{height:min(78vh,720px)}
.plate-portrait .plate-image img{object-position:50% 28%}
.portrait-cap{max-width:480px}
.portrait-cap p{font-family:var(--display);font-style:italic;font-size:clamp(22px,2.2vw,32px);line-height:1.25;color:var(--ink);min-height:1.4em}
.portrait-cap p em{color:var(--gold)}
.bullets{list-style:none;margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--hair)}
.bullets li{padding:var(--s-2) 0;font-size:14px;line-height:1.5;color:var(--ink-soft);border-bottom:1px dashed var(--hair-soft)}
.bullets li:last-child{border-bottom:0}
.bullets strong{font-family:var(--display);font-style:italic;color:var(--gold);font-weight:400;font-size:15px;letter-spacing:.04em;margin-right:8px}

/* ============ III · FORMATOS (gabinete) ============ */
.page-index{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  grid-template-rows:auto 1fr;
  grid-template-areas:"head specimen" "list specimen";
  column-gap:var(--s-6);row-gap:var(--s-5);
  padding:130px var(--s-7) var(--s-6);
  align-items:start;background:var(--paper);position:relative;
}
.index-head{grid-area:head;max-width:520px}
.head-note{margin-top:var(--s-4);font-size:14px;line-height:1.6;color:var(--ink-soft);max-width:40ch;font-family:var(--sans)}
.head-note strong{color:var(--gold);font-weight:500;font-style:italic;font-family:var(--display);font-size:15px;letter-spacing:0}

.list{grid-area:list;list-style:none;border-top:1px solid var(--hair)}
.list.list-interactive li{
  position:relative;cursor:pointer;
  display:grid;grid-template-columns:34px 1fr auto;gap:var(--s-3);
  align-items:baseline;
  padding:var(--s-3) var(--s-3) var(--s-3) var(--s-3);
  border-bottom:1px solid var(--hair);
  background:transparent;
  transition:background var(--t-fast) var(--ease),padding var(--t-fast) var(--ease);
  outline:none;
}
.list.list-interactive li::before{
  content:"";position:absolute;left:0;top:50%;width:0;height:1px;background:var(--gold);
  transform:translateY(-50%);transition:width var(--t-fast) var(--ease);
}
.list.list-interactive li:hover,
.list.list-interactive li:focus-visible{background:rgba(176,137,72,.06);padding-left:var(--s-4)}
.list.list-interactive li.is-active{background:rgba(176,137,72,.1);padding-left:var(--s-4)}
.list.list-interactive li.is-active::before{width:var(--s-3)}
.list.list-interactive li.is-active strong{color:var(--gold)}
.list span{font-family:var(--display);font-style:italic;font-size:14px;letter-spacing:.05em;color:var(--gold)}
.list strong{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.2vw,28px);color:var(--ink);letter-spacing:0;transition:color var(--t-fast) var(--ease)}
.list em{font-style:normal;font-size:12px;line-height:1.5;color:var(--ink-soft);grid-column:2 / 3;margin-top:2px}
.list .arrow{
  font-family:var(--display);font-style:normal;font-size:18px;color:var(--gold);
  opacity:0;transform:translateX(-6px);
  transition:opacity var(--t-fast) var(--ease),transform var(--t-fast) var(--ease);
  align-self:center;
}
.list.list-interactive li:hover .arrow,
.list.list-interactive li.is-active .arrow{opacity:1;transform:translateX(0)}

/* SPECIMEN — placa lateral */
.specimen{
  grid-area:specimen;position:sticky;top:130px;
  padding:var(--s-5) var(--s-5) var(--s-4);
  background:radial-gradient(120% 80% at 30% 18%, #f6efde 0%, var(--gesso) 60%, var(--gesso-shadow) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -1px 0 rgba(42,31,21,.1),
    0 30px 70px -36px rgba(42,31,21,.45),
    0 12px 30px -18px rgba(42,31,21,.18);
  min-height:520px;
}
.specimen::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .16 0 0 0 0 .12 0 0 0 0 .08 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.15;mix-blend-mode:multiply;
}
.specimen-head{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);padding-bottom:var(--s-3);border-bottom:1px solid var(--hair-soft)}
.specimen-no{
  font-family:var(--display);font-style:italic;font-weight:400;
  font-size:clamp(48px,5.4vw,80px);line-height:.9;color:var(--gesso);
  letter-spacing:.04em;
  text-shadow:0 1px 0 var(--carved-light),0 -1px 0 var(--carved),1px 0 0 var(--carved-light),-1px 0 0 var(--carved);
  filter:drop-shadow(0 2px 1px rgba(42,31,21,.18));
  transition:opacity var(--t-fast) var(--ease);
}
.specimen-tag{font-family:var(--display);font-style:italic;font-size:13px;letter-spacing:.04em;color:var(--gold);text-align:right;max-width:60%}
.specimen-name{
  position:relative;margin-top:var(--s-3);
  font-family:var(--display);font-weight:400;font-size:clamp(34px,3.6vw,50px);
  line-height:1.02;letter-spacing:0;color:var(--ink);
}
.specimen-desc{position:relative;margin-top:var(--s-2);font-size:14px;line-height:1.6;color:var(--ink-soft);max-width:48ch}
.specimen-beats-wrap{position:relative;margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--hair-soft)}
.beats-label,.quote-label{display:block;font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--s-3)}
.specimen-beats{list-style:none;counter-reset:beat;display:grid;gap:var(--s-2)}
.specimen-beats li{position:relative;display:grid;grid-template-columns:28px 1fr;gap:var(--s-3);align-items:baseline;font-size:13px;line-height:1.55;color:var(--ink)}
.beat-no{font-family:var(--display);font-style:italic;font-size:14px;color:var(--gold);letter-spacing:.05em}
.specimen-quote{position:relative;margin-top:var(--s-4);padding:var(--s-3) var(--s-4);background:rgba(176,137,72,.06);border-left:2px solid var(--gold)}
.specimen-quote p{font-family:var(--display);font-style:italic;font-size:clamp(16px,1.5vw,20px);line-height:1.35;color:var(--ink);margin-top:6px}
.specimen-quote p::before{content:"\201C";margin-right:2px;color:var(--gold)}
.specimen-quote p::after{content:"\201D";margin-left:2px;color:var(--gold)}

/* fade-flash quando muda */
.specimen .specimen-name,
.specimen .specimen-desc,
.specimen .specimen-no,
.specimen .specimen-tag,
.specimen .specimen-beats li span:last-child,
.specimen .specimen-quote p{
  animation:none;
}
.specimen.flash .specimen-name,
.specimen.flash .specimen-desc,
.specimen.flash .specimen-no,
.specimen.flash .specimen-tag,
.specimen.flash .specimen-beats li span:last-child,
.specimen.flash .specimen-quote p{
  animation:specFade 480ms var(--ease) both;
}
@keyframes specFade{
  0%{opacity:0;transform:translateY(4px)}
  100%{opacity:1;transform:translateY(0)}
}

.column-crack{display:none}

/* ============ IV · PROCESSO ============ */
.page-process{display:grid;grid-template-rows:auto 1fr;gap:var(--s-5);padding:130px var(--s-7) var(--s-6);background:var(--bg)}
.process-head{max-width:780px}
.process{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4);align-items:stretch}
.process li{
  position:relative;padding:var(--s-4);background:var(--gesso);
  border:1px solid var(--hair-soft);border-radius:2px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 1px 0 rgba(255,255,255,.4),0 14px 30px -22px rgba(42,31,21,.4);
  display:grid;grid-template-rows:auto auto 1fr auto;gap:var(--s-2);
  transition:transform var(--t-med) var(--ease);
}
.process li:hover{transform:translateY(-4px)}
.process li::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .16 0 0 0 0 .12 0 0 0 0 .08 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.12;mix-blend-mode:multiply;
}
.process .step{font-family:var(--display);font-style:italic;font-size:32px;color:var(--gesso);text-shadow:0 1px 0 var(--carved-light),0 -1px 0 var(--carved);letter-spacing:.04em}
.process h3{font-family:var(--display);font-weight:400;font-size:24px;color:var(--ink);letter-spacing:0}
.process p{font-size:13px;line-height:1.55;color:var(--ink-soft)}
.step-meta{font-family:var(--display);font-style:italic;font-size:12px;color:var(--gold);letter-spacing:.04em;padding-top:var(--s-2);border-top:1px solid var(--hair-soft)}

/* ============ V · DIREITOS ============ */
.page-rights{display:grid;grid-template-rows:auto 1fr;gap:var(--s-5);padding:130px var(--s-7) var(--s-6);background:var(--paper)}
.rights-head{max-width:780px}
.rights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4)}
.rights-grid article{
  padding:var(--s-4);background:var(--bg);
  border-top:1px solid var(--hair);
  display:grid;grid-template-rows:auto auto 1fr;gap:var(--s-2);
}
.r-no{font-family:var(--display);font-style:italic;font-size:14px;color:var(--gold);letter-spacing:.05em}
.rights-grid h4{font-family:var(--display);font-weight:400;font-size:24px;color:var(--ink);letter-spacing:0;font-style:normal}
.rights-grid p{font-size:13px;line-height:1.6;color:var(--ink-soft)}

/* ============ VI · CONTATO ============ */
.page-contact{display:grid;grid-template-columns:minmax(340px,440px) 1fr;gap:var(--s-7);padding:130px var(--s-7) var(--s-7);align-items:center}
.plate-contact{width:100%;height:76vh;max-height:780px;display:grid;grid-template-rows:1fr auto}
.plate-contact .plate-mat{height:100%}
.plate-contact .plate-image img{object-position:50% 25%}
.contact-text{max-width:560px}
.contact-lede{margin-top:var(--s-2);font-size:15px;line-height:1.6;color:var(--ink-soft);max-width:42ch}
.actions{margin-top:var(--s-5);display:flex;gap:var(--s-3);flex-wrap:wrap}
.btn{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:15px 24px;border:1px solid var(--ink);background:var(--ink);color:var(--gesso);border-radius:2px;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}
.btn:hover{background:var(--gold);border-color:var(--gold)}
.btn.outline{background:transparent;color:var(--ink)}
.btn.outline:hover{background:var(--ink);color:var(--gesso)}
.mark-end{display:block;margin-top:var(--s-6);font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

/* ============ TYPEWRITER ============ */
[data-type].typing::after{content:"▍";color:var(--gold);animation:caret .6s steps(2) infinite;margin-left:2px;font-style:normal}
@keyframes caret{50%{opacity:0}}

/* ============ RESPONSIVE ============ */
@media (max-width:1100px){
  .process{grid-template-columns:repeat(2,1fr)}
  .rights-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .nav{grid-template-columns:1fr auto;gap:12px;padding:14px 16px}
  .role,.nav-links{display:none}
  .nav-rule{top:62px;left:16px;right:16px}
  .page-cover{grid-template-columns:1fr;padding:96px 16px 32px;gap:24px}
  .page-cover .text{justify-self:start}
  .plate-cover{height:auto}
  .plate-cover .plate-mat{height:50vh}
  .foot{left:16px;bottom:16px}
  .page-portrait{grid-template-columns:1fr;padding:96px 16px 32px;gap:24px}
  .plate-portrait .plate-mat{height:54vh}
  .page-index{grid-template-columns:1fr;grid-template-areas:"head" "list" "specimen";padding:96px 16px 32px;gap:20px}
  .index-head{position:static}
  .list.list-interactive li{grid-template-columns:30px 1fr auto}
  .specimen{position:static;min-height:0;padding:var(--s-4)}
  .column-crack{display:none}
  .page-process,.page-rights{padding:96px 16px 32px}
  .process,.rights-grid{grid-template-columns:1fr}
  .page-contact{grid-template-columns:1fr;padding:96px 16px 32px;gap:24px}
  .plate-contact{order:-1}
  .plate-contact .plate-mat{height:46vh}
  .dots{right:8px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01s!important;transition-duration:.2s!important}
}

/* ============ I · COVER — imagem gigante natural ============ */
.page-cover{
  display:block;
  background:#000;
  padding:0;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.page-cover::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(48% 70% at 76% 48%, rgba(255,245,220,.08) 0%, transparent 66%);
}
.page-cover .text{
  position:absolute;
  left:clamp(22px,5vw,82px);
  bottom:clamp(58px,8vh,96px);
  z-index:5;
  max-width:min(660px,43vw);
  padding:0;
  color:#fff6f0;
  text-shadow:0 22px 52px rgba(0,0,0,.46);
}
.page-cover .text::before,
.page-cover .text::after{display:none}
/* parallax por profundidade — gerencidao por JS */
.page-cover [data-depth]{
  transition:transform .55s cubic-bezier(.16,1,.3,1);
  will-change:transform;
}
.page-cover .display{
  color:#fff6f0;
  font-size:clamp(48px,6.2vw,98px);
  line-height:.96;
  letter-spacing:0;
}
.page-cover .lede{font-size:clamp(15px,1.12vw,18px);max-width:48ch;margin-top:0;line-height:1.58;color:rgba(255,246,240,.78)}
.page-cover .numeral{font-size:clamp(21px,1.6vw,30px);margin-bottom:var(--s-3);opacity:.74;color:rgba(255,246,240,.72)}
.page-cover .fleuron{margin:var(--s-2) 0;font-size:15px}
.page-cover .badges{margin-top:var(--s-3);gap:6px}
.page-cover .badges span{
  padding:7px 11px;
  font-size:10px;
  letter-spacing:.1em;
  color:#fff6f0;
  background:rgba(19,13,18,.34);
  border-color:rgba(255,246,240,.26);
  backdrop-filter:blur(12px);
}
.page-cover .foot{left:clamp(22px,5vw,82px);right:auto;z-index:5;color:rgba(255,246,240,.62)}

/* foto cinematográfica — sem mat, dissolve via máscara orgânica + grade quente */
.page-cover .plate-cover{
  height:100vh;height:100dvh;
  inset:0;
  width:100%;
  max-height:none;
  display:block;
  position:absolute;
  z-index:1;
  margin:0;
}
.page-cover .plate-mat{
  padding:0;background:transparent;box-shadow:none;
  height:100%;width:100%;transition:none;
}
.page-cover .plate-mat::before,
.page-cover .plate-mat::after{display:none}
.page-cover .plate-image{
  height:100%;background:#000;
  position:relative;overflow:hidden;
}
.page-cover .plate-image::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:3;
  background:
    radial-gradient(46vw 62vh at 50% 0%,rgba(255,238,196,.18),transparent 72%),
    radial-gradient(42vw 58vh at var(--sx,72%) var(--sy,47%),rgba(255,245,224,.12),transparent 68%),
    linear-gradient(90deg,rgba(19,13,18,.9) 0%,rgba(19,13,18,.66) 30%,rgba(19,13,18,.18) 58%,rgba(19,13,18,.38) 100%),
    linear-gradient(180deg,rgba(19,13,18,.08) 0%,rgba(19,13,18,.12) 45%,rgba(19,13,18,.86) 100%);
  filter:none;
  transition:background 420ms var(--ease);
}
@keyframes haloBreath{
  0%{opacity:.92}
  100%{opacity:1}
}
.page-cover .plate-cover::before{
  display:none;
}
.page-cover .plate-image{
  background:#000;
}
.page-cover .plate-image::after{
  content:"";
  position:absolute;
  inset:-8%;
  z-index:1;
  pointer-events:none;
  background:url("/static/img/karol-natural.jpg") 50% 50% / cover no-repeat;
  filter:blur(22px) brightness(.18) saturate(.72) contrast(1.08);
  opacity:.78;
  transform:scale(1.06);
}
.page-cover .plate-image img{
  position:absolute;
  z-index:2;
  right:clamp(-96px,-4vw,-18px);
  top:0;
  bottom:0;
  width:auto;
  max-width:none;
  height:100%;
  filter:saturate(1.04) contrast(1.04) brightness(1.02);
  object-fit:contain;
  object-position:center;
  animation:none;
  transform:translate3d(var(--hero-img-x,0px),var(--hero-img-y,0px),0);
  transition:transform 650ms cubic-bezier(.16,1,.3,1),filter 420ms var(--ease);
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0,0,0,.14) 8%, #000 28%, #000 88%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 3%, #000 95%, transparent 100%);
  -webkit-mask-composite: source-in;
          mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0,0,0,.14) 8%, #000 28%, #000 88%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 3%, #000 95%, transparent 100%);
          mask-composite: intersect;
}
/* reflexo interativo — luz quente e discreta acompanhando a foto */
.page-cover .spotlight{
  position:absolute;inset:0;pointer-events:none;z-index:4;
  background:
    radial-gradient(18% 26% at 50% 0%,
      rgba(255,242,206,.34) 0%,
      rgba(255,230,171,.16) 44%,
      transparent 78%),
    radial-gradient(22% 32% at var(--sx,72%) var(--sy,45%),
      rgba(255,235,180,.2) 0%,
      rgba(231,201,148,.1) 38%,
      transparent 78%),
    linear-gradient(104deg,transparent 0%,transparent 42%,rgba(255,246,220,.09) 50%,transparent 58%,transparent 100%);
  mix-blend-mode:screen;
  filter:blur(18px);
  opacity:.9;
  transform:translate3d(var(--hero-light-x,0px),var(--hero-light-y,0px),0);
  transition:opacity .4s var(--ease),transform 650ms cubic-bezier(.16,1,.3,1);
}
@keyframes burnsCover{
  0%{transform:scale(.985) translate3d(0,0,0)}
  100%{transform:scale(1.015) translate3d(-.25%,.25%,0)}
}

/* camada de cinema: apenas grão, sem vinheta dupla (máscara já feathea bordas) */
.page-cover .spotlight::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.7' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .14 0 0 0 0 .10 0 0 0 0 .06 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
  opacity:.45;
}

/* esconde mat, marcas e legenda — foto vira ambiente */
.page-cover .plate-cap{display:none}
.page-cover .mark{display:none}
.page-cover .plate:hover .plate-mat{transform:none}

/* etiqueta de cena removida — visual mais limpo no canto da foto */

@media (max-width:900px){
  .page-cover{display:block;padding:0}
  .page-cover .text{
    left:18px;
    right:18px;
    bottom:94px;
    max-width:none;
  }
  .page-cover .display{font-size:clamp(40px,10.8vw,62px);line-height:1}
  .page-cover .lede{font-size:clamp(14px,4vw,18px);line-height:1.55}
  .page-cover .badges{margin-top:14px}
  .page-cover [data-depth]{transition:none}
  .page-cover .plate-cover{margin-top:0;height:100vh;height:100dvh}
  .page-cover .foot{left:18px;right:auto}
  .page-cover .plate-image::before{
    background:
      linear-gradient(180deg,rgba(19,13,18,.08) 0%,rgba(19,13,18,.22) 34%,rgba(19,13,18,.9) 100%),
      linear-gradient(90deg,rgba(19,13,18,.48),rgba(19,13,18,.08) 64%);
  }
  .page-cover .plate-image img{
    position:relative;
    right:auto;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:56% 32%;
    -webkit-mask-image:none;
            mask-image:none;
  }
}

/* ============ SECOES NATURAIS SOBRE FUNDO LUMINOSO ============ */
.page-portrait,
.page-index,
.page-process,
.page-rights,
.page-contact{
  background:
    radial-gradient(58vw 72vh at 72% 16%,rgba(255,236,196,.16),transparent 68%),
    radial-gradient(50vw 64vh at 18% 82%,rgba(169,130,61,.14),transparent 72%),
    radial-gradient(78vw 88vh at 50% 50%,rgba(255,248,243,.055),transparent 74%),
    linear-gradient(180deg,#171112 0%,#0f0a0b 50%,#171112 100%);
}
.page-portrait::before,
.page-index::before,
.page-process::before,
.page-rights::before,
.page-contact::before{
  display:none;
}
.page-portrait::after,
.page-index::after,
.page-process::after,
.page-rights::after,
.page-contact::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,248,243,.035),transparent 18%,transparent 82%,rgba(255,248,243,.035)),
    linear-gradient(180deg,rgba(255,248,243,.05),transparent 18%,transparent 82%,rgba(0,0,0,.22));
}
.page-portrait > *,
.page-index > *,
.page-process > *,
.page-rights > *,
.page-contact > *{
  position:relative;
  z-index:1;
}

.portrait-cap,
.index-head,
.process-head,
.rights-head,
.contact-text{
  background:rgba(246,241,234,.84);
  border:1px solid rgba(255,248,243,.2);
  box-shadow:0 28px 86px rgba(0,0,0,.28);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  padding:clamp(24px,3vw,46px);
}
.page-portrait{
  grid-template-columns:minmax(320px,42vw) minmax(320px,520px);
}
.plate-portrait .plate-mat,
.plate-contact .plate-mat{
  background:rgba(246,241,234,.2);
  border:1px solid rgba(255,248,243,.16);
  box-shadow:0 30px 90px rgba(0,0,0,.34);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.page-index{
  grid-template-columns:minmax(330px,.85fr) 1.15fr;
}
.list{
  background:rgba(246,241,234,.78);
  border:1px solid rgba(255,248,243,.18);
  box-shadow:0 28px 86px rgba(0,0,0,.22);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  padding:10px 24px;
}
.specimen{
  background:rgba(246,241,234,.86);
  border:1px solid rgba(255,248,243,.2);
  box-shadow:0 28px 86px rgba(0,0,0,.26);
}

.process li,
.rights-grid article{
  background:rgba(246,241,234,.82);
  border:1px solid rgba(255,248,243,.18);
  border-top:1px solid rgba(169,130,61,.62);
  box-shadow:0 24px 70px rgba(0,0,0,.22);
}
.contact-text{
  justify-self:start;
}

@media (max-width:900px){
  .page-portrait,
  .page-index,
  .page-process,
  .page-rights,
  .page-contact{
    background:
      radial-gradient(90vw 62vh at 74% 10%,rgba(255,236,196,.15),transparent 68%),
      linear-gradient(180deg,#171112,#100b0c);
  }
  .portrait-cap,
  .index-head,
  .process-head,
  .rights-head,
  .contact-text,
  .list,
  .specimen,
  .process li,
  .rights-grid article{
    background:rgba(246,241,234,.88);
    box-shadow:0 18px 50px rgba(0,0,0,.22);
  }
  .list{padding:6px 16px}
}

/* ============ DIRECAO LUXO MINIMAL ============ */
:root{
  --bg:#efe9df;
  --bg-2:#e6ded2;
  --paper:#f6f1ea;
  --gesso:#f1ebe2;
  --gesso-shadow:#ded3c4;
  --ink:#211815;
  --ink-soft:#5f524b;
  --muted:#8a7a6d;
  --gold:#a9823d;
  --hair:rgba(33,24,21,.18);
  --hair-soft:rgba(33,24,21,.08);
}

html,body{background:#050404}
.book{background:#050404}
body *{letter-spacing:0}

.brand-orn,
.fleuron,
.nav-rule::after,
.mark{display:none}

.brand-name,
.display,
.display-sm,
.page-cover .display,
.list strong,
.specimen-name,
.process h3,
.rights-grid h4{
  letter-spacing:0;
  font-variation-settings:normal;
}

.nav{
  background:rgba(246,241,234,.82);
  border-bottom:1px solid rgba(33,24,21,.08);
  box-shadow:none;
}
.brand{gap:0}
.brand-name{
  font-size:clamp(30px,2.5vw,40px);
  font-weight:500;
  line-height:.9;
  color:var(--ink);
}
.role,
.nav-links a,
.cta,
.foot,
.badges span,
.plate-cap,
.beats-label,
.quote-label,
.mark-end{
  letter-spacing:0;
}
.role,
.nav-links a{
  font-size:12px;
  font-weight:500;
  color:rgba(33,24,21,.72);
}
.role em,
.nav-links a i{
  color:var(--gold);
  font-family:var(--display);
  font-style:italic;
}
.cta{
  border-radius:0;
  background:var(--ink);
  box-shadow:none;
  padding:13px 24px;
}
.nav-rule{
  top:82px;
  background:linear-gradient(90deg,transparent,rgba(33,24,21,.12),transparent);
}

.display,
.display-sm{
  font-weight:400;
  line-height:1;
}
.display em,
.display-sm em{
  color:var(--gold);
  font-weight:400;
}
.lede,
.head-note,
.bullets li,
.specimen-desc,
.process p,
.rights-grid p,
.contact-lede{
  font-weight:400;
  color:var(--ink-soft);
}

.page-cover .text{
  left:clamp(28px,5vw,88px);
  bottom:clamp(70px,10vh,116px);
  max-width:min(650px,42vw);
}
.page-cover .display{
  font-size:clamp(56px,6vw,104px);
  line-height:.98;
  color:#fff8f3;
  text-shadow:0 22px 60px rgba(0,0,0,.38);
}
.page-cover .display em{color:#b99453}
.page-cover .lede{
  margin-top:var(--s-3);
  font-size:clamp(15px,1vw,18px);
  max-width:44ch;
  color:rgba(255,248,243,.76);
}
.page-cover .numeral{
  font-size:clamp(18px,1.35vw,24px);
  margin-bottom:var(--s-4);
  color:rgba(255,248,243,.56);
}
.page-cover .badges{
  margin-top:var(--s-4);
  gap:8px;
}
.page-cover .badges span{
  border-radius:0;
  border-color:rgba(255,248,243,.22);
  background:rgba(8,6,7,.18);
  color:rgba(255,248,243,.86);
  padding:8px 12px;
}
.page-cover .badges em{
  color:#b99453;
  font-family:var(--display);
  font-weight:400;
}

.plate-mat,
.specimen,
.process li,
.rights-grid article{
  background:rgba(255,252,247,.7);
  border-radius:0;
  box-shadow:none;
}
.plate-mat::before,
.specimen::before,
.process li::before{display:none}
.plate-mat::after{border-color:rgba(33,24,21,.1)}
.plate:hover .plate-mat,
.process li:hover{transform:none}

.page-portrait,
.page-index,
.page-process,
.page-rights,
.page-contact{
  background:
    radial-gradient(80vw 90vh at 78% 18%,rgba(169,130,61,.12),transparent 62%),
    radial-gradient(72vw 80vh at 12% 82%,rgba(255,248,243,.06),transparent 68%),
    #050404;
  isolation:isolate;
}
.page-portrait::before,
.page-index::before,
.page-process::before,
.page-rights::before,
.page-contact::before{
  content:"";
  position:absolute;
  top:108px;
  bottom:42px;
  left:clamp(18px,4vw,70px);
  right:clamp(18px,4vw,70px);
  z-index:0;
  pointer-events:none;
  background:rgba(246,241,234,.9);
  border:1px solid rgba(255,248,243,.18);
  box-shadow:0 28px 90px rgba(0,0,0,.32);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.page-portrait::before,
.page-process::before{
  right:clamp(18px,9vw,150px);
}
.page-index::before,
.page-rights::before,
.page-contact::before{
  left:clamp(18px,9vw,150px);
}
.page-portrait > *,
.page-index > *,
.page-process > *,
.page-rights > *,
.page-contact > *{
  position:relative;
  z-index:1;
}
.page-portrait{
  grid-template-columns:minmax(320px,43vw) 1fr;
}
.portrait-cap p{
  font-style:normal;
  font-size:clamp(30px,3.2vw,54px);
  line-height:1.04;
}
.portrait-cap p em{font-style:italic;color:var(--gold)}
.bullets{
  border-top:1px solid var(--hair);
}
.bullets strong,
.list span,
.beat-no,
.r-no,
.process .step,
.step-meta{
  letter-spacing:0;
  color:var(--gold);
  text-shadow:none;
}

.list.list-interactive li{
  border-bottom:1px solid var(--hair-soft);
  padding:18px 0;
}
.list.list-interactive li:hover,
.list.list-interactive li:focus-visible,
.list.list-interactive li.is-active{
  background:transparent;
  padding-left:12px;
}
.list strong{
  font-size:clamp(24px,2.3vw,34px);
}
.specimen{
  background:rgba(255,252,247,.72);
  border:1px solid rgba(33,24,21,.1);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.specimen-no{
  color:rgba(33,24,21,.12);
  text-shadow:none;
  filter:none;
}
.specimen-quote{
  background:rgba(169,130,61,.06);
  border-left:1px solid var(--gold);
}

.process li,
.rights-grid article{
  background:rgba(255,252,247,.62);
  border:1px solid rgba(33,24,21,.1);
  border-top:1px solid var(--ink);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.process h3,
.rights-grid h4{
  font-size:clamp(24px,2vw,32px);
}
.btn{
  border-radius:0;
  letter-spacing:0;
}

@media (max-width:900px){
  .page-cover .text{
    left:18px;
    right:18px;
    bottom:88px;
    max-width:none;
  }
  .page-cover .display{font-size:clamp(46px,12vw,72px)}
  .page-portrait::before,
  .page-index::before,
  .page-process::before,
  .page-rights::before,
  .page-contact::before{
    top:78px;
    bottom:16px;
    left:12px;
    right:12px;
    background:rgba(246,241,234,.92);
  }
}

/* ============ BORDEAUX FINAL — vinho, luz e beleza ============ */
:root{
  --wine:#241019;
  --wine-deep:#10090d;
  --wine-soft:#3d1d2a;
  --rose:#b98290;
  --cream:#fff4ee;
  --cream-soft:rgba(255,244,238,.72);
  --gold:#b99453;
  --ink:#241616;
}

html,body,.book{background:var(--wine-deep)}

.nav{
  background:linear-gradient(180deg,rgba(45,21,31,.9),rgba(24,12,17,.78));
  border-bottom:1px solid rgba(255,244,238,.12);
  box-shadow:0 18px 54px rgba(18,4,8,.32);
}
.brand-name{color:var(--cream)}
.role,
.nav-links a{color:rgba(255,244,238,.72)}
.role em,
.nav-links a i{color:#d4a35e}
.nav-links a:hover{color:var(--cream)}
.cta{
  background:rgba(255,244,238,.1);
  color:var(--cream);
  border-color:rgba(255,244,238,.28);
}
.cta:hover{
  background:rgba(185,148,83,.22);
  border-color:rgba(185,148,83,.52);
}
.nav-rule{
  background:linear-gradient(90deg,transparent,rgba(185,130,144,.28),rgba(185,148,83,.2),transparent);
}

.page-cover{
  background:
    radial-gradient(72vw 90vh at 76% 20%,rgba(61,29,42,.24),transparent 68%),
    #090306;
}
.page-cover::before{
  background:radial-gradient(42vw 70vh at 72% 40%,rgba(185,130,144,.08),transparent 70%);
}
.page-cover .plate-image{background:var(--wine-deep)}
.page-cover .plate-image::before{
  background:
    radial-gradient(44vw 60vh at 50% 0%,rgba(255,220,196,.13),transparent 72%),
    radial-gradient(42vw 58vh at var(--sx,62%) var(--sy,34%),rgba(185,130,144,.11),transparent 68%),
    linear-gradient(90deg,rgba(16,9,13,.92) 0%,rgba(36,16,25,.66) 32%,rgba(36,16,25,.14) 62%,rgba(16,9,13,.36) 100%),
    linear-gradient(180deg,rgba(16,9,13,.08) 0%,rgba(16,9,13,.14) 46%,rgba(16,9,13,.9) 100%);
}
.page-cover .spotlight{
  background:
    radial-gradient(18% 26% at 50% 0%,rgba(255,228,198,.26),rgba(255,210,178,.1) 44%,transparent 78%),
    radial-gradient(22% 32% at var(--sx,62%) var(--sy,34%),rgba(185,130,144,.13),rgba(185,148,83,.08) 42%,transparent 78%),
    linear-gradient(104deg,transparent 0%,transparent 42%,rgba(255,225,214,.08) 50%,transparent 58%,transparent 100%);
}
.page-cover .display,
.page-cover .lede,
.page-cover .numeral,
.page-cover .foot{color:var(--cream)}
.page-cover .display em,
.page-cover .badges em{color:#c99a52}
.page-cover .badges span{
  background:rgba(42,7,18,.28);
  border-color:rgba(255,244,238,.2);
  color:rgba(255,244,238,.86);
}

.page-portrait,
.page-index,
.page-process,
.page-rights,
.page-contact{
  background:
    radial-gradient(62vw 76vh at 76% 12%,rgba(200,107,134,.2),transparent 68%),
    radial-gradient(54vw 70vh at 12% 86%,rgba(185,148,83,.11),transparent 72%),
    radial-gradient(78vw 88vh at 48% 50%,rgba(255,244,238,.055),transparent 74%),
    linear-gradient(180deg,#1f1218 0%,#10090d 52%,#241019 100%) !important;
  color:var(--cream);
}
.page-portrait::before,
.page-index::before,
.page-process::before,
.page-rights::before,
.page-contact::before{display:none !important}
.page-portrait::after,
.page-index::after,
.page-process::after,
.page-rights::after,
.page-contact::after{
  background:
    linear-gradient(90deg,rgba(255,244,238,.045),transparent 20%,transparent 80%,rgba(255,244,238,.035)),
    linear-gradient(180deg,rgba(255,244,238,.05),transparent 18%,transparent 82%,rgba(0,0,0,.22));
}

.portrait-cap,
.index-head,
.process-head,
.rights-head,
.contact-text,
.list,
.specimen,
.process li,
.rights-grid article{
  background:rgba(18,4,8,.3) !important;
  border:1px solid rgba(255,244,238,.11) !important;
  box-shadow:0 26px 74px rgba(0,0,0,.24) !important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  color:var(--cream);
}
.portrait-cap,
.index-head,
.process-head,
.rights-head,
.contact-text{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  padding:0;
}
.plate-mat,
.plate-portrait .plate-mat,
.plate-contact .plate-mat{
  background:rgba(18,4,8,.22) !important;
  border:1px solid rgba(255,244,238,.12);
  box-shadow:0 32px 92px rgba(0,0,0,.34);
}
.display,
.display-sm,
.portrait-cap p,
.specimen-name,
.process h3,
.rights-grid h4,
.contact-text .display-sm{
  color:var(--cream);
}
.display em,
.display-sm em,
.portrait-cap p em,
.bullets strong,
.list span,
.beat-no,
.r-no,
.process .step,
.step-meta,
.head-note strong{
  color:#c99a52;
}
.lede,
.head-note,
.bullets li,
.specimen-desc,
.specimen-tag,
.specimen-beats li,
.process p,
.rights-grid p,
.contact-lede{
  color:var(--cream-soft);
}
.list{border-top:1px solid rgba(255,244,238,.16)}
.list,
.specimen{
  background:rgba(18,4,8,.34) !important;
}
.list.list-interactive li{border-bottom:1px solid rgba(255,244,238,.1)}
.list strong{color:var(--cream)}
.list em{color:rgba(255,244,238,.62)}
.list.list-interactive li.is-active strong,
.list.list-interactive li:hover strong{color:#d8a75f}
.specimen-no{color:rgba(255,244,238,.16)}
.specimen-quote{
  background:rgba(200,107,134,.08);
  border-left:1px solid rgba(201,154,82,.74);
}
.specimen-quote p{color:var(--cream)}
.process li,
.rights-grid article{
  background:rgba(18,4,8,.28) !important;
  border-color:rgba(255,244,238,.1) !important;
  border-top-color:rgba(201,154,82,.68) !important;
}
.btn.outline{
  color:var(--cream);
  border-color:rgba(255,244,238,.34);
}
.btn.outline:hover,
.btn{
  background:rgba(255,244,238,.1);
  color:var(--cream);
  border-color:rgba(255,244,238,.26);
}
.mark-end{color:rgba(255,244,238,.54)}
.dots button{background:rgba(255,244,238,.28)}
.dots button.active{background:#d8a75f}

@media (max-width:900px){
  .nav{background:rgba(42,7,18,.9)}
  .page-portrait,
  .page-index,
  .page-process,
  .page-rights,
  .page-contact{
    background:
      radial-gradient(96vw 64vh at 76% 8%,rgba(185,130,144,.15),transparent 68%),
      linear-gradient(180deg,#1f1218,#10090d) !important;
  }
}

/* ============ FOTOS AMBIENTE + LANTERNA GLOBAL ============ */
:root{
  --mx:50vw;
  --my:45vh;
}

.page:not(.page-cover)::after{
  background:
    radial-gradient(360px 360px at var(--mx) var(--my),rgba(255,222,196,.12),rgba(185,130,144,.055) 38%,transparent 72%),
    radial-gradient(58vw 72vh at 74% 14%,rgba(185,130,144,.1),transparent 68%),
    linear-gradient(180deg,rgba(255,244,238,.04),transparent 22%,transparent 78%,rgba(0,0,0,.24));
  mix-blend-mode:screen;
}

.plate-portrait,
.plate-contact{
  height:min(78vh,780px);
  align-self:center;
}
.plate-portrait .plate-mat,
.plate-contact .plate-mat{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  height:100% !important;
}
.plate-portrait .plate-mat::after,
.plate-contact .plate-mat::after,
.plate-portrait .plate-cap,
.plate-contact .plate-cap{
  display:none !important;
}
.plate-portrait .plate-image,
.plate-contact .plate-image{
  background:transparent;
  overflow:visible;
}
.plate-portrait .plate-image::before,
.plate-contact .plate-image::before{
  content:"";
  position:absolute;
  inset:-8%;
  z-index:0;
  pointer-events:none;
  background:radial-gradient(closest-side,rgba(185,130,144,.18),transparent 70%);
  filter:blur(34px);
}
.plate-portrait .plate-image img,
.plate-contact .plate-image img{
  position:relative;
  z-index:1;
  filter:saturate(.94) contrast(1.02) brightness(.9);
  box-shadow:none;
  -webkit-mask-image:
    linear-gradient(90deg,transparent 0%,#000 14%,#000 86%,transparent 100%),
    linear-gradient(180deg,transparent 0%,#000 10%,#000 90%,transparent 100%);
  -webkit-mask-composite:source-in;
          mask-image:
    linear-gradient(90deg,transparent 0%,#000 14%,#000 86%,transparent 100%),
    linear-gradient(180deg,transparent 0%,#000 10%,#000 90%,transparent 100%);
          mask-composite:intersect;
}
.plate-portrait .plate-image img{
  width:112%;
  height:112%;
  object-fit:cover;
  object-position:50% 48%;
  transform:translate3d(-3%,0,0);
}
.plate-portrait .plate-image::before{
  inset:-14%;
}
.page-portrait{
  grid-template-columns:minmax(360px,58vw) minmax(240px,360px) !important;
  gap:clamp(28px,5vw,80px);
}
.page-portrait .portrait-cap{
  align-self:center;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible;
}
.page-portrait .portrait-cap::before{
  display:none !important;
}
.portrait-cap p{
  font-size:clamp(34px,4.2vw,72px);
  line-height:.98;
  max-width:7.8ch;
}
.bullets{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  border:0;
  margin-top:var(--s-4);
  padding-top:0;
}
.bullets li{
  padding:8px 11px;
  border:1px solid rgba(255,244,238,.16);
  background:rgba(255,244,238,.055);
  color:rgba(255,244,238,.76);
  line-height:1;
}
.bullets strong{
  margin:0;
  font-family:var(--sans);
  font-style:normal;
  font-size:12px;
  color:rgba(255,244,238,.78);
}

.portrait-cap,
.index-head,
.process-head,
.rights-head,
.contact-text,
.list,
.specimen,
.process li,
.rights-grid article{
  position:relative;
  overflow:hidden;
}
.portrait-cap::before,
.index-head::before,
.process-head::before,
.rights-head::before,
.contact-text::before,
.list::before,
.specimen::before,
.process li::before,
.rights-grid article::before{
  content:"";
  display:block !important;
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(180px 180px at 16% 12%,rgba(255,224,196,.12),transparent 62%),
    radial-gradient(220px 220px at 88% 78%,rgba(185,130,144,.1),transparent 66%);
}
.portrait-cap > *,
.index-head > *,
.process-head > *,
.rights-head > *,
.contact-text > *,
.list > *,
.specimen > *,
.process li > *,
.rights-grid article > *{
  position:relative;
  z-index:1;
}
.process li::after,
.rights-grid article::after,
.specimen::after,
.list::after{
  content:"";
  position:absolute;
  width:5px;
  height:5px;
  right:18px;
  top:18px;
  border-radius:50%;
  background:rgba(216,167,95,.7);
  box-shadow:0 0 24px rgba(216,167,95,.3),0 0 58px rgba(185,130,144,.14);
  pointer-events:none;
}

@media (max-width:900px){
  .plate-portrait,
  .plate-contact{height:48vh}
  .plate-portrait .plate-image img,
  .plate-contact .plate-image img{
    -webkit-mask-image:
      linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%),
      linear-gradient(180deg,transparent 0%,#000 6%,#000 94%,transparent 100%);
            mask-image:
      linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%),
      linear-gradient(180deg,transparent 0%,#000 6%,#000 94%,transparent 100%);
  }
}

/* ============ NOIR BEAUTY CLEANUP — menos cor, menos card ============ */
:root{
  --wine:#171115;
  --wine-deep:#0b090b;
  --wine-soft:#2a2025;
  --rose:#8f6f78;
  --cream:#f8efe9;
  --cream-soft:rgba(248,239,233,.68);
  --gold:#b99a63;
  --ink:#181214;
}

html,body,.book{background:#0b090b}

.nav{
  background:rgba(14,11,13,.72);
  border-bottom:1px solid rgba(248,239,233,.08);
  box-shadow:none;
}
.nav-rule{
  background:linear-gradient(90deg,transparent,rgba(248,239,233,.12),transparent);
}
.cta{
  background:rgba(248,239,233,.06);
  border-color:rgba(248,239,233,.2);
}

.page-cover{
  background:
    radial-gradient(70vw 86vh at 74% 18%,rgba(143,111,120,.13),transparent 68%),
    #090709;
}
.page-cover::before{
  background:radial-gradient(42vw 70vh at 72% 40%,rgba(248,239,233,.055),transparent 72%);
}
.page-cover .plate-image::before{
  background:
    radial-gradient(44vw 60vh at 50% 0%,rgba(248,220,196,.09),transparent 72%),
    radial-gradient(42vw 58vh at var(--sx,62%) var(--sy,34%),rgba(143,111,120,.075),transparent 68%),
    linear-gradient(90deg,rgba(11,9,11,.92) 0%,rgba(23,17,21,.62) 34%,rgba(23,17,21,.12) 62%,rgba(11,9,11,.36) 100%),
    linear-gradient(180deg,rgba(11,9,11,.08) 0%,rgba(11,9,11,.14) 46%,rgba(11,9,11,.9) 100%);
}
.page-cover .spotlight{
  background:
    radial-gradient(18% 26% at 50% 0%,rgba(248,220,196,.18),rgba(248,220,196,.07) 44%,transparent 78%),
    radial-gradient(22% 32% at var(--sx,62%) var(--sy,34%),rgba(143,111,120,.09),rgba(185,154,99,.055) 42%,transparent 78%);
}
.page-cover .display em,
.page-cover .badges em,
.display em,
.display-sm em,
.portrait-cap p em,
.bullets strong,
.list span,
.beat-no,
.r-no,
.process .step,
.step-meta,
.head-note strong{
  color:var(--gold);
}

.page-portrait,
.page-index,
.page-process,
.page-rights,
.page-contact{
  background:
    radial-gradient(62vw 76vh at 76% 12%,rgba(143,111,120,.105),transparent 68%),
    radial-gradient(54vw 70vh at 12% 86%,rgba(185,154,99,.075),transparent 72%),
    radial-gradient(78vw 88vh at 48% 50%,rgba(248,239,233,.035),transparent 74%),
    linear-gradient(180deg,#171115 0%,#0b090b 52%,#131013 100%) !important;
}
.page:not(.page-cover)::after{
  background:
    radial-gradient(320px 320px at var(--mx) var(--my),rgba(248,220,196,.085),rgba(143,111,120,.035) 38%,transparent 72%),
    linear-gradient(180deg,rgba(248,239,233,.025),transparent 24%,transparent 78%,rgba(0,0,0,.18));
}

.portrait-cap,
.index-head,
.process-head,
.rights-head,
.contact-text{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.list,
.specimen,
.process li,
.rights-grid article{
  background:rgba(248,239,233,.045) !important;
  border:1px solid rgba(248,239,233,.105) !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.list::before,
.specimen::before,
.process li::before,
.rights-grid article::before,
.portrait-cap::before,
.index-head::before,
.process-head::before,
.rights-head::before,
.contact-text::before{
  display:none !important;
}
.process li::after,
.rights-grid article::after,
.specimen::after,
.list::after{
  display:none !important;
}

.numeral{
  opacity:.28;
  font-size:clamp(18px,1.7vw,28px);
}
.page:not(.page-cover) .numeral{
  display:none;
}
.portrait-cap p{
  max-width:8.5ch;
}
.bullets li{
  background:transparent;
  border-color:rgba(248,239,233,.14);
}

.plate-portrait .plate-image::before,
.plate-contact .plate-image::before{
  background:radial-gradient(closest-side,rgba(143,111,120,.12),transparent 72%);
}
.plate-portrait .plate-image img,
.plate-contact .plate-image img{
  filter:saturate(.86) contrast(1.02) brightness(.92);
}

@media (max-width:900px){
  .page-portrait,
  .page-index,
  .page-process,
  .page-rights,
  .page-contact{
    background:
      radial-gradient(96vw 64vh at 76% 8%,rgba(143,111,120,.09),transparent 68%),
      linear-gradient(180deg,#171115,#0b090b) !important;
  }
}

/* ============ EDITORIAL SYSTEM — sem cards de texto ============ */
.page-portrait,
.page-index,
.page-process,
.page-rights,
.page-contact{
  background:
    radial-gradient(70vw 72vh at 78% 14%,rgba(248,220,196,.08),transparent 68%),
    radial-gradient(58vw 74vh at 18% 88%,rgba(185,154,99,.06),transparent 72%),
    linear-gradient(180deg,#100d0f 0%,#090809 54%,#111012 100%) !important;
}
.page:not(.page-cover)::after{
  background:
    radial-gradient(300px 300px at var(--mx) var(--my),rgba(248,220,196,.07),transparent 70%),
    linear-gradient(90deg,rgba(248,239,233,.035),transparent 16%,transparent 84%,rgba(248,239,233,.03));
}

.portrait-cap,
.index-head,
.process-head,
.rights-head,
.contact-text,
.list,
.specimen,
.process li,
.rights-grid article{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  overflow:visible;
}

.page-portrait{
  grid-template-columns:minmax(420px,58vw) minmax(240px,380px) !important;
  align-items:end;
}
.page-portrait .portrait-cap{
  align-self:end;
  padding-bottom:clamp(42px,7vh,96px) !important;
}
.portrait-cap p{
  max-width:8.8ch;
  font-size:clamp(42px,5vw,88px);
  line-height:.94;
}
.bullets{
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid rgba(248,239,233,.18);
  gap:10px;
}
.bullets li{
  padding:0;
  border:0;
  background:transparent;
}
.bullets li + li::before{
  content:"/";
  margin-right:10px;
  color:rgba(248,239,233,.28);
}
.bullets strong{
  font-size:13px;
  color:rgba(248,239,233,.68);
}

.page-index{
  grid-template-columns:minmax(280px,380px) minmax(420px,1fr);
  grid-template-areas:"head list" "specimen list";
  column-gap:clamp(36px,6vw,110px);
}
.index-head,
.process-head,
.rights-head{
  max-width:420px;
  border-top:1px solid rgba(248,239,233,.18) !important;
  padding-top:22px !important;
}
.head-note{
  max-width:34ch;
}
.list{
  align-self:center;
  padding:0;
  border-top:1px solid rgba(248,239,233,.18) !important;
}
.list.list-interactive li{
  grid-template-columns:34px 1fr;
  padding:18px 0;
  border-bottom:1px solid rgba(248,239,233,.12);
}
.list.list-interactive li:hover,
.list.list-interactive li:focus-visible,
.list.list-interactive li.is-active{
  padding-left:0;
}
.list .arrow{display:none}
.list strong{
  font-size:clamp(28px,3vw,46px);
  line-height:.96;
}
.list em{
  margin-top:8px;
  max-width:44ch;
}
.specimen{
  min-height:0;
  padding:0;
  align-self:end;
  border-top:1px solid rgba(185,154,99,.34) !important;
  padding-top:20px !important;
}
.specimen-head,
.specimen-beats-wrap{
  border-color:rgba(248,239,233,.14);
}
.specimen-no{display:none}
.specimen-name{
  font-size:clamp(28px,3vw,44px);
}
.specimen-quote{
  background:transparent;
  border-left:0;
  border-top:1px solid rgba(248,239,233,.14);
  padding:18px 0 0;
}

.page-process,
.page-rights{
  grid-template-rows:auto 1fr;
}
.process,
.rights-grid{
  align-self:center;
  gap:0;
  border-top:1px solid rgba(248,239,233,.18);
}
.process li,
.rights-grid article{
  padding:24px 24px 24px 0;
  border:0 !important;
  border-bottom:1px solid rgba(248,239,233,.12) !important;
}
.process li{
  grid-template-rows:auto auto 1fr auto;
}
.process .step,
.r-no{
  font-size:18px;
  color:rgba(185,154,99,.72);
}
.process h3,
.rights-grid h4{
  font-size:clamp(30px,2.8vw,44px);
  line-height:.98;
}
.process p,
.rights-grid p{
  max-width:28ch;
}

.page-contact{
  grid-template-columns:minmax(340px,48vw) minmax(280px,480px);
}
.contact-text{
  border-top:1px solid rgba(248,239,233,.18) !important;
  padding-top:24px !important;
}
.actions{
  border-top:1px solid rgba(248,239,233,.12);
  padding-top:22px;
}
.btn,
.btn.outline{
  background:transparent;
  border-color:rgba(248,239,233,.2);
}

@media (max-width:900px){
  .page-portrait,
  .page-index,
  .page-process,
  .page-rights,
  .page-contact{
    display:grid;
  }
  .page-portrait{
    grid-template-columns:1fr !important;
    align-items:center;
  }
  .page-portrait .portrait-cap{
    padding-bottom:0 !important;
  }
  .portrait-cap p{
    max-width:10ch;
    font-size:clamp(38px,11vw,68px);
  }
  .page-index{
    grid-template-columns:1fr;
    grid-template-areas:"head" "list" "specimen";
  }
  .list strong{font-size:clamp(26px,8vw,40px)}
  .process,
  .rights-grid{
    border-top:1px solid rgba(248,239,233,.16);
  }
  .process li,
  .rights-grid article{
    padding-right:0;
  }
}

/* ============ READABILITY PASS — contraste sem linhas duras ============ */
:root{
  --cream:#fff7f2;
  --cream-soft:rgba(255,247,242,.82);
  --cream-muted:rgba(255,247,242,.62);
  --gold:#c7a467;
}

.page-portrait,
.page-index,
.page-process,
.page-rights,
.page-contact{
  background:
    radial-gradient(70vw 76vh at 76% 16%,rgba(255,228,205,.105),transparent 70%),
    radial-gradient(54vw 70vh at 18% 86%,rgba(199,164,103,.07),transparent 74%),
    linear-gradient(180deg,#111012 0%,#080708 52%,#111012 100%) !important;
}
.page:not(.page-cover)::after{
  background:
    radial-gradient(340px 340px at var(--mx) var(--my),rgba(255,236,214,.08),transparent 72%),
    linear-gradient(180deg,rgba(255,247,242,.028),transparent 30%,transparent 76%,rgba(0,0,0,.18));
}

.display,
.display-sm,
.portrait-cap p,
.specimen-name,
.process h3,
.rights-grid h4{
  color:var(--cream);
  font-weight:500;
  text-shadow:0 18px 54px rgba(0,0,0,.38);
}
.lede,
.head-note,
.bullets li,
.specimen-desc,
.specimen-tag,
.specimen-beats li,
.process p,
.rights-grid p,
.contact-lede,
.list em{
  color:var(--cream-soft);
  font-weight:400;
}
.role,
.nav-links a,
.page-cover .lede,
.page-cover .foot{
  color:var(--cream-soft);
}

.index-head,
.process-head,
.rights-head,
.contact-text,
.list,
.specimen,
.process,
.rights-grid,
.bullets,
.actions,
.specimen-head,
.specimen-beats-wrap,
.specimen-quote{
  border-color:rgba(255,247,242,.09) !important;
}
.index-head,
.process-head,
.rights-head,
.contact-text{
  border-top:0 !important;
  padding-top:0 !important;
}
.index-head::after,
.process-head::after,
.rights-head::after,
.contact-text::after{
  content:"";
  display:block;
  width:72px;
  height:1px;
  margin-top:22px;
  background:linear-gradient(90deg,rgba(199,164,103,.64),transparent);
}
.list,
.process,
.rights-grid{
  border-top:0 !important;
}
.list.list-interactive li,
.process li,
.rights-grid article{
  border-bottom:0 !important;
  position:relative;
}
.list.list-interactive li::after,
.process li::after,
.rights-grid article::after{
  content:"";
  position:absolute;
  left:0;
  right:clamp(18px,4vw,56px);
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,rgba(255,247,242,.13),transparent);
  display:block !important;
}
.list.list-interactive li:last-child::after,
.process li:last-child::after,
.rights-grid article:last-child::after{
  display:none !important;
}

.page-portrait{
  grid-template-columns:minmax(460px,60vw) minmax(260px,390px) !important;
  gap:clamp(30px,4vw,72px);
}
.plate-portrait{
  height:min(82vh,820px);
}
.plate-portrait .plate-image img{
  filter:saturate(.9) contrast(1.05) brightness(.98);
  -webkit-mask-image:
    linear-gradient(90deg,transparent 0%,#000 9%,#000 91%,transparent 100%),
    linear-gradient(180deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
          mask-image:
    linear-gradient(90deg,transparent 0%,#000 9%,#000 91%,transparent 100%),
    linear-gradient(180deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
}
.portrait-cap p{
  font-size:clamp(38px,4.4vw,76px);
  line-height:.98;
  max-width:9.4ch;
}
.bullets{
  border-top:0 !important;
  padding-top:0;
}
.bullets strong{
  color:var(--cream-soft);
  font-weight:500;
}

.list strong{
  font-weight:500;
}
.list.list-interactive li{
  padding:20px 0;
}
.process li,
.rights-grid article{
  padding-top:26px;
  padding-bottom:26px;
}

@media (max-width:900px){
  .page-portrait{
    grid-template-columns:1fr !important;
    gap:18px;
  }
  .plate-portrait{height:50vh}
  .portrait-cap p{
    font-size:clamp(34px,10vw,62px);
    max-width:11ch;
  }
}

/* ============ TIPOGRAFIA ARREDONDADA E LEGIVEL ============ */
body{
  font-family:var(--sans);
}
.brand-name,
.display,
.display-sm,
.page-cover .display,
.portrait-cap p,
.specimen-name,
.process h3,
.rights-grid h4,
.list strong{
  font-family:var(--display);
  font-weight:600;
  letter-spacing:0;
}
.brand-name{
  font-weight:600;
}
.display,
.page-cover .display{
  line-height:1.02;
}
.display em,
.display-sm em,
.page-cover .display em,
.portrait-cap p em{
  font-family:var(--display);
  font-style:normal;
  font-weight:600;
}
.lede,
.head-note,
.bullets li,
.specimen-desc,
.specimen-tag,
.specimen-beats li,
.process p,
.rights-grid p,
.contact-lede,
.list em,
.nav-links a,
.role,
.cta,
.btn{
  font-family:var(--sans);
  font-weight:400;
}
.page-index .list strong,
.page-index .specimen-name{
  font-family:var(--display);
  font-weight:600;
}
.page-index .list em,
.page-index .specimen-desc,
.page-index .specimen-quote p{
  font-family:var(--sans);
  font-size:15px;
}
.page-cover .display{
  font-size:clamp(52px,5.6vw,96px);
}
.display-sm{
  font-size:clamp(32px,3.2vw,54px);
}
.portrait-cap p{
  font-size:clamp(36px,4vw,68px);
}

/* ============ SERVICOS — luz como interacao ============ */
.page-index{
  --service-x:68%;
  --service-y:44%;
}
.page-index::before{
  content:"";
  display:block !important;
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.52;
  background:
    radial-gradient(420px 420px at var(--service-x) var(--service-y),rgba(255,233,208,.12),rgba(199,164,103,.055) 36%,transparent 72%),
    radial-gradient(680px 520px at 78% 26%,rgba(143,111,120,.095),transparent 70%);
  transition:opacity 420ms var(--ease);
}
.page-index.is-service-lit::before{
  opacity:1;
}
.page-index .list.list-interactive li{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.page-index .list.list-interactive li::before{
  content:"";
  display:block !important;
  position:absolute;
  inset:-1px;
  z-index:0;
  width:auto;
  height:auto;
  transform:none;
  opacity:0;
  background:
    radial-gradient(220px 180px at var(--item-x,50%) var(--item-y,50%),rgba(255,236,214,.18),rgba(199,164,103,.08) 34%,transparent 70%),
    linear-gradient(90deg,rgba(255,247,242,.045),transparent 46%);
  transition:opacity 260ms var(--ease);
}
.page-index .list.list-interactive li:hover::before,
.page-index .list.list-interactive li:focus-visible::before,
.page-index .list.list-interactive li.is-active::before{
  opacity:1;
}
.page-index .list.list-interactive li > *{
  position:relative;
  z-index:1;
}
.page-index .specimen{
  position:relative;
}
.page-index .specimen::before{
  content:"";
  display:block !important;
  position:absolute;
  inset:-12px;
  z-index:0;
  pointer-events:none;
  background:radial-gradient(320px 260px at 20% 12%,rgba(255,236,214,.075),transparent 70%);
}
.page-index .specimen > *{
  position:relative;
  z-index:1;
}

/* ============ SERVICOS — leitura refinada ============ */
.page-index{
  grid-template-columns:minmax(250px,340px) minmax(420px,1fr) minmax(280px,390px);
  grid-template-areas:"head list specimen";
  align-items:center;
  column-gap:clamp(28px,5vw,86px);
}
.page-index .display-sm{
  font-size:clamp(34px,3.2vw,58px);
  line-height:1.03;
}
.page-index .head-note{
  font-size:15px;
  line-height:1.7;
  max-width:32ch;
}
.page-index .list{
  display:grid;
  gap:4px;
}
.page-index .list.list-interactive li{
  grid-template-columns:40px 1fr;
  gap:18px;
  align-items:start;
  min-height:82px;
  padding:16px 0 18px;
}
.page-index .list span{
  font-family:var(--sans);
  font-size:12px;
  font-style:normal;
  font-weight:600;
  color:rgba(199,164,103,.82);
  padding-top:5px;
}
.page-index .list strong{
  display:block;
  font-family:var(--sans);
  font-size:clamp(19px,1.45vw,27px);
  font-weight:600;
  line-height:1.08;
  color:var(--cream);
}
.page-index .list em{
  display:block;
  grid-column:2;
  margin-top:7px;
  font-size:14px;
  line-height:1.45;
  color:rgba(255,247,242,.66);
  max-width:42ch;
}
.page-index .list.list-interactive li:hover strong,
.page-index .list.list-interactive li.is-active strong{
  color:#fff7f2;
}
.page-index .list.list-interactive li:hover em,
.page-index .list.list-interactive li.is-active em{
  color:rgba(255,247,242,.82);
}
.page-index .specimen{
  align-self:center;
  padding:24px 0 0 !important;
  border-top:1px solid rgba(199,164,103,.38) !important;
}
.page-index .specimen-head{
  display:block;
  padding-bottom:18px;
}
.page-index .specimen-tag{
  display:block;
  max-width:none;
  text-align:left;
  font-family:var(--sans);
  font-style:normal;
  font-size:12px;
  line-height:1.5;
  color:rgba(255,247,242,.58);
}
.page-index .specimen-name{
  font-family:var(--sans);
  font-size:clamp(24px,2vw,34px);
  font-weight:600;
  line-height:1.08;
  margin-top:0;
}
.page-index .specimen-desc{
  font-size:15px;
  line-height:1.65;
  color:rgba(255,247,242,.78);
}
.page-index .beats-label,
.page-index .quote-label{
  font-size:11px;
  font-weight:600;
  color:rgba(199,164,103,.78);
}
.page-index .specimen-beats{
  gap:10px;
}
.page-index .specimen-beats li{
  grid-template-columns:24px 1fr;
  font-size:14px;
  line-height:1.45;
}
.page-index .beat-no{
  font-family:var(--sans);
  font-style:normal;
  font-size:11px;
  font-weight:600;
}
.page-index .specimen-quote p{
  font-family:var(--sans);
  font-style:normal;
  font-size:15px;
  line-height:1.5;
  color:rgba(255,247,242,.84);
}
.page-index .specimen-quote p::before,
.page-index .specimen-quote p::after{
  display:none;
}

@media (max-width:900px){
  .page-index{
    grid-template-columns:1fr;
    grid-template-areas:"head" "list" "specimen";
  }
  .page-index .list.list-interactive li{
    min-height:0;
  }
}

/* ============ GALERIA — molduras editoriais ============ */
.page-gallery{
  display:grid;
  grid-template-columns:minmax(240px,340px) 1fr;
  gap:clamp(28px,5vw,84px);
  align-items:center;
  padding:130px var(--s-7) var(--s-6);
  background:
    radial-gradient(70vw 74vh at 76% 14%,rgba(248,220,196,.09),transparent 68%),
    radial-gradient(58vw 74vh at 12% 88%,rgba(185,154,99,.06),transparent 72%),
    linear-gradient(180deg,#100d0f 0%,#080708 54%,#111012 100%);
  isolation:isolate;
}
.page-gallery::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(340px 340px at var(--mx) var(--my),rgba(255,236,214,.075),transparent 72%),
    linear-gradient(90deg,rgba(255,247,242,.03),transparent 16%,transparent 84%,rgba(255,247,242,.025));
}
.gallery-head,
.gallery-wall{
  position:relative;
  z-index:1;
}
.gallery-head{
  align-self:end;
  padding-bottom:clamp(26px,6vh,76px);
}
.gallery-head .display-sm{
  color:var(--cream);
  font-size:clamp(34px,3.2vw,58px);
  line-height:1.04;
}
.gallery-head .head-note{
  max-width:32ch;
}
.gallery-wall{
  display:grid;
  grid-template-columns:1.08fr .74fr .74fr;
  grid-auto-rows:minmax(180px,25vh);
  gap:clamp(14px,1.6vw,24px);
  align-items:stretch;
}
.gallery-card{
  position:relative;
  min-height:0;
  overflow:hidden;
  isolation:isolate;
  border:1px solid rgba(255,247,242,.14);
  background:rgba(255,247,242,.025);
  transition:transform 420ms var(--ease),border-color 420ms var(--ease);
}
.gallery-card::before,
.gallery-card::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:3;
}
.gallery-card::before{
  inset:10px;
  border:1px solid rgba(255,247,242,.16);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);
}
.gallery-card::after{
  inset:0;
  background:
    radial-gradient(260px 220px at 24% 14%,rgba(255,236,214,.11),transparent 68%),
    linear-gradient(180deg,transparent 50%,rgba(0,0,0,.58));
}
.gallery-card:hover{
  transform:translateY(-4px);
  border-color:rgba(199,164,103,.46);
}
.gallery-card figure{
  position:absolute;
  inset:0;
}
.gallery-card img,
.gallery-card video{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.9) contrast(1.04) brightness(.95);
  transform:scale(1.01);
  transition:transform 900ms var(--ease),filter 420ms var(--ease);
}
.gallery-card:hover img,
.gallery-card:hover video{
  transform:scale(1.055);
  filter:saturate(.98) contrast(1.06) brightness(1);
}
.gallery-card.is-featured{
  grid-row:span 2;
}
.gallery-card.is-video::before{
  border-color:rgba(199,164,103,.3);
}
.gallery-card.is-video .gallery-meta::before{
  content:"play";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  margin-bottom:12px;
  border:1px solid rgba(255,247,242,.28);
  border-radius:50%;
  font-size:10px;
  color:rgba(255,247,242,.78);
}
.gallery-meta{
  position:absolute;
  left:clamp(18px,2vw,28px);
  right:clamp(18px,2vw,28px);
  bottom:clamp(18px,2vw,28px);
  z-index:4;
  color:var(--cream);
}
.gallery-meta span{
  display:block;
  margin-bottom:8px;
  font-family:var(--sans);
  font-size:11px;
  font-weight:700;
  color:rgba(199,164,103,.86);
}
.gallery-meta strong{
  display:block;
  font-family:var(--display);
  font-size:clamp(20px,2vw,34px);
  line-height:1;
}
.gallery-meta p{
  max-width:30ch;
  margin-top:8px;
  color:rgba(255,247,242,.76);
  font-size:13px;
  line-height:1.45;
}

@media (max-width:1100px){
  .page-gallery{
    grid-template-columns:1fr;
    align-items:start;
    gap:24px;
  }
  .gallery-head{
    align-self:start;
    padding-bottom:0;
  }
}
@media (max-width:900px){
  .page-gallery{
    padding:96px 16px 32px;
  }
  .gallery-wall{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:190px;
  }
  .gallery-card.is-featured{
    grid-column:span 2;
  }
}

/* ============ LUZES DE FUNDO RESPIRANDO ============ */
.page::before{
  content:"";
  position:absolute;
  inset:-14%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(34vw 34vw at 18% 28%,rgba(255,222,196,.085),transparent 64%),
    radial-gradient(28vw 28vw at 76% 18%,rgba(199,164,103,.07),transparent 68%),
    radial-gradient(30vw 30vw at 68% 82%,rgba(143,111,120,.08),transparent 70%);
  filter:blur(18px);
  opacity:.36;
  transform:translate3d(0,0,0);
  animation:ambientLights 10s ease-in-out infinite alternate;
}
.page:nth-child(2n)::before{
  animation-duration:13s;
  animation-delay:-4s;
  background:
    radial-gradient(30vw 30vw at 22% 76%,rgba(199,164,103,.075),transparent 68%),
    radial-gradient(32vw 32vw at 78% 28%,rgba(255,222,196,.075),transparent 64%),
    radial-gradient(26vw 26vw at 52% 14%,rgba(143,111,120,.07),transparent 70%);
}
.page:nth-child(3n)::before{
  animation-duration:16s;
  animation-delay:-7s;
}
.page-cover::before{
  z-index:0;
  animation:ambientLights 12s ease-in-out infinite alternate;
}
.page > *{
  position:relative;
  z-index:1;
}
@keyframes ambientLights{
  0%{
    opacity:.22;
    transform:translate3d(-1.2%,.8%,0) scale(.98);
    filter:blur(22px);
  }
  45%{
    opacity:.48;
  }
  100%{
    opacity:.34;
    transform:translate3d(1.4%,-1%,0) scale(1.03);
    filter:blur(16px);
  }
}

@media (prefers-reduced-motion:reduce){
  .page::before,
  .page-cover::before{
    animation:none;
  }
}

/* ============ FOTO INTERNA — foco no rosto, escala controlada ============ */
.page-portrait{
  grid-template-columns:minmax(300px,40vw) minmax(300px,460px) !important;
  align-items:center;
  justify-content:center;
}
.plate-portrait{
  width:min(42vw,560px);
  height:min(68vh,640px);
  justify-self:end;
}
.plate-portrait .plate-image{
  overflow:hidden;
}
.plate-portrait .plate-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 30%;
  transform:none;
  filter:saturate(.92) contrast(1.04) brightness(.96);
  -webkit-mask-image:
    linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%),
    linear-gradient(180deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
          mask-image:
    linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%),
    linear-gradient(180deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
}
.page-portrait .portrait-cap{
  align-self:center;
  padding-bottom:0 !important;
}

@media (max-width:900px){
  .page-portrait{
    grid-template-columns:1fr !important;
  }
  .plate-portrait{
    width:100%;
    height:45vh;
    justify-self:center;
  }
  .plate-portrait .plate-image img{
    object-position:50% 24%;
  }
}

/* ============ REFINO FINAL — KAROLINE / SECOES INTERNAS ============ */
.brand{
  display:inline-grid !important;
  grid-template-columns:auto;
  gap:0 !important;
  text-decoration:none;
}
.brand-name{
  font-family:var(--display);
  font-size:clamp(34px,3.1vw,52px) !important;
  font-weight:700 !important;
  line-height:.86;
  letter-spacing:-.01em;
  color:var(--cream) !important;
}
.brand-sub{
  margin-top:8px;
  font-family:var(--sans);
  font-size:10px;
  font-weight:700;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(199,164,103,.84);
}
.nav{
  background:
    radial-gradient(520px 180px at 82% 0%,rgba(96,44,58,.22),transparent 72%),
    linear-gradient(180deg,rgba(18,15,16,.96),rgba(14,12,13,.86)) !important;
}
.nav .cta{
  background:rgba(255,247,242,.045) !important;
  color:var(--cream) !important;
  border-color:rgba(255,247,242,.22) !important;
}

.page-portrait{
  grid-template-columns:minmax(320px,38vw) minmax(320px,520px) !important;
  gap:clamp(34px,6vw,92px) !important;
  padding-inline:clamp(32px,7vw,140px) !important;
}
.plate-portrait{
  width:min(36vw,500px) !important;
  height:min(62vh,580px) !important;
}
.plate-portrait .plate-mat{
  background:transparent !important;
}
.plate-portrait .plate-image img{
  object-position:48% 22% !important;
  transform:scale(1.08);
  filter:saturate(.96) contrast(1.04) brightness(.9) !important;
}
.page-portrait .portrait-cap{
  max-width:540px !important;
}
.portrait-cap p{
  font-size:clamp(34px,4.2vw,72px) !important;
  line-height:.98 !important;
  max-width:10ch;
  color:#fff7f2 !important;
}
.portrait-cap .bullets{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:34px;
  list-style:none;
}
.portrait-cap .bullets li{
  min-width:0;
  padding-top:14px;
  border-top:1px solid rgba(199,164,103,.34);
}
.portrait-cap .bullets strong{
  display:block;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:rgba(255,247,242,.92);
}
.portrait-cap .bullets span{
  display:block;
  margin-top:6px;
  font-size:13px;
  line-height:1.35;
  color:rgba(255,247,242,.58);
}

.page-index{
  grid-template-columns:minmax(280px,360px) minmax(420px,640px) minmax(280px,380px) !important;
  grid-template-areas:"head list specimen" !important;
  align-items:center !important;
  column-gap:clamp(28px,4vw,72px) !important;
  padding:132px clamp(36px,6vw,118px) 64px !important;
}
.page-index .index-head{
  align-self:center;
}
.page-index .display-sm{
  font-size:clamp(34px,3.1vw,58px) !important;
  max-width:9.5ch;
}
.page-index .head-note{
  max-width:31ch !important;
  font-size:16px !important;
  line-height:1.65 !important;
}
.page-index .list{
  display:grid !important;
  gap:0 !important;
  align-self:center;
}
.page-index .list.list-interactive li{
  grid-template-columns:42px 1fr !important;
  min-height:auto !important;
  padding:18px 0 !important;
  border-bottom:1px solid rgba(255,247,242,.11) !important;
}
.page-index .list span{
  font-size:12px !important;
  color:rgba(199,164,103,.78) !important;
}
.page-index .list strong{
  font-size:clamp(22px,2.15vw,36px) !important;
  line-height:1 !important;
}
.page-index .list em{
  margin-top:7px !important;
  max-width:42ch !important;
  font-size:14px !important;
  line-height:1.45 !important;
}
.page-index .specimen{
  align-self:center !important;
  max-width:380px !important;
  padding:22px !important;
  border:1px solid rgba(255,247,242,.12) !important;
  background:
    radial-gradient(240px 220px at 30% 18%,rgba(255,236,214,.09),transparent 68%),
    rgba(255,247,242,.035) !important;
}
.page-index .specimen-name{
  font-size:clamp(24px,2vw,32px) !important;
}
.page-index .specimen-desc,
.page-index .specimen-quote p{
  font-size:14px !important;
}

.page-briefing{
  display:grid;
  grid-template-columns:minmax(280px,430px) 1fr;
  grid-template-areas:
    "head flow"
    "terms flow";
  gap:clamp(28px,5vw,84px);
  align-items:center;
  padding:132px clamp(36px,7vw,140px) 68px;
  background:
    radial-gradient(70vw 80vh at 74% 26%,rgba(255,228,205,.105),transparent 68%),
    radial-gradient(54vw 62vh at 10% 82%,rgba(199,164,103,.06),transparent 70%),
    linear-gradient(180deg,#121010 0%,#080708 100%);
}
.briefing-head{
  grid-area:head;
}
.briefing-head .display-sm{
  max-width:10ch;
  font-size:clamp(38px,4vw,76px);
  line-height:.96;
}
.briefing-head p{
  max-width:34ch;
  margin-top:24px;
  font-size:16px;
  line-height:1.7;
  color:rgba(255,247,242,.68);
}
.briefing-flow{
  grid-area:flow;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:rgba(255,247,242,.09);
  border:1px solid rgba(255,247,242,.12);
}
.briefing-flow li{
  position:relative;
  min-height:230px;
  padding:28px;
  background:
    radial-gradient(320px 240px at var(--mx) var(--my),rgba(255,236,214,.06),transparent 70%),
    linear-gradient(145deg,rgba(255,247,242,.07),rgba(255,247,242,.022));
  overflow:hidden;
}
.briefing-flow li::after{
  content:"";
  position:absolute;
  inset:auto -20% -42% 18%;
  height:82%;
  background:radial-gradient(closest-side,rgba(199,164,103,.18),transparent 74%);
  opacity:.45;
  filter:blur(20px);
}
.briefing-flow .step{
  display:block;
  margin-bottom:42px;
  font-family:var(--sans);
  font-size:12px;
  font-weight:800;
  color:rgba(199,164,103,.86);
}
.briefing-flow h3{
  position:relative;
  z-index:1;
  font-family:var(--display);
  font-size:clamp(28px,2.7vw,46px);
  line-height:1;
  color:var(--cream);
}
.briefing-flow p{
  position:relative;
  z-index:1;
  max-width:31ch;
  margin-top:14px;
  font-size:15px;
  line-height:1.55;
  color:rgba(255,247,242,.68);
}
.briefing-flow .step-meta{
  position:relative;
  z-index:1;
  display:block;
  margin-top:22px;
  font-size:13px;
  font-weight:700;
  color:rgba(199,164,103,.86);
}
.briefing-terms{
  grid-area:terms;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.briefing-terms article{
  padding-top:14px;
  border-top:1px solid rgba(199,164,103,.28);
}
.briefing-terms h4{
  font-family:var(--sans);
  font-size:13px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:rgba(255,247,242,.9);
}
.briefing-terms p{
  margin-top:7px;
  font-size:13px;
  line-height:1.45;
  color:rgba(255,247,242,.58);
}

.page-contact{
  grid-template-columns:minmax(300px,440px) minmax(340px,640px) !important;
  justify-content:center;
  background:
    radial-gradient(60vw 70vh at 78% 34%,rgba(255,228,205,.10),transparent 68%),
    linear-gradient(180deg,#090808 0%,#120d10 100%) !important;
}
.brand-sign{
  display:block;
  margin-bottom:18px;
  font-family:var(--display);
  font-size:clamp(58px,7vw,132px);
  font-weight:700;
  line-height:.82;
  color:rgba(255,247,242,.95);
}
.contact-text .display-sm{
  max-width:13ch;
  font-size:clamp(32px,3.1vw,58px) !important;
}
.contact-lede{
  font-size:17px !important;
  line-height:1.68 !important;
}

@media (max-width:1100px){
  .page-index{
    grid-template-columns:1fr !important;
    grid-template-areas:"head" "list" "specimen" !important;
    align-items:start !important;
  }
  .page-index .display-sm{
    max-width:14ch;
  }
  .page-index .specimen{
    max-width:none !important;
  }
  .page-briefing{
    grid-template-columns:1fr;
    grid-template-areas:"head" "flow" "terms";
  }
}
@media (max-width:900px){
  .brand-sub,
  .role,
  .nav-links{
    display:none !important;
  }
  .page-portrait{
    padding-inline:16px !important;
  }
  .plate-portrait{
    width:100% !important;
    height:44vh !important;
  }
  .portrait-cap p{
    max-width:12ch;
  }
  .portrait-cap .bullets{
    grid-template-columns:1fr;
  }
  .briefing-flow,
  .briefing-terms{
    grid-template-columns:1fr;
  }
  .briefing-flow li{
    min-height:190px;
  }
  .page-briefing{
    padding:96px 16px 36px;
  }
}

/* ============ PRESENCA II — mesa visual anonima ============ */
.page-portrait{
  grid-template-columns:minmax(320px,34vw) minmax(460px,760px) !important;
  gap:clamp(30px,5vw,80px) !important;
}
.page-portrait::after{
  content:"";
  position:absolute;
  inset:16% 3% 8% 36%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(420px 260px at 18% 22%,rgba(255,236,214,.13),transparent 70%),
    radial-gradient(360px 300px at 76% 72%,rgba(199,164,103,.10),transparent 72%);
  filter:blur(10px);
  opacity:.72;
}
.page-portrait .plate-portrait{
  width:min(33vw,460px) !important;
  height:min(58vh,540px) !important;
}
.page-portrait .plate-portrait .plate-image img{
  object-position:50% 48% !important;
  transform:scale(1.02) !important;
}
.page-portrait .portrait-cap{
  display:grid;
  grid-template-columns:minmax(260px,340px) minmax(360px,1fr);
  align-items:end;
  gap:clamp(22px,3.5vw,48px);
  max-width:none !important;
  position:relative;
  z-index:2;
}
.page-portrait .portrait-cap .numeral,
.page-portrait .portrait-cap > p,
.page-portrait .portrait-cap > .fleuron{
  grid-column:1;
}
.page-portrait .portrait-cap > p{
  max-width:9.5ch;
  font-size:clamp(36px,3.7vw,66px) !important;
}
.presence-board{
  grid-column:2;
  grid-row:1 / span 3;
  display:grid;
  grid-template-columns:1.05fr .9fr;
  grid-auto-rows:minmax(132px,18vh);
  gap:14px;
  align-self:center;
}
.presence-card{
  position:relative;
  overflow:hidden;
  min-width:0;
  border:1px solid rgba(255,247,242,.13);
  background:rgba(255,247,242,.035);
}
.presence-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(260px 220px at var(--mx) var(--my),rgba(255,236,214,.14),transparent 70%),
    linear-gradient(180deg,transparent 42%,rgba(0,0,0,.62));
}
.presence-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.92) contrast(1.04) brightness(.9);
  transition:transform 900ms var(--ease),filter 420ms var(--ease);
}
.presence-card:hover img{
  transform:scale(1.055);
  filter:saturate(1) contrast(1.06) brightness(.98);
}
.presence-card-photo:first-child{
  grid-row:span 2;
}
.presence-card-photo span{
  position:absolute;
  z-index:2;
  left:18px;
  bottom:16px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,247,242,.88);
}
.presence-card-copy{
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    radial-gradient(240px 220px at 22% 20%,rgba(255,236,214,.10),transparent 70%),
    rgba(255,247,242,.042);
}
.presence-card-copy strong{
  position:relative;
  z-index:2;
  max-width:15ch;
  font-size:clamp(22px,2.1vw,34px);
  line-height:1.05;
  color:var(--cream);
}
.presence-card-copy small,
.presence-card-metrics small{
  position:relative;
  z-index:2;
  display:block;
  margin-top:12px;
  font-size:13px;
  line-height:1.45;
  color:rgba(255,247,242,.62);
}
.presence-card-metrics{
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.presence-card-metrics span{
  position:relative;
  z-index:2;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(199,164,103,.88);
}
.presence-card-metrics strong{
  position:relative;
  z-index:2;
  margin-top:8px;
  font-family:var(--display);
  font-size:clamp(46px,5vw,78px);
  line-height:.8;
  color:var(--cream);
}

.gallery-body{
  min-height:100%;
  overflow:auto;
  background:#0d0b0c;
}
.gallery-body .nav{
  position:sticky;
}
.gallery-body .nav-rule,
.gallery-body .dots{
  display:none;
}
.gallery-page{
  min-height:100vh;
  padding:clamp(48px,7vw,110px) clamp(20px,6vw,110px) 72px;
  background:
    radial-gradient(70vw 74vh at 76% 14%,rgba(248,220,196,.09),transparent 68%),
    radial-gradient(58vw 74vh at 12% 88%,rgba(185,154,99,.06),transparent 72%),
    linear-gradient(180deg,#100d0f 0%,#080708 54%,#111012 100%);
}
.gallery-hero{
  display:grid;
  grid-template-columns:minmax(260px,520px) minmax(260px,460px);
  gap:clamp(28px,5vw,90px);
  align-items:end;
  margin:0 0 clamp(28px,5vw,72px);
}
.gallery-hero .display-sm{
  color:var(--cream);
  font-size:clamp(42px,5vw,88px);
  line-height:.96;
}
.gallery-hero p{
  max-width:42ch;
  font-size:16px;
  line-height:1.7;
  color:rgba(255,247,242,.68);
}
.gallery-wall-page{
  grid-auto-rows:minmax(240px,34vh);
}

.contact-page{
  min-height:100vh;
  padding:clamp(48px,7vw,110px) clamp(20px,6vw,110px) 72px;
  background:
    radial-gradient(62vw 70vh at 78% 12%,rgba(248,220,196,.09),transparent 68%),
    radial-gradient(48vw 60vh at 8% 88%,rgba(185,154,99,.07),transparent 72%),
    linear-gradient(180deg,#100d0f 0%,#080708 58%,#111012 100%);
}
.contact-hero{
  display:grid;
  grid-template-columns:minmax(260px,480px) minmax(320px,640px);
  gap:clamp(28px,6vw,96px);
  align-items:start;
}
.contact-hero .display-sm{
  color:var(--cream,#fff7f2);
  font-size:clamp(42px,5vw,88px);
  line-height:.96;
}
.contact-hero p{
  margin-top:24px;
  max-width:42ch;
  color:rgba(255,247,242,.7);
  font-size:16px;
  line-height:1.7;
}
.form-success{
  padding:14px 16px;
  border:1px solid rgba(176,137,72,.44);
  background:rgba(176,137,72,.12);
}
.briefing-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  padding:clamp(18px,3vw,34px);
  border:1px solid rgba(255,247,242,.16);
  background:rgba(255,247,242,.06);
  backdrop-filter:blur(18px);
}
.briefing-form label{
  display:grid;
  gap:8px;
}
.briefing-form label.full{
  grid-column:1 / -1;
}
.briefing-form span{
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,247,242,.72);
}
.briefing-form input,
.briefing-form textarea{
  width:100%;
  border:1px solid rgba(255,247,242,.18);
  border-radius:2px;
  background:rgba(8,7,8,.62);
  color:#fff7f2;
  font:inherit;
  padding:14px 15px;
  outline:none;
}
.briefing-form textarea{
  resize:vertical;
  min-height:150px;
}
.briefing-form input:focus,
.briefing-form textarea:focus{
  border-color:rgba(176,137,72,.9);
  box-shadow:0 0 0 3px rgba(176,137,72,.16);
}
.briefing-form .errorlist{
  list-style:none;
  color:#f5b7a8;
  font-size:13px;
  line-height:1.4;
}
.briefing-form .btn{
  justify-self:start;
}

@media (max-width:1100px){
  .page-portrait .portrait-cap{
    grid-template-columns:1fr;
    align-items:start;
  }
  .page-portrait .portrait-cap .numeral,
  .page-portrait .portrait-cap > p,
  .page-portrait .portrait-cap > .fleuron,
  .presence-board{
    grid-column:1;
    grid-row:auto;
  }
  .presence-board{
    width:100%;
  }
}
@media (max-width:900px){
  .presence-board{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:150px;
  }
  .presence-card-copy{
    grid-column:span 2;
  }
  .gallery-hero{
    grid-template-columns:1fr;
  }
  .contact-hero,
  .briefing-form{
    grid-template-columns:1fr;
  }
  .briefing-form label.full{
    grid-column:auto;
  }
}
@media (max-width:560px){
  .presence-board{
    grid-template-columns:1fr;
  }
  .presence-card-copy{
    grid-column:auto;
  }
}

/* ============ PRESENCA II — fundo composto, sem foto real dela ============ */
.page-presence{
  isolation:isolate;
  display:grid;
  align-items:center;
  padding:128px clamp(26px,6vw,110px) 58px;
  background:#090808;
}
.page-presence::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(42vw 38vw at 72% 20%,rgba(255,225,205,.12),transparent 68%),
    radial-gradient(34vw 32vw at 28% 74%,rgba(199,164,103,.08),transparent 72%),
    linear-gradient(180deg,#111010 0%,#070707 100%);
  filter:blur(10px);
  opacity:.9;
}
.page-presence .presence-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.page-presence .presence-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:42% 48%;
  opacity:.62;
  filter:saturate(.95) contrast(1.05) brightness(.68);
  transform:scale(1.05);
}
.page-presence .presence-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(7,7,7,.82) 0%,rgba(7,7,7,.48) 31%,rgba(7,7,7,.22) 54%,rgba(7,7,7,.74) 100%),
    linear-gradient(180deg,rgba(7,7,7,.66) 0%,transparent 24%,rgba(7,7,7,.68) 100%),
    radial-gradient(640px 420px at 36% 42%,rgba(255,236,214,.10),transparent 68%);
}
.presence-content{
  position:relative;
  z-index:2;
  width:min(100%,1180px);
  display:grid;
  grid-template-columns:minmax(320px,560px) minmax(260px,420px);
  grid-template-areas:
    "title film"
    "lede film"
    "points film";
  gap:24px clamp(32px,6vw,104px);
  align-items:end;
}
.presence-content .numeral{
  display:none !important;
}
.presence-content .display-sm{
  grid-area:title;
  max-width:10.5ch;
  font-size:clamp(42px,5.4vw,94px);
  line-height:.92;
  color:var(--cream);
  text-wrap:balance;
}
.presence-content .display-sm em{
  color:rgba(199,164,103,.95);
}
.presence-content .fleuron{
  grid-area:title;
  align-self:end;
  justify-self:start;
  transform:translateY(42px);
}
.presence-lede{
  grid-area:lede;
  max-width:45ch;
  font-size:17px;
  line-height:1.72;
  color:rgba(255,247,242,.74);
}
.presence-points{
  grid-area:points;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  max-width:720px;
  background:rgba(255,247,242,.13);
  border:1px solid rgba(255,247,242,.12);
}
.presence-points span{
  min-height:104px;
  padding:18px;
  background:rgba(10,8,9,.46);
  color:rgba(255,247,242,.74);
  font-size:13px;
  line-height:1.35;
}
.presence-points strong{
  display:block;
  margin-bottom:14px;
  font-size:11px;
  letter-spacing:.16em;
  color:rgba(199,164,103,.9);
}
.presence-film{
  grid-area:film;
  align-self:center;
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.presence-film figure{
  position:relative;
  overflow:hidden;
  height:clamp(150px,24vh,240px);
  border:1px solid rgba(255,247,242,.12);
  background:rgba(255,247,242,.04);
}
.presence-film figure:first-child{
  width:86%;
  justify-self:end;
}
.presence-film figure:last-child{
  width:72%;
  justify-self:start;
  transform:translateX(-26px);
}
.presence-film img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.9) contrast(1.04) brightness(.82);
}
.presence-film figure::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.68));
}
.presence-film figcaption{
  position:absolute;
  left:18px;
  bottom:16px;
  z-index:2;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,247,242,.86);
}

@media (max-width:1000px){
  .presence-content{
    grid-template-columns:1fr;
    grid-template-areas:"title" "lede" "points" "film";
    align-items:start;
  }
  .presence-film{
    grid-template-columns:1fr 1fr;
  }
  .presence-film figure,
  .presence-film figure:first-child,
  .presence-film figure:last-child{
    width:100%;
    transform:none;
  }
}
@media (max-width:720px){
  .page-presence{
    padding:100px 16px 34px;
  }
  .page-presence .presence-bg img{
    object-position:48% 50%;
  }
  .page-presence .presence-bg::after{
    background:
      linear-gradient(180deg,rgba(7,7,7,.78) 0%,rgba(7,7,7,.42) 35%,rgba(7,7,7,.84) 100%),
      linear-gradient(90deg,rgba(7,7,7,.70),rgba(7,7,7,.28),rgba(7,7,7,.70));
  }
  .presence-content .display-sm{
    font-size:clamp(38px,12vw,58px);
  }
  .presence-points{
    grid-template-columns:1fr;
  }
  .presence-points span{
    min-height:0;
  }
  .presence-film{
    grid-template-columns:1fr;
  }
  .presence-film figure{
    height:150px;
  }
}

/* ============ FUNDO UNICO + PRESENCA EM PRIMEIRO PLANO ============ */
.page-presence,
.page-index,
.page-briefing,
.page-contact{
  background:
    radial-gradient(62vw 76vh at 76% 16%,rgba(255,225,205,.105),transparent 68%),
    radial-gradient(52vw 64vh at 18% 82%,rgba(199,164,103,.06),transparent 72%),
    linear-gradient(180deg,#121011 0%,#080708 54%,#110d10 100%) !important;
}
.page-presence{
  display:grid !important;
  grid-template-columns:minmax(360px,520px) minmax(420px,760px);
  gap:clamp(34px,6vw,104px);
  align-items:center;
  padding:128px clamp(34px,7vw,128px) 58px !important;
}
.page-presence::before{
  inset:0 !important;
  background:
    radial-gradient(420px 320px at 22% 28%,rgba(255,236,214,.08),transparent 70%),
    radial-gradient(500px 380px at 72% 54%,rgba(199,164,103,.08),transparent 72%) !important;
  filter:blur(14px) !important;
  opacity:.78 !important;
}
.page-presence .presence-bg{
  position:relative !important;
  inset:auto !important;
  z-index:2 !important;
  grid-column:2;
  grid-row:1;
  width:min(100%,760px);
  height:min(64vh,620px);
  justify-self:end;
  overflow:hidden;
  border:1px solid rgba(255,247,242,.11);
  background:rgba(255,247,242,.035);
  box-shadow:
    0 44px 110px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,247,242,.035) inset;
}
.page-presence .presence-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:48% 48%;
  opacity:1 !important;
  filter:saturate(.94) contrast(1.06) brightness(.82) !important;
  transform:scale(1.02) !important;
}
.page-presence .presence-bg::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(0,0,0,.16),transparent 34%,rgba(0,0,0,.36)),
    linear-gradient(180deg,rgba(0,0,0,.18),transparent 48%,rgba(0,0,0,.68)),
    radial-gradient(440px 300px at var(--mx) var(--my),rgba(255,236,214,.11),transparent 72%) !important;
}
.presence-content{
  grid-column:1;
  grid-row:1;
  grid-template-columns:1fr !important;
  grid-template-areas:"title" "lede" "points" "film" !important;
  width:100%;
  max-width:520px;
  align-self:center;
}
.presence-content .display-sm{
  max-width:10.5ch;
  font-size:clamp(42px,5vw,82px) !important;
}
.presence-lede{
  max-width:42ch;
}
.presence-points{
  grid-template-columns:1fr !important;
  max-width:420px;
  margin-top:4px;
  border-color:rgba(255,247,242,.10);
  background:rgba(255,247,242,.10);
}
.presence-points span{
  min-height:0;
  display:grid;
  grid-template-columns:44px 1fr;
  gap:10px;
  align-items:center;
  padding:14px 16px;
  background:rgba(255,247,242,.034);
}
.presence-points strong{
  margin:0;
}
.presence-film{
  grid-template-columns:1fr 1fr !important;
  max-width:420px;
  margin-top:2px;
}
.presence-film figure,
.presence-film figure:first-child,
.presence-film figure:last-child{
  width:100% !important;
  height:128px !important;
  transform:none !important;
  justify-self:stretch !important;
}
.presence-film figcaption{
  bottom:12px;
  left:14px;
}

@media (max-width:1080px){
  .page-presence{
    grid-template-columns:1fr;
    align-items:start;
  }
  .page-presence .presence-bg,
  .presence-content{
    grid-column:1;
    grid-row:auto;
    justify-self:stretch;
  }
  .page-presence .presence-bg{
    order:2;
    width:100%;
    height:42vh;
  }
  .presence-content{
    max-width:none;
  }
}
@media (max-width:720px){
  .page-presence{
    padding:96px 16px 34px !important;
    gap:22px;
  }
  .presence-content .display-sm{
    font-size:clamp(36px,11vw,56px) !important;
  }
  .presence-film{
    grid-template-columns:1fr !important;
  }
  .presence-film figure{
    height:132px !important;
  }
  .page-presence .presence-bg{
    height:32vh;
  }
}

/* ============ PRESENCA II — ultima foto como fundo inteiro ============ */
.page-presence{
  display:block !important;
  padding:0 !important;
  background:#080708 !important;
}
.page-presence .presence-bg{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  width:100% !important;
  height:100% !important;
  border:0 !important;
  box-shadow:none !important;
  background:#080708 !important;
}
.page-presence .presence-bg img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:64% 48% !important;
  opacity:.82 !important;
  filter:saturate(.96) contrast(1.06) brightness(.72) !important;
  transform:none !important;
}
.page-presence .presence-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(7,7,7,.92) 0%,rgba(7,7,7,.74) 32%,rgba(7,7,7,.32) 62%,rgba(7,7,7,.74) 100%),
    linear-gradient(180deg,rgba(7,7,7,.70) 0%,rgba(7,7,7,.22) 38%,rgba(7,7,7,.76) 100%),
    radial-gradient(680px 460px at 68% 42%,rgba(255,236,214,.09),transparent 72%) !important;
}
.page-presence .presence-content{
  position:absolute;
  left:clamp(28px,7vw,110px);
  top:50%;
  z-index:2;
  width:min(560px,calc(100vw - 56px));
  max-width:560px;
  display:block !important;
  transform:translateY(-47%);
}
.page-presence .presence-content .display-sm{
  max-width:10.5ch;
  font-size:clamp(42px,5.5vw,82px) !important;
  line-height:.92;
}
.page-presence .presence-lede{
  margin-top:20px;
  max-width:42ch;
}
.page-presence .presence-points{
  display:flex !important;
  flex-wrap:wrap;
  gap:8px;
  max-width:520px;
  margin-top:24px;
  border:0;
  background:transparent;
}
.page-presence .presence-points span{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:0;
  padding:10px 12px;
  border:1px solid rgba(255,247,242,.14);
  background:rgba(10,8,9,.38);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.page-presence .presence-points strong{
  display:inline;
  margin:0;
}

@media (max-width:760px){
  .page-presence .presence-bg img{
    object-position:58% 50% !important;
    opacity:.72 !important;
  }
  .page-presence .presence-bg::after{
    background:
      linear-gradient(90deg,rgba(7,7,7,.82),rgba(7,7,7,.46),rgba(7,7,7,.78)),
      linear-gradient(180deg,rgba(7,7,7,.78) 0%,rgba(7,7,7,.28) 42%,rgba(7,7,7,.86) 100%) !important;
  }
  .page-presence .presence-content{
    left:16px;
    top:auto;
    right:16px;
    bottom:34px;
    width:auto;
    transform:none;
  }
  .page-presence .presence-content .display-sm{
    font-size:clamp(36px,11vw,58px) !important;
  }
  .page-presence .presence-points{
    grid-template-columns:1fr !important;
  }
}

/* ============ HEADER COMO FONTE DE LUZ ============ */
.nav{
  overflow:visible !important;
  box-shadow:
    0 1px 0 rgba(255,238,190,.08),
    0 18px 54px rgba(0,0,0,.34) !important;
}
.nav::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,216,132,.18) 18%,rgba(255,224,148,.74) 50%,rgba(255,216,132,.18) 82%,transparent);
  box-shadow:
    0 0 18px rgba(255,224,148,.38),
    0 12px 42px rgba(255,210,122,.18);
}
.nav::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-260px;
  width:min(1180px,96vw);
  height:260px;
  pointer-events:none;
  transform:translateX(-50%);
  background:
    radial-gradient(ellipse 58% 68% at 50% 0%,rgba(255,232,177,.28) 0%,rgba(255,214,132,.13) 38%,rgba(255,214,132,.045) 62%,transparent 84%),
    radial-gradient(ellipse 96% 48% at 50% 6%,rgba(255,232,177,.16),transparent 72%),
    linear-gradient(180deg,rgba(255,218,145,.10),transparent 82%);
  filter:blur(26px);
  opacity:.9;
  mix-blend-mode:screen;
}
.nav-rule{
  top:96px !important;
  background:linear-gradient(90deg,transparent,rgba(255,224,148,.20) 26%,rgba(255,232,174,.76) 50%,rgba(255,224,148,.20) 74%,transparent) !important;
  box-shadow:0 0 26px rgba(255,224,148,.34);
}
.nav-rule::after{
  content:"" !important;
  top:-4px !important;
  width:min(220px,24vw);
  height:7px;
  padding:0 !important;
  border-radius:999px;
  background:radial-gradient(ellipse at center,#fff0bf 0%,rgba(255,231,174,.82) 38%,rgba(255,216,132,.28) 72%,transparent 100%) !important;
  box-shadow:
    0 0 16px rgba(255,235,180,.9),
    0 0 70px rgba(255,211,124,.58),
    0 52px 150px rgba(255,212,135,.32),
    0 118px 260px rgba(255,212,135,.14);
}
.page::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:34vh;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(42vw 22vh at 50% 0%,rgba(255,224,148,.13),transparent 72%),
    linear-gradient(180deg,rgba(255,224,148,.075),transparent 80%);
  mix-blend-mode:screen;
}
.page-cover::after{
  background:
    radial-gradient(44vw 24vh at 50% 0%,rgba(255,224,148,.12),transparent 72%),
    linear-gradient(180deg,rgba(255,224,148,.055),transparent 76%);
}
.page > *{
  position:relative;
  z-index:1;
}

@media (max-width:760px){
  .nav::after{
    bottom:-126px;
    height:126px;
    width:88vw;
  }
  .nav-rule{
    top:90px !important;
  }
}

/* ============ SEM NUMERACAO ROMANA ============ */
.nav-links a i,
.numeral,
.specimen-no,
.beat-no,
.r-no,
.step{
  display:none !important;
}
.nav-links{
  gap:14px !important;
}
.nav-links a{
  padding:8px 0 !important;
}
.nav-links a::after{
  left:0 !important;
  right:0 !important;
}
.role em{
  margin-right:2px;
}
.page-index .list.list-interactive li,
.list.list-interactive li{
  grid-template-columns:1fr auto !important;
}
.page-index .specimen-head{
  display:block !important;
}
.page-index .specimen-beats li,
.specimen-beats li{
  grid-template-columns:1fr !important;
}
.briefing-flow .step + h3{
  margin-top:0;
}
.plate-cap span:first-child,
.plate-cap span:last-child{
  text-transform:uppercase;
  letter-spacing:.12em;
}

/* ============ HERO — LUZ ESTÁTICA + SPOTLIGHT NO HOVER ============ */
.page-cover{
  --hero-img-x:0px;
  --hero-img-y:0px;
  --hero-light-x:0px;
  --hero-light-y:0px;
  --sx:62%;
  --sy:34%;
}
.page-cover .plate-image img,
.page-cover .plate-image::after,
.page-cover .plate-image::before,
.page-cover .spotlight{
  animation:none !important;
}
.page-cover .spotlight{
  opacity:.55;
  transition:opacity 520ms var(--ease);
}
.page-cover .plate-cover.is-lit .spotlight{
  opacity:1;
}

/* ============ TRANSICAO ENTRE SECOES ============ */
.page{
  view-transition-name:none;
}
.page > :not(.presence-bg):not(.plate-cover),
.page-cover .text{
  transition:
    opacity 1100ms cubic-bezier(.16,1,.3,1),
    transform 1200ms cubic-bezier(.16,1,.3,1),
    filter 1200ms cubic-bezier(.16,1,.3,1);
  will-change:opacity,transform,filter;
}
.page:not(.is-active-page) > :not(.presence-bg):not(.plate-cover),
.page-cover:not(.is-active-page) .text{
  opacity:.28;
  filter:blur(9px) brightness(.86);
}
.page.is-after-page > :not(.presence-bg):not(.plate-cover),
.page-cover.is-after-page .text{
  transform:translate3d(0,34px,0) scale(.985);
}
.page.is-before-page > :not(.presence-bg):not(.plate-cover),
.page-cover.is-before-page .text{
  transform:translate3d(0,-26px,0) scale(.99);
}
.page.is-active-page > :not(.presence-bg):not(.plate-cover),
.page-cover.is-active-page .text{
  opacity:1;
  filter:blur(0);
  transform:translate3d(0,0,0) scale(1);
}
.page::before{
  transition:opacity 900ms cubic-bezier(.16,1,.3,1),filter 900ms cubic-bezier(.16,1,.3,1);
}
.page:not(.is-active-page)::before{
  opacity:.18 !important;
  filter:blur(26px) !important;
}
.page.is-active-page::before{
  opacity:.58 !important;
}
.page .transition-wash{
  position:absolute;
  inset:0;
  z-index:6;
  pointer-events:none;
}
.page.is-active-page::marker{
  color:transparent;
}
.page.is-active-page{
  animation:sectionSettle 1400ms cubic-bezier(.16,1,.3,1) both;
}
.page.is-active-page::after{
  animation:none;
}
@keyframes sectionSettle{
  0%{filter:brightness(.74) saturate(.88) blur(2px)}
  60%{filter:brightness(.96) saturate(.98) blur(.4px)}
  100%{filter:brightness(1) saturate(1) blur(0)}
}
@keyframes sectionLightSweep{
  0%{
    opacity:0;
    transform:translate3d(0,-24px,0) scale(1.02);
  }
  40%{opacity:.7}
  100%{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
  }
}
@media (prefers-reduced-motion:reduce){
  .page,
  .page::after,
  .page > *,
  .page-cover .text{
    animation:none !important;
    transition:none !important;
    filter:none !important;
    transform:none !important;
  }
}

/* ============ LUZ UNICA: HEADER + HERO ============ */
.page:not(.page-cover)::before{
  display:none !important;
  animation:none !important;
  background:none !important;
}
.page:not(.page-cover){
  background:
    linear-gradient(180deg,#121011 0%,#080708 54%,#110d10 100%) !important;
}
.page:not(.page-cover)::after{
  background:none !important;
  display:none !important;
  animation:none !important;
}
/* feixe único — luz difusa fixa na viewport, viaja com a navegação entre seções */
.book:not(.book-single)::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:7;
  background:
    radial-gradient(80vw 46vh at 50% -8%,rgba(255,224,148,.22) 0%,rgba(255,224,148,.08) 32%,transparent 72%);
  mix-blend-mode:screen;
  opacity:.9;
  transition:opacity 900ms cubic-bezier(.16,1,.3,1);
}
/* esconde o feixe enquanto o hero (page-cover) está ativo — ele tem luz própria */
body:has(.page-cover.is-active-page) .book::before{
  opacity:0;
}
/* na home (sem .gallery-body), esconde a nav-rule — o feixe acima é a luz única */
body:not(.gallery-body) .nav-rule{
  display:none !important;
}
@media (prefers-reduced-motion:reduce){
  .book:not(.book-single)::before{transition:none}
}
.page-presence .presence-bg::after{
  background:
    linear-gradient(90deg,rgba(7,7,7,.92) 0%,rgba(7,7,7,.72) 32%,rgba(7,7,7,.34) 62%,rgba(7,7,7,.76) 100%),
    linear-gradient(180deg,rgba(7,7,7,.62) 0%,rgba(7,7,7,.20) 38%,rgba(7,7,7,.78) 100%) !important;
}
.page-index.is-service-lit::before,
.page-index .list.list-interactive li::before,
.page-index .specimen::before,
.briefing-flow li::after,
.presence-card::after,
.presence-card-copy,
.page-gallery::after{
  background:none !important;
}
.page-index .list.list-interactive li:hover::before,
.page-index .list.list-interactive li:focus-visible::before,
.page-index .list.list-interactive li.is-active::before{
  opacity:0 !important;
}
.briefing-flow li{
  background:linear-gradient(145deg,rgba(255,247,242,.058),rgba(255,247,242,.022)) !important;
}
.page-index .specimen{
  background:rgba(255,247,242,.035) !important;
}

/* ============ HERO COPY ESTATICO E MAIS FORTE ============ */
.page-cover .text{
  transform:none !important;
}
.page-cover .display{
  max-width:9.8ch;
  font-size:clamp(58px,6.8vw,112px) !important;
  line-height:.9 !important;
  letter-spacing:0 !important;
  text-wrap:balance;
}
.page-cover .display em{
  color:rgba(199,164,103,.98) !important;
}
.page-cover .lede{
  max-width:42ch !important;
  margin-top:22px;
  font-size:clamp(15px,1.2vw,18px) !important;
  line-height:1.62 !important;
}
.page-cover [data-depth]{
  transform:none !important;
}

@media (max-width:900px){
  .page-cover .display{
    max-width:10ch;
    font-size:clamp(42px,12vw,70px) !important;
  }
}

/* ============ AREAS — PRIMEIRA SECAO POS-HERO ============ */
.page-areas{
  display:grid;
  grid-template-columns:minmax(300px,440px) minmax(520px,1fr);
  gap:clamp(34px,6vw,104px);
  align-items:center;
  padding:132px clamp(34px,7vw,128px) 58px;
}
.areas-head{
  max-width:480px;
}
.areas-head .display-sm{
  max-width:11ch;
  font-size:clamp(42px,4.7vw,82px);
  line-height:.94;
  color:var(--cream);
}
.areas-head .display-sm em{
  color:rgba(199,164,103,.95);
}
.areas-head .head-note{
  margin-top:24px;
  max-width:38ch;
  font-size:16px;
  line-height:1.7;
  color:rgba(255,247,242,.68);
}
.areas-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(255,247,242,.11);
  background:rgba(255,247,242,.10);
}
.areas-grid article{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:230px;
  grid-column:span 3;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(20px,2.2vw,32px);
  background:rgba(255,247,242,.034);
  transition:background 360ms var(--ease),transform 360ms var(--ease);
}
.areas-grid article:first-child,
.areas-grid article:nth-child(2){
  min-height:280px;
}
.areas-grid article:last-child{
  grid-column:span 6;
  min-height:170px;
}
.areas-grid article:hover{
  background:rgba(255,247,242,.065);
  transform:translateY(-2px);
}

/* (regras de fundo dos cards estão no bloco "AREAS — cards com imagem integrada" abaixo) */
.areas-grid span{
  display:block;
  margin-bottom:auto;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(199,164,103,.9);
}
.areas-grid h3{
  margin-top:48px;
  font-family:var(--display);
  font-size:clamp(30px,3vw,52px);
  line-height:.95;
  color:var(--cream);
}
.areas-grid p{
  max-width:28ch;
  margin-top:14px;
  font-size:14px;
  line-height:1.55;
  color:rgba(255,247,242,.62);
}

@media (max-width:1050px){
  .page-areas{
    grid-template-columns:1fr;
    align-items:start;
  }
  .areas-head .display-sm{
    max-width:13ch;
  }
}
@media (max-width:760px){
  .page-areas{
    padding:104px 16px 34px;
    gap:24px;
  }
  .areas-grid{
    grid-template-columns:1fr;
  }
  .areas-grid article,
  .areas-grid article:first-child,
  .areas-grid article:nth-child(2),
  .areas-grid article:last-child{
    grid-column:auto;
    min-height:150px;
  }
  .areas-grid h3{
    margin-top:28px;
  }
}

/* ============ PRESENCA — CTA PARA GALERIA ============ */
.page-presence{
  display:grid !important;
  grid-template-columns:minmax(300px,460px) minmax(480px,680px);
  gap:clamp(28px,5vw,78px);
  align-items:center;
  padding:120px clamp(34px,7vw,108px) 42px !important;
  background:
    linear-gradient(180deg,#121011 0%,#080708 54%,#110d10 100%) !important;
}
.page-presence .presence-bg{
  display:none !important;
}
.page-presence .presence-content{
  position:relative !important;
  inset:auto !important;
  width:auto !important;
  max-width:500px;
  transform:none !important;
}
.page-presence .presence-content .display-sm{
  max-width:10ch;
  font-size:clamp(42px,4.7vw,82px) !important;
  line-height:.94;
  color:var(--cream);
}
.page-presence .presence-lede{
  max-width:40ch;
  margin-top:22px;
  font-size:16px;
  line-height:1.7;
  color:rgba(255,247,242,.68);
}
.gallery-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:28px;
  min-height:46px;
  padding:0 18px;
  border:1px solid rgba(255,247,242,.18);
  background:rgba(255,247,242,.045);
  color:var(--cream);
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:background 280ms var(--ease),border-color 280ms var(--ease),transform 280ms var(--ease);
}
.gallery-link:hover{
  transform:translateY(-2px);
  border-color:rgba(255,224,148,.42);
  background:rgba(255,224,148,.08);
}
.presence-preview{
  display:grid;
  grid-template-columns:1.08fr .72fr;
  gap:12px;
  align-items:stretch;
  max-height:calc(100vh - 188px);
}
.presence-preview figure{
  position:relative;
  overflow:hidden;
  min-height:0;
  border:1px solid rgba(255,247,242,.12);
  background:rgba(255,247,242,.035);
}
.presence-preview .preview-main{
  height:min(54vh,520px);
}
.preview-stack{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:12px;
  max-height:min(54vh,520px);
}
.presence-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.92) contrast(1.04) brightness(.82);
  transition:transform 800ms var(--ease),filter 360ms var(--ease);
}
.presence-preview figure:hover img{
  transform:scale(1.045);
  filter:saturate(.98) contrast(1.06) brightness(.92);
}
.presence-preview figure::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 46%,rgba(0,0,0,.68));
}
.presence-preview figcaption{
  position:absolute;
  left:18px;
  bottom:16px;
  z-index:2;
  color:rgba(255,247,242,.82);
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

@media (max-width:1050px){
  .page-presence{
    grid-template-columns:1fr;
    align-items:start;
  }
  .page-presence .presence-content{
    max-width:none;
  }
  .presence-preview .preview-main{
    height:42vh;
  }
}
@media (max-width:760px){
  .page-presence{
    padding:96px 16px 28px !important;
    gap:18px;
  }
  .presence-preview{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .presence-preview .preview-main,
  .presence-preview figure{
    height:132px;
  }
  .presence-preview .preview-main{
    grid-column:span 2;
  }
  .preview-stack{
    display:contents;
  }
  .presence-preview figcaption{
    left:12px;
    bottom:10px;
    font-size:9px;
    letter-spacing:.12em;
  }
}

/* ============ AREAS — ALTURA COMPATIVEL COM FIREFOX ============ */
.page-areas{
  grid-template-columns:minmax(300px,420px) minmax(520px,1fr) !important;
  gap:clamp(28px,5vw,78px) !important;
  padding:112px clamp(34px,7vw,108px) 38px !important;
}
.areas-head .display-sm{
  font-size:clamp(40px,4.2vw,72px) !important;
  line-height:.96 !important;
  max-width:11.5ch;
}
.areas-head .head-note{
  margin-top:20px !important;
  font-size:15px !important;
  line-height:1.6 !important;
}
.areas-grid article{
  min-height:178px !important;
  padding:clamp(18px,2vw,28px) !important;
}
.areas-grid article:first-child,
.areas-grid article:nth-child(2){
  min-height:210px !important;
}
.areas-grid article:last-child{
  min-height:128px !important;
}
.areas-grid h3{
  margin-top:32px !important;
  font-size:clamp(28px,2.7vw,46px) !important;
}
.areas-grid p{
  margin-top:10px !important;
  font-size:13px !important;
  line-height:1.45 !important;
}

@media (max-width:1050px){
  .page-areas{
    padding:104px 16px 32px !important;
  }
}
@media (max-width:760px){
  .page-areas{
    padding:94px 16px 22px !important;
    gap:14px !important;
  }
  .areas-head .display-sm{
    font-size:clamp(32px,9.4vw,46px) !important;
    max-width:13ch !important;
  }
  .areas-head .head-note{
    margin-top:12px !important;
    font-size:13px !important;
    line-height:1.45 !important;
  }
  .areas-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .areas-grid article,
  .areas-grid article:first-child,
  .areas-grid article:nth-child(2){
    grid-column:auto !important;
    min-height:108px !important;
    padding:12px !important;
  }
  .areas-grid article:last-child{
    grid-column:span 2 !important;
    min-height:88px !important;
  }
  .areas-grid span{
    font-size:9px !important;
    letter-spacing:.14em !important;
  }
  .areas-grid h3{
    margin-top:14px !important;
    font-size:clamp(22px,7vw,30px) !important;
  }
  .areas-grid p{
    margin-top:6px !important;
    font-size:11px !important;
    line-height:1.28 !important;
  }
}

/* ============ PAGINAS STANDALONE — book-single ============ */
.book.book-single{
  position:static !important;
  inset:auto !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  overflow:visible !important;
  scroll-snap-type:none !important;
}
.book.book-single .page{
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:auto !important;
  overflow:visible !important;
  scroll-snap-align:none !important;
  scroll-snap-stop:normal !important;
}
.book.book-single .page::before,
.book.book-single .page::after{
  display:none !important;
  animation:none !important;
}
.book.book-single .page.is-active-page,
.book.book-single .page{
  animation:none !important;
}
.book.book-single .page > :not(.presence-bg):not(.plate-cover){
  opacity:1 !important;
  transform:none !important;
  filter:none !important;
  transition:none !important;
}

/* reveal on scroll — usado em .reveal */
.book-single .reveal{
  opacity:0;
  transform:translate3d(0,18px,0);
  transition:opacity 720ms cubic-bezier(.16,1,.3,1),transform 720ms cubic-bezier(.16,1,.3,1);
  will-change:opacity,transform;
}
.book-single .reveal.is-revealed{
  opacity:1;
  transform:translate3d(0,0,0);
}
.book-single .reveal[data-reveal-delay="1"]{transition-delay:80ms}
.book-single .reveal[data-reveal-delay="2"]{transition-delay:160ms}
.book-single .reveal[data-reveal-delay="3"]{transition-delay:240ms}
.book-single .reveal[data-reveal-delay="4"]{transition-delay:320ms}
.book-single .reveal[data-reveal-delay="5"]{transition-delay:400ms}
.book-single .reveal[data-reveal-delay="6"]{transition-delay:480ms}
@media (prefers-reduced-motion:reduce){
  .book-single .reveal{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}

/* eyebrow comum às páginas standalone */
.book-single .eyebrow{
  display:inline-block;
  margin-bottom:18px;
  font-family:var(--sans);
  font-size:11px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(199,164,103,.86);
}

/* ============ FORMATOS — versão arejada ============ */
.page-formats{
  background:#fafaf6 !important;
  padding:148px clamp(28px,6vw,120px) 96px !important;
  grid-template-columns:minmax(260px,460px) 1fr !important;
  grid-template-areas:"head specimen" "list specimen" !important;
  column-gap:clamp(40px,6vw,96px) !important;
  row-gap:clamp(32px,4vw,56px) !important;
}
.page-formats .index-head{
  max-width:none;
}
.page-formats .index-head .display-sm{
  font-size:clamp(40px,4.6vw,72px);
  line-height:1.02;
  letter-spacing:-.01em;
}
.page-formats .head-note{
  margin-top:22px;
  max-width:34ch;
  font-size:15px;
  line-height:1.65;
}
.page-formats .list{
  border-top:1px solid rgba(42,31,21,.12);
}
.page-formats .list.list-interactive li{
  grid-template-columns:44px 1fr auto 18px;
  gap:18px;
  padding:22px var(--s-3) 22px 0;
  align-items:center;
}
.page-formats .fmt-no{
  font-family:var(--display);
  font-style:italic;
  font-size:15px;
  letter-spacing:.06em;
  color:rgba(176,137,72,.7);
}
.page-formats .list.list-interactive li.is-active .fmt-no{
  color:var(--gold);
}
.page-formats .list strong{
  font-size:clamp(22px,2.1vw,30px);
  line-height:1.1;
}
.page-formats .fmt-tag{
  font-family:var(--sans);
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(42,31,21,.5);
  white-space:nowrap;
}
.page-formats .list.list-interactive li.is-active .fmt-tag{
  color:var(--gold);
}
.page-formats .specimen{
  position:sticky;
  top:128px;
  padding:clamp(28px,3vw,48px);
  min-height:clamp(480px,62vh,640px);
  background:linear-gradient(160deg,#f8f1de 0%,#efe4c7 60%,#e7d8b2 100%);
}
.page-formats .specimen-tag{
  font-size:12px;
  letter-spacing:.06em;
}
.page-formats .specimen-name{
  margin-top:18px;
  font-size:clamp(38px,3.8vw,56px) !important;
  line-height:1;
}
.page-formats .specimen-desc{
  margin-top:14px;
  font-size:15px !important;
  line-height:1.65;
  max-width:42ch;
}
.page-formats .specimen-beats-wrap{
  margin-top:32px;
  padding-top:22px;
}
.page-formats .specimen-beats{
  gap:14px;
}
.page-formats .specimen-beats li{
  font-size:14px;
  line-height:1.6;
}
.page-formats .specimen-quote{
  margin-top:28px;
  padding:18px 22px;
}
.page-formats .specimen-quote p{
  font-size:clamp(17px,1.4vw,21px) !important;
}

@media (max-width:980px){
  .page-formats{
    grid-template-columns:1fr !important;
    grid-template-areas:"head" "list" "specimen" !important;
    padding:120px 20px 60px !important;
  }
  .page-formats .specimen{
    position:static;
    min-height:0;
  }
  .page-formats .list.list-interactive li{
    grid-template-columns:38px 1fr auto 16px;
    padding:18px 0;
  }
}

/* ============ ENTREGA — stepper vertical ============ */
.page-delivery{
  background:linear-gradient(180deg,#0e0c0e 0%,#08070a 60%,#0e0c0e 100%) !important;
  padding:148px clamp(24px,6vw,120px) 110px !important;
  display:block !important;
  max-width:none !important;
}
.page-delivery .briefing-head{
  max-width:780px;
  margin:0 auto 80px;
  text-align:center;
}
.page-delivery .briefing-head .display-sm{
  max-width:none !important;
  font-size:clamp(40px,4.6vw,80px);
  line-height:1.02;
  letter-spacing:-.01em;
}
.page-delivery .briefing-head .fleuron{
  display:block;
  margin:18px auto 0;
}
.page-delivery .briefing-head p{
  margin:24px auto 0;
  max-width:50ch;
  font-size:16px;
  line-height:1.7;
}
.page-delivery .briefing-flow{
  display:block !important;
  max-width:780px;
  margin:0 auto;
  background:transparent !important;
  border:none !important;
  list-style:none;
  position:relative;
}
.page-delivery .briefing-flow::before{
  content:"";
  position:absolute;
  left:46px;
  top:24px;
  bottom:24px;
  width:1px;
  background:linear-gradient(180deg,rgba(199,164,103,.5),rgba(199,164,103,.12));
}
.page-delivery .briefing-flow li{
  position:relative;
  min-height:0 !important;
  padding:28px 0 28px 100px;
  background:none !important;
  border:none;
  overflow:visible;
}
.page-delivery .briefing-flow li::after{
  display:none;
}
.page-delivery .briefing-flow li + li{
  border-top:1px solid rgba(255,247,242,.06);
}
.page-delivery .briefing-flow .step-no{
  position:absolute;
  left:0;
  top:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:92px;
  font-family:var(--display);
  font-style:italic;
  font-size:clamp(40px,4vw,64px);
  font-weight:400;
  color:rgba(199,164,103,.92);
  line-height:1;
}
.page-delivery .briefing-flow h3{
  margin:0;
  font-family:var(--display);
  font-size:clamp(28px,2.6vw,40px);
  font-weight:400;
  line-height:1.05;
  color:var(--cream);
  letter-spacing:-.005em;
}
.page-delivery .briefing-flow p{
  max-width:48ch !important;
  margin-top:10px !important;
  font-size:15px !important;
  line-height:1.65 !important;
  color:rgba(255,247,242,.66);
}
.page-delivery .briefing-flow .step-meta{
  display:inline-block;
  margin-top:16px !important;
  padding:6px 12px;
  border:1px solid rgba(199,164,103,.32);
  border-radius:999px;
  font-family:var(--sans);
  font-size:11px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(199,164,103,.86);
  font-style:normal;
}
.page-delivery .briefing-terms{
  max-width:780px;
  margin:80px auto 0 !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:32px 56px !important;
  padding-top:48px;
  border-top:1px solid rgba(199,164,103,.18);
}
.page-delivery .briefing-terms article{
  padding-top:0 !important;
  border-top:none !important;
}
.page-delivery .briefing-terms h4{
  font-size:11px !important;
  letter-spacing:.22em !important;
  color:rgba(199,164,103,.86) !important;
}
.page-delivery .briefing-terms p{
  margin-top:10px !important;
  font-size:14px !important;
  line-height:1.6 !important;
  color:rgba(255,247,242,.72) !important;
}
@media (max-width:760px){
  .page-delivery{
    padding:120px 20px 64px !important;
  }
  .page-delivery .briefing-head{
    margin-bottom:56px;
  }
  .page-delivery .briefing-flow::before{
    left:30px;
  }
  .page-delivery .briefing-flow li{
    padding:24px 0 24px 70px;
  }
  .page-delivery .briefing-flow .step-no{
    width:60px;
    font-size:36px;
  }
  .page-delivery .briefing-terms{
    grid-template-columns:1fr !important;
    gap:24px !important;
    margin-top:56px !important;
  }
}

/* ============ CTA FINAL — fechamento das páginas standalone ============ */
.page-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:128px clamp(24px,6vw,120px) 128px;
  background:linear-gradient(180deg,#fafaf6 0%,#f3ecd8 100%);
  min-height:auto;
  text-align:center;
}
.page-cta-dark{
  background:linear-gradient(180deg,#0e0c0e 0%,#1a1216 100%);
}
.page-cta .cta-content{
  max-width:640px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.page-cta .display-sm{
  max-width:18ch;
  font-size:clamp(34px,3.6vw,58px);
  line-height:1.04;
  letter-spacing:-.01em;
}
.page-cta-dark .display-sm{
  color:var(--cream);
}
.page-cta .fleuron{
  margin-top:18px;
}
.page-cta p{
  margin-top:22px;
  max-width:46ch;
  font-size:15px;
  line-height:1.7;
  color:rgba(42,31,21,.7);
}
.page-cta-dark p{
  color:rgba(255,247,242,.66);
}
.page-cta .actions{
  margin-top:32px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:center;
}

/* ============ ENTRADA COM LUZ — páginas standalone ============ */
body.gallery-body{
  min-height:100vh;
  animation:pageEnter 1100ms cubic-bezier(.16,1,.3,1) both;
}
@keyframes pageEnter{
  0%{
    opacity:0;
    filter:blur(14px) brightness(.84) saturate(.92);
  }
  100%{
    opacity:1;
    filter:blur(0) brightness(1) saturate(1);
  }
}
@media (prefers-reduced-motion:reduce){
  body.gallery-body{
    animation:none !important;
  }
}

/* fallback para .reveal — se JS off, mostrar elementos */
@media (prefers-reduced-motion:reduce){
  .book-single .reveal{
    opacity:1 !important;
    transform:none !important;
  }
}
.book-single .reveal{
  animation:revealFallback 0ms 2500ms forwards;
}
@keyframes revealFallback{
  to{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}

/* ============ AREAS — cards com imagem integrada ============ */
.areas-grid{
  border-color:rgba(255,230,172,.13) !important;
  background:rgba(255,230,172,.12) !important;
  box-shadow:0 34px 120px rgba(0,0,0,.28);
}
.areas-grid article{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  padding:0 !important;
  background:#120f10 !important;
  min-height:214px !important;
}
.areas-grid article:first-child,
.areas-grid article:nth-child(2){
  min-height:238px !important;
}
.areas-grid article:last-child{
  min-height:154px !important;
}
.area-media{
  position:absolute;
  inset:0;
  margin:0;
  z-index:0;
}
.area-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.22;
  filter:saturate(.55) contrast(1.02) brightness(.5);
  transition:opacity 520ms var(--ease),filter 520ms var(--ease);
}
.areas-grid article::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 8%,rgba(255,224,148,.1),transparent 38%),
    linear-gradient(180deg,rgba(10,8,8,.42) 0%,rgba(10,8,8,.7) 52%,rgba(7,6,7,.94) 100%);
}
.areas-grid article::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  z-index:1;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,224,148,.24),transparent);
  opacity:.4;
}
.areas-grid article:hover .area-media img{
  opacity:.34;
  filter:saturate(.7) contrast(1.04) brightness(.62);
}
.area-copy{
  position:relative;
  z-index:2;
  display:flex;
  min-height:100%;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(18px,2vw,28px);
}
.areas-grid span{
  margin:0 0 auto !important;
  text-shadow:0 1px 20px rgba(0,0,0,.7);
}
.areas-grid h3{
  margin-top:44px !important;
  text-shadow:0 2px 28px rgba(0,0,0,.72);
}
.areas-grid p{
  color:rgba(255,247,242,.78) !important;
  text-shadow:0 1px 18px rgba(0,0,0,.72);
}

@media (max-width:760px){
  .areas-grid article,
  .areas-grid article:first-child,
  .areas-grid article:nth-child(2){
    min-height:132px !important;
  }
  .areas-grid article:last-child{
    min-height:112px !important;
  }
  .area-copy{
    padding:12px !important;
  }
  .areas-grid h3{
    margin-top:22px !important;
  }
  .areas-grid p{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
}

/* ============ LOGO — Karoline Paiva ============ */
.brand{
  display:inline-flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0;
}
.brand-mark{
  position:relative;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  flex:0 0 auto;
  border:1px solid rgba(255,224,148,.46);
  border-radius:50%;
  color:rgba(255,247,242,.94);
  font-family:var(--display);
  font-size:14px;
  font-weight:700;
  letter-spacing:.03em;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,224,148,.28),transparent 58%),
    rgba(255,247,242,.035);
  box-shadow:
    0 0 34px rgba(255,214,130,.12),
    inset 0 0 18px rgba(255,224,148,.08);
}
.brand-mark::after{
  content:"";
  position:absolute;
  inset:6px;
  border:1px solid rgba(255,247,242,.12);
  border-radius:50%;
}
.brand-text{
  display:grid;
  gap:5px;
  min-width:0;
}
.brand-name{
  font-size:clamp(24px,2.1vw,36px) !important;
  font-weight:700 !important;
  line-height:.9 !important;
  white-space:nowrap;
}
.brand-sub{
  margin-top:0 !important;
  font-size:9px !important;
  letter-spacing:.28em !important;
}
.brand-sign{
  font-size:clamp(42px,5vw,86px) !important;
}

@media (max-width:900px){
  .brand{
    gap:10px !important;
  }
  .brand-mark{
    width:36px;
    height:36px;
    font-size:12px;
  }
  .brand-name{
    font-size:clamp(20px,6vw,30px) !important;
  }
  .brand-sub{
    font-size:8px !important;
    letter-spacing:.2em !important;
  }
}

@media (max-width:560px){
  .brand-mark{
    width:34px;
    height:34px;
  }
  .brand-name{
    font-size:22px !important;
  }
  .brand-sub{
    max-width:120px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}

/* ============ HERO — movimento cinematografico reforcado ============ */
.page-cover .plate-image{
  overflow:hidden;
}
.page-cover .plate-image img{
  animation:heroCinematicDrift 18s cubic-bezier(.45,0,.25,1) infinite alternate !important;
  transform-origin:58% 42%;
  will-change:transform,filter,object-position;
}
.page-cover .plate-image::before{
  animation:heroCinematicLight 12s ease-in-out infinite alternate !important;
}
.page-cover .spotlight{
  animation:heroCinematicGlow 10s ease-in-out infinite alternate !important;
}
@keyframes heroCinematicDrift{
  0%{
    transform:scale(1.035) translate3d(-1.2%,.6%,0);
    object-position:64% 48%;
    filter:saturate(.94) contrast(1.05) brightness(.7);
  }
  42%{
    transform:scale(1.078) translate3d(-3.1%,-1.1%,0);
    object-position:61% 45%;
    filter:saturate(.98) contrast(1.08) brightness(.76);
  }
  100%{
    transform:scale(1.12) translate3d(-5.2%,-2.2%,0);
    object-position:58% 43%;
    filter:saturate(.98) contrast(1.1) brightness(.8);
  }
}
@keyframes heroCinematicLight{
  0%{opacity:.48;filter:blur(0)}
  45%{opacity:.66;filter:blur(2px)}
  100%{opacity:.58;filter:blur(1px)}
}
@keyframes heroCinematicGlow{
  0%{opacity:.42;transform:scale(.96)}
  48%{opacity:.72;transform:scale(1.08)}
  100%{opacity:.56;transform:scale(1.02)}
}

@media (max-width:760px){
  .page-cover .plate-image img{
    animation-duration:22s !important;
  }
}

/* ============ LOGO REAL — imagem Karoline Paiva ============ */
.nav.nav-classical{
  min-height:64px !important;
  max-height:84px !important;
  align-items:center !important;
}
.brand{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  height:auto !important;
  max-height:56px !important;
  min-width:0 !important;
  overflow:hidden !important;
}
.brand-logo{
  display:block !important;
  width:auto !important;
  height:44px !important;
  max-height:44px !important;
  max-width:200px !important;
  object-fit:contain !important;
  filter:
    drop-shadow(0 0 18px rgba(255,224,148,.08))
    drop-shadow(0 2px 18px rgba(0,0,0,.28));
}

@media (max-width:900px){
  .brand-logo{
    height:38px !important;
    max-height:38px !important;
    max-width:160px !important;
  }
}

@media (max-width:560px){
  .brand-logo{
    height:32px !important;
    max-height:32px !important;
    max-width:130px !important;
  }
}

/* ============ HOME · ÚLTIMA SEÇÃO — foto que funde com o preto ============ */
body:not(.gallery-body) .page-contact{
  grid-template-columns:minmax(420px,1.15fr) minmax(340px,520px) !important;
  gap:clamp(28px,4vw,72px) !important;
  padding-left:0 !important;
  padding-right:clamp(40px,7vw,128px) !important;
  align-items:stretch !important;
}
body:not(.gallery-body) .plate-contact{
  width:100% !important;
  height:100% !important;
  min-height:88vh !important;
  max-height:none !important;
  display:block !important;
  margin:0 !important;
}
body:not(.gallery-body) .plate-contact .plate-mat,
body:not(.gallery-body) .plate-contact .plate-image{
  height:100% !important;
  width:100% !important;
  background:transparent !important;
  box-shadow:none !important;
  border:none !important;
  padding:0 !important;
}
body:not(.gallery-body) .plate-contact .plate-image::before,
body:not(.gallery-body) .plate-contact .plate-image::after{
  display:none !important;
}
body:not(.gallery-body) .plate-contact .plate-mat::before,
body:not(.gallery-body) .plate-contact .plate-mat::after{
  display:none !important;
}
body:not(.gallery-body) .plate-contact .mark,
body:not(.gallery-body) .plate-contact .plate-cap{
  display:none !important;
}
body:not(.gallery-body) .plate-contact .plate-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:42% 32% !important;
  filter:saturate(.9) contrast(1.04) brightness(.84) !important;
  transform:none !important;
  -webkit-mask-image:
    linear-gradient(90deg,rgba(0,0,0,.4) 0%,#000 14%,#000 58%,rgba(0,0,0,.5) 82%,transparent 100%),
    linear-gradient(180deg,transparent 0%,rgba(0,0,0,.6) 6%,#000 18%,#000 78%,rgba(0,0,0,.5) 92%,transparent 100%);
  -webkit-mask-composite:source-in;
          mask-image:
    linear-gradient(90deg,rgba(0,0,0,.4) 0%,#000 14%,#000 58%,rgba(0,0,0,.5) 82%,transparent 100%),
    linear-gradient(180deg,transparent 0%,rgba(0,0,0,.6) 6%,#000 18%,#000 78%,rgba(0,0,0,.5) 92%,transparent 100%);
          mask-composite:intersect;
}
@media (max-width:1100px){
  body:not(.gallery-body) .page-contact{
    grid-template-columns:1fr !important;
    padding-left:clamp(20px,5vw,64px) !important;
  }
  body:not(.gallery-body) .plate-contact{
    min-height:50vh !important;
    order:-1;
  }
}

/* ============ CONTATO · OUTROS CANAIS ============ */
.contact-channels{
  margin-top:clamp(48px,7vw,96px);
  padding-top:clamp(32px,4vw,56px);
  border-top:1px solid rgba(199,164,103,.18);
}
.contact-channels h2{
  font-family:var(--sans);
  font-size:11px;
  font-weight:600;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:rgba(199,164,103,.86);
  margin-bottom:28px;
}
.contact-channels ul{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:14px;
  margin:0;
  padding:0;
}
.contact-channels li{
  margin:0;
}
.contact-channels .channel{
  display:flex;
  align-items:center;
  gap:18px;
  padding:18px 22px;
  border:1px solid rgba(255,247,242,.09);
  background:rgba(255,247,242,.025);
  color:rgba(255,247,242,.92);
  text-decoration:none;
  transition:background 320ms var(--ease),border-color 320ms var(--ease),transform 320ms var(--ease);
}
.contact-channels .channel:hover{
  background:rgba(199,164,103,.07);
  border-color:rgba(199,164,103,.36);
  transform:translateY(-1px);
}
.contact-channels .channel-icon{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(199,164,103,.32);
  border-radius:50%;
  color:rgba(199,164,103,.92);
  background:
    radial-gradient(circle at 50% 0%,rgba(255,224,148,.18),transparent 60%),
    rgba(255,247,242,.02);
  transition:color 320ms var(--ease),border-color 320ms var(--ease);
}
.contact-channels .channel:hover .channel-icon{
  color:#ffe5a8;
  border-color:rgba(255,224,148,.7);
}
.contact-channels .channel-body{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
  flex:1 1 auto;
}
.contact-channels .channel-label{
  font-family:var(--sans);
  font-size:10px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(199,164,103,.78);
}
.contact-channels .channel-value{
  font-family:var(--display);
  font-size:clamp(15px,1.3vw,19px);
  line-height:1.2;
  color:rgba(255,247,242,.94);
  word-break:break-word;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width:560px){
  .contact-channels .channel{
    padding:14px 16px;
    gap:14px;
  }
  .contact-channels .channel-icon{
    width:36px;
    height:36px;
  }
  .contact-channels .channel-value{
    font-size:14px;
  }
}

/* ============ HEADER · ÍCONES DE CONTATO ============ */
.nav-actions{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
}
.nav-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:36px !important;
  height:36px !important;
  border:1px solid rgba(184,140,68,.55) !important;
  border-radius:50% !important;
  color:#b88c44 !important;
  background:rgba(184,140,68,.08) !important;
  text-decoration:none;
  transition:background 320ms var(--ease),border-color 320ms var(--ease),color 320ms var(--ease),transform 320ms var(--ease);
}
.nav-icon:hover,
.nav-icon:focus-visible{
  background:#b88c44 !important;
  border-color:#b88c44 !important;
  color:#fff7ee !important;
  transform:translateY(-1px);
  outline:none;
}
.gallery-body .nav-icon,
.page-cover .nav-icon{
  border-color:rgba(255,224,148,.55) !important;
  color:#ffd98a !important;
  background:rgba(255,224,148,.08) !important;
}
.gallery-body .nav-icon:hover,
.gallery-body .nav-icon:focus-visible,
.page-cover .nav-icon:hover,
.page-cover .nav-icon:focus-visible{
  background:rgba(255,224,148,.22) !important;
  border-color:#ffd98a !important;
  color:#fff7ee !important;
}
.nav-icon svg,
.btn-icon svg,
.channel-icon svg{
  display:inline-block !important;
  width:18px !important;
  height:18px !important;
  flex:0 0 auto !important;
  pointer-events:none;
  /* fill/stroke ficam por conta dos atributos do SVG (alguns são sólidos, outros outline) */
}
.channel-icon{
  color:#b88c44 !important;
}
.gallery-body .channel-icon,
.contact-page .channel-icon{
  color:#ffd98a !important;
}
.channel-icon svg{
  width:22px !important;
  height:22px !important;
}
@media (max-width:760px){
  .nav-icon svg{width:16px !important;height:16px !important}
}
.nav-icon:hover,
.nav-icon:focus-visible{
  background:rgba(199,164,103,.16);
  border-color:rgba(199,164,103,.78);
  color:#3a2a1a;
  transform:translateY(-1px);
  outline:none;
}
.gallery-body .nav-icon{
  color:rgba(255,247,242,.86);
  background:rgba(255,247,242,.04);
}
.gallery-body .nav-icon:hover,
.gallery-body .nav-icon:focus-visible{
  color:#ffe5a8;
  background:rgba(199,164,103,.16);
}
@media (max-width:760px){
  .nav-actions{gap:6px}
  .nav-icon{width:32px;height:32px}
  .nav-icon svg{width:16px;height:16px}
}
@media (max-width:560px){
  .nav-actions .cta{display:none}
}

/* ============ HERO · BOTÕES COM ÍCONE ============ */
.btn.btn-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
}
.btn.btn-icon > span{
  display:inline-block;
}
/* SVG dentro de .btn herda a cor de texto do próprio .btn (que tem contraste correto) */
.btn.btn-icon svg{
  color:inherit !important;
}
.page-cover .btn.btn-icon{
  color:#fff7ee !important;
}
.page-cover .btn.btn-icon.outline{
  color:#ffd98a !important;
  border-color:rgba(255,217,138,.5) !important;
}
.page-cover .btn.btn-icon.outline:hover{
  background:rgba(255,217,138,.16) !important;
  color:#fff7ee !important;
}

/* ============ MOBILE NAV — hamburger + drawer ============ */
.nav-toggle{
  display:none;
  width:36px;
  height:36px;
  padding:0;
  border:1px solid rgba(184,140,68,.55);
  border-radius:50%;
  background:rgba(184,140,68,.08);
  color:#b88c44;
  cursor:pointer;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  transition:background 320ms var(--ease),border-color 320ms var(--ease),transform 320ms var(--ease);
}
.nav-toggle span{
  display:block;
  width:16px;
  height:1.5px;
  background:currentColor;
  border-radius:2px;
  transition:transform 320ms var(--ease),opacity 240ms var(--ease);
}
.nav-toggle:hover,
.nav-toggle:focus-visible{
  background:#b88c44;
  border-color:#b88c44;
  color:#fff7ee;
  outline:none;
}
.gallery-body .nav-toggle,
.page-cover ~ * .nav-toggle{
  border-color:rgba(255,224,148,.55);
  color:#ffd98a;
  background:rgba(255,224,148,.08);
}
.gallery-body .nav-toggle:hover,
.gallery-body .nav-toggle:focus-visible{
  background:rgba(255,224,148,.22);
  border-color:#ffd98a;
  color:#fff7ee;
}
.nav-toggle.is-open span:nth-child(1){
  transform:translateY(5.5px) rotate(45deg);
}
.nav-toggle.is-open span:nth-child(2){
  opacity:0;
}
.nav-toggle.is-open span:nth-child(3){
  transform:translateY(-5.5px) rotate(-45deg);
}

@media (max-width:900px){
  .nav-toggle{display:inline-flex !important}
  .nav.nav-classical{
    max-height:none !important;
    grid-template-columns:auto auto !important;
    justify-content:space-between !important;
    align-items:center !important;
  }
  .nav-links{
    display:flex !important;
    flex-direction:column !important;
    position:fixed !important;
    top:64px;
    right:0;
    bottom:0;
    width:min(280px,80vw) !important;
    padding:24px 22px 32px !important;
    gap:6px !important;
    background:#100d10 !important;
    border-left:1px solid rgba(255,224,148,.22);
    box-shadow:-30px 0 70px rgba(0,0,0,.6);
    transform:translateX(110%);
    transition:transform .42s cubic-bezier(.16,1,.3,1);
    z-index:90;
    overflow-y:auto;
    align-items:flex-start !important;
  }
  .nav-links.is-open{
    transform:translateX(0);
  }
  .nav-links a{
    width:100%;
    padding:14px 0 !important;
    font-size:15px !important;
    color:#fff7ee !important;
    border-bottom:1px solid rgba(255,247,242,.08);
  }
  .nav-links a::after{display:none !important}
  body.is-nav-open{
    overflow:hidden;
  }
  body.is-nav-open::before{
    content:"";
    position:fixed;
    inset:64px 0 0 0;
    background:rgba(8,6,8,.6);
    backdrop-filter:blur(4px);
    z-index:80;
    pointer-events:auto;
  }
}
@media (min-width:901px){
  .nav-toggle{display:none !important}
}
