/* dieselbook/static/dieselbook/css/home.css
   Home page styles — extracted from pages/home.html
   Reference in home.html via {% block extra_css %}
*/

:root {
    --ink:#13201f;
    --muted:#5e6c69;
    --teal:#006b68;
    --teal2:#054846;
    --mint:#dff5f1;
    --line:#d9e3e1;
    --paper:#fff;
    --bg:#f4f7f6;
    --orange:#f47721;
    --gold:#f6c453;
    --shadow:0 20px 60px rgba(8,45,43,.14)
}

    * {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
    line-height:1.5
}

button,a {
    font:inherit
}

.wrap {
    width:min(1160px,calc(100% - 36px));
    margin:auto
}

.nav {
    height:72px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    position:relative;
    z-index:30
}

.nav-start {
    display:flex;
    align-items:center;
    gap:11px
}

.brand {
    font-weight:900;
    font-size:1.42rem;
    letter-spacing:-.04em
}

.brand span {
    color:var(--teal)
}

.navlinks {
    display:flex;
    gap:28px;
    align-items:center
}

.navlinks a {
    color:var(--ink);
    text-decoration:none;
    font-weight:650
}

.menu-toggle {
    display:none;
    width:42px;
    height:42px;
    padding:9px;
    border:1px solid rgba(255,255,255,.34);
    border-radius:10px;
    background:rgba(255,255,255,.06);
    color:#fff;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    cursor:pointer
}

.menu-toggle span {
    display:block;
    width:20px;
    height:2px;
    border-radius:3px;
    background:currentColor;
    transition:transform .2s ease,opacity .2s ease
}

.menu-toggle[aria-expanded="true"] span:nth-child(1) {
    transform:translateY(7px) rotate(45deg)
}

.menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity:0
}

.menu-toggle[aria-expanded="true"] span:nth-child(3) {
    transform:translateY(-7px) rotate(-45deg)
}

.mobile-menu {
    display:none;
    position:absolute;
    top:calc(100% - 2px);
    left:0;
    right:0;
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:7px;
    box-shadow:0 22px 55px rgba(0,0,0,.28)
}

.mobile-menu a {
    display:block;
    padding:12px 14px;
    border-radius:9px;
    color:var(--ink);
    text-decoration:none;
    font-weight:800
}

.mobile-menu a:hover,.mobile-menu a:focus-visible {
    background:var(--mint);
    color:var(--teal2);
    outline:none
}

.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border:0;
    border-radius:11px;
    padding:14px 20px;
    font-weight:800;
    text-decoration:none;
    cursor:pointer
}

.btn-primary {
    background:var(--teal);
    color:#fff;
    box-shadow:0 10px 28px rgba(0,107,104,.22)
}

