@charset "UTF-8";

.pl-context-map__lines { display:none; }
@media(min-width:1100px) {
 .pl-context-map { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(5rem,auto)) auto; gap:1rem .5rem; position:relative; }
 .pl-context-map .pl-context-map__lines { display:block; position:absolute; inset:2rem; height:calc(100% - 8rem); width:calc(100% - 4rem); color:var(--pl-teal-500); }
 .pl-context-map .pl-context-map__patient { grid-column:2; grid-row:2; width:100%; margin:0; flex-direction:column; gap:.5rem; padding:.75rem; text-align:center; z-index:1; }
 .pl-context-map .pl-context-map__patient::after { display:none; }
 .pl-context-map .pl-context-map__nodes { display:contents; }
 .pl-context-map .pl-context-map__nodes li { align-self:center; position:relative; z-index:1; text-align:center; padding:.75rem .5rem; }
 .pl-context-map__nodes li:nth-child(1) { grid-area:1/1; }
 .pl-context-map__nodes li:nth-child(2) { grid-area:1/2; }
 .pl-context-map__nodes li:nth-child(3) { grid-area:1/3; }
 .pl-context-map__nodes li:nth-child(4) { grid-area:2/3; }
 .pl-context-map__nodes li:nth-child(5) { grid-area:3/3; }
 .pl-context-map__nodes li:nth-child(6) { grid-area:3/2; }
 .pl-context-map__nodes li:nth-child(7) { grid-area:3/1; }
 .pl-context-map figcaption { grid-column:1/-1; grid-row:4; }
}
@media(max-width:350px) {
 .pl-final__contact .pl-phone { flex-wrap:wrap; justify-content:center; max-width:100%; }
 .pl-final__contact .pl-phone__number { flex-basis:100%; text-align:center; }
}

.pl-risk h3,.pl-actions-section h3,.pl-plans h3 { color:var(--pl-white); }
.pl-context-map__patient .pl-ico { width:2.5rem; height:2.5rem; }

/* October content update: existing Direction C tokens and type scale. */
.pl-update-grid { display:grid; gap:var(--pl-gap); list-style:none; padding:0; margin:2.5rem 0 0; }
.pl-update-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pl-update-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pl-update-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(2rem,4vw,4rem); align-items:center; margin-top:2.5rem; }
.pl-update-prose { display:grid; gap:1.25rem; min-width:0; }
.pl-update-card { min-width:0; padding:clamp(1.5rem,2.5vw,2.25rem); border:1px solid var(--pl-border); border-radius:1.5rem; background:var(--pl-white); }
.pl-update-card h3,.pl-action-card h3,.pl-plan h3,.pl-team-note h3 { font-size:var(--pl-fs-card); line-height:var(--pl-lh-heading); margin-bottom:1rem; }
.pl-update-card p + p { margin-top:.5rem; }
.pl-update-card .pl-ico { color:var(--pl-teal-700); margin-bottom:1rem; }
.pl-band--navy .pl-update-card { background:var(--pl-navy-800); border-color:var(--pl-line-navy); }
.pl-band--navy .pl-update-card p { color:var(--pl-on-navy-lead); }
.pl-update-index { display:flex; justify-content:space-between; align-items:center; color:var(--pl-teal-700); font-size:var(--pl-fs-card); font-weight:800; margin-bottom:1.5rem; }
.pl-update-index .pl-ico { margin:0; }
.pl-band--navy .pl-update-index,.pl-band--navy .pl-update-index .pl-ico { color:var(--pl-teal-300); }
.pl-update-note { font-size:var(--pl-fs-meta); color:var(--pl-text-muted); margin-top:1.5rem; line-height:1.6; }
.pl-band--navy .pl-update-note { color:var(--pl-on-navy-soft); }
.pl-update-conclusion { margin-top:3rem; border-left:3px solid var(--pl-teal-500); padding:1rem 1.5rem; font-size:var(--pl-fs-lead); font-weight:700; background:var(--pl-aqua-50); }
.pl-context-map { margin:0; padding:2rem; border:1px solid var(--pl-border); border-radius:2rem; background:radial-gradient(ellipse at center,var(--pl-aqua-100),var(--pl-white) 75%); }
.pl-context-map__patient { display:flex; gap:1rem; align-items:center; justify-content:center; border:1px solid var(--pl-teal-line); background:var(--pl-navy-900); color:white; width:70%; min-height:6rem; border-radius:1.5rem; margin:0 auto 2rem; position:relative; }
.pl-context-map__patient::after { content:""; position:absolute; top:100%; width:1px; height:2rem; background:var(--pl-teal-500); }
.pl-context-map__nodes { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center; padding:0; list-style:none; }
.pl-context-map__nodes li { padding:.7rem 1rem; background:white; border:1px solid var(--pl-border-strong); border-radius:2rem; font-size:var(--pl-fs-small); }
.pl-context-map figcaption { text-align:center; }
.pl-risk__image { margin:2.5rem 0 0; }
.pl-risk__image img { width:100%; height:clamp(15rem,34vw,28rem); object-fit:cover; object-position:center; border-radius:1.5rem; }
.pl-risk__image figcaption { font-size:var(--pl-fs-meta); color:var(--pl-on-navy-muted); margin-top:.75rem; }
.pl-connected { background:linear-gradient(var(--pl-white),var(--pl-aqua-50)); }
.pl-connected__flow { margin-top:3rem; text-align:center; }
.pl-connected__inputs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--pl-gap); list-style:none; padding:0; margin:0; }
.pl-connected__inputs .pl-ico { width:2rem; height:2rem; }
.pl-connected__join { display:grid; grid-template-columns:repeat(3,1fr); height:3rem; width:66.67%; margin:auto; position:relative; border-bottom:1px solid var(--pl-teal-600); }
.pl-connected__join span { border-left:1px solid var(--pl-teal-600); }
.pl-connected__join span:nth-child(1) { grid-column:1; }
.pl-connected__join span:nth-child(2) { position:absolute; left:50%; height:100%; }
.pl-connected__join span:nth-child(3) { position:absolute; right:0; height:100%; }
.pl-connected__join::after { content:"↓"; position:absolute; left:calc(50% - .5rem); top:100%; color:var(--pl-teal-700); }
.pl-connected__hub { width:min(100%,30rem); margin:2rem auto 0; padding:1.75rem; background:var(--pl-navy-900); border:1px solid var(--pl-teal-line); border-radius:1.5rem; box-shadow:0 10px 40px #14babd22; color:var(--pl-white); }
.pl-connected__hub strong { font-size:var(--pl-fs-h3); }
.pl-connected__hub p { color:var(--pl-on-navy-lead); }
.pl-flow-arrow { color:var(--pl-teal-700); font-size:2rem; line-height:1.6; }
.pl-connected__result { width:min(100%,38rem); padding:1.5rem; border:1px solid var(--pl-teal-500); border-radius:1.5rem; background:var(--pl-white); margin:auto; }
.pl-connected__result h3 { font-size:var(--pl-fs-card); margin-bottom:.5rem; }
.pl-action-card { background:var(--pl-navy-800); border:1px solid var(--pl-line-navy); border-radius:1.5rem; padding:clamp(1.25rem,2.5vw,2.25rem); min-width:0; display:flex; flex-direction:column; gap:1.5rem; }
.pl-action-card__copy > p { color:var(--pl-on-navy-lead); }
.pl-action-card .pl-shot { margin-top:auto; }
.pl-update-status { display:inline-block; padding:.25rem .75rem; border-radius:1rem; background:var(--pl-ok-bg); color:var(--pl-ok-text); font-size:var(--pl-fs-meta); font-weight:700; margin:1rem 0; }
.pl-action-details { margin-top:.25rem; font-size:var(--pl-fs-small); }
.pl-action-details summary { min-height:44px; cursor:pointer; color:var(--pl-teal-300); padding:.5rem 0; }
.pl-action-details p { margin-top:.75rem; color:var(--pl-on-navy-lead); }
.pl-history { margin-top:4rem; border-top:1px solid var(--pl-line-navy); padding-top:3rem; }
.pl-history .pl-update-prose > p { color:var(--pl-on-navy-lead); }
.pl-team-note { margin-top:3rem; padding:2rem; background:var(--pl-navy-800); border-radius:1.5rem; }
.pl-team-note p { color:var(--pl-on-navy-lead); }
.pl-source-card { text-align:center; display:flex; flex-direction:column; align-items:center; }
.pl-source-card img { width:15rem; height:6rem; object-fit:contain; margin-bottom:1.25rem; }
.pl-source-card h3 { margin-bottom:.5rem; }
.pl-source-card__count { font-size:var(--pl-fs-h3); font-weight:800; color:var(--pl-teal-700); }
.pl-coverage__notes { margin-top:2rem; display:grid; gap:1rem; }
.pl-coverage__notes .pl-update-note { margin:0; }
.pl-integration { background:var(--pl-aqua-50); }
.pl-integration__steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2rem; list-style:none; padding:0; margin:2.5rem 0 0; }
.pl-integration__steps li { position:relative; padding:1.5rem; }
.pl-integration__steps li:not(:last-child)::after { content:"→"; position:absolute; left:100%; top:50%; width:2rem; text-align:center; color:var(--pl-teal-700); font-size:1.5rem; }
.pl-integration__statuses { margin:2rem 0 0; display:grid; gap:1rem; }
.pl-integration__statuses > div { display:grid; grid-template-columns:15rem 1fr; gap:1.5rem; border-top:1px solid var(--pl-border-strong); padding-top:1rem; }
.pl-integration__statuses dt { font-weight:800; color:var(--pl-teal-700); }
.pl-integration__statuses dd { margin:0; }
.pl-plan { min-width:0; padding:clamp(1.5rem,2.5vw,2.5rem); border:1px solid var(--pl-line-navy); border-top:4px solid var(--group-color); border-radius:1.5rem; display:flex; flex-direction:column; align-items:flex-start; gap:1rem; background:var(--pl-navy-800); }
.pl-plan .pl-update-status { margin:0; }
.pl-plan h3 { margin:0; }
.pl-plan p { color:var(--pl-on-navy-lead); }
.pl-plan__price strong { color:white; font-size:var(--pl-fs-h2); white-space:nowrap; }
.pl-plan__price span { display:block; font-size:var(--pl-fs-small); }
.pl-plan .pl-update-note { margin:0; }
.pl-plan .pl-btn { margin-top:auto; white-space:normal; text-align:center; }
.pl-group-pharmacy { --group-color:var(--pl-navy-800); }
.pl-group-gp { --group-color:var(--pl-teal-600); }
.pl-group-specialist { --group-color:#6acdfd; }
.pl-group-patient { --group-color:var(--pl-tile-lilac); }
.pl-plan.pl-group-pharmacy { border-top-color:var(--pl-teal-300); }
@media(max-width:1099px) {
 .pl-update-split { grid-template-columns:1fr; }
 .pl-integration__steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pl-integration__steps li:nth-child(2)::after { display:none; }
 .pl-update-grid--three { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pl-risk__steps{ grid-template-columns:1fr; }
}
@media(max-width:767px) {
 .pl-update-grid--two,.pl-update-grid--three,.pl-connected__inputs,.pl-integration__steps { grid-template-columns:1fr; }
 .pl-connected__join { display:none; }
 .pl-connected__inputs li { position:relative; }
 .pl-connected__inputs li::after { content:"↓"; position:absolute; top:100%; left:calc(50% - .5rem); color:var(--pl-teal-700); }
 .pl-connected__inputs { gap:2rem; }
 .pl-connected__hub { margin-top:2rem; }
 .pl-integration__steps li:not(:last-child)::after { display:block; content:"↓"; left:calc(50% - 1rem); top:100%; height:2rem; }
 .pl-integration__statuses > div { grid-template-columns:1fr; gap:.5rem; }
 .pl-context-map { padding:1.25rem; }
 .pl-context-map__patient { width:90%; }
 .pl-update-card,.pl-action-card,.pl-plan { padding:1.25rem; }
}

/*
 * PharmaLab V2, direction C — the front page, section by section, in page
 * order. Geometry follows the owner-approved Higgsfield frames C_01 … C_07 and
 * the phone boards C_M1 … C_M3 (design-v2/direction-c/DIRECTION_C_IMPLEMENTATION_MAP.md).
 *
 * Breakpoints: 1099 (two columns → one; full-screen menu), 767 (phone).
 */

/* =================================================================== hero */
.pl-hero {
    padding-top: calc(var(--pl-header-h) + clamp(1.5rem, 0.2rem + 4.4vw, 4.5rem));
    padding-bottom: clamp(4rem, 2rem + 5vw, 6rem);
}

.pl-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.94fr) minmax(0, 1fr);
    gap: clamp(2rem, 0.5rem + 3.2vw, 3.75rem);
    align-items: start;
}

