:root, [data-theme="light"] {
  --text-xs: clamp(0.75rem, 0.72rem + 0.18vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.84rem + 0.22vw, 1rem);
  --text-base: clamp(1rem, 0.97rem + 0.2vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.55vw, 1.5rem);
  --text-xl: clamp(1.55rem, 1.15rem + 1.2vw, 2.45rem);
  --text-2xl: clamp(2.65rem, 1.4rem + 3vw, 5rem);
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --radius-sm: 0.5rem;
  --radius-md: 0.85rem;
  --radius-lg: 1.25rem;
  --radius-xl: 1.8rem;
  --radius-full: 999px;
  --color-bg: #f6efe9;
  --color-surface: rgba(255, 255, 255, 0.76);
  --color-surface-2: #fffaf5;
  --color-surface-offset: #efe4d8;
  --color-border: rgba(51, 24, 69, 0.12);
  --color-divider: rgba(51, 24, 69, 0.08);
  --color-text: #1f1723;
  --color-text-muted: #665b6d;
  --color-text-faint: #94889f;
  --color-primary: #7a39bb;
  --color-primary-strong: #5f2596;
  --color-primary-soft: rgba(122, 57, 187, 0.12);
  --shadow-sm: 0 10px 30px rgba(44, 23, 58, 0.08);
  --shadow-md: 0 24px 70px rgba(44, 23, 58, 0.14);
  --font-display: 'Instrument Serif', Georgia, serif;
  --font-body: 'Manrope', 'Inter', sans-serif;
  --content-width: 1180px;
  --transition: 180ms cubic-bezier(0.16, 1, 0.3, 1);
}
[data-theme="dark"] {
  --color-bg: #110d15;
  --color-surface: rgba(25, 20, 31, 0.84);
  --color-surface-2: #1a141f;
  --color-surface-offset: #211a27;
  --color-border: rgba(255, 255, 255, 0.12);
  --color-divider: rgba(255, 255, 255, 0.08);
  --color-text: #f7f0fb;
  --color-text-muted: #c7b9d2;
  --color-text-faint: #8e8097;
  --color-primary: #c79dff;
  --color-primary-strong: #a76ff4;
  --color-primary-soft: rgba(199, 157, 255, 0.14);
  --shadow-sm: 0 12px 32px rgba(0, 0, 0, 0.24);
  --shadow-md: 0 24px 80px rgba(0, 0, 0, 0.34);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --color-bg: #110d15;
    --color-surface: rgba(25, 20, 31, 0.84);
    --color-surface-2: #1a141f;
    --color-surface-offset: #211a27;
    --color-border: rgba(255, 255, 255, 0.12);
    --color-divider: rgba(255, 255, 255, 0.08);
    --color-text: #f7f0fb;
    --color-text-muted: #c7b9d2;
    --color-text-faint: #8e8097;
    --color-primary: #c79dff;
    --color-primary-strong: #a76ff4;
    --color-primary-soft: rgba(199, 157, 255, 0.14);
  }
}
*,:before,:after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;background:radial-gradient(circle at top left, rgba(164,111,219,0.16), transparent 30%),radial-gradient(circle at top right, rgba(96,175,137,0.14), transparent 25%),var(--color-bg);color:var(--color-text);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:var(--space-4);top:var(--space-4);background:var(--color-surface-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);z-index:100}
.shell{width:min(calc(100% - 2rem),var(--content-width));margin:0 auto}
.section{padding:clamp(var(--space-12),8vw,var(--space-24)) 0}
.section--tight{padding:var(--space-6) 0}
.section--accent{background:color-mix(in oklab, var(--color-surface-offset) 70%, transparent)}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in oklab, var(--color-bg) 76%, transparent);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:transform .3s ease, border-color .3s ease, background .3s ease}
.site-header.is-scrolled{border-color:var(--color-divider)}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0}
.brand{display:inline-flex;align-items:center;gap:var(--space-3);font-weight:800;letter-spacing:-0.03em}
.brand img{border-radius:0.8rem}
.nav{display:none;gap:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted)}
.nav a:hover,.site-footer a:hover{color:var(--color-primary)}
.nav-actions{display:flex;align-items:center;gap:var(--space-3)}
.theme-toggle{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface)}
.theme-toggle__sun{display:none}[data-theme="dark"] .theme-toggle__sun{display:block}[data-theme="dark"] .theme-toggle__moon{display:none}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:0 var(--space-5);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:700;transition:transform var(--transition),background var(--transition),border-color var(--transition),color var(--transition);border:1px solid transparent}
.button:hover{transform:translateY(-1px)}
.button--primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}
.button--primary:hover{background:var(--color-primary-strong)}
.button--secondary{background:var(--color-surface-2);border-color:var(--color-border)}
.button--ghost{background:transparent;border-color:var(--color-border)}
.button--full{width:100%}
.hero{position:relative;overflow:hidden;padding-top:var(--space-8)}
.ambient{position:absolute;border-radius:50%;filter:blur(28px);pointer-events:none}.ambient--one{width:340px;height:340px;right:-70px;top:70px;background:rgba(122,57,187,0.18)}.ambient--two{width:260px;height:260px;left:-50px;bottom:40px;background:rgba(102,173,138,0.15)}
.hero-grid{display:grid;gap:var(--space-12);align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);padding:0.35rem 0.8rem;border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.hero h1,.section-heading h2,.split-copy h2{font-family:var(--font-display);font-weight:400;line-height:0.95;letter-spacing:-0.04em}
.hero h1{font-size:var(--text-2xl);max-width:10ch;margin:var(--space-5) 0 var(--space-5)}
.hero-text{max-width:58ch;color:var(--color-text-muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}
.hero-badges{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}
.hero-badge{padding:0.55rem 0.85rem;border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-muted)}
.hero-stats{list-style:none;padding:0;margin:var(--space-8) 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
.hero-stats li{padding:var(--space-4);background:var(--color-surface);backdrop-filter:blur(18px);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.hero-stats strong{display:block;font-size:var(--text-xl);line-height:1;font-weight:800}
.hero-stats span{display:block;margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em}
.hero-visual{position:relative;display:grid;place-items:center;min-height:560px}
.phone-stack{position:relative;display:grid;place-items:center}
.phone-frame{display:block;border-radius:2.25rem;box-shadow:var(--shadow-md);border:1px solid var(--color-border);background:var(--color-surface-2)}
.phone-frame--main{width:min(360px,78vw)}
.floating-card{position:absolute;max-width:220px;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);backdrop-filter:blur(18px);box-shadow:var(--shadow-sm)}
.floating-card--panel{right:-1rem;bottom:4rem}
.note-label,.feature-kicker,.plan,.footer-label{font-size:var(--text-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary)}
.trust-row{padding:var(--space-5) var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);backdrop-filter:blur(18px);text-align:center;color:var(--color-text-muted)}
.section-heading{max-width:44rem;margin-bottom:var(--space-8)}
.section-heading h2,.split-copy h2{font-size:var(--text-xl);margin-top:var(--space-4)}
.feature-grid{display:grid;gap:var(--space-4)}
.feature-card{padding:var(--space-6);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);backdrop-filter:blur(18px)}
.feature-card h3,.timeline-step h3,.price-card h3{font-size:var(--text-lg);line-height:1.1;margin:var(--space-3) 0}
.feature-card--highlight{background:linear-gradient(135deg,color-mix(in oklab, var(--color-primary-soft) 80%, var(--color-surface)),var(--color-surface))}
.check-list{list-style:none;padding:0;margin:var(--space-4) 0 0;display:grid;gap:var(--space-2)}
.check-list li{position:relative;padding-left:1.2rem;color:var(--color-text-muted)}
.check-list li:before{content:'•';position:absolute;left:0;color:var(--color-primary)}
.split-grid{display:grid;gap:var(--space-6);align-items:center}
.panel-card{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}
.gallery-grid,.faq-grid,.footer-grid{display:grid;gap:var(--space-6)}
.pricing-grid,.timeline{display:grid;gap:var(--space-6)}
.timeline{grid-template-columns:1fr}
.timeline-step{position:relative;padding:var(--space-6);padding-top:var(--space-10);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}
.timeline-step span{position:absolute;top:var(--space-4);left:var(--space-4);font-size:var(--text-xs);font-weight:800;color:var(--color-text-faint)}
.price-card{display:flex;flex-direction:column;padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}
.price-card--featured{background:linear-gradient(180deg,color-mix(in oklab, var(--color-primary-soft) 78%, var(--color-surface)),var(--color-surface));border-color:color-mix(in oklab, var(--color-primary) 30%, var(--color-border))}
.price-card h3{font-size:clamp(2rem, 1.5rem + 1vw, 3rem)}
.price-card h3 span{font-size:var(--text-sm);color:var(--color-text-muted)}
.price-copy{color:var(--color-text-muted);margin-bottom:var(--space-5)}
.price-card ul{list-style:none;padding:0;margin:0 0 var(--space-6);display:grid;gap:var(--space-3)}
.price-card li{padding-left:1.4rem;position:relative}.price-card li:before{content:'•';position:absolute;left:0;color:var(--color-primary)}
.price-card .button{margin-top:auto}
.price-note{margin-top:var(--space-6);max-width:46rem;color:var(--color-text-muted)}
.faq-list{display:grid;gap:var(--space-3)}
details{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border)}
summary{cursor:pointer;font-weight:700;list-style:none} summary::-webkit-details-marker{display:none}
details p{margin-top:var(--space-3);color:var(--color-text-muted)}
.site-footer{border-top:1px solid var(--color-divider)}
.footer-grid{align-items:start}.footer-grid p,.site-footer a{color:var(--color-text-muted)}.brand--footer{margin-bottom:var(--space-4)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
@media (min-width: 760px){
  .nav{display:flex}
  .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature-card--highlight{grid-column:span 2}
  .split-grid{grid-template-columns:1.02fr .98fr}
  .pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-grid,.faq-grid,.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width: 980px){
  .faq-grid{grid-template-columns:.85fr 1.15fr}
  .footer-grid{grid-template-columns:1.2fr .7fr .7fr}
}
@media (max-width: 759px){
  .nav-actions .button--ghost{display:none}
  .hero-stats{grid-template-columns:1fr}
  .hero-visual{min-height:440px}
  .floating-card--panel{right:0;bottom:0}
}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal,.button,.site-header{transition:none}.reveal{opacity:1;transform:none}}
