.pdl-page{
    --ink:#161719;
    --copy:#62666b;
    --line:#dedfe1;
    --soft:#f6f6f4;
    --cream:#f8f3e8;
    --red:#e51d2a;
    --red-dark:#c91520;
    --white:#fff;

    padding:22px 0 50px;
    background:#f7f7f5;
    color:var(--ink);
}

.pdl-page *,
.pdl-page *::before,
.pdl-page *::after{
    box-sizing:border-box;
}

.pdl-wrap{
    width:min(1240px,calc(100% - 40px));
    margin:0 auto;
}

.pdl-breadcrumb{
    display:flex;
    align-items:center;
    gap:9px;
    padding:4px 2px 18px;
    color:#777b80;
    font-size:14px;
    line-height:1.4;
}

.pdl-breadcrumb a{
    color:inherit;
    text-decoration:none;
}

.pdl-breadcrumb a:hover{
    color:var(--ink);
}

.pdl-card{
    border:1px solid var(--line);
    border-radius:24px;
    background:var(--white);
}

.pdl-hero{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(320px,.7fr);
    gap:18px;
    padding:22px;
    background:var(--cream);
}

.pdl-hero-main{
    display:flex;
    min-height:390px;
    flex-direction:column;
    justify-content:center;
    padding:34px 30px;
}

.pdl-kicker{
    margin-bottom:10px;
    color:var(--red);
    font-size:13px;
    line-height:1.3;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.pdl-hero h1{
    max-width:760px;
    margin:0;
    color:var(--ink);
    font-size:clamp(42px,5vw,68px);
    line-height:.98;
    font-weight:650;
    letter-spacing:-.05em;
}

.pdl-hero-copy{
    max-width:730px;
    margin:22px 0 0;
    color:#555a5f;
    font-size:18px;
    line-height:1.65;
}

.pdl-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:28px;
}

.pdl-btn{
    display:inline-flex;
    min-height:52px;
    align-items:center;
    justify-content:center;
    padding:0 20px;
    border-radius:11px;
    color:#fff !important;
    font-size:15px;
    font-weight:800;
    line-height:1.2;
    text-decoration:none !important;
}

.pdl-btn--red{
    background:var(--red);
}

.pdl-btn--red:hover{
    background:var(--red-dark);
}

.pdl-btn--dark{
    background:#1b1d20;
}

.pdl-hero-panel{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:31px;
    border-radius:18px;
    background:#191b1e;
    color:#fff;
}

.pdl-panel-label{
    margin-bottom:12px;
    color:#f5a1a6;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.pdl-hero-panel h2{
    margin:0 0 24px;
    color:#fff;
    font-size:29px;
    line-height:1.12;
    letter-spacing:-.025em;
}

.pdl-quick{
    display:grid;
    gap:9px;
}

.pdl-quick a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:14px 15px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:11px;
    background:rgba(255,255,255,.055);
    color:#fff !important;
    text-decoration:none !important;
}

.pdl-quick a:hover{
    background:rgba(255,255,255,.1);
}

.pdl-quick span{
    color:#c8cbd0;
    font-size:13px;
}

.pdl-quick strong{
    font-size:14px;
}

.pdl-notice{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:17px;
    align-items:center;
    margin-top:16px;
    padding:20px 23px;
    border:1px solid #e7d8b9;
    border-radius:17px;
    background:#fff9ec;
}

.pdl-notice-badge{
    display:flex;
    width:58px;
    height:58px;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    background:#1c1e20;
    color:#fff;
    font-size:13px;
    font-weight:900;
}

.pdl-notice strong{
    display:block;
    margin-bottom:4px;
    font-size:17px;
}

.pdl-notice p{
    margin:0;
    color:#666158;
    font-size:15px;
    line-height:1.55;
}

.pdl-section{
    margin-top:18px;
    padding:38px;
}

.pdl-section--cream{
    background:var(--cream);
}

.pdl-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:25px;
    margin-bottom:25px;
}

.pdl-section-head>div{
    max-width:760px;
}

.pdl-section-head h2{
    margin:0;
    color:var(--ink);
    font-size:clamp(29px,3.2vw,42px);
    line-height:1.08;
    letter-spacing:-.035em;
}

.pdl-section-head p{
    margin:11px 0 0;
    color:var(--copy);
    font-size:16px;
    line-height:1.6;
}

.pdl-text-link{
    flex:0 0 auto;
    color:var(--red) !important;
    font-size:14px;
    font-weight:800;
    text-decoration:none !important;
}

.pdl-task-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:13px;
}

