/* ═══════════════════════════════════════════════════════
   FONTS - self-hosted, zero CDN
   Anton = display · Inter = body
   ═══════════════════════════════════════════════════════ */
@font-face { font-family:'Anton'; src:url('assets/fonts/Anton-400.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Inter'; src:url('assets/fonts/Inter-400.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Inter'; src:url('assets/fonts/Inter-500.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'Inter'; src:url('assets/fonts/Inter-600.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Inter'; src:url('assets/fonts/Inter-700.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; }

/* ═══════════════════════════════════════════════════════
   TOKENS
   ═══════════════════════════════════════════════════════ */
:root {
  --red:#E63946; --red-bright:#F0414E; --red-dark:#8C2029; --red-deep:#5E141B;
  --charcoal:#181311;        /* dark sections */
  --charcoal-2:#241D1A;      /* secondary dark surface */
  --ink:#1A1413;             /* body text */
  --paper:#FAF5F3;
  --paper-2:#F3ECE9;         /* light card bg */
  --white:#FFFFFF;
  --muted:#857A76;
  --sage:#B6A9A3;            /* muted text on dark */
  --line:#ECE3E0;
  --line-strong:#E0D5D1;
  --line-dark:rgba(255,255,255,.10);

  --radius:16px;
  --radius-lg:22px;
  --shadow-sm:0 1px 2px rgba(26,20,19,.05), 0 2px 8px rgba(26,20,19,.05);
  --shadow-md:0 8px 30px rgba(26,20,19,.10);
  --shadow-xl:0 30px 70px -20px rgba(26,20,19,.35);

  --font-display:'Anton', 'Arial Narrow', system-ui, sans-serif;
  --font-body:'Inter', system-ui, -apple-system, sans-serif;

  --max-w:1240px;
  --px:clamp(22px, 5vw, 56px);
  --py:clamp(80px, 9vw, 128px);
}

/* ═══════════════════════════════════════════════════════
   RESET
   ═══════════════════════════════════════════════════════ */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  font-family:var(--font-body);
  font-size:1.0625rem;
  line-height:1.65;
  color:var(--ink);
  background:var(--white);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img,svg { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; border:none; background:none; font:inherit; color:inherit; }
ul { list-style:none; }
::selection { background:var(--red); color:#fff; }
:focus-visible { outline:2.5px solid var(--red); outline-offset:3px; border-radius:3px; }
.how :focus-visible, .cta :focus-visible, .footer :focus-visible,
.tile--dark :focus-visible, .review--dark :focus-visible { outline-color:#fff; }

.display { font-family:var(--font-display); font-weight:400; letter-spacing:.01em; line-height:.92; text-transform:uppercase; }

/* ═══════════════════════════════════════════════════════
   LAYOUT
   ═══════════════════════════════════════════════════════ */
.container { width:100%; max-width:var(--max-w); margin-inline:auto; padding-inline:var(--px); position:relative; }
.section { padding-block:var(--py); position:relative; }

.section__head { max-width:760px; margin-bottom:clamp(44px,5vw,72px); }
.section__head--center { text-align:center; margin-inline:auto; }
.section__title { font-size:clamp(2.4rem, 5.2vw, 4.25rem); letter-spacing:.005em; }
.section__sub { margin-top:1.1rem; color:var(--muted); font-size:1.0625rem; max-width:560px; }
.section__head--center .section__sub { margin-inline:auto; }

.eyebrow {
  display:inline-flex; align-items:center; gap:.55rem;
  font-size:.72rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  color:var(--red); margin-bottom:1.1rem;
}
.eyebrow::before { content:''; width:24px; height:1.5px; background:currentColor; opacity:.55; }
.eyebrow--light { color:var(--red-bright); }

.accent { color:var(--red); }
.sage { color:var(--sage); }
/* highlight marker behind a word (FLUX signature) */
.mark { position:relative; display:inline-block; }
.mark::before {
  content:''; position:absolute; left:-.06em; right:-.06em; bottom:.1em; height:.34em;
  background:var(--red); z-index:-1; transform:rotate(-1.4deg); border-radius:2px;
}
.mark--dark::before { background:var(--charcoal); }
/* outlined word */
.outline { -webkit-text-stroke:1.5px var(--ink); color:transparent; }

/* ═══════════════════════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════════════════════ */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  padding:.95em 1.9em; border-radius:999px;
  font-family:var(--font-body); font-size:1rem; font-weight:700; letter-spacing:-0.01em;
  border:2px solid transparent; white-space:nowrap;
  transition:transform .18s cubic-bezier(.2,.7,.3,1), background .2s, color .2s, box-shadow .25s, border-color .2s;
}
.btn--sm { padding:.62em 1.25em; font-size:.875rem; }
.btn--lg { padding:1.05em 2.2em; font-size:1.0625rem; }

.btn--accent { background:var(--red); color:#fff; border-color:var(--red); box-shadow:0 8px 20px rgba(176,42,53,.26); }
.btn--accent:hover,.btn--accent:focus-visible { background:var(--red-dark); border-color:var(--red-dark); transform:translateY(-2px); box-shadow:0 14px 28px rgba(140,32,41,.34); }

.btn--dark { background:var(--charcoal); color:#fff; border-color:var(--charcoal); }
.btn--dark:hover,.btn--dark:focus-visible { background:var(--charcoal-2); border-color:var(--charcoal-2); transform:translateY(-2px); box-shadow:var(--shadow-md); }

.btn--ghost { background:transparent; color:var(--ink); border-color:var(--line-strong); }
.btn--ghost:hover,.btn--ghost:focus-visible { border-color:var(--ink); background:var(--white); transform:translateY(-2px); box-shadow:var(--shadow-sm); }

.btn--wa { background:#25D366; color:#fff; border-color:#25D366; }
.btn--wa:hover,.btn--wa:focus-visible { background:#1eb358; border-color:#1eb358; transform:translateY(-2px); box-shadow:0 14px 28px rgba(37,211,102,.32); }

/* ═══════════════════════════════════════════════════════
   REVEAL
   ═══════════════════════════════════════════════════════ */
.reveal { opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1); }
.reveal.visible { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .reveal{transition:none;opacity:1;transform:none;} html{scroll-behavior:auto;} }

/* ═══════════════════════════════════════════════════════
   NAV
   ═══════════════════════════════════════════════════════ */
.nav { position:sticky; top:0; z-index:100; background:rgba(255,255,255,.85); backdrop-filter:saturate(1.4) blur(16px); -webkit-backdrop-filter:saturate(1.4) blur(16px); border-bottom:1px solid transparent; transition:border-color .3s, box-shadow .3s; }
.nav.scrolled { border-bottom-color:var(--line); box-shadow:0 1px 22px rgba(26,20,19,.05); }
.nav__inner { display:flex; align-items:center; gap:2rem; height:80px; }

/* brand lockup: badge icon + wordmark in the page font */
.brand { display:inline-flex; align-items:center; gap:.5rem; }
.brand__mark { height:40px; width:auto; flex-shrink:0; }
.brand__text { font-family:var(--font-display); font-weight:400; font-size:1.7rem; line-height:1; letter-spacing:.005em; text-transform:lowercase; color:var(--ink); }
.brand__text .accent { color:var(--red); }
.brand--light .brand__text { color:#fff; }
.brand--light .brand__text .accent { color:var(--red-bright); }
.nav__links { display:flex; align-items:center; gap:2.1rem; margin-left:auto; margin-right:1.4rem; }
.nav__links a { font-size:.9375rem; font-weight:500; color:var(--ink); position:relative; padding-block:5px; }
.nav__links a::after { content:''; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--red); transition:width .28s cubic-bezier(.2,.7,.3,1); }
.nav__links a:hover::after { width:100%; }
.nav__burger { display:none; flex-direction:column; gap:5px; padding:8px; margin-left:auto; min-width:44px; min-height:44px; justify-content:center; align-items:center; }
.nav__burger span { display:block; width:24px; height:2px; background:var(--ink); border-radius:2px; transition:transform .3s, opacity .3s; }

@media (max-width:820px){
  /* drop backdrop-filter so the fixed menu anchors to the viewport, not the nav */
  .nav { background:rgba(255,255,255,.97); backdrop-filter:none; -webkit-backdrop-filter:none; }
  .nav__links {
    position:fixed; inset:80px 0 0 0; flex-direction:column; align-items:center; justify-content:center;
    gap:2.2rem; font-size:1.4rem; margin:0; z-index:99;
    background:var(--charcoal); transform:translateX(100%); transition:transform .4s cubic-bezier(.4,0,.2,1);
  }
  .nav__links.open { transform:none; }
  .nav__links a { color:#fff; font-weight:600; font-family:var(--font-display); letter-spacing:.02em; }
  .nav__links a::after { background:var(--red); }
  .nav__burger { display:flex; }
  .nav__cta { display:none; }
  .nav__burger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg);}
  .nav__burger.open span:nth-child(2){ opacity:0;}
  .nav__burger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg);}
}

/* smaller, full-width buttons on phones */
@media (max-width:560px){
  .btn { padding:.8em 1.4em; font-size:.95rem; }
  .btn--lg { padding:.9em 1.6em; font-size:1rem; }
  .hero__actions { flex-direction:column; align-items:stretch; }
  .hero__actions .btn { width:100%; }
}

/* ═══════════════════════════════════════════════════════
   HERO
   ═══════════════════════════════════════════════════════ */
.hero { position:relative; padding-top:clamp(56px,7vw,92px); padding-bottom:clamp(72px,8vw,112px); overflow:hidden; background:var(--white); }
.hero__grid {
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:linear-gradient(to right, rgba(26,20,19,.05) 1px, transparent 1px),
                   linear-gradient(to bottom, rgba(26,20,19,.05) 1px, transparent 1px);
  background-size:42px 42px;
  -webkit-mask-image:radial-gradient(80% 70% at 50% 30%, #000 0%, transparent 78%);
  mask-image:radial-gradient(80% 70% at 50% 30%, #000 0%, transparent 78%);
}
.hero__fade { position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(to bottom, transparent 40%, var(--white)); }
.hero__inner { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; gap:clamp(44px,5vw,72px); }
.hero__head { max-width:880px; }

.badge {
  display:inline-flex; align-items:center; gap:.55rem;
  background:rgba(26,20,19,.04); border:1px solid var(--line-strong);
  color:var(--ink); font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  padding:.5em 1em .5em .8em; border-radius:999px; margin-bottom:1.6rem;
}
.badge__dot { width:8px; height:8px; border-radius:50%; background:var(--red); box-shadow:0 0 0 4px rgba(230,57,70,.18); animation:pulse 2.4s ease-in-out infinite; }
@keyframes pulse { 0%,100%{box-shadow:0 0 0 4px rgba(230,57,70,.18);} 50%{box-shadow:0 0 0 7px rgba(230,57,70,.05);} }
@media (prefers-reduced-motion:reduce){ .badge__dot{animation:none;} }

.hero__title { font-size:clamp(1.6rem, 6.5vw, 4.5rem); line-height:1.18; margin-bottom:1.5rem; color:var(--ink); }
.hero__sub { color:var(--muted); font-size:clamp(1.0625rem,1.4vw,1.2rem); max-width:560px; margin:0 auto 2.1rem; }
.hero__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:.85rem; margin-bottom:2.1rem; }
.hero__points { display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem 1.5rem; }
.hero__points li { display:flex; align-items:center; gap:.5rem; font-size:.9375rem; font-weight:500; color:var(--ink); }
.hero__points li::before {
  content:''; width:18px; height:18px; flex-shrink:0; border-radius:50%;
  background:var(--red);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center/100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center/100% no-repeat;
}

/* browser window */
.hero__visual { position:relative; width:100%; max-width:980px; margin-inline:auto; }
.hero__glow { position:absolute; inset:6% 0 -8% 0; background:radial-gradient(60% 60% at 55% 45%, rgba(230,57,70,.22), transparent 70%); filter:blur(50px); z-index:-1; }
.window { border:1px solid var(--line-strong); border-radius:var(--radius-lg); overflow:hidden; background:var(--white); box-shadow:var(--shadow-xl); }
.window__bar { display:flex; align-items:center; gap:.75rem; padding:.7rem 1rem; border-bottom:1px solid var(--line); background:var(--paper); }
.window__dots { display:flex; gap:6px; }
.window__dots i { width:11px; height:11px; border-radius:50%; display:block; }
.window__dots i:nth-child(1){ background:#FF5F57; }
.window__dots i:nth-child(2){ background:#FEBC2E; }
.window__dots i:nth-child(3){ background:#28C840; }
.window__title { margin:0 auto; font-size:.78rem; font-weight:500; color:var(--muted); }
.window__body { position:relative; background:radial-gradient(120% 120% at 50% 0%, #fff, var(--paper-2)); padding:clamp(20px,3vw,40px); display:flex; align-items:center; justify-content:center; min-height:300px; }
.window__body img { width:100%; max-width:460px; }
.window__chip {
  position:absolute; left:6%; bottom:8%;
  display:flex; align-items:center; gap:.6rem;
  background:rgba(255,255,255,.92); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border:1px solid var(--line); border-radius:13px; padding:.6rem .85rem;
  box-shadow:0 14px 32px -10px rgba(26,20,19,.3);
  animation:float 5s ease-in-out infinite;
}
.window__chip strong { display:block; font-size:.82rem; font-weight:700; }
.window__chip span { display:block; font-size:.72rem; color:var(--muted); }
.window__chip-dot { width:10px; height:10px; border-radius:50%; background:#28C840; box-shadow:0 0 0 4px rgba(40,200,64,.18); flex-shrink:0; }
@keyframes float { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);} }
@media (prefers-reduced-motion:reduce){ .window__chip{animation:none;} }

@media (max-width:600px){
  .hero__visual { max-width:460px; }
}

/* ═══════════════════════════════════════════════════════
   STRIP
   ═══════════════════════════════════════════════════════ */
.strip { padding-block:clamp(36px,4vw,52px); border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--white); }
.strip .container { display:flex; flex-direction:column; align-items:center; gap:1.1rem; text-align:center; }
.strip__label { font-size:.72rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
.strip__items { display:flex; flex-wrap:wrap; justify-content:center; gap:1rem 2.2rem; }
.strip__items span { font-family:var(--font-display); font-size:clamp(1.3rem,2.6vw,1.9rem); color:var(--ink); opacity:.32; text-transform:uppercase; letter-spacing:.02em; transition:opacity .25s; }
.strip__items span:hover { opacity:.7; }

/* ═══════════════════════════════════════════════════════
   BENTO TILES (problem + benefits share .tile)
   ═══════════════════════════════════════════════════════ */
.bento { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.tile {
  position:relative; background:var(--paper-2); border:1px solid var(--line);
  border-radius:var(--radius-lg); overflow:hidden; padding:1.9rem;
  display:flex; flex-direction:column; gap:1rem; min-height:240px;
  transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s;
}
.tile:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.tile__title { font-size:1.6rem; margin-bottom:.35rem; letter-spacing:.01em; }
.tile__body p { color:var(--muted); font-size:.9375rem; }
.tile__body { position:relative; z-index:2; }

/* problem tiles: image on top */
.problem__grid .tile { padding:0; min-height:0; }
.problem__grid .tile__media { aspect-ratio:16/11; background:radial-gradient(120% 120% at 50% 20%, #fff, var(--paper-2)); display:flex; align-items:center; justify-content:center; }
.problem__grid .tile__media img { width:66%; height:66%; object-fit:contain; transition:transform .45s cubic-bezier(.2,.7,.3,1); }
.problem__grid .tile:hover .tile__media img { transform:scale(1.07) translateY(-3px); }
.problem__grid .tile__body { padding:1.6rem 1.7rem 1.9rem; }

/* benefits bento - top row 2 wide cards, bottom row 4 cards */
.benefits__grid { grid-template-columns:repeat(4,1fr); }
.benefits__grid .tile { grid-column:span 1; }
.benefits__grid .tile:nth-child(1),
.benefits__grid .tile:nth-child(2) { grid-column:span 2; }
.tile--feature { background:var(--white); flex-direction:row; align-items:center; gap:1.5rem; }
.tile--feature .tile__body { flex:1; }
.tile--feature .tile__shot { flex:1; display:flex; justify-content:center; }
.tile--feature .tile__shot img { width:80%; max-width:280px; }
.tile--dark { background:var(--charcoal); color:#fff; }
.tile--dark .tile__body p { color:var(--sage); }
.tile--accent { background:linear-gradient(165deg, var(--red-bright), var(--red-dark)); color:#fff; }
.tile--accent .tile__body p { color:rgba(255,255,255,.86); }
.tile__icon { position:absolute; right:1.5rem; bottom:1.5rem; width:44px; height:44px; opacity:.9; }
.tile__icon svg { width:100%; height:100%; }
.tile--accent .tile__icon, .tile--dark .tile__icon { color:#fff; }

@media (max-width:900px){
  .bento { grid-template-columns:1fr 1fr; }
  .tile--feature { flex-direction:column; align-items:flex-start; }
}
@media (max-width:600px){
  .bento { grid-template-columns:1fr; max-width:440px; margin-inline:auto; }
  .benefits__grid .tile,
  .benefits__grid .tile:nth-child(1),
  .benefits__grid .tile:nth-child(2) { grid-column:span 1; }
}

/* ═══════════════════════════════════════════════════════
   HOW IT WORKS (dark, sticky)
   ═══════════════════════════════════════════════════════ */
.how { background:var(--charcoal); color:#fff; }
.how__inner { display:flex; flex-direction:column; gap:3rem; }
.how__title { font-size:clamp(2.6rem,5.4vw,4.5rem); margin-bottom:1.2rem; }
.how__lead { color:var(--sage); font-size:1.0625rem; max-width:340px; }
.how__steps { display:flex; flex-direction:column; gap:1rem; }
.step {
  display:grid; grid-template-columns:auto 92px 1fr; align-items:center; gap:1.5rem;
  padding:1.6rem 0; border-top:1px solid var(--line-dark);
}
.step:last-child { border-bottom:1px solid var(--line-dark); }
.step__num { font-size:3.5rem; color:rgba(255,255,255,.16); transition:color .4s; }
.step:hover .step__num { color:var(--red-bright); }
.step__media { width:92px; height:92px; border-radius:14px; background:var(--charcoal-2); display:flex; align-items:center; justify-content:center; padding:10px; }
.step__media img { width:100%; height:100%; object-fit:contain; }
.step__title { font-size:1.55rem; margin-bottom:.3rem; }
.step__body p { color:var(--sage); font-size:.95rem; }

@media (min-width:760px){
  .how__inner { flex-direction:row; gap:5rem; align-items:flex-start; }
  .how__aside { width:34%; position:sticky; top:120px; }
  .how__steps { width:66%; }
}
@media (max-width:560px){
  .step { grid-template-columns:auto 1fr; gap:1rem .9rem; }
  .step__media { display:none; }
  .step__num { font-size:2.6rem; }
}

/* ═══════════════════════════════════════════════════════
   VERTICALS
   ═══════════════════════════════════════════════════════ */
.verticals__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
.vcard {
  background:var(--paper-2); border:1px solid var(--line); border-bottom:4px solid var(--line-strong);
  border-radius:var(--radius-lg); padding:1.7rem 1.6rem 1.8rem; display:flex; flex-direction:column;
  text-align:center;
  transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s;
}
.vcard:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.vcard--active { background:var(--white); border-bottom-color:var(--red); }
.vcard--soon { opacity:.92; }
.vcard__badge { align-self:center; font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:.3em .8em; border-radius:999px; background:var(--red); color:#fff; margin-bottom:1rem; }
.vcard__badge--soon { background:var(--charcoal); color:#fff; opacity:.55; }
.vcard__media { aspect-ratio:1; display:flex; align-items:center; justify-content:center; margin-bottom:1.1rem; }
.vcard__media img { width:78%; height:78%; object-fit:contain; transition:transform .4s cubic-bezier(.2,.7,.3,1); }
.vcard:hover .vcard__media img { transform:scale(1.07); }
.vcard--soon .vcard__media img { filter:grayscale(.5); opacity:.78; }
.vcard__title { font-size:1.45rem; margin-bottom:.4rem; }
.vcard p { color:var(--muted); font-size:.875rem; margin-bottom:1.4rem; min-height:3.3em; }
.vcard .btn { margin-top:auto; align-self:center; }

@media (max-width:1000px){ .verticals__grid { grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .verticals__grid { grid-template-columns:1fr; max-width:360px; margin-inline:auto; } }

/* ═══════════════════════════════════════════════════════
   PRICING
   ═══════════════════════════════════════════════════════ */
.pricing__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; align-items:stretch; }
.pcard {
  position:relative; background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-lg); padding:2.1rem 1.9rem 2.2rem; display:flex; flex-direction:column;
  transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s;
}
.pcard:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.pcard--highlight { background:var(--charcoal); color:#fff; border-color:var(--charcoal); }
.pcard__tag { position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--red); color:#fff; font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:.35em 1em; border-radius:999px; }
.pcard__cond { display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:.7rem; }
.pcard__cond--light { color:rgba(255,255,255,.7); }
.pcard__name { font-size:1.9rem; margin-bottom:.6rem; }
.pcard__price { color:var(--muted); font-size:.95rem; margin-bottom:1.6rem; }
.pcard--highlight .pcard__price { color:var(--sage); }
.pcard__price strong { font-family:var(--font-display); font-weight:400; font-size:1.7rem; color:var(--ink); letter-spacing:.01em; }
.pcard--highlight .pcard__price strong { color:#fff; }
.pcard__price span { font-size:.85rem; }
.pcard__list { display:flex; flex-direction:column; gap:.7rem; margin-bottom:2rem; }
.pcard__list li { display:flex; gap:.65rem; align-items:flex-start; font-size:.9375rem; color:var(--ink); }
.pcard--highlight .pcard__list li { color:rgba(255,255,255,.9); }
.pcard__list li::before { content:''; width:18px; height:18px; flex-shrink:0; margin-top:1px; background:var(--red); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center/100% no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center/100% no-repeat; }
.pcard .btn { width:100%; margin-top:auto; }
.pricing__note {
  display:flex; align-items:center; justify-content:center; gap:.6rem;
  margin-top:2.2rem; padding:1rem 1.4rem; max-width:680px; margin-inline:auto;
  text-align:center; font-size:.95rem; font-weight:500; color:var(--ink);
  background:var(--paper-2); border:1px solid var(--line); border-radius:999px;
}
.pricing__note-icon { flex-shrink:0; width:20px; height:20px; border-radius:50%; background:var(--red);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M12 6V3L8 7l4 4V8a4 4 0 1 1-4 4H6a6 6 0 1 0 6-6z'/%3E%3C/svg%3E") center/100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M12 6V3L8 7l4 4V8a4 4 0 1 1-4 4H6a6 6 0 1 0 6-6z'/%3E%3C/svg%3E") center/100% no-repeat; }
@media (max-width:900px){ .pricing__grid { grid-template-columns:1fr; max-width:400px; margin-inline:auto; } .pricing__note { border-radius:16px; } }

/* ═══════════════════════════════════════════════════════
   TESTIMONIALS
   ═══════════════════════════════════════════════════════ */
.testimonials__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; align-items:start; }
.review { background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); padding:2rem 1.85rem; display:flex; flex-direction:column; gap:1.25rem; transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s; }
.review:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.review--dark { background:var(--charcoal); color:#fff; }
@media (min-width:760px){ .review--dark { transform:translateY(-18px); box-shadow:var(--shadow-xl); } .review--dark:hover{ transform:translateY(-24px);} }
.review__stars { display:flex; gap:3px; color:var(--red); }
.review--dark .review__stars { color:var(--red-bright); }
.review__stars svg { width:18px; height:18px; }
.review__quote { font-size:1.0625rem; line-height:1.6; font-weight:500; }
.review__author { display:flex; align-items:center; gap:.85rem; }
.review__author img { width:48px; height:48px; border-radius:50%; object-fit:cover; border:2px solid var(--white); box-shadow:var(--shadow-sm); }
.review--dark .review__author img { border-color:var(--charcoal-2); }
.review__author strong { display:block; font-family:var(--font-display); font-weight:400; font-size:1.05rem; text-transform:uppercase; letter-spacing:.02em; }
.review__author span { font-size:.78rem; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; font-weight:600; }
.review--dark .review__author span { color:var(--sage); }
.review__ph { font-size:.7rem; color:var(--muted); opacity:.7; margin-top:auto; }
.review--dark .review__ph { color:var(--sage); }
@media (max-width:900px){ .testimonials__grid { grid-template-columns:1fr; max-width:440px; margin-inline:auto; } .review--dark{transform:none;} }

/* ═══════════════════════════════════════════════════════
   FAQ
   ═══════════════════════════════════════════════════════ */
.faq__inner { max-width:820px; }
.faq__list { display:flex; flex-direction:column; gap:.8rem; }
.faq__item { border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--white); transition:border-color .25s, box-shadow .25s; }
.faq__item:has(.faq__q[aria-expanded="true"]) { border-color:var(--line-strong); box-shadow:var(--shadow-sm); }
.faq__q { width:100%; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.25rem 1.6rem; min-height:44px; font-family:var(--font-display); font-weight:400; font-size:1.15rem; text-transform:uppercase; letter-spacing:.02em; text-align:left; color:var(--ink); }
.faq__q:hover { color:var(--red); }
.faq__icon { flex-shrink:0; width:22px; height:22px; position:relative; color:var(--red); }
.faq__icon::before,.faq__icon::after { content:''; position:absolute; background:currentColor; border-radius:2px; transition:transform .28s, opacity .28s; }
.faq__icon::before { width:13px; height:2.5px; top:50%; left:50%; transform:translate(-50%,-50%); }
.faq__icon::after { width:2.5px; height:13px; top:50%; left:50%; transform:translate(-50%,-50%); }
.faq__q[aria-expanded="true"] .faq__icon::after { transform:translate(-50%,-50%) rotate(90deg); opacity:0; }
.faq__a { padding:0 1.6rem 1.4rem; }
.faq__a p { color:var(--muted); font-size:.9375rem; line-height:1.7; }

/* ═══════════════════════════════════════════════════════
   FINAL CTA (red band)
   ═══════════════════════════════════════════════════════ */
.cta { position:relative; padding-block:var(--py); overflow:hidden; background:linear-gradient(160deg, var(--red) 0%, var(--red-dark) 60%, var(--red-deep) 100%); color:#fff; }
.cta__watermark { position:absolute; bottom:-.32em; left:50%; transform:translateX(-50%); font-size:28vw; line-height:1; color:rgba(255,255,255,.07); white-space:nowrap; pointer-events:none; z-index:0; }
.cta__inner { position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(40px,5vw,72px); align-items:center; }
.cta__title { font-size:clamp(2.4rem,5vw,4rem); color:#fff; margin-bottom:1rem; }
.cta__title .mark--dark::before { background:var(--charcoal); }
.cta__lead { color:rgba(255,255,255,.85); font-size:1.0625rem; margin-bottom:2.2rem; }

.cta-form { display:flex; flex-direction:column; gap:1rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-group { display:flex; flex-direction:column; gap:.42rem; }
.form-group label { font-size:.76rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.78); }
.form-group input,.form-group select { padding:.82em 1rem; border-radius:12px; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.1); color:#fff; font-family:var(--font-body); font-size:.9375rem; min-height:46px; transition:border-color .2s, background .2s, box-shadow .2s; -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.form-group input::placeholder { color:rgba(255,255,255,.5); }
.form-group input:focus,.form-group select:focus { outline:none; border-color:#fff; background:rgba(255,255,255,.16); box-shadow:0 0 0 4px rgba(255,255,255,.1); }
.form-group select option { background:var(--red-deep); color:#fff; }
.form__actions { display:flex; flex-wrap:wrap; align-items:stretch; gap:.85rem; margin-top:.6rem; }
.form__actions .btn { flex:1 1 200px; }
.form__success { color:#fff; font-weight:500; font-size:.9375rem; padding:1rem 1.1rem; background:rgba(255,255,255,.14); border-left:3px solid #fff; border-radius:12px; }

.cta__visual .window { box-shadow:0 30px 70px rgba(40,8,12,.45); border-color:rgba(255,255,255,.2); }
.cta__visual .window__bar { background:rgba(255,255,255,.08); border-bottom-color:rgba(255,255,255,.12); }
.cta__visual .window__title { color:rgba(255,255,255,.7); }
.window__body--cta { background:#fff; }
.window__body--cta img { max-width:380px; }

@media (max-width:900px){
  .cta__inner { grid-template-columns:1fr; }
  .cta__visual { display:none; }
  .form-row { grid-template-columns:1fr; }
  .cta__watermark { font-size:46vw; }
}
@media (max-width:480px){ .form__actions{flex-direction:column;} .form__actions .btn{ flex:0 0 auto; width:100%; } }

/* ═══════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════ */
.footer { background:var(--charcoal); color:var(--sage); padding-block:clamp(56px,6vw,84px) 2rem; }
.footer__top { display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr; gap:2.5rem; padding-bottom:3rem; }
.footer__brand .brand { margin-bottom:1rem; }
.footer__brand p { font-size:.9375rem; max-width:240px; color:rgba(255,255,255,.55); }
.footer__col h4 { font-family:var(--font-body); font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--sage); margin-bottom:1.1rem; }
.footer__col { display:flex; flex-direction:column; gap:.7rem; }
.footer__col a { font-size:.9375rem; color:rgba(255,255,255,.6); transition:color .2s; width:fit-content; }
.footer__col a:hover { color:#fff; }
.footer__bottom { border-top:1px solid var(--line-dark); padding-top:1.6rem; }
.footer__bottom p { font-size:.82rem; color:rgba(255,255,255,.45); }
.footer__bottom .accent { color:var(--red-bright); font-weight:700; }

@media (max-width:820px){ .footer__top { grid-template-columns:1fr 1fr; } .footer__brand { grid-column:1/-1; } }
@media (max-width:480px){ .footer__top { grid-template-columns:1fr; } }

/* ═══════════════════════════════════════════════════════
   CONTACT + LEGAL PAGES
   ═══════════════════════════════════════════════════════ */
.subpage-hero { padding-top:clamp(48px,6vw,84px); padding-bottom:clamp(32px,4vw,52px); }
.subpage-hero .section__title { font-size:clamp(2.4rem,5vw,3.6rem); }

.contact__methods { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:clamp(32px,4vw,48px); }
.contact-card { display:flex; flex-direction:column; gap:.35rem; padding:1.8rem; background:var(--paper-2); border:1px solid var(--line); border-bottom:4px solid var(--red); border-radius:var(--radius-lg); transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s; }
.contact-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.contact-card__icon { width:46px; height:46px; border-radius:12px; background:var(--red); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:.7rem; }
.contact-card__icon svg { width:22px; height:22px; }
.contact-card h2 { font-family:var(--font-display); font-weight:400; font-size:1.25rem; text-transform:uppercase; letter-spacing:.02em; }
.contact-card span { font-size:.85rem; color:var(--muted); }
.contact-card strong { font-size:1.05rem; color:var(--ink); font-weight:600; }
@media (max-width:760px){ .contact__methods { grid-template-columns:1fr; max-width:420px; margin-inline:auto; } }

.cta__form-wrap { position:relative; z-index:1; max-width:680px; margin-inline:auto; text-align:center; }
.cta__form-wrap .cta__title { color:#fff; font-size:clamp(2rem,4vw,3rem); margin-bottom:.8rem; }
.cta__form-wrap .cta-form { text-align:left; margin-top:1.8rem; }

.prose { max-width:780px; margin-inline:auto; }
.prose .updated { font-size:.85rem; color:var(--muted); margin-bottom:2rem; }
.prose h2 { font-family:var(--font-display); font-weight:400; text-transform:uppercase; font-size:1.5rem; letter-spacing:.02em; margin:2.2rem 0 .7rem; }
.prose p { color:var(--ink-soft); margin-bottom:1rem; }
.prose ul { margin:0 0 1rem 1.3rem; list-style:disc; color:var(--ink-soft); }
.prose li { margin-bottom:.4rem; }
.prose a { color:var(--red); text-decoration:underline; }
