:root {
  --blue: #1769ff;
  --blue-2: #0050e8;
  --cyan: #5ae8ff;
  --ink: #080b12;
  --ink-2: #0e121c;
  --paper: #f4f6fa;
  --white: #fff;
  --muted: #4d5765;
  --line: #dfe3ea;
  --dark-muted: #9aa5b7;
  --radius: 22px;
  --page: min(1380px, calc(100% - 64px));
  --mx: 50vw;
  --my: 50vh;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 120px; }
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
::selection { color: #fff; background: var(--blue); }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
img, video { max-width: 100%; }
button { color: inherit; }

.skip-link {
  position: fixed;
  z-index: 1000;
  left: 16px;
  top: -80px;
  padding: 12px 18px;
  border-radius: 8px;
  color: #fff;
  background: var(--blue);
  font-weight: 800;
  transition: top .2s;
}
.skip-link:focus { top: 16px; }
.noise {
  position: fixed;
  z-index: 999;
  inset: 0;
  pointer-events: none;
  opacity: .2;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.18) .45px, transparent .7px),
    radial-gradient(circle at 80% 70%, rgba(255,255,255,.12) .4px, transparent .65px);
  background-size: 7px 7px, 11px 11px;
}
.cursor-glow {
  position: fixed;
  z-index: 0;
  width: 520px;
  height: 520px;
  left: var(--mx);
  top: var(--my);
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(23,105,255,.12), rgba(23,105,255,0) 68%);
  transform: translate(-50%,-50%);
  transition: opacity .2s;
}

.topbar {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 50%;
  width: min(1320px, calc(100% - 48px));
  min-height: 102px;
  padding: 0 18px 0 8px;
  display: grid;
  grid-template-columns: 316px 1fr auto;
  align-items: center;
  gap: 24px;
  border: 1px solid #e5e8ee;
  border-radius: 0 0 18px 18px;
  transform: translateX(-50%);
  background: #fff;
  box-shadow: 0 12px 35px rgba(8,20,42,.08);
  transition: min-height .25s, background .25s, border-color .25s, box-shadow .25s;
}
.topbar.is-scrolled {
  top: 10px;
  min-height: 66px;
  border-color: #dfe4ec;
  border-radius: 16px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 50px rgba(13,32,68,.14);
  backdrop-filter: blur(18px);
}
.brand { display: flex; align-items: center; }
.brand img {
  width: 300px;
  height: 90px;
  object-fit: cover;
  object-position: center;
}
.nav { display: flex; justify-content: flex-end; align-items: center; gap: clamp(16px,2vw,30px); }
.nav a {
  position: relative;
  padding: 9px 0;
  color: #424a57;
  font-size: 14px;
  font-weight: 750;
  white-space: nowrap;
  transition: color .2s;
}
.nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 3px;
  height: 2px;
  background: var(--blue);
  transition: right .25s;
}
.nav a:hover, .nav a.is-active { color: var(--blue); }
.nav a:hover::after, .nav a.is-active::after { right: 0; }
.menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  padding: 11px;
  border: 1px solid #dbe1ea;
  border-radius: 12px;
  background: #f4f6f9;
  cursor: pointer;
}
.menu-toggle span {
  display: block;
  width: 100%;
  height: 2px;
  margin: 4px 0;
  background: #18202c;
  transition: transform .25s, opacity .25s;
}
.menu-toggle.is-open span:first-child { transform: translateY(6px) rotate(45deg); }
.menu-toggle.is-open span:nth-child(2) { opacity: 0; }
.menu-toggle.is-open span:last-child { transform: translateY(-6px) rotate(-45deg); }

