:root {
  --navy-950: #050b14;
  --navy-900: #071528;
  --navy-850: #0b1d35;
  --navy-800: #102a4b;
  --navy-700: #173c67;
  --cyan-500: #1fc5d8;
  --cyan-400: #35d6e6;
  --cyan-300: #77e8f2;
  --violet-500: #7058ef;
  --violet-400: #917eff;
  --white: #fff;
  --slate-25: #fbfcfe;
  --slate-50: #f5f8fc;
  --slate-100: #eaf0f7;
  --slate-200: #dce5f0;
  --slate-300: #c3cede;
  --slate-500: #5f6e83;
  --slate-700: #34445b;
  --ink: #101828;
  --success: #167a5b;
  --danger: #b42318;
  --radius-sm: .8rem;
  --radius: 1.4rem;
  --radius-lg: 2rem;
  --radius-xl: 2.6rem;
  --shadow-sm: 0 14px 40px rgba(7, 21, 40, .08);
  --shadow: 0 28px 80px rgba(5, 11, 20, .16);
  --shadow-dark: 0 35px 100px rgba(0, 0, 0, .42);
  --container: min(var(--container-width), calc(100% - clamp(2rem, 6vw, 5rem)));
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --motion-fast: 220ms;
  --motion-base: 680ms;
  --motion-slow: 1100ms;
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --ease-spring: cubic-bezier(.16, 1.35, .38, 1);
  --space-xs: .5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2.5rem;
  --space-xl: 4rem;
  --space-2xl: clamp(5.5rem, 10vw, 9rem);
  --radius-md: 1.25rem;
  --shadow-soft: 0 20px 60px rgba(7,21,40,.09);
  --container-width: 75rem;
  --footer-bg: #040b16;
  --footer-text: #d7e1ec;
  --footer-muted: #93a4b8;
  --footer-accent: #4dddea;
  --footer-accent-hover: #77e8f2;
  --footer-accent-soft: rgba(77,221,234,.12);
  --footer-detail: rgba(155,134,255,.1);
  --footer-neon-orange: #ff8a1f;
  --footer-neon-orange-bright: #ff9d3b;
  --marina-primary: #123b62;
  --marina-number-dark: #ffad66;
  --marina-number-light: #a64724;
  --marina-soft: #fff4ee;
  --marina-ink: #0b1d35;
  --luiza-primary: #581568;
  --luiza-neon-pink: #ff65d4;
  --luiza-neon-lilac: #c997ff;
  --luiza-magenta-readable: #9c176f;
  --luiza-ink: #2a123a;
  --luiza-soft: #faecff;
  --rafael-cyan: #4dddea;
  --rafael-ink: #040b16;
}

