:root {
  /* Primitive Color Tokens */
  --color-white: rgba(255, 255, 255, 1);
  --color-black: rgba(0, 0, 0, 1);
  --color-cream-50: rgba(252, 252, 249, 1);
  --color-cream-100: rgba(255, 255, 253, 1);
  --color-gray-200: rgba(245, 245, 245, 1);
  --color-gray-300: rgba(167, 169, 169, 1);
  --color-gray-400: rgba(119, 124, 124, 1);
  --color-slate-500: rgba(108, 114, 128, 1);
  --color-brown-600: rgba(94, 82, 64, 1);
  --color-charcoal-700: rgba(31, 33, 33, 1);
  --color-charcoal-800: rgba(38, 40, 40, 1);
  --color-slate-900: rgba(19, 52, 59, 1);
  --color-teal-300: #C084FC;
  --color-teal-400: #A78BFA;
  --color-teal-500: #8B5CF6;
  --color-teal-600: #7C3AED;
  --color-teal-700: #6D28D9;
  --color-teal-800: #5B21B6;
  --color-red-400: rgba(255, 84, 89, 1);
  --color-red-500: rgba(192, 21, 47, 1);
  --color-orange-400: rgba(230, 129, 97, 1);
  --color-orange-500: rgba(168, 75, 47, 1);

  /* RGB versions for opacity control */
  --color-brown-600-rgb: 94, 82, 64;
  --color-teal-500-rgb: 139, 92, 246;
  --color-slate-900-rgb: 19, 52, 59;
  --color-slate-500-rgb: 98, 108, 113;
  --color-red-500-rgb: 192, 21, 47;
  --color-red-400-rgb: 255, 84, 89;
  --color-orange-500-rgb: 168, 75, 47;
  --color-orange-400-rgb: 230, 129, 97;

  /* Background color tokens (Light Mode) */
  --color-bg-1: rgba(139, 92, 246, 0.08);
  --color-bg-2: rgba(245, 158, 11, 0.08);
  --color-bg-3: rgba(34, 197, 94, 0.08);
  --color-bg-4: rgba(239, 68, 68, 0.08);
  --color-bg-5: rgba(139, 92, 246, 0.12);
  --color-bg-6: rgba(249, 115, 22, 0.08);
  --color-bg-7: rgba(236, 72, 153, 0.08);
  --color-bg-8: rgba(6, 182, 212, 0.08);

  /* Semantic Color Tokens (Light Mode) */
  --color-background: var(--color-cream-50);
  --color-surface: var(--color-cream-100);
  --color-text: var(--color-slate-900);
  --color-text-secondary: var(--color-slate-500);
  --color-primary: var(--color-teal-500);
  --color-primary-hover: var(--color-teal-600);
  --color-primary-active: var(--color-teal-700);
  --color-secondary: rgba(var(--color-brown-600-rgb), 0.12);
  --color-secondary-hover: rgba(var(--color-brown-600-rgb), 0.2);
  --color-secondary-active: rgba(var(--color-brown-600-rgb), 0.25);
  --color-border: rgba(var(--color-brown-600-rgb), 0.2);
  --color-btn-primary-text: var(--color-cream-50);
  --color-card-border: rgba(var(--color-brown-600-rgb), 0.12);
  --color-card-border-inner: rgba(var(--color-brown-600-rgb), 0.12);
  --color-error: var(--color-red-500);
  --color-success: var(--color-teal-500);
  --color-warning: var(--color-orange-500);
  --color-info: var(--color-slate-500);
  --color-focus-ring: rgba(var(--color-teal-500-rgb), 0.4);
  --color-select-caret: rgba(var(--color-slate-900-rgb), 0.8);

  /* Common style patterns */
  --focus-ring: 0 0 0 3px var(--color-focus-ring);
  --focus-outline: 2px solid var(--color-primary);
  --status-bg-opacity: 0.15;
  --status-border-opacity: 0.25;

  /* RGB versions for opacity control */
  --color-success-rgb: 33, 128, 141;
  --color-error-rgb: 192, 21, 47;
  --color-warning-rgb: 168, 75, 47;
  --color-info-rgb: 98, 108, 113;

  /* Typography */
  --font-family-base: "FKGroteskNeue", "Geist", "Inter", -apple-system,
    BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-family-mono: "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo,
    Monaco, Consolas, monospace;
  --font-size-xs: 11px;
  --font-size-sm: 12px;
  --font-size-base: 14px;
  --font-size-md: 14px;
  --font-size-lg: 16px;
  --font-size-xl: 18px;
  --font-size-2xl: 20px;
  --font-size-3xl: 24px;
  --font-size-4xl: 30px;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 550;
  --font-weight-bold: 600;
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --letter-spacing-tight: -0.01em;

  /* Spacing */
  --space-0: 0;
  --space-1: 1px;
  --space-2: 2px;
  --space-4: 4px;
  --space-6: 6px;
  --space-8: 8px;
  --space-10: 10px;
  --space-12: 12px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-32: 32px;

  /* Border Radius */
  --radius-sm: 6px;
  --radius-base: 8px;
  --radius-md: 10px;
  --radius-lg: 12px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.02);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.04),
    0 2px 4px -1px rgba(0, 0, 0, 0.02);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.04),
    0 4px 6px -2px rgba(0, 0, 0, 0.02);

  /* Animation */
  --duration-fast: 150ms;
  --duration-normal: 250ms;
  --ease-standard: cubic-bezier(0.16, 1, 0.3, 1);

  /* Layout */
  --container-sm: 640px;
  --container-md: 768px;
  --container-lg: 1024px;
  --container-xl: 1280px;
}

