:root {
  --ink: #101826;
  --ink-2: #17243a;
  --red: #f04432;
  --red-dark: #d93324;
  --cream: #f3efe4;
  --paper: #fbfaf6;
  --lime: #d7ff45;
  --line: rgba(16, 24, 38, 0.18);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Arial, Arial, sans-serif;
  overflow-x: clip;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
::selection { background: var(--lime); color: var(--ink); }
[id] { scroll-margin-top: 92px; }
:focus-visible { outline: 3px solid var(--lime); outline-offset: 4px; }
.scroll-progress { position:fixed; inset:0 0 auto; height:3px; z-index:100; pointer-events:none; }
.scroll-progress span { display:block; width:100%; height:100%; background:linear-gradient(90deg,var(--red),var(--lime)); transform:scaleX(var(--scroll-progress,0)); transform-origin:left; }

.site-header {
  height: 82px;
  padding: 0 clamp(24px, 5vw, 78px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border-bottom: 1px solid var(--line);
  background: rgba(251,250,246,.94);
  backdrop-filter: blur(12px);
  position: sticky;
  top: 0;
  z-index: 50;
}
.brand { display: flex; align-items: center; gap: 10px; line-height: .78; font-size: 14px; letter-spacing: -.04em; font-weight: 850; }
.brand span:last-child { display: flex; flex-direction: column; }
.brand strong { color: var(--red); font-size: 23px; letter-spacing: -.06em; }
.brand-dot { width: 15px; height: 30px; display: block; background: var(--red); border-radius: 2px 9px 2px 9px; transform: skew(-9deg); }
.site-header nav { display: flex; gap: 28px; font-size: 12px; font-weight: 720; letter-spacing: .06em; text-transform: uppercase; }
.site-header nav a { position: relative; }
.site-header nav a::after { content:""; position:absolute; left:0; bottom:-6px; height:2px; width:0; background:var(--red); transition:width .2s ease; }
.site-header nav a:hover::after { width:100%; }
.header-cta { border: 0; background: var(--ink); color: white; padding: 13px 17px; font-size: 12px; text-transform: uppercase; letter-spacing:.05em; font-weight:800; min-height:46px; position:relative; overflow:hidden; }

.hero {
  min-height: 760px;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
  background: var(--cream);
  overflow: hidden;
}
.hero-copy { padding: clamp(70px, 8vw, 116px) clamp(28px, 5vw, 78px) 60px; position: relative; z-index: 2; }
.eyebrow { display:flex; align-items:center; gap:12px; font-size:12px; text-transform:uppercase; letter-spacing:.13em; font-weight:740; }
.eyebrow span { background:var(--red); color:#fff; padding:7px 9px 6px; }
.hero h1, .section-shell h2, .demo-section h2, .traffic-section h2, .plans h2, .contact h2 {
  margin: 28px 0 25px;
  font-size: clamp(58px, 6.1vw, 99px);
  line-height: .82;
  letter-spacing: -.075em;
  font-weight: 950;
  font-stretch: condensed;
}
.hero h1 span, .hero h1 em { display:block; }
.hero h1 span { color:transparent; -webkit-text-stroke: 1.6px var(--ink); }
.hero h1 em { color:var(--red); font-style:normal; }
.hero-lead { max-width: 660px; font-size: clamp(18px,1.7vw,23px); line-height:1.43; letter-spacing:-.02em; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.button { border:0; min-height:50px; padding:15px 20px; display:inline-flex; justify-content:center; align-items:center; gap:18px; text-transform:uppercase; letter-spacing:.035em; font-size:12px; font-weight:850; transition:transform .22s ease, background .22s ease, box-shadow .22s ease; position:relative; overflow:hidden; isolation:isolate; }
.button::after, .header-cta::after { content:""; position:absolute; inset:-2px auto -2px -42%; width:28%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent); transform:skewX(-20deg); transition:left .55s ease; pointer-events:none; }
.button:hover, .header-cta:hover { transform: translateY(-3px); box-shadow:0 10px 26px rgba(16,24,38,.18); }
.button:hover::after, .header-cta:hover::after { left:118%; }
.primary { background:var(--red); color:#fff; }
.primary:hover { background:var(--red-dark); }
.secondary { background:transparent; color:var(--ink); border:1px solid var(--ink); }
.hero-proof { margin-top:46px; padding-top:22px; border-top:1px solid var(--line); display:flex; gap:clamp(18px,3vw,42px); font-size:11px; text-transform:uppercase; letter-spacing:.06em; }
.hero-proof span { display:flex; flex-direction:column; gap:4px; }
.hero-proof b { font-size:19px; letter-spacing:-.04em; }

.hero-visual { position:relative; min-height:720px; background:var(--ink); overflow:hidden; }
.hero-visual::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:48px 48px; }
.hero-visual::after { content:""; position:absolute; width:500px; height:500px; border:1px solid rgba(255,255,255,.13); border-radius:50%; top:-210px; right:-120px; }
.campaign-stamp { position:absolute; top:56px; right:48px; z-index:3; width:94px; height:94px; border-radius:50%; background:var(--lime); color:var(--ink); display:grid; place-items:center; text-align:center; line-height:.9; font-size:15px; font-weight:950; transform:rotate(9deg); }
.browser-mockup { position:absolute; z-index:2; width:min(670px,82%); height:430px; left:7%; top:19%; background:#f9f3e8; box-shadow:0 30px 70px rgba(0,0,0,.35); transform:rotate(-2deg); }
.browser-bar { height:27px; padding:0 10px; background:#e5dfd4; display:flex; align-items:center; gap:5px; }
.browser-bar i { width:6px; height:6px; border-radius:50%; background:#a8a39b; }
.browser-bar span { margin:auto; width:48%; height:14px; background:#f7f5f0; color:#777; display:grid; place-items:center; font-size:7px; }
.demo-nav { height:56px; padding:12px 18px; display:flex; align-items:center; justify-content:space-between; color:#243b33; border-bottom:1px solid rgba(0,0,0,.1); }
.demo-nav b { line-height:.76; font-size:12px; }
.demo-nav small { font-size:7px; text-transform:uppercase; letter-spacing:.08em; }
.demo-body { height:347px; display:grid; grid-template-columns:1.2fr .8fr; padding-left:34px; background:#f3e4cf; color:#19362c; overflow:hidden; }
.demo-body > div:first-child { padding-top:60px; position:relative; z-index:2; }
.demo-body small { font-size:7px; font-weight:850; letter-spacing:.08em; }
.demo-body h2 { margin:14px 0 10px; font-family:Georgia,serif; font-size:36px; line-height:.98; letter-spacing:-.055em; }
.demo-body p { font-size:9px; }
.demo-body button { border:0; background:#d64a38; color:white; padding:10px 12px; font-size:7px; margin-top:10px; }
.candidate-photo, .phone-photo { background:linear-gradient(145deg,#d9c3a9 0 52%,#2d564a 52%); display:grid; place-items:center; color:rgba(255,255,255,.75); text-align:center; text-transform:uppercase; font-weight:800; }
.phone-mockup { position:absolute; z-index:4; width:195px; height:390px; right:7%; bottom:5%; background:#f3e4cf; border:8px solid #070d16; border-radius:24px; box-shadow:0 22px 50px rgba(0,0,0,.45); padding:24px 14px 14px; color:#19362c; display:flex; flex-direction:column; }
.phone-top { position:absolute; top:7px; width:55px; height:6px; background:#070d16; border-radius:10px; align-self:center; }
.phone-mockup > b { font-size:10px; line-height:.8; }
.phone-photo { height:146px; margin:14px -14px 12px; font-size:10px; }
.phone-mockup small { font-size:6px; font-weight:800; }
.phone-mockup strong { font-family:Georgia,serif; font-size:23px; line-height:.95; margin:9px 0 15px; }
.phone-mockup i { background:#d64a38; color:#fff; font-style:normal; font-size:6px; padding:9px; text-align:center; }

.news-strip { min-height:52px; background:var(--red); color:white; display:flex; align-items:center; overflow:hidden; padding:12px 0; font-size:11px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.news-track { width:max-content; display:flex; animation:ticker 28s linear infinite; }
.news-track > div { display:flex; align-items:center; gap:clamp(24px,3vw,52px); padding-right:clamp(24px,3vw,52px); white-space:nowrap; }
.news-strip i { font-size:7px; }
.section-shell { padding:110px clamp(26px,6vw,92px); max-width:1600px; margin:auto; }
.section-index { border-top:1px solid var(--line); padding-top:11px; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; margin-bottom:52px; }
.section-index.light { border-color:rgba(255,255,255,.25); color:rgba(255,255,255,.65); }
.problem-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; align-items:start; }
.problem h2 { margin:0; font-size:clamp(58px,7vw,110px); }
.problem-copy { max-width:720px; }
.big-copy { font-size:clamp(22px,2.5vw,36px); line-height:1.18; letter-spacing:-.045em; margin-top:0; font-weight:650; }
.problem-copy > p:last-child, .traffic-copy > p:last-child { max-width:620px; font-size:16px; line-height:1.7; color:#4b5360; }
blockquote { margin:100px 0 0 25%; padding:30px 0 0 65px; border-top:1px solid var(--ink); position:relative; font-family:Georgia,serif; font-size:clamp(28px,3.6vw,54px); line-height:1.12; letter-spacing:-.045em; }
blockquote span { position:absolute; left:0; top:18px; color:var(--red); font-size:90px; line-height:1; }

.demo-section { background:var(--ink); color:white; }
.demo-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; }
.demo-heading h2 { margin:0; font-size:clamp(55px,7vw,104px); }
.demo-heading h2 em { color:var(--lime); font-style:normal; }
.demo-heading p { max-width:430px; font-size:18px; line-height:1.55; color:rgba(255,255,255,.72); }
.model-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:65px 0 35px; }
.model-card { background:#fff; color:var(--ink); padding:12px; transform-origin:center; transition:transform .32s cubic-bezier(.2,.8,.2,1), box-shadow .32s ease; box-shadow:0 12px 35px rgba(0,0,0,.08); }
.model-card:hover { transform:translateY(-10px) rotate(-.5deg); box-shadow:0 24px 55px rgba(0,0,0,.22); }
.model-top { display:flex; justify-content:space-between; padding:8px 4px 15px; font-size:9px; letter-spacing:.08em; }
.model-screen { height:340px; padding:28px; position:relative; overflow:hidden; }
.model-screen small { font-weight:850; font-size:9px; }
.model-screen h3 { font-size:clamp(33px,3.2vw,55px); line-height:.86; letter-spacing:-.065em; position:relative; z-index:2; margin:42px 0; }
.model-screen i { position:absolute; font-style:normal; right:-20px; bottom:-15px; width:57%; height:70%; border-radius:48% 48% 0 0; display:grid; place-items:center; background:rgba(255,255,255,.35); text-transform:uppercase; font-size:11px; }
.model-card > p { padding:8px 4px 2px; font-size:12px; }
.model-red .model-screen { background:#ec4a36; color:#fff2df; }
.model-blue .model-screen { background:#d7dfeb; color:#17243a; }
.model-lime .model-screen { background:var(--lime); color:#101826; }
.light-button { background:var(--lime); color:var(--ink); }

.included-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; }
.included-heading h2 { margin:0; font-size:clamp(54px,6vw,92px); }
.included-heading p { max-width:330px; font-size:18px; }
.included-list { display:grid; grid-template-columns:1fr 1fr; margin-top:65px; border-top:1px solid var(--ink); }
.included-list > div { padding:19px 12px; border-bottom:1px solid var(--line); display:flex; gap:18px; align-items:center; }
.included-list > div:nth-child(odd) { border-right:1px solid var(--line); }
.included-list span { font-family:"Courier New"; color:var(--red); font-size:11px; }
.included-list p { margin:0; font-size:16px; font-weight:650; }

.traffic-section { background:var(--red); color:white; }
.traffic-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:8vw; }
.traffic-section h2 { font-size:clamp(55px,7vw,105px); margin:0; }
.traffic-copy .big-copy { max-width:700px; }
.traffic-copy > p:last-child { color:rgba(255,255,255,.78); }
.funnel { margin:50px 0; display:flex; align-items:center; gap:12px; }
.funnel span { flex:1; min-height:82px; padding:15px 10px; border:1px solid rgba(255,255,255,.45); display:flex; flex-direction:column; justify-content:space-between; text-transform:uppercase; font-size:11px; font-weight:800; }
.funnel b { font-family:"Courier New"; font-size:9px; opacity:.65; }

.legal { display:grid; grid-template-columns:.6fr 1.4fr; gap:9vw; align-items:center; }
.legal-seal { width:min(300px,100%); aspect-ratio:1; border:2px solid var(--ink); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; transform:rotate(-6deg); box-shadow:inset 0 0 0 10px var(--paper),inset 0 0 0 12px var(--ink); }
.legal-seal span { font-size:12px; letter-spacing:.15em; }
.legal-seal b { color:var(--red); font-size:42px; line-height:1; letter-spacing:-.06em; margin:8px 0; }
.legal-copy h2 { margin:0 0 28px; font-size:clamp(50px,6vw,90px); }
.legal-copy > p { font-size:21px; line-height:1.55; max-width:850px; }
.legal-copy > small { display:block; max-width:760px; border-left:3px solid var(--red); padding-left:16px; color:#59616c; line-height:1.55; }

.plans { background:var(--ink); color:white; padding-bottom:115px; }
.plans .section-shell { padding-bottom:0; }
.plans-heading { display:flex; justify-content:space-between; align-items:end; }
.plans-heading h2 { margin:0; font-size:clamp(54px,6vw,92px); }
.plans-heading p { font-size:20px; color:rgba(255,255,255,.7); }
.plans-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:60px; align-items:stretch; }
.price-card { background:var(--cream); color:var(--ink); padding:40px 32px 32px; border-right:1px solid rgba(16,24,38,.18); position:relative; transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease; }
.price-card:hover { transform:translateY(-8px); z-index:2; box-shadow:0 24px 55px rgba(0,0,0,.2); }
.price-card.featured { background:var(--lime); transform:translateY(-12px); }
.price-card.featured:hover { transform:translateY(-20px); }
.recommended { position:absolute; right:18px; top:-13px; background:var(--red); color:white; padding:7px 10px; font-size:9px; font-weight:850; letter-spacing:.08em; }
.price-card > p { font-size:11px; font-weight:850; letter-spacing:.1em; }
.price-card h3 { font-size:clamp(45px,4vw,65px); letter-spacing:-.065em; margin:25px 0 6px; line-height:.95; }
.price-card h3 small { font-size:11px; letter-spacing:.03em; }
.price-card > span { display:block; min-height:38px; font-size:11px; color:#5f6570; }
.price-card ul { list-style:none; padding:22px 0; margin:22px 0; border-top:1px solid var(--line); min-height:180px; }
.price-card li { padding:7px 0; font-size:13px; }
.price-card li::before { content:"—"; color:var(--red); margin-right:9px; }
.full { width:100%; }
.dark-card { background:#25334a; color:white; }
.dark-card > span { color:rgba(255,255,255,.62); }
.dark-card ul { border-color:rgba(255,255,255,.2); }
.inverted { background:white; color:var(--ink); }

.process h2 { margin:0; font-size:clamp(54px,6vw,90px); }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:70px; border-top:1px solid var(--ink); }
.process-grid article { padding:25px 28px 20px 0; min-height:250px; border-right:1px solid var(--line); position:relative; }
.process-grid article + article { padding-left:28px; }
.process-grid article:last-child { border-right:0; }
.process-grid b { font-family:"Courier New"; color:var(--red); font-size:12px; }
.process-grid h3 { font-size:40px; letter-spacing:-.06em; margin:70px 0 10px; }
.process-grid p { max-width:260px; line-height:1.5; color:#5b626c; }

.faq { display:grid; grid-template-columns:.72fr 1.28fr; gap:8vw; padding-top:45px; }
.faq h2 { margin:0; font-size:clamp(58px,6vw,90px); }
.faq-list { border-top:1px solid var(--ink); }
.faq details { border-bottom:1px solid var(--line); }
.faq summary { list-style:none; padding:24px 0; display:grid; grid-template-columns:45px 1fr 25px; gap:14px; cursor:pointer; font-size:17px; font-weight:680; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary span { font-family:"Courier New"; color:var(--red); font-size:10px; padding-top:5px; }
.faq summary b { font-size:22px; transition:transform .2s; }
.faq details[open] summary b { transform:rotate(45deg); }
.faq details p { margin:0 50px 25px 59px; color:#555e69; line-height:1.65; }

.contact { display:grid; grid-template-columns:1fr 1fr; background:var(--cream); border-top:1px solid var(--line); }
.contact-copy { padding:100px clamp(26px,6vw,92px); background:var(--red); color:white; }
.contact h2 { font-size:clamp(55px,6vw,88px); margin:45px 0 28px; }
.contact h2 em { color:var(--lime); font-style:normal; }
.contact-copy > p:not(.eyebrow) { max-width:580px; font-size:18px; line-height:1.6; }
.contact-copy > a { display:inline-block; margin-top:45px; border-bottom:1px solid white; padding-bottom:5px; font-size:14px; }
.contact-form { padding:90px clamp(26px,6vw,80px); display:flex; flex-direction:column; gap:21px; }
.contact-form label { display:flex; flex-direction:column; gap:8px; text-transform:uppercase; letter-spacing:.08em; font-size:10px; font-weight:800; }
.contact-form input, .contact-form select { width:100%; border:0; border-bottom:1px solid var(--ink); background:transparent; padding:13px 2px; outline:none; color:var(--ink); border-radius:0; }
.contact-form input:focus, .contact-form select:focus { border-color:var(--red); box-shadow:0 2px 0 var(--red); }
.contact-form input::placeholder { color:#8b8d8f; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.contact-form .button { margin-top:12px; }
.contact-form > small { text-align:center; color:#6b7077; }
.form-status { background:#e1edc3; padding:11px; margin:0; font-size:12px; text-align:center; }
.form-status:empty { display:none; }

footer { min-height:180px; padding:50px clamp(26px,6vw,92px); background:#0a101b; color:white; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:20px; }
.footer-brand { font-size:18px; }
.footer-brand strong { font-size:28px; }
footer > p { justify-self:end; color:rgba(255,255,255,.65); }
footer > div { grid-column:1/-1; border-top:1px solid rgba(255,255,255,.18); padding-top:18px; display:flex; justify-content:space-between; font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,255,255,.5); }
footer > div a { color:rgba(255,255,255,.76); }
footer > div a:hover { color:white; }
.floating-cta { position:fixed; z-index:45; right:max(18px,env(safe-area-inset-right)); bottom:max(18px,env(safe-area-inset-bottom)); border:0; background:var(--lime); color:var(--ink); box-shadow:0 8px 30px rgba(0,0,0,.25); padding:14px 15px; min-height:48px; display:none; align-items:center; gap:16px; text-transform:uppercase; font-size:11px; font-weight:850; }

.privacy-header-cta { display:inline-flex; align-items:center; }
.privacy-page { min-height:70vh; }
.privacy-content { max-width:920px; margin:0 auto; padding:90px clamp(22px,7vw,92px) 110px; }
.privacy-content .eyebrow { margin-bottom:28px; }
.privacy-content h1 { margin:0 0 28px; font-size:clamp(48px,7vw,92px); line-height:.9; letter-spacing:-.065em; }
.privacy-content h2 { margin:44px 0 12px; font-size:25px; letter-spacing:-.03em; }
.privacy-content p { color:#4b5360; font-size:16px; line-height:1.75; }
.privacy-contact { display:inline-block; margin-top:16px; border-bottom:2px solid var(--red); font-weight:800; }

@supports (content-visibility: auto) {
  .problem, .demo-section, .included, .traffic-section, .legal, .plans, .process, .faq, .contact {
    content-visibility:auto;
    contain-intrinsic-size:auto 900px;
  }
}

@keyframes ticker { to { transform:translateX(-50%); } }
@keyframes browser-float { 0%,100% { transform:rotate(-2deg) translateY(0); } 50% { transform:rotate(-1.3deg) translateY(-10px); } }
@keyframes phone-float { 0%,100% { transform:translateY(0) rotate(.6deg); } 50% { transform:translateY(-12px) rotate(-.4deg); } }
@keyframes stamp-pulse { 0%,100% { transform:rotate(9deg) scale(1); } 50% { transform:rotate(5deg) scale(1.06); } }
@keyframes hero-enter { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }

@media (prefers-reduced-motion: no-preference) {
  .hero-copy > * { animation:hero-enter .72s cubic-bezier(.2,.8,.2,1) both; }
  .hero-copy > *:nth-child(2) { animation-delay:.08s; }
  .hero-copy > *:nth-child(3) { animation-delay:.16s; }
  .hero-copy > *:nth-child(4) { animation-delay:.24s; }
  .hero-copy > *:nth-child(5) { animation-delay:.32s; }
  .browser-mockup { animation:browser-float 7s ease-in-out infinite; }
  .phone-mockup { animation:phone-float 5.7s ease-in-out .5s infinite; }
  .campaign-stamp { animation:stamp-pulse 4.8s ease-in-out infinite; }
  html.motion-ready [data-reveal] { opacity:0; translate:0 28px; transition:opacity .7s cubic-bezier(.2,.8,.2,1),translate .7s cubic-bezier(.2,.8,.2,1); }
  html.motion-ready [data-reveal].is-visible { opacity:1; translate:0 0; }
  html.motion-ready .model-card:nth-child(2), html.motion-ready .included-list > div:nth-child(even), html.motion-ready .price-card:nth-child(2), html.motion-ready .process-grid article:nth-child(2) { transition-delay:.08s; }
  html.motion-ready .model-card:nth-child(3), html.motion-ready .price-card:nth-child(3), html.motion-ready .process-grid article:nth-child(3) { transition-delay:.16s; }
}

@media (max-width: 1050px) {
  .site-header nav { display:none; }
  .hero { grid-template-columns:1fr; }
  .hero-visual { min-height:620px; }
  .problem-grid, .traffic-grid { grid-template-columns:1fr; }
  blockquote { margin-left:10%; }
  .demo-heading, .included-heading { align-items:start; flex-direction:column; }
  .model-grid, .plans-grid { grid-template-columns:1fr 1fr; }
  .model-card:last-child, .price-card:last-child { grid-column:1/-1; }
  .price-card.featured { transform:none; }
  .legal { grid-template-columns:.5fr 1.5fr; }
}

@media (max-width: 720px) {
  .site-header { height:68px; padding:0 18px; }
  .header-cta { padding:11px 12px; font-size:10px; }
  .header-cta span { display:none; }
  .brand { font-size:11px; }
  .brand strong { font-size:18px; }
  .brand-dot { width:12px; height:25px; }
  .hero { min-height:auto; }
  .hero-copy { padding:58px 20px 45px; }
  .hero h1 { font-size:clamp(52px,16vw,76px); margin-top:26px; }
  .hero-lead { font-size:17px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-proof { justify-content:space-between; gap:8px; }
  .hero-proof b { font-size:16px; }
  .hero-visual { min-height:480px; }
  .browser-mockup { width:92%; left:4%; top:16%; height:330px; }
  .demo-body { height:248px; padding-left:18px; }
  .demo-body > div:first-child { padding-top:32px; }
  .demo-body h2 { font-size:27px; }
  .candidate-photo { min-width:120px; }
  .phone-mockup { width:135px; height:285px; border-width:5px; border-radius:17px; right:4%; bottom:2%; padding:19px 9px 9px; }
  .phone-photo { height:100px; margin:9px -9px 8px; }
  .phone-mockup strong { font-size:17px; }
  .campaign-stamp { width:72px; height:72px; font-size:11px; top:28px; right:20px; }
  html { scroll-padding-top:76px; }
  [id] { scroll-margin-top:76px; }
  .news-track { animation-duration:22s; }
  .section-shell { padding:78px 20px; }
  .section-index { margin-bottom:35px; }
  .problem h2, .included-heading h2, .plans-heading h2, .process h2, .faq h2, .legal-copy h2 { font-size:51px; }
  blockquote { margin:60px 0 0; padding-left:45px; font-size:29px; }
  .demo-heading h2, .traffic-section h2 { font-size:52px; }
  .model-grid, .plans-grid, .included-list { grid-template-columns:1fr; }
  .model-card:last-child, .price-card:last-child { grid-column:auto; }
  .model-screen { height:315px; }
  .included-list > div:nth-child(odd) { border-right:0; }
  .funnel { display:grid; grid-template-columns:1fr 20px 1fr; }
  .funnel i:nth-of-type(2) { display:none; }
  .funnel span { min-height:68px; }
  .legal { grid-template-columns:1fr; }
  .legal-seal { width:210px; margin:auto; }
  .plans-heading { align-items:start; flex-direction:column; }
  .plans-grid { gap:10px; }
  .process-grid { grid-template-columns:1fr; }
  .process-grid article, .process-grid article + article { padding:22px 0; min-height:auto; border-right:0; border-bottom:1px solid var(--line); }
  .process-grid h3 { margin:30px 0 8px; }
  .faq { grid-template-columns:1fr; padding-top:60px; }
  .faq-list { margin-top:10px; }
  .faq details p { margin-left:0; margin-right:0; }
  .contact { grid-template-columns:1fr; }
  .contact-copy, .contact-form { padding:72px 20px; }
  .contact h2 { font-size:52px; }
  .contact-form input, .contact-form select { min-height:48px; font-size:16px; }
  .form-row { grid-template-columns:1fr; }
  footer { grid-template-columns:1fr; padding-bottom:90px; }
  footer > p { justify-self:start; }
  footer > div { grid-column:auto; gap:12px; flex-wrap:wrap; }
  .floating-cta { display:flex; }
  .privacy-content { padding:65px 20px 85px; }
  .privacy-content h1 { font-size:48px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; animation:none !important; }
  html.motion-ready [data-reveal] { opacity:1; translate:none; }
}
