﻿/* ============================================
   OCTABIT DESIGN SYSTEM v2
   Inspired by Linear · Vercel · Stripe · Resend
   ============================================ */

/* --- Tokens --- */
:root {
    --white: #ffffff;
    --zinc-50: #fafafa;
    --zinc-100: #f4f4f5;
    --zinc-200: #e4e4e7;
    --zinc-300: #d4d4d8;
    --zinc-400: #a1a1aa;
    --zinc-500: #71717a;
    --zinc-600: #52525b;
    --zinc-700: #3f3f46;
    --zinc-800: #27272a;
    --zinc-900: #18181b;
    --zinc-950: #09090b;

    --blue-50: #eff6ff;
    --blue-100: #dbeafe;
    --blue-400: #60a5fa;
    --blue-500: #3b82f6;
    --blue-600: #2563eb;
    --blue-700: #1d4ed8;
    --violet-400: #a78bfa;
    --violet-500: #8b5cf6;
    --violet-600: #7c3aed;
    --emerald-500: #10b981;
    --red-500: #ef4444;

    --font-display: 'Space Grotesk', system-ui, sans-serif;
    --font-body: 'Inter', system-ui, sans-serif;

    --text-xs: .75rem;
    --text-sm: .875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;
    --text-5xl: 3rem;
    --text-6xl: 3.75rem;

    --sp-1: .25rem; --sp-2: .5rem; --sp-3: .75rem; --sp-4: 1rem;
    --sp-5: 1.25rem; --sp-6: 1.5rem; --sp-8: 2rem; --sp-10: 2.5rem;
    --sp-12: 3rem; --sp-16: 4rem; --sp-20: 5rem; --sp-24: 6rem;

    --radius-sm: 8px; --radius-md: 12px; --radius-lg: 16px;
    --radius-xl: 20px; --radius-2xl: 24px; --radius-full: 9999px;

    --shadow-xs: 0 1px 2px rgba(0,0,0,.04);
    --shadow-sm: 0 2px 4px rgba(0,0,0,.06);
    --shadow-md: 0 4px 12px rgba(0,0,0,.08);
    --shadow-lg: 0 8px 24px rgba(0,0,0,.12);
    --shadow-glow: 0 0 40px rgba(37,99,235,.15);

    --ease: cubic-bezier(.4,0,.2,1);
    --ease-out: cubic-bezier(0,.55,.45,1);
    --dur: .2s;

    --header-h: 64px;
    --max-w: 1200px;
    --max-w-sm: 640px;
    --max-w-md: 768px;
}

/* --- Reset --- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 20px);-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--zinc-700);background:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px;border-radius:var(--radius-sm)}

/* --- Typography --- */
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;letter-spacing:-.025em;color:var(--zinc-950)}
h1{font-size:var(--text-5xl);letter-spacing:-.035em;line-height:1.1}
h2{font-size:var(--text-3xl);letter-spacing:-.03em}
h3{font-size:var(--text-xl)}
h4{font-size:var(--text-lg);font-weight:500}
p{margin-bottom:var(--sp-4);line-height:1.65}
p:last-child{margin-bottom:0}
.gradient-text{background:linear-gradient(135deg,var(--white) 0%,var(--zinc-400) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* --- Layout --- */
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--sp-6)}
.container--sm{max-width:var(--max-w-sm)}
.container--md{max-width:var(--max-w-md)}
.section{padding:var(--sp-20) 0}
.section--sm{padding:var(--sp-12) 0}
.section--dark{background:var(--zinc-950);color:var(--zinc-400)}
.section--dark h2,.section--dark h3{color:var(--white)}
.section--subtle{background:var(--zinc-50)}
.section__eyebrow{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--blue-600);margin-bottom:var(--sp-4)}
.section__eyebrow--light{color:var(--blue-400)}
.section__title{margin-bottom:var(--sp-4)}
.section__desc{font-size:var(--text-lg);color:var(--zinc-500);max-width:560px;line-height:1.65}
.section__desc--center{margin:0 auto}
.section__header{text-align:center;margin-bottom:var(--sp-12)}
.section__header .section__desc{margin:0 auto}

/* --- Grid --- */
.grid{display:grid;gap:var(--sp-4)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}