/* Dark mode colors */
@media (prefers-color-scheme: dark) {
  :root {
    --color-gray-400-rgb: 119, 124, 124;
    --color-teal-300-rgb: 192, 132, 252;
    --color-gray-300-rgb: 167, 169, 169;
    --color-gray-200-rgb: 245, 245, 245;

    --color-bg-1: rgba(139, 92, 246, 0.08);
    --color-bg-2: rgba(180, 83, 9, 0.15);
    --color-bg-3: rgba(21, 128, 61, 0.15);
    --color-bg-4: rgba(185, 28, 28, 0.15);
    --color-bg-5: rgba(139, 92, 246, 0.12);
    --color-bg-6: rgba(194, 65, 12, 0.15);
    --color-bg-7: rgba(190, 24, 93, 0.15);
    --color-bg-8: rgba(8, 145, 178, 0.15);

    --color-background: var(--color-charcoal-700);
    --color-surface: var(--color-charcoal-800);
    --color-text: var(--color-gray-200);
    --color-text-secondary: rgba(var(--color-gray-300-rgb), 0.7);
    --color-primary: var(--color-teal-300);
    --color-primary-hover: var(--color-teal-400);
    --color-primary-active: var(--color-teal-800);
    --color-secondary: rgba(var(--color-gray-400-rgb), 0.15);
    --color-secondary-hover: rgba(var(--color-gray-400-rgb), 0.25);
    --color-secondary-active: rgba(var(--color-gray-400-rgb), 0.3);
    --color-border: rgba(var(--color-gray-400-rgb), 0.3);
    --color-error: var(--color-red-400);
    --color-success: var(--color-teal-300);
    --color-warning: var(--color-orange-400);
    --color-info: var(--color-gray-300);
    --color-focus-ring: rgba(var(--color-teal-500-rgb), 0.4);
    --color-btn-primary-text: var(--color-slate-900);
    --color-card-border: rgba(var(--color-gray-400-rgb), 0.2);
    --color-card-border-inner: rgba(var(--color-gray-400-rgb), 0.15);
  }
}