.button {
  min-height: 54px;
  padding: 0 23px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  border: 1px solid transparent;
  border-radius: 11px;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .01em;
  cursor: pointer;
  transition: color .25s, background .25s, border-color .25s, box-shadow .25s, transform .25s;
}
.button span { font-size: 18px; }
.whatsapp-icon { flex: 0 0 auto; width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.header-cta .whatsapp-icon { width: 18px; height: 18px; }
.button-sm { min-height: 43px; padding: 0 17px; gap: 13px; }
.button-primary {
  color: #fff;
  background: linear-gradient(135deg, #2778ff, #0750dd);
  box-shadow: 0 14px 42px rgba(0,80,232,.36), inset 0 1px rgba(255,255,255,.25);
}
.button-primary:hover { box-shadow: 0 18px 52px rgba(0,80,232,.5), inset 0 1px rgba(255,255,255,.25); transform: translateY(-3px); }
.button-light { color: #071126; background: #fff; }
.button-light:hover { background: #dfeaff; transform: translateY(-2px); }
.button-ghost { color: #fff; border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.055); backdrop-filter: blur(10px); }
.button-ghost:hover { border-color: rgba(255,255,255,.52); background: rgba(255,255,255,.1); transform: translateY(-3px); }
.button:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid rgba(90,232,255,.55);
  outline-offset: 3px;
}

.hero {
  position: relative;
  z-index: 1;
  min-height: 850px;
  height: max(100vh, 850px);
  padding: 130px max(48px,calc((100vw - 1280px)/2)) 82px;
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  align-items: center;
  gap: clamp(34px,4vw,66px);
  overflow: hidden;
  color: var(--ink);
  background:
    radial-gradient(circle at 82% 31%, rgba(23,105,255,.13), transparent 34%),
    radial-gradient(circle at 8% 92%, rgba(90,232,255,.12), transparent 28%),
    linear-gradient(145deg,#fff 0%,#f9fbff 55%,#eef5ff 100%);
}
.hero-grid {
  position: absolute;
  inset: 0;
  opacity: .4;
  background-image: linear-gradient(rgba(35,81,160,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(35,81,160,.08) 1px,transparent 1px);
  background-size: 70px 70px;
  mask-image: linear-gradient(to bottom,black,transparent 86%);
}
.orb { position: absolute; border-radius: 50%; filter: blur(3px); pointer-events: none; }
.orb-one { width: 540px; height: 540px; right: -170px; top: 35px; border: 110px solid rgba(23,105,255,.08); animation: orbit 14s ease-in-out infinite; }
.orb-two { width: 300px; height: 300px; left: -190px; bottom: 40px; background: rgba(0,95,255,.08); filter: blur(70px); }
.hero-content, .hero-media { position: relative; z-index: 2; }
.hero h1 {
  max-width: 690px;
  margin: 0 0 24px;
  color: #070a10;
  font-size: clamp(52px,5vw,80px);
  line-height: .91;
  letter-spacing: -.07em;
}
.word-accent {
  display: block;
  color: transparent;
  background: linear-gradient(95deg,#0755e6 4%,#287cff 52%,#08a8c7);
  background-clip: text;
  -webkit-background-clip: text;
}
.hero-lead {
  max-width: 680px;
  margin: 0;
  color: #3f4a59;
  font-size: clamp(16px,1.35vw,20px);
  line-height: 1.7;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 32px; }
.hero .button-ghost { color: #111a28; border-color: #cbd5e4; background: rgba(255,255,255,.72); }
.hero .button-ghost:hover { color: var(--blue); border-color: #8fb2f5; background: #fff; }
.hero-media { margin-right: -10px; padding: 0; }
.video-halo {
  position: absolute;
  inset: 6% 0 5%;
  border-radius: 50%;
  background: #3a7eff;
  filter: blur(100px);
  opacity: .2;
  animation: pulseGlow 5s ease-in-out infinite;
}
.video-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #bdcce4;
  border-radius: 16px;
  background: #0d111b;
  box-shadow: 0 34px 85px rgba(28,68,135,.22),0 0 0 8px rgba(255,255,255,.8);
}
.video-card video { width: 100%; aspect-ratio: 16/9; display: block; object-fit: cover; background: #080b12; }
.ticker { position: relative; z-index: 3; overflow: hidden; padding: 17px 0; color: #fff; background: var(--blue); transform: rotate(-1deg) scale(1.01); }
.ticker-track { width: max-content; display: flex; align-items: center; gap: 32px; animation: ticker 24s linear infinite; }
.ticker span { font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.ticker i { color: #9cecff; font-style: normal; }

.section { position: relative; z-index: 2; padding: 82px max(48px,calc((100vw - 1280px)/2)); }
.section-intro { max-width: 880px; margin-bottom: 56px; }
.section h2, .search-copy h2, .showcase h2, .faq h2 {
  margin: 16px 0 20px;
  font-size: clamp(40px,4.2vw,64px);
  line-height: .98;
  letter-spacing: -.06em;
}
.section h2 em, .search-copy h2 em, .showcase h2 em, .faq h2 em { color: var(--blue); font-style: normal; }
.section-intro > p { max-width: 650px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.7; }

.seven-days {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  align-items: center;
  gap: clamp(55px,7vw,110px);
  overflow: hidden;
  background: #fff;
}
.seven-days-copy,.seven-days-media { position: relative; z-index: 1; }
.seven-days-copy h2 { max-width: 660px; margin: 0 0 24px; }
.seven-days-copy h2 em { display: block; width: fit-content; margin-top: 10px; font-size: 1.16em; line-height: .9; color: transparent; background: linear-gradient(95deg,#0755e6,#267bff 58%,#08a8c7); background-clip: text; -webkit-background-clip: text; white-space: nowrap; }
.seven-days-lead { margin: 0 0 17px; color: #202936; font-size: clamp(19px,1.65vw,25px); font-weight: 720; line-height: 1.5; }
.seven-days-copy > p:not(.seven-days-lead) { max-width: 630px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.seven-days-frame { position: relative; aspect-ratio: 16/10; overflow: hidden; border-radius: 27px; background: #0b1424; box-shadow: 0 40px 100px rgba(15,40,84,.22),0 0 0 8px #f2f5fa; transform: perspective(1300px) rotateY(-3deg); }
.seven-days-frame img { width: 100%; height: 100%; display: block; object-fit: cover; }
.seven-days-shade { position: absolute; inset: 0; background: linear-gradient(180deg,transparent 52%,rgba(4,9,17,.78)); }
.seven-days-tag { position: absolute; left: 24px; bottom: 24px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.27); border-radius: 999px; color: #fff; background: rgba(6,12,22,.62); backdrop-filter: blur(13px); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.seven-days-badge { position: absolute; right: 22px; top: 22px; width: 93px; height: 93px; display: grid; place-content: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; color: #fff; background: linear-gradient(145deg,rgba(45,127,255,.95),rgba(0,70,209,.95)); box-shadow: 0 18px 45px rgba(0,63,185,.4); text-align: center; }
.seven-days-badge strong,.seven-days-badge span { display: block; }
.seven-days-badge strong { font-size: 42px; line-height: .8; letter-spacing: -.08em; }
.seven-days-badge span { margin-top: 7px; font-size: 9px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }

.formats {
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 0%,rgba(31,104,255,.11),transparent 31%),
    radial-gradient(circle at 92% 88%,rgba(31,164,255,.09),transparent 28%),
    #f4f7fc;
}
.formats-head { max-width: 860px; margin: 0 auto 46px; text-align: center; }
.formats-head h2 { margin: 0 0 17px; color: #090c12; font-size: clamp(34px,3.45vw,52px); line-height: 1.04; letter-spacing: -.052em; }
.formats-head h2 em { color: var(--blue); font-style: normal; }
.formats-head p { max-width: 720px; margin: 0 auto; color: #414b59; font-size: 16px; line-height: 1.7; }
.formats-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.format-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(169,187,217,.65);
  border-radius: 22px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 15px 45px rgba(19,53,108,.09);
  transition: transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .45s;
}
.format-card::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; border-radius: inherit; box-shadow: inset 0 1px rgba(255,255,255,.72); }
.format-card:hover { border-color: rgba(55,119,235,.65); transform: translateY(-9px); box-shadow: 0 27px 70px rgba(19,60,132,.17); }
.format-media { position: relative; aspect-ratio: 16/10.5; overflow: hidden; background: #0a1323; }
.format-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 55%,rgba(3,10,22,.28)); pointer-events: none; }
.format-media img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .75s cubic-bezier(.2,.8,.2,1),filter .45s; }
.format-card:hover .format-media img { transform: scale(1.055); filter: saturate(1.06) contrast(1.02); }
.format-icon { position: absolute; z-index: 1; left: 14px; top: 14px; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.55); border-radius: 12px; color: #fff; background: rgba(4,20,48,.69); box-shadow: 0 12px 28px rgba(0,0,0,.2); backdrop-filter: blur(12px); transition: background .35s,transform .4s cubic-bezier(.2,.8,.2,1); }
.format-card:hover .format-icon { background: var(--blue); transform: rotate(-5deg) scale(1.06); }
.format-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.format-copy { min-height: 122px; padding: 18px 17px 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.format-copy h3 { margin: 0 0 7px; color: #10141c; font-size: clamp(17px,1.35vw,21px); line-height: 1.1; letter-spacing: -.035em; }
.format-copy p { max-width: 480px; margin: 0; color: #46515f; font-size: 11px; line-height: 1.6; }
.format-mark { flex: 0 0 auto; width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid #cfdbef; border-radius: 50%; color: var(--blue); background: #edf4ff; font-size: 15px; transition: color .3s,background .3s,border-color .3s,transform .4s cubic-bezier(.2,.8,.2,1); }
.format-card:hover .format-mark { color: #fff; background: var(--blue); border-color: var(--blue); transform: rotate(45deg); }

.deliverables { background: #fff; }
.deliverables-head { max-width: 920px; margin: 0 auto 46px; text-align: center; }
.deliverables-head h2 { max-width: 920px; margin: 0 0 17px; color: #090b10; font-size: clamp(32px,3vw,46px); line-height: 1.08; letter-spacing: -.045em; }
.deliverables-head h2 em { color: var(--blue); font-style: normal; }
.deliverables-head > p { max-width: 700px; margin: 0 auto; color: #4f5865; font-size: 16px; line-height: 1.65; }
.deliverables-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.deliverable-card { min-height: 150px; padding: 25px 23px; display: grid; grid-template-columns: 54px 1fr; align-items: start; gap: 18px; border: 1px solid #e1e4e9; border-radius: 14px; background: #fff; box-shadow: 0 2px 5px rgba(14,25,45,.07); transition: transform .3s,border-color .3s,box-shadow .3s; }
.deliverable-card:hover { border-color: #b9cff8; transform: translateY(-5px); box-shadow: 0 18px 44px rgba(25,66,140,.12); }
.deliverable-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 13px; color: #0763ff; background: #e4efff; }
.deliverable-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.deliverable-card h3 { margin: 2px 0 7px; color: #111318; font-size: 15px; line-height: 1.4; letter-spacing: -.02em; }
.deliverable-card p { margin: 0; color: #505966; font-size: 12px; line-height: 1.65; }

.search-impact { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: clamp(60px,8vw,130px); background: #f6f7fa; }
.search-media { position: relative; height: 680px; overflow: hidden; border-radius: 25px; box-shadow: 0 32px 80px rgba(16,34,70,.18); }
.search-media img { width: 100%; height: 100%; object-fit: cover; }
.search-status { position: absolute; left: 22px; right: 22px; bottom: 22px; padding: 17px; display: flex; align-items: center; gap: 14px; border: 1px solid rgba(255,255,255,.34); border-radius: 13px; color: #fff; background: rgba(7,13,25,.75); backdrop-filter: blur(14px); }
.search-status i { flex: 0 0 auto; width: 9px; height: 9px; border-radius: 50%; background: #48df98; box-shadow: 0 0 0 7px rgba(72,223,152,.12); }
.search-status strong,.search-status span { display: block; }
.search-status strong { margin-bottom: 4px; font-size: 11px; }
.search-status span { color: #bec8d7; font-size: 9px; }
.search-copy { max-width: 760px; }
.large-copy { color: #222a37!important; font-size: clamp(18px,1.7vw,25px)!important; font-weight: 700; line-height: 1.5!important; }
.search-copy > p { color: var(--muted); font-size: 15px; line-height: 1.75; }
.impact-question { margin: 27px 0; padding: 22px 24px; border-left: 4px solid var(--blue); background: #fff; box-shadow: 0 15px 45px rgba(18,41,83,.07); }
.impact-question small { display: block; margin-bottom: 8px; color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.impact-question strong { display: block; font-size: clamp(19px,1.8vw,27px); line-height: 1.3; }
.arrow-link { display: inline-flex; align-items: center; gap: 22px; margin-top: 12px; padding-bottom: 7px; border-bottom: 2px solid var(--blue); color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.arrow-link span { font-size: 17px; transition: transform .2s; }
.arrow-link:hover span { transform: translate(3px,-3px); }

.showcase { min-height: 680px; display: grid; grid-template-columns: .84fr 1.16fr; align-items: center; gap: clamp(48px,6vw,90px); }
.showcase-copy > p { color: var(--muted); font-size: 15px; line-height: 1.75; }
.check-list { margin: 27px 0; padding: 0; list-style: none; }
.check-list li { margin: 13px 0; display: flex; align-items: center; gap: 10px; color: #3f4855; font-size: 12px; font-weight: 750; }
.check-list span { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--blue); font-size: 10px; }
.showcase-art { position: relative; display: flex; justify-content: center; }
.showcase-art img { width: 100%; max-width: 820px; height: auto; margin: 0 auto; display: block; object-fit: contain; image-rendering: auto; }

.manifesto { display: grid; grid-template-columns: 1.08fr .92fr; gap: 18px; background: #fff; }
.manifesto-card { position: relative; min-height: 580px; padding: clamp(40px,4.5vw,65px); display: flex; flex-direction: column; border-radius: 25px; color: #fff; background: linear-gradient(145deg,#071226,#0b55de 72%,#3286ff); overflow: hidden; }
.manifesto-card::after { content: ""; position: absolute; width: 460px; height: 460px; right: 48%; bottom: -250px; border: 100px solid rgba(255,255,255,.07); border-radius: 50%; }
.manifesto h2 { position: relative; z-index: 1; max-width: 760px; margin: 0; font-size: clamp(40px,4.2vw,64px); }
.manifesto h2 em { color: #a9efff; }
.manifesto-bottom { position: relative; z-index: 1; margin-top: auto; padding-top: 30px; display: grid; grid-template-columns: 1fr 1.1fr; gap: 35px; border-top: 1px solid rgba(255,255,255,.2); }
.manifesto-bottom p { margin: 0; color: #c7d8f5; font-size: 11px; line-height: 1.7; }
.manifesto-bottom blockquote { margin: 0; font-size: 15px; font-weight: 800; line-height: 1.5; }
.segments { min-height: 580px; padding: clamp(40px,4.5vw,65px); border-radius: 25px; background: #f2f4f8; }
.segments h3 { margin: 0 0 35px; font-size: clamp(31px,2.7vw,43px); line-height: 1.08; letter-spacing: -.05em; }
.segment-cloud { display: flex; flex-wrap: wrap; gap: 9px; }
.segment-cloud span { padding: 11px 14px; border: 1px solid #d8dee8; border-radius: 999px; color: #3f4855; background: #fff; font-size: 10px; font-weight: 750; transition: color .2s,background .2s,border-color .2s,transform .2s; }
.segment-cloud span:hover { color: #fff; background: var(--blue); border-color: var(--blue); transform: translateY(-3px); }

.faq { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(60px,8vw,125px); background: #f6f7f9; }
.faq-copy { align-self: start; position: sticky; top: 105px; }
.faq-copy > p { color: var(--muted); font-size: 14px; line-height: 1.7; }
.faq-list { display: grid; gap: 12px; }
.faq-item { overflow: hidden; border: 1px solid #e0e5ed; border-radius: 16px; background: rgba(255,255,255,.82); box-shadow: 0 5px 18px rgba(18,39,78,.045); transition: border-color .3s,background .3s,box-shadow .3s,transform .3s; }
.faq-item:hover { border-color: #c5d6f4; transform: translateY(-2px); }
.faq-item.is-open { border-color: #b7cdf6; background: #fff; box-shadow: 0 16px 42px rgba(26,63,128,.1); }
.faq-question { width: 100%; min-height: 78px; padding: 18px 20px 18px 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 0; color: #141922; background: transparent; text-align: left; font-size: 15px; font-weight: 850; line-height: 1.4; cursor: pointer; }
.faq-question > span { flex: 1; }
.faq-toggle { position: relative; flex: 0 0 auto; width: 38px; height: 38px; border: 1px solid #cbd9f3; border-radius: 50%; background: #edf3ff; transition: background .3s,border-color .3s,transform .42s cubic-bezier(.2,.8,.2,1); }
.faq-toggle::before,.faq-toggle::after { content: ""; position: absolute; left: 50%; top: 50%; width: 13px; height: 2px; border-radius: 2px; background: var(--blue); transform: translate(-50%,-50%); transition: opacity .28s,transform .42s cubic-bezier(.2,.8,.2,1); }
.faq-toggle::after { transform: translate(-50%,-50%) rotate(90deg); }
.faq-item.is-open .faq-toggle { border-color: var(--blue); background: var(--blue); transform: rotate(180deg); }
.faq-item.is-open .faq-toggle::before,.faq-item.is-open .faq-toggle::after { background: #fff; }
.faq-item.is-open .faq-toggle::after { opacity: 0; transform: translate(-50%,-50%) rotate(180deg); }
.faq-answer { max-height: 0; overflow: hidden; opacity: 0; transform: translateY(-8px); transition: max-height .48s cubic-bezier(.25,.8,.25,1),opacity .3s ease,transform .38s ease; }
.faq-item.is-open .faq-answer { max-height: 320px; opacity: 1; transform: none; }
.faq-answer-inner { padding: 0 78px 24px 24px; }
.faq-answer p { max-width: 720px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.78; }

.footer { position: relative; z-index: 2; padding: 76px max(48px,calc((100vw - 1280px)/2)) 25px; color: #fff; background: #030509; }
.footer-top { display: grid; grid-template-columns: 1.1fr 1fr .9fr; gap: 70px; align-items: start; padding-bottom: 60px; }
.footer-brand img { width: 180px; height: 65px; object-fit: contain; filter: invert(1) grayscale(1) brightness(3); }
.footer-brand p { max-width: 330px; color: #9ba5b5; font-size: 11px; line-height: 1.7; }
.footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; }
.footer-links strong { display: block; margin: 17px 0 20px; color: #bec7d5; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.footer-links a { display: block; margin: 11px 0; color: #9aa4b4; font-size: 10px; transition: color .2s,transform .2s; }
.footer-links a:hover { color: #fff; transform: translateX(3px); }
.footer-action { min-height: 120px; padding: 22px; display: flex; align-items: flex-end; justify-content: space-between; border: 1px solid #1d2635; border-radius: 17px; color: #fff; background: linear-gradient(135deg,#0a1221,#0a2559); transition: border-color .2s,transform .2s; }
.footer-action:hover { border-color: #235bbe; transform: translateY(-4px); }
.footer-action span { max-width: 190px; font-size: 19px; font-weight: 850; line-height: 1.2; }
.footer-action i { color: #6a9bff; font-size: 26px; font-style: normal; }
.footer-bottom { padding-top: 22px; display: flex; justify-content: space-between; border-top: 1px solid #27303d; color: #7f8998; font-size: 8px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

.whatsapp-float {
  position: fixed;
  z-index: 120;
  right: 28px;
  bottom: 28px;
  min-height: 66px;
  padding: 0 25px 0 17px;
  display: flex;
  align-items: center;
  gap: 12px;
  isolation: isolate;
  border: 2px solid rgba(255,255,255,.78);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg,#2bdd73 0%,#18c862 55%,#08aa4b 100%);
  box-shadow: 0 18px 46px rgba(7,142,63,.42),0 6px 16px rgba(5,77,36,.2),inset 0 1px rgba(255,255,255,.35);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .01em;
  animation: whatsappFloat 3s ease-in-out infinite,whatsappGlow 2.4s ease-in-out infinite;
}
.whatsapp-float::before { content: ""; position: absolute; inset: -8px; z-index: -1; border: 2px solid rgba(37,211,102,.45); border-radius: inherit; animation: whatsappPulse 2.2s ease-out infinite; }
.whatsapp-float::after { content: ""; position: absolute; right: 11px; top: 4px; width: 9px; height: 9px; border: 2px solid #fff; border-radius: 50%; background: #b9ffcf; box-shadow: 0 0 0 4px rgba(203,255,218,.22); animation: whatsappBlink 1.4s ease-in-out infinite; }
.whatsapp-float svg { width: 39px; height: 39px; padding: 6px; box-sizing: border-box; border-radius: 50%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; background: rgba(255,255,255,.14); box-shadow: inset 0 0 0 1px rgba(255,255,255,.24); }
.whatsapp-float > span { line-height: 1.05; }
.whatsapp-float:hover { background: linear-gradient(135deg,#32e87c,#0fb958); box-shadow: 0 23px 56px rgba(7,142,63,.52),0 8px 20px rgba(5,77,36,.24); animation-play-state: paused; transform: translateY(-4px) scale(1.035); }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity: 1; transform: none; }
.deliverables-grid .reveal:nth-child(2) { transition-delay: 70ms; }
.deliverables-grid .reveal:nth-child(3) { transition-delay: 140ms; }
.deliverables-grid .reveal:nth-child(4) { transition-delay: 210ms; }
.formats-grid .reveal:nth-child(2) { transition-delay: 70ms; }
.formats-grid .reveal:nth-child(3) { transition-delay: 110ms; }
.formats-grid .reveal:nth-child(4) { transition-delay: 150ms; }

@keyframes ticker { to { transform: translateX(-50%); } }
@keyframes pulseGlow { 0%,100% { opacity:.2; transform:scale(.94); } 50% { opacity:.34; transform:scale(1.05); } }
@keyframes orbit { 0%,100% { transform:translate(0,0) rotate(0); } 50% { transform:translate(-25px,30px) rotate(20deg); } }
@keyframes whatsappFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
@keyframes whatsappPulse { 0% { opacity:.7; transform:scale(.92); } 75%,100% { opacity:0; transform:scale(1.18); } }
@keyframes whatsappGlow { 0%,100% { box-shadow:0 18px 46px rgba(7,142,63,.38),0 6px 16px rgba(5,77,36,.2),inset 0 1px rgba(255,255,255,.35); } 50% { box-shadow:0 22px 58px rgba(18,201,91,.58),0 8px 22px rgba(5,77,36,.25),inset 0 1px rgba(255,255,255,.42); } }
@keyframes whatsappBlink { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.55; transform:scale(.72); } }

@media (max-width: 1180px) {
  .topbar { grid-template-columns: 256px 1fr auto; gap: 14px; }
  .brand img { width: 246px; height: 78px; }
  .nav { gap: 13px; }
  .nav a { font-size: 12px; }
  .hero { grid-template-columns: .9fr 1.1fr; gap: 27px; }
  .hero h1 { font-size: 66px; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-action { grid-column: 1/-1; }
}

@media (max-width: 960px) {
  :root { --page: min(860px,calc(100% - 40px)); }
  .cursor-glow { display: none; }
  .topbar { width: calc(100% - 32px); grid-template-columns: 1fr auto auto; }
  .menu-toggle { display: block; }
  .nav {
    position: absolute;
    left: 0;
    right: 0;
    top: 72px;
    max-height: 0;
    padding: 0 18px;
    display: grid;
    gap: 2px;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 15px;
    background: rgba(255,255,255,.98);
    opacity: 0;
    visibility: hidden;
    transition: max-height .3s,padding .3s,opacity .2s,visibility .2s,border-color .2s;
  }
  .nav.is-open { max-height: 470px; padding: 17px 18px; opacity: 1; visibility: visible; border-color: #dfe4ec; box-shadow: 0 20px 50px rgba(12,30,62,.14); }
  .nav a { padding: 12px 10px; font-size: 14px; }
  .nav a::after { display: none; }
  .hero { height: auto; min-height: 0; padding: 145px 28px 100px; grid-template-columns: 1fr; gap: 65px; }
  .brand img { width: 255px; height: 80px; }
  .hero h1 { max-width: 760px; font-size: clamp(50px,8vw,70px); }
  .hero-media { max-width: 800px; }
  .section { padding: 76px max(28px,calc((100vw - 820px)/2)); }
  .seven-days,.search-impact,.showcase,.manifesto,.faq { grid-template-columns: 1fr; }
  .seven-days-copy { max-width: 780px; }
  .seven-days-media { max-width: 900px; }
  .search-media { height: 650px; }
  .formats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .deliverables-grid { grid-template-columns: repeat(2,1fr); }
  .manifesto-card,.segments { min-height: 540px; }
  .faq-copy { position: static; }
}

@media (max-width: 640px) {
  .topbar { min-height: 66px; }
  .brand img { width: 210px; height: 67px; }
  .header-cta { display: none; }
  .hero { padding: 120px 18px 82px; }
  .hero h1 { font-size: clamp(43px,12.5vw,56px); }
  .hero-lead { font-size: 15px; }
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .hero-media { padding: 0; }
  .video-card { border-radius: 16px; transform: none; }
  .ticker { margin-top: 0; }
  .section { padding: 62px 18px; }
  .section h2,.search-copy h2,.showcase h2,.faq h2 { font-size: 37px; }
  .section-intro { margin-bottom: 38px; }
  .seven-days { gap: 52px; }
  .seven-days-frame { border-radius: 18px; transform: none; box-shadow: 0 26px 70px rgba(15,40,84,.2),0 0 0 5px #f2f5fa; }
  .seven-days-tag { left: 12px; bottom: 12px; padding: 9px 10px; font-size: 7px; }
  .seven-days-badge { width: 72px; height: 72px; right: 12px; top: 12px; }
  .seven-days-badge strong { font-size: 32px; }
  .formats-head { margin-bottom: 34px; }
  .formats-head p { font-size: 15px; }
  .formats-grid { grid-template-columns: 1fr; gap: 16px; }
  .format-media { aspect-ratio: 16/10; }
  .format-copy { min-height: 0; padding: 20px; }
  .format-copy h3 { font-size: 22px; }
  .format-icon { left: 14px; top: 14px; width: 44px; height: 44px; }
  .deliverables-head { margin-bottom: 42px; }
  .deliverables-head > p { font-size: 15px; }
  .deliverables-grid { grid-template-columns: 1fr; }
  .deliverable-card { min-height: 0; padding: 22px 18px; grid-template-columns: 48px 1fr; gap: 15px; }
  .deliverable-icon { width: 44px; height: 44px; }
  .search-media { height: 535px; }
  .showcase-art img { width: 100%; margin: 0 auto; }
  .faq-question { min-height: 70px; padding: 16px 15px 16px 18px; gap: 15px; font-size: 14px; }
  .faq-toggle { width: 34px; height: 34px; }
  .faq-answer-inner { padding: 0 54px 20px 18px; }
  .manifesto-card,.segments { min-height: auto; padding: 37px 25px; }
  .manifesto h2 { font-size: 39px; }
  .manifesto-bottom { margin-top: 80px; grid-template-columns: 1fr; }
  .segments h3 { margin-top: 45px; }
  .footer { padding: 65px 22px 24px; }
  .footer-top { grid-template-columns: 1fr; gap: 34px; }
  .footer-action { grid-column: auto; }
  .footer-bottom { flex-direction: column; gap: 8px; }
  .whatsapp-float { right: 15px; bottom: 15px; width: 66px; min-width: 66px; height: 66px; min-height: 66px; padding: 0; justify-content: center; }
  .whatsapp-float span { 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; }
  .reveal { opacity: 1; transform: none; }
  .cursor-glow { display: none; }
}