/* --- Buttons --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-family:var(--font-body);font-weight:500;font-size:var(--text-sm);padding:10px 20px;border-radius:var(--radius-md);transition:all var(--dur) var(--ease);white-space:nowrap;line-height:1.4}
.btn--lg{padding:12px 28px;font-size:var(--text-base)}
.btn--sm{padding:7px 14px;font-size:var(--text-xs)}
.btn--primary{background:var(--blue-600);color:var(--white);box-shadow:var(--shadow-xs),inset 0 1px 0 rgba(255,255,255,.1)}
.btn--primary:hover{background:var(--blue-700);box-shadow:var(--shadow-sm),var(--shadow-glow)}
.btn--secondary{background:var(--zinc-950);color:var(--white)}
.btn--secondary:hover{background:var(--zinc-800)}
.btn--ghost{color:var(--zinc-400);border:1px solid var(--zinc-800)}
.btn--ghost:hover{color:var(--white);border-color:var(--zinc-600);background:rgba(255,255,255,.04)}
.btn--outline{color:var(--zinc-700);border:1px solid var(--zinc-300)}
.btn--outline:hover{border-color:var(--blue-600);color:var(--blue-600)}
.btn--full{width:100%}

/* --- Header --- */
.header{position:sticky;top:0;z-index:100;height:var(--header-h);display:flex;align-items:center;background:rgba(255,255,255,.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--zinc-200);transition:all var(--dur) var(--ease)}
.header--scrolled{box-shadow:var(--shadow-xs)}
.header--dark{background:rgba(9,9,11,.8);border-color:rgba(255,255,255,.06)}
.header__inner{display:flex;align-items:center;justify-content:space-between}
.header__logo img{height:56px;width:auto}
.header__nav{display:flex;align-items:center;gap:var(--sp-1)}
.header__link{font-size:var(--text-sm);font-weight:450;color:var(--zinc-500);padding:6px 12px;border-radius:var(--radius-sm);transition:color var(--dur) var(--ease)}
.header__link:hover{color:var(--zinc-950)}
.header__link--active{color:var(--zinc-950);font-weight:500}
.header--dark .header__link{color:var(--zinc-400)}
.header--dark .header__link:hover,.header--dark .header__link--active{color:var(--white)}
.header__cta{margin-left:var(--sp-3)}
.header__toggle{display:none;width:40px;height:40px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:var(--radius-md)}
.header__toggle span{display:block;width:20px;height:2px;background:var(--zinc-600);border-radius:1px;transition:all var(--dur) var(--ease)}
.header--dark .header__toggle span{background:var(--zinc-300)}
.header__toggle.active span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}
.header__toggle.active span:nth-child(2){opacity:0}
.header__toggle.active span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}

/* --- Hero (Dark / Linear-style) --- */
.hero{position:relative;padding:var(--sp-24) 0 var(--sp-20);text-align:center;overflow:hidden}
.hero--dark{background:var(--zinc-950);color:var(--zinc-400)}
.hero--dark::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(37,99,235,.15),transparent),radial-gradient(ellipse 60% 40% at 80% 50%,rgba(124,58,237,.08),transparent);pointer-events:none}
.hero--dark h1{color:var(--white)}
.hero--light{background:var(--zinc-50);border-bottom:1px solid var(--zinc-200)}
.hero--sub{padding:var(--sp-16) 0 var(--sp-12)}
.hero--sub h1{font-size:var(--text-4xl)}
.hero__badge{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:5px 14px;border-radius:var(--radius-full);margin-bottom:var(--sp-6)}
.hero--dark .hero__badge{background:rgba(37,99,235,.12);color:var(--blue-400);border:1px solid rgba(37,99,235,.2)}
.hero--light .hero__badge{background:var(--blue-50);color:var(--blue-600);border:1px solid var(--blue-100)}
.hero__title{max-width:800px;margin:0 auto var(--sp-5);position:relative;z-index:1}
.hero__subtitle{max-width:540px;margin:0 auto var(--sp-8);font-size:var(--text-lg);line-height:1.7;position:relative;z-index:1}
.hero__actions{display:flex;gap:var(--sp-3);justify-content:center;flex-wrap:wrap;position:relative;z-index:1}

/* --- Hero Inline Stats --- */
.hero__stats{display:flex;justify-content:center;gap:var(--sp-8);margin-top:var(--sp-10);position:relative;z-index:1}
.hero__stat{text-align:center}
.hero__stat-number{display:block;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--blue-400);letter-spacing:-.03em;line-height:1}
.hero__stat-label{display:block;font-size:var(--text-xs);color:var(--zinc-400);margin-top:var(--sp-1);letter-spacing:.02em}

