.hn-service-grid,
.hn-area-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
    gap: .85rem;
}

.hn-service-chip,
.hn-area-grid a {
    min-height: 120px;
    padding: 1rem;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background: var(--color-surface);
    color: var(--color-primary-dark);
    text-decoration: none;
}

.hn-service-chip {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: .5rem .7rem;
    align-content: start;
}

.hn-service-grid--single {
    grid-template-columns: minmax(0, 460px);
}

.hn-service-chip__icon {
    grid-row: 1 / span 3;
    display: grid;
    min-width: 34px;
    margin-top: 0;
    place-items: center;
}

.hn-service-chip > strong,
.hn-service-chip > span:not(.hn-service-chip__icon),
.hn-service-chip > em {
    grid-column: 2;
    min-width: 0;
}

.hn-service-chip img {
    grid-row: 1 / span 2;
    width: 32px;
    aspect-ratio: 1;
    object-fit: contain;
}

.hn-service-chip span {
    display: block;
    margin-top: .35rem;
    color: var(--color-muted);
    font-size: .95rem;
}

.hn-service-chip > .hn-service-chip__icon {
    margin-top: 0;
    color: inherit;
}

.hn-service-chip > em {
    color: var(--color-gold);
    font-family: var(--font-heading);
    font-size: .9rem;
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
}

.hn-area-grid a {
    min-height: 64px;
    display: flex;
    align-items: center;
    font-weight: 900;
}

.hn-service-offers--location-cards {
    position: relative;
    overflow: hidden;
    padding: clamp(4.25rem, 6vw, 6.5rem) 1.5rem;
    color: #f7f8fa;
    background:
        radial-gradient(circle at 88% 8%, rgba(255, 193, 7, .14), transparent 24rem),
        linear-gradient(140deg, rgba(255, 193, 7, .08), transparent 26rem),
        #020509;
}

.hn-service-offers--location-cards::before,
.hn-service-offers--location-cards::after {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
}

.hn-service-offers--location-cards::before {
    opacity: .34;
    background:
        linear-gradient(rgba(255, 255, 255, .026) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .022) 1px, transparent 1px);
    background-size: 86px 86px;
}

.hn-service-offers--location-cards::after {
    left: auto;
    width: min(40vw, 520px);
    background:
        linear-gradient(118deg, transparent 0 51%, rgba(255, 193, 7, .38) 51.2% 51.5%, transparent 51.8%) 100% 0 / 330px 100% no-repeat,
        linear-gradient(118deg, transparent 0 42%, rgba(255, 255, 255, .12) 42.2% 42.5%, transparent 42.8%) 100% 0 / 250px 100% no-repeat;
    opacity: .55;
}

.hn-service-offers--location-cards .hn-section__inner {
    position: relative;
    z-index: 1;
    width: min(1320px, 100%);
}

.hn-service-offers__watermark {
    position: absolute;
    z-index: 0;
    top: clamp(2.25rem, 5vw, 4rem);
    right: clamp(1.25rem, 11vw, 10rem);
    width: clamp(150px, 18vw, 280px);
    height: auto;
    opacity: .12;
    filter: grayscale(1) brightness(.72) contrast(1.2);
    pointer-events: none;
}

.hn-service-offers--location-cards .hn-section-intro {
    max-width: 760px;
    margin: 0 0 1.8rem;
}

.hn-service-offers--location-cards .hn-section-label {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    color: #ffc107;
    letter-spacing: .28em;
}

.hn-service-offers--location-cards .hn-section-label::before {
    display: block;
    width: 46px;
    height: 2px;
    content: "";
    background: #ffc107;
    box-shadow: 0 0 16px rgba(255, 193, 7, .48);
}

.hn-service-offers--location-cards .hn-section-intro h2 {
    max-width: 760px;
    margin: .75rem 0 .7rem;
    color: #f8fafc;
    font-family: var(--font-heading);
    font-size: clamp(3.35rem, 6vw, 5.85rem);
    line-height: .9;
    letter-spacing: 0;
    text-transform: uppercase;
    text-wrap: balance;
    text-shadow: 0 6px 28px rgba(0, 0, 0, .58);
}

.hn-service-offers--location-cards .hn-section-intro h2 span {
    color: #ffc107;
}

.hn-service-offers--location-cards .hn-section-intro p:not(.hn-section-label) {
    max-width: 720px;
    margin: 0;
    color: rgba(248, 250, 252, .72);
    font-size: 1.08rem;
    font-style: italic;
    line-height: 1.5;
}

.hn-location-service-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
}

.hn-location-service-card {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 188px;
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 1rem;
    overflow: hidden;
    padding: 1.1rem 1.1rem 1.05rem 1rem;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 8px;
    color: #f8fafc;
    background:
        radial-gradient(circle at 50% 110%, rgba(255, 193, 7, .16), transparent 9rem),
        linear-gradient(145deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .018)),
        #070c12;
    clip-path: polygon(18px 0, calc(100% - 11px) 0, 100% 11px, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%, 0 18px);
    text-decoration: none;
    box-shadow: inset 0 -2px 0 rgba(255, 193, 7, .32), 0 20px 46px rgba(0, 0, 0, .26);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.hn-location-service-card::before,
.hn-location-service-card::after {
    position: absolute;
    content: "";
    pointer-events: none;
}

.hn-location-service-card::before {
    inset: 0;
    border-radius: inherit;
    background:
        linear-gradient(90deg, transparent 0 24%, rgba(255, 193, 7, .24) 24.2% 24.5%, transparent 24.7%),
        linear-gradient(0deg, rgba(255, 193, 7, .7), rgba(255, 193, 7, 0) 28%);
    opacity: .46;
}

.hn-location-service-card::after {
    right: 10%;
    bottom: -2px;
    left: 10%;
    height: 3px;
    background: linear-gradient(90deg, transparent, #ffc107, transparent);
    box-shadow: 0 0 18px rgba(255, 193, 7, .72);
    opacity: .78;
}

.hn-location-service-card:hover,
.hn-location-service-card:focus-visible {
    border-color: rgba(255, 193, 7, .64);
    background:
        radial-gradient(circle at 50% 110%, rgba(255, 193, 7, .22), transparent 10rem),
        linear-gradient(145deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .024)),
        #080f17;
    box-shadow: inset 0 -2px 0 rgba(255, 193, 7, .52), 0 26px 58px rgba(0, 0, 0, .34), 0 0 24px rgba(255, 193, 7, .08);
    transform: translateY(-2px);
}

.hn-location-service-card__icon,
.hn-location-service-card__body {
    position: relative;
    z-index: 1;
}

.hn-location-service-card__icon {
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    border: 1px solid rgba(255, 193, 7, .52);
    border-radius: 8px;
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 193, 7, .16), transparent 2.7rem),
        rgba(255, 255, 255, .035);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06), 0 0 22px rgba(255, 193, 7, .08);
}

.hn-location-service-card__icon img {
    width: 38px;
    height: 38px;
    object-fit: contain;
}

.hn-location-service-card__body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding-left: 1rem;
    border-left: 1px solid rgba(255, 193, 7, .22);
}

.hn-location-service-card strong {
    color: #f8fafc;
    font-family: var(--font-heading);
    font-size: clamp(1.18rem, 1.55vw, 1.48rem);
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    text-wrap: balance;
}

.hn-location-service-card__body > span {
    margin: .75rem 0 1rem;
    color: rgba(248, 250, 252, .68);
    font-size: .98rem;
    line-height: 1.45;
}

