:root {
    --pl-ink: #17231d;
    --pl-moss: #344038;
    --pl-forest: #26372d;
    --pl-sage: #dfe8df;
    --pl-paper: #fbfcfa;
    --pl-soft: #f1f4f0;
    --pl-muted: #657169;
    --pl-gold: #b99257;
    --pl-line: rgba(23, 35, 29, 0.13);
    --pl-shadow: rgba(25, 42, 33, 0.12);
}

html { scroll-behavior: smooth; }

body.private-label-page {
    background: var(--pl-paper);
    color: var(--pl-ink);
}

.private-label-page main { overflow: clip; }

.pl-shell {
    width: min(1240px, calc(100% - 64px));
}

.pl-section { padding: clamp(76px, 8vw, 112px) 0; }

.pl-eyebrow {
    margin-bottom: 16px;
    color: #738579;
    font-size: 0.76rem;
    font-weight: 760;
    letter-spacing: 0.18em;
}

.pl-heading {
    max-width: 720px;
    margin: 0 auto clamp(44px, 5vw, 68px);
}

.pl-heading h2,
.pl-lab-copy h2,
.pl-studio-copy h2 {
    margin: 0 0 20px;
    color: var(--pl-ink);
    font-size: clamp(2.4rem, 4.6vw, 4.4rem);
    font-weight: 680;
    letter-spacing: -0.055em;
    line-height: 0.98;
}

.pl-heading h2::after,
.pl-lab-copy h2::after,
.pl-studio-copy h2::after { display: none; }

.pl-heading p,
.pl-lab-copy > p,
.pl-studio-copy > p {
    color: var(--pl-muted);
    font-size: clamp(1rem, 1.35vw, 1.12rem);
    line-height: 1.7;
}

/* Original full-width hero, refined with stronger photography */
.pl-hero {
    min-height: 560px;
    margin-top: 100px;
    overflow: hidden;
    background: var(--pl-moss);
}

.pl-hero > img {
    position: absolute;
    inset: -16px 0;
    width: 100%;
    height: calc(100% + 32px);
    object-fit: cover;
    object-position: center 56%;
    transform: translate3d(0, var(--pl-parallax-y, 0), 0) scale(1.045);
    filter: saturate(.92) contrast(1.02);
    animation: pl-hero-focus 1400ms cubic-bezier(.2,.72,.2,1) both;
}

.pl-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(13, 25, 19, .86) 0%, rgba(17, 31, 23, .68) 42%, rgba(17, 31, 23, .2) 76%, rgba(17,31,23,.08) 100%),
        linear-gradient(180deg, rgba(13,25,19,.08), rgba(13,25,19,.25));
    pointer-events: none;
}

.pl-hero::after { display: none; }

.pl-hero-inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    min-height: 560px;
    padding: 58px 0;
    box-sizing: border-box;
}

.pl-hero-copy {
    max-width: 720px;
    padding: 0;
}

.pl-hero-copy .pl-eyebrow {
    color: rgba(255,255,255,.74);
    animation: pl-hero-copy-in 700ms cubic-bezier(.2,.72,.2,1) 120ms both;
}

.pl-hero h1 {
    margin: 0 0 24px;
    color: #fff;
    font-size: clamp(3.6rem, 7vw, 6rem);
    font-weight: 690;
    letter-spacing: -0.06em;
    line-height: .94;
    animation: pl-hero-copy-in 820ms cubic-bezier(.2,.72,.2,1) 190ms both;
}

.pl-hero p:last-of-type {
    max-width: 650px;
    margin: 0;
    color: rgba(255,255,255,.79);
    font-size: clamp(1.04rem, 1.5vw, 1.22rem);
    line-height: 1.68;
    animation: pl-hero-copy-in 820ms cubic-bezier(.2,.72,.2,1) 280ms both;
}

@keyframes pl-hero-focus {
    from { transform: translate3d(0, var(--pl-parallax-y, 0), 0) scale(1.11); filter: saturate(.7) contrast(.94) brightness(.82); }
    to { transform: translate3d(0, var(--pl-parallax-y, 0), 0) scale(1.045); filter: saturate(.92) contrast(1.02) brightness(1); }
}

