

:root {
    /* Colors */
    --color-primary: #253E36;
    --color-on-primary: #FFFFFF;
    --color-secondary: #253E36;
    --color-on-secondary: #FFFFFF;
    --color-accent: #A1764C;
    --color-on-accent: #FFFFFF;
    --color-background: #FAF8F3;
    --color-foreground: #202B26;
    --color-card: #FAF8F3;
    --color-card-foreground: #202B26;
    --color-muted: #F0EDE5;
    --color-muted-foreground: #656A61;
    --color-border: #DEDCD2;
    --color-destructive: #DC2626;

    /* Typography */
    --font-heading: 'DM Serif Display', sans-serif;
    --font-body: 'DM Sans', sans-serif;

    /* Spacing */
    --space-xs: 0.25rem;
    --space-sm: 0.5rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;
    --space-2xl: 3rem;
    --space-3xl: 4rem;

    /* Border radius (archetype: Soft Modern) */
    --radius-sm: 0.375rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;
    --radius-full: 9999px;
    --btn-radius: 0.5rem;
    --card-radius: 0.75rem;

    /* Shadows (archetype: Soft Modern) */
    --shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.05);
    --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
    --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
    --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);

    /* Component style tokens (archetype: Soft Modern) */
    --border-width: 1px;
    --btn-hover-transform: translateY(-1px);
    --btn-hover-shadow: var(--shadow-md);
    --btn-weight: 600;
    --btn-text-transform: none;
    --btn-letter-spacing: normal;
    --card-hover-transform: translateY(-2px);
    --card-hover-shadow: var(--shadow-lg);
    --hero-bg: linear-gradient(135deg, var(--color-background) 0%, var(--color-muted) 100%);
    --hero-align: center;
    --heading-weight: 700;
    --heading-transform: none;
    --heading-spacing: normal;
    --body-line-height: 1.7;
    --navbar-bg: rgba(255,255,255,0.95);
    --navbar-border: 1px solid var(--color-border);

    /* Transitions */
    --transition-fast: 150ms ease;
    --transition-base: 200ms ease;
    --transition-slow: 300ms ease;

    /* Layout */
    --max-width: 1200px;
    --container-padding: 1.5rem;
}

/* ── Base ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body {
    font-family: var(--font-body);
    color: var(--color-foreground);
    background-color: var(--color-background);
    line-height: var(--body-line-height);
    font-size: 1rem;
}
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: var(--heading-weight);
    line-height: 1.2;
    letter-spacing: var(--heading-spacing);
    text-transform: var(--heading-transform);
    color: var(--color-foreground);
}
h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.5rem, 3.5vw, 2.5rem); }
h3 { font-size: clamp(1.25rem, 2.5vw, 1.75rem); }
a { color: var(--color-primary); text-decoration: none; transition: color var(--transition-fast); }
a:hover { color: var(--color-accent); }
img { max-width: 100%; height: auto; display: block; }

/* ── Container ── */
.container {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

/* ── Buttons ── */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: var(--btn-radius);
    font-family: var(--font-heading);
    font-weight: var(--btn-weight);
    font-size: 1rem;
    text-transform: var(--btn-text-transform);
    letter-spacing: var(--btn-letter-spacing);
    cursor: pointer;
    border: none;
    transition: all var(--transition-base);
    text-decoration: none;
}
.btn:hover { transform: var(--btn-hover-transform); box-shadow: var(--btn-hover-shadow); }
.btn:active { transform: translateY(0); }
.btn-primary {
    background: var(--color-primary);
    color: var(--color-on-primary);
}
.btn-primary:hover { background: var(--color-secondary); color: var(--color-on-secondary); }
.btn-accent {
    background: var(--color-accent);
    color: var(--color-on-accent);
}
.btn-outline {
    background: transparent;
    color: var(--color-primary);
    border: 2px solid var(--color-primary);
}
.btn-outline:hover { background: var(--color-primary); color: var(--color-on-primary); }

/* ── Cards ── */
.card {
    background: var(--color-card);
    color: var(--color-card-foreground);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--card-radius);
    padding: var(--space-xl);
    transition: all var(--transition-base);
    box-shadow: var(--shadow-sm);
}
.card:hover { box-shadow: var(--card-hover-shadow); transform: var(--card-hover-transform); }

/* ── Hero ── */
.hero {
    padding: var(--space-3xl) 0;
    text-align: var(--hero-align);
    background: var(--hero-bg);
}
.hero h1 {
    margin-bottom: var(--space-lg);
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}
.hero p {
    font-size: 1.25rem;
    color: var(--color-muted-foreground);
    max-width: 600px;
    margin: 0 auto var(--space-xl);
}

/* ── Section ── */
.section {
    padding: var(--space-3xl) 0;
}
.section-header {
    text-align: center;
    margin-bottom: var(--space-2xl);
}
.section-header h2 { margin-bottom: var(--space-sm); }
.section-header p { color: var(--color-muted-foreground); font-size: 1.1rem; max-width: 600px; margin: 0 auto; }

/* ── Grid ── */
.grid { display: grid; gap: var(--space-xl); }
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.grid-4 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

/* ── Navigation ── */
.navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-md) var(--container-padding);
    max-width: var(--max-width);
    margin: 0 auto;
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--navbar-bg);
    backdrop-filter: blur(10px);
    border-bottom: var(--navbar-border);
}
.navbar-brand {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--color-primary);
}
.navbar-links { display: flex; gap: var(--space-lg); list-style: none; }
.navbar-links a {
    color: var(--color-foreground);
    font-weight: 500;
    transition: color var(--transition-fast);
}
.navbar-links a:hover { color: var(--color-primary); }

/* ── Footer ── */
.footer {
    background: var(--color-foreground);
    color: var(--color-muted);
    padding: var(--space-3xl) 0 var(--space-xl);
}
.footer a { color: var(--color-muted); }
.footer a:hover { color: var(--color-on-primary); }
.footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--space-2xl); }
.footer-bottom {
    margin-top: var(--space-2xl);
    padding-top: var(--space-lg);
    border-top: 1px solid rgba(255,255,255,0.1);
    text-align: center;
    color: var(--color-muted-foreground);
    font-size: 0.875rem;
}

/* ── Article ── */
.article {
    max-width: 800px;
    margin: 0 auto;
    padding: var(--space-2xl) var(--container-padding);
}
.article h1 { margin-bottom: var(--space-lg); }
.article h2 { margin-top: var(--space-2xl); margin-bottom: var(--space-md); }
.article h3 { margin-top: var(--space-xl); margin-bottom: var(--space-sm); }
.article p { margin-bottom: var(--space-md); }
.article ul, .article ol { margin: var(--space-md) 0; padding-left: var(--space-xl); }
.article li { margin-bottom: var(--space-xs); }
.article img {
    border-radius: var(--radius-lg);
    margin: var(--space-xl) 0;
    box-shadow: var(--shadow-md);
}
.article blockquote {
    border-left: 4px solid var(--color-primary);
    padding: var(--space-md) var(--space-lg);
    margin: var(--space-xl) 0;
    background: var(--color-muted);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    font-style: italic;
}
.article table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--space-xl) 0;
}
.article th, .article td {
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-border);
    text-align: left;
}
.article th {
    background: var(--color-muted);
    font-weight: 600;
}

/* ── FAQ ── */
.faq-item {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    margin-bottom: var(--space-sm);
    overflow: hidden;
}
.faq-question {
    padding: var(--space-md) var(--space-lg);
    font-weight: 600;
    cursor: pointer;
    background: var(--color-card);
}
.faq-answer {
    padding: 0 var(--space-lg) var(--space-md);
    color: var(--color-muted-foreground);
}

/* ── Badges / Tags ── */
.badge {
    display: inline-block;
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-full);
    font-size: 0.75rem;
    font-weight: 600;
    background: var(--color-muted);
    color: var(--color-foreground);
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .navbar-links { display: none; /* hamburger menu needed */ }
    .hero { padding: var(--space-2xl) 0; }
    .grid-3 { grid-template-columns: 1fr; }
    .grid-4 { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
    .grid-2 { grid-template-columns: 1fr; }
    .grid-4 { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; }
}

/* ── Prefers reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* ══════════════════════════════════════════════════════════════════
 * chrome.css
 * Site skin : header, nav, footer, article, cards, forms, CTA.
 * Ce fichier est STATIQUE entre les sites. Les couleurs/fonts sont
 * dans style.css (generated design system, CSS vars).
 * ══════════════════════════════════════════════════════════════════ */