.hn-location-service-card em {
    display: inline-flex;
    gap: .75rem;
    align-items: center;
    margin-top: auto;
    color: #ffc107;
    font-family: var(--font-heading);
    font-size: .96rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.hn-location-service-card em b {
    font-size: 1.2rem;
    font-weight: 700;
}

.hn-service-offers--location-cards .hn-section-link {
    margin: 1.15rem 0 0;
}

.hn-service-offers--location-cards .hn-section-link a {
    display: inline-flex;
    gap: .9rem;
    align-items: center;
    padding-bottom: .45rem;
    color: #ffc107;
    border-bottom: 2px solid rgba(255, 193, 7, .72);
    font-family: var(--font-heading);
    font-weight: 700;
    letter-spacing: .18em;
    text-decoration: none;
    text-transform: uppercase;
}

.hn-service-offers--location-cards .hn-section-link a::after {
    content: "->";
    letter-spacing: 0;
}

@media (max-width: 1180px) {
    .hn-location-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hn-service-offers__watermark {
        right: 2rem;
        width: clamp(130px, 24vw, 220px);
    }
}

@media (max-width: 720px) {
    .hn-service-offers--location-cards {
        padding-inline: 1rem;
    }

    .hn-service-offers--location-cards .hn-section-intro h2 {
        font-size: clamp(2.6rem, 14vw, 3.6rem);
    }

    .hn-location-service-grid {
        grid-template-columns: 1fr;
    }

    .hn-location-service-card {
        grid-template-columns: 60px minmax(0, 1fr);
        min-height: 0;
    }

    .hn-location-service-card__body {
        padding-left: .85rem;
    }

    .hn-service-offers__watermark {
        top: 1rem;
        right: -1rem;
        width: 140px;
        opacity: .08;
    }
}

@media (max-width: 440px) {
    .hn-location-service-card {
        grid-template-columns: 1fr;
    }

    .hn-location-service-card__body {
        padding-left: 0;
        border-left: 0;
    }
}

.hn-category-modules {
    position: relative;
    overflow: hidden;
    padding: 88px 24px 96px;
    background:
        linear-gradient(rgba(255, 255, 255, .76), rgba(255, 255, 255, .72)),
        repeating-linear-gradient(90deg, transparent 0 84px, rgba(15, 23, 42, .045) 85px),
        repeating-linear-gradient(0deg, transparent 0 84px, rgba(15, 23, 42, .035) 85px),
        #dfe4ea;
}

.hn-category-modules .hn-section__inner,
.hn-service-repair-hub .hn-section__inner,
.hn-service-scope .hn-section__inner,
.hn-problem-console .hn-section__inner,
.hn-service-audience .hn-section__inner {
    width: min(1240px, 100%);
}

.hn-category-modules .hn-section-intro {
    max-width: 850px;
    margin: 0 0 2.5rem;
    text-align: left;
}

.hn-category-modules .hn-section-intro h2 {
    margin: 0;
    color: #08101b;
    font-family: var(--font-heading);
    font-size: clamp(2.9rem, 5vw, 5rem);
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
}

.hn-category-modules .hn-section-intro p {
    max-width: 760px;
    color: #344152;
    font-size: 1.08rem;
    line-height: 1.6;
}

.hn-category-modules__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.hn-category-modules__grid article {
    position: relative;
    display: flex;
    min-height: 385px;
    flex-direction: column;
    overflow: hidden;
    padding: 1.5rem;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    color: #f7f8fa;
    background:
        radial-gradient(circle at 80% 12%, rgba(255, 193, 7, .07), transparent 9rem),
        linear-gradient(145deg, #0d1725, #05090f);
    box-shadow: inset 0 3px 0 #ffc107, 0 22px 46px rgba(15, 23, 42, .22);
}

.hn-category-modules__grid article::before {
    position: absolute;
    top: -30px;
    right: -12px;
    width: 140px;
    height: 140px;
    content: "";
    opacity: .13;
    background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .24) 0 1px, transparent 1px 10px);
    transform: rotate(10deg);
}

.hn-category-modules__icon {
    display: grid;
    width: 68px;
    height: 68px;
    margin-bottom: 1.5rem;
    place-items: center;
    border: 1px solid rgba(255, 193, 7, .68);
    border-radius: 50%;
    background: rgba(255, 193, 7, .05);
}

.hn-category-modules__icon img {
    width: 42px;
    height: 42px;
}

.hn-category-modules__grid h3,
.hn-service-repair-hub__body strong,
.hn-service-scope h3,
.hn-problem-console h3,
.hn-service-audience h3 {
    margin: 0;
    color: #fff;
    font-family: var(--font-heading);
    letter-spacing: 0;
    text-transform: none;
}

.hn-category-modules__grid h3 {
    font-size: 1.65rem;
    line-height: 1.05;
}

.hn-category-modules__grid p {
    margin: 1rem 0 1.5rem;
    color: rgba(247, 248, 250, .68);
    line-height: 1.55;
}

.hn-category-modules__grid a {
    margin-top: auto;
    color: #ffc107;
    font-family: var(--font-heading);
    font-weight: 700;
    text-decoration: none;
}

.hn-small-job-selector {
    position: relative;
    overflow: hidden;
    padding: 92px 24px 104px;
    background:
        linear-gradient(rgba(224, 232, 238, .86), rgba(215, 224, 231, .84)),
        repeating-linear-gradient(135deg, transparent 0 46px, rgba(15, 23, 42, .055) 47px),
        #d7e0e7;
}

.hn-small-job-selector::before,
.hn-small-job-selector::after {
    position: absolute;
    content: "";
    pointer-events: none;
}

.hn-small-job-selector::before {
    inset: 0;
    opacity: .22;
    background-image:
        linear-gradient(rgba(15, 23, 42, .1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, .08) 1px, transparent 1px);
    background-size: 72px 72px;
}

.hn-small-job-selector::after {
    top: -5rem;
    right: 7%;
    width: 18rem;
    height: 18rem;
    border: 1px solid rgba(15, 23, 42, .14);
    transform: rotate(45deg);
}

.hn-small-job-selector .hn-section__inner,
.hn-small-job-planner .hn-section__inner,
.hn-small-job-requests .hn-section__inner,
.hn-small-job-organize .hn-section__inner,
.hn-small-job-boundaries .hn-section__inner,
.hn-small-job-audiences .hn-section__inner {
    position: relative;
    z-index: 1;
    width: min(1240px, 100%);
}

.hn-small-job-selector .hn-section-intro {
    max-width: 860px;
    margin: 0 0 2.5rem;
}

.hn-small-job-selector .hn-section-intro h2 {
    margin: .55rem 0 .85rem;
    color: #07101b;
    font-size: clamp(2.75rem, 5vw, 5rem);
    line-height: 1;
}

.hn-small-job-selector .hn-section-intro p {
    max-width: 760px;
    color: #2f3a47;
}

.hn-small-job-selector__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.hn-small-job-selector__grid article {
    position: relative;
    display: flex;
    min-height: 430px;
    flex-direction: column;
    overflow: hidden;
    padding: 1.35rem;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .018)),
        #07101a;
    color: #f7f8fa;
    box-shadow: inset 0 3px 0 #ffc107, 0 22px 46px rgba(15, 23, 42, .24);
}

.hn-small-job-selector__grid article::after {
    position: absolute;
    right: -3rem;
    bottom: -3rem;
    width: 10rem;
    height: 10rem;
    content: "";
    border: 1px solid rgba(255, 193, 7, .18);
    transform: rotate(45deg);
}

.hn-small-job-selector__grid article.is-featured {
    border-color: rgba(255, 193, 7, .52);
    box-shadow: inset 0 4px 0 #ffc107, 0 26px 58px rgba(15, 23, 42, .3), 0 0 22px rgba(255, 193, 7, .1);
}

.hn-small-job-selector__tag {
    color: #ffc107;
    font-family: var(--font-heading);
    font-size: .86rem;
    font-weight: 700;
    text-transform: uppercase;
}

.hn-small-job-selector__icon {
    display: grid;
    width: 64px;
    height: 64px;
    margin: 1.2rem 0;
    place-items: center;
    border: 1px solid rgba(255, 193, 7, .62);
    border-radius: 50%;
    background: rgba(255, 193, 7, .06);
}

.hn-small-job-selector__icon img {
    width: 38px;
    height: 38px;
}

.hn-small-job-selector__grid h3,
.hn-small-job-planner h2,
.hn-small-job-planner h3,
.hn-small-job-requests h2,
.hn-small-job-requests h3,
.hn-small-job-organize h2,
.hn-small-job-organize h3,
.hn-small-job-boundaries h2,
.hn-small-job-boundaries h3,
.hn-small-job-audiences h2,
.hn-small-job-audiences h3 {
    margin: 0;
    color: #f7f8fa;
    font-family: var(--font-heading);
    letter-spacing: 0;
    text-transform: none;
}

.hn-small-job-selector__grid h3 {
    font-size: 1.6rem;
    line-height: 1.04;
}

.hn-small-job-selector__grid p {
    color: rgba(247, 248, 250, .72);
    line-height: 1.55;
}

.hn-small-job-selector__grid small {
    display: block;
    margin-top: auto;
    color: rgba(247, 248, 250, .6);
    line-height: 1.45;
}

.hn-small-job-selector__grid a {
    margin-top: 1.2rem;
    color: #ffc107;
    font-family: var(--font-heading);
    font-weight: 700;
    text-decoration: none;
}

.hn-small-job-planner,
.hn-small-job-requests,
.hn-small-job-organize,
.hn-small-job-boundaries,
.hn-small-job-audiences {
    position: relative;
    overflow: hidden;
    padding: 94px 24px 106px;
    color: #f7f8fa;
    background: #03070b;
}

.hn-small-job-planner::before,
.hn-small-job-requests::before,
.hn-small-job-organize::before,
.hn-small-job-boundaries::before,
.hn-small-job-audiences::before {
    position: absolute;
    inset: 0;
    content: "";
    opacity: .24;
    background-image:
        linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .02) 1px, transparent 1px);
    background-size: 82px 82px;
    pointer-events: none;
}