/* Data attribute for manual theme switching */
[data-color-scheme="dark"] {
  --color-gray-400-rgb: 119, 124, 124;
  --color-teal-300-rgb: 192, 132, 252;
  --color-gray-300-rgb: 167, 169, 169;
  --color-gray-200-rgb: 245, 245, 245;

  --color-bg-1: rgba(139, 92, 246, 0.08);
  --color-bg-2: rgba(180, 83, 9, 0.15);
  --color-bg-3: rgba(21, 128, 61, 0.15);
  --color-bg-4: rgba(185, 28, 28, 0.15);
  --color-bg-5: rgba(139, 92, 246, 0.12);
  --color-bg-6: rgba(194, 65, 12, 0.15);
  --color-bg-7: rgba(190, 24, 93, 0.15);
  --color-bg-8: rgba(8, 145, 178, 0.15);

  --color-background: var(--color-charcoal-700);
  --color-surface: var(--color-charcoal-800);
  --color-text: var(--color-gray-200);
  --color-text-secondary: rgba(var(--color-gray-300-rgb), 0.7);
  --color-primary: var(--color-teal-300);
  --color-primary-hover: var(--color-teal-400);
  --color-primary-active: var(--color-teal-800);
  --color-secondary: rgba(var(--color-gray-400-rgb), 0.15);
  --color-secondary-hover: rgba(var(--color-gray-400-rgb), 0.25);
  --color-secondary-active: rgba(var(--color-gray-400-rgb), 0.3);
  --color-border: rgba(var(--color-gray-400-rgb), 0.3);
  --color-error: var(--color-red-400);
  --color-success: var(--color-teal-300);
  --color-warning: var(--color-orange-400);
  --color-info: var(--color-gray-300);
  --color-focus-ring: rgba(var(--color-teal-500-rgb), 0.4);
  --color-btn-primary-text: var(--color-slate-900);
  --color-card-border: rgba(var(--color-gray-400-rgb), 0.15);
  --color-card-border-inner: rgba(var(--color-gray-400-rgb), 0.15);
}

[data-color-scheme="light"] {
  --color-brown-600-rgb: 94, 82, 64;
  --color-teal-500-rgb: 139, 92, 246;
  --color-slate-900-rgb: 19, 52, 59;

  --color-background: var(--color-cream-50);
  --color-surface: var(--color-cream-100);
  --color-text: var(--color-slate-900);
  --color-text-secondary: var(--color-slate-500);
  --color-primary: var(--color-teal-500);
  --color-primary-hover: var(--color-teal-600);
  --color-primary-active: var(--color-teal-700);
  --color-secondary: rgba(var(--color-brown-600-rgb), 0.12);
  --color-secondary-hover: rgba(var(--color-brown-600-rgb), 0.2);
  --color-secondary-active: rgba(var(--color-brown-600-rgb), 0.25);
  --color-border: rgba(var(--color-brown-600-rgb), 0.2);
  --color-btn-primary-text: var(--color-cream-50);
  --color-card-border: rgba(var(--color-brown-600-rgb), 0.12);
  --color-card-border-inner: rgba(var(--color-brown-600-rgb), 0.12);
  --color-error: var(--color-red-500);
  --color-success: var(--color-teal-500);
  --color-warning: var(--color-orange-500);
  --color-info: var(--color-slate-500);
}

/* Base styles */
html {
  font-size: var(--font-size-base);
  font-family: var(--font-family-base);
  line-height: var(--line-height-normal);
  color: var(--color-text);
  background-color: var(--color-background);
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}

body { margin: 0; padding: 0; }

*,
*::before,
*::after { box-sizing: inherit; }

/* Typography */
h1,h2,h3,h4,h5,h6{
  margin:0;
  font-weight:var(--font-weight-semibold);
  line-height:var(--line-height-tight);
  color:var(--color-text);
  letter-spacing:var(--letter-spacing-tight);
}
h1{font-size:var(--font-size-4xl);}
h2{font-size:var(--font-size-3xl);}
h3{font-size:var(--font-size-2xl);}
h4{font-size:var(--font-size-xl);}
h5{font-size:var(--font-size-lg);}
h6{font-size:var(--font-size-md);}
p{margin:0 0 var(--space-16) 0;}

a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard);}
a:hover{color:var(--color-primary-hover);}

code,pre{
  font-family:var(--font-family-mono);
  font-size:calc(var(--font-size-base)*0.95);
  background-color:var(--color-secondary);
  border-radius:var(--radius-sm);
}
code{padding:var(--space-1) var(--space-4);}
pre{padding:var(--space-16);margin:var(--space-16) 0;overflow:auto;border:1px solid var(--color-border);}
pre code{background:none;padding:0;}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-16);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:500;line-height:1.5;cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);border:none;text-decoration:none;position:relative;}
.btn:focus-visible{outline:none;box-shadow:var(--focus-ring);}
.btn--primary{background:var(--color-primary);color:var(--color-btn-primary-text);}
.btn--primary:hover{background:var(--color-primary-hover);}
.btn--primary:active{background:var(--color-primary-active);}
.btn--secondary{background:var(--color-secondary);color:var(--color-text);}
.btn--secondary:hover{background:var(--color-secondary-hover);}
.btn--secondary:active{background:var(--color-secondary-active);}
.btn--outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text);}
.btn--outline:hover{background:var(--color-secondary);}
.btn--sm{padding:var(--space-4) var(--space-12);font-size:var(--font-size-sm);border-radius:var(--radius-sm);}
.btn--lg{padding:var(--space-10) var(--space-20);font-size:var(--font-size-lg);border-radius:var(--radius-md);}
.btn--full-width{width:100%;}
.btn:disabled{opacity:.5;cursor:not-allowed;}