.pdl-task{
    display:flex;
    min-height:245px;
    flex-direction:column;
    justify-content:space-between;
    padding:23px;
    border:1px solid #dfe0e2;
    border-radius:16px;
    background:#fff;
    color:var(--ink) !important;
    text-decoration:none !important;
    transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}

.pdl-task:hover,
.pdl-task:focus-visible{
    transform:translateY(-2px);
    border-color:#b9bcc0;
    box-shadow:0 8px 24px rgba(0,0,0,.05);
}

.pdl-task--featured{
    background:#fdf7f7;
    border-color:#efcdd0;
}

.pdl-tag{
    display:inline-flex;
    margin-bottom:15px;
    padding:6px 9px;
    border-radius:999px;
    background:#f2f2f1;
    color:#64686d;
    font-size:11px;
    line-height:1;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.pdl-task--featured .pdl-tag{
    background:#f9e1e3;
    color:#b31720;
}

.pdl-task h3{
    margin:0 0 9px;
    color:var(--ink);
    font-size:21px;
    line-height:1.2;
    letter-spacing:-.015em;
}

.pdl-task p{
    margin:0;
    color:var(--copy);
    font-size:15px;
    line-height:1.55;
}

.pdl-task-go{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:23px;
    padding-top:15px;
    border-top:1px solid #ededed;
    color:#33373b;
    font-size:14px;
    font-weight:800;
}

.pdl-task-go b{
    color:var(--red);
    font-size:19px;
}

.pdl-fee-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.pdl-fee{
    display:flex;
    min-height:180px;
    flex-direction:column;
    padding:21px;
    border:1px solid #e1ddd3;
    border-radius:15px;
    background:#fff;
    color:var(--ink) !important;
    text-decoration:none !important;
}

.pdl-fee span{
    color:var(--copy);
    font-size:14px;
    font-weight:700;
}

.pdl-fee strong{
    margin:12px 0;
    color:var(--ink);
    font-size:34px;
    line-height:1;
    letter-spacing:-.03em;
}

.pdl-fee em{
    margin-top:auto;
    color:var(--red);
    font-size:13px;
    font-style:normal;
    font-weight:800;
}

.pdl-form-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:13px;
}

.pdl-form-card{
    display:flex;
    min-height:245px;
    flex-direction:column;
    padding:23px;
    border:1px solid #dedfe1;
    border-radius:16px;
    background:#fafafa;
    color:var(--ink) !important;
    text-decoration:none !important;
}

.pdl-form-card:hover{
    border-color:#b8bbc0;
    background:#fff;
}

.pdl-form-status{
    align-self:flex-start;
    margin-bottom:17px;
    padding:6px 9px;
    border-radius:999px;
    background:#efebe2;
    color:#6a6255;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
}

.pdl-form-status--download{
    background:#e6f2e7;
    color:#36663a;
}

.pdl-form-card h3{
    margin:0 0 4px;
    color:var(--ink);
    font-size:30px;
    letter-spacing:-.03em;
}

.pdl-form-card strong{
    font-size:16px;
}

.pdl-form-card p{
    margin:11px 0 20px;
    color:var(--copy);
    font-size:14px;
    line-height:1.55;
}

.pdl-form-card em{
    margin-top:auto;
    color:var(--red);
    font-size:13px;
    font-style:normal;
    font-weight:800;
}

.pdl-link-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.pdl-link-grid a{
    display:flex;
    min-height:92px;
    flex-direction:column;
    justify-content:center;
    padding:18px 19px;
    border:1px solid #e0e1e2;
    border-radius:13px;
    background:#fafafa;
    color:var(--ink) !important;
    text-decoration:none !important;
}

.pdl-link-grid a:hover{
    background:#fff;
    border-color:#b9bcc0;
}

.pdl-link-grid strong{
    margin-bottom:5px;
    font-size:15px;
}

.pdl-link-grid span{
    color:var(--copy);
    font-size:13px;
    line-height:1.4;
}

.pdl-sourcebar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    margin-top:18px;
    padding:22px 25px;
    border-radius:16px;
    background:#1b1d20;
    color:#fff;
}

.pdl-sourcebar>div{
    max-width:780px;
}

.pdl-sourcebar strong{
    display:block;
    margin-bottom:4px;
    font-size:15px;
}

.pdl-sourcebar span{
    color:#c7c9cc;
    font-size:13px;
    line-height:1.5;
}

.pdl-sourcebar>a{
    flex:0 0 auto;
    color:#fff !important;
    font-size:13px;
    font-weight:800;
    text-decoration:none !important;
}

.pdl-cars-wrap{
    margin-top:18px;
}

/* Keep the shared vehicle module within this hub's content width. */
.pdl-cars-wrap .pc-cars-section{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
}