.hn-small-job-planner {
    background:
        linear-gradient(115deg, #05090f 0 42%, #08111c 42% 100%),
        #05090f;
}

.hn-small-job-planner .hn-section__inner {
    display: grid;
    grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: start;
}

.hn-small-job-planner__intro {
    padding-right: 2rem;
    border-right: 1px solid rgba(255, 193, 7, .42);
}

.hn-small-job-planner__intro h2,
.hn-small-job-requests .hn-section-intro h2,
.hn-small-job-organize h2,
.hn-small-job-boundaries .hn-section-intro h2,
.hn-small-job-audiences .hn-section-intro h2 {
    font-size: clamp(2.55rem, 4.7vw, 4.65rem);
    line-height: 1;
}

.hn-small-job-planner__intro p,
.hn-small-job-requests .hn-section-intro p,
.hn-small-job-organize > .hn-section__inner > div > p:not(.hn-section-label),
.hn-small-job-boundaries .hn-section-intro p,
.hn-small-job-audiences .hn-section-intro p {
    max-width: 760px;
    color: rgba(247, 248, 250, .72);
    font-size: 1.06rem;
    line-height: 1.65;
}

.hn-small-job-planner__items {
    display: grid;
    gap: .9rem;
}

.hn-small-job-planner__items article {
    position: relative;
    display: grid;
    grid-template-columns: 74px minmax(110px, .28fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
    padding: 1.1rem;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 8px;
    background: rgba(255, 255, 255, .035);
}

.hn-small-job-planner__items article > span {
    color: rgba(255, 193, 7, .72);
    font-family: var(--font-heading);
    font-size: 2.3rem;
    font-weight: 700;
    line-height: .9;
}

.hn-small-job-planner__items small {
    color: #ffc107;
    font-family: var(--font-heading);
    font-weight: 700;
    text-transform: uppercase;
}

.hn-small-job-planner__items p {
    margin: 0;
    color: rgba(247, 248, 250, .72);
    line-height: 1.58;
}

.hn-small-job-requests {
    background:
        linear-gradient(180deg, #07111d, #030609);
}

.hn-small-job-requests__grid,
.hn-small-job-audiences__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.hn-small-job-requests__grid article,
.hn-small-job-audiences__grid article,
.hn-small-job-boundaries__grid article {
    position: relative;
    min-height: 250px;
    overflow: hidden;
    padding: 1.25rem;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 8px;
    background: rgba(255, 255, 255, .035);
}

.hn-small-job-requests__grid article::after,
.hn-small-job-audiences__grid article::after,
.hn-small-job-boundaries__grid article::after {
    position: absolute;
    right: -2.6rem;
    bottom: -2.6rem;
    width: 8rem;
    height: 8rem;
    content: "";
    border: 1px solid rgba(255, 193, 7, .18);
    transform: rotate(45deg);
}

.hn-small-job-requests__grid span {
    display: block;
    margin-bottom: 1rem;
    color: #ffc107;
    font-family: var(--font-heading);
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1;
}

.hn-small-job-requests__grid h3,
.hn-small-job-audiences__grid h3,
.hn-small-job-boundaries__grid h3,
.hn-small-job-organize h3 {
    font-size: 1.42rem;
    line-height: 1.04;
}

.hn-small-job-requests__grid p,
.hn-small-job-audiences__grid p,
.hn-small-job-boundaries__grid li,
.hn-small-job-organize li p {
    color: rgba(247, 248, 250, .7);
    line-height: 1.56;
}

.hn-small-job-organize {
    background:
        linear-gradient(110deg, rgba(255, 193, 7, .08), transparent 36%),
        #05090f;
}

.hn-small-job-organize .hn-section__inner {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: start;
}

.hn-small-job-organize ol {
    display: grid;
    gap: .8rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.hn-small-job-organize li {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 8px;
    background: rgba(255, 255, 255, .035);
}

.hn-small-job-organize li > span {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid rgba(255, 193, 7, .58);
    border-radius: 50%;
    color: #ffc107;
    font-family: var(--font-heading);
    font-weight: 700;
}

.hn-small-job-boundaries {
    background:
        linear-gradient(135deg, #08111c 0 50%, #030609 50% 100%),
        #030609;
}

.hn-small-job-boundaries__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.hn-small-job-boundaries__grid ul {
    display: grid;
    gap: .55rem;
    padding: 0;
    margin: 1rem 0 0;
    list-style: none;
}

.hn-small-job-boundaries__grid li {
    position: relative;
    padding-left: 1.05rem;
}

.hn-small-job-boundaries__grid li::before {
    position: absolute;
    top: .62em;
    left: 0;
    width: .38rem;
    height: .38rem;
    border: 1px solid #ffc107;
    border-radius: 50%;
    content: "";
}

.hn-small-job-audiences {
    background:
        linear-gradient(180deg, #030609, #07111d);
}

@media (max-width: 1100px) {
    .hn-small-job-selector__grid,
    .hn-small-job-requests__grid,
    .hn-small-job-audiences__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .hn-small-job-planner .hn-section__inner,
    .hn-small-job-organize .hn-section__inner {
        grid-template-columns: 1fr;
    }

    .hn-small-job-planner__intro {
        padding-right: 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 193, 7, .32);
        padding-bottom: 1.75rem;
    }

    .hn-small-job-boundaries__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .hn-small-job-selector,
    .hn-small-job-planner,
    .hn-small-job-requests,
    .hn-small-job-organize,
    .hn-small-job-boundaries,
    .hn-small-job-audiences {
        padding-inline: 1rem;
    }

    .hn-small-job-selector__grid,
    .hn-small-job-requests__grid,
    .hn-small-job-audiences__grid {
        grid-template-columns: 1fr;
    }

    .hn-small-job-selector__grid article.is-featured {
        grid-column: auto;
    }

    .hn-small-job-planner__items article,
    .hn-small-job-organize li {
        grid-template-columns: 1fr;
    }
}

.hn-furniture-bridge,
.hn-furniture-types,
.hn-furniture-scope,
.hn-furniture-intake,
.hn-furniture-factors,
.hn-furniture-note,
.hn-furniture-related {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 7vw, 6.75rem) 1.5rem;
    color: #f7f8fa;
    background: #03070b;
}

.hn-furniture-bridge::before,
.hn-furniture-types::before,
.hn-furniture-scope::before,
.hn-furniture-intake::before,
.hn-furniture-factors::before,
.hn-furniture-note::before,
.hn-furniture-related::before {
    position: absolute;
    inset: 0;
    content: "";
    opacity: .23;
    background-image:
        linear-gradient(rgba(255, 255, 255, .024) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .02) 1px, transparent 1px);
    background-size: 78px 78px;
    pointer-events: none;
}

.hn-furniture-bridge .hn-section__inner,
.hn-furniture-types .hn-section__inner,
.hn-furniture-scope .hn-section__inner,
.hn-furniture-intake .hn-section__inner,
.hn-furniture-factors .hn-section__inner,
.hn-furniture-note .hn-section__inner,
.hn-furniture-related .hn-section__inner {
    position: relative;
    z-index: 1;
    width: min(1240px, 100%);
}

.hn-furniture-bridge {
    padding-block: clamp(3rem, 5vw, 4.25rem);
    background:
        linear-gradient(90deg, rgba(255, 193, 7, .08), transparent 22rem),
        #03070b;
}

.hn-furniture-bridge .hn-section__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2rem;
    align-items: center;
    padding: 1.5rem;
    border: 1px solid rgba(255, 193, 7, .3);
    border-radius: 8px;
    background: rgba(255, 255, 255, .035);
}

.hn-furniture-bridge h2,
.hn-furniture-types h2,
.hn-furniture-scope h2,
.hn-furniture-intake h2,
.hn-furniture-factors h2,
.hn-furniture-note h2,
.hn-furniture-related h2 {
    margin: .55rem 0 .9rem;
    color: #f7f8fa;
    font-family: var(--font-heading);
    font-size: clamp(2.45rem, 4.5vw, 4.35rem);
    line-height: 1;
}

.hn-furniture-bridge p,
.hn-furniture-types .hn-section-intro p,
.hn-furniture-scope .hn-section-intro p,
.hn-furniture-intake .hn-section-intro p,
.hn-furniture-factors .hn-section-intro p,
.hn-furniture-note p,
.hn-furniture-related .hn-section-intro p {
    max-width: 760px;
    color: rgba(247, 248, 250, .72);
    line-height: 1.64;
}

.hn-furniture-types {
    background:
        linear-gradient(180deg, #07111d, #030609);
}

.hn-furniture-types__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.hn-furniture-types__grid article {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;
    background: #07101a;
}

.hn-furniture-types__image {
    display: block;
    aspect-ratio: 16 / 8;
    overflow: hidden;
}

.hn-furniture-types__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(.72) contrast(1.08) saturate(.9);
}

.hn-furniture-types__grid article > div {
    padding: 1.2rem;
    border-top: 2px solid rgba(255, 193, 7, .74);
}

.hn-furniture-types__grid small,
.hn-furniture-factors__row > span {
    display: block;
    color: #ffc107;
    font-family: var(--font-heading);
    font-weight: 700;
    text-transform: uppercase;
}

.hn-furniture-types h3,
.hn-furniture-scope h3,
.hn-furniture-intake h3,
.hn-furniture-factors h3,
.hn-furniture-note li,
.hn-furniture-related strong {
    margin: .65rem 0 .45rem;
    color: #f7f8fa;
    font-family: var(--font-heading);
    font-size: 1.38rem;
    line-height: 1.05;
}

.hn-furniture-types p,
.hn-furniture-intake p,
.hn-furniture-factors p,
.hn-furniture-related small {
    color: rgba(247, 248, 250, .7);
    line-height: 1.55;
}

.hn-furniture-scope {
    background:
        linear-gradient(135deg, #030609 0 50%, #07111d 50% 100%),
        #030609;
}

.hn-furniture-scope__grid,
.hn-furniture-note .hn-section__inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.hn-furniture-scope__grid article,
.hn-furniture-note ul {
    padding: 1.35rem;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;
    background: rgba(255, 255, 255, .035);
}

.hn-furniture-scope ul,
.hn-furniture-note ul {
    display: grid;
    gap: .6rem;
    padding-left: 0;
    margin: 1rem 0 0;
    list-style: none;
}

.hn-furniture-scope li,
.hn-furniture-note li {
    position: relative;
    padding-left: 1.2rem;
    color: rgba(247, 248, 250, .72);
    font-size: 1rem;
}

.hn-furniture-scope li::before,
.hn-furniture-note li::before {
    position: absolute;
    top: .65em;
    left: 0;
    width: .42rem;
    height: .42rem;
    border: 1px solid #ffc107;
    border-radius: 50%;
    content: "";
}

.hn-furniture-intake {
    background:
        linear-gradient(110deg, rgba(255, 193, 7, .08), transparent 38%),
        #05090f;
}

.hn-furniture-intake__grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.hn-furniture-intake__grid article {
    min-height: 230px;
    padding: 1.25rem;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;
    background: rgba(255, 255, 255, .035);
}

.hn-furniture-intake__grid article > span {
    color: rgba(255, 193, 7, .66);
    font-family: var(--font-heading);
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1;
}

.hn-furniture-factors__rows {
    display: grid;
    gap: .9rem;
}

.hn-furniture-factors__row {
    display: grid;
    grid-template-columns: 70px repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, .14);
    border-bottom-color: rgba(255, 193, 7, .46);
    border-radius: 8px;
    background: rgba(255, 255, 255, .035);
}

.hn-furniture-factors__row > span {
    font-size: 2rem;
}

.hn-furniture-factors article {
    min-width: 0;
}

.hn-furniture-note {
    background:
        linear-gradient(125deg, #07111d 0 46%, #030609 46% 100%),
        #030609;
}

.hn-furniture-note--anchoring {
    background:
        linear-gradient(90deg, rgba(255, 193, 7, .09), transparent 20rem),
        #05090f;
}

.hn-furniture-note--room-setup {
    background:
        linear-gradient(180deg, #030609, #07111d);
}

.hn-furniture-related__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.hn-furniture-related__grid a {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr) auto;
    gap: .9rem;
    align-items: center;
    min-height: 118px;
    overflow: hidden;
    padding: .9rem;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;
    background: rgba(255, 255, 255, .035);
    color: #f7f8fa;
    text-decoration: none;
}

.hn-furniture-related__grid img {
    width: 96px;
    height: 76px;
    object-fit: cover;
    filter: brightness(.72) contrast(1.08);
}

.hn-furniture-related__grid span,
.hn-furniture-related__grid strong,
.hn-furniture-related__grid small {
    display: block;
}

.hn-furniture-related__grid b {
    color: #ffc107;
    font-size: 1.4rem;
}

@media (max-width: 1100px) {
    .hn-furniture-types__grid,
    .hn-furniture-intake__grid,
    .hn-furniture-related__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hn-furniture-related__grid a {
        grid-template-columns: 88px minmax(0, 1fr) auto;
    }
}

@media (max-width: 760px) {
    .hn-furniture-bridge .hn-section__inner,
    .hn-furniture-scope__grid,
    .hn-furniture-note .hn-section__inner,
    .hn-furniture-factors__row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .hn-furniture-bridge,
    .hn-furniture-types,
    .hn-furniture-scope,
    .hn-furniture-intake,
    .hn-furniture-factors,
    .hn-furniture-note,
    .hn-furniture-related {
        padding-inline: 1rem;
    }

    .hn-furniture-types__grid,
    .hn-furniture-intake__grid,
    .hn-furniture-related__grid {
        grid-template-columns: 1fr;
    }
}

.hn-service-repair-hub,
.hn-service-scope,
.hn-problem-console,
.hn-service-audience {
    position: relative;
    overflow: hidden;
    padding: 92px 24px 108px;
    color: #f7f8fa;
    background: linear-gradient(180deg, #060b12, #030507);
}

.hn-service-audience {
    padding-block: clamp(6.5rem, 8vw, 8.5rem);
    background:
        linear-gradient(118deg, rgba(255, 193, 7, .055), transparent 28rem),
        linear-gradient(180deg, #060b12, #030507);
}

.hn-service-repair-hub::before,
.hn-service-scope::before,
.hn-problem-console::before,
.hn-service-audience::before {
    position: absolute;
    inset: 0;
    content: "";
    background-image:
        linear-gradient(rgba(255, 255, 255, .018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .016) 1px, transparent 1px);
    background-size: 84px 84px;
    opacity: .34;
    pointer-events: none;
}

.hn-service-repair-hub .hn-section__inner,
.hn-service-scope .hn-section__inner,
.hn-problem-console .hn-section__inner,
.hn-service-audience .hn-section__inner {
    position: relative;
    z-index: 1;
}

.hn-service-repair-hub .hn-section-intro,
.hn-problem-console .hn-section-intro,
.hn-service-audience .hn-section-intro {
    max-width: 920px;
    margin: 0 0 3rem;
    text-align: left;
}

.hn-service-audience .hn-section-intro {
    max-width: 1040px;
    margin-bottom: clamp(3rem, 5vw, 4.75rem);
}

.hn-service-repair-hub .hn-section-intro h2,
.hn-problem-console .hn-section-intro h2,
.hn-service-audience .hn-section-intro h2,
.hn-service-scope__intro h2 {
    margin: 0;
    color: #f7f8fa;
    font-family: var(--font-heading);
    font-size: clamp(2.8rem, 5vw, 5rem);
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
}

.hn-service-audience .hn-section-intro h2 {
    max-width: 940px;
    font-size: clamp(3rem, 5.6vw, 5.7rem);
    line-height: .98;
    text-wrap: balance;
}

.hn-service-repair-hub .hn-section-intro h2 span,
.hn-problem-console .hn-section-intro h2 span,
.hn-service-audience .hn-section-intro h2 span,
.hn-service-scope__intro h2 span {
    color: #ffc107;
}

.hn-service-repair-hub .hn-section-intro p,
.hn-problem-console .hn-section-intro p,
.hn-service-audience .hn-section-intro p,
.hn-service-scope__intro p {
    max-width: 760px;
    color: rgba(247, 248, 250, .72);
    font-size: 1.07rem;
    line-height: 1.6;
}

.hn-service-audience .hn-section-intro p {
    max-width: 720px;
    margin: 1.25rem 0 0;
    font-size: 1.12rem;
    line-height: 1.72;
}

.hn-service-repair-hub__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.hn-service-repair-hub__grid article,
.hn-service-repair-hub__grid a {
    min-width: 0;
}

.hn-service-repair-hub__grid a {
    display: block;
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 8px;
    background: #05090f;
    color: #f7f8fa;
    text-decoration: none;
    box-shadow: inset 0 -2px 0 rgba(255, 193, 7, .82), 0 20px 45px rgba(0, 0, 0, .28);
}

.hn-service-repair-hub__visual {
    display: block;
    aspect-ratio: 16 / 7;
    overflow: hidden;
}

.hn-service-repair-hub__visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.9) contrast(1.08) brightness(.76);
}

.hn-service-repair-hub__body {
    display: grid;
    gap: .8rem;
    padding: 1.25rem;
}

.hn-service-repair-hub__body small {
    color: #ffc107;
    font-family: var(--font-heading);
    font-weight: 700;
}

.hn-service-repair-hub__body strong {
    font-size: 1.35rem;
    line-height: 1.05;
}

.hn-service-repair-hub__body em {
    color: rgba(247, 248, 250, .68);
    font-style: normal;
    line-height: 1.5;
}

.hn-service-repair-hub__body b,
.hn-problem-console__rows a {
    color: #ffc107;
    font-family: var(--font-heading);
    font-weight: 700;
}

.hn-service-scope__intro {
    max-width: 1000px;
    margin-bottom: 3.5rem;
}

.hn-service-scope__intro p {
    margin: 1rem 0 0;
}

.hn-service-scope__rows {
    display: grid;
    gap: 2rem;
}

.hn-service-scope__rows article {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
    gap: 2rem;
    align-items: center;
    padding: 1.7rem;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 8px;
    background: rgba(255, 255, 255, .025);
}

.hn-service-scope__rows article:nth-child(even) {
    grid-template-columns: minmax(320px, .8fr) minmax(0, 1fr);
}

.hn-service-scope__rows article:nth-child(even) .hn-service-scope__copy {
    order: 2;
}

.hn-service-scope__copy {
    padding-left: 1.3rem;
    border-left: 2px solid rgba(255, 193, 7, .72);
}

.hn-service-scope__copy span,
.hn-problem-console__rows > article > span {
    color: #ffc107;
    font-family: var(--font-heading);
    font-size: 2.3rem;
    font-weight: 700;
    line-height: 1;
}

.hn-service-scope__copy h3 {
    margin-top: .9rem;
    font-size: 2rem;
}

.hn-service-scope__copy p {
    max-width: 660px;
    color: rgba(247, 248, 250, .74);
    line-height: 1.68;
}

.hn-service-scope__visual {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 8px;
}

.hn-service-scope__visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(.72) contrast(1.08);
}

.hn-problem-console__rows {
    display: grid;
    gap: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 193, 7, .35);
    border-radius: 8px;
    background: rgba(255, 255, 255, .025);
}

.hn-problem-console__rows article {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) auto;
    gap: 1.2rem;
    align-items: center;
    padding: 1.25rem 1.4rem;
}