/* Form elements */
.form-control{display:block;width:100%;padding:var(--space-8) var(--space-12);font-size:var(--font-size-md);line-height:1.5;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);}
textarea.form-control{font-family:var(--font-family-base);font-size:var(--font-size-base);}
select.form-control{padding:var(--space-8) var(--space-12);appearance:none;background-repeat:no-repeat;background-position:right var(--space-12) center;background-size:16px;padding-right:var(--space-32);}
@media (prefers-color-scheme: dark){select.form-control{background-image:var(--select-caret-dark);}}
[data-color-scheme="dark"] select.form-control{background-image:var(--select-caret-dark);}
[data-color-scheme="light"] select.form-control{background-image:var(--select-caret-light);}
.form-control:focus{border-color:var(--color-primary);outline:var(--focus-outline);}
.form-label{display:block;margin-bottom:var(--space-8);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);}
.form-group{margin-bottom:var(--space-16);}

/* Card component */
.card{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--duration-normal) var(--ease-standard);}
.card:hover{box-shadow:var(--shadow-md);}
.card__body{padding:var(--space-16);}
.card__header,.card__footer{padding:var(--space-16);border-bottom:1px solid var(--color-card-border-inner);}

/* Container layout */
.container{width:100%;margin-right:auto;margin-left:auto;padding-right:var(--space-16);padding-left:var(--space-16);}
@media (min-width:640px){.container{max-width:var(--container-sm);}}
@media (min-width:768px){.container{max-width:var(--container-md);}}
@media (min-width:1024px){.container{max-width:var(--container-lg);}}
@media (min-width:1280px){.container{max-width:var(--container-xl);}}

/* Utilities */
.flex{display:flex;} .flex-col{flex-direction:column;} .items-center{align-items:center;} .justify-center{justify-content:center;} .justify-between{justify-content:space-between;}
.gap-4{gap:var(--space-4);} .gap-8{gap:var(--space-8);} .gap-16{gap:var(--space-16);}
.m-0{margin:0;} .mt-8{margin-top:var(--space-8);} .mb-8{margin-bottom:var(--space-8);}
.mx-8{margin-left:var(--space-8);margin-right:var(--space-8);} .my-8{margin-top:var(--space-8);margin-bottom:var(--space-8);}
.p-0{padding:0;} .py-8{padding-top:var(--space-8);padding-bottom:var(--space-8);} .px-8{padding-left:var(--space-8);padding-right:var(--space-8);}
.py-16{padding-top:var(--space-16);padding-bottom:var(--space-16);} .px-16{padding-left:var(--space-16);padding-right:var(--space-16);}
.block{display:block;} .hidden{display:none;}

/* Accessibility */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}
:focus-visible{outline:var(--focus-outline);outline-offset:2px;}
[data-color-scheme="dark"] .btn--outline{border:1px solid var(--color-border-secondary);}

@font-face{font-family:'FKGroteskNeue';src:url('https://r2cdn.perplexity.ai/fonts/FKGroteskNeue.woff2') format('woff2');}

/* Import Inter */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* Override font family + display sizes */
:root{
  --font-family-base:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --font-size-hero:clamp(3rem,5vw,3.5rem);
  --font-size-section-title:clamp(2.25rem,4vw,2.625rem);
  --font-size-card-title:clamp(1.75rem,3vw,2rem);
  --font-size-body-lg:clamp(1.125rem,2vw,1.25rem);
  --font-size-button:1.125rem;
}

/* Base */
html{scroll-behavior:smooth;font-family:var(--font-family-base);}
body{overflow-x:hidden;line-height:1.7;font-size:var(--font-size-body-lg);}