.btn-light {
    background:#fff;
    color:var(--teal);
    border:1px solid var(--line)
}

    .hero {
    background:linear-gradient(130deg,#072f2e 0%,#075f5c 72%,#087975 100%);
    color:#fff;
    overflow:hidden
}

.hero-grid {
    min-height:650px;
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:60px;
    align-items:center;
    padding:70px 0 80px
}

.eyebrow {
    display:inline-flex;
    gap:8px;
    align-items:center;
    color:#a5e8df;
    font-weight:800;
    font-size:.82rem;
    letter-spacing:.12em;
    text-transform:uppercase
}

 

.hero h1 {
    font-size:clamp(2.7rem,5vw,5rem);
    line-height:.98;
    letter-spacing:-.06em;
    margin:18px 0 18px;
    max-width:760px
}

.hero h1 em {
    font-style:normal;
    color:#8ce1d8
}

.hero p {
    font-size:1.05rem;
    color:#d9efed;
    max-width:670px;
    margin:0 0 20px
}

.hero-features {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    margin:0 0 22px
}

.hero-feature {
    min-height:67px;
    padding:11px 12px;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(180,231,225,.25);
    border-radius:10px
}

.hero-feature strong,.hero-feature span {
    display:block
}

.hero-feature strong {
    font-size:.92rem;
    line-height:1.2;
    color:#fff;
    margin-bottom:3px
}

.hero-feature span {
    font-size:.76rem;
    line-height:1.32;
    color:#c2dfdc;
    font-weight:650
}

 

.hero-feature.wide {
    grid-column:1/-1;
    min-height:auto
}

.actions {
    display:grid;
    grid-template-columns:.82fr 1.18fr;
    gap:12px
}

.hero .actions .btn {
    min-height:78px;
    align-items:flex-start;
    flex-direction:column;
    text-align:left;
    line-height:1.15;
    padding:15px 17px
}

.hero .actions .btn strong {
    font-size:1rem
}

.hero .actions .btn small {
    font-size:.77rem;
    font-weight:650;
    line-height:1.35;
    opacity:.84
}

.hero .btn-primary {
    background:#fff;
    color:var(--teal2)
}

.hero .btn-light {
    background:transparent;
    color:#fff;
    border-color:rgba(255,255,255,.35)
}

    .truck-card {
    position:relative;
    background:#f8fbfa;
    color:var(--ink);
    border:1px solid rgba(255,255,255,.4);
    border-radius:24px;
    padding:24px;
    box-shadow:0 30px 90px rgba(0,0,0,.27)
}

.truck-top {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    border-bottom:1px solid var(--line);
    padding-bottom:18px
}

.truck-title {
    font-weight:900;
    font-size:1.22rem
}

.status {
    background:var(--mint);
    color:var(--teal2);
    padding:7px 10px;
    border-radius:99px;
    font-weight:800;
    font-size:.76rem
}

.rig {
    height:140px;
    margin:19px 0;
    border-radius:16px;
    background:linear-gradient(135deg,#dbe8e6,#edf4f3);
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    overflow:hidden
}

.rig:before {
    content:"";
    width:72%;
    height:50px;
    background:var(--teal2);
    border-radius:10px 5px 4px 4px;
    box-shadow:100px 19px 0 -13px #0e3735
}

.rig:after {
    content:"";
    position:absolute;
    width:20px;
    height:20px;
    background:#15201f;
    border:7px solid #84928f;
    border-radius:50%;
    bottom:31px;
    left:27%;
    box-shadow:178px 0 0 -7px #15201f,178px 0 0 0 #84928f
}

.truck-data {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px
}

.data {
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px;
    padding:12px
}

.data small {
    display:block;
    color:var(--muted);
    font-size:.73rem;
    text-transform:uppercase;
    font-weight:800;
    letter-spacing:.06em
}

.data strong {
    display:block;
    margin-top:3px
}

.connected {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:9px;
    margin-top:16px
}

.connected div {
    padding:10px 7px;
    text-align:center;
    background:#eaf4f2;
    border-radius:10px;
    color:var(--teal2);
    font-size:.78rem;
    font-weight:800
}

    .audience {
    padding:58px 0;
    background:#fff
}

.audience-intro {
    max-width:760px;
    margin-bottom:28px
}

.audience-intro h2 {
    font-size:clamp(1.9rem,3vw,2.8rem);
    line-height:1.08;
    letter-spacing:-.045em;
    margin:8px 0 10px
}

.audience-intro p {
    margin:0;
    color:var(--muted);
    font-size:1.03rem
}

.audience-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    align-items:stretch
}

.audience-card {
    border:1px solid var(--line);
    border-radius:18px;
    padding:25px;
    display:flex;
    flex-direction:column;
    background:#f7faf9
}

.audience-card.driver {
    background:#fff8f2
}

.audience-card .kicker {
    display:block;
    margin-bottom:8px
}

.audience-card h3 {
    font-size:1.35rem;
    line-height:1.15;
    margin:0 0 10px
}

.audience-card p {
    color:var(--muted);
    margin:0 0 17px
}

.audience-card ul {
    list-style:none;
    padding:0;
    margin:0 0 22px;
    color:#30413f;
    font-size:.92rem
}

.audience-card li {
    padding:5px 0 5px 21px;
    position:relative
}

.audience-card li:before {
    content:".";
    position:absolute;
    left:0;
    color:var(--teal);
    font-weight:950
}

.audience-card .btn {
    width:100%;
    margin-top:auto;
    text-align:center
}

    section {
    padding:96px 0
}

.section-head {
    max-width:760px;
    margin:0 auto 48px;
    text-align:center
}

.kicker {
    color:var(--orange);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.13em;
    text-transform:uppercase
}

.section-head h2,.copy h2 {
    font-size:clamp(2rem,4vw,3.5rem);
    line-height:1.06;
    letter-spacing:-.05em;
    margin:10px 0 16px
}

.section-head p,.copy>p {
    color:var(--muted);
    font-size:1.06rem
}

.steps {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}

.step {
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:18px;
    padding:25px;
    box-shadow:0 8px 30px rgba(16,55,52,.05)
}

.step-num {
    font-weight:950;
    color:var(--teal);
    font-size:1.8rem
}

.step h3 {
    margin:8px 0
}

.step p {
    margin:0;
    color:var(--muted)
}

    .invoice-section {
    background:#eaf1f0
}

.feature-grid {
    display:grid;
    grid-template-columns:.72fr 1.28fr;
    gap:54px;
    align-items:center
}

.checks {
    list-style:none;
    padding:0;
    margin:26px 0
}

.checks li {
    padding:10px 0 10px 30px;
    position:relative;
    font-weight:650
}

.checks li:before {
    content:".";
    position:absolute;
    left:0;
    color:var(--teal);
    font-weight:950
}

.toggle {
    display:inline-flex;
    background:#d8e5e3;
    border-radius:11px;
    padding:4px;
    margin-top:10px
}

.toggle button {
    border:0;
    background:transparent;
    padding:10px 15px;
    border-radius:8px;
    font-weight:850;
    cursor:pointer;
    color:#53635f
}

.toggle button.active {
    background:white;
    color:var(--teal);
    box-shadow:0 3px 12px rgba(10,50,48,.12)
}

    .invoice-stage {
    min-height:510px;
    display:flex;
    align-items:center;
    justify-content:center
}

.sheet {
    background:#fff;
    color:#111;
    box-shadow:var(--shadow);
    transition:.35s ease;
    padding:20px;
    border:1px solid #d7dcdb
}

.sheet.landscape {
    width:100%;
    aspect-ratio:1.45
}

.sheet.portrait {
    width:58%;
    aspect-ratio:.77
}

.inv-top {
    display:grid;
    grid-template-columns:1.25fr repeat(4,1fr);
    border:2px solid #111
}

.inv-logo {
    background:#080808;
    color:white;
    font-weight:950;
    font-style:italic;
    font-size:clamp(.7rem,1.5vw,1.25rem);
    padding:13px
}

.inv-meta {
    text-align:center;
    border-left:1px solid #777;
    padding:5px;
    font-size:clamp(.34rem,.65vw,.62rem)
}

.inv-meta b {
    display:block;
    margin-top:5px;
    font-size:1.5em
}

.bill {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:25px;
    padding:14px 0;
    border-bottom:2px solid #111;
    font-size:clamp(.35rem,.67vw,.65rem)
}

.bill b {
    display:block;
    margin-bottom:5px
}

.invoice-table {
    width:100%;
    border-collapse:collapse;
    margin-top:12px;
    font-size:clamp(.31rem,.62vw,.6rem)
}

.invoice-table th {
    background:#050505;
    color:#fff;
    padding:7px 3px
}

.invoice-table td {
    padding:7px 4px;
    border-bottom:1px solid #ddd;
    text-align:center
}

.totalrow {
    text-align:right;
    border-top:2px solid #111;
    margin-top:15px;
    padding-top:8px;
    font-size:clamp(.55rem,1vw,1rem);
    font-weight:950
}

.sheet.portrait .inv-top {
    grid-template-columns:1fr 1fr
}

.sheet.portrait .inv-logo {
    grid-column:1/-1
}

.sheet.portrait .inv-meta:nth-of-type(n+4) {
    display:none
}

.sheet.portrait .bill {
    grid-template-columns:1fr
}

.sheet.portrait .invoice-table th:nth-child(4),.sheet.portrait .invoice-table td:nth-child(4),.sheet.portrait .invoice-table th:nth-child(5),.sheet.portrait .invoice-table td:nth-child(5) {
    display:none
}

    .ticket-section {
    background:#fff
}

.ticket-grid {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:60px;
    align-items:center
}

.ticket-copy h2 {
    font-size:clamp(2rem,4vw,3.5rem);
    line-height:1.06;
    letter-spacing:-.05em;
    margin:10px 0 16px
}

.ticket-copy>p {
    color:var(--muted);
    font-size:1.06rem
}

.ticket-note {
    margin-top:22px;
    padding:16px;
    border-radius:9px;
    background:#fff4eb;
    font-weight:800
}

.ticket-board {
    background:#f3f7f6;
    border:1px solid var(--line);
    border-radius:20px;
    padding:22px;
    box-shadow:var(--shadow)
}

.ticket-board-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:16px
}