.pl-hero__copy {
    display: grid;
    gap: 1.5rem;
    justify-items: start;
    min-width: 0;
}

.pl-hero .pl-h1 {
    margin-top: 0.25rem;
}

.pl-hero .pl-lead {
    max-width: 37.5rem;
    margin-top: 0.5rem;
}

.pl-hero__support {
    max-width: 36rem;
    font-size: 1.0938rem;
    line-height: 1.55;
    color: var(--pl-on-navy-support);
}

.pl-hero .pl-actions {
    margin-top: 0.75rem;
}

.pl-hero .plab-countdown {
    margin-top: clamp(1.5rem, 0.8rem + 2vw, 2.75rem);
}

.pl-hero__visual {
    position: relative;
    min-width: 0;
    padding-top: 0.75rem;
}

/* The layered real fragment: below the window, shifted right, crossing the arc. */
.pl-hero__float {
    position: relative;
    z-index: 6;
    width: 80%;
    margin: -0.375rem -1.25rem calc(-1 * clamp(6rem, 3rem + 6vw, 9rem)) auto;
}

.pl-hero__float .pl-shot__frame {
    border-radius: 1rem;
    box-shadow: 0 0 0 1px rgba(67, 222, 209, 0.28), 0 26px 70px rgba(1, 14, 22, 0.5);
}

/* ===================================================== pillars and offer */
.pl-launch {
    padding-bottom: clamp(2.5rem, 1.8rem + 2.2vw, 3.5rem);
}

.pl-pillars {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(1rem, 0.4rem + 1.6vw, 2.25rem);
    text-align: center;
}

.pl-pillars::before {
    content: "";
    position: absolute;
    left: 12.5%;
    right: 12.5%;
    top: 3rem;
    height: 2px;
    margin-top: -1px;
    background: linear-gradient(90deg, rgba(133, 237, 230, 0.2), #85ede6 14%, #85ede6 86%, rgba(133, 237, 230, 0.2));
}

.pl-pillars__item {
    position: relative;
    display: grid;
    justify-items: center;
    align-content: start;
    gap: clamp(1.25rem, 0.8rem + 1vw, 1.875rem);
}

.pl-pillars__title {
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--pl-text);
}

.pl-pillars__text {
    max-width: 17.5rem;
    margin: 0.875rem auto 0;
    font-size: var(--pl-fs-feature);
    color: var(--pl-text-muted);
}

.pl-offer {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 1.28fr;
    margin-top: clamp(2.5rem, 1.6rem + 2.6vw, 4rem);
    padding: clamp(2rem, 1rem + 2.6vw, 3.375rem) clamp(1.25rem, 0.2rem + 2.6vw, 3rem);
}

.pl-offer__item {
    display: flex;
    gap: 1.25rem;
    min-width: 0;
    padding-inline: clamp(1.25rem, 0.2rem + 2.4vw, 3.375rem);
    border-left: 1px solid rgba(84, 115, 142, 0.24);
}

.pl-offer__item:first-child {
    padding-left: 0;
    border-left: 0;
}

.pl-offer__item:last-child {
    padding-right: 0;
}

.pl-offer__icon {
    flex: none;
    padding-right: 1.25rem;
    border-right: 1px solid rgba(84, 115, 142, 0.24);
    color: var(--pl-teal-600);
}

.pl-offer__icon .pl-ico {
    width: 2.75rem;
    height: 2.75rem;
}

.pl-offer__title {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 0.625rem;
    color: var(--pl-text);
}

.pl-offer__label {
    flex-basis: 100%;
    font-size: 1.1563rem;
    font-weight: 500;
}

.pl-offer__value {
    font-size: clamp(2.375rem, 1.6rem + 1.9vw, 3.125rem);
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: -0.02em;
    color: #064653;
}

.pl-offer__item--price .pl-offer__value {
    background: linear-gradient(90deg, #0dc1b1, var(--pl-teal-700));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.pl-offer__unit {
    font-size: clamp(1.375rem, 1rem + 0.9vw, 1.75rem);
    font-weight: 600;
    color: var(--pl-teal-700);
}

.pl-offer__rest {
    flex-basis: 100%;
    font-size: var(--pl-fs-small);
    color: var(--pl-text-body);
}

.pl-offer__text {
    margin-top: 0.875rem;
    font-size: var(--pl-fs-small);
    line-height: 1.55;
    color: var(--pl-text-muted);
}

.pl-offer__strong {
    display: block;
    margin-bottom: 1rem;
    font-size: 1.3125rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--pl-text);
}

/* ==================================================================== why */
.pl-why {
    padding-top: clamp(1.5rem, 1rem + 1.6vw, 2.5rem);
    padding-bottom: clamp(2.75rem, 2rem + 2.4vw, 4rem);
}

.pl-problems {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(1rem, 0.4rem + 1.6vw, 2.25rem);
    text-align: center;
}

.pl-problems::before {
    content: "";
    position: absolute;
    left: 12.5%;
    right: 12.5%;
    top: 3rem;
    height: 2px;
    margin-top: -1px;
    background: linear-gradient(90deg, #f7b7c3, #9fd0f5 34%, #f5d48d 66%, #8fdcc0);
    opacity: 0.85;
}

.pl-problems__item {
    position: relative;
    display: grid;
    justify-items: center;
    align-content: start;
    gap: 1.5rem;
}

.pl-problems__num {
    display: none;
}

.pl-problems__title {
    max-width: 17rem;
    margin-inline: auto;
    font-size: var(--pl-fs-card);
    font-weight: 700;
    line-height: 1.3;
    color: var(--pl-text);
}

.pl-problems__text {
    max-width: 18.5rem;
    margin: 0.875rem auto 0;
    font-size: 1.0938rem;
    color: var(--pl-text-body);
}

.pl-disc--tint {
    box-shadow: 0 0 0 1px rgba(5, 40, 61, 0.05), 0 12px 30px rgba(5, 40, 61, 0.08);
}

.pl-problems__item--rose .pl-disc {
    background: radial-gradient(circle at 32% 26%, #fff, #fde8ec 64%, #fbd9e0);
    color: #e2486b;
}

.pl-problems__item--sky .pl-disc {
    background: radial-gradient(circle at 32% 26%, #fff, #e3f1fd 64%, #d3e8fb);
    color: #1a73d1;
}

.pl-problems__item--amber .pl-disc {
    background: radial-gradient(circle at 32% 26%, #fff, #fff3d8 64%, #fde9bd);
    color: #d98c0c;
}

.pl-problems__item--mint .pl-disc {
    background: radial-gradient(circle at 32% 26%, #fff, #e1f7ef 64%, #cff1e4);
    color: #0f9a6c;
}

/* ========================================================== product story */
.pl-cap {
    padding-block: clamp(2.5rem, 1.7rem + 2.6vw, 3.75rem);
}

.pl-cap.pl-band--after-arc {
    padding-top: calc(clamp(1.75rem, 1.3rem + 1.4vw, 2.5rem) + var(--pl-arc) * 0.6);
}

.pl-cap.pl-band--arc {
    padding-bottom: clamp(2rem, 1.4rem + 2vw, 3rem);
}

.pl-cap__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.62fr) minmax(0, 1fr);
    gap: clamp(1.75rem, 0.6rem + 2.8vw, 3.5rem);
    align-items: center;
}

@media (min-width: 1100px) {
    /* the first band also carries the section heading: a wider text column, the H2 on two lines */
    .pl-cap--first.pl-cap--alternate .pl-cap__grid {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
    }

    .pl-cap--alternate:not(.pl-cap--first):not(.pl-cap--flip) .pl-cap__grid {
        grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
    }
}

.pl-head--inband .pl-h2 {
    font-size: clamp(1.8125rem, 1.2rem + 1.9vw, 2.5625rem);
    text-wrap: wrap;
}

.pl-cap__copy,
.pl-cap__media {
    min-width: 0;
}

.pl-cap--flip .pl-cap__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.56fr);
}

.pl-cap--flip .pl-cap__copy {
    order: 2;
}

.pl-head--inband {
    margin-bottom: 0;
}

.pl-head--inband .pl-h2 > span {
    display: inline;
}

.pl-grouppill {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.875rem;
    min-height: 3.75rem;
    margin: clamp(2rem, 1.2rem + 2vw, 3rem) 0 clamp(1.75rem, 1rem + 2vw, 2.75rem);
    padding: 0.5rem 1.75rem 0.5rem 1.375rem;
    border: 1px solid rgba(67, 222, 209, 0.55);
    border-radius: var(--pl-r-pill);
    background: rgba(67, 222, 209, 0.1);
    color: var(--pl-teal-300);
    font-size: var(--pl-fs-card);
    font-weight: 600;
    box-shadow: inset 0 0 22px rgba(67, 222, 209, 0.08), 0 0 24px rgba(67, 222, 209, 0.1);
}

.pl-grouppill .pl-ico {
    width: 2rem;
    height: 2rem;
}

/* The luminous line that runs from the pill to the product window. */
.pl-grouppill::after {
    content: "";
    position: absolute;
    left: 100%;
    top: 50%;
    width: min(26vw, 23rem);
    height: 1px;
    background: linear-gradient(90deg, rgba(67, 222, 209, 0.85), rgba(67, 222, 209, 0));
}

.pl-cap__num {
    display: block;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.02em;
    /* teal-600, not the lighter teal-500 of the frame: 3.2:1 on the light surface (large text) */
    color: var(--pl-teal-600);
}

.pl-band--navy .pl-cap__num {
    color: var(--pl-teal-300);
}

.pl-cap--alternate .pl-cap__num {
    margin-bottom: 1.125rem;
    font-size: 1.9375rem;
}

.pl-cap--rows .pl-cap__text {
    display: grid;
    grid-template-columns: clamp(4.25rem, 2.6rem + 3.4vw, 6.75rem) minmax(0, 1fr);
    align-items: start;
}

.pl-cap--rows .pl-cap__num {
    font-size: clamp(2.5rem, 1.6rem + 2.2vw, 3.5rem);
}

.pl-cap--rows .pl-h3 {
    font-size: clamp(1.4375rem, 1.1rem + 1vw, 1.9375rem);
    padding-top: 0.375rem;
}

.pl-cap__desc {
    margin-top: 1.125rem;
    font-size: clamp(1.0938rem, 1rem + 0.3vw, 1.1875rem);
    line-height: 1.55;
    color: var(--pl-text-body);
}

.pl-band--navy .pl-cap__desc {
    color: var(--pl-on-navy-lead);
}

.pl-cap__caption {
    position: relative;
    margin-top: 1.875rem;
    padding-top: 1.875rem;
    font-size: var(--pl-fs-feature);
    line-height: 1.5;
    color: var(--pl-text-body);
}

.pl-cap__caption::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 3.25rem;
    height: 3px;
    border-radius: 3px;
    background: var(--pl-teal-500);
}