/* Hero */
.hero{
  min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;
  background:linear-gradient(135deg,var(--color-teal-500) 0%,var(--color-teal-700) 25%,var(--color-slate-500) 50%,var(--color-teal-600) 75%,var(--color-teal-400) 100%);
  background-size:400% 400%;animation:gradientShift 20s ease infinite;color:white;padding:var(--space-32) 0;
}
@keyframes gradientShift{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}
.hero::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,0.15);z-index:1;}
.hero-container{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:0 var(--space-32);width:100%;}
.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-32);align-items:center;max-width:1200px;margin:0 auto;}

.hero-image-container{display:flex;justify-content:center;align-items:center;position:relative;padding:var(--space-24);min-height:400px;}
.hero-image{max-width:100%;width:400px;height:400px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:0 25px 80px rgba(0,0,0,0.4);animation:floatGlow 6s ease-in-out infinite;position:relative;z-index:3;transform:perspective(1000px) rotateY(-10deg);transition:all .5s ease;opacity:1;}
.hero-image-container::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:450px;height:450px;background:linear-gradient(45deg,var(--color-teal-300),var(--color-teal-400),var(--color-teal-500),var(--color-teal-600));border-radius:var(--radius-lg);opacity:.4;animation:pulseGlow 4s ease-in-out infinite alternate;z-index:1;filter:blur(20px);}
.hero-image-container::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:380px;height:380px;background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.05));border-radius:var(--radius-lg);z-index:2;animation:shimmer 3s ease-in-out infinite;}
@keyframes floatGlow{0%,100%{transform:perspective(1000px) rotateY(-10deg) translateY(0) scale(1);}33%{transform:perspective(1000px) rotateY(-5deg) translateY(-10px) scale(1.02);}66%{transform:perspective(1000px) rotateY(-15deg) translateY(-5px) scale(.98);}}
@keyframes pulseGlow{0%{opacity:.3;transform:translate(-50%,-50%) scale(1);}100%{opacity:.6;transform:translate(-50%,-50%) scale(1.1);}}
@keyframes shimmer{0%{opacity:.3;transform:translate(-50%,-50%) rotate(0);}50%{opacity:.6;transform:translate(-50%,-50%) rotate(2deg);}100%{opacity:.3;transform:translate(-50%,-50%) rotate(0);}}
.hero-image:hover{transform:perspective(1000px) rotateY(0) scale(1.08);box-shadow:0 35px 100px rgba(0,0,0,.5);}
.hero-image-container:hover::before{animation-play-state:paused;opacity:.7;transform:translate(-50%,-50%) scale(1.15);}

.hero-text{text-align:left;}
.hero-title{font-size:var(--font-size-hero);font-weight:700;margin-bottom:var(--space-24);line-height:1.1;text-shadow:2px 2px 8px rgba(0,0,0,.3);opacity:0;transform:translateX(-30px);animation:slideInLeft 1s ease-out .5s forwards;}
.hero-subtitle{font-size:var(--font-size-card-title);margin-bottom:var(--space-24);font-weight:500;text-shadow:1px 1px 4px rgba(0,0,0,.3);opacity:0;transform:translateX(-30px);animation:slideInLeft 1s ease-out .7s forwards;}
.hero-description{font-size:var(--font-size-body-lg);margin-bottom:var(--space-32);line-height:1.6;text-shadow:1px 1px 4px rgba(0,0,0,.3);opacity:0;transform:translateX(-30px);animation:slideInLeft 1s ease-out .9s forwards;}
.hero-cta{opacity:0;transform:translateX(-30px);animation:slideInLeft 1s ease-out 1.1s forwards;}
@keyframes slideInLeft{to{opacity:1;transform:translateX(0);}}

/* CTA */
.cta-button{
  display:inline-flex;align-items:center;justify-content:center;padding:var(--space-16) var(--space-32);
  background:linear-gradient(45deg,var(--color-primary),var(--color-primary-hover));
  color:var(--color-btn-primary-text);border-radius:var(--radius-full);font-weight:600;font-size:var(--font-size-button);
  border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 25px rgba(var(--color-teal-500-rgb),.3);position:relative;overflow:hidden;min-width:200px;
}
.cta-button::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease;}
.cta-button:hover{transform:translateY(-3px);box-shadow:0 15px 40px rgba(var(--color-teal-500-rgb),.4);background:linear-gradient(45deg,var(--color-primary-hover),var(--color-primary-active));}
.cta-button:hover::before{left:100%;}