/* --- Social Proof Bar (legacy/subpages) --- */
.proof-bar{border-bottom:1px solid var(--zinc-200);padding:var(--sp-6) 0;background:var(--white)}
.proof-bar__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-8)}
.proof-bar__item{display:flex;align-items:center;gap:var(--sp-4)}
.proof-bar__number{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;color:var(--blue-600);line-height:1;letter-spacing:-.03em}
.proof-bar__label{font-size:var(--text-sm);color:var(--zinc-500);line-height:1.4}
.proof-bar__label strong{color:var(--zinc-700);font-weight:600}

/* --- Compact Card --- */
.card--compact{padding:var(--sp-5)}
.card--compact p{margin-bottom:0}

/* --- Feature Bento Grid --- */
.bento{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4)}
.bento__card{background:var(--zinc-50);border:1px solid var(--zinc-200);border-radius:var(--radius-xl);padding:var(--sp-8);transition:all var(--dur) var(--ease);position:relative;overflow:hidden}
.bento__card:hover{border-color:var(--zinc-300);box-shadow:var(--shadow-md)}
.bento__card--lg{grid-column:span 2}
.bento__card--lg .bento__inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-8);align-items:center}
.bento__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--white);border:1px solid var(--zinc-200);color:var(--blue-600);margin-bottom:var(--sp-5)}
.bento__icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bento__card h3{margin-bottom:var(--sp-2)}
.bento__card p{color:var(--zinc-500);font-size:var(--text-sm);line-height:1.6}
.bento__visual{background:var(--white);border:1px solid var(--zinc-200);border-radius:var(--radius-lg);height:180px;display:flex;align-items:center;justify-content:center;color:var(--zinc-300);font-size:var(--text-sm);overflow:hidden}
.bento__visual img,.feature-row__visual img{width:100%;height:100%;object-fit:cover;object-position:top left}

/* --- Service Block --- */
.service-block{padding:var(--sp-8);background:var(--zinc-50);border:1px solid var(--zinc-200);border-left:3px solid var(--blue-600);border-radius:var(--radius-xl)}
.service-block h3{margin-bottom:var(--sp-2)}
.service-block .bento__icon{margin-bottom:var(--sp-4)}

/* --- Feature Row (alternating) --- */
.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-12);align-items:center}
.feature-row--reverse{direction:rtl}
.feature-row--reverse > *{direction:ltr}
.feature-row__content{max-width:480px}
.feature-row__visual{background:var(--zinc-50);border:1px solid var(--zinc-200);border-radius:var(--radius-xl);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:var(--zinc-300);font-size:var(--text-sm);overflow:hidden}

/* --- Timeline (horizontal steps) --- */
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-8);position:relative;counter-reset:step}
.timeline::before{content:'';position:absolute;top:20px;left:calc(16.67% + 20px);right:calc(16.67% + 20px);height:1px;background:var(--zinc-200)}
.timeline__step{text-align:center;position:relative;counter-increment:step}
.timeline__num{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--white);border:2px solid var(--zinc-200);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;color:var(--zinc-950);margin:0 auto var(--sp-5);position:relative;z-index:1;transition:all var(--dur) var(--ease)}
.timeline__step:hover .timeline__num{border-color:var(--blue-600);color:var(--blue-600);box-shadow:0 0 0 4px var(--blue-50)}
.timeline__step h4{margin-bottom:var(--sp-2)}
.timeline__step p{color:var(--zinc-500);font-size:var(--text-sm);line-height:1.55;max-width:240px;margin:0 auto}