/* ── Header ── */
.site-header{position:sticky;top:0;z-index:100;background:var(--navbar-bg, var(--color-background));backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid rgba(148,163,184,0.24);transition:border-color var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base)}
.site-header.scrolled{border-bottom-color:rgba(148,163,184,0.3);box-shadow:0 8px 22px -16px rgba(2,6,23,0.85)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0.9rem var(--container-padding);max-width:var(--max-width);margin:0 auto;gap:1rem}
.logo{font-family:var(--font-heading);font-size:1.3rem;font-weight:800;color:var(--color-foreground);text-decoration:none;display:inline-flex;align-items:center;gap:0.6rem;letter-spacing:-0.02em}
.logo:hover{color:var(--color-primary)}
.logo-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));display:inline-flex;align-items:center;justify-content:center;color:var(--color-on-primary);font-weight:800;font-size:0.95rem;letter-spacing:0.02em;box-shadow:0 4px 14px -4px color-mix(in srgb,var(--color-primary) 55%,transparent);position:relative;overflow:hidden}
.logo-icon::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.25),transparent 45%);mix-blend-mode:overlay;pointer-events:none}
.nav{display:flex;align-items:center;gap:0.15rem}
.site-header .nav a:not(.btn){padding:0.55rem 1rem;border-radius:var(--radius-sm);font-size:0.9rem;font-weight:500;color:var(--color-foreground) !important;text-decoration:none;transition:background-color var(--transition-base),color var(--transition-base);position:relative;opacity:1 !important;visibility:visible !important;white-space:nowrap}
.site-header .nav a:not(.btn):hover{color:var(--color-primary) !important;background:color-mix(in srgb, var(--color-primary) 8%, transparent)}
.site-header .nav a.active:not(.btn){color:var(--color-primary) !important;font-weight:700}
.site-header .nav a.active::before{content:"";position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);width:18px;height:2px;border-radius:2px;background:var(--color-primary)}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:0.5rem;color:var(--color-foreground);z-index:110}
.nav-toggle svg{width:24px;height:24px}
.nav-overlay{position:fixed;inset:0;background:rgba(15,23,42,0.45);backdrop-filter:blur(4px);z-index:104;opacity:0;pointer-events:none;transition:opacity .25s ease}
.nav-overlay.open{opacity:1;pointer-events:auto}

/* ── Hero base ── */
.hero{position:relative;overflow:hidden;padding:clamp(3.5rem,8vw,6rem) 0 clamp(3rem,6vw,5rem);isolation:isolate}
.hero .container{position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:0.5rem;padding:0.4rem 0.95rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary);font-size:0.8rem;font-weight:600;margin-bottom:1.25rem;border:1px solid color-mix(in srgb,var(--color-primary) 18%,transparent);letter-spacing:0.02em}
.hero-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 0 color-mix(in srgb,var(--color-primary) 55%,transparent);animation:pulse-dot 2s ease-in-out infinite}
.hero h1{max-width:18ch;margin-bottom:1.25rem;letter-spacing:-0.03em}
.hero-lede{font-size:clamp(1.05rem,1.8vw,1.2rem);color:var(--color-muted-foreground);max-width:60ch;margin-bottom:2rem;line-height:1.7}
.hero-actions{display:flex;gap:0.9rem;flex-wrap:wrap;align-items:center}

/* ── Sections ── */
.section{padding:clamp(3rem,6vw,5rem) 0}
.section-alt{background:var(--color-muted)}
.section-header{text-align:center;max-width:720px;margin:0 auto 2.5rem}
.section-header .overline{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--color-primary);margin-bottom:0.75rem}
.section-header h2{margin-bottom:0.9rem;letter-spacing:-0.02em}
.section-header p{color:var(--color-muted-foreground);font-size:1.05rem;line-height:1.7}

/* ── Grids ── */
.grid{display:grid;gap:var(--space-xl)}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.85rem 1.6rem;border-radius:var(--radius-md);font-family:var(--font-heading);font-weight:600;font-size:0.95rem;line-height:1;cursor:pointer;border:none;transition:transform var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base),color var(--transition-base);text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:0 4px 14px -4px color-mix(in srgb,var(--color-primary) 65%,transparent)}
.btn-primary:hover{background:var(--color-secondary);color:var(--color-on-secondary);transform:translateY(-1px);box-shadow:0 8px 20px -6px color-mix(in srgb,var(--color-primary) 65%,transparent)}
.btn-outline{background:transparent;color:var(--color-foreground);border:1.5px solid var(--color-border)}
.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 5%,transparent)}
.btn-ghost{background:transparent;color:var(--color-foreground);padding-left:0.5rem;padding-right:0.5rem}
.btn-ghost:hover{color:var(--color-primary)}
.btn-cta{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:var(--color-on-primary);padding:1rem 2rem;border-radius:var(--radius-full);font-weight:700;box-shadow:0 6px 24px -6px color-mix(in srgb,var(--color-primary) 70%,transparent);position:relative;overflow:hidden}
.btn-cta::after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.25),transparent);transition:left .6s ease}
.btn-cta:hover::after{left:100%}
.btn-cta:hover{transform:translateY(-2px);box-shadow:0 10px 30px -8px color-mix(in srgb,var(--color-primary) 75%,transparent)}
.btn-cta-white{background:var(--color-card);color:var(--color-primary);padding:0.9rem 1.8rem;border-radius:var(--radius-full);font-weight:700;box-shadow:0 6px 24px -8px rgba(15,23,42,0.25)}
.btn-cta-white:hover{transform:translateY(-2px);color:var(--color-secondary);box-shadow:0 10px 30px -8px rgba(15,23,42,0.3)}
.btn-arrow{transition:transform var(--transition-base);display:inline-block}
.btn:hover .btn-arrow{transform:translateX(3px)}

/* ── Cards ── */
.card{background:var(--color-card);color:var(--color-card-foreground);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1),border-color .3s ease;position:relative}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 40px -16px rgba(15,23,42,0.18);border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border))}
.feature-card{text-align:left;padding:2rem}
.feature-card .feature-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 12%,transparent),color-mix(in srgb,var(--color-primary) 4%,transparent));display:inline-flex;align-items:center;justify-content:center;margin-bottom:1.1rem;color:var(--color-primary);position:relative}
.feature-card .feature-icon svg{width:26px;height:26px;stroke-width:1.8}
.feature-card .feature-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;margin-bottom:0.5rem;letter-spacing:-0.01em}
.feature-card .feature-desc{color:var(--color-muted-foreground);line-height:1.7;font-size:0.95rem}
/* Generic fallbacks so .feature-title/.feature-desc/.feature-icon stay readable outside .feature-card scope (benefits, guarantees, about, etc.) */
.feature-icon{color:var(--color-primary)}
.feature-icon svg{width:26px;height:26px;stroke-width:1.8}
.feature-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;letter-spacing:-0.01em;color:inherit}
.feature-desc{color:var(--color-muted-foreground);line-height:1.7;font-size:0.95rem}

/* ── Stats ── */
.stats-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:2rem;padding:2rem 0;text-align:center}
.stat-item .stat-number,.stat-highlight .stat-number{font-family:var(--font-heading);font-size:clamp(2rem,3.5vw,2.8rem);font-weight:800;color:var(--color-primary);line-height:1.05;letter-spacing:-0.02em;display:block;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat-item .stat-label,.stat-highlight .stat-label{font-size:0.88rem;color:var(--color-muted-foreground);margin-top:0.3rem;display:block}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.25rem;margin:2rem 0}
.stat-highlight{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.75rem 1.25rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}
.stat-highlight:hover{transform:translateY(-3px);box-shadow:0 12px 32px -12px rgba(15,23,42,0.15)}