.ticket-board-head h3 {
    margin:0
}

.load-count {
    background:var(--mint);
    color:var(--teal2);
    border-radius:99px;
    padding:7px 11px;
    font-size:.78rem;
    font-weight:900
}

.ticket-row {
    display:grid;
    grid-template-columns:auto .85fr 1.2fr auto;
    gap:10px;
    align-items:center;
    background:#fff;
    border:1px solid var(--line);
    border-radius:11px;
    padding:12px;
    margin-top:9px;
    font-size:.85rem
}

.ticket-row input {
    width:18px;
    height:18px;
    accent-color:var(--teal)
}

.ticket-row small {
    color:var(--muted);
    display:block
}

.ticket-status {
    border-radius:99px;
    padding:5px 8px;
    background:#e7f5ec;
    color:#257144;
    font-size:.72rem;
    font-weight:900
}

.ticket-status.unpaid {
    background:#fff0e5;
    color:#9a4d14
}

.ticket-summary {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin:16px 0 12px;
    padding-top:15px;
    border-top:1px solid var(--line);
    font-weight:900
}

.ticket-email {
    background:#fff;
    border:1px solid var(--line);
    border-radius:9px;
    padding:10px 12px;
    margin-bottom:9px;
    color:var(--ink);
    font-size:.85rem
}

