/* ============================================================
   torredeiluminacaobr.com — base 7shifts (refero.design)
   ============================================================ */
:root{
  --indigo-bolt:#4570ff; --ember-orange:#ff6808; --lime-highlighter:#c6ff94;
  --lavender-mist:#ebdcff; --ice-blue:#d6e0ff; --lilac-bloom:#c293f1;
  --deep-navy:#193f78; --forest-sage:#244f47;
  --warm-bone:#f1f0ec; --paper-white:#fff; --ink-black:#000;
  --hairline:#e5e7eb; --stone:#d1d5db; --smoke:#6e6d6c; --graphite:#555;
  --max:1200px;
  --sans:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --script:'Nanum Pen Script',Caveat,cursive;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper-white);color:var(--ink-black);
  font-family:var(--sans);font-size:16px;line-height:1.5;letter-spacing:-.32px;
  font-feature-settings:"ss01" on,"cv11" on;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}

/* ---------- primitivas ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.sec{padding:80px 0}
.sec--tight{padding:56px 0}
.bone{background:var(--warm-bone)}
.dark{background:var(--ink-black);color:var(--paper-white)}
.dark .lead,.dark .muted{color:#c9c8c6}

.eyebrow{
  font-size:14px;font-weight:700;letter-spacing:.025em;text-transform:uppercase;
  color:var(--smoke);margin:0 0 16px;
}
.dark .eyebrow{color:var(--lime-highlighter)}

h1,h2,h3{margin:0;font-weight:500}
.h-display{font-size:clamp(38px,6.2vw,64px);line-height:1.05;letter-spacing:-.03em}
.h-lg{font-size:clamp(30px,4.4vw,48px);line-height:1.1;letter-spacing:-.03em}
.h{font-size:clamp(26px,3.4vw,36px);line-height:1.2;letter-spacing:-.02em}
.h-sm{font-size:24px;line-height:1.33;letter-spacing:-.02em}
.lead{font-size:18px;line-height:1.4;letter-spacing:-.36px;color:var(--smoke);margin:20px 0 0}
.muted{color:var(--smoke)}
p{margin:16px 0 0}

.script{font-family:var(--script);font-size:30px;color:var(--ember-orange);letter-spacing:-.03em;line-height:1}

/* ---------- botões ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;border-radius:9999px;
  font-size:16px;font-weight:500;letter-spacing:-.32px;text-decoration:none;
  padding:12px 24px;border:2px solid transparent;cursor:pointer;transition:.15s;
}
.btn--primary{background:var(--indigo-bolt);color:#fff}
.btn--primary:hover{background:#2f5cf0}
.btn--orange{background:transparent;border-color:var(--ember-orange);color:var(--ember-orange);padding:10px 20px}
.btn--orange:hover{background:rgba(255,104,8,.08)}
.btn--bone{background:var(--warm-bone);color:var(--ink-black);padding:10px 20px}
.dark .btn--bone{background:rgba(255,255,255,.12);color:#fff}

/* ---------- nav ---------- */
.nav{border-bottom:1px solid var(--hairline);background:#fff;position:sticky;top:0;z-index:50}
.nav__in{display:flex;align-items:center;gap:24px;height:68px}
.nav__logo{font-weight:700;font-size:18px;letter-spacing:-.4px;text-decoration:none}
.nav__logo span{color:var(--ember-orange)}
.nav__links{display:flex;gap:4px;margin-left:auto}
.nav__links a{
  padding:8px 12px;border-radius:16px;font-size:16px;font-weight:500;
  color:var(--graphite);text-decoration:none;
}
.nav__links a:hover{background:var(--warm-bone)}
.nav__cta{display:flex;gap:8px;align-items:center}
@media(max-width:900px){.nav__links{display:none}}

/* ---------- hero ---------- */
.hero{padding:72px 0 64px;text-align:center}
.hero .lead{max-width:660px;margin:24px auto 0}
.hero__cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px}
.hero__note{font-size:14px;color:var(--smoke);margin-top:16px;letter-spacing:-.28px}

/* ---------- specbar ---------- */
.specbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:32px}
.spec{
  background:var(--warm-bone);border-radius:9999px;padding:8px 16px;
  font-size:14px;font-weight:500;letter-spacing:-.28px;
}
.dark .spec,.photoplate .spec{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);color:#fff}

/* ---------- grids e cards ---------- */
.grid{display:grid;gap:12px}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}

