/* ==========================================================================
   HumanProse: the Italy study guide (/study-in-italy, /ar/study-in-italy)
   Loaded after hp-guides.css on the guide only. Colours come from the
   --hx-* tokens, so the light paper and the dark library theme both
   follow; logical properties keep the Arabic page right to left.

   The page is a road: each step is a milestone on a brass line that runs
   down the start edge, with the steps listed in a rail beside it.
   ========================================================================== */

body.hp-ui.hpi-guide {
    --hpi-line: color-mix(in srgb, var(--hx-quill) 55%, transparent);
    --hpi-radius: 22px;
}

body.hp-ui.hpi-guide .hpi-sr {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
    clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------- The banner, with the road drawn over its lighter band ---------- */
body.hp-ui.hpi-guide .hpi-hero { min-height: 420px; }
body.hp-ui.hpi-guide .hpi-hero .hpi-hero-copy { max-width: 60ch; }
body.hp-ui.hpi-guide .hpi-hero .hpg-banner-title { max-width: 16ch; }
body.hp-ui.hpi-guide .hpi-hero-meta { gap: 6px 12px; }
body.hp-ui.hpi-guide .hpi-checked { display: inline-flex; align-items: center; gap: 7px; color: var(--hx-cream); }
body.hp-ui.hpi-guide .hpi-checked .icon { width: 17px; height: 17px; }
body.hp-ui.hpi-guide .hpi-checked time { color: inherit; }

body.hp-ui.hpi-guide .hpg-banner > .hpi-road {
    position: absolute;
    inset-block: 34px 26px;
    inset-inline-end: clamp(18px, 6vw, 84px);
    width: auto;
    max-width: none;
    height: calc(100% - 60px);
    aspect-ratio: 260 / 420;
    overflow: visible;
}
[dir="rtl"] body.hp-ui.hpi-guide .hpi-road { transform: scaleX(-1); }
body.hp-ui.hpi-guide .hpi-road-path {
    fill: none;
    stroke: rgba(240, 214, 170, .78);
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-dasharray: .5 9;
}
body.hp-ui.hpi-guide .hpi-road-pins circle {
    fill: #0b3a2d;
    stroke: var(--hx-cream);
    stroke-width: 2;
}
body.hp-ui.hpi-guide .hpi-road-pins circle:last-child { fill: var(--hx-cream); }
body.hp-ui.hpi-guide .hpi-road-arch path {
    fill: none;
    stroke: var(--hx-cream);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: .9;
}

/* ---------- Who it is for, read this first, the two national dates ---------- */
body.hp-ui.hpi-guide .hpi-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    gap: 18px;
    margin-top: 22px;
}
body.hp-ui.hpi-guide .hpi-intro-notes { display: grid; gap: 18px; min-width: 0; }
body.hp-ui.hpi-guide .hpi-note,
body.hp-ui.hpi-guide .hpi-dates {
    min-width: 0;
    padding: 22px 24px 22px;
    border: 1px solid var(--hx-line);
    border-radius: var(--hpi-radius);
    background: var(--hx-surface);
}
body.hp-ui.hpi-guide .hpi-note.is-honest { border-inline-start: 3px solid var(--hx-quill); }
body.hp-ui.hpi-guide .hpi-note-title {
    display: flex; align-items: center; gap: 9px;
    margin: 0 0 10px;
    font: 700 .78rem/1.3 var(--hx-f-body);
    letter-spacing: .16em; text-transform: uppercase;
    color: var(--hx-quill-ink);
}
body.hp-ui.hpi-guide .hpi-note-title .icon { width: 18px; height: 18px; flex: none; }
body.hp-ui.hpi-guide .hpi-note p { margin: 0; color: var(--hx-ink-2); font-size: .97rem; line-height: 1.65; }