/* --- Plans Grid --- */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5);align-items:start}
.plan{background:var(--white);border:1px solid var(--zinc-200);border-radius:var(--radius-xl);padding:var(--sp-8);transition:all var(--dur) var(--ease)}
.plan:hover{border-color:var(--zinc-300);box-shadow:var(--shadow-md)}
.plan--featured{background:var(--zinc-950);border-color:var(--blue-600);box-shadow:var(--shadow-glow);position:relative;color:var(--zinc-400)}
.plan--featured .plan__name{color:var(--blue-400)}
.plan--featured .plan__price strong{color:var(--white)}
.plan--featured .plan__desc{color:var(--zinc-400)}
.plan--featured .plan__setup{color:var(--zinc-500);border-color:rgba(255,255,255,.1)}
.plan--featured .plan__features li{color:var(--zinc-300)}
.plan__badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:3px 12px;border-radius:var(--radius-full);background:var(--blue-600);color:var(--white);white-space:nowrap}
.plan__name{font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--zinc-500);margin-bottom:var(--sp-3)}
.plan__price{margin-bottom:var(--sp-1)}
.plan__price strong{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:var(--zinc-950);letter-spacing:-.03em}
.plan__price span{font-size:var(--text-sm);color:var(--zinc-400)}
.plan__desc{font-size:var(--text-sm);color:var(--zinc-500);margin-bottom:var(--sp-6);line-height:1.5}
.plan__setup{font-size:var(--text-xs);color:var(--zinc-400);margin-bottom:var(--sp-6);padding-bottom:var(--sp-6);border-bottom:1px solid var(--zinc-100)}
.plan__features{list-style:none;display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-8)}
.plan__features li{font-size:var(--text-sm);color:var(--zinc-600);padding-left:var(--sp-6);position:relative}
.plan__features li::before{content:'';position:absolute;left:0;top:5px;width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}
.plan__guarantee{font-size:var(--text-sm);color:var(--zinc-500);font-weight:500}

/* --- Stats Band --- */
.stats-band{padding:var(--sp-12) 0;background:var(--zinc-950);color:var(--white)}
.stats-band__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-8);text-align:center}
.stats-band__number{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;letter-spacing:-.03em;margin-bottom:var(--sp-1);background:linear-gradient(135deg,var(--white),var(--zinc-400));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stats-band__label{font-size:var(--text-sm);color:var(--zinc-400)}

/* --- Card (generic) --- */
.card{background:var(--white);border:1px solid var(--zinc-200);border-radius:var(--radius-xl);padding:var(--sp-6);transition:all var(--dur) var(--ease)}
.card:hover{border-color:var(--zinc-300);box-shadow:var(--shadow-sm)}
.card__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--zinc-50);border:1px solid var(--zinc-200);color:var(--blue-600);margin-bottom:var(--sp-4)}
.card__icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.card h3{margin-bottom:var(--sp-2)}
.card p{color:var(--zinc-500);font-size:var(--text-sm);line-height:1.6}
.card__list{list-style:none;display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--zinc-100)}
.card__list li{font-size:var(--text-xs);color:var(--zinc-500);padding-left:var(--sp-5);position:relative;line-height:1.5}
.card__list li::before{content:'';position:absolute;left:0;top:4px;width:12px;height:12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}

/* --- Case/Portfolio Card --- */
.case-card{background:var(--zinc-950);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);padding:var(--sp-6);color:var(--zinc-400);transition:all var(--dur) var(--ease)}
.case-card:hover{border-color:rgba(255,255,255,.15)}
.case-card__tag{font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--blue-400);margin-bottom:var(--sp-3)}
.case-card h3{color:var(--white);margin-bottom:var(--sp-2)}
.case-card p{font-size:var(--text-sm);line-height:1.6}
.case-card__quote{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid rgba(255,255,255,.08)}
.case-card__quote p{font-style:italic;font-size:var(--text-sm);color:var(--zinc-300);line-height:1.6}
.case-card__quote cite{display:block;font-size:var(--text-xs);color:var(--zinc-500);font-style:normal;margin-top:var(--sp-2)}

/* --- Product Card (SaaS) --- */
.product-card{background:var(--white);border:1px solid var(--zinc-200);border-radius:var(--radius-xl);padding:var(--sp-6);transition:all var(--dur) var(--ease);display:flex;flex-direction:column}
.product-card:hover{border-color:var(--blue-500);box-shadow:var(--shadow-md)}
.product-card__tag{font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--blue-600);margin-bottom:var(--sp-3)}
.product-card__icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--blue-50);border:1px solid var(--blue-100);color:var(--blue-600);margin-bottom:var(--sp-4)}
.product-card__icon svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.product-card h3{margin-bottom:var(--sp-2)}
.product-card p{color:var(--zinc-500);font-size:var(--text-sm);line-height:1.6;flex:1}
.product-card .btn{margin-top:var(--sp-5)}