.pl-band--navy .pl-cap__caption {
    color: var(--pl-on-navy-lead);
}

.pl-band--navy .pl-cap__caption::before {
    background: var(--pl-teal-300);
}

.pl-grouphead {
    display: flex;
    align-items: center;
    gap: clamp(1.25rem, 0.6rem + 1.8vw, 2.25rem);
    margin-bottom: clamp(1.75rem, 1rem + 2.2vw, 3rem);
}

.pl-grouphead__title {
    font-size: clamp(1.625rem, 1.2rem + 1.3vw, 2.25rem);
    font-weight: 700;
    line-height: 1.2;
    color: var(--pl-teal-300);
}

/* Fragments keep their real proportions; a narrow card does not stretch them. */
.pl-cap__media .pl-shot--fragment {
    max-width: 100%;
}

/* ---------------------------------------------- group 3: the bento band */
.pl-bento {
    background:
        radial-gradient(60% 70% at 100% 0%, rgba(191, 235, 243, 0.34), transparent 70%),
        var(--pl-surface);
}

.pl-bento__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(1.5rem, 0.8rem + 1.8vw, 2.5rem) clamp(1.25rem, 0.6rem + 1.6vw, 2.25rem);
    align-items: start;
}

.pl-bento__title {
    grid-column: 1 / span 5;
    align-self: start;
    padding-top: clamp(2rem, 0.4rem + 4.4vw, 4.5rem);
    font-size: clamp(2.25rem, 1.3rem + 2.9vw, 3.625rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: var(--pl-track-tight);
    color: var(--pl-text);
}

.pl-bento__cell {
    min-width: 0;
}

.pl-bento__cell--follow {
    grid-column: 6 / span 7;
}

.pl-bento__cell--home {
    grid-column: 1 / span 8;
    grid-row: 2 / span 2;
}

.pl-bento__cell--profile {
    grid-column: 9 / span 4;
}

.pl-bento__cell--copilot {
    grid-column: 9 / span 4;
    padding: clamp(1.125rem, 0.8rem + 0.7vw, 1.375rem);
    border: 1px solid var(--pl-border);
    border-radius: var(--pl-r-card);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: var(--pl-shadow-1);
}

.pl-bento__body {
    display: grid;
    grid-template-columns: 3.25rem minmax(0, 1fr);
    gap: 0.875rem 1.5rem;
    align-items: start;
    margin-top: 1.75rem;
}

.pl-bento__cell--follow .pl-bento__body,
.pl-bento__cell--home .pl-bento__body {
    grid-template-columns: 3.25rem minmax(0, 1fr) minmax(0, 15rem);
}

.pl-bento__cell--copilot .pl-bento__body {
    margin-top: 0;
}

.pl-bento__cell--copilot .pl-bento__name {
    font-size: 1.125rem;
}

.pl-bento__cell--copilot .pl-tile {
    width: 3rem;
    height: 3rem;
}

.pl-bento__cell--copilot .pl-tile .pl-ico {
    width: 1.625rem;
    height: 1.625rem;
}

.pl-bento__cell--copilot .pl-chip {
    min-height: 1.75rem;
    padding-inline: 0.625rem;
    font-size: 0.8438rem;
}

.pl-bento__flag {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.625rem 0.875rem;
    margin-bottom: 0.5rem;
}

.pl-bento__flag .pl-tile {
    width: 3.25rem;
    height: 3.25rem;
}

.pl-bento__flag .pl-chip {
    margin-left: auto;
    padding-inline: 0.75rem;
    font-size: var(--pl-fs-legal);
}

.pl-bento__name {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--pl-text);
}

.pl-bento__text p {
    margin-top: 0.5rem;
    font-size: var(--pl-fs-feature);
    color: var(--pl-text-body);
}

.pl-bento__cell--copilot .pl-bento__text p {
    margin-top: 0;
    color: var(--pl-text-muted);
}

.pl-bento__caption {
    align-self: center;
    padding-left: 1.375rem;
    border-left: 1px solid var(--pl-border-strong);
    font-size: var(--pl-fs-feature);
    font-weight: 500;
    line-height: 1.5;
    color: var(--pl-text);
}

.pl-bento__cell--profile .pl-bento__caption {
    grid-column: 2 / -1;
    margin-top: 0.5rem;
    font-weight: 400;
    color: var(--pl-text-body);
}

/* ============================================================== judgement */
.pl-judgement {
    padding-bottom: clamp(4.5rem, 3rem + 5vw, 7.5rem);
}

.pl-stages {
    --gapx: clamp(1.25rem, 0.4rem + 2.2vw, 2.75rem);
    --ring: 4.5rem;
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--gapx);
}

.pl-stages__item {
    position: relative;
    display: grid;
    align-content: start;
    justify-items: start;
    min-width: 0;
}

.pl-stages__media {
    width: 100%;
}

/* The node sits centred under its card, touching it, as drawn. */
.pl-stages__item .pl-ring {
    grid-row: 2;
    grid-column: 1;
    justify-self: center;
    position: relative;
    z-index: 1;
    margin: -0.625rem 0 1.375rem;
}

/*
 * The thin line with an arrowhead from one node to the next: a grid item in the row of the node, so it
 * follows the node whatever the height of the card above it. Its width is one column plus the gap,
 * minus the node and a little air on both sides.
 */
.pl-stages__item:not(:last-child)::after,
.pl-steps__item:not(:last-child)::after {
    content: "";
    grid-column: 1;
    align-self: center;
    justify-self: start;
    width: calc(100% + var(--gapx) - var(--ring) - 1.25rem);
    height: 0.75rem;
    margin-left: calc(50% + var(--ring) / 2 + 0.625rem);
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%2343ded1' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 1.5 8.5 6l-5 4.5'/%3E%3C/svg%3E") right center / 0.75rem 0.75rem no-repeat,
        linear-gradient(90deg, rgba(67, 222, 209, 0.3), rgba(67, 222, 209, 0.9)) left center / calc(100% - 0.3125rem) 1px no-repeat;
    pointer-events: none;
}

/* the node has a negative top margin (it touches the card): the line is set on the centre of the node itself */
.pl-stages__item:not(:last-child)::after {
    grid-row: 2;
    align-self: start;
    margin-top: calc(var(--ring) / 2 - 1rem);
}

.pl-stages__badge {
    font-size: 1.125rem;
    color: var(--pl-on-navy-muted);
}

.pl-stages__title {
    margin-top: 0.625rem;
    font-size: clamp(1.4375rem, 1.1rem + 1vw, 1.8125rem);
    font-weight: 800;
    line-height: 1.22;
    letter-spacing: var(--pl-track-tight);
    color: var(--pl-on-navy);
}

.pl-stages__subtitle {
    margin-top: 0.75rem;
    font-size: 1.125rem;
    color: var(--pl-on-navy-lead);
}

.pl-stages .pl-checks {
    margin-top: 1.5rem;
    font-size: 1.0938rem;
    color: var(--pl-on-navy-lead);
}

/* ============================================================= operations */
.pl-operations__top {
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
    gap: clamp(2rem, 0.6rem + 3.6vw, 4.5rem);
    align-items: start;
    margin-bottom: clamp(2.5rem, 1.6rem + 2.6vw, 4rem);
}

.pl-operations__top .pl-head {
    margin-bottom: 0;
    padding-top: 1.5rem;
}

/* beside a screen or a diagram the heading is a step smaller and flows as drawn: two lines, not three */
.pl-operations__top .pl-h2,
.pl-sources__grid .pl-h2 {
    font-size: clamp(1.8125rem, 1.15rem + 1.7vw, 2.375rem);
}

.pl-operations__top .pl-h2 > span {
    display: inline;
}

.pl-status {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(0.875rem, 0.5rem + 0.9vw, 1.375rem);
}

.pl-status__card {
    display: grid;
    align-content: start;
    gap: 1.125rem;
    min-width: 0;
    padding: clamp(1.25rem, 0.9rem + 0.9vw, 1.75rem);
    border: 1px solid var(--pl-border);
    border-radius: var(--pl-r-card);
    background: rgba(255, 255, 255, 0.78);
    box-shadow: var(--pl-shadow-1);
    transition: transform var(--pl-t-base) var(--pl-ease), box-shadow var(--pl-t-base) var(--pl-ease);
}

.pl-status__card:hover {
    transform: translateY(-3px);
    box-shadow: var(--pl-shadow-2);
}

.pl-status__card--wide {
    grid-column: span 2;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 1.5rem;
}

.pl-status__card--wide .pl-status__head {
    grid-column: 1 / -1;
}

.pl-status__card--wide .pl-status__body {
    grid-column: 1 / -1;
    padding-left: clamp(0rem, -2rem + 6vw, 5rem);
}

.pl-status__head {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.pl-status__num {
    font-size: 1.6875rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--pl-teal-700);
}

.pl-status__icon {
    display: grid;
    place-items: center;
    width: 2.875rem;
    height: 2.875rem;
    border-radius: 50%;
    background: var(--pl-aqua-100);
    color: var(--pl-teal-600);
}

.pl-status__icon .pl-ico {
    width: 1.625rem;
    height: 1.625rem;
}

.pl-status__head .pl-chip {
    margin-left: auto;
}

.pl-status__title {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--pl-text);
}

.pl-status__text {
    margin-top: 0.625rem;
    font-size: var(--pl-fs-feature);
    line-height: 1.5;
    color: var(--pl-text-muted);
}

/* Planned functions read as planned at a glance, without noise. */
.pl-status__card--roadmap .pl-status__num {
    color: #8e99a5;
}

.pl-status__card--roadmap .pl-status__icon {
    background: #eef2f5;
    color: #8e99a5;
}

.pl-legend {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 0.75rem 0;
    margin-top: clamp(1.25rem, 0.8rem + 1vw, 1.75rem);
    padding: 1.125rem clamp(1rem, 0.4rem + 1.4vw, 1.75rem);
    border-radius: 0.875rem;
    background: var(--pl-aqua-50);
    font-size: var(--pl-fs-meta);
    color: var(--pl-text-body);
}

.pl-legend__item {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    padding-inline: clamp(1rem, 0.4rem + 1.2vw, 1.625rem);
    border-left: 1px solid var(--pl-border-strong);
}

.pl-legend__item:first-child {
    padding-left: 0;
    border-left: 0;
}

.pl-legend__dot {
    flex: none;
    width: 1.125rem;
    height: 1.125rem;
    margin-top: 0.125rem;
    border-radius: 50%;
    background: var(--pl-ok-dot);
}

.pl-legend__item--integration .pl-legend__dot {
    background: var(--pl-link-dot);
}

.pl-legend__item--roadmap .pl-legend__dot {
    background: var(--pl-road-dot);
}

.pl-legend strong {
    color: var(--pl-text);
}

/* wide screens: the two short entries on one line each, the long one takes the rest */
@media (min-width: 1400px) {
    .pl-legend {
        grid-template-columns: auto auto minmax(0, 1fr);
    }
}

/* ================================================================ sources */
.pl-sources__stage {
    padding-bottom: clamp(3.5rem, 2rem + 4.6vw, 6rem);
}

.pl-sources__stage .pl-band__decor {
    background: radial-gradient(38% 46% at 70% 48%, rgba(37, 211, 216, 0.22), transparent 70%);
}

.pl-sources__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.54fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 0.4rem + 3vw, 3.5rem);
    align-items: center;
}

.pl-sources__grid .pl-head {
    margin-bottom: 0;
}