/* Sections */
.section{padding:var(--space-32) 0;position:relative;}
.section:nth-child(even){background:var(--color-bg-1);}
.section:nth-child(odd){background:var(--color-surface);}
.section-title{font-size:var(--font-size-section-title);text-align:center;margin-bottom:var(--space-32);color:var(--color-text);font-weight:700;line-height:1.2;}
.container{max-width:1200px;margin:0 auto;padding:0 var(--space-32);}

/* Benefits (залишаємо авто-fit) */
.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-32);margin-bottom:var(--space-32);}
.benefit-card{background:var(--color-surface);padding:var(--space-32);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-md);transition:transform .3s ease,box-shadow .3s ease;border:1px solid var(--color-card-border);}
.benefit-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);}
.benefit-icon{margin-bottom:var(--space-20);color:var(--color-primary);display:flex;justify-content:center;}
/* Normalize SVG icons across sections */
.benefit-icon svg,
.reason-icon svg,
.audience-icon svg{
  width:32px;
  height:32px;
  stroke:currentColor;
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.benefit-card p{font-size:var(--font-size-body-lg);line-height:1.6;margin:0;color:var(--color-text);font-weight:500;}
.explanation{text-align:center;font-size:var(--font-size-xl);color:var(--color-text-secondary);max-width:700px;margin:var(--space-32) auto 0;font-weight:500;line-height:1.6;}

/* Додаємо відступ під поясненням у блоці "Що таке ШІ-помічник" */
.explanation--top{
  margin-bottom: var(--space-32);   /* відступ перед картками */
}

/* трішки більше «повітря» на великих екранах */
@media (min-width: 1024px){
  .explanation--top{ margin-bottom: 40px; }
}

/* === TWO-COLUMN GRIDS === */
.reasons-grid,
.modules-grid,
.audience-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr)); /* по 2 в ряд на десктопі */
  gap:var(--space-32);
}

/* Cards inside */
.reason-card,
.module-card,
.audience-card{background:var(--color-surface);padding:var(--space-32);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform .3s ease,box-shadow .3s ease;border:1px solid var(--color-card-border);height:100%;}
.reason-card:hover,.module-card:hover,.audience-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);}

.reason-icon{margin-bottom:var(--space-20);color:var(--color-primary);}
.reason-card h3{margin-bottom:var(--space-16);font-size:var(--font-size-card-title);color:var(--color-text);font-weight:600;line-height:1.3;}
.reason-card p{font-size:var(--font-size-body-lg);line-height:1.6;margin:0;color:var(--color-text-secondary);}

/* Modules */
.module-card{position:relative;overflow:hidden;}
.module-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--color-primary);}
.module-number{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;background:var(--color-primary);color:var(--color-btn-primary-text);border-radius:50%;font-weight:700;font-size:var(--font-size-xl);margin-bottom:var(--space-20);}
.module-card h3{margin-bottom:var(--space-16);font-size:var(--font-size-card-title);color:var(--color-text);font-weight:600;line-height:1.3;}
.module-card p{font-size:var(--font-size-body-lg);line-height:1.6;margin:0;color:var(--color-text-secondary);}

/* Audience */
.audience-icon{margin-bottom:var(--space-16);color:var(--color-primary);display:flex;justify-content:center;}
.audience-card p{font-size:var(--font-size-body-lg);line-height:1.6;margin:0;color:var(--color-text);font-weight:500;}

/* Format list */
.format-list{display:flex;flex-direction:column;gap:var(--space-20);max-width:700px;margin:0 auto;}
.format-item{display:flex;align-items:center;background:var(--color-surface);padding:var(--space-24);border-radius:var(--radius-base);box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease;border:1px solid var(--color-card-border);}
.format-item:hover{transform:translateX(12px);box-shadow:var(--shadow-md);}
.format-icon{margin-right:var(--space-20);min-width:50px;color:var(--color-primary);display:flex;justify-content:center;}
.format-item p{font-size:var(--font-size-body-lg);margin:0;color:var(--color-text);font-weight:500;line-height:1.6;}

