/* ============================================================
   RAVO MKT DIGITAL — folha de estilos própria (rv-*)
   Paleta: tinta #120A1D · roxo #3B0A63 · magenta #E0218A ·
           laranja #FF7A2F · off-white #F6F1FF
   ============================================================ */

:root{
  --rv-ink:#120A1D;
  --rv-ink-2:#1C0F2E;
  --rv-ink-3:#241640;
  --rv-purple:#3B0A63;
  --rv-magenta:#E0218A;
  --rv-orange:#FF7A2F;
  --rv-cream:#F6F1FF;
  --rv-cream-dim:#CFC3E8;
  --rv-line:rgba(246,241,255,.14);
  --rv-grad-1:linear-gradient(120deg,var(--rv-magenta),var(--rv-orange));
  --rv-grad-2:linear-gradient(135deg,var(--rv-purple),var(--rv-magenta));
  --rv-grad-3:linear-gradient(160deg,#1C0F2E,#3B0A63 60%,#E0218A 130%);
  --rv-shadow:0 20px 60px rgba(18,10,29,.55);
  --rv-radius:22px;
  --rv-maxw:1240px;
  --rv-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

body{
  margin:0;
  background:var(--rv-ink);
  color:var(--rv-cream);
  font-family:var(--rv-font);
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

body.rv-menu-open{overflow:hidden}

img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0 0 .5em;font-weight:800;letter-spacing:-.01em;line-height:1.05}
p{margin:0 0 1.1em}
ul,ol{margin:0 0 1.1em;padding-left:1.3em}
li{margin-bottom:.4em}

.rv-em{font-style:italic;color:var(--rv-orange);font-weight:800}
.rv-em--magenta{font-style:italic;color:var(--rv-magenta);font-weight:800}

/* -------- skip link -------- */
.rv-skip{
  position:absolute;left:-999px;top:0;background:var(--rv-orange);color:var(--rv-ink);
  padding:.8em 1.4em;z-index:999;border-radius:0 0 10px 0;font-weight:700;text-decoration:none;
}
.rv-skip:focus{left:0}

/* -------- focus -------- */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid var(--rv-orange);outline-offset:3px;
}

/* -------- layout helpers -------- */
.rv-wrap{max-width:var(--rv-maxw);margin:0 auto;padding:0 clamp(18px,5vw,48px)}
.rv-section{position:relative;padding:clamp(64px,10vw,120px) 0}
.rv-section--light{background:var(--rv-cream);color:var(--rv-ink)}
.rv-section--light h2,.rv-section--light h3{color:var(--rv-ink)}
.rv-section--alt{background:var(--rv-ink-2)}
.rv-section__eyebrow{
  display:inline-flex;align-items:center;gap:.5em;text-transform:uppercase;
  letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--rv-orange);margin-bottom:1em;
}
.rv-section__eyebrow::before{content:"";width:26px;height:2px;background:var(--rv-orange);display:inline-block}
.rv-section--light .rv-section__eyebrow{color:var(--rv-purple)}

.rv-num{
  font-size:clamp(4rem,14vw,9rem);font-weight:800;line-height:.8;
  -webkit-text-stroke:1.5px rgba(246,241,255,.35);color:transparent;
  position:absolute;top:-.3em;right:clamp(0px,2vw,20px);pointer-events:none;user-select:none;z-index:0;
}
.rv-section--light .rv-num{-webkit-text-stroke:1.5px rgba(18,10,29,.18)}