.ticket-email small {
    display:block;
    color:var(--muted);
    font-weight:750
}

.ticket-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px
}

.ticket-actions button {
    border:0;
    border-radius:9px;
    padding:11px;
    background:var(--teal);
    color:#fff;
    font-weight:850
}

.ticket-actions button:last-child {
    background:#fff;
    color:var(--teal2);
    border:1px solid var(--line)
}

.proof-row {
    display:flex;
    flex-wrap:wrap;
    gap:7px 14px;
    margin-top:14px;
    padding:9px 11px;
    border:1px solid #d7dcdb;
    border-radius:8px;
    color:#36514e;
    font-size:clamp(.36rem,.7vw,.68rem);
    font-weight:800
}

.proof-row span:before {
    content:".";
    color:var(--teal);
    margin-right:4px
}

    .records {
    background:#092e2d;
    color:white
}

.records .feature-grid {
    grid-template-columns:1fr 1fr
}

.records .copy>p {
    color:#c7ddda
}

.records .checks li {
    color:#e9f5f3
}

.records .checks li:before {
    color:#73d8ce
}

.phone {
    width:min(100%,500px);
    margin:auto;
    background:#0d1b1a;
    border:1px solid #3c5c58;
    border-radius:28px;
    padding:18px;
    box-shadow:0 30px 80px rgba(0,0,0,.35)
}

.search {
    border:1px solid #48615e;
    border-radius:12px;
    padding:13px 15px;
    color:#9cb1ae;
    margin-bottom:15px
}

.receipt {
    background:#142523;
    border:1px solid #46615e;
    border-radius:16px;
    padding:18px
}

.receipt-head {
    display:flex;
    justify-content:space-between;
    gap:12px;
    font-size:1.1rem;
    font-weight:900
}

.receipt-date {
    color:#a9b9b6;
    margin:3px 0 15px
}

.receipt-grid {
    border-top:1px solid #38504d;
    padding-top:14px;
    display:grid;
    grid-template-columns:auto 1fr auto 1fr;
    gap:11px 13px;
    font-size:.88rem
}

.receipt-grid span {
    color:#93aaa7
}

.receipt-grid strong {
    text-align:right
}

.expense-breakdown {
    margin-top:15px;
    padding:9px;
    background:#0f1f1d;
    border:1px solid #38504d;
    border-radius:11px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px
}

.expense-breakdown div {
    padding:9px 8px;
    background:#1b302e;
    border-radius:8px
}

.expense-breakdown small,.expense-breakdown strong {
    display:block
}

.expense-breakdown small {
    color:#93aaa7;
    font-size:.68rem;
    line-height:1.25
}

.expense-breakdown strong {
    color:#fff;
    margin-top:4px;
    font-size:.9rem
}

.expense-breakdown .total {
    background:#0b4c49
}

.core {
    background:#45391f;
    color:#f7cc61;
    border-radius:10px;
    padding:12px;
    margin-top:16px;
    display:flex;
    justify-content:space-between;
    font-weight:850
}

.card-buttons {
    display:flex;
    gap:10px;
    justify-content:flex-end;
    margin-top:14px
}

.card-buttons button {
    border:0;
    border-radius:9px;
    padding:10px 15px;
    background:#233937;
    color:#88dfd5;
    font-weight:800
}

.card-buttons .view {
    margin-right:auto;
    background:#72d3c9;
    color:#092e2d
}

.replacement-note {
    margin:22px 0 0;
    background:rgba(255,255,255,.08);
    border:1px solid #3c5c58;
    border-radius:13px;
    padding:17px
}

.replacement-note strong {
    display:block;
    color:#8ce1d8;
    margin-bottom:6px;
    font-size:1.02rem
}

.replacement-note span {
    color:#d3e5e2;
    font-size:.92rem
}

