.hn-home {
    background:
        radial-gradient(circle at 12% 8%, rgba(247, 154, 30, .08), transparent 26rem),
        linear-gradient(180deg, #f8fafc 0, #f4f6f8 52%, #fff 100%);
}

.hn-home .hn-main {
    overflow: hidden;
}

.hn-home .hn-section {
    padding-block: clamp(4.5rem, 7vw, 7.5rem);
}

.hn-home .hn-section__inner,
.hn-home .hn-hero__inner {
    width: min(var(--container-wide), calc(100% - 2rem));
}

.hn-home .hn-section-intro {
    max-width: 780px;
    margin-inline: auto;
    margin-bottom: clamp(1.5rem, 3vw, 2.6rem);
    text-align: center;
}

.hn-home .hn-section-intro h2 {
    max-width: 820px;
    margin-inline: auto;
}

.hn-home .hn-section-intro p {
    margin-inline: auto;
    font-size: 1.07rem;
}

.hn-home .hn-hero {
    position: relative;
    min-height: clamp(690px, 72vw, 860px);
    padding: clamp(5.4rem, 8vw, 7.5rem) 1rem clamp(5.8rem, 8vw, 7.5rem);
    background-color: #030508;
    background-image: var(--hn-hero-bg, none);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
}

.hn-home .hn-hero::before,
.hn-home .hn-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.hn-home .hn-hero::before {
    background:
        radial-gradient(circle at 72% 35%, rgba(247, 154, 30, .12), transparent 17rem),
        linear-gradient(90deg, rgba(0, 0, 0, .92) 0%, rgba(0, 0, 0, .78) 38%, rgba(0, 0, 0, .18) 66%, rgba(0, 0, 0, .5) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, .34), rgba(0, 0, 0, .76));
    opacity: 1;
    mask-image: none;
}

.hn-home .hn-hero::after {
    width: min(46rem, 56vw);
    background:
        linear-gradient(128deg, transparent 0 9%, rgba(247, 154, 30, .78) 9% calc(9% + 1px), transparent calc(9% + 1px) 15%),
        linear-gradient(128deg, transparent 0 13%, rgba(247, 154, 30, .36) 13% calc(13% + 1px), transparent calc(13% + 1px) 21%),
        linear-gradient(128deg, transparent 0 18%, rgba(255, 255, 255, .22) 18% calc(18% + 1px), transparent calc(18% + 1px) 28%),
        linear-gradient(128deg, transparent 0 25%, rgba(247, 154, 30, .24) 25% calc(25% + 1px), transparent calc(25% + 1px) 38%);
    background-size: auto;
    opacity: .72;
    mask-image: linear-gradient(128deg, #000 0 52%, transparent 74%);
}

.hn-home .hn-hero__inner {
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(0, 580px) minmax(320px, 360px);
    align-items: start;
    justify-content: start;
    gap: clamp(2.5rem, 4vw, 4.75rem);
}

.hn-home .hn-hero__copy {
    max-width: 580px;
    padding-top: 2rem;
}

.hn-home .hn-hero__badge {
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--color-accent);
    font-family: var(--font-heading);
    font-size: .96rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .04em;
}

.hn-home .hn-hero__badge span {
    display: none;
}

.hn-home .hn-hero h1 {
    max-width: 580px;
    margin-top: 1.15rem;
    margin-bottom: 1.55rem;
    color: rgba(255, 255, 255, .96);
    font-size: clamp(4.2rem, 5vw, 5.4rem);
    line-height: .9;
    text-transform: uppercase;
    text-shadow: 0 2px 0 rgba(255, 255, 255, .14), 0 18px 45px rgba(0, 0, 0, .52);
    text-wrap: balance;
}

.hn-home .hn-hero h1 span {
    color: var(--color-secondary);
    text-shadow: 0 0 32px rgba(247, 154, 30, .45);
}

.hn-home .hn-hero h1::after {
    content: "";
    display: block;
    width: min(12rem, 32vw);
    height: 3px;
    margin-top: 1.3rem;
    background: var(--color-accent);
    box-shadow: 0 0 20px rgba(255, 193, 7, .45);
}

.hn-home .hn-hero__intro {
    max-width: 540px;
    margin: 0;
    color: rgba(255, 255, 255, .84);
    font-size: clamp(1.12rem, 1.6vw, 1.28rem);
}

.hn-home .hn-hero__actions {
    gap: .9rem;
    margin-top: 1.8rem;
}

.hn-home .hn-hero-intake {
    transform: translateY(1.4rem);
}

.hn-home .hn-hero__note {
    margin: 1.25rem 0 0;
    padding: 0;
    color: rgba(255, 255, 255, .76);
    font-size: .84rem;
    font-weight: 400;
    line-height: 1.4;
}

.hn-home .hn-hero__note::before {
    display: none;
}

.hn-home .hn-tool-hero {
    position: relative;
    min-height: 470px;
}