body.hp-ui.hpi-guide .hpi-dates {
    background:
        radial-gradient(260px 160px at 100% 0%, color-mix(in srgb, var(--hx-quill) 14%, transparent), transparent 70%),
        var(--hx-surface);
    box-shadow: var(--hx-shadow);
}
body.hp-ui.hpi-guide .hpi-dates-title { margin: 0; font: 400 1.6rem/1.15 var(--hx-f-display); color: var(--hx-ink); }
body.hp-ui.hpi-guide .hpi-dates-lead { margin: 6px 0 14px; font-size: .9rem; line-height: 1.55; color: var(--hx-ink-2); }
body.hp-ui.hpi-guide .hpi-dates-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
body.hp-ui.hpi-guide .hpi-dates-list li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "year day" "by day";
    align-items: center;
    gap: 0 14px;
    padding: 12px 0;
    border-top: 1px solid var(--hx-line);
}
body.hp-ui.hpi-guide .hpi-dates-year { grid-area: year; font-weight: 700; font-size: .92rem; color: var(--hx-ink); font-variant-numeric: tabular-nums; }
body.hp-ui.hpi-guide .hpi-dates-by { grid-area: by; font-size: .8rem; color: var(--hx-ink-3); }
body.hp-ui.hpi-guide .hpi-dates-day {
    grid-area: day;
    font: 400 1.65rem/1 var(--hx-f-display);
    color: var(--hx-royal-ink);
    white-space: nowrap;
    font-variant-numeric: lining-nums;
}
body.hp-ui.hpi-guide .hpi-dates-rest { margin: 4px 0 0; padding-top: 12px; border-top: 1px dashed var(--hx-line-2); font-size: .86rem; line-height: 1.6; color: var(--hx-ink-2); }

/* ---------- Citations: a small brass chip right after the fact ---------- */
body.hp-ui.hpi-guide .hpi-cite {
    display: inline-flex;
    align-items: center;
    gap: .25em;
    margin-inline-start: .1em;
    padding: .12em .45em .14em .55em;
    padding-inline: .55em .45em;
    border-radius: 999px;
    background: var(--hx-quill-soft);
    color: var(--hx-quill-ink);
    font: 700 .7em/1.25 var(--hx-f-body);
    letter-spacing: .01em;
    text-decoration: none;
    white-space: nowrap;
    vertical-align: .14em;
    transition: background-color .18s ease, color .18s ease;
}
body.hp-ui.hpi-guide .hpi-cite::after { content: "↗"; font-size: .95em; opacity: .7; }
[dir="rtl"] body.hp-ui.hpi-guide .hpi-cite::after { content: "↖"; }
body.hp-ui.hpi-guide .hpi-cite:hover { background: var(--hx-quill); color: var(--hx-paper); }
body.hp-ui.hpi-guide .hpi-cite:focus-visible { outline: 2px solid var(--hx-focus); outline-offset: 2px; }