.resale-feature {
    margin-top:48px;
    background:linear-gradient(120deg,#eefcf9 0%,#d9f3ee 100%);
    border:2px solid #72d3c9;
    border-radius:24px;
    padding:clamp(28px,4vw,48px);
    display:grid;
    grid-template-columns:.94fr 1.06fr;
    gap:clamp(28px,5vw,66px);
    align-items:center;
    color:var(--ink);
    box-shadow:0 26px 70px rgba(0,0,0,.25)
}

.resale-kicker {
    display:block;
    color:#bd5310;
    font-size:.8rem;
    font-weight:950;
    letter-spacing:.13em;
    text-transform:uppercase;
    margin-bottom:12px
}

.resale-feature h3 {
    font-size:clamp(2.1rem,4vw,3.65rem);
    line-height:1.02;
    letter-spacing:-.055em;
    margin:0 0 17px
}

.resale-feature p {
    margin:0;
    color:#3f5551;
    font-size:1.05rem
}

.resale-points {
    display:grid;
    gap:11px
}

.resale-point {
    position:relative;
    background:#fff;
    border:1px solid #badbd5;
    border-radius:13px;
    padding:15px 16px 15px 50px;
    font-weight:900;
    color:#163b38
}

.resale-point:before {
    content:".";
    position:absolute;
    left:16px;
    top:13px;
    width:24px;
    height:24px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--teal);
    color:#fff;
    font-size:.84rem
}

.resale-share {
    margin-top:15px!important;
    padding:14px 16px;
    border-radius:12px;
    background:#0b4c49;
    color:#fff!important;
    font-weight:750
}

.resale-share strong {
    color:#9ce5dc
}

    .reminders {
    background:#edf4f3
}

.reminder-layout {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:52px;
    align-items:center
}

.reminder-copy h2 {
    font-size:clamp(2rem,4vw,3.5rem);
    line-height:1.06;
    letter-spacing:-.05em;
    margin:10px 0 16px
}

.reminder-copy>p {
    color:var(--muted);
    font-size:1.06rem
}

.delivery-choice {
    display:flex;
    gap:9px;
    flex-wrap:wrap;
    margin-top:22px
}

.delivery-choice span {
    background:#fff;
    border:1px solid #cddbd8;
    border-radius:99px;
    padding:9px 13px;
    color:var(--teal2);
    font-weight:850
}

.reminder-board {
    background:#fff;
    border:1px solid var(--line);
    border-radius:22px;
    padding:22px;
    box-shadow:var(--shadow)
}

.reminder-board-head {
    display:flex;
    justify-content:space-between;
    gap:15px;
    align-items:center;
    padding-bottom:15px;
    border-bottom:1px solid var(--line)
}

.reminder-board-head h3 {
    margin:0
}

.reminder-board-head span {
    background:var(--mint);
    color:var(--teal2);
    border-radius:99px;
    padding:6px 10px;
    font-size:.75rem;
    font-weight:900
}

.reminder-item {
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:12px;
    align-items:center;
    padding:16px 0;
    border-bottom:1px solid var(--line)
}

.reminder-item:last-child {
    border-bottom:0;
    padding-bottom:0
}

.reminder-icon {
    width:40px;
    height:40px;
    border-radius:11px;
    background:#e6f5f2;
    color:var(--teal);
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:950
}

.reminder-item strong,.reminder-item small {
    display:block
}

.reminder-item small {
    color:var(--muted);
    margin-top:2px
}

.reminder-due {
    text-align:right;
    color:var(--teal2);
    font-weight:900;
    font-size:.82rem
}

.reminder-due.warn {
    color:#aa5519
}

    .pricing {
    background:#f4f7f6
}

.driver-plan {
    display:grid;
    grid-template-columns:1.2fr .76fr 1.1fr auto;
    gap:24px;
    align-items:center;
    margin-bottom:22px;
    padding:27px;
    background:#092e2d;
    color:#fff;
    border-radius:20px;
    box-shadow:var(--shadow)
}

.driver-plan h3 {
    font-size:1.55rem;
    line-height:1.15;
    margin:5px 0 8px
}

.driver-plan p {
    margin:0;
    color:#c7ddda
}

.driver-plan .kicker {
    color:#ff9a54
}

.driver-plan-price .intro-price {
    color:#8ce1d8
}

.driver-plan-price .intro-term {
    color:#c7ddda
}

.driver-plan-price .regular-price {
    color:#fff
}

.driver-plan-features>strong {
    display:block;
    margin-bottom:7px;
    color:#fff
}

.driver-plan ul {
    margin:0;
    padding-left:20px;
    color:#eaf5f3;
    font-size:.9rem
}

.free-offer {
    margin:0 0 17px;
    padding:14px 15px;
    border:1px solid #aadbd5;
    border-radius:12px;
    background:#e7f7f4;
    color:var(--teal2)
}

.free-offer strong {
    display:block;
    margin-bottom:3px;
    font-size:.82rem;
    letter-spacing:.1em;
    text-transform:uppercase
}

.free-offer span {
    display:block;
    font-weight:900;
    line-height:1.35
}

.driver-plan .free-offer {
    background:rgba(114,211,201,.12);
    border-color:#4e817c;
    color:#fff
}

.paid-label {
    margin:0 0 8px;
    color:var(--muted);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase
}