/* ── CTA banner ── */
.cta-banner{position:relative;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,4vw,3rem);border-radius:var(--radius-xl);text-align:center;overflow:hidden;isolation:isolate;box-shadow:0 24px 60px -24px color-mix(in srgb,var(--color-primary) 60%,transparent)}
.cta-banner::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 120%,rgba(255,255,255,0.18),transparent 40%),radial-gradient(circle at 80% -20%,rgba(255,255,255,0.12),transparent 45%);pointer-events:none;z-index:0}
.cta-banner > *{position:relative;z-index:1}
.cta-banner h3{color:#fff;font-size:clamp(1.4rem,2.6vw,2rem);margin-bottom:0.7rem;letter-spacing:-0.02em}
.cta-banner p{color:rgba(255,255,255,0.9);margin-bottom:1.5rem;font-size:1.05rem;max-width:48ch;margin-left:auto;margin-right:auto}

/* ── Testimonials ── */
.testimonial-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;position:relative;box-shadow:0 4px 20px -8px rgba(15,23,42,0.08);transition:transform .3s ease,box-shadow .3s ease}
.testimonial-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px -16px rgba(15,23,42,0.15)}
.testimonial-card::before{content:"\201C";position:absolute;top:-18px;left:18px;font-size:5rem;color:var(--color-primary);opacity:0.12;font-family:Georgia,serif;line-height:1}
.testimonial-card .stars{color:#f59e0b;font-size:0.95rem;margin-bottom:0.65rem;letter-spacing:0.1em}
.review-card .stars{color:#facc15;font-size:1rem;margin-bottom:0.75rem;letter-spacing:0.08em}
/* ── Reviews 3-column grid ── */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
/* ── Vertical review card (3-col grid) ── */
.review-card-v{display:flex;flex-direction:column;gap:0.6rem;padding:1.5rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:box-shadow .3s ease,border-color .3s ease;height:100%}
.review-card-v:hover{border-color:color-mix(in srgb,var(--color-primary) 25%,var(--color-border));box-shadow:0 8px 24px -12px rgba(15,23,42,0.18)}
.review-card-v .stars{color:#facc15;font-size:1.05rem;letter-spacing:0.08em;line-height:1;flex-shrink:0}
.review-card-v .review-title{font-weight:700;font-size:0.97rem;color:var(--color-foreground);line-height:1.35}
.review-card-v .review-text{color:var(--color-muted-foreground);line-height:1.65;font-size:0.9rem;flex:1}
.review-card-v .review-footer{margin-top:auto;padding-top:0.85rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:0.2rem}
.review-card-v .reviewer-name{font-weight:700;font-size:0.88rem;color:var(--color-foreground)}
.review-card-v .review-product{font-size:0.75rem;color:var(--color-muted-foreground);font-style:italic}
.review-card-v .review-date{font-size:0.72rem;color:var(--color-muted-foreground)}
@media(max-width:900px){.reviews-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.reviews-grid{grid-template-columns:1fr}}
.testimonial-card p{font-size:1rem;line-height:1.7;margin-bottom:1.25rem;color:var(--color-foreground)}
.testimonial-card cite{display:flex;align-items:center;gap:0.75rem;font-style:normal;font-weight:600;color:var(--color-foreground)}
.testimonial-card .reviewer-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));display:flex;align-items:center;justify-content:center;color:var(--color-on-primary);font-weight:700;flex-shrink:0}
.testimonial-card .reviewer-role{font-weight:400;font-size:0.82rem;color:var(--color-muted-foreground);display:block;margin-top:2px}

/* ── FAQ ── */
.faq-section{max-width:760px;margin:2rem auto 0}
.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:0.75rem;overflow:hidden;transition:box-shadow .3s ease,border-color .3s ease;background:var(--color-card)}
.faq-item:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border));box-shadow:0 6px 20px -8px rgba(15,23,42,0.08)}
.faq-question{padding:1.15rem 1.4rem;font-family:var(--font-heading);font-weight:600;font-size:1rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;color:var(--color-foreground)}
.faq-question::after{content:"";width:12px;height:12px;border-right:2px solid var(--color-primary);border-bottom:2px solid var(--color-primary);transform:rotate(45deg) translateY(-2px);transition:transform .3s ease;flex-shrink:0}
.faq-item.open .faq-question::after{transform:rotate(-135deg) translateY(2px)}
.faq-answer{padding:0 1.4rem;color:var(--color-muted-foreground);line-height:1.75;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .3s ease}
.faq-item.open .faq-answer{padding:0 1.4rem 1.25rem;max-height:1000px}

/* ── Callouts ── */
.callout-box{display:flex;gap:1rem;align-items:flex-start;padding:1.5rem;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 5%,transparent),color-mix(in srgb,var(--color-accent) 5%,transparent));border:1px solid color-mix(in srgb,var(--color-primary) 12%,transparent);border-radius:var(--radius-lg);margin:1.75rem 0}
.callout-icon{font-size:1.4rem;flex-shrink:0;margin-top:0.1rem;color:var(--color-primary)}
.callout-box p{margin:0;line-height:1.7}

/* ── Check list ── */
.check-list{list-style:none;padding:0;margin:1.25rem 0}
.check-list li{position:relative;padding:0.5rem 0 0.5rem 2rem;line-height:1.7}
.check-list li::before{content:"";position:absolute;left:0;top:0.7rem;width:1.3rem;height:1.3rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));box-shadow:0 2px 6px -2px color-mix(in srgb,var(--color-primary) 60%,transparent)}
.check-list li::after{content:"";position:absolute;left:0.45rem;top:0.95rem;width:0.35rem;height:0.65rem;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg)}

/* ── Trust signals ── */
.trust-badges{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:1.75rem}
.trust-badge{display:inline-flex;align-items:center;gap:0.45rem;padding:0.45rem 0.9rem;background:var(--color-card);color:var(--color-foreground);border-radius:var(--radius-full);font-size:0.82rem;font-weight:600;border:1px solid var(--color-border);box-shadow:0 2px 6px -2px rgba(15,23,42,0.06)}
.trust-badge svg{width:14px;height:14px;color:#10b981;stroke-width:3}

/* ── Article cards ── */
.article-card{overflow:hidden;padding:0;display:flex;flex-direction:column}
.article-card .card-image{overflow:hidden;position:relative;aspect-ratio:16/10;background:var(--color-muted)}
.article-card .card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.article-card:hover .card-image img{transform:scale(1.06)}
.article-card .card-body{padding:1.5rem 1.75rem 1.75rem;flex:1;display:flex;flex-direction:column}
.article-card .card-tag{display:inline-block;padding:0.3rem 0.8rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary);font-size:0.76rem;font-weight:600;margin-bottom:0.85rem;align-self:flex-start;letter-spacing:0.02em}
.article-card h3{font-size:1.15rem;font-weight:700;line-height:1.35;margin-bottom:0.6rem;letter-spacing:-0.01em}
.article-card h3 a{color:var(--color-foreground);text-decoration:none}
.article-card h3 a:hover{color:var(--color-primary)}
.article-card .excerpt{color:var(--color-muted-foreground);font-size:0.92rem;line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.article-card .card-meta{display:flex;align-items:center;gap:0.9rem;font-size:0.8rem;color:var(--color-muted-foreground);margin-top:auto}

/* ── Breadcrumb ── */
.breadcrumb{padding:1rem 0;font-size:0.85rem;color:var(--color-muted-foreground)}
.breadcrumb a{color:var(--color-muted-foreground);text-decoration:none;transition:color var(--transition-base)}
.breadcrumb a:hover{color:var(--color-primary)}
.breadcrumb .sep{margin:0 0.5rem;opacity:0.5}

/* ── Article content ── */
.article-content{font-size:1.05rem;line-height:1.8;color:var(--color-foreground)}
.article-content h2{font-family:var(--font-heading);font-size:clamp(1.45rem,2.5vw,1.8rem);font-weight:700;margin:2.75rem 0 1rem;letter-spacing:-0.02em;position:relative;padding-left:1rem}
.article-content h2::before{content:"";position:absolute;left:0;top:0.4em;bottom:0.4em;width:4px;border-radius:4px;background:linear-gradient(180deg,var(--color-primary),var(--color-secondary))}
.article-content h3{font-family:var(--font-heading);font-size:clamp(1.15rem,1.9vw,1.35rem);font-weight:700;margin:2rem 0 0.8rem;color:var(--color-foreground)}
.article-content p{margin-bottom:1.15rem}
.article-content ul,.article-content ol{margin:1rem 0 1rem 1.5rem}
.article-content li{margin-bottom:0.4rem;line-height:1.75}
.article-content blockquote{border-left:4px solid var(--color-primary);padding:1.1rem 1.5rem;margin:1.75rem 0;background:var(--color-muted);border-radius:0 var(--radius-md) var(--radius-md) 0;font-style:italic;color:var(--color-foreground)}
.article-content code{background:var(--color-muted);padding:0.12rem 0.4rem;border-radius:4px;font-size:0.88em;font-family:ui-monospace,"SF Mono",Menlo,monospace}
.article-content img{border-radius:var(--radius-lg);margin:1.75rem 0}
.article-content table{width:100%;border-collapse:collapse;margin:1.75rem 0;font-size:0.95rem}
.article-content th,.article-content td{padding:0.75rem 1rem;border:1px solid var(--color-border);text-align:left}
.article-content th{background:var(--color-muted);font-weight:600}
.article-content figure{margin:1.75rem 0}
.article-content figcaption{font-size:0.85rem;color:var(--color-muted-foreground);text-align:center;margin-top:0.5rem}
.article-content a{color:var(--color-primary);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--color-primary) 35%,transparent);text-underline-offset:3px;transition:text-decoration-color .2s ease}
.article-content a:hover{text-decoration-color:var(--color-primary)}
.article-tldr{margin:0 0 2rem;padding:1.1rem 1.25rem;background:color-mix(in srgb,var(--color-primary) 6%,var(--color-muted));border-left:4px solid var(--color-primary);border-radius:0 var(--radius-md) var(--radius-md) 0}
.article-tldr .tldr-label{display:inline-block;font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-primary);margin-bottom:0.4rem}
.article-tldr .tldr-text{margin:0;font-size:1rem;line-height:1.6;color:var(--color-foreground)}
.aio-answer{margin:0 0 2rem;padding:1.25rem 1.5rem;border:1px solid color-mix(in srgb,var(--color-primary) 25%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 4%,var(--color-background));border-radius:var(--radius-md)}
.aio-answer .aio-label{display:inline-block;font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-primary);margin-bottom:0.5rem}
.aio-answer .aio-answer-text{margin:0;font-size:1.05rem;line-height:1.65;color:var(--color-foreground);font-weight:500}
.aio-answer .aio-keypoints{margin:0.85rem 0 0;padding:0;list-style:none}
.aio-answer .aio-keypoints li{margin-bottom:0.4rem;padding-left:1.2rem;position:relative;font-size:0.95rem;line-height:1.55;color:var(--color-foreground)}
.aio-answer .aio-keypoints li::before{content:"✓";position:absolute;left:0;color:var(--color-primary);font-weight:700}
.article-toc{margin:0 0 2.5rem;padding:1rem 1.25rem;background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:0.95rem}
.article-toc summary{cursor:pointer;list-style:none;color:var(--color-muted-foreground);font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase}
.article-toc summary::-webkit-details-marker{display:none}
.article-toc summary strong{color:var(--color-foreground);margin-right:0.4rem}
.article-toc .toc-list{margin:0.85rem 0 0 1.2rem;padding:0;line-height:1.55}
.article-toc .toc-list li{margin-bottom:0.35rem}
.article-toc .toc-list a{color:var(--color-foreground);text-decoration:none;border-bottom:1px dashed color-mix(in srgb,var(--color-primary) 35%,transparent)}
.article-toc .toc-list a:hover{color:var(--color-primary);border-bottom-color:var(--color-primary)}
.key-passage{background:var(--color-muted);padding:1rem 1.25rem;border-radius:var(--radius-md);border-left:3px solid var(--color-accent);margin:1.25rem 0;font-weight:500}

