/*
Theme Name: ClickFTD
Theme URI: https://clickftd.com/
Author: ClickFTD
Description: Thème WordPress SaaS complet et responsive pour la plateforme d'affiliation ClickFTD.
Version: 1.3.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: clickftd
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

@font-face {
  font-family: "Manrope";
  src: url("assets/fonts/manrope-latin-ext-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

@font-face {
  font-family: "Manrope";
  src: url("assets/fonts/manrope-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

@font-face {
  font-family: "DM Serif Display";
  src: url("assets/fonts/dm-serif-display-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "DM Serif Display";
  src: url("assets/fonts/dm-serif-display-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --ink: #11140f;
  --ink-soft: #191d17;
  --paper: #f7f6ef;
  --paper-2: #eeede5;
  --white: #fffefa;
  --lime: #c9f45d;
  --lime-deep: #66891e;
  --purple: #7e68ef;
  --orange: #f47655;
  --muted: #5f645b;
  --line: rgba(16, 18, 15, .14);
  --radius: 24px;
  --shadow: 0 30px 80px rgba(10, 12, 9, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Manrope", "Segoe UI", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.modal-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.noise {
  position: fixed;
  inset: 0;
  z-index: 999;
  pointer-events: none;
  opacity: .025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
}

.section-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  padding: 16px 0;
  transition: padding .25s ease, background .25s ease, box-shadow .25s ease;
}
.site-header.scrolled {
  padding: 9px 0;
  background: rgba(245, 244, 237, .88);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 1px 0 rgba(16,18,15,.08);
}
.nav-wrap { width: min(1240px, calc(100% - 40px)); height: 58px; margin: auto; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 850; font-size: 22px; letter-spacing: -1px; }
.brand > span:last-child > span { color: #66891e; }
.brand-mark { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 10px; background: var(--ink); }
.brand-mark svg { width: 22px; height: 22px; fill: none; stroke: var(--lime); stroke-width: 3.1; stroke-linecap: round; stroke-linejoin: round; }
.desktop-nav { display: flex; gap: 32px; font-size: 14px; font-weight: 650; }
.desktop-nav a, .text-link { transition: opacity .2s ease; }
.desktop-nav a:hover, .text-link:hover { opacity: .55; }
.nav-actions { display: flex; align-items: center; gap: 22px; font-size: 14px; font-weight: 700; }
.button {
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 22px;
  border-radius: 12px;
  font-weight: 780;
  font-size: 14px;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button-small { padding: 12px 18px; border-radius: 10px; }
.button-large { padding: 18px 28px; font-size: 15px; }
.button-dark { color: var(--white); background: var(--ink); box-shadow: 0 10px 24px rgba(16,18,15,.12); }
.button-dark:hover { background: #292d27; }
.button-lime { color: var(--ink); background: var(--lime); box-shadow: 0 12px 30px rgba(157, 204, 58, .2); }
.button-lime:hover { background: #d5ff72; box-shadow: 0 16px 35px rgba(157, 204, 58, .28); }
.button-ghost { border: 1px solid rgba(255,255,255,.22); color: var(--white); background: rgba(255,255,255,.06); }
.button-ghost:hover { background: rgba(255,255,255,.11); }
.button svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.7; fill: none; }
.menu-toggle, .mobile-menu { display: none; }

.hero {
  position: relative;
  min-height: 820px;
  padding: 150px 0 88px;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 50px;
  align-items: center;
}
.hero::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  left: -380px;
  top: 160px;
  border: 1px solid rgba(16,18,15,.08);
  border-radius: 50%;
  box-shadow: 0 0 0 100px rgba(16,18,15,.018), 0 0 0 200px rgba(16,18,15,.012);
}
.hero-copy { position: relative; z-index: 2; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: #5d6159; font-size: 11px; font-weight: 850; letter-spacing: 1.55px; text-transform: uppercase; }
.eyebrow span { width: 23px; height: 8px; border-left: 3px solid var(--lime-deep); border-right: 3px solid var(--lime-deep); transform: skew(-16deg); }
.eyebrow-dark { color: #64685f; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin: 23px 0 24px; max-width: 620px; font-size: clamp(52px, 5.8vw, 78px); line-height: .98; letter-spacing: -4.5px; font-weight: 850; }
h1 em, h2 em { position: relative; font-family: "DM Serif Display", Georgia, serif; font-weight: 400; letter-spacing: -3px; color: var(--lime-deep); }
h1 em::after { content: ""; position: absolute; bottom: -5px; left: 4px; right: 2px; height: 7px; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 8c90-8 190 4 396-5' fill='none' stroke='%23b1dd4f' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat; opacity: .65; }
.hero-lead { max-width: 590px; color: #5c6057; font-size: 17px; line-height: 1.72; }
.hero-actions { display: flex; gap: 12px; margin-top: 34px; }
.hero .button-ghost { border-color: var(--line); color: var(--ink); background: transparent; }
.hero .button-ghost:hover { background: rgba(16,18,15,.05); }
.hero-proof { display: flex; align-items: center; gap: 15px; margin-top: 38px; }
.proof-avatars { display: flex; }
.proof-avatars span { width: 35px; height: 35px; display: grid; place-items: center; margin-right: -9px; border: 3px solid var(--paper); border-radius: 50%; color: #fff; background: var(--purple); font-size: 10px; font-weight: 850; }
.proof-avatars span:nth-child(2) { background: var(--orange); }
.proof-avatars span:nth-child(3) { color: var(--ink); background: var(--lime); }
.hero-proof p { margin: 0; color: #73776e; font-size: 12px; line-height: 1.45; }
.hero-proof strong { color: var(--ink); }

.hero-visual { position: relative; min-height: 610px; display: grid; place-items: center; }
.hero-visual::before { content: ""; position: absolute; inset: 15px -70px 5px 20px; border-radius: 44px; background: var(--ink); transform: rotate(2deg); }
.glow-orb { position: absolute; border-radius: 50%; filter: blur(5px); opacity: .65; }
.glow-one { width: 250px; height: 250px; top: -18px; right: -60px; background: radial-gradient(circle, rgba(200,245,94,.9), rgba(200,245,94,0) 70%); }
.glow-two { width: 280px; height: 280px; left: -20px; bottom: -35px; background: radial-gradient(circle, rgba(133,108,255,.65), rgba(133,108,255,0) 70%); }
.dashboard-card { position: relative; z-index: 2; width: 520px; max-width: calc(100% - 45px); padding: 23px; border: 1px solid rgba(255,255,255,.08); border-radius: 23px; background: #f6f6ef; box-shadow: 0 35px 80px rgba(0,0,0,.32); transform: rotate(-1.2deg); }
.dash-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.dash-label { color: #8b8e87; font-size: 9px; font-weight: 750; letter-spacing: .5px; text-transform: uppercase; }
.dash-top h2 { margin: 4px 0 0; font-size: 19px; letter-spacing: -.6px; }
.dash-avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--ink); font-size: 10px; font-weight: 850; }
.dash-balance { display: flex; justify-content: space-between; align-items: center; padding: 22px; border-radius: 17px; color: #fff; background: var(--ink); }
.dash-balance span, .mini-stat > span { display: block; color: #9fa29a; font-size: 10px; font-weight: 650; }
.dash-balance strong { display: block; margin: 7px 0 5px; font-size: 29px; letter-spacing: -1.3px; }
.dash-balance small { color: #b8bbb3; font-size: 9px; }
.dash-balance small i { color: var(--lime); font-style: normal; }
.dash-balance button { width: 41px; height: 41px; border: 0; border-radius: 50%; color: var(--ink); background: var(--lime); font-size: 19px; cursor: pointer; }
.dash-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; margin-top: 11px; }
.mini-stat { min-height: 119px; padding: 18px; border: 1px solid #e2e3dc; border-radius: 16px; background: #fff; overflow: hidden; }
.mini-stat strong { display: block; margin-top: 8px; font-size: 24px; letter-spacing: -1px; }
.mini-stat strong small { color: #8d9188; font-size: 9px; font-weight: 600; letter-spacing: 0; }
.sparkline { height: 35px; display: flex; align-items: end; gap: 5px; margin-top: 9px; }
.sparkline i { flex: 1; border-radius: 3px 3px 1px 1px; background: #dceab9; }
.sparkline i:nth-last-child(-n+2) { background: var(--lime-deep); }
.avatar-row { display: flex; margin-top: 14px; }
.avatar-row b { width: 29px; height: 29px; display: grid; place-items: center; margin-right: -5px; border: 2px solid #fff; border-radius: 50%; color: #fff; background: var(--purple); font-size: 7px; }
.avatar-row b:nth-child(2) { background: var(--orange); }.avatar-row b:nth-child(3) { color: var(--ink); background: var(--lime); }.avatar-row b:last-child { color: var(--ink); background: #e9eae3; }
.activity-card { margin-top: 11px; padding: 17px 18px 8px; border: 1px solid #e2e3dc; border-radius: 16px; background: #fff; }
.activity-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; font-size: 10px; font-weight: 800; }
.activity-head button { border: 0; color: #858980; background: none; font-size: 8px; cursor: pointer; }
.activity-line { display: grid; grid-template-columns: 32px 1fr auto; gap: 9px; align-items: center; padding: 10px 0; border-top: 1px solid #eff0eb; }
.activity-icon { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 9px; color: #5e7d18; background: #ecf8cf; font-size: 10px; font-weight: 900; }
.activity-icon.purple { color: #6a50eb; background: #eeeaff; }
.activity-line strong, .activity-line span { display: block; }
.activity-line strong { margin-bottom: 3px; font-size: 9px; }
.activity-line span { color: #999c95; font-size: 7.5px; }
.activity-line > b { font-size: 9px; }.activity-line > b.muted { color: #a4a69f; font-size: 7px; font-weight: 500; }
.floating-card { position: absolute; z-index: 4; display: flex; align-items: center; gap: 11px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.16); border-radius: 13px; background: rgba(255,255,255,.96); box-shadow: 0 18px 40px rgba(0,0,0,.23); animation: float 4s ease-in-out infinite; }
.floating-card span, .floating-card strong { display: block; }.floating-card span { margin-bottom: 3px; color: #8b8e87; font-size: 8px; }.floating-card strong { font-size: 11px; }
.floating-icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 9px; background: var(--lime); font-size: 14px; }
.floating-campaign { top: 90px; left: -8px; }
.floating-payment { right: -22px; bottom: 78px; animation-delay: -1.4s; }
.check-icon { width: 31px; height: 31px; display: grid !important; place-items: center; margin: 0 !important; border-radius: 50%; color: #fff !important; background: #64a739; font-size: 13px !important; font-weight: 900; }
@keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

.logo-strip { overflow: hidden; padding: 19px 0; border-top: 1px solid rgba(200,245,94,.3); border-bottom: 1px solid rgba(200,245,94,.3); color: #fff; background: var(--ink); }
.strip-track { width: max-content; display: flex; align-items: center; gap: 34px; animation: marquee 28s linear infinite; font-size: 11px; font-weight: 850; letter-spacing: 2px; }
.strip-track i { color: var(--lime); font-style: normal; font-size: 14px; }
@keyframes marquee { to { transform: translateX(-50%); } }

.how-section { padding: 120px 0 110px; background: var(--white); }
.section-heading { max-width: 780px; margin: 0 auto 62px; }
.section-heading.centered { text-align: center; }
.section-heading h2, .split-heading h2, .calculator-copy h2, .faq-intro h2 { margin: 17px 0 20px; font-size: clamp(40px, 5vw, 62px); line-height: 1.05; letter-spacing: -3.6px; }
.section-heading h2 em, .split-heading h2 em, .calculator-copy h2 em, .faq-intro h2 em { color: var(--lime-deep); }
.section-heading p { max-width: 590px; margin: auto; color: var(--muted); font-size: 16px; line-height: 1.65; }
.network-map { position: relative; display: grid; grid-template-columns: 1fr 88px 1fr 88px 1fr; align-items: center; margin: 0 0 75px; }
.network-card { position: relative; min-height: 215px; padding: 28px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); }
.network-card::after { content: ""; position: absolute; inset: 7px; border: 1px solid rgba(16,18,15,.045); border-radius: 14px; pointer-events: none; }
.ambassador-card { color: #fff; border-color: var(--ink); background: var(--ink); transform: translateY(-10px); box-shadow: 0 24px 50px rgba(16,18,15,.18); }
.role-number { position: absolute; top: 20px; right: 22px; color: #a2a69d; font-size: 10px; font-weight: 800; }
.role-icon { width: 47px; height: 47px; display: grid; place-items: center; margin-bottom: 26px; border-radius: 13px; background: #fff; box-shadow: 0 10px 25px rgba(16,18,15,.08); }
.role-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.owner-icon { color: #5b43da; background: #eae5ff; }.ambassador-icon { color: var(--ink); background: var(--lime); }.publisher-icon { color: #dd5434; background: #ffe6df; }
.network-card small, .network-card strong { display: block; }.network-card small { margin-bottom: 5px; color: #92968d; font-size: 9px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }.network-card strong { font-size: 20px; letter-spacing: -.6px; }.network-card p { margin: 9px 0 0; color: #747870; font-size: 12px; line-height: 1.55; }.ambassador-card p { color: #aeb2a9; }
.connector { height: 1px; position: relative; background: repeating-linear-gradient(to right, #a8aca2 0, #a8aca2 5px, transparent 5px, transparent 10px); }
.connector::after { content: "›"; position: absolute; right: -2px; top: -10px; color: #8e9289; font-size: 17px; }
.connector span { position: absolute; left: 50%; bottom: 11px; transform: translateX(-50%); color: #9b9f96; font-size: 7px; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; }
.process-steps { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.process-card { position: relative; padding: 34px 32px 0 0; }
.process-card:not(:last-child)::after { content: ""; position: absolute; right: 22px; top: 34px; bottom: 0; width: 1px; background: var(--line); }
.process-card > span { color: #6f9227; font-family: "DM Serif Display", Georgia, serif; font-size: 12px; font-style: italic; }
.process-card h3 { margin: 15px 0 10px; font-size: 18px; letter-spacing: -.5px; }.process-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }

.profiles-section { padding: 120px 0; color: #fff; background: var(--ink); }
.profiles-section .eyebrow { color: #9ea299; }.profiles-section .split-heading p { color: #aeb2a9; }
.split-heading { display: grid; grid-template-columns: 1.05fr .6fr; gap: 100px; align-items: end; margin-bottom: 55px; }
.split-heading h2 { margin-bottom: 0; }.split-heading p { margin: 0 0 5px; color: var(--muted); font-size: 15px; line-height: 1.7; }
.profile-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.profile-card { padding: 26px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 22px; background: #1a1d19; transition: transform .25s ease, border-color .25s ease; }
.profile-card:hover { transform: translateY(-6px); border-color: rgba(200,245,94,.45); }.profile-featured { background: #20251c; }
.profile-top { display: flex; align-items: center; justify-content: space-between; }.profile-tag { padding: 7px 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 100px; color: #b2b6ad; font-size: 8px; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; }.profile-arrow { color: var(--lime); font-size: 20px; }
.profile-art { position: relative; height: 205px; margin: 18px 0 26px; overflow: hidden; border-radius: 16px; background: #262a24; }
.people-art { display: grid; place-items: center; background: radial-gradient(circle at center, #354323 0, #22271f 58%, #191c18 100%); }
.orbit { position: absolute; border: 1px solid rgba(200,245,94,.2); border-radius: 50%; }.orbit-one { width: 155px; height: 155px; }.orbit-two { width: 270px; height: 270px; }
.person { position: absolute; width: 48px; height: 48px; display: grid; place-items: center; border: 3px solid #292f25; border-radius: 50%; color: var(--ink); background: #fff; font-size: 7px; font-weight: 900; box-shadow: 0 8px 20px rgba(0,0,0,.25); }.person-main { width: 64px; height: 64px; color: var(--ink); background: var(--lime); }.person-a { left: 35px; top: 32px; color: #fff; background: var(--purple); }.person-b { right: 28px; top: 50px; color: #fff; background: var(--orange); }.person-c { left: 55px; bottom: 22px; color: #fff; background: #405079; }
.creator-art { display: grid; place-items: center; background: linear-gradient(145deg, #332b4d, #211f29); }.phone-mock { width: 105px; height: 180px; padding: 7px; border: 3px solid #55515f; border-radius: 19px; background: #121310; transform: rotate(6deg); box-shadow: 0 15px 35px rgba(0,0,0,.4); }.phone-speaker { width: 30px; height: 4px; margin: 2px auto 7px; border-radius: 4px; background: #44463f; }.short-video { height: 122px; display: grid; place-items: center; border-radius: 10px; background: linear-gradient(145deg, var(--purple), #ff8d6f); }.short-video span { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.82); color: var(--ink); font-size: 11px; }.phone-stats { display: flex; gap: 5px; margin-top: 8px; }.phone-stats i { height: 5px; flex: 1; border-radius: 5px; background: #3d3f38; }
.bubble { position: absolute; padding: 8px 10px; border-radius: 9px; color: var(--ink); background: var(--lime); box-shadow: 0 9px 18px rgba(0,0,0,.25); font-size: 8px; font-weight: 850; }.bubble-one { top: 37px; right: 20px; }.bubble-two { left: 20px; bottom: 34px; color: #fff; background: var(--purple); }.website-art { display: grid; place-items: center; background: linear-gradient(145deg, #24302c, #1c2220); }.browser-mock { width: 82%; border: 1px solid #505851; border-radius: 10px; background: #f2f3ec; box-shadow: 0 18px 30px rgba(0,0,0,.3); transform: rotate(-3deg); }.browser-bar { height: 25px; display: flex; align-items: center; gap: 4px; padding: 0 8px; border-bottom: 1px solid #d7d9d1; }.browser-bar i { width: 5px; height: 5px; border-radius: 50%; background: #bbbdb6; }.browser-bar span { width: 55%; height: 7px; margin-left: 7px; border-radius: 5px; background: #dedfd9; }.browser-body { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 6px; padding: 14px; }.browser-body div { height: 75px; border-radius: 5px; background: var(--lime); }.browser-body div:nth-child(2) { background: #dbd9ff; }.browser-body div:nth-child(3) { background: #ffd8cf; }.cursor-icon { position: absolute; left: 36px; bottom: 18px; color: #fff; font-size: 25px; text-shadow: 0 3px 10px #000; }.bubble-three { right: 17px; top: 23px; }
.profile-card h3 { margin-bottom: 11px; font-size: 21px; letter-spacing: -.7px; }.profile-card > p { min-height: 66px; margin-bottom: 22px; color: #aeb2a9; font-size: 12px; line-height: 1.65; }.card-link { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 15px 0 0; border: 0; border-top: 1px solid rgba(255,255,255,.1); color: #fff; background: none; font-size: 12px; font-weight: 780; cursor: pointer; }.card-link span { color: var(--lime); font-size: 18px; transition: transform .2s ease; }.card-link:hover span { transform: translateX(4px); }

.calculator-section { padding: 120px 0; background: var(--paper-2); }
.calculator-grid { display: grid; grid-template-columns: .8fr 1fr; gap: 100px; align-items: center; }.calculator-copy > p { max-width: 480px; color: var(--muted); font-size: 15px; line-height: 1.7; }
.check-list { display: grid; gap: 14px; margin: 28px 0 0; padding: 0; list-style: none; color: #454941; font-size: 13px; font-weight: 650; }.check-list span { width: 24px; height: 24px; display: inline-grid; place-items: center; margin-right: 9px; border-radius: 50%; color: #5f7c22; background: #dff2b7; font-size: 10px; }
.calculator-card { padding: 30px; border: 1px solid rgba(16,18,15,.12); border-radius: 24px; background: var(--white); box-shadow: 0 22px 60px rgba(16,18,15,.09); }.calculator-head { display: flex; justify-content: space-between; align-items: start; padding-bottom: 22px; border-bottom: 1px solid var(--line); }.calculator-head span, .calculator-head strong { display: block; }.calculator-head > div span { margin-bottom: 5px; color: #8d9188; font-size: 9px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }.calculator-head strong { font-size: 18px; letter-spacing: -.5px; }.live-pill { display: inline-flex !important; align-items: center; gap: 6px; padding: 7px 9px; border-radius: 100px; color: #687e36; background: #eff8dc; font-size: 8px; font-weight: 800; }.live-pill i { width: 6px; height: 6px; border-radius: 50%; background: #7da52b; box-shadow: 0 0 0 4px rgba(125,165,43,.12); }
.range-group { margin-top: 25px; }.range-label { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }.range-label label { color: #656960; font-size: 11px; font-weight: 700; }.range-label output { min-width: 52px; padding: 7px 9px; border-radius: 7px; text-align: center; color: #fff; background: var(--ink); font-size: 11px; font-weight: 800; }
input[type="range"] { width: 100%; height: 5px; appearance: none; border-radius: 5px; outline: none; background: linear-gradient(to right, var(--lime-deep) 0%, var(--lime-deep) var(--range-progress, 18%), #e2e4dc var(--range-progress, 18%), #e2e4dc 100%); cursor: pointer; }
input[type="range"]::-webkit-slider-thumb { width: 18px; height: 18px; appearance: none; border: 4px solid #fff; border-radius: 50%; background: var(--ink); box-shadow: 0 0 0 1px rgba(16,18,15,.2), 0 3px 8px rgba(0,0,0,.2); }
input[type="range"]::-moz-range-thumb { width: 12px; height: 12px; border: 4px solid #fff; border-radius: 50%; background: var(--ink); box-shadow: 0 0 0 1px rgba(16,18,15,.2); }
.range-scale { display: flex; justify-content: space-between; margin-top: 7px; color: #a1a49d; font-size: 8px; }.result-box { margin-top: 27px; padding: 24px; border-radius: 17px; color: #fff; background: var(--ink); }.result-box > span { color: #adb1a7; font-size: 9px; font-weight: 700; }.result-box strong { display: block; margin: 6px 0 4px; color: var(--lime); font-size: 35px; letter-spacing: -1.5px; }.result-box small { color: #a8aca3; font-size: 9px; }.result-box small span { color: #fff; }.calculator-note { margin: 12px 0 0; color: #999d94; font-size: 8px; line-height: 1.5; }

.features-section { padding: 120px 0; color: #fff; background: var(--ink); }.features-section .eyebrow { color: #979b92; }.feature-bento { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.feature-card { padding: 30px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 23px; background: #1a1d19; }.feature-wide { grid-column: 1 / -1; min-height: 370px; display: grid; grid-template-columns: .72fr 1.28fr; gap: 45px; align-items: center; }.feature-icon { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: 30px; border-radius: 13px; color: var(--ink); background: var(--lime); font-size: 22px; }.purple-bg { background: var(--purple); color: #fff; }.orange-bg { background: var(--orange); color: #fff; }.feature-card h3 { margin-bottom: 12px; font-size: 23px; letter-spacing: -.8px; }.feature-card p { max-width: 400px; margin: 0; color: #a8aca3; font-size: 13px; line-height: 1.7; }.chart-mock { align-self: stretch; position: relative; padding: 25px 25px 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 18px; background: #20241f; }.chart-top { display: flex; justify-content: space-between; color: #a5a9a0; font-size: 8px; }.chart-top b { color: #80847b; font-weight: 600; }.chart-value { margin-top: 10px; font-size: 22px; font-weight: 800; }.chart-value span { color: var(--lime); font-size: 13px; }.chart-mock svg { width: 100%; height: 185px; overflow: visible; }.chart-line { fill: none; stroke: var(--lime); stroke-width: 3; vector-effect: non-scaling-stroke; }.chart-area { fill: url(#chartFill); }.chart-days { display: flex; justify-content: space-between; color: #6f736b; font-size: 7px; }
.link-mock { display: flex; align-items: center; margin-top: 44px; padding: 14px; border: 1px solid rgba(255,255,255,.09); border-radius: 11px; color: #787c74; background: #111310; font-size: 10px; }.link-mock strong { color: var(--lime); }.link-mock button { margin-left: auto; border: 0; color: #8c9087; background: none; cursor: pointer; }.campaign-list { display: grid; gap: 9px; margin-top: 27px; }.campaign-list > div { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 11px; background: #111310; }.campaign-logo { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 10px; color: var(--ink); font-style: normal; font-size: 11px; font-weight: 900; }.lime-logo { background: var(--lime); }.purple-logo { color: #fff; background: var(--purple); }.campaign-list b, .campaign-list small { display: block; }.campaign-list b { font-size: 10px; }.campaign-list small { margin-top: 3px; color: #7e8279; font-size: 7px; }.campaign-list em { padding: 5px 7px; border-radius: 50px; color: #89a949; background: rgba(200,245,94,.08); font-size: 7px; font-style: normal; }

.manifesto-section { padding: 115px 0; background: var(--lime); }.manifesto { text-align: center; }.quote-mark { display: block; height: 55px; font-family: "DM Serif Display", Georgia, serif; font-size: 82px; line-height: 1; }.manifesto blockquote { max-width: 900px; margin: 10px auto 40px; font-size: clamp(31px, 4vw, 52px); font-weight: 800; letter-spacing: -2.7px; line-height: 1.1; }.manifesto blockquote em { font-family: "DM Serif Display", Georgia, serif; font-weight: 400; }.manifesto-signature { display: inline-flex; align-items: center; gap: 12px; text-align: left; }.signature-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; color: var(--lime); background: var(--ink); font-family: "DM Serif Display", Georgia, serif; font-size: 19px; font-style: italic; }.manifesto-signature strong, .manifesto-signature small { display: block; }.manifesto-signature strong { font-size: 11px; }.manifesto-signature small { margin-top: 3px; color: #46591c; font-size: 9px; }

.faq-section { padding: 120px 0; background: var(--white); }.faq-grid { display: grid; grid-template-columns: .68fr 1fr; gap: 100px; }.faq-intro h2 { font-size: 50px; }.faq-intro > p { margin-bottom: 28px; color: var(--muted); font-size: 14px; line-height: 1.7; }.faq-item { border-bottom: 1px solid var(--line); }.faq-item:first-child { border-top: 1px solid var(--line); }.faq-item > button { width: 100%; min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; border: 0; text-align: left; background: none; cursor: pointer; font-size: 15px; font-weight: 750; }.faq-item button i { position: relative; flex: 0 0 28px; width: 28px; height: 28px; border: 1px solid var(--line); border-radius: 50%; }.faq-item button i::before, .faq-item button i::after { content: ""; position: absolute; left: 8px; right: 8px; top: 13px; height: 1px; background: var(--ink); transition: transform .25s ease; }.faq-item button i::after { transform: rotate(90deg); }.faq-item.open button i { background: var(--lime); border-color: var(--lime); }.faq-item.open button i::after { transform: rotate(0); }.faq-answer { max-height: 0; overflow: hidden; transition: max-height .35s ease; }.faq-answer p { padding: 0 45px 25px 0; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }.faq-item.open .faq-answer { max-height: 180px; }

.final-cta { position: relative; overflow: hidden; padding: 120px 0; color: #fff; background: var(--ink); }.final-cta::before { content: ""; position: absolute; inset: 25px; border: 1px solid rgba(255,255,255,.08); border-radius: 30px; }.cta-content { position: relative; z-index: 2; text-align: center; }.cta-pill { display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 100px; color: #c5c8c1; font-size: 9px; font-weight: 700; }.cta-pill i { width: 6px; height: 6px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 4px rgba(200,245,94,.12); }.cta-content h2 { margin: 26px auto 20px; font-size: clamp(46px, 6vw, 76px); line-height: 1.01; letter-spacing: -4.3px; }.cta-content h2 em { font-family: "DM Serif Display", Georgia, serif; font-weight: 400; color: var(--lime); }.cta-content > p { max-width: 560px; margin: 0 auto 30px; color: #b9bdb5; font-size: 15px; line-height: 1.65; }.cta-content > small { display: block; margin-top: 18px; color: #969a92; font-size: 10px; }.cta-orb { position: absolute; border-radius: 50%; filter: blur(4px); }.cta-orb-one { width: 480px; height: 480px; top: -300px; left: -90px; background: radial-gradient(circle, rgba(200,245,94,.22), transparent 70%); }.cta-orb-two { width: 550px; height: 550px; right: -180px; bottom: -360px; background: radial-gradient(circle, rgba(133,108,255,.3), transparent 70%); }

.site-footer { padding: 65px 0 25px; color: #fff; background: #090a09; }.footer-main { display: grid; grid-template-columns: 1.4fr repeat(3, .55fr); gap: 50px; padding-bottom: 55px; }.brand-light > span:last-child > span { color: var(--lime); }.footer-brand p { max-width: 290px; margin: 20px 0 0; color: #9da199; font-size: 12px; line-height: 1.7; }.footer-links { display: flex; flex-direction: column; gap: 12px; }.footer-links strong { margin-bottom: 5px; color: #fff; font-size: 12px; }.footer-links a { color: #a5a9a1; font-size: 11px; transition: color .2s ease; }.footer-links a:hover { color: var(--lime); }.footer-bottom { display: flex; align-items: center; justify-content: space-between; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.08); color: #8f938b; font-size: 10px; }.footer-bottom p { margin: 0; }

/* Pages et articles WordPress */
.inner-main { min-height: 70vh; padding: 145px 0 100px; background: var(--white); }
.inner-shell { width: min(850px, calc(100% - 40px)); margin: 0 auto; }
.inner-header { margin-bottom: 48px; }
.inner-header .eyebrow { margin-bottom: 18px; }
.inner-title { margin: 0; font-size: clamp(42px, 6vw, 68px); line-height: 1.03; letter-spacing: -3.6px; }
.inner-meta { margin-top: 18px; color: var(--muted); font-size: 12px; }
.entry-content { color: #454940; font-size: 16px; line-height: 1.8; }
.entry-content > * { max-width: 100%; }
.entry-content h2 { margin: 55px 0 18px; color: var(--ink); font-size: 34px; line-height: 1.15; letter-spacing: -1.5px; }
.entry-content h3 { margin: 38px 0 14px; color: var(--ink); font-size: 25px; letter-spacing: -.8px; }
.entry-content a { color: #688f18; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.entry-content ul, .entry-content ol { padding-left: 24px; }
.entry-content blockquote { margin: 35px 0; padding: 25px 28px; border-left: 4px solid var(--lime-deep); border-radius: 0 14px 14px 0; color: var(--ink); background: var(--paper); font-family: "DM Serif Display", Georgia, serif; font-size: 21px; line-height: 1.55; }
.entry-content img { border-radius: 18px; }
.cftd-plugin-page { background: var(--paper); }
.inner-shell.dashboard-shell { width: min(1440px, calc(100% - 32px)); }
.inner-shell.auth-shell { width: min(980px, calc(100% - 32px)); }
.cftd-plugin-content { color: inherit; font-size: inherit; line-height: normal; }
.cftd-plugin-content a { text-decoration: none; }
.cftd-plugin-content p { max-width: none; }
.cftd-dashboard-page .site-header,
.cftd-dashboard-page .site-footer { display: none; }
.cftd-dashboard-page .inner-main { min-height: 100vh; padding: 0; background: #f3f2e9; }
.cftd-dashboard-page .inner-shell.dashboard-shell { width: 100%; }
.cftd-dashboard-page .cftd-app { min-height: 100vh; border: 0; border-radius: 0; box-shadow: none; }
.posts-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.post-card { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); transition: transform .2s ease, border-color .2s ease; }
.post-card:hover { transform: translateY(-4px); border-color: rgba(115,153,31,.45); }
.post-card h2 { margin: 10px 0 12px; font-size: 24px; line-height: 1.2; letter-spacing: -1px; }
.post-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.post-card .post-label { color: #759927; font-size: 9px; font-weight: 850; letter-spacing: 1px; text-transform: uppercase; }
.pagination { margin-top: 40px; }
.pagination .nav-links { display: flex; gap: 8px; }
.pagination .page-numbers { min-width: 38px; height: 38px; display: grid; place-items: center; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; font-size: 12px; }
.pagination .current { color: var(--ink); border-color: var(--lime); background: var(--lime); }
.not-found { max-width: 650px; margin: 0 auto; text-align: center; }
.not-found strong { display: block; color: var(--lime-deep); font-family: "DM Serif Display", Georgia, serif; font-size: 90px; line-height: 1; }
.not-found p { color: var(--muted); }
.admin-bar .site-header { top: 32px; }

/* Documents légaux */
.legal-shell { width: min(900px, calc(100% - 40px)); }
.legal-header { padding-bottom: 35px; border-bottom: 1px solid var(--line); }
.legal-header .inner-title { max-width: 780px; }
.legal-content { color: #484d44; }
.legal-summary { display: grid; grid-template-columns: 185px 1fr; gap: 28px; align-items: center; margin-bottom: 44px; padding: 24px 26px; border: 1px solid #dfe1d8; border-radius: 18px; background: var(--paper); }
.legal-summary span { color: #55731a; font-size: 10px; font-weight: 800; letter-spacing: 1.1px; text-transform: uppercase; }
.legal-summary p { margin: 0; font-size: 14px; line-height: 1.65; }
.legal-section { padding: 8px 0 25px; }
.legal-section + .legal-section { padding-top: 32px; border-top: 1px solid var(--line); }
.legal-content .legal-section h2 { margin-top: 0; font-size: 30px; }
.legal-content p { margin-bottom: 18px; }
.legal-identity { margin: 25px 0 0; padding: 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid #dfe1d8; border-radius: 14px; background: #dfe1d8; list-style: none; }
.legal-identity li { min-height: 68px; padding: 18px; background: var(--white); font-size: 13px; line-height: 1.5; }
.legal-identity strong { display: block; margin-bottom: 4px; color: #767b71; font-size: 9px; letter-spacing: .7px; text-transform: uppercase; }
.legal-table-wrap { max-width: 100%; overflow-x: auto; margin: 25px 0 5px; border: 1px solid #dfe1d8; border-radius: 14px; }
.legal-content table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 13px; line-height: 1.55; }
.legal-content th, .legal-content td { padding: 15px 17px; border-bottom: 1px solid #e5e6df; text-align: left; vertical-align: top; }
.legal-content th { color: #3f443c; background: #f0f1e9; font-size: 10px; letter-spacing: .5px; text-transform: uppercase; }
.legal-content tr:last-child td { border-bottom: 0; }
.legal-note { margin-top: 35px; padding: 25px 28px; border-radius: 16px; color: #fff; background: var(--ink); }
.legal-note strong { display: block; margin-bottom: 6px; font-size: 15px; }
.legal-note p { margin: 0; color: #b7bbb2; font-size: 13px; }
.legal-note a { color: var(--lime); }

.modal { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: 20px; visibility: hidden; opacity: 0; transition: opacity .25s ease, visibility .25s ease; }.modal.open { visibility: visible; opacity: 1; }.modal-backdrop { position: absolute; inset: 0; background: rgba(7,8,7,.72); backdrop-filter: blur(8px); }.modal-panel { position: relative; z-index: 2; width: min(520px, 100%); max-height: calc(100vh - 35px); overflow-y: auto; padding: 36px; border-radius: 24px; background: var(--white); box-shadow: 0 35px 90px rgba(0,0,0,.45); transform: translateY(15px) scale(.98); transition: transform .25s ease; }.modal.open .modal-panel { transform: translateY(0) scale(1); }.modal-close { position: absolute; top: 16px; right: 17px; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; background: transparent; font-size: 20px; cursor: pointer; }.modal-icon { width: 45px; height: 45px; display: grid; place-items: center; margin-bottom: 22px; border-radius: 13px; background: var(--lime); font-size: 21px; }.modal-kicker { color: #7c8077; font-size: 9px; font-weight: 850; letter-spacing: 1px; text-transform: uppercase; }.modal-panel h2 { margin: 8px 0 10px; font-size: 32px; letter-spacing: -1.6px; }.modal-panel > p { color: var(--muted); font-size: 12px; line-height: 1.6; }.modal form { display: grid; gap: 13px; margin-top: 22px; }.modal label { display: grid; gap: 6px; color: #565a52; font-size: 9px; font-weight: 800; }.modal input, .modal select, .modal textarea { width: 100%; padding: 13px 14px; border: 1px solid #d9dbd4; border-radius: 10px; outline: 0; color: var(--ink); background: #fff; font-size: 12px; transition: border-color .2s ease, box-shadow .2s ease; }.modal textarea { resize: vertical; }.modal input:focus, .modal select:focus, .modal textarea:focus { border-color: #91b73d; box-shadow: 0 0 0 3px rgba(168,217,65,.13); }.modal form .button { width: 100%; margin-top: 4px; }.modal form > small { text-align: center; color: #979b92; font-size: 7.5px; }.form-success { display: none; padding: 28px 0 5px; text-align: center; }.form-success > span { width: 55px; height: 55px; display: grid; place-items: center; margin: auto; border-radius: 50%; color: #577718; background: #e5f5c3; font-size: 22px; }.form-success h3 { margin: 17px 0 8px; font-size: 22px; }.form-success p { color: var(--muted); font-size: 12px; line-height: 1.6; }.form-success .button { margin-top: 8px; }.modal-panel.submitted form, .modal-panel.submitted > .modal-icon, .modal-panel.submitted > .modal-kicker, .modal-panel.submitted > h2, .modal-panel.submitted > p { display: none; }.modal-panel.submitted .form-success { display: block; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }.reveal.visible { opacity: 1; transform: translateY(0); }.reveal-delay { transition-delay: .12s; }.reveal-delay-1 { transition-delay: .08s; }.reveal-delay-2 { transition-delay: .16s; }.reveal-delay-3 { transition-delay: .24s; }

@media (max-width: 1050px) {
  .desktop-nav { display: none; }
  .menu-toggle { width: 42px; height: 42px; display: grid; place-content: center; gap: 6px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.55); cursor: pointer; }
  .menu-toggle span { width: 18px; height: 1.5px; display: block; background: var(--ink); transition: transform .25s ease; }
  .menu-toggle.active span:first-child { transform: translateY(3.8px) rotate(45deg); }
  .menu-toggle.active span:last-child { transform: translateY(-3.8px) rotate(-45deg); }
  .mobile-menu { position: absolute; top: 78px; left: max(20px, calc((100% - 960px) / 2)); right: max(20px, calc((100% - 960px) / 2)); display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; padding: 16px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,254,249,.98); box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: .2s ease; }
  .mobile-menu.open { opacity: 1; visibility: visible; transform: translateY(0); }
  .mobile-menu a { display: grid; place-items: center; min-height: 42px; padding: 10px; border-radius: 9px; font-size: 12px; font-weight: 700; }
  .mobile-menu a:hover { background: var(--paper); }
  .mobile-menu .button { grid-column: 1 / -1; margin-top: 5px; }
  .hero { grid-template-columns: 1fr; padding-top: 135px; }
  .hero-copy { max-width: 760px; text-align: center; margin: auto; }.hero-lead { margin-left: auto; margin-right: auto; }.hero-actions, .hero-proof { justify-content: center; }
  .hero-visual { width: min(680px, 100%); margin: auto; }
  .network-map { grid-template-columns: 1fr 55px 1fr 55px 1fr; }.network-card { padding: 22px; }
  .profile-grid { grid-template-columns: 1fr 1fr; }.profile-card:last-child { grid-column: 1 / -1; }.profile-card:last-child .profile-art { height: 240px; }
  .calculator-grid { gap: 55px; }.faq-grid { gap: 55px; }
}

@media (max-width: 900px) {
  .nav-actions { display: none; }
  .network-map { grid-template-columns: 1fr; gap: 38px; }
  .connector { width: 1px; height: 38px; justify-self: center; background: repeating-linear-gradient(to bottom, #a8aca2 0, #a8aca2 5px, transparent 5px, transparent 10px); }
  .connector::after { right: -4px; top: 27px; transform: rotate(90deg); }
  .connector span { left: 15px; bottom: 13px; transform: none; }
  .ambassador-card { transform: none; }
  .process-steps { grid-template-columns: 1fr 1fr; }
  .process-card:nth-child(2)::after { display: none; }
  .calculator-grid, .faq-grid { grid-template-columns: 1fr; gap: 50px; }
  .calculator-copy > p { max-width: 650px; }
  .faq-intro > p { max-width: 620px; }
}

@media (max-width: 760px) {
  .section-shell { width: min(1180px, calc(100% - 30px)); }
  .site-header { padding: 8px 0; }.nav-wrap { width: calc(100% - 28px); }.nav-actions { display: none; }.menu-toggle { width: 42px; height: 42px; display: grid; place-content: center; gap: 6px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.45); }.menu-toggle span { width: 18px; height: 1.5px; display: block; background: var(--ink); transition: transform .25s ease; }.menu-toggle.active span:first-child { transform: translateY(3.8px) rotate(45deg); }.menu-toggle.active span:last-child { transform: translateY(-3.8px) rotate(-45deg); }.mobile-menu { position: absolute; top: 74px; left: 14px; right: 14px; display: flex; flex-direction: column; gap: 3px; padding: 16px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,254,249,.98); box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: .2s ease; }.mobile-menu.open { opacity: 1; visibility: visible; transform: translateY(0); }.mobile-menu a { padding: 12px 8px; font-size: 13px; font-weight: 700; }.mobile-menu .button { margin-top: 6px; }
  .hero { min-height: auto; padding: 120px 0 65px; gap: 44px; }.hero::before { display: none; }.eyebrow { font-size: 9px; }.hero h1 { font-size: 49px; letter-spacing: -3.3px; }.hero-lead { font-size: 14px; line-height: 1.65; }.hero-actions { flex-direction: column; }.hero-actions .button { width: 100%; }.hero-proof { margin-top: 28px; }.hero-visual { min-height: 480px; }.hero-visual::before { inset: 0 -35px; border-radius: 30px; }.dashboard-card { max-width: calc(100% - 12px); padding: 14px; }.dash-top { margin-bottom: 11px; }.dash-balance { padding: 17px; }.dash-balance strong { font-size: 24px; }.mini-stat { padding: 13px; min-height: 106px; }.activity-card { padding: 13px 13px 5px; }.floating-campaign { left: -5px; top: 42px; }.floating-payment { right: -5px; bottom: 25px; }.floating-card { transform: scale(.86); animation: none; }.dash-grid { gap: 7px; }.activity-line:nth-child(3) { display: none; }
  .how-section, .profiles-section, .calculator-section, .features-section, .faq-section { padding: 85px 0; }.section-heading { margin-bottom: 42px; }.section-heading h2, .split-heading h2, .calculator-copy h2, .faq-intro h2 { font-size: 40px; letter-spacing: -2.6px; }.network-map { grid-template-columns: 1fr; gap: 38px; }.connector { width: 1px; height: 38px; justify-self: center; background: repeating-linear-gradient(to bottom, #a8aca2 0, #a8aca2 5px, transparent 5px, transparent 10px); }.connector::after { right: -4px; top: 27px; transform: rotate(90deg); }.connector span { left: 15px; bottom: 13px; transform: none; }.ambassador-card { transform: none; }.network-card { min-height: 190px; }.process-steps { grid-template-columns: 1fr 1fr; }.process-card { padding-right: 20px; }.process-card:nth-child(2)::after { display: none; }.process-card:not(:last-child)::after { right: 8px; }
  .split-heading { grid-template-columns: 1fr; gap: 20px; }.profile-grid { grid-template-columns: 1fr; }.profile-card:last-child { grid-column: auto; }.profile-card:last-child .profile-art { height: 205px; }
  .calculator-grid, .faq-grid { grid-template-columns: 1fr; gap: 45px; }.calculator-card { padding: 22px 18px; }.calculator-copy h2 { font-size: 42px; }
  .feature-bento { grid-template-columns: 1fr; }.feature-wide { grid-column: auto; grid-template-columns: 1fr; }.chart-mock { min-height: 290px; }.feature-card { padding: 24px; }
  .manifesto-section { padding: 80px 0; }.manifesto blockquote { font-size: 32px; letter-spacing: -1.8px; }
  .faq-intro h2 { font-size: 41px; }.faq-item > button { font-size: 13px; }
  .final-cta { padding: 95px 0; }.final-cta::before { inset: 12px; border-radius: 22px; }.cta-content h2 { font-size: 47px; letter-spacing: -3px; }
  .footer-main { grid-template-columns: 1fr 1fr; }.footer-brand { grid-column: 1 / -1; }.footer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; }.modal-panel { padding: 29px 22px; }
  .inner-main { padding: 115px 0 75px; }.inner-title { font-size: 42px; letter-spacing: -2.4px; }.entry-content { font-size: 15px; }.entry-content h2 { font-size: 29px; }.posts-grid { grid-template-columns: 1fr; }
  .legal-summary { grid-template-columns: 1fr; gap: 8px; padding: 20px; }.legal-content .legal-section h2 { font-size: 26px; }.legal-identity { grid-template-columns: 1fr; }.legal-section { padding-bottom: 19px; }.legal-section + .legal-section { padding-top: 26px; }.legal-note { padding: 22px; }
  .admin-bar .site-header { top: 46px; }
}

@media (max-width: 430px) {
  .hero h1 { font-size: 42px; }.dashboard-card { transform: rotate(-.6deg) scale(.96); }.dash-top h2 { font-size: 16px; }.floating-card { display: none; }.hero-visual { min-height: 445px; }.hero-visual::before { inset: 0 -22px; }
  .process-steps { grid-template-columns: 1fr; }.process-card::after { display: none !important; }.process-card { padding: 26px 0 0; }.process-card > span { display: inline-block; padding: 5px 8px; border-radius: 5px; background: #eff5df; }
  .section-heading h2, .split-heading h2, .calculator-copy h2, .faq-intro h2 { font-size: 36px; }.profile-art { height: 190px; }.footer-main { grid-template-columns: 1fr; }.footer-brand { grid-column: auto; }
  .inner-shell, .legal-shell { width: calc(100% - 30px); }.inner-title { font-size: 36px; letter-spacing: -2px; }.legal-table-wrap { margin-left: -2px; margin-right: -2px; }
}

/* Responsive hardening for the complete header/hero area. */
@media (max-width: 1050px) {
  .hero,
  .hero-copy,
  .hero-visual { min-width: 0; }
  .hero { overflow: visible; }
  .hero-visual { width: 100%; max-width: 680px; }
  .hero-visual::before { inset: 15px 0 5px; }
  .glow-one { right: 0; }
  .floating-campaign { left: 0; }
  .floating-payment { right: 0; }
  .dashboard-card { width: 520px; max-width: calc(100% - 72px); }
  .mobile-menu { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .hero { gap: 38px; }
  .hero-visual::before { inset: 0; border-radius: 32px; transform: rotate(1deg); }
  .floating-campaign { left: 8px; }
  .floating-payment { right: 8px; }
}

@media (max-width: 760px) {
  .hero { width: calc(100% - 30px); padding: 112px 0 54px; gap: 34px; }
  .hero-copy { width: 100%; }
  .hero h1 { max-width: 100%; font-size: clamp(39px, 11vw, 49px); line-height: 1; letter-spacing: -2.7px; }
  .hero h1 em { letter-spacing: -2px; }
  .hero-lead { width: 100%; font-size: 14px; line-height: 1.65; }
  .hero-proof { flex-wrap: wrap; }
  .hero-visual { width: 100%; max-width: 100%; min-height: 500px; }
  .hero-visual::before { inset: 0; border-radius: 27px; }
  .dashboard-card { width: calc(100% - 24px); max-width: none; transform: rotate(-.45deg); }
  .floating-card { display: none; }
  .glow-one { width: 190px; height: 190px; top: 0; right: 0; }
  .glow-two { width: 210px; height: 210px; left: 0; bottom: 0; }
  .logo-strip { padding: 16px 0; }
  .strip-track { gap: 25px; }
}

@media (max-width: 430px) {
  .hero { padding-top: 104px; gap: 30px; }
  .eyebrow { max-width: 100%; justify-content: center; line-height: 1.5; }
  .hero h1 { font-size: clamp(37px, 10.5vw, 42px); letter-spacing: -2.35px; }
  .hero-actions { margin-top: 27px; }
  .hero-proof { flex-direction: column; gap: 10px; }
  .proof-avatars { padding-right: 9px; }
  .hero-proof p { text-align: center; }
  .hero-visual { min-height: 476px; }
  .dashboard-card { width: 100%; max-width: 100%; padding: 13px; transform: none; }
  .dash-balance { padding: 16px; }
  .dash-balance strong { font-size: 23px; }
  .dash-balance button { width: 36px; height: 36px; }
  .mini-stat { min-width: 0; padding: 12px; }
  .mini-stat strong { font-size: 21px; }
  .activity-line { grid-template-columns: 29px minmax(0, 1fr) auto; gap: 7px; }
  .activity-line > div:nth-child(2) { min-width: 0; }
  .activity-line span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

@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; }
}