/* Authors */
.authors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:var(--space-32);}
.author-card{background:var(--color-surface);padding:var(--space-32);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform .3s ease,box-shadow .3s ease;border:1px solid var(--color-card-border);}
.author-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);}
.author-photo{width:90px;height:90px;border-radius:50%;background:var(--color-primary);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-24);color:var(--color-btn-primary-text);}
.author-card h3{text-align:center;margin-bottom:var(--space-20);font-size:var(--font-size-card-title);color:var(--color-text);font-weight:700;}
.author-bio{margin-bottom:var(--space-20);line-height:1.6;font-size:var(--font-size-body-lg);color:var(--color-text-secondary);}
.author-quote{font-style:italic;background:var(--color-bg-2);padding:var(--space-20);border-radius:var(--radius-base);margin:var(--space-20) 0;border-left:4px solid var(--color-primary);font-size:var(--font-size-body-lg);line-height:1.6;color:var(--color-text);}
.author-role{font-weight:600;color:var(--color-primary);font-size:var(--font-size-body-lg);line-height:1.6;}

/* Pricing */
.pricing{background:linear-gradient(135deg,var(--color-teal-500) 0%,var(--color-teal-700) 100%);color:white;}
.pricing .section-title{color:white;}
.price-card{background:rgba(255,255,255,.1);backdrop-filter:blur(15px);border-radius:var(--radius-lg);padding:var(--space-32);text-align:center;max-width:500px;margin:0 auto;border:1px solid rgba(255,255,255,.2);box-shadow:0 20px 60px rgba(0,0,0,.2);}
.price-amount{font-size:clamp(3.5rem,6vw,5rem);font-weight:700;margin-bottom:var(--space-12);line-height:1;}
.price-subtitle{font-size:var(--font-size-xl);margin-bottom:var(--space-20);opacity:.9;font-weight:500;}
.price-note{margin-bottom:var(--space-32);opacity:.8;font-size:var(--font-size-body-lg);line-height:1.6;}
.final-cta{width:100%;max-width:300px;}

/* Animations */
.fade-in{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease;}
.fade-in.visible{opacity:1;transform:translateY(0);}

/* Responsive */
@media (max-width:1024px){
  .hero-content{grid-template-columns:1fr;gap:var(--space-32);text-align:center;}
  .hero-text{text-align:center;}
  .hero-image-container{order:-1;min-height:300px;}
  .hero-image{width:300px;height:300px;}
  .hero-image-container::before{width:350px;height:350px;}
  .hero-image-container::after{width:280px;height:280px;}
  .hero-title,.hero-subtitle,.hero-description,.hero-cta{animation:fadeInUp 1s ease-out forwards;}
  @keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
}

@media (max-width:900px){
  /* на планшетах і нижче — по 1 в ряд */
  .reasons-grid,
  .modules-grid,
  .audience-grid{grid-template-columns:1fr;}
}

@media (max-width:768px){
  .hero-container,.container{padding:0 var(--space-20);}
  .hero-image{width:250px;height:250px;}
  .hero-image-container::before{width:300px;height:300px;}
  .hero-image-container::after{width:230px;height:230px;}
  .authors-grid{grid-template-columns:1fr;}
  .benefits-grid{grid-template-columns:1fr;}
  .format-item{flex-direction:column;text-align:center;padding:var(--space-20);}
  .format-icon{margin-right:0;margin-bottom:var(--space-12);}
  .section{padding:var(--space-24) 0;}
}

@media (max-width:480px){
  .hero-container,.container{padding:0 var(--space-16);}
  .cta-button{width:100%;text-align:center;}
  .hero{padding:var(--space-20) 0;}
  .hero-image{width:200px;height:200px;}
  .hero-image-container::before{width:250px;height:250px;}
  .hero-image-container::after{width:180px;height:180px;}
}

/* big, glam, animated icons */
.card-icon {
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; margin-right:0.75rem; flex:0 0 42px;
  color: #b693ff; /* ніжний фіолетовий під твій акцент */
  filter: drop-shadow(0 0 10px rgba(182,147,255,.35));
}
.card-icon svg { width:100%; height:100%; }

/* animations */
@keyframes floaty {0%{transform:translateY(0)}50%{transform:translateY(-5px)}100%{transform:translateY(0)}}
@keyframes pulse {0%{transform:scale(1);opacity:.95}50%{transform:scale(1.08);opacity:1}100%{transform:scale(1);opacity:.95}}
@keyframes glow {0%{filter:drop-shadow(0 0 10px rgba(182,147,255,.35))}
50%{filter:drop-shadow(0 0 18px rgba(182,147,255,.6))}
100%{filter:drop-shadow(0 0 10px rgba(182,147,255,.35))}}