.driver-plan .paid-label {
    color:#a9cbc7
}

.plan-actions {
    display:grid;
    gap:8px;
    margin-top:auto
}

.plan-actions .btn {
    width:100%;
    text-align:center
}

.free-link {
    display:block;
    padding:10px 8px;
    text-align:center;
    color:var(--teal2);
    font-weight:950
}

.free-link:hover {
    text-decoration:underline
}

.driver-plan .btn {
    background:#fff;
    color:var(--teal2);
    white-space:nowrap
}

.driver-plan .free-link {
    color:#91e3da;
    white-space:nowrap
}

.pricing-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    align-items:stretch
}

.price-card {
    position:relative;
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:30px 26px;
    display:flex;
    flex-direction:column;
    box-shadow:0 10px 35px rgba(16,55,52,.06)
}

.price-card.featured {
    border:2px solid var(--teal);
    box-shadow:0 18px 50px rgba(0,107,104,.15)
}

.best-value {
    margin:-30px -26px 22px;
    padding:9px;
    text-align:center;
    border-radius:18px 18px 0 0;
    background:var(--teal);
    color:#fff;
    font-size:.78rem;
    font-weight:950;
    letter-spacing:.1em
}

.price-card h3 {
    margin:0 0 15px;
    font-size:1.25rem
}

.intro-price {
    color:var(--teal);
    font-size:2.55rem;
    line-height:1;
    font-weight:950;
    letter-spacing:-.05em
}

.intro-price small {
    font-size:1rem;
    letter-spacing:0
}

.intro-term {
    margin:8px 0 3px;
    color:var(--muted)
}

.regular-price {
    font-size:1.1rem;
    font-weight:900
}

.plan-copy {
    min-height:76px;
    margin:24px 0 12px;
    padding-top:20px;
    border-top:1px solid var(--line);
    color:var(--muted)
}

.plan-features {
    list-style:none;
    padding:0;
    margin:0 0 20px;
    color:#30413f;
    font-size:.92rem
}

.plan-features li {
    position:relative;
    padding:5px 0 5px 22px
}

.plan-features li:before {
    content:".";
    position:absolute;
    left:0;
    color:var(--teal);
    font-weight:950
}

.included {
    font-weight:850;
    margin:0 0 8px
}

.vehicle-features {
    margin-bottom:20px
}

.price-card .plan-actions {
    margin-top:auto
}

.vehicle-price {
    margin-top:24px;
    padding:18px 22px;
    border-radius:14px;
    background:var(--mint);
    color:var(--teal2);
    text-align:center;
    font-size:1.02rem
}

.vehicle-price strong {
    font-weight:950
}

.pricing-note {
    text-align:center;
    color:var(--muted);
    font-size:.9rem;
    margin:14px 0 0
}

    .credentials {
    background:#fff
}

.cred-wrap {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:44px 60px;
    align-items:center
}

.cred-intro {
    grid-column:1/-1;
    max-width:900px
}

.cred-intro h2 {
    font-size:clamp(2rem,4vw,3.5rem);
    line-height:1.06;
    letter-spacing:-.05em;
    margin:10px 0 16px
}

.cred-intro p {
    color:var(--muted);
    font-size:1.08rem;
    margin:0
}

.permit-flow {
    grid-column:1/-1;
    background:#092e2d;
    color:#fff;
    border-radius:18px;
    padding:22px 24px;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:16px;
    align-items:center
}

.permit-flow strong {
    font-size:1.1rem
}

.flow-steps {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:9px
}

.flow-step {
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.16);
    border-radius:10px;
    padding:10px;
    font-size:.83rem;
    font-weight:750
}

.flow-step span {
    display:block;
    color:#82ded4;
    font-weight:950;
    font-size:.72rem
}

.vehicle-form {
    background:#f3f7f6;
    border:1px solid var(--line);
    border-radius:20px;
    padding:23px;
    box-shadow:var(--shadow)
}

.form-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px
}

.form-head h3 {
    margin:0
}

.form-step {
    display:flex;
    align-items:center;
    gap:9px;
    margin:16px 0 10px;
    color:var(--teal2);
    font-weight:900
}

.form-step span {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:27px;
    height:27px;
    border-radius:50%;
    background:var(--teal);
    color:#fff;
    font-size:.82rem
}

.form-step.done span {
    background:var(--mint);
    color:var(--teal2)
}

.fields {
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:10px
}

.field {
    background:#fff;
    border:1px solid var(--line);
    padding:12px;
    border-radius:10px
}

.field small {
    color:var(--muted);
    display:block
}

.cred-cards {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:12px
}

.cred {
    background:white;
    border:1px solid var(--line);
    border-radius:12px;
    padding:0 16px 16px;
    overflow:hidden
}