.hn-home .hn-tool-hero__blueprint {
    position: absolute;
    inset: 1rem 0 2rem 0;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 26px;
    background:
        linear-gradient(135deg, transparent 46%, rgba(255, 255, 255, .16) 47% 48%, transparent 49%),
        linear-gradient(45deg, transparent 58%, rgba(255, 255, 255, .1) 59% 60%, transparent 61%),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .06) 0 1px, transparent 1px 46px),
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .045) 0 1px, transparent 1px 46px);
    opacity: .7;
}

.hn-home .hn-tool-hero__blade {
    position: absolute;
    top: .2rem;
    right: 6.4rem;
    width: 270px;
    aspect-ratio: 1;
    border: 24px solid rgba(247, 154, 30, .9);
    border-radius: 50%;
    background:
        radial-gradient(circle, transparent 0 43%, rgba(255, 255, 255, .18) 44% 47%, transparent 48%),
        repeating-conic-gradient(from 7deg, rgba(255, 255, 255, .25) 0 8deg, transparent 8deg 17deg);
    box-shadow: 0 0 70px rgba(247, 154, 30, .35), inset 0 0 30px rgba(247, 154, 30, .16);
    animation: hn-spin 38s linear infinite;
}

.hn-home .hn-tool-hero__blade::before {
    content: "";
    position: absolute;
    inset: 34%;
    border-radius: 50%;
    background: #101827;
    box-shadow: inset 0 0 0 12px rgba(255, 255, 255, .1);
}

.hn-home .hn-tool-hero__card {
    position: absolute;
    z-index: 4;
    top: 5.5rem;
    left: 0;
    width: min(370px, 92%);
    padding: 1.35rem;
    border: 1px solid rgba(255, 255, 255, .62);
    border-radius: 20px;
    background: rgba(255, 255, 255, .94);
    color: var(--color-primary-dark);
    box-shadow: 0 34px 90px rgba(0, 0, 0, .36);
}

.hn-home .hn-tool-hero__card::after {
    content: "";
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 1.1rem;
    height: 1.1rem;
    background:
        radial-gradient(circle, rgba(15, 23, 42, .45) 0 2px, transparent 2px),
        radial-gradient(circle, rgba(15, 23, 42, .25) 0 2px, transparent 2px);
    background-position: 0 0, 8px 8px;
    background-size: 8px 8px;
}

.hn-tool-hero__card-head {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: .85rem;
    align-items: center;
}

.hn-home .hn-tool-hero__card img {
    width: 58px;
}

.hn-home .hn-tool-hero__card span,
.hn-home .hn-tool-hero__card strong {
    display: block;
}

.hn-home .hn-tool-hero__card span {
    color: var(--color-muted);
    font-size: .82rem;
    font-weight: 700;
}

.hn-home .hn-tool-hero__card strong {
    margin-top: .1rem;
    font-family: var(--font-heading);
    font-size: 1.05rem;
    line-height: 1.05;
}

.hn-home .hn-tool-hero__card ul {
    display: grid;
    gap: .55rem;
    padding: .95rem 0;
    margin: 1rem 0 0;
    border-top: 1px solid rgba(15, 23, 42, .12);
    list-style: none;
}

.hn-home .hn-tool-hero__card li {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    min-height: 34px;
    align-items: center;
    padding: .48rem .65rem;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 10px;
    background: #f7f8fa;
    color: #1f2937;
    font-size: .84rem;
    font-weight: 700;
}

.hn-home .hn-tool-hero__card li::after {
    content: "";
    width: .65rem;
    height: .38rem;
    border-bottom: 2px solid var(--color-primary-dark);
    border-left: 2px solid var(--color-primary-dark);
    transform: rotate(-45deg);
}

.hn-home .hn-tool-hero__card b {
    display: grid;
    min-height: 42px;
    place-items: center;
    border-radius: 12px;
    background: var(--color-primary-dark);
    color: #fff;
    font-family: var(--font-heading);
    font-size: .88rem;
}