* { box-sizing: border-box; }
html { scroll-behavior: auto; scroll-padding-top: 0; }
body { margin: 0; overflow-x: clip; color: var(--ink); background: var(--white); font-family: var(--font); line-height: 1.65; text-rendering: optimizeLegibility; }
main [id] { scroll-margin-top: calc(5.2rem + 1.25rem); }
img, svg, video { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--cyan-400); outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 1rem; top: -6rem; z-index: 999; padding: .8rem 1rem; border-radius: .6rem; color: var(--navy-950); background: var(--white); font-weight: 800; }
.skip-link:focus { top: 1rem; }
.container { width: var(--container); margin-inline: auto; }
.section { padding: clamp(5rem, 9vw, 8.5rem) 0; }
.section--soft { background: linear-gradient(180deg, var(--slate-25), var(--slate-50)); }
.section--ink { position: relative; overflow: hidden; color: var(--white); background: radial-gradient(circle at 15% 15%, rgba(53,214,230,.13), transparent 30%), var(--navy-950); }
.section--ink::after { content: ""; position: absolute; right: -15rem; bottom: -18rem; width: 40rem; aspect-ratio: 1; border: 1px solid rgba(119,232,242,.12); border-radius: 50%; }
.eyebrow { display: inline-flex; gap: .65rem; align-items: center; margin: 0 0 1rem; color: var(--navy-700); font-size: .76rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 1.6rem; height: 2px; background: currentColor; }
.hero .eyebrow, .section--ink .eyebrow, .demo-showcase .eyebrow, .candidate-page .candidate-hero .eyebrow { color: var(--cyan-300); }
.status-dot { width: .52rem; height: .52rem; border-radius: 50%; background: var(--cyan-400); box-shadow: 0 0 0 .32rem rgba(53,214,230,.12); }
.hero .eyebrow::before { display: none; }
h1, h2, h3 { margin-top: 0; line-height: 1.08; letter-spacing: -.04em; }
h1 { font-size: clamp(2.75rem, 5.9vw, 5.65rem); max-width: 11.5ch; }
h2 { font-size: clamp(2.15rem, 4.2vw, 4rem); max-width: 16ch; }
h3 { font-size: clamp(1.25rem, 2vw, 1.55rem); }
p { margin-top: 0; }
.lead { max-width: 62ch; color: var(--slate-500); font-size: clamp(1.05rem, 1.7vw, 1.28rem); line-height: 1.65; }
.section--ink .lead, .demo-showcase .lead, .hero .lead { color: var(--slate-300); }
.section-head { display: grid; gap: .6rem; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.section-head h2, .section-head p { margin-bottom: 0; }
.section-head--center { justify-items: center; text-align: center; }
.section-head--center h2, .section-head--center .lead { margin-inline: auto; }
.actions { display: flex; flex-wrap: wrap; gap: .8rem; }
.button { display: inline-flex; min-height: 3.35rem; padding: .78rem 1.25rem; align-items: center; justify-content: center; gap: .55rem; border: 1px solid transparent; border-radius: 999px; font-weight: 850; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button--small { min-height: 2.8rem; padding: .62rem 1rem; font-size: .86rem; }
.button--primary { color: var(--navy-950); background: linear-gradient(135deg, var(--cyan-300), var(--cyan-400)); box-shadow: 0 14px 34px rgba(53,214,230,.2); }
.button--primary:hover { box-shadow: 0 18px 45px rgba(53,214,230,.3); }
.button--secondary { color: var(--white); border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.06); }
.button--secondary:hover { background: rgba(255,255,255,.12); }
.button--navy { color: var(--white); background: linear-gradient(135deg, var(--navy-800), var(--navy-950)); box-shadow: 0 12px 30px rgba(7,21,40,.18); }
.button--ghost { color: var(--navy-900); border-color: var(--slate-300); background: var(--white); }
.button--wide { width: 100%; }
.text-link { display: inline-flex; gap: .5rem; align-items: center; color: var(--cyan-300); font-weight: 850; text-decoration: none; }
.text-link:hover { text-decoration: underline; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 100; border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(5,11,20,.88); backdrop-filter: blur(18px); transition: min-height var(--motion-fast) ease, background var(--motion-fast) ease, box-shadow var(--motion-fast) ease; }
.site-header.is-scrolled { background: rgba(5,11,20,.95); box-shadow: 0 12px 32px rgba(0,0,0,.2); }
.site-header.is-scrolled .nav { min-height: 4.65rem; }
.nav { display: flex; min-height: 5.2rem; align-items: center; justify-content: space-between; gap: 1.5rem; transition: min-height var(--motion-fast) var(--ease-out); }
.brand { display: inline-flex; flex: 0 0 auto; align-items: center; text-decoration: none; }
.brand__logo-frame { position: relative; display: block; width: clamp(10.5rem, 17vw, 14.5rem); height: clamp(2.75rem, 4.5vw, 3.6rem); overflow: hidden; border-radius: 1rem; }
.brand--protected .brand__logo-frame { border: 1px solid rgba(119,232,242,.38); background: linear-gradient(135deg, rgba(239,252,255,.98), rgba(238,235,255,.98)); box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 10px 28px rgba(0,0,0,.16); }
.brand--protected .brand__logo-frame::after { content: ""; position: absolute; inset: auto 14% 0; height: 2px; border-radius: 999px; background: linear-gradient(90deg, transparent, var(--cyan-400), var(--violet-400), transparent); opacity: .72; }
.brand__logo { position: absolute; left: -18.7%; top: 50%; width: 136%; max-width: none; height: auto; transform: translateY(-50%); }
.nav__links { display: flex; align-items: center; gap: clamp(.8rem, 1.5vw, 1.35rem); color: var(--slate-300); }
.nav__links > a:not(.button) { position: relative; padding: .7rem .1rem; font-size: .87rem; font-weight: 750; text-decoration: none; }
.nav__links > a:not(.button)::after { content: ""; position: absolute; right: 0; bottom: .35rem; left: 0; height: 2px; border-radius: 999px; background: linear-gradient(90deg, var(--cyan-300), var(--violet-400)); transform: scaleX(0); transform-origin: right; transition: transform var(--motion-fast) var(--ease-out); }
.nav__links > a:not(.button):hover::after { transform: scaleX(1); transform-origin: left; }
.nav__links > a:not(.button):hover { color: var(--white); }
.menu-button { display: none; width: 3rem; height: 3rem; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: .85rem; color: var(--white); background: rgba(255,255,255,.04); font-weight: 900; }

.hero { position: relative; min-height: 850px; padding: clamp(8.7rem, 13vw, 11rem) 0 clamp(5.5rem, 9vw, 8rem); overflow: hidden; color: var(--white); background: linear-gradient(130deg, var(--navy-950) 0%, #07182d 55%, #102245 100%); }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 10rem; background: linear-gradient(transparent, rgba(5,11,20,.38)); pointer-events: none; }
.hero__orb { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.hero__orb--one { top: 6rem; right: 4%; width: 34rem; aspect-ratio: 1; background: radial-gradient(circle, rgba(145,126,255,.18), transparent 68%); }
.hero__orb--two { bottom: -10rem; left: 32%; width: 30rem; aspect-ratio: 1; background: radial-gradient(circle, rgba(53,214,230,.12), transparent 70%); }
.hero__grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(28rem, .97fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.hero__copy { padding-bottom: 1rem; }
.hero h1 { margin-bottom: 1.4rem; }
.hero h1 span { color: var(--cyan-300); }
.hero .lead { max-width: 55ch; }
.hero .actions { margin-top: 2rem; }
.hero__proof { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1rem; padding: 0; margin: 2rem 0 0; list-style: none; color: var(--slate-300); font-size: .88rem; }
.hero__proof li { display: flex; align-items: flex-start; }
.hero__proof li::before { content: "✓"; margin-right: .48rem; color: var(--cyan-300); font-weight: 950; }
.hero__note { max-width: 54ch; margin: 1.6rem 0 0; padding: .85rem 1rem; border-left: 3px solid var(--violet-400); color: var(--slate-300); background: rgba(255,255,255,.04); font-size: .84rem; }
.hero__note strong { color: var(--white); }

.experience { --tap-x: clamp(2.8rem, 8vw, 5.8rem); --tap-y: -2.1rem; position: relative; min-height: 560px; isolation: isolate; }
.hero-card { position: absolute; left: 0; top: 7.2rem; z-index: 4; display: grid; grid-template-areas: "tag tag tag" "portrait identity qr" "portrait number qr" "portrait helper helper" "legal legal legal"; grid-template-columns: minmax(5.8rem, 1.08fr) minmax(5.8rem, 1.05fr) minmax(3.4rem, .48fr); grid-template-rows: auto 1fr auto auto auto; width: min(23rem, 72%); aspect-ratio: 1.62; overflow: hidden; border: 1px solid rgba(255,255,255,.24); border-radius: 1.35rem; color: var(--white); background: radial-gradient(circle at 5% 5%, rgba(53,214,230,.22), transparent 32%), linear-gradient(145deg, #16385f, #091b32); box-shadow: var(--shadow-dark); transform: rotate(-5deg); }
.hero-card__tag { grid-area: tag; z-index: 2; padding: .65rem .8rem 0; color: var(--cyan-300); font-size: clamp(.42rem, .75vw, .54rem); font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.hero-card__portrait { position: relative; grid-area: portrait; align-self: stretch; overflow: hidden; }
.hero-card__portrait img { position: absolute; left: 50%; bottom: -3%; width: auto; max-width: none; height: 113%; transform: translateX(-50%); }
.hero-card__identity { grid-area: identity; z-index: 2; align-self: end; min-width: 0; padding: .25rem .2rem 0; }
.hero-card__identity small, .hero-card__identity strong { display: block; }
.hero-card__identity small { color: var(--slate-300); font-size: clamp(.46rem, .8vw, .62rem); }
.hero-card__identity strong { margin-top: .18rem; font-size: clamp(.68rem, 1.4vw, 1rem); line-height: 1.05; }
.hero-card__number { grid-area: number; z-index: 2; align-self: start; margin: .2rem 0 0; color: var(--cyan-300); font-size: clamp(1.55rem, 2.7vw, 2.45rem); line-height: .88; letter-spacing: -.06em; }
.hero-card__qr { grid-area: qr; z-index: 2; align-self: center; padding: .35rem .55rem .35rem .15rem; text-align: center; }
.hero-card__qr img { width: min(100%, 3.15rem); aspect-ratio: 1; margin-inline: auto; padding: .2rem; border-radius: .4rem; background: var(--white); object-fit: contain; }
.hero-card__helper { grid-area: helper; z-index: 2; align-self: start; color: var(--slate-300); font-size: clamp(.4rem, .66vw, .5rem); font-weight: 750; line-height: 1.15; }
.hero-card__legal { grid-area: legal; z-index: 3; margin: 0; padding: .32rem .8rem; color: var(--slate-200); background: rgba(0,0,0,.2); font-size: clamp(.55rem, .65vw, .62rem); line-height: 1.35; }
.smartphone { position: relative; padding: clamp(.45rem, 1vw, .7rem); border: 1px solid rgba(255,255,255,.2); border-radius: clamp(2rem, 4vw, 3rem); background: #02060c; box-shadow: var(--shadow-dark); }
.smartphone--hero { position: absolute; right: 0; top: 0; z-index: 2; width: min(17rem, 53%); aspect-ratio: 9 / 18.4; }
.smartphone__speaker { position: absolute; z-index: 5; top: .7rem; left: 50%; width: 30%; height: .95rem; border-radius: 0 0 .75rem .75rem; background: #02060c; transform: translateX(-50%); }
.smartphone__screen { position: relative; height: 100%; overflow: hidden; border-radius: clamp(1.6rem, 3.5vw, 2.35rem); color: var(--ink); background: var(--white); }
.phone-tap-state { position: absolute; inset: 0; z-index: 4; display: grid; padding: 2rem 1rem; place-content: center; justify-items: center; color: var(--white); background: radial-gradient(circle at 50% 35%, rgba(53,214,230,.22), transparent 28%), linear-gradient(160deg, #102f52, var(--navy-950)); text-align: center; animation: tap-state 9s var(--ease-out) infinite; }
.phone-tap-state span { display: grid; width: 4rem; aspect-ratio: 1; margin-bottom: 1.2rem; place-items: center; border: 1px solid rgba(119,232,242,.5); border-radius: 50%; color: var(--cyan-300); box-shadow: 0 0 0 .8rem rgba(53,214,230,.07); font-size: 1.4rem; animation: tap-icon 1.8s ease-in-out infinite; }
.phone-tap-state strong { font-size: clamp(.8rem, 1.5vw, 1rem); }
.phone-tap-state small { margin-top: .35rem; color: var(--slate-300); font-size: .55rem; }
.mobile-profile__cover { position: relative; height: clamp(9.5rem, 17vw, 12.5rem); overflow: hidden; background: radial-gradient(circle at 72% 22%, rgba(77,221,234,.3), transparent 37%), linear-gradient(145deg, #dffbff, #d8edf4); }
.mobile-profile__cover img { position: absolute; left: 50%; bottom: -9%; width: auto; max-width: none; height: 112%; transform: translateX(-50%); }
.mobile-profile__content { position: relative; padding: .85rem .9rem .45rem; text-align: center; }
.demo-pill { display: inline-flex; padding: .25rem .5rem; border-radius: 999px; color: var(--navy-700); background: #e6fbfd; font-size: .55rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.mobile-profile__content strong, .mobile-profile__content b, .mobile-profile__content small { display: block; }
.mobile-profile__content strong { margin-top: .5rem; font-size: clamp(.88rem, 1.7vw, 1.12rem); }
.mobile-profile__content b { color: var(--navy-700); font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1; }
.mobile-profile__content small { color: var(--slate-500); font-size: .62rem; }
.mobile-links { display: grid; gap: .45rem; padding: .45rem .85rem 1rem; }
.mobile-links span { padding: .55rem .65rem; border: 1px solid var(--slate-100); border-radius: .65rem; color: var(--slate-700); background: var(--slate-50); font-size: clamp(.5rem, 1vw, .65rem); font-weight: 800; text-align: center; }
.connection { position: absolute; left: 56%; top: 46%; z-index: 5; display: flex; width: 22%; justify-content: space-between; align-items: center; opacity: 0; transform: rotate(-8deg); animation: connection-activate 9s ease-in-out infinite; }
.connection::before { content: ""; position: absolute; inset: 50% 0 auto; height: 2px; background: linear-gradient(90deg, var(--cyan-300), var(--violet-400)); box-shadow: 0 0 1rem rgba(53,214,230,.45); }
.connection span { position: relative; width: .55rem; aspect-ratio: 1; border-radius: 50%; background: var(--cyan-300); box-shadow: 0 0 0 .45rem rgba(53,214,230,.1); animation: travel 2.2s ease-in-out infinite; }
.connection span:nth-child(2) { animation-delay: .3s; }.connection span:nth-child(3) { animation-delay: .6s; }
.experience__caption { position: absolute; right: 0; bottom: .4rem; z-index: 5; padding: .55rem .8rem; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; color: var(--slate-300); background: rgba(5,11,20,.78); font-size: .7rem; font-weight: 800; backdrop-filter: blur(10px); }
.experience__caption b { margin-inline: .3rem; color: var(--cyan-300); }
@keyframes travel { 0%,100% { transform: scale(.7); opacity: .45; } 50% { transform: scale(1.15); opacity: 1; } }

.value-strip { position: relative; z-index: 5; color: var(--white); background: var(--navy-850); }
.value-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.value-strip__grid div { display: flex; min-height: 6.5rem; padding: 1.2rem; align-items: center; gap: .85rem; border-right: 1px solid rgba(255,255,255,.08); }
.value-strip__grid div:last-child { border-right: 0; }
.value-strip__grid strong { color: var(--cyan-300); font-size: .72rem; letter-spacing: .1em; }
.value-strip__grid span { font-size: .87rem; font-weight: 800; }

.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.process-card { position: relative; min-height: 20rem; padding: clamp(1.5rem, 3vw, 2.2rem); overflow: hidden; border: 1px solid var(--slate-100); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); }
.process-card > span { position: absolute; top: 1rem; right: 1.3rem; color: var(--slate-100); font-size: 4rem; font-weight: 950; line-height: 1; }
.process-card__icon { display: grid; width: 3.4rem; aspect-ratio: 1; margin-bottom: 3.5rem; place-items: center; border-radius: 1rem; color: var(--navy-900); background: linear-gradient(135deg, var(--cyan-300), #e5fcfe); font-size: 1.3rem; font-weight: 950; }
.process-card p { margin-bottom: 0; color: var(--slate-500); }
.card__icon { display: grid; width: 2.7rem; aspect-ratio: 1; margin-bottom: 1.2rem; place-items: center; border-radius: .8rem; color: var(--navy-900); background: linear-gradient(135deg, var(--cyan-300), #e5fcfe); font-size: .72rem; font-weight: 950; }

.product-layout { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(20rem, .92fr); gap: clamp(3rem, 8vw, 7rem); align-items: center; }
.product-layout--reverse { grid-template-columns: minmax(20rem, .92fr) minmax(0, 1.08fr); }
.product-copy h2 { margin-bottom: 1.4rem; }
.product-copy > p:not(.eyebrow) { color: var(--slate-500); }
.section--ink .product-copy > p:not(.eyebrow) { color: var(--slate-300); }
.feature-list { display: grid; gap: .78rem; padding: 0; margin: 1.6rem 0 2rem; list-style: none; color: var(--slate-700); }
.feature-list li { display: flex; align-items: flex-start; }
.feature-list li::before { content: "✓"; display: grid; width: 1.35rem; aspect-ratio: 1; margin: .18rem .7rem 0 0; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--navy-900); background: var(--cyan-300); font-size: .7rem; font-weight: 950; }
.feature-list--light { color: var(--slate-300); }
.poster-stage { position: relative; min-height: 39rem; display: grid; place-items: center; perspective: 1200px; }
.print-shadow { position: absolute; width: 60%; height: 10%; bottom: 5%; border-radius: 50%; background: rgba(0,0,0,.35); filter: blur(24px); }
.campaign-poster { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; grid-template-rows: auto 1fr auto auto; width: min(24rem, 78vw); aspect-ratio: .72; overflow: hidden; border: 1px solid rgba(119,232,242,.3); border-radius: .55rem; color: var(--white); background: radial-gradient(circle at 85% 15%, rgba(145,126,255,.42), transparent 30%), linear-gradient(155deg, #174873, #091a31 65%); box-shadow: 0 0 0 .4rem rgba(255,255,255,.025), var(--shadow-dark); transform: rotateY(7deg) rotateZ(-2deg); }
.campaign-poster::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg, rgba(255,255,255,.08), transparent 22% 75%, rgba(255,255,255,.04)); }
.campaign-poster__flag { grid-column: 1 / -1; z-index: 2; padding: 1.2rem 1.3rem 0; color: var(--cyan-300); font-size: .65rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.campaign-poster__portrait { position: relative; grid-column: 1; grid-row: 2 / 4; overflow: hidden; }
.campaign-poster__portrait img { position: absolute; left: 48%; bottom: -1%; width: auto; max-width: none; height: 92%; transform: translateX(-50%); }
.campaign-poster__copy { z-index: 2; grid-column: 2; grid-row: 2; align-self: center; padding: .8rem 1.2rem .5rem 0; }
.campaign-poster__copy small { color: var(--slate-300); font-size: .58rem; }
.campaign-poster__copy h3 { margin: .45rem 0; font-size: clamp(1.65rem, 4vw, 2.7rem); line-height: .88; }
.campaign-poster__copy strong { display: block; color: var(--cyan-300); font-size: clamp(2.4rem, 6vw, 4.2rem); line-height: 1; letter-spacing: -.07em; }
.campaign-poster__copy p { font-size: .72rem; line-height: 1.3; }
.campaign-poster__scan { z-index: 2; display: grid; grid-column: 2; grid-row: 3; align-self: end; justify-items: start; padding: 0 1.25rem 1.15rem 0; }
.campaign-poster__scan img { width: 3.85rem; aspect-ratio: 1; padding: .22rem; border-radius: .4rem; background: var(--white); object-fit: contain; }
.campaign-poster__scan span, .campaign-poster__scan small { display: block; margin-top: .3rem; font-size: .52rem; font-weight: 800; }
.campaign-poster__scan small { color: var(--slate-300); font-size: .45rem; }
.campaign-poster__legal { z-index: 3; grid-column: 1 / -1; grid-row: 4; padding: .55rem .8rem; color: #f5f0ff; background: rgba(0,0,0,.24); font-size: .6rem; line-height: 1.35; }
.stage-note { position: absolute; right: 5%; bottom: 1.4rem; padding: .5rem .75rem; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: var(--slate-300); background: rgba(255,255,255,.05); font-size: .62rem; }

.card-stage { position: relative; min-height: 31rem; perspective: 1200px; }
.electoral-card { position: absolute; display: grid; overflow: hidden; border-radius: 1.45rem; box-shadow: var(--shadow); }
.electoral-card--front { right: 0; top: 4rem; z-index: 2; grid-template-columns: 1.05fr .95fr .65fr; grid-template-rows: 1fr auto; width: min(34rem, 92%); aspect-ratio: 1.63; color: var(--white); background: radial-gradient(circle at 88% 5%, rgba(53,214,230,.28), transparent 30%), linear-gradient(145deg, #153d67, #09192e); transform: rotate(4deg); }
.electoral-card--front::after { content: "Material exclusivamente publicitário"; position: absolute; top: 1rem; right: 1.2rem; color: var(--cyan-300); font-size: .52rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.electoral-card__portrait { position: relative; grid-column: 1; grid-row: 1; overflow: hidden; }
.electoral-card__portrait img { position: absolute; left: 50%; bottom: -4%; width: auto; max-width: none; height: 102%; transform: translateX(-50%); }
.electoral-card__copy { grid-column: 2; grid-row: 1; align-self: center; min-width: 0; padding: 2.3rem .4rem 1rem; }
.electoral-card__copy small, .electoral-card__copy strong, .electoral-card__copy span { display: block; }
.electoral-card__copy small { color: var(--slate-300); font-size: .62rem; }
.electoral-card__copy h3 { margin: .3rem 0; font-size: clamp(1.2rem, 2.7vw, 2.05rem); }
.electoral-card__copy strong { color: var(--cyan-300); font-size: clamp(2.2rem, 5vw, 4rem); line-height: .9; letter-spacing: -.06em; }
.electoral-card__copy span { margin-top: .45rem; color: var(--slate-300); font-size: .6rem; }
.electoral-card__qr { grid-column: 3; grid-row: 1; align-self: end; padding: 1rem; }
.electoral-card__qr img { width: min(100%, 5.6rem); padding: .25rem; border-radius: .5rem; background: var(--white); }
.electoral-card__legal { grid-column: 1 / -1; grid-row: 2; padding: .5rem 1rem; color: var(--slate-200); background: rgba(0,0,0,.22); font-size: .6rem; line-height: 1.35; }
.electoral-card--back { left: 0; top: 14rem; width: min(30rem, 82%); aspect-ratio: 1.63; padding: 2.3rem; color: var(--navy-900); background: linear-gradient(145deg, #e7fbfd, #dfe5ff); transform: rotate(-7deg); }
.electoral-card--back span, .electoral-card--back strong, .electoral-card--back small { display: block; }
.electoral-card--back span { color: var(--navy-700); font-size: .72rem; font-weight: 850; }
.electoral-card--back strong { margin-top: auto; font-size: clamp(1.25rem, 2.8vw, 2rem); }
.electoral-card--back small { color: var(--slate-700); }

.page-included { color: var(--white); background: radial-gradient(circle at 90% 10%, rgba(145,126,255,.18), transparent 28%), linear-gradient(145deg, #071528, #0b2340); }
.page-included .eyebrow { color: var(--cyan-300); }
.page-included__intro { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: end; margin-bottom: 3rem; }
.page-included__intro h2 { max-width: 12ch; margin-bottom: 0; }
.page-included__intro .lead { margin-bottom: .3rem; color: var(--slate-300); }
.page-included__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(19rem, .75fr); gap: 1.4rem; }
.browser-preview { overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius-lg); background: rgba(255,255,255,.06); box-shadow: var(--shadow-dark); }
.browser-preview__bar { display: flex; min-height: 3.4rem; padding: .8rem 1rem; align-items: center; gap: .45rem; border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.18); }
.browser-preview__bar i { width: .55rem; aspect-ratio: 1; border-radius: 50%; background: var(--slate-500); }
.browser-preview__bar i:first-child { background: var(--cyan-400); }.browser-preview__bar i:nth-child(2) { background: var(--violet-400); }
.browser-preview__bar span { max-width: 75%; padding: .35rem .75rem; margin-left: .5rem; overflow: hidden; border-radius: 999px; color: var(--slate-300); background: rgba(255,255,255,.07); font-size: .68rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.browser-preview__body { display: grid; grid-template-columns: 1.2fr .8fr; gap: 2rem; min-height: 24rem; padding: clamp(1.5rem, 4vw, 3rem); align-items: center; background: radial-gradient(circle at 80% 20%, rgba(53,214,230,.13), transparent 35%); }
.browser-preview__headline strong { display: block; max-width: 13ch; margin: 1rem 0; font-size: clamp(1.55rem, 3vw, 2.5rem); line-height: 1.05; }
.browser-preview__headline p { color: var(--slate-300); }
.browser-preview__tiles { display: grid; gap: .65rem; }
.browser-preview__tiles span { padding: 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: .85rem; color: var(--slate-200); background: rgba(255,255,255,.06); font-size: .75rem; font-weight: 800; }
.included-resources { padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid rgba(255,255,255,.13); border-radius: var(--radius-lg); background: rgba(255,255,255,.05); }
.included-resources h3 { margin-bottom: 1.5rem; }
.included-resources ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; padding: 0; margin: 0; list-style: none; }
.included-resources li { padding: .75rem; border-radius: .7rem; color: var(--slate-200); background: rgba(255,255,255,.06); font-size: .72rem; }
.included-resources li::before { content: "✓"; margin-right: .4rem; color: var(--cyan-300); font-weight: 900; }
.bundle-equation { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 1rem; align-items: center; margin-top: 1.4rem; }
.bundle-equation div { display: flex; min-height: 5.5rem; padding: 1rem 1.2rem; align-items: center; gap: .8rem; border: 1px solid rgba(255,255,255,.12); border-radius: 1rem; background: rgba(255,255,255,.05); }
.bundle-equation span { color: var(--cyan-300); font-size: .65rem; font-weight: 900; }
.bundle-equation > b { color: var(--violet-400); font-size: 1.5rem; }
.page-included__note { margin: 1.4rem 0 0; color: var(--slate-300); font-size: .8rem; text-align: center; }

.impact-grid { display: grid; grid-template-columns: 1.15fr .8fr .8fr; gap: 1.2rem; align-items: stretch; }
.impact-grid > div { padding: clamp(1.6rem, 3vw, 2.5rem); border-radius: var(--radius-lg); }
.impact-grid > div:first-child { padding-left: 0; }
.impact-card { color: var(--white); background: linear-gradient(145deg, var(--navy-800), var(--navy-950)); box-shadow: var(--shadow); }
.impact-card strong { display: block; color: var(--cyan-300); font-size: clamp(3.2rem, 7vw, 5.8rem); line-height: .9; letter-spacing: -.08em; }
.impact-card strong span { font-size: .55em; }
.impact-card p { font-weight: 800; }
.impact-card hr { border: 0; border-top: 1px solid rgba(255,255,255,.15); }
.impact-card small { color: var(--slate-300); }
.clean-card { border: 1px solid var(--slate-200); background: var(--white); box-shadow: var(--shadow-sm); }
.clean-card > span { display: grid; width: 2.8rem; aspect-ratio: 1; margin-bottom: 2rem; place-items: center; border-radius: .8rem; color: var(--navy-900); background: var(--cyan-300); font-weight: 900; }
.clean-card p, .clean-card small { color: var(--slate-500); }

.demo-showcase { position: relative; overflow: hidden; color: var(--white); background: radial-gradient(circle at 75% 30%, rgba(53,214,230,.13), transparent 30%), radial-gradient(circle at 10% 90%, rgba(145,126,255,.14), transparent 30%), var(--navy-950); }
.demo-showcase__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(25rem, 1.05fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.demo-showcase__copy h2 { max-width: 12ch; }
.demo-device-wrap { position: relative; min-height: 39rem; display: grid; place-items: center; }
.smartphone--demo { width: min(18.5rem, 64vw); aspect-ratio: 9 / 18.4; }
.demo-badge { position: absolute; z-index: 4; top: 3rem; right: 0; padding: .55rem .8rem; border: 1px solid rgba(255,255,255,.17); border-radius: 999px; color: var(--cyan-300); background: rgba(255,255,255,.06); font-size: .65rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.demo-device__portrait { position: relative; height: 45%; overflow: hidden; background: linear-gradient(145deg, #dffbff, #e7e7ff); }
.demo-device__portrait img { position: absolute; left: 50%; bottom: -8%; width: auto; max-width: none; height: 112%; transform: translateX(-50%); }
.demo-device__content { display: grid; gap: .5rem; padding: 1rem; }
.demo-device__content > small { color: var(--navy-700); font-weight: 900; }
.demo-device__number { color: var(--marina-number-light); }
.demo-device__content > strong { font-size: .86rem; line-height: 1.25; }
.demo-device__content > span { padding: .55rem; border-radius: .6rem; color: var(--slate-700); background: var(--slate-50); font-size: .58rem; font-weight: 800; text-align: center; }
.demo-miniatures { position: absolute; left: 0; bottom: 5rem; display: grid; gap: .65rem; }
.demo-miniatures span { padding: .8rem 1rem; border: 1px solid rgba(255,255,255,.14); border-radius: .85rem; color: var(--slate-200); background: rgba(255,255,255,.07); font-size: .67rem; font-weight: 800; backdrop-filter: blur(12px); }

.faq-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(3rem, 8vw, 8rem); }
.faq { border-top: 1px solid var(--slate-300); }
.faq details { border-bottom: 1px solid var(--slate-300); }
.faq summary { position: relative; padding: 1.35rem 2.8rem 1.35rem 0; cursor: pointer; font-weight: 850; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: .35rem; top: 1.12rem; color: var(--navy-700); font-size: 1.5rem; }
.faq details[open] summary::after { content: "−"; }
.faq p { max-width: 70ch; padding-right: 2rem; color: var(--slate-500); }

.contact-section { background: linear-gradient(180deg, var(--slate-50), var(--white)); }
.contact-heading { display: grid; max-width: 52rem; margin-bottom: 3rem; }
.contact-heading h2 { max-width: 14ch; }
.form-shell { display: grid; grid-template-columns: minmax(20rem, .82fr) minmax(0, 1.18fr); overflow: hidden; border: 1px solid var(--slate-100); border-radius: var(--radius-xl); background: var(--white); box-shadow: var(--shadow); }
.form-intro { padding: clamp(2rem, 5vw, 4rem); color: var(--white); background: radial-gradient(circle at 80% 10%, rgba(53,214,230,.16), transparent 34%), linear-gradient(150deg, var(--navy-800), var(--navy-950)); }
.form-intro__badge { display: inline-flex; padding: .35rem .65rem; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: var(--cyan-300); font-size: .66rem; font-weight: 900; text-transform: uppercase; }
.form-intro h3 { margin: 2rem 0 1rem; font-size: clamp(1.8rem, 3vw, 2.6rem); }
.form-intro > p { color: var(--slate-300); }
.contact-facts { display: grid; gap: .7rem; padding: 1.3rem 0 0; margin: 2rem 0 0; border-top: 1px solid rgba(255,255,255,.15); list-style: none; }
.contact-facts li { display: flex; justify-content: space-between; gap: 1rem; color: var(--slate-300); font-size: .78rem; }
.contact-facts li > :last-child { color: var(--white); font-weight: 800; text-align: right; }
.contact-facts a { color: var(--cyan-300) !important; }
.form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: clamp(2rem, 5vw, 4rem); background: var(--white); }
.field { display: grid; gap: .42rem; }
.field--full { grid-column: 1 / -1; }
.field label { color: var(--slate-700); font-size: .82rem; font-weight: 850; }
.field input, .field select, .field textarea { width: 100%; min-height: 3.2rem; padding: .78rem .85rem; border: 1px solid var(--slate-300); border-radius: .75rem; color: var(--ink); background: var(--white); transition: border-color .2s, box-shadow .2s; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--cyan-500); box-shadow: 0 0 0 4px rgba(53,214,230,.12); outline: 0; }
.field textarea { min-height: 7rem; resize: vertical; }
.consent { display: flex; gap: .7rem; align-items: flex-start; color: var(--slate-700); font-size: .82rem; }
.consent input { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; }
.feedback { min-height: 1.5rem; margin: 0; color: var(--navy-700); font-weight: 750; }

.site-footer { position: relative; padding: clamp(4rem, 7vw, 6rem) 0 1.5rem; overflow: hidden; color: var(--footer-text); background: radial-gradient(circle at 85% 0%, rgba(77,221,234,.07), transparent 28rem), radial-gradient(circle at 10% 100%, var(--footer-detail), transparent 24rem), var(--footer-bg); }
.site-footer::before { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg, transparent 4%, rgba(77,221,234,.62), rgba(155,134,255,.1), transparent 96%); }
.footer-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: clamp(2rem, 5vw, 4rem); }
.footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; }
.footer-grid strong { margin-bottom: .65rem; color: var(--footer-accent); font-size: .875rem; letter-spacing: .09em; text-transform: uppercase; }
.footer-grid a { display: inline-flex; min-height: 1.8rem; align-items: center; color: var(--footer-text); font-size: .875rem; line-height: 1.55; text-decoration: underline; text-decoration-color: rgba(147,164,184,.34); text-decoration-thickness: 1px; text-underline-offset: .3rem; transition: color var(--motion-fast) ease, text-decoration-color var(--motion-fast) ease, transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) ease; }
.footer-grid a:hover { color: var(--footer-accent); text-decoration-color: currentColor; }
.footer-grid a:focus-visible { color: var(--footer-accent); outline-color: var(--footer-accent); text-decoration-color: currentColor; }
.footer-grid a[data-contact-whatsapp], .footer-grid a[data-contact-phone] { color: var(--footer-accent); font-weight: 825; }
.footer-grid a[data-whatsapp] { min-height: 2.9rem; padding: .68rem 1rem; margin-top: .25rem; border: 1px solid rgba(77,221,234,.6); border-radius: 999px; color: var(--navy-950); background: var(--footer-accent); box-shadow: 0 10px 28px rgba(0,0,0,.18); font-weight: 900; text-decoration: none; }
.footer-grid a[data-whatsapp]:hover { color: var(--navy-950); background: var(--footer-accent-hover); box-shadow: 0 0 0 .2rem var(--footer-accent-soft), 0 12px 28px rgba(0,0,0,.2); transform: translateY(-2px); }
.footer-grid a[data-whatsapp]:focus-visible { color: var(--navy-950); outline-color: var(--footer-accent); box-shadow: 0 0 0 .2rem var(--footer-accent-soft); }
.footer-grid span { color: var(--footer-muted); font-size: .875rem; line-height: 1.55; }
.footer-brand p { max-width: 28ch; margin: 1rem 0 .2rem; }
.footer-brand small { color: var(--footer-muted); font-size: .875rem; line-height: 1.6; }
.footer-bottom { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; gap: 1rem; padding-top: 1.5rem; margin-top: 3rem; border-top: 0; align-items: center; color: var(--footer-muted); background: linear-gradient(90deg, transparent, rgba(77,221,234,.28), rgba(155,134,255,.1), transparent) top / 100% 1px no-repeat; text-align: center; }
.footer-bottom small { font-size: .875rem; line-height: 1.6; }
.footer-bottom > small { max-width: 44rem; text-align: center; }
.footer-legal { display: grid; width: min(100%, 62rem); min-width: 0; gap: .4rem; padding: 1rem clamp(.75rem, 2vw, 1.4rem) .15rem; justify-items: center; border-top: 1px solid rgba(255,138,31,.42); border-radius: .8rem .8rem 0 0; color: var(--footer-neon-orange); background: linear-gradient(180deg, rgba(255,138,31,.055), transparent 78%); text-align: center; }
.footer-legal small { font-size: clamp(.66rem, .76vw, .72rem); font-weight: 760; letter-spacing: .085em; line-height: 1.55; text-transform: uppercase; }
.footer-legal__company { display: flex; gap: .35rem .55rem; align-items: center; justify-content: center; flex-wrap: wrap; color: #ffc078; font-size: clamp(.68rem, .8vw, .76rem) !important; font-weight: 850 !important; }
.footer-legal__company::before { content: ""; width: .34rem; aspect-ratio: 1; flex: 0 0 auto; border-radius: 50%; background: var(--footer-neon-orange-bright); box-shadow: 0 0 10px rgba(255,157,59,.72); }
.footer-legal__rights { display: block; width: 100%; padding-top: .35rem; margin-top: .05rem; border-top: 1px solid rgba(255,138,31,.14); color: var(--footer-neon-orange-bright); font-weight: 880; text-shadow: 0 0 10px rgba(255,138,31,.35), 0 0 24px rgba(255,138,31,.16); }
.footer-company-id { white-space: nowrap; }

/* Página demonstrativa */
.candidate-page { --campaign-primary: #153d67; --campaign-secondary: #35d6e6; --campaign-accent: #917eff; min-height: 100vh; color: var(--ink); background: var(--slate-50); }
.candidate-page:not(.layout-page) { --campaign-primary: var(--marina-primary); --campaign-secondary: var(--marina-number-light); --campaign-accent: var(--marina-number-dark); }
.demo-notice { padding: .65rem 1rem; color: #503b00; background: #fff2bd; text-align: center; font-size: .78rem; font-weight: 850; }
.candidate-hero { position: relative; overflow: hidden; padding: 2rem 0 clamp(4rem, 8vw, 7rem); color: var(--white); background: radial-gradient(circle at 80% 10%, rgba(53,214,230,.18), transparent 30%), linear-gradient(145deg, #102f52, var(--navy-950)); }
.candidate-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: clamp(3rem, 6vw, 5rem); }
.candidate-top > span { padding: .45rem .7rem; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: var(--cyan-300); font-size: .65rem; font-weight: 900; text-transform: uppercase; }
.candidate-card { display: grid; grid-template-columns: minmax(14rem, 23rem) minmax(0, 1fr); gap: clamp(2.5rem, 7vw, 6rem); align-items: center; }
.candidate-avatar { position: relative; display: grid; width: 100%; aspect-ratio: 1; overflow: hidden; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 2rem; background: radial-gradient(circle at 70% 25%, rgba(145,126,255,.35), transparent 40%), linear-gradient(145deg, #dffbff, #dce0ff); box-shadow: var(--shadow-dark); }
.candidate-avatar .candidate-portrait { position: absolute; left: 50%; bottom: -5%; width: auto; max-width: none; height: 110%; transform: translateX(-50%); }
.candidate-number { color: var(--campaign-secondary); font-size: clamp(4rem, 9vw, 7rem); font-weight: 950; line-height: .85; letter-spacing: -.08em; }
.candidate-page:not([data-layout]) .candidate-number { color: var(--marina-number-light); }
.candidate-name { max-width: none; margin: 1rem 0 .4rem; font-size: clamp(2.4rem, 5vw, 4.8rem); }
.candidate-meta { font-weight: 750; opacity: .82; }
.candidate-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }
.candidate-actions .button { color: var(--campaign-primary); background: var(--white); }
.institutional-cta { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-top: 1.2rem; }
.institutional-cta small { color: var(--slate-300); }
.candidate-main { padding: clamp(4rem, 8vw, 7rem) 0; }
.candidate-page .browser-preview { color: var(--white); background: linear-gradient(145deg, var(--navy-800), var(--navy-950)); }
.demo-feedback { min-height: 1.5rem; margin-bottom: 2rem; color: var(--slate-700); font-weight: 750; }
.candidate-section { padding: clamp(3.5rem, 7vw, 6rem) 0; }
.candidate-section + .candidate-section { border-top: 1px solid var(--slate-200); }
.candidate-section__head { display: grid; grid-template-columns: .75fr 1.25fr; gap: 2rem; margin-bottom: 2.5rem; }
.candidate-section__head h2 { margin-bottom: 0; }
.candidate-section__head p { color: var(--slate-500); }
.proposal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.proposal { padding: 1.5rem; border: 1px solid var(--slate-200); border-top: 4px solid var(--campaign-secondary); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.proposal p { color: var(--slate-500); }
.social-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .75rem; }
@media (min-width: 1024px) { .candidate-page[data-layout] .social-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.social-button { display: flex; min-height: 5.6rem; padding: .9rem; flex-direction: column; align-items: flex-start; justify-content: space-between; border: 1px solid var(--slate-200); border-radius: 1rem; color: var(--navy-900); background: var(--white); box-shadow: var(--shadow-sm); font-size: .72rem; font-weight: 850; text-decoration: none; transition: transform .2s, border-color .2s; }
.social-button:hover { transform: translateY(-3px); border-color: var(--cyan-400); }
.social-button svg { width: 1.35rem; height: 1.35rem; }
.social-button[data-platform] svg { display: none; }
.social-button--chat { background: #ecfbf5; }.social-button--photo { background: #fff1f7; }.social-button--network { background: #eef4ff; }.social-button--short { color: var(--navy-800); background: linear-gradient(135deg, #eef4ff, #f2efff); }.social-button--video { background: #fff0f0; }.social-button--x { background: #f2f3f5; }.social-button--site { background: #ebfbfd; }.social-button--doc { background: #f2efff; }

/* Marcas sociais locais: um único contrato atende CTAs, rodapés, cards e prévias. */
[data-platform="whatsapp"] { --platform-icon: url("/assets/icons/social/whatsapp.svg"); }
[data-platform="instagram"] { --platform-icon: url("/assets/icons/social/instagram.svg"); }
[data-platform="facebook"] { --platform-icon: url("/assets/icons/social/facebook.svg"); }
[data-platform="tiktok"] { --platform-icon: url("/assets/icons/social/tiktok.svg"); }
[data-platform="youtube"] { --platform-icon: url("/assets/icons/social/youtube.svg"); }
[data-platform="x"] { --platform-icon: url("/assets/icons/social/x.svg"); }

:is(a, button, span)[data-platform]:not(.layout-social-card)::before {
  content: "";
  display: inline-block;
  width: 1.35rem;
  height: 1.35rem;
  flex: 0 0 1.35rem;
  margin-inline-end: .45rem;
  vertical-align: -.3rem;
  background: center / contain no-repeat var(--platform-icon);
}
.social-button[data-platform]::before { width: 1.7rem; height: 1.7rem; flex-basis: 1.7rem; margin: 0; }
.layout-hero__dock a[data-platform] { display: inline-flex; align-items: center; justify-content: center; }
.layout-hero__dock a[data-platform]::before { width: 1.25rem; height: 1.25rem; flex-basis: 1.25rem; margin-inline-end: .38rem; }
.layout-preview-card__mini-links span[data-platform] { display: inline-flex; align-items: center; justify-content: center; }
.layout-preview-card__mini-links span[data-platform]::before { width: 1rem; height: 1rem; flex-basis: 1rem; margin-inline-end: .25rem; }
.share-link-panel__chips > span[data-platform] i { display: none; }
.whatsapp-float > span { display: none !important; }
.video-module { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(18rem, .7fr); overflow: hidden; border-radius: var(--radius-lg); color: var(--white); background: var(--navy-950); box-shadow: var(--shadow); }
.video-poster { position: relative; min-height: 25rem; overflow: hidden; }
.video-poster img { width: 100%; height: 100%; object-fit: cover; }
.video-poster::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 55%, rgba(0,0,0,.65)); }
.video-poster__play { position: absolute; inset: 50% auto auto 50%; z-index: 3; display: grid; width: 5rem; aspect-ratio: 1; place-items: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; color: var(--navy-900); background: rgba(255,255,255,.92); font-size: 1.3rem; transform: translate(-50%,-50%); animation: breathe 2.4s ease-in-out infinite; }
.video-poster__status { position: absolute; z-index: 3; left: 1rem; bottom: 1rem; padding: .4rem .65rem; border-radius: 999px; color: var(--white); background: rgba(0,0,0,.58); font-size: .64rem; font-weight: 800; }
.video-copy { padding: clamp(1.8rem, 4vw, 3rem); align-self: center; }
.video-copy p, .video-copy small { color: var(--slate-300); }
.video-copy small { display: block; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.14); }
@keyframes breathe { 0%,100% { box-shadow: 0 0 0 0 rgba(119,232,242,.18); } 50% { box-shadow: 0 0 0 1rem rgba(119,232,242,0); } }
.demo-qr-panel { display: grid; grid-template-columns: 1fr auto; gap: 2rem; padding: clamp(1.5rem, 4vw, 2.5rem); align-items: center; border-radius: var(--radius-lg); color: var(--white); background: linear-gradient(145deg, var(--navy-800), var(--navy-950)); }
.demo-qr-panel img { width: min(13rem, 35vw); padding: .5rem; border-radius: .8rem; background: var(--white); }

/* Sistema de movimento */
.motion-ready [data-reveal] {
  opacity: 0;
  transform: translate3d(0, 2rem, 0);
  transition: opacity var(--motion-base) var(--ease-out), transform var(--motion-base) var(--ease-out);
  transition-delay: var(--reveal-delay, 0ms);
}
.motion-ready .footer-legal,
.motion-ready .footer-legal[data-reveal] { opacity: 1; transform: none; transition: none; }
.motion-ready [data-reveal="left"] { transform: translate3d(-2.5rem, 0, 0); }
.motion-ready [data-reveal="right"] { transform: translate3d(2.5rem, 0, 0); }
.motion-ready [data-reveal="scale"] { transform: scale(.92); }
.motion-ready [data-reveal].is-visible { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.motion-ready .process-card[data-reveal].is-visible:hover,
.motion-ready .clean-card[data-reveal].is-visible:hover,
.motion-ready .proposal[data-reveal].is-visible:hover,
.motion-ready .social-button[data-reveal].is-visible:hover,
.motion-ready .impact-card[data-reveal].is-visible:hover,
.motion-ready .included-resources[data-reveal].is-visible:hover,
.motion-ready .browser-preview[data-reveal].is-visible:hover { transform: translate3d(0, -.375rem, 0) scale(1); }

.hero__orb--one { animation: orb-drift-one 12s ease-in-out infinite alternate; }
.hero__orb--two { animation: orb-drift-two 15s ease-in-out infinite alternate; }
.section--ink::after { animation: ring-drift 18s linear infinite; }
.hero-card { transform-origin: 80% 50%; animation: card-approach 9s var(--ease-out) infinite; }
.smartphone--hero { animation: phone-activate 9s var(--ease-out) infinite; }
.smartphone--hero::before { content: ""; position: absolute; z-index: 7; left: -.9rem; top: 39%; width: 2.3rem; aspect-ratio: 1; border: 2px solid var(--cyan-300); border-radius: 50%; opacity: 0; pointer-events: none; animation: contact-wave 9s ease-out infinite; }
.smartphone--hero .mobile-profile, .smartphone--hero .mobile-links { opacity: .12; filter: blur(7px); transform: translateY(1rem); animation: page-reveal 9s var(--ease-out) infinite; }
.smartphone--hero .mobile-links { animation-delay: 120ms; }
.campaign-poster { animation: poster-float 7s ease-in-out infinite; }
.electoral-card--front { animation: card-front-float 7.5s ease-in-out infinite; }
.electoral-card--back { animation: card-back-float 8.2s ease-in-out .7s infinite; }
.smartphone--demo { animation: demo-phone-float 7s ease-in-out infinite; }
.demo-badge, .experience__caption { animation: badge-hover 4.8s ease-in-out infinite; }
.status-dot { animation: status-pulse 2.2s ease-out infinite; }

.process-card, .clean-card, .proposal, .social-button, .impact-card, .included-resources, .browser-preview {
  transition: transform var(--motion-fast) var(--ease-out), border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease;
}
.process-card:hover, .clean-card:hover, .proposal:hover, .impact-card:hover, .included-resources:hover, .browser-preview:hover {
  border-color: rgba(53,214,230,.42);
  box-shadow: 0 24px 58px rgba(7,21,40,.13);
  transform: translateY(-6px);
}
.process-card:hover .process-card__icon, .proposal:hover .card__icon { animation: icon-pop .55s var(--ease-spring); }
.social-button:hover svg,
.social-button:hover::before { animation: icon-pop .55s var(--ease-spring); }
.button > span[aria-hidden="true"], .text-link { transition: transform var(--motion-fast) var(--ease-out); }
.button:hover > span[aria-hidden="true"] { transform: translateX(.3rem); }
.text-link:hover { transform: translateX(.25rem); text-decoration: none; }
.feature-list li::before, .hero__proof li::before { transition: transform var(--motion-fast) var(--ease-spring); }
.feature-list li:hover::before, .hero__proof li:hover::before { transform: scale(1.18) rotate(-8deg); }
.faq details[open] > :not(summary) { animation: faq-open .45s var(--ease-out) both; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: var(--cyan-500); }
.demo-qr-panel img, .hero-card__qr img, .campaign-poster__scan img, .electoral-card__qr img {
  transition: transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) ease;
}
.demo-qr-panel img:hover, .hero-card__qr img:hover, .campaign-poster__scan img:hover, .electoral-card__qr img:hover {
  box-shadow: 0 0 0 .35rem rgba(119,232,242,.2), 0 18px 42px rgba(0,0,0,.18);
  transform: scale(1.035);
}
.candidate-avatar::after, .video-poster::before {
  content: "";
  position: absolute;
  inset: -50%;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 42%, rgba(255,255,255,.2) 50%, transparent 58%);
  transform: translateX(-60%) rotate(8deg);
  animation: light-sweep 6.5s ease-in-out infinite;
}
.video-poster::before { z-index: 2; opacity: .45; }
.demo-feedback.has-feedback { animation: feedback-pop .45s var(--ease-spring); }

@keyframes orb-drift-one { to { transform: translate3d(-3rem, 2rem, 0) scale(1.08); } }
@keyframes orb-drift-two { to { transform: translate3d(2rem, -2.5rem, 0) scale(.94); } }
@keyframes ring-drift { to { transform: rotate(360deg); } }
@keyframes card-approach {
  0%,14%,100% { transform: translate3d(0,0,0) rotate(-5deg); }
  34%,44% { transform: translate3d(var(--tap-x),var(--tap-y),0) rotate(-1deg) scale(.97); }
  58%,86% { transform: translate3d(.6rem,-.45rem,0) rotate(-4deg); }
}
@keyframes phone-activate {
  0%,29%,100% { transform: translate3d(0,0,0); box-shadow: var(--shadow-dark); }
  36%,48% { transform: translate3d(.2rem,0,0) scale(1.015); box-shadow: 0 0 0 .25rem rgba(119,232,242,.24), 0 35px 100px rgba(0,0,0,.42); }
  58%,90% { transform: translate3d(0,-.35rem,0); box-shadow: 0 24px 85px rgba(53,214,230,.18); }
}
@keyframes tap-state { 0%,29% { opacity: 1; visibility: visible; } 36%,92% { opacity: 0; visibility: hidden; } 100% { opacity: 1; visibility: visible; } }
@keyframes tap-icon { 50% { transform: scale(1.12); box-shadow: 0 0 0 1.25rem rgba(53,214,230,0); } }
@keyframes connection-activate { 0%,25%,55%,100% { opacity: 0; } 32%,45% { opacity: 1; } }
@keyframes contact-wave { 0%,30% { opacity: 0; transform: scale(.25); } 36% { opacity: .9; } 48%,100% { opacity: 0; transform: scale(2.2); } }
@keyframes page-reveal { 0%,30%,100% { opacity: .12; filter: blur(7px); transform: translateY(1rem); } 40%,92% { opacity: 1; filter: blur(0); transform: translateY(0); } }
@keyframes poster-float { 0%,100% { transform: translate3d(0,0,0) rotateY(7deg) rotateZ(-2deg); } 50% { transform: translate3d(0,-.65rem,0) rotateY(4deg) rotateZ(-1deg); } }
@keyframes card-front-float { 0%,100% { transform: translate3d(0,0,0) rotate(4deg); } 50% { transform: translate3d(0,-.6rem,0) rotate(3deg); } }
@keyframes card-back-float { 0%,100% { transform: translate3d(0,0,0) rotate(-5deg); } 50% { transform: translate3d(0,.55rem,0) rotate(-3.8deg); } }
@keyframes demo-phone-float { 0%,100% { transform: translate3d(0,0,0) rotate(-.5deg); } 50% { transform: translate3d(0,-.75rem,0) rotate(.5deg); } }
@keyframes badge-hover { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,-.3rem,0); } }
@keyframes status-pulse { 0% { box-shadow: 0 0 0 0 rgba(53,214,230,.35); } 70%,100% { box-shadow: 0 0 0 .6rem rgba(53,214,230,0); } }
@keyframes icon-pop { 50% { transform: translateY(-.2rem) scale(1.12) rotate(-5deg); } }
@keyframes faq-open { from { opacity: 0; transform: translateY(-.45rem); } }
@keyframes light-sweep { 0%,65% { transform: translateX(-65%) rotate(8deg); } 100% { transform: translateX(65%) rotate(8deg); } }
@keyframes feedback-pop { 50% { transform: scale(1.015); color: var(--cyan-500); } }

/* Legais, modelo e erro */
.legal-page { min-height: 100vh; padding: clamp(5rem, 10vw, 8rem) 1rem; background: linear-gradient(180deg, var(--slate-50), var(--white)); }
.legal-content { max-width: 800px; padding: clamp(1.5rem, 5vw, 4rem); margin: auto; border: 1px solid var(--slate-100); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow); }
.legal-content .brand { width: max-content; margin-bottom: 2rem; }
.legal-content .brand__logo-frame { background: var(--white); }
.legal-content h1 { max-width: 14ch; font-size: clamp(2.2rem, 5vw, 4rem); }
.legal-content h2 { margin-top: 2.5rem; font-size: 1.45rem; }
.legal-content p { color: var(--slate-700); }
.error-page { display: grid; min-height: 100vh; padding: 2rem; place-items: center; color: var(--white); background: radial-gradient(circle at 70% 30%, rgba(53,214,230,.17), transparent 30%), var(--navy-950); text-align: center; }
.error-page .brand { justify-content: center; margin: 0 auto 2rem; }
.error-page h1 { max-width: none; margin-bottom: .3rem; color: var(--cyan-300); font-size: clamp(6rem, 18vw, 11rem); }
.error-page h2 { margin-inline: auto; }

@media (min-width: 1440px) {
  :root { --container: min(1280px, calc(100% - 8rem)); }
  .hero__grid { grid-template-columns: minmax(0, 1fr) minmax(34rem, .95fr); }
  .experience { min-height: 590px; }
  .hero-card { width: 24rem; }
}

@media (max-width: 1180px) {
  .nav__links { gap: .7rem; }.nav__links > a:not(.button) { font-size: .78rem; }
  .hero__grid { grid-template-columns: minmax(0, 1fr) minmax(25rem, .88fr); gap: 2rem; }
  .footer-grid { grid-template-columns: 1.35fr repeat(3, 1fr); gap: 2rem; }
}

@media (max-width: 1023px) {
  .nav__links > a:not(.button) { display: none; }
  .hero { padding-top: 8.5rem; }
  .hero__grid { grid-template-columns: 1fr; }
  .hero__copy { max-width: 48rem; }
  .experience { width: min(42rem, 100%); min-height: 590px; margin: 1rem auto 0; }
  .hero-card { width: min(24rem, 62%); }
  .smartphone--hero { width: min(17rem, 44%); }
  .product-layout, .product-layout--reverse { grid-template-columns: 1fr; }
  .product-layout--reverse .product-copy { order: 2; }.product-layout--reverse .card-stage { order: 1; }
  .product-copy { max-width: 46rem; }
  .page-included__grid { grid-template-columns: 1fr; }
  .impact-grid { grid-template-columns: 1fr 1fr; }.impact-grid > div:first-child { grid-column: 1 / -1; }
  .demo-showcase__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .faq-layout { grid-template-columns: 1fr; gap: 2rem; }
  .form-shell { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1.25fr 1fr; }
  .candidate-card { grid-template-columns: minmax(13rem, 19rem) 1fr; }
  .social-grid { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 767px) {
  :root { --container: min(100% - 2rem, 42rem); }
  html { scroll-padding-top: 0; }
  main [id] { scroll-margin-top: calc(4.8rem + 1.25rem); }
  .section { padding: 4.5rem 0; }
  .nav { min-height: 4.8rem; }
  .menu-button { display: grid; }
  .nav__links { display: none; position: absolute; inset: 4.8rem 0 auto; max-height: calc(100vh - 4.8rem); padding: 1.2rem max(1rem, env(safe-area-inset-right)) 1.5rem max(1rem, env(safe-area-inset-left)); overflow-y: auto; border-bottom: 1px solid rgba(255,255,255,.12); background: rgba(5,11,20,.98); flex-direction: column; align-items: stretch; }
  .nav__links[data-open] { display: flex; }
  .nav__links > a:not(.button) { display: block; min-height: 2.8rem; font-size: .9rem; }
  .hero { min-height: auto; padding: 8rem 0 5rem; }
  .hero h1 { font-size: clamp(2.65rem, 12vw, 4.5rem); }
  .hero__proof { grid-template-columns: 1fr; }
  .experience { min-height: 520px; }
  .hero-card { top: 8rem; width: min(21rem, 72%); }
  .smartphone--hero { width: min(15rem, 52%); }
  .value-strip__grid { grid-template-columns: 1fr 1fr; }
  .value-strip__grid div { min-height: 5rem; border-bottom: 1px solid rgba(255,255,255,.08); }
  .process-grid { grid-template-columns: 1fr; }.process-card { min-height: auto; }.process-card__icon { margin-bottom: 2.5rem; }
  .poster-stage { min-height: 34rem; }.campaign-poster { width: min(21rem, 88vw); }
  .card-stage { min-height: 25rem; }.electoral-card--front { width: 96%; }.electoral-card--back { top: 12rem; width: 88%; }
  .page-included__intro { grid-template-columns: 1fr; gap: 1rem; }
  .browser-preview__body { grid-template-columns: 1fr; min-height: auto; }
  .bundle-equation { grid-template-columns: 1fr; }.bundle-equation > b { text-align: center; }
  .impact-grid { grid-template-columns: 1fr; }.impact-grid > div:first-child { grid-column: auto; padding: 1.5rem 0; }
  .demo-showcase__grid { grid-template-columns: 1fr; }.demo-device-wrap { min-height: 36rem; }.demo-showcase__copy { max-width: 42rem; }
  .form { grid-template-columns: 1fr; }.field--full { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr 1fr; }.footer-bottom { flex-direction: column; }
  .candidate-top { align-items: flex-start; }.candidate-card { grid-template-columns: 1fr; text-align: center; }.candidate-avatar { max-width: 18rem; margin-inline: auto; }.candidate-actions, .institutional-cta { justify-content: center; }
  .candidate-section__head { grid-template-columns: 1fr; }.proposal-grid { grid-template-columns: 1fr; }.social-grid { grid-template-columns: repeat(2, 1fr); }
  .video-module { grid-template-columns: 1fr; }.video-poster { min-height: 20rem; }
}

@media (max-width: 479px) {
  :root { --container: calc(100% - 1.5rem); }
  .brand__logo-frame { width: clamp(9.6rem, 49vw, 11.2rem); height: 2.65rem; }
  .hero .actions .button { width: 100%; }
  .experience { --tap-x: 2.4rem; --tap-y: -1.4rem; min-height: 465px; margin-top: 0; }
  .hero-card { top: 7rem; left: -.2rem; width: min(18rem, 78%); border-radius: 1rem; transform: rotate(-4deg); }
  .hero-card__qr { padding: .2rem .4rem .45rem 0; }
  .smartphone--hero { right: -.15rem; width: min(12.8rem, 54%); }
  .connection { left: 58%; top: 42%; width: 23%; }
  .experience__caption { bottom: .3rem; font-size: .6rem; }
  .value-strip__grid { grid-template-columns: 1fr; }.value-strip__grid div { min-height: 4.4rem; border-right: 0; }
  .campaign-poster { width: min(19rem, 91vw); }.poster-stage { min-height: 31rem; }.campaign-poster__scan img { width: 4rem; }
  .card-stage { min-height: 21rem; }.electoral-card--front { top: 2rem; border-radius: 1rem; }.electoral-card--back { top: 10rem; padding: 1.5rem; }.electoral-card__qr { padding: .6rem; }
  .included-resources ul { grid-template-columns: 1fr; }
  .browser-preview__bar span { max-width: 65%; }
  .demo-device-wrap { min-height: 33rem; }.demo-miniatures { left: -.2rem; bottom: 3rem; }
  .contact-facts li { flex-direction: column; gap: .15rem; }.contact-facts li > :last-child { text-align: left; }
  .footer-grid { grid-template-columns: 1fr; }
  .demo-qr-panel { grid-template-columns: 1fr; }.demo-qr-panel img { width: min(12rem, 60vw); }
}

@media (max-width: 374px) {
  h1 { font-size: 2.55rem; }
  .hero { padding-top: 7.4rem; }
  .hero-card { top: 7.4rem; width: 82%; }
  .hero-card__tag { padding-top: .5rem; }
  .smartphone--hero { width: 52%; }
  .campaign-poster__copy h3 { font-size: 1.55rem; }.campaign-poster__copy strong { font-size: 2.35rem; }
  .electoral-card__copy { padding-top: 1.8rem; }.electoral-card__copy h3 { font-size: 1rem; }.electoral-card__copy strong { font-size: 2rem; }
  .button { width: 100%; }
}

@media (max-width: 319px) {
  :root { --container: calc(100% - 1rem); }
  .hero-card { width: 86%; }.smartphone--hero { width: 50%; }
  .hero-card__helper { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .motion-ready [data-reveal] { opacity: 1; transform: none; }
  .phone-tap-state { display: none; }
  .hero-card, .smartphone--hero, .connection, .smartphone--hero .mobile-profile, .smartphone--hero .mobile-links { animation: none !important; }
  .hero-card { transform: rotate(-5deg); }
  .connection { opacity: 1; }
  .smartphone--hero .mobile-profile, .smartphone--hero .mobile-links { opacity: 1; filter: none; transform: none; }
}

/* H5 — sistema clean e premium */
body { background: var(--slate-25); }
.section { padding-block: var(--space-2xl); }
.section--soft { background: #f3f6fa; }
.section-head { margin-bottom: clamp(3rem, 6vw, 5rem); }
.section-head h2 { max-width: 14ch; }
.eyebrow { color: var(--navy-700); }
.button { min-height: 3.2rem; box-shadow: none; }
.button--primary { color: var(--white); background: linear-gradient(135deg, var(--navy-700), #225b91); box-shadow: 0 12px 30px rgba(23,60,103,.18); }
.button--primary:hover { box-shadow: 0 16px 34px rgba(23,60,103,.24); }
.button--navy { background: var(--navy-900); }
.text-link { color: var(--navy-700); }
.text-link--dark { color: var(--navy-700); }

.site-header { color: var(--navy-900); border-bottom-color: rgba(7,21,40,.08); background: rgba(255,255,255,.88); box-shadow: none; }
.site-header.is-scrolled { background: rgba(255,255,255,.96); box-shadow: 0 10px 35px rgba(7,21,40,.07); }
.brand { min-width: 0; }
.brand__picture { display: block; }
.brand__logo { position: static; width: clamp(12.5rem, 17vw, 15.3rem); height: auto; transform: none; }
.brand--light .brand__logo { width: clamp(12rem, 16vw, 14.5rem); }
.nav__links { color: var(--slate-700); }
.nav__links > a:not(.button):hover { color: var(--navy-900); }
.menu-button { color: var(--navy-900); border-color: var(--slate-200); background: var(--white); }

.hero { min-height: 860px; padding-top: clamp(9.5rem, 13vw, 12rem); color: var(--navy-950); background: radial-gradient(circle at 83% 18%, rgba(112,88,239,.08), transparent 27%), linear-gradient(180deg, #fff 0%, #f7f9fc 100%); }
.hero::after, .hero__orb { display: none; }
.hero__grid { grid-template-columns: minmax(0, .92fr) minmax(31rem, 1.08fr); gap: clamp(3rem, 7vw, 7rem); }
.hero .eyebrow { color: var(--navy-700); }
.hero h1 { max-width: 10.5ch; }
.hero h1 span { color: var(--navy-700); background: linear-gradient(100deg, var(--navy-700), var(--violet-500)); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.hero .lead { max-width: 60ch; color: var(--slate-700); }
.hero .button--secondary { color: var(--navy-900); border-color: var(--slate-300); background: var(--white); }
.hero__proof { gap: .9rem 1.4rem; color: var(--slate-700); }
.hero__note { display: none; }
.experience { --tap-x: clamp(1.8rem, 4vw, 3.6rem); --tap-y: -1.1rem; min-height: 570px; border: 1px solid var(--slate-200); border-radius: var(--radius-xl); background: linear-gradient(145deg, rgba(255,255,255,.98), #eef3f8); box-shadow: var(--shadow-soft); }
.hero-card { left: 4%; top: 9.5rem; width: min(23rem, 68%); animation-duration: 11s; }
.smartphone--hero { right: 5%; top: 2rem; animation-duration: 11s; }
.phone-tap-state, .connection, .smartphone--hero::before, .smartphone--hero .mobile-profile, .smartphone--hero .mobile-links { animation-duration: 11s; }
.experience__caption { right: 1.5rem; bottom: 1.2rem; color: var(--slate-700); border-color: var(--slate-200); background: rgba(255,255,255,.88); }

.value-strip { color: var(--navy-900); border-block: 1px solid var(--slate-100); background: var(--white); }
.value-strip__grid div { min-height: 7.5rem; padding: 1.6rem; border-right-color: var(--slate-100); }
.value-strip__grid strong { display: grid; width: 2.4rem; aspect-ratio: 1; place-items: center; border-radius: .75rem; color: var(--navy-700); background: var(--slate-50); font-size: 1rem; }
.value-strip__grid span { color: var(--slate-700); font-size: .84rem; }

.process-grid { gap: 0; border-block: 1px solid var(--slate-200); }
.process-card { min-height: 23rem; padding: clamp(2rem, 4vw, 3.25rem); border: 0; border-right: 1px solid var(--slate-200); border-radius: 0; box-shadow: none; }
.process-card:last-child { border-right: 0; }
.process-card > span { position: static; display: block; margin-bottom: 3.5rem; color: #7a899d; font-size: clamp(3.5rem, 6vw, 5.5rem); }
.process-card__icon { display: none; }
.process-card:hover { border-color: var(--slate-200); box-shadow: none; transform: none; }

.formats-section { background: #eef2f6; }
.formats-section .product-layout, .section--soft .product-layout { padding: clamp(2rem, 5vw, 4.5rem); border: 1px solid rgba(7,21,40,.06); border-radius: var(--radius-xl); background: var(--white); box-shadow: var(--shadow-soft); }
.formats-section .product-layout { grid-template-columns: minmax(22rem,.9fr) minmax(0,1.1fr); }
.poster-stage { min-height: 38rem; border-radius: var(--radius-lg); background: linear-gradient(145deg, #eaf1f6, #f8fafc); }
.campaign-poster { box-shadow: 0 28px 70px rgba(7,21,40,.2); animation: none; }
.stage-note { color: var(--slate-700); border-color: var(--slate-200); background: rgba(255,255,255,.85); }
.card-stage { min-height: 31rem; }
.electoral-card { animation: none; }
.electoral-card--front { grid-template-areas: "portrait copy qr" "legal legal legal"; grid-template-columns: 1.05fr .95fr .52fr; overflow: hidden; }
.electoral-card__portrait { grid-area: portrait; }
.electoral-card__copy { grid-area: copy; min-width: 0; }
.electoral-card__qr { grid-area: qr; align-self: center; min-width: 0; padding: clamp(.7rem,1.5vw,1rem); }
.electoral-card__qr img, .electoral-card__back-qr img { width: clamp(2.375rem,5vw,3.625rem); aspect-ratio: 1; object-fit: contain; }
.electoral-card__legal { grid-area: legal; }
.electoral-card--back { display: grid; grid-template-areas: "back-copy back-qr"; grid-template-columns: minmax(0,1fr) auto; gap: 1rem; padding: clamp(1.5rem,3vw,2.3rem); align-items: center; overflow: hidden; color: var(--navy-700); background: linear-gradient(145deg, #f8fcfe 0%, #e4f6f8 58%, #eeeafe 100%); }
.electoral-card__back-copy { grid-area: back-copy; min-width: 0; }
.electoral-card__back-qr { grid-area: back-qr; padding: .45rem; border-radius: .55rem; background: var(--white); }

.page-included { color: var(--ink); background: var(--white); }
.page-included .eyebrow { color: var(--navy-700); }
.page-included__intro { align-items: start; }
.page-included__intro .lead { color: var(--slate-700); }
.page-included__grid { grid-template-columns: minmax(20rem,.78fr) minmax(0,1.22fr); gap: clamp(2rem,6vw,6rem); align-items: center; }
.included-resources { padding: 0; border: 0; background: transparent; }
.included-resources p { color: var(--slate-700); }
.included-address { display: inline-flex; max-width: 100%; padding: .55rem .8rem; overflow: hidden; border-radius: .6rem; color: var(--navy-700); background: var(--slate-50); font-size: .76rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.included-resources ul { grid-template-columns: 1fr 1fr; margin-bottom: 2rem; }
.included-resources li { color: var(--slate-700); border-bottom-color: var(--slate-200); }
.hero__proof li::before,
.included-resources li::before { color: var(--navy-700); }
.browser-preview { border-color: rgba(255,255,255,.12); background: var(--navy-900); box-shadow: 0 28px 80px rgba(7,21,40,.18); }
.browser-preview__headline strong em { display: block; color: var(--cyan-300); font-style: normal; font-size: 1.8em; }
.page-included__note { margin-top: 3rem; color: var(--slate-500); }

.benefits-section { background: #f4f7fa; }
.benefits-list { border-top: 1px solid var(--slate-200); }
.benefits-list article { display: grid; grid-template-columns: minmax(7rem,.35fr) minmax(0,1fr); gap: clamp(2rem,8vw,8rem); padding: clamp(2.5rem,5vw,4.5rem) 0; align-items: start; border-bottom: 1px solid var(--slate-200); }
.benefits-list article > span { color: #7a899d; font-size: clamp(2.5rem,5vw,4rem); font-weight: 900; line-height: 1; }
.benefits-list article > div { display: grid; grid-template-columns: minmax(14rem,.75fr) minmax(0,1.25fr); gap: clamp(2rem,6vw,6rem); align-items: start; }
.benefits-list h3 { margin-bottom: 0; font-size: clamp(1.65rem,3vw,2.5rem); }
.benefits-list p { max-width: 58ch; margin-bottom: 0; color: var(--slate-700); }

.demo-showcase { color: var(--ink); background: var(--white); }
.demo-showcase .eyebrow { color: var(--navy-700); }
.demo-showcase .lead { color: var(--slate-700); }
.demo-showcase__grid { grid-template-columns: minmax(0,.85fr) minmax(24rem,1.15fr); }
.demo-device-wrap { min-height: 42rem; border-radius: var(--radius-xl); background: linear-gradient(145deg, #eef3f8, #f9fafc); }
.smartphone--demo, .demo-badge, .demo-miniatures { animation: none; }
.demo-miniatures { display: none; }
.demo-badge { right: 2rem; color: var(--navy-700); border-color: var(--slate-200); background: var(--white); }

.faq-layout { align-items: start; }
.faq details { border-color: var(--slate-200); }
.faq summary { padding-block: 1.25rem; }
.contact-section { background: #eef2f6; }
.contact-heading { max-width: 52rem; margin-bottom: 3rem; }
.form-shell { border: 1px solid rgba(7,21,40,.08); box-shadow: var(--shadow-soft); }
.form-intro { background: var(--navy-900); }
.form { gap: 1.1rem; }
.field input, .field select, .field textarea { background: var(--slate-25); }

.site-footer { padding-top: clamp(4.5rem,8vw,7rem); }
.footer-grid { grid-template-columns: 1.5fr repeat(3,1fr); }
.site-footer .brand__logo { width: clamp(12.5rem,17vw,15rem); }

.candidate-page { background: var(--white); }
.demo-notice { border-bottom: 1px solid #eadb9f; background: #fff8dc; }
.candidate-hero { color: var(--ink); background: radial-gradient(circle at 85% 10%, rgba(255,173,102,.18), transparent 30%), linear-gradient(180deg, #fff, var(--marina-soft)); }
.candidate-top > span { color: var(--navy-700); border-color: var(--slate-200); background: var(--white); }
.candidate-page .candidate-hero .eyebrow { color: var(--navy-700); }
.candidate-hero .lead { color: var(--slate-700); }
.candidate-actions .button { color: var(--white); background: var(--navy-900); }
.institutional-cta small { color: var(--slate-500); }
.candidate-avatar { border-color: var(--slate-200); box-shadow: var(--shadow-soft); }
.candidate-avatar::after, .video-poster::before { display: none; }
.proposal { border: 0; border-top: 3px solid var(--campaign-secondary); box-shadow: 0 14px 40px rgba(7,21,40,.07); }
.social-button { box-shadow: none; }
.video-poster__play { animation: none; }

@media (max-width: 1023px) {
  .hero { padding-top: 8.5rem; }
  .hero__grid { grid-template-columns: 1fr; }
  .experience { width: min(44rem,100%); }
  .formats-section .product-layout, .section--soft .product-layout, .page-included__grid, .demo-showcase__grid { grid-template-columns: 1fr; }
  .product-copy { max-width: 48rem; }
  .page-included__grid { gap: 3.5rem; }
  .footer-grid { grid-template-columns: 1.2fr 1fr; }
}

@media (max-width: 767px) {
  .brand__logo { width: clamp(9.4rem,45vw,11.25rem); }
  .nav__links { color: var(--slate-700); border-bottom-color: var(--slate-200); background: rgba(255,255,255,.98); }
  .nav__links > a:not(.button) { color: var(--navy-900); }
  .hero { padding-top: 7.8rem; }
  .hero__proof { grid-template-columns: 1fr; }
  .experience { --tap-x: 1.15rem; --tap-y: -.5rem; min-height: 520px; }
  .hero-card { left: 1rem; top: 9rem; }
  .smartphone--hero { right: 1rem; }
  .value-strip__grid { grid-template-columns: 1fr 1fr; }
  .process-grid { grid-template-columns: 1fr; border-bottom: 0; }
  .process-card { min-height: auto; border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .process-card > span { margin-bottom: 1.5rem; }
  .formats-section .product-layout, .section--soft .product-layout { padding: 1.25rem; }
  .benefits-list article, .benefits-list article > div { grid-template-columns: 1fr; gap: 1rem; }
  .benefits-list article > span { font-size: 2rem; }
  .included-resources ul { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 479px) {
  .hero .actions .button { width: 100%; }
  .experience { min-height: 465px; }
  .hero-card { left: .3rem; top: 8rem; width: min(17.5rem,76%); }
  .smartphone--hero { right: .3rem; width: min(12.5rem,52%); }
  .experience__caption { right: .7rem; bottom: .7rem; }
  .value-strip__grid { grid-template-columns: 1fr; }
  .value-strip__grid div { min-height: 4.8rem; border-right: 0; }
  .poster-stage { min-height: 32rem; }
  .campaign-poster { width: min(18.5rem,86vw); }
  .electoral-card--front { width: 98%; }
  .electoral-card--back { width: 90%; }
  .electoral-card__back-qr { padding: .3rem; }
  .footer-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .campaign-poster, .electoral-card, .smartphone--demo, .demo-badge, .status-dot { animation: none !important; }
}

/* Continuação H5 — primeira dobra e conversão por WhatsApp */
.hero { min-height: auto; padding: calc(5.2rem + clamp(1.5rem, 3vw, 3rem)) 0 clamp(3rem, 5vw, 5rem); }
.hero__grid { align-items: start; }
.hero__copy { padding-bottom: 0; }
.experience { --hero-visual-offset-y: clamp(1.25rem, 2.4vh, 2rem); min-height: 560px; margin-block-start: var(--hero-visual-offset-y); }
.smartphone--hero { top: .5rem; }
.hero-card { top: 7.75rem; }
.contact-heading__whatsapp { margin-top: 1rem; }
.form__alternative { margin: 0 0 .5rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--slate-200); color: var(--slate-700); font-size: .92rem; }
.whatsapp-float { display: none; }

@media (min-width: 1024px) and (max-height: 900px) {
  .hero { padding-top: calc(5.2rem + clamp(1.25rem, 2.5vh, 2rem)); padding-bottom: clamp(2rem, 4vh, 3rem); }
  .hero h1 { margin-bottom: 1rem; font-size: clamp(3.15rem, 4.7vw, 4.35rem); line-height: 1.02; }
  .hero .lead { font-size: clamp(1rem, 1.35vw, 1.12rem); line-height: 1.52; }
  .hero .actions { margin-top: 1.35rem; }
  .hero__proof { margin-top: 1.35rem; font-size: .82rem; }
  .experience { --hero-visual-offset-y: clamp(1rem, 2vh, 1.5rem); min-height: 500px; }
  .smartphone--hero { top: 0; width: min(15rem, 48%); }
  .hero-card { top: 6.7rem; width: min(20.5rem, 66%); }
  .experience__caption { bottom: .75rem; }
}

@media (min-width: 1024px) and (max-height: 760px) {
  .hero { padding-top: calc(5.2rem + 1rem); padding-bottom: 1.75rem; }
  .hero__grid { gap: clamp(2rem, 4vw, 4rem); }
  .hero h1 { font-size: clamp(2.95rem, 4.35vw, 3.8rem); }
  .hero .lead { font-size: 1rem; line-height: 1.45; }
  .hero__proof { gap: .55rem 1rem; margin-top: 1rem; font-size: .78rem; }
  .experience { --hero-visual-offset-y: .75rem; min-height: 475px; }
  .smartphone--hero { width: min(14.3rem, 47%); }
  .hero-card { top: 6.3rem; width: min(19.5rem, 65%); }
}

@media (max-width: 1023px) {
  .hero { padding-top: calc(5.2rem + 1.75rem); padding-bottom: 3.5rem; }
  .hero__grid { gap: 3rem; }
  .experience { --hero-visual-offset-y: 0rem; margin: 0 auto; }
  .footer-grid a { min-height: 2.75rem; }
  .footer-bottom { flex-direction: column; align-items: center; }
  .footer-bottom > small { max-width: none; text-align: center; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .menu-button { display: grid; }
  .nav__links { display: none; position: absolute; inset: 5.2rem 0 auto; max-height: calc(100vh - 5.2rem); padding: 1.25rem max(2rem, env(safe-area-inset-right)) 1.5rem max(2rem, env(safe-area-inset-left)); overflow-y: auto; border-bottom: 1px solid var(--slate-200); background: rgba(255,255,255,.98); flex-direction: column; align-items: stretch; }
  .nav__links[data-open] { display: flex; }
  .nav__links > a:not(.button) { display: block; min-height: 2.8rem; color: var(--navy-900); font-size: .9rem; }
  .nav__links .button { align-self: flex-start; }
}

@media (max-width: 767px) {
  body:has(.whatsapp-float) { padding-bottom: calc(4.5rem + env(safe-area-inset-bottom)); }
  .hero { padding-top: calc(4.8rem + 1.25rem); padding-bottom: 3rem; }
  .hero__grid { gap: 2.75rem; }
  .hero h1 { margin-bottom: 1rem; font-size: clamp(2.25rem, 10.5vw, 3.25rem); line-height: 1.03; }
  .hero .lead { font-size: 1rem; line-height: 1.5; }
  .hero .actions { margin-top: 1.5rem; }
  .hero__proof { gap: .6rem; margin-top: 1.4rem; font-size: .82rem; }
  .experience { --tap-x: .7rem; --tap-y: -.35rem; min-height: 455px; }
  .smartphone--hero { top: .75rem; right: .75rem; width: min(12.6rem, 50%); }
  .hero-card { top: 7rem; left: .75rem; width: min(17.5rem, 73%); }
  .whatsapp-float { position: fixed; z-index: 90; right: max(.75rem, env(safe-area-inset-right)); bottom: calc(.75rem + env(safe-area-inset-bottom)); left: max(.75rem, env(safe-area-inset-left)); display: flex; min-height: 3.35rem; padding: .75rem 1rem; align-items: center; justify-content: center; gap: .55rem; border: 1px solid rgba(77,221,234,.6); border-radius: 999px; color: var(--navy-950); background: var(--footer-accent); box-shadow: 0 14px 36px rgba(5,11,20,.24); font-size: .88rem; font-weight: 850; text-decoration: none; transition: opacity var(--motion-fast) ease, transform var(--motion-fast) ease; }
  .whatsapp-float span { display: grid; width: 1.45rem; aspect-ratio: 1; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; }
  body:has([data-commercial-form] :focus) .whatsapp-float { opacity: 0; pointer-events: none; transform: translateY(1rem); }
  body:has(.nav__links[data-open]) .whatsapp-float { opacity: 0; pointer-events: none; }
  .footer-grid a { min-height: 2.75rem; }
  .footer-grid a[data-whatsapp] { width: 100%; justify-content: center; }
}

@media (max-width: 479px) {
  .hero { padding-top: calc(4.8rem + 1rem); }
  .experience { min-height: 430px; }
  .smartphone--hero { right: .35rem; width: min(11.75rem, 49%); }
  .hero-card { top: 6.7rem; left: .25rem; width: min(16.8rem, 72%); }
}

@media (max-width: 374px) {
  .hero h1 { font-size: clamp(2.15rem, 10vw, 2.65rem); }
  .hero .lead { font-size: .94rem; }
  .experience { min-height: 405px; }
  .experience__caption { display: none; }
  .whatsapp-float { font-size: .875rem; }
}

@media (max-width: 900px) and (max-height: 500px) and (orientation: landscape) {
  .hero { padding-top: calc(4.8rem + 1rem); }
  .hero h1 { max-width: 13ch; font-size: 2.5rem; }
  .hero__proof { grid-template-columns: 1fr 1fr; }
  .experience { min-height: 400px; }
}

@media (prefers-reduced-motion: reduce) {
  .whatsapp-float, .footer-grid a { transition: none; }
}

/* Checkpoint H5.1 — narrativa conectada e páginas de campanha */
[hidden] { display: none !important; }
.h51-section { position: relative; }
.h51-section__intro { max-width: 64rem; }
.h51-section__intro .lead { max-width: 58rem; }
.h51-anchor-alias { position: absolute; width: 1px; height: 1px; overflow: hidden; pointer-events: none; }

.h51-how__steps { margin-top: clamp(2.5rem, 5vw, 4.5rem); }
.h51-experience { overflow: hidden; }
.h51-journey { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 0; margin: clamp(2.5rem, 5vw, 4.5rem) 0 0; border-block: 1px solid var(--slate-200); list-style: none; }
.h51-journey li { min-width: 0; padding: clamp(1.5rem, 3vw, 2.35rem); border-right: 1px solid var(--slate-200); }
.h51-journey li:last-child { border-right: 0; }
.h51-journey li > span { display: block; margin-bottom: clamp(2rem, 4vw, 4rem); color: var(--slate-300); font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 950; line-height: 1; }
.h51-journey h3 { min-height: 2.7em; margin-bottom: .85rem; font-size: clamp(1.08rem, 1.5vw, 1.3rem); }
.h51-journey p { margin-bottom: 0; color: var(--slate-700); font-size: .92rem; }

.h51-clean { background: linear-gradient(145deg, #fff, #f2fbfc); }
.h51-editorial { display: grid; grid-template-columns: minmax(0, .9fr) minmax(28rem, 1.1fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.h51-editorial__copy > p:not(.eyebrow):not(.lead) { max-width: 58ch; color: var(--slate-700); }
.h51-editorial__copy .button { margin-top: 1rem; }
.h51-clean__principles { border-top: 1px solid var(--slate-200); }
.h51-clean__principles article { display: grid; grid-template-columns: minmax(10rem, .8fr) minmax(0, 1.2fr); gap: clamp(1.25rem, 3vw, 3rem); padding: clamp(1.5rem, 3vw, 2.35rem) 0; border-bottom: 1px solid var(--slate-200); }
.h51-clean__principles strong { color: var(--navy-900); font-size: 1.05rem; }
.h51-clean__principles p { margin: 0; color: var(--slate-700); }

.h51-investment__groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: clamp(2.5rem, 5vw, 4.5rem) 0 2.25rem; border-block: 1px solid var(--slate-200); }
.h51-investment__groups article { padding: clamp(1.6rem, 3vw, 2.6rem); border-right: 1px solid var(--slate-200); }
.h51-investment__groups article:last-child { border-right: 0; }
.h51-investment__groups article > span { display: block; margin-bottom: 2.5rem; color: var(--navy-700); font-size: .78rem; font-weight: 900; letter-spacing: .12em; }
.h51-investment__groups h3 { margin-bottom: 1.25rem; }
.h51-investment__groups ul, .h51-customization__option ul { display: grid; gap: .8rem; padding: 0; margin: 0; list-style: none; }
.h51-investment__groups li, .h51-customization__option li { position: relative; padding-left: 1.25rem; color: var(--slate-700); }
.h51-investment__groups li::before, .h51-customization__option li::before { content: ""; position: absolute; top: .72em; left: 0; width: .42rem; height: .42rem; border-radius: 50%; background: var(--cyan-500); }

.h51-connectivity { overflow: hidden; color: var(--white); background: radial-gradient(circle at 85% 15%, rgba(77,221,234,.14), transparent 30rem), var(--navy-950); }
.h51-connectivity .eyebrow { color: var(--cyan-300); }
.h51-connectivity h2 { color: var(--white); }
.h51-connectivity .lead, .h51-connectivity .h51-editorial__copy > p:not(.eyebrow):not(.lead) { color: var(--slate-300); }
.h51-connectivity__flow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; margin: 0; border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius-lg); overflow: hidden; list-style: none; }
.h51-connectivity__flow li { min-width: 0; min-height: 11rem; padding: clamp(1.4rem, 3vw, 2.2rem); border-right: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.035); }
.h51-connectivity__flow li:nth-child(even) { border-right: 0; }
.h51-connectivity__flow li:nth-last-child(-n+2) { border-bottom: 0; }
.h51-connectivity__flow span, .h51-connectivity__flow strong, .h51-connectivity__flow small { display: block; }
.h51-connectivity__flow span { margin-bottom: 1.5rem; color: var(--cyan-300); font-size: 1.35rem; }
.h51-connectivity__flow strong { margin-bottom: .35rem; color: var(--white); }
.h51-connectivity__flow small { color: var(--slate-300); font-size: .82rem; }

.h51-shareable__layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(26rem, 1.1fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.h51-shareable__copy > p:not(.eyebrow):not(.lead) { color: var(--slate-700); }
.h51-shareable__uses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--slate-200); border-radius: var(--radius-lg); overflow: hidden; background: var(--white); }
.h51-shareable__uses article { min-height: 9rem; padding: clamp(1.25rem, 2.5vw, 2rem); border-right: 1px solid var(--slate-200); border-bottom: 1px solid var(--slate-200); }
.h51-shareable__uses article:nth-child(even) { border-right: 0; }
.h51-shareable__uses article:nth-last-child(-n+2) { border-bottom: 0; }
.h51-shareable__uses strong { display: block; margin-bottom: .45rem; color: var(--navy-900); }
.h51-shareable__uses p { margin: 0; color: var(--slate-700); font-size: .9rem; }

.h51-formats > .container + .container { margin-top: clamp(2rem, 4vw, 3.5rem); }
.h51-customization__compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2.25rem); margin-top: clamp(2.5rem, 5vw, 4rem); }
.h51-customization__option { padding: clamp(1.75rem, 4vw, 3.25rem); border: 1px solid var(--slate-200); border-radius: var(--radius-lg); background: var(--slate-25); }
.h51-customization__option--included { border-color: rgba(31,197,216,.35); background: linear-gradient(145deg, #fff, #eefbfd); }
.h51-customization__option > span { display: inline-flex; padding: .35rem .65rem; margin-bottom: 1.4rem; border-radius: 999px; color: var(--navy-700); background: var(--slate-100); font-size: .72rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.h51-customization__option--included > span { background: #dff8fa; }
.h51-customization__action { display: flex; gap: 1.5rem; margin-top: 2rem; align-items: center; justify-content: space-between; }
.h51-customization__action p { max-width: 52rem; margin: 0; color: var(--slate-700); }
.h51-faq .faq-layout { align-items: start; }

.candidate-channel-feature, .candidate-share, .candidate-delivery { display: grid; gap: clamp(1.5rem, 4vw, 3rem); padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--slate-200); border-radius: var(--radius-lg); }
.candidate-card > div:not(.candidate-avatar) { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; }
.candidate-card .candidate-name { order: 1; margin: 0 0 .65rem; }
.candidate-card .candidate-number { order: 2; margin-bottom: 1rem; }
.candidate-card .eyebrow { order: 3; }
.candidate-card .candidate-meta { order: 4; }
.candidate-card .lead { order: 5; }
.candidate-card .candidate-actions { order: 6; }
.candidate-card .institutional-cta { order: 7; }
.candidate-channel-feature { grid-template-columns: auto minmax(0, 1fr) minmax(15rem, auto); align-items: center; color: var(--white); border-color: rgba(255,255,255,.12); background: radial-gradient(circle at 90% 10%, rgba(77,221,234,.16), transparent 18rem), var(--navy-900); }
.candidate-channel-feature__icon { display: grid; width: 3.5rem; aspect-ratio: 1; place-items: center; border: 1px solid rgba(119,232,242,.35); border-radius: 1rem; color: var(--cyan-300); font-size: 1.25rem; }
.candidate-channel-feature .eyebrow, .candidate-channel-feature h2 { color: var(--white); }
.candidate-channel-feature .eyebrow { margin-bottom: .75rem; }
.candidate-channel-feature__copy p:last-child { margin: 0; color: var(--slate-300); }
.candidate-channel-feature__actions, .candidate-share__actions, .candidate-files { display: flex; flex-wrap: wrap; gap: .75rem; }
.candidate-channel-feature__actions { flex-direction: column; align-items: stretch; }
.candidate-channel-feature__actions .button { width: 100%; }
.candidate-channel-feature__actions .button--navy { color: var(--navy-950); background: var(--cyan-300); }
.candidate-channel-feature__actions .button--ghost { color: var(--white); border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.06); }
.candidate-share { grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr); align-items: center; background: linear-gradient(145deg, var(--white), var(--slate-50)); }
.candidate-share__address { display: grid; gap: .25rem; padding: .85rem 1rem; margin: 1.25rem 0 0; border: 1px solid var(--slate-200); border-radius: .75rem; background: var(--white); }
.candidate-share__address span { color: var(--slate-500); font-size: .75rem; font-weight: 850; text-transform: uppercase; }
.candidate-share__address strong { overflow-wrap: anywhere; color: var(--navy-700); font-size: .88rem; }
.candidate-share__actions .button { flex: 1 1 13rem; }
.candidate-share [data-share-feedback] { min-height: 1.5rem; margin: .75rem 0 0; }
.candidate-delivery { grid-template-columns: repeat(2, minmax(0, 1fr)); background: var(--slate-50); }
.candidate-delivery__card { padding: clamp(1.25rem, 3vw, 2rem); border-left: 3px solid var(--cyan-500); }
.candidate-delivery__card p:last-child { margin-bottom: 0; color: var(--slate-700); }
.candidate-files .button { flex: 1 1 15rem; }
.candidate-credit { margin: 2rem 0 0; color: var(--slate-500); font-size: .82rem; text-align: center; }

@media (max-width: 1180px) {
  .h51-journey { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .h51-journey li { border-bottom: 1px solid var(--slate-200); }
  .h51-journey li:nth-child(3) { border-right: 0; }
  .h51-journey li:nth-last-child(-n+2) { border-bottom: 0; }
  .h51-editorial, .h51-shareable__layout { grid-template-columns: minmax(0, 1fr) minmax(23rem, 1fr); gap: 3rem; }
}

@media (max-width: 1023px) {
  .h51-editorial, .h51-shareable__layout { grid-template-columns: 1fr; }
  .h51-editorial__copy, .h51-shareable__copy { max-width: 48rem; }
  .h51-investment__groups { grid-template-columns: 1fr; }
  .h51-investment__groups article { border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .h51-investment__groups article:last-child { border-bottom: 0; }
  .candidate-channel-feature { grid-template-columns: auto minmax(0, 1fr); }
  .candidate-channel-feature__actions { grid-column: 1 / -1; flex-direction: row; }
  .candidate-channel-feature__actions .button { width: auto; flex: 1 1 14rem; }
  .candidate-share { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .h51-journey { grid-template-columns: 1fr; }
  .h51-journey li, .h51-journey li:nth-child(3), .h51-journey li:nth-last-child(-n+2) { display: grid; grid-template-columns: 3.2rem 1fr; gap: 1rem; padding: 1.4rem 0; border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .h51-journey li:last-child { border-bottom: 0; }
  .h51-journey li > span { margin: .1rem 0 0; font-size: 1.5rem; }
  .h51-journey h3 { min-height: 0; }
  .h51-clean__principles article { grid-template-columns: 1fr; gap: .65rem; }
  .h51-connectivity__flow, .h51-shareable__uses, .h51-customization__compare, .candidate-delivery { grid-template-columns: 1fr; }
  .h51-connectivity__flow li, .h51-connectivity__flow li:nth-child(even), .h51-connectivity__flow li:nth-last-child(-n+2), .h51-shareable__uses article, .h51-shareable__uses article:nth-child(even), .h51-shareable__uses article:nth-last-child(-n+2) { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .h51-shareable__uses article, .h51-shareable__uses article:nth-child(even), .h51-shareable__uses article:nth-last-child(-n+2) { border-bottom-color: var(--slate-200); }
  .h51-connectivity__flow li:last-child, .h51-shareable__uses article:last-child { border-bottom: 0; }
  .h51-customization__action { align-items: stretch; flex-direction: column; }
  .h51-customization__action .button { width: 100%; }
  .candidate-channel-feature { grid-template-columns: 1fr; }
  .candidate-card > div:not(.candidate-avatar) { align-items: center; }
  .candidate-channel-feature__actions { grid-column: auto; }
  .candidate-channel-feature__actions, .candidate-share__actions { flex-direction: column; }
  .candidate-channel-feature__actions .button, .candidate-share__actions .button, .candidate-files .button { width: 100%; flex-basis: auto; }
}

@media (max-width: 479px) {
  .h51-investment__groups article, .h51-customization__option, .candidate-channel-feature, .candidate-share, .candidate-delivery { padding: 1.25rem; }
  .h51-shareable__uses article { padding: 1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .h51-section *, .candidate-channel-feature *, .candidate-share * { scroll-behavior: auto; }
}

/* Checkpoint H5.2 — refinamento visual, responsividade e galeria de layouts */
.h51-section,
.h52-layouts { padding-block: clamp(4rem, 6.6vw, 6.5rem); }
.h51-section .section-head,
.h52-layouts .section-head { margin-bottom: clamp(2.25rem, 4vw, 3.5rem); }
.h51-section__intro { margin-bottom: clamp(2rem, 4vw, 3.25rem); }

/* O investimento precisa caber melhor na altura útil de notebooks. */
.h51-investment { padding-block: clamp(3.5rem, 5.4vw, 5.25rem); }
.h51-investment .h51-section__intro { margin-bottom: 0; }
.h51-investment__groups { margin: clamp(1.5rem, 3vw, 2.5rem) 0 1.75rem; }
.h51-investment__groups article { padding: clamp(1.35rem, 2.4vw, 2rem); }
.h51-investment__groups article > span { margin-bottom: 1.25rem; }
.h51-investment__groups h3 { margin-bottom: 1rem; }
.h51-investment__groups ul { gap: .58rem; }
.h51-investment__groups li { font-size: .92rem; line-height: 1.45; }

/* A página incluída agora se comporta como uma página real de campanha. */
.page-included__intro { margin-bottom: clamp(2rem, 4vw, 3rem); }
.page-included__grid { grid-template-columns: minmax(19rem, .78fr) minmax(0, 1.22fr); gap: clamp(2rem, 5vw, 5rem); }
.page-included__note { margin-top: 2rem; }
.browser-preview--candidate { overflow: hidden; color: var(--white); background: var(--navy-950); }
.included-profile-preview {
  position: relative;
  display: grid;
  grid-template-areas: "portrait identity" "portrait channels";
  grid-template-columns: minmax(12rem, .82fr) minmax(0, 1.18fr);
  grid-template-rows: 1fr auto;
  min-height: 27rem;
  overflow: hidden;
  background: radial-gradient(circle at 82% 18%, rgba(255,173,102,.2), transparent 35%), linear-gradient(145deg, #102f52, #071528 68%);
}
.included-profile-preview__portrait { position: relative; grid-area: portrait; min-height: 27rem; overflow: hidden; background: radial-gradient(circle at 50% 22%, rgba(255,173,102,.34), transparent 38%), linear-gradient(165deg, #fff8f2, #efd8c9); }
.included-profile-preview__portrait::after { content: ""; position: absolute; inset: auto 0 0; height: 35%; background: linear-gradient(transparent, rgba(7,21,40,.24)); }
.included-profile-preview__portrait img { position: absolute; left: 50%; bottom: -2%; width: auto; max-width: none; height: 108%; transform: translateX(-50%); }
.included-profile-preview__identity { grid-area: identity; min-width: 0; padding: clamp(1.5rem, 4vw, 3rem); align-self: end; }
.included-profile-preview__identity small,
.included-profile-preview__identity strong,
.included-profile-preview__identity b { display: block; }
.included-profile-preview__identity small { margin-top: 1.15rem; color: var(--slate-300); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.included-profile-preview__identity strong { margin-top: .2rem; font-size: clamp(1.65rem, 3.2vw, 2.75rem); line-height: 1; letter-spacing: -.045em; }
.included-profile-preview__identity b { margin-top: .45rem; color: var(--marina-number-dark); font-size: clamp(2.4rem, 5vw, 4rem); line-height: .9; letter-spacing: -.07em; }
.included-profile-preview__identity p { max-width: 28ch; margin: 1rem 0 0; color: var(--slate-200); font-size: .88rem; }
.included-profile-preview__channels { grid-area: channels; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; padding: 0 clamp(1.5rem, 4vw, 3rem) clamp(1.5rem, 4vw, 2.5rem); }
.included-profile-preview__channels span { min-width: 0; padding: .62rem .5rem; border: 1px solid rgba(255,255,255,.12); border-radius: .65rem; color: var(--slate-200); background: rgba(255,255,255,.06); font-size: .67rem; font-weight: 800; text-align: center; }

/* Vitrine editorial de layouts. */
.h52-layouts { position: relative; overflow: hidden; background: linear-gradient(180deg, #eef3f7, #f8fafc); }
.h52-layouts::before { content: ""; position: absolute; top: -18rem; left: 60%; width: 36rem; aspect-ratio: 1; border: 1px solid rgba(112,88,239,.1); border-radius: 50%; pointer-events: none; }
.h52-layouts__intro { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .85fr) minmax(24rem, 1.15fr); gap: clamp(2rem, 7vw, 7rem); align-items: end; margin-bottom: clamp(3rem, 6vw, 5.5rem); }
.h52-layouts__intro h2 { max-width: 13ch; margin-bottom: 0; }
.h52-layouts__intro .lead { margin-bottom: .75rem; }
.h52-layouts__intro > div:last-child > p:last-child { margin-bottom: 0; color: var(--slate-700); }
.layout-gallery { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.4vw, 2rem); align-items: stretch; }
.layout-preview-card { --preview-primary: #163d67; --preview-accent: var(--marina-number-dark); --preview-soft: #e9fafd; position: relative; min-width: 0; height: 100%; border-radius: clamp(1.25rem, 2.5vw, 2rem); }
.layout-preview-card--modern { --preview-primary: var(--luiza-primary); --preview-accent: var(--luiza-neon-pink); --preview-soft: var(--luiza-soft); }
.layout-preview-card--premium { --preview-primary: #0b2239; --preview-accent: var(--rafael-cyan); --preview-soft: #ecf7f8; }
.layout-preview-card__link { position: relative; display: grid; grid-template-rows: auto 1fr; height: 100%; overflow: hidden; border: 1px solid rgba(7,21,40,.09); border-radius: inherit; color: inherit; background: var(--white); box-shadow: 0 24px 70px rgba(7,21,40,.12); text-decoration: none; transition: transform 320ms var(--ease-out), border-color var(--motion-fast) ease, box-shadow 320ms var(--ease-out); }
.layout-preview-card__link::before { content: ""; position: absolute; z-index: 6; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.32) 48%, transparent 66%); transform: translateX(-130%); transition: transform 560ms var(--ease-out); }
.layout-preview-card:focus-within { z-index: 4; }
.layout-preview-card__link:focus-visible { outline: 3px solid var(--cyan-400); outline-offset: 4px; }
.layout-preview-card__canvas { position: relative; display: grid; min-height: clamp(26rem, 36vw, 34rem); overflow: hidden; color: var(--white); background: radial-gradient(circle at 78% 15%, color-mix(in srgb, var(--preview-accent) 35%, transparent), transparent 34%), linear-gradient(155deg, var(--preview-primary), color-mix(in srgb, var(--preview-primary) 78%, #000)); }
.layout-preview-card--institutional .layout-preview-card__canvas { background: linear-gradient(180deg, var(--marina-soft) 0 36%, #113557 36% 100%); }
.layout-preview-card--modern .layout-preview-card__canvas { background: radial-gradient(circle at 78% 12%, rgba(255,101,212,.46), transparent 32%), radial-gradient(circle at 18% 88%, rgba(201,151,255,.22), transparent 34%), linear-gradient(155deg, var(--luiza-primary), var(--luiza-ink)); }
.layout-preview-card--premium .layout-preview-card__canvas { background: radial-gradient(circle at 72% 18%, rgba(77,221,234,.2), transparent 29%), radial-gradient(circle at 20% 90%, rgba(33,139,166,.12), transparent 30%), linear-gradient(145deg, #0b2239, #040b16 72%); }
.layout-preview-card__canvas::after { content: ""; position: absolute; z-index: 2; inset: 34% 0 0; pointer-events: none; }
.layout-preview-card--institutional .layout-preview-card__canvas::after { background: linear-gradient(180deg, transparent 0 24%, rgba(7,21,40,.78) 58%, rgba(7,21,40,.97) 100%); }
.layout-preview-card--modern .layout-preview-card__canvas::after { background: linear-gradient(180deg, transparent 0 24%, rgba(42,18,58,.72) 58%, rgba(42,18,58,.97) 100%); }
.layout-preview-card--premium .layout-preview-card__canvas::after { background: linear-gradient(180deg, transparent 0 22%, rgba(4,11,22,.78) 58%, #040b16 100%); }
.layout-preview-card__index { position: absolute; z-index: 4; top: 1.1rem; left: 1.2rem; color: var(--preview-accent); font-size: .72rem; font-weight: 950; letter-spacing: .14em; }
.layout-preview-card--institutional .layout-preview-card__index { color: #173c67; }
.layout-preview-card--modern .layout-preview-card__index { color: var(--luiza-neon-lilac); }
.layout-preview-card__portrait { position: absolute; z-index: 1; inset: 2.8rem 0 auto; height: 59%; overflow: hidden; }
.layout-preview-card__portrait img { position: absolute; left: 50%; bottom: -4%; width: auto; max-width: none; height: 110%; transform: translateX(-50%); }
.layout-preview-card--institutional .layout-preview-card__portrait { inset: 2.6rem 7% auto; height: 55%; border-radius: 1.2rem 1.2rem 0 0; background: linear-gradient(145deg, #fff8f2, #efd8c9); }
.layout-preview-card--modern .layout-preview-card__portrait { inset: 2.2rem 3% auto; height: 64%; }
.layout-preview-card--modern .layout-preview-card__portrait img { left: 50%; height: 108%; }
.layout-preview-card--premium .layout-preview-card__portrait { inset: 1.5rem 2% auto 12%; height: 67%; border-radius: 2rem 2rem 0 0; background: radial-gradient(circle at 55% 28%, #f7fafc 0, #edf6f7 52%, #c7d9e0 100%); }
.layout-preview-card--premium .layout-preview-card__portrait img { left: 53%; height: 112%; }
.layout-preview-card__identity { position: absolute; z-index: 3; right: 1.25rem; bottom: 6.7rem; left: 1.25rem; min-width: 0; }
.layout-preview-card__identity small,
.layout-preview-card__identity strong,
.layout-preview-card__identity b { display: block; }
.layout-preview-card__identity small { color: rgba(255,255,255,.72); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.layout-preview-card__identity strong { margin-top: .2rem; color: var(--white); font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1; letter-spacing: -.04em; text-shadow: 0 2px 16px rgba(0,0,0,.42); }
.layout-preview-card__identity b { margin-top: .35rem; color: var(--preview-accent); font-size: clamp(2rem, 4vw, 3.15rem); line-height: .9; letter-spacing: -.07em; text-shadow: 0 0 20px color-mix(in srgb, var(--preview-accent) 28%, transparent); }
.layout-preview-card__mini-links { position: absolute; z-index: 3; right: 1.15rem; bottom: 1.25rem; left: 1.15rem; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .38rem; }
.layout-preview-card__mini-links span { min-width: 0; padding: .52rem .3rem; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: .6rem; color: rgba(255,255,255,.82); background: rgba(255,255,255,.07); font-size: .56rem; font-weight: 800; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.layout-preview-card__copy { display: flex; min-height: 100%; padding: clamp(1.35rem, 2.8vw, 2rem); flex-direction: column; }
.layout-preview-card__copy > span:first-child { color: var(--navy-700); font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.layout-preview-card__copy h3 { margin: .35rem 0 .75rem; font-size: clamp(1.4rem, 2.5vw, 1.9rem); }
.layout-preview-card__copy p { flex: 1; margin-bottom: 1.25rem; color: var(--slate-700); font-size: .88rem; }
.layout-preview-card__copy .button { width: 100%; margin-top: auto; }
.layout-preview-card__cta { justify-content: space-between; }
.layout-preview-card__cta > span { display: inline-block; transition: transform var(--motion-fast) var(--ease-out); }
.layout-preview-card--premium .layout-preview-card__copy { color: var(--white); background: #071528; }
.layout-preview-card--premium .layout-preview-card__copy > span:first-child { color: var(--cyan-300); }
.layout-preview-card--premium .layout-preview-card__copy h3 { color: var(--white); }
.layout-preview-card--premium .layout-preview-card__copy p { color: var(--slate-300); }
.layout-preview-card--premium .layout-preview-card__cta { color: #040b16; background: var(--cyan-300); box-shadow: 0 14px 34px rgba(77,221,234,.16); }
@media (hover: hover) and (pointer: fine) {
  .layout-preview-card__link:hover { z-index: 3; border-color: color-mix(in srgb, var(--preview-accent) 72%, var(--white)); box-shadow: 0 34px 90px color-mix(in srgb, var(--preview-primary) 26%, transparent); transform: translateY(-.65rem) scale(1.012); }
  .layout-preview-card__link:hover::before { transform: translateX(130%); }
  .layout-preview-card__portrait img { transition: transform 420ms var(--ease-out); }
  .layout-preview-card__link:hover .layout-preview-card__portrait img { transform: translateX(-50%) scale(1.045); }
  .layout-preview-card__link:hover .layout-preview-card__cta > span { transform: translateX(.3rem); }
}
.h52-layouts__footer { position: relative; z-index: 1; display: flex; gap: 2rem; margin-top: clamp(3.5rem, 7vw, 6rem); padding: clamp(1.5rem, 3vw, 2.25rem); align-items: center; justify-content: space-between; border-radius: var(--radius-lg); color: var(--white); background: radial-gradient(circle at 90% 20%, rgba(119,232,242,.16), transparent 18rem), var(--navy-950); }
.h52-layouts__footer p { max-width: 58rem; margin: 0; color: var(--slate-200); }
.h52-layouts__footer strong { color: var(--white); }
.h52-layouts__footer .button { flex: 0 0 auto; color: var(--navy-950); background: var(--cyan-300); }

/* Link compartilhável como argumento comercial, não como card improvisado. */
.h51-shareable__layout { grid-template-columns: minmax(0, .78fr) minmax(30rem, 1.22fr); gap: clamp(2.5rem, 7vw, 7rem); }
.share-link-panel { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: clamp(1.5rem, 3vw, 2.25rem); color: var(--white); background: radial-gradient(circle at 95% 0%, rgba(119,232,242,.18), transparent 19rem), linear-gradient(145deg, #102e50, #050b14 75%); box-shadow: 0 28px 80px rgba(7,21,40,.2); }
.share-link-panel::before { content: ""; position: absolute; inset: 0 0 auto; height: 2px; background: linear-gradient(90deg, var(--cyan-300), var(--violet-400), transparent 85%); }
.share-link-panel__head { display: grid; gap: .35rem; padding: clamp(1.4rem, 3vw, 2.1rem); border-bottom: 1px solid rgba(255,255,255,.1); }
.share-link-panel__head span { color: var(--cyan-300); font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.share-link-panel__head strong { font-size: clamp(1.3rem, 2.4vw, 1.8rem); line-height: 1.2; }
.share-link-panel__address { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .2rem; margin: clamp(1.25rem, 3vw, 2rem); padding: 1rem 1.1rem; align-items: center; border: 1px solid rgba(119,232,242,.24); border-radius: .9rem; background: rgba(255,255,255,.08); }
.share-link-panel__address span { color: var(--slate-300); font-size: .82rem; }
.share-link-panel__address strong { min-width: 0; overflow-wrap: anywhere; color: var(--white); font-size: clamp(.92rem, 1.6vw, 1.15rem); }
.share-link-panel__address i { display: grid; width: 2rem; aspect-ratio: 1; place-items: center; border-radius: 50%; color: var(--navy-950); background: var(--cyan-300); font-style: normal; }
.share-link-panel__chips { display: flex; gap: .55rem; padding: 0 clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2rem); flex-wrap: wrap; }
.share-link-panel__chips > span { display: inline-flex; min-height: 2.45rem; padding: .5rem .75rem; align-items: center; gap: .45rem; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: var(--slate-200); background: rgba(255,255,255,.05); font-size: .72rem; font-weight: 800; }
.share-link-panel__chips i { color: var(--cyan-300); font-style: normal; }
.share-link-panel__flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; margin: 0; border-block: 1px solid rgba(255,255,255,.1); list-style: none; }
.share-link-panel__flow li { min-width: 0; padding: clamp(1.15rem, 2.5vw, 1.7rem); border-right: 1px solid rgba(255,255,255,.1); }
.share-link-panel__flow li:last-child { border-right: 0; }
.share-link-panel__flow span { display: block; margin-bottom: .8rem; color: var(--cyan-300); font-size: .65rem; font-weight: 900; letter-spacing: .12em; }
.share-link-panel__flow p { margin: 0; color: var(--slate-200); font-size: .78rem; line-height: 1.45; }
.share-link-panel__footer { display: flex; gap: 1.5rem; padding: clamp(1.25rem, 3vw, 2rem); align-items: center; justify-content: space-between; }
.share-link-panel__footer p { max-width: 35rem; margin: 0; color: var(--slate-300); font-size: .78rem; }
.share-link-panel__footer .text-link { flex: 0 0 auto; color: var(--cyan-300); font-size: .82rem; }

/* Diferenciação adicional dos personagens nos materiais. */
.campaign-poster { border-color: rgba(255,101,212,.45); background: radial-gradient(circle at 84% 12%, rgba(255,101,212,.48), transparent 31%), radial-gradient(circle at 10% 86%, rgba(201,151,255,.24), transparent 34%), linear-gradient(155deg, var(--luiza-primary), var(--luiza-ink) 68%); box-shadow: 0 0 0 .4rem rgba(255,101,212,.035), 0 30px 80px rgba(42,18,58,.36); }
.campaign-poster__portrait { background: linear-gradient(160deg, rgba(201,151,255,.28), rgba(255,101,212,.12)); }
.campaign-poster__flag { color: var(--luiza-neon-lilac); }
.campaign-poster__copy strong { color: var(--luiza-neon-pink); text-shadow: 0 0 18px rgba(255,101,212,.38); }
.campaign-poster__scan span { color: var(--luiza-neon-lilac); }
.electoral-card--front { background: radial-gradient(circle at 84% 12%, rgba(119,232,242,.18), transparent 28%), linear-gradient(145deg, #173652, #081522); }
.demo-device__portrait { background: radial-gradient(circle at 70% 18%, rgba(255,173,102,.34), transparent 40%), linear-gradient(145deg, #fff8f2, #efd8c9); }
.candidate-page:not(.layout-page) .candidate-avatar { background: radial-gradient(circle at 72% 22%, rgba(255,173,102,.32), transparent 39%), linear-gradient(145deg, #fff8f2, #efd8c9); }

/* Acesso aos layouts dentro da demonstração. */
.candidate-top__actions { display: flex; gap: .65rem; align-items: center; }
.candidate-top__actions > span,
.candidate-top__actions > a { display: inline-flex; min-height: 2.45rem; padding: .45rem .72rem; align-items: center; border: 1px solid var(--slate-200); border-radius: 999px; color: var(--navy-700); background: rgba(255,255,255,.82); font-size: .65rem; font-weight: 900; text-decoration: none; text-transform: uppercase; }
.candidate-top__actions > a { color: var(--white); border-color: var(--navy-900); background: var(--navy-900); }
.candidate-main { padding: clamp(3rem, 5.5vw, 5rem) 0; }
.candidate-section { padding: clamp(3rem, 5vw, 4.5rem) 0; }
.candidate-section__head { margin-bottom: clamp(1.75rem, 3.5vw, 2.5rem); }
.layout-choice-section { padding-block: clamp(3.5rem, 6vw, 5rem); }
.layout-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.layout-choice-card { --choice-accent: var(--cyan-500); display: grid; min-width: 0; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--slate-200); border-top: 4px solid var(--choice-accent); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); }
.layout-choice-card--modern { --choice-accent: var(--luiza-primary); }
.layout-choice-card--premium { --choice-accent: var(--navy-800); }
.layout-choice-card > span { margin-bottom: clamp(2rem, 4vw, 3.5rem); color: var(--choice-accent); font-size: .72rem; font-weight: 950; letter-spacing: .12em; }
.layout-choice-card > div > p:first-child { margin-bottom: .35rem; color: var(--slate-500); font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.layout-choice-card h3 { margin-bottom: .75rem; }
.layout-choice-card > div > p:last-child { min-height: 4.5em; color: var(--slate-700); font-size: .86rem; }
.layout-choice-card .button { width: 100%; margin-top: 1rem; align-self: end; }

/* Páginas demonstrativas dos três layouts. */
.layout-page {
  --layout-primary: #123b62;
  --layout-accent: #24bfd0;
  --layout-soft: #e9f9fb;
  --layout-ink: #0b1d35;
  min-height: 100vh;
  color: var(--ink);
  background: var(--white);
}
.layout-page--institutional { --layout-primary: var(--marina-primary); --layout-accent: var(--marina-number-light); --layout-soft: var(--marina-soft); --layout-ink: var(--marina-ink); }
.layout-page--modern { --layout-primary: var(--luiza-primary); --layout-accent: var(--luiza-neon-pink); --layout-soft: var(--luiza-soft); --layout-ink: var(--luiza-ink); }
.layout-page--premium { --layout-primary: #0b2239; --layout-accent: var(--rafael-cyan); --layout-accent-2: #218ba6; --layout-soft: #ecf7f8; --layout-ink: var(--rafael-ink); --layout-surface: #f7fafc; --layout-text: #102038; --layout-muted: #46566b; }
.layout-notice { padding: .75rem var(--space-sm); border-bottom: 1px solid #eadb9f; color: #5d4812; background: #fff8dc; font-size: .78rem; font-weight: 750; text-align: center; }
.layout-topbar { position: sticky; top: 0; z-index: 80; border-bottom: 1px solid rgba(7,21,40,.08); background: rgba(255,255,255,.94); backdrop-filter: blur(16px); }
.layout-topbar__inner { display: flex; min-height: 5rem; gap: 1.5rem; align-items: center; justify-content: space-between; }
.layout-topbar .brand__logo { width: clamp(10.5rem, 15vw, 13rem); }
.layout-switcher { min-width: 0; border-bottom: 1px solid var(--slate-200); background: var(--white); }
.layout-switcher > .container { padding-block: .7rem; }
.layout-switcher__list { display: flex; gap: .45rem; padding: 0; margin: 0; list-style: none; }
.layout-switcher__link { display: inline-flex; min-height: 2.8rem; padding: .45rem .8rem; align-items: flex-start; flex-direction: column; justify-content: center; border: 1px solid var(--slate-200); border-radius: .8rem; color: var(--slate-700); background: var(--white); font-size: .72rem; line-height: 1.25; text-decoration: none; }
.layout-switcher__link span { font-size: .58rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.layout-switcher__link strong { font-weight: 900; }
.layout-switcher__link[aria-current="page"] { color: var(--white); border-color: var(--layout-primary); background: var(--layout-primary); }
.layout-hero { position: relative; overflow: hidden; padding: clamp(4rem, 7vw, 7rem) 0; background: radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--layout-accent) 18%, transparent), transparent 30rem), linear-gradient(180deg, #fff, var(--layout-soft)); }
.layout-hero__inner,
.layout-hero__grid,
.layout-hero__stage { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .9fr) minmax(20rem, 1.1fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: center; }
.layout-hero__copy { min-width: 0; }
.layout-hero__copy .eyebrow { color: var(--layout-primary); }
.layout-hero__copy h1 { max-width: 11ch; margin-bottom: 1rem; font-size: clamp(2.7rem, 6vw, 5.5rem); }
.layout-hero__copy .lead { color: var(--slate-700); }
.layout-hero__role { margin-bottom: .45rem; color: var(--layout-primary); font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.layout-hero__meta { color: var(--slate-700); font-size: .88rem; font-weight: 750; }
.layout-number { display: block; margin: .5rem 0 1rem; color: var(--layout-primary); font-size: clamp(4rem, 9vw, 8rem); font-weight: 950; line-height: .8; letter-spacing: -.09em; }
.layout-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.5rem; }
.layout-actions .button:first-child { color: var(--white); background: var(--layout-primary); }
.layout-hero__media { position: relative; min-height: clamp(28rem, 44vw, 39rem); overflow: hidden; border: 1px solid rgba(7,21,40,.1); border-radius: clamp(1.5rem, 4vw, 3rem); background: radial-gradient(circle at 70% 20%, color-mix(in srgb, var(--layout-accent) 34%, transparent), transparent 39%), linear-gradient(145deg, #eefbfc, #dfe4f2); box-shadow: var(--shadow); }
.layout-hero__portrait { position: absolute; inset: 0; overflow: hidden; }
.layout-hero__portrait img { position: absolute; left: 50%; bottom: -3%; width: auto; max-width: none; height: 108%; transform: translateX(-50%); }
.layout-hero__caption { position: absolute; z-index: 4; right: 1rem; bottom: 1rem; padding: .5rem .7rem; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: var(--white); background: rgba(5,11,20,.72); font-size: .62rem; font-weight: 850; backdrop-filter: blur(10px); }
.layout-hero__badge { position: absolute; z-index: 3; right: 1rem; bottom: 1rem; left: 1rem; padding: .8rem 1rem; border: 1px solid rgba(255,255,255,.28); border-radius: 1rem; color: var(--white); background: rgba(5,11,20,.74); font-size: .78rem; font-weight: 800; backdrop-filter: blur(12px); }
.layout-hero__dock { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem; margin-top: 2rem; }
.layout-hero__dock a { min-height: 3.1rem; padding: .7rem; border: 1px solid rgba(90,59,196,.18); border-radius: .85rem; color: var(--layout-primary); background: rgba(255,255,255,.82); font-size: .78rem; font-weight: 850; text-align: center; text-decoration: none; }
.layout-main { background: var(--white); }
.layout-content > .container > .demo-feedback { margin: 1.25rem 0 0; padding: .8rem 1rem; border-left: 3px solid var(--layout-accent); background: var(--slate-50); }
.layout-section { padding: clamp(3.75rem, 6.5vw, 6rem) 0; }
.layout-section + .layout-section { border-top: 1px solid var(--slate-200); }
.layout-section--soft { background: var(--slate-50); }
.layout-section__head { display: grid; grid-template-columns: minmax(0, .8fr) minmax(22rem, 1.2fr); gap: clamp(2rem, 6vw, 6rem); margin-bottom: clamp(2rem, 4vw, 3.5rem); align-items: start; }
.layout-section__head h2 { margin-bottom: 0; }
.layout-section__head > p { color: var(--slate-700); }
.layout-channels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.layout-channel { display: grid; min-height: 11rem; padding: clamp(1.2rem, 3vw, 1.8rem); align-content: space-between; border: 1px solid var(--slate-200); border-radius: var(--radius); color: var(--layout-ink); background: var(--white); text-decoration: none; }
.layout-channel > span:first-child { color: var(--layout-primary); font-size: 1.15rem; }
.layout-channel strong { display: block; margin-top: 2rem; }
.layout-channel small { color: var(--slate-500); }
.layout-channel > span:last-child { margin-top: 1rem; color: var(--layout-accent); }
.layout-channel--featured { min-height: 14rem; color: var(--white); border-color: transparent; background: radial-gradient(circle at 90% 5%, color-mix(in srgb, var(--layout-accent) 20%, transparent), transparent 12rem), var(--layout-primary); }
.layout-channel--featured > span:first-child,
.layout-channel--featured > span:last-child { color: var(--layout-accent); }
.layout-channels--featured,
.layout-channels--premium { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.layout-channels--social { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 1rem; }
.layout-section--channels { position: relative; }
.layout-social-hub { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1rem; }
.layout-social-card { --social-accent: var(--layout-accent); position: relative; display: grid; grid-column: span 3; grid-template-columns: auto minmax(0, 1fr) auto; min-height: 9.5rem; gap: 1rem; padding: clamp(1.1rem, 2.5vw, 1.5rem); overflow: hidden; align-items: center; border: 1px solid color-mix(in srgb, var(--social-accent) 36%, var(--slate-200)); border-radius: var(--radius); color: var(--layout-ink); background: linear-gradient(145deg, var(--white), color-mix(in srgb, var(--social-accent) 7%, var(--white))); box-shadow: 0 12px 30px rgba(7,21,40,.06); text-decoration: none; transition: transform 280ms var(--ease-out), border-color var(--motion-fast) ease, box-shadow 280ms var(--ease-out); }
.layout-social-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--social-accent); }
.layout-social-card > span:nth-child(2) { min-width: 0; }
.layout-social-card small,
.layout-social-card strong { display: block; }
.layout-social-card small { margin-bottom: .25rem; color: var(--slate-500); font-size: .65rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.layout-social-card strong { font-size: clamp(1rem, 1.7vw, 1.25rem); line-height: 1.15; }
.layout-social-card > span:last-child { color: var(--social-accent); font-size: .85rem; font-weight: 900; transition: transform var(--motion-fast) var(--ease-out); }
.layout-social-card__mark { display: grid; width: 2.8rem; aspect-ratio: 1; place-items: center; border: 1px solid rgba(7,21,40,.08); border-radius: .9rem; color: transparent; background: var(--white); font-size: 0; box-shadow: 0 7px 18px rgba(7,21,40,.1); }
.layout-social-card__mark::before { content: ""; width: 1.75rem; height: 1.75rem; background: center / contain no-repeat var(--platform-icon); }
.layout-social-card--whatsapp { --social-accent: #25d366; grid-column: 1 / -1; min-height: 8.5rem; color: var(--white); border-color: transparent; background: radial-gradient(circle at 88% 18%, rgba(255,255,255,.14), transparent 14rem), linear-gradient(135deg, #0b6048, #0f765b); box-shadow: 0 20px 46px rgba(11,96,72,.24); }
.layout-social-card--whatsapp::before { background: rgba(255,255,255,.48); }
.layout-social-card--whatsapp small { color: rgba(255,255,255,.84); }
.layout-social-card--whatsapp .layout-social-card__mark { background: var(--white); }
.layout-social-card--whatsapp > span:last-child { color: var(--white); }
.layout-social-card--instagram { --social-accent: #c13584; }
.layout-social-card--tiktok { --social-accent: #111827; }
.layout-social-card--youtube { --social-accent: #ff0000; }
.layout-social-card--facebook { --social-accent: #1877f2; }
.layout-social-card__action { display: inline-flex; gap: .45rem; align-items: center; }
.layout-social-card__action b { display: inline-block; transition: transform var(--motion-fast) var(--ease-out); }
.layout-owned-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.layout-owned-links--single { grid-template-columns: 1fr; }
.layout-owned-card { display: flex; min-width: 0; gap: clamp(1.25rem, 4vw, 3rem); padding: clamp(1.3rem, 3vw, 2rem); align-items: center; justify-content: space-between; border: 1px solid var(--slate-200); border-radius: var(--radius); color: var(--layout-ink); background: var(--slate-50); }
.layout-owned-links--dual .layout-owned-card { align-items: flex-start; flex-direction: column; }
.layout-owned-links--dual .layout-owned-link { width: 100%; }
.layout-owned-card > div { min-width: 0; }
.layout-owned-card h3 { margin: .2rem 0 .45rem; }
.layout-owned-card p { max-width: 42rem; margin-bottom: 0; color: var(--slate-700); }
.layout-owned-link { display: inline-flex; min-height: 3rem; flex: 0 0 auto; gap: .7rem; padding: .75rem 1rem; align-items: center; justify-content: center; border-radius: .8rem; color: var(--white); background: var(--layout-primary); font-size: .78rem; font-weight: 900; text-decoration: none; transition: transform var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) ease; }
.layout-owned-link > span { display: inline-block; transition: transform var(--motion-fast) var(--ease-out); }
.layout-channel-note { margin: 1rem 0 0; color: var(--slate-500); font-size: .78rem; }
.layout-social-card:focus-visible,
.layout-owned-link:focus-visible { outline: 3px solid var(--cyan-400); outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) {
  .layout-social-card:hover,
  .motion-ready .layout-social-card[data-reveal].is-visible:hover { border-color: var(--social-accent); box-shadow: 0 22px 48px rgba(7,21,40,.13); transform: translate3d(0, -.38rem, 0) scale(1); }
  .layout-social-card--whatsapp:hover { box-shadow: 0 26px 54px rgba(17,107,80,.28); }
  .layout-social-card:hover > span:last-child,
  .layout-social-card:hover .layout-social-card__action b,
  .layout-owned-link:hover > span { transform: translateX(.28rem); }
  .layout-owned-link:hover { box-shadow: 0 14px 30px color-mix(in srgb, var(--layout-primary) 24%, transparent); transform: translateY(-.2rem); }
}
.layout-video { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr); min-height: 25rem; overflow: hidden; border-radius: var(--radius-lg); color: var(--white); background: var(--layout-ink); box-shadow: var(--shadow); }
.layout-video__visual,
.layout-video__poster { position: relative; display: grid; min-height: 24rem; gap: 1rem; place-content: center; justify-items: center; overflow: hidden; background: radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--layout-accent) 28%, transparent), transparent 26%), linear-gradient(145deg, color-mix(in srgb, var(--layout-primary) 78%, #000), var(--layout-ink)); }
.layout-video__visual::before,
.layout-video__poster::before { content: ""; position: absolute; inset: 12%; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.layout-video__poster > span:last-child { position: relative; z-index: 2; color: var(--slate-300); font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.layout-video__play { position: relative; z-index: 2; display: grid; width: 5rem; aspect-ratio: 1; place-items: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; color: var(--layout-ink); background: var(--white); }
.layout-video__copy { padding: clamp(1.7rem, 4vw, 3rem); align-self: center; }
.layout-video__copy p { color: var(--slate-300); }
.layout-video--compact { grid-template-columns: minmax(16rem, .72fr) minmax(0, 1.28fr); min-height: 20rem; }
.layout-video--compact .layout-video__poster { min-height: 20rem; }
.layout-video--cinematic { grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .55fr); min-height: 29rem; }
.layout-video--cinematic .layout-video__poster { min-height: 29rem; }
.layout-proposals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.layout-proposal { min-width: 0; padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid var(--slate-200); border-top: 4px solid var(--layout-accent); border-radius: var(--radius); background: var(--white); }
.layout-proposal > span { display: block; margin-bottom: clamp(2rem, 4vw, 3.5rem); color: var(--layout-primary); font-size: .72rem; font-weight: 950; letter-spacing: .12em; }
.layout-proposal p { margin-bottom: 0; color: var(--slate-700); }
.layout-share { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr); gap: clamp(1.5rem, 4vw, 3rem); padding: clamp(1.5rem, 4vw, 3rem); align-items: center; border: 1px solid var(--slate-200); border-radius: var(--radius-lg); background: linear-gradient(145deg, var(--white), var(--layout-soft)); }
.layout-share__address { display: block; max-width: 100%; margin-top: 1rem; overflow-wrap: anywhere; color: var(--layout-primary); font-size: .85rem; font-weight: 850; }
.layout-share__actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.layout-share__actions .button { flex: 1 1 12rem; }
.layout-share [data-share-feedback] { min-height: 1.5rem; margin: .75rem 0 0; }
.layout-commercial { display: flex; gap: 2rem; padding: clamp(1.5rem, 4vw, 3rem); align-items: center; justify-content: space-between; border-radius: var(--radius-lg); color: var(--white); background: radial-gradient(circle at 90% 20%, color-mix(in srgb, var(--layout-accent) 20%, transparent), transparent 20rem), var(--layout-ink); }
.layout-commercial h2 { max-width: 16ch; margin-bottom: .75rem; }
.layout-commercial p { max-width: 50rem; margin: 0; color: var(--slate-300); }
.layout-commercial__actions { display: flex; flex: 0 0 auto; flex-direction: column; gap: .65rem; }
.layout-commercial__actions .button:first-child { color: var(--layout-ink); background: var(--layout-accent); }
.layout-commercial > .layout-actions { flex: 0 0 auto; align-items: stretch; flex-direction: column; margin-top: 0; }
.layout-commercial > .layout-actions .button:first-child { color: var(--layout-ink); background: var(--layout-accent); }
.layout-legal { padding: 1.25rem; border-left: 3px solid var(--layout-accent); color: var(--slate-700); background: var(--slate-50); font-size: .85rem; }

/* Variações reais de composição. */
.layout-page--modern .layout-hero { background: radial-gradient(circle at 78% 12%, rgba(255,101,212,.24), transparent 26rem), radial-gradient(circle at 8% 90%, rgba(201,151,255,.2), transparent 24rem), linear-gradient(145deg, #fffaff, var(--luiza-soft)); }
.layout-page--modern .layout-hero__inner,
.layout-page--modern .layout-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr); }
.layout-page--modern .layout-hero__media { border-color: rgba(156,23,111,.22); border-radius: 45% 45% 2rem 2rem; background: radial-gradient(circle at 55% 20%, rgba(255,101,212,.48), transparent 38%), linear-gradient(160deg, #f0d9ff, #7b2d91); box-shadow: 0 28px 76px rgba(88,21,104,.22); transform: rotate(1.5deg); }
.layout-page--modern .layout-hero__portrait img { left: 54%; height: 112%; }
.layout-page--modern .layout-number { color: var(--luiza-magenta-readable); text-shadow: 0 0 24px rgba(255,101,212,.14); }
.layout-page--modern .layout-channels { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.layout-page--modern .layout-channel:first-child,
.layout-page--modern .layout-channel:nth-child(2) { grid-column: span 2; min-height: 14rem; color: var(--white); border-color: transparent; background: var(--layout-primary); }
.layout-page--modern .layout-channel:first-child > span,
.layout-page--modern .layout-channel:nth-child(2) > span { color: var(--layout-accent); }
.layout-page--modern .layout-channel:not(:first-child):not(:nth-child(2)) > span:last-child { color: var(--luiza-magenta-readable); }
.layout-page--modern .layout-channel:first-child small,
.layout-page--modern .layout-channel:nth-child(2) small { color: rgba(255,255,255,.72); }
.layout-page--modern .layout-proposals { grid-template-columns: 1fr; gap: 0; border-block: 1px solid var(--slate-200); }
.layout-page--modern .layout-proposal { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 1.5rem; padding: 1.5rem 0; align-items: start; border: 0; border-bottom: 1px solid var(--slate-200); border-radius: 0; }
.layout-page--modern .layout-proposal:last-child { border-bottom: 0; }
.layout-page--modern .layout-proposal > span { margin: .2rem 0 0; }
.layout-page--modern .layout-proposal > div { display: grid; grid-template-columns: minmax(10rem, .55fr) minmax(0, 1.45fr); gap: clamp(1.5rem, 5vw, 5rem); }
.layout-page--modern .layout-proposal h3,
.layout-page--modern .layout-proposal p { margin: 0; }

.layout-page--institutional .layout-number { color: var(--marina-number-light); }
.layout-page--institutional .layout-commercial__actions .button:first-child,
.layout-page--institutional .layout-commercial > .layout-actions .button:first-child { color: var(--marina-ink); background: var(--marina-number-dark); }

.layout-page--premium { color: var(--layout-text); background: var(--layout-surface); }
.layout-page--premium .layout-topbar { color: var(--white); border-bottom-color: rgba(255,255,255,.1); background: rgba(5,11,20,.92); }
.layout-page--premium .layout-switcher { border-bottom-color: rgba(255,255,255,.1); background: var(--layout-ink); }
.layout-page--premium .layout-topbar .brand__logo { filter: brightness(0) invert(1); }
.layout-page--premium .layout-switcher__link { color: var(--slate-300); border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.05); }
.layout-page--premium .layout-switcher__link[aria-current="page"] { color: var(--layout-ink); border-color: var(--layout-accent); background: var(--layout-accent); }
.layout-page--premium .layout-hero { min-height: min(50rem, calc(100vh - 5rem)); color: var(--white); background: radial-gradient(circle at 82% 12%, rgba(77,221,234,.16), transparent 30rem), radial-gradient(circle at 18% 86%, rgba(33,139,166,.1), transparent 24rem), linear-gradient(135deg, #040b16 0%, #0b1d35 54%, #123452 100%); }
.layout-page--premium .layout-hero__stage { grid-template-columns: minmax(0, .85fr) minmax(22rem, 1.15fr); }
.layout-page--premium .layout-hero__copy { position: relative; z-index: 3; }
.layout-page--premium .layout-hero__copy .eyebrow { color: var(--layout-accent); }
.layout-page--premium .layout-hero__role,
.layout-page--premium .layout-hero__meta { color: #c3cede; }
.layout-page--premium .layout-hero__copy .lead { color: #c3cede; }
.layout-page--premium .layout-number { color: var(--layout-accent); }
.layout-page--premium .layout-hero .layout-actions .button:first-child { color: var(--layout-ink); background: var(--layout-accent); }
.layout-page--premium .layout-hero .button--secondary { color: var(--white); border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.07); }
.layout-page--premium .layout-hero .button--tertiary { min-height: 3.1rem; padding-inline: .55rem; color: #dce5f0; border-color: transparent; background: transparent; text-decoration: underline; text-decoration-color: rgba(77,221,234,.42); text-underline-offset: .3rem; }
.layout-page--premium .layout-hero .button--tertiary:hover { color: var(--white); text-decoration-color: var(--layout-accent); }
.layout-page--premium .layout-hero__media { border-color: rgba(77,221,234,.38); background: radial-gradient(circle at 55% 22%, rgba(77,221,234,.22), transparent 38%), linear-gradient(145deg, #f2f8f9, #c7d9e0); box-shadow: var(--shadow-dark); }
.layout-page--premium .layout-content { color: var(--layout-text); background: var(--layout-surface); }
.layout-page--premium .layout-content > .container > .demo-feedback { color: var(--layout-muted); background: var(--white); }
.layout-page--premium .layout-section__head > p,
.layout-page--premium .layout-proposal p { color: var(--layout-muted); }
.layout-page--premium .layout-section--channels { margin-top: 1.25rem; padding: clamp(2rem, 5vw, 4rem) clamp(1rem, 4vw, 3rem); border: 1px solid rgba(77,221,234,.2); border-radius: var(--radius-lg); color: var(--white); background: radial-gradient(circle at 90% 8%, rgba(77,221,234,.13), transparent 20rem), radial-gradient(circle at 8% 92%, rgba(33,139,166,.09), transparent 18rem), linear-gradient(145deg, #0b2239, #040b16 76%); box-shadow: var(--shadow-dark); }
.layout-page--premium .layout-section--channels .layout-section__head > p,
.layout-page--premium .layout-section--channels .layout-channel-note { color: #c3cede; }
.layout-page--premium .layout-section--channels .eyebrow { color: var(--layout-accent); }
.layout-page--premium .layout-social-card:not(.layout-social-card--whatsapp) { color: var(--white); border-color: rgba(255,255,255,.15); background: rgba(255,255,255,.07); box-shadow: none; backdrop-filter: blur(12px); }
.layout-page--premium .layout-social-card:not(.layout-social-card--whatsapp) small { color: #c3cede; }
.layout-page--premium .layout-social-card:not(.layout-social-card--whatsapp)::before { background: var(--social-accent); }
.layout-page--premium .layout-social-card:not(.layout-social-card--whatsapp) .layout-social-card__mark { background: var(--white); }
.layout-page--premium .layout-social-card:not(.layout-social-card--whatsapp) > span:last-child { color: var(--white); }
.layout-page--premium .layout-owned-card { color: var(--layout-text); border-color: rgba(53,214,230,.2); background: var(--white); }
.layout-page--premium .layout-owned-link { color: var(--layout-ink); background: var(--layout-accent); }
.layout-page--premium .layout-section--manifesto .layout-section__head h2 { max-width: 12ch; font-size: clamp(2.5rem, 5vw, 4.8rem); }
.layout-page--premium .layout-proposals { grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--slate-200); }
.layout-page--premium .layout-proposal { display: grid; grid-template-columns: minmax(4rem, .2fr) minmax(0, 1.8fr); gap: clamp(1.5rem, 5vw, 5rem); padding: clamp(1.75rem, 4vw, 3rem) clamp(1rem, 2.5vw, 1.75rem); align-items: start; border: 0; border-left: 3px solid transparent; border-bottom: 1px solid var(--slate-200); border-radius: 0; color: var(--layout-text); background: var(--white); transition: border-color var(--motion-fast) ease, background var(--motion-fast) ease; }
.layout-page--premium .layout-proposal:hover { border-left-color: var(--layout-accent); background: var(--layout-soft); }
.layout-page--premium .layout-proposal > span { margin: .2rem 0 0; font-size: 1rem; }
.layout-page--premium .layout-proposal > div { display: grid; grid-template-columns: minmax(12rem, .55fr) minmax(0, 1.45fr); gap: clamp(1.5rem, 5vw, 5rem); }
.layout-page--premium .layout-proposal h3,
.layout-page--premium .layout-proposal p { margin: 0; }
.layout-page--premium .layout-share { color: var(--layout-text); background: linear-gradient(145deg, var(--white), var(--layout-soft)); }
.layout-page--premium .layout-share p { color: var(--layout-muted); }

@media (min-width: 1024px) and (max-width: 1180px) {
  .nav { gap: .75rem; }
  .nav__links { gap: .62rem; }
  .nav__links > a:not(.button) { font-size: .76rem; }
  .nav__links .button { padding-inline: .82rem; font-size: .78rem; }
  .nav .brand__logo { width: 11.5rem; }
}

@media (min-width: 768px) {
  .layout-page--institutional .layout-hero__copy { order: 2; }
  .layout-page--institutional .layout-hero__media { order: 1; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .h51-investment__groups article { display: grid; grid-template-columns: 2.75rem minmax(9rem, .45fr) minmax(0, 1fr); gap: 1rem; align-items: start; }
  .h51-investment__groups article > span,
  .h51-investment__groups article h3 { margin: .15rem 0 0; }
  .h51-investment__groups article ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .layout-page .layout-hero__inner,
  .layout-page .layout-hero__grid,
  .layout-page .layout-hero__stage { grid-template-columns: minmax(0, 1fr) minmax(18rem, .82fr); gap: 2rem; }
  .layout-hero__media { min-height: 30rem; }
}

@media (max-width: 1023px) {
  .h52-layouts__intro { grid-template-columns: 1fr; gap: 1.25rem; }
  .h52-layouts__intro > div:last-child { max-width: 48rem; }
  .layout-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .layout-preview-card,
  .layout-preview-card--institutional,
  .layout-preview-card--modern,
  .layout-preview-card--premium { transform: none; }
  .layout-preview-card:last-child { grid-column: 1 / -1; width: min(100%, 27rem); justify-self: center; }
  .layout-preview-card__canvas { min-height: 30rem; }
  .h51-shareable__layout { grid-template-columns: 1fr; }
  .share-link-panel { max-width: 50rem; }
  .page-included__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .layout-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .layout-choice-card:last-child { grid-column: 1 / -1; }
  .layout-topbar__inner { min-height: 4.5rem; padding-block: .6rem; gap: .75rem; }
  .layout-topbar .brand__logo { width: clamp(9rem, 22vw, 10.75rem); }
  .layout-topbar .button { min-height: 2.65rem; padding: .55rem .8rem; font-size: .7rem; }
  .layout-switcher { width: 100%; }
  .layout-switcher__list { flex-wrap: wrap; }
  .layout-social-card { grid-column: span 6; }
  .layout-social-card--whatsapp { grid-column: 1 / -1; }
  .layout-video { grid-template-columns: 1fr; }
  .layout-video__visual,
  .layout-video__poster { min-height: 21rem; }
  .layout-commercial { align-items: stretch; flex-direction: column; }
  .layout-commercial__actions,
  .layout-commercial > .layout-actions { flex-direction: row; }
}

@media (max-width: 767px) {
  .h51-section,
  .h52-layouts { padding-block: clamp(3.5rem, 13vw, 4.75rem); }
  .h51-section .section-head,
  .h52-layouts .section-head { margin-bottom: 2rem; }
  .h51-investment { padding-block: 3.5rem; }
  .h51-investment__groups article { display: block; }
  .h51-investment__groups article > span { margin-bottom: .8rem; }
  .h51-investment__groups article h3 { margin-bottom: .8rem; }
  .h51-investment__groups article ul { grid-template-columns: 1fr; }
  .page-included__grid { gap: 2rem; }
  .included-profile-preview { grid-template-areas: "portrait" "identity" "channels"; grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
  .included-profile-preview__portrait { min-height: 19rem; }
  .included-profile-preview__portrait img { height: 105%; }
  .included-profile-preview__channels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .layout-gallery { grid-template-columns: 1fr; gap: 1.25rem; }
  .layout-preview-card:last-child { grid-column: auto; width: 100%; }
  .layout-preview-card__canvas { min-height: 28rem; }
  .layout-preview-card__copy p { min-height: 0; }
  .h52-layouts__footer { align-items: stretch; flex-direction: column; }
  .h52-layouts__footer .button { width: 100%; }
  .share-link-panel__flow { grid-template-columns: 1fr; }
  .share-link-panel__flow li { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .share-link-panel__flow li:last-child { border-bottom: 0; }
  .share-link-panel__footer { align-items: flex-start; flex-direction: column; }
  .share-link-panel__address { grid-template-columns: minmax(0, 1fr) auto; }
  .share-link-panel__address > span { grid-column: 1 / -1; }
  .candidate-top { align-items: flex-start; }
  .candidate-top__actions { align-items: flex-end; flex-direction: column; }
  .candidate-top__actions > span,
  .candidate-top__actions > a { min-height: 2.25rem; font-size: .58rem; }
  .layout-choice-grid { grid-template-columns: 1fr; }
  .layout-choice-card:last-child { grid-column: auto; }
  .layout-choice-card > div > p:last-child { min-height: 0; }
  .layout-topbar .brand__logo { width: clamp(8.5rem, 34vw, 9.75rem); }
  .layout-topbar .button { padding-inline: .65rem; }
  .layout-switcher__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; }
  .layout-switcher__link { width: 100%; padding: .4rem .25rem; align-items: center; justify-content: center; font-size: .65rem; text-align: center; }
  .layout-hero,
  .layout-section { padding-block: clamp(3.5rem, 12vw, 4.75rem); }
  .layout-page .layout-hero__inner,
  .layout-page .layout-hero__grid,
  .layout-page .layout-hero__stage,
  .layout-page--modern .layout-hero__inner,
  .layout-page--modern .layout-hero__grid { grid-template-columns: 1fr; gap: 2.25rem; }
  .layout-hero__copy { order: 1; }
  .layout-hero__media { order: 2; min-height: 27rem; }
  .layout-page--modern .layout-hero__media { border-radius: 2rem; transform: none; }
  .layout-page--premium .layout-hero { min-height: auto; }
  .layout-section__head { grid-template-columns: 1fr; gap: 1rem; }
  .layout-owned-links { grid-template-columns: 1fr; }
  .layout-owned-card { align-items: flex-start; flex-direction: column; }
  .layout-owned-link { width: 100%; }
  .layout-page--premium .layout-section--channels { padding-inline: 1rem; }
  .layout-channels,
  .layout-page--modern .layout-channels,
  .layout-proposals { grid-template-columns: 1fr; }
  .layout-page--modern .layout-channel:first-child,
  .layout-page--modern .layout-channel:nth-child(2) { grid-column: auto; min-height: 11rem; }
  .layout-page--modern .layout-proposal,
  .layout-page--premium .layout-proposal { grid-template-columns: 3rem 1fr; gap: 1rem; }
  .layout-page--modern .layout-proposal > div,
  .layout-page--premium .layout-proposal > div { grid-template-columns: 1fr; gap: .5rem; }
  .layout-share { grid-template-columns: 1fr; }
  .layout-share__actions { flex-direction: column; }
  .layout-share__actions .button { width: 100%; flex-basis: auto; }
  .layout-commercial__actions,
  .layout-commercial > .layout-actions { flex-direction: column; }
  .layout-commercial__actions .button,
  .layout-commercial > .layout-actions .button { width: 100%; }
}

@media (max-width: 479px) {
  .included-profile-preview__portrait { min-height: 17rem; }
  .included-profile-preview__identity { padding: 1.25rem; }
  .included-profile-preview__channels { padding: 0 1.25rem 1.25rem; }
  .layout-preview-card__canvas { min-height: 26rem; }
  .share-link-panel__chips > span { flex: 1 1 calc(50% - .55rem); justify-content: center; }
  .layout-hero__media { min-height: 24rem; }
  .layout-actions { flex-direction: column; }
  .layout-actions .button { width: 100%; }
  .layout-social-card,
  .layout-social-card--whatsapp { grid-column: 1 / -1; min-height: 7.75rem; }
  .layout-social-card { padding: 1rem; }
  .layout-social-card__mark { width: 2.5rem; }
  .layout-video__visual,
  .layout-video__poster { min-height: 17rem; }
}

@media (max-width: 374px) {
  .layout-preview-card__canvas { min-height: 24rem; }
  .layout-preview-card__portrait { height: 56%; }
  .layout-hero__media { min-height: 22rem; }
  .share-link-panel__chips { display: grid; grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .social-button:hover svg,
  .social-button:hover::before { animation: none !important; }
  .layout-preview-card,
  .layout-preview-card__link,
  .layout-preview-card__portrait img,
  .layout-social-card,
  .layout-owned-link,
  .layout-social-card__action b,
  .layout-social-card > span:last-child,
  .layout-owned-link > span,
  .layout-preview-card__cta > span,
  .layout-page--modern .layout-hero__media { transform: none !important; }
  .layout-preview-card__link,
  .layout-preview-card__portrait img,
  .layout-social-card,
  .layout-owned-link,
  .layout-social-card__action b,
  .layout-social-card > span:last-child,
  .layout-owned-link > span,
  .layout-preview-card__cta > span,
  .layout-page--premium .layout-proposal { transition: none !important; }
  .layout-preview-card__link::before { opacity: 0; transform: none !important; transition: none !important; }
  .share-link-panel *,
  .layout-page * { scroll-behavior: auto; }
}