/* ---------- Layout: the rail of steps and the road ---------- */
body.hp-ui.hpi-guide .hpi-layout {
    display: grid;
    grid-template-columns: minmax(196px, 232px) minmax(0, 1fr);
    gap: 18px clamp(28px, 4vw, 56px);
    align-items: start;
    margin-top: clamp(44px, 6vw, 72px);
}
body.hp-ui.hpi-guide .hpi-rail {
    position: sticky;
    top: 98px;
    display: grid;
    gap: 14px;
    padding: 18px 16px 18px;
    border: 1px solid var(--hx-line);
    border-radius: var(--hpi-radius);
    background: var(--hx-surface);
}
body.hp-ui.hpi-guide .hpi-rail-title {
    margin: 0 4px;
    font: 700 .74rem/1.3 var(--hx-f-body);
    letter-spacing: .18em; text-transform: uppercase;
    color: var(--hx-quill-ink);
}
body.hp-ui.hpi-guide .hpi-rail-list { position: relative; display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
body.hp-ui.hpi-guide .hpi-rail-list::before {
    content: "";
    position: absolute;
    inset-block: 16px;
    inset-inline-start: 17px;
    border-inline-start: 1.5px dotted var(--hpi-line);
}
body.hp-ui.hpi-guide .hpi-rail-list a {
    position: relative;
    display: flex; align-items: center; gap: 11px;
    min-height: 38px;
    padding: 4px 8px 4px 4px;
    padding-inline: 4px 8px;
    border-radius: 12px;
    color: var(--hx-ink-2);
    font-size: .9rem; font-weight: 600; line-height: 1.25;
    text-decoration: none;
    transition: background-color .18s ease, color .18s ease;
}
body.hp-ui.hpi-guide .hpi-rail-list a:hover { background: var(--hx-surface-2); color: var(--hx-ink); }
body.hp-ui.hpi-guide .hpi-rail-no {
    display: grid; place-items: center; flex: none;
    width: 27px; height: 27px; border-radius: 50%;
    border: 1.5px solid var(--hpi-line);
    background: var(--hx-surface);
    font: 400 .98rem/1 var(--hx-f-display);
    color: var(--hx-quill-ink);
    font-variant-numeric: lining-nums;
}
body.hp-ui.hpi-guide .hpi-rail-list a[aria-current="true"] { color: var(--hx-ink); background: var(--hx-royal-soft); }
body.hp-ui.hpi-guide .hpi-rail-list a[aria-current="true"] .hpi-rail-no { border-color: var(--hx-quill); background: var(--hx-quill); color: var(--hx-paper); }
body.hp-ui.hpi-guide .hpi-rail-cta { justify-content: center; width: 100%; padding: 12px 16px; font-size: .9rem; white-space: normal; text-align: center; }

/* ---------- One step on the road ---------- */
body.hp-ui.hpi-guide .hpi-road-steps { min-width: 0; }
body.hp-ui.hpi-guide .hpi-step {
    position: relative;
    padding-inline-start: 86px;
    padding-bottom: clamp(52px, 7vw, 84px);
    scroll-margin-top: 96px;
}
body.hp-ui.hpi-guide .hpi-step::before {
    content: "";
    position: absolute;
    top: 66px;
    bottom: 6px;
    inset-inline-start: 31px;
    border-inline-start: 2px dotted var(--hpi-line);
}
body.hp-ui.hpi-guide .hpi-step:last-of-type::before { bottom: 50%; }
body.hp-ui.hpi-guide .hpi-step-mark {
    position: absolute;
    top: 0;
    inset-inline-start: 0;
    display: grid; place-items: center;
    width: 64px; height: 64px;
    border-radius: 50%;
    border: 1.5px solid var(--hx-quill);
    background:
        radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--hx-quill) 12%, var(--hx-surface)), var(--hx-surface) 70%);
    box-shadow: 0 0 0 6px var(--hx-paper), var(--hx-shadow);
    font: 400 1.7rem/1 var(--hx-f-display);
    color: var(--hx-quill-ink);
    font-variant-numeric: lining-nums;
}
body.hp-ui.hpi-guide .hpi-step-head { padding-top: 4px; }
body.hp-ui.hpi-guide .hpi-step-k {
    display: inline-flex; align-items: center; gap: 8px;
    margin: 0 0 8px;
    font: 700 .76rem/1.3 var(--hx-f-body);
    letter-spacing: .18em; text-transform: uppercase;
    color: var(--hx-quill-ink);
}
body.hp-ui.hpi-guide .hpi-step-k .icon { width: 18px; height: 18px; }
body.hp-ui.hpi-guide .hpi-step-title {
    margin: 0;
    max-width: 24ch;
    font-size: clamp(1.95rem, 3.4vw, 2.7rem);
    line-height: 1.08;
    color: var(--hx-ink);
    text-wrap: balance;
}

body.hp-ui.hpi-guide .hpi-step-body {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(250px, 1fr);
    gap: 26px clamp(24px, 3vw, 40px);
    align-items: start;
    margin-top: 24px;
}
body.hp-ui.hpi-guide .hpi-step-main { min-width: 0; }
body.hp-ui.hpi-guide .hpi-h {
    display: flex; align-items: center; gap: 8px;
    margin: 26px 0 8px;
    font: 700 .74rem/1.3 var(--hx-f-body);
    letter-spacing: .17em; text-transform: uppercase;
    color: var(--hx-ink-3);
}
body.hp-ui.hpi-guide .hpi-h .icon { width: 17px; height: 17px; color: var(--hx-quill-ink); }
body.hp-ui.hpi-guide .hpi-step-main > .hpi-h:first-child { margin-top: 0; }
body.hp-ui.hpi-guide .hpi-step-main p { margin: 0; color: var(--hx-ink); font-size: 1.02rem; line-height: 1.72; }
body.hp-ui.hpi-guide .hpi-step-main .hpi-what { font-size: 1.1rem; line-height: 1.7; }