.hn-home .hn-tool-hero__measure {
    position: absolute;
    right: 1rem;
    bottom: 5.4rem;
    z-index: 2;
    width: 340px;
    height: 28px;
    border-radius: 10px;
    background:
        repeating-linear-gradient(90deg, rgba(15, 23, 42, .85) 0 2px, transparent 2px 18px),
        linear-gradient(135deg, #f79a1e, #ffc107);
    box-shadow: 0 20px 50px rgba(0, 0, 0, .28);
    transform: rotate(-12deg);
}

.hn-home .hn-tool-hero__hammer {
    position: absolute;
    right: 1.8rem;
    bottom: 2rem;
    z-index: 3;
    width: 44px;
    height: 230px;
    border-radius: 999px;
    background: linear-gradient(90deg, #2b3441 0 45%, #151d29 45% 100%);
    box-shadow: 0 22px 52px rgba(0, 0, 0, .34);
    transform: rotate(41deg);
    transform-origin: bottom center;
    animation: hn-tap 7.5s ease-in-out infinite;
}

.hn-home .hn-tool-hero__hammer::before {
    content: "";
    position: absolute;
    top: -40px;
    left: -92px;
    width: 196px;
    height: 54px;
    border-radius: 18px 999px 999px 18px;
    background: linear-gradient(180deg, #f3f6f8, #747f8b);
    box-shadow: inset 0 -10px 16px rgba(15, 23, 42, .16);
}

.hn-home .hn-tool-hero__hammer::after {
    content: "";
    position: absolute;
    top: -52px;
    left: -104px;
    width: 54px;
    height: 68px;
    border-radius: 999px 0 0 999px;
    border-left: 16px solid #d7dde4;
    transform: rotate(17deg);
}

.hn-home .hn-tool-hero__block {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 370px;
    height: 62px;
    border-radius: 14px;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .12) 0 1px, transparent 1px 36px),
        linear-gradient(135deg, #d9c1a3, #8b6747);
    box-shadow: 0 24px 55px rgba(0, 0, 0, .28);
    transform: rotate(-3deg);
}

.hn-home .hn-dust {
    position: absolute;
    z-index: 2;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255, 193, 7, .85);
    box-shadow: 0 0 18px rgba(247, 154, 30, .6);
    animation: hn-float 7s ease-in-out infinite;
}

.hn-home .hn-dust--one { right: 7%; bottom: 27%; }
.hn-home .hn-dust--two { right: 29%; bottom: 13%; animation-delay: 1.2s; }
.hn-home .hn-dust--three { right: 18%; top: 23%; animation-delay: 2.1s; }

.hn-home .hn-trust-bar {
    position: relative;
    z-index: 5;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    border-block: 1px solid rgba(255, 255, 255, .13);
    border-radius: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .04) 0 1px, transparent 1px 82px),
        linear-gradient(180deg, #080d13, #05080d);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
}

.hn-trust-bar__inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: min(var(--container-wide), calc(100% - 2rem));
    margin-inline: auto;
}

.hn-trust-bar article {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: .85rem;
    min-height: 116px;
    align-items: center;
    padding: 1.15rem 1.25rem;
    border-right: 1px solid rgba(255, 255, 255, .14);
    background: transparent;
    color: #fff;
}

.hn-trust-bar article:last-child {
    border-right: 0;
}