/* --- Audience --- */
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
.audience-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);background:var(--zinc-50);border:1px solid var(--zinc-200);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:500;color:var(--zinc-700);transition:all var(--dur) var(--ease)}
.audience-item:hover{border-color:var(--zinc-300);box-shadow:var(--shadow-xs)}
.audience-item svg{width:20px;height:20px;stroke:var(--blue-600);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* --- Catalog Card --- */
.catalog-card{background:var(--white);border:1px solid var(--zinc-200);border-radius:var(--radius-xl);padding:var(--sp-6);transition:all var(--dur) var(--ease)}
.catalog-card:hover{border-color:var(--zinc-300);box-shadow:var(--shadow-md)}
.catalog-card__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--sp-4)}
.catalog-card__price{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--zinc-950)}
.catalog-card__price span{font-size:var(--text-xs);color:var(--zinc-400);font-weight:400}
.catalog-card h3{margin-bottom:var(--sp-2)}
.catalog-card p{color:var(--zinc-500);font-size:var(--text-sm);line-height:1.6;margin-bottom:var(--sp-4)}
.catalog-card__features{list-style:none;display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-5)}
.catalog-card__features li{font-size:var(--text-xs);color:var(--zinc-500);padding-left:var(--sp-5);position:relative}
.catalog-card__features li::before{content:'';position:absolute;left:0;top:3px;width:12px;height:12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}

/* --- FAQ Accordion --- */
.faq{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:var(--sp-2)}
.faq__item{border:1px solid var(--zinc-200);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--dur) var(--ease)}
.faq__item:hover{border-color:var(--zinc-300)}
.faq__question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);font-family:var(--font-body);font-size:var(--text-base);font-weight:500;color:var(--zinc-950);text-align:left;cursor:pointer;background:none;border:none}
.faq__question svg{width:20px;height:20px;stroke:var(--zinc-400);fill:none;stroke-width:2;flex-shrink:0;transition:transform .25s var(--ease)}
.faq__item.open .faq__question svg{transform:rotate(180deg)}
.faq__answer{max-height:0;overflow:hidden;transition:max-height .3s var(--ease)}
.faq__answer p{padding:0 var(--sp-6) var(--sp-5);color:var(--zinc-500);font-size:var(--text-sm);line-height:1.7}

/* --- Inline CTA Form --- */
.cta-inline-form{max-width:520px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);position:relative;z-index:1}
.cta-inline-form .form__input{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:var(--white)}
.cta-inline-form .form__input::placeholder{color:var(--zinc-500)}
.cta-inline-form .form__input:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(59,130,246,.15)}
.cta-inline-form .btn{grid-column:span 2}
.cta-inline-form .form__success{grid-column:span 2}

/* --- CTA Section --- */
.cta-section{position:relative;padding:var(--sp-20) 0;text-align:center;overflow:hidden}
.cta-section--dark{background:var(--zinc-950);color:var(--zinc-400)}
.cta-section--dark::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 100%,rgba(37,99,235,.12),transparent);pointer-events:none}
.cta-section--dark h2{color:var(--white)}
.cta-section--gradient{background:linear-gradient(135deg,var(--zinc-950),#111827);color:var(--zinc-400)}
.cta-section--gradient h2{color:var(--white)}
.cta-section h2{margin-bottom:var(--sp-3);position:relative;z-index:1}
.cta-section p{max-width:480px;margin:0 auto var(--sp-8);font-size:var(--text-base);line-height:1.7;position:relative;z-index:1}
.cta-section .hero__actions{position:relative;z-index:1}
.cta__microcopy{font-size:var(--text-sm);color:var(--zinc-400);margin-top:var(--sp-3);text-align:center;position:relative;z-index:1}

/* --- Forms --- */
.form{display:flex;flex-direction:column;gap:var(--sp-4)}
.form__group{display:flex;flex-direction:column;gap:var(--sp-1)}
.form__label{font-size:var(--text-sm);font-weight:500;color:var(--zinc-700)}
.form__input{height:44px;padding:0 var(--sp-4);border:1px solid var(--zinc-200);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);color:var(--zinc-950);background:var(--white);transition:all var(--dur) var(--ease);outline:none}
.form__input:focus{border-color:var(--blue-600);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.form__input::placeholder{color:var(--zinc-400)}
textarea.form__input{height:120px;padding-top:var(--sp-3);resize:vertical}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
.form__success{padding:var(--sp-4);border-radius:var(--radius-md);background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2);color:var(--emerald-500);font-size:var(--text-sm);font-weight:500;text-align:center;display:none}
.btn--loading{pointer-events:none;opacity:.7}
.btn--loading::after{content:'';display:inline-block;width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite;margin-left:var(--sp-2)}
@keyframes spin{to{transform:rotate(360deg)}}

/* --- Contact Grid --- */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--sp-12)}
.contact-channels{display:flex;flex-direction:column;gap:var(--sp-4)}
.contact-channel{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-5);background:var(--zinc-50);border:1px solid var(--zinc-200);border-radius:var(--radius-lg);transition:all var(--dur) var(--ease)}
.contact-channel:hover{border-color:var(--zinc-300);box-shadow:var(--shadow-xs)}
.contact-channel__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--white);border:1px solid var(--zinc-200);color:var(--blue-600);flex-shrink:0}
.contact-channel__icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contact-channel__info h4{font-size:var(--text-sm);margin-bottom:2px}
.contact-channel__info p,.contact-channel__info a{font-size:var(--text-sm);color:var(--zinc-500)}
.contact-channel__info a:hover{color:var(--blue-600)}