.cred-price {
    margin:0 -16px 15px;
    padding:10px 16px;
    background:var(--teal2);
    color:#fff;
    font-weight:950;
    font-size:1.35rem;
    display:flex;
    align-items:baseline;
    gap:5px
}

.cred-price small {
    color:#c9e8e4;
    font-size:.72rem
}

.cred b {
    display:block;
    margin-bottom:3px;
    font-size:1.05rem
}

.cred>small {
    color:var(--muted);
    display:block;
    min-height:42px
}

.cred-action {
    display:block;
    text-align:center;
    margin-top:14px;
    padding:9px;
    border-radius:8px;
    background:var(--teal);
    color:#fff;
    font-weight:850;
    font-size:.84rem
}

.delivery {
    margin-top:12px;
    padding:13px;
    border-radius:10px;
    background:var(--mint);
    color:var(--teal2);
    font-weight:750
}

.footer {
    background:#071d1c;
    color:#b9cdca;
    padding:40px 0
}

.footer .wrap {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:28px;
    flex-wrap:wrap
}

.footer strong {
    color:white
}

.footer-contact {
    display:grid;
    gap:4px
}

.footer-contact a {
    color:#9ce5dc;
    text-decoration:none;
    font-weight:800
}

.footer-contact a:hover {
    text-decoration:underline
}

    @media(max-width:820px) {
    .navlinks a {
    display:none
}

.hero-grid,.feature-grid,.records .feature-grid,.cred-wrap,.ticket-grid,.reminder-layout,.resale-feature {
    grid-template-columns:1fr
}

.hero-grid {
    padding:52px 0 64px;
    gap:38px
}

.hero h1 {
    font-size:3.15rem
}

.truck-card {
    max-width:540px
}

.audience-grid {
    grid-template-columns:1fr
}

.steps {
    grid-template-columns:1fr
}

.invoice-section .copy {
    order:0
}

.invoice-stage {
    min-height:360px
}

.sheet.landscape {
    width:112%;
    transform:scale(.89)
}

.sheet.portrait {
    width:67%
}

.records .copy {
    order:0
}

.phone {
    order:1
}

.ticket-grid {
    gap:35px
}

.driver-plan {
    grid-template-columns:1fr 1fr
}

.driver-plan-copy,.driver-plan .plan-actions {
    grid-column:1/-1
}

.driver-plan .btn {
    width:100%
}

.pricing-grid {
    grid-template-columns:1fr;
    max-width:560px;
    margin:auto
}

.price-card.featured {
    order:-1
}

.plan-copy {
    min-height:auto
}

.cred-wrap {
    gap:35px
}

.permit-flow {
    grid-template-columns:1fr;
    margin-bottom:0
}

.flow-steps {
    grid-template-columns:1fr 1fr
}

.footer .wrap {
    align-items:flex-start;
    gap:18px;
    flex-direction:column
}

section {
    padding:72px 0
}

}

    @media(max-width:820px) {
    .menu-toggle {
    display:flex
}

.mobile-menu.open {
    display:grid
}

}

    @media(max-width:560px) {
    .wrap {
    width:min(100% - 24px,1160px)
}

.nav {
    height:60px
}

.nav .btn {
    padding:10px 13px
}

.hero h1 {
    font-size:clamp(1.9rem,7.5vw,2.5rem);
    letter-spacing:-.04em
}

.hero-grid {
    min-height:auto;
    gap:28px;
    padding:36px 0 44px
}

.hero-features {
    grid-template-columns:1fr;
    gap:7px
}

.hero-feature {
    min-height:auto;
    padding:10px 12px
}

.hero-feature strong {
    font-size:.88rem
}

.hero-feature span {
    font-size:.73rem
}

.hero-feature.wide {
    grid-column:auto
}

.actions {
    grid-template-columns:1fr
}

.hero .actions .btn {
    min-height:64px
}

.truck-card {
    padding:18px
}

.truck-top {
    padding-bottom:14px
}

.rig {
    height:115px;
    margin:14px 0
}

.truck-data {
    gap:8px
}

.data {
    padding:10px
}

.connected {
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:12px
}

.inspection-due {
    grid-column:1/-1
}

.section-head {
    text-align:left
}

.invoice-stage {
    min-height:300px
}

.sheet {
    padding:10px
}

.sheet.landscape {
    width:123%;
    transform:scale(.8)
}

.sheet.portrait {
    width:72%
}

.receipt-grid {
    grid-template-columns:auto 1fr
}

.receipt-grid strong {
    text-align:right
}

.resale-feature {
    margin-top:36px;
    padding:26px 20px;
    border-left-width:6px
}

.resale-feature h3 {
    font-size:2.15rem
}

.resale-feature p {
    font-size:1rem
}

.resale-point {
    font-size:.95rem
}

.ticket-row {
    grid-template-columns:auto 1fr auto
}

.ticket-row>div:nth-child(3) {
    display:none
}

.ticket-actions {
    grid-template-columns:1fr
}

.driver-plan {
    grid-template-columns:1fr
}

.driver-plan-copy {
    grid-column:auto
}

.fields,.cred-cards,.flow-steps {
    grid-template-columns:1fr
}

.reminder-item {
    grid-template-columns:auto 1fr
}

.reminder-due {
    grid-column:2;
    text-align:left
}

}

    .invoice-note {
    font-weight:750;
    color:var(--ink)!important
}