.hn-trust-bar__icon {
    position: relative;
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.hn-trust-bar__icon::before {
    content: none;
}

.hn-trust-bar__icon img {
    display: block;
    width: 46px;
    height: 46px;
}

.hn-trust-bar strong,
.hn-trust-bar small {
    display: block;
}

.hn-trust-bar strong {
    color: #fff;
    font-size: 1rem;
    line-height: 1.05;
}

.hn-trust-bar small {
    margin-top: .22rem;
    color: rgba(255, 255, 255, .62);
    font-size: .78rem;
    line-height: 1.3;
}

.hn-punch-panel-section {
    position: relative;
    padding-block: clamp(4.5rem, 7vw, 7rem);
    background:
        radial-gradient(circle at 93% 50%, rgba(255, 255, 255, .08), transparent 15rem),
        radial-gradient(circle at 48% 48%, rgba(255, 193, 7, .13), transparent 12rem),
        linear-gradient(135deg, #050a12 0%, #09111e 48%, #05070b 100%);
    color: #fff;
}

.hn-punch-panel-section::before,
.hn-punch-panel-section::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.hn-punch-panel-section::before {
    opacity: .4;
    background:
        linear-gradient(117deg, transparent 0 6%, rgba(255, 255, 255, .2) 6% calc(6% + 1px), transparent calc(6% + 1px) 10%),
        linear-gradient(117deg, transparent 0 9%, rgba(247, 154, 30, .42) 9% calc(9% + 1px), transparent calc(9% + 1px) 15%),
        linear-gradient(117deg, transparent 0 13%, rgba(255, 255, 255, .12) 13% calc(13% + 1px), transparent calc(13% + 1px) 20%);
    mask-image: linear-gradient(110deg, #000 0 18rem, transparent 31rem);
}

.hn-punch-panel-section::after {
    background:
        radial-gradient(circle at 4rem 8rem, rgba(255, 255, 255, .08) 0 1px, transparent 1.4px),
        linear-gradient(90deg, rgba(255, 255, 255, .045) 0 1px, transparent 1px 88px),
        linear-gradient(0deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 88px);
    background-size: 160px 160px, 88px 88px, 88px 88px;
    opacity: .35;
}

.hn-punch-panel {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(480px, .82fr) minmax(0, 1.18fr);
    align-items: stretch;
    overflow: hidden;
    min-height: clamp(440px, 34vw, 560px);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 0;
    background:
        linear-gradient(90deg, rgba(4, 8, 14, .96), rgba(7, 16, 29, .95)),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 6px);
    box-shadow: 0 32px 90px rgba(0, 0, 0, .48);
}

.hn-punch-panel::before {
    content: "";
    position: absolute;
    inset: 2rem 2rem 2rem 38%;
    border: 1px solid rgba(255, 255, 255, .18);
    border-left: 0;
    border-radius: 0 22px 22px 0;
    clip-path: polygon(0 0, calc(100% - 2rem) 0, 100% 2rem, 100% calc(100% - 2rem), calc(100% - 2rem) 100%, 0 100%);
    pointer-events: none;
}

.hn-punch-panel::after {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 0;
    background: linear-gradient(180deg, #ffc107, #f79a1e 52%, #ffc107);
    clip-path: polygon(43% 0, calc(43% + 3px) 0, calc(31% + 3px) 100%, 31% 100%);
    filter: drop-shadow(0 0 10px rgba(255, 193, 7, .95)) drop-shadow(0 0 26px rgba(247, 154, 30, .5));
}

.hn-punch-panel__card {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(2.75rem, 4vw, 4rem) clamp(2rem, 3.4vw, 3.5rem) clamp(2.75rem, 4vw, 4rem) clamp(3rem, 4vw, 4.25rem);
    color: #fff;
}

.hn-punch-panel__card::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0 -1.25rem 0 0;
    background:
        radial-gradient(circle at 95% 52%, rgba(255, 193, 7, .12), transparent 13rem),
        linear-gradient(105deg, rgba(11, 17, 26, .98), rgba(8, 13, 21, .92));
    clip-path: polygon(0 0, 100% 0, calc(100% - 8.75rem) 100%, 0 100%);
}

.hn-punch-panel__card > span {
    display: inline-flex;
    align-items: center;
    gap: .85rem;
    color: var(--color-accent);
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1;
    text-transform: uppercase;
}

.hn-punch-panel__card > span::after {
    content: "";
    width: min(8vw, 8rem);
    height: 1px;
    background: var(--color-accent);
}

.hn-punch-panel__card h2 {
    max-width: 430px;
    margin: 0 0 1.35rem;
    color: #fff;
    font-size: clamp(3rem, 4.35vw, 4.7rem);
    line-height: 1.02;
    text-transform: none;
    text-shadow: 0 2px 0 rgba(255, 255, 255, .16), 0 18px 40px rgba(0, 0, 0, .34);
}

.hn-punch-panel__card p,
.hn-punch-panel__card small {
    display: block;
    max-width: 405px;
    color: rgba(255, 255, 255, .72);
    font-size: 1.05rem;
    line-height: 1.5;
}

.hn-punch-panel__card .hn-button {
    position: relative;
    width: fit-content;
    min-width: min(100%, 330px);
    justify-content: flex-start;
    margin: 1.8rem 0 1rem;
    padding: .45rem 2.4rem .45rem .55rem;
    border-color: #ffc107;
    border-radius: 0;
    background: linear-gradient(105deg, #ffc107 0%, #ffb11a 52%, #f79a1e 100%);
    color: #050a12;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
    box-shadow: 0 16px 34px rgba(247, 154, 30, .22), inset 0 1px 0 rgba(255, 255, 255, .36);
    clip-path: polygon(0 0, 100% 0, calc(100% - 2rem) 100%, 0 100%);
}

.hn-punch-panel__card .hn-button::before,
.hn-punch-panel__card .hn-button::after {
    content: none;
}

.hn-punch-panel__button-icon {
    display: grid;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    margin-right: .35rem;
    place-items: center;
    background: #050a12;
    clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
}

.hn-punch-panel__button-icon img {
    width: 23px;
    height: 23px;
}

.hn-punch-panel__button > span:last-child {
    display: block;
    flex: 1;
    color: #050a12;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
}

.hn-punch-panel__card .hn-button:hover,
.hn-punch-panel__card .hn-button:focus-visible {
    background: linear-gradient(105deg, #ffd334 0%, #ffc107 52%, #f79a1e 100%);
    box-shadow: 0 20px 42px rgba(247, 154, 30, .32), inset 0 1px 0 rgba(255, 255, 255, .42);
}

.hn-punch-panel__card small {
    position: relative;
    padding-left: 1.7rem;
}

.hn-punch-panel__card small::before {
    content: "";
    position: absolute;
    top: .22rem;
    left: 0;
    width: 1.15rem;
    height: 1.15rem;
    border: 0;
    background: url("../../icons/trust-shield.svg") center / contain no-repeat;
}

.hn-punch-panel__steps {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: clamp(2.2rem, 4.2vw, 4.8rem) clamp(.75rem, 1.8vw, 1.75rem) clamp(2.2rem, 4.2vw, 4.8rem) clamp(2.75rem, 4vw, 4.5rem);
    margin: 0;
    background:
        radial-gradient(circle at 50% 20%, rgba(247, 154, 30, .1), transparent 11rem),
        linear-gradient(180deg, rgba(8, 20, 35, .84), rgba(4, 9, 16, .92));
    list-style: none;
}

.hn-punch-panel__steps li {
    position: relative;
    display: grid;
    min-height: 330px;
    align-content: center;
    justify-items: center;
    padding: clamp(1rem, 2vw, 2rem);
    background: transparent;
    text-align: center;
}

.hn-punch-panel__steps li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 1px;
    height: auto;
    border: 0;
    background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .22), transparent);
    transform: none;
}

.hn-punch-panel__count {
    display: grid;
    position: static;
    width: auto;
    height: auto;
    place-items: center;
    margin: .95rem 0 .85rem;
    background: transparent;
    color: var(--color-accent);
    font-family: var(--font-heading);
    font-size: clamp(1.35rem, 2.4vw, 2.05rem);
    font-weight: 700;
    line-height: 1;
    text-shadow: 0 0 18px rgba(255, 193, 7, .6);
}

.hn-process__icon {
    position: relative;
    display: grid;
    width: 68px;
    aspect-ratio: 1;
    margin: .55rem 0 .85rem;
    place-items: center;
    border: 1px solid rgba(15, 23, 42, .1);
    border-radius: 22px;
    background:
        radial-gradient(circle at 50% 50%, rgba(247, 154, 30, .18), transparent 50%),
        #fff;
    box-shadow: 0 15px 34px rgba(15, 23, 42, .09);
}

.hn-punch-panel__icon {
    display: grid;
    width: clamp(6.4rem, 7.8vw, 8.5rem);
    aspect-ratio: 1;
    margin: 0;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 42%, rgba(255, 255, 255, .09), transparent 38%),
        linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(0, 0, 0, .28));
    box-shadow: inset 0 0 0 3px rgba(0, 0, 0, .28), 0 18px 42px rgba(0, 0, 0, .38), 0 18px 0 -15px var(--color-accent), 0 26px 28px -24px rgba(255, 193, 7, .95);
}