/* --- Lead Magnet --- */
.lead-magnet{background:var(--zinc-50);border:1px solid var(--zinc-200);border-radius:var(--radius-xl);padding:var(--sp-8);display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-8);align-items:center}
.lead-magnet h3{margin-bottom:var(--sp-2)}
.lead-magnet p{color:var(--zinc-500);font-size:var(--text-sm);line-height:1.6;margin-bottom:var(--sp-5)}
.lead-magnet__form{display:flex;gap:var(--sp-3)}
.lead-magnet__form .form__input{flex:1}

/* --- About --- */
.about-card{background:var(--zinc-50);border:1px solid var(--zinc-200);border-radius:var(--radius-xl);padding:var(--sp-8)}
.about-card h3{margin-bottom:var(--sp-3)}
.about-card p{color:var(--zinc-500);font-size:var(--text-sm);line-height:1.7}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5)}

/* --- Values --- */
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
.value-card{padding:var(--sp-6);background:var(--zinc-50);border:1px solid var(--zinc-200);border-radius:var(--radius-lg);text-align:center;transition:all var(--dur) var(--ease)}
.value-card:hover{border-color:var(--zinc-300)}
.value-card__emoji{font-size:var(--text-2xl);margin-bottom:var(--sp-3)}
.value-card h4{margin-bottom:var(--sp-2)}
.value-card p{color:var(--zinc-500);font-size:var(--text-sm);line-height:1.55}

/* --- WhatsApp Float --- */
.whatsapp-float{position:fixed;bottom:24px;right:24px;z-index:99;width:52px;height:52px;border-radius:var(--radius-full);background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(37,211,102,.3);transition:all var(--dur) var(--ease)}
.whatsapp-float:hover{transform:scale(1.08);box-shadow:0 6px 20px rgba(37,211,102,.4)}
.whatsapp-float svg{width:24px;height:24px;fill:var(--white)}

/* --- Footer --- */
.footer{background:var(--zinc-950);color:var(--zinc-400);padding:var(--sp-16) 0 var(--sp-8);border-top:1px solid rgba(255,255,255,.06)}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--sp-12);margin-bottom:var(--sp-12)}
.footer__brand p{font-size:var(--text-sm);line-height:1.7;margin-top:var(--sp-3);max-width:320px}
.footer__brand img{height:22px;width:auto;filter:brightness(0) invert(1);opacity:.8}
.footer__col h4{font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--zinc-500);margin-bottom:var(--sp-4)}
.footer__col ul{list-style:none;display:flex;flex-direction:column;gap:var(--sp-2)}
.footer__col a{font-size:var(--text-sm);color:var(--zinc-400);transition:color var(--dur) var(--ease)}
.footer__col a:hover{color:var(--white)}
.footer__bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:var(--sp-6);display:flex;align-items:center;justify-content:space-between}
.footer__bottom p{font-size:var(--text-xs);color:var(--zinc-500)}
.footer__bottom a{color:var(--zinc-400);transition:color var(--dur) var(--ease)}
.footer__bottom a:hover{color:var(--white)}

/* --- Scroll Reveal --- */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}

