/* Impress Digital Designs — main stylesheet */

@font-face {
    font-family: 'Rajdhani';
    src: url('../fonts/RajdhaniLight.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-Variable.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'KodeMono';
    src: url('../fonts/KodeMono-Variable.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}


            :root {
                --ink: #0a0d0c;
                --surface: #101614;
                --surface-2: #17201d;
                --line: rgba(255, 255, 255, 0.08);
                --line-strong: rgba(255, 255, 255, 0.14);
                --text: #edeff4;
                --text-muted: #8d96ac;
                --text-dim: #5b6478;

                --accent: #2fe0b3; /* sea green / teal — primary */
                --accent-soft: rgba(47, 224, 179, 0.14);
                --accent-deep: #0e5c50; /* deep pine-teal — gradients, glows */
                --accent-2: #22b8c9; /* cooler teal-blue, secondary depth */

                --bad: #e0715f; /* muted terracotta-red, used ONLY for "problem" strike text */

                --radius: 14px;
                --maxw: 1180px;
                --hd-ttl-font: Rajdhani, sans-serif;
                --sans: Inter, sans-serif;
                --mono: KodeMono, 'JetBrains Mono', 'SF Mono', Consolas, monospace;
            }

            *,
            *::before,
            *::after {
                box-sizing: border-box;
            }
            html {
                scroll-behavior: smooth;
            }
            body {
                margin: 0;
                background: var(--ink);
                color: var(--text);
                font-family: var(--sans);
                font-size: 16px;
                line-height: 1.6;
                -webkit-font-smoothing: antialiased;
                overflow-x: hidden;
            }
            img,
            svg {
                display: block;
                max-width: 100%;
            }
            a {
                color: inherit;
                text-decoration: none;
            }
            ul {
                margin: 0;
                padding: 0;
                list-style: none;
            }
            h1,
            h2,
            h3,
            h4 {
                margin: 0;
                font-family: var(--hd-ttl-font);
                font-weight: 300;
                letter-spacing: -0.01em;
            }
            p {
                margin: 0;
            }
            button {
                font-family: inherit;
                cursor: pointer;
            }

            ::selection {
                background: var(--accent);
                color: var(--ink);
            }

            .wrap {
                max-width: var(--maxw);
                margin: 0 auto;
                padding: 0 32px;
            }

            .eyebrow {
                font-family: var(--sans);
                font-size: 12.5px;
                letter-spacing: 0.14em;
                text-transform: uppercase;
                color: var(--accent-2);
                display: flex;
                align-items: center;
                gap: 10px;
            }
            .eyebrow::before {
                content: "";
                width: 18px;
                height: 1px;
                background: var(--accent-2);
                display: inline-block;
            }

            /* ---------- Background texture ---------- */
            .grain {
                position: fixed;
                inset: 0;
                pointer-events: none;
                z-index: 1;
                opacity: 0.035;
                mix-blend-mode: overlay;
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
            }

            /* ---------- Nav ---------- */
            header {
                position: fixed;
                top: 0;
                left: 0;
                right: 0;
                z-index: 100;
                backdrop-filter: blur(14px) saturate(140%);
                -webkit-backdrop-filter: blur(14px) saturate(140%);
                background: rgba(10, 13, 12, 0.65);
                border-bottom: 1px solid var(--line);
            }
            nav {
                max-width: var(--maxw);
                margin: 0 auto;
                padding: 16px 32px;
                display: flex;
                align-items: center;
                justify-content: space-between;
            }
            .logo-block {
                display: flex;
                flex-direction: column;
                gap: 1px;
            }
            .logo {
                font-family: var(--hd-ttl-font);
                font-weight: 300;
                font-size: 26px;
                display: flex;
                align-items: center;
                gap: 9px;
                letter-spacing: -0.01em;
            }
            .logo .mark {
                width: 9px;
                height: 9px;
                border-radius: 2px;
                background: var(--accent);
                transform: rotate(45deg);
                box-shadow: 0 0 12px var(--accent);
            }
            .logo-tag {
                font-family: var(--sans);
                font-size: 10px;
                color: var(--text-dim);
                letter-spacing: 0.03em;
                margin-left: 19px;
            }
            .navlinks {
                display: flex;
                align-items: center;
                gap: 36px;
            }
            .navlinks a {
                font-family: var(--sans);
                font-size: 13px;
                color: var(--text-muted);
                position: relative;
                padding: 4px 0;
                transition: color 0.2s ease;
            }
            .navlinks a::after {
                content: "";
                position: absolute;
                left: 0;
                bottom: 0;
                width: 0;
                height: 1px;
                background: var(--accent);
                transition: width 0.25s ease;
            }
            .navlinks a:hover {
                color: var(--text);
            }
            .navlinks a:hover::after {
                width: 100%;
            }
            .navcta {
                font-family: var(--mono);
                font-size: 12.5px;
                font-weight: 500;
                color: var(--ink);
                background: var(--accent);
                padding: 10px 18px;
                border-radius: 8px;
                display: inline-block;
                transition:
                    transform 0.2s ease,
                    box-shadow 0.2s ease;
            }
            .navcta:hover {
                transform: translateY(-1px);
                box-shadow: 0 6px 20px -6px rgba(47, 224, 179, 0.45);
            }

            @media (max-width: 860px) {
                .navlinks a:not(.navcta) {
                    display: none;
                }
            }

            /* ---------- Hero ---------- */
            .hero {
                position: relative;
                padding: 172px 0 96px;
                overflow: hidden;
            }
            .hero-glow {
                position: absolute;
                inset: -20% -10% auto -10%;
                height: 640px;
                background:
                    radial-gradient(
                        600px circle at 18% 20%,
                        rgba(47, 224, 179, 0.13),
                        transparent 60%
                    ),
                    radial-gradient(
                        520px circle at 82% 10%,
                        rgba(34, 184, 201, 0.12),
                        transparent 60%
                    );
                filter: blur(10px);
                animation: drift 22s ease-in-out infinite alternate;
                z-index: 0;
            }
            @keyframes drift {
                from {
                    transform: translate(0, 0) scale(1);
                }
                to {
                    transform: translate(2%, 3%) scale(1.05);
                }
            }
            .hero-grid {
                position: relative;
                z-index: 2;
                display: grid;
                grid-template-columns: 0.95fr 1.05fr;
                gap: 64px;
                align-items: center;
            }
            @media (max-width: 980px) {
                .hero-grid {
                    grid-template-columns: 1fr;
                    gap: 56px;
                }
            }

            .hero h1 {
                font-size: clamp(2.4rem, 4.6vw, 3.6rem);
                line-height: 1.08;
                margin: 22px 0 18px;
                font-weight: 300;
                letter-spacing: -0.015em;
            }

            .hero h1 strong {
                font-weight: 700;
                color: var(--accent);
                background: linear-gradient(180deg, transparent 62%, var(--accent-soft) 62%);
                padding: 0 2px;
            }
            
            .hero .tagline {
                font-family: var(--hd-ttl-font);
                font-weight: 300;
                font-style: normal;
                font-size: 16.5px;
                color: var(--accent-2);
                margin-bottom: 20px;
            }
            .hero p.lede {
                font-size: 17.5px;
                color: var(--text-muted);
                max-width: 48ch;
                margin-bottom: 34px;
            }
            .hero-ctas {
                display: flex;
                gap: 14px;
                flex-wrap: wrap;
                margin-bottom: 22px;
            }
            .btn {
                font-family: var(--sans);
                font-weight: 600;
                font-size: 15px;
                padding: 14px 26px;
                border-radius: 9px;
                border: 1px solid transparent;
                display: inline-flex;
                align-items: center;
                gap: 8px;
                transition:
                    transform 0.18s ease,
                    box-shadow 0.18s ease,
                    background 0.18s ease,
                    border-color 0.18s ease;
            }
            .btn-primary {
                background: var(--accent);
                color: var(--ink);
            }
            .btn-primary:hover {
                transform: translateY(-2px);
                box-shadow: 0 10px 28px -8px rgba(47, 224, 179, 0.45);
            }
            .btn-ghost {
                border-color: var(--line-strong);
                color: var(--text);
            }
            .btn-ghost:hover {
                border-color: var(--accent-2);
                color: var(--accent-2);
                transform: translateY(-2px);
            }
            .hero-micro {
                font-family: var(--sans);
                font-size: 12.5px;
                color: var(--text-dim);
                display: flex;
                gap: 18px;
                flex-wrap: wrap;
            }
            .hero-micro span {
                display: flex;
                align-items: center;
                gap: 7px;
            }
            .hero-micro span::before {
                content: "";
                width: 6px;
                height: 6px;
                border-radius: 50%;
                background: var(--accent-2);
            }

            /* ---------- Signature: code-to-site panel ---------- */
            .demo {
                position: relative;
                border-radius: 16px;
                border: 1px solid var(--line-strong);
                background: linear-gradient(
                    180deg,
                    var(--surface),
                    var(--surface-2)
                );
                box-shadow: 0 30px 70px -30px rgba(0, 0, 0, 0.6);
                overflow: hidden;
            }
            .demo-bar {
                display: flex;
                align-items: center;
                gap: 8px;
                padding: 12px 14px;
                border-bottom: 1px solid var(--line);
                background: rgba(255, 255, 255, 0.02);
            }
            .demo-bar i {
                width: 9px;
                height: 9px;
                border-radius: 50%;
                background: var(--text-dim);
                opacity: 0.5;
            }
            .demo-bar span {
                font-family: var(--mono);
                font-size: 12px;
                color: var(--text-dim);
                margin-left: 8px;
            }
            .demo-split {
                display: grid;
                grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
                min-height: 480px;
            }
            @media (max-width: 560px) {
                .demo-split {
                    grid-template-columns: 1fr;
                }
            }
            .demo-code {
                padding: 20px 18px;
                font-family: var(--mono);
                font-size: 11px;
                line-height: 4.85;
                border-right: 1px solid var(--line);
                color: #9fb0c9;
                overflow-x: hidden;
                min-width: 0;
            }
            @media (max-width: 560px) {
                .demo-code {
                    border-right: none;
                    border-bottom: 1px solid var(--line);
                }
            }
            .demo-code .l1 {
                color: #6b7690;
            }
            .demo-code .tag {
                color: var(--accent-2);
            }
            .demo-code .attr {
                color: var(--accent);
            }
            .demo-code .str {
                color: #89c9a4;
            }
            .code-line {
                opacity: 0;
                transform: translateY(4px);
                animation: reveal 6s ease-in-out infinite;
                white-space: nowrap;
            }
            .code-line:nth-child(1) {
                animation-delay: -0.01s;
            }
            .code-line:nth-child(2) {
                animation-delay: -0.35s;
            }
            .code-line:nth-child(3) {
                animation-delay: -0.7s;
            }
            .code-line:nth-child(4) {
                animation-delay: -1.05s;
            }
            .code-line:nth-child(5) {
                animation-delay: -1.4s;
            }
            .code-line:nth-child(6) {
                animation-delay: -1.75s;
            }
            .code-line:nth-child(7) {
                animation-delay: -2.1s;
            }
            @keyframes reveal {
                0% {
                    opacity: 0;
                    transform: translateY(4px);
                }
                6% {
                    opacity: 1;
                    transform: translateY(0);
                }
                88% {
                    opacity: 1;
                }
                96% {
                    opacity: 0;
                }
                100% {
                    opacity: 0;
                }
            }
            .demo-render {
                padding: 22px 20px;
                position: relative;
                display: flex;
                flex-direction: column;
                gap: 50px;
            }
            .render-el {
                opacity: 0;
                transform: scale(0.94);
                animation: pop 6s ease-in-out infinite;
                border-radius: 8px;
            }
            .render-el.bar {
                height: 14px;
                background: var(--surface-2);
                border: 1px solid var(--line-strong);
                width: 60%;
                animation-delay: -0.3s;
            }
            .render-el.title {
                height: 20px;
                background: linear-gradient(
                    90deg,
                    var(--accent),
                    var(--accent-2)
                );
                width: 80%;
                border-radius: 5px;
                animation-delay: -0.65s;
            }
            .render-el.text1 {
                height: 9px;
                background: var(--line-strong);
                width: 95%;
                animation-delay: -1s;
            }
            .render-el.text2 {
                height: 9px;
                background: var(--line-strong);
                width: 82%;
                animation-delay: -1.2s;
            }
            .render-el.cta {
                height: 34px;
                width: 120px;
                background: var(--accent);
                animation-delay: -1.55s;
            }
            .render-el.card {
                height: 70px;
                background: var(--surface-2);
                border: 1px solid var(--line-strong);
                animation-delay: -1.9s;
            }
            @keyframes pop {
                0% {
                    opacity: 0;
                    transform: scale(0.94);
                }
                6% {
                    opacity: 1;
                    transform: scale(1);
                }
                88% {
                    opacity: 1;
                    transform: scale(1);
                }
                96% {
                    opacity: 0;
                    transform: scale(0.97);
                }
                100% {
                    opacity: 0;
                }
            }
            @media (prefers-reduced-motion: reduce) {
                .code-line,
                .render-el,
                .hero-glow {
                    animation: none !important;
                    opacity: 1 !important;
                    transform: none !important;
                }
            }

            /* ---------- Ticker ---------- */
            .ticker-wrap {
                border-top: 1px solid var(--line);
                border-bottom: 1px solid var(--line);
                background: var(--surface);
                overflow: hidden;
                padding: 16px 0;
                mask-image: linear-gradient(
                    90deg,
                    transparent,
                    black 8%,
                    black 92%,
                    transparent
                );
                -webkit-mask-image: linear-gradient(
                    90deg,
                    transparent,
                    black 8%,
                    black 92%,
                    transparent
                );
            }
            .ticker {
                display: flex;
                gap: 48px;
                white-space: nowrap;
                font-family: var(--mono);
                font-size: 18px;
                color: var(--text-dim);
                width: max-content;
                animation: scroll 32s linear infinite;
            }
            .ticker span {
                display: flex;
                align-items: center;
                gap: 10px;
            }
            .ticker span::before {
                content: "◆";
                color: var(--accent);
                font-size: 9px;
            }
            @keyframes scroll {
                from {
                    transform: translateX(0);
                }
                to {
                    transform: translateX(-50%);
                }
            }
            @media (prefers-reduced-motion: reduce) {
                .ticker {
                    animation: none;
                }
            }

            /* ---------- Section shell ---------- */
            section {
                padding: 110px 0;
                position: relative;
            }
            .section-head {
                max-width: 640px;
                margin-bottom: 56px;
            }
            .section-head h2 {
                font-size: clamp(1.8rem, 3vw, 2.5rem);
                margin-top: 16px;
            }
            .section-head p {
                color: var(--text-muted);
                margin-top: 16px;
                font-size: 16px;
                max-width: 56ch;
            }

            .reveal {
                opacity: 0;
                transform: translateY(22px);
                transition:
                    opacity 0.7s ease,
                    transform 0.7s ease;
            }
            .reveal.in {
                opacity: 1;
                transform: translateY(0);
            }

            /* ---------- Pain point / diagnosis section ---------- */
            .diagnosis {
                background: var(--surface);
                border-top: 1px solid var(--line);
                border-bottom: 1px solid var(--line);
            }
            .diag-grid {
                display: grid;
                grid-template-columns: 0.9fr 1.1fr;
                gap: 60px;
                align-items: start;
            }
            @media (max-width: 940px) {
                .diag-grid {
                    grid-template-columns: 1fr;
                    gap: 44px;
                }
            }
            .diag-copy h2 {
                font-size: clamp(1.7rem, 2.8vw, 2.3rem);
                margin: 16px 0 20px;
            }
            .diag-copy p {
                color: var(--text-muted);
                font-size: 15.5px;
                margin-bottom: 16px;
                max-width: 46ch;
            }
            .diag-copy .callout {
                font-family: var(--hd-ttl-font);
                font-weight: 300;
                font-style: normal;
                font-size: 18px;
                color: var(--text);
                border-left: 2px solid var(--accent);
                padding-left: 18px;
                margin-top: 26px;
                max-width: 44ch;
            }
            .pain-list {
                display: flex;
                flex-direction: column;
                gap: 0;
            }
            .pain-row {
                display: grid;
                grid-template-columns: 22px 1fr;
                gap: 14px;
                padding: 16px 0;
                border-bottom: 1px solid var(--line);
                align-items: flex-start;
            }
            .pain-row:last-child {
                border-bottom: none;
            }
            .pain-row .icon {
                width: 22px;
                height: 22px;
                border-radius: 50%;
                border: 1px solid var(--line-strong);
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 11px;
                color: var(--text-dim);
                margin-top: 2px;
                flex-shrink: 0;
                transition:
                    border-color 0.5s ease,
                    background 0.5s ease,
                    color 0.5s ease;
            }
            .pain-row.solved .icon {
                border-color: var(--accent);
                background: var(--accent);
                color: var(--ink);
            }
            .pain-row .problem {
                font-size: 14.5px;
                color: var(--text-muted);
                transition: color 0.5s ease;
            }
            .pain-row.solved .problem {
                text-decoration: line-through;
                text-decoration-color: var(--bad);
                color: var(--text-dim);
            }
            .pain-row .fix {
                display: block;
                font-family: var(--mono);
                font-size: 12.5px;
                color: var(--accent);
                max-height: 0;
                opacity: 0;
                overflow: hidden;
                transition:
                    max-height 0.5s ease,
                    opacity 0.5s ease,
                    margin 0.5s ease;
            }
            .pain-row.solved .fix {
                max-height: 40px;
                opacity: 1;
                margin-top: 6px;
            }

            /* ---------- Portfolio ---------- */
            .work-grid {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 26px;
            }
            @media (max-width: 860px) {
                .work-grid {
                    grid-template-columns: 1fr;
                }
            }
            .work-card {
                display: block;
                position: relative;
                border: 1px solid var(--line);
                border-radius: var(--radius);
                background: var(--surface);
                overflow: hidden;
                transition:
                    border-color 0.3s ease,
                    transform 0.1s ease;
                transform-style: preserve-3d;
                perspective: 800px;
            }
            .work-card:hover {
                border-color: var(--line-strong);
            }
            .work-preview {
                position: relative;
                height: 220px;
                overflow: hidden;
                border-bottom: 1px solid var(--line);
            }
            .work-chrome {
                display: flex;
                align-items: center;
                gap: 6px;
                padding: 9px 12px;
                background: rgba(255, 255, 255, 0.02);
                border-bottom: 1px solid var(--line);
                position: relative;
                z-index: 2;
            }
            .work-chrome i {
                width: 7px;
                height: 7px;
                border-radius: 50%;
                background: var(--text-dim);
                opacity: 0.5;
            }
            .work-chrome .url {
                font-family: var(--mono);
                font-size: 10.5px;
                color: var(--text-dim);
                margin-left: 6px;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }
            .work-art {
                position: absolute;
                inset: 0;
                top: 32px;
                overflow: hidden;
            }
            .work-art img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: top center;
                display: block;
                filter: saturate(1.02);
                transition: transform 0.5s ease;
            }
            .work-card:hover .work-art img {
                transform: scale(1.04);
            }
            .work-preview::after {
                content: "";
                position: absolute;
                inset: 0;
                background: radial-gradient(
                    360px circle at var(--mx, 50%) var(--my, 40%),
                    rgba(47, 224, 179, 0.12),
                    transparent 65%
                );
                opacity: 0;
                transition: opacity 0.3s ease;
                pointer-events: none;
            }
            .work-card:hover .work-preview::after {
                opacity: 1;
            }
            .work-body {
                padding: 22px 24px 26px;
            }
            .work-body .tag-row {
                display: flex;
                gap: 8px;
                flex-wrap: wrap;
                margin-bottom: 14px;
            }
            .work-body .tag-row span {
                font-family: var(--mono);
                font-size: 10.5px;
                color: var(--text-muted);
                border: 1px solid var(--line);
                padding: 4px 9px;
                border-radius: 5px;
            }
            .work-body h3 {
                font-size: 19px;
                margin-bottom: 8px;
                font-family: var(--sans);
                font-weight: 600;
                display: flex;
                align-items: center;
                gap: 8px;
            }
            .work-body h3 .arrow {
                font-family: var(--mono);
                font-size: 15px;
                color: var(--accent);
                transition: transform 0.25s ease;
            }
            .work-card:hover h3 .arrow {
                transform: translateX(4px);
            }
            .work-body p {
                color: var(--text-muted);
                font-size: 14px;
                line-height: 1.6;
            }
            @media (prefers-reduced-motion: reduce) {
                .work-card {
                    transform: none !important;
                }
            }
            .bento {
                display: grid;
                grid-template-columns: repeat(6, 1fr);
                gap: 18px;
            }
            .card {
                position: relative;
                border: 1px solid var(--line);
                background: var(--surface);
                border-radius: var(--radius);
                padding: 28px 26px;
                overflow: hidden;
                transition:
                    border-color 0.25s ease,
                    transform 0.25s ease;
            }
            .card::before {
                content: "";
                position: absolute;
                inset: 0;
                background: radial-gradient(
                    240px circle at var(--mx, 50%) var(--my, 50%),
                    rgba(47, 224, 179, 0.1),
                    transparent 70%
                );
                opacity: 0;
                transition: opacity 0.3s ease;
                pointer-events: none;
            }
            .card:hover::before {
                opacity: 1;
            }
            .card:hover {
                border-color: var(--line-strong);
                transform: translateY(-3px);
            }
            .card .glyph {
                width: 38px;
                height: 38px;
                border-radius: 9px;
                background: var(--surface-2);
                border: 1px solid var(--line-strong);
                display: flex;
                align-items: center;
                justify-content: center;
                margin-bottom: 18px;
                color: var(--accent-2);
                font-family: var(--mono);
                font-size: 15px;
            }
            .card h3 {
                font-size: 19px;
                margin-bottom: 10px;
                font-weight: 600;
                font-family: var(--sans);
            }
            .card p {
                color: var(--text-muted);
                font-size: 14.5px;
                line-height: 1.65;
            }

            .bento .c1 {
                grid-column: span 3;
            }
            .bento .c2 {
                grid-column: span 3;
            }
            .bento .c3 {
                grid-column: span 2;
            }
            .bento .c4 {
                grid-column: span 2;
            }
            .bento .c5 {
                grid-column: span 2;
            }
            .bento .c6 {
                grid-column: span 6;
            }
            .bento .c6 {
                display: flex;
                align-items: center;
                gap: 28px;
            }
            .bento .c6 .glyph {
                margin-bottom: 0;
                flex-shrink: 0;
            }
            @media (max-width: 900px) {
                .bento {
                    grid-template-columns: 1fr 1fr;
                }
                .bento .c1,
                .bento .c2,
                .bento .c3,
                .bento .c4,
                .bento .c5,
                .bento .c6 {
                    grid-column: span 2;
                }
                .bento .c6 {
                    flex-direction: column;
                    align-items: flex-start;
                    text-align: left;
                }
            }
            @media (max-width: 560px) {
                .bento {
                    grid-template-columns: 1fr;
                }
                .bento .c1,
                .bento .c2,
                .bento .c3,
                .bento .c4,
                .bento .c5,
                .bento .c6 {
                    grid-column: span 1;
                }
            }

            /* ---------- Process ---------- */
            .process {
                display: grid;
                grid-template-columns: repeat(4, 1fr);
                gap: 0;
                position: relative;
            }
            .process-line {
                position: absolute;
                top: 19px;
                left: 5%;
                right: 5%;
                height: 1px;
                background: linear-gradient(
                    90deg,
                    transparent,
                    var(--accent) 15%,
                    var(--line-strong) 50%,
                    var(--accent) 85%,
                    transparent
                );
                transform-origin: left center;
                transform: scaleX(0);
                transition: transform 1.3s cubic-bezier(0.4, 0, 0.2, 1);
            }
            .process-line.in {
                transform: scaleX(1);
            }
            .step {
                position: relative;
                padding-right: 24px;
            }
            .step .num {
                width: 40px;
                height: 40px;
                border-radius: 50%;
                background: var(--ink);
                border: 1px solid var(--accent);
                color: var(--accent);
                font-family: var(--mono);
                font-size: 14px;
                display: flex;
                align-items: center;
                justify-content: center;
                margin-bottom: 22px;
                position: relative;
                z-index: 2;
            }
            .step h3 {
                font-family: var(--sans);
                font-size: 17px;
                margin-bottom: 10px;
            }
            .step p {
                color: var(--text-muted);
                font-size: 14.5px;
            }
            @media (max-width: 820px) {
                .process {
                    grid-template-columns: 1fr;
                    gap: 36px;
                }
                .process-line {
                    display: none;
                }
                .step {
                    padding-right: 0;
                }
            }

            /* ---------- Stats ---------- */
            .stats {
                display: grid;
                grid-template-columns: repeat(4, 1fr);
                border: 1px solid var(--line);
                border-radius: var(--radius);
                overflow: hidden;
            }
            .stat {
                padding: 38px 24px;
                border-right: 1px solid var(--line);
                text-align: center;
            }
            .stat:last-child {
                border-right: none;
            }
            .stat .num {
                font-family: var(--hd-ttl-font);
                font-weight: 300;
                font-size: 2.4rem;
                color: var(--accent);
                display: block;
                margin-bottom: 6px;
            }
            .stat .label {
                font-family: var(--mono);
                font-size: 12px;
                color: var(--text-muted);
                letter-spacing: 0.04em;
            }
            @media (max-width: 760px) {
                .stats {
                    grid-template-columns: 1fr 1fr;
                }
                .stat {
                    border-bottom: 1px solid var(--line);
                }
            }

            /* ---------- Pricing ---------- */
            .tiers {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 22px;
            }
            @media (max-width: 920px) {
                .tiers {
                    grid-template-columns: 1fr;
                }
            }
            .tier {
                border: 1px solid var(--line);
                border-radius: var(--radius);
                padding: 32px 28px;
                background: var(--surface);
                display: flex;
                flex-direction: column;
                transition:
                    border-color 0.25s ease,
                    transform 0.25s ease;
            }
            .tier:hover {
                transform: translateY(-4px);
                border-color: var(--line-strong);
            }
            .tier.feat {
                border: 1px solid transparent;
                background: linear-gradient(
                        180deg,
                        rgba(47, 224, 179, 0.06),
                        var(--surface) 45%
                    )
                    padding-box;
                position: relative;
            }
            .tier.feat::before {
                content: "";
                position: absolute;
                inset: 0;
                border-radius: inherit;
                padding: 1px;
                background: conic-gradient(
                    from 0deg,
                    var(--accent),
                    transparent 22%,
                    var(--accent-2) 48%,
                    transparent 74%,
                    var(--accent)
                );
                -webkit-mask:
                    linear-gradient(#000 0 0) content-box,
                    linear-gradient(#000 0 0);
                -webkit-mask-composite: xor;
                mask-composite: exclude;
                animation: ring-spin 7s linear infinite;
                pointer-events: none;
            }
            @keyframes ring-spin {
                to {
                    transform: rotate(360deg);
                }
            }
            @media (prefers-reduced-motion: reduce) {
                .tier.feat::before {
                    animation: none;
                    border-color: var(--accent);
                }
            }
            .tier.feat::after {
                content: "MOST COMMON";
                position: absolute;
                top: -11px;
                left: 28px;
                background: var(--accent);
                color: var(--ink);
                font-family: var(--mono);
                font-size: 10.5px;
                letter-spacing: 0.08em;
                padding: 4px 10px;
                border-radius: 5px;
                font-weight: 600;
            }
            .tier .tag {
                font-family: var(--mono);
                font-size: 11.5px;
                color: var(--accent-2);
                letter-spacing: 0.08em;
                text-transform: uppercase;
                margin-bottom: 14px;
            }
            .tier h3 {
                font-size: 23px;
                margin-bottom: 10px;
            }
            .tier .price {
                font-family: var(--mono);
                font-size: 15px;
                color: var(--text-muted);
                margin-bottom: 20px;
            }
            .tier .price b {
                color: var(--text);
                font-size: 19px;
                font-weight: 600;
            }
            .tier p.desc {
                color: var(--text-muted);
                font-size: 14.5px;
                margin-bottom: 22px;
                flex-grow: 1;
            }
            .tier ul {
                display: flex;
                flex-direction: column;
                gap: 11px;
                margin-bottom: 26px;
            }
            .tier ul li {
                font-size: 14px;
                color: var(--text-muted);
                display: flex;
                gap: 9px;
                align-items: flex-start;
            }
            .tier ul li::before {
                content: "—";
                color: var(--accent);
                flex-shrink: 0;
            }

            /* ---------- Service area ---------- */
            .area {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 64px;
                align-items: start;
            }
            @media (max-width: 860px) {
                .area {
                    grid-template-columns: 1fr;
                    gap: 48px;
                }
            }
            .area-col .eyebrow {
                margin-bottom: 16px;
            }
            .area-col h3 {
                font-size: 22px;
                margin-bottom: 18px;
                font-family: var(--hd-ttl-font);
                font-weight: 300;
            }
            .area-list {
                display: flex;
                flex-wrap: wrap;
                gap: 10px 14px;
            }
            .area-list li {
                font-family: var(--mono);
                font-size: 13px;
                color: var(--text-muted);
                padding: 8px 14px;
                border: 1px solid var(--line);
                border-radius: 7px;
            }
            .globe {
                border: 1px solid var(--line);
                border-radius: var(--radius);
                padding: 28px;
                background: var(--surface);
            }
            .globe .row {
                display: flex;
                justify-content: space-between;
                padding: 11px 0;
                border-bottom: 1px solid var(--line);
                font-family: var(--mono);
                font-size: 13px;
            }
            .globe .row:last-child {
                border-bottom: none;
            }
            .globe .row span:last-child {
                color: var(--accent-2);
            }

            /* ---------- Founder ---------- */
            .founder {
                display: grid;
                grid-template-columns: auto 1fr;
                gap: 34px;
                align-items: center;
                border: 1px solid var(--line);
                border-radius: var(--radius);
                padding: 36px;
                background: var(--surface);
            }
            @media (max-width: 640px) {
                .founder {
                    grid-template-columns: 1fr;
                    text-align: center;
                }
            }
            .founder .avatar {
                width: 88px;
                height: 88px;
                border-radius: 50%;
                background: linear-gradient(
                    135deg,
                    var(--accent),
                    var(--accent-2)
                );
                display: flex;
                align-items: center;
                justify-content: center;
                font-family: var(--hd-ttl-font);
                font-weight: 300;
                font-size: 24px;
                color: var(--ink);
                flex-shrink: 0;
                overflow: hidden;
                border: 2px solid var(--line-strong);
            }
            .founder .avatar img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center 15%;
            }
            @media (max-width: 640px) {
                .founder .avatar {
                    margin: 0 auto;
                }
            }
            .founder blockquote {
                font-family: var(--hd-ttl-font);
                font-weight: 300;
                font-style: normal;
                font-size: 19px;
                margin-bottom: 12px;
                color: var(--text);
            }
            .founder cite {
                font-family: var(--mono);
                font-size: 12.5px;
                color: var(--text-muted);
                font-style: normal;
            }

            /* ---------- FAQ ---------- */
            details {
                border-bottom: 1px solid var(--line);
                padding: 22px 0;
            }
            .faq {
                border-top: 1px solid var(--line);
            }
            summary {
                cursor: pointer;
                list-style: none;
                display: flex;
                justify-content: space-between;
                align-items: center;
                font-family: var(--sans);
                font-weight: 600;
                font-size: 16px;
            }
            summary::-webkit-details-marker {
                display: none;
            }
            summary::after {
                content: "+";
                font-family: var(--mono);
                font-size: 20px;
                color: var(--accent);
                transition: transform 0.25s ease;
                flex-shrink: 0;
                margin-left: 20px;
            }
            details[open] summary::after {
                transform: rotate(45deg);
            }
            details p {
                color: var(--text-muted);
                font-size: 14.5px;
                margin-top: 16px;
                max-width: 70ch;
                line-height: 1.7;
            }

            /* ---------- Final CTA ---------- */
            .final {
                text-align: center;
                position: relative;
                padding: 120px 0;
            }
            .final h2 {
                font-size: clamp(2rem, 4vw, 3rem);
                margin: 18px auto 26px;
                max-width: 18ch;
            }
            .final-ctas {
                display: flex;
                gap: 14px;
                justify-content: center;
                flex-wrap: wrap;
            }

            footer {
                border-top: 1px solid var(--line);
                padding: 44px 0;
            }
            .foot-row {
                display: flex;
                justify-content: space-between;
                align-items: center;
                flex-wrap: wrap;
                gap: 16px;
            }
            .foot-row .logo {
                font-size: 26px;
            }
            footer .fmeta {
                font-family: var(--mono);
                font-size: 12px;
                color: var(--text-dim);
                display: flex;
                gap: 22px;
                flex-wrap: wrap;
            }
            footer .foot-tagline {
                font-family: var(--hd-ttl-font);
                font-weight: 300;
                font-style: normal;
                font-size: 13px;
                color: var(--text-dim);
                margin-top: 4px;
            }

            @media (max-width: 600px) {
                .wrap {
                    padding: 0 20px;
                }
                section {
                    padding: 76px 0;
                }
                .hero {
                    padding: 154px 0 64px;
                }
            }

            :focus-visible {
                outline: 2px solid var(--accent-2);
                outline-offset: 3px;
            }