.hn-punch-panel__icon::before,
.hn-punch-panel__icon::after {
    content: none;
}

.hn-punch-panel__icon img {
    display: block;
    width: 58%;
    height: 58%;
}

.hn-process__icon::before {
    content: none;
}

.hn-process__icon img {
    display: block;
    width: 44px;
    height: 44px;
}

.hn-punch-panel__steps strong {
    max-width: 230px;
    color: #fff;
    font-size: clamp(1.55rem, 2.1vw, 2.2rem);
    line-height: .98;
    text-shadow: 0 16px 34px rgba(0, 0, 0, .38);
}

.hn-punch-panel__steps p {
    max-width: 210px;
    margin: 1.1rem 0 0;
    color: rgba(255, 255, 255, .66);
    font-size: 1rem;
    line-height: 1.5;
}

.hn-punch-panel__steps p::after {
    content: "";
    display: block;
    width: 4.5rem;
    height: 2px;
    margin: 1.25rem auto 0;
    background: var(--color-accent);
    box-shadow: 0 0 14px rgba(255, 193, 7, .55);
}

.hn-home .hn-service-offers--offer-cards {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-top: clamp(5.25rem, 7vw, 7.5rem);
    padding-bottom: clamp(5.5rem, 7vw, 7.75rem);
    border-block: 1px solid rgba(255, 255, 255, .1);
    background: #030507;
    color: #fff;
}

.hn-home .hn-service-offers--offer-cards::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        radial-gradient(circle at 67% 46%, rgba(247, 154, 30, .08), transparent 22rem),
        linear-gradient(90deg, rgba(0, 0, 0, .92) 0%, rgba(0, 0, 0, .84) 53%, rgba(0, 0, 0, .52) 78%, rgba(0, 0, 0, .38) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, .28), rgba(0, 0, 0, .66));
    pointer-events: none;
}

.hn-home .hn-service-offers--offer-cards::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    left: clamp(-6rem, -2vw, -1rem);
    width: clamp(18rem, 27vw, 31rem);
    aspect-ratio: 1086 / 1449;
    background: rgba(255, 255, 255, .045);
    opacity: .62;
    transform: translateY(-50%);
    -webkit-mask: url("../../brand/hammernest-logo-mark.svg") center / contain no-repeat;
    mask: url("../../brand/hammernest-logo-mark.svg") center / contain no-repeat;
    pointer-events: none;
}

.hn-service-offers__background {
    position: absolute;
    z-index: -2;
    inset: 0;
}

.hn-service-offers__background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center right;
}

.hn-home .hn-service-offers--offer-cards .hn-section__inner {
    position: relative;
    z-index: 2;
}

.hn-home .hn-service-offers--offer-cards .hn-section-intro {
    max-width: 980px;
    margin-bottom: clamp(2.5rem, 4vw, 4rem);
}

.hn-home .hn-service-offers--offer-cards .hn-section-intro h2 {
    max-width: 940px;
    color: #fff;
    font-size: clamp(3.1rem, 5vw, 5.2rem);
    line-height: 1.02;
    text-shadow: 0 18px 48px rgba(0, 0, 0, .46);
}

