.hiw-page { padding-bottom: 30px; color: var(--ink); background: var(--paper); }
.hiw-page .hiw-art-defs { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.hiw-page h1, .hiw-page h2, .hiw-page h3, .hiw-page h4 { font-family: inherit; font-weight: 800; letter-spacing: -.045em; text-wrap: balance; }
.hiw-page p { line-height: 1.6; }
.hiw-page .eyebrow { margin: 0 0 12px; color: var(--muted); font-size: 11px; letter-spacing: .16em; }
.hiw-page .hiw-doodle { display: block; width: 100%; height: 100%; color: var(--ink); }
.hiw-page .hiw-intro { display: grid; grid-template-columns: .95fr 1.05fr; gap: 40px; align-items: center; padding: 32px 0 30px; border-bottom: 1px solid var(--line); }
.hiw-page .hiw-intro h1 { max-width: 540px; margin: 0 0 18px; font-size: clamp(2.2rem, 3.8vw, 3.4rem); line-height: 1.13; }
.hiw-page .hiw-intro p:last-child { max-width: 45ch; margin: 0; color: var(--muted); font-size: 17px; }
.hiw-page .hiw-intro-art { height: 295px; min-width: 0; }
.hiw-page .hiw-process { padding: 40px 0 28px; border-bottom: 1px solid var(--line); }
.hiw-page .hiw-steps { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 72px 28px; margin: 0; padding: 0; list-style: none; }
.hiw-page .hiw-step { position: relative; grid-column: span 2; min-width: 0; padding: 24px 18px 22px; border: 1px solid var(--line); border-radius: 6px; text-align: center; background: #fcfcf9; }
.hiw-page .hiw-step:nth-child(n+4) { grid-column: span 3; }
.hiw-page .hiw-number { position: absolute; top: -20px; left: calc(50% - 19px); display: grid; place-items: center; width: 38px; height: 38px; border: 2px solid var(--ink); border-radius: 50%; background: var(--paper); font-size: 20px; font-weight: 800; }
.hiw-page .hiw-step > .hiw-doodle { height: 180px; max-width: 300px; margin: 0 auto 8px; }
.hiw-page .hiw-step h3 { margin: 0 0 10px; font-size: clamp(1.35rem, 2vw, 1.65rem); line-height: 1.25; }
.hiw-page .hiw-step > p { max-width: 43ch; margin: 0 auto; color: var(--muted); font-size: 15px; }
.hiw-page .hiw-arrow { position: absolute; right: -36px; top: 46%; width: 42px; height: 32px; pointer-events: none; z-index: 1; }
.hiw-page .hiw-wrap-arrow { position: absolute; left: calc(-125% - 42px); bottom: -61px; width: calc(175% + 42px); height: 48px; overflow: visible; pointer-events: none; }
.hiw-page .hiw-offers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin: 12px -6px 24px; }
.hiw-page .hiw-offer { display: flex; min-width: 0; flex-direction: column; align-items: center; padding: 10px 5px 12px; border: 1px solid var(--line); border-radius: 4px; background: #fdfdfa; }
.hiw-page .hiw-offer--core { border-color: #88c326; background: #f8fcee; }
.hiw-page .hiw-offer .hiw-doodle { height: 78px; margin-bottom: 9px; }
.hiw-page .hiw-offer h4 { min-height: 5.2em; margin: 0 0 9px; font-size: 13px; line-height: 1.3; letter-spacing: -.02em; overflow-wrap: break-word; }
.hiw-page .hiw-status { margin: auto 0 0; padding: 3px 6px; border-radius: 20px; background: #e5e6e2; color: var(--ink); font-size: 12px; font-weight: 800; line-height: 1.5; }
.hiw-page .hiw-status--core { background: var(--lime); }
.hiw-page .hiw-start { padding: 28px 0 22px; }
.hiw-page .hiw-section-heading { margin: 0 22px 20px; }
.hiw-page .hiw-section-heading h2 { margin: 0 0 8px; font-size: clamp(1.65rem, 2.8vw, 2.3rem); line-height: 1.2; }
.hiw-page .hiw-section-heading > p:last-child { margin: 0; color: var(--muted); font-size: 16px; }
.hiw-page .hiw-start-items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 0; padding: 0; list-style: none; }
.hiw-page .hiw-start-items li { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 6px; }
.hiw-page .hiw-start-items .hiw-doodle { height: 105px; }
.hiw-page .hiw-start-items h3 { margin: 0; font-size: 16px; line-height: 1.35; }
.hiw-page .hiw-cta { display: grid; grid-template-columns: .7fr 1.3fr; gap: 34px; align-items: center; padding: 22px 38px; border-radius: 7px; background: #f0f5e6; }
.hiw-page .hiw-cta-art { height: 145px; padding-right: 34px; border-right: 1px solid #cbd1c3; }
.hiw-page .hiw-cta h2 { margin: 0 0 10px; font-size: clamp(1.65rem, 2.6vw, 2.1rem); line-height: 1.2; }
.hiw-page .hiw-cta p { max-width: 60ch; margin: 0 0 16px; color: var(--muted); font-size: 15px; }
.hiw-page .button { transition: background-color 200ms ease; }
.hiw-page .button > img { transition: transform 200ms ease; }
.hiw-page .button:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.hiw-page .button:focus-visible > img { transform: translateX(3px); }
@media (hover: hover) and (pointer: fine) {
  .hiw-page .button:hover { background: #b9f130; }
  .hiw-page .button:hover > img { transform: translateX(3px); }
}
@media (max-width: 980px) {
  .hiw-page .hiw-intro { gap: 24px; }
  .hiw-page .hiw-intro-art { height: 250px; }
  .hiw-page .hiw-steps { grid-template-columns: 1fr; gap: 56px; max-width: 700px; margin: 0 auto; }
  .hiw-page .hiw-step, .hiw-page .hiw-step:nth-child(n+4) { grid-column: auto; padding: 24px; }
  .hiw-page .hiw-step > .hiw-doodle { height: 170px; }
  .hiw-page .hiw-arrow { top: auto; bottom: -45px; left: calc(50% - 21px); right: auto; transform: rotate(90deg); }
  .hiw-page .hiw-wrap-arrow { display: none; }
  .hiw-page .hiw-step:nth-child(3)::after { content: ''; position: absolute; bottom: -38px; left: calc(50% - 11px); width: 22px; height: 22px; background: url('/assets/icons/arrow-right.svg') center / contain no-repeat; transform: rotate(90deg); }
  .hiw-page .hiw-offers { max-width: 540px; margin: 8px auto 18px; gap: 12px; }
  .hiw-page .hiw-offer { padding: 12px 9px; }
  .hiw-page .hiw-offer .hiw-doodle { height: 100px; }
  .hiw-page .hiw-offer h4 { min-height: 3.9em; font-size: 14px; }
  .hiw-page .hiw-status { padding-right: 10px; padding-left: 10px; font-size: 12px; }
  .hiw-page .hiw-start-items { gap: 14px; }
  .hiw-page .hiw-start-items li { grid-template-columns: 1fr; gap: 6px; text-align: center; }
  .hiw-page .hiw-start-items .hiw-doodle { max-width: 140px; margin: auto; }
  .hiw-page .hiw-section-heading { margin-right: 0; margin-left: 0; }
}
@media (max-width: 760px) {
  .hiw-page .hiw-intro, .hiw-page .hiw-start-items, .hiw-page .hiw-cta { grid-template-columns: 1fr; }
  .hiw-page .hiw-intro { padding: 26px 0 24px; gap: 18px; }
  .hiw-page .hiw-intro h1 { max-width: 590px; font-size: clamp(2rem, 7.6vw, 3rem); }
  .hiw-page .hiw-intro-art { height: auto; width: min(100%, 480px); margin: auto; }
  .hiw-page .hiw-intro-art .hiw-doodle { height: auto; }
  .hiw-page .hiw-step { padding: 24px 18px 22px; }
  .hiw-page .hiw-step h3 { font-size: 23px; }
  .hiw-page .hiw-start-items li { grid-template-columns: 104px minmax(0, 1fr); gap: 14px; text-align: left; padding: 12px 18px; }
  .hiw-page .hiw-start-items h3 { font-size: 18px; }
  .hiw-page .hiw-cta { padding: 22px; gap: 14px; }
  .hiw-page .hiw-cta-art { padding: 0; border: 0; height: 122px; }
  .hiw-page .hiw-cta .button { max-width: 100%; }
  .hiw-page .hiw-offer h4 { font-size: 14px; }
}
@media (max-width: 440px) {
  .hiw-page .hiw-offers { grid-template-columns: 1fr; gap: 9px; }
  .hiw-page .hiw-offer { display: grid; grid-template-columns: 74px minmax(0, 1fr); grid-template-rows: auto auto; gap: 0 12px; padding: 10px; text-align: left; }
  .hiw-page .hiw-offer .hiw-doodle { grid-column: 1; grid-row: 1 / 3; height: 64px; margin: 0; }
  .hiw-page .hiw-offer h4 { min-height: 0; margin: 0 0 6px; font-size: 16px; }
  .hiw-page .hiw-status { justify-self: start; margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hiw-page .button, .hiw-page .button > img { transition: none; }
  .hiw-page .button:hover > img, .hiw-page .button:focus-visible > img { transform: none; }
}

.hiw-page .hiw-step--direction { display: flex; flex-direction: column; }
.hiw-page .hiw-step--direction > h3 { order: 1; }

/* Small feedback accents keep static illustrations distinct from controls. */
.hiw-page .hiw-number { transition: background-color 220ms ease; }
.hiw-page .hiw-step--in-view > .hiw-number { background: var(--lime); }
.hiw-page .hiw-doodle { transform-origin: center; transition: transform 220ms ease; }
.hiw-page .hiw-step, .hiw-page .hiw-offer, .hiw-page .hiw-start-items > li {
  transition: border-color 220ms ease;
}
.hiw-page .button {
  transform: none;
  transition: background-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}
.hiw-page .button:focus-visible { background: #b9f130; box-shadow: 0 3px 0 rgba(25,28,25,.14); }
.hiw-page .button:active { transform: translateY(1px); box-shadow: none; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .hiw-page .hiw-intro-art:hover > .hiw-doodle,
  .hiw-page .hiw-step:hover > .hiw-doodle,
  .hiw-page .hiw-offer:hover > .hiw-doodle,
  .hiw-page .hiw-start-items > li:hover > .hiw-doodle,
  .hiw-page .hiw-cta-art:hover > .hiw-doodle { transform: scale(1.025) rotate(-.5deg); }
  .hiw-page .hiw-step:hover, .hiw-page .hiw-offer:hover,
  .hiw-page .hiw-start-items > li:hover { border-color: #88a84f; }
  .hiw-page .button:hover { transform: translateY(-2px); box-shadow: 0 3px 0 rgba(25,28,25,.14); }
  .hiw-page .button:active { transform: translateY(1px); box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hiw-page .hiw-number, .hiw-page .hiw-doodle, .hiw-page .hiw-step,
  .hiw-page .hiw-offer, .hiw-page .hiw-start-items > li,
  .hiw-page .button, .hiw-page .button > img { transition: none; }
  .hiw-page .hiw-doodle, .hiw-page .hiw-doodle:hover,
  .hiw-page :hover > .hiw-doodle,
  .hiw-page .button:hover, .hiw-page .button:active,
  .hiw-page .button:hover > img, .hiw-page .button:focus-visible > img { transform: none; }
}
