/* ─ Vars, reset, body, nav, footer → style.css ─ */

        /* PAGE HERO */
        .page-hero {
            min-height: 100vh !important;
            min-height: 100svh !important;
            min-height: 100dvh !important;
            display: grid !important; align-items: center;
            padding:9rem 5rem 6rem;
            background:
                linear-gradient(to right, rgba(5,21,46,.55) 0%, rgba(5,21,46,.36) 45%, rgba(5,21,46,.14) 72%, rgba(5,21,46,.04) 100%),
                url('/assets/servicos/p4-ads.webp') center/cover no-repeat;
            position:relative; overflow:hidden;
            -webkit-mask-image: linear-gradient(180deg, black 0%, black 72%, transparent 100%);
            mask-image: linear-gradient(180deg, black 0%, black 72%, transparent 100%);
        }
        .page-hero::before {
            content:''; position:absolute; inset:0;
            background:
                radial-gradient(ellipse 50% 45% at 0% 85%, rgba(86,213,79,.08) 0%, transparent 58%);
            pointer-events:none;
        }
        .page-hero::after {
            content:''; position:absolute; inset:0;
            background:linear-gradient(180deg, rgba(3,16,36,.16) 0%, rgba(3,16,36,.42) 45%, rgba(3,16,36,.74) 100%);
            pointer-events:none;
        }
        .page-hero-inner { position:relative; z-index:1; max-width:820px; padding:1.95rem 2.1rem; border-radius:var(--r-xl); border:1px solid rgba(86,213,79,.16); background:linear-gradient(145deg, rgba(6,21,45,.72), rgba(6,21,45,.35)); box-shadow:0 20px 44px rgba(0,0,0,.24); }
        .ph-tag { display:inline-flex; align-items:center; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--green); font-weight:600; margin-bottom:1.25rem; background:rgba(86,213,79,.07); border:1px solid rgba(86,213,79,.18); padding:.28rem .85rem; border-radius:100px; }
        .ph-title { font-family:var(--f-head); font-weight:800; font-size:clamp(2.15rem,5.2vw,4.1rem); line-height:1.02; letter-spacing:-.03em; margin-bottom:1.5rem; }
        .ph-title em { font-style:normal; color:var(--green); }
        .ph-sub { font-size:1.05rem; line-height:1.82; color:rgba(254,254,254,.68); max-width:680px; margin-bottom:0; text-wrap:pretty; }
        .ph-sub p { margin-bottom:.9rem; }
        .ph-sub p:last-child { margin-bottom:0; }
        /* btn-lime, btn-ghost → style.css */

        /* CONTENT SECTIONS */
        .sp-section { padding:5.5rem 5rem; position:relative; }
        .sp-section::after { display:none; }
        .sp-section:last-of-type::after { display:none; }
        .sp-section.alt { background:radial-gradient(ellipse 70% 55% at 80% 40%, rgba(86,213,79,.06) 0%, transparent 60%); }
        .sp-section:not(.alt) { background:radial-gradient(ellipse 65% 50% at 15% 55%, rgba(86,213,79,.06) 0%, transparent 60%); }
        .sp-section > .s-tag,
        .sp-section > .s-title,
        .sp-section > .sp-grid,
        .sp-section > .sp-qual { max-width:1180px; margin-left:auto; margin-right:auto; }
        /* .s-tag, h2.s-title → style.css */
        .sp-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:4rem; align-items:start; margin-top:3.5rem; }
        .sp-text p { font-size:.95rem; line-height:1.85; color:rgba(254,254,254,.67); margin-bottom:1.25rem; text-wrap:pretty; }
        .sp-text p:last-child { margin-bottom:0; }
        .sp-text strong { color:var(--white); }
        .sp-aside { background:linear-gradient(150deg, rgba(255,255,255,.05), rgba(255,255,255,.015)); border:1px solid rgba(86,213,79,.16); border-radius:var(--r-xl); padding:2.25rem; box-shadow:0 16px 34px rgba(0,0,0,.16), inset 0 0 0 1px rgba(255,255,255,.02); }
        .sp-aside-title { font-family:var(--f-head); font-weight:700; font-size:1.04rem; margin-bottom:1.35rem; color:var(--green); letter-spacing:.02em; }
        .sp-list { list-style:none; display:flex; flex-direction:column; gap:.75rem; }
        .sp-list li { display:flex; align-items:flex-start; gap:.85rem; font-size:.9rem; line-height:1.7; color:rgba(254,254,254,.67); }
        .sp-list li::before { content:''; width:7px; height:7px; min-width:7px; border-radius:50%; background:var(--green); box-shadow:0 0 8px rgba(86,213,79,.55); margin-top:.48rem; flex-shrink:0; }
        .sp-qual { margin-top:3.5rem; }
        .sp-qual-lead { font-size:.95rem; line-height:1.8; color:rgba(254,254,254,.72); margin-bottom:2rem; max-width:720px; }
        .sp-qual-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
        .sp-qual-item { display:flex; align-items:flex-start; gap:.9rem; background:linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.012)); border:1px solid rgba(86,213,79,.13); border-radius:var(--r-lg); padding:1.15rem 1.25rem; transition:border-color .25s, box-shadow .25s, transform .25s; }
        .sp-qual-item:hover { border-color:rgba(86,213,79,.28); box-shadow:0 12px 28px rgba(0,0,0,.16); transform:translateY(-2px); }
        .sp-qual-dot { width:26px; height:26px; min-width:26px; border-radius:50%; background:rgba(86,213,79,.12); border:1px solid rgba(86,213,79,.3); display:flex; align-items:center; justify-content:center; margin-top:.05rem; flex-shrink:0; box-shadow:0 0 0 5px rgba(86,213,79,.06); }
        .sp-qual-dot::after { content:''; width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 8px rgba(86,213,79,.6); }
        .sp-qual-text { font-size:.89rem; line-height:1.65; color:rgba(254,254,254,.7); }
        .sp-closing { font-size:.92rem; line-height:1.8; color:rgba(254,254,254,.62); margin-top:2rem; padding:1.25rem 1.5rem; border-left:2px solid rgba(86,213,79,.46); background:linear-gradient(90deg, rgba(86,213,79,.08), rgba(86,213,79,.02)); border-radius:0 var(--r-md) var(--r-md) 0; max-width:720px; }
        .sp-cta { text-align:center; padding:5rem 5rem; background:radial-gradient(ellipse 65% 55% at 50% 50%, rgba(86,213,79,.08) 0%, transparent 65%); position:relative; overflow:hidden; }
        .sp-cta::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% -15%, rgba(86,213,79,.12), transparent 45%); pointer-events:none; }
        .sp-cta h2 { font-family:var(--f-head); font-weight:800; font-size:clamp(1.45rem,2.6vw,2.1rem); letter-spacing:-.02em; margin-bottom:1rem; }
        .sp-cta p { font-size:.95rem; color:rgba(254,254,254,.72); margin-bottom:2.5rem; max-width:560px; margin-left:auto; margin-right:auto; line-height:1.75; }

        /* footer, back-top, soc → style.css */

        /* RESPONSIVE */
        @media(max-width:1100px) {
            .page-hero, .sp-section, .sp-cta { padding-left:2.5rem; padding-right:2.5rem; }
            .sp-grid { grid-template-columns:1fr; gap:2.5rem; }
            .sp-qual-grid { grid-template-columns:1fr; }
        }
        @media(max-width:720px) {
            .page-hero, .sp-section, .sp-cta { padding-left:1.5rem; padding-right:1.5rem; }
            .page-hero { padding-top:7rem; }
        }
        @media(max-width:560px) {
            .page-hero { padding-top:5.5rem; padding-bottom:3.5rem; }
            .ph-title { font-size:clamp(1.9rem,9.5vw,2.65rem); line-height:1.0; }
            .ph-sub { font-size:.9rem; line-height:1.72; }
            .sp-section { padding-top:3.2rem; padding-bottom:3.2rem; }
            .sp-cta { padding-top:3.5rem; padding-bottom:3.5rem; }
            .sp-cta h2 { font-size:clamp(1.3rem,7vw,1.75rem); }
        }

        /* Premium Visual Refresh (sem alterar conteúdo/paleta) */
        /* body gradient → style.css */
        .page-hero {
            min-height:clamp(520px, 84vh, 860px);
            min-height:clamp(520px, 84svh, 860px);
            min-height:clamp(520px, 84dvh, 860px);
            display:grid;
            align-items:center;
            padding-top:8.2rem;
            padding-bottom:5rem;
            isolation:isolate;
            border-bottom:none;
            background-position:right center;
        }
        .page-hero::before {
            content:'';
            position:absolute;
            inset:0;
            background:
                linear-gradient(112deg, rgba(2,9,20,.42) 0%, rgba(2,9,20,.26) 44%, rgba(2,9,20,.08) 76%, rgba(2,9,20,.02) 100%),
                radial-gradient(ellipse 72% 52% at 8% 86%, rgba(86,213,79,.14) 0%, transparent 60%);
            z-index:0;
        }
        .page-hero::after {
            content:'';
            position:absolute;
            inset:0;
            background:linear-gradient(180deg, rgba(2,9,20,.03) 0%, rgba(2,9,20,.12) 56%, rgba(3,16,36,.52) 100%);
            pointer-events:none;
            z-index:0;
        }
        .page-hero-inner { max-width:760px; padding:0; border:none; border-radius:0; background:transparent; box-shadow:none; }
        .ph-tag { display:inline-flex; align-items:center; gap:.85rem; padding:0; border:none; border-radius:0; background:none; letter-spacing:.28em; font-size:.66rem; font-weight:700; }
        .ph-tag::before, .ph-tag::after { content:''; width:46px; height:1px; background:rgba(86,213,79,.46); }
        .ph-title { max-width:16ch; margin:.95rem 0 1.1rem; font-size:clamp(2rem, 5.3vw, 4.2rem); line-height:.96; }
        .ph-sub { max-width:62ch; color:rgba(254,254,254,.76); margin-bottom:2rem; font-size:1rem; line-height:1.78; }
        .btn-lime { border-radius:12px; box-shadow:0 12px 30px rgba(86,213,79,.26), inset 0 0 0 1px rgba(255,255,255,.15); }
        .btn-lime:hover { transform:translateY(-2px); }
        .sp-section { padding-top:5.8rem; padding-bottom:5.8rem; }
        .sp-section > .s-tag { display:table; margin:0 auto .95rem; padding:0; border:none; border-radius:0; background:none; letter-spacing:.24em; font-size:.66rem; font-weight:700; color:rgba(86,213,79,.95); }
        .sp-section > .s-tag::before, .sp-section > .s-tag::after { content:''; display:inline-block; width:44px; height:1px; margin:0 .75rem; vertical-align:middle; background:linear-gradient(90deg, transparent, rgba(86,213,79,.5), transparent); }
        .sp-section > .s-title { margin:0 auto; text-align:center; max-width:20ch; font-size:clamp(1.85rem, 4.8vw, 3.2rem); line-height:.95; letter-spacing:-.03em; text-transform:uppercase; }
        .sp-section > .s-title em { background:linear-gradient(105deg, var(--green) 0%, rgba(254,254,254,.92) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
        .sp-grid { margin-top:3rem; gap:2.2rem; grid-template-columns:1fr; max-width:1240px; }
        .sp-text { background:linear-gradient(165deg, rgba(7,29,58,.62) 0%, rgba(6,18,38,.42) 52%, rgba(5,16,34,.72) 100%); border:1px solid rgba(86,213,79,.16); border-radius:22px; padding:1.75rem 1.6rem; box-shadow:0 22px 44px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.02); }
        .sp-text p { color:rgba(254,254,254,.74); }
        .sp-aside { background:linear-gradient(150deg, rgba(10,36,70,.7), rgba(7,24,49,.55)); border:1px solid rgba(86,213,79,.2); border-radius:22px; padding:1.9rem 1.7rem; box-shadow:0 24px 46px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03); }
        .sp-aside-title { font-size:1.12rem; color:var(--green); margin-bottom:1rem; }
        .sp-list li { font-size:.93rem; line-height:1.75; color:rgba(254,254,254,.78); }
        .sp-aside-flow {
            background:transparent;
            border:1px solid rgba(86,213,79,.2);
            box-shadow:none;
            padding:0;
            overflow:hidden;
        }
        .sp-aside-flow .sp-aside-title {
            margin:0;
            padding:1.08rem 1.28rem;
            font-size:.98rem;
            color:rgba(86,213,79,.95);
            letter-spacing:.02em;
            border-bottom:1px solid rgba(86,213,79,.2);
            background:linear-gradient(90deg, rgba(86,213,79,.07), rgba(86,213,79,.01));
        }
        .sp-aside-flow .sp-list {
            counter-reset:include-step;
            gap:0;
        }
        .sp-aside-flow .sp-list li {
            counter-increment:include-step;
            position:relative;
            display:grid;
            grid-template-columns:52px 1fr;
            align-items:flex-start;
            gap:.95rem;
            margin:0;
            padding:1.05rem 1.25rem;
            border-top:1px solid rgba(86,213,79,.18);
            font-size:.94rem;
            line-height:1.68;
            color:rgba(254,254,254,.9);
        }
        .sp-aside-flow .sp-list li:first-child { border-top:none; }
        .sp-aside-flow .sp-list li::before {
            content:counter(include-step, decimal-leading-zero);
            width:40px;
            height:40px;
            min-width:40px;
            margin-top:0;
            border-radius:999px;
            border:1px solid rgba(86,213,79,.55);
            background:rgba(4,16,30,.72);
            color:var(--green);
            font-family:var(--f-head);
            font-size:.94rem;
            font-weight:700;
            line-height:1;
            letter-spacing:.02em;
            display:flex;
            align-items:center;
            justify-content:center;
            box-shadow:0 0 0 4px rgba(86,213,79,.07), inset 0 0 14px rgba(86,213,79,.08);
        }
        .qual-process {
            --qual-bg:none;
            position:relative;
            overflow:hidden;
            background:linear-gradient(180deg, rgba(4,16,31,.92) 0%, rgba(4,16,31,.8) 100%);
            border-top:none;
            border-bottom:none;
            -webkit-mask-image: linear-gradient(180deg, transparent 0%, black 8%, black 86%, transparent 100%);
            mask-image: linear-gradient(180deg, transparent 0%, black 8%, black 86%, transparent 100%);
        }
        .qual-process::before {
            content:'';
            position:absolute;
            inset:0;
            background:var(--qual-bg) center/cover no-repeat;
            opacity:.48;
            filter:saturate(.9) contrast(1.02) brightness(.95);
            transform:scale(1.01);
            pointer-events:none;
        }
        .qual-process::after {
            content:'';
            position:absolute;
            inset:0;
            background:
                radial-gradient(ellipse 68% 50% at 50% -6%, rgba(86,213,79,.09) 0%, transparent 58%),
                linear-gradient(180deg, rgba(5,17,34,.34) 0%, rgba(5,17,34,.08) 22%, rgba(5,17,34,.08) 78%, rgba(5,17,34,.62) 100%),
                linear-gradient(180deg, rgba(7,24,46,0) 0%, rgba(7,24,46,.45) 54%, rgba(7,24,46,.92) 100%);
            pointer-events:none;
        }
        .qual-process > * { position:relative; z-index:1; }
        .qual-process .sp-qual { margin-top:2.6rem; }
        .qual-process .sp-qual-lead {
            margin:0 auto 2.3rem;
            max-width:980px;
            text-align:center;
            color:rgba(254,254,254,.78);
        }
        .qual-process .sp-qual-grid {
            position:relative;
            display:grid;
            grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
            gap:1.2rem;
            counter-reset:qualstep;
        }
        .qual-process .sp-qual-grid::before {
            content:'';
            position:absolute;
            left:3.5%;
            right:3.5%;
            top:24px;
            border-top:1px solid rgba(86,213,79,.34);
        }
        .qual-process .sp-qual-item {
            counter-increment:qualstep;
            position:relative;
            display:block;
            padding:clamp(3rem, 6.5vw, 4.5rem) .5rem 0;
            min-height:unset;
            border:none;
            border-radius:0;
            background:none;
            box-shadow:none;
            text-align:center;
        }
        .qual-process .sp-qual-item:hover { transform:none; border:none; box-shadow:none; }
        .qual-process .sp-qual-dot {
            position:absolute;
            top:0;
            left:50%;
            transform:translateX(-50%);
            width:48px;
            height:48px;
            min-width:48px;
            border-radius:50%;
            border:1px solid rgba(86,213,79,.9);
            background:rgba(2,10,22,.82);
            box-shadow:0 0 0 8px rgba(86,213,79,.08);
        }
        .qual-process .sp-qual-dot::after {
            content:counter(qualstep, decimal-leading-zero);
            width:auto;
            height:auto;
            border-radius:0;
            background:none;
            box-shadow:none;
            color:var(--green);
            font-family:var(--f-head);
            font-size:1.8rem;
            font-weight:700;
            line-height:1;
        }
        .qual-process .sp-qual-text {
            color:rgba(254,254,254,.9);
            font-size:.98rem;
            line-height:1.74;
            text-wrap:pretty;
        }
        .qual-process .sp-closing {
            max-width:980px;
            margin:2rem auto 0;
            text-align:center;
            border-left:none;
            border-top:1px solid rgba(86,213,79,.35);
            background:linear-gradient(180deg, rgba(86,213,79,.09), rgba(86,213,79,.02));
            border-radius:14px;
            padding:1rem 1.1rem;
            color:rgba(254,254,254,.8);
        }
        .sp-cta { margin:0 5rem 5.6rem; border:1px solid rgba(86,213,79,.2); border-radius:24px; padding:4.2rem 2rem; background:radial-gradient(ellipse 80% 80% at 50% -20%, rgba(86,213,79,.15), transparent 58%), linear-gradient(160deg, rgba(9,31,60,.76), rgba(7,23,44,.74)); box-shadow:0 26px 50px rgba(0,0,0,.24); }
        .sp-cta h2 { font-size:clamp(1.55rem,3.2vw,2.35rem); text-transform:uppercase; line-height:1.1; letter-spacing:-.015em; }
        .sp-cta h2 br { display:block; margin-top:.14em; }
        .sp-cta p { color:rgba(254,254,254,.72); }

        @media(max-width:1100px) {
            .sp-section > .s-title { max-width:24ch; }
            .sp-grid { grid-template-columns:1fr; }
            .sp-qual-grid { grid-template-columns:1fr; }
            .sp-cta { margin:0 2.5rem 4rem; }
            .qual-process .sp-qual-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:1.4rem 1.1rem; }
            .qual-process .sp-qual-grid::before { display:none; }
        }
        @media(max-width:720px) {
            .page-hero { min-height:unset; padding-top:7.2rem; }
            .ph-tag::before, .ph-tag::after { width:30px; }
            .sp-section > .s-tag::before, .sp-section > .s-tag::after { width:26px; margin:0 .45rem; }
            .sp-section > .s-title { font-size:clamp(1.45rem,8.4vw,1.95rem); }
            .sp-text, .sp-aside, .sp-qual-item, .sp-closing { padding:1.1rem 1rem; border-radius:14px; }
            .sp-aside-flow { padding:0; }
            .sp-aside-flow .sp-aside-title { padding:1rem; }
            .sp-aside-flow .sp-list li {
                grid-template-columns:44px 1fr;
                gap:.75rem;
                padding:.95rem 1rem;
                font-size:.9rem;
            }
            .sp-aside-flow .sp-list li::before {
                width:34px;
                height:34px;
                min-width:34px;
                font-size:.82rem;
            }
            .sp-cta { margin:0 1.5rem 3rem; padding:2.8rem 1.1rem; border-radius:16px; }
            .qual-process .sp-qual-grid { grid-template-columns:1fr; gap:1.2rem; }
            .qual-process .sp-qual-item { padding-top:clamp(3rem, 8vw, 3.75rem); }
            .qual-process .sp-qual-dot { width:2.625rem; height:2.625rem; min-width:2.625rem; }
            .qual-process .sp-qual-dot::after { font-size:1.45rem; }
            .qual-process .sp-qual-text { font-size:.92rem; }
        }

        /* ── Entrance animations ── */
        @keyframes _fU { from { opacity:0; transform:translateY(28px) } to { opacity:1; transform:none } }
        @keyframes _fI { from { opacity:0 } to { opacity:1 } }
        .ph-tag   { animation:_fI .6s ease both; }
        .ph-title { animation:_fU .86s cubic-bezier(.22,1,.36,1) .08s both; }
        .ph-sub   { animation:_fU .78s cubic-bezier(.22,1,.36,1) .22s both; }
        .page-hero .btn-lime { animation:_fU .72s cubic-bezier(.22,1,.36,1) .38s both; }

        /* ── Scroll reveal ── */
        .sr { opacity:0; transform:translateY(22px); transition:opacity .72s cubic-bezier(.22,1,.36,1), transform .72s cubic-bezier(.22,1,.36,1); }
        .sr.in { opacity:1; transform:none; }
        .sr.d1 { transition-delay:.12s; }
        .sr.d2 { transition-delay:.24s; }

        /* ── Grid: coluna única (aside abaixo do texto) ── */
        .sp-grid { grid-template-columns:1fr; gap:2.4rem; max-width:860px; }

        /* ── Qual-item richer hover ── */
        .sp-qual-item { transition:border-color .3s, background .3s, transform .3s, box-shadow .3s; }
        .sp-qual-item:hover {
            border-color:rgba(86,213,79,.42);
            background:linear-gradient(145deg, rgba(86,213,79,.09), rgba(86,213,79,.02));
            transform:translateY(-4px);
            box-shadow:0 20px 44px rgba(0,0,0,.25), 0 0 0 1px rgba(86,213,79,.1);
        }

        /* ── Section thin dividers ── */
        .sp-section::after { display:block; content:''; position:absolute; left:4rem; right:4rem; bottom:0; height:1px; background:linear-gradient(90deg,transparent,rgba(86,213,79,.08) 30%,rgba(86,213,79,.08) 70%,transparent); pointer-events:none; }

        /* ── CTA ghost word ── */
        .sp-cta { isolation:isolate; overflow:hidden; }
        .sp-cta::after {
            content:attr(data-service);
            position:absolute; right:-1.5rem; bottom:-1.8rem;
            font-family:var(--f-head); font-weight:800;
            font-size:min(15vw,9.5rem);
            color:transparent; -webkit-text-stroke:1px rgba(86,213,79,.055);
            line-height:1; letter-spacing:-.05em;
            pointer-events:none; user-select:none; z-index:0;
        }
        .sp-cta > * { position:relative; z-index:1; }

        /* ── Refinamento v3 ── */
        .sp-section .sp-text { background:transparent; border:none; border-left:2px solid rgba(86,213,79,.44); border-radius:0; padding:.1rem 0 .1rem 1.5rem; box-shadow:none; margin-top:0; }
        .sp-section .sp-text p { font-size:.97rem; line-height:1.88; }
        .sp-aside-flow .sp-list li { transition:opacity .2s; }
        .sp-aside-flow .sp-list li:hover { opacity:.85; }
        .qual-process .sp-qual-item { background:linear-gradient(145deg, rgba(2,8,22,.72) 0%, rgba(4,14,32,.52) 100%); border:1px solid rgba(86,213,79,.18); border-radius:18px; padding:clamp(3.5rem, 7vw, 4.75rem) 1rem 1.5rem; box-shadow:0 10px 28px rgba(0,0,0,.3); transition:transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s, border-color .3s; }
        .qual-process .sp-qual-item:hover { transform:translateY(-5px); box-shadow:0 20px 44px rgba(0,0,0,.38), 0 0 0 1px rgba(86,213,79,.28); border-color:rgba(86,213,79,.4); }
        .qual-process .sp-qual-grid::before { display:none; }
        .qual-process .sp-qual-dot::after { font-size:1.1rem; letter-spacing:0; }
        .qual-process .sp-qual-dot { transition:box-shadow .3s, border-color .3s; }
        .qual-process .sp-qual-item:hover .sp-qual-dot { box-shadow:0 0 0 10px rgba(86,213,79,.12), 0 0 22px rgba(86,213,79,.25); border-color:rgba(86,213,79,1); }
        .sp-cta::after { display:none; }

        /* ── Qual section: fade edges + darker image ── */
        .qual-process::before { opacity:.22; filter:saturate(.7) brightness(.7); }
        .qual-process::after {
            background:
                linear-gradient(180deg, rgba(3,16,36,1) 0%, rgba(3,16,36,0) 28%, rgba(5,21,46,0) 72%, rgba(5,21,46,1) 100%),
                radial-gradient(ellipse 60% 40% at 50% 50%, rgba(86,213,79,.05) 0%, transparent 65%);
        }
        /* ── CTA: remove card ── */
        .sp-cta { margin:0; border:none; border-radius:0; box-shadow:none; padding:5.5rem 2rem 6.5rem; background:transparent; }
        @media(max-width:1100px) { .sp-cta { margin:0; } }
        @media(max-width:720px) { .sp-cta { margin:0; padding:3.8rem 1.5rem 5rem; border-radius:0; } }

        /* ── Process flow: horizontal ── */
        .sp-aside-flow { border:none; background:transparent; max-width:none; margin:0; padding:0; overflow:visible; }
        .sp-aside-flow .sp-aside-title { background:none; border:none; text-align:center; display:table; margin:0 auto 2.2rem; padding:0; font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; font-weight:700; color:rgba(86,213,79,.95); }
        .sp-aside-flow .sp-aside-title::before, .sp-aside-flow .sp-aside-title::after { content:''; display:inline-block; width:40px; height:1px; margin:0 .7rem; vertical-align:middle; background:linear-gradient(90deg, transparent, rgba(86,213,79,.45), transparent); }
        .sp-aside-flow .sp-list { display:grid; grid-template-columns:repeat(auto-fit, minmax(130px, 1fr)); gap:2rem 0; position:relative; counter-reset:include-step; }
        .sp-aside-flow .sp-list::before { content:''; position:absolute; top:20px; left:0; right:0; height:1px; background:linear-gradient(90deg, transparent 2%, rgba(86,213,79,.28) 10%, rgba(86,213,79,.28) 90%, transparent 98%); z-index:0; }
        .sp-aside-flow .sp-list li { display:block; text-align:center; padding:0 .6rem; border:none; position:relative; counter-increment:include-step; }
        .sp-aside-flow .sp-list li:first-child { border-top:none; }
        .sp-aside-flow .sp-list li::before { content:counter(include-step, decimal-leading-zero); width:40px; height:40px; border-radius:50%; font-family:var(--f-head); font-size:.78rem; font-weight:700; color:var(--green); background:var(--dark3); border:1px solid rgba(86,213,79,.55); display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; position:relative; z-index:1; box-shadow:0 0 0 5px var(--dark3); flex-shrink:0; }
        .sp-aside-flow .sp-list li strong { text-transform:uppercase; letter-spacing:.05em; font-size:.75rem; font-weight:700; color:var(--white); font-family:var(--f-head); display:block; margin-bottom:.4rem; line-height:1.35; }
        .sp-aside-flow .sp-list li span { display:block; font-size:.75rem; color:rgba(254,254,254,.42); line-height:1.52; padding:0; width:auto; }
        @media(max-width:600px) { .sp-aside-flow .sp-list { grid-template-columns:1fr 1fr; } .sp-aside-flow .sp-list::before { display:none; } }

        /* ── Diagnostic Modal ── */
        .diag-overlay { position:fixed; inset:0; z-index:2000; background:rgba(2,8,20,.78); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); display:flex; align-items:center; justify-content:center; padding:1rem; opacity:0; pointer-events:none; transition:opacity .3s ease; }
        .diag-overlay.open { opacity:1; pointer-events:all; }
        .diag-panel { background:linear-gradient(160deg,rgba(3,12,28,.99) 0%,rgba(5,20,44,.99) 100%); border:1px solid rgba(86,213,79,.22); border-radius:20px; width:min(600px,100%); max-height:90vh; overflow-y:auto; position:relative; transform:translateY(28px) scale(.97); transition:transform .38s cubic-bezier(.22,1,.36,1); box-shadow:0 40px 80px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.04); scrollbar-width:thin; scrollbar-color:rgba(86,213,79,.3) transparent; }
        .diag-overlay.open .diag-panel { transform:none; }
        .diag-close-row { display:flex; justify-content:flex-end; padding:1.2rem 1.4rem .4rem; }
        .diag-close { width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); color:rgba(255,255,255,.6); cursor:pointer; font-size:1rem; display:flex; align-items:center; justify-content:center; transition:all .2s; }
        .diag-close:hover { background:rgba(255,255,255,.14); color:#fff; }
        .diag-body { padding:0 2.2rem 2.6rem; }
        .diag-tag { display:inline-flex; align-items:center; gap:.55rem; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:rgba(86,213,79,.88); margin-bottom:.7rem; }
        .diag-tag::before { content:''; width:26px; height:1px; background:rgba(86,213,79,.5); }
        .diag-title { font-family:var(--f-head); font-size:1.32rem; font-weight:700; line-height:1.18; margin-bottom:.75rem; color:#fff; }
        .diag-intro { font-size:.88rem; line-height:1.74; color:rgba(254,254,254,.55); margin-bottom:1.8rem; padding-bottom:1.5rem; border-bottom:1px solid rgba(255,255,255,.07); }
        .diag-form { display:flex; flex-direction:column; gap:1rem; }
        .diag-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
        .diag-field { display:flex; flex-direction:column; gap:.35rem; }
        .diag-field label { font-size:.67rem; letter-spacing:.09em; text-transform:uppercase; font-weight:700; color:rgba(254,254,254,.4); font-family:var(--f-head); }
        .diag-field input,.diag-field select { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:9px; padding:.7rem 1rem; font-size:.9rem; color:#fff; font-family:var(--f-body); transition:border-color .2s,background .2s; outline:none; -webkit-appearance:none; appearance:none; width:100%; }
        .diag-field input::placeholder { color:rgba(255,255,255,.22); }
        .diag-field select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='rgba(86,213,79,.7)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right .9rem center; padding-right:2.5rem; cursor:pointer; }
        .diag-field select option { background:#07152e; color:#fff; }
        .diag-field input:focus,.diag-field select:focus { border-color:rgba(86,213,79,.55); background:rgba(86,213,79,.04); }
        .diag-chips-label { font-size:.67rem; letter-spacing:.09em; text-transform:uppercase; font-weight:700; color:rgba(254,254,254,.4); font-family:var(--f-head); margin-bottom:.45rem; display:block; }
        .diag-chips { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
        .diag-chip { position:relative; min-width:0; }
        .diag-chip input[type="checkbox"] { position:absolute; opacity:0; width:0; height:0; pointer-events:none; }
        .diag-chip label {
            display:grid;
            grid-template-columns:30px minmax(0,1fr) 18px;
            align-items:center;
            gap:.62rem;
            min-height:56px;
            padding:.5rem .75rem .5rem .5rem;
            border:1px solid rgba(255,255,255,.2);
            border-radius:999px;
            background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
            box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
            font-size:.72rem;
            font-weight:700;
            font-family:var(--f-head);
            text-transform:uppercase;
            letter-spacing:.02em;
            line-height:1.18;
            color:rgba(254,254,254,.9);
            cursor:pointer;
            transition:border-color .2s, background .2s, box-shadow .2s, transform .2s;
        }
        .diag-chip label::before {
            content:'';
            width:30px;
            height:30px;
            border-radius:50%;
            border:1px solid rgba(255,255,255,.2);
            background-color:rgba(255,255,255,.06);
            background-position:center;
            background-size:cover;
            background-repeat:no-repeat;
        }
        .diag-chip label::after {
            content:'';
            width:18px;
            height:18px;
            border-radius:999px;
            border:1.5px solid rgba(254,254,254,.45);
            background:rgba(8,15,26,.26);
            box-shadow:inset 0 0 0 2px rgba(8,15,26,.32);
        }
        .diag-chip label[for$="-ml"]::before { background-image:url('/assets/marketplace-icons/meli.png'); }
        .diag-chip label[for$="-am"]::before { background-image:url('/assets/marketplace-icons/amazon.webp'); }
        .diag-chip label[for$="-sh"]::before { background-image:url('/assets/marketplace-icons/shopee.png'); }
        .diag-chip label[for$="-mg"]::before { background-image:url('/assets/marketplace-icons/magalu.png'); }
        .diag-chip label[for$="-sz"]::before { background-image:url('/assets/marketplace-icons/shein.png'); }
        .diag-chip label[for$="-tt"]::before { background-image:url('/assets/marketplace-icons/tiktok.png'); }
        .diag-chip label[for$="-nn"]::before {
            content:'×';
            display:inline-flex;
            align-items:center;
            justify-content:center;
            color:rgba(254,254,254,.62);
            font-size:1rem;
            font-weight:600;
        }
        .diag-chip label:hover {
            border-color:rgba(255,255,255,.34);
            background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.04));
            transform:translateY(-1px);
        }
        .diag-chip input:checked + label {
            border-color:rgba(86,213,79,.68);
            background:linear-gradient(135deg,rgba(86,213,79,.22),rgba(86,213,79,.08));
            box-shadow:inset 0 0 0 1px rgba(186,255,0,.16);
        }
        .diag-chip input:checked + label::after {
            border-color:rgba(86,213,79,.92);
            box-shadow:inset 0 0 0 4px rgba(86,213,79,.92);
        }
        .diag-submit { background:var(--green); color:var(--dark); border:none; border-radius:10px; padding:.88rem 2rem; width:100%; font-family:var(--f-head); font-weight:700; font-size:.88rem; letter-spacing:.04em; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:.5rem; margin-top:.5rem; transition:background .2s,transform .2s,box-shadow .2s; box-shadow:0 8px 24px rgba(86,213,79,.22); }
        .diag-submit:hover { background:var(--lime); transform:translateY(-2px); box-shadow:0 12px 30px rgba(86,213,79,.32); }
        .diag-success { display:none; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:1rem 2rem 3rem; gap:.9rem; }
        .diag-success.show { display:flex; }
        .diag-success-icon { width:64px; height:64px; border-radius:50%; background:rgba(86,213,79,.1); border:1px solid rgba(86,213,79,.38); display:flex; align-items:center; justify-content:center; margin-bottom:.4rem; }
        .diag-success h3 { font-family:var(--f-head); font-size:1.42rem; color:#fff; line-height:1.2; }
        .diag-success p { font-size:.9rem; color:rgba(254,254,254,.72); max-width:34ch; line-height:1.72; }
        .diag-err { display:none; font-size:.75rem; color:rgba(239,68,68,.9); margin-top:.3rem; font-family:var(--f-head); font-weight:600; }
        .diag-err.show { display:block; }
        .diag-field input.invalid { border-color:rgba(239,68,68,.7) !important; background:rgba(239,68,68,.05) !important; }
        @media(max-width:520px) { .diag-overlay { padding:.4rem; align-items:flex-end; } .diag-panel { border-radius:20px 20px 0 0; max-height:96vh; width:100%; } .diag-row { grid-template-columns:1fr; } .diag-body { padding:0 1.4rem 2.2rem; } .diag-chips { grid-template-columns:1fr; } .diag-chip label { min-height:52px; } }