.hn-home .hn-service-offers--offer-cards .hn-section-intro h2 span {
    color: var(--color-accent);
    text-shadow: 0 0 28px rgba(255, 193, 7, .24);
}

.hn-home .hn-service-offers--offer-cards .hn-service-offers__summary {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    max-width: none;
    margin-top: 1.65rem;
    color: rgba(255, 193, 7, .9);
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

.hn-home .hn-service-offers--offer-cards .hn-service-offers__summary::before {
    content: "";
    width: 4.75rem;
    height: 1px;
    background: var(--color-accent);
    box-shadow: 0 0 12px rgba(255, 193, 7, .38);
}

.hn-home .hn-service-offers--offer-cards .hn-service-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
    max-width: 1100px;
    margin-inline: auto;
}

.hn-home .hn-service-offers--offer-cards .hn-service-chip {
    position: relative;
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    min-height: 172px;
    overflow: hidden;
    gap: .35rem 1rem;
    align-content: center;
    justify-items: start;
    padding: 1.35rem 1.5rem;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    background:
        radial-gradient(circle at 50% 12%, rgba(247, 154, 30, .08), transparent 9rem),
        linear-gradient(165deg, rgba(19, 21, 23, .88), rgba(6, 7, 9, .82));
    color: #fff;
    text-decoration: none;
    text-align: left;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035), 0 18px 42px rgba(0, 0, 0, .22);
    backdrop-filter: blur(4px);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.hn-home .hn-service-offers--offer-cards .hn-service-chip::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255, 255, 255, .035), transparent 42%);
    pointer-events: none;
}

.hn-home .hn-service-offers--offer-cards .hn-service-chip:hover,
.hn-home .hn-service-offers--offer-cards .hn-service-chip:focus-visible {
    border-color: rgba(255, 193, 7, .86);
    background:
        radial-gradient(circle at 50% 12%, rgba(255, 193, 7, .13), transparent 9rem),
        linear-gradient(165deg, rgba(25, 25, 22, .94), rgba(8, 8, 8, .88));
    box-shadow: inset 0 0 0 1px rgba(255, 193, 7, .12), 0 20px 48px rgba(0, 0, 0, .34), 0 0 28px rgba(247, 154, 30, .08);
}

.hn-home .hn-service-offers--offer-cards .hn-service-chip:hover,
.hn-home .hn-service-offers--offer-cards .hn-service-chip:focus-visible {
    transform: translateY(-4px);
}

.hn-home .hn-service-offers--offer-cards .hn-service-chip__icon {
    position: relative;
    display: grid;
    grid-row: 1 / span 3;
    width: 76px;
    height: 84px;
    align-self: center;
    margin-bottom: 0;
    place-items: center;
    background: rgba(255, 193, 7, .82);
    clip-path: polygon(50% 0, 94% 24%, 94% 76%, 50% 100%, 6% 76%, 6% 24%);
}

.hn-home .hn-service-offers--offer-cards .hn-service-chip__icon::before {
    content: "";
    position: absolute;
    inset: 2px;
    background: linear-gradient(145deg, rgba(28, 31, 34, .98), rgba(6, 8, 11, .98));
    clip-path: inherit;
}

.hn-home .hn-service-offers--offer-cards .hn-service-chip img {
    position: relative;
    z-index: 1;
    width: 44px;
    height: 44px;
    object-fit: contain;
}

.hn-home .hn-service-offers--offer-cards .hn-service-chip strong {
    display: block;
    align-self: start;
    grid-column: 2;
    min-width: 0;
    max-width: none;
    color: #fff;
    font-size: clamp(1.35rem, 1.5vw, 1.72rem);
    line-height: 1.05;
}

.hn-home .hn-service-offers--offer-cards .hn-service-chip span:not(.hn-service-chip__icon) {
    display: block;
    grid-column: 2;
    min-width: 0;
    max-width: 16rem;
    margin-top: .2rem;
    color: rgba(255, 255, 255, .64);
    font-size: .98rem;
    line-height: 1.42;
}

.hn-home .hn-service-offers--offer-cards .hn-service-chip em {
    align-self: end;
    grid-column: 2;
    width: 3.5rem;
    height: 2px;
    overflow: hidden;
    margin-top: .75rem;
    background: var(--color-accent);
    color: transparent;
    font-size: 0;
    box-shadow: 0 0 12px rgba(255, 193, 7, .34);
}

.hn-home .hn-service-offers--offer-cards .hn-section-link {
    margin-top: 2.8rem;
}

.hn-home .hn-service-offers--offer-cards .hn-section-link a {
    padding-bottom: .5rem;
    color: var(--color-accent);
    font-size: 1.15rem;
    text-transform: uppercase;
    border-bottom: 2px solid rgba(255, 193, 7, .72);
}

.hn-section-link {
    margin: 1.5rem 0 0;
    text-align: center;
}

.hn-section-link a {
    position: relative;
    color: var(--color-secondary);
    font-family: var(--font-heading);
    font-size: 1.02rem;
    font-weight: 700;
    text-decoration: none;
}

