/*=========================================================
                REVLO PULSE™ — PUBLIC PRODUCT PAGE
                PRODUCTION LIGHT THEME

    Dashboard-aligned system:
    Canvas      #F3F6FA
    Surface     #FFFFFF
    Text        #172033
    Muted       #59677D
    Border      #DFE6EF

    Pulse identity:
    Red         #FD2D37
    Orange      #FB694C

    IMPORTANT:
    All selectors are scoped to .pulse-* so this public page
    does not leak styling into the shared Revlo header/footer
    or other product pages.
=========================================================*/

.pulse-public-hero,
.pulse-public-overview,
.pulse-efficiency,
.pulse-fuel-section,
.pulse-insight-section,
.pulse-how,
.pulse-why,
.pulse-faq,
.pulse-final-cta{
    --pulse-red:#FD2D37;
    --pulse-orange:#FB694C;
    --pulse-gradient:linear-gradient(135deg,#FB694C,#FD2D37);
    --pulse-gradient-reverse:linear-gradient(135deg,#FD2D37,#FB694C);

    --pulse-bg:#F3F6FA;
    --pulse-bg-deep:#EDF2F8;
    --pulse-surface:#FFFFFF;
    --pulse-surface-soft:#F8FAFC;
    --pulse-surface-muted:#F1F5F9;

    --pulse-text:#172033;
    --pulse-muted:#59677D;
    --pulse-muted-2:#8794A8;

    --pulse-border:#DFE6EF;
    --pulse-border-soft:#EAF0F6;
    --pulse-border-strong:#CDD7E4;

    --pulse-soft:rgba(232,124,18,.10);
    --pulse-line:rgba(232,124,18,.24);

    --pulse-green:#16A34A;
    --pulse-green-soft:#EFFCF3;

    --pulse-shadow-card:
        0 2px 5px rgba(15,23,42,.025),
        0 10px 28px rgba(15,23,42,.045);

    --pulse-shadow-hover:
        0 6px 12px rgba(15,23,42,.035),
        0 18px 38px rgba(15,23,42,.075);

    --pulse-shadow-deep:
        0 18px 50px rgba(15,23,42,.13);

    --pulse-radius:22px;
    --pulse-radius-lg:28px;
}


/*=========================================================
                RESET INSIDE PRODUCT
=========================================================*/

.pulse-public-hero *,
.pulse-public-overview *,
.pulse-efficiency *,
.pulse-fuel-section *,
.pulse-insight-section *,
.pulse-how *,
.pulse-why *,
.pulse-faq *,
.pulse-final-cta *{
    box-sizing:border-box;
}

.pulse-public-hero img,
.pulse-public-overview img,
.pulse-efficiency img,
.pulse-fuel-section img,
.pulse-insight-section img,
.pulse-how img,
.pulse-why img,
.pulse-faq img,
.pulse-final-cta img{
    max-width:100%;
}

.pulse-public-hero h1,
.pulse-public-hero h2,
.pulse-public-hero h3,
.pulse-public-overview h2,
.pulse-public-overview h3,
.pulse-efficiency h2,
.pulse-efficiency h3,
.pulse-fuel-section h2,
.pulse-fuel-section h3,
.pulse-insight-section h2,
.pulse-insight-section h3,
.pulse-how h2,
.pulse-how h3,
.pulse-why h2,
.pulse-why h3,
.pulse-faq h2,
.pulse-final-cta h2{
    margin-top:0;
}

.pulse-public-hero a,
.pulse-public-overview a,
.pulse-efficiency a,
.pulse-fuel-section a,
.pulse-insight-section a,
.pulse-how a,
.pulse-why a,
.pulse-faq a,
.pulse-final-cta a{
    text-decoration:none;
}


/*=========================================================
                SHARED SECTION HEADER
=========================================================*/

.pulse-section-header{
    max-width:800px;
    margin:0 auto 64px;
    text-align:center;
}

.pulse-section-tag{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:8px 15px;

    border:1px solid var(--pulse-line);
    border-radius:999px;

    background:var(--pulse-soft);
    color:#C25A00;

    font-size:.72rem;
    line-height:1;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.pulse-section-header h2{
    margin:20px 0 18px;

    color:var(--pulse-text);

    font-size:clamp(2.25rem,4vw,3.25rem);
    line-height:1.12;
    letter-spacing:-.035em;
    font-weight:800;
}

.pulse-section-header h2 span{
    color:var(--pulse-orange);
}

.pulse-section-header p{
    max-width:720px;
    margin:0 auto;

    color:var(--pulse-muted);

    font-size:1rem;
    line-height:1.8;
}


/*=========================================================
                HERO
=========================================================*/

.pulse-public-hero{
    position:relative;
    overflow:hidden;

    padding:105px 0 92px;

    background:
        radial-gradient(circle at 88% 7%,rgba(251,105,76,.10),transparent 31%),
        linear-gradient(180deg,#F3F6FA 0%,#F8FAFC 100%);
}

.pulse-public-hero::before{
    content:"";

    position:absolute;
    inset:0;

    background-image:
        linear-gradient(rgba(23,32,51,.022) 1px,transparent 1px),
        linear-gradient(90deg,rgba(23,32,51,.022) 1px,transparent 1px);

    background-size:72px 72px;

    pointer-events:none;
}

.pulse-public-hero::after{
    content:"";

    position:absolute;

    width:390px;
    height:390px;

    left:-230px;
    bottom:-260px;

    border-radius:50%;

    background:rgba(253,45,55,.055);

    pointer-events:none;
}

.pulse-public-hero .container{
    position:relative;
    z-index:1;
}

.pulse-hero-grid{
    display:grid;
    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:70px;
}

.pulse-hero-content{
    max-width:650px;
}

.pulse-public-badge{
    display:inline-flex;
    align-items:center;
    gap:9px;

    padding:9px 16px;

    border:1px solid var(--pulse-line);
    border-radius:999px;

    background:var(--pulse-soft);
    color:#C25A00;

    font-size:.75rem;
    font-weight:800;
    letter-spacing:.08em;
}

.pulse-public-badge i{
    color:var(--pulse-orange);
}

.pulse-hero-content h1{
    margin:22px 0 22px;

    color:var(--pulse-text);

    font-size:clamp(3.1rem,5.5vw,4.75rem);
    line-height:1.02;
    letter-spacing:-.05em;
    font-weight:800;
}

.pulse-hero-content h1 span{
    display:block;

    background:var(--pulse-gradient);
    background-clip:text;
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.pulse-hero-content > p{
    max-width:590px;

    margin:0 0 31px;

    color:var(--pulse-muted);

    font-size:1.08rem;
    line-height:1.82;
}

.pulse-public-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:13px;
}

.pulse-btn{
    min-height:50px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    padding:0 21px;

    border-radius:13px;

    font-size:.9rem;
    font-weight:750;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease,
        border-color .25s ease,
        color .25s ease;
}

.pulse-btn-primary{
    background:var(--pulse-gradient);
    color:#fff;

    border:1px solid transparent;

    box-shadow:0 12px 28px rgba(253,45,55,.18);
}

.pulse-btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 17px 34px rgba(253,45,55,.25);
}

.pulse-btn-secondary{
    background:#fff;
    color:var(--pulse-text);

    border:1px solid var(--pulse-border);
}

.pulse-btn-secondary:hover{
    transform:translateY(-2px);

    color:#C25A00;

    border-color:var(--pulse-line);

    box-shadow:var(--pulse-shadow-card);
}

.pulse-hero-note{
    display:flex;
    align-items:center;
    gap:8px;

    margin-top:18px;

    color:var(--pulse-muted-2);

    font-size:.78rem;
}

.pulse-hero-note i{
    color:var(--pulse-green);
}


/*=========================================================
                HERO PRODUCT PREVIEW
=========================================================*/

.pulse-dashboard-preview{
    position:relative;

    overflow:hidden;

    background:#fff;

    border:1px solid var(--pulse-border);
    border-radius:28px;

    box-shadow:var(--pulse-shadow-deep);
}

.pulse-dashboard-preview::before{
    content:"";

    position:absolute;
    left:0;
    right:0;
    top:0;

    height:4px;

    background:var(--pulse-gradient);
}

.pulse-window-bar{
    display:flex;
    align-items:center;

    min-height:53px;

    padding:0 18px;

    border-bottom:1px solid var(--pulse-border);

    background:#FBFCFE;
}

.pulse-window-dots{
    display:flex;
    gap:5px;

    margin-right:auto;
}

.pulse-window-dots span{
    width:7px;
    height:7px;

    border-radius:50%;

    background:#D6DDE7;
}

.pulse-window-title{
    color:var(--pulse-muted);

    font-size:.74rem;
    font-weight:700;
    letter-spacing:.03em;
}

.pulse-live-pill{
    margin-left:auto;

    display:inline-flex;
    align-items:center;
    gap:6px;

    color:var(--pulse-green);

    font-size:.66rem;
    font-weight:700;
}

.pulse-live-pill i{
    font-size:.38rem;
}

.pulse-preview-body{
    padding:26px;
}

.pulse-preview-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    margin-bottom:20px;
}

.pulse-preview-heading > div:first-child{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.pulse-preview-heading span{
    color:var(--pulse-muted-2);

    font-size:.62rem;
    font-weight:800;
    letter-spacing:.08em;
}

.pulse-preview-heading strong{
    color:var(--pulse-text);

    font-size:1.1rem;
}

.pulse-preview-score{
    min-width:112px;

    padding:11px 13px;

    border:1px solid var(--pulse-line);
    border-radius:14px;

    background:linear-gradient(145deg,#fff8f4,#fff1ed);
}

.pulse-preview-score small{
    display:block;

    margin-bottom:4px;

    color:var(--pulse-muted-2);

    font-size:.58rem;
}

.pulse-preview-score strong{
    color:var(--pulse-orange);

    font-size:1.35rem;
}

.pulse-preview-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:10px;

    margin-bottom:15px;
}

.pulse-preview-stat{
    position:relative;

    padding:15px;

    border:1px solid var(--pulse-border);
    border-radius:16px;

    overflow:hidden;
}

.pulse-preview-stat::after{
    content:"";

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    height:2px;

    background:var(--pulse-gradient);
}

.pulse-stat-orange{
    background:linear-gradient(145deg,#fff,#fff4ef);
}

.pulse-stat-red{
    background:linear-gradient(145deg,#fff,#fff1f1);
}

.pulse-stat-amber{
    background:linear-gradient(145deg,#fff,#fff7ed);
}

.pulse-preview-stat i{
    display:flex;
    align-items:center;
    justify-content:center;

    width:32px;
    height:32px;

    margin-bottom:11px;

    border-radius:10px;

    background:var(--pulse-soft);
    color:var(--pulse-orange);

    font-size:.78rem;
}

.pulse-preview-stat span{
    display:block;

    margin-bottom:4px;

    color:var(--pulse-muted-2);

    font-size:.62rem;
}

.pulse-preview-stat strong{
    display:block;

    color:var(--pulse-text);

    font-size:1.02rem;
}

.pulse-preview-stat small{
    display:block;

    margin-top:5px;

    color:var(--pulse-muted-2);

    font-size:.58rem;
}

.pulse-preview-chart{
    padding:18px;

    border:1px solid var(--pulse-border);
    border-radius:17px;

    background:#FBFCFE;
}

.pulse-preview-chart-head{
    display:flex;
    align-items:center;
    justify-content:space-between;

    margin-bottom:10px;
}

.pulse-preview-chart-head > div{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.pulse-preview-chart-head strong{
    color:var(--pulse-text);
    font-size:.82rem;
}

.pulse-preview-chart-head span{
    color:var(--pulse-muted-2);
    font-size:.59rem;
}

.pulse-chart-label{
    display:inline-flex;
    align-items:center;
    gap:5px;

    color:var(--pulse-muted);

    font-size:.6rem;
}

.pulse-chart-label i{
    width:7px;
    height:7px;

    border-radius:50%;

    background:var(--pulse-orange);
}

.pulse-chart-visual{
    height:125px;
}

.pulse-chart-visual svg{
    width:100%;
    height:100%;
    display:block;
}

.pulse-chart-area{
    fill:url(#pulseChartFill);
}

.pulse-chart-line{
    fill:none;

    stroke:var(--pulse-orange);
    stroke-width:3;

    vector-effect:non-scaling-stroke;
}


/*=========================================================
                OVERVIEW
=========================================================*/

.pulse-public-overview{
    padding:118px 0;

    background:#fff;
}

.pulse-overview-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);

    gap:18px;
}

.pulse-overview-card{
    position:relative;

    min-height:280px;

    padding:28px;

    border:1px solid var(--pulse-border);
    border-radius:22px;

    background:#fff;

    box-shadow:var(--pulse-shadow-card);

    overflow:hidden;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.pulse-overview-card:hover{
    transform:translateY(-6px);

    border-color:var(--pulse-line);

    box-shadow:var(--pulse-shadow-hover);
}

.pulse-overview-card::after{
    content:"";

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    height:3px;

    background:var(--pulse-gradient);

    opacity:.75;
}

.pulse-overview-icon{
    width:52px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:23px;

    border-radius:15px;

    background:var(--pulse-soft);
    color:var(--pulse-orange);

    font-size:1.15rem;
}

.pulse-overview-card > span{
    color:var(--pulse-muted-2);

    font-family:"JetBrains Mono",Consolas,monospace;
    font-size:.65rem;
}

.pulse-overview-card h3{
    margin:11px 0 10px;

    color:var(--pulse-text);

    font-size:1.15rem;
}

.pulse-overview-card p{
    margin:0;

    color:var(--pulse-muted);

    font-size:.84rem;
    line-height:1.7;
}


/*=========================================================
                EFFICIENCY
=========================================================*/

.pulse-efficiency{
    padding:120px 0;

    background:var(--pulse-bg);
}

.pulse-efficiency-grid{
    display:grid;
    grid-template-columns:1fr .85fr;

    align-items:center;

    gap:80px;
}

.pulse-efficiency-copy{
    max-width:620px;
}

.pulse-efficiency-copy h2{
    margin:20px 0 18px;

    color:var(--pulse-text);

    font-size:clamp(2.2rem,4vw,3.1rem);
    line-height:1.14;
    letter-spacing:-.035em;
}

.pulse-efficiency-copy h2 span{
    color:var(--pulse-orange);
}

.pulse-efficiency-copy > p{
    margin:0 0 27px;

    color:var(--pulse-muted);

    line-height:1.8;
}

.pulse-proof-list{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.pulse-proof-list div{
    display:flex;
    align-items:flex-start;
    gap:11px;

    color:var(--pulse-muted);

    font-size:.88rem;
    line-height:1.55;
}

.pulse-proof-list i{
    flex:0 0 auto;

    width:21px;
    height:21px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-top:1px;

    border-radius:50%;

    background:var(--pulse-green-soft);
    color:var(--pulse-green);

    font-size:.58rem;
}

.pulse-efficiency-card{
    position:relative;

    padding:30px;

    border:1px solid var(--pulse-border);

    border-radius:25px;

    background:#fff;

    box-shadow:var(--pulse-shadow-deep);

    overflow:hidden;
}

.pulse-efficiency-card::before{
    content:"";

    position:absolute;

    left:0;
    right:0;
    top:0;

    height:4px;

    background:var(--pulse-gradient);
}

.pulse-efficiency-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    margin-bottom:24px;
}

.pulse-efficiency-card-top > div:first-child{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.pulse-efficiency-card-top span{
    color:var(--pulse-muted-2);

    font-size:.66rem;
    font-weight:800;
    letter-spacing:.08em;
}

.pulse-efficiency-card-top strong{
    color:var(--pulse-orange);

    font-size:3rem;
    line-height:1;
}

.pulse-score-icon{
    width:52px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:15px;

    background:var(--pulse-soft);
    color:var(--pulse-orange);
}

.pulse-score-track{
    height:9px;

    margin-bottom:25px;

    overflow:hidden;

    border-radius:999px;

    background:#E8EDF3;
}

.pulse-score-track span{
    display:block;

    height:100%;

    border-radius:inherit;

    background:var(--pulse-gradient);
}

.pulse-score-comparison{
    display:grid;
    grid-template-columns:1fr 1fr;

    gap:12px;
}

.pulse-score-comparison div{
    padding:14px;

    border:1px solid var(--pulse-border);

    border-radius:14px;

    background:var(--pulse-surface-soft);
}

.pulse-score-comparison small{
    display:block;

    margin-bottom:5px;

    color:var(--pulse-muted-2);

    font-size:.62rem;
}

.pulse-score-comparison strong{
    color:var(--pulse-text);

    font-size:.88rem;
}

.pulse-score-note{
    display:flex;
    align-items:flex-start;
    gap:9px;

    margin-top:17px;
    padding-top:17px;

    border-top:1px solid var(--pulse-border-soft);

    color:var(--pulse-muted-2);

    font-size:.69rem;
    line-height:1.55;
}

.pulse-score-note i{
    margin-top:2px;

    color:var(--pulse-orange);
}


/*=========================================================
                FUEL SECTION
=========================================================*/

.pulse-fuel-section{
    padding:120px 0;

    background:#fff;
}

.pulse-fuel-layout{
    display:grid;
    grid-template-columns:.9fr 1.1fr;

    gap:22px;
}

.pulse-last-refuel,
.pulse-fuel-history{
    padding:28px;

    border:1px solid var(--pulse-border);
    border-radius:24px;

    background:#fff;

    box-shadow:var(--pulse-shadow-card);
}

.pulse-last-refuel{
    background:
        radial-gradient(circle at 100% 0%,rgba(251,105,76,.08),transparent 45%),
        #fff;
}

.pulse-card-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    margin-bottom:22px;
}

.pulse-card-heading > div{
    display:flex;
    flex-direction:column;
    gap:5px;
}

.pulse-card-heading span:first-child{
    color:var(--pulse-muted-2);

    font-size:.62rem;
    font-weight:800;
    letter-spacing:.08em;
}

.pulse-card-heading h3{
    color:var(--pulse-text);

    font-size:1.3rem;
}

.pulse-card-heading > i{
    width:43px;
    height:43px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:13px;

    background:var(--pulse-soft);
    color:var(--pulse-orange);
}

.pulse-refuel-date{
    margin-bottom:9px;

    color:var(--pulse-muted-2);

    font-size:.72rem;
}

.pulse-refuel-main{
    display:flex;
    align-items:baseline;
    gap:9px;

    padding-bottom:20px;

    border-bottom:1px solid var(--pulse-border-soft);
}

.pulse-refuel-main strong{
    color:var(--pulse-text);

    font-size:2.15rem;
}

.pulse-refuel-main span{
    color:var(--pulse-muted-2);

    font-size:.72rem;
}

.pulse-refuel-grid{
    display:grid;
    grid-template-columns:1fr 1fr;

    gap:12px;

    padding:20px 0;
}

.pulse-refuel-grid div{
    padding:14px;

    border:1px solid var(--pulse-border);

    border-radius:14px;

    background:var(--pulse-surface-soft);
}

.pulse-refuel-grid span,
.pulse-refuel-grid strong{
    display:block;
}

.pulse-refuel-grid span{
    margin-bottom:5px;

    color:var(--pulse-muted-2);

    font-size:.62rem;
}

.pulse-refuel-grid strong{
    color:var(--pulse-text);

    font-size:.83rem;
}

.pulse-refuel-location{
    display:grid;
    grid-template-columns:1fr 1fr;

    gap:12px;

    padding-top:2px;
}

.pulse-refuel-location > div{
    display:flex;
    align-items:flex-start;
    gap:9px;

    color:var(--pulse-muted);

    font-size:.72rem;
}

.pulse-refuel-location i{
    color:var(--pulse-orange);
    margin-top:2px;
}

.pulse-refuel-location span{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.pulse-refuel-location small{
    color:var(--pulse-muted-2);
    font-size:.58rem;
}

.pulse-history-count{
    padding:7px 10px;

    border-radius:999px;

    background:var(--pulse-surface-muted);
    color:var(--pulse-muted);

    font-size:.6rem !important;
    font-weight:650;
    letter-spacing:0 !important;
}

.pulse-history-table{
    overflow:hidden;

    border:1px solid var(--pulse-border);
    border-radius:15px;
}

.pulse-history-row{
    display:grid;
    grid-template-columns:1.1fr 1.1fr 1fr 1.1fr;

    align-items:center;

    min-height:54px;

    padding:0 15px;

    border-bottom:1px solid var(--pulse-border-soft);

    color:var(--pulse-muted);

    font-size:.72rem;
}

.pulse-history-row:last-child{
    border-bottom:0;
}

.pulse-history-row strong{
    color:var(--pulse-text);
    font-weight:700;
}

.pulse-history-head{
    min-height:40px;

    background:var(--pulse-surface-soft);

    color:var(--pulse-muted-2);

    font-size:.6rem;
    font-weight:750;
}

.pulse-history-note{
    display:flex;
    align-items:flex-start;
    gap:8px;

    margin-top:15px;

    color:var(--pulse-muted-2);

    font-size:.65rem;
    line-height:1.5;
}

.pulse-history-note i{
    color:var(--pulse-orange);
}


/*=========================================================
                INSIGHT SECTION
=========================================================*/

.pulse-insight-section{
    padding:120px 0;

    background:var(--pulse-bg);
}

.pulse-insight-grid{
    display:grid;
    grid-template-columns:.85fr 1.15fr;

    gap:24px;
}

.pulse-range-card,
.pulse-cost-card{
    padding:31px;

    border:1px solid var(--pulse-border);
    border-radius:25px;

    background:#fff;

    box-shadow:var(--pulse-shadow-card);
}

.pulse-range-card{
    background:
        radial-gradient(circle at 100% 0%,rgba(251,105,76,.08),transparent 50%),
        #fff;
}

.pulse-range-card .pulse-card-heading{
    margin-bottom:20px;
}

.pulse-range-card .pulse-card-heading > i{
    color:var(--pulse-orange);
}

.pulse-range-value{
    display:block;

    margin-bottom:8px;

    color:var(--pulse-text);

    font-size:3.1rem;
    line-height:1;
    letter-spacing:-.035em;
}

.pulse-range-card > p{
    margin:0 0 24px;

    color:var(--pulse-muted);

    font-size:.82rem;
    line-height:1.7;
}

.pulse-range-bar{
    height:8px;

    margin-bottom:10px;

    overflow:hidden;

    border-radius:999px;

    background:#E8EDF3;
}

.pulse-range-bar span{
    display:block;

    width:78%;
    height:100%;

    border-radius:inherit;

    background:var(--pulse-gradient);
}

.pulse-range-meta{
    display:flex;
    justify-content:space-between;

    color:var(--pulse-muted-2);

    font-size:.62rem;
}

.pulse-cost-card{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.pulse-cost-card h2{
    max-width:620px;

    margin:20px 0 15px;

    color:var(--pulse-text);

    font-size:2.15rem;
    line-height:1.18;
    letter-spacing:-.03em;
}

.pulse-cost-card > p{
    max-width:620px;

    margin:0 0 24px;

    color:var(--pulse-muted);

    font-size:.9rem;
    line-height:1.75;
}

.pulse-cost-points{
    display:flex;
    flex-wrap:wrap;

    gap:10px;
}

.pulse-cost-points div{
    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:9px 12px;

    border:1px solid var(--pulse-border);

    border-radius:999px;

    background:var(--pulse-surface-soft);

    color:var(--pulse-muted);

    font-size:.68rem;
}

.pulse-cost-points i{
    color:var(--pulse-orange);
}


/*=========================================================
                HOW PULSE WORKS
=========================================================*/

.pulse-how{
    padding:120px 0;

    background:#fff;
}

.pulse-steps{
    display:grid;
    grid-template-columns:1fr 70px 1fr 70px 1fr;

    align-items:center;

    max-width:1050px;

    margin:0 auto;
}

.pulse-step{
    position:relative;

    padding:30px;

    min-height:290px;

    border:1px solid var(--pulse-border);

    border-radius:22px;

    background:#fff;

    box-shadow:var(--pulse-shadow-card);

    text-align:center;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.pulse-step:hover{
    transform:translateY(-5px);

    border-color:var(--pulse-line);

    box-shadow:var(--pulse-shadow-hover);
}

.pulse-step-number{
    position:absolute;

    top:15px;
    right:17px;

    color:#C7D0DC;

    font-family:"JetBrains Mono",Consolas,monospace;
    font-size:.62rem;
    font-weight:700;
}

.pulse-step-icon{
    width:58px;
    height:58px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:19px auto 22px;

    border-radius:16px;

    background:var(--pulse-soft);
    color:var(--pulse-orange);

    font-size:1.2rem;
}

.pulse-step h3{
    margin-bottom:10px;

    color:var(--pulse-text);

    font-size:1.12rem;
}

.pulse-step p{
    margin:0;

    color:var(--pulse-muted);

    font-size:.81rem;
    line-height:1.7;
}

.pulse-step-line{
    position:relative;

    height:1px;

    background:var(--pulse-border);
}

.pulse-step-line::after{
    content:"";

    position:absolute;

    left:50%;
    top:50%;

    width:7px;
    height:7px;

    transform:translate(-50%,-50%);

    border-radius:50%;

    background:var(--pulse-orange);
}


/*=========================================================
                WHY PULSE
=========================================================*/

.pulse-why{
    padding:110px 0;

    background:var(--pulse-bg);
}

.pulse-why-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;

    gap:80px;

    align-items:center;
}

.pulse-why-copy h2{
    max-width:560px;

    margin:20px 0 17px;

    color:var(--pulse-text);

    font-size:clamp(2.3rem,4vw,3.25rem);
    line-height:1.12;
    letter-spacing:-.035em;
}

.pulse-why-copy p{
    max-width:530px;

    margin:0;

    color:var(--pulse-muted);

    line-height:1.8;
}

.pulse-why-list{
    display:flex;
    flex-direction:column;

    gap:12px;
}

.pulse-why-item{
    display:flex;
    align-items:center;

    gap:16px;

    padding:20px;

    border:1px solid var(--pulse-border);

    border-radius:18px;

    background:#fff;

    box-shadow:var(--pulse-shadow-card);

    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.pulse-why-item:hover{
    transform:translateX(4px);

    border-color:var(--pulse-line);

    box-shadow:var(--pulse-shadow-hover);
}

.pulse-why-item > div{
    width:45px;
    height:45px;

    flex:0 0 45px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:13px;

    background:var(--pulse-soft);
    color:var(--pulse-orange);
}

.pulse-why-item > span{
    display:flex;
    flex-direction:column;
    gap:4px;

    color:var(--pulse-muted);

    font-size:.78rem;
    line-height:1.55;
}

.pulse-why-item strong{
    color:var(--pulse-text);

    font-size:.9rem;
}


/*=========================================================
                FAQ
=========================================================*/

.pulse-faq{
    padding:120px 0;

    background:#fff;
}

.pulse-faq-wrapper{
    max-width:880px;

    margin:0 auto;
}

.pulse-faq-item{
    margin-bottom:12px;

    border:1px solid var(--pulse-border);
    border-radius:17px;

    background:#fff;

    overflow:hidden;

    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}

.pulse-faq-item:hover,
.pulse-faq-item.active{
    border-color:var(--pulse-line);

    box-shadow:var(--pulse-shadow-card);
}

.pulse-faq-question{
    width:100%;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    padding:22px 24px;

    border:0;

    background:transparent;

    color:var(--pulse-text);

    text-align:left;

    font:inherit;
    font-size:.93rem;
    font-weight:700;

    cursor:pointer;
}

.pulse-faq-question i{
    flex:0 0 auto;

    color:var(--pulse-orange);

    font-size:.82rem;
}

.pulse-faq-item.active .pulse-faq-question{
    color:#C25A00;
}

.pulse-faq-answer{
    display:none;

    padding:0 24px 22px;

    color:var(--pulse-muted);

    font-size:.85rem;
    line-height:1.8;
}

.pulse-faq-item.active .pulse-faq-answer{
    display:block;
}


/*=========================================================
                FINAL CTA
=========================================================*/

.pulse-final-cta{
    position:relative;

    overflow:hidden;

    padding:112px 0;

    background:
        radial-gradient(circle at 15% 20%,rgba(255,255,255,.16),transparent 30%),
        radial-gradient(circle at 90% 80%,rgba(255,255,255,.10),transparent 32%),
        linear-gradient(135deg,#FB694C 0%,#FD2D37 100%);
}

.pulse-final-cta::before{
    content:"";

    position:absolute;

    width:420px;
    height:420px;

    right:-230px;
    top:-250px;

    border-radius:50%;

    border:1px solid rgba(255,255,255,.12);

    box-shadow:
        0 0 0 40px rgba(255,255,255,.025),
        0 0 0 80px rgba(255,255,255,.018);

    pointer-events:none;
}

.pulse-cta-box{
    position:relative;
    z-index:1;

    max-width:860px;

    margin:0 auto;

    text-align:center;
}

.pulse-final-cta .pulse-section-tag{
    background:rgba(255,255,255,.14);
    border-color:rgba(255,255,255,.25);
    color:#fff;
}

.pulse-cta-box h2{
    margin:22px 0 17px;

    color:#fff;

    font-size:clamp(2.4rem,5vw,4rem);
    line-height:1.08;
    letter-spacing:-.04em;
}

.pulse-cta-box h2 span{
    display:block;

    color:#FFE4DF;
}

.pulse-cta-box > p{
    max-width:650px;

    margin:0 auto;

    color:rgba(255,255,255,.88);

    font-size:1rem;
    line-height:1.8;
}

.pulse-final-cta .pulse-public-actions{
    justify-content:center;

    margin-top:32px;
}

.pulse-btn-white{
    background:#fff;
    color:#B92E38;

    border:1px solid #fff;

    box-shadow:0 12px 30px rgba(0,0,0,.12);
}

.pulse-btn-white:hover{
    transform:translateY(-2px);

    background:#FFF8F6;

    box-shadow:0 17px 34px rgba(0,0,0,.16);
}

.pulse-btn-ghost{
    color:#fff;

    border:1px solid rgba(255,255,255,.45);
    background:rgba(255,255,255,.08);
}

.pulse-btn-ghost:hover{
    transform:translateY(-2px);

    background:rgba(255,255,255,.15);
    border-color:#fff;
}


/*=========================================================
                TABLET — 1100px
=========================================================*/

@media(max-width:1100px){

    .pulse-hero-grid{
        grid-template-columns:1fr;

        gap:48px;
    }

    .pulse-hero-content{
        max-width:760px;
        margin:0 auto;

        text-align:center;
    }

    .pulse-hero-content > p{
        margin-left:auto;
        margin-right:auto;
    }

    .pulse-public-actions{
        justify-content:center;
    }

    .pulse-hero-note{
        justify-content:center;
    }

    .pulse-dashboard-preview{
        width:100%;
        max-width:720px;
        margin:0 auto;
    }

    .pulse-overview-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .pulse-efficiency-grid{
        grid-template-columns:1fr;

        gap:45px;
    }

    .pulse-efficiency-copy{
        max-width:760px;
        margin:0 auto;

        text-align:center;
    }

    .pulse-proof-list{
        max-width:600px;
        margin:0 auto;

        text-align:left;
    }

    .pulse-efficiency-card{
        width:100%;
        max-width:620px;
        margin:0 auto;
    }

    .pulse-why-grid{
        grid-template-columns:1fr;

        gap:45px;
    }

    .pulse-why-copy{
        text-align:center;
    }

    .pulse-why-copy h2,
    .pulse-why-copy p{
        margin-left:auto;
        margin-right:auto;
    }

}


/*=========================================================
                TABLET — 900px
=========================================================*/

@media(max-width:900px){

    .pulse-public-hero,
    .pulse-public-overview,
    .pulse-efficiency,
    .pulse-fuel-section,
    .pulse-insight-section,
    .pulse-how,
    .pulse-why,
    .pulse-faq,
    .pulse-final-cta{
        padding-top:85px;
        padding-bottom:85px;
    }

    .pulse-fuel-layout,
    .pulse-insight-grid{
        grid-template-columns:1fr;
    }

    .pulse-steps{
        grid-template-columns:1fr;

        gap:15px;
    }

    .pulse-step{
        min-height:0;
    }

    .pulse-step-line{
        width:1px;
        height:34px;

        margin:0 auto;
    }

    .pulse-step-line::after{
        left:50%;
        top:50%;
    }

}


/*=========================================================
                MOBILE — 640px
=========================================================*/

@media(max-width:640px){

    .pulse-public-hero,
    .pulse-public-overview,
    .pulse-efficiency,
    .pulse-fuel-section,
    .pulse-insight-section,
    .pulse-how,
    .pulse-why,
    .pulse-faq,
    .pulse-final-cta{
        padding-top:68px;
        padding-bottom:68px;
    }

    .pulse-section-header{
        margin-bottom:45px;
    }

    .pulse-section-header h2{
        font-size:2.15rem;
    }

    .pulse-hero-content h1{
        font-size:2.7rem;
    }

    .pulse-hero-content > p{
        font-size:.96rem;
    }

    .pulse-public-actions{
        flex-direction:column;
        width:100%;
    }

    .pulse-btn{
        width:100%;
    }

    .pulse-dashboard-preview{
        border-radius:21px;
    }

    .pulse-preview-body{
        padding:19px;
    }

    .pulse-preview-stats{
        grid-template-columns:1fr;
    }

    .pulse-preview-score{
        min-width:95px;
    }

    .pulse-overview-grid{
        grid-template-columns:1fr;
    }

    .pulse-overview-card{
        min-height:0;
    }

    .pulse-score-comparison{
        grid-template-columns:1fr;
    }

    .pulse-last-refuel,
    .pulse-fuel-history,
    .pulse-range-card,
    .pulse-cost-card{
        padding:23px;
    }

    .pulse-refuel-grid,
    .pulse-refuel-location{
        grid-template-columns:1fr;
    }

    .pulse-history-table{
        overflow-x:auto;
    }

    .pulse-history-row{
        min-width:460px;
    }

    .pulse-range-value{
        font-size:2.65rem;
    }

    .pulse-cost-card h2{
        font-size:1.9rem;
    }

    .pulse-why-item{
        align-items:flex-start;
    }

    .pulse-faq-question{
        padding:20px;
        font-size:.86rem;
    }

    .pulse-faq-answer{
        padding:0 20px 20px;
        font-size:.81rem;
    }

    .pulse-cta-box h2{
        font-size:2.35rem;
    }

}


/*=========================================================
                REDUCED MOTION
=========================================================*/

@media(prefers-reduced-motion:reduce){

    .pulse-public-hero *,
    .pulse-public-overview *,
    .pulse-efficiency *,
    .pulse-fuel-section *,
    .pulse-insight-section *,
    .pulse-how *,
    .pulse-why *,
    .pulse-faq *,
    .pulse-final-cta *{
        animation:none !important;
        transition:none !important;
    }

}
