/* Harmonic London — growth-audit.css
   Shared stylesheet. Page-specific colour variables are set in a small
   :root block on each page. */

:root{
            --primary:#0a0e27;
            --primary-light:#1a1f3a;
            --accent:#d4af37;
            --accent-dark:#b8942c;
            --text:#0a0e27;
            --text-light:#64748b;
            --bg:#ffffff;
            --border:#e5e7eb;
            --gray-light:#f8f9fa;
            --cream:#fdfcf8;
            --pastel-lavender:#dcd0f0;
            --pastel-peach:#fadcb0;
            --pastel-sage:#c8dbc5;
            --pastel-sky:#c5dcea;
        }
        *,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

        

        html{scroll-behavior:smooth}
        body{font-family:'DM Sans',-apple-system,system-ui,sans-serif;color:var(--text);line-height:1.7;background:var(--bg);overflow-x: hidden; padding-top: 68px; }
        .container{max-width:1200px;margin:0 auto;padding:0 40px}

        /* NAV — minimal */
        .nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:20px 0;transition:all .4s cubic-bezier(.4,0,.2,1)}
        .nav.scrolled{background:rgba(10,14,39,.97);backdrop-filter:blur(20px);padding:12px 0;box-shadow:0 4px 30px rgba(0,0,0,.3)}
        .nav-inner{display:flex;align-items:center;justify-content:space-between}
        .logo{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:white;text-decoration:none}
        .logo span{color:var(--accent)}
        .logo-sub{font-family:'DM Sans',sans-serif;font-size:.625rem;font-weight:600;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.15em;display:block;margin-top:2px}
        .nav-right{display:flex;align-items:center;gap:28px}
        .nav-right a{color:rgba(255,255,255,.65);text-decoration:none;font-size:.9375rem;font-weight:500;transition:color .3s}
        .nav-right a:hover{color:var(--accent)}
        .nav-back{font-size:.875rem;color:rgba(255,255,255,.5)!important;transition:color .3s!important}
        .nav-back:hover{color:rgba(255,255,255,.8)!important}

        /* HERO */
        .hero{background:var(--primary);min-height:60vh;display:flex;align-items:center;padding:140px 0 80px;position:relative;overflow:hidden}
        .hero-orb-1{position:absolute;width:700px;height:700px;background:var(--pastel-lavender);top:-20%;right:-10%;border-radius:50%;filter:blur(120px);opacity:.06}
        .hero-orb-2{position:absolute;width:400px;height:400px;background:var(--pastel-peach);bottom:-10%;left:-5%;border-radius:50%;filter:blur(90px);opacity:.05}
        .hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.3),transparent)}
        .hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
        .hero-left{animation:fadeUp .8s ease-out .2s both}
        .hero-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(212,175,55,.08);border:1px solid rgba(212,175,55,.2);padding:8px 20px;margin-bottom:32px;font-size:.8125rem;font-weight:600;color:var(--accent);letter-spacing:.08em;text-transform:uppercase}
        .hero-badge::before{content:'';width:6px;height:6px;background:var(--accent);border-radius:50%}
        .hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.75rem,4.5vw,4rem);font-weight:600;line-height:1.08;letter-spacing:-.035em;color:white;margin-bottom:28px}
        .hero h1 em{font-style:italic;color:var(--accent)}
        .hero-sub{font-size:1.0625rem;color:rgba(255,255,255,.6);line-height:1.8;margin-bottom:40px;max-width:480px}
        .hero-props{display:flex;flex-direction:column;gap:12px}
        .hero-prop{display:flex;align-items:flex-start;gap:12px;font-size:.9375rem;color:rgba(255,255,255,.55)}
        .hero-prop-icon{flex-shrink:0;width:20px;height:20px;background:rgba(212,175,55,.15);border:1px solid rgba(212,175,55,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px}
        .hero-prop-icon::after{content:'';width:6px;height:6px;background:var(--accent);border-radius:50%}
        .hero-prop span{color:rgba(255,255,255,.8);font-weight:500}

        /* HERO RIGHT — quick stats */
        .hero-right{animation:fadeUp .8s ease-out .4s both}
        .hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:2px}
        .hero-stat-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);padding:32px 28px;transition:background .3s}
        .hero-stat-card:hover{background:rgba(255,255,255,.07)}
        .hero-stat-n{font-family:'Playfair Display',serif;font-size:2.5rem;font-weight:700;color:var(--accent);line-height:1;margin-bottom:8px;letter-spacing:-.03em}
        .hero-stat-l{font-size:.875rem;color:rgba(255,255,255,.45);line-height:1.5}

        @keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}

        /* WHAT WE AUDIT */
        .audit-scope{padding:96px 0;background:var(--gray-light);border-top:1px solid var(--border)}
        .audit-scope-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
        .audit-scope-left .label{font-size:.75rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.15em;margin-bottom:20px}
        .audit-scope-left h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,3vw,2.75rem);font-weight:600;color:var(--primary);line-height:1.12;letter-spacing:-.025em;margin-bottom:24px}
        .audit-scope-left h2 em{font-style:italic;color:var(--accent)}
        .audit-scope-left p{font-size:1.0625rem;color:var(--text-light);line-height:1.85;margin-bottom:16px}
        .audit-scope-left p:last-child{margin-bottom:0}
        .audit-scope-left strong{color:var(--primary);font-weight:600}
        .audit-scope-right{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--border)}
        .audit-area{display:grid;grid-template-columns:48px 1fr;gap:20px;align-items:start;padding:28px 0;border-bottom:1px solid var(--border);transition:padding-left .25s}
        .audit-area:hover{padding-left:8px}
        .audit-area-n{font-family:'JetBrains Mono',monospace;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);padding-top:4px}
        .audit-area-body h4{font-family:'Playfair Display',serif;font-size:1.0625rem;font-weight:600;color:var(--primary);margin-bottom:6px;line-height:1.3}
        .audit-area-body p{font-size:.9rem;color:var(--text-light);line-height:1.7}

        /* FORM SECTION */
        .form-section{padding:80px 0 120px;background:var(--bg);position:relative;overflow:hidden}
        .form-section .bl1{position:absolute;width:500px;height:500px;background:var(--pastel-lavender);bottom:-25%;left:-10%;opacity:.15;filter:blur(100px);border-radius:50%}
        .form-section .bl2{position:absolute;width:350px;height:350px;background:var(--pastel-peach);top:10%;right:-8%;opacity:.12;filter:blur(90px);border-radius:50%}
        .form-wrapper{max-width:860px;margin:0 auto;position:relative;z-index:1}
        .form-header{text-align:center;margin-bottom:56px}
        .form-header .label{font-size:.75rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.15em;margin-bottom:20px;display:block}
        .form-header h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,2.75rem);font-weight:600;color:var(--primary);margin-bottom:16px;letter-spacing:-.02em;line-height:1.1}
        .form-header p{font-size:1.0625rem;color:var(--text-light);max-width:540px;margin:0 auto;line-height:1.75}

        /* Progress */
        .sb-progress{margin-bottom:40px}
        .sb-steps{display:flex;align-items:center;justify-content:center;gap:0}
        .sb-step{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative}
        .sb-dot{width:36px;height:36px;border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:.75rem;font-weight:700;color:var(--text-light);background:white;transition:all .3s;cursor:default}
        .sb-lbl{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-light);transition:color .3s;white-space:nowrap}
        .sb-step.active .sb-dot{border-color:var(--accent);background:var(--accent);color:var(--primary)}
        .sb-step.active .sb-lbl{color:var(--primary)}
        .sb-step.done .sb-dot{border-color:var(--accent);background:rgba(212,175,55,.1);color:var(--accent)}
        .sb-step.done .sb-dot::after{content:'✓';font-size:.625rem}
        .sb-step.done .sb-dot{font-size:0}
        .sb-connector{flex:1;height:2px;background:var(--border);min-width:32px;transition:background .3s;margin-bottom:22px}
        .sb-connector.done{background:var(--accent)}

        /* Form card */
        .form-card{background:white;padding:56px 52px;border:1px solid var(--border);box-shadow:0 8px 40px rgba(0,0,0,.04);position:relative}
        .form-card::before{content:'';position:absolute;top:-1px;left:40px;right:40px;height:3px;background:linear-gradient(90deg,var(--accent),var(--pastel-peach),var(--accent))}
        .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 28px}
        .form-group{display:flex;flex-direction:column}
        .form-group.full{grid-column:1/-1}
        .form-group label{font-size:.8125rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
        .form-group label .optional{font-weight:400;color:var(--text-light);text-transform:none;letter-spacing:0;font-size:.8125rem}
        .req{color:var(--accent)}
        .form-group input,.form-group select,.form-group textarea{font-family:'DM Sans',sans-serif;font-size:1rem;color:var(--text);padding:14px 18px;background:var(--gray-light);border:1.5px solid var(--border);outline:none;transition:all .3s;-webkit-appearance:none;appearance:none}
        .form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);background:white;box-shadow:0 0 0 4px rgba(212,175,55,.1)}
        .form-group input::placeholder,.form-group textarea::placeholder{color:#a0aec0;font-weight:400}
        .form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px;cursor:pointer}
        .form-group input.field-error,.form-group select.field-error,.form-group textarea.field-error{border-color:#e53e3e;background:#fff5f5}
        .error-msg{color:#e53e3e;font-size:.8125rem;margin-top:6px;font-weight:500}

        .sb-field-group{margin-top:4px}
        .goal-grid,.check-grid,.vis-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:12px}
        .goal-card,.check-card{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--gray-light);border:1.5px solid var(--border);cursor:pointer;transition:all .2s;font-size:.9rem;font-weight:500;color:var(--text)}
        .goal-card:hover,.check-card:hover{border-color:var(--accent);background:rgba(212,175,55,.04)}
        .goal-card input,.check-card input{width:14px;height:14px;accent-color:var(--accent);flex-shrink:0;cursor:pointer}
        .goal-card:has(input:checked),.check-card:has(input:checked){border-color:var(--accent);background:rgba(212,175,55,.08);color:var(--primary)}

        .sb-pane{display:none}
        .sb-pane.active{display:block}
        .sb-pane-title{font-family:'Playfair Display',serif;font-size:1.375rem;font-weight:600;color:var(--primary);margin-bottom:10px}
        .sb-pane-sub{font-size:.9375rem;color:var(--text-light);margin-bottom:32px;line-height:1.75;max-width:600px}

        .sb-nav{display:flex;align-items:center;justify-content:space-between;margin-top:40px;padding-top:32px;border-top:1px solid var(--border)}
        .sb-nav-right{display:flex;align-items:center;gap:20px}
        .sb-step-counter{font-size:.8125rem;font-weight:600;color:var(--text-light);font-family:'JetBrains Mono',monospace}
        .sb-btn-back{background:none;border:none;font-family:'DM Sans',sans-serif;font-size:.9375rem;font-weight:600;color:var(--text-light);cursor:pointer;padding:0;transition:color .2s}
        .sb-btn-back:hover{color:var(--primary)}
        .submit-btn{background:var(--accent);color:var(--primary);border:none;padding:16px 36px;font-family:'DM Sans',sans-serif;font-size:.9375rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:all .3s;position:relative;overflow:hidden}
        .submit-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .5s}
        .submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(212,175,55,.3)}
        .submit-btn:hover::before{left:100%}
        .submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}

        .sb-success{display:none;text-align:center;padding:64px 40px}
        .success-icon{width:64px;height:64px;background:rgba(212,175,55,.1);border:2px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 28px;color:var(--accent)}
        .sb-success h3{font-family:'Playfair Display',serif;font-size:1.75rem;font-weight:600;color:var(--primary);margin-bottom:16px}
        .sb-success p{font-size:1rem;color:var(--text-light);max-width:480px;margin:0 auto 12px;line-height:1.8}
        .success-email{color:var(--primary)!important;font-weight:600!important}

        /* PROMISE */
        .promise{padding:96px 0;background:var(--primary);position:relative;overflow:hidden}
        .promise::before{content:'';position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(212,175,55,.07) 0%,transparent 60%);border-radius:50%}
        .promise .container{position:relative;z-index:1}
        .promise .label{font-size:.75rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.15em;margin-bottom:20px;display:block;text-align:center}
        .promise h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.5vw,2.75rem);font-weight:600;color:white;text-align:center;letter-spacing:-.025em;margin-bottom:16px;line-height:1.1}
        .promise h2 em{font-style:italic;color:var(--accent)}
        .promise p.sub{text-align:center;color:rgba(255,255,255,.5);font-size:1.0625rem;max-width:520px;margin:0 auto 64px;line-height:1.75}
        .promise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
        .promise-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);padding:40px 32px;transition:background .3s}
        .promise-card:hover{background:rgba(255,255,255,.06)}
        .promise-num{font-family:'Playfair Display',serif;font-size:2.25rem;font-weight:700;color:var(--accent);margin-bottom:16px;letter-spacing:-.03em}
        .promise-card h4{font-family:'Playfair Display',serif;font-size:1.0625rem;font-weight:600;color:white;margin-bottom:10px}
        .promise-card p{font-size:.875rem;color:rgba(255,255,255,.45);line-height:1.75}

        /* PROCESS */
        .process{padding:96px 0;background:var(--gray-light);border-top:1px solid var(--border)}
        .process .label{font-size:.75rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.15em;margin-bottom:20px;display:block;text-align:center}
        .process h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,3vw,2.75rem);font-weight:600;color:var(--primary);text-align:center;letter-spacing:-.025em;margin-bottom:16px;line-height:1.1}
        .process h2 em{font-style:italic;color:var(--accent)}
        .process p.sub{text-align:center;color:var(--text-light);font-size:1.0625rem;max-width:520px;margin:0 auto 64px;line-height:1.75}
        .steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
        .step{background:white;border:1px solid var(--border);padding:36px 28px;position:relative;overflow:hidden;transition:all .3s}
        .step::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
        .step:hover::after{transform:scaleX(1)}
        .step-num{font-family:'Playfair Display',serif;font-size:2.75rem;font-weight:700;color:rgba(212,175,55,.15);line-height:1;margin-bottom:20px;letter-spacing:-.04em}
        .step h4{font-family:'Playfair Display',serif;font-size:1.0625rem;font-weight:600;color:var(--primary);margin-bottom:10px}
        .step p{font-size:.875rem;color:var(--text-light);line-height:1.75}

        /* FAQ */
        .faq{padding:96px 0;background:var(--bg)}
        .faq .label{font-size:.75rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.15em;margin-bottom:20px;display:block;text-align:center}
        .faq h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,3vw,2.75rem);font-weight:600;color:var(--primary);text-align:center;letter-spacing:-.025em;margin-bottom:16px}
        .faq p.sub{text-align:center;color:var(--text-light);font-size:1.0625rem;max-width:520px;margin:0 auto 56px;line-height:1.75}
        .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--border)}
        .fq{padding:36px 0;border-bottom:1px solid var(--border);padding-right:48px}
        .fq:nth-child(even){padding-right:0;padding-left:48px;border-left:1px solid var(--border)}
        .fq h4{font-family:'Playfair Display',serif;font-size:1.0625rem;font-weight:600;color:var(--primary);margin-bottom:10px;line-height:1.35}
        .fq p{font-size:.9375rem;color:var(--text-light);line-height:1.8}

        /* FOOTER — minimal */
        .footer{background:#060918;padding:48px 0;border-top:1px solid rgba(255,255,255,.04)}
        .footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px}
        .footer-logo{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:white;text-decoration:none}
        .footer-logo span{color:var(--accent)}
        .footer-links{display:flex;gap:28px;flex-wrap:wrap}
        .footer-links a{color:rgba(255,255,255,.35);text-decoration:none;font-size:.875rem;transition:color .25s}
        .footer-links a:hover{color:var(--accent)}
        .footer-copy{color:rgba(255,255,255,.2);font-size:.8125rem}

        /* REVEAL */
        .reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
        .reveal.visible{opacity:1;transform:translateY(0)}
        .rd1{transition-delay:.1s}
        .rd2{transition-delay:.2s}

        @media(max-width:1024px){
            .hero-inner{grid-template-columns:1fr;gap:48px}
            .hero-right{display:none}
            .audit-scope-inner{grid-template-columns:1fr;gap:48px}
            .promise-grid,.steps-grid{grid-template-columns:1fr 1fr}
        }
        @media(max-width:768px){
            .container{padding:0 24px}
            .hero{padding:110px 0 64px}
            .hero h1{font-size:clamp(2.5rem,8vw,3.25rem)}
            .form-card{padding:40px 28px}
            .form-grid{grid-template-columns:1fr}
            .faq-grid{grid-template-columns:1fr}
            .fq:nth-child(even){padding-left:0;border-left:none}
            .promise-grid,.steps-grid{grid-template-columns:1fr}
            .footer-inner{flex-direction:column;align-items:flex-start}
        }

        /* HUBSPOT EMBED STYLING — growth-audit chained forms
           HubSpot's default embed CSS is unstyled; these rules restyle its
           standard class names (.hs-form-field, .hs-input, .hs-button, etc.)
           to match the design language above, rather than building a
           separate visual system for the embedded fields. */
        .hs-embed-wrap { width: 100%; }
        .hs-embed-wrap .hs-form { width: 100%; }
        .hs-embed-wrap fieldset { max-width: none !important; margin-bottom: 24px; }
        .hs-embed-wrap .hs-form-field { margin-bottom: 24px; }
        .hs-embed-wrap .input { margin-right: 0 !important; }

        .hs-embed-wrap label,
        .hs-embed-wrap .hs-form-field label {
            font-family: 'DM Sans', sans-serif;
            font-size: .8125rem;
            font-weight: 700;
            color: var(--primary);
            text-transform: uppercase;
            letter-spacing: .08em;
            margin-bottom: 10px;
            display: block;
        }
        .hs-embed-wrap label .hs-form-required { color: var(--accent); }

        .hs-embed-wrap input[type="text"],
        .hs-embed-wrap input[type="email"],
        .hs-embed-wrap input[type="tel"],
        .hs-embed-wrap input[type="url"],
        .hs-embed-wrap input[type="number"],
        .hs-embed-wrap select,
        .hs-embed-wrap textarea {
            font-family: 'DM Sans', sans-serif !important;
            font-size: 1rem !important;
            color: var(--text) !important;
            width: 100% !important;
            padding: 14px 18px !important;
            background: var(--gray-light) !important;
            border: 1.5px solid var(--border) !important;
            outline: none;
            transition: all .3s;
            -webkit-appearance: none;
            appearance: none;
            box-sizing: border-box !important;
        }
        .hs-embed-wrap input[type="text"]:focus,
        .hs-embed-wrap input[type="email"]:focus,
        .hs-embed-wrap input[type="tel"]:focus,
        .hs-embed-wrap input[type="url"]:focus,
        .hs-embed-wrap input[type="number"]:focus,
        .hs-embed-wrap select:focus,
        .hs-embed-wrap textarea:focus {
            border-color: var(--accent) !important;
            background: white !important;
            box-shadow: 0 0 0 4px rgba(212,175,55,.1);
        }
        .hs-embed-wrap ::placeholder { color: #a0aec0; font-weight: 400; }

        /* Radio / checkbox lists — replicates the original bespoke
           goal-card / check-card grid (see .goal-card / .check-card above)
           on top of HubSpot's default markup structure:
           ul.inputs-list > li.hs-form-radio/checkbox > label > input + span */
        .hs-embed-wrap .inputs-list {
            list-style: none; margin: 12px 0 0; padding: 0;
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
            gap: 10px;
        }
        .hs-embed-wrap .inputs-list > li { margin-bottom: 0; }
        .hs-embed-wrap .hs-form-checkbox label,
        .hs-embed-wrap .hs-form-radio label {
            display: flex; align-items: center; gap: 10px;
            padding: 12px 16px;
            background: var(--gray-light);
            border: 1.5px solid var(--border);
            cursor: pointer;
            transition: all .2s;
            font-size: .9rem; font-weight: 500; text-transform: none;
            letter-spacing: normal; color: var(--text); margin-bottom: 0;
        }
        .hs-embed-wrap .hs-form-checkbox label:hover,
        .hs-embed-wrap .hs-form-radio label:hover {
            border-color: var(--accent);
            background: rgba(212,175,55,.04);
        }
        .hs-embed-wrap .hs-form-checkbox label:has(input:checked),
        .hs-embed-wrap .hs-form-radio label:has(input:checked) {
            border-color: var(--accent);
            background: rgba(212,175,55,.08);
            color: var(--primary);
        }
        .hs-embed-wrap .hs-form-checkbox input,
        .hs-embed-wrap .hs-form-radio input {
            width: 14px; height: 14px; accent-color: var(--accent);
            flex-shrink: 0; cursor: pointer;
        }
        /* Fields with many options (e.g. the nine-channel checklist) read
           better full-width than squeezed into the same minmax grid as
           short single-word options — widen those specifically. */
        .hs-embed-wrap .hs-fieldtype-checkbox .inputs-list {
            grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        }

        .hs-embed-wrap .hs-error-msgs {
            list-style: none; margin: 6px 0 0; padding: 0;
        }
        .hs-embed-wrap .hs-error-msgs label {
            color: #e53e3e !important; font-size: .8125rem !important;
            font-weight: 500 !important; text-transform: none !important;
            letter-spacing: normal !important;
        }

        .hs-embed-wrap .hs-button.primary {
            background: var(--accent) !important;
            color: var(--primary) !important;
            border: none !important;
            padding: 16px 36px !important;
            font-family: 'DM Sans', sans-serif !important;
            font-size: .9375rem !important;
            font-weight: 700 !important;
            text-transform: uppercase !important;
            letter-spacing: .06em !important;
            cursor: pointer;
            transition: all .3s;
        }
        .hs-embed-wrap .hs-button.primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(212,175,55,.3);
        }

        .hs-embed-wrap .legal-consent-container {
            font-size: .8125rem; color: var(--text-light); line-height: 1.6;
            margin-bottom: 20px;
        }
        .hs-embed-wrap .legal-consent-container a { color: var(--primary); text-decoration: underline; }