.hn-section-link a::after {
    content: "";
    display: inline-block;
    width: .55rem;
    height: .55rem;
    margin-left: .45rem;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}

.hn-gallery-section--mosaic {
    padding-top: clamp(3.5rem, 4.8vw, 4.8rem);
    background: #fff;
}

.hn-gallery-section--strip {
    padding-block: clamp(3.2rem, 6vw, 5.5rem);
    background:
        radial-gradient(circle at 50% 0, rgba(247, 154, 30, .08), transparent 22rem),
        #f7f8fa;
}

.hn-gallery-grid {
    display: grid;
    gap: 1rem;
}

.hn-gallery-section--mosaic .hn-gallery-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: minmax(220px, auto);
}

.hn-gallery-card {
    position: relative;
    overflow: hidden;
    min-height: 220px;
    padding: 0;
    border: 1px solid rgba(15, 23, 42, .1);
    border-radius: var(--card-radius);
    background: #111827;
    box-shadow: var(--shadow-soft);
}

.hn-gallery-card--feature {
    grid-column: span 2;
    min-height: 300px;
}

.hn-gallery-card__link,
.hn-gallery-card__visual {
    display: block;
    height: 100%;
}

.hn-gallery-card__visual {
    aspect-ratio: auto;
    margin: 0;
    overflow: hidden;
    border-radius: inherit;
}

.hn-gallery-card__visual img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    transform: scale(1.01);
    transition: transform .22s ease;
}

.hn-gallery-card__link::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 22%, rgba(7, 14, 28, .82) 100%);
}

.hn-gallery-card:hover img {
    transform: scale(1.05);
}

.hn-gallery-card__badge {
    position: absolute;
    z-index: 2;
    top: .85rem;
    left: .85rem;
    padding: .38rem .55rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .92);
    color: var(--color-primary-dark);
    font-family: var(--font-heading);
    font-size: .78rem;
    font-weight: 700;
}

.hn-gallery-card__caption {
    position: absolute;
    z-index: 2;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
}

.hn-gallery-card h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(1rem, 2vw, 1.35rem);
    line-height: 1.05;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .4);
}

.hn-gallery-card__caption span {
    display: inline-flex;
    margin-top: .5rem;
    color: var(--color-accent);
    font-family: var(--font-heading);
    font-size: .84rem;
    font-weight: 700;
}

.hn-gallery-section--strip .hn-gallery-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hn-gallery-section--strip .hn-gallery-card {
    min-height: 190px;
}

.hn-process-section--cards {
    background: #fff;
}

