/* Orange Job high-income visual system — vivid, editorial and mobile-first. */
:root {
    --orange: #f05a00;
    --orange-dark: #c93e00;
    --orange-soft: #fff0dd;
    --pink: #eb1768;
    --pink-dark: #b9004b;
    --pink-soft: #fff0f6;
    --gold: #ffc928;
    --gold-soft: #fff8d5;
    --plum: #321225;
    --plum-soft: #58213f;
    --ink: #29131f;
    --ink-soft: #503542;
    --muted: #715864;
    --cream: #fff9f4;
    --sand: #f9ebe8;
    --line: #edcfd7;
    --green: #08745f;
    --shadow-sm: 0 10px 24px rgba(77, 15, 45, .11);
    --shadow-md: 0 22px 58px rgba(77, 15, 45, .17);
}

html { scroll-behavior: smooth; }

body {
    color: var(--ink);
    background: #fffdfc;
    font-family: "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-weight: 500;
}

h1, h2, h3, strong, b { font-feature-settings: "palt"; }

::selection { color: #fff; background: var(--pink-dark); }

.section { position: relative; }
.section--soft { background: #fff6f7; }
.section--tint {
    background-color: #fff7ef;
    background-image: radial-gradient(rgba(235, 23, 104, .09) 1.4px, transparent 1.4px);
    background-size: 18px 18px;
}

.section-heading h2 {
    color: var(--plum);
    font-weight: 950;
    line-height: 1.25;
}

.section-heading h2::after {
    display: block;
    width: 82px;
    height: 6px;
    margin-top: 13px;
    background: linear-gradient(90deg, var(--pink) 0 55%, var(--gold) 55%);
    border-radius: 99px;
    content: "";
}

.section-heading--center h2::after { margin-inline: auto; }

.section-label,
.home-kicker,
.eyebrow {
    color: var(--pink-dark);
    font-weight: 950;
    letter-spacing: .09em;
}

.section-label::before {
    margin-right: 7px;
    color: var(--gold);
    content: "◆";
    text-shadow: 1px 1px 0 var(--pink-dark);
}

.section-label--light { color: #fff1a5; }

.button {
    position: relative;
    overflow: hidden;
    border-width: 2px;
    border-radius: 12px;
    font-weight: 950;
    letter-spacing: .01em;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.button:hover { transform: translateY(-2px); }

.button--primary {
    color: #fff;
    background: linear-gradient(135deg, var(--pink-dark), #e03800);
    border-color: var(--pink-dark);
    box-shadow: 0 8px 0 #7d1236, 0 14px 25px rgba(185, 0, 75, .22);
}

.button--primary::after {
    position: absolute;
    top: -70%;
    left: -35%;
    width: 28%;
    height: 240%;
    background: rgba(255,255,255,.22);
    content: "";
    transform: rotate(25deg);
    transition: left .35s ease;
}

.button--primary:hover {
    color: #fff;
    background: linear-gradient(135deg, #d40058, #f15b00);
    box-shadow: 0 6px 0 #7d1236, 0 12px 26px rgba(185, 0, 75, .28);
    filter: saturate(1.12);
}

.button--primary:hover::after { left: 115%; }

.button--outline {
    color: var(--pink-dark);
    background: #fff;
    border-color: var(--pink);
}

.button--outline:hover { color: #fff; background: var(--pink-dark); border-color: var(--pink-dark); }

.button--ghost { color: var(--plum); background: #fff7fa; border-color: #e8b6c9; }

.text-link { color: var(--pink-dark); font-weight: 950; }
.text-link span { color: var(--orange); }

/* Utility bars and header */
.age-notice {
    color: #fff;
    background: var(--plum);
    border-top: 4px solid transparent;
    border-image: linear-gradient(90deg, var(--pink), var(--gold), var(--orange)) 1;
}

.age-notice a { color: #ffe96f; }

.site-promo {
    color: #fff;
    background: linear-gradient(90deg, #c50050, var(--pink), #e84e00);
    border-bottom: 1px solid rgba(255,255,255,.34);
}

.site-promo__inner {
    display: flex;
    min-height: 38px;
    align-items: center;
    gap: 0;
    overflow-x: auto;
    scrollbar-width: none;
    white-space: nowrap;
}

.site-promo__inner::-webkit-scrollbar { display: none; }

.site-promo strong,
.site-promo a {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    padding: 6px 17px;
    font-size: 14px;
    font-weight: 900;
}

.site-promo strong { color: var(--plum); background: var(--gold); }
.site-promo strong span { margin-right: 5px; color: var(--pink-dark); }
.site-promo a { color: #fff; border-right: 1px solid rgba(255,255,255,.28); }
.site-promo a:hover { color: var(--plum); background: #fff19a; }

.site-header {
    background: rgba(255,255,255,.985);
    border-bottom: 3px solid transparent;
    border-image: linear-gradient(90deg, var(--pink), var(--gold), var(--orange)) 1;
    box-shadow: 0 6px 22px rgba(63, 12, 38, .10);
}

.site-header__inner { min-height: 82px; }
.brand img { width: 218px; height: auto; }

.site-nav > a {
    position: relative;
    color: var(--plum);
    font-size: 15px;
    font-weight: 900;
}

.site-nav > a:not(.nav-favorite):hover,
.site-nav > a.is-active {
    color: var(--pink-dark);
    background: var(--pink-soft);
}

.site-nav > a.is-active::after {
    position: absolute;
    right: 14px;
    bottom: 3px;
    left: 14px;
    height: 3px;
    background: linear-gradient(90deg, var(--pink), var(--orange));
    border-radius: 9px;
    content: "";
}

.site-nav .nav-favorite {
    color: #fff;
    background: linear-gradient(135deg, var(--pink-dark), var(--orange-dark));
    border: 0;
    box-shadow: 0 5px 14px rgba(185,0,75,.22);
}

.site-nav .nav-favorite b { color: var(--plum); background: var(--gold); }

/* Homepage hero */
.home-hero {
    position: relative;
    overflow: hidden;
    padding-top: 52px;
    background:
        radial-gradient(circle at 78% 25%, rgba(255,255,255,.95) 0 5%, transparent 5.2%),
        radial-gradient(circle at 82% 31%, rgba(255,201,40,.55) 0 1.4%, transparent 1.6%),
        linear-gradient(120deg, #fff4e4 0 42%, #ffe3ed 74%, #ffd6a2 100%);
    border-bottom: 0;
}

.home-hero::before {
    position: absolute;
    top: -120px;
    right: -80px;
    width: 520px;
    height: 520px;
    background: repeating-conic-gradient(from 0deg, rgba(255,255,255,.38) 0 8deg, transparent 8deg 16deg);
    border-radius: 50%;
    content: "";
}

.home-hero::after {
    position: absolute;
    top: 58px;
    left: 50%;
    width: 150px;
    height: 22px;
    background: linear-gradient(90deg, var(--pink), var(--orange));
    clip-path: polygon(0 25%, 86% 25%, 100% 50%, 86% 75%, 0 75%, 8% 50%);
    content: "";
    opacity: .18;
    transform: rotate(-17deg);
}

.home-hero__inner { position: relative; z-index: 2; gap: 66px; grid-template-columns: minmax(0,1.25fr) 360px; }
.home-hero__copy { padding: 10px 0 15px; }
.home-hero__photo {
    position: absolute;
    z-index: -1;
    top: 16px;
    right: 0;
    width: min(49vw, 620px);
    height: calc(100% - 16px);
    margin: 0;
    overflow: hidden;
    border-radius: 45% 0 0 12%;
    opacity: .26;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, rgba(0,0,0,.2) 13%, #000 43%);
    mask-image: linear-gradient(90deg, transparent 0, rgba(0,0,0,.2) 13%, #000 43%);
}
.home-hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
.home-hero__photo figcaption { position: absolute; right: 13px; bottom: 7px; padding: 2px 7px; color: var(--plum); background: rgba(255,255,255,.8); border-radius: 4px; font-size: 11px; }

.home-kicker {
    display: inline-flex;
    align-items: center;
    margin-bottom: 14px;
    padding: 7px 14px 7px 8px;
    color: #fff;
    background: var(--plum);
    border: 2px solid #fff;
    border-radius: 999px;
    box-shadow: 0 0 0 3px var(--pink);
    font-size: 15px;
}

.home-kicker span {
    margin-right: 8px;
    padding: 2px 9px;
    color: var(--plum);
    background: var(--gold);
    border-radius: 99px;
}

.home-hero__copy h1 {
    max-width: 820px;
    margin-bottom: 21px;
    color: var(--plum);
    font-size: clamp(46px, 5.35vw, 74px);
    font-weight: 950;
    letter-spacing: -.055em;
    line-height: 1.08;
    text-shadow: 0 3px 0 #fff;
}

.home-hero__copy h1 .home-hero__small {
    color: var(--plum);
    font-size: .62em;
    letter-spacing: -.02em;
}

.home-hero__copy h1 em {
    position: relative;
    z-index: 0;
    color: var(--pink-dark);
    font-style: normal;
}

.home-hero__copy h1 em::after {
    position: absolute;
    z-index: -1;
    right: -5px;
    bottom: 2px;
    left: -5px;
    height: 24%;
    background: var(--gold);
    content: "";
    transform: skewX(-9deg);
}

.home-hero__copy h1 .home-hero__income,
.home-hero__copy h1 .home-hero__action { color: #d33a00; }
.home-hero__action { margin-left: .12em; }

.home-hero__copy > p:not(.home-kicker) {
    max-width: 760px;
    color: var(--ink-soft);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.85;
}

.home-proof { gap: 10px; }
.home-proof li {
    padding: 7px 12px 7px 34px;
    color: var(--plum);
    background: rgba(255,255,255,.84);
    border: 1px solid #efb2c9;
    border-radius: 8px;
    font-size: 14px;
    box-shadow: 0 4px 10px rgba(77,15,45,.06);
}
.home-proof li::before { top: 7px; left: 12px; color: var(--pink-dark); }

.home-hero__spotlight {
    position: relative;
    padding: 20px 21px 19px;
    background: #fff;
    border: 4px solid var(--plum);
    box-shadow: 12px 12px 0 rgba(235,23,104,.20), 0 20px 44px rgba(77,15,45,.16);
    transform: rotate(1.2deg);
}

.home-hero__spotlight::before {
    position: absolute;
    inset: 6px;
    border: 1px dashed #f4abc5;
    content: "";
    pointer-events: none;
}

.home-hero__spark {
    position: absolute;
    z-index: 2;
    top: -30px;
    right: -25px;
    display: grid;
    width: 76px;
    height: 76px;
    place-items: center;
    color: var(--plum);
    background: var(--gold);
    clip-path: polygon(50% 0, 61% 25%, 85% 15%, 75% 39%, 100% 50%, 75% 61%, 85% 85%, 61% 75%, 50% 100%, 39% 75%, 15% 85%, 25% 61%, 0 50%, 25% 39%, 15% 15%, 39% 25%);
    font-size: 26px;
    filter: drop-shadow(0 5px 0 rgba(77,15,45,.16));
}

.home-hero__spotlight > p {
    position: relative;
    z-index: 1;
    margin-bottom: 12px;
    color: var(--plum);
    font-size: 17px;
    font-weight: 950;
}

.home-hero__spotlight > p span {
    display: inline-block;
    margin-right: 6px;
    padding: 2px 8px;
    color: #fff;
    background: var(--pink-dark);
    transform: skewX(-7deg);
}

.home-hero__spotlight > a:not(.home-hero__spotlight-all) {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 70px;
    align-items: center;
    justify-content: space-between;
    padding: 10px 11px 10px 15px;
    color: var(--plum);
    background: linear-gradient(90deg, #fff7d1, #fff);
    border-top: 1px solid #f0d88c;
    font-size: 17px;
    font-weight: 950;
}

.home-hero__spotlight > a:not(.home-hero__spotlight-all):hover { background: var(--gold); }
.home-hero__spotlight a strong { color: var(--pink-dark); font-size: 31px; line-height: 1; }
.home-hero__spotlight a strong small { margin-left: 2px; color: var(--plum); font-size: 13px; }

.home-hero__spotlight-all {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    margin-top: 12px;
    color: #fff;
    background: var(--plum);
    font-size: 15px;
    font-weight: 950;
}

.home-hero__spotlight-all span { margin-left: 8px; color: var(--gold); }

/* Search block */
.home-search-card {
    z-index: 4;
    bottom: -52px;
    margin-top: -70px;
    padding: 0 26px 25px;
    border: 3px solid var(--plum);
    border-radius: 15px;
    box-shadow: 0 12px 0 rgba(235,23,104,.18), var(--shadow-md);
}

.home-search-card::before {
    display: block;
    height: 8px;
    margin: 0 -26px 18px;
    background: linear-gradient(90deg, var(--pink), var(--gold), var(--orange), var(--pink));
    border-radius: 11px 11px 0 0;
    content: "";
}

.home-search-card__head > div > span {
    display: inline-block;
    margin-bottom: 2px;
    color: var(--pink-dark);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .08em;
}

.home-search-card__head h2 { color: var(--plum); font-size: 26px; font-weight: 950; }
.home-search-card__head p { color: var(--plum); font-size: 15px; font-weight: 800; }
.home-search-card__head p strong { margin-right: 4px; color: var(--pink-dark); font-size: 28px; }

.search-panel__field,
.search-panel__feature-picker {
    background: #fffafb;
    border: 2px solid #dfb8c6;
    border-radius: 10px;
}

.search-panel__field label,
.search-panel__feature-picker > summary span { color: var(--pink-dark); font-weight: 950; }

.search-panel__field:focus-within,
.search-panel__feature-picker[open] {
    border-color: var(--pink);
    box-shadow: 0 0 0 4px rgba(235,23,104,.14);
}

.search-panel__submit { min-width: 168px; }

.quick-links { margin-top: 18px; }
.quick-links > span { color: var(--plum); }
.quick-links a {
    color: var(--pink-dark);
    background: var(--gold-soft);
    border: 1px solid #f0ce5f;
    border-radius: 99px;
}
.quick-links a::before { margin-right: 4px; color: var(--orange); content: "#"; }

/* High-impact shortcut and category navigation */
.home-shortcuts { padding-top: 88px; }
.shortcut-grid {
    overflow: visible;
    gap: 10px;
    background: transparent;
    border: 0;
}

.shortcut-grid > a {
    position: relative;
    min-height: 104px;
    background: #fff;
    border: 2px solid #efbfd0;
    border-radius: 10px;
    box-shadow: 0 6px 0 #f5d7e2;
}
.shortcut-grid > a + a { border-left: 2px solid #efbfd0; }
.shortcut-grid > a:hover { background: #fff6f9; border-color: var(--pink); transform: translateY(-3px); }
.shortcut-grid > a:nth-child(2) .shortcut-icon { background: linear-gradient(135deg, var(--orange), #ff9f00); }
.shortcut-grid > a:nth-child(3) .shortcut-icon { background: linear-gradient(135deg, #6b30a8, var(--pink)); }
.shortcut-grid > a:nth-child(4) .shortcut-icon { background: linear-gradient(135deg, var(--pink), var(--pink-dark)); }
.shortcut-icon { background: linear-gradient(135deg, var(--pink-dark), var(--orange)); border-radius: 50%; box-shadow: 0 4px 0 rgba(77,15,45,.16); }
.shortcut-icon img { width: 26px; height: 26px; }
.shortcut-grid b { color: var(--plum); font-size: 17px; font-weight: 950; }

.area-grid { gap: 16px; }
.area-grid a {
    overflow: hidden;
    min-height: 148px;
    background: #fff;
    border: 2px solid #efc8d5;
    border-radius: 12px;
    box-shadow: 0 7px 0 rgba(235,23,104,.08);
}
.area-grid a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 8px;
    background: linear-gradient(var(--pink), var(--orange));
    content: "";
}
.area-grid a:nth-child(2n)::before { background: linear-gradient(var(--orange), var(--gold)); }
.area-grid a:nth-child(3n)::before { background: linear-gradient(#7b3fc0, var(--pink)); }
.area-grid a:hover { border-color: var(--pink); box-shadow: 0 10px 0 rgba(235,23,104,.12); transform: translateY(-3px); }
.area-grid strong { color: var(--plum); font-size: 22px; font-weight: 950; }
.area-grid span { color: var(--pink-dark); font-size: 15px; }
.area-grid a > b { display: grid; width: 34px; height: 34px; place-items: center; color: #fff; background: var(--pink-dark); border-radius: 50%; }
.area-grid__icon {
    position: absolute;
    top: 14px;
    right: 16px;
    width: 48px;
    height: 48px;
    padding: 8px;
    background: linear-gradient(135deg, var(--pink), var(--orange));
    border-radius: 50%;
    box-shadow: 0 5px 0 rgba(185,0,75,.16);
}
.area-pick-section .area-grid a { padding-right: 80px; }
.area-pick-section .area-grid a > b { top: auto; right: 18px; bottom: 13px; transform: none; }

.need-grid a {
    position: relative;
    overflow: hidden;
    min-height: 68px;
    background: #fff;
    border: 2px solid #efc5d4;
    border-radius: 10px;
    box-shadow: 0 5px 0 #f6dfe7;
    font-size: 16px;
    font-weight: 900;
}
.need-grid a:hover { color: var(--pink-dark); background: var(--gold-soft); border-color: var(--pink); }
.need-grid span { display: grid; width: 27px; height: 27px; place-items: center; color: #fff; background: var(--pink-dark); border-radius: 50%; }
.need-grid span img { width: 21px; height: 21px; }

/* Original imagery: real people for warmth, HTML copy for accuracy. */
.visual-guide-section { overflow: hidden; background: linear-gradient(115deg, #fff3d9 0 45%, #ffe1ed 100%); }
.visual-guide { display: grid; align-items: center; gap: 58px; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); }
.visual-guide > figure {
    position: relative;
    margin: 0;
    overflow: hidden;
    border: 5px solid #fff;
    border-radius: 26px 82px 26px 82px;
    box-shadow: 16px 16px 0 rgba(235,23,104,.22), var(--shadow-md);
}
.visual-guide > figure::after { position: absolute; inset: 0; border: 2px solid rgba(255,201,40,.8); border-radius: inherit; content: ""; pointer-events: none; }
.visual-guide > figure img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.visual-guide figcaption,
.business-hero__visual small { position: absolute; right: 10px; bottom: 9px; padding: 3px 7px; color: var(--plum); background: rgba(255,255,255,.86); border-radius: 4px; font-size: 11px; }
.visual-guide h2 { color: var(--plum); font-size: clamp(32px,3.8vw,49px); font-weight: 950; line-height: 1.25; }
.visual-guide > div > p:not(.section-label) { color: var(--ink-soft); font-size: 17px; font-weight: 700; }
.visual-guide ul { display: grid; gap: 10px; margin: 23px 0 27px; padding: 0; list-style: none; }
.visual-guide li { display: flex; min-height: 68px; align-items: center; gap: 14px; padding: 9px 13px; background: rgba(255,255,255,.8); border: 2px solid #edbfd0; border-radius: 12px; box-shadow: 0 5px 0 rgba(235,23,104,.08); }
.visual-guide li > img { width: 47px; height: 47px; flex: 0 0 auto; padding: 7px; background: linear-gradient(135deg, var(--pink), var(--orange)); border-radius: 50%; }
.visual-guide li span { display: grid; gap: 1px; }
.visual-guide li b { color: var(--plum); font-size: 17px; }
.visual-guide li small { color: var(--muted); font-size: 14px; }

/* Job cards */
.job-grid { gap: 22px; }
.job-card {
    position: relative;
    overflow: hidden;
    padding: 22px;
    background: #fff;
    border: 2px solid #efbfd0;
    border-radius: 14px;
    box-shadow: 0 8px 0 #f8dce6, 0 14px 30px rgba(77,15,45,.08);
}
.job-card::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 7px;
    background: linear-gradient(90deg, var(--pink), var(--gold), var(--orange));
    content: "";
}
.job-card:hover { border-color: var(--pink); box-shadow: 0 10px 0 rgba(235,23,104,.16), 0 22px 38px rgba(77,15,45,.14); transform: translateY(-4px); }
.job-card__topline { margin-top: 4px; }
.source-badge { color: var(--green); background: #effaf7; border: 1px solid #a9dace; border-radius: 99px; font-weight: 900; }
.group-badge { border-radius: 6px; font-weight: 950; }
.group-badge--fuzoku { color: #fff; background: var(--pink-dark); }
.group-badge--av { color: #fff; background: #6331a4; }

.job-thumbnail {
    color: #fff;
    background: linear-gradient(145deg, var(--pink), var(--orange));
    border: 3px solid #fff;
    box-shadow: 0 0 0 2px var(--pink), 0 7px 14px rgba(185,0,75,.20);
}
.job-thumbnail--av { background: linear-gradient(145deg, #7a46c2, var(--pink)); box-shadow: 0 0 0 2px #7441b7, 0 7px 14px rgba(67,28,111,.20); }
.job-card__category { color: var(--pink-dark); font-weight: 950; }
.job-card h3 { color: var(--plum); font-weight: 950; line-height: 1.32; }
.job-card h3 a:hover { color: var(--pink-dark); }
.favorite-button { color: var(--pink-dark); background: var(--pink-soft); border: 2px solid #efabc4; }
.favorite-button:hover, .favorite-button.is-active { color: #fff; background: var(--pink-dark); border-color: var(--pink-dark); }

.job-card__salary {
    position: relative;
    overflow: hidden;
    margin: 17px 0 13px;
    padding: 13px 16px;
    background: linear-gradient(100deg, #fff7bf 0 55%, #ffe2ed 100%);
    border: 2px solid #f1c43c;
    border-radius: 10px;
}
.job-card__salary::after {
    position: absolute;
    top: -18px;
    right: -14px;
    width: 82px;
    height: 82px;
    background: repeating-conic-gradient(rgba(235,23,104,.12) 0 10deg, transparent 10deg 20deg);
    border-radius: 50%;
    content: "";
}
.job-card__salary span { position: relative; z-index: 1; color: var(--plum); font-weight: 900; }
.job-card__salary span b { margin-right: 6px; padding: 2px 7px; color: #fff; background: var(--pink-dark); border-radius: 4px; font-size: 12px; }
.job-card__salary strong { position: relative; z-index: 1; color: var(--pink-dark); font-size: 23px; font-weight: 950; }
.job-card__facts { border: 1px solid #efd5de; }
.job-card__facts dt { color: var(--pink-dark); font-weight: 900; }
.job-card__summary { color: var(--ink-soft); font-size: 15px; }
.tag-list span { color: var(--pink-dark); background: #fff2f6; border: 1px solid #efbfd0; font-weight: 850; }
.job-card__source-note { color: var(--muted); border-color: #efd5de; }
.job-card__source-note a { color: var(--pink-dark); }
.compare-button { color: var(--plum); background: var(--gold-soft); border: 2px solid #e8c342; font-weight: 950; }
.compare-button:hover, .compare-button.is-active { color: var(--plum); background: var(--gold); border-color: #c79d00; }
.job-card__actions .button { min-width: 210px; }

/* Job search/list */
.page-hero--jobs {
    position: relative;
    overflow: hidden;
    padding: 42px 0 38px;
    background: linear-gradient(115deg, var(--plum) 0 54%, #7d1749 100%);
    border-bottom: 8px solid var(--gold);
}
.page-hero--jobs::after {
    position: absolute;
    top: -140px;
    right: -60px;
    width: 460px;
    height: 460px;
    background: repeating-conic-gradient(rgba(255,255,255,.09) 0 9deg, transparent 9deg 18deg);
    border-radius: 50%;
    content: "";
}
.page-hero--jobs .container { position: relative; z-index: 1; }
.page-hero--jobs .breadcrumbs, .page-hero--jobs .breadcrumbs a { color: #f4dce7; }
.page-hero--jobs h1 { color: #fff; font-size: clamp(36px,4vw,54px); font-weight: 950; text-shadow: 3px 3px 0 rgba(0,0,0,.24); }
.page-hero--jobs p { max-width: 880px; color: #fceaf2; font-size: 17px; }
.page-hero--jobs .page-hero__hot {
    display: inline-block;
    margin: 10px 0 4px;
    padding: 5px 12px 5px 7px;
    color: var(--plum);
    background: var(--gold);
    font-size: 14px;
    font-weight: 950;
    transform: skewX(-5deg);
}
.page-hero__hot span { margin-right: 5px; padding: 2px 7px; color: #fff; background: var(--pink-dark); }
.jobs-search-strip { background: #fff4f7; border-bottom: 2px solid #efb9ce; }
.jobs-layout { align-items: start; }
.filter-sidebar { background: #fff; border: 2px solid #eabfd0; border-top: 7px solid var(--pink); box-shadow: var(--shadow-sm); }
.filter-sidebar__head h2 { color: var(--plum); font-weight: 950; }
.filter-sidebar__head a { color: var(--pink-dark); }
.filter-group label, .filter-group legend { color: var(--plum); font-weight: 900; }
.filter-group input, .filter-group select, .keyword-input { border-color: #dfb8c7; }
.filter-check-grid label { background: #fff8fa; border-color: #edc9d6; }
.filter-check-grid input { accent-color: var(--pink-dark); }
.filter-help { color: var(--plum); background: var(--gold-soft); border: 1px solid #e8ca5c; }
.filter-help b { color: var(--pink-dark); }
.active-filters { background: #fff5f8; border-color: #eeb8cc; }
.active-filters > span { color: #fff; background: var(--pink-dark); }
.active-filters a { color: var(--pink-dark); background: #fff; border-color: #e9bdd0; }
.results-count { color: var(--plum); font-weight: 900; }
.results-count strong { color: var(--pink-dark); font-size: 42px; font-weight: 950; text-shadow: 2px 2px 0 #ffd1e2; }
.results-count span { color: var(--pink-dark); }
.sort-form select { border: 2px solid #ddb5c5; }

/* Generic landing pages */
.page-hero:not(.page-hero--jobs) {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(110deg, rgba(255,246,211,.96), rgba(255,226,238,.96)),
        radial-gradient(var(--pink) 1px, transparent 1px);
    border-bottom: 7px solid var(--pink);
}
.page-hero:not(.page-hero--jobs)::after {
    position: absolute;
    top: -110px;
    right: 3%;
    width: 340px;
    height: 340px;
    background: repeating-conic-gradient(rgba(240,90,0,.10) 0 8deg, transparent 8deg 16deg);
    border-radius: 50%;
    content: "";
}
.page-hero:not(.page-hero--jobs) .container { position: relative; z-index: 1; }
.page-hero:not(.page-hero--jobs) h1 { color: var(--plum); font-weight: 950; text-shadow: 2px 2px 0 #fff; }
.page-hero:not(.page-hero--jobs) > .container > p:not(.section-label) { color: var(--ink-soft); font-weight: 700; }
.landing-hero-actions .button--primary { min-width: 280px; }
.landing-jobs { border-bottom: 4px solid var(--gold); }
.manifesto > div:first-child { background: linear-gradient(145deg, var(--plum), #6f1747); }
.manifesto > div:first-child h2, .manifesto > div:first-child p { color: #fff; }
.value-grid > div { border-top: 6px solid var(--pink); box-shadow: var(--shadow-sm); }
.value-grid > div:nth-child(2) { border-top-color: var(--orange); }
.value-grid > div:nth-child(3) { border-top-color: #6d3bb1; }
.value-grid > div > span { color: var(--plum); background: var(--gold); }

/* Job detail */
.detail-top {
    position: relative;
    overflow: hidden;
    background: linear-gradient(125deg, #fff5de 0 42%, #ffe2ed 100%);
    border-bottom: 7px solid var(--pink);
}
.detail-top::after {
    position: absolute;
    top: -150px;
    right: -60px;
    width: 430px;
    height: 430px;
    background: repeating-conic-gradient(rgba(235,23,104,.08) 0 9deg, transparent 9deg 18deg);
    border-radius: 50%;
    content: "";
}
.detail-top .container { position: relative; z-index: 1; }
.detail-source { color: var(--plum); background: rgba(255,255,255,.92); border: 1px solid #eabccd; box-shadow: var(--shadow-sm); }
.detail-heading { background: rgba(255,255,255,.82); border: 2px solid #eeb9cc; border-radius: 14px; box-shadow: 0 8px 0 rgba(235,23,104,.10); }
.detail-heading__hot { display: inline-block; margin: 0 0 5px; padding: 3px 9px; color: #fff !important; background: var(--pink-dark); font-size: 14px !important; font-weight: 950; transform: skewX(-6deg); }
.detail-heading h1 { color: var(--plum); font-weight: 950; }
.detail-trust-list li { color: var(--plum); background: #fff; border: 1px solid #eabccd; border-radius: 99px; font-weight: 850; }
.detail-trust-list li::before { color: var(--pink-dark); }
.detail-jump-nav { background: var(--plum); border: 0; }
.detail-jump-nav a { color: #fff; border-color: rgba(255,255,255,.18); font-weight: 900; }
.detail-jump-nav a:hover { color: var(--plum); background: var(--gold); }
.preview-warning { border-color: #e3b439; background: var(--gold-soft); }
.detail-highlight {
    position: relative;
    overflow: hidden;
    background: linear-gradient(110deg, #fff6b9 0 62%, #ffdce9 100%);
    border: 3px solid #e5b51b;
    box-shadow: 0 9px 0 rgba(232,184,28,.18);
}
.detail-highlight::after { position: absolute; top: -40px; right: -30px; width: 130px; height: 130px; background: repeating-conic-gradient(rgba(235,23,104,.13) 0 10deg, transparent 10deg 20deg); border-radius: 50%; content: ""; }
.detail-highlight > * { position: relative; z-index: 1; }
.detail-highlight span { color: var(--plum); font-weight: 950; }
.detail-highlight span b { margin-right: 7px; padding: 2px 8px; color: #fff; background: var(--pink-dark); }
.detail-highlight strong { color: var(--pink-dark); font-size: clamp(25px,3vw,39px); font-weight: 950; }
.detail-summary, .detail-block { border-color: #edc7d5; box-shadow: 0 8px 22px rgba(77,15,45,.06); }
.detail-summary h2, .detail-block h2 { color: var(--plum); font-weight: 950; }
.detail-block__head > span { color: var(--plum); background: var(--gold); box-shadow: 3px 3px 0 var(--pink); }
.detail-block--important { border-top: 7px solid var(--pink); }
.apply-card { overflow: hidden; border: 3px solid var(--pink); box-shadow: 0 10px 0 rgba(235,23,104,.15), var(--shadow-md); }
.apply-card::before { display: block; height: 9px; margin: -24px -24px 18px; background: linear-gradient(90deg, var(--pink), var(--gold), var(--orange)); content: ""; }
.apply-card h2 { color: var(--plum); font-weight: 950; }
.owner-action { background: var(--pink-soft); border: 2px solid #eeb9cc; }
.owner-action strong { color: var(--pink-dark); }
.detail-continuation { background: linear-gradient(120deg, #fff5db, #fff0f6); border: 2px solid #edbfd0; }
.mobile-apply { background: rgba(50,18,37,.97); border-top: 4px solid var(--gold); }

/* Editorial and business areas */
.editorial-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient(125deg, var(--plum) 0 58%, #7d1749 100%);
    border-block: 8px solid var(--gold);
}
.editorial-section::after { position: absolute; top: -220px; right: -100px; width: 520px; height: 520px; background: repeating-conic-gradient(rgba(255,255,255,.06) 0 9deg, transparent 9deg 18deg); border-radius: 50%; content: ""; }
.editorial-grid { position: relative; z-index: 1; }
.editorial-grid h2 { color: #fff; font-weight: 950; }
.editorial-grid li a:hover { padding-left: 12px; color: var(--gold); }

.business-cta--new { background: linear-gradient(105deg, #ffe4ed, #fff2ce); border-top: 7px solid var(--pink); }
.business-cta--new h2 { color: var(--plum); font-weight: 950; }

.business-hero--new {
    position: relative;
    overflow: hidden;
    background: linear-gradient(125deg, var(--plum) 0 52%, #8b164b 100%);
    border-bottom: 9px solid var(--gold);
}
.business-hero--new::after { position: absolute; top: -180px; right: -80px; width: 560px; height: 560px; background: repeating-conic-gradient(rgba(255,255,255,.08) 0 8deg, transparent 8deg 16deg); border-radius: 50%; content: ""; }
.business-hero--new .business-hero__inner { position: relative; z-index: 1; }
.business-hero--new .business-hero__inner { grid-template-columns: 1.1fr .9fr; }
.business-hero--new h1 { color: #fff; font-weight: 950; line-height: 1.16; text-shadow: 3px 3px 0 rgba(0,0,0,.25); }
.business-hero--new h1 span { color: var(--gold); }
.business-hero--new p { color: #f5dfe9; font-size: 17px; }
.business-hero__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }
.business-hero__chips span { padding: 6px 10px; color: var(--plum); background: var(--gold); border-radius: 5px; font-size: 14px; font-weight: 950; }
.business-hero__visual { position: relative; margin: 0; overflow: hidden; border: 5px solid #fff; border-radius: 22px 70px 22px 70px; box-shadow: 14px 14px 0 var(--gold); }
.business-hero__visual img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.business-hero__visual > span { position: absolute; top: 14px; left: 14px; padding: 6px 12px; color: #fff; background: var(--pink-dark); border: 3px solid var(--gold); font-size: 15px; font-weight: 950; transform: rotate(-3deg); }
.business-promise__badge { display: inline-block; margin-bottom: 12px; padding: 4px 12px; color: #fff; background: var(--pink-dark); font-size: 14px; font-weight: 950; transform: skewX(-6deg); }
.business-promise > strong { color: var(--plum); font-size: 24px; font-weight: 950; }
.business-promise p { color: var(--ink-soft); }
.business-promise li b { display: inline-block; min-width: 42px; margin-right: 6px; color: var(--pink-dark); font-size: 20px; }
.plan-card { border: 3px solid #eabccd; box-shadow: 0 10px 0 #f6d8e3; }
.plan-card__head span { color: var(--pink-dark); font-weight: 950; }
.plan-card__head h3 { color: var(--plum); font-weight: 950; }
.plan-card__head strong { color: var(--pink-dark); font-size: 58px; }
.plan-card--paid { border-color: var(--pink); box-shadow: 0 10px 0 rgba(235,23,104,.22), var(--shadow-md); }
.plan-card--paid::before { background: linear-gradient(90deg, var(--pink), var(--orange), var(--gold)); }
.plan-card__badge { color: var(--plum); background: var(--gold); }
.business-steps li { border: 2px solid #edc5d4; box-shadow: 0 6px 0 #f7dce6; }
.business-steps span { color: var(--plum); background: var(--gold); box-shadow: 3px 3px 0 var(--pink); }
.business-contact-strip { background: linear-gradient(90deg, var(--pink-dark), var(--orange-dark)); border-top: 7px solid var(--gold); }

/* Forms and supporting pages */
.business-request-hero, .form-hero { background: linear-gradient(110deg, #fff1d1, #ffe3ee); border-bottom: 7px solid var(--pink); }
.business-form { border: 2px solid #e9bfd0; box-shadow: var(--shadow-md); }
.business-form__section { border-color: #edced9; }
.business-form__section h2 { color: var(--plum); font-weight: 950; }
.business-form label { color: var(--plum); font-weight: 850; }
.business-form input, .business-form select, .business-form textarea { border: 2px solid #dcb6c5; background: #fffafb; }
.business-form input:focus, .business-form select:focus, .business-form textarea:focus { border-color: var(--pink); box-shadow: 0 0 0 4px rgba(235,23,104,.12); }
.business-form__banner-link { background: var(--gold-soft); border: 2px solid #e5c451; }
.banner-card { border: 2px solid #edbfd0; box-shadow: 0 6px 0 #f7dce6; }

/* Footer and persistent mobile tools */
.site-footer { background: var(--plum); border-top: 9px solid transparent; border-image: linear-gradient(90deg, var(--pink), var(--gold), var(--orange)) 1; }
.site-footer h2 { color: var(--gold); }
.site-footer a:hover { color: #ff9fc1; }
.footer-age { color: var(--plum); background: var(--gold); }
.mobile-nav { background: rgba(50,18,37,.98); border-top: 4px solid var(--gold); }
.mobile-nav a { color: #fff; }
.mobile-nav a[aria-current="page"] { color: var(--gold); }
.mobile-nav a span { color: #fff; background: linear-gradient(135deg, var(--pink), var(--orange)); }
.compare-bar { color: #fff; background: var(--plum); border-top: 4px solid var(--gold); }
.compare-bar strong { color: var(--gold); }
.toast { color: #fff; background: var(--pink-dark); }
.age-gate { border: 4px solid var(--pink); box-shadow: 0 16px 0 rgba(235,23,104,.18), 0 30px 70px rgba(50,18,37,.32); }
.age-gate__mark { color: var(--plum); background: var(--gold); box-shadow: 0 0 0 7px var(--pink-soft); }

@media (max-width: 1100px) {
    .home-hero__inner { gap: 34px; grid-template-columns: minmax(0,1fr) 320px; }
    .home-hero__copy h1 { font-size: clamp(45px,5.4vw,62px); }
    .site-nav > a { padding-inline: 10px; font-size: 14px; }
    .job-card__actions .button { min-width: 0; }
}

@media (max-width: 880px) {
    .site-promo__inner { width: 100%; padding-inline: 0; }
    .site-promo strong, .site-promo a { padding-inline: 14px; }
    .site-header__inner { min-height: 70px; }
    .home-hero { padding-top: 38px; }
    .home-hero__inner { grid-template-columns: 1fr; }
    .home-hero__copy { padding-bottom: 8px; }
    .home-hero__spotlight { display: grid; grid-template-columns: repeat(3,1fr); transform: none; }
    .home-hero__spotlight > p { grid-column: 1 / -1; }
    .home-hero__spotlight > a:not(.home-hero__spotlight-all) { display: grid; justify-content: center; text-align: center; border-top: 0; border-left: 1px solid #f0d88c; }
    .home-hero__spotlight > a:nth-of-type(1) { border-left: 0; }
    .home-hero__spotlight-all { grid-column: 1 / -1; }
    .home-hero__photo { top: 0; width: 58vw; opacity: .18; }
    .home-search-card { bottom: -42px; }
    .home-shortcuts { padding-top: 76px; }
    .page-hero--jobs { padding-block: 32px; }
    .detail-heading { padding: 17px; }
    .business-promise { box-shadow: 8px 8px 0 rgba(235,23,104,.3); }
    .visual-guide { gap: 34px; grid-template-columns: 1fr; }
    .visual-guide > figure { max-width: 640px; justify-self: center; }
    .business-hero--new .business-hero__inner { gap: 30px; grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    body { font-size: 16px; }
    .container { width: min(calc(100% - 28px), var(--container)); }
    .section { padding-block: 54px; }
    .section-heading { margin-bottom: 24px; }
    .section-heading h2 { font-size: 29px; }
    .section-heading h2::after { height: 5px; margin-top: 10px; }
    .age-notice__inner { justify-content: center; text-align: center; }
    .age-notice a { display: none; }
    .site-promo strong, .site-promo a { min-height: 36px; padding: 5px 12px; font-size: 13px; }
    .site-header__inner { min-height: 64px; }
    .brand img { width: 172px; }
    .menu-button { border: 2px solid #e9b4c8; background: var(--pink-soft); }

    .home-hero {
        padding-top: 28px;
        background: linear-gradient(145deg, #fff3de 0 47%, #ffe0ec 100%);
    }
    .home-hero::before { top: -75px; right: -160px; width: 360px; height: 360px; }
    .home-hero__photo { display: none; }
    .home-kicker { font-size: 14px; }
    .home-hero__copy h1 { margin-bottom: 16px; font-size: clamp(39px,11.2vw,48px); line-height: 1.09; }
    .home-hero__copy h1 .home-hero__small { font-size: .57em; }
    .home-hero__action { display: block; margin-left: 0; }
    .home-hero__copy > p:not(.home-kicker) { margin-bottom: 16px; font-size: 16px; line-height: 1.75; }
    .home-proof { display: grid; grid-template-columns: 1fr 1fr; }
    .home-proof li { padding: 7px 8px 7px 30px; font-size: 14px; }
    .home-proof li:last-child { grid-column: 1 / -1; }
    .home-hero__spotlight { display: none; }
    .home-hero__spark { top: -22px; right: -8px; width: 58px; height: 58px; font-size: 19px; }
    .home-hero__spotlight > p { margin-left: 4px; font-size: 15px; }
    .home-hero__spotlight > a:not(.home-hero__spotlight-all) { min-height: 66px; padding: 8px 4px; font-size: 13px; }
    .home-hero__spotlight a strong { font-size: 25px; }
    .home-search-card { bottom: -5px; padding: 0 14px 17px; border-width: 3px; box-shadow: 0 8px 0 rgba(235,23,104,.15), var(--shadow-md); }
    .home-search-card::before { margin: 0 -14px 13px; }
    .home-search-card__head { flex-direction: row; align-items: end; }
    .home-search-card__head h2 { font-size: 22px; line-height: 1.25; }
    .home-search-card__head p { white-space: nowrap; }
    .home-search-card__head p strong { font-size: 25px; }
    .search-panel__field, .search-panel__feature-picker { border-width: 2px; }
    .search-panel__submit { min-width: 0; }
    .quick-links { display: grid; grid-template-columns: auto repeat(2,1fr); }
    .quick-links > span { grid-column: 1 / -1; }
    .quick-links a { text-align: center; }
    .home-shortcuts { padding-top: 58px; }
    .shortcut-grid { gap: 8px; }
    .shortcut-grid > a { min-height: 92px; padding: 12px 10px; border-width: 2px; }
    .shortcut-grid > a + a { border-left-width: 2px; }
    .shortcut-grid b { font-size: 14px; }
    .shortcut-grid small { font-size: 13px; }
    .area-grid { gap: 12px; }
    .area-grid a { min-height: 112px; border-width: 2px; }
    .area-pick-section .area-grid a { padding-right: 78px; }
    .area-grid__icon { width: 44px; height: 44px; }
    .need-grid a { min-height: 62px; font-size: 15px; }
    .visual-guide-section { padding-top: 48px; }
    .visual-guide { gap: 34px; }
    .visual-guide > figure { border-width: 4px; border-radius: 20px 55px 20px 55px; box-shadow: 9px 9px 0 rgba(235,23,104,.2); }
    .visual-guide h2 { font-size: 30px; }
    .visual-guide > div > p:not(.section-label) { font-size: 16px; }
    .visual-guide li { min-height: 64px; }

    .job-card { padding: 17px 15px; border-width: 2px; box-shadow: 0 6px 0 #f7dce6; }
    .job-card__topline { gap: 5px; }
    .source-badge, .group-badge { font-size: 13px; }
    .job-thumbnail { border-width: 2px; }
    .job-card h3 { font-size: 20px; }
    .job-card__salary { padding: 11px 12px; }
    .job-card__salary strong { font-size: 21px; }
    .job-card__facts dt, .job-card__facts dd, .job-card__summary { font-size: 14px; }
    .job-card__actions { gap: 8px; }
    .job-card__actions .button { flex: 1; padding-inline: 10px; font-size: 14px; }
    .compare-button { min-width: 92px; }

    .page-hero--jobs { padding-block: 25px 29px; border-bottom-width: 6px; }
    .page-hero--jobs h1 { margin-top: 8px; font-size: 34px; line-height: 1.2; }
    .page-hero--jobs p { font-size: 15px; }
    .page-hero--jobs .page-hero__hot { margin-top: 4px; }
    .jobs-search-strip { padding-block: 13px; }
    .active-filters {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-bottom: 13px;
        padding-bottom: 3px;
        scrollbar-width: none;
        white-space: nowrap;
    }
    .active-filters::-webkit-scrollbar { display: none; }
    .active-filters > span,
    .active-filters a { flex: 0 0 auto; }
    .results-count strong { font-size: 36px; }
    .results-toolbar {
        align-items: center;
        flex-direction: row;
        gap: 10px;
        margin-bottom: 14px;
    }
    .results-toolbar > div { min-width: 0; }
    .results-note { line-height: 1.35; }
    .sort-form {
        width: auto;
        flex: 0 0 auto;
        align-items: flex-end;
        flex-direction: column;
        gap: 2px;
    }
    .sort-form select { min-width: 150px; }
    .filter-help { display: none; }

    .page-hero:not(.page-hero--jobs) { border-bottom-width: 6px; }
    .page-hero:not(.page-hero--jobs)::after { right: -180px; }
    .landing-hero-actions .button { width: 100%; min-width: 0; }
    .detail-top { border-bottom-width: 6px; }
    .detail-heading { border-width: 2px; box-shadow: 0 6px 0 rgba(235,23,104,.10); }
    .detail-heading__actions {
        display: grid;
        width: 100%;
        grid-column: 1 / -1;
        gap: 8px;
        grid-template-columns: 1fr 1fr;
    }
    .detail-heading__actions .compare-button--detail,
    .detail-heading__actions .favorite-button--detail {
        width: 100%;
        min-height: 48px;
        padding-inline: 10px;
        justify-content: center;
        white-space: nowrap;
    }
    .detail-heading__actions .compare-page-shortcut {
        min-height: 44px;
        justify-content: center;
        grid-column: 1 / -1;
    }
    .detail-trust-list { gap: 6px; }
    .detail-trust-list li { padding: 5px 9px; font-size: 14px; }
    .detail-highlight { border-width: 2px; box-shadow: 0 6px 0 rgba(232,184,28,.16); }
    .detail-highlight strong { font-size: 25px; }
    .apply-card { border-width: 2px; }
    .mobile-apply { border-top-width: 4px; }

    .editorial-section { border-block-width: 6px; }
    .business-cta--new { border-top-width: 6px; }
    .business-hero--new { border-bottom-width: 7px; }
    .business-hero--new .business-hero__inner { gap: 24px; }
    .business-hero--new h1 { font-size: 39px; }
    .business-hero--new p { font-size: 16px; }
    .business-hero__visual { margin-top: 4px; border-width: 4px; border-radius: 18px 48px 18px 48px; box-shadow: 8px 8px 0 var(--gold); }
    .plan-card { border-width: 2px; }
    .plan-card__head strong { font-size: 52px; }
    .business-form { border-width: 2px; }
    .contact-mail-form .business-form__header { padding: 18px 18px 14px; }
    .contact-mail-form .business-form__header h2 { font-size: 25px; }
    .contact-mail-form .form-section { padding-top: 20px; }
    .site-footer { border-top-width: 7px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .button, .job-card, .area-grid a, .shortcut-grid > a { transition: none; }
}

/* Release accessibility: utility and logo links keep a 44px touch target. */
.age-notice__inner { min-height: 44px; }
.age-notice a,
.site-promo strong,
.site-promo a,
.brand,
.home-news a:not(.home-news__all) {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
}

@media (max-width: 620px) {
    .age-notice a { display: none; }
    .site-promo strong,
    .site-promo a { min-height: 44px; }
}