.hn-problem-console__rows article + article {
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.hn-problem-console h3 {
    font-size: 1.45rem;
}

.hn-problem-console p {
    margin: .45rem 0 0;
    color: rgba(247, 248, 250, .68);
    line-height: 1.45;
}

.hn-problem-console__rows a {
    min-width: 190px;
    text-align: right;
    text-decoration: none;
}

.hn-service-audience__panel {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid rgba(255, 193, 7, .34);
    border-radius: 8px;
    background: rgba(255, 255, 255, .025);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .34);
}

.hn-service-audience__panel article {
    position: relative;
    min-height: clamp(460px, 34vw, 560px);
    overflow: hidden;
    isolation: isolate;
}

.hn-service-audience__panel article + article {
    border-left: 1px solid rgba(255, 193, 7, .32);
}

.hn-service-audience__panel img {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.86) contrast(1.1) brightness(.72);
    transform: scale(1.02);
}

.hn-service-audience__panel article::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    background:
        linear-gradient(180deg, rgba(3, 5, 7, .05) 0%, rgba(3, 5, 7, .28) 34%, rgba(3, 5, 7, .88) 100%),
        linear-gradient(90deg, rgba(3, 5, 7, .65), transparent 58%);
}

.hn-service-audience__panel article::after {
    position: absolute;
    z-index: -1;
    right: -3.5rem;
    bottom: -3.5rem;
    width: 12rem;
    height: 12rem;
    content: "";
    border: 1px solid rgba(255, 193, 7, .2);
    transform: rotate(45deg);
}