.hn-process-section--cards .hn-process {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.hn-process-section--cards .hn-process li {
    position: relative;
    min-height: 245px;
    padding: 1.4rem;
    border: 1px solid rgba(15, 23, 42, .1);
    border-radius: 26px var(--card-radius) var(--card-radius);
    background:
        radial-gradient(circle at 80% 8%, rgba(247, 154, 30, .12), transparent 8rem),
        #fff;
    box-shadow: var(--shadow-soft);
    counter-increment: process;
}

.hn-process-section--cards .hn-process li::before {
    content: counter(process);
    position: absolute;
    top: -13px;
    left: 1.4rem;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    background: var(--orange-gradient);
    color: #1d1407;
    font-family: var(--font-heading);
    font-weight: 700;
}

.hn-process__icon {
    margin-top: .9rem;
}

.hn-process strong {
    color: var(--color-primary-dark);
    font-size: 1.12rem;
    line-height: 1.05;
}

.hn-process span:not(.hn-process__icon) {
    margin-top: .6rem;
    color: var(--color-muted);
    font-size: .9rem;
    line-height: 1.45;
}

@keyframes hn-spin {
    to { transform: rotate(360deg); }
}

@keyframes hn-tap {
    0%, 90%, 100% { transform: rotate(41deg); }
    94% { transform: rotate(34deg); }
}

@keyframes hn-float {
    0%, 100% { transform: translateY(0); opacity: .55; }
    50% { transform: translateY(-28px); opacity: 1; }
}

@media (max-width: 1180px) {
    .hn-home .hn-service-offers--offer-cards .hn-service-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}

@media (max-width: 1040px) {
    .hn-home .hn-service-offers--offer-cards .hn-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .hn-home .hn-service-offers--offer-cards {
        padding-block: 4.5rem;
    }

    .hn-home .hn-service-offers--offer-cards::before {
        background:
            linear-gradient(180deg, rgba(0, 0, 0, .84) 0%, rgba(0, 0, 0, .72) 26%, rgba(0, 0, 0, .82) 100%),
            linear-gradient(90deg, rgba(0, 0, 0, .82), rgba(0, 0, 0, .44));
    }

    .hn-home .hn-service-offers--offer-cards::after {
        top: 16rem;
        left: -5.5rem;
        width: 18rem;
        opacity: .5;
    }

    .hn-service-offers__background img {
        object-position: top right;
    }

    .hn-home .hn-service-offers--offer-cards .hn-section-intro h2 {
        font-size: clamp(2.8rem, 12vw, 4rem);
    }

    .hn-home .hn-service-offers--offer-cards .hn-service-offers__summary {
        align-items: flex-start;
        font-size: .92rem;
        text-align: left;
    }

    .hn-home .hn-service-offers--offer-cards .hn-service-offers__summary::before {
        flex: 0 0 2.75rem;
        margin-top: .5rem;
    }

    .hn-home .hn-service-offers--offer-cards .hn-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hn-home .hn-service-offers--offer-cards .hn-service-chip {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto auto;
        min-height: 230px;
        justify-items: center;
        padding: 1.5rem 1.15rem;
        text-align: center;
    }

    .hn-home .hn-service-offers--offer-cards .hn-service-chip__icon,
    .hn-home .hn-service-offers--offer-cards .hn-service-chip strong,
    .hn-home .hn-service-offers--offer-cards .hn-service-chip span:not(.hn-service-chip__icon),
    .hn-home .hn-service-offers--offer-cards .hn-service-chip em {
        grid-column: 1;
    }

    .hn-home .hn-service-offers--offer-cards .hn-service-chip__icon {
        grid-row: auto;
        margin-bottom: .75rem;
    }

    .hn-home .hn-service-offers--offer-cards .hn-service-chip span:not(.hn-service-chip__icon) {
        max-width: 12rem;
    }
}

@media (max-width: 980px) {
    .hn-home .hn-hero {
        min-height: auto;
    }

    .hn-home .hn-hero__inner,
    .hn-punch-panel {
        grid-template-columns: 1fr;
    }

    .hn-home .hn-tool-hero {
        min-height: 390px;
    }

    .hn-trust-bar__inner,
    .hn-process-section--cards .hn-process {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hn-punch-panel__steps {
        grid-template-columns: 1fr;
        padding: 2rem;
    }

    .hn-punch-panel__steps li {
        min-height: auto;
        padding-block: 2rem;
    }

    .hn-punch-panel__steps li:not(:last-child)::after {
        top: auto;
        right: 12%;
        bottom: 0;
        left: 12%;
        width: auto;
        height: 1px;
        transform: none;
    }

    .hn-punch-panel::before,
    .hn-punch-panel::after {
        display: none;
    }

    .hn-punch-panel__card {
        padding: 2.5rem;
    }

    .hn-punch-panel__card::before {
        inset: 0;
        clip-path: none;
    }

    .hn-gallery-section--mosaic .hn-gallery-grid,
    .hn-gallery-section--strip .hn-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hn-gallery-card--feature {
        grid-column: span 1;
    }

}

@media (max-width: 640px) {
    .hn-home .hn-section {
        padding-block: 3.4rem;
    }

    .hn-home .hn-hero {
        padding-top: 3.8rem;
        padding-bottom: 5rem;
    }

    .hn-home .hn-hero h1 {
        font-size: clamp(3.3rem, 17vw, 4.4rem);
    }

    .hn-home .hn-hero__actions {
        display: grid;
        width: min(100%, 340px);
    }

    .hn-home .hn-tool-hero {
        min-height: 330px;
    }

    .hn-home .hn-tool-hero__blade {
        right: 1rem;
        width: 190px;
        border-width: 18px;
    }

    .hn-home .hn-tool-hero__card {
        top: 4.2rem;
        width: min(330px, 96%);
    }

    .hn-home .hn-tool-hero__hammer,
    .hn-home .hn-tool-hero__measure,
    .hn-home .hn-tool-hero__block {
        display: none;
    }

    .hn-punch-panel-section {
        padding-block: 3.5rem;
    }

    .hn-punch-panel {
        min-height: 0;
    }

    .hn-punch-panel__card {
        padding: 2rem;
    }

    .hn-punch-panel__card h2 {
        font-size: clamp(2.8rem, 15vw, 4.2rem);
    }

    .hn-punch-panel__card .hn-button {
        width: 100%;
        min-width: 0;
    }

    .hn-punch-panel__steps {
        padding: 1.25rem;
    }

    .hn-punch-panel__icon {
        width: 5.6rem;
    }

    .hn-trust-bar__inner,
    .hn-home .hn-service-offers--offer-cards .hn-service-grid,
    .hn-process-section--cards .hn-process,
    .hn-gallery-section--mosaic .hn-gallery-grid,
    .hn-gallery-section--strip .hn-gallery-grid {
        grid-template-columns: 1fr;
    }

    .hn-trust-bar article {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .14);
    }

    .hn-home .hn-service-offers--offer-cards .hn-service-chip {
        min-height: 190px;
    }

}

@media (prefers-reduced-motion: reduce) {
    .hn-home .hn-tool-hero__blade,
    .hn-home .hn-tool-hero__hammer,
    .hn-home .hn-dust {
        animation: none;
    }
}
