        /* ============ DESIGN TOKENS ============ */
        :root {
            /* Palette editorial */
            --ink:        #0E0E14;
            --ink-soft:   #1B1B24;
            --slate:      #5A5C66;
            --slate-soft: #8B8E99;
            --cream:      #FAF7F2;
            --cream-warm: #F3EDE2;
            --line:       #E7E1D5;
            --white:      #FFFFFF;

            /* Oro raffinato */
            --gold:       #B8923A;
            --gold-deep:  #8C6D24;
            --gold-soft:  #D4B569;
            --gold-glow:  rgba(184, 146, 58, 0.18);

            /* Compatibilità con vecchio CSS */
            --dark:       var(--ink);
            --light:      var(--cream);

            /* Tipografia */
            --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
            --font-body:    'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
        }

        /* ============ BASE ============ */
        *, *::before, *::after { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            font-family: var(--font-body);
            margin: 0;
            background: var(--cream);
            color: var(--ink);
            line-height: 1.65;
            padding-bottom: 76px;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }
        .container { max-width: 1140px; margin: 0 auto; padding: 0 24px; }

        h1, h2, h3 {
            font-family: var(--font-display);
            font-weight: 700;
            letter-spacing: -0.02em;
            line-height: 1.1;
        }
        a { color: var(--gold-deep); }

        /* ============ NAV ============ */
        .nav {
            background: #FFFFFF;
            padding: 14px 0;
            border-bottom: 1px solid var(--line);
            position: sticky;
            top: 0;
            z-index: 1000;
        }
        .nav-content { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
        .logo img { max-height: 78px; display: block; width: auto; }
        .info-header {
            font-size: 0.72rem;
            color: var(--slate);
            text-align: right;
            line-height: 1.35;
            font-weight: 600;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }
        .info-header strong { color: var(--ink); display: block; font-size: 0.78rem; letter-spacing: 0.08em; }

        /* ============ HERO ============ */
        .hero {
            position: relative;
            padding: 70px 0 40px;
            overflow: hidden;
        }
        .hero::before {
            content: "";
            position: absolute;
            top: -80px; right: -120px;
            width: 480px; height: 480px;
            background: radial-gradient(circle at center, var(--gold-glow), transparent 65%);
            pointer-events: none;
            z-index: 0;
        }
        .hero-inner { position: relative; z-index: 1; text-align: center; max-width: 880px; margin: 0 auto; }
        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            font-size: 0.78rem;
            font-weight: 700;
            color: var(--gold-deep);
            letter-spacing: 0.18em;
            text-transform: uppercase;
            margin-bottom: 22px;
        }
        .eyebrow::before, .eyebrow::after {
            content: "";
            width: 28px; height: 1px;
            background: var(--gold);
            opacity: 0.6;
        }
        h1 {
            font-size: clamp(2.4rem, 5.2vw, 3.8rem);
            font-weight: 900;
            margin: 0 0 22px;
            color: var(--ink);
        }
        h1 .gold-text {
            background: linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            font-style: italic;
            font-weight: 400;
        }
        .hero p.lede {
            font-size: 1.12rem;
            color: var(--slate);
            max-width: 720px;
            margin: 0 auto 30px;
            font-weight: 400;
        }
        .btn-hero {
            display: inline-block;
            background: linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%);
            color: white !important;
            padding: 17px 36px;
            border-radius: 999px;
            text-decoration: none;
            font-weight: 700;
            font-size: 1rem;
            letter-spacing: 0.02em;
            box-shadow: 0 12px 30px -8px rgba(140, 109, 36, 0.5);
            transition: transform 0.25s ease, box-shadow 0.25s ease;
        }
        .btn-hero:hover {
            transform: translateY(-2px);
            box-shadow: 0 18px 38px -10px rgba(140, 109, 36, 0.55);
        }
        .hero-trust {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 8px 24px;
            margin-top: 32px;
            font-size: 0.83rem;
            color: var(--slate);
            font-weight: 500;
        }
        .hero-trust span { display: inline-flex; align-items: center; gap: 8px; }
        .hero-trust span::before {
            content: "";
            width: 6px; height: 6px;
            border-radius: 50%;
            background: var(--gold);
            display: inline-block;
        }

        /* ============ PRICE BOX + CALCULATOR ============ */
        .price-section { padding: 30px 0 60px; }
        .price-card {
            background: linear-gradient(160deg, var(--ink) 0%, var(--ink-soft) 100%);
            color: white;
            border-radius: 24px;
            padding: 40px 36px;
            max-width: 720px;
            margin: 0 auto;
            box-shadow: 0 30px 60px -20px rgba(14, 14, 20, 0.35);
            position: relative;
            overflow: hidden;
            border: 1px solid rgba(184, 146, 58, 0.18);
        }
        .price-card::before {
            content: "";
            position: absolute;
            top: -100px; right: -100px;
            width: 320px; height: 320px;
            background: radial-gradient(circle, var(--gold-glow), transparent 70%);
            pointer-events: none;
        }
        .price-live-tag {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: var(--gold-soft);
            margin-bottom: 12px;
        }
        .price-live-tag::before {
            content: "";
            width: 8px; height: 8px;
            background: #34d399;
            border-radius: 50%;
            box-shadow: 0 0 0 0 rgba(52, 211, 153, 0.6);
            animation: pulse 2s ease-out infinite;
        }
        @keyframes pulse {
            0%   { box-shadow: 0 0 0 0   rgba(52, 211, 153, 0.6); }
            70%  { box-shadow: 0 0 0 10px rgba(52, 211, 153, 0); }
            100% { box-shadow: 0 0 0 0   rgba(52, 211, 153, 0); }
        }
        .price-title {
            font-family: var(--font-display);
            font-size: 1.05rem;
            font-weight: 500;
            color: rgba(255,255,255,0.85);
            margin: 0 0 6px;
            letter-spacing: 0;
        }
        .api-price {
            font-family: var(--font-display);
            font-size: clamp(3.4rem, 7vw, 4.6rem);
            font-weight: 900;
            line-height: 1;
            margin: 12px 0 14px;
            color: white;
            font-variant-numeric: tabular-nums;
            letter-spacing: -0.03em;
        }
        .api-note {
            font-size: 0.88rem;
            color: rgba(255,255,255,0.62);
            margin: 0;
            line-height: 1.5;
        }
        .api-note strong { color: rgba(255,255,255,0.82); font-weight: 600; }

        /* Calculator */
        .calc {
            margin-top: 28px;
            padding-top: 24px;
            border-top: 1px dashed rgba(255,255,255,0.14);
            display: grid;
            grid-template-columns: 1fr auto;
            align-items: center;
            gap: 16px;
        }
        .calc-input-wrap {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }
        .calc-label {
            font-size: 0.78rem;
            color: rgba(255,255,255,0.65);
            font-weight: 500;
            letter-spacing: 0.04em;
        }
        .calc-input {
            background: rgba(255,255,255,0.06);
            border: 1px solid rgba(255,255,255,0.14);
            color: white;
            font-family: var(--font-body);
            font-size: 1.05rem;
            font-weight: 600;
            padding: 12px 14px;
            border-radius: 10px;
            width: 100%;
            transition: border-color 0.2s, background 0.2s;
        }
        .calc-input:focus {
            outline: none;
            border-color: var(--gold-soft);
            background: rgba(255,255,255,0.09);
        }
        .calc-input::placeholder { color: rgba(255,255,255,0.4); }
        .calc-output {
            text-align: right;
            min-width: 130px;
        }
        .calc-output-label {
            font-size: 0.72rem;
            color: rgba(255,255,255,0.55);
            text-transform: uppercase;
            letter-spacing: 0.1em;
            display: block;
            margin-bottom: 2px;
        }
        .calc-output-value {
            font-family: var(--font-display);
            font-size: 1.9rem;
            font-weight: 700;
            color: var(--gold-soft);
            line-height: 1;
            font-variant-numeric: tabular-nums;
        }

        /* Card argento — variante più compatta e accento argento */
        .price-card--silver {
            margin-top: 22px;
            background: linear-gradient(160deg, #1a1c22 0%, #24272e 100%);
            border: 1px solid rgba(199, 204, 214, 0.22);
        }
        .price-card--silver::before {
            background: radial-gradient(circle, rgba(199, 204, 214, 0.16), transparent 70%);
        }
        .price-live-tag--silver { color: #C7CCD6; }
        .api-price--silver {
            font-size: clamp(2.6rem, 5.2vw, 3.4rem);
            color: #EDEFF2;
        }
        #calc-argento-output { color: #D5D9E0; }

        /* ============ TRUST PILLARS ============ */
        .pillars { padding: 60px 0 30px; }
        .pillars-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
            gap: 18px;
        }
        .pillar {
            background: var(--white);
            border: 1px solid var(--line);
            border-radius: 16px;
            padding: 26px 22px;
            transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
        }
        .pillar:hover {
            transform: translateY(-3px);
            border-color: var(--gold-soft);
            box-shadow: 0 14px 30px -14px rgba(140, 109, 36, 0.25);
        }
        .pillar-icon {
            width: 38px; height: 38px;
            display: flex; align-items: center; justify-content: center;
            border-radius: 10px;
            background: linear-gradient(135deg, var(--cream-warm), var(--cream));
            border: 1px solid var(--line);
            margin-bottom: 16px;
            color: var(--gold-deep);
        }
        .pillar h3 {
            font-size: 1.08rem;
            margin: 0 0 8px;
            color: var(--ink);
            letter-spacing: -0.01em;
        }
        .pillar p {
            font-size: 0.92rem;
            color: var(--slate);
            margin: 0;
            line-height: 1.55;
        }

        /* ============ METHODOLOGY CALLOUT ============ */
        .method { padding: 30px 0 60px; }
        .method-card {
            background: var(--cream-warm);
            border-radius: 24px;
            padding: 50px 48px;
            position: relative;
            overflow: hidden;
            border: 1px solid var(--line);
        }
        .method-card::before {
            content: "“";
            position: absolute;
            top: -30px; left: 24px;
            font-family: var(--font-display);
            font-size: 16rem;
            line-height: 1;
            color: var(--gold);
            opacity: 0.18;
            pointer-events: none;
        }
        .method-card blockquote {
            margin: 0;
            font-family: var(--font-display);
            font-size: clamp(1.4rem, 2.6vw, 1.85rem);
            font-weight: 500;
            line-height: 1.35;
            color: var(--ink);
            font-style: italic;
            position: relative;
            max-width: 780px;
        }
        .method-card cite {
            display: block;
            margin-top: 24px;
            font-family: var(--font-body);
            font-size: 0.85rem;
            font-style: normal;
            font-weight: 600;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: var(--gold-deep);
        }

        /* ============ GOOGLE RATING BOX ============ */
        .rating-section { padding: 10px 0 30px; }
        .rating-box {
            display: flex;
            align-items: center;
            gap: 20px;
            max-width: 480px;
            margin: 0 auto;
            background: var(--white);
            border: 1px solid var(--line);
            border-radius: 18px;
            padding: 20px 28px;
            text-decoration: none;
            box-shadow: 0 14px 34px -18px rgba(14,14,20,0.22);
            transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
        }
        .rating-box:hover {
            transform: translateY(-3px);
            border-color: var(--gold-soft);
            box-shadow: 0 22px 44px -18px rgba(140,109,36,0.28);
        }
        .rating-g {
            display: flex; align-items: center; justify-content: center;
            width: 56px; height: 56px;
            background: var(--cream);
            border: 1px solid var(--line);
            border-radius: 50%;
            flex-shrink: 0;
        }
        .rating-body { display: flex; flex-direction: column; gap: 3px; }
        .rating-top { display: flex; align-items: baseline; gap: 12px; }
        .rating-score {
            font-family: var(--font-display);
            font-size: 2.6rem;
            font-weight: 900;
            color: var(--ink);
            line-height: 1;
        }
        .rating-stars { color: #F2B100; font-size: 1.3rem; letter-spacing: 2px; }
        .rating-label { font-size: 0.9rem; color: var(--slate); }
        .rating-label strong { color: var(--ink); }
        @media (max-width: 768px) {
            .rating-box { gap: 16px; padding: 18px 20px; }
            .rating-score { font-size: 2.2rem; }
        }

        /* ============ STEPS ============ */
        .steps-section { padding: 60px 0 80px; }
        .section-head {
            text-align: center;
            margin-bottom: 48px;
        }
        .section-head h2 {
            font-size: clamp(2rem, 3.6vw, 2.6rem);
            color: var(--ink);
            margin: 0 0 12px;
        }
        .section-head h2 em {
            font-style: italic;
            font-weight: 400;
            color: var(--gold-deep);
        }
        .section-head p {
            font-size: 1.05rem;
            color: var(--slate);
            max-width: 600px;
            margin: 0 auto;
        }
        .steps-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 24px;
        }
        .step-card {
            text-align: center;
            padding: 36px 28px 32px;
            border-radius: 20px;
            background: var(--white);
            border: 1px solid var(--line);
            display: flex;
            flex-direction: column;
            align-items: center;
            position: relative;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .step-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -18px rgba(14,14,20,0.18); }
        .step-number {
            font-family: var(--font-display);
            font-size: 4.2rem;
            font-weight: 900;
            font-style: italic;
            background: linear-gradient(135deg, var(--gold), var(--gold-deep));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            line-height: 1.3;
            padding: 12px 12px 16px;
            margin-bottom: 4px;
            overflow: visible;
        }
        .step-card h3 {
            font-size: 1.18rem;
            margin: 0 0 12px;
            color: var(--ink);
            letter-spacing: 0.02em;
            text-transform: uppercase;
        }
        .step-card p { font-size: 0.95rem; color: var(--slate); margin: 0; line-height: 1.6; }
        .highlight { font-weight: 700; color: var(--ink); }

        /* ============ FORM ============ */
        .form-section {
            background: linear-gradient(160deg, var(--ink) 0%, var(--ink-soft) 100%);
            padding: 80px 0;
            color: white;
            position: relative;
            overflow: hidden;
        }
        .form-section::before {
            content: "";
            position: absolute;
            bottom: -150px; left: -100px;
            width: 400px; height: 400px;
            background: radial-gradient(circle, var(--gold-glow), transparent 70%);
            pointer-events: none;
        }
        .form-container {
            background: var(--white);
            color: var(--ink);
            border-radius: 24px;
            padding: 44px 40px;
            max-width: 680px;
            margin: 0 auto;
            box-shadow: 0 30px 60px -20px rgba(0,0,0,0.4);
            position: relative;
        }
        .form-header { text-align: center; margin-bottom: 30px; }
        .form-header h3 {
            font-size: 1.85rem;
            margin: 0 0 10px;
            color: var(--ink);
        }
        .form-header h3 em { color: var(--gold-deep); font-style: italic; font-weight: 400; }
        .form-header p { color: var(--slate); font-size: 1rem; margin: 0; }
        label {
            display: block;
            font-weight: 600;
            margin-bottom: 8px;
            font-size: 0.9rem;
            color: var(--ink);
            letter-spacing: 0.01em;
        }
        input[type="text"], input[type="email"], input[type="tel"], select {
            width: 100%;
            padding: 14px 16px;
            margin-bottom: 18px;
            border: 1px solid var(--line);
            border-radius: 10px;
            font-size: 16px;
            font-family: var(--font-body);
            background: var(--cream);
            color: var(--ink);
            transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
        }
        input:focus, select:focus {
            border-color: var(--gold);
            background: white;
            outline: none;
            box-shadow: 0 0 0 3px rgba(184, 149, 63, 0.12);
        }

        .privacy-check {
            display: flex;
            align-items: flex-start;
            gap: 14px;
            margin: 14px 0 22px;
            font-size: 0.88rem;
            color: var(--slate);
            text-align: left;
            line-height: 1.5;
            background: var(--cream);
            padding: 16px 18px;
            border-radius: 12px;
            border: 1px solid var(--line);
        }
        .privacy-check input[type="checkbox"] {
            width: 22px; height: 22px;
            margin: 1px 0 0;
            flex-shrink: 0;
            cursor: pointer;
            accent-color: var(--gold);
        }
        .privacy-check a { color: var(--gold-deep); text-decoration: underline; font-weight: 600; }

        .btn-submit {
            width: 100%;
            background: linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%);
            color: white;
            border: none;
            padding: 18px;
            border-radius: 12px;
            font-size: 1.02rem;
            font-weight: 700;
            font-family: var(--font-body);
            text-transform: uppercase;
            letter-spacing: 0.06em;
            cursor: pointer;
            margin-top: 6px;
            box-shadow: 0 8px 20px -6px rgba(140, 109, 36, 0.5);
            transition: transform 0.2s, box-shadow 0.2s;
        }
        .btn-submit:hover {
            transform: translateY(-2px);
            box-shadow: 0 14px 28px -8px rgba(140, 109, 36, 0.55);
        }

        /* ============ LOCATIONS ============ */
        .locations-section { padding: 80px 0 70px; background: var(--cream); }
        .appointment-note {
            font-size: 1rem;
            color: var(--slate);
            max-width: 720px;
            margin: 18px auto 28px;
            background: var(--white);
            padding: 18px 24px;
            border-radius: 12px;
            border-left: 3px solid var(--gold);
            line-height: 1.55;
        }
        .appointment-note strong { color: var(--ink); }
        .hours-box {
            text-align: center;
            margin: 0 auto 40px;
            background: var(--ink);
            color: white;
            display: inline-block;
            padding: 14px 28px;
            border-radius: 999px;
            font-weight: 600;
            font-size: 0.92rem;
            letter-spacing: 0.04em;
        }
        .hours-box strong { color: var(--gold-soft); font-weight: 700; }

        .locations-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 22px;
        }
        .location-card {
            background: var(--white);
            border-radius: 20px;
            padding: 36px 28px 30px;
            border: 1px solid var(--line);
            transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
            display: flex;
            flex-direction: column;
            text-align: center;
            align-items: center;
        }
        .location-card:hover {
            transform: translateY(-4px);
            border-color: var(--gold-soft);
            box-shadow: 0 20px 40px -18px rgba(14,14,20,0.15);
        }
        .loc-city {
            font-family: var(--font-display);
            font-size: 1.6rem;
            font-weight: 700;
            color: var(--ink);
            margin-bottom: 8px;
            letter-spacing: 0.04em;
        }
        .loc-city::after {
            content: "";
            display: block;
            width: 36px; height: 2px;
            background: var(--gold);
            margin: 10px auto 0;
        }
        .loc-address {
            font-size: 1.02rem;
            font-weight: 600;
            color: var(--ink);
            margin: 14px 0 18px;
            display: block;
        }
        .loc-parking {
            font-size: 0.9rem;
            color: var(--slate);
            margin-bottom: 22px;
            line-height: 1.55;
            background: var(--cream);
            padding: 16px;
            border-radius: 10px;
            border: 1px solid var(--line);
            width: 100%;
            flex-grow: 1;
        }
        .loc-parking strong { color: var(--ink); }
        .loc-action { width: 100%; display: flex; justify-content: center; margin-top: auto; }
        .btn-map {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            background: linear-gradient(135deg, var(--gold), var(--gold-deep));
            color: white !important;
            border: none;
            padding: 13px 26px;
            border-radius: 999px;
            font-weight: 700;
            text-decoration: none;
            transition: transform 0.2s, box-shadow 0.2s;
            text-transform: uppercase;
            font-size: 0.85rem;
            letter-spacing: 0.06em;
            box-shadow: 0 8px 20px -6px rgba(140, 109, 36, 0.5);
            width: 100%;
            max-width: 250px;
        }
        .btn-map:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -8px rgba(140, 109, 36, 0.55); }

        /* ============ FAQ ============ */
        .faq-section { padding: 30px 0 70px; background: var(--cream); }
        .faq-list { max-width: 800px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
        .faq-item {
            background: var(--white);
            border: 1px solid var(--line);
            border-radius: 14px;
            padding: 0 24px;
            transition: border-color 0.25s, box-shadow 0.25s;
        }
        .faq-item[open] { border-color: var(--gold-soft); box-shadow: 0 14px 30px -16px rgba(140,109,36,0.25); }
        .faq-item summary {
            list-style: none;
            cursor: pointer;
            font-family: var(--font-display);
            font-size: 1.12rem;
            font-weight: 500;
            color: var(--ink);
            padding: 22px 0;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 16px;
        }
        .faq-item summary::-webkit-details-marker { display: none; }
        .faq-item summary::after {
            content: "+";
            font-family: var(--font-body);
            font-size: 1.6rem;
            font-weight: 400;
            color: var(--gold-deep);
            line-height: 1;
            transition: transform 0.25s;
            flex-shrink: 0;
        }
        .faq-item[open] summary::after { transform: rotate(45deg); }
        .faq-item p {
            margin: 0;
            padding: 0 0 22px;
            color: var(--slate);
            font-size: 0.98rem;
            line-height: 1.6;
        }

        /* ============ FOOTER ============ */
        .seo-footer {
            padding: 50px 0 40px;
            text-align: center;
            background: var(--white);
            border-top: 1px solid var(--line);
        }
        .seo-footer p { font-size: 0.88rem; color: var(--slate); margin-bottom: 6px; line-height: 1.5; }
        .seo-footer p a { color: var(--gold-deep); text-decoration: none; }
        .seo-footer p a:hover { text-decoration: underline; }
        .footer-cities {
            margin-top: 24px;
            font-size: 0.8rem;
            color: var(--slate-soft);
        }
        .city-tag {
            display: inline-block;
            background: var(--cream);
            padding: 5px 12px;
            margin: 3px;
            border-radius: 999px;
            border: 1px solid var(--line);
            font-size: 0.78rem;
            color: var(--slate);
            text-decoration: none;
        }
        a.city-tag:hover { border-color: var(--gold-soft); color: var(--ink); }
        .footer-legal-links {
            margin-top: 28px;
            border-top: 1px solid var(--line);
            padding-top: 22px;
            font-size: 0.84rem;
        }
        .footer-legal-links a {
            color: var(--slate);
            text-decoration: underline;
            margin: 0 10px;
            cursor: pointer;
            background: none;
            border: none;
            font: inherit;
            padding: 0;
        }
        .footer-legal-links a:hover { color: var(--ink); }

        /* ============ STICKY BAR ============ */
        .sticky-bar {
            position: fixed;
            bottom: 0; left: 0;
            width: 100%;
            display: flex;
            z-index: 3000;
            box-shadow: 0 -8px 24px rgba(14,14,20,0.12);
            height: 64px;
        }
        .sticky-btn {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            text-decoration: none;
            font-weight: 700;
            font-size: 0.95rem;
            color: white;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            transition: filter 0.2s;
        }
        .sticky-btn:hover { filter: brightness(1.08); }
        .sticky-btn svg { width: 18px; height: 18px; flex-shrink: 0; }
        .btn-call { background: linear-gradient(135deg, #0284c7, #0369a1); }
        .btn-wa { background: linear-gradient(135deg, #25D366, #128C7E); }

        /* ============ COOKIE BANNER ============ */
        #cookie-banner {
            position: fixed;
            bottom: 84px; left: 16px; right: 16px;
            background: var(--white);
            padding: 24px 26px;
            border-radius: 16px;
            box-shadow: 0 25px 60px -10px rgba(14,14,20,0.4);
            z-index: 9999;
            display: none;
            border: 1px solid var(--line);
            max-width: 560px;
            margin: 0 auto;
        }
        #cookie-banner.visible { display: block; animation: slideUp 0.35s ease-out; }
        @keyframes slideUp {
            from { transform: translateY(20px); opacity: 0; }
            to   { transform: translateY(0);     opacity: 1; }
        }
        .cookie-content { position: relative; display: flex; flex-direction: column; gap: 14px; }
        .cookie-content h4 {
            font-family: var(--font-display);
            font-size: 1.15rem;
            margin: 0;
            color: var(--ink);
        }
        .cookie-content p {
            margin: 0;
            font-size: 0.88rem;
            color: var(--slate);
            line-height: 1.55;
        }
        .cookie-content a { color: var(--gold-deep); }
        .cookie-btns { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
        .btn-accept {
            background: linear-gradient(135deg, var(--gold), var(--gold-deep));
            color: white;
            border: none;
            padding: 12px 18px;
            border-radius: 8px;
            cursor: pointer;
            font-weight: 700;
            flex: 1;
            font-family: var(--font-body);
            font-size: 0.92rem;
            transition: transform 0.15s;
        }
        .btn-accept:hover { transform: translateY(-1px); }
        .btn-decline {
            background: var(--cream);
            color: var(--ink);
            border: 1px solid var(--line);
            padding: 12px 18px;
            border-radius: 8px;
            cursor: pointer;
            font-weight: 600;
            flex: 1;
            font-family: var(--font-body);
            font-size: 0.92rem;
        }
        .btn-decline:hover { background: var(--cream-warm); }
        .btn-x-close {
            position: absolute;
            top: -6px; right: -6px;
            background: transparent;
            border: none;
            font-size: 1.4rem;
            color: var(--slate-soft);
            cursor: pointer;
            line-height: 1;
            padding: 4px;
        }
        .btn-x-close:hover { color: var(--ink); }

        /* ============ RESPONSIVE ============ */
        @media (max-width: 768px) {
            .container { padding: 0 18px; }
            .hero { padding: 50px 0 30px; }
            h1 { font-size: 2.1rem; }
            .price-card { padding: 32px 24px; }
            .api-price { font-size: 3rem; }
            .calc {
                grid-template-columns: 1fr;
                gap: 16px;
            }
            .calc-output { text-align: left; }
            .form-container { padding: 32px 22px; }
            .form-header h3 { font-size: 1.5rem; }
            .method-card { padding: 38px 28px; }
            .method-card::before { font-size: 10rem; top: -10px; }
            .pillars { padding: 40px 0 20px; }
            .steps-section { padding: 40px 0 60px; }
            .form-section { padding: 60px 0; }
            .locations-section { padding: 60px 0 50px; }
            .info-header { display: none; }
            .nav-content { justify-content: center; }
            .logo img { max-height: 66px; }
        }

        /* Reduce motion respect */
        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after {
                animation-duration: 0.01ms !important;
                transition-duration: 0.01ms !important;
            }
            html { scroll-behavior: auto; }
        }