.article-tag{display:inline-block;padding:0.3rem 0.9rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary);font-size:0.8rem;font-weight:600;margin-bottom:1rem;border:1px solid color-mix(in srgb,var(--color-primary) 18%,transparent);letter-spacing:0.02em}
.article-title{font-size:clamp(1.9rem,4.2vw,2.75rem);font-weight:800;line-height:1.15;letter-spacing:-0.02em;margin-bottom:1rem}
.article-meta{display:flex;align-items:center;gap:0.9rem;color:var(--color-muted-foreground);font-size:0.88rem;flex-wrap:wrap}
.article-meta .dot-sep{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:0.5}
.article-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}

/* ── Forms ── */
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;font-size:0.85rem;font-weight:600;margin-bottom:0.4rem;color:var(--color-foreground)}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:0.8rem 1rem;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);font-size:0.95rem;font-family:var(--font-body);color:var(--color-foreground);background:var(--color-card);transition:border-color var(--transition-base),box-shadow var(--transition-base);outline:none}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 12%,transparent)}
.form-group textarea{min-height:120px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* ── Footer ── */
.site-footer{background:#0b1020;color:rgba(255,255,255,0.62);padding:4rem 0 0;margin-top:4rem;position:relative;overflow:hidden}
.site-footer::before{content:"";position:absolute;top:-120px;left:50%;transform:translateX(-50%);width:900px;height:300px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--color-primary) 22%,transparent) 0%,transparent 60%);pointer-events:none;opacity:0.7}
.site-footer .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;position:relative;z-index:1}
.site-footer .logo{color:#fff;margin-bottom:1rem}
.site-footer .logo:hover{color:#fff}
.footer-brand p{font-size:0.9rem;line-height:1.7;color:rgba(255,255,255,0.45);max-width:320px}
.footer-col h3{font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:rgba(255,255,255,0.95);margin-bottom:1.1rem;font-family:var(--font-heading)}
.footer-col a{display:block;font-size:0.88rem;color:rgba(255,255,255,0.5);padding:0.32rem 0;text-decoration:none;transition:color var(--transition-base),transform var(--transition-base)}
.footer-col a:hover{color:#fff;transform:translateX(3px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding:1.5rem 0;text-align:center;font-size:0.82rem;color:rgba(255,255,255,0.35);position:relative;z-index:1}

/* ── WhatsApp float ── */
.whatsapp-float{position:fixed;bottom:24px;right:24px;z-index:999;display:flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem;background:#25D366;color:#fff;border-radius:var(--radius-full);font-size:.9rem;font-weight:600;text-decoration:none;box-shadow:0 8px 28px -4px rgba(37,211,102,.5);transition:all .3s cubic-bezier(.22,1,.36,1)}
.whatsapp-float:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 14px 36px -4px rgba(37,211,102,.55);color:#fff}
.whatsapp-float:active{transform:translateY(0) scale(.97)}
.whatsapp-float svg{flex-shrink:0}

/* ── Responsive ── */
@media(max-width:1024px){
    .site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:768px){
    /* Important: disable header backdrop-filter on mobile —
       it makes position:fixed children constrained to the header box,
       which breaks the slide-in mobile nav (appears blurry/cropped).
       The header must also sit ABOVE the overlay: it is a sticky/z-index
       stacking context, so its child .nav is trapped at the header level.
       Raising the header above the overlay lets the menu paint over it
       (otherwise the overlay's blur + pointer-events cover the links). */
    .site-header{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background:var(--color-background) !important;z-index:130 !important}
    .nav{position:fixed;top:0;right:-100%;visibility:hidden;width:min(86vw,320px);height:100vh;height:100dvh;background:var(--color-background);background-color:var(--color-background);flex-direction:column;justify-content:flex-start;padding:5rem 1.5rem 2rem;gap:0.4rem;box-shadow:-12px 0 40px rgba(0,0,0,0.55);transition:right .3s cubic-bezier(.22,1,.36,1);z-index:120;align-items:stretch;overflow-y:auto;isolation:isolate}
    .nav.open{right:0;visibility:visible}
    .site-header .nav a:not(.btn){font-size:1.05rem;padding:0.95rem 1rem;width:100%;border-radius:var(--radius-sm);color:var(--color-foreground) !important;background:color-mix(in srgb, var(--color-foreground) 3%, transparent);border:1px solid var(--color-border)}
    .site-header .nav a:hover,.site-header .nav a.active:not(.btn){background:color-mix(in srgb, var(--color-primary) 12%, transparent);color:var(--color-primary) !important;border-color:var(--color-primary)}
    .site-header .nav .btn{margin-left:0 !important;margin-top:0.4rem;justify-content:center;font-size:0.95rem !important;padding:0.85rem 1rem !important}
    .nav-toggle{display:block;color:var(--color-foreground);z-index:130}
    .nav-overlay{z-index:115}
    .card-grid{grid-template-columns:1fr}
    .form-row{grid-template-columns:1fr}
    .site-footer .footer-grid{grid-template-columns:1fr;gap:2rem}
    .stats-bar{grid-template-columns:repeat(2,1fr) !important;gap:1.5rem}
    main .btn{white-space:normal;text-align:center;max-width:100%}
    .whatsapp-float span{display:none}
    .whatsapp-float{padding:.9rem;border-radius:50%}
    .article-content h2{padding-left:0.85rem}
}

/* ============================================================
   Corporate family overrides (tf-corporate)
   Utility top-bar, sober square skin, structured split hero,
   authority stat strip.
   ============================================================ */
body.tf-corporate { --tf-edge: color-mix(in srgb, var(--color-foreground,#0b1020) 12%, transparent); }
.corp-topbar { background: var(--color-primary, #1E3A8A); color: #fff; font-size: 0.82rem; }
.corp-topbar-inner { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.5rem 0; }
.corp-topbar-tag { opacity: 0.9; text-transform: capitalize; }
.corp-topbar-contacts { display: flex; gap: 1.25rem; }
.corp-topbar-contacts a { color: #fff; opacity: 0.92; font-weight: 600; }
.corp-topbar-contacts a:hover { opacity: 1; text-decoration: underline; }
body.tf-corporate .site-header { border-bottom: 2px solid var(--color-primary, #1E3A8A); }
body.tf-corporate .logo-icon { border-radius: 3px; }
body.tf-corporate .nav > a:not(.btn) { font-weight: 600; font-size: 0.9rem; }
body.tf-corporate .nav-cta-quote { margin-left: 0.8rem; border-radius: 3px; text-transform: uppercase; letter-spacing: 0.04em; font-size: 0.8rem; padding: 0.6rem 1.2rem; }
body.tf-corporate .btn, body.tf-corporate .card, body.tf-corporate .feature-card, body.tf-corporate .review-card { border-radius: 4px; }
/* Split hero */
body.tf-corporate .co-hero { padding: clamp(2.5rem,5vw,4.5rem) 0; border-bottom: 1px solid var(--tf-edge); }
body.tf-corporate .co-hero-inner { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(1.5rem,4vw,3rem); align-items: center; }
body.tf-corporate .co-eyebrow { display: inline-block; text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.78rem; font-weight: 700; color: var(--color-primary); padding-left: 0.8rem; border-left: 3px solid var(--color-primary); margin-bottom: 1.1rem; }
body.tf-corporate .co-hero-title { font-size: clamp(2.1rem, 4.5vw, 3.4rem); line-height: 1.1; letter-spacing: -0.01em; margin: 0 0 1rem; }
body.tf-corporate .co-hero-lede { font-size: 1.12rem; line-height: 1.65; color: var(--color-muted-foreground,#555); max-width: 46ch; }
body.tf-corporate .co-hero-actions { display: flex; gap: 0.75rem; flex-wrap: wrap; margin: 1.5rem 0; }
body.tf-corporate .co-hero-trust { list-style: none; margin: 1.2rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.6rem 1.5rem; }
body.tf-corporate .co-hero-trust li { position: relative; padding-left: 1.4rem; font-size: 0.9rem; font-weight: 600; color: var(--color-foreground,#222); }
body.tf-corporate .co-hero-trust li::before { content: "\2714"; position: absolute; left: 0; color: var(--color-primary); font-weight: 700; }
body.tf-corporate .co-hero-media { margin: 0; }
body.tf-corporate .co-hero-media img { width: 100%; height: auto; display: block; border-radius: 4px; border: 1px solid var(--tf-edge); }
@media (max-width: 860px) { body.tf-corporate .co-hero-inner { grid-template-columns: 1fr; } body.tf-corporate .corp-topbar-tag { display: none; } }

/* ══════════════════════════════════════════════════════════════════
 * motion.css
 * Motion-graphics layer : animated mesh gradient, blob decorations,
 * scroll reveals, counters, marquee, text split, magnetic buttons.
 * ══════════════════════════════════════════════════════════════════ */

/* ── Keyframes ── */
@keyframes fadeInUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideUp{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:translateY(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(0.92)}to{opacity:1;transform:scale(1)}}
@keyframes fadeInLeft{from{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:translateX(0)}}
@keyframes fadeInRight{from{opacity:0;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}
@keyframes pulse-dot{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--color-primary) 55%,transparent)}50%{box-shadow:0 0 0 8px transparent}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes blob-drift-a{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-30px) scale(1.08)}66%{transform:translate(-30px,20px) scale(0.95)}}
@keyframes blob-drift-b{0%,100%{transform:translate(0,0) scale(1) rotate(0deg)}50%{transform:translate(-40px,30px) scale(1.1) rotate(12deg)}}
@keyframes blob-drift-c{0%,100%{transform:translate(0,0) rotate(0deg)}50%{transform:translate(25px,35px) rotate(-10deg)}}
@keyframes gradient-shift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes marquee-slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes grid-fade{0%,100%{opacity:0.35}50%{opacity:0.55}}
@keyframes float-y{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes chip-pop{from{opacity:0;transform:scale(0.85) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}

/* ── Scroll reveal primitives ── */
.animate-fade-in,.animate-slide-up,.animate-scale-in,.animate-fade-left,.animate-fade-right{opacity:0;will-change:opacity,transform}
.animate-fade-in.visible{animation:fadeInUp .75s cubic-bezier(.22,1,.36,1) forwards}
.animate-slide-up.visible{animation:slideUp .85s cubic-bezier(.22,1,.36,1) forwards}
.animate-scale-in.visible{animation:scaleIn .7s cubic-bezier(.22,1,.36,1) forwards}
.animate-fade-left.visible{animation:fadeInLeft .8s cubic-bezier(.22,1,.36,1) forwards}
.animate-fade-right.visible{animation:fadeInRight .8s cubic-bezier(.22,1,.36,1) forwards}
[data-delay="1"].visible{animation-delay:.08s}
[data-delay="2"].visible{animation-delay:.16s}
[data-delay="3"].visible{animation-delay:.24s}
[data-delay="4"].visible{animation-delay:.32s}
[data-delay="5"].visible{animation-delay:.4s}
[data-delay="6"].visible{animation-delay:.48s}

/* ── Animated mesh gradient backdrop (hero default) ── */
.mesh-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.mesh-bg .mesh-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:0.55;mix-blend-mode:multiply;will-change:transform}
.mesh-bg .blob-a{top:-12%;left:-8%;width:52vw;max-width:680px;height:52vw;max-height:680px;background:radial-gradient(circle at 30% 30%,var(--color-primary),transparent 65%);animation:blob-drift-a 18s ease-in-out infinite}
.mesh-bg .blob-b{top:30%;right:-10%;width:46vw;max-width:620px;height:46vw;max-height:620px;background:radial-gradient(circle at 60% 40%,var(--color-secondary),transparent 65%);animation:blob-drift-b 22s ease-in-out infinite}
.mesh-bg .blob-c{bottom:-20%;left:25%;width:40vw;max-width:540px;height:40vw;max-height:540px;background:radial-gradient(circle at 40% 60%,var(--color-accent),transparent 70%);animation:blob-drift-c 26s ease-in-out infinite;opacity:0.35}

/* Dark theme adjustment */
[data-theme="dark"] .mesh-bg .mesh-blob{mix-blend-mode:screen;opacity:0.45}

/* Dotted grid overlay (optional) */
.hero.with-grid::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,color-mix(in srgb,var(--color-foreground) 14%,transparent) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 50%,#000 30%,transparent 75%);opacity:0.4;animation:grid-fade 8s ease-in-out infinite;z-index:0;pointer-events:none}

/* Hero aurora variant */
.hero.aurora{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 7%,var(--color-background)),color-mix(in srgb,var(--color-accent) 5%,var(--color-background)) 50%,color-mix(in srgb,var(--color-secondary) 8%,var(--color-background)));background-size:200% 200%;animation:gradient-shift 14s ease-in-out infinite}

/* ── Text reveal (split word) ── */
.text-reveal{display:inline-block}
.text-reveal .word{display:inline-block;overflow:hidden;vertical-align:bottom}
.text-reveal .word span{display:inline-block;transform:translateY(100%);opacity:0;transition:transform .75s cubic-bezier(.22,1,.36,1),opacity .6s ease}
.text-reveal.visible .word span{transform:translateY(0);opacity:1}
.text-reveal.visible .word:nth-child(1) span{transition-delay:.05s}
.text-reveal.visible .word:nth-child(2) span{transition-delay:.12s}
.text-reveal.visible .word:nth-child(3) span{transition-delay:.19s}
.text-reveal.visible .word:nth-child(4) span{transition-delay:.26s}
.text-reveal.visible .word:nth-child(5) span{transition-delay:.33s}
.text-reveal.visible .word:nth-child(6) span{transition-delay:.4s}
.text-reveal.visible .word:nth-child(7) span{transition-delay:.47s}
.text-reveal.visible .word:nth-child(8) span{transition-delay:.54s}
.text-reveal.visible .word:nth-child(9) span{transition-delay:.61s}
.text-reveal.visible .word:nth-child(10) span{transition-delay:.68s}
.text-reveal .accent{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}

/* ── Counters ── */
.counter{display:inline-block;font-variant-numeric:tabular-nums}

/* ── Marquee (trust logos / chips) ── */
.marquee{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee-track{display:flex;width:max-content;gap:3rem;animation:marquee-slide 30s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-item{flex:0 0 auto;display:inline-flex;align-items:center;gap:0.6rem;padding:0.6rem 1.1rem;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-card);font-size:0.85rem;font-weight:600;color:var(--color-foreground)}
.marquee-item svg{width:16px;height:16px;color:var(--color-primary)}

/* ── Process steps (numbered) ── */
.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;position:relative}
.process-step{position:relative;padding:1.5rem;border-radius:var(--radius-lg);background:var(--color-card);border:1px solid var(--color-border);transition:transform .3s ease,box-shadow .3s ease}
.process-step:hover{transform:translateY(-4px);box-shadow:0 16px 40px -16px rgba(15,23,42,0.15)}
.process-num{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:var(--color-on-primary);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:800;font-size:1.05rem;margin-bottom:1rem;box-shadow:0 6px 16px -4px color-mix(in srgb,var(--color-primary) 55%,transparent)}
.process-step h3{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;margin-bottom:0.4rem}
.process-step p{color:var(--color-muted-foreground);line-height:1.7;font-size:0.92rem;margin:0}

/* ── Keyword chips ── */
.chip-cloud{display:flex;flex-wrap:wrap;gap:0.6rem;justify-content:center}
.chip{display:inline-flex;align-items:center;padding:0.5rem 1.15rem;border-radius:var(--radius-full);font-size:0.88rem;font-weight:600;border:1px solid var(--color-border);background:var(--color-card);color:var(--color-foreground);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;animation:chip-pop .5s ease both}
.chip.primary{background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 22%,transparent)}
.chip:hover{transform:translateY(-2px);border-color:var(--color-primary);box-shadow:0 6px 16px -6px color-mix(in srgb,var(--color-primary) 40%,transparent)}

/* ── Magnetic button subtle ── */
.magnetic{transition:transform .2s cubic-bezier(.22,1,.36,1)}

/* ── Hover reveal link (arrow) ── */
.arrow-link{display:inline-flex;align-items:center;gap:0.3rem;font-weight:600;color:var(--color-primary);text-decoration:none}
.arrow-link .arrow{transition:transform .3s cubic-bezier(.22,1,.36,1);display:inline-block}
.arrow-link:hover .arrow{transform:translateX(4px)}

/* ── Parallax layer ── */
.parallax{will-change:transform}

/* ── Decorative floating icon ── */
.float-icon{animation:float-y 5s ease-in-out infinite}

/* ── Prefers-reduced-motion ── */
@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}
    .mesh-bg .mesh-blob,.marquee-track,.hero.aurora{animation:none!important}
    .text-reveal .word span{transform:none;opacity:1}
}

/* ══════════════════════════════════════════════════════════════════
 * Carousel (testimonials / any horizontal slider)
 * ══════════════════════════════════════════════════════════════════ */
.testi-carousel{position:relative}
.testi-viewport{overflow:hidden;border-radius:var(--radius-lg,14px)}
.testi-track{display:flex;gap:1.5rem;will-change:transform;transition:transform .6s cubic-bezier(.22,1,.36,1);touch-action:pan-y}
.testi-slide{flex:0 0 calc((100% - 3rem) / 3);min-width:0;margin:0}
@media (max-width:980px){.testi-slide{flex-basis:calc((100% - 1.5rem) / 2)}}
@media (max-width:640px){.testi-track{gap:1rem}.testi-slide{flex-basis:100%}}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.75rem}
.carousel-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full,9999px);border:1px solid var(--color-border);background:var(--color-card);color:var(--color-foreground);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease}
.carousel-btn svg{width:20px;height:20px}
.carousel-btn:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px);box-shadow:0 8px 20px -8px color-mix(in srgb,var(--color-primary) 45%,transparent)}
.carousel-btn:disabled{opacity:0.4;cursor:default;transform:none;box-shadow:none;border-color:var(--color-border);color:var(--color-foreground)}
.carousel-dots{display:inline-flex;align-items:center;gap:0.5rem}
.carousel-dot{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:color-mix(in srgb,var(--color-foreground) 22%,transparent);cursor:pointer;transition:transform .25s ease,background .25s ease}
.carousel-dot.active{background:var(--color-primary);transform:scale(1.35)}

/* ══════════════════════════════════════════════════════════════════
 * Per-archetype motion personalities — the reveal "feel" differs by site
 * so two builds never animate identically. Keyed on <body data-archetype>.
 * ══════════════════════════════════════════════════════════════════ */
@keyframes popHard{0%{opacity:0;transform:translateY(18px) scale(.96)}60%{opacity:1;transform:translateY(-3px) scale(1.01)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes revealBlur{from{opacity:0;transform:translateY(26px) scale(.97);filter:blur(10px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes revealFade{from{opacity:0}to{opacity:1}}
@keyframes clipUp{from{opacity:0;clip-path:inset(100% 0 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}

/* Neo Brutalist — snappy, hard pop, no soft easing. */
[data-archetype="neo-brutalist"] .animate-fade-in.visible,
[data-archetype="neo-brutalist"] .animate-slide-up.visible,
[data-archetype="neo-brutalist"] .animate-scale-in.visible{animation:popHard .42s cubic-bezier(.5,1.6,.4,1) forwards}
[data-archetype="neo-brutalist"] .testi-track{transition-timing-function:cubic-bezier(.7,0,.3,1);transition-duration:.35s}

/* Elevated Glow — cinematic blur-in, longer. */
[data-archetype="elevated-glow"] .animate-fade-in.visible,
[data-archetype="elevated-glow"] .animate-slide-up.visible,
[data-archetype="elevated-glow"] .animate-scale-in.visible{animation:revealBlur 1s cubic-bezier(.22,1,.36,1) forwards}

/* Editorial Ruled — restrained, fade only (no movement). */
[data-archetype="editorial-ruled"] .animate-fade-in.visible,
[data-archetype="editorial-ruled"] .animate-slide-up.visible,
[data-archetype="editorial-ruled"] .animate-scale-in.visible{animation:revealFade .9s ease forwards}

/* Sharp Corporate — clip wipe up, crisp. */
[data-archetype="sharp-corporate"] .animate-fade-in.visible,
[data-archetype="sharp-corporate"] .animate-slide-up.visible{animation:clipUp .7s cubic-bezier(.4,0,.2,1) forwards}

/* Pill Airy — gentle, slow, extra travel handled by base; just slow it. */
[data-archetype="pill-airy"] .animate-fade-in.visible,
[data-archetype="pill-airy"] .animate-slide-up.visible,
[data-archetype="pill-airy"] .animate-scale-in.visible{animation-duration:1.05s}

@media (prefers-reduced-motion:reduce){
    .testi-track{transition:none!important}
    [data-archetype] .animate-fade-in.visible,
    [data-archetype] .animate-slide-up.visible,
    [data-archetype] .animate-scale-in.visible{animation:none!important;opacity:1!important;filter:none!important;clip-path:none!important;transform:none!important}
}


/* Studio collection — deliberately restrained, typography-led, content-first. */
body.studio{--radius-sm:3px;--radius-md:4px;--radius-lg:6px;--radius-xl:8px;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;background:var(--color-background);color:var(--color-foreground);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.65;overflow-x:clip}
.studio *{box-sizing:border-box}.studio img{max-width:100%}.studio a{color:inherit}.studio h1,.studio h2,.studio h3{color:inherit;text-transform:none;font-weight:500;text-wrap:balance;overflow-wrap:anywhere}.studio h1,.studio h2{font-family:var(--font-heading,'DM Sans',sans-serif);letter-spacing:-.045em}.studio p{overflow-wrap:anywhere}.studio :focus-visible{outline:2px solid var(--color-primary);outline-offset:5px}
.studio .container{width:min(100% - 112px,1328px);max-width:1328px;margin-inline:auto;padding:0}.studio .section{padding:100px 0}.studio .section-alt{background:var(--color-muted)}
.studio-skip{position:fixed;top:-100px;left:24px;background:var(--color-primary);color:var(--color-on-primary)!important;padding:12px 24px;z-index:1000}.studio-skip:focus{top:12px}
.studio .site-header{position:sticky;top:0;background:var(--color-background);border:0;border-bottom:1px solid var(--color-border);box-shadow:none;border-radius:0;backdrop-filter:blur(16px);z-index:106;padding:0;margin:0;width:100%;transform:none}
.studio .header-inner{width:min(100% - 112px,1328px);max-width:1328px;min-height:100px;gap:32px;margin:auto;padding:0;display:flex;align-items:center;justify-content:space-between}.studio .logo{display:flex;align-items:center;gap:13px;min-width:0;text-decoration:none;max-width:45%;font-size:18px;letter-spacing:-.6px;font-weight:600;color:var(--color-foreground)}.studio-wordmark{line-height:1.2;max-width:260px;overflow-wrap:anywhere}.studio-monogram{width:45px;height:45px;display:inline-flex;align-items:center;justify-content:center;font-family:'DM Serif Display',Georgia,serif;font-size:34px;flex:none;letter-spacing:-4px}.studio-monogram span{color:var(--color-primary)}
.studio .nav{display:flex;gap:28px;align-items:center}.studio .site-header .nav a:not(.btn){font-size:13px;font-weight:500;padding:10px 0;letter-spacing:0;color:var(--color-foreground)!important;white-space:normal}.studio .site-header .nav a.active:not(.btn){border-bottom:1px solid currentColor}.studio .site-header .nav a::before,.studio .site-header .nav a::after{display:none}.studio .site-header .nav a:hover{background:transparent}
.studio .btn{min-height:52px;padding:16px 25px;border-radius:3px;gap:32px;border:1px solid var(--color-primary);font:500 13px/1.3 'DM Sans',sans-serif;letter-spacing:0;text-transform:none;text-decoration:none;white-space:normal;box-shadow:none;transform:none;transition:background .2s,color .2s,border-color .2s}.studio .btn::after{display:none}.studio .btn-primary,.studio .btn-cta{background:var(--color-primary);color:var(--color-on-primary)!important}.studio .btn:hover{box-shadow:none;transform:none;filter:brightness(.92)}.studio .btn-outline{background:transparent;color:var(--color-foreground)!important;border-color:var(--color-border)}.studio .nav .btn{min-height:44px;padding:12px 20px;gap:24px}.studio .studio-text-link{display:inline-flex;align-items:center;gap:22px;text-decoration:none;font-size:13px;font-weight:500;border-bottom:1px solid var(--color-border);padding-bottom:5px}
.studio .studio-kicker{display:flex;gap:12px;align-items:center;font:500 10px/1.55 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:2px;color:var(--color-muted-foreground)}.studio-rule{width:32px;height:1px;background:currentColor;flex:none}
.studio-hero{padding:72px 0 0;position:relative}.studio-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:80px;align-items:center}.studio-hero-copy{min-width:0;padding:24px 0 36px}.studio-hero h1{font-size:clamp(44px,5vw,76px);line-height:1.04;max-width:15ch;margin:30px 0 28px;letter-spacing:-.055em}.studio-hero .accent{color:var(--color-primary);font-style:italic;background:none;-webkit-text-fill-color:currentColor}.studio-hero-lede{font-size:15px;line-height:1.85;max-width:53ch;color:var(--color-muted-foreground);margin:0}.studio-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:34px}.studio-trust{list-style:none;padding:28px 0 0;margin:0;display:flex;gap:12px 24px;flex-wrap:wrap;border-top:1px solid var(--color-border);margin-top:32px}.studio-trust li{font-size:11px;color:var(--color-muted-foreground);display:flex;gap:9px;align-items:center}.studio-trust li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--color-primary);flex:none}
.studio-hero-visual{min-width:0;position:relative;padding:0 0 0 15px}.studio-portrait{margin:0;aspect-ratio:4/5;overflow:hidden;position:relative;background:var(--color-muted);border-radius:140px 4px 4px 4px}.studio-portrait img{width:100%;height:100%;object-fit:cover;display:block}.studio-image-caption{display:flex;justify-content:space-between;gap:20px;padding:14px 0;font-size:10px;letter-spacing:1px;color:var(--color-muted-foreground);text-transform:uppercase}.studio-hero-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--color-border);padding:24px 0!important;margin-top:56px!important;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--color-muted-foreground)}
.studio-sculpture{aspect-ratio:4/5;position:relative;overflow:hidden;background:var(--color-muted);border-radius:140px 4px 4px 4px;display:flex;align-items:center;justify-content:center;isolation:isolate}.studio-sculpture>span{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(100px,17vw,230px);font-weight:400;line-height:1;color:var(--color-foreground);z-index:2}.sculpture-ring{position:absolute;width:66%;height:85%;border:1px solid color-mix(in srgb,var(--color-primary) 28%,transparent);border-radius:50%;transform:rotate(35deg)}.sculpture-ring:nth-child(2){transform:rotate(-35deg)}.sculpture-ring:nth-child(3){transform:rotate(90deg);width:80%;height:75%}
.studio-section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:48px}.studio-section-heading h2{font-size:clamp(30px,3.5vw,52px);line-height:1.15;max-width:17ch;margin:14px 0 0}.studio-service-list{border-top:1px solid var(--color-border)}.studio-service{display:grid;grid-template-columns:50px 1fr 1.1fr 36px;align-items:start;gap:30px;padding:34px 0;border-bottom:1px solid var(--color-border)}.studio-service>span{font-size:12px;color:var(--color-muted-foreground);padding-top:5px}.studio-service h3{font-size:22px;font-family:'DM Sans',sans-serif;line-height:1.4;margin:0;letter-spacing:-.6px}.studio-service p{font-size:14px;line-height:1.8;margin:0;color:var(--color-muted-foreground)}.studio-service>a{font-size:25px;text-decoration:none}
.studio-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.studio-article-card{min-width:0;border-top:2px solid var(--color-primary);padding:24px 0 0}.studio-article-card>a{display:flex;flex-direction:column;height:100%;text-decoration:none}.studio-article-top{display:flex;gap:20px;justify-content:space-between;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--color-muted-foreground)}.studio-article-top>span:first-child{overflow-wrap:anywhere}.studio-article-card h3{font-family:var(--font-heading);font-size:28px;line-height:1.25;margin:30px 0 18px;letter-spacing:-.6px}.studio-article-card p{font-size:13px;color:var(--color-muted-foreground);line-height:1.75;margin:0 0 36px}.studio-article-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--color-border);padding:16px 0;margin-top:auto;font-size:11px;color:var(--color-muted-foreground)}.studio-article-bottom>span:last-child{font-size:22px;color:var(--color-foreground)}.studio-article-card a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.studio-closing{background:var(--color-muted);text-align:center;border-top:1px solid var(--color-border)}.studio-closing .studio-kicker{justify-content:center}.studio-closing h2{font-size:clamp(38px,5vw,72px);line-height:1.12;max-width:19ch;margin:24px auto 36px}.studio .studio-footer{background:var(--color-foreground);color:var(--color-background);padding:0}.studio-footer-top{padding:65px 0 45px;border-bottom:1px solid color-mix(in srgb,currentColor 25%,transparent);display:flex;justify-content:space-between;gap:40px;align-items:center}.studio-footer-name{font-family:var(--font-heading);font-size:clamp(28px,4vw,54px);text-decoration:none;line-height:1.15}.studio-footer-top p{font-size:13px;opacity:.7;margin-top:15px}.studio-circle-link{display:grid;place-items:center;width:70px;height:70px;flex:none;border:1px solid color-mix(in srgb,currentColor 40%,transparent);border-radius:50%;font-size:28px;text-decoration:none}.studio .footer-grid{grid-template-columns:1fr 1fr 1fr;gap:70px;padding:44px 0;margin:0}.studio .footer-col{min-width:0}.studio .footer-col .studio-kicker{color:inherit;opacity:.55;margin-bottom:16px}.studio .footer-col a,.studio .footer-col>span:not(.studio-kicker){display:block;color:inherit;font-size:12px;line-height:1.75;padding:4px 0;overflow-wrap:anywhere}.studio .footer-col a:hover{color:inherit;text-decoration:underline}.studio .footer-bottom{display:flex;justify-content:space-between;gap:24px;text-align:left;padding:24px 0;border-top:1px solid color-mix(in srgb,currentColor 25%,transparent);font-size:10px;color:inherit}.studio .whatsapp-float{background:var(--color-primary);color:var(--color-on-primary);border:1px solid var(--color-border);border-radius:4px;box-shadow:0 4px 16px #0002;padding:13px 18px;font-size:12px;min-height:44px;animation:none}
.studio-page-intro{border-bottom:1px solid var(--color-border)}.studio-page-intro h1{font-size:clamp(44px,6vw,82px);line-height:1.08;max-width:17ch;margin:24px 0}.studio-page-intro p{max-width:70ch;font-size:17px;line-height:1.9;color:var(--color-muted-foreground)}.studio-landscape{margin:60px 0 0;max-height:620px;overflow:hidden}.studio-landscape img{width:100%;height:100%;max-height:620px;object-fit:cover;display:block}.studio-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.studio-contact-details>div{border-top:1px solid var(--color-border);padding:24px 0}.studio-contact-details a,.studio-contact-details p{display:block;font-size:18px;margin:12px 0;text-decoration:none;overflow-wrap:anywhere}.studio-contact-form{display:flex;flex-direction:column;gap:10px}.studio-contact-form label{font-size:12px;margin-top:10px}.studio-contact-form input,.studio-contact-form textarea{width:100%;background:var(--color-muted);border:1px solid var(--color-border);border-radius:3px;padding:15px;font:inherit;color:inherit}.studio-contact-form .btn{margin-top:20px;align-self:start}.studio-form-note{font-size:12px;color:var(--color-muted-foreground);line-height:1.7}
/* Existing pages keep their text, but receive the same editorial layout. */
.studio .hero:not(.studio-hero){background:transparent;border-bottom:1px solid var(--color-border);padding:70px 0!important}.studio .hero::before,.studio .hero::after,.studio .cta-banner::before{display:none}.studio .hero h1{font-size:clamp(38px,5vw,72px);line-height:1.12;margin:20px auto}.studio .hero-badge{background:transparent;border:0;border-radius:0;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-muted-foreground);padding:0}.studio .hero-badge .dot{animation:none;box-shadow:none}.studio .section-header{text-align:left;max-width:100%;margin:0 0 48px}.studio .section-header h2{font-size:clamp(30px,3.5vw,48px);max-width:24ch}.studio .section-header .overline{color:var(--color-muted-foreground);font-size:10px;letter-spacing:1.6px}.studio .section-header p{max-width:70ch;font-size:14px}.studio .card,.studio .testimonial-card,.studio .feature-card,.studio .stat-highlight{border-radius:3px;box-shadow:none;background:var(--color-background);padding:28px;border-color:var(--color-border)}.studio .card:hover,.studio .feature-card:hover,.studio .testimonial-card:hover{transform:none;box-shadow:none}.studio .feature-card{border:0;border-top:1px solid var(--color-border);padding:30px 0}.studio .feature-icon{background:none;border-radius:0;width:30px;height:30px}.studio .feature-icon svg{width:23px;height:23px}.studio .feature-title{font-weight:500;font-size:20px;margin:14px 0}.studio .feature-desc{font-size:14px}.studio .stats-bar{text-align:left;border-block:1px solid var(--color-border);padding:40px 0}.studio .stat-number{font-family:var(--font-heading);font-size:50px;font-weight:500;color:var(--color-primary);background:none;-webkit-text-fill-color:currentColor}.studio .cta-banner{background:var(--color-muted);color:var(--color-foreground);border:1px solid var(--color-border);border-radius:3px;box-shadow:none}.studio .cta-banner h3,.studio .cta-banner p{color:inherit}.studio .testimonial-card::before{display:none}.studio .testimonial-card .stars,.studio .review-card .stars{color:var(--color-primary)}.studio .faq-item{border-radius:0;box-shadow:none;border:0;border-bottom:1px solid var(--color-border);background:transparent}.studio .faq-question{padding:24px 0;font-weight:500}.studio .faq-answer{padding-inline:0}.studio .faq-item.open .faq-answer{padding:0 0 24px}
.studio.page-article #main>.container{width:min(100% - 112px,860px);max-width:860px!important;padding-top:32px!important}.studio .article-title{font-size:clamp(36px,4.2vw,60px);line-height:1.15;letter-spacing:-.035em}.studio .article-content{font:400 17px/1.95 'DM Sans',sans-serif;max-width:72ch;margin-inline:auto}.studio .article-content p{margin:1.4em 0}.studio .article-content h2{font-size:32px;line-height:1.3;margin:2em 0 .8em}.studio .article-content h3{font-size:23px;line-height:1.4}.studio .article-content a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}.studio .article-content table{display:block;max-width:100%;overflow-x:auto;font-size:14px;border-collapse:collapse}.studio .article-content th,.studio .article-content td{padding:14px;border:1px solid var(--color-border)}.studio .article-content blockquote{border-left:2px solid var(--color-primary);background:var(--color-muted);margin:30px 0;padding:10px 28px}.studio .article-content pre{max-width:100%;overflow:auto}.studio .article-meta{font-size:11px;gap:15px}.studio .article-tag{border-radius:0;background:transparent;border-bottom:1px solid var(--color-border);padding:5px 0;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--color-muted-foreground)}.studio .breadcrumb{font-size:10px;gap:10px;flex-wrap:wrap}.studio .article-footer{border-top:1px solid var(--color-border);padding-top:32px;margin-top:48px}.studio .author-box{border-radius:3px!important;background:var(--color-muted)!important;box-shadow:none}.studio .article-hero{aspect-ratio:auto!important}.studio .article-hero img{max-height:520px;object-fit:cover;border-radius:3px!important}.studio [class*='animate-'],.studio .text-reveal,.studio .word>span{opacity:1!important;transform:none!important;visibility:visible!important;animation:none!important}
.studio[data-studio='atelier'] .studio-portrait,.studio[data-studio='atelier'] .studio-sculpture{border-radius:3px}.studio[data-studio='atelier'] .studio-hero h1{font-weight:500;font-size:clamp(42px,4.6vw,70px)}.studio[data-studio='atelier'] .accent{font-style:normal}.studio[data-studio='atelier'] .studio-hero-visual{padding:20px;border:1px solid var(--color-border)}.studio[data-studio='atelier'] .studio-article-card{border-top:1px solid var(--color-primary)}.studio[data-studio='clarity'] .studio-portrait,.studio[data-studio='clarity'] .studio-sculpture{border-radius:100px 100px 4px 4px}.studio[data-studio='clarity'] .studio-hero h1{font-weight:500}.studio[data-studio='clarity'] .studio-service h3{font-weight:500}
@media(min-width:1600px){.studio-hero-grid{gap:110px}.studio-hero h1{font-size:84px}}
@media(max-width:1100px){.studio .container,.studio .header-inner{width:calc(100% - 64px)}.studio-hero-grid{gap:40px}.studio .nav{gap:20px}.studio .header-inner{min-height:88px}.studio-hero h1{font-size:52px}.studio .section{padding:72px 0}.studio-contact-grid{gap:50px}.studio-service{grid-template-columns:32px 1fr 1fr 24px;gap:24px}.studio.page-article #main>.container{width:calc(100% - 64px)}}
@media(max-width:800px){.studio .container,.studio .header-inner{width:calc(100% - 40px)}.studio .header-inner{min-height:76px;gap:20px}.studio .logo{max-width:78%;font-size:16px}.studio-wordmark{max-width:240px}.studio-monogram{width:32px;font-size:28px}.studio .nav-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--color-foreground);z-index:110;background:transparent;border:1px solid var(--color-border)}.studio .nav{position:fixed;top:76px;right:0;bottom:auto;left:0;max-height:calc(100dvh - 76px);overflow:auto;width:100%;height:auto;background:var(--color-background);padding:28px 24px 40px;display:none;flex-direction:column;align-items:stretch;gap:10px;transform:none;visibility:hidden;border-bottom:1px solid var(--color-border);border-radius:0}.studio .nav.open{display:flex;visibility:visible}.studio .site-header .nav a:not(.btn){padding:14px 0;font-size:20px}.studio .nav .btn{margin-top:12px}.studio .nav-overlay{z-index:105}.studio-hero{padding-top:32px}.studio-hero-grid{grid-template-columns:1fr;gap:24px}.studio-hero-copy{padding:16px 0}.studio-hero h1{font-size:clamp(40px,8vw,64px);max-width:18ch;margin:24px 0}.studio-hero-lede{font-size:14px;max-width:65ch}.studio-hero-visual{padding:0;max-width:100%;width:100%}.studio-portrait,.studio-sculpture{aspect-ratio:5/4;max-height:500px;border-radius:90px 3px 3px 3px}.studio-hero-foot{margin-top:32px!important;font-size:8px}.studio-actions{gap:20px;margin-top:28px}.studio .section{padding:56px 0}.studio-section-heading{gap:24px;align-items:start;margin-bottom:32px;flex-direction:column}.studio-section-heading h2{font-size:36px}.studio-service{grid-template-columns:24px 1fr 24px;gap:15px;padding:25px 0}.studio-service h3{font-size:20px}.studio-service p{grid-column:2/3;font-size:13px}.studio-service>a{grid-column:3;grid-row:1/3}.studio-article-grid{grid-template-columns:1fr;gap:32px}.studio-article-card h3{font-size:30px;margin-top:20px}.studio-article-card p{margin-bottom:24px}.studio .footer-grid{grid-template-columns:1fr 1fr;gap:30px;padding:32px 0}.studio .footer-grid .footer-col:last-child{grid-column:1/-1}.studio-footer-top{padding:40px 0 30px;gap:20px}.studio-circle-link{width:50px;height:50px;font-size:24px}.studio-contact-grid{grid-template-columns:1fr;gap:40px}.studio-page-intro h1{font-size:48px}.studio-page-intro p{font-size:15px}.studio .grid-3,.studio .grid-4,.studio .grid-2,.studio .card-grid,.studio .reviews-grid{grid-template-columns:1fr}.studio.page-article #main>.container{width:calc(100% - 40px)}.studio .article-content{font-size:16px;line-height:1.85}.studio .article-title{font-size:38px}.studio .article-content h2{font-size:28px}.studio .article-meta{gap:10px}.studio .article-footer{display:flex;flex-direction:column;gap:14px}.studio .author-box{flex-wrap:wrap}.studio .stats-bar{grid-template-columns:1fr 1fr;gap:30px}.studio .whatsapp-float{bottom:16px;right:16px;font-size:11px}.studio .image-gallery{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){.studio *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.studio .testi-viewport{overflow:hidden}.studio .testi-track{display:flex;gap:24px;transition:transform .3s ease}.studio .testi-slide{flex:0 0 100%;min-width:0;margin:0}.studio .carousel-controls{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.studio .carousel-btn{width:44px;height:44px;border:1px solid var(--color-border);background:transparent;color:inherit;cursor:pointer}.studio .carousel-btn svg{width:20px;height:20px}.studio .carousel-btn:disabled{opacity:.35;cursor:default}.studio .pm-marquee{overflow:auto}.studio .pm-marquee-track{display:flex;gap:24px;animation:none}.studio .pm-marquee-track>.testimonial-card{flex:0 0 min(80vw,420px)}
.studio .article-toc{background:var(--color-muted);border:1px solid var(--color-border);padding:24px;margin:32px 0;border-radius:3px}.studio .article-toc summary{cursor:pointer}.studio .toc-list{margin:16px 0 0;padding-left:20px}.studio .aio-answer{background:var(--color-muted);border-left:2px solid var(--color-primary);padding:24px 28px;margin:30px 0}.studio .aio-label{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-muted-foreground)}.studio .aio-answer p{margin:12px 0 0}
.studio-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.studio-gallery figure{margin:0;overflow:hidden;border-radius:3px;background:var(--color-muted)}.studio-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .35s ease}.studio-gallery figure:hover img{transform:scale(1.03)}@media(max-width:800px){.studio-gallery{grid-template-columns:repeat(2,1fr);gap:10px}}