.invoice-actions {
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap
}

.invoice-actions>span {
    color:var(--muted);
    font-size:.85rem
}

    .rig {
    padding:12px;
    background:#fff
}

.rig:before,.rig:after {
    display:none
}

.rig img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain
}

.connected .inspection-due {
    background:#fff0e5;
    color:#93440f
}

    .repair-proof-card {
    background:#fff;
    border:1px solid #badbd5;
    border-radius:13px;
    padding:16px;
    color:#163b38
}

.repair-proof-title {
    margin:0 0 11px;
    font-size:.78rem;
    font-weight:950;
    letter-spacing:.09em;
    text-transform:uppercase;
    color:#0b4c49
}

.repair-photo-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
}

.repair-photo {
    margin:0;
    min-width:0
}

.repair-photo img {
    display:block;
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    object-position:center;
    border:1px solid #d4e3e0;
    border-radius:9px;
    background:#0d1b1a
}

.repair-photo figcaption {
    margin-top:7px;
    text-align:center;
    font-size:.72rem;
    line-height:1.2;
    font-weight:950;
    color:#164a46;
    text-transform:uppercase
}

.repair-proof-meta {
    display:flex;
    align-items:center;
    gap:9px;
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid #d5e5e2;
    font-size:.82rem;
    font-weight:900;
    color:#164a46
}

.repair-proof-meta span {
    display:inline-flex;
    flex:0 0 24px;
    width:24px;
    height:24px;
    align-items:center;
    justify-content:center;
    border-radius:7px;
    background:#e2f5f2;
    color:var(--teal);
    font-weight:950
}

    @media(max-width:560px) {
    section {
    padding:56px 0
}

.hero-grid {
    padding:44px 0 52px
}

.resale-feature {
    margin-top:28px;
    padding:22px 18px
}

.repair-proof-card {
    padding:13px
}

.repair-photo-grid {
    gap:7px
}

.repair-photo figcaption {
    font-size:.66rem
}

}
/* ── iPhone XR / 12 Pro and similar (≤430px) ─────────────────────── */
@media(max-width:430px) {
    body {
        overflow-x:hidden
    }

    .wrap {
        width:calc(100% - 20px)
    }

    /* Nav: only show hamburger, never the inline buttons */
    .navlinks {
        display:none !important
    }

    .menu-toggle {
        display:flex
    }

    /* Hero */
    .hero h1 {
        font-size:clamp(1.75rem,7vw,2.1rem);
        letter-spacing:-.03em;
        margin:12px 0 14px
    }

    .hero p {
        font-size:.97rem
    }

    .eyebrow {
        font-size:.75rem
    }

    .hero-grid {
        padding:30px 0 40px;
        gap:24px
    }

    /* Feature tiles: single column, compact */
    .hero-features {
        grid-template-columns:1fr;
        gap:6px;
        margin:0 0 16px
    }

    .hero-feature {
        min-height:auto;
        padding:9px 11px
    }

    /* CTA buttons in hero */
    .actions {
        grid-template-columns:1fr;
        gap:9px
    }

    .hero .actions .btn {
        min-height:56px;
        padding:12px 14px
    }

    .hero .actions .btn strong {
        font-size:.95rem
    }

    .hero .actions .btn small {
        font-size:.73rem
    }

    /* Truck card */
    .truck-card {
        padding:14px;
        border-radius:18px
    }

    .truck-data {
        grid-template-columns:1fr 1fr;
        gap:6px
    }

    .data {
        padding:8px
    }

    .connected {
        grid-template-columns:1fr 1fr;
        gap:6px
    }

    .inspection-due {
        grid-column:1/-1
    }

    /* Sections */
    section {
        padding:48px 0
    }

    .audience {
        padding:44px 0
    }

    /* Audience cards */
    .audience-card {
        padding:18px
    }

    /* Sheets / invoice preview */
    .sheet.landscape {
        width:130%;
        transform:scale(.75);
        transform-origin:center top
    }

    .invoice-stage {
        min-height:260px;
        overflow:hidden
    }
}