.icon--float { animation: floaty 3.6s ease-in-out infinite; }
.icon--pulse { animation: pulse 2.4s ease-in-out infinite; }
.icon--glow  { animation: glow 2.8s ease-in-out infinite; }

/* дрібний полірунг для заголовка + карток у цьому блоці */
#for-whom .reason-head { display:flex; align-items:flex-start; gap:.75rem; font-weight:600; }
#for-whom .reason-card { transition: transform .2s ease, box-shadow .2s ease; }
#for-whom .reason-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.25) inset; }

/* === Fix for Light Mode text contrast === */
[data-color-scheme="light"] {
  --color-text: #111111; /* насичений чорний для основного тексту */
  --color-text-secondary: #555555; /* темно-сірий для підписів */
}

/* Callout block text fix */
.callout {
  color: var(--color-text); /* робимо текст видимим у світлій темі */
}

.author-photo img {
  width: 160px;        /* або 180px, можна під себе підібрати */
  height: 160px;
  object-fit: cover;   /* обрізає зайве, щоб було красиво */
  border-radius: 50%;  /* робить круглим */
  display: block;
  margin: 0 auto 16px; /* центрує і додає відступ вниз */
}

/* === HERO: фінальні стилі, що перекривають попередні === */
.hero-image-container picture,
.hero-image-container img {
  display: block;
  width: 100%;
}

.hero-image {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;         /* прибираємо квадрат */
  object-fit: cover;
  border-radius: var(--radius-lg);
  box-shadow: 0 25px 80px rgba(0,0,0,.4);
  transform: none !important;
  animation: none !important;
  position: static !important;
  opacity: 1 !important;
}

/* Вимикаємо декоративні підкладки */
.hero-image-container::before,
.hero-image-container::after {
  display: none !important;
}

/* На мобілці — компактніший контейнер, без фіксованої висоти */
@media (max-width: 768px){
  .hero-image-container{
    padding: var(--space-20) !important;
    min-height: auto !important;
  }
}

/* HERO: фінальні перекриття для мобілки, щоб не було квадрату */
.hero-image-container picture,
.hero-image-container img{ display:block; width:100%; }

.hero-image{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;          /* зберігаємо пропорції */
  object-fit:contain !important;   /* без crop; хочеш edge-to-edge — заміни на 'cover' */
  border-radius:var(--radius-lg);
  box-shadow:0 25px 80px rgba(0,0,0,.4);
  transform:none !important;
  animation:none !important;
  position:static !important;
  opacity:1 !important;
}

/* вимикаємо декоративні підкладки, що тиснули на геометрію */
.hero-image-container::before,
.hero-image-container::after{ display:none !important; }

/* на мобілі — без фіксованої висоти контейнера */
@media (max-width:768px){
  .hero-image-container{
    padding:var(--space-20) !important;
    min-height:auto !important;
  }
}

/* перебиваємо ранні фіксовані розміри на малих екранах */
@media (max-width:1024px){
  .hero-image{ width:100% !important; height:auto !important; }
}
@media (max-width:768px){
  .hero-image{ width:100% !important; height:auto !important; }
}
@media (max-width:480px){
  .hero-image{ width:100% !important; height:auto !important; }
}

@media (max-width: 768px) {
  .hero {
    margin: 0;
    padding: 0;
    min-height: 100vh; /* щоб картинка займала весь екран */
    background: url("assets/hero-mobile-ai.jpg?v=1") no-repeat center top;
    background-size: cover;
  }

  .hero-image-container {
    display: none; /* приховуємо десктопну картинку на мобілці */
  }
}

/* === MOBILE HERO FIX === */
@media (max-width: 768px) {
  /* робимо картинку повноширинною */
  .hero-image-container {
    padding: 0 !important;
    margin: 0 !important;
    min-height: auto !important;
    width: 100vw;
    max-width: 100vw;
    border-radius: 0 !important;
  }

  .hero-image {
    width: 100vw !important;
    height: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    object-fit: cover !important;
    transform: none !important;
    animation: none !important;
  }

  /* прибираємо декоративні шари й анімацію */
  .hero-image-container::before,
  .hero-image-container::after {
    display: none !important;
    content: none !important;
  }

  /* вимикаємо хитанку та інші hover-ефекти */
  .hero-image:hover {
    transform: none !important;
  }
}