body.hp-ui.hpi-guide .hpi-income {
    margin-top: 22px;
    padding: 4px 20px 18px;
    border-radius: 18px;
    border-inline-start: 3px solid var(--hx-quill);
    background: var(--hx-quill-soft);
}
body.hp-ui.hpi-guide .hpi-income .hpi-h { margin-top: 16px; color: var(--hx-quill-ink); }
body.hp-ui.hpi-guide .hpi-step-main .hpi-income p { font-size: .98rem; color: var(--hx-ink); }

body.hp-ui.hpi-guide .hpi-parts { display: grid; gap: 0; margin: 20px 0 0; border-top: 1px solid var(--hx-line); }
body.hp-ui.hpi-guide .hpi-parts > div {
    display: grid;
    grid-template-columns: minmax(110px, 9rem) minmax(0, 1fr);
    gap: 4px 18px;
    padding: 14px 0;
    border-bottom: 1px solid var(--hx-line);
}
body.hp-ui.hpi-guide .hpi-parts dt { font: 400 1.18rem/1.3 var(--hx-f-display); color: var(--hx-royal-ink); }
body.hp-ui.hpi-guide .hpi-parts dd { margin: 0; font-size: .98rem; line-height: 1.68; color: var(--hx-ink); }

body.hp-ui.hpi-guide .hpi-mistakes { display: grid; gap: 10px; margin: 4px 0 0; padding: 0; list-style: none; }
body.hp-ui.hpi-guide .hpi-mistakes li {
    position: relative;
    padding-inline-start: 26px;
    font-size: .98rem; line-height: 1.62;
    color: var(--hx-ink);
}
body.hp-ui.hpi-guide .hpi-mistakes li::before {
    content: "";
    position: absolute;
    top: .56em;
    inset-inline-start: 4px;
    width: 8px; height: 8px;
    background: var(--hx-danger);
    opacity: .8;
    transform: rotate(45deg);
    border-radius: 1.5px;
}

/* The side: when, and the documents as a checklist */
body.hp-ui.hpi-guide .hpi-step-side { display: grid; gap: 14px; min-width: 0; }
body.hp-ui.hpi-guide .hpi-when,
body.hp-ui.hpi-guide .hpi-docs {
    padding: 4px 20px 18px;
    border-radius: 18px;
    border: 1px solid var(--hx-line);
}
body.hp-ui.hpi-guide .hpi-when { background: var(--hx-royal-soft); border-color: transparent; }
body.hp-ui.hpi-guide .hpi-docs { background: var(--hx-surface); }
body.hp-ui.hpi-guide .hpi-step-side .hpi-h { margin-top: 16px; }
body.hp-ui.hpi-guide .hpi-when p { margin: 0; font-size: .95rem; line-height: 1.65; color: var(--hx-ink); }
body.hp-ui.hpi-guide .hpi-docs ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
body.hp-ui.hpi-guide .hpi-docs li {
    position: relative;
    padding-inline-start: 26px;
    font-size: .93rem; line-height: 1.55;
    color: var(--hx-ink);
}
body.hp-ui.hpi-guide .hpi-docs li::before {
    content: "";
    position: absolute;
    top: .22em;
    inset-inline-start: 0;
    width: 14px; height: 14px;
    border: 1.5px solid var(--hx-quill);
    border-radius: 4px;
    background: color-mix(in srgb, var(--hx-quill) 10%, transparent);
}

/* The foot: official links and the HumanProse tools */
body.hp-ui.hpi-guide .hpi-step-foot {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px 26px;
    margin-top: 26px;
    padding-top: 6px;
    border-top: 1px solid var(--hx-line);
}
body.hp-ui.hpi-guide .hpi-step-foot ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
body.hp-ui.hpi-guide .hpi-links a {
    display: grid;
    gap: 2px;
    padding: 10px 14px;
    border-radius: 14px;
    border: 1px solid var(--hx-line);
    background: var(--hx-surface);
    text-decoration: none;
    transition: border-color .18s ease, background-color .18s ease;
}
body.hp-ui.hpi-guide .hpi-links a:hover { border-color: var(--hx-quill); background: var(--hx-surface-2); }
body.hp-ui.hpi-guide .hpi-link-title { color: var(--hx-ink); font-size: .9rem; font-weight: 600; line-height: 1.4; }
body.hp-ui.hpi-guide .hpi-links a:hover .hpi-link-title { text-decoration: underline; text-decoration-color: var(--hx-quill); text-underline-offset: 3px; }
body.hp-ui.hpi-guide .hpi-link-host { color: var(--hx-ink-3); font: 500 .76rem/1.3 var(--hx-f-mono); unicode-bidi: isolate; overflow-wrap: anywhere; }
[dir="rtl"] body.hp-ui.hpi-guide .hpi-links .hpi-link-host { text-align: end; }