/* Strong keyboard focus for every large clickable surface. */
.pdl-page a:focus-visible{
    outline:3px solid rgba(229,29,42,.35);
    outline-offset:3px;
}

@media(max-width:980px){
    .pdl-hero{
        grid-template-columns:1fr;
    }

    .pdl-hero-main{
        min-height:0;
    }

    .pdl-task-grid,
    .pdl-form-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .pdl-fee-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .pdl-link-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:680px){
    .pdl-page{
        padding-top:12px;
    }

    .pdl-wrap{
        width:calc(100% - 24px);
    }

    .pdl-card{
        border-radius:18px;
    }

    .pdl-hero{
        padding:12px;
    }

    .pdl-hero-main{
        padding:25px 13px 20px;
    }

    .pdl-hero h1{
        font-size:40px;
    }

    .pdl-hero-copy{
        font-size:16px;
    }

    .pdl-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .pdl-btn{
        width:100%;
    }

    .pdl-hero-panel{
        padding:23px 19px;
    }

    .pdl-notice{
        grid-template-columns:1fr;
    }

    .pdl-section{
        padding:27px 18px;
    }

    .pdl-section-head{
        display:block;
    }

    .pdl-text-link{
        display:inline-block;
        margin-top:14px;
    }

    .pdl-task-grid,
    .pdl-fee-grid,
    .pdl-form-grid,
    .pdl-link-grid{
        grid-template-columns:1fr;
    }

    .pdl-task{
        min-height:210px;
    }

    .pdl-fee{
        min-height:145px;
    }

    .pdl-form-card{
        min-height:215px;
    }

    .pdl-sourcebar{
        display:block;
    }

    .pdl-sourcebar>a{
        display:inline-block;
        margin-top:15px;
    }
}

/* =========================================================
   LICENCE CONTENT PAGES
   ========================================================= */

.pdl-quick-static{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:14px 15px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:11px;
    background:rgba(255,255,255,.055);
}

.pdl-quick-static span{
    color:#c8cbd0;
    font-size:13px;
}

.pdl-quick-static strong{
    color:#fff;
    font-size:14px;
    text-align:right;
}

.pdl-content{
    max-width:900px;
    color:#555a5f;
    font-size:16px;
    line-height:1.75;
}

.pdl-content p{
    margin:0 0 18px;
}

.pdl-content p:last-child{
    margin-bottom:0;
}

.pdl-content strong{
    color:#1b1d20;
}

.pdl-content ul,
.pdl-content ol{
    margin:16px 0 0;
    padding-left:22px;
}

.pdl-content li{
    margin:8px 0;
}

.pdl-info-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.pdl-info-box{
    padding:22px;
    border:1px solid #dfe0e2;
    border-radius:15px;
    background:#fafafa;
}

.pdl-info-box h3{
    margin:0 0 8px;
    color:#17191b;
    font-size:18px;
}

.pdl-info-box p{
    margin:0;
    color:#62666b;
    font-size:15px;
    line-height:1.6;
}

@media(max-width:680px){
    .pdl-info-grid{
        grid-template-columns:1fr;
    }

    .pdl-quick-static{
        align-items:flex-start;
    }
}

/* =========================================================
   FULL LICENCE SILO INTERNAL LINKS
   ========================================================= */

.pdl-link-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.pdl-link-grid > a{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:112px;
    padding:20px 52px 20px 20px;
    border:1px solid #dedfe1;
    border-radius:15px;
    background:#fff;
    color:#17191b;
    text-decoration:none !important;
    transition:
        border-color .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}

.pdl-link-grid > a::after{
    content:"→";
    position:absolute;
    right:20px;
    top:50%;
    transform:translateY(-50%);
    font-size:21px;
    line-height:1;
    color:#17191b;
}

.pdl-link-grid > a:hover{
    transform:translateY(-2px);
    border-color:#bfc1c4;
    box-shadow:0 8px 24px rgba(0,0,0,.055);
}

.pdl-link-grid strong{
    display:block;
    margin-bottom:5px;
    color:#17191b;
    font-size:17px;
    line-height:1.3;
}

.pdl-link-grid span{
    display:block;
    color:#6a6e73;
    font-size:14px;
    line-height:1.5;
}

.pdl-text-link{
    display:inline-flex;
    align-items:center;
    color:#1b1d20 !important;
    font-weight:700;
    text-decoration:none !important;
}

@media(max-width:720px){

    .pdl-link-grid{
        grid-template-columns:1fr;
    }

    .pdl-link-grid > a{
        min-height:94px;
        padding:17px 48px 17px 17px;
    }

    .pdl-link-grid > a::after{
        right:17px;
    }
}