.pl-orbit {
    position: relative;
    aspect-ratio: 915 / 900;
    min-width: 0;
}

@media (min-width: 1400px) {
    .pl-orbit {
        aspect-ratio: 915 / 770;
    }
}

.pl-orbit__spokes {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.pl-orbit__spokes path {
    fill: none;
    stroke: var(--pl-teal-line);
    stroke-width: 1.5px;
    opacity: 0.7;
    vector-effect: non-scaling-stroke;
}

.pl-orbit__core {
    position: absolute;
    left: 50%;
    top: 46.5%;
    z-index: 1;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 0.125rem;
    width: 24%;
    aspect-ratio: 1;
    transform: translate(-50%, -50%);
    border: 2px solid rgba(86, 224, 214, 0.9);
    border-radius: 50%;
    background: radial-gradient(circle at 50% 38%, rgba(37, 211, 216, 0.34), rgba(6, 42, 62, 0.96) 72%);
    box-shadow: 0 0 0 10px rgba(67, 222, 209, 0.07), 0 0 60px rgba(37, 211, 216, 0.5), inset 0 0 40px rgba(67, 222, 209, 0.22);
    text-align: center;
    color: var(--pl-teal-300);
}

.pl-orbit__core .pl-ico {
    width: clamp(2.5rem, 1.5rem + 2.4vw, 4rem);
    height: clamp(2.5rem, 1.5rem + 2.4vw, 4rem);
}

.pl-orbit__name {
    font-size: clamp(1.125rem, 0.8rem + 0.8vw, 1.5rem);
    font-weight: 600;
    color: var(--pl-on-navy);
}

.pl-orbit__note {
    font-size: var(--pl-fs-legal);
    color: var(--pl-teal-300);
}

.pl-orbit__list {
    position: absolute;
    inset: 0;
}

.pl-orbit__node {
    position: absolute;
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: 0.875rem;
    align-items: start;
    width: 31.5%;
    padding: 0.8125rem 0.875rem 0.875rem 0.8125rem;
    border: 1px solid rgba(67, 222, 209, 0.5);
    border-radius: 0.875rem;
    background: linear-gradient(160deg, rgba(67, 222, 209, 0.13), rgba(6, 42, 62, 0.72) 60%);
    box-shadow: 0 0 22px rgba(37, 211, 216, 0.16), inset 0 0 18px rgba(67, 222, 209, 0.06);
}

/* Clockwise from the top, as drawn in C_05. */
.pl-orbit__node--1 { left: 34%; top: 0; }
.pl-orbit__node--2 { left: 68.5%; top: 5%; }
.pl-orbit__node--3 { left: 68.5%; top: 28%; }
.pl-orbit__node--4 { left: 68.5%; top: 52%; }
.pl-orbit__node--5 { left: 66%; top: 76.5%; }
.pl-orbit__node--6 { left: 31.5%; top: 78%; }
.pl-orbit__node--7 { left: 0; top: 57%; }
.pl-orbit__node--8 { left: 0; top: 32%; }
.pl-orbit__node--9 { left: 0; top: 8%; }

.pl-orbit__icon {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: radial-gradient(circle at 32% 28%, rgba(164, 241, 241, 0.5), rgba(67, 222, 209, 0.16));
    color: var(--pl-on-navy);
}

.pl-orbit__icon .pl-ico {
    width: 1.625rem;
    height: 1.625rem;
}

.pl-orbit__num {
    display: block;
    font-size: var(--pl-fs-meta);
    font-weight: 700;
    line-height: 1.2;
    color: var(--pl-teal-300);
}

.pl-orbit__title {
    font-size: 1.0313rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--pl-on-navy);
}

.pl-orbit__text {
    margin-top: 0.25rem;
    font-size: var(--pl-fs-legal);
    line-height: 1.38;
    color: var(--pl-on-navy-lead);
}

.pl-logos {
    padding-bottom: clamp(3rem, 2rem + 3vw, 4.5rem);
}

.pl-logos.pl-band--after-arc {
    padding-top: calc(var(--pl-arc) + clamp(1.5rem, 1rem + 1.6vw, 2.5rem));
}

.pl-logos__title {
    font-size: clamp(1.4375rem, 1.2rem + 0.7vw, 1.6875rem);
    font-weight: 700;
    color: var(--pl-text);
}

.pl-logos__groups {
    display: grid;
    grid-template-columns: minmax(0, 0.66fr) minmax(0, 1fr);
    margin-top: 1.75rem;
}

.pl-logos__group + .pl-logos__group {
    padding-left: clamp(1.5rem, 0.6rem + 2.4vw, 3.25rem);
    border-left: 1px solid var(--pl-border-strong);
}

.pl-logos__label {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--pl-text);
}

.pl-logos__list {
    display: flex;
    align-items: center;
    gap: 1rem clamp(1rem, 0.2rem + 1.8vw, 2.5rem);
    margin-top: 1.25rem;
}

.pl-logos__item {
    flex: 0 1 auto;
    min-width: 0;
}

.pl-logos__item img {
    width: auto;
    max-width: 100%;
    height: clamp(2.75rem, 2rem + 1.8vw, 4.25rem);
    object-fit: contain;
}

.pl-logos__note {
    max-width: 78rem;
    margin: clamp(2rem, 1.4rem + 1.6vw, 3rem) auto 0;
    font-size: var(--pl-fs-meta);
    line-height: 1.6;
    text-align: center;
    color: var(--pl-text-muted);
}

/* ================================================================== value */
.pl-value {
    padding-bottom: clamp(4rem, 2.4rem + 5vw, 7rem);
}

.pl-value__top {
    display: grid;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
    gap: clamp(2rem, 0.6rem + 3.6vw, 4.5rem);
    align-items: start;
}

.pl-value__top .pl-head {
    margin-bottom: 0;
    padding-top: clamp(2rem, 0.6rem + 4vw, 5.5rem);
}

.pl-value__visual {
    position: relative;
    min-width: 0;
}

.pl-value__float {
    position: relative;
    z-index: 2;
    width: 86%;
    margin: -5.5% -1.25rem 0 auto;
}

.pl-value__float .pl-shot__frame {
    box-shadow: 0 0 0 1px rgba(67, 222, 209, 0.28), 0 26px 70px rgba(1, 14, 22, 0.5);
}

/*
 * Four luminous discs on one descending line. The first three stand beside the lower half of the
 * layered screens (the list is pulled up by --v-pull); the fourth always starts 3rem below them.
 */
.pl-value__path {
    --v-pull: clamp(3rem, 2rem + 11vw, 12rem);
    --v-step: clamp(2rem, 1rem + 2.4vw, 3.75rem);
    position: relative;
    margin-top: calc(-1 * var(--v-pull));
}

.pl-value__path .pl-glowline {
    inset: 0 auto auto calc(-1 * var(--pl-gutter));
    width: calc(100% + var(--pl-gutter));
    height: calc(var(--v-pull) + 3rem + 4.875rem);
}

.pl-value__list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 0.19fr)) minmax(0, 0.43fr);
    gap: 0 clamp(1rem, 0.2rem + 1.8vw, 2.5rem);
    align-items: start;
}

.pl-value__item {
    position: relative;
    display: grid;
    justify-items: start;
    gap: 0.5rem;
    min-width: 0;
    margin-top: calc(var(--step, 0) * var(--v-step));
}

.pl-value__item:last-child {
    grid-template-columns: 4.875rem minmax(0, 1fr);
    column-gap: 2.25rem;
    justify-self: end;
    width: min(100%, 27rem);
    margin-top: calc(var(--v-pull) + 3rem);
}

.pl-value__item:last-child .pl-disc {
    grid-row: 1 / span 3;
}

.pl-value__item .pl-disc {
    margin-bottom: 1.125rem;
}

.pl-value__marker {
    font-size: 1.1875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--pl-teal-300);
}

.pl-value__title {
    font-size: 1.0938rem;
    font-weight: 500;
    line-height: 1.45;
    color: var(--pl-on-navy-label);
}

.pl-value__text {
    margin-top: 0.625rem;
    font-size: var(--pl-fs-small);
    line-height: 1.55;
    color: var(--pl-on-navy-lead);
}

/* ============================================================== audiences */
.pl-aud {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 0.5rem + 1.3vw, 1.75rem);
    align-items: stretch;
}

.pl-aud__card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: clamp(1.5rem, 1rem + 1.2vw, 2rem);
    border: 1px solid rgba(17, 155, 159, 0.14);
    border-radius: var(--pl-r-card);
    background: var(--pl-tint-mint);
    transition: transform var(--pl-t-base) var(--pl-ease), box-shadow var(--pl-t-base) var(--pl-ease);
}

.pl-aud__card:hover {
    transform: translateY(-3px);
    box-shadow: var(--pl-shadow-2);
}

.pl-aud__card--sky {
    border-color: rgba(26, 115, 209, 0.12);
    background: var(--pl-tint-sky);
}

.pl-aud__card--lilac {
    border-color: rgba(78, 30, 150, 0.1);
    background: var(--pl-tint-lilac);
}

.pl-aud__head {
    display: grid;
    grid-template-columns: 3.75rem minmax(0, 1fr);
    gap: 1.375rem;
    align-items: start;
}

.pl-aud__label {
    padding-top: 0.5rem;
    font-size: 1.125rem;
    color: var(--pl-teal-700);
}

.pl-aud__card--sky .pl-aud__label,
.pl-aud__card--lilac .pl-aud__label {
    color: var(--pl-text-body);
}

.pl-aud__title {
    margin-top: 1.125rem;
    font-size: clamp(1.3125rem, 1.1rem + 0.6vw, 1.5625rem);
    font-weight: 800;
    line-height: 1.28;
    letter-spacing: var(--pl-track-tight);
    color: var(--pl-text);
    text-wrap: balance;
}

.pl-aud__text {
    margin-top: 1.375rem;
    font-size: 1.0938rem;
    color: var(--pl-text-body);
}

.pl-aud__points {
    display: grid;
    gap: 1.625rem;
    margin-top: 1.875rem;
    font-size: 1.125rem;
    color: var(--pl-text-body);
}

.pl-aud__points li {
    display: grid;
    grid-template-columns: 3.75rem minmax(0, 1fr);
    gap: 1.375rem;
    align-items: center;
}

.pl-aud__points .pl-ico {
    justify-self: center;
    width: 2.125rem;
    height: 2.125rem;
    color: var(--pl-text);
}

.pl-aud__signature {
    margin-top: auto;
    padding-top: 1.5rem;
    font-size: 1.1875rem;
    font-weight: 700;
    color: var(--pl-text);
}

.pl-aud__signature::before {
    content: "";
    display: block;
    height: 1px;
    margin-bottom: 1.5rem;
    background: rgba(5, 40, 61, 0.14);
}

.pl-aud__text + .pl-aud__signature {
    margin-top: auto;
}

.pl-aud__card .pl-aud__text {
    margin-bottom: 1.75rem;
}

/* ============================================================ how it works */
.pl-journey {
    padding-bottom: clamp(4rem, 2.6rem + 4.6vw, 6.5rem);
}

.pl-steps {
    --gapx: clamp(1rem, 0.2rem + 1.8vw, 2.5rem);
    --ring: 4.875rem;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--gapx);
}

.pl-steps__item {
    position: relative;
    display: grid;
    justify-items: center;
    align-content: start;
    min-width: 0;
    text-align: center;
}

.pl-steps__item .pl-ring {
    grid-row: 1;
    grid-column: 1;
}

.pl-steps__item:not(:last-child)::after {
    grid-row: 1;
}

.pl-steps__title {
    margin-top: 1.75rem;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.32;
    color: var(--pl-on-navy);
    text-wrap: balance;
}