@keyframes pl-hero-copy-in {
    from { opacity: 0; transform: translate3d(0, 22px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* Brand composition */
.pl-brand-lab { background: var(--pl-paper); }

.pl-lab-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(380px, 0.94fr);
    gap: clamp(58px, 8vw, 118px);
    align-items: center;
}

.pl-lab-visual {
    position: relative;
    min-height: 570px;
}

.pl-lab-visual::before {
    content: "";
    position: absolute;
    inset: 7% 11% 3% 2%;
    border-radius: 26px;
    background: var(--pl-sage);
}

.pl-lab-card {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 22px;
    background: var(--pl-soft);
    box-shadow: 0 22px 54px rgba(24, 42, 32, 0.13);
}

.pl-lab-card img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background: #f7f1e8;
}

.pl-lab-card-main {
    inset: 0 14% 11% 0;
    transform: rotate(-2.2deg);
}

.pl-lab-card-small {
    right: 0;
    bottom: 0;
    width: 46%;
    height: 42%;
    transform: rotate(3deg);
}

.pl-lab-badge {
    right: 6%;
    top: 7%;
    display: flex;
    width: auto;
    height: auto;
    min-width: 168px;
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 18px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 14px;
    background: rgba(38, 55, 45, .91);
    color: #fff;
    text-align: left;
    box-shadow: 0 18px 40px rgba(20, 35, 27, .16);
    backdrop-filter: blur(12px);
}

.pl-lab-badge span {
    margin-bottom: 4px;
    color: rgba(255,255,255,.7);
    font-size: .63rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.pl-lab-badge strong { font-size: 1rem; letter-spacing: -.02em; }

.pl-lab-copy h2 { max-width: 610px; }

.pl-lab-list {
    margin: 36px 0 0;
    padding: 0;
    counter-reset: label-benefit;
}

.pl-lab-list li {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 16px;
    align-items: start;
    padding: 18px 0;
    border-top: 1px solid var(--pl-line);
    color: var(--pl-moss);
    counter-increment: label-benefit;
}

.pl-lab-list li:last-child { border-bottom: 1px solid var(--pl-line); }

.pl-lab-list li::before {
    content: "0" counter(label-benefit);
    padding-top: 2px;
    color: #829188;
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .1em;
}

.pl-lab-list i { display: none; }

.pl-lab-list span { font-size: 1rem; line-height: 1.55; }

/* Open capability band */
.pl-capability-band {
    padding: 0;
    background: var(--pl-moss);
    color: #fff;
}

.pl-capability-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.pl-capability {
    min-height: 330px;
    padding: 70px clamp(30px, 4vw, 56px);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.pl-capability + .pl-capability { border-left: 1px solid rgba(255,255,255,.14); }
.pl-capability::after { display: none; }

.pl-capability span {
    display: block;
    margin-bottom: 42px;
    color: #b9c6bd;
    font-size: .69rem;
    font-weight: 760;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.pl-capability h3 {
    max-width: 300px;
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(1.55rem, 2.2vw, 2.1rem);
    font-weight: 650;
    letter-spacing: -.04em;
    line-height: 1.08;
}

.pl-capability p {
    max-width: 330px;
    margin: 0;
    color: rgba(255,255,255,.67);
    font-size: .98rem;
    line-height: 1.65;
}

/* Packaging split */
.pl-packaging-studio { background: var(--pl-soft); }

.pl-studio-grid {
    display: grid;
    grid-template-columns: minmax(0, .94fr) minmax(450px, 1.06fr);
    gap: clamp(64px, 8vw, 118px);
    align-items: center;
}

.pl-studio-copy h2 { max-width: 650px; }

.pl-studio-copy > p + p { margin-top: 14px; }

.pl-packaging-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 32px 0 0;
    padding: 0;
}

.pl-packaging-pills li {
    padding: 9px 14px;
    border: 1px solid rgba(52, 64, 56, .13);
    border-radius: 999px;
    background: rgba(255,255,255,.55);
    color: #5f7065;
    font-size: .84rem;
    font-weight: 650;
}

.pl-studio-media {
    position: relative;
    min-height: 560px;
    margin: 0;
    overflow: hidden;
    border-radius: 24px;
    background: var(--pl-sage);
    box-shadow: 0 26px 62px rgba(24, 42, 32, .14);
}

.pl-studio-media::before { display: none; }

.pl-studio-media::after {
    content: "Private label · Export supply";
    position: absolute;
    right: 18px;
    bottom: 18px;
    padding: 13px 16px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 12px;
    background: rgba(26, 42, 33, .82);
    color: rgba(255,255,255,.88);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    backdrop-filter: blur(12px);
}

.pl-studio-media > img {
    position: relative;
    inset: auto;
    width: 100%;
    height: calc(100% + 28px);
    border-radius: 0;
    object-fit: cover;
    transform: translate3d(0, var(--pl-parallax-y, 0), 0) scale(1.035);
    box-shadow: none;
    transition: transform 120ms linear;
}

/* Product categories */
.pl-category-showcase { background: var(--pl-paper); }

.pl-category-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.pl-category-card {
    position: relative;
    min-height: 345px;
    padding: 30px 26px 28px;
    overflow: hidden;
    border: 1px solid var(--pl-line);
    border-radius: 18px;
    background: var(--pl-paper);
    box-shadow: none;
    transition: transform 320ms cubic-bezier(.2,.75,.25,1), border-color 260ms ease, background-color 260ms ease;
}

.pl-category-card:first-child { background: #eef3ed; }
.pl-category-card::before { display: none; }

.pl-category-card::after {
    content: "0" counter(pl-category);
    position: absolute;
    right: 18px;
    bottom: 14px;
    color: rgba(52,64,56,.1);
    font-size: 2.6rem;
    font-weight: 750;
    letter-spacing: -.07em;
}

.pl-category-grid { counter-reset: pl-category; }
.pl-category-card { counter-increment: pl-category; }

.pl-category-icon {
    display: grid;
    width: 42px;
    height: 42px;
    margin: 0 0 90px;
    place-items: center;
    border-radius: 12px;
    background: var(--pl-soft);
    color: #6d7f72;
    font-size: .95rem;
}

.pl-category-card h3 {
    margin: 0 0 12px;
    color: var(--pl-ink);
    font-size: 1.27rem;
    font-weight: 670;
    letter-spacing: -.035em;
    line-height: 1.1;
}

.pl-category-card p {
    margin: 0;
    color: var(--pl-muted);
    font-size: .91rem;
    line-height: 1.58;
}

/* Process */
.pl-roadmap {
    padding-bottom: clamp(90px, 10vw, 138px);
    background: var(--pl-moss);
    color: #fff;
}

.pl-roadmap .pl-heading {
    max-width: 780px;
    margin-left: 0;
    text-align: left;
}

.pl-roadmap .pl-eyebrow { color: #b8c5bc; }
.pl-roadmap .pl-heading h2 { color: #fff; }
.pl-roadmap .pl-heading p { color: rgba(255,255,255,.64); }

.pl-roadmap-journey {
    position: relative;
    display: block;
    gap: 0;
    margin-top: 0;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
}

.pl-roadmap-journey::before,
.pl-roadmap-journey::after { display: none; }

.pl-roadmap-line {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    overflow: hidden;
    background: repeating-linear-gradient(90deg, rgba(255,255,255,.16) 0 12px, transparent 12px 18px);
}

.pl-roadmap-progress {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #dfe9e1, #b99257);
    transform: scaleX(var(--pl-progress, 0));
    transform-origin: left center;
    will-change: transform;
}

.pl-roadmap-steps {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
}

.pl-roadmap-step {
    position: relative;
    display: block;
    min-height: 286px;
    padding: 30px 22px 24px;
    border: 1px solid rgba(255,255,255,.12);
    border-top: 3px solid rgba(223,233,225,.5);
    border-radius: 12px;
    background: rgba(255,255,255,.035);
    text-align: left;
    --step-lift: 0px;
}

.pl-roadmap-step:nth-child(odd) { margin-top: 22px; }
.pl-roadmap-step:nth-child(even) { margin-top: 34px; }
.pl-roadmap-step + .pl-roadmap-step { border-left: 1px solid rgba(255,255,255,.12); }

.pl-roadmap-node {
    position: static;
    display: block;
    width: auto;
    height: auto;
    margin: 0 0 66px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #b8c5bc;
    font-size: .72rem;
    font-weight: 760;
    letter-spacing: .12em;
    box-shadow: none;
}

.pl-roadmap-copy {
    position: static;
    width: auto;
    max-width: none;
    padding: 0;
    border: 0;
}
.pl-roadmap-copy::before { display: none; }
.pl-roadmap-icon { display: none; }

.pl-roadmap-step h3 {
    margin: 0 0 14px;
    color: #fff;
    font-size: 1.08rem;
    font-weight: 660;
    letter-spacing: -.025em;
    line-height: 1.2;
}

.pl-roadmap-step p {
    margin: 0;
    color: rgba(255,255,255,.58);
    font-size: .88rem;
    line-height: 1.55;
}

/* Private-label motion: assembling packs, labels and proofs */
.pl-motion-ready .pl-reveal {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
    transition: opacity 650ms cubic-bezier(.2,.72,.2,1) var(--pl-delay, 0ms),
                transform 720ms cubic-bezier(.2,.72,.2,1) var(--pl-delay, 0ms);
    will-change: opacity, transform;
}

.pl-motion-ready .pl-lab-visual.pl-reveal {
    opacity: 1;
    transform: none;
}

.pl-lab-card,
.pl-lab-badge {
    transition: opacity 680ms cubic-bezier(.2,.72,.2,1), transform 820ms cubic-bezier(.2,.72,.2,1);
}

.pl-motion-ready .pl-lab-visual.pl-reveal:not(.is-visible) .pl-lab-card-main {
    opacity: 0;
    transform: translate3d(-54px, 30px, 0) rotate(-8deg) scale(.94);
}

.pl-motion-ready .pl-lab-visual.pl-reveal:not(.is-visible) .pl-lab-card-small {
    opacity: 0;
    transform: translate3d(54px, 34px, 0) rotate(9deg) scale(.9);
}

.pl-motion-ready .pl-lab-visual.pl-reveal:not(.is-visible) .pl-lab-badge {
    opacity: 0;
    transform: translate3d(18px, -20px, 0) scale(.84);
}

.pl-motion-ready .pl-lab-copy.pl-reveal,
.pl-motion-ready .pl-studio-copy.pl-reveal {
    transform: translate3d(-34px, 0, 0);
}

.pl-motion-ready .pl-capability.pl-reveal {
    opacity: 1;
    clip-path: inset(100% 0 0 0);
    transform: none;
    transition: clip-path 760ms cubic-bezier(.2,.72,.2,1) var(--pl-delay, 0ms);
}

.pl-motion-ready .pl-capability.pl-reveal.is-visible { clip-path: inset(0 0 0 0); }

.pl-motion-ready .pl-studio-media.pl-reveal {
    opacity: 1;
    clip-path: inset(0 100% 0 0 round 24px);
    transform: none;
    transition: clip-path 920ms cubic-bezier(.22,.8,.24,1) var(--pl-delay, 0ms);
}

.pl-motion-ready .pl-studio-media.pl-reveal.is-visible { clip-path: inset(0 0 0 0 round 24px); }

.pl-motion-ready .pl-studio-media::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    left: -4%;
    width: 2px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 0 22px rgba(255,255,255,.9);
    transition: left 980ms cubic-bezier(.22,.8,.24,1);
}

.pl-motion-ready .pl-studio-media.is-visible::before { left: 104%; }

.pl-motion-ready .pl-heading.pl-reveal {
    opacity: 1;
    clip-path: inset(0 0 100% 0);
    transform: none;
    transition: clip-path 720ms cubic-bezier(.2,.72,.2,1);
}

.pl-motion-ready .pl-heading.pl-reveal.is-visible { clip-path: inset(0 0 0 0); }

.pl-motion-ready .pl-category-card.pl-reveal {
    opacity: 1;
    clip-path: inset(0 0 100% 0 round 18px);
    transform: none;
    transition: clip-path 700ms cubic-bezier(.2,.72,.2,1) var(--pl-delay, 0ms),
                background-color 260ms ease, border-color 260ms ease;
}

.pl-motion-ready .pl-category-card.pl-reveal.is-visible { clip-path: inset(0 0 0 0 round 18px); }

.pl-motion-ready .pl-roadmap-step.pl-reveal {
    opacity: 0;
    filter: blur(4px);
    transform: translate3d(28px, 0, 0) rotate(1deg);
    transition: opacity 620ms ease var(--pl-delay, 0ms),
                filter 720ms ease var(--pl-delay, 0ms),
                transform 780ms cubic-bezier(.2,.72,.2,1) var(--pl-delay, 0ms);
}

.pl-motion-ready .pl-roadmap-step.pl-reveal.is-visible {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(0, 0, 0) rotate(0);
}

.pl-motion-ready .pl-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}

.pl-motion-preparing .pl-reveal {
    transition: none !important;
    animation: none !important;
}

@media (hover: hover) and (pointer: fine) {
    .pl-category-card:hover {
        z-index: 1;
        transform: translateY(-7px);
        border-color: rgba(52,64,56,.26);
        background: #f5f8f4;
    }
}

@media (max-width: 1100px) {
    .pl-lab-grid,
    .pl-studio-grid { gap: 54px; }
    .pl-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pl-roadmap-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pl-roadmap-step:nth-child(odd),
    .pl-roadmap-step:nth-child(even) { margin-top: 0; }
    .pl-roadmap-step:nth-child(4) { border-left: 0; }
    .pl-roadmap-step:nth-child(n+4) { border-top: 1px solid rgba(255,255,255,.13); }
    .pl-roadmap-node { margin-bottom: 56px; }
}

@media (max-width: 820px) {
    .pl-shell { width: min(100% - 36px, 680px); }
    .pl-section { padding: 72px 0; }
    .pl-hero { min-height: 500px; }
    .pl-hero-inner {
        min-height: 500px;
        padding: 64px 0;
    }
    .pl-hero-copy { max-width: 650px; }
    .pl-hero h1 { font-size: clamp(3.7rem, 14vw, 5.5rem); }
    .pl-lab-grid,
    .pl-studio-grid { grid-template-columns: 1fr; gap: 58px; }
    .pl-lab-visual { min-height: min(128vw, 570px); }
    .pl-lab-copy { max-width: 650px; }
    .pl-capability-grid { grid-template-columns: 1fr; }
    .pl-capability {
        min-height: 0;
        padding: 46px 0;
    }
    .pl-capability + .pl-capability {
        border-top: 1px solid rgba(255,255,255,.14);
        border-left: 0;
    }
    .pl-capability span { margin-bottom: 28px; }
    .pl-capability h3,
    .pl-capability p { max-width: 600px; }
    .pl-studio-media { min-height: min(112vw, 540px); }
    .pl-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pl-category-card { min-height: 315px; }
    .pl-roadmap-journey {
        margin-top: 34px;
        padding: 0;
    }
    .pl-roadmap-steps {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .pl-roadmap-line {
        display: none;
    }
    .pl-roadmap-progress {
        width: 2px;
        height: 100%;
        background: rgba(246,250,247,.78);
        box-shadow: 0 0 16px rgba(246,250,247,.12);
        transform: scaleY(var(--pl-progress, 0));
        transform-origin: center top;
    }
    .pl-roadmap-step,
    .pl-roadmap-step:nth-child(n) {
        display: block;
        align-items: start;
        width: 100%;
        box-sizing: border-box;
        margin-top: 0;
        min-height: 0;
        padding: 24px 22px 26px;
        border: 1px solid rgba(223,233,225,.16);
        border-radius: 22px;
        background:
            linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.025)),
            rgba(255,255,255,.02);
        box-shadow: 0 18px 46px rgba(7,18,12,.12);
    }
    .pl-roadmap-step + .pl-roadmap-step { border-left: 0; }
    .pl-roadmap-node {
        position: relative;
        z-index: 2;
        display: inline-flex;
        width: auto;
        height: auto;
        margin: 0 0 34px;
        border: 0;
        border-radius: 0;
        color: rgba(246,250,247,.64);
        background: transparent;
        box-shadow: none;
        font-size: .68rem;
        font-weight: 760;
        letter-spacing: .16em;
    }
    .pl-roadmap-copy {
        position: static;
        width: 100%;
        max-width: none;
        min-width: 0;
        padding: 0;
        border-top: 0;
    }
    .pl-roadmap-copy::before { display: none; }
    .pl-roadmap-step h3 {
        margin-bottom: 10px;
        font-size: 1.16rem;
        line-height: 1.15;
    }
    .pl-roadmap-step p {
        font-size: .94rem;
        line-height: 1.58;
    }
    .pl-motion-ready .pl-roadmap-step.pl-reveal {
        opacity: 0;
        filter: blur(3px);
        transform: translate3d(0, 20px, 0);
    }
    .pl-motion-ready .pl-roadmap-step.pl-reveal.is-visible {
        opacity: 1;
        filter: blur(0);
        transform: translate3d(0, 0, 0);
    }
}

@media (max-width: 560px) {
    .pl-shell { width: calc(100% - 28px); }
    .pl-section { padding: 60px 0; }
    .pl-heading { margin-bottom: 38px; text-align: left; }
    .pl-heading h2,
    .pl-lab-copy h2,
    .pl-studio-copy h2 { font-size: clamp(2.25rem, 11vw, 3.15rem); }
    .pl-hero { margin-top: 82px; }
    .pl-hero,
    .pl-hero-inner { min-height: 480px; }
    .pl-hero-inner { padding: 54px 0; }
    .pl-hero h1 { font-size: clamp(3.45rem, 18vw, 4.7rem); }
    .pl-lab-visual { min-height: 118vw; }
    .pl-lab-card-main { inset: 0 8% 13% 0; }
    .pl-lab-card-small { width: 52%; height: 41%; }
    .pl-lab-badge { right: 1%; top: 4%; min-width: 140px; padding: 12px 14px; }
    .pl-lab-list li { grid-template-columns: 34px 1fr; gap: 10px; }
    .pl-capability { padding: 40px 0; }
    .pl-studio-media { min-height: 106vw; border-radius: 18px; }
    .pl-studio-media::after { right: 12px; bottom: 12px; }
    .pl-category-grid { grid-template-columns: 1fr; }
    .pl-category-card { min-height: 270px; }
    .pl-category-icon { margin-bottom: 66px; }
    .pl-roadmap {
        padding-bottom: 72px;
    }
    .pl-roadmap .pl-heading {
        margin-bottom: 28px;
    }
    .pl-roadmap .pl-heading h2 {
        font-size: clamp(2.55rem, 12vw, 3.4rem);
        line-height: .98;
    }
    .pl-roadmap-steps {
        gap: 12px;
    }
    .pl-roadmap-line {
        left: 24px;
    }
    .pl-roadmap-step,
    .pl-roadmap-step:nth-child(n) {
        padding: 24px 22px 26px;
        border-radius: 20px;
    }
    .pl-roadmap-node {
        margin-bottom: 30px;
        font-size: .62rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .pl-hero > img,
    .pl-studio-media > img,
    .pl-reveal,
    .pl-roadmap-progress,
    .pl-button,
    .pl-category-card {
        transform: none !important;
        transition: none !important;
        animation: none !important;
    }
}
