@font-face {
  font-family: Montserrat;
  src: url('/patrocinadores/assets/fonts/Montserrat-latin.woff') format('woff');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --black: #050505;
  --panel: #161616;
  --white: #fff;
  --soft: #f1f1f1;
  --muted: #bdbdbd;
  --line: #3b3b3b;
  --pad: clamp(22px, 5.2vw, 96px);
  --radius: 17px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 102px; }
body { margin: 0; background: var(--black); color: var(--white); font-family: Montserrat, Arial, Helvetica, sans-serif; -webkit-font-smoothing: antialiased; overflow-x: clip; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, summary { cursor: pointer; }
button, a, summary { -webkit-tap-highlight-color: transparent; }
button:disabled { cursor: default; }
img, video { display: block; max-width: 100%; }
figure, h1, h2, h3, h4, p, blockquote, ul { margin: 0; }
p { line-height: 1.7; }
h1, h2, h3 { text-transform: uppercase; font-weight: 850; line-height: 1.04; letter-spacing: -.04em; overflow-wrap: break-word; }
h2 { font-size: clamp(35px, 4.15vw, 66px); text-wrap: balance; }
h3 { font-size: 25px; }
::selection { background: #bfbfbf; color: #000; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.section-pad { padding-left: var(--pad); padding-right: var(--pad); }
.kicker, .tag { font-size: 10px; font-weight: 700; line-height: 1.5; text-transform: uppercase; letter-spacing: .13em; }
.kicker { color: var(--muted); }
.skip-link { position: fixed; left: 16px; top: 10px; z-index: 200; padding: 14px 18px; color: #000; background: #fff; transform: translateY(-180%); font-size: 12px; }
.skip-link:focus { transform: none; }

.site-header { position: sticky; top: 0; z-index: 70; min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 26px; padding: 13px var(--pad); background: #050505f7; border-bottom: 1px solid #303030; }
.brand { display: flex; align-items: center; gap: 11px; flex-shrink: 0; }
.brand img { width: 42px; height: 51px; object-fit: contain; }
.brand .year, .brand > span { font-size: 23px; line-height: 1; font-weight: 750; letter-spacing: -.055em; }
.desktop-nav { display: flex; gap: clamp(20px, 2.3vw, 38px); align-items: center; }
.desktop-nav a { font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 16px 0; color: #d6d6d6; }
.desktop-nav a:hover { color: #fff; }
.button { min-height: 56px; display: inline-flex; align-items: center; justify-content: center; gap: 22px; padding: 17px 26px; border: 1px solid #fff; border-radius: 999px; background: #fff; color: #000; font-size: 11px; font-weight: 800; letter-spacing: .025em; line-height: 1.4; text-transform: uppercase; text-align: center; transition: background .18s, color .18s, border-color .18s; }
.button:hover { background: #d9d9d9; border-color: #d9d9d9; }
.button > span { font-size: 19px; line-height: 1; }
.button.outline, .button--outline { color: #fff; background: transparent; border-color: #777; }
.button.outline:hover, .button--outline:hover { color: #000; background: #fff; border-color: #fff; }
.header-cta { min-height: 45px; padding: 12px 21px; font-size: 9px; flex-shrink: 0; }
.mobile-menu { display: none; }

.hero { position: relative; isolation: isolate; overflow: hidden; background: #000; }
.hero-photo { position: absolute; z-index: -2; inset: 0; }
.hero-photo img { height: 100%; width: 100%; object-fit: cover; object-position: 48% 52%; }
.hero-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #000e 0%, #000b 30%, #0007 56%, #000c 100%), linear-gradient(0deg, #000 0%, transparent 32%); }
.hero-photo figcaption { position: absolute; right: var(--pad); bottom: 22px; z-index: 1; color: #c5c5c5; font-size: 8px; line-height: 1.5; text-transform: uppercase; letter-spacing: .08em; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(330px, .9fr); gap: clamp(38px, 6vw, 100px); align-items: center; padding-top: 58px; padding-bottom: 60px; max-width: 1536px; margin: auto; }
.hero-copy, .lead-panel { min-width: 0; }
.hero-copy > .kicker { margin-bottom: 22px; color: #ddd; }
.event-signature { display: flex; align-items: center; gap: 19px; margin-bottom: 25px; }
.event-signature img { height: 76px; width: 63px; object-fit: contain; }
.event-signature .year { font-weight: 750; font-size: 34px; letter-spacing: -.065em; }
.hero h1 { max-width: 770px; font-size: clamp(44px, 5.05vw, 78px); font-weight: 900; line-height: .98; letter-spacing: -.05em; margin-bottom: 25px; text-wrap: balance; }
.hero-description { max-width: 640px; font-size: clamp(14px, 1.32vw, 19px); line-height: 1.65; color: #e0e0e0; }
.event-dates { display: flex; flex-wrap: wrap; gap: 20px 27px; margin-top: 25px; padding: 22px 0; border-top: 1px solid #6a6a6a; border-bottom: 1px solid #6a6a6a; max-width: 660px; }
.event-dates > div { display: flex; flex-direction: column; gap: 8px; }
.event-dates span { display: block; font-size: 8px; letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; color: #c3c3c3; }
.event-dates strong { display: block; font-size: 12px; font-weight: 700; line-height: 1.5; text-transform: uppercase; }
.hero-note { max-width: 590px; color: #b8b8b8; font-size: 10px; line-height: 1.65; margin-top: 16px; }
.hero-download { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; margin-top: 12px; padding: 8px 0; border-bottom: 1px solid #939393; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; }
.hero-download:hover { opacity: .7; }
.lead-panel { position: relative; background: #151515f2; border: 1px solid #555; border-radius: 20px; padding: clamp(25px, 2.5vw, 39px); box-shadow: 0 15px 70px #0004; }
.lead-panel > .kicker { font-size: 8px; color: #b8b8b8; margin-bottom: 13px; }
.lead-panel h2 { font-size: clamp(24px, 2.45vw, 36px); font-weight: 850; letter-spacing: -.035em; line-height: 1.12; margin-bottom: 15px; }
.lead-panel > p:not(.kicker):not(.direct-line):not(.brief-note) { font-size: 12px; line-height: 1.75; color: #c4c4c4; }
.lead-panel > .brief-note { font-size: 9px; line-height: 1.7; color: #aaa; margin-top: 13px; }
.brief-fields { margin: 25px 0 23px; display: grid; gap: 8px; }
.brief-fields label { display: block; font-size: 10px; color: #e6e6e6; line-height: 1.5; font-weight: 600; }
.brief-fields label:not(:first-child) { margin-top: 10px; }
.brief-fields label > span { display: inline; font-weight: 400; color: #aaa; }
.brief-fields input, .brief-fields select, .brief-fields textarea { display: block; min-width: 0; width: 100%; min-height: 51px; margin-top: 0; padding: 13px 14px; border: 1px solid #777; border-radius: 8px; color: #fff; background: #1a1a1a; font-size: 12px; line-height: 1.5; color-scheme: dark; }
.brief-fields input::placeholder, .brief-fields textarea::placeholder { color: #aaa; opacity: 1; }
.brief-fields select { padding-right: 30px; }
.lead-panel .button { width: 100%; font-size: 11px; min-height: 57px; }
.direct-line { margin-top: 19px; color: #bcbcbc; font-size: 10px; line-height: 1.8; text-align: center; }
.direct-line a { display: inline-flex; align-items: center; min-height: 30px; text-decoration: underline; text-underline-offset: 4px; color: #eee; }
.direct-line a:hover { color: #aaa; }

.numbers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 25px; padding-top: 42px; padding-bottom: 35px; background: #000; border-top: 1px solid #333; border-bottom: 1px solid #333; }
.metric { min-width: 0; padding-left: 26px; border-left: 1px solid #414141; }
.metric:first-child { padding-left: 0; border: 0; }
.metric strong { display: block; margin-bottom: 15px; font-size: clamp(42px, 5vw, 76px); font-weight: 850; line-height: 1; letter-spacing: -.055em; white-space: nowrap; }
.metric span { display: block; font-size: 10px; font-weight: 600; line-height: 1.6; letter-spacing: .02em; text-transform: uppercase; max-width: 250px; }
.data-note { display: block; grid-column: 1 / -1; margin-top: 2px; color: #9c9c9c; font-size: 8px; line-height: 1.65; }

.section-heading { max-width: 910px; margin: 0 auto 42px; }
.section-heading.center { text-align: center; }
.section-heading > .kicker { margin-bottom: 16px; }
.section-heading h2 { margin-bottom: 21px; }
.section-heading > p:not(.kicker) { max-width: 750px; font-size: 14px; color: #bdbdbd; line-height: 1.8; }
.section-heading.center > p { margin-left: auto; margin-right: auto; }
.rail-section { padding-top: 82px; padding-bottom: 65px; background: #050505; }
.rail-section > .section-heading, .voices > .section-heading { width: calc(100% - 2 * var(--pad)); }
.rail-section > .section-heading.section-pad, .voices > .section-heading.section-pad { padding-inline: 0; }
.rail, .benefit-rail, .activation-rail, .voice-rail { display: flex; align-items: stretch; gap: 22px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--pad); padding: 0 var(--pad) 16px; scrollbar-width: thin; scrollbar-color: #686868 #141414; }
.rail::-webkit-scrollbar, .benefit-rail::-webkit-scrollbar, .activation-rail::-webkit-scrollbar, .voice-rail::-webkit-scrollbar { height: 4px; }
.rail::-webkit-scrollbar-track, .benefit-rail::-webkit-scrollbar-track, .activation-rail::-webkit-scrollbar-track, .voice-rail::-webkit-scrollbar-track { background: #161616; }
.rail::-webkit-scrollbar-thumb, .benefit-rail::-webkit-scrollbar-thumb, .activation-rail::-webkit-scrollbar-thumb, .voice-rail::-webkit-scrollbar-thumb { background: #686868; }
.section-pad > .rail, .section-pad > .benefit-rail, .section-pad > .activation-rail, .section-pad > .voice-rail { padding-inline: 0; scroll-padding-inline: 0; }
.rail-controls { display: flex; align-items: center; gap: 14px; padding: 0 var(--pad); margin-top: 18px; }
.rail-controls > div { display: flex; gap: 10px; }
.rail-controls > span { display: flex; align-items: center; gap: 20px; margin-left: auto; font-size: 10px; line-height: 1.5; color: #aaa; }
.rail-controls > span > span { font-size: 20px; }
.section-pad > .rail-controls { padding-inline: 0; }
.rail-controls button { height: 45px; width: 45px; display: inline-grid; place-items: center; flex-shrink: 0; border: 1px solid #6b6b6b; border-radius: 50%; background: #171717; color: #fff; font-size: 23px; line-height: 1; }
.rail-controls button:hover:not(:disabled) { background: #fff; color: #000; }
.rail-controls button:disabled { opacity: .3; }
.rail-controls p, .rail-status { font-size: 9px; color: #aaa; line-height: 1.5; letter-spacing: .04em; text-transform: uppercase; }
.benefit-card { position: relative; isolation: isolate; overflow: hidden; flex: 0 0 clamp(270px, 28vw, 420px); min-width: 0; height: 540px; border-radius: var(--radius); background: #242424; scroll-snap-align: start; }
.benefit-card > img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.benefit-card::after { content: ''; position: absolute; inset: 25% 0 0; background: linear-gradient(0deg, #000 2%, #000e 31%, #0007 66%, transparent); z-index: 0; }
.photo-copy { position: absolute; z-index: 1; left: 26px; right: 26px; bottom: 28px; }
.photo-copy .tag { color: #ccc; font-size: 8px; }
.photo-copy h3 { margin: 12px 0 16px; font-size: clamp(25px, 2.2vw, 34px); line-height: 1.07; font-weight: 850; letter-spacing: -.035em; }
.photo-copy p { font-size: 12px; line-height: 1.65; color: #dedede; }
.photo-copy small { display: block; margin-top: 17px; font-size: 8px; line-height: 1.5; color: #aaa; }

.conversion-banner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 7vw; align-items: center; padding-top: 68px; padding-bottom: 80px; background: #000; }
.conversion-banner figure { position: relative; min-width: 0; overflow: hidden; border-radius: 18px; }
.conversion-banner figure img { width: 100%; height: 420px; object-fit: cover; object-position: 50% 45%; }
.conversion-banner figcaption { position: absolute; left: 18px; right: 18px; bottom: 16px; width: fit-content; max-width: calc(100% - 36px); padding: 8px 10px; color: #ddd; background: #000b; font-size: 8px; line-height: 1.6; }
.conversion-banner > div { min-width: 0; }
.conversion-banner h2 { margin: 17px 0 22px; font-size: clamp(33px, 3.9vw, 59px); }
.conversion-banner p:not(.kicker) { font-size: 13px; line-height: 1.8; color: #c3c3c3; max-width: 540px; }
.conversion-banner .button { margin-top: 26px; min-width: 230px; }

.brands { padding-top: 80px; padding-bottom: 65px; background: #fff; color: #050505; }
.brands .kicker { color: #656565; }
.brands .section-heading > p:not(.kicker) { color: #666; }
.partners-wall { margin-top: 43px; }
.partners-tier { display: grid; align-items: start; justify-items: stretch; }
.partners-tier--principal { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 65px; padding: 20px 7% 34px; border-bottom: 1px solid #ddd; }
.partners-tier--featured { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 26px; padding: 33px 0; border-bottom: 1px solid #ddd; }
.partners-tier--other { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 27px 25px; padding: 32px 0 12px; }
.partner-logo { min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.partner-logo > div { display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; height: 52px; }
.partner-logo img { width: 100%; height: 100%; object-fit: contain; filter: grayscale(1); mix-blend-mode: multiply; }
.partner-logo figcaption { font-size: 8px; line-height: 1.4; color: #666; text-align: center; }
.partners-tier--principal .partner-logo > div { height: 72px; }
.partners-tier--featured .partner-logo > div { height: 47px; }
.partners-tier--other .partner-logo > div { height: 42px; }
.partner-logo--inverse > div, .partner-logo--ffx > div { background: #101010; padding: 8px 12px; }
.partner-logo--inverse img, .partner-logo--ffx img { filter: none; mix-blend-mode: normal; }
.partner-logo--ffx { grid-column: span 2; }
.partners-note, .brands-note { border-top: 1px solid #ddd; margin-top: 22px; padding-top: 21px; font-size: 10px; color: #666; line-height: 1.7; }

.activation-card { flex: 0 0 clamp(290px, 31vw, 460px); min-width: 0; overflow: hidden; background: #161616; border-radius: var(--radius); scroll-snap-align: start; }
.activation-card > img { width: 100%; height: 460px; object-fit: cover; object-position: 50% 43%; }
.activation-card > div { padding: 25px 26px 29px; }
.activation-card .tag { font-size: 8px; color: #a9a9a9; display: block; }
.activation-card h3 { font-size: 25px; line-height: 1.1; margin: 12px 0 15px; }
.activation-card p { font-size: 12px; line-height: 1.75; color: #c8c8c8; }
.activation-card small { display: block; margin-top: 19px; font-size: 8px; line-height: 1.6; color: #999; }
.rail-follow { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-top: 30px; padding-top: 28px; }
.rail-follow p { max-width: 650px; font-size: 12px; line-height: 1.8; color: #aaa; }
.rail-follow .button { flex-shrink: 0; }
.voices { padding-top: 78px; padding-bottom: 62px; border-top: 1px solid #333; background: #0a0a0a; }
.voice-card { flex: 0 0 clamp(190px, 19.5vw, 280px); min-width: 0; scroll-snap-align: start; }
.voice-card > img { width: 100%; height: 265px; object-fit: cover; object-position: 50% 25%; border-radius: 14px; background: #222; }
.voice-card h3 { font-size: 14px; font-weight: 750; line-height: 1.35; margin: 17px 0 7px; letter-spacing: -.015em; }
.voice-card p { font-size: 11px; line-height: 1.6; color: #bdbdbd; }
.voices-note { margin: 26px var(--pad) 0; color: #999; font-size: 9px; line-height: 1.7; }

.audience { padding-top: 80px; padding-bottom: 75px; background: #fff; color: #050505; }
.audience-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 9vw; align-items: start; }
.audience-grid > div { min-width: 0; }
.audience .section-heading { margin: 0; }
.audience .section-heading h2 { font-size: clamp(33px, 3.65vw, 56px); }
.audience .section-heading .kicker, .audience .section-heading > p:not(.kicker) { color: #666; }
.profile-list { display: grid; gap: 26px; }
.profile-row { display: grid; grid-template-columns: 85px minmax(0, 1fr); gap: 8px 20px; align-items: center; min-width: 0; }
.profile-row strong { grid-row: 1 / 3; font-size: 43px; font-weight: 850; letter-spacing: -.06em; line-height: 1; }
.profile-row > span, .profile-label { font-size: 11px; font-weight: 650; line-height: 1.6; text-transform: uppercase; }
.profile-bar, .profile-bar--share { position: relative; display: block; grid-column: 2; width: 100%; height: 4px; overflow: hidden; background: #e4e4e4; }
.profile-bar::after, .profile-bar--share::after { content: ''; display: block; width: var(--share, 0%); height: 100%; background: #070707; }
.audience .data-note { color: #777; margin-top: 26px; }
.profile-list > small { display: block; font-size: 8px; line-height: 1.7; color: #777; }
.quote { max-width: 1100px; margin: 47px auto 0; padding: 34px 38px; background: #151515; color: #fff; border-radius: 17px; }
.quote blockquote { font-size: clamp(21px, 2.15vw, 32px); font-weight: 650; line-height: 1.4; letter-spacing: -.025em; text-wrap: balance; }
.quote cite { display: block; margin-top: 21px; color: #bcbcbc; font-style: normal; font-size: 9px; font-weight: 650; line-height: 1.6; letter-spacing: .06em; text-transform: uppercase; text-align: right; }

.formats { padding-top: 80px; padding-bottom: 70px; background: #f1f1f1; color: #050505; border-top: 1px solid #ddd; }
.formats .kicker, .formats .section-heading > p:not(.kicker) { color: #666; }
.format-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.format-grid article { min-width: 0; display: flex; flex-direction: column; padding: 30px; background: #fff; border: 1px solid #d4d4d4; border-radius: var(--radius); }
.format-grid .number { font-size: 11px; line-height: 1.5; color: #777; letter-spacing: .09em; font-weight: 600; margin-bottom: 22px; }
.format-grid h3 { max-width: 350px; font-size: 25px; line-height: 1.12; margin-bottom: 20px; }
.format-grid article > p:not(.number) { font-size: 12px; line-height: 1.75; color: #555; }
.format-grid ul { padding: 0; margin-top: 25px; margin-bottom: 25px; list-style: none; flex: 1; }
.format-grid li { border-top: 1px solid #e0e0e0; padding: 12px 0; font-size: 11px; line-height: 1.7; color: #555; }
.format-grid article > a { display: inline-flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 44px; align-self: flex-start; font-size: 10px; font-weight: 750; line-height: 1.5; text-transform: uppercase; border-bottom: 1px solid #000; }
.format-grid article > a:hover { opacity: .6; }
.formats-note, .format-note { font-size: 10px; line-height: 1.75; color: #6b6b6b; margin-top: 27px; text-align: center; }

.questions { padding-top: 80px; padding-bottom: 75px; background: #050505; }
.faq-list { max-width: 930px; margin: 0 auto; }
.faq-list details { padding: 23px 0; border-top: 1px solid #454545; }
.faq-list details:last-child { border-bottom: 1px solid #454545; }
.faq-list summary { position: relative; padding-right: 40px; font-size: 16px; font-weight: 650; line-height: 1.5; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { position: absolute; top: -3px; right: 4px; content: '+'; color: #c8c8c8; font-weight: 400; font-size: 25px; }
.faq-list details[open] summary::after { content: '−'; }
.faq-list p { max-width: 810px; margin-top: 17px; padding-right: 30px; color: #bcbcbc; font-size: 13px; line-height: 1.8; }

.final-cta { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: 8vw; align-items: center; padding-top: 80px; padding-bottom: 80px; border-top: 1px solid #333; background: #0c0c0c; }
.final-cta > div { min-width: 0; }
.final-cta h2 { font-size: clamp(37px, 4.4vw, 68px); margin: 17px 0 23px; max-width: 800px; }
.final-cta p:not(.kicker) { font-size: 13px; line-height: 1.8; color: #c4c4c4; max-width: 680px; }
.final-cta .final-dates { margin-top: 25px; font-size: 10px; font-weight: 600; line-height: 1.9; letter-spacing: .03em; }
.cta-buttons { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 29px; }
.contact-details { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-top: 25px; font-size: 12px; line-height: 1.6; }
.contact-details a { display: inline-flex; align-items: center; min-height: 34px; overflow-wrap: anywhere; }
.contact-details a:hover { text-decoration: underline; text-underline-offset: 4px; }
.final-cta > figure { min-width: 0; width: 100%; max-width: 300px; justify-self: end; }
.final-cta video { width: 100%; height: 460px; object-fit: contain; border-radius: 16px; background: #151515; }
.final-cta figcaption { font-size: 8px; line-height: 1.7; color: #999; margin-top: 12px; }
footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 25px; padding: 33px var(--pad) 28px; border-top: 1px solid #333; background: #000; color: #aaa; }
footer p { font-size: 10px; line-height: 1.8; }
footer nav, .footer-links { display: flex; gap: 24px; flex-wrap: wrap; }
footer nav a, .footer-links a { font-size: 9px; font-weight: 650; text-transform: uppercase; line-height: 1.6; }
footer > a:not(.brand) { font-size: 9px; font-weight: 650; line-height: 1.6; text-transform: uppercase; }
footer a:hover { color: #fff; }
footer > small { flex-basis: 100%; border-top: 1px solid #303030; padding-top: 20px; font-size: 8px; line-height: 1.8; }
.sticky-contact { display: none; }

@media (min-width: 1600px) {
  .hero-grid { padding-top: 80px; padding-bottom: 80px; }
  .benefit-card { height: 600px; }
  .activation-card > img { height: 500px; }
}

@media (max-width: 1100px) {
  .site-header { gap: 20px; }
  .desktop-nav { gap: 19px; }
  .desktop-nav a { font-size: 8px; }
  .header-cta { font-size: 8px; padding: 12px 17px; }
  .hero-grid { grid-template-columns: minmax(0, 1.3fr) minmax(310px, .95fr); gap: 35px; padding-top: 48px; padding-bottom: 45px; }
  .hero h1 { font-size: 5.4vw; }
  .hero-description { font-size: 14px; }
  .event-dates { gap: 17px 23px; }
  .event-dates strong { font-size: 10px; }
  .lead-panel { padding: 25px; }
  .lead-panel h2 { font-size: 27px; }
  .numbers { gap: 22px; }
  .metric { padding-left: 21px; }
  .metric strong { font-size: 53px; }
  .metric span { font-size: 9px; }
  .partners-tier--featured { gap: 22px; }
  .partners-tier--other { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 27px; }
  .conversion-banner { gap: 5vw; }
  .conversion-banner figure img { height: 390px; }
  .conversion-banner h2 { font-size: 41px; }
  .format-grid { gap: 18px; }
  .format-grid article { padding: 25px; }
  .format-grid h3 { font-size: 22px; }
  .final-cta { gap: 5vw; }
  .final-cta h2 { font-size: 48px; }
}

@media (max-width: 900px) {
  html { scroll-padding-top: 91px; }
  .desktop-nav { display: none; }
  .site-header { min-height: 76px; }
  .brand img { width: 39px; height: 47px; }
  .brand .year { font-size: 22px; }
  .header-cta { margin-left: auto; }
  .mobile-menu { display: block; }
  .mobile-menu summary { display: flex; align-items: center; gap: 13px; min-height: 44px; font-size: 10px; font-weight: 700; letter-spacing: .06em; list-style: none; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu nav { position: absolute; left: 0; right: 0; top: 100%; display: flex; flex-direction: column; padding: 12px var(--pad) 25px; background: #050505; border-bottom: 1px solid #555; }
  .mobile-menu nav a { display: block; padding: 17px 0; border-bottom: 1px solid #333; font-size: 11px; font-weight: 650; line-height: 1.4; text-transform: uppercase; }
  .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .88fr); gap: 30px; align-items: start; }
  .hero h1 { font-size: 5.6vw; }
  .event-signature img { height: 63px; width: 52px; }
  .event-signature .year { font-size: 29px; }
  .lead-panel { padding: 23px; }
  .lead-panel h2 { font-size: 24px; }
  .lead-panel > p:not(.kicker):not(.direct-line):not(.brief-note) { font-size: 11px; }
  .brief-fields label { font-size: 9px; }
  .brief-fields input, .brief-fields select { font-size: 11px; }
  .lead-panel .button { padding: 15px; font-size: 10px; }
  .direct-line { font-size: 9px; }
  .metric strong { font-size: 45px; }
  .metric { padding-left: 17px; }
  .rail-section, .voices { padding-top: 65px; }
  .benefit-card { flex-basis: 40vw; height: 530px; }
  .photo-copy { left: 23px; right: 23px; }
  .photo-copy h3 { font-size: 28px; }
  .conversion-banner { padding-top: 50px; padding-bottom: 65px; }
  .conversion-banner figure img { height: 350px; }
  .conversion-banner h2 { font-size: 36px; }
  .brands, .audience, .formats, .questions { padding-top: 65px; padding-bottom: 60px; }
  .partners-tier--principal { gap: 40px; padding-inline: 3%; }
  .partners-tier--featured { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 35px; }
  .partners-tier--other { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 27px; }
  .activation-card { flex-basis: 43vw; }
  .activation-card > img { height: 400px; }
  .activation-card > div { padding: 23px; }
  .activation-card h3 { font-size: 23px; }
  .voice-card { flex-basis: 29vw; }
  .voice-card > img { height: 245px; }
  .audience-grid { gap: 6vw; }
  .profile-row { grid-template-columns: 70px minmax(0, 1fr); gap: 8px 17px; }
  .profile-row strong { font-size: 39px; }
  .profile-row > span { font-size: 10px; }
  .format-grid { grid-template-columns: 1fr; gap: 20px; }
  .format-grid article { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); column-gap: 30px; padding: 28px; }
  .format-grid .number { grid-column: 1; margin-bottom: 16px; }
  .format-grid h3 { grid-column: 1; max-width: 300px; font-size: 25px; }
  .format-grid article > p:not(.number) { grid-column: 2; grid-row: 1 / 3; }
  .format-grid ul { grid-column: 2; grid-row: 3 / 5; margin: 0; }
  .format-grid article > a { grid-column: 1; align-self: end; justify-self: start; }
  .final-cta { padding-top: 65px; padding-bottom: 65px; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
  .final-cta h2 { font-size: 42px; }
  .final-cta video { height: 430px; }
  .cta-buttons { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 650px) {
  html { scroll-padding-top: 88px; }
  .site-header { min-height: 74px; padding-top: 11px; padding-bottom: 11px; }
  .brand img { width: 35px; height: 43px; }
  .brand .year { font-size: 21px; }
  .header-cta { display: none; }
  .mobile-menu { margin-left: auto; }
  .hero-grid { grid-template-columns: 1fr; gap: 35px; padding-top: 31px; padding-bottom: 34px; }
  .hero-photo { bottom: auto; height: 690px; }
  .hero-photo img { object-position: 66% 50%; }
  .hero-photo::after { background: linear-gradient(90deg, #000d, #0008), linear-gradient(0deg, #000 0%, #000b 20%, transparent 70%); }
  .hero-photo figcaption { top: 15px; bottom: auto; font-size: 6px; right: var(--pad); opacity: .75; }
  .hero-copy > .kicker { font-size: 8px; margin-bottom: 18px; }
  .event-signature { gap: 15px; margin-bottom: 22px; }
  .event-signature img { width: 45px; height: 55px; }
  .event-signature .year { font-size: 25px; }
  .hero h1 { font-size: clamp(39px, 11.2vw, 65px); line-height: 1; letter-spacing: -.05em; margin-bottom: 23px; max-width: 550px; }
  .hero-description { font-size: 13px; line-height: 1.75; max-width: 500px; }
  .event-dates { gap: 18px 26px; margin-top: 22px; padding: 19px 0; }
  .event-dates strong { font-size: 10px; }
  .event-dates span { font-size: 7px; }
  .hero-note { font-size: 9px; margin-top: 14px; }
  .hero-download { font-size: 9px; margin-top: 9px; }
  .lead-panel { padding: 26px 24px; border-radius: 16px; }
  .lead-panel h2 { font-size: 27px; margin-bottom: 14px; }
  .lead-panel > .kicker { font-size: 8px; }
  .lead-panel > p:not(.kicker):not(.direct-line):not(.brief-note) { font-size: 12px; }
  .brief-fields { margin-top: 23px; gap: 8px; }
  .brief-fields label { font-size: 10px; }
  .brief-fields input, .brief-fields select { min-height: 52px; font-size: 12px; }
  .lead-panel .button { min-height: 56px; font-size: 10px; }
  .direct-line { font-size: 10px; }
  .numbers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 18px; padding-top: 33px; padding-bottom: 30px; }
  .metric { padding-left: 0; border-left: 0; }
  .metric:nth-child(even) { padding-left: 19px; border-left: 1px solid #414141; }
  .metric strong { font-size: clamp(42px, 11vw, 58px); margin-bottom: 13px; }
  .metric span { font-size: 8px; line-height: 1.7; }
  .data-note { font-size: 7px; margin-top: -4px; }
  h2 { font-size: clamp(31px, 8.5vw, 45px); line-height: 1.08; }
  .section-heading { margin-bottom: 31px; }
  .section-heading h2 { margin-bottom: 19px; }
  .section-heading > .kicker { font-size: 8px; margin-bottom: 13px; }
  .section-heading > p:not(.kicker) { font-size: 12px; line-height: 1.8; }
  .rail-section, .voices { padding-top: 49px; padding-bottom: 41px; }
  .rail, .benefit-rail, .activation-rail, .voice-rail { gap: 16px; padding-bottom: 12px; }
  .benefit-card { flex-basis: 82vw; max-width: 420px; height: 505px; border-radius: 14px; }
  .photo-copy { left: 25px; right: 25px; bottom: 27px; }
  .photo-copy h3 { font-size: 29px; margin: 12px 0 15px; }
  .photo-copy p { font-size: 12px; }
  .photo-copy .tag { font-size: 8px; }
  .rail-controls { margin-top: 18px; gap: 12px; }
  .rail-controls > span { display: none; }
  .rail-controls button { width: 44px; height: 44px; }
  .rail-controls p, .rail-status { font-size: 8px; }
  .conversion-banner { grid-template-columns: 1fr; gap: 30px; padding-top: 35px; padding-bottom: 49px; }
  .conversion-banner figure { border-radius: 14px; }
  .conversion-banner figure img { height: 300px; }
  .conversion-banner h2 { font-size: 36px; margin-top: 15px; margin-bottom: 20px; }
  .conversion-banner p:not(.kicker) { font-size: 12px; }
  .conversion-banner .button { margin-top: 23px; min-width: 0; width: 100%; max-width: 380px; }
  .brands { padding-top: 49px; padding-bottom: 42px; }
  .partners-wall { margin-top: 30px; }
  .partners-tier--principal { gap: 20px; padding: 10px 0 27px; }
  .partners-tier--principal .partner-logo > div { height: 45px; }
  .partners-tier--featured { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 27px 23px; padding-top: 28px; padding-bottom: 28px; }
  .partners-tier--featured .partner-logo > div { height: 43px; }
  .partners-tier--other { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px 22px; padding-top: 28px; }
  .partners-tier--other .partner-logo > div { height: 38px; }
  .partner-logo { gap: 9px; }
  .partner-logo figcaption { font-size: 7px; line-height: 1.4; }
  .partner-logo--inverse > div, .partner-logo--ffx > div { padding: 7px 10px; }
  .partners-note, .brands-note { margin-top: 19px; padding-top: 19px; font-size: 9px; }
  .activation-card { flex-basis: 84vw; max-width: 450px; border-radius: 14px; }
  .activation-card > img { height: 390px; }
  .activation-card > div { padding: 24px; }
  .activation-card h3 { font-size: 26px; margin-top: 12px; }
  .activation-card p { font-size: 12px; }
  .activation-card small { font-size: 7px; }
  .rail-follow { flex-direction: column; align-items: flex-start; gap: 22px; margin-top: 23px; padding-top: 23px; }
  .rail-follow p { font-size: 11px; }
  .rail-follow .button { width: 100%; }
  .voice-card { flex-basis: 58vw; max-width: 290px; }
  .voice-card > img { height: 250px; border-radius: 12px; }
  .voice-card h3 { font-size: 13px; margin-top: 15px; }
  .voice-card p { font-size: 10px; }
  .voices-note { font-size: 8px; margin-top: 23px; }
  .audience { padding-top: 49px; padding-bottom: 46px; }
  .audience-grid { grid-template-columns: 1fr; gap: 32px; }
  .audience .section-heading h2 { font-size: 35px; }
  .profile-list { gap: 24px; }
  .profile-row { grid-template-columns: 75px minmax(0, 1fr); gap: 8px 20px; }
  .profile-row strong { font-size: 42px; }
  .profile-row > span { font-size: 10px; }
  .audience .data-note { font-size: 8px; margin-top: 25px; }
  .quote { margin-top: 34px; padding: 26px 24px; border-radius: 13px; }
  .quote blockquote { font-size: 23px; line-height: 1.35; }
  .quote cite { font-size: 8px; line-height: 1.7; margin-top: 20px; }
  .formats { padding-top: 49px; padding-bottom: 43px; }
  .format-grid { gap: 20px; }
  .format-grid article { display: flex; padding: 26px; border-radius: 14px; }
  .format-grid .number { margin-bottom: 19px; font-size: 10px; }
  .format-grid h3 { font-size: 27px; margin-bottom: 19px; }
  .format-grid article > p:not(.number) { font-size: 12px; }
  .format-grid ul { margin-top: 23px; margin-bottom: 18px; }
  .format-grid li { font-size: 11px; }
  .format-grid article > a { font-size: 10px; align-self: flex-start; }
  .formats-note, .format-note { font-size: 9px; margin-top: 23px; text-align: left; }
  .questions { padding-top: 49px; padding-bottom: 43px; }
  .faq-list details { padding: 20px 0; }
  .faq-list summary { font-size: 14px; line-height: 1.6; padding-right: 30px; }
  .faq-list summary::after { font-size: 24px; top: -1px; right: 1px; }
  .faq-list p { font-size: 12px; padding-right: 15px; line-height: 1.8; margin-top: 15px; }
  .final-cta { grid-template-columns: 1fr; gap: 37px; padding-top: 49px; padding-bottom: 45px; }
  .final-cta h2 { font-size: 37px; margin-top: 16px; margin-bottom: 22px; }
  .final-cta p:not(.kicker) { font-size: 12px; }
  .final-cta .final-dates { font-size: 9px; line-height: 1.9; }
  .cta-buttons { flex-direction: column; align-items: stretch; gap: 13px; margin-top: 24px; }
  .cta-buttons .button { width: 100%; min-height: 55px; font-size: 10px; }
  .contact-details { font-size: 11px; margin-top: 23px; }
  .final-cta > figure { justify-self: center; max-width: 280px; }
  .final-cta video { height: 430px; }
  .final-cta figcaption { font-size: 8px; }
  footer { gap: 25px; padding-top: 29px; padding-bottom: 100px; }
  footer p { font-size: 9px; }
  footer nav, .footer-links { gap: 17px; }
  footer nav a, .footer-links a { font-size: 8px; }
  footer > small { font-size: 7px; padding-top: 19px; }
  .sticky-contact { position: fixed; left: 0; bottom: 0; right: 0; z-index: 60; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px var(--pad) calc(17px + env(safe-area-inset-bottom)); min-height: 59px; background: #fff; color: #000; border-top: 1px solid #aaa; font-size: 10px; font-weight: 800; line-height: 1.4; letter-spacing: .025em; text-transform: uppercase; box-shadow: 0 -5px 25px #0003; }
  .sticky-contact > span { font-size: 20px; }
}

@media (max-width: 360px) {
  .hero h1 { font-size: 34px; }
  .lead-panel { padding: 24px 21px; }
  .lead-panel h2 { font-size: 25px; }
  .metric strong { font-size: 40px; }
  .metric:nth-child(even) { padding-left: 16px; }
  .metric span { font-size: 7.5px; }
  h2 { font-size: 31px; }
  .photo-copy { left: 22px; right: 22px; }
  .photo-copy h3 { font-size: 27px; }
  .benefit-card { height: 505px; }
  .conversion-banner h2 { font-size: 32px; }
  .partners-tier--other { gap: 24px 16px; }
  .voice-card > img { height: 225px; }
  .audience .section-heading h2 { font-size: 31px; }
  .profile-row { grid-template-columns: 66px minmax(0, 1fr); gap: 8px 17px; }
  .profile-row strong { font-size: 38px; }
  .profile-row > span { font-size: 9px; }
  .quote { padding: 24px 21px; }
  .quote blockquote { font-size: 21px; }
  .format-grid article { padding: 24px; }
  .format-grid h3 { font-size: 25px; }
  .final-cta h2 { font-size: 33px; }
}

@media (max-width: 900px) {
  .hero h1 br { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

@media print {
  .site-header, .lead-panel, .rail-controls, .sticky-contact, footer nav, .hero-download { display: none; }
  body { background: #fff; color: #000; }
  .hero, .numbers, .rail-section, .conversion-banner, .voices, .questions, .final-cta, .quote { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .hero-grid { display: block; padding: 35px 0; }
  .hero h1 { font-size: 48px; }
  .hero-copy { max-width: 650px; }
  .section-pad { padding-left: 30px; padding-right: 30px; }
  .rail, .benefit-rail, .activation-rail, .voice-rail { display: grid; grid-template-columns: repeat(2, 1fr); overflow: visible; padding: 0 30px; }
  .benefit-card { height: 470px; }
  .activation-card > img { height: 330px; }
  .voice-card > img { height: 220px; }
  .partners-tier--other { grid-template-columns: repeat(6, 1fr); }
  .benefit-card, .activation-card, .voice-card, .format-grid article, .partner-logo { break-inside: avoid; }
  .final-cta > figure { display: none; }
  .final-cta { display: block; }
  footer { padding-bottom: 25px; }
}

/* V3: audience fit, documented execution and a clearer commercial scope. */
.hero-grid { align-items: center; }
.hero-photo::after { background: linear-gradient(90deg, #000e 0%, #000b 30%, #0006 56%, #000c 100%), linear-gradient(0deg, #000 0%, transparent 35%); }
.lead-panel > .brief-note { font-size: 10px; color: #bdbdbd; }
.brief-fields { margin-top: 21px; margin-bottom: 21px; }
.numbers .data-note { font-size: 10px; color: #b3b3b3; }
.metric small { display: block; margin-top: 8px; color: #b3b3b3; font-size: 10px; line-height: 1.6; }
.metric-context { grid-column: 1 / -1; min-width: 0; padding-top: 17px; border-top: 1px solid #333; color: #bdbdbd; }
.metric-context summary { font-size: 11px; line-height: 1.6; width: fit-content; padding: 5px 0; }
.metric-context p { max-width: 950px; margin-top: 12px; color: #aaa; font-size: 11px; line-height: 1.8; }
.metric-context ul { margin-top: 10px; padding-left: 18px; font-size: 11px; line-height: 1.8; }

.audience-fit { padding-top: 80px; padding-bottom: 75px; background: #fff; color: #050505; }
.audience-fit-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(40px, 8vw, 120px); align-items: start; }
.audience-fit-grid > * { min-width: 0; }
.audience-fit .section-heading { margin: 0; }
.audience-fit .section-heading h2 { font-size: clamp(34px, 3.7vw, 58px); }
.audience-fit .section-heading .kicker, .audience-fit .section-heading > p:not(.kicker) { color: #606060; }
.audience-fit .profile-list { gap: 24px; }
.audience-fit .profile-list > small { font-size: 10px; line-height: 1.8; color: #666; }
.sector-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 55px; padding-top: 34px; border-top: 1px solid #d6d6d6; }
.sector-grid article { min-width: 0; }
.sector-tag { display: block; margin-bottom: 14px; color: #777; font-size: 10px; font-weight: 700; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; }
.sector-grid h3 { max-width: 350px; margin-bottom: 14px; font-size: clamp(21px, 2vw, 28px); line-height: 1.15; letter-spacing: -.035em; }
.sector-grid p { max-width: 410px; color: #5b5b5b; font-size: 13px; line-height: 1.8; }
.audience-context { display: block; max-width: 1100px; margin-top: 25px; color: #6b6b6b; font-size: 10px; line-height: 1.8; }

.case-studies { padding-top: 80px; padding-bottom: 75px; background: #050505; }
.case-studies > .section-heading { max-width: 1020px; }
.case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.case-study { min-width: 0; overflow: hidden; background: #151515; border: 1px solid #333; border-radius: var(--radius); }
.case-study figure { min-width: 0; position: relative; }
.case-study figure img { width: 100%; height: auto; aspect-ratio: 1.45; object-fit: cover; object-position: 50% 38%; }
.case-study figcaption { padding: 11px 25px 0; color: #a9a9a9; font-size: 9px; line-height: 1.65; }
.case-body { padding: 27px 29px 30px; }
.case-body .tag { color: #b6b6b6; font-size: 9px; }
.case-body h3 { margin: 14px 0 18px; font-size: clamp(27px, 2.7vw, 39px); line-height: 1.08; }
.case-application { color: #e1e1e1; font-size: 14px; line-height: 1.8; }
.case-deliverables { display: grid; gap: 20px; margin: 25px 0 0; }
.case-deliverables > div { min-width: 0; padding-top: 19px; border-top: 1px solid #3d3d3d; }
.case-deliverables dt { color: #eee; font-size: 10px; line-height: 1.5; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.case-deliverables dd { margin: 10px 0 0; color: #bdbdbd; font-size: 12px; line-height: 1.8; }
.case-more { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 28px; }
.case-record { display: grid; grid-template-columns: minmax(135px, .68fr) minmax(0, 1fr); gap: 24px; min-width: 0; padding-top: 26px; border-top: 1px solid #414141; }
.case-record figure { min-width: 0; }
.case-record figure img { width: 100%; aspect-ratio: 1; height: auto; object-fit: cover; object-position: 50% 40%; border-radius: 10px; }
.case-record figcaption { margin-top: 10px; color: #999; font-size: 8px; line-height: 1.7; }
.case-record > div { min-width: 0; }
.case-record .tag { color: #b5b5b5; font-size: 8px; }
.case-record h3 { margin: 11px 0 14px; font-size: 22px; line-height: 1.15; }
.case-record p { color: #bdbdbd; font-size: 12px; line-height: 1.8; }
.case-footer { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-top: 35px; padding-top: 29px; border-top: 1px solid #414141; }
.case-footer p, .case-footer > small { max-width: 750px; color: #aaa; font-size: 11px; line-height: 1.8; }
.case-footer .button { flex-shrink: 0; }

.formats .format-grid article { padding: 29px; }
.formats .format-grid h3 { font-size: clamp(23px, 2.05vw, 30px); }
.formats .format-grid article > p:not(.number) { font-size: 13px; }
.format-example { margin: 25px 0 0; padding: 20px 0; border-top: 1px solid #d9d9d9; border-bottom: 1px solid #d9d9d9; }
.format-example > .label { display: block; margin-bottom: 10px; font-size: 9px; font-weight: 750; letter-spacing: .07em; line-height: 1.5; color: #666; text-transform: uppercase; }
.format-example p { color: #333; font-size: 12px; line-height: 1.8; }
.format-measures { margin: 21px 0 26px; flex: 1; }
.format-measures dt { font-size: 9px; font-weight: 750; letter-spacing: .07em; line-height: 1.5; color: #666; text-transform: uppercase; }
.format-measures dd { margin: 10px 0 0; color: #666; font-size: 11px; line-height: 1.8; }
.formats .format-note { max-width: 1000px; margin-left: auto; margin-right: auto; font-size: 11px; }

.proposal-plan { padding-top: 80px; padding-bottom: 75px; background: #fff; color: #050505; }
.proposal-plan .section-heading { max-width: 1000px; }
.proposal-plan .section-heading .kicker, .proposal-plan .section-heading > p:not(.kicker) { color: #606060; }
.edition-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.edition-card { min-width: 0; padding-top: 22px; border-top: 2px solid #171717; }
.edition-card .numlabel, .edition-card > span, .edition-card > .kicker { display: block; margin-bottom: 15px; color: #777; font-size: 10px; font-weight: 700; line-height: 1.5; letter-spacing: .07em; text-transform: uppercase; }
.edition-card h3 { max-width: 350px; font-size: clamp(23px, 2.4vw, 35px); line-height: 1.12; margin-bottom: 16px; }
.edition-card > p:not(.numlabel):not(.kicker) { color: #606060; font-size: 13px; line-height: 1.8; }
.proposal-output { margin-top: 43px; padding: 35px; border-radius: var(--radius); background: #111; color: #fff; }
.proposal-output > h3 { font-size: clamp(25px, 2.5vw, 36px); line-height: 1.14; margin-bottom: 28px; }
.proposal-output-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.proposal-output-grid article { min-width: 0; padding-top: 19px; border-top: 1px solid #555; }
.proposal-output-grid strong { font-size: 13px; font-weight: 750; line-height: 1.6; }
.proposal-output-grid p { margin-top: 10px; color: #bdbdbd; font-size: 12px; line-height: 1.8; }
.proposal-plan > .format-note, .proposal-plan > .proposal-note, .proposal-output > p, .proposal-output > small { display: block; margin-top: 24px; font-size: 11px; line-height: 1.8; }
.proposal-plan > .proposal-note { color: #666; }
.proposal-output > p, .proposal-output > small { color: #aaa; }

@media (max-width: 1100px) {
  .case-record { grid-template-columns: minmax(100px, .7fr) minmax(0, 1fr); gap: 20px; }
  .case-record h3 { font-size: 20px; }
  .formats .format-grid { grid-template-columns: 1fr; }
  .formats .format-grid article { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 0 35px; }
  .formats .format-grid .number { grid-column: 1; grid-row: 1; }
  .formats .format-grid h3 { grid-column: 1; grid-row: 2; font-size: 29px; max-width: 360px; }
  .formats .format-grid article > p:not(.number) { grid-column: 1; grid-row: 3; margin-bottom: 22px; }
  .formats .format-grid ul { grid-column: 2; grid-row: auto; margin-top: 0; }
  .format-example { grid-column: 2; grid-row: 1 / 4; margin: 0 0 22px; padding-top: 0; border-top: 0; }
  .format-measures { grid-column: 2; grid-row: 4 / 6; margin-top: 0; margin-bottom: 0; }
  .formats .format-grid article > a { grid-column: 1; grid-row: 4 / 6; align-self: end; justify-self: start; }
}

@media (max-width: 900px) {
  .hero-grid { align-items: start; }
  .audience-fit, .case-studies, .proposal-plan { padding-top: 65px; padding-bottom: 60px; }
  .audience-fit-grid { gap: 40px; }
  .audience-fit .section-heading h2 { font-size: 35px; }
  .sector-grid { gap: 23px; margin-top: 40px; }
  .sector-grid h3 { font-size: 22px; }
  .sector-grid p { font-size: 12px; }
  .case-grid, .case-more { gap: 22px; }
  .case-study figure img { aspect-ratio: 1.2; }
  .case-study figcaption { padding-inline: 23px; font-size: 8px; }
  .case-body { padding: 24px 23px 27px; }
  .case-body h3 { font-size: 27px; }
  .case-application { font-size: 13px; }
  .case-record { display: block; }
  .case-record figure img { aspect-ratio: 1.6; }
  .case-record > div { margin-top: 19px; }
  .case-record h3 { font-size: 23px; }
  .case-footer { gap: 26px; }
  .case-footer .button { max-width: 250px; }
  .edition-options { gap: 24px; }
  .edition-card h3 { font-size: 26px; }
  .edition-card > p:not(.numlabel):not(.kicker) { font-size: 12px; }
  .proposal-output { padding: 30px; }
  .proposal-output-grid { gap: 23px; }
}

@media (max-width: 650px) {
  .hero-photo::after { background: linear-gradient(90deg, #000d, #0008), linear-gradient(0deg, #000 0%, #000b 20%, transparent 70%); }
  .numbers .data-note, .metric small { font-size: 9px; }
  .metric-context summary { font-size: 11px; }
  .metric-context p, .metric-context ul { font-size: 10px; }
  .audience-fit, .case-studies, .proposal-plan { padding-top: 49px; padding-bottom: 46px; }
  .audience-fit-grid { grid-template-columns: 1fr; gap: 32px; }
  .audience-fit .section-heading h2 { font-size: 35px; }
  .audience-fit .profile-list { gap: 24px; }
  .sector-grid { grid-template-columns: 1fr; gap: 24px; margin-top: 32px; padding-top: 27px; }
  .sector-grid article + article { padding-top: 22px; border-top: 1px solid #ddd; }
  .sector-tag { margin-bottom: 10px; font-size: 9px; }
  .sector-grid h3 { max-width: 420px; font-size: 26px; margin-bottom: 12px; }
  .sector-grid p { max-width: none; font-size: 12px; }
  .audience-context { margin-top: 23px; font-size: 9px; }
  .case-grid { grid-template-columns: 1fr; gap: 25px; }
  .case-study { border-radius: 14px; }
  .case-study figure img { aspect-ratio: 1.35; }
  .case-study figcaption { padding-top: 10px; padding-inline: 24px; }
  .case-body { padding: 23px 24px 26px; }
  .case-body .tag { font-size: 8px; }
  .case-body h3 { font-size: 30px; margin-top: 12px; }
  .case-application { font-size: 13px; }
  .case-deliverables { gap: 18px; margin-top: 23px; }
  .case-deliverables dt { font-size: 9px; }
  .case-deliverables dd { font-size: 12px; }
  .case-more { grid-template-columns: 1fr; gap: 27px; margin-top: 27px; }
  .case-record { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: 19px; padding-top: 24px; }
  .case-record figure img { aspect-ratio: .86; }
  .case-record > div { margin: 0; }
  .case-record h3 { font-size: 20px; margin-top: 10px; margin-bottom: 12px; }
  .case-record .tag { font-size: 7px; }
  .case-record p { font-size: 11px; line-height: 1.8; }
  .case-record figcaption { font-size: 7px; }
  .case-footer { flex-direction: column; align-items: stretch; gap: 23px; margin-top: 29px; padding-top: 25px; }
  .case-footer p, .case-footer > small { font-size: 10px; }
  .case-footer .button { width: 100%; max-width: none; font-size: 10px; }
  .formats .format-grid article { display: flex; padding: 26px; }
  .formats .format-grid h3 { font-size: 28px; }
  .formats .format-grid article > p:not(.number) { margin-bottom: 0; font-size: 12px; }
  .format-example { margin-top: 23px; margin-bottom: 0; padding-top: 18px; border-top: 1px solid #ddd; }
  .format-example p { font-size: 12px; }
  .format-measures { margin: 20px 0 23px; }
  .formats .format-note { font-size: 10px; }
  .edition-options { grid-template-columns: 1fr; gap: 26px; }
  .edition-card { padding-top: 20px; }
  .edition-card .numlabel, .edition-card > span, .edition-card > .kicker { margin-bottom: 12px; font-size: 9px; }
  .edition-card h3 { max-width: 450px; font-size: 29px; margin-bottom: 14px; }
  .proposal-output { margin-top: 33px; padding: 26px 24px; border-radius: 14px; }
  .proposal-output > h3 { font-size: 28px; margin-bottom: 23px; }
  .proposal-output-grid { grid-template-columns: 1fr; gap: 23px; }
  .proposal-output-grid strong { font-size: 12px; }
  .proposal-output-grid p { font-size: 12px; margin-top: 8px; }
  .proposal-plan > .format-note, .proposal-plan > .proposal-note, .proposal-output > p, .proposal-output > small { font-size: 10px; }
}

@media (max-width: 360px) {
  .audience-fit .section-heading h2 { font-size: 31px; }
  .sector-grid h3 { font-size: 24px; }
  .case-body { padding-inline: 21px; }
  .case-body h3 { font-size: 27px; }
  .case-study figcaption { padding-inline: 21px; }
  .case-record { grid-template-columns: 1fr; gap: 18px; }
  .case-record figure img { aspect-ratio: 1.5; }
  .case-record h3 { font-size: 24px; }
  .case-record .tag { font-size: 8px; }
  .case-record p { font-size: 12px; }
  .formats .format-grid article { padding: 24px; }
  .formats .format-grid h3 { font-size: 26px; }
  .edition-card h3, .proposal-output > h3 { font-size: 26px; }
  .proposal-output { padding-inline: 21px; }
}

@media print {
  .audience-fit, .case-studies, .proposal-plan { padding-top: 40px; padding-bottom: 40px; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .case-grid, .case-more, .sector-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-study, .case-record, .sector-grid article, .edition-card, .proposal-output-grid article { break-inside: avoid; }
  .case-footer .button { display: none; }
  .metric-context { display: none; }
  .formats .format-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .formats .format-grid article { display: flex; padding: 20px; }
  .format-example { margin-top: 20px; padding-top: 18px; border-top: 1px solid #ddd; }
  .format-measures { margin-top: 20px; margin-bottom: 20px; }
}

/* V3 content hooks */
.sector-heading { margin-top: 48px; }
.sector-heading h3 { margin-top: 13px; font-size: clamp(23px, 2.6vw, 35px); }
.sector-heading + .sector-grid { margin-top: 28px; }
.plan-note { margin-top: 24px; color: #666; font-size: 11px; line-height: 1.8; }
@media(max-width:650px) { .sector-heading { margin-top: 32px; } .sector-heading h3 { font-size: 26px; } .sector-heading + .sector-grid { margin-top: 23px; } .plan-note { font-size: 10px; } }

.case-study--audaces figure img { object-position: 50% 85%; }

/* V3: investimento inicial, case Kobe e novo overview. */
.hero-investment { display: grid; gap: 5px; width: fit-content; max-width: 100%; margin-top: 23px; padding: 14px 18px; border: 1px solid #737373; border-radius: 10px; background: #050505c9; }
.hero-investment > span { font-size: 9px; font-weight: 700; line-height: 1.6; letter-spacing: .08em; }
.hero-investment > strong { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; color: #ddd; font-size: 12px; font-weight: 500; line-height: 1.5; }
.hero-investment b { color: #fff; font-size: clamp(21px, 2vw, 29px); font-weight: 800; letter-spacing: -.03em; white-space: nowrap; }
.hero-investment:hover { background: #202020; border-color: #fff; }
.investment-entry { display: grid; grid-template-columns: minmax(0, .6fr) minmax(0, 1.1fr) minmax(0, 1.5fr); align-items: center; gap: 30px; padding: 35px; margin-bottom: 30px; border-radius: 17px; background: #101010; color: #fff; scroll-margin-top: 105px; }
.entry-label { display: block; margin-bottom: 12px; color: #bcbcbc; font-size: 9px; font-weight: 700; line-height: 1.5; letter-spacing: .08em; }
.investment-entry h3 { font-size: clamp(42px, 5vw, 65px); letter-spacing: -.055em; text-transform: none; }
.entry-price > strong { display: block; font-size: clamp(29px, 3.2vw, 45px); font-weight: 850; line-height: 1.2; letter-spacing: -.045em; white-space: nowrap; }
.entry-action p { margin-bottom: 17px; color: #bdbdbd; font-size: 11px; line-height: 1.8; }
.entry-action .button { min-height: 49px; padding: 13px 20px; font-size: 9px; gap: 16px; }
.case-study--kobe figure img { object-position: 50% 45%; }
.overview-new { padding-top: 72px; padding-bottom: 72px; background: #101010; border-top: 1px solid #333; }
.overview-new figure { max-width: 1180px; margin: auto; }
.overview-new video { width: 100%; height: auto; aspect-ratio: 16 / 9; display: block; background: #000; border: 1px solid #444; border-radius: 16px; object-fit: contain; }
.overview-new figcaption { margin-top: 14px; color: #aaa; font-size: 10px; line-height: 1.7; }
.final-cta--contact-only { display: block; }
.final-cta--contact-only > div { max-width: 900px; margin: auto; text-align: center; }
.final-cta--contact-only h2 { max-width: 800px; margin-left: auto; margin-right: auto; }
.final-cta--contact-only p:not(.kicker) { margin-left: auto; margin-right: auto; }
.final-cta--contact-only .cta-buttons { justify-content: center; }
.final-cta--contact-only .contact-details { justify-content: center; align-items: center; }
@media (max-width: 1000px) {
 .investment-entry { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 25px 35px; padding: 30px; }
 .entry-action { grid-column: 1 / -1; padding-top: 23px; border-top: 1px solid #444; display: flex; align-items: center; justify-content: space-between; gap: 25px; }
 .entry-action p { max-width: 410px; margin: 0; }
 .entry-action .button { flex-shrink: 0; }
 .final-cta--contact-only .cta-buttons { align-items: center; }
}
@media (max-width: 650px) {
 .hero-investment { margin-top: 20px; padding: 13px 16px; }
 .hero-investment > span { font-size: 8px; }
 .hero-investment > strong { font-size: 11px; }
 .hero-investment b { font-size: 23px; }
 .investment-entry { grid-template-columns: 1fr; gap: 23px; padding: 26px; margin-bottom: 24px; scroll-margin-top: 92px; }
 .investment-entry h3 { font-size: 54px; }
 .entry-price { padding-top: 23px; border-top: 1px solid #444; }
 .entry-price > strong { font-size: clamp(28px, 8.7vw, 43px); }
 .entry-action { grid-column: auto; display: block; padding-top: 22px; }
 .entry-action p { margin-bottom: 20px; }
 .entry-action .button { width: 100%; font-size: 9px; }
 .overview-new { padding-top: 49px; padding-bottom: 43px; }
 .overview-new video { border-radius: 10px; }
 .overview-new figcaption { font-size: 9px; }
 .final-cta--contact-only .cta-buttons { align-items: stretch; }
 .final-cta--contact-only .contact-details { align-items: center; }
}
@media print { .overview-new { display: none; } .investment-entry { print-color-adjust: exact; -webkit-print-color-adjust: exact; } }

/* Commercial request: scoped to the existing sponsor card. */
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
fieldset.brief-fields { padding: 0; border: 0; min-width: 0; }
.form-progress { padding-top: 20px; color: #bdbdbd; font-size: 9px; font-weight: 700; letter-spacing: .08em; }
#commercial-form .brief-fields { margin-top: 18px; margin-bottom: 17px; }
#commercial-form .button { margin-top: 14px; }
#commercial-form .button:disabled { opacity: .55; }
#commercial-form .brief-note, .commercial-success .brief-note { margin-top: 14px; color: #bbb; font-size: 9px; line-height: 1.7; }
.form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-extra { margin-top: 10px; }
.form-extra summary { font-size: 10px; line-height: 1.7; color: #ccc; padding: 7px 0; }
.form-extra summary span { color: #aaa; }
.form-extra label { margin-top: 12px !important; margin-bottom: 8px; }
.form-privacy { border-top: 1px solid #555; margin-top: 14px; padding-top: 14px; }
.form-privacy details summary { padding: 4px 0 10px; font-size: 10px; line-height: 1.6; text-decoration: underline; text-underline-offset: 3px; color: #ddd; }
.form-privacy details p { font-size: 10px; line-height: 1.7; color: #bbb; margin-bottom: 12px; overflow-wrap: anywhere; }
.form-privacy a { text-decoration: underline; }
#commercial-form .consent-label { display: flex; align-items: flex-start; gap: 10px; margin-top: 13px; font-size: 10px; font-weight: 400; line-height: 1.65; cursor: pointer; }
#commercial-form .consent-label input { flex: 0 0 18px; appearance: auto; width: 18px; height: 18px; min-height: 0; padding: 0; margin: 2px 0 0; accent-color: #fff; }
#commercial-form .consent-label span { color: #ddd; }
.form-actions { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 8px; }
.form-back { padding: 10px; border: 0; background: none; color: #ccc; font-size: 10px; font-weight: 650; }
.form-status { font-size: 11px; line-height: 1.7; color: #ddd; overflow-wrap: anywhere; }
.form-status:empty { display: none; }
.form-status.is-error { padding: 12px; border: 1px solid #aaa; border-radius: 8px; margin-top: 12px; color: #fff; }
.commercial-success { padding-top: 24px; outline-offset: 8px; }
.commercial-success h3 { margin-bottom: 14px; font-size: 27px; line-height: 1.2; }
.commercial-success p { font-size: 12px; line-height: 1.8; color: #ccc; }
.commercial-success .receipt { font-size: 9px; margin-top: 18px; overflow-wrap: anywhere; }
.commercial-success .button { margin-top: 22px; }
@media (max-width: 640px) { #commercial-form .brief-fields input:not([type="checkbox"]), #commercial-form select { font-size: 16px; } }