.card{background:#fff;border-radius:20px;padding:24px;border:1px solid var(--hairline)}
.card--bone{background:var(--warm-bone);border-color:transparent}
.card--dark{background:var(--ink-black);color:#fff;border-color:transparent}
.card--lav{background:var(--lavender-mist);border-color:transparent}
.card--ice{background:var(--ice-blue);border-color:transparent}
.card--lilac{background:var(--lilac-bloom);border-color:transparent}
.card--navy{background:var(--deep-navy);color:#fff;border-color:transparent}
.card--sage{background:var(--forest-sage);color:#fff;border-color:transparent}
.card--navy .muted,.card--sage .muted,.card--dark .muted{color:rgba(255,255,255,.72)}
.card p{font-size:14px;line-height:1.5;letter-spacing:-.28px}
.card__k{font-size:11px;font-weight:700;letter-spacing:.025em;text-transform:uppercase;opacity:.6}

/* ---------- lista check/cross ---------- */
.checks{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:8px}
.checks li{display:flex;gap:12px;align-items:flex-start;font-size:16px;font-weight:500;letter-spacing:-.32px}
.mark{
  flex:0 0 auto;width:22px;height:22px;border-radius:9999px;background:var(--ink-black);
  color:#fff;display:grid;place-items:center;font-size:12px;margin-top:1px;
}
.card--dark .mark{background:#fff;color:#000}

/* ---------- tabela de ficha ---------- */
.tablewrap{overflow-x:auto;border-radius:20px;border:1px solid var(--hairline);margin-top:32px}
table{border-collapse:collapse;width:100%;min-width:680px;background:#fff}
th,td{text-align:left;padding:14px 20px;font-size:14px;letter-spacing:-.28px;border-bottom:1px solid var(--hairline)}
thead th{font-weight:500;background:var(--warm-bone);white-space:nowrap}
tbody th{font-weight:400;color:var(--smoke)}
tr:last-child td,tr:last-child th{border-bottom:0}
td strong{font-weight:500}
.tag-best{
  display:inline-block;background:var(--indigo-bolt);color:#fff;border-radius:9999px;
  padding:2px 10px;font-size:11px;font-weight:500;margin-left:8px;letter-spacing:0;
}

/* ---------- plate / faixa ---------- */
.plate{border-radius:40px;padding:64px 40px;margin:0 24px}
@media(max-width:620px){.plate{padding:44px 24px;border-radius:28px;margin:0 16px}}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--hairline);padding:56px 0 40px;font-size:14px;letter-spacing:-.28px}
.foot a{color:var(--graphite);text-decoration:none}
.foot a:hover{color:var(--ink-black)}
.foot__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
@media(max-width:800px){.foot__grid{grid-template-columns:1fr 1fr}}
.foot h4{font-size:11px;font-weight:700;letter-spacing:.025em;text-transform:uppercase;color:var(--smoke);margin:0 0 12px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot__legal{margin-top:40px;padding-top:24px;border-top:1px solid var(--hairline);color:var(--smoke);font-size:11px}

/* ---------- cidades ---------- */
.citylist{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.citylist a{
  background:#fff;border:1px solid var(--hairline);border-radius:9999px;
  padding:6px 14px;font-size:14px;text-decoration:none;letter-spacing:-.28px;
}
.citylist a:hover{border-color:var(--ink-black)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:#000;color:#fff;padding:10px 16px;border-radius:9999px;z-index:99}

/* ============================================================
   Mídia — assets oficiais revlo.com.br
   ============================================================ */
.logo-img{height:26px;width:auto;display:block}
.logo-img--dark{filter:invert(1)}          /* logo é branco puro: inverte pra preto */

.media{border-radius:20px;overflow:hidden;background:var(--warm-bone)}
.media img{width:100%;height:100%;object-fit:cover;display:block}
.media--16x9{aspect-ratio:16/9}
.media--4x3{aspect-ratio:4/3}
.media--1x1{aspect-ratio:1/1}
.media--tall{aspect-ratio:3/4}

.card figure{margin:0 0 16px}
.card .media{border-radius:12px}

/* hero plate com foto full-bleed */
.photoplate{position:relative;border-radius:40px;overflow:hidden;margin:0 24px;isolation:isolate}
.photoplate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.photoplate::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.78) 45%,rgba(0,0,0,.45) 100%),linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.6))}
@media(max-width:800px){.photoplate::after{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.88))}}
.photoplate{color:#fff;padding:80px 40px}
.photoplate .lead,.photoplate .muted{color:rgba(255,255,255,.85)}
.photoplate .eyebrow{color:var(--lime-highlighter)}
@media(max-width:620px){.photoplate{padding:48px 24px;border-radius:28px;margin:0 16px}}

/* faixa de logos de cliente */
.logos{display:flex;flex-wrap:wrap;gap:40px;align-items:center;margin-top:40px}
.logos img{height:26px;width:auto;opacity:.9}
@media(max-width:620px){.logos{gap:24px}.logos img{height:20px}}

/* split imagem + texto */
.split{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
@media(max-width:800px){.split{grid-template-columns:1fr}}

/* galeria compacta */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:24px}
@media(max-width:700px){.galeria{grid-template-columns:repeat(2,1fr)}}
.galeria .media{border-radius:12px}

/* ---------- corpo de artigo ---------- */
.artigo{max-width:720px}
.artigo h2{font-size:clamp(24px,3vw,32px);line-height:1.2;letter-spacing:-.02em;margin:48px 0 0}
.artigo h2:first-child{margin-top:0}
.artigo h3{font-size:20px;line-height:1.3;letter-spacing:-.02em;margin:32px 0 0}
.artigo p{font-size:18px;line-height:1.6;letter-spacing:-.36px;margin:16px 0 0}
.artigo ul,.artigo ol{margin:16px 0 0;padding-left:20px}
.artigo li{font-size:18px;line-height:1.6;letter-spacing:-.36px;margin:8px 0}
.artigo strong{font-weight:500}
.artigo a{color:var(--indigo-bolt)}
.artigo blockquote{margin:32px 0 0;padding:20px 24px;background:var(--warm-bone);border-radius:20px}
.artigo blockquote p{margin:0;font-size:18px}
.artigo .fonte{font-size:14px;color:var(--smoke);letter-spacing:-.28px}