.pl-steps__text {
    max-width: 16rem;
    margin-top: 1.125rem;
    font-size: var(--pl-fs-feature);
    color: var(--pl-on-navy-lead);
}

.pl-activation {
    margin-top: clamp(2.5rem, 1.6rem + 2.8vw, 4.25rem);
    padding: clamp(1.5rem, 1rem + 1.4vw, 2.25rem) clamp(1.25rem, 0.6rem + 1.6vw, 2rem) clamp(1.75rem, 1rem + 1.6vw, 2.5rem);
    color: var(--pl-text-body);
    box-shadow: 0 0 0 1px rgba(164, 241, 241, 0.6), 0 0 44px rgba(37, 211, 216, 0.28);
}

.pl-activation__title {
    font-size: clamp(1.3125rem, 1.1rem + 0.6vw, 1.5625rem);
    font-weight: 800;
    color: var(--pl-text);
}

.pl-activation__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 1.5rem;
}

.pl-activation__item {
    position: relative;
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: 1.25rem;
    padding-inline: clamp(1rem, 0.4rem + 1.4vw, 2rem);
    border-left: 1px solid rgba(84, 115, 142, 0.24);
}

.pl-activation__item:first-child {
    padding-left: 0;
    border-left: 0;
}

/* A small arrow between the steps, on the hairline. */
.pl-activation__item + .pl-activation__item::before {
    content: "";
    position: absolute;
    left: -0.875rem;
    top: 2.5rem;
    width: 0.5rem;
    height: 0.5rem;
    border-top: 2px solid var(--pl-teal-600);
    border-right: 2px solid var(--pl-teal-600);
    transform: rotate(45deg);
    background: transparent;
}

.pl-activation__item .pl-ico {
    width: 3rem;
    height: 3rem;
    color: var(--pl-teal-700);
}

.pl-activation__name {
    font-size: 1.1875rem;
    font-weight: 700;
    color: var(--pl-text);
}

.pl-activation__text {
    margin-top: 0.375rem;
    font-size: var(--pl-fs-small);
    line-height: 1.5;
    color: var(--pl-text-body);
}

/* ==================================================================== FAQ */
.pl-faq__cols {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 clamp(1.25rem, 0.6rem + 1.6vw, 2.25rem);
    align-items: start;
}

.pl-faq__col {
    display: grid;
    gap: 0.875rem;
}

.pl-faq__item {
    border: 1px solid var(--pl-border);
    border-radius: 0.875rem;
    background: rgba(255, 255, 255, 0.7);
    transition: background-color var(--pl-t-base) var(--pl-ease), border-color var(--pl-t-base) var(--pl-ease), box-shadow var(--pl-t-base) var(--pl-ease);
}

.pl-faq__item:hover {
    border-color: rgba(17, 155, 159, 0.3);
    box-shadow: var(--pl-shadow-1);
}

.pl-faq__item[open] {
    border-color: rgba(17, 155, 159, 0.18);
    background: #edfafb;
}

.pl-faq__q {
    display: grid;
    grid-template-columns: 2.625rem minmax(0, 1fr) 2.5rem;
    gap: 0.875rem;
    align-items: center;
    padding: 1.1875rem 1.375rem;
    cursor: pointer;
    list-style: none;
}

.pl-faq__q::-webkit-details-marker {
    display: none;
}

.pl-faq__q:focus-visible {
    border-radius: 0.875rem;
}

.pl-faq__num {
    font-size: 1.4375rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--pl-teal-600);
}

.pl-faq__q-text {
    font-size: clamp(1.125rem, 1.05rem + 0.3vw, 1.2188rem);
    font-weight: 600;
    line-height: 1.4;
    color: var(--pl-text);
}

.pl-faq__sign {
    position: relative;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: var(--pl-aqua-100);
    box-shadow: 0 0 0 1px rgba(17, 155, 159, 0.12);
}

.pl-faq__sign::before,
.pl-faq__sign::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 1rem;
    height: 2px;
    margin: -1px 0 0 -0.5rem;
    border-radius: 2px;
    background: var(--pl-teal-600);
    transition: transform var(--pl-t-base) var(--pl-ease);
}

.pl-faq__sign::after {
    transform: rotate(90deg);
}

.pl-faq__item[open] .pl-faq__sign::after {
    transform: rotate(0deg);
}

.pl-faq__a {
    padding: 0 4.75rem 1.5rem 4.875rem;
    font-size: var(--pl-fs-feature);
    line-height: 1.6;
    color: var(--pl-text-body);
}

/* ==================================================== pricing + registration */
.pl-final {
    padding-bottom: clamp(4rem, 2.6rem + 4.6vw, 6.5rem);
}

.pl-final__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr);
    gap: clamp(1.75rem, 0.6rem + 3vw, 3.5rem);
    align-items: start;
}

.pl-final__main {
    min-width: 0;
}

.pl-final .pl-head {
    margin-bottom: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem);
}

.pl-final .pl-h2 {
    text-wrap: wrap;
}

.pl-final .pl-h2 > span {
    display: inline;
}

.pl-final__clock {
    margin-bottom: clamp(2rem, 1.4rem + 1.8vw, 2.75rem);
}

.pl-pricing {
    padding: clamp(1.5rem, 0.9rem + 1.8vw, 2.25rem);
    border: 1px solid rgba(56, 229, 220, 0.62);
    border-radius: var(--pl-r-panel);
    background: linear-gradient(180deg, rgba(9, 68, 83, 0.55), rgba(9, 42, 59, 0.55));
    box-shadow: 0 0 0 1px rgba(56, 229, 220, 0.1), 0 0 38px rgba(37, 211, 216, 0.22), inset 0 0 34px rgba(37, 211, 216, 0.07);
    scroll-margin-top: 6.5rem;
}

.pl-pricing__title {
    font-size: clamp(1.4375rem, 1.1rem + 1vw, 1.8125rem);
    font-weight: 800;
    line-height: 1.25;
    color: var(--pl-on-navy);
}

.pl-pricing__price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 1.125rem;
    margin-top: 1rem;
}

