        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        :root {
            /* Backgrounds */
            --bg-primary: #faf6f1;
            --bg-surface: #f0e9df;
            --bg-dark: #2c2418;
            --bg-dark-surface: #3a3127;
            --bg-footer: #231e14;

            /* Text */
            --text-primary: #2c2418;
            --text-secondary: #7a6f63;
            --text-muted: #a09789;
            --text-on-dark: #faf6f1;
            --text-on-dark-muted: #c4b8a8;
            --border-hover: #c4b8a8;

            /* Radius */
            --radius-sm: 12px;

            /* Accents */
            --accent-primary: #d46a3a;
            --accent-hover: #b85a30;
            --accent-primary-on-surface: #b85a30;
            --accent-subtle: rgba(212, 106, 58, 0.14);
            --accent-secondary: #3d6b5a;
            --accent-secondary-hover: #2d5244;
            --accent-highlight: #e8c87a;

            /* Borders */
            --border-light: #e5ddd2;
            --border-medium: #d5cdc2;
            --border-dark: #4a3f33;

            /* Typography */
            --font-primary: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
            --font-accent: 'Fraunces', Georgia, serif;

            /* Spacing */
            --max-w-page: 1200px;
            --max-w-content: 800px;
            --max-w-narrow: 640px;
            --max-w-form: 560px;

            /* Motion */
            --ease-default: cubic-bezier(0.16, 1, 0.3, 1);
            --ease-enter: cubic-bezier(0.33, 1, 0.68, 1);
            --ease-exit: cubic-bezier(0.32, 0, 0.67, 0);
            --duration-fast: 100ms;
            --duration-normal: 300ms;
            --duration-slow: 500ms;
        }

        /* Anchor scroll offset for fixed navbar */
        section[id],
        .contact-form-section[id] {
            scroll-margin-top: 80px;
        }

        html {
            scroll-behavior: smooth;
            font-size: 1rem;
        }

        body {
            font-family: var(--font-primary);
            background-color: var(--bg-primary);
            color: var(--text-primary);
            line-height: 1.7;
        }

        /* Skip Link */
        .skip-link {
            position: absolute;
            top: -100%;
            left: 1rem;
            padding: 0.5rem 1rem;
            background: var(--accent-primary);
            color: var(--text-on-dark);
            border-radius: 0 0 8px 8px;
            z-index: 10000;
            font-size: 0.875rem;
            font-weight: 600;
            text-decoration: none;
        }
        .skip-link:focus { top: 0; }

        /* Focus Visible */
        :focus-visible {
            outline: 2px solid var(--accent-primary);
            outline-offset: 2px;
        }

        /* Navigation */
        nav {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1000;
            background: transparent;
            transition: background-color var(--duration-normal) var(--ease-default), box-shadow var(--duration-normal) var(--ease-default);
        }

        nav.nav-scrolled {
            background: var(--bg-primary);
            box-shadow: 0 1px 8px rgba(44, 36, 24, 0.08);
        }

        .nav-container {
            max-width: var(--max-w-page);
            margin: 0 auto;
            padding: 1rem 2rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 1rem;
        }

        .logo {
            font-family: var(--font-primary);
            font-size: 1.5rem;
            font-weight: 800;
            color: var(--text-on-dark);
            text-decoration: none;
            transition: color var(--duration-normal) var(--ease-default);
        }

        nav.nav-scrolled .logo {
            color: var(--text-primary);
        }

        .logo span {
            color: var(--accent-primary);
        }

        .nav-links {
            display: flex;
            align-items: center;
            gap: 2rem;
        }

        .nav-links a {
            color: var(--text-on-dark);
            text-decoration: none;
            font-size: 0.9rem;
            font-weight: 500;
            transition: color var(--duration-fast) var(--ease-default);
        }

        nav.nav-scrolled .nav-links a:not(.btn) {
            color: var(--text-secondary);
        }

        .nav-links a:not(.btn):hover {
            color: var(--accent-primary);
        }

        nav.nav-scrolled .nav-links a:not(.btn):hover {
            color: var(--text-primary);
        }

        /* Language toggle */
        .lang-toggle {
            font-size: 0.8rem;
            font-weight: 600;
            letter-spacing: 0.06em;
            padding: 0.3rem 0.6rem;
            border: 1px solid rgba(255, 255, 255, 0.3);
            border-radius: 4px;
            text-transform: uppercase;
            transition: border-color var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default);
        }

        .lang-toggle:hover {
            border-color: var(--accent-primary);
            color: var(--accent-primary) !important;
        }

        nav.nav-scrolled .lang-toggle {
            border-color: var(--border-medium);
            color: var(--text-secondary);
        }

        nav.nav-scrolled .lang-toggle:hover {
            border-color: var(--accent-primary);
            color: var(--accent-primary) !important;
        }

        .btn {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: var(--accent-primary);
            color: #ffffff;
            padding: 0.8125rem 1.5rem;
            min-height: 44px;
            border-radius: 8px;
            text-decoration: none;
            font-weight: 600;
            font-size: 0.95rem;
            border: none;
            cursor: pointer;
            transition: background-color var(--duration-fast) var(--ease-default);
        }

        .btn:hover {
            background: var(--accent-hover);
        }

        .btn[aria-busy="true"],
        .btn:disabled {
            opacity: 0.6;
            cursor: not-allowed;
            pointer-events: none;
        }

        .btn-small {
            padding: 0.5rem 1.25rem;
            font-size: 0.875rem;
        }

        .btn-large {
            padding: 1.25rem 2.5rem;
            font-size: 1.1rem;
        }

        .btn-secondary {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: transparent;
            color: var(--text-primary);
            padding: 0.8125rem 1.5rem;
            min-height: 44px;
            border-radius: 8px;
            text-decoration: none;
            font-weight: 600;
            font-size: 0.95rem;
            border: 1px solid var(--border-light);
            cursor: pointer;
            transition: border-color var(--duration-fast) var(--ease-default);
        }

        .btn-secondary:hover {
            border-color: var(--border-dark);
        }

        .btn-ghost {
            display: inline-flex;
            align-items: center;
            gap: 0.25rem;
            background: transparent;
            color: var(--accent-secondary);
            padding: 0;
            border: none;
            text-decoration: none;
            font-weight: 500;
            font-size: inherit;
            cursor: pointer;
            transition: color var(--duration-fast) var(--ease-default);
        }

        .btn-ghost:hover {
            text-decoration: underline;
        }

        /* Container */
        .container {
            max-width: var(--max-w-page);
            margin: 0 auto;
            width: 100%;
        }

        /* Hero Section */
        .hero {
            min-height: 85vh;
            display: flex;
            align-items: center;
            padding: clamp(6rem, 12vh, 10rem) 2rem clamp(4rem, 8vh, 6rem);
            position: relative;
            background-color: var(--bg-dark);
            background-image: url('images/pexels-taryn-elliott-6861140.jpg');
            background-size: cover;
            background-position: center 30%;
        }

        /* Hero overlay */
        .hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(
                to bottom,
                rgba(44, 36, 24, 0.88) 0%,
                rgba(44, 36, 24, 0.78) 60%,
                rgba(44, 36, 24, 0.92) 100%
            );
            z-index: 1;
        }

        @media (max-width: 640px) {
            .hero {
                background-image: none;
            }
            .hero::before { display: none; }
        }

        .hero-inner {
            position: relative;
            z-index: 2;
        }

        .hero-content {
            max-width: 700px;
        }

        .hero-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: var(--bg-dark-surface);
            border: 1px solid rgba(212, 106, 58, 0.3);
            padding: 0.5rem 1rem;
            border-radius: 50px;
            font-size: 0.8rem;
            font-weight: 600;
            color: var(--text-on-dark-muted);
            margin-bottom: 1.75rem;
            text-transform: uppercase;
            letter-spacing: 0.06em;
        }

        .hero-badge::before {
            content: '';
            width: 9px;
            height: 9px;
            background: var(--accent-primary);
            border-radius: 50%;
            flex-shrink: 0;
            box-shadow: 0 0 8px rgba(212, 106, 58, 0.55);
        }

        .hero h1 {
            font-family: var(--font-accent);
            font-size: clamp(2.5rem, 5vw, 4rem);
            font-weight: 700;
            line-height: 1.15;
            letter-spacing: -0.025em;
            color: var(--text-on-dark);
            margin-bottom: 1.25rem;
        }

        .hero p {
            font-size: 1.125rem;
            color: var(--text-on-dark-muted);
            margin-bottom: 2rem;
            max-width: 600px;
            line-height: 1.7;
        }

        .hero-trust {
            display: flex;
            align-items: center;
            gap: 2rem;
            margin-top: 2.5rem;
            padding-top: 2rem;
            border-top: 1px solid var(--border-dark);
            font-size: 0.9rem;
            color: var(--text-on-dark-muted);
        }

        .hero-trust strong {
            color: var(--text-on-dark);
        }

        .hero-trust-item {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .hero-trust-item svg {
            color: var(--accent-primary);
            flex-shrink: 0;
        }

        .hero-metric {
            font-size: 0.95rem;
            color: #c4a882;
            letter-spacing: 0.02em;
            margin: 0 0 1.25rem 0;
        }
        .hero-metric strong {
            color: #e07a4a;
            font-weight: 700;
        }

        /* Trust Line */
        /* (trust-line removed, trust stats now inside hero) */


        /* Trust Bar - Rotating Industry Pills */
        .trust-bar {
            padding: clamp(2.5rem, 5vh, 4rem) 2rem;
            background: var(--bg-surface);
            overflow: hidden;
        }

        .trust-label {
            text-align: left;
            max-width: var(--max-w-page);
            margin-left: auto;
            margin-right: auto;
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--text-secondary);
            margin-bottom: 1rem;
        }

        .trust-track {
            display: flex;
            width: max-content;
            animation: scroll-pills 30s linear infinite;
            will-change: transform;
        }

        .trust-track:hover {
            animation-play-state: paused;
        }

        .trust-pills {
            display: flex;
            gap: 0.5rem;
            padding-right: 0.5rem;
        }

        .trust-pill {
            background: transparent;
            border: 1px solid var(--border-light);
            padding: 0.5rem 1rem;
            border-radius: 50px;
            font-size: 0.85rem;
            font-weight: 500;
            color: var(--text-secondary);
            white-space: nowrap;
            word-spacing: 0.15em;
            transition: color var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default);
        }

        .trust-pill:hover {
            color: var(--text-primary);
            background: rgba(212, 106, 58, 0.08);
            border-color: rgba(212, 106, 58, 0.3);
        }

        @keyframes scroll-pills {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        @media (prefers-reduced-motion: reduce) {
            html { scroll-behavior: auto; }
            .trust-track { animation: none; }
            .photo-break { background-attachment: scroll; }
        }

        /* Section Styles */
        section {
            padding: 5rem 2rem;
        }

        .section-label {
            font-size: 0.75rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: var(--text-secondary);
            margin-bottom: 1rem;
        }

        .section-title {
            font-family: var(--font-primary);
            font-size: clamp(1.75rem, 3vw, 2.5rem);
            font-weight: 700;
            line-height: 1.15;
            letter-spacing: -0.01em;
            color: var(--text-primary);
            margin-bottom: 1rem;
        }

        .section-subtitle {
            font-size: 1.125rem;
            color: var(--text-secondary);
            max-width: 600px;
            line-height: 1.7;
        }

        /* Who I Work With */
        .personas {
            background: var(--bg-primary);
            padding: clamp(4rem, 8vh, 6rem) 2rem;
        }

        .personas-stack {
            max-width: var(--max-w-content);
            margin-top: 3rem;
            display: flex;
            flex-direction: column;
            gap: 3rem;
        }

        .persona-block {
            border-left: 3px solid var(--accent-primary);
            padding-left: 1.5rem;
        }

        .persona-block h3 {
            font-family: var(--font-primary);
            font-size: 1.5rem;
            font-weight: 700;
            margin-bottom: 0.75rem;
            color: var(--text-primary);
        }

        .persona-block p {
            color: var(--text-secondary);
            font-size: 1rem;
            line-height: 1.7;
            margin-bottom: 0.75rem;
        }

        .persona-examples {
            font-size: 0.875rem;
            color: var(--text-secondary);
            font-style: italic;
        }

        .persona-cta {
            display: block;
            margin-top: 1rem;
            font-size: 0.9rem;
            font-weight: 600;
            color: var(--accent-primary);
            text-decoration: none;
            transition: color var(--duration-fast) var(--ease-default);
        }
        .persona-cta:hover {
            color: var(--accent-hover);
        }

        /* Pull Quote */
        .pull-quote {
            background: var(--bg-surface);
            padding: clamp(2.5rem, 5vh, 4rem) 2rem;
        }

        .pull-quote-inner {
            max-width: var(--max-w-content);
            margin: 0 auto;
            border-left: 4px solid var(--accent-primary);
            padding-left: 2.5rem;
        }

        .pull-quote blockquote {
            font-family: var(--font-accent);
            font-size: clamp(1.15rem, 2vw, 1.4rem);
            font-weight: 600;
            font-style: italic;
            color: var(--text-primary);
            line-height: 1.6;
            margin: 0;
        }

        .pull-quote figcaption {
            display: block;
            margin-top: 1rem;
            font-style: normal;
            font-family: var(--font-primary);
            font-size: 0.85rem;
            font-weight: 500;
            color: var(--text-secondary);
        }

        /* (pricing section removed entirely) */

        /* Photo Break */
        .photo-break {
            padding: 0;
            height: clamp(250px, 40vh, 450px);
            background-image: url('images/pexels-taryn-elliott-6861140.jpg');
            background-attachment: fixed;
            background-size: cover;
            background-position: center;
        }

        /* Platforms Section */
        .platforms {
            background: var(--bg-surface);
            padding: clamp(4rem, 8vh, 6rem) 2rem;
        }

        .platforms-intro {
            font-size: 1.1rem;
            color: var(--text-secondary);
            margin-top: 1rem;
            margin-bottom: 3rem;
            max-width: 600px;
        }

        .platforms-grid {
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            gap: 1.5rem;
            max-width: 1100px;
            margin: 0 auto;
        }

        .platform-item {
            display: flex;
            align-items: flex-start;
            gap: 1rem;
            padding: 1.25rem;
            background: var(--bg-primary);
            border: 1px solid var(--border-light);
            border-radius: 8px;
            transition: border-color var(--duration-fast) var(--ease-default);
        }

        .platform-item:hover {
            border-color: var(--border-dark);
        }

        .platform-icon {
            width: 44px;
            height: 44px;
            background: var(--accent-subtle);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            color: var(--accent-primary);
        }

        .platform-text {
            display: flex;
            flex-direction: column;
            gap: 0.25rem;
            min-width: 0;
        }

        .platform-name {
            font-family: var(--font-primary);
            font-size: 0.95rem;
            font-weight: 600;
            color: var(--text-primary);
            overflow-wrap: break-word;
        }

        .platform-desc {
            font-size: 0.8rem;
            color: var(--text-secondary);
            line-height: 1.4;
            overflow-wrap: break-word;
        }

        /* Results Section */
        .results {
            background: var(--bg-primary);
            padding: clamp(5rem, 10vh, 8rem) 2rem;
            content-visibility: auto;
            contain-intrinsic-size: 0 500px;
        }

        .results .section-title {
            font-family: var(--font-accent);
        }

        .results-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 0;
            margin-top: 3rem;
        }

        .result-card {
            padding: 2rem 2rem 2rem 0;
            position: relative;
        }

        .result-card + .result-card {
            padding-left: 2rem;
            border-left: 1px solid var(--border-light);
        }

        .result-metric {
            font-family: var(--font-accent);
            font-style: italic;
            font-size: clamp(2.5rem, 4vw, 4rem);
            font-weight: 700;
            color: var(--accent-primary);
            margin-bottom: 0.5rem;
            line-height: 1;
        }

        .result-label {
            font-size: 1rem;
            color: var(--text-primary);
            margin-bottom: 0.75rem;
            font-weight: 500;
            overflow-wrap: break-word;
        }

        .result-client {
            font-size: 0.8rem;
            color: var(--text-muted);
        }

        /* About Section */
        .about {
            background: var(--bg-primary);
            padding: clamp(4rem, 8vh, 6rem) 2rem;
        }

        .about-content {
            display: grid;
            grid-template-columns: 5fr 7fr;
            gap: clamp(2rem, 4vw, 4rem);
            align-items: start;
            margin-top: 3rem;
        }

        .about-image {
            position: relative;
        }

        .about-photo {
            width: 100%;
            aspect-ratio: 4 / 5;
            border-radius: var(--radius-sm);
            overflow: hidden;
        }

        .about-photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center 20%;
        }

        .about-text p {
            color: var(--text-secondary);
            margin-bottom: 1.5rem;
            line-height: 1.7;
        }

        .about-text strong {
            color: var(--text-primary);
            font-weight: 600;
        }

        /* About Timeline */
        .about-timeline {
            display: flex;
            flex-direction: column;
            border-left: 2px solid var(--border-light);
            padding-left: 1.75rem;
            margin-left: 0.25rem;
        }

        .timeline-item {
            position: relative;
            padding-bottom: 2rem;
        }

        .timeline-item:last-child {
            padding-bottom: 0;
        }

        .timeline-item::before {
            content: '';
            position: absolute;
            left: calc(-1.75rem - 5px);
            top: 0.3rem;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--accent-primary);
            border: 2px solid var(--bg-primary);
        }

        .timeline-year {
            display: block;
            font-size: 0.75rem;
            font-weight: 700;
            color: var(--accent-primary);
            letter-spacing: 0.05em;
            margin-bottom: 0.3rem;
            text-transform: uppercase;
        }

        .timeline-content h3 {
            font-size: 1rem;
            font-weight: 600;
            color: var(--text-primary);
            margin-bottom: 0.4rem;
            line-height: 1.3;
        }

        .timeline-content p {
            font-size: 0.875rem;
            color: var(--text-secondary);
            line-height: 1.65;
            margin: 0;
        }

        /* Newsletter / Email Catcher */
        .email-catcher {
            background: var(--bg-secondary);
            padding: clamp(3rem, 6vh, 5rem) 2rem;
            border-top: 1px solid var(--border-light);
            border-bottom: 1px solid var(--border-light);
            text-align: center;
        }

        .email-catcher-inner {
            max-width: 540px;
            margin: 0 auto;
        }

        .email-catcher h2 {
            font-family: var(--font-accent);
            font-size: clamp(1.5rem, 3vw, 2rem);
            font-weight: 700;
            color: var(--text-primary);
            margin-bottom: 0.75rem;
        }

        .email-social-proof {
            color: var(--text-secondary);
            font-size: 0.95rem;
            margin-bottom: 2rem;
        }

        .email-form {
            display: flex;
            gap: 0.75rem;
            justify-content: center;
        }

        .email-form input[type="email"] {
            flex: 1;
            max-width: 320px;
            padding: 0.875rem 1rem;
            border: 1px solid var(--border-medium);
            border-radius: 6px;
            background: var(--bg-primary);
            color: var(--text-primary);
            font-family: var(--font-primary);
            font-size: 0.95rem;
            transition: border-color var(--duration-fast) var(--ease-default);
        }

        .email-form input[type="email"]::placeholder {
            color: var(--text-muted);
        }

        .email-form input[type="email"]:focus {
            outline: none;
            border-color: var(--accent-primary);
            box-shadow: 0 0 0 3px rgba(212, 106, 58, 0.12);
        }

        .email-form button {
            padding: 0.875rem 1.5rem;
            background: var(--accent-primary);
            color: white;
            border: none;
            border-radius: 6px;
            font-family: var(--font-primary);
            font-size: 0.95rem;
            font-weight: 600;
            cursor: pointer;
            white-space: nowrap;
            transition: background var(--duration-fast) var(--ease-default);
        }

        .email-form button:hover {
            background: var(--accent-hover);
        }

        .email-form button:disabled {
            opacity: 0.7;
            cursor: not-allowed;
        }

        /* How It Works — Vertical Timeline */
        .process {
            background: var(--bg-primary);
            padding: clamp(4rem, 8vh, 6rem) 2rem;
        }

        .process-timeline {
            max-width: var(--max-w-narrow);
            margin: 3rem auto 0;
            position: relative;
        }

        .process-step {
            display: grid;
            grid-template-columns: 28px 1fr;
            gap: 1.5rem;
            padding-bottom: 2.5rem;
            position: relative;
        }

        .process-step:last-child {
            padding-bottom: 0;
        }

        /* Vertical connecting line */
        .process-step::before {
            content: '';
            position: absolute;
            left: 13px;
            top: 28px;
            bottom: 0;
            width: 2px;
            background: var(--border-light);
            transition: background var(--duration-normal) var(--ease-default);
        }

        .process-step:last-child::before {
            display: none;
        }

        /* Line fills terracotta when step is active */
        .process-step.is-active::before {
            background: var(--accent-primary);
        }

        /* Dot */
        .process-dot {
            width: 28px;
            height: 28px;
            border-radius: 50%;
            border: 2px solid var(--border-light);
            background: var(--bg-primary);
            margin-top: 2px;
            position: relative;
            z-index: 1;
            transition: background var(--duration-normal) var(--ease-default),
                        border-color var(--duration-normal) var(--ease-default);
        }

        /* Dot fills terracotta when step is active */
        .process-step.is-active .process-dot {
            background: var(--accent-primary);
            border-color: var(--accent-primary);
        }

        /* Content starts invisible, animates in */
        .process-step-content {
            padding-bottom: 0.5rem;
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.5s var(--ease-default),
                        transform 0.5s var(--ease-default);
            will-change: opacity, transform;
        }

        .process-step.is-active .process-step-content {
            opacity: 1;
            transform: translateY(0);
        }

        .process-number {
            display: block;
            font-family: var(--font-primary);
            font-size: 0.8rem;
            font-weight: 700;
            color: var(--accent-primary);
            margin-bottom: 0.25rem;
        }

        .process-step-content h3 {
            font-family: var(--font-primary);
            font-size: 1.15rem;
            font-weight: 600;
            margin-bottom: 0.25rem;
            color: var(--text-primary);
        }

        .process-label {
            display: inline-block;
            font-size: 0.7rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: var(--text-muted);
            margin-bottom: 0.5rem;
        }

        .process-step-content p {
            font-size: 0.9rem;
            color: var(--text-secondary);
            line-height: 1.6;
        }

        /* Reduced motion: show everything immediately */
        @media (prefers-reduced-motion: reduce) {
            .process-step-content {
                opacity: 1;
                transform: none;
                transition: none;
            }

            .process-dot {
                transition: none;
            }

            .process-step::before {
                transition: none;
                background: var(--accent-primary);
            }

            .process-step .process-dot {
                background: var(--accent-primary);
                border-color: var(--accent-primary);
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .faq-answer {
                transition: none;
            }

            .faq-icon {
                transition: none;
            }

            .faq-icon::before {
                transition: none;
            }

            .faq-question h3 {
                transition: none;
            }
        }

        /* FAQ Section */
        .faq {
            background: var(--bg-surface);
            padding: clamp(4rem, 8vh, 6rem) 2rem;
            content-visibility: auto;
            contain-intrinsic-size: 0 600px;
        }

        .faq-intro {
            color: var(--text-secondary);
            margin-top: 1rem;
            margin-bottom: 0;
            max-width: var(--max-w-content);
        }

        .faq-intro a {
            color: var(--accent-primary-on-surface);
            text-decoration: underline;
            text-underline-offset: 2px;
            transition: color var(--duration-fast) var(--ease-default);
        }

        .faq-intro a:hover {
            color: #a04e28;
        }

        .faq-list {
            max-width: var(--max-w-content);
            margin-top: 3rem;
        }

        .faq-item {
            border-bottom: 1px solid var(--border-medium);
        }

        .faq-item:first-child {
            border-top: 1px solid var(--border-medium);
        }

        .faq-question {
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: 100%;
            padding: 1.25rem 0;
            min-height: 48px;
            cursor: pointer;
            gap: 1.5rem;
            background: none;
            border: none;
            text-align: left;
            font-family: inherit;
        }

        .faq-question h3 {
            font-size: 1.15rem;
            color: var(--text-primary);
            font-weight: 600;
            margin: 0;
            transition: color var(--duration-fast) var(--ease-default);
            overflow-wrap: break-word;
        }

        .faq-question:hover h3 {
            color: var(--accent-primary-on-surface);
        }

        .faq-icon {
            width: 28px;
            height: 28px;
            flex-shrink: 0;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: transform var(--duration-normal) var(--ease-default);
        }

        .faq-icon::before {
            content: '';
            width: 10px;
            height: 10px;
            border-right: 2px solid var(--text-secondary);
            border-bottom: 2px solid var(--text-secondary);
            transform: rotate(45deg);
            transition: border-color var(--duration-fast) var(--ease-default);
            margin-top: -3px;
        }

        .faq-question:hover .faq-icon::before {
            border-color: var(--accent-primary);
        }

        .faq-item.active .faq-icon {
            transform: rotate(180deg);
        }

        .faq-item.active {
            background: rgba(212, 106, 58, 0.04);
            border-radius: 8px;
            margin: 0 -1rem;
            padding: 0 1rem;
        }

        .faq-item.active .faq-question h3 {
            color: var(--accent-primary-on-surface);
        }

        .faq-item.active .faq-icon::before {
            border-color: var(--accent-primary-on-surface);
        }

        .js .faq-answer {
            display: grid;
            grid-template-rows: 0fr;
            transition: grid-template-rows var(--duration-normal) var(--ease-default);
        }

        .js .faq-item.active .faq-answer {
            grid-template-rows: 1fr;
        }

        .faq-answer-inner {
            overflow: hidden;
        }

        .faq-answer-inner p {
            font-size: 0.95rem;
            color: var(--text-primary);
            line-height: 1.7;
            padding-bottom: 1.25rem;
        }

        /* CTA Section */
        .cta {
            background: radial-gradient(ellipse 90% 60% at 50% 40%, var(--bg-dark-surface), var(--bg-dark));
            text-align: center;
            padding: clamp(6rem, 12vh, 10rem) 2rem clamp(4rem, 8vh, 6rem);
        }

        .cta .section-label {
            color: var(--text-on-dark-muted);
        }

        .cta .section-title {
            color: var(--text-on-dark);
        }

        .cta .section-subtitle {
            color: var(--text-on-dark-muted);
            margin-left: auto;
            margin-right: auto;
            margin-bottom: 2rem;
        }

        .cta-alt {
            color: var(--text-on-dark-muted);
            font-size: 0.9rem;
            margin-top: 1.5rem;
        }

        .cta-alt a {
            color: var(--accent-primary);
            text-decoration: underline;
            text-underline-offset: 2px;
            transition: color var(--duration-fast) var(--ease-default);
        }

        .cta-alt a:hover {
            color: var(--accent-hover);
        }

        /* Footer */
        footer {
            background: var(--bg-footer);
            border-top: 1px solid var(--border-dark);
        }

        .footer-top {
            max-width: var(--max-w-page);
            margin: 0 auto;
            padding: 3rem 2rem;
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 3rem;
        }

        .footer-brand {
            flex-shrink: 0;
        }

        .footer-logo {
            font-family: var(--font-primary);
            font-size: 1.5rem;
            font-weight: 800;
            color: var(--text-on-dark);
            text-decoration: none;
        }

        .footer-logo span {
            color: var(--accent-primary);
        }

        .footer-tagline {
            font-size: 0.8rem;
            color: var(--text-on-dark-muted);
            margin-top: 0.5rem;
        }

        .footer-newsletter {
            margin-top: 1.25rem;
        }

        .footer-newsletter-heading {
            font-family: var(--font-accent);
            font-size: 1rem;
            font-weight: 600;
            color: var(--text-on-dark);
            margin-bottom: 0.75rem;
        }

        .footer-newsletter-label {
            font-size: 0.75rem;
            color: var(--text-on-dark-muted);
            margin-top: 0.5rem;
        }

        .footer-newsletter-form {
            display: flex;
            gap: 0.5rem;
        }

        .footer-newsletter-form input[type="email"] {
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.15);
            border-radius: 6px;
            padding: 0.5rem 0.75rem;
            font-size: 0.85rem;
            color: var(--text-on-dark);
            width: 200px;
        }

        .footer-newsletter-form input[type="email"]::placeholder {
            color: var(--text-on-dark-muted);
        }

        .footer-newsletter-form input[type="email"]:focus {
            outline: none;
            border-color: var(--accent-primary);
        }

        .footer-newsletter-form button {
            background: var(--accent-primary);
            color: #ffffff;
            border: none;
            border-radius: 6px;
            padding: 0.5rem 1rem;
            font-size: 0.85rem;
            font-weight: 600;
            cursor: pointer;
            transition: background-color var(--duration-fast) var(--ease-default);
        }

        .footer-newsletter-form button:hover {
            background: var(--accent-hover);
        }

        .footer-columns {
            display: flex;
            gap: 3.5rem;
        }

        .footer-col {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .footer-col h4 {
            font-family: var(--font-primary);
            font-size: 0.8rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: var(--text-on-dark);
            margin-bottom: 0.5rem;
        }

        .footer-col a {
            color: var(--text-on-dark-muted);
            text-decoration: none;
            font-size: 0.88rem;
            transition: color var(--duration-fast) var(--ease-default);
        }

        .footer-col a:hover {
            color: var(--accent-primary);
        }

        .footer-divider {
            width: 100%;
            height: 1px;
            background: var(--border-dark);
        }

        .footer-copyright {
            text-align: center;
            padding: 1.5rem 2rem;
            font-size: 0.85rem;
            color: var(--text-on-dark-muted);
        }

        /* Hamburger Menu */
        .hamburger {
            display: none;
            flex-direction: column;
            gap: 5px;
            cursor: pointer;
            padding: 10px;
            z-index: 1001;
            background: none;
            border: none;
            min-width: 44px;
            min-height: 44px;
            align-items: center;
            justify-content: center;
        }

        .hamburger span {
            width: 24px;
            height: 2px;
            background: var(--text-on-dark);
            border-radius: 2px;
            transition: transform var(--duration-normal) var(--ease-default), opacity var(--duration-normal) var(--ease-default), background-color var(--duration-normal) var(--ease-default);
        }

        nav.nav-scrolled .hamburger span {
            background: var(--text-primary);
        }

        .hamburger.active span:nth-child(1) {
            transform: rotate(45deg) translate(5px, 5px);
        }

        .hamburger.active span:nth-child(2) {
            opacity: 0;
        }

        .hamburger.active span:nth-child(3) {
            transform: rotate(-45deg) translate(5px, -5px);
        }

        /* Booking Dialog */
        .booking-dialog {
            background: var(--bg-primary);
            border: none;
            border-radius: 16px;
            width: 90%;
            max-width: 520px;
            max-height: 90vh;
            overflow-y: auto;
            padding: 2.5rem;
            color: var(--text-primary);
            margin: auto;
            position: fixed;
            inset: 0;
            height: fit-content;
        }

        .booking-dialog::backdrop {
            background: rgba(44, 36, 24, 0.6);
        }

        body.has-dialog {
            overflow: hidden;
        }

        .modal-close {
            position: absolute;
            top: 1rem;
            right: 1rem;
            background: none;
            border: none;
            outline: none;
            -webkit-appearance: none;
            appearance: none;
            color: var(--text-muted);
            cursor: pointer;
            font-size: 1.4rem;
            line-height: 1;
            padding: 0.25rem;
            transition: color var(--duration-fast) var(--ease-default);
        }

        .modal-close:hover {
            color: var(--text-primary);
        }

        .booking-dialog h3 {
            font-family: var(--font-primary);
            font-size: 1.35rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
            color: var(--text-primary);
        }

        .booking-dialog .modal-subtitle {
            color: var(--text-secondary);
            font-size: 0.9rem;
            margin-bottom: 1.75rem;
        }

        .modal-form {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .modal-form .form-group label {
            font-size: 0.8rem;
        }

        .modal-form .form-group input,
        .modal-form .form-group select {
            background: var(--bg-surface);
            border: 1px solid var(--border-light);
            border-radius: 8px;
            padding: 0.75rem 1rem;
            color: var(--text-primary);
            font-family: inherit;
            font-size: 0.9rem;
        }

        .modal-form .form-group input:focus-visible,
        .modal-form .form-group select:focus-visible {
            border-color: var(--accent-primary);
        }

        .modal-optional {
            font-size: 0.75rem;
            font-weight: 400;
            color: var(--text-muted);
            text-transform: none;
            letter-spacing: 0;
        }

        .modal-actions {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.75rem;
            margin-top: 0.5rem;
        }

        .modal-actions .btn {
            width: 100%;
            justify-content: center;
        }

        .modal-skip {
            color: var(--text-muted);
            font-size: 0.85rem;
            text-decoration: none;
            cursor: pointer;
            background: none;
            border: none;
            font-family: inherit;
            transition: color var(--duration-fast) var(--ease-default);
        }

        .modal-skip:hover {
            color: var(--accent-primary);
        }

        /* Modal step 2: Calendly */
        .modal-step {
            display: none;
        }

        .modal-step.active {
            display: block;
        }

        .modal-calendly {
            width: 100%;
            min-height: 500px;
            border: none;
            border-radius: 8px;
            display: block;
        }

        /* Cookie Banner */
        .cookie-banner {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background: var(--bg-surface);
            border-top: 1px solid var(--border-light);
            padding: 1rem 2rem;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1.5rem;
            z-index: 9999;
            font-size: 0.9rem;
            color: var(--text-secondary);
        }

        .cookie-actions {
            display: flex;
            gap: 0.5rem;
        }

        .cookie-banner.hidden {
            display: none;
        }

        .cookie-link {
            color: var(--accent-primary);
        }

        .cookie-btn {
            background: var(--accent-primary);
            color: var(--text-on-dark);
            border: none;
            padding: 0.5rem 1.25rem;
            border-radius: 6px;
            cursor: pointer;
            font-weight: 600;
            font-size: 0.85rem;
            transition: background-color var(--duration-fast) var(--ease-default);
            white-space: nowrap;
        }

        .cookie-btn:hover {
            background: var(--accent-hover);
        }

        .cookie-btn-decline {
            background: transparent;
            color: var(--text-muted);
            border: 1px solid var(--border-light);
        }

        .cookie-btn-decline:hover {
            color: var(--text-primary);
            border-color: var(--text-muted);
        }

        /* Contact Section — 2-Column */
        .contact-form-section {
            background: var(--bg-primary);
            padding: clamp(4rem, 8vh, 6rem) 2rem;
            content-visibility: auto;
            contain-intrinsic-size: 0 700px;
        }

        .contact-form-wrapper {
            max-width: 1000px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 5fr 7fr;
            gap: 4rem;
            align-items: start;
        }

        .contact-form-side {
            min-width: 0;
        }

        .contact-info {
            padding-top: 0.5rem;
        }

        .contact-info .section-label {
            margin-bottom: 0.75rem;
        }

        .contact-info .section-title {
            font-size: clamp(1.75rem, 3vw, 2rem);
            margin-bottom: 1rem;
        }

        .contact-info p {
            color: var(--text-secondary);
            font-size: 0.95rem;
            margin-bottom: 2rem;
            line-height: 1.7;
        }

        .contact-methods {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .contact-method {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            color: var(--text-secondary);
            font-size: 0.9rem;
        }

        .contact-method svg {
            color: var(--accent-primary);
            flex-shrink: 0;
        }

        .contact-method a {
            color: var(--text-primary);
            text-decoration: none;
            transition: color var(--duration-fast) var(--ease-default);
        }

        .contact-method a:hover {
            color: var(--accent-primary);
        }

        .contact-reply-note {
            margin-top: 1.5rem;
            font-size: 0.8rem;
            color: var(--text-muted);
            font-style: italic;
        }

        .contact-form {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            text-align: left;
        }

        .form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem;
        }

        .form-group {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .form-group label {
            font-size: 0.8rem;
            font-weight: 500;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .form-group input,
        .form-group select,
        .form-group textarea {
            background: var(--bg-surface);
            border: 1px solid var(--border-light);
            border-radius: 8px;
            padding: 0.75rem 1rem;
            color: var(--text-primary);
            font-family: inherit;
            font-size: 0.95rem;
            transition: border-color var(--duration-fast) var(--ease-default);
        }

        .form-group input:focus-visible,
        .form-group select:focus-visible,
        .form-group textarea:focus-visible {
            border-color: var(--accent-primary);
        }

        .form-group select {
            appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10z' fill='%23a09789'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 1rem center;
            padding-right: 2.5rem;
        }

        .form-group select option {
            background: var(--bg-primary);
            color: var(--text-primary);
        }

        .form-group textarea {
            resize: vertical;
            min-height: 80px;
        }

        .contact-submit {
            align-self: center;
            margin-top: 0.5rem;
            width: 100%;
            justify-content: center;
        }


        .form-success {
            display: none;
            text-align: center;
            padding: 2rem;
        }

        .form-success.show {
            display: block;
        }

        .form-success h3 {
            color: var(--accent-primary);
            font-size: 1.25rem;
            margin-bottom: 0.5rem;
        }

        .form-success p {
            color: var(--text-secondary);
        }

        .form-success-actions {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
            margin-top: 1.5rem;
        }

        .form-success-actions a {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            padding: 0.7rem 1.25rem;
            border-radius: 8px;
            font-size: 0.9rem;
            font-weight: 500;
            text-decoration: none;
            transition: background-color var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default);
        }

        .form-success-actions .btn-success-primary {
            background: var(--accent-primary);
            color: var(--text-on-dark);
        }

        .form-success-actions .btn-success-primary:hover {
            background: var(--accent-hover);
        }

        .form-success-actions .btn-success-outline {
            background: transparent;
            border: 1.5px solid var(--text-secondary);
            color: var(--text-primary);
        }

        .form-success-actions .btn-success-outline:hover {
            border-color: var(--accent-primary);
            color: var(--accent-primary);
        }

        /* Responsive */
        @media (max-width: 968px) {
            .hamburger {
                display: flex;
            }

            .nav-links {
                position: fixed;
                top: 0;
                right: 0;
                width: 280px;
                height: 100vh;
                background: var(--bg-primary);
                flex-direction: column;
                padding: 5rem 2rem 2rem;
                gap: 1.5rem;
                transform: translateX(100%);
                transition: transform var(--duration-normal) var(--ease-default);
                border-left: 1px solid var(--border-light);
                z-index: 1001;
            }

            .nav-links.open {
                transform: translateX(0);
            }

            .nav-links a:not(.btn) {
                display: block;
                font-size: 1.1rem;
                color: var(--text-secondary);
            }

            .nav-links a:not(.btn):hover {
                color: var(--text-primary);
            }

            .nav-links .btn {
                text-align: center;
                justify-content: center;
                margin-top: 1rem;
                width: 100%;
            }

            .nav-links .lang-toggle {
                display: inline-block;
                width: auto;
                align-self: center;
                border-color: var(--border-medium);
                color: var(--text-secondary);
                font-size: 0.8rem;
            }

            .mobile-overlay {
                display: none;
                position: fixed;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: rgba(44, 36, 24, 0.5);
                z-index: 999;
            }

            .mobile-overlay.active {
                display: block;
            }

            .cookie-banner {
                flex-direction: column;
                gap: 0.75rem;
                text-align: center;
            }

            .photo-break {
                background-attachment: scroll;
            }

            /* Process timeline is already vertical, no changes needed */

            .about-content {
                grid-template-columns: 1fr;
            }

            .about-photo {
                max-width: min(400px, 100%);
            }

            .contact-form-wrapper {
                grid-template-columns: 1fr;
                gap: 2.5rem;
            }

            .footer-top {
                flex-direction: column;
                gap: 2rem;
            }

            .footer-columns {
                flex-wrap: wrap;
                gap: 2rem;
            }

            .hero-trust {
                flex-direction: column;
                gap: 0.75rem;
                align-items: flex-start;
            }

            .platforms-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .form-row {
                grid-template-columns: 1fr;
            }

            .faq-question {
                gap: 1rem;
            }
        }

        @media (max-width: 640px) {
            .nav-container {
                padding: 0.75rem 1.25rem;
            }

            section {
                padding: 4rem 1.25rem;
            }

            .hero h1 {
                font-size: 2.1rem;
            }

            .hero {
                min-height: auto;
                padding: clamp(5rem, 10vh, 8rem) 1.25rem 2rem;
            }

            .hero p {
                font-size: 1rem;
                margin-bottom: 1.25rem;
            }

            .hero-trust {
                margin-top: 1.5rem;
                padding-top: 1.25rem;
                gap: 1rem;
            }

            .btn-large {
                padding: 0.875rem 1.75rem;
                font-size: 1rem;
            }

            .section-title {
                font-size: 1.75rem;
            }

            .personas-stack {
                gap: 2rem;
            }

            .trust-pill {
                font-size: 0.75rem;
                padding: 0.35rem 0.75rem;
            }

            .trust-track {
                animation-duration: 20s;
            }

            .pull-quote-inner {
                padding-left: 1rem;
            }

            .pull-quote-inner blockquote {
                font-size: 1.15rem;
            }

            .process-step {
                gap: 1rem;
            }

            .faq-question {
                gap: 0.75rem;
            }

            .photo-break {
                height: clamp(180px, 30vh, 300px);
                background-attachment: scroll;
            }

            .platforms-grid {
                grid-template-columns: 1fr;
                gap: 1rem;
            }

            .result-metric {
                font-size: 2.2rem;
            }

            .results-grid {
                grid-template-columns: 1fr;
            }

            .result-card {
                padding: 1.5rem 0;
            }

            .result-card + .result-card {
                padding-left: 0;
                border-left: none;
                border-top: 1px solid var(--border-light);
            }

            .results {
                padding-bottom: 2.5rem;
            }

            .about {
                padding-top: 2.5rem;
            }

            .email-form {
                flex-direction: column;
                align-items: stretch;
            }

            .email-form input[type="email"] {
                max-width: none;
            }

            .footer-columns {
                flex-direction: column;
                gap: 1.5rem;
            }

            .booking-dialog {
                padding: 1.75rem;
                width: 95%;
                max-height: 92vh;
            }

            .modal-calendly {
                min-height: 380px;
            }
        }

        /* Sticky Mobile CTA */
        .sticky-cta {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background: var(--bg-primary);
            border-top: 1px solid var(--border-light);
            padding: 0.75rem 1.5rem;
            display: none;
            justify-content: center;
            z-index: 900;
            transform: translateY(100%);
            transition: transform var(--duration-normal) var(--ease-default);
            will-change: transform;
        }

        .sticky-cta.visible {
            transform: translateY(0);
        }

        .sticky-cta .btn {
            width: 100%;
            max-width: 400px;
            justify-content: center;
        }

        @media (max-width: 768px) {
            .sticky-cta { display: flex; }
            body.has-sticky-cta { padding-bottom: 60px; }
        }

        /* Section Entrance Animations */
        .fade-in-section {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity var(--duration-slow) var(--ease-enter),
                        transform var(--duration-slow) var(--ease-enter);
            will-change: opacity, transform;
        }

        .fade-in-section.is-visible {
            opacity: 1;
            transform: translateY(0);
            will-change: auto;
        }

        .fade-in-section .stagger-child {
            opacity: 0;
            transform: translateY(12px);
            transition: opacity var(--duration-normal) var(--ease-enter),
                        transform var(--duration-normal) var(--ease-enter);
            will-change: opacity, transform;
        }

        .fade-in-section.is-visible .stagger-child {
            opacity: 1;
            transform: translateY(0);
            will-change: auto;
        }

        @media (prefers-reduced-motion: reduce) {
            .sticky-cta { transition: none; }

            .fade-in-section {
                opacity: 1;
                transform: none;
                transition: none;
            }

            .fade-in-section .stagger-child {
                opacity: 1;
                transform: none;
                transition: none;
            }
        }