body.hp-ui.hpi-guide .hpi-tools a {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 12px 14px;
    border-radius: 14px;
    background: color-mix(in srgb, var(--hx-royal) 6%, var(--hx-surface));
    border: 1px solid color-mix(in srgb, var(--hx-royal) 18%, var(--hx-line));
    color: var(--hx-ink-2);
    font-size: .9rem; line-height: 1.5;
    text-decoration: none;
    transition: border-color .18s ease, transform .2s var(--hx-ease);
}
body.hp-ui.hpi-guide .hpi-tools a:hover { border-color: var(--hx-royal); transform: translateY(-1px); }
body.hp-ui.hpi-guide .hpi-tools .icon {
    flex: none;
    width: 34px; height: 34px;
    padding: 7px;
    border-radius: 50%;
    background: var(--hx-surface);
    border: 1px solid var(--hx-line);
    color: var(--hx-royal-ink);
}
body.hp-ui.hpi-guide .hpi-tools strong { display: block; color: var(--hx-ink); font-size: .95rem; }
body.hp-ui.hpi-guide :is(.hpi-links a, .hpi-tools a, .hpi-rail-list a, .hpi-sources a):focus-visible { outline: 2px solid var(--hx-focus); outline-offset: 2px; }

/* ---------- Call to action and sources ---------- */
body.hp-ui.hpi-guide .hpi-cta { margin: 6px 0 0; margin-inline-start: 86px; }
body.hp-ui.hpi-guide .hpi-cta .hpi-cta-note { margin: 14px 0 0; font-size: .86rem; color: var(--hx-ink-3); }

body.hp-ui.hpi-guide .hpi-sources { margin-top: 64px; margin-inline-start: 86px; }
body.hp-ui.hpi-guide .hpi-sources h2 { margin: 0; font-size: clamp(1.8rem, 3vw, 2.3rem); color: var(--hx-ink); }
body.hp-ui.hpi-guide .hpi-sources > p { margin: 10px 0 18px; max-width: 70ch; color: var(--hx-ink-2); font-size: .95rem; line-height: 1.65; }
body.hp-ui.hpi-guide .hpi-sources ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: hpi-src; border-top: 1px solid var(--hx-line); }
body.hp-ui.hpi-guide .hpi-sources li {
    counter-increment: hpi-src;
    display: grid;
    grid-template-columns: 2.4rem minmax(0, 1fr);
    gap: 2px 10px;
    padding: 11px 0;
    border-bottom: 1px solid var(--hx-line);
    font-size: .92rem; line-height: 1.5;
}
body.hp-ui.hpi-guide .hpi-sources li::before { content: counter(hpi-src, decimal-leading-zero); grid-row: span 2; font: 400 1.1rem/1.3 var(--hx-f-display); color: var(--hx-quill-ink); }
body.hp-ui.hpi-guide .hpi-sources a { color: var(--hx-ink); text-decoration-color: color-mix(in srgb, var(--hx-quill) 60%, transparent); text-underline-offset: 3px; }

/* ---------- Arabic ---------- */
html[lang="ar"] body.hp-ui.hpi-guide :is(.hpi-note-title, .hpi-rail-title, .hpi-step-k, .hpi-h) { letter-spacing: 0; text-transform: none; font-size: .9rem; }
html[lang="ar"] body.hp-ui.hpi-guide .hpi-step-title { line-height: 1.35; font-weight: 700; max-width: 26ch; }
html[lang="ar"] body.hp-ui.hpi-guide .hpi-step-main p,
html[lang="ar"] body.hp-ui.hpi-guide .hpi-parts dd,
html[lang="ar"] body.hp-ui.hpi-guide .hpi-mistakes li { line-height: 1.95; }
html[lang="ar"] body.hp-ui.hpi-guide :is(.hpi-when p, .hpi-docs li, .hpi-note p) { line-height: 1.85; }
html[lang="ar"] body.hp-ui.hpi-guide :is(.hpi-dates-title, .hpi-parts dt) { font-weight: 700; line-height: 1.4; }
html[lang="ar"] body.hp-ui.hpi-guide .hpi-cite { font-size: .74em; letter-spacing: 0; }
html[lang="ar"] body.hp-ui.hpi-guide .hpi-mistakes li::before { top: .8em; }