.pl-pricing__amount {
    font-size: clamp(3.25rem, 2.2rem + 3vw, 4.375rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.03em;
    background: linear-gradient(90deg, #38e5dc, #1fc9bd);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.pl-pricing__period {
    font-size: clamp(1.375rem, 1.1rem + 0.9vw, 1.8125rem);
    font-weight: 600;
    color: var(--pl-teal-300);
}

.pl-pricing__scope {
    margin-top: 1rem;
    font-size: 1.0938rem;
    color: #8de7e8;
}

.pl-pricing__rows {
    margin-top: 1.75rem;
    border-top: 1px solid rgba(30, 99, 109, 0.9);
}

.pl-pricing__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding-block: 0.875rem;
    border-bottom: 1px solid rgba(30, 99, 109, 0.9);
    font-size: 1.25rem;
    color: var(--pl-on-navy);
}

.pl-pricing__row dd {
    display: flex;
    align-items: baseline;
    gap: 2rem;
    text-align: right;
}

.pl-pricing__row strong {
    font-size: 1.375rem;
    font-weight: 800;
    color: var(--pl-teal-300);
}

.pl-pricing__was {
    font-size: 1.125rem;
    color: var(--pl-on-navy-muted);
    white-space: nowrap;
}

.pl-pricing__terms {
    margin-top: 2rem;
    padding-top: 1.75rem;
    border-top: 1px solid rgba(30, 99, 109, 0.9);
    font-size: 1.0938rem;
    line-height: 1.6;
    color: var(--pl-on-navy-soft);
}

.pl-final__form {
    min-width: 0;
    padding: clamp(1.5rem, 1rem + 1.4vw, 2.25rem);
    border-radius: var(--pl-r-panel);
    background: var(--pl-white);
    box-shadow: 0 0 0 1px rgba(164, 241, 241, 0.5), 0 0 48px rgba(37, 211, 216, 0.3), 0 30px 80px rgba(1, 14, 22, 0.45);
}

.pl-final__contact {
    display: grid;
    justify-items: center;
    gap: 0.875rem;
    margin-top: 1.75rem;
    padding-top: 1.75rem;
    border-top: 1px solid var(--pl-border);
    font-size: var(--pl-fs-small);
    color: var(--pl-text-muted);
}

.pl-final__contact .pl-phone {
    font-size: clamp(1.1875rem, 1rem + 0.5vw, 1.3125rem);
    color: var(--pl-teal-600);
}

.pl-final__contact .pl-phone .pl-ico {
    width: 1.75rem;
    height: 1.75rem;
    fill: currentColor;
    stroke: none;
}

/* ============================================================= 1320 ↓ */
@media (max-width: 1320px) {
    .pl-status {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pl-status__card--wide {
        grid-column: span 1;
    }

    .pl-status__card--wide .pl-status__body {
        padding-left: 0;
    }

    .pl-orbit__node {
        width: 32.5%;
        grid-template-columns: 2.5rem minmax(0, 1fr);
        gap: 0.625rem;
        padding: 0.75rem;
    }

    .pl-orbit__icon {
        width: 2.5rem;
        height: 2.5rem;
    }
}

/* ================================================= 1099 ↓: one column */
@media (max-width: 1099px) {
    .pl-hero__grid,
    .pl-cap__grid,
    .pl-cap--flip .pl-cap__grid,
    .pl-operations__top,
    .pl-sources__grid,
    .pl-value__top,
    .pl-final__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .pl-cap--flip .pl-cap__copy {
        order: 0;
    }

    .pl-hero__visual {
        max-width: 46rem;
        margin-top: 1rem;
    }

    /* One column: the line runs to the edge of the column and is clipped there (never widens the page). */
    .pl-grouppill::after {
        display: none;
    }

    @supports (overflow: clip) {
        .pl-cap--first .pl-cap__copy {
            overflow-x: clip;
        }

        .pl-grouppill::after {
            display: block;
            width: 100vw;
        }
    }

    .pl-operations__top .pl-head,
    .pl-sources__grid .pl-head,
    .pl-value__top .pl-head {
        padding-top: 0;
    }

    .pl-pillars,
    .pl-problems {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 2.75rem;
    }

    .pl-pillars::before,
    .pl-problems::before {
        display: none;
    }

    .pl-offer {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 2.25rem;
    }

    .pl-offer__item:nth-child(odd) {
        padding-left: 0;
        border-left: 0;
    }

    .pl-offer__item:nth-child(even) {
        padding-right: 0;
    }

    .pl-bento__title,
    .pl-bento__cell--follow,
    .pl-bento__cell--home,
    .pl-bento__cell--profile,
    .pl-bento__cell--copilot {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .pl-bento__cell--profile {
        max-width: 34rem;
    }

    .pl-stages,
    .pl-aud {
        grid-template-columns: minmax(0, 1fr);
        gap: 3rem;
    }

    .pl-aud {
        gap: 1.25rem;
    }

    .pl-stages__media {
        max-width: 34rem;
    }

    .pl-stages__item:not(:last-child)::after,
    .pl-steps__item:not(:last-child)::after {
        display: none;
    }

    .pl-stages__item .pl-ring {
        justify-self: start;
        margin-left: 1.5rem;
    }

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

    .pl-legend {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.875rem;
    }

    .pl-legend__item,
    .pl-legend__item:first-child {
        padding-inline: 0;
        border-left: 0;
    }

    /* The orbit becomes a luminous spine: the core on top, the nine layers below it. */
    .pl-orbit {
        aspect-ratio: auto;
        display: grid;
        gap: 1.5rem;
        margin-top: 1rem;
    }

    .pl-orbit__spokes {
        display: none;
    }

    .pl-orbit__core {
        position: relative;
        left: auto;
        top: auto;
        width: 12.5rem;
        transform: none;
        margin-inline: auto;
    }

    .pl-orbit__list {
        position: relative;
        inset: auto;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.875rem;
    }

    .pl-orbit__node,
    .pl-orbit__node[class] {
        position: relative;
        left: auto;
        top: auto;
        width: auto;
    }

    .pl-value__path {
        margin-top: 3rem;
    }

    .pl-value__path .pl-glowline {
        display: none;
    }

    .pl-value__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.5rem clamp(1rem, 0.2rem + 1.8vw, 2.5rem);
    }

    .pl-value__item,
    .pl-value__item:last-child {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        justify-self: stretch;
        width: auto;
        margin-top: 0;
    }

    .pl-value__item:last-child .pl-disc {
        grid-row: auto;
    }

    .pl-steps {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .pl-steps__item {
        grid-template-columns: 4.875rem minmax(0, 1fr);
        column-gap: 1.5rem;
        justify-items: start;
        padding-bottom: 2.25rem;
        text-align: left;
    }

    .pl-steps__item .pl-ring {
        grid-row: 1 / span 2;
        position: relative;
    }

    /* the line of care runs down from one node to the next; the item clips it at its lower edge */
    .pl-steps__item:not(:last-child) .pl-ring::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 100%;
        width: 1px;
        height: 24rem;
        background: linear-gradient(180deg, rgba(67, 222, 209, 0.8), rgba(67, 222, 209, 0.35));
    }

    .pl-steps__item {
        overflow: hidden;
    }

    .pl-steps__title,
    .pl-steps__text {
        grid-column: 2;
    }

    .pl-steps__title {
        margin-top: 0.5rem;
    }

    .pl-steps__text {
        max-width: none;
        margin-top: 0.5rem;
    }

    .pl-activation__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 1.75rem;
    }

    .pl-activation__item:nth-child(odd) {
        padding-left: 0;
        border-left: 0;
    }

    .pl-activation__item:nth-child(3)::before {
        display: none;
    }

    .pl-logos__groups {
        grid-template-columns: minmax(0, 1fr);
        gap: 2rem;
    }

    .pl-logos__group + .pl-logos__group {
        padding-left: 0;
        border-left: 0;
    }
}

/* ======================================================= 767 ↓: phones */
@media (max-width: 767px) {
    .pl-hero {
        padding-bottom: 3rem;
    }

    .pl-hero__copy {
        gap: 1.25rem;
    }

    .pl-hero .pl-actions {
        display: grid;
        width: 100%;
    }

    .pl-hero .pl-actions .pl-btn {
        width: 100%;
    }

    .pl-hero .plab-countdown {
        width: 100%;
    }

    .plab-countdown__units {
        width: 100%;
        justify-content: space-between;
    }

    .plab-countdown__unit {
        min-width: 0;
        padding-inline: 0.5rem;
    }

    .plab-countdown__unit + .plab-countdown__unit::before {
        left: calc(-1 * clamp(0.5rem, -1rem + 8vw, 2rem));
    }

    /* C_M1: the window alone, full width; the layered fragment stays on wide screens. */
    .pl-hero__float {
        display: none;
    }

    .pl-pillars,
    .pl-problems {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 0;
        text-align: left;
    }

    /* Pillars as nodes on a vertical luminous line (C_M1, screen 2). */
    .pl-pillars__item {
        grid-template-columns: 4.75rem minmax(0, 1fr);
        column-gap: 1.375rem;
        justify-items: start;
        align-items: start;
        padding-bottom: 2rem;
    }

    .pl-pillars__item:not(:last-child)::before {
        content: "";
        position: absolute;
        left: 2.375rem;
        top: 4.75rem;
        bottom: 0;
        width: 2px;
        margin-left: -1px;
        background: #85ede6;
    }

    .pl-pillars__body {
        padding-top: 0.625rem;
    }

    .pl-pillars__text {
        max-width: none;
        margin: 0.375rem 0 0;
    }

    /* One integrated band, 2 × 2, so that the numerals stay readable. */
    .pl-offer {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.75rem 0;
        padding: 1.75rem 1.25rem;
    }

    .pl-offer__item {
        padding-inline: 1rem;
        flex-direction: column;
        gap: 0.75rem;
    }

    .pl-offer__icon {
        padding: 0;
        border: 0;
    }

    .pl-offer__icon .pl-ico {
        width: 2.25rem;
        height: 2.25rem;
    }

    .pl-offer__strong {
        font-size: 1.125rem;
        margin-bottom: 0.5rem;
    }

    .pl-offer__label {
        font-size: 1rem;
    }

    .pl-offer__text,
    .pl-offer__rest {
        font-size: var(--pl-fs-meta);
    }

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

    /* Why: layered cards with a coloured disc and a teal numeral on a vertical line (C_M2, screen 1). */
    .pl-problems__item {
        grid-template-columns: 4.75rem minmax(0, 1fr);
        column-gap: 0;
        justify-items: start;
        align-items: start;
        margin-bottom: 1rem;
        padding: 1.125rem 1rem 1.25rem 0;
        border-radius: var(--pl-r-card);
        background: var(--pl-white);
        box-shadow: var(--pl-shadow-1);
    }

    .pl-problems__item .pl-disc {
        margin-left: -1.125rem;
    }

    .pl-problems__item:not(:last-child)::before {
        content: "";
        position: absolute;
        left: 1.25rem;
        top: 5.75rem;
        bottom: -1.25rem;
        width: 2px;
        background: #85ede6;
    }

    .pl-problems__body {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        column-gap: 0.75rem;
        align-items: baseline;
        padding-top: 0.5rem;
    }

    .pl-problems__num {
        display: block;
        font-size: 1.375rem;
        font-weight: 700;
        color: var(--pl-teal-600);
    }

    .pl-problems__title {
        max-width: none;
        margin: 0;
        font-size: 1.1875rem;
    }

    .pl-problems__text {
        grid-column: 1 / -1;
        max-width: none;
        margin: 0.625rem 0 0;
        font-size: var(--pl-fs-small);
    }

    .pl-cap--rows .pl-cap__text {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 0.75rem;
    }

    .pl-grouppill {
        font-size: 1.125rem;
        min-height: 3.25rem;
    }

    .pl-grouphead {
        margin-bottom: 2.25rem;
    }

    .pl-tile--stage {
        width: 3.75rem;
        height: 3.75rem;
    }

    .pl-tile--stage .pl-ico {
        width: 2rem;
        height: 2rem;
    }

    .pl-bento__body,
    .pl-bento__cell--follow .pl-bento__body,
    .pl-bento__cell--home .pl-bento__body {
        grid-template-columns: 3.25rem minmax(0, 1fr);
        column-gap: 1rem;
    }

    .pl-bento__caption,
    .pl-bento__cell--profile .pl-bento__caption {
        grid-column: 2 / -1;
        padding-left: 1rem;
    }

    .pl-status,
    .pl-orbit__list,
    .pl-value__list,
    .pl-activation__list,
    .pl-faq__cols {
        grid-template-columns: minmax(0, 1fr);
    }

    .pl-faq__cols {
        row-gap: 0.875rem;
    }

    .pl-legend {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.875rem;
    }

    .pl-legend__item,
    .pl-legend__item:first-child {
        padding-inline: 0;
        border-left: 0;
        align-items: flex-start;
    }

    .pl-legend__dot {
        margin-top: 0.125rem;
    }

    .pl-value__float {
        width: 92%;
        margin-right: 0;
    }

    .pl-value__item {
        grid-template-columns: 4.875rem minmax(0, 1fr);
        column-gap: 1.25rem;
    }

    .pl-value__item .pl-disc {
        grid-row: 1 / span 3;
    }

    .pl-value__item:last-child {
        grid-template-columns: 4.875rem minmax(0, 1fr);
        column-gap: 1.25rem;
    }

    .pl-value__item:last-child .pl-disc {
        grid-row: 1 / span 3;
    }

    .pl-aud__points li,
    .pl-aud__head {
        grid-template-columns: 3.25rem minmax(0, 1fr);
        gap: 1rem;
    }

    .pl-activation__item,
    .pl-activation__item:nth-child(odd) {
        padding-inline: 0;
        border-left: 0;
    }

    .pl-activation__item + .pl-activation__item::before {
        display: none;
    }

    .pl-faq__q {
        grid-template-columns: 2.25rem minmax(0, 1fr) 2.25rem;
        gap: 0.625rem;
        padding: 1rem;
    }

    .pl-faq__sign {
        width: 2.25rem;
        height: 2.25rem;
    }

    .pl-faq__a {
        padding: 0 1rem 1.25rem 3.875rem;
    }

    .pl-pricing__row {
        font-size: 1.0938rem;
    }

    .pl-pricing__row dd {
        gap: 0.875rem;
    }

    .pl-pricing__row strong {
        font-size: 1.1875rem;
    }

    .pl-pricing__was {
        font-size: var(--pl-fs-meta);
    }

    .pl-logos__list {
        flex-wrap: wrap;
    }

    .pl-logos__item img {
        height: 2.75rem;
    }
}

@media (max-width: 400px) {
    .pl-offer {
        padding-inline: 0.875rem;
    }

    .pl-offer__item {
        padding-inline: 0.75rem;
    }

    .pl-offer__value {
        font-size: 2.125rem;
    }
}

/* 2.3.1 — owner annotations: scientific / business compositions within Direction C.
   Existing brand tokens, font shaping and registration primitives remain unchanged. */
.pl-head { max-width:58rem; margin-bottom:2.75rem; }
.pl-head .pl-h2 { max-width:23ch; letter-spacing:-.035em; text-wrap:balance; }
.pl-head .pl-lead { max-width:54rem; margin-top:1.25rem; }
.pl-hero { background:radial-gradient(ellipse at 85% 45%,#12617288,transparent 57%),linear-gradient(125deg,#062636,#0b3448 65%,#074b58); padding-top:calc(var(--pl-header-h) + 2rem); }
.pl-hero__launch { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-bottom:1.75rem; margin-bottom:2.75rem; border-bottom:1px solid #5b9aa355; }
.pl-hero__date { display:grid; gap:.3rem; }
.pl-hero__date > span { color:var(--pl-on-navy-soft); font-size:.9rem; }
.pl-hero__date time { color:var(--pl-teal-300); font-size:clamp(2rem,3vw,3rem); font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:-.04em; line-height:1.2; }
.pl-hero__launch .plab-countdown { margin:0; }
.pl-hero__launch .plab-countdown__label { font-size:.875rem; margin-bottom:.4rem; }
.pl-hero__launch .plab-countdown__units { gap:1.4rem; }
.pl-hero__launch .plab-countdown__unit { min-width:0; padding:0 .75rem; }
.pl-hero__launch .plab-countdown__unit::before { left:-.85rem; top:.7rem; width:.3rem; height:.3rem; }
.pl-hero__launch .plab-countdown__name { font-size:.8rem; }
.pl-pricing__row { align-items:start; }
.pl-pricing__row dt { min-width:0; }
.pl-pricing__row dd { flex-wrap:wrap; justify-content:flex-end; }
.pl-hero__launch .plab-countdown__value { font-size:2.1rem; }
.pl-hero__grid { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center; gap:3rem; }
.pl-hero__copy { gap:1.4rem; }
.pl-hero .pl-h1 { font-size:clamp(2.15rem,3.25vw,3.5rem); line-height:1.13; letter-spacing:-.04em; }
.pl-hero .pl-lead { font-size:clamp(1.0625rem,1.4vw,1.25rem); line-height:1.55; }
.pl-hero .pl-actions { gap:.8rem; margin-top:.3rem; }
.pl-hero .pl-btn { padding-inline:1.25rem; font-size:1rem; }
.pl-hero__visual { padding:0; isolation:isolate; }
.pl-hero__visual::before { content:""; position:absolute; inset:0; z-index:-1; border-radius:50%; background:radial-gradient(ellipse,#40dcd02e,transparent 67%); pointer-events:none; }
.pl-hero__main .pl-shot__frame { border-radius:1rem; background:#f5fbff; box-shadow:0 0 0 1px #5aded080,0 24px 70px #00182188; }
.pl-hero__main .pl-shot__view { padding:.45rem; }
@media(prefers-reduced-motion:no-preference) { .pl-hero__visual::before { animation:pl-ambient 9s ease-in-out infinite alternate; } }
@keyframes pl-ambient { from { opacity:.45; transform:scale(.9); } to { opacity:1; transform:scale(1.05); } }
.pl-offer-intro { margin:3.5rem 0 1.25rem; max-width:56rem; }
.pl-offer-intro h2 { font-size:clamp(1.4rem,2.1vw,2rem); line-height:1.35; letter-spacing:-.025em; }
.pl-offer-intro p { margin-top:.65rem; font-size:1rem; color:var(--pl-text-muted); }
.pl-offer { margin-top:0; }
.pl-offer__item--plain .pl-offer__icon { display:none; }
.pl-offer__item--plain { padding-left:0; }
.pl-offer__strong { font-size:1.25rem; }
.pl-problem .pl-update-split { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; }
.pl-problem .pl-update-prose { font-size:1.0625rem; }
.pl-context-map { padding:1.7rem; border:0; background:radial-gradient(ellipse,#cfefed,transparent 70%); min-width:0; }
.pl-context-map__nodes li { border:1px solid #c0dde7; background:#edf7ff; border-radius:1rem; font-weight:650; display:flex; flex-direction:column; align-items:center; gap:.65rem; box-shadow:0 9px 25px #19385107; }
.pl-context-map__nodes li:nth-child(3n+2) { background:#e3f5f0; border-color:#b5dfd4; }
.pl-context-map__nodes li:nth-child(3n) { background:#efedf9; border-color:#d7d1eb; }
.pl-map-icon { display:grid; place-items:center; color:#007884; }
.pl-map-icon .pl-ico { width:2.2rem; height:2.2rem; }
.pl-context-map__nodes li:nth-child(3n) .pl-map-icon { color:#635a9c; }
.pl-context-map .pl-context-map__patient { min-height:8rem; box-shadow:0 0 0 .5rem #fff8,0 20px 35px #164b6222; border-radius:50% 50% 1.5rem 1.5rem; }
.pl-context-map .pl-context-map__patient .pl-ico { width:3rem; height:3rem; }
.pl-context-map .pl-context-map__lines { stroke-width:1.2; }
.pl-context-map figcaption { font-size:.75rem; margin-top:.5rem; }
.pl-risk__steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3rem; list-style:none; margin:3.5rem 0 0; padding:0; }
.pl-risk__stage { position:relative; min-width:0; padding:0 1rem 0 0; }
.pl-risk__stage:not(:last-child)::after { content:""; position:absolute; height:1px; left:7rem; right:-2rem; top:3rem; background:linear-gradient(90deg,#38d6c9,#38d6c922); }
.pl-risk__checkpoint { position:relative; width:6rem; height:6rem; display:grid; place-items:center; border:1px solid #53b3b57a; border-radius:1.4rem; background:linear-gradient(145deg,#18536a,#092d40); color:#83ece1; margin-bottom:2rem; }
.pl-risk__checkpoint > .pl-ico { width:3rem; height:3rem; }
.pl-risk__checkpoint > span { position:absolute; right:-.6rem; bottom:-.5rem; display:grid; place-items:center; width:2rem; height:2rem; background:#b9f1df; color:#08636a; border:4px solid #092e40; border-radius:50%; }
.pl-risk__checkpoint > span .pl-ico { width:1rem; height:1rem; }
.pl-risk__stage:nth-child(2) .pl-risk__checkpoint { background:linear-gradient(145deg,#246c79,#0b3948); }
.pl-risk__stage:nth-child(3) .pl-risk__checkpoint { background:linear-gradient(145deg,#354b72,#112f49); color:#b7dfff; }
.pl-risk__stage h3 { font-size:1.375rem; line-height:1.3; margin-bottom:1rem; }
.pl-risk__stage p { font-size:1.0625rem; color:var(--pl-on-navy-lead); }
.pl-risk__context { display:flex; align-items:center; gap:1rem; margin-top:3rem; border-top:1px solid #5297a14d; padding-top:1.5rem; color:var(--pl-on-navy-lead); }
.pl-risk__context .pl-ico { width:2rem; height:2rem; color:var(--pl-teal-300); flex:none; }
.pl-connected__inputs { gap:1.5rem; align-items:stretch; }
.pl-data-stream { min-width:0; padding:2rem 1.5rem; border-radius:1.5rem 1.5rem .35rem 1.5rem; background:linear-gradient(140deg,#ddf1f2,#eef8f8); text-align:left; border-bottom:3px solid #128c99; }
.pl-data-stream:nth-child(2) { background:linear-gradient(140deg,#e6e4f7,#f4f3fa); border-color:#9083bf; transform:translateY(-.8rem); }
.pl-data-stream:nth-child(3) { background:linear-gradient(140deg,#dceeff,#f0f8ff); border-color:#6ba5d3; border-radius:1.5rem 1.5rem 1.5rem .35rem; }
.pl-data-stream__icon { display:inline-grid; place-items:center; color:#037886; margin-bottom:1.2rem; }
.pl-connected__inputs .pl-ico { width:3rem; height:3rem; }
.pl-data-stream:nth-child(2) .pl-data-stream__icon { color:#6b5d9d; }
.pl-data-stream:nth-child(3) .pl-data-stream__icon { color:#2c719d; }
.pl-data-stream h3 { font-size:1.375rem; margin-bottom:.8rem; }
.pl-data-stream p { font-size:1rem; line-height:1.55; }
.pl-data-stream p + p { margin-top:.4rem; }
.pl-connected__join { height:3.5rem; border-width:2px; }
.pl-connected__join span:nth-child(2) { top:-.8rem; height:calc(100% + .8rem); }
.pl-connected__hub { padding:2rem; border-radius:1.2rem; background:linear-gradient(120deg,#062839,#104354); }
.pl-connected__hub .plab-brand-lockup { display:block; width:min(100%,17rem); margin:0 auto 1rem; }
.pl-connected__hub .plab-brand-lockup__image { width:100%; height:auto; }
.pl-connected__result { border:0; background:#d9f1ed; border-radius:.75rem; }
.pl-connected > .pl-container > .pl-update-note { text-align:center; }
.pl-role-context { margin:3.5rem auto 0; padding-top:2rem; border-top:1px solid var(--pl-border-strong); max-width:60rem; }
.pl-role-context h3 { font-size:1.5rem; margin-bottom:1rem; }
.pl-role-context p { font-size:1.0625rem; line-height:1.65; }
.pl-role-context p + p { margin-top:1rem; color:var(--pl-text-muted); }
.pl-actions-section .pl-update-grid--two { column-gap:2rem; row-gap:3rem; }
.pl-action-card { background:linear-gradient(145deg,#10394b,#092c3e); border:1px solid #42788b70; padding:2rem; border-radius:1.5rem .5rem 1.5rem 1.5rem; gap:1.5rem; }
.pl-action-card:nth-child(even) { border-radius:.5rem 1.5rem 1.5rem 1.5rem; }
.pl-action-card__icon { display:grid; place-items:center; width:3.8rem; height:3.8rem; color:#77e0d5; background:#185364; border-radius:1rem; margin-bottom:1.2rem; }
.pl-action-card__icon .pl-ico { width:2.25rem; height:2.25rem; }
.pl-action-card:nth-child(even) .pl-action-card__icon { color:#b9dfff; background:#224966; }
.pl-action-card .pl-shot--paired { width:100%; }
.pl-shot--paired .pl-shot__view { background:#f5fafc; margin:0; }
.pl-shot--paired .pl-shot__img { object-fit:contain; padding:.5rem; }
.pl-action-card__copy > p { min-height:3.3em; }
.pl-update-status { border-radius:.25rem; padding:.25rem .55rem; font-size:.8125rem; }
.pl-team-note { border-radius:.5rem; border-left:3px solid var(--pl-teal-300); }
.pl-integration__steps { gap:2rem; }
.pl-integration__step { min-width:0; text-align:center; }
.pl-integration__steps li { padding:0; }
.pl-integration__media { position:relative; aspect-ratio:4/3; background:#fff; border:1px solid #c4dde6; border-radius:1.2rem; overflow:hidden; margin-bottom:1.5rem; box-shadow:0 12px 25px #183d4909; }
.pl-integration__media img { width:100%; height:100%; object-fit:cover; }
.pl-integration__media--ui img { object-fit:contain; padding:.75rem; }
.pl-integration__adapter { display:grid; place-items:center; position:absolute; inset:auto .8rem .8rem auto; width:3rem; height:3rem; color:#fff; background:#007f89; border-radius:50%; }
.pl-integration__adapter .pl-ico { width:1.75rem; height:1.75rem; }
.pl-integration__step h3 { font-size:1.15rem; line-height:1.4; margin-bottom:.7rem; }
.pl-integration__step p { font-size:1rem; line-height:1.6; }
.pl-integration__steps li:not(:last-child)::after { top:4.5rem; }
.pl-integration__statuses { margin-top:3rem; font-size:1rem; }
.pl-plans .pl-update-grid--two { gap:2rem; }
.pl-plan { display:grid; grid-template-columns:1fr; grid-template-rows:auto 1fr; padding:0; gap:0; overflow:hidden; border-top:0; border-radius:1rem; align-items:stretch; }
.pl-plan__photo { width:100%; aspect-ratio:16/9; overflow:hidden; }
.pl-plan__photo img { width:100%; height:100%; object-fit:cover; object-position:center 35%; }
.pl-plan__body { padding:2rem; display:flex; flex-direction:column; align-items:flex-start; gap:1rem; }
.pl-plan__body h3 { min-height:2.8em; }
.pl-plan__body > p:not(.pl-plan__price) { font-size:1rem; margin-bottom:.5rem; }
.pl-plan__body .pl-btn { min-height:3.4rem; font-size:1rem; width:100%; }
.pl-plan__price strong { font-size:2.7rem; }
.pl-plan__price span { margin-top:.2rem; }
.pl-pricing__scope { font-size:1rem; }
@media(min-width:1100px) {
 .pl-context-map { grid-template-rows:repeat(3,minmax(7.5rem,auto)) auto; gap:1.25rem .65rem; }
 .pl-context-map .pl-context-map__nodes li { padding:1rem .4rem; font-size:.875rem; }
 .pl-action-card { display:grid; grid-template-rows:subgrid; grid-row:span 2; }
 .pl-plans .pl-update-grid--two { align-items:stretch; }
}
@media(max-width:1099px) {
 .pl-hero__grid { grid-template-columns:1fr; gap:2.5rem; }
 .pl-hero__copy { max-width:45rem; }
 .pl-hero .pl-h1 { font-size:clamp(2.2rem,5vw,3.5rem); }
 .pl-hero__visual { max-width:48rem; width:100%; margin:0 auto; }
 .pl-problem .pl-update-split { grid-template-columns:1fr; }
 .pl-context-map { max-width:42rem; width:100%; margin:auto; }
 .pl-context-map__nodes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
 .pl-context-map__nodes li { padding:1rem .5rem; font-size:.9375rem; }
 .pl-context-map__nodes li:nth-child(n) { grid-area:auto; }
 .pl-context-map__nodes li:last-child { grid-column:2; }
 .pl-context-map .pl-context-map__patient { width:min(70%,17rem); min-height:7rem; }
 .pl-risk__steps { gap:1.5rem; }
 .pl-risk__stage:not(:last-child)::after { right:-.5rem; }
 .pl-data-stream { padding:1.5rem 1rem; }
 .pl-data-stream h3 { font-size:1.15rem; }
 .pl-plan__body { padding:1.5rem; }
}
@media(max-width:767px) {
 .pl-head { margin-bottom:2rem; }
 .pl-head .pl-h2 { max-width:22ch; font-size:clamp(1.9rem,7vw,2.5rem); }
 .pl-head .pl-lead { font-size:1.0625rem; }
 .pl-hero { padding-top:calc(var(--pl-header-h) + 1.4rem); }
 .pl-hero__launch { display:grid; gap:1rem; margin-bottom:1.75rem; padding-bottom:1.5rem; }
 .pl-hero__date time { font-size:2.25rem; }
 .pl-hero__launch .plab-countdown__units { gap:.6rem; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
 .pl-hero__launch .plab-countdown { min-width:0; gap:.5rem; }
 .pl-hero__launch .plab-countdown__unit { padding:0; gap:.3rem; }
 .pl-hero__launch .plab-countdown__unit::before { left:-.4rem; }
 .pl-hero__launch .plab-countdown__label { margin:0; font-size:.8rem; }
 .pl-hero__launch .plab-countdown__name { font-size:.7rem; }
 .pl-hero__launch .plab-countdown__value { font-size:1.7rem; }
 .pl-hero .pl-h1 { font-size:clamp(1.95rem,6.7vw,2.7rem); }
 .pl-hero .pl-actions { width:100%; }
 .pl-hero .pl-btn { width:100%; }
 .pl-hero__main .pl-shot__view { padding:.2rem; }
 .pl-offer-intro { margin-top:2.5rem; }
 .pl-offer { grid-template-columns:1fr 1fr; }
 .pl-offer__item { border:0; padding-inline:.5rem; }
 .pl-offer__strong { font-size:1rem; }
 .pl-offer__value { font-size:2rem; }
 .pl-context-map { padding:1rem 0; }
 .pl-context-map__nodes { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pl-context-map__nodes li:last-child { grid-column:1/-1; flex-direction:row; justify-content:center; }
 .pl-context-map .pl-context-map__patient { min-height:6.5rem; }
 .pl-context-map figcaption { padding-inline:1rem; }
 .pl-risk__steps { grid-template-columns:1fr; gap:2rem; }
 .pl-risk__stage { display:grid; grid-template-columns:4rem minmax(0,1fr); column-gap:1.25rem; padding:0; }
 .pl-risk__checkpoint { grid-row:1/3; width:4rem; height:4rem; border-radius:1rem; margin:0; }
 .pl-risk__checkpoint > .pl-ico { width:2rem; height:2rem; }
 .pl-risk__stage h3 { font-size:1.2rem; }
 .pl-risk__stage p { font-size:1rem; }
 .pl-risk__stage:not(:last-child)::after { left:2rem; top:5rem; width:1px; height:auto; bottom:-1rem; right:auto; background:linear-gradient(#38d6c9,#38d6c922); }
 .pl-risk__context { font-size:.9375rem; }
 .pl-connected__inputs { gap:1rem; border-left:2px solid #abcbd7; padding-left:1rem; }
 .pl-data-stream { display:flex; gap:1rem; padding:1.3rem; border-bottom-width:2px; position:relative; }
 .pl-data-stream:nth-child(2) { transform:none; }
 .pl-data-stream__icon { flex:none; margin:0; align-self:start; }
 .pl-connected__inputs .pl-ico { width:2.25rem; height:2.25rem; }
 .pl-connected__inputs li::after { content:""; top:50%; left:-1rem; width:1rem; height:1px; background:#abcbd7; }
 .pl-connected__hub { margin-top:1.5rem; }
 .pl-connected__result { padding:1.5rem 1rem; }
 .pl-role-context { margin-top:2.5rem; }
 .pl-action-card { padding:1.25rem; }
 .pl-action-card__copy > p { min-height:0; }
 .pl-action-card .pl-shot--paired { margin:0; }
 .pl-shot--paired .pl-shot__img { padding:.25rem; }
 .pl-integration__steps { gap:2.5rem; max-width:26rem; margin-inline:auto; }
 .pl-integration__media { aspect-ratio:16/9; }
 .pl-integration__steps li:not(:last-child)::after { top:calc(100% + .35rem); }
 .pl-plan__photo { aspect-ratio:3/2; }
 .pl-plan__body h3 { min-height:0; }
 .pl-plan__body { padding:1.5rem; }
}

/* Desktop rhythm, preserving the existing component grids and image ratios. */
@media (min-width: 1024px) {
    .pl-head { margin-bottom: 2rem; }
    .pl-head .pl-h2 { max-width: 28ch; }
    .pl-head .pl-lead { max-width: 48rem; margin-top: 1rem; }
    .pl-update-grid, .pl-update-split { margin-top: 2rem; }
    .pl-update-split { gap: 2rem; }
    .pl-update-card { padding: 1.5rem; }
    .pl-update-prose { gap: 1rem; }
    .pl-pillars__item { gap: 1.25rem; }
    .pl-pillars__item .pl-disc { width: 4.5rem; height: 4.5rem; }
    .pl-pillars__item .pl-disc .pl-ico { width: 2rem; height: 2rem; }
    .pl-pillars::before { top: 2.25rem; }
    .pl-pillars__title { font-size: 1.25rem; }
    .pl-pillars__text { margin-top: .625rem; }
    .pl-context-map { padding: 1.25rem; }
    .pl-context-map figcaption { font-size: .8125rem; }
    .pl-risk__steps { margin-top: 2rem; gap: 2rem; }
    .pl-risk__checkpoint { width: 4rem; height: 4rem; margin-bottom: 1.25rem; }
    .pl-risk__checkpoint > .pl-ico { width: 2rem; height: 2rem; }
    .pl-risk__stage:not(:last-child)::after { top: 2rem; left: calc(50% + 3rem); right: calc(-50% + 1rem); }
    .pl-risk__stage h3 { font-size: 1.375rem; margin-bottom: .75rem; }
    .pl-risk__stage p { font-size: 1rem; }
    .pl-risk__context { margin-top: 2rem; padding-top: 1.25rem; }
    .pl-connected__flow { margin-top: 2rem; }
    .pl-data-stream { padding: 1.5rem; }
    .pl-data-stream h3 { font-size: 1.375rem; }
    .pl-data-stream__icon { margin-bottom: 1rem; }
    .pl-connected__inputs .pl-ico { width: 2.5rem; height: 2.5rem; }
    .pl-connected__join { height: 2rem; }
    .pl-connected__hub { padding: 1.5rem; max-width: 26rem; }
    .pl-connected__hub .plab-brand-lockup { max-width: 14rem; margin-bottom: .75rem; }
    .pl-connected__result { padding: 1.25rem; }
    .pl-role-context { margin-top: 2rem; padding-top: 1.5rem; }
    .pl-role-context h3 { font-size: 1.375rem; }
    .pl-role-context p { font-size: 1rem; }
    .pl-actions-section .pl-update-grid--two { gap: 1.5rem; }
    .pl-action-card { padding: 1.5rem; gap: 1.25rem; }
    .pl-action-card__icon { width: 3rem; height: 3rem; margin-bottom: 1rem; }
    .pl-action-card__icon .pl-ico { width: 1.75rem; height: 1.75rem; }
    .pl-history { margin-top: 2.5rem; padding-top: 2rem; }
    .pl-team-note { margin-top: 2rem; padding: 1.5rem; }
    .pl-source-card img { width: 12rem; height: 4rem; margin-bottom: 1rem; }
    .pl-source-card__count { font-size: 1.75rem; }
    .pl-integration__steps { margin-top: 2rem; gap: 1.5rem; }
    .pl-integration__media { margin-bottom: 1rem; }
    .pl-integration__step h3 { font-size: 1.25rem; }
    .pl-integration__steps li:not(:last-child)::after { width: 1.5rem; }
    .pl-integration__statuses { margin-top: 2rem; }
    .pl-plans .pl-update-grid--two { gap: 1.5rem; }
    .pl-plan__body { padding: 1.5rem; gap: .875rem; }
    .pl-plan__price strong { font-size: 3rem; }
    .pl-plan__body .pl-btn { min-height: 50px; font-size: 1rem; }
    .pl-faq__q { padding: 1rem; gap: .75rem; }
    .pl-faq__q-text, .pl-faq__a { font-size: 1.0625rem; }
    .pl-faq__num { font-size: 1.25rem; }
    .pl-final { padding-bottom: 4rem; }
    .pl-final__grid { gap: 2rem; }
    .pl-final__clock { margin-bottom: 1.5rem; }
    .pl-pricing, .pl-final__form { padding: 1.5rem; }
    .pl-pricing__title { font-size: 1.5rem; }
    .pl-pricing__amount { font-size: 3rem; }
    .pl-pricing__period { font-size: 1.25rem; }
    .pl-pricing__row { font-size: 1rem; }
    .pl-pricing__row strong { font-size: 1.125rem; }
    .pl-pricing__was { font-size: .875rem; }
    .pl-pricing__terms { font-size: 1rem; margin-top: 1.5rem; padding-top: 1.25rem; }
    .pl-final__contact { margin-top: 1.5rem; padding-top: 1.5rem; }
}

/* Current product screens: preserve every original pixel and intrinsic ratio. */
.pl-shot--natural { align-self:start; width:100%; }
.pl-shot--natural .pl-shot__view { aspect-ratio:var(--shot-ratio); height:auto; margin:0; }
.pl-shot--natural .pl-shot__img { display:block; position:static; width:100%; height:auto; max-width:100%; padding:0; object-fit:contain; }
.pl-shot__original { display:flex; align-items:center; justify-content:center; gap:.4rem; min-height:44px; padding:.5rem .25rem; font-size:.8125rem; text-underline-offset:.2em; }
.pl-band--navy .pl-shot__original { color:var(--pl-teal-300); }
.pl-action-details .pl-shot { margin-top:1rem; }
.pl-action-details .pl-shot__caption { margin-top:.6rem; }
.pl-shot--integration { margin-bottom:1rem; }

/* Current-screen refinement: top-aligned content, compact clinical strip. */
.pl-action-card__screens { width:100%; display:flex; flex-direction:column; gap:1rem; align-self:start; min-width:0; }
.pl-action-card .pl-shot { margin:0; }
.pl-action-card__screens .pl-shot__caption { margin:.5rem 0 0; color:var(--pl-on-navy-lead); font-size:.8125rem; }
.pl-shot__original { display:flex; width:fit-content; max-width:100%; margin:.6rem auto 0; gap:.55rem; padding:.6rem 1rem; border:1px solid #138c9a55; border-radius:.75rem; color:#087b87; background:#e5f8f7; text-decoration:none; font-weight:600; transition:background .18s ease,border-color .18s ease,box-shadow .18s ease; }
.pl-band--navy .pl-shot__original { color:#94ede5; background:#14536255; border-color:#58d7ce55; }
.pl-shot__expand { flex:none; transition:transform .18s ease; }
.pl-shot__original:hover { background:#d0f2ef; border-color:#119b9f; box-shadow:0 0 0 3px #21bdb411; }
.pl-band--navy .pl-shot__original:hover { background:#1a697a80; border-color:#71e2d7; }
.pl-shot__original:hover .pl-shot__expand { transform:scale(1.12); }
.pl-shot__original:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
@media(prefers-reduced-motion:reduce) {
 .pl-shot__original,.pl-shot__expand { transition:none; }
 .pl-shot__original:hover .pl-shot__expand { transform:none; }
}