.hn-service-audience__panel article > div {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(1.4rem, 2.5vw, 2.2rem);
    background: linear-gradient(180deg, transparent 30%, rgba(3, 5, 7, .42) 58%, rgba(3, 5, 7, .9) 100%);
}

.hn-service-audience__panel article > div::before {
    display: block;
    width: 64px;
    height: 2px;
    margin-bottom: 1.2rem;
    content: "";
    background: #ffc107;
    box-shadow: 0 0 16px rgba(255, 193, 7, .32);
}

.hn-service-audience h3 {
    max-width: 12rem;
    font-size: clamp(1.75rem, 2.2vw, 2.25rem);
    line-height: 1;
    text-wrap: balance;
    text-shadow: 0 4px 18px rgba(0, 0, 0, .54);
}

.hn-service-audience p {
    max-width: 31rem;
    margin: .95rem 0 0;
    color: rgba(247, 248, 250, .72);
    font-size: 1.02rem;
    line-height: 1.64;
}

.hn-area-band {
    position: relative;
    overflow: hidden;
    padding: 72px 24px;
    color: #f7f8fa;
    background:
        radial-gradient(circle at 50% 35%, rgba(255, 193, 7, .06), transparent 34rem),
        linear-gradient(180deg, #03070b, #050a11);
}

.hn-area-band__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(390px, 1.12fr) minmax(260px, .72fr);
    gap: 30px;
    align-items: center;
    min-height: 570px;
    max-width: 1360px;
    margin: 0 auto;
    overflow: hidden;
    padding: 54px 48px;
    color: #f7f8fa;
    background:
        radial-gradient(circle at 51% 45%, rgba(255, 193, 7, .07), transparent 26rem),
        linear-gradient(115deg, rgba(7, 14, 24, .98), rgba(4, 9, 15, .98));
    clip-path: polygon(0 22px, 22px 0, calc(100% - 46px) 0, 100% 46px, 100% calc(100% - 22px), calc(100% - 22px) 100%, 38px 100%, 0 calc(100% - 38px));
    isolation: isolate;
    box-shadow: 0 34px 90px rgba(0, 0, 0, .5);
}

.hn-area-band__inner::before,
.hn-area-band__inner::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    pointer-events: none;
}

.hn-area-band__inner::before {
    border: 1px solid rgba(255, 193, 7, .38);
    clip-path: inherit;
}

.hn-area-band__inner::after {
    opacity: .42;
    background:
        linear-gradient(135deg, transparent 0 49.7%, rgba(255, 255, 255, .12) 50%, transparent 50.3%) 100% 0 / 340px 340px no-repeat,
        repeating-linear-gradient(90deg, transparent 0 91px, rgba(255, 255, 255, .028) 92px),
        repeating-linear-gradient(0deg, transparent 0 91px, rgba(255, 255, 255, .022) 92px);
}

.hn-area-band__copy,
.hn-area-band__coverage,
.hn-area-band__cta {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.hn-area-band__copy h2 {
    max-width: 430px;
    margin: 0;
    color: #f7f8fa;
    font-family: var(--font-heading);
    font-size: 3.75rem;
    font-weight: 700;
    line-height: .96;
    letter-spacing: 0;
    text-transform: none;
    text-wrap: balance;
    text-shadow: 0 4px 22px rgba(0, 0, 0, .52);
}

.hn-area-band__copy h2::after {
    display: block;
    width: 76px;
    height: 3px;
    margin-top: 24px;
    content: "";
    background: linear-gradient(90deg, #ffc107, #f79a1e);
    box-shadow: 0 0 16px rgba(255, 193, 7, .38);
}

.hn-area-band__copy p {
    max-width: 390px;
    margin: 22px 0 0;
    color: rgba(247, 248, 250, .7);
    font-size: 1.08rem;
    line-height: 1.55;
}

.hn-area-band__coverage {
    display: flex;
    min-height: 470px;
    align-items: flex-end;
    padding: 280px 0 14px;
}

.hn-area-band__network {
    position: absolute;
    z-index: -1;
    top: -36px;
    left: 50%;
    width: 118%;
    max-width: none;
    height: auto;
    opacity: .86;
    transform: translateX(-50%);
}

.hn-area-band__pin {
    position: absolute;
    top: -12px;
    left: 50%;
    width: 132px;
    height: auto;
    transform: translateX(-50%);
    filter: drop-shadow(0 0 18px rgba(255, 193, 7, .28));
}

.hn-area-band .hn-area-grid {
    position: relative;
    z-index: 2;
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 18px;
}

.hn-area-band .hn-area-grid a {
    display: flex;
    min-width: 0;
    min-height: 34px;
    align-items: center;
    gap: 8px;
    padding: 2px 0;
    border: 0;
    border-radius: 0;
    color: rgba(247, 248, 250, .85);
    background: transparent;
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: 0;
    text-decoration: none;
}

.hn-area-band .hn-area-grid a img {
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
    opacity: .82;
    transition: transform .2s ease, opacity .2s ease;
}

.hn-area-band .hn-area-grid a span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.hn-area-band .hn-area-grid a:hover,
.hn-area-band .hn-area-grid a:focus-visible,
.hn-area-band .hn-area-grid a.is-primary {
    color: #fff;
}

.hn-area-band .hn-area-grid a:hover img,
.hn-area-band .hn-area-grid a:focus-visible img {
    opacity: 1;
    transform: scale(1.14);
}

.hn-area-band .hn-area-grid a.is-primary {
    font-weight: 800;
}

.hn-area-band .hn-area-grid a.is-primary img {
    opacity: 1;
    filter: drop-shadow(0 0 7px rgba(255, 193, 7, .7));
}

.hn-area-hub {
    position: relative;
    overflow: hidden;
    padding: clamp(4.75rem, 7vw, 7rem) 1.5rem;
    color: #f7f8fa;
    background:
        radial-gradient(circle at 15% 18%, rgba(255, 188, 0, .08), transparent 24rem),
        linear-gradient(180deg, #05090f, #020507);
}

.hn-area-hub::before,
.hn-area-hub::after {
    position: absolute;
    z-index: 0;
    inset: 0;
    content: "";
    pointer-events: none;
}

.hn-area-hub::before {
    opacity: .24;
    background:
        linear-gradient(rgba(255, 255, 255, .024) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .02) 1px, transparent 1px);
    background-size: 78px 78px;
}

.hn-area-hub::after {
    opacity: .34;
}

.hn-area-hub--positioning {
    background:
        radial-gradient(circle at 78% 44%, rgba(255, 188, 0, .13), transparent 22rem),
        linear-gradient(120deg, rgba(3, 7, 12, .96) 0 56%, rgba(7, 16, 15, .98) 56% 100%),
        #04080d;
}

.hn-area-hub--positioning::before {
    opacity: .18;
    background:
        radial-gradient(circle at 77% 44%, transparent 0 14rem, rgba(255, 188, 0, .18) 14.15rem 14.3rem, transparent 14.45rem),
        linear-gradient(134deg, transparent 0 48%, rgba(255, 188, 0, .17) 48.15% 48.35%, transparent 48.5%),
        linear-gradient(rgba(255, 255, 255, .026) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .02) 1px, transparent 1px);
    background-size: auto, auto, 86px 86px, 86px 86px;
}

.hn-area-hub--positioning::after {
    top: 12%;
    right: -8rem;
    bottom: auto;
    left: auto;
    width: clamp(18rem, 31vw, 30rem);
    height: clamp(18rem, 31vw, 30rem);
    border: 1px solid rgba(255, 188, 0, .38);
    background:
        linear-gradient(145deg, rgba(255, 188, 0, .11), transparent 58%),
        rgba(255, 255, 255, .025);
    clip-path: polygon(50% 0, 92% 24%, 92% 76%, 50% 100%, 8% 76%, 8% 24%);
    transform: rotate(12deg);
}

.hn-area-hub .hn-section__inner {
    position: relative;
    z-index: 1;
    width: min(1240px, 100%);
}

.hn-area-hub h2,
.hn-area-hub h3 {
    color: #f7f8fa;
    font-family: var(--font-heading);
    letter-spacing: 0;
    text-transform: none;
}

.hn-area-hub p {
    color: rgba(247, 248, 250, .72);
    line-height: 1.62;
}

.hn-area-hub--positioning .hn-section__inner {
    display: grid;
    grid-template-columns: minmax(320px, .9fr) minmax(460px, 1.05fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
}

.hn-area-hub__copy h2 {
    max-width: 620px;
    margin: 0 0 1.4rem;
    font-size: clamp(3rem, 5vw, 5rem);
    line-height: 1;
}

.hn-area-hub__copy p {
    max-width: 640px;
    margin: 1rem 0 0;
}

.hn-area-hub__radar {
    position: relative;
    display: grid;
    min-height: 520px;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(255, 188, 0, .32);
    border-radius: 8px;
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 188, 0, .11), transparent 15rem),
        rgba(255, 255, 255, .025);
}