/* ---------- Narrower screens ---------- */
@media (max-width: 1100px) {
    body.hp-ui.hpi-guide .hpi-step-body { grid-template-columns: minmax(0, 1fr); }
    body.hp-ui.hpi-guide .hpi-step-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
    body.hp-ui.hpi-guide .hpi-intro { grid-template-columns: minmax(0, 1fr); }
    body.hp-ui.hpi-guide .hpi-layout { grid-template-columns: minmax(0, 1fr); }
    body.hp-ui.hpi-guide .hpi-rail {
        position: static;
        padding: 12px;
        grid-template-columns: minmax(0, 1fr);
    }
    body.hp-ui.hpi-guide .hpi-rail-title { display: none; }
    body.hp-ui.hpi-guide .hpi-rail-list {
        display: flex;
        gap: 6px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
        padding-bottom: 4px;
    }
    body.hp-ui.hpi-guide .hpi-rail-list::before { display: none; }
    body.hp-ui.hpi-guide .hpi-rail-list li { flex: none; scroll-snap-align: start; }
    body.hp-ui.hpi-guide .hpi-rail-list a { white-space: nowrap; border: 1px solid var(--hx-line); padding-inline: 4px 12px; }
    body.hp-ui.hpi-guide .hpi-rail-cta { display: none; }
}
@media (max-width: 900px) {
    body.hp-ui.hpi-guide .hpg-banner > .hpi-road { opacity: .35; inset-inline-end: 8px; }
    body.hp-ui.hpi-guide .hpi-hero { min-height: 0; }
}
@media (max-width: 720px) {
    body.hp-ui.hpi-guide .hpi-step { padding-inline-start: 0; }
    body.hp-ui.hpi-guide .hpi-step::before { display: none; }
    body.hp-ui.hpi-guide .hpi-step-mark {
        position: static;
        width: 46px; height: 46px;
        margin-bottom: 12px;
        font-size: 1.3rem;
        box-shadow: none;
    }
    body.hp-ui.hpi-guide .hpi-step-side { grid-template-columns: minmax(0, 1fr); }
    body.hp-ui.hpi-guide .hpi-step-foot { grid-template-columns: minmax(0, 1fr); }
    body.hp-ui.hpi-guide :is(.hpi-cta, .hpi-sources) { margin-inline-start: 0; }
    body.hp-ui.hpi-guide .hpi-parts > div { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    body.hp-ui.hpi-guide .hpg-banner > .hpi-road { display: none; }
    body.hp-ui.hpi-guide .hpi-note, body.hp-ui.hpi-guide .hpi-dates { padding: 18px 18px; }
    body.hp-ui.hpi-guide .hpi-dates-day { font-size: 1.4rem; }
    body.hp-ui.hpi-guide .hpi-step-title { font-size: 1.85rem; }
    body.hp-ui.hpi-guide .hpi-step-main .hpi-what { font-size: 1.04rem; }
    body.hp-ui.hpi-guide .hpi-when, body.hp-ui.hpi-guide .hpi-docs { padding-inline: 16px; }
}

@media (prefers-reduced-motion: reduce) {
    body.hp-ui.hpi-guide :is(.hpi-cite, .hpi-rail-list a, .hpi-links a, .hpi-tools a) { transition: none; }
    body.hp-ui.hpi-guide .hpi-tools a:hover { transform: none; }
}

@media print {
    body.hp-ui.hpi-guide :is(.hpi-rail, .hpi-cta, .hpi-road) { display: none; }
    body.hp-ui.hpi-guide .hpi-layout { display: block; }
    body.hp-ui.hpi-guide .hpi-step { break-inside: avoid-page; padding-inline-start: 0; }
    body.hp-ui.hpi-guide .hpi-step::before, body.hp-ui.hpi-guide .hpi-step-mark { display: none; }
    body.hp-ui.hpi-guide .hpi-cite { background: none; padding: 0; }
}