/* --- Modal --- */
.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(9,9,11,.6);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:var(--sp-6)}
.modal-overlay.active{display:flex}
.modal{background:var(--white);border-radius:var(--radius-xl);padding:var(--sp-8);max-width:480px;width:100%;position:relative;box-shadow:var(--shadow-lg)}
.modal__close{position:absolute;top:var(--sp-4);right:var(--sp-4);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--zinc-400);transition:all var(--dur) var(--ease);cursor:pointer}
.modal__close:hover{background:var(--zinc-50);color:var(--zinc-600)}

/* =============================================
   RESPONSIVE
   ============================================= */

@media(max-width:1024px){
  :root{--text-5xl:2.5rem;--text-4xl:2rem;--text-3xl:1.625rem}
  .container{padding:0 var(--sp-6)}
  .hero{padding:var(--sp-16) 0 var(--sp-12)}
  .hero--sub{padding:var(--sp-12) 0 var(--sp-8)}
  .bento{gap:var(--sp-3)}
  .bento__card--lg .bento__inner{grid-template-columns:1fr}
  .feature-row{grid-template-columns:1fr;gap:var(--sp-8)}
  .feature-row--reverse{direction:ltr}
  .plans{grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}
  .plan{padding:var(--sp-5)}
  .contact-grid{grid-template-columns:1fr}
  .lead-magnet{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr 1fr}
  .stats-band__grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:768px){
  :root{--text-5xl:2rem;--text-4xl:1.75rem;--text-3xl:1.375rem;--text-2xl:1.25rem}
  .section{padding:var(--sp-10) 0}
  .section--sm{padding:var(--sp-8) 0}
  .section__header{margin-bottom:var(--sp-8)}
  .hero{padding:var(--sp-10) 0 var(--sp-8)}
  .hero__subtitle{font-size:var(--text-base)}
  .hero__actions{flex-direction:column;align-items:center}
  .hero__actions .btn{width:100%;max-width:320px}
  .hero__stats{gap:var(--sp-6);margin-top:var(--sp-8)}
  .hero__stat-number{font-size:var(--text-xl)}
  .hero__stat-label{font-size:11px}
  .header__nav{position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - var(--header-h));background:var(--white);flex-direction:column;align-items:stretch;padding:var(--sp-6) var(--sp-4);display:none;border-top:1px solid var(--zinc-200);overflow-y:auto;z-index:200;box-shadow:0 8px 32px rgba(0,0,0,.15)}
  .header--dark .header__nav{background:var(--zinc-950);border-color:rgba(255,255,255,.1);box-shadow:0 8px 32px rgba(0,0,0,.5)}
  .header__nav.open{display:flex}
  .header__link{padding:var(--sp-3) var(--sp-4);font-size:var(--text-base);min-height:48px;display:flex;align-items:center;border-bottom:1px solid var(--zinc-100)}
  .header--dark .header__link{border-color:rgba(255,255,255,.06);color:var(--zinc-300)}
  .header--dark .header__link:hover,.header--dark .header__link--active{color:var(--white);background:rgba(255,255,255,.05);border-radius:var(--radius-md)}
  .header__cta{margin:var(--sp-4) 0 0;min-height:48px}
  .header__toggle{display:flex}
  .bento{grid-template-columns:1fr}
  .bento__card--lg{grid-column:span 1}
  .grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .proof-bar__grid{grid-template-columns:1fr;gap:0}
  .proof-bar__item{justify-content:center;padding:var(--sp-4) 0;border-bottom:1px solid var(--zinc-100)}
  .proof-bar__item:last-child{border-bottom:none}
  .timeline{grid-template-columns:1fr;gap:var(--sp-5)}
  .timeline::before{display:none}
  .timeline__step{text-align:left;display:flex;align-items:flex-start;gap:var(--sp-4)}
  .timeline__num{margin:0;flex-shrink:0}
  .timeline__step p{margin:0;max-width:none}
  .audience-grid{grid-template-columns:1fr}
  .problem-grid{grid-template-columns:1fr;gap:var(--sp-3)}
  .cta-inline-form{grid-template-columns:1fr}
  .cta-inline-form .btn{grid-column:span 1}
  .cta-inline-form .form__success{grid-column:span 1}
  .cta-inline-form input[style*="grid-column"]{grid-column:span 1 !important}
  .values-grid{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr;gap:var(--sp-8)}
  .footer__bottom{flex-direction:column;gap:var(--sp-3);text-align:center}
  .cta-section{padding:var(--sp-12) 0}
  /* Touch targets */
  .btn{min-height:44px}
  .btn--sm{min-height:36px}
  .faq__question{min-height:48px}
  .whatsapp-float{width:48px;height:48px;bottom:16px;right:16px}
}