.rv-title-xl{font-size:clamp(2.6rem,7vw,5rem);font-weight:800}
.rv-title-lg{font-size:clamp(2rem,4.6vw,3.2rem);font-weight:800}
.rv-title-md{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800}
.rv-lede{font-size:clamp(1.05rem,1.8vw,1.3rem);color:var(--rv-cream-dim);max-width:62ch}
.rv-section--light .rv-lede{color:#4a3a63}

/* -------- buttons -------- */
.rv-btn{
  display:inline-flex;align-items:center;gap:.6em;
  padding:.95em 1.9em;border-radius:100px;font-weight:700;font-size:1rem;
  text-decoration:none;border:0;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;
  font-family:var(--rv-font);
}
.rv-btn--primary{background:var(--rv-grad-1);color:var(--rv-ink);box-shadow:0 10px 30px rgba(224,33,138,.35)}
.rv-btn--primary:hover{transform:translateY(-3px) rotate(-1deg);box-shadow:0 16px 40px rgba(255,122,47,.4)}
.rv-btn--ghost{background:transparent;color:var(--rv-cream);border:1.5px solid var(--rv-line)}
.rv-btn--ghost:hover{border-color:var(--rv-orange);color:var(--rv-orange)}
.rv-section--light .rv-btn--ghost{color:var(--rv-ink);border-color:rgba(18,10,29,.25)}
.rv-btn--sm{padding:.6em 1.3em;font-size:.88rem}
.rv-btn--block{width:100%;justify-content:center}

/* -------- top bar -------- */
.rv-topbar{background:var(--rv-ink-3);font-size:.8rem;color:var(--rv-cream-dim);border-bottom:1px solid var(--rv-line)}
.rv-topbar .rv-wrap{display:flex;gap:1.5em;flex-wrap:wrap;padding-top:8px;padding-bottom:8px;justify-content:space-between}
.rv-topbar a{text-decoration:none}
.rv-topbar a:hover{color:var(--rv-orange)}

/* -------- nav -------- */
.rv-nav{
  position:sticky;top:0;z-index:60;background:rgba(18,10,29,.86);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rv-line);
}
.rv-nav .rv-wrap{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}
.rv-nav__logo{display:flex;align-items:center;gap:.6em;text-decoration:none}
.rv-nav__logo img{width:38px;height:38px}
.rv-nav__logo-text{font-weight:800;font-size:1.2rem;color:var(--rv-cream)}
.rv-nav__links{display:flex;align-items:center;gap:2em;list-style:none;margin:0;padding:0}
.rv-nav__links a{text-decoration:none;font-weight:600;font-size:.95rem;color:var(--rv-cream-dim);position:relative;padding:.3em 0}
.rv-nav__links a:hover,.rv-nav__links a[aria-current="page"]{color:var(--rv-cream)}
.rv-nav__links a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;background:var(--rv-grad-1);border-radius:3px}
.rv-nav__cta{display:flex;align-items:center;gap:1em}
.rv-nav__toggle{
  display:none;background:none;border:2px solid var(--rv-line);border-radius:12px;
  width:46px;height:46px;padding:0;cursor:pointer;align-items:center;justify-content:center;
}
.rv-nav__toggle span,.rv-nav__toggle span::before,.rv-nav__toggle span::after{
  content:"";display:block;width:22px;height:2px;background:var(--rv-cream);position:relative;transition:.25s;
}
.rv-nav__toggle span::before{position:absolute;top:-7px}
.rv-nav__toggle span::after{position:absolute;top:7px}
.rv-nav__toggle[aria-expanded="true"] span{background:transparent}
.rv-nav__toggle[aria-expanded="true"] span::before{transform:rotate(45deg);top:0}
.rv-nav__toggle[aria-expanded="true"] span::after{transform:rotate(-45deg);top:0}

/* -------- mobile overlay menu -------- */
.rv-menu-overlay{
  position:fixed;inset:0;background:var(--rv-ink);z-index:80;
  display:flex;flex-direction:column;padding:20px clamp(18px,6vw,48px) 40px;
  transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease;
  overflow-y:auto;
}
.rv-menu-overlay.rv-is-open{opacity:1;pointer-events:auto;transform:translateY(0)}
.rv-menu-overlay__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.2em}
.rv-menu-overlay__close{
  background:none;border:2px solid var(--rv-line);border-radius:12px;width:46px;height:46px;
  color:var(--rv-cream);font-size:1.4rem;cursor:pointer;
}
.rv-menu-overlay nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.1em}
.rv-menu-overlay nav a{
  display:block;text-decoration:none;color:var(--rv-cream);font-size:clamp(1.6rem,7vw,2.4rem);
  font-weight:800;padding:.35em 0;border-bottom:1px solid var(--rv-line);
}
.rv-menu-overlay nav a:hover{color:var(--rv-orange)}
.rv-menu-overlay__services{margin-top:1.6em}
.rv-menu-overlay__services p{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--rv-orange);font-weight:700}
.rv-menu-overlay__services ul{display:grid;grid-template-columns:1fr 1fr;gap:.3em 1em}
.rv-menu-overlay__services a{font-size:1rem;font-weight:600;color:var(--rv-cream-dim);border:0;padding:.25em 0}
.rv-menu-overlay__foot{margin-top:auto;padding-top:2em;font-size:.85rem;color:var(--rv-cream-dim)}