.hn-area-hub__network {
    position: absolute;
    width: 132%;
    max-width: none;
    opacity: .62;
}

.hn-area-hub__pin {
    position: relative;
    z-index: 2;
    width: 130px;
    filter: drop-shadow(0 0 18px rgba(255, 188, 0, .45));
}

.hn-area-hub__radar span {
    position: absolute;
    right: 2rem;
    bottom: 1.7rem;
    color: #ffbc00;
    font-family: var(--font-heading);
    font-size: 1.1rem;
    text-transform: uppercase;
}

.hn-area-hub__radar i {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ffbc00;
    box-shadow: 0 0 20px rgba(255, 188, 0, .8);
}

.hn-area-hub__radar i:nth-of-type(1) {
    top: 29%;
    left: 25%;
}

.hn-area-hub__radar i:nth-of-type(2) {
    top: 38%;
    right: 22%;
}

.hn-area-hub__radar i:nth-of-type(3) {
    right: 32%;
    bottom: 23%;
}

.hn-area-hub--directory {
    background:
        linear-gradient(180deg, rgba(2, 5, 9, .38), rgba(2, 5, 9, .94)),
        radial-gradient(circle at 12% 16%, rgba(255, 188, 0, .12), transparent 23rem),
        linear-gradient(135deg, #091019 0%, #04070d 54%, #06080a 100%);
}

.hn-area-hub--directory::before {
    opacity: .2;
    background:
        linear-gradient(90deg, rgba(255, 188, 0, .16), transparent 21%) top / 100% 1px no-repeat,
        linear-gradient(90deg, transparent 0 76%, rgba(255, 188, 0, .14) 76% 76.2%, transparent 76.4%),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .04) 0 1px, transparent 1px 46px);
}

.hn-area-hub--directory::after {
    top: auto;
    right: auto;
    bottom: -5rem;
    left: -7rem;
    width: clamp(24rem, 48vw, 46rem);
    height: clamp(12rem, 21vw, 20rem);
    border-top: 1px solid rgba(255, 188, 0, .35);
    border-right: 1px solid rgba(255, 188, 0, .2);
    background:
        linear-gradient(100deg, rgba(255, 188, 0, .12), rgba(255, 255, 255, .025) 52%, transparent);
    clip-path: polygon(0 0, 86% 0, 100% 100%, 12% 100%);
}

.hn-area-hub--coverage {
    background:
        linear-gradient(116deg, transparent 0 62%, rgba(255, 188, 0, .09) 62.2% 62.6%, transparent 62.8%),
        radial-gradient(circle at 24% 26%, rgba(255, 188, 0, .09), transparent 22rem),
        linear-gradient(180deg, #040807 0%, #07100d 48%, #030608 100%);
}

.hn-area-hub--coverage::before {
    opacity: .28;
    background:
        linear-gradient(90deg, transparent 0 8%, rgba(255, 188, 0, .26) 8% 8.25%, transparent 8.5%),
        linear-gradient(90deg, transparent 0 92%, rgba(255, 188, 0, .16) 92% 92.25%, transparent 92.5%),
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .026) 0 1px, transparent 1px 74px);
}

.hn-area-hub--coverage::after {
    top: 3.5rem;
    right: -4rem;
    bottom: auto;
    left: -4rem;
    height: clamp(5rem, 9vw, 8rem);
    border-top: 1px solid rgba(255, 188, 0, .22);
    border-bottom: 1px solid rgba(255, 188, 0, .18);
    background:
        linear-gradient(90deg, transparent 0 8%, rgba(255, 188, 0, .1) 8% 16%, transparent 16% 26%, rgba(255, 255, 255, .045) 26% 34%, transparent 34% 46%, rgba(255, 188, 0, .09) 46% 54%, transparent 54% 100%);
    clip-path: polygon(0 58%, 12% 24%, 24% 58%, 36% 24%, 48% 58%, 60% 24%, 72% 58%, 84% 24%, 100% 58%, 100% 100%, 0 100%);
}

.hn-area-hub--services {
    background:
        radial-gradient(circle at 80% 12%, rgba(255, 188, 0, .11), transparent 20rem),
        linear-gradient(90deg, rgba(255, 255, 255, .035), transparent 32%),
        linear-gradient(180deg, #070b10 0%, #040609 100%);
}

.hn-area-hub--services::before {
    opacity: .24;
    background:
        linear-gradient(90deg, transparent 0 18%, rgba(255, 188, 0, .14) 18% 18.25%, transparent 18.5%),
        linear-gradient(90deg, transparent 0 50%, rgba(255, 255, 255, .06) 50% 50.15%, transparent 50.3%),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .022) 0 1px, transparent 1px 92px);
}

.hn-area-hub--services::after {
    top: auto;
    right: -9rem;
    bottom: -5.5rem;
    left: auto;
    width: clamp(22rem, 38vw, 38rem);
    height: clamp(16rem, 25vw, 25rem);
    background:
        linear-gradient(135deg, rgba(255, 188, 0, .13), transparent 64%),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 4.5rem);
    clip-path: polygon(18% 0, 100% 0, 82% 100%, 0 100%);
    transform: skewX(-8deg);
}

.hn-area-hub--audiences {
    background:
        linear-gradient(100deg, rgba(255, 188, 0, .1), transparent 28%),
        radial-gradient(circle at 92% 72%, rgba(255, 188, 0, .08), transparent 21rem),
        linear-gradient(180deg, #080a08 0%, #030607 100%);
}

.hn-area-hub--audiences::before {
    opacity: .22;
    background:
        linear-gradient(180deg, rgba(255, 188, 0, .2), transparent 16%) left / 1px 100% no-repeat,
        linear-gradient(180deg, transparent 0 78%, rgba(255, 188, 0, .12) 78% 78.3%, transparent 78.6%),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .026) 0 1px, transparent 1px 64px);
}

.hn-area-hub--audiences::after {
    top: 50%;
    right: -2rem;
    bottom: auto;
    left: auto;
    width: clamp(14rem, 26vw, 25rem);
    height: clamp(18rem, 33vw, 31rem);
    background:
        linear-gradient(180deg, rgba(255, 188, 0, .16), transparent),
        repeating-linear-gradient(180deg, rgba(255, 255, 255, .045) 0 1px, transparent 1px 5.5rem);
    clip-path: polygon(0 0, 72% 0, 100% 12%, 72% 24%, 100% 36%, 72% 48%, 100% 60%, 72% 72%, 100% 84%, 72% 100%, 0 100%, 28% 84%, 0 72%, 28% 60%, 0 48%, 28% 36%, 0 24%, 28% 12%);
    transform: translateY(-50%);
}

.hn-area-hub--directory .hn-section-intro,
.hn-area-hub--services .hn-section-intro,
.hn-area-hub--coverage .hn-section-intro,
.hn-area-hub--audiences .hn-section-intro {
    display: grid;
    max-width: 920px;
    gap: 1rem;
    margin: 0 0 clamp(2.75rem, 5vw, 4rem);
    text-align: left;
}

.hn-area-hub--directory .hn-section-intro h2,
.hn-area-hub--services .hn-section-intro h2,
.hn-area-hub--coverage .hn-section-intro h2,
.hn-area-hub--audiences .hn-section-intro h2 {
    margin: 0;
    font-size: clamp(2.75rem, 4.4vw, 4.35rem);
    line-height: 1.04;
    text-wrap: balance;
}

.hn-area-hub--directory .hn-section-intro p,
.hn-area-hub--services .hn-section-intro p,
.hn-area-hub--coverage .hn-section-intro p,
.hn-area-hub--audiences .hn-section-intro p {
    max-width: 800px;
    margin: 0;
    line-height: 1.68;
}

.hn-area-directory {
    display: grid;
    grid-template-columns: minmax(340px, 1.05fr) repeat(2, minmax(230px, .65fr));
    gap: 1rem;
}

.hn-area-directory__card {
    position: relative;
    display: grid;
    min-height: 315px;
    align-content: end;
    padding: 1.5rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(5, 8, 13, .34), rgba(5, 8, 13, .96)),
        url("../../images/project-door-repair.webp") center / cover;
    box-shadow: inset 0 3px 0 rgba(255, 188, 0, .72), 0 24px 48px rgba(0, 0, 0, .3);
}

.hn-area-directory__card--primary {
    grid-row: span 2;
    min-height: 646px;
    background:
        linear-gradient(180deg, rgba(5, 8, 13, .18), rgba(5, 8, 13, .97)),
        url("../../images/project-fence-repair.webp") center / cover;
}

.hn-area-directory__card:nth-child(3) {
    background:
        linear-gradient(180deg, rgba(5, 8, 13, .34), rgba(5, 8, 13, .96)),
        url("../../images/project-cabinet-repair.webp") center / cover;
}

.hn-area-directory__card:nth-child(4) {
    background:
        linear-gradient(180deg, rgba(5, 8, 13, .34), rgba(5, 8, 13, .96)),
        url("../../images/project-deck-repair.webp") center / cover;
}

