/* Base Setup & Structural Safety Rules */
        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
        :root { 
            --ink: #0A0A0A; 
            --paper: #F6F5F2; 
            --stone: #E5E2DA; 
            --slate: #66625C; 
            --sky: #3A78A1; 
            --rule: rgba(10,10,10,0.08);
            --transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }
        body { 
            font-family: 'Poppins', sans-serif; 
            color: var(--ink); 
            background: #ffffff; 
            line-height: 1.65; 
            -webkit-font-smoothing: antialiased; 
            padding-top: 100px; /* HARD-FIX: Prevents navigation from crushing page titles */
        }
        .wrapper { padding: 0 6%; }

        /* Navigation Header with High-Contrast Fixes */
        nav { 
            position: fixed; 
            top: 0; left: 0; right: 0; 
            z-index: 1000; 
            display: flex; 
            align-items: center; 
            justify-content: space-between; 
            padding: 0 6%; 
            height: 100px; 
            background: #ffffff; 
            border-bottom: 1px solid var(--rule); 
        }
        nav .logo-wrap {
            display: flex;
            align-items: center;
            height: 96px;
            overflow: visible;
            text-decoration: none;
        }
        nav .logo-wrap img { 
            height: 30px; 
            width: auto; 
            display: block;
        }
        nav ul { 
            list-style: none; 
            display: flex; 
            gap: 3rem; 
            align-items: center; 
        }
        nav ul a { 
            text-decoration: none; 
            color: var(--slate); 
            font-size: 12px; 
            letter-spacing: 0.15em; 
            text-transform: uppercase; 
            transition: var(--transition); 
        }
        nav ul a:hover { color: var(--ink); }
        nav ul li { position: relative; }
        .has-dropdown > a { display: flex; align-items: center; gap: 6px; cursor: pointer; }
        .has-dropdown > a::after { content: ''; width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); margin-top: -3px; transition: var(--transition); }
        .has-dropdown:hover > a::after { transform: rotate(225deg); margin-top: 3px; }
        .dropdown-menu { 
            position: absolute; 
            top: 100%; 
            left: 50%;
            transform: translateX(-50%);
            min-width: 240px; 
            background: #ffffff; 
            border: 1px solid var(--rule); 
            box-shadow: 0 16px 40px rgba(10,10,10,0.08); 
            padding: 0.75rem 0; 
            opacity: 0; 
            visibility: hidden; 
            transform: translateX(-50%) translateY(10px); 
            transition: var(--transition); 
            z-index: 1001; 
        }
        .has-dropdown:hover .dropdown-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
        .dropdown-menu li { padding: 0; }
        .dropdown-menu a { 
            display: block; 
            padding: 12px 24px; 
            font-size: 11px; 
            letter-spacing: 0.12em; 
            color: var(--slate); 
            white-space: nowrap; 
            transition: var(--transition); 
        }
        .dropdown-menu a:hover { background: var(--paper); color: var(--ink); }
        .dropdown-menu a::after { content: none; }
        .nav-toggle {
            display: none;
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;
            gap: 5px;
            width: 28px;
            height: 22px;
            background: none;
            border: none;
            cursor: pointer;
            padding: 0;
        }
        .nav-toggle span {
            display: block;
            width: 28px;
            min-width: 28px;
            height: 2px;
            border-radius: 1px;
            background: var(--ink);
            transition: var(--transition);
        }
        .nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
        .nav-toggle.open span:nth-child(2) { opacity: 0; }
        .nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
        .nav-cta { 
            background: var(--sky); 
            color: #ffffff; 
            border: 1px solid var(--sky); 
            padding: 12px 28px; 
            font-size: 11px; 
            letter-spacing: 0.15em; 
            text-transform: uppercase; 
            font-weight: 500; 
            text-decoration: none; 
            transition: var(--transition); 
        }
        .nav-cta:hover { background: #ffffff; border-color: var(--ink); color: var(--ink); }
        .cta-secondary {
            background: var(--sky);
            color: #ffffff;
            padding: 12px 28px;
            font-size: 11px;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            font-weight: 500;
            text-decoration: none;
            border: 1px solid var(--sky);
            transition: var(--transition);
        }
        .cta-secondary:hover { background: #ffffff; border-color: var(--ink); color: var(--ink); }
        .cta-group { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; margin-top: 2.5rem; }
        .cta-note { font-size: 13px; color: var(--slate); margin-top: 1.5rem; }
        .cta-note strong { color: var(--ink); font-weight: 500; }

        /* Hero Layout */
        .hero { 
            display: grid; 
            grid-template-columns: 1.15fr 0.85fr; 
            min-height: calc(100vh - 100px);
            border-bottom: 1px solid var(--rule);
            margin-bottom: 60px;
            width: 100vw;
            position: relative;
            left: 50%;
            right: 50%;
            margin-left: -50vw;
            margin-right: -50vw;
        }
        .hero-left { 
            background: var(--paper); 
            display: flex; 
            flex-direction: column; 
            justify-content: center; 
            padding: 4% 10% 4% 6vw; 
        }
        .hero-tag { 
            font-size: 11px; 
            letter-spacing: 0.25em; 
            text-transform: uppercase; 
            color: var(--sky); 
            margin-bottom: 1.5rem; 
            font-weight: 500; 
        }
        .hero h1 { 
            font-family: 'Poppins', sans-serif; 
            font-size: clamp(2.2rem, 3.2vw, 3.4rem); 
            font-weight: 300; 
            line-height: 1.15; 
            margin-bottom: 2rem; 
            letter-spacing: -0.02em;
        }
        .hero h1 em { font-style: normal; color: var(--sky); font-weight: 500; }
        .hero-p { font-size: 16px; color: var(--slate); max-width: 540px; margin-bottom: 3.5rem; }
        
        .hero-right { 
            background: var(--ink); 
            display: flex; 
            flex-direction: column; 
            justify-content: center; 
            padding: 10% 6% 10% 10%; 
        }
        .hero-stats { display: flex; flex-direction: column; gap: 4rem; }
        .stat-item { border-left: 1px solid rgba(255,255,255,0.2); padding-left: 2rem; }
        .stat-n { font-family: 'Poppins', sans-serif; font-size: 4.2rem; font-weight: 300; line-height: 1; color: var(--sky); margin-bottom: 0.5rem; letter-spacing: -0.02em; }
        .stat-n span { color: var(--sky); }
        .stat-desc { font-size: 11px; color: rgba(255,255,255,0.5); letter-spacing: 0.1em; text-transform: uppercase; max-width: 240px; }

        /* Typography & Uniform Sizing Section Elements */
        section { padding: 100px 0; border-top: 1px solid var(--rule); scroll-margin-top: 100px; }
        .tag { font-size: 11px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--sky); margin-bottom: 2rem; font-weight: 500; display: block; }

        /* Mission Statement Block */
        .mission-block { padding: 80px 0; text-align: center; border-bottom: 1px solid var(--rule); }
        .mission-statement { 
            font-family: 'Poppins', sans-serif; 
            font-size: clamp(1.6rem, 2.6vw, 2.6rem); 
            font-weight: 300; 
            line-height: 1.4; 
            max-width: 900px; 
            margin: 0 auto; 
            letter-spacing: -0.01em;
        }
        .mission-statement em { font-style: normal; color: var(--sky); font-weight: 500; }
        .pipe-accent { color: var(--sky); font-weight: 500; }
        code {
            font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
            font-size: 0.88em;
            background: var(--stone);
            padding: 1px 6px;
            border-radius: 3px;
            color: var(--ink);
        }
        .h2 { font-family: 'Poppins', sans-serif; font-size: clamp(2.5rem, 3.5vw, 3.8rem); font-weight: 300; line-height: 1.2; margin-bottom: 2.5rem; letter-spacing: -0.02em; }
        .lead { font-size: 18px; color: var(--slate); line-height: 1.8; max-width: 760px; font-weight: 300; margin-bottom: 2rem; }

        /* PERFECT ALIGNMENT FIX: Strictly synced typography baselines across all card layouts */
        .grid-3-col { 
            display: grid; 
            grid-template-columns: repeat(3, 1fr); 
            gap: 60px; 
            margin-top: 3rem;
        }
        .card { 
            display: flex; 
            flex-direction: column; 
            padding: 2rem; 
            border: 1px solid transparent; 
            transition: var(--transition); 
            margin: -2rem;
        }
        .card:hover { 
            border-color: var(--sky); 
            transform: translateY(-6px); 
            box-shadow: 0 12px 30px rgba(10,10,10,0.06); 
        }
        .card-num { 
            font-family: 'Poppins', sans-serif; 
            font-size: 2.2rem; 
            color: var(--sky); 
            font-weight: 300;
            margin-bottom: 1rem; 
            display: block; 
            line-height: 1;
        }
        .card h3 { 
            font-family: 'Poppins', sans-serif;
            font-size: 14px; 
            font-weight: 500; 
            margin-bottom: 1.25rem; 
            padding-bottom: 1.25rem;
            letter-spacing: 0.05em; 
            text-transform: uppercase; 
            color: var(--ink);
            line-height: 1.2;
            border-bottom: 2px solid transparent;
            transition: var(--transition);
        }
        .card:hover h3 { border-bottom-color: var(--sky); }
        .card p { 
            font-family: 'Poppins', sans-serif;
            font-size: 14px; 
            color: var(--slate); 
            line-height: 1.75; 
        }

        /* Pricing Tiers */
        .grid-4-col { 
            display: grid; 
            grid-template-columns: repeat(4, 1fr); 
            gap: 30px; 
            margin-top: 4rem;
        }
        .price-card { 
            display: flex; 
            flex-direction: column; 
            border: 1px solid var(--stone); 
            padding: 2.5rem 2rem; 
            transition: var(--transition); 
            background: #ffffff;
        }
        .price-card:hover { 
            border-color: var(--sky); 
            transform: translateY(-6px); 
            box-shadow: 0 12px 30px rgba(10,10,10,0.06); 
        }
        .price-card.featured { 
            background: var(--sky); 
            border-color: var(--sky); 
            color: #ffffff;
        }
        .price-card.featured:hover { 
            border-color: var(--ink); 
            transform: translateY(-6px); 
            box-shadow: 0 12px 30px rgba(10,10,10,0.15); 
        }
        .price-card-badge { 
            font-size: 10px; 
            letter-spacing: 0.2em; 
            text-transform: uppercase; 
            color: var(--sky); 
            font-weight: 500; 
            margin-bottom: 1rem; 
            display: block; 
            min-height: 1em;
        }
        .price-card.featured .price-card-badge { color: #ffffff; opacity: 0.6; }
        .price-card h3 { 
            font-family: 'Poppins', sans-serif; 
            font-size: 14px; 
            font-weight: 500; 
            letter-spacing: 0.05em; 
            text-transform: uppercase; 
            margin-bottom: 1.25rem; 
            padding-bottom: 1.25rem;
            border-bottom: 2px solid var(--stone);
            transition: var(--transition);
        }
        .price-card.featured h3 { border-bottom-color: rgba(255,255,255,0.15); }
        .price-card:hover h3 { border-bottom-color: var(--sky); }
        .price-card .price { 
            font-family: 'Poppins', sans-serif; 
            font-size: 2.6rem; 
            font-weight: 300; 
            line-height: 1; 
            margin-bottom: 0.25rem; 
        }
        .price-card .price span { font-size: 13px; color: var(--slate); font-weight: 400; }
        .price-card.featured .price span { color: rgba(255,255,255,0.5); }
        .price-card .price-desc { font-size: 12px; color: var(--slate); margin-bottom: 1.5rem; }
        .price-card.featured .price-desc { color: rgba(255,255,255,0.6); }
        .price-card ul { list-style: none; margin-bottom: 2rem; flex-grow: 1; }
        .price-card ul li { 
            font-size: 13px; 
            color: var(--slate); 
            line-height: 1.8; 
            padding-left: 1.25rem; 
            position: relative; 
        }
        .price-card.featured ul li { color: rgba(255,255,255,0.75); }
        .price-card ul li::before { 
            content: '+'; 
            position: absolute; 
            left: 0; 
            color: var(--sky); 
            font-weight: 500; 
        }
        .price-card.featured ul li::before { color: #ffffff; }
        .price-card-cta { 
            display: block; 
            text-align: center; 
            padding: 14px; 
            font-size: 11px; 
            font-weight: 500; 
            letter-spacing: 0.2em; 
            text-transform: uppercase; 
            text-decoration: none; 
            border: 1px solid var(--sky); 
            color: #ffffff; 
            background: var(--sky); 
            transition: var(--transition); 
        }
        .price-card-cta:hover { background: #ffffff; border-color: var(--ink); color: var(--ink); }
        .price-card.featured .price-card-cta { background: #ffffff; border-color: #ffffff; color: var(--sky); }
        .price-card.featured .price-card-cta:hover { background: #ffffff; border-color: var(--ink); color: var(--ink); }

        /* Split-Screen Contact Block */
        .contact-section { background: var(--paper); padding: 120px 0; }
        .contact-wrap { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 100px; }
        .contact-left p { color: var(--slate); font-size: 15px; margin-top: 1rem; line-height: 1.8; }
        
        .contact-right { background: #ffffff; border: 1px solid var(--stone); padding: 4.5rem 4rem; }
        .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; margin-bottom: 2.5rem; }
        .form-field-wrapper { position: relative; display: flex; flex-direction: column; }
        .form-field-wrapper.full-width { grid-column: span 2; }
        .form-field-wrapper label { font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; font-weight: 500; color: var(--slate); margin-bottom: 0.6rem; }
        .form-field-wrapper input, .form-field-wrapper textarea, .form-field-wrapper select { 
            width: 100%; padding: 12px 0; border: none; border-bottom: 1px solid var(--stone); background: transparent; font-family: 'Poppins', sans-serif; font-size: 14px; outline: none; transition: var(--transition); color: var(--ink); 
        }
        .form-field-wrapper select { cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%2366625C' d='M6 8 0 0h12z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right center; background-size: 12px; }
        .form-field-wrapper input:focus, .form-field-wrapper textarea:focus, .form-field-wrapper select:focus { border-color: var(--ink); }
        .form-field-wrapper textarea { min-height: 100px; resize: vertical; }

        /* Multi-step form controls */
        .form-steps { display: flex; gap: 0.5rem; margin-bottom: 3rem; }
        .form-step-dot { flex: 1; height: 3px; background: var(--stone); transition: var(--transition); position: relative; }
        .form-step-dot.active, .form-step-dot.complete { background: var(--sky); }
        .form-step-label { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--sky); font-weight: 500; margin-bottom: 2rem; display: block; }
        .form-panel { display: none; }
        .form-panel.active { display: block; animation: fadeIn 0.4s ease; }
        @keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
        .form-nav { display: flex; gap: 1rem; margin-top: 1rem; }
        .form-nav .btn-submit { width: auto; flex: 1; }
        .btn-back { 
            flex: 1; background: var(--sky); color: #ffffff; border: 1px solid var(--sky); cursor: pointer; padding: 20px; font-family: 'Poppins', sans-serif; font-size: 11px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; transition: var(--transition); 
        }
        .btn-back:hover { background: #ffffff; border-color: var(--ink); color: var(--ink); }
        .form-success { text-align: center; padding: 2rem 0; }
        .form-success h3 { font-family: 'Poppins', sans-serif; font-weight: 400; font-size: 1.6rem; margin-bottom: 1rem; }
        .form-success p { color: var(--slate); font-size: 14px; }
        .checkbox-grid { display: flex; flex-wrap: wrap; gap: 0.75rem; }
        .checkbox-pill { 
            border: 1px solid var(--stone); padding: 10px 18px; font-size: 12px; letter-spacing: 0.05em; cursor: pointer; transition: var(--transition); user-select: none; 
        }
        .checkbox-pill.selected { background: var(--ink); color: #ffffff; border-color: var(--ink); }
        .checkbox-pill:hover { border-color: var(--ink); }

        .btn-submit { 
            width: 100%; background: var(--sky); color: #ffffff; border: 1px solid var(--sky); cursor: pointer; padding: 20px; font-family: 'Poppins', sans-serif; font-size: 11px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; transition: var(--transition); 
        }
        .btn-submit:hover { background-color: #ffffff; border-color: var(--ink); color: var(--ink); }

        /* Secure Bottom Footer with Mask-Inversion for Logos with Backdrops */
        footer { 
            background: var(--ink); 
            padding: 2rem 6%; 
            display: flex; 
            align-items: center; 
            justify-content: space-between; 
        }
        footer .footer-logo { display: flex; text-decoration: none; }
        footer .footer-logo img { 
            height: 30px; 
            width: auto; 
            display: block; 
        }
        footer .footer-text { font-size: 12px; color: rgba(255,255,255,0.4); letter-spacing: 0.05em; text-align: right; }

        /* AI Compliance Page Elements */
        .urgency-banner { 
            background: var(--ink); 
            color: #ffffff; 
            padding: 14px 6%; 
            text-align: center; 
            font-size: 13px; 
            letter-spacing: 0.05em; 
        }
        .urgency-banner strong { color: var(--sky); font-weight: 500; }

        .framework-grid { 
            display: grid; 
            grid-template-columns: 1fr 1fr; 
            gap: 40px; 
            margin-top: 3rem; 
        }
        .framework-card { 
            border: 1px solid var(--stone); 
            padding: 2.5rem; 
            transition: var(--transition); 
        }
        .framework-card:hover { border-color: var(--sky); box-shadow: 0 12px 30px rgba(10,10,10,0.06); }
        .framework-card .badge { 
            font-size: 10px; 
            letter-spacing: 0.2em; 
            text-transform: uppercase; 
            color: var(--sky); 
            font-weight: 500; 
            margin-bottom: 1rem; 
            display: block; 
        }
        .framework-card h3 { 
            font-family: 'Poppins', sans-serif; 
            font-size: 1.5rem; 
            font-weight: 400; 
            margin-bottom: 1rem; 
            padding-bottom: 1rem; 
            border-bottom: 2px solid var(--stone); 
        }
        .framework-card:hover h3 { border-bottom-color: var(--sky); }
        .framework-card p { color: var(--slate); font-size: 14px; line-height: 1.8; margin-bottom: 1rem; }
        .framework-card ul { list-style: none; }
        .framework-card ul li { 
            font-size: 13px; 
            color: var(--slate); 
            line-height: 1.8; 
            padding-left: 1.25rem; 
            position: relative; 
        }
        .framework-card ul li::before { content: '+'; position: absolute; left: 0; color: var(--sky); font-weight: 500; }

        /* News Feed Widget */
        .news-feed { margin-top: 3rem; }
        .news-feed-item { 
            display: block; 
            padding: 1.5rem 0; 
            border-bottom: 1px solid var(--rule); 
            text-decoration: none; 
            color: var(--ink); 
            transition: var(--transition); 
        }
        .news-feed-item:hover { padding-left: 1rem; }
        .news-feed-item .news-source { 
            font-size: 10px; 
            letter-spacing: 0.2em; 
            text-transform: uppercase; 
            color: var(--sky); 
            font-weight: 500; 
            margin-bottom: 0.5rem; 
            display: block; 
        }
        .news-feed-item .news-title { 
            font-family: 'Poppins', sans-serif; 
            font-size: 1.1rem; 
            font-weight: 400; 
            line-height: 1.5; 
            margin-bottom: 0.4rem; 
        }
        .news-feed-item .news-date { font-size: 11px; color: var(--slate); }
        .news-feed-loading, .news-feed-error { color: var(--slate); font-size: 14px; padding: 2rem 0; }

        /* Multi-Device Media Scaling Queries */
        @media(max-width: 900px) {
            .nav-toggle { display: flex; }
            nav .nav-cta { display: none; }
            nav ul {
                position: fixed;
                top: 100px;
                left: 0;
                right: 0;
                flex-direction: column;
                align-items: stretch;
                gap: 0;
                background: #ffffff;
                border-bottom: 1px solid var(--rule);
                box-shadow: 0 16px 40px rgba(10,10,10,0.08);
                padding: 1rem 0;
                max-height: 0;
                overflow: hidden;
                opacity: 0;
                visibility: hidden;
                transition: var(--transition);
                z-index: 1000;
            }
            nav ul.open {
                max-height: calc(100vh - 100px);
                overflow-y: auto;
                opacity: 1;
                visibility: visible;
            }
            nav ul > li { width: 100%; }
            nav ul > li > a { display: block; padding: 16px 6%; font-size: 13px; }
            .has-dropdown > a::after { margin-left: auto; }
            .dropdown-menu {
                position: static;
                transform: none;
                opacity: 1;
                visibility: visible;
                box-shadow: none;
                border: none;
                border-left: 2px solid var(--rule);
                margin: 0 6% 0.5rem 6%;
                min-width: 0;
                padding: 0;
                max-height: 0;
                overflow: hidden;
                transition: var(--transition);
            }
            .has-dropdown:hover .dropdown-menu,
            .has-dropdown.open .dropdown-menu {
                transform: none;
                max-height: 300px;
            }
            .dropdown-menu a { padding: 12px 20px; }
        }
        @media(max-width: 1200px) {
            .grid-4-col { grid-template-columns: 1fr 1fr; }
        }
        @media(max-width: 1024px) {
            .hero { grid-template-columns: 1fr; }
            .hero-left { padding: 4% 6vw; }
            .hero-stats { flex-direction: row; justify-content: space-between; }
            .contact-wrap { grid-template-columns: 1fr; gap: 50px; }
            .grid-3-col { grid-template-columns: 1fr; gap: 40px; }
            .framework-grid { grid-template-columns: 1fr; gap: 30px; }
        }
        @media(max-width: 640px) {
            nav .logo-wrap img, footer .footer-logo img { height: 22px; }
            .hero-stats { flex-direction: column; gap: 3rem; }
            .grid-4-col { grid-template-columns: 1fr; }
            .form-grid { grid-template-columns: 1fr; gap: 2rem; }
            .form-field-wrapper.full-width { grid-column: span 1; }
            .contact-right { padding: 3rem 2rem; }
            footer { flex-direction: column; gap: 2rem; align-items: center; text-align: center; }
            footer .footer-text { text-align: center; }
        }

/* ---- Launch-readiness status badges ---- */
.status-badge {
    display: inline-block;
    font-family: 'Poppins', sans-serif;
    font-size: 9px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 500;
    padding: 4px 10px;
    border-radius: 100px;
    line-height: 1;
    vertical-align: middle;
}
.status-beta {
    color: var(--sky);
    background: rgba(58,120,161,0.10);
    border: 1px solid rgba(58,120,161,0.28);
}
.status-soon {
    color: var(--slate);
    background: rgba(102,98,92,0.08);
    border: 1px solid rgba(102,98,92,0.22);
}
/* Spacing when used inside content cards */
.card .status-badge { margin-bottom: 1.25rem; align-self: flex-start; }
/* Spacing + alignment when used inside pricing cards */
.price-card .status-badge { margin: 0 0 1.5rem; align-self: flex-start; }
.price-card.featured .status-badge.status-soon {
    color: #ffffff;
    background: rgba(255,255,255,0.15);
    border-color: rgba(255,255,255,0.35);
}
/* Inline badge sitting next to a section heading tag */
.tag .status-badge { margin-left: 0.75rem; }

/* ---- Animated hero headline (word-by-word reveal) ---- */
.hero-animated .hw {
    display: inline-block;
    opacity: 0;
    transform: translateY(0.35em);
    animation: heroWordIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.hero-animated .hw-amp { color: var(--sky); font-weight: 500; }
.hero-animated .hw:nth-child(1) { animation-delay: 0.10s; }
.hero-animated .hw:nth-child(2) { animation-delay: 0.25s; }
.hero-animated .hw:nth-child(3) { animation-delay: 0.40s; }
.hero-animated .hw:nth-child(4) { animation-delay: 0.55s; }
.hero-animated .hw:nth-child(5) { animation-delay: 0.70s; }
.hero-animated .hw:nth-child(6) { animation-delay: 0.85s; }
@keyframes heroWordIn {
    from { opacity: 0; transform: translateY(0.35em); }
    to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
    .hero-animated .hw { animation: none; opacity: 1; transform: none; }
}