/* -------- marquee -------- */
.rv-marquee{
  overflow:hidden;background:var(--rv-grad-2);border-top:1px solid var(--rv-line);border-bottom:1px solid var(--rv-line);
  padding:14px 0;white-space:nowrap;
}
.rv-marquee__track{display:inline-flex;animation:rv-marquee 32s linear infinite}
.rv-marquee:hover .rv-marquee__track{animation-play-state:paused}
.rv-marquee__item{
  display:inline-flex;align-items:center;font-weight:800;font-size:clamp(1rem,2.4vw,1.4rem);
  color:var(--rv-cream);padding:0 2em;text-transform:uppercase;letter-spacing:.02em;
}
.rv-marquee__item::after{content:"✦";margin-left:2em;color:var(--rv-orange)}
@keyframes rv-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* -------- hero -------- */
.rv-hero{position:relative;padding:clamp(50px,8vw,90px) 0 clamp(60px,9vw,110px);overflow:hidden}
.rv-hero__blob{position:absolute;top:-10%;right:-12%;width:60%;max-width:640px;opacity:.9;z-index:0;pointer-events:none}
.rv-hero .rv-wrap{position:relative;z-index:1}
.rv-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,60px);align-items:center}
.rv-hero__badges{display:flex;gap:.8em;flex-wrap:wrap;margin:1.6em 0}
.rv-badge{
  display:inline-flex;align-items:center;gap:.5em;background:var(--rv-ink-2);border:1px solid var(--rv-line);
  padding:.5em 1em;border-radius:100px;font-size:.85rem;font-weight:700;transform:rotate(-2deg);
}
.rv-badge:nth-child(2){transform:rotate(1.5deg)}
.rv-badge:nth-child(3){transform:rotate(-1deg)}
.rv-badge__dot{width:8px;height:8px;border-radius:50%;background:var(--rv-orange)}
.rv-hero__actions{display:flex;gap:1em;flex-wrap:wrap;margin-top:1.4em}
.rv-hero__art{position:relative}
.rv-hero__art img{border-radius:28px;transform:rotate(2deg);box-shadow:var(--rv-shadow)}

/* -------- page header (internal pages) -------- */
.rv-pagehead{padding:clamp(50px,8vw,80px) 0 clamp(40px,6vw,60px);position:relative;overflow:hidden}
.rv-pagehead__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.rv-pagehead img{border-radius:24px;transform:rotate(-1.5deg);box-shadow:var(--rv-shadow)}
.rv-breadcrumb{list-style:none;display:flex;flex-wrap:wrap;gap:.4em;margin:0 0 1.2em;padding:0;font-size:.82rem;color:var(--rv-cream-dim)}
.rv-breadcrumb li:not(:last-child)::after{content:"→";margin-left:.5em;opacity:.5}
.rv-breadcrumb a{text-decoration:none;color:var(--rv-cream-dim)}
.rv-breadcrumb a:hover{color:var(--rv-orange)}
.rv-breadcrumb li:last-child{color:var(--rv-cream)}

/* -------- cards -------- */
.rv-grid{display:grid;gap:clamp(18px,3vw,28px)}
.rv-grid--3{grid-template-columns:repeat(3,1fr)}
.rv-grid--2{grid-template-columns:repeat(2,1fr)}
.rv-grid--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.rv-grid--3,.rv-grid--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.rv-grid--2,.rv-grid--3,.rv-grid--4{grid-template-columns:1fr}}