.hn-area-directory__coords {
    position: absolute;
    top: 1rem;
    right: 1rem;
    color: rgba(255, 188, 0, .72);
    font-family: var(--font-heading);
    font-size: .8rem;
    text-transform: uppercase;
}

.hn-area-directory__card h3 {
    margin: 0;
    font-size: clamp(2.2rem, 4vw, 3.8rem);
    line-height: .95;
}

.hn-area-directory__card small {
    color: #ffbc00;
    font-family: var(--font-heading);
    font-weight: 700;
}

.hn-area-directory__card p {
    margin: .8rem 0 1rem;
}

.hn-area-directory__card a {
    color: #ffbc00;
    font-family: var(--font-heading);
    text-decoration: none;
    text-transform: uppercase;
}

.hn-area-index {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 1rem;
}

.hn-area-index a {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 8px;
    color: #f7f8fa;
    background: rgba(255, 255, 255, .025);
    font-family: var(--font-heading);
    text-decoration: none;
    text-transform: uppercase;
}

.hn-area-index small {
    color: #ffbc00;
}

.hn-coverage-route {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
}

.hn-coverage-route::before {
    position: absolute;
    top: 35px;
    right: 4%;
    left: 4%;
    height: 2px;
    content: "";
    background: linear-gradient(90deg, rgba(255, 188, 0, .12), #ffbc00, rgba(255, 188, 0, .12));
}

.hn-coverage-route article {
    position: relative;
    padding: 5rem 1.1rem 1.25rem;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 8px;
    background: rgba(255, 255, 255, .028);
}

.hn-coverage-route span {
    position: absolute;
    top: 11px;
    left: 50%;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid #ffbc00;
    border-radius: 50%;
    background: #05090f;
    color: #ffbc00;
    font-family: var(--font-heading);
    transform: translateX(-50%);
}

.hn-coverage-route h3 {
    margin: 0 0 .5rem;
    font-size: 1.35rem;
}

.hn-area-hub__closing {
    max-width: 780px;
    margin: 2rem auto 0;
    text-align: center;
}

.hn-regional-services {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.hn-regional-services article {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 8px;
    background: rgba(255, 255, 255, .025);
}

.hn-regional-services img {
    width: 100%;
    height: 130px;
    object-fit: cover;
}

.hn-regional-services div {
    padding: 1.25rem;
}

.hn-regional-services span {
    color: #ffbc00;
    font-family: var(--font-heading);
}

.hn-regional-services h3 {
    margin: .55rem 0 .7rem;
    font-size: 1.6rem;
}

.hn-regional-services a,
.hn-area-hub__service-link {
    color: #ffbc00;
    font-family: var(--font-heading);
    text-decoration: none;
    text-transform: uppercase;
}

.hn-area-hub__service-link {
    margin-top: 2rem;
}

.hn-area-audience-panel {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid rgba(255, 188, 0, .32);
    border-radius: 8px;
    background:
        linear-gradient(100deg, rgba(255, 188, 0, .08), transparent 28%),
        rgba(255, 255, 255, .026);
}

.hn-area-audience-panel article {
    min-height: 260px;
    padding: 1.5rem;
}

.hn-area-audience-panel article + article {
    border-left: 1px solid rgba(255, 255, 255, .12);
}

.hn-area-audience-panel h3 {
    margin: 0 0 .8rem;
    font-size: 1.65rem;
}

.hn-area-hub--freeport {
    background:
        radial-gradient(circle at 72% 24%, rgba(255, 188, 0, .11), transparent 23rem),
        linear-gradient(90deg, rgba(255, 188, 0, .055), transparent 34%),
        linear-gradient(180deg, #05080d 0%, #090806 48%, #030609 100%);
}

.hn-area-hub--freeport::before {
    opacity: .2;
    background:
        linear-gradient(135deg, transparent 0 42%, rgba(255, 188, 0, .16) 42.15% 42.35%, transparent 42.5%),
        linear-gradient(90deg, rgba(255, 188, 0, .18), transparent 17%) top / 100% 1px no-repeat,
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .022) 0 1px, transparent 1px 82px);
}

.hn-area-hub--freeport::after {
    top: 7%;
    right: auto;
    bottom: auto;
    left: -5rem;
    width: clamp(13rem, 24vw, 23rem);
    height: clamp(15rem, 27vw, 26rem);
    border: 1px solid rgba(255, 188, 0, .28);
    background:
        linear-gradient(145deg, rgba(255, 188, 0, .12), transparent 58%),
        rgba(255, 255, 255, .025);
    clip-path: polygon(50% 0, 92% 24%, 92% 72%, 50% 100%, 8% 72%, 8% 24%);
    transform: rotate(-10deg);
}

.hn-area-freeport-card {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(420px, 1fr);
    gap: 2rem;
    align-items: center;
    padding: 2rem;
    border: 1px solid rgba(255, 188, 0, .34);
    border-radius: 8px;
    background: rgba(255, 255, 255, .026);
}

.hn-area-freeport-card h2 {
    margin: 0 0 1rem;
    font-size: clamp(2.8rem, 4.8vw, 4.8rem);
    line-height: 1;
}

.hn-area-freeport-card img {
    width: 100%;
    min-height: 430px;
    border-radius: 6px;
    object-fit: cover;
}

.hn-area-band__cta {
    display: flex;
    min-width: 0;
    min-height: 350px;
    flex-direction: column;
    justify-content: center;
    padding-left: 24px;
    padding-right: 6px;
    border-left: 1px solid rgba(247, 248, 250, .22);
}

.hn-area-band__phone-icon {
    width: 58px;
    height: 58px;
    margin-bottom: 22px;
    filter: drop-shadow(0 0 11px rgba(255, 193, 7, .25));
}

.hn-area-band__cta > strong {
    display: block;
    min-width: 0;
    max-width: 100%;
    color: #f7f8fa;
    font-family: var(--font-heading);
    font-size: clamp(1.35rem, 1.55vw, 1.85rem);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: 0;
    text-transform: none;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.hn-area-band__cta > span {
    margin-top: 14px;
    color: rgba(247, 248, 250, .66);
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 700;
    text-transform: uppercase;
}

.hn-area-band__phone {
    display: grid;
    width: 100%;
    max-width: 100%;
    min-height: 66px;
    grid-template-columns: 40px minmax(0, 1fr) 24px;
    gap: 10px;
    align-items: center;
    margin-top: 28px;
    padding: 8px 15px 8px 11px;
    border: 1px solid #ffc107;
    color: #07101d;
    background: linear-gradient(135deg, #f79a1e, #ffd02a);
    clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px), 0 10px);
    box-shadow: 0 0 0 6px rgba(255, 193, 7, .1), 0 15px 32px rgba(247, 154, 30, .22);
    text-decoration: none;
    transition: transform .2s ease, filter .2s ease;
}

.hn-area-band__phone:hover,
.hn-area-band__phone:focus-visible {
    color: #07101d;
    filter: brightness(1.08);
    transform: translateY(-3px);
}

.hn-area-band__phone img:first-child {
    width: 38px;
    height: 38px;
    padding: 7px;
    border-radius: 50%;
    background: #07101d;
}

.hn-area-band__phone img:last-child {
    width: 24px;
    height: 24px;
}

.hn-area-band__phone b {
    overflow-wrap: anywhere;
    font-family: var(--font-heading);
    font-size: clamp(.9rem, .95vw, 1.06rem);
    line-height: 1;
    letter-spacing: 0;
    white-space: normal;
}

.hn-area-band--about {
    padding-block: 68px;
}

.hn-area-band--about .hn-area-band__inner {
    grid-template-columns: minmax(310px, .72fr) minmax(520px, 1fr);
    min-height: 500px;
    gap: 42px;
    padding: 52px;
}

.hn-area-band--about .hn-area-band__copy h2 {
    max-width: 430px;
    font-size: clamp(3rem, 4.4vw, 4.25rem);
}

.hn-area-band--about .hn-area-band__copy p {
    max-width: 440px;
}

.hn-area-band--about .hn-area-band__all {
    position: relative;
    z-index: 1;
    margin-top: 28px;
}

.hn-area-band--about .hn-area-band__coverage {
    min-height: 410px;
    padding: 245px 0 10px;
}

.hn-area-band--about .hn-area-band__network {
    top: -58px;
    width: 105%;
}

.hn-area-band--about .hn-area-band__pin {
    top: -20px;
    width: 118px;
}

.hn-area-band--about .hn-area-grid {
    max-width: 560px;
    margin-inline: auto;
}

.hn-area-band--compact {
    padding-block: 58px;
}

.hn-area-band--compact .hn-area-band__inner {
    min-height: 0;
    grid-template-columns: 92px minmax(260px, .9fr) minmax(380px, 1.25fr) auto;
    gap: 24px;
    padding: 34px 38px;
}

.hn-area-band--compact .hn-area-band__mark {
    position: relative;
    z-index: 1;
    display: grid;
    width: 82px;
    height: 82px;
    place-items: center;
    border: 1px solid rgba(255, 193, 7, .7);
    border-radius: 50%;
    background: rgba(5, 9, 15, .72);
    box-shadow: 0 0 24px rgba(255, 193, 7, .08);
}

.hn-area-band--compact .hn-area-band__mark img {
    width: 54px;
    height: 54px;
}

.hn-area-band--compact .hn-area-band__copy h2 {
    max-width: 390px;
    font-size: clamp(2.1rem, 3vw, 3.05rem);
}

.hn-area-band--compact .hn-area-band__copy p {
    max-width: 440px;
    margin-top: 14px;
    font-size: .98rem;
}

.hn-area-band--compact .hn-area-grid {
    align-self: center;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hn-area-band--compact .hn-area-grid a {
    min-height: 42px;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 6px;
    background: rgba(255, 255, 255, .035);
}

.hn-area-band--compact .hn-area-band__all {
    position: relative;
    z-index: 1;
    justify-self: end;
    white-space: nowrap;
}

@media (max-width: 1280px) {
    .hn-area-band--about .hn-area-band__inner {
        grid-template-columns: 1fr;
    }

    .hn-area-band--about .hn-area-band__coverage {
        min-height: 470px;
        padding-top: 260px;
    }

    .hn-area-band--compact .hn-area-band__inner {
        grid-template-columns: 82px minmax(0, 1fr);
    }

    .hn-area-band--compact .hn-area-grid,
    .hn-area-band--compact .hn-area-band__all {
        grid-column: 1 / -1;
    }

    .hn-area-band--compact .hn-area-band__all {
        justify-self: start;
    }

    .hn-area-band__inner {
        grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
    }

    .hn-area-band__cta {
        min-height: 0;
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 58px minmax(180px, 1fr) auto;
        align-items: center;
        gap: 20px;
        padding: 28px 0 0;
        border-top: 1px solid rgba(247, 248, 250, .2);
        border-left: 0;
    }

    .hn-area-band__phone-icon,
    .hn-area-band__cta > span {
        margin: 0;
    }

    .hn-area-band__cta > span {
        grid-column: 2;
        margin-top: -20px;
    }

    .hn-area-band__phone {
        grid-column: 3;
        grid-row: 1 / span 2;
        margin: 0;
    }
}

@media (max-width: 1600px) {
    .hn-area-band:not(.hn-area-band--about):not(.hn-area-band--compact) .hn-area-band__inner {
        grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
    }

    .hn-area-band:not(.hn-area-band--about):not(.hn-area-band--compact) .hn-area-band__cta {
        min-height: 0;
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 58px minmax(180px, 1fr) minmax(220px, auto);
        align-items: center;
        gap: 20px;
        padding: 28px 0 0;
        border-top: 1px solid rgba(247, 248, 250, .2);
        border-left: 0;
    }

    .hn-area-band:not(.hn-area-band--about):not(.hn-area-band--compact) .hn-area-band__phone-icon,
    .hn-area-band:not(.hn-area-band--about):not(.hn-area-band--compact) .hn-area-band__cta > span {
        margin: 0;
    }

    .hn-area-band:not(.hn-area-band--about):not(.hn-area-band--compact) .hn-area-band__cta > span {
        grid-column: 2;
        margin-top: -20px;
    }

    .hn-area-band:not(.hn-area-band--about):not(.hn-area-band--compact) .hn-area-band__phone {
        grid-column: 3;
        grid-row: 1 / span 2;
        max-width: 300px;
        margin: 0;
    }
}

@media (max-width: 820px) {
    .hn-category-modules__grid,
    .hn-service-repair-hub__grid,
    .hn-service-scope__rows article,
    .hn-service-scope__rows article:nth-child(even),
    .hn-service-audience__panel,
    .hn-area-hub--positioning .hn-section__inner,
    .hn-area-directory,
    .hn-regional-services,
    .hn-area-freeport-card {
        grid-template-columns: 1fr;
    }

    .hn-area-directory__card--primary {
        min-height: 430px;
    }

    .hn-area-index {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hn-coverage-route {
        grid-template-columns: 1fr;
    }

    .hn-coverage-route::before {
        top: 0;
        bottom: 0;
        left: 24px;
        width: 2px;
        height: auto;
        background: linear-gradient(rgba(255, 188, 0, .12), #ffbc00, rgba(255, 188, 0, .12));
    }

    .hn-coverage-route article {
        padding: 1.25rem 1.25rem 1.25rem 5.25rem;
    }

    .hn-coverage-route span {
        top: 1.25rem;
        left: 0;
        transform: none;
    }

    .hn-area-audience-panel {
        grid-template-columns: 1fr 1fr;
    }

    .hn-area-audience-panel article:nth-child(odd) {
        border-left: 0;
    }

    .hn-area-audience-panel article:nth-child(n + 3) {
        border-top: 1px solid rgba(255, 255, 255, .12);
    }

    .hn-area-hub__radar,
    .hn-area-freeport-card img {
        min-height: 360px;
    }

    .hn-service-scope__rows article:nth-child(even) .hn-service-scope__copy {
        order: 0;
    }

    .hn-service-audience__panel article + article {
        border-top: 1px solid rgba(255, 193, 7, .32);
        border-left: 0;
    }

    .hn-service-audience__panel article {
        min-height: 360px;
    }

    .hn-service-audience .hn-section-intro h2 {
        font-size: clamp(2.6rem, 11vw, 4rem);
    }

    .hn-problem-console__rows article {
        grid-template-columns: 54px minmax(0, 1fr);
    }

    .hn-problem-console__rows a {
        grid-column: 2;
        min-width: 0;
        text-align: left;
    }

    .hn-area-band {
        padding: 52px 16px;
    }

    .hn-area-band__inner {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 44px 30px;
    }

    .hn-area-band__copy h2 {
        max-width: 560px;
        font-size: 3.35rem;
    }

    .hn-area-band__coverage {
        display: block;
        min-height: 0;
        padding: 230px 0 0;
    }

    .hn-area-band .hn-area-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 12px;
    }

    .hn-area-band .hn-area-grid a {
        min-height: 42px;
    }

    .hn-area-band__cta {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        grid-column: auto;
        padding: 26px 0 0;
        border-top: 1px solid rgba(247, 248, 250, .2);
        border-left: 0;
    }

    .hn-area-band__phone-icon,
    .hn-area-band__cta > span {
        margin: 0;
    }

    .hn-area-band__phone {
        width: 100%;
        max-width: 320px;
        margin-top: 8px;
    }
}

@media (max-width: 620px) {
    .hn-category-modules,
    .hn-service-repair-hub,
    .hn-service-scope,
    .hn-problem-console,
    .hn-service-audience,
    .hn-area-hub {
        padding-inline: 16px;
        padding-block: 68px 76px;
    }

    .hn-area-index,
    .hn-area-audience-panel {
        grid-template-columns: 1fr;
    }

    .hn-area-audience-panel article + article {
        border-top: 1px solid rgba(255, 255, 255, .12);
        border-left: 0;
    }

    .hn-area-directory__card,
    .hn-area-directory__card--primary {
        min-height: 360px;
    }

    .hn-area-freeport-card {
        padding: 1.1rem;
    }

    .hn-category-modules__grid article {
        min-height: 0;
    }

    .hn-service-scope__rows article {
        padding: 1.15rem;
    }

    .hn-service-scope__copy {
        padding-left: 1rem;
    }

    .hn-area-band--about {
        padding-block: 52px;
    }

    .hn-area-band--about .hn-area-band__inner {
        padding: 38px 22px;
    }

    .hn-area-band--about .hn-area-band__coverage {
        min-height: 560px;
        padding-top: 275px;
    }

    .hn-area-band--about .hn-area-band__network {
        top: -5px;
        width: 180%;
    }

    .hn-area-band--about .hn-area-band__pin {
        top: 22px;
        width: 108px;
    }

    .hn-area-band--compact .hn-area-band__inner {
        grid-template-columns: 1fr;
    }

    .hn-area-band--compact .hn-area-band__mark {
        width: 72px;
        height: 72px;
    }

    .hn-area-band--compact .hn-area-grid {
        grid-template-columns: 1fr 1fr;
    }

    .hn-area-band {
        padding: 48px 12px;
    }

    .hn-area-band__inner {
        min-height: 0;
        gap: 24px;
        padding: 34px 20px;
    }

    .hn-area-band__copy h2 {
        max-width: 100%;
        font-size: clamp(2.45rem, 11vw, 2.8rem);
        line-height: 1.02;
    }

    .hn-area-band__copy p {
        max-width: 100%;
        font-size: 1rem;
    }

    .hn-area-band__coverage {
        display: block;
        min-height: 0;
        padding: 178px 0 0;
    }

    .hn-area-band__network {
        top: -18px;
        width: 165%;
        opacity: .58;
    }

    .hn-area-band__pin {
        top: 18px;
        width: 96px;
    }

    .hn-area-band .hn-area-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .hn-area-band .hn-area-grid a {
        min-height: 44px;
        padding: 9px 12px;
        border: 1px solid rgba(247, 248, 250, .13);
        border-radius: 6px;
        background: rgba(247, 248, 250, .035);
        font-size: 1rem;
    }

    .hn-area-band__cta {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding-top: 30px;
    }

    .hn-area-band__phone-icon {
        width: 48px;
        height: 48px;
        margin: 0;
    }

    .hn-area-band__cta > strong {
        max-width: 18rem;
        font-size: 1.45rem;
    }

    .hn-area-band__cta > span {
        margin: -8px 0 0;
    }

    .hn-area-band__phone {
        width: 100%;
        max-width: 320px;
        margin-top: 8px;
    }
}

@media (max-width: 390px) {
    .hn-area-band__copy h2 {
        font-size: 2.45rem;
    }

    .hn-area-band__phone b {
        font-size: 1.08rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hn-area-band *,
    .hn-area-band *::before,
    .hn-area-band *::after {
        transition: none !important;
    }
}