@media(max-width:480px){
  :root{--text-5xl:1.75rem;--text-4xl:1.5rem}
  .container{padding:0 var(--sp-4)}
  .form__row{grid-template-columns:1fr}
  .audience-grid{grid-template-columns:1fr}
  .lead-magnet__form{flex-direction:column}
  .hero__stats{gap:var(--sp-4);margin-top:var(--sp-6)}
  .hero__stat-number{font-size:var(--text-lg)}
  .card{padding:var(--sp-5)}
  .card--compact{padding:var(--sp-4)}
  .product-card{padding:var(--sp-5)}
  .hero__actions .btn{max-width:100%}
  .problem-item{padding:var(--sp-4);gap:var(--sp-3)}
}

/* --- Utilities --- */
.text-center{text-align:center}
.text-left{text-align:left}
.mt-0{margin-top:0}
.mb-0{margin-bottom:0}
.mt-4{margin-top:var(--sp-4)}
.mb-4{margin-bottom:var(--sp-4)}
.mt-8{margin-top:var(--sp-8)}
.mb-8{margin-bottom:var(--sp-8)}
.mt-12{margin-top:var(--sp-12)}
.mb-12{margin-bottom:var(--sp-12)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* --- Problem Grid --- */
.problem-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4);max-width:720px;margin:0 auto}
.problem-item{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-5);background:var(--zinc-50);border:1px solid var(--zinc-200);border-radius:var(--radius-lg);transition:all var(--dur) var(--ease)}
.problem-item:hover{border-color:var(--red-500);box-shadow:0 0 0 1px rgba(239,68,68,.1)}
.problem-item__icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:rgba(239,68,68,.08);color:var(--red-500);font-weight:700;font-size:var(--text-sm);flex-shrink:0}
.problem-item__text{font-size:var(--text-sm);font-weight:500;color:var(--zinc-700);line-height:1.4}

/* --- Plans Mobile Carousel --- */
@media(max-width:768px){
  #planos .container{overflow:visible}
  .plans{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:var(--sp-4);padding-bottom:var(--sp-4);margin:0 calc(var(--sp-4) * -1);padding-left:var(--sp-4);padding-right:var(--sp-4);scrollbar-width:thin;scrollbar-color:var(--blue-600) var(--zinc-200)}
  .plans::-webkit-scrollbar{height:4px}
  .plans::-webkit-scrollbar-track{background:var(--zinc-200);border-radius:var(--radius-full)}
  .plans::-webkit-scrollbar-thumb{background:var(--blue-600);border-radius:var(--radius-full)}
  .plan{flex:0 0 82%;min-width:270px;scroll-snap-align:start}
}

/* --- Responsive: 320px (small mobile) --- */
@media(max-width:360px){
  :root{--text-5xl:1.5rem;--text-4xl:1.375rem;--text-3xl:1.25rem}
  .container{padding:0 var(--sp-3)}
  .hero{padding:var(--sp-8) 0}
  .hero__subtitle{font-size:var(--text-sm)}
  .hero__badge{font-size:10px;padding:4px 10px}
  .hero__stats{flex-wrap:wrap;gap:var(--sp-3)}
  .btn--lg{padding:10px 20px;font-size:var(--text-sm)}
  .section{padding:var(--sp-6) 0}
  .section--sm{padding:var(--sp-5) 0}
  .section__header{margin-bottom:var(--sp-5)}
  .plan{flex:0 0 90%;min-width:260px;padding:var(--sp-5)}
  .plan__price strong{font-size:var(--text-3xl)}
  .faq__question{padding:var(--sp-4);font-size:var(--text-sm)}
  .faq__answer p{padding:0 var(--sp-4) var(--sp-4);font-size:var(--text-xs)}
  .cta-inline-form{gap:var(--sp-2)}
  .cta-inline-form .form__input{height:40px;font-size:var(--text-sm)}
  .audience-item{padding:var(--sp-3);font-size:var(--text-xs)}
  .problem-item{padding:var(--sp-3);gap:var(--sp-3)}
  .problem-item__text{font-size:var(--text-xs)}
}