.rv-card{
  background:var(--rv-ink-2);border:1px solid var(--rv-line);border-radius:var(--rv-radius);
  padding:clamp(20px,3vw,32px);position:relative;transition:transform .3s ease,border-color .3s ease;
}
.rv-card:hover{transform:translateY(-6px) rotate(-.6deg);border-color:var(--rv-magenta)}
.rv-card:nth-child(3n+2){transform:rotate(.8deg)}
.rv-card:nth-child(3n+2):hover{transform:translateY(-6px) rotate(.2deg)}
.rv-card__icon{width:52px;height:52px;margin-bottom:1em}
.rv-card h3{font-size:1.15rem}
.rv-card p{color:var(--rv-cream-dim);font-size:.95rem;margin-bottom:0}
.rv-section--light .rv-card{background:#fff;border-color:rgba(18,10,29,.1)}
.rv-section--light .rv-card p{color:#5b4b78}

.rv-service-card{
  display:block;text-decoration:none;color:inherit;
}
.rv-service-card .rv-card__tag{
  display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--rv-orange);margin-bottom:.6em;
}
.rv-service-card .rv-card__arrow{margin-top:1em;font-weight:800;color:var(--rv-magenta)}

/* -------- stripes / list -------- */
.rv-check-list{list-style:none;padding:0;margin:0;display:grid;gap:.7em}
.rv-check-list li{display:flex;gap:.7em;align-items:flex-start}
.rv-check-list li::before{
  content:"";flex:none;width:20px;height:20px;margin-top:.15em;border-radius:6px;background:var(--rv-grad-1);
}

/* -------- process diagram / steps -------- */
.rv-steps{display:grid;gap:20px}
.rv-step{
  display:grid;grid-template-columns:auto 1fr;gap:1.2em;background:var(--rv-ink-2);border:1px solid var(--rv-line);
  border-radius:18px;padding:22px clamp(18px,3vw,28px);
}
.rv-step__num{font-size:2.2rem;font-weight:800;color:transparent;-webkit-text-stroke:1.3px var(--rv-orange);line-height:1}
.rv-step h3{margin-bottom:.3em;font-size:1.1rem}
.rv-step p{color:var(--rv-cream-dim);margin-bottom:0;font-size:.95rem}

/* -------- quote / callout -------- */
.rv-callout{
  border-radius:var(--rv-radius);padding:clamp(22px,4vw,36px);background:var(--rv-grad-2);
  position:relative;overflow:hidden;
}
.rv-callout p{margin-bottom:0;font-size:1.05rem}
.rv-callout strong{color:var(--rv-cream)}

.rv-notice{
  border:1.5px dashed rgba(255,122,47,.55);background:rgba(255,122,47,.08);border-radius:16px;
  padding:1.2em 1.4em;font-size:.92rem;color:var(--rv-cream-dim);
}
.rv-notice strong{color:var(--rv-orange)}
.rv-section--light .rv-notice{color:#4a3a63}

/* -------- FAQ accordion -------- */
.rv-faq{border-top:1px solid var(--rv-line)}
.rv-faq__item{border-bottom:1px solid var(--rv-line)}
.rv-faq__q{
  width:100%;text-align:left;background:none;border:0;color:inherit;font-family:var(--rv-font);
  padding:1.3em 0;font-weight:700;font-size:1.05rem;display:flex;justify-content:space-between;
  align-items:center;gap:1em;cursor:pointer;
}
.rv-faq__q::after{content:"+";font-size:1.6rem;font-weight:400;color:var(--rv-orange);transition:transform .25s}
.rv-faq__item[data-open="true"] .rv-faq__q::after{transform:rotate(45deg)}
.rv-faq__a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.rv-faq__a p{padding-bottom:1.3em;color:var(--rv-cream-dim);margin:0}
.rv-section--light .rv-faq__a p{color:#4a3a63}

/* -------- forms -------- */
.rv-form{display:grid;gap:1em}
.rv-form__row{display:grid;gap:1em;grid-template-columns:1fr 1fr}
@media (max-width:620px){.rv-form__row{grid-template-columns:1fr}}
.rv-field{display:flex;flex-direction:column;gap:.4em}
.rv-field label{font-weight:700;font-size:.9rem}
.rv-field input,.rv-field select,.rv-field textarea{
  background:var(--rv-ink-2);border:1.5px solid var(--rv-line);border-radius:12px;padding:.85em 1em;
  color:var(--rv-cream);font-family:var(--rv-font);font-size:1rem;
}
.rv-section--light .rv-field input,.rv-section--light .rv-field select,.rv-section--light .rv-field textarea{
  background:#fff;color:var(--rv-ink);border-color:rgba(18,10,29,.2);
}
.rv-field input:focus,.rv-field select:focus,.rv-field textarea:focus{border-color:var(--rv-orange)}
.rv-field--check{flex-direction:row;align-items:flex-start;gap:.7em}
.rv-field--check input{width:20px;height:20px;flex:none;margin-top:.2em}
.rv-field--check label{font-weight:400;font-size:.88rem}
.rv-hp{position:absolute;left:-9999px;top:-9999px}
.rv-form__msg{font-size:.9rem;padding:.9em 1.1em;border-radius:12px;display:none}
.rv-form__msg--error{background:rgba(224,33,138,.15);border:1px solid var(--rv-magenta);display:block}

/* -------- contact info blocks -------- */
.rv-infoblock{display:grid;gap:1em}
.rv-infoblock dt{font-weight:700;color:var(--rv-orange);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.rv-infoblock dd{margin:.2em 0 1em}

/* -------- blog -------- */
.rv-post-card{background:var(--rv-ink-2);border:1px solid var(--rv-line);border-radius:var(--rv-radius);overflow:hidden;text-decoration:none;color:inherit;display:block}
.rv-post-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.rv-post-card__body{padding:22px}
.rv-post-card__meta{font-size:.78rem;color:var(--rv-orange);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.rv-post-card h3{font-size:1.2rem;margin:.4em 0}
.rv-post-card p{color:var(--rv-cream-dim);font-size:.92rem}
.rv-article{max-width:74ch;margin:0 auto}
.rv-article h2{margin-top:1.6em;font-size:1.6rem}
.rv-article h3{margin-top:1.3em;font-size:1.25rem}
.rv-article p{color:var(--rv-cream-dim)}
.rv-article ul li,.rv-article ol li{color:var(--rv-cream-dim)}
.rv-article__cover{border-radius:var(--rv-radius);margin-bottom:1em;transform:rotate(-1deg)}
.rv-article__meta{display:flex;gap:1em;flex-wrap:wrap;font-size:.85rem;color:var(--rv-cream-dim);margin-bottom:1.6em}

/* -------- segments table / pills -------- */
.rv-pillgrid{display:flex;flex-wrap:wrap;gap:.7em}
.rv-pill{
  background:var(--rv-ink-2);border:1px solid var(--rv-line);padding:.7em 1.3em;border-radius:100px;
  font-weight:700;font-size:.9rem;
}
.rv-pill:nth-child(odd){transform:rotate(-1.5deg)}
.rv-pill:nth-child(even){transform:rotate(1.5deg)}

/* -------- table -------- */
.rv-table-wrap{overflow-x:auto}
table.rv-table{width:100%;border-collapse:collapse;min-width:560px}
.rv-table th,.rv-table td{text-align:left;padding:.9em 1em;border-bottom:1px solid var(--rv-line);font-size:.92rem}
.rv-table th{color:var(--rv-orange);text-transform:uppercase;font-size:.76rem;letter-spacing:.06em}
.rv-section--light .rv-table th,.rv-section--light .rv-table td{border-color:rgba(18,10,29,.12)}

/* -------- CTA band -------- */
.rv-cta{
  background:var(--rv-grad-3);border-radius:32px;padding:clamp(30px,6vw,60px);text-align:center;
  position:relative;overflow:hidden;
}
.rv-cta h2{font-size:clamp(1.8rem,4vw,2.6rem)}
.rv-cta .rv-lede{margin:0 auto 1.6em;color:var(--rv-cream-dim)}
.rv-cta__actions{display:flex;gap:1em;justify-content:center;flex-wrap:wrap}

/* -------- footer -------- */
.rv-footer{background:var(--rv-ink-3);border-top:1px solid var(--rv-line);padding:60px 0 28px;font-size:.9rem}
.rv-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
@media (max-width:900px){.rv-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rv-footer__grid{grid-template-columns:1fr}}
.rv-footer__logo{display:flex;align-items:center;gap:.6em;text-decoration:none;margin-bottom:1em}
.rv-footer__logo img{width:34px;height:34px}
.rv-footer__logo-text{font-weight:800;color:var(--rv-cream);font-size:1.1rem}
.rv-footer p{color:var(--rv-cream-dim);font-size:.88rem}
.rv-footer h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--rv-orange);margin-bottom:1em}
.rv-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.6em}
.rv-footer a{text-decoration:none;color:var(--rv-cream-dim);font-size:.9rem}
.rv-footer a:hover{color:var(--rv-orange)}
.rv-footer__notice{margin-top:40px;padding-top:24px;border-top:1px solid var(--rv-line);color:var(--rv-cream-dim);font-size:.82rem}
.rv-footer__bottom{margin-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8em;color:var(--rv-cream-dim);font-size:.8rem}
.rv-footer__bottom button{background:none;border:0;color:var(--rv-cream-dim);text-decoration:underline;cursor:pointer;font-size:.8rem;font-family:var(--rv-font);padding:0}
.rv-footer__bottom button:hover{color:var(--rv-orange)}

/* -------- 404 -------- */
.rv-404{text-align:center;padding:clamp(80px,14vw,140px) 0}
.rv-404 .rv-num{position:static;font-size:clamp(6rem,22vw,14rem);-webkit-text-stroke:2px var(--rv-orange);display:block}

/* -------- cursor highlight -------- */
.rv-cursor-glow{
  position:fixed;width:340px;height:340px;border-radius:50%;pointer-events:none;z-index:5;
  background:radial-gradient(circle,rgba(224,33,138,.16),transparent 70%);
  transform:translate(-50%,-50%);opacity:0;transition:opacity .3s ease;left:0;top:0;
}
.rv-cursor-glow.rv-is-active{opacity:1}
@media (hover:none){.rv-cursor-glow{display:none}}

/* -------- cookie banner -------- */
.rv-cookie{
  position:fixed;left:0;right:0;bottom:0;z-index:100;background:var(--rv-ink-3);border-top:1px solid var(--rv-line);
  padding:18px clamp(16px,4vw,32px);box-shadow:0 -10px 40px rgba(0,0,0,.4);
  transform:translateY(120%);transition:transform .4s ease;
}
.rv-cookie.rv-is-visible{transform:translateY(0)}
.rv-cookie__inner{max-width:var(--rv-maxw);margin:0 auto;display:flex;gap:1.4em;flex-wrap:wrap;align-items:center;justify-content:space-between}
.rv-cookie__text{flex:1 1 380px;font-size:.88rem;color:var(--rv-cream-dim)}
.rv-cookie__text a{color:var(--rv-orange);text-decoration:underline}
.rv-cookie__actions{display:flex;gap:.7em;flex-wrap:wrap}

.rv-cookie-modal{
  position:fixed;inset:0;background:rgba(18,10,29,.75);z-index:110;display:none;
  align-items:center;justify-content:center;padding:20px;
}
.rv-cookie-modal.rv-is-visible{display:flex}
.rv-cookie-modal__panel{
  background:var(--rv-ink-2);border:1px solid var(--rv-line);border-radius:var(--rv-radius);
  max-width:560px;width:100%;padding:clamp(20px,4vw,34px);max-height:86vh;overflow-y:auto;
}
.rv-cookie-modal__panel h2{font-size:1.4rem}
.rv-cookie-toggle{display:flex;justify-content:space-between;align-items:center;gap:1em;padding:14px 0;border-bottom:1px solid var(--rv-line)}
.rv-cookie-toggle strong{display:block;font-size:.95rem}
.rv-cookie-toggle span{display:block;font-size:.82rem;color:var(--rv-cream-dim);margin-top:.2em}
.rv-switch{position:relative;width:48px;height:28px;flex:none}
.rv-switch input{opacity:0;width:100%;height:100%;position:absolute;margin:0;cursor:pointer}
.rv-switch__track{position:absolute;inset:0;background:var(--rv-line);border-radius:100px;transition:.2s}
.rv-switch__track::before{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:var(--rv-cream);top:3px;left:3px;transition:.2s}
.rv-switch input:checked + .rv-switch__track{background:var(--rv-grad-1)}
.rv-switch input:checked + .rv-switch__track::before{transform:translateX(20px)}
.rv-switch input:disabled + .rv-switch__track{opacity:.5;cursor:not-allowed}
.rv-cookie-modal__actions{display:flex;gap:.8em;flex-wrap:wrap;margin-top:1.4em;justify-content:flex-end}

/* -------- background blob decoration -------- */
.rv-blobdeco{position:absolute;pointer-events:none;z-index:0;opacity:.7}

/* -------- utility -------- */
.rv-mt-lg{margin-top:clamp(28px,5vw,48px)}
.rv-center{text-align:center}
.rv-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.rv-relative{position:relative;z-index:1}

@media (max-width:900px){
  .rv-nav__links,.rv-nav__cta .rv-btn--ghost{display:none}
  .rv-nav__toggle{display:inline-flex}
  .rv-hero__grid,.rv-pagehead__grid{grid-template-columns:1fr}
  .rv-hero__art{order:-1}
  .rv-footer__bottom{flex-direction:column}
}
