:root {
    --hh-events-ink: #171a18;
    --hh-events-muted: #666d68;
    --hh-events-green: #214d43;
    --hh-events-green-bright: #4f8b7d;
    --hh-events-coral: #f56546;
    --hh-events-yellow: #ffc12f;
    --hh-events-purple: #75649a;
    --hh-events-line: #e3e6e3;
    --hh-events-warm: #f7f3ec;
}

.hh-events-page,
.hh-events-page * { box-sizing: border-box; }
.hh-events-page { color: var(--hh-events-ink); background: #fff; }
.hh-events-page a { color: inherit; text-decoration: none; }

.hh-events-intro { padding: 92px 0 72px; background: #fff; }
.hh-events-intro__inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; }
.hh-events-intro__eyebrow,
.hh-events-section-head p { margin: 0 0 16px; color: var(--hh-events-green-bright); font-size: 12px; font-weight: 700; letter-spacing: .18em; }
.hh-events-intro h1 { margin: 0; color: var(--hh-events-ink); font-size: clamp(44px, 4.3vw, 68px); font-weight: 650; line-height: 1.08; letter-spacing: -.055em; }
.hh-events-intro__lead { width: min(420px, 42%); margin: 0 0 8px; color: #4e5550; font-size: 17px; font-weight: 450; line-height: 1.75; word-break: keep-all; }

.hh-events-feature { padding: 0 0 104px; }
.hh-events-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 32px; }
.hh-events-section-head p { margin-bottom: 10px; }
.hh-events-section-head h2 { margin: 0; font-size: 32px; font-weight: 640; line-height: 1.2; letter-spacing: -.045em; }
.hh-events-section-head > span { margin-bottom: 4px; color: var(--hh-events-muted); font-size: 15px; font-weight: 450; }

.hh-events-current-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; }
.hh-events-feature-card { display: flex; flex: 0 1 calc((100% - 48px) / 3); flex-direction: column; min-width: 0; max-width: 424px; overflow: hidden; border: 1px solid #e5ded5; border-radius: 22px; background: #fff; transition: transform .22s ease, box-shadow .22s ease; }
.hh-events-current-grid--1 .hh-events-feature-card { flex-basis: 424px; }
.hh-events-current-grid--2 .hh-events-feature-card { flex-basis: calc((100% - 24px) / 2); }
.hh-events-feature-card:hover { transform: translateY(-3px); box-shadow: 0 20px 46px rgba(26, 40, 34, .1); }
.hh-events-feature-card__visual { display: flex; align-items: center; justify-content: center; min-width: 0; aspect-ratio: 4 / 3; padding: 12px; overflow: hidden; background: #fbf7f0; }
.hh-events-feature-card__visual img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 14px; }
.hh-events-feature-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; min-width: 0; min-height: 242px; padding: 26px 28px 30px; background: var(--hh-events-green); color: #fff; }
.hh-events-status { display: inline-flex; align-items: center; justify-content: center; height: 29px; padding: 0 12px; border-radius: 999px; font-size: 12px; font-style: normal; font-weight: 650; line-height: 1; }
.hh-events-status--current { background: var(--hh-events-coral); color: #fff; }
.hh-events-status--upcoming { background: var(--hh-events-yellow); color: #2b281b; }
.hh-events-status--ended { background: #eceeed; color: #777d79; }
.hh-events-feature-card__meta { display: flex; align-items: center; gap: 10px; min-width: 0; }
.hh-events-feature-card__meta > small { color: rgba(255,255,255,.68); font-size: 12px; font-weight: 500; letter-spacing: .01em; }
.hh-events-feature-card__body > strong { display: block; margin-top: 15px; color: #fff; font-size: 24px; font-weight: 630; line-height: 1.34; letter-spacing: -.04em; word-break: keep-all; }
.hh-events-feature-card__body > em { display: -webkit-box; margin-top: 11px; overflow: hidden; color: rgba(255,255,255,.76); font-size: 14px; font-style: normal; font-weight: 420; line-height: 1.6; word-break: keep-all; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.hh-events-feature-card__body > b { display: flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 24px; padding-bottom: 6px; border-bottom: 1px solid rgba(255,255,255,.5); color: #fff; font-size: 13px; font-weight: 600; }
.hh-events-feature-card__body > b i { font-style: normal; transition: transform .2s ease; }
.hh-events-feature-card:hover .hh-events-feature-card__body > b i { transform: translateX(4px); }

.hh-events-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.hh-events-card { display: block; overflow: hidden; border: 1px solid var(--hh-events-line); border-radius: 22px; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.hh-events-card:hover { transform: translateY(-3px); box-shadow: 0 20px 44px rgba(26,40,34,.08); }
.hh-events-card__visual { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 10; overflow: hidden; background: #faf8f4; }
.hh-events-card__visual img { width: 100%; height: 100%; object-fit: contain; }
.hh-events-card__body { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 9px 12px; padding: 26px 28px 30px; }
.hh-events-card__body > small { color: #7b817d; font-size: 13px; }
.hh-events-card__body > strong,
.hh-events-card__body > em { grid-column: 1 / -1; }
.hh-events-card__body > strong { margin-top: 5px; font-size: 23px; font-weight: 630; line-height: 1.35; letter-spacing: -.035em; }
.hh-events-card__body > em { color: var(--hh-events-muted); font-size: 14px; font-style: normal; line-height: 1.6; }

.hh-events-benefits { padding: 108px 0 120px; background: #202925; }
.hh-events-section-head--light p { color: #78b2a4; }
.hh-events-section-head--light h2 { color: #fff; }
.hh-events-section-head--light > span { color: rgba(255,255,255,.58); }
.hh-events-benefit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.hh-events-benefit { position: relative; display: grid; grid-template-columns: 62px 1fr; gap: 22px; min-height: 250px; padding: 34px 36px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 22px; background: #fff; transition: transform .2s ease, border-color .2s ease; }
.hh-events-benefit:hover { transform: translateY(-3px); border-color: rgba(255,255,255,.3); }
.hh-events-benefit__number { position: absolute; top: 28px; right: 30px; color: rgba(23,26,24,.14); font-size: 40px; font-weight: 650; letter-spacing: -.06em; }
.hh-events-benefit__icon { display: flex; align-items: center; justify-content: center; width: 62px; height: 62px; border-radius: 50%; }
.hh-events-benefit__icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.hh-events-benefit--join .hh-events-benefit__icon { background: #e8f3ef; color: var(--hh-events-green); }
.hh-events-benefit--coupon .hh-events-benefit__icon { background: #fce7e0; color: #cf583e; }
.hh-events-benefit--refund .hh-events-benefit__icon { background: #eeeaf7; color: var(--hh-events-purple); }
.hh-events-benefit--kakao .hh-events-benefit__icon { background: #fff3c8; color: #594c1a; }
.hh-events-benefit__copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding-top: 4px; }
.hh-events-benefit__copy small { color: var(--hh-events-green-bright); font-size: 11px; font-weight: 700; letter-spacing: .15em; }
.hh-events-benefit__copy strong { display: block; margin-top: 12px; padding-right: 48px; font-size: 24px; font-weight: 630; line-height: 1.35; letter-spacing: -.04em; word-break: keep-all; }
.hh-events-benefit__copy em { display: block; margin-top: 12px; color: #616763; font-size: 14px; font-style: normal; line-height: 1.65; word-break: keep-all; }
.hh-events-benefit__copy b { display: inline-flex; align-items: center; gap: 9px; margin-top: auto; padding-top: 24px; color: #343a36; font-size: 13px; font-weight: 600; }
.hh-events-benefit__copy b i { font-style: normal; transition: transform .2s ease; }
.hh-events-benefit:hover .hh-events-benefit__copy b i { transform: translateX(4px); }

.hh-events-ended { padding: 90px 0 20px; }
.hh-events-ended details { border-top: 1px solid var(--hh-events-line); border-bottom: 1px solid var(--hh-events-line); }
.hh-events-ended summary { display: grid; grid-template-columns: 1fr auto 28px; align-items: center; gap: 18px; min-height: 112px; cursor: pointer; list-style: none; }
.hh-events-ended summary::-webkit-details-marker { display: none; }
.hh-events-ended summary span { display: flex; align-items: center; gap: 18px; }
.hh-events-ended summary small { color: #8a908c; font-size: 11px; font-weight: 700; letter-spacing: .13em; }
.hh-events-ended summary strong { font-size: 23px; font-weight: 620; }
.hh-events-ended summary em { color: #8a908c; font-size: 14px; font-style: normal; }
.hh-events-ended summary > i { position: relative; width: 20px; height: 20px; }
.hh-events-ended summary > i::before,
.hh-events-ended summary > i::after { content: ''; position: absolute; top: 9px; left: 2px; width: 16px; height: 1px; background: #565d58; transition: transform .2s ease; }
.hh-events-ended summary > i::after { transform: rotate(90deg); }
.hh-events-ended details[open] summary > i::after { transform: rotate(0); }
.hh-events-ended__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding: 8px 0 42px; }
.hh-events-ended__grid a { opacity: .72; }
.hh-events-ended__grid a > span { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 14px; background: #f5f5f3; filter: grayscale(.2); }
.hh-events-ended__grid img { width: 100%; height: 100%; object-fit: contain; }
.hh-events-ended__grid small { display: block; margin-top: 14px; color: #8a908c; font-size: 12px; }
.hh-events-ended__grid strong { display: block; margin-top: 7px; font-size: 17px; font-weight: 560; line-height: 1.45; }

.hh-events-note { padding: 80px 0 110px; }
.hh-events-note .hh-shell { display: grid; grid-template-columns: 210px 1fr auto; align-items: center; gap: 32px; padding-top: 28px; border-top: 1px solid var(--hh-events-line); }
.hh-events-note strong { font-size: 16px; font-weight: 620; }
.hh-events-note p { margin: 0; color: #747a76; font-size: 13px; line-height: 1.65; }
.hh-events-note a { color: #4e5550; font-size: 13px; }
.hh-events-note a b { color: var(--hh-events-green); font-weight: 620; }

@media (max-width: 900px) {
    .hh-events-intro { padding: 70px 0 58px; }
    .hh-events-intro__inner { align-items: flex-start; flex-direction: column; gap: 24px; }
    .hh-events-intro__lead { width: min(520px, 100%); }
    .hh-events-current-grid { gap: 18px; }
    .hh-events-feature-card,
    .hh-events-current-grid--1 .hh-events-feature-card,
    .hh-events-current-grid--2 .hh-events-feature-card { flex-basis: calc((100% - 18px) / 2); }
    .hh-events-current-grid--1 .hh-events-feature-card { max-width: 424px; }
    .hh-events-feature-card__body { min-height: 230px; }
    .hh-events-benefit { padding: 30px 28px; }
    .hh-events-note .hh-shell { grid-template-columns: 1fr; gap: 10px; }
}

@media (max-width: 680px) {
    .hh-events-page { padding-bottom: 76px; }
    .hh-events-intro { padding: 48px 0 42px; }
    .hh-events-intro__eyebrow,
    .hh-events-section-head p { margin-bottom: 10px; font-size: 10px; }
    .hh-events-intro h1 { font-size: 38px; line-height: 1.12; }
    .hh-events-intro__lead { font-size: 15px; line-height: 1.68; }
    .hh-events-feature { padding-bottom: 78px; }
    .hh-events-section-head { align-items: flex-start; flex-direction: column; gap: 10px; margin-bottom: 22px; }
    .hh-events-section-head h2 { font-size: 26px; }
    .hh-events-section-head > span { margin: 0; font-size: 13px; line-height: 1.55; }
    .hh-events-current-grid { display: grid; grid-auto-columns: 86%; grid-auto-flow: column; justify-content: start; gap: 14px; margin: 0 -16px; padding: 0 16px 8px; overflow-x: auto; scroll-padding-left: 16px; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .hh-events-current-grid::-webkit-scrollbar { display: none; }
    .hh-events-current-grid--1 { grid-auto-columns: 100%; }
    .hh-events-feature-card,
    .hh-events-current-grid--1 .hh-events-feature-card,
    .hh-events-current-grid--2 .hh-events-feature-card { width: auto; max-width: none; scroll-snap-align: center; }
    .hh-events-feature-card { border-radius: 18px; }
    .hh-events-feature-card__visual { aspect-ratio: 1 / 1; padding: 8px; }
    .hh-events-feature-card__visual img { border-radius: 12px; }
    .hh-events-feature-card__body { min-height: 220px; padding: 24px 22px 26px; }
    .hh-events-feature-card__body > strong { margin-top: 13px; font-size: 22px; }
    .hh-events-feature-card__body > em { margin-top: 9px; font-size: 13px; }
    .hh-events-feature-card__body > b { padding-top: 20px; font-size: 12px; }
    .hh-events-grid { grid-template-columns: 1fr; gap: 18px; }
    .hh-events-card__body { padding: 22px 22px 26px; }
    .hh-events-card__body > strong { font-size: 20px; }
    .hh-events-benefits { padding: 74px 0 82px; }
    .hh-events-benefit-grid { grid-template-columns: 1fr; gap: 12px; }
    .hh-events-benefit { grid-template-columns: 52px 1fr; gap: 17px; min-height: 210px; padding: 27px 22px; border-radius: 18px; }
    .hh-events-benefit__number { top: 21px; right: 22px; font-size: 33px; }
    .hh-events-benefit__icon { width: 52px; height: 52px; }
    .hh-events-benefit__icon svg { width: 24px; height: 24px; }
    .hh-events-benefit__copy strong { margin-top: 9px; padding-right: 28px; font-size: 20px; }
    .hh-events-benefit__copy em { margin-top: 9px; font-size: 13px; }
    .hh-events-benefit__copy b { padding-top: 18px; }
    .hh-events-ended { padding-top: 60px; }
    .hh-events-ended summary { grid-template-columns: 1fr auto 22px; gap: 10px; min-height: 88px; }
    .hh-events-ended summary span { align-items: flex-start; flex-direction: column; gap: 5px; }
    .hh-events-ended summary strong { font-size: 19px; }
    .hh-events-ended__grid { grid-template-columns: 1fr; gap: 26px; }
    .hh-events-note { padding: 60px 0 80px; }
    .hh-events-note .hh-shell { padding-top: 22px; }
}

@media (prefers-reduced-motion: reduce) {
    .hh-events-page * { scroll-behavior: auto !important; transition: none !important; }
}

/* Event refinement: one featured campaign, compact verified benefit destinations. */
body .hh-events-page{color:#203d33}
body .hh-events-intro{background:#f8f7f1}
body .hh-events-feature{padding:32px 0 48px;background:#f8f7f1}
body .hh-events-section-head{margin-bottom:24px}
body .hh-events-current-grid--1 .hh-events-feature-card{display:grid;grid-template-columns:1fr 1fr;flex-basis:100%;max-width:none;border-color:#dfe4d9;border-radius:16px;box-shadow:none}
body .hh-events-current-grid--1 .hh-events-feature-card__visual{aspect-ratio:auto;min-height:400px;padding:0;background:#ece6d8}
body .hh-events-current-grid--1 .hh-events-feature-card__visual img{height:100%;width:100%;object-fit:cover;object-position:50% 76%;border-radius:0;max-height:460px}
body .hh-events-feature-card__body{background:#fff;color:#203d33;padding:36px;justify-content:center;min-height:0}
body .hh-events-feature-card__body>strong{color:#203d33;margin-top:18px}
body .hh-events-feature-card__body>em{color:#647067;line-height:1.75;font-style:normal;display:block;max-width:360px;margin-top:14px}
body .hh-events-feature-card__body>b{margin-top:28px;padding-top:0;border-color:#a8bba6;color:#214d43;min-height:40px}
body .hh-events-feature-card__meta small{color:#6e796f}
body .hh-events-status--current{background:#edf2e5;color:#28543e}
body .hh-events-benefits{padding:44px 0;background:#fff}
body .hh-events-section-head--light h2{color:#203d33}
body .hh-events-section-head--light>span{color:#667269}
body .hh-events-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
body .hh-events-benefit{grid-template-columns:44px 1fr;gap:18px;min-height:0;padding:26px;border:1px solid #e0e6da;border-radius:12px;background:#f9faf6}
body .hh-events-benefit__icon{width:44px;height:44px}
body .hh-events-benefit__icon svg{width:23px;height:23px}
body .hh-events-benefit__copy{padding:0}
body .hh-events-benefit__copy strong{margin:0;padding:0}
body .hh-events-benefit__copy em{margin-top:8px;line-height:1.7}
body .hh-events-benefit__copy b{padding-top:18px;min-height:40px}
body .hh-events-note{padding:0 0 40px;background:#fff}
body .hh-events-note .hh-shell{padding-top:24px;border-top:1px solid #e0e6da}
body .hh-events-page a:focus-visible{outline:2px solid #315f46;outline-offset:4px}
.hh-event-back{display:inline-flex;margin-bottom:18px;min-height:36px;align-items:center;color:#536e5c;font-size:13px}
.hh-event-detail__meta{display:flex;gap:12px;align-items:center;margin-top:18px;color:#6d786e;font-size:13px}
.hh-event-detail__section{padding:32px 0 48px}
.hh-event-detail__content{color:#203d33;line-height:1.8;overflow-wrap:anywhere}
.hh-event-detail__content img{max-width:100%;height:auto}
.hh-event-detail__content figure{margin:0 auto;max-width:100%}
.hh-event-detail__content iframe{max-width:100%}
.hh-event-welcome{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:16px;background:#f6f5ef;border:1px solid #e3e5dc}
.hh-event-welcome__photo{min-width:0;background:#e8e1d0;position:relative}
.hh-event-welcome__photo img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.hh-event-welcome__copy{padding:40px}
.hh-event-welcome__eyebrow{font-size:13px;font-weight:600;color:#58735b;margin:0 0 12px}
.hh-event-welcome__copy h2{font-size:32px;font-weight:700;line-height:1.35;letter-spacing:-.03em;margin:0}
.hh-event-welcome__copy h2 strong{font-weight:inherit}
.hh-event-welcome__copy>p:not(.hh-event-welcome__eyebrow){margin:18px 0;color:#647067;font-size:15px;line-height:1.8}
.hh-event-conditions{margin:24px 0;border-top:1px solid #dce2d6}
.hh-event-conditions>div{display:grid;grid-template-columns:112px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #dce2d6;font-size:14px}
.hh-event-conditions dt{color:#6b776b}.hh-event-conditions dd{margin:0;font-weight:500}
.hh-event-actions{display:flex;flex-wrap:wrap;gap:10px}
.hh-event-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border:1px solid #c0ceba;border-radius:6px;font-size:14px;font-weight:600}
.hh-event-actions .hh-event-action--primary{background:#214d43;color:#fff;border-color:#214d43}
.hh-event-how{padding:40px 0 28px}
.hh-event-how h2{margin:0 0 22px;font-size:28px;font-weight:700;line-height:1.35;letter-spacing:-.03em}
.hh-event-how ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:step}
.hh-event-how li{padding:22px;background:#f5f8f1;border-radius:10px;counter-increment:step}
.hh-event-how li:before{content:'0' counter(step);display:block;color:#668464;font-size:12px;margin-bottom:12px;font-weight:600}
.hh-event-how li strong{font-size:20px;font-weight:600;line-height:1.4}
.hh-event-how li p{font-size:14px;color:#647067;margin:8px 0 0;line-height:1.7}
.hh-event-terms{padding:24px;border:1px solid #e0e6da;border-radius:10px;font-size:14px}
.hh-event-terms>strong{font-size:18px;font-weight:600}.hh-event-terms p{margin:8px 0 14px;color:#677168}
.hh-event-terms>a{display:inline-flex;min-height:40px;align-items:center;color:#214d43;font-weight:600}
.hh-event-detail__bottom{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:28px;margin-top:28px;border-top:1px solid #e0e6da;font-size:14px}
.hh-event-detail__bottom a{min-height:44px;display:inline-flex;align-items:center}
.hh-event-status-note{padding:16px;background:#f2f4ed;border-radius:8px}
@media(max-width:900px){body .hh-events-current-grid--1 .hh-events-feature-card__visual{min-height:340px}.hh-event-welcome__copy{padding:28px}.hh-event-conditions>div{grid-template-columns:95px 1fr}}
@media(max-width:700px){
 body .hh-events-feature{padding:16px 0 32px}
 body .hh-events-current-grid--1 .hh-events-feature-card{grid-template-columns:1fr}
 body .hh-events-current-grid--1 .hh-events-feature-card__visual{min-height:0;aspect-ratio:4/3}
 body .hh-events-current-grid--1 .hh-events-feature-card__visual img{height:100%;max-height:none;object-position:50% 80%}
 body .hh-events-feature-card__body{padding:24px}
 body .hh-events-feature-card__body>b{margin-top:18px}
 body .hh-events-benefits{padding:32px 0}
 body .hh-events-benefit-grid{grid-template-columns:1fr;gap:14px}
 body .hh-events-benefit{padding:20px;gap:14px;grid-template-columns:38px 1fr}
 body .hh-events-benefit__icon{width:38px;height:38px}
 body .hh-events-note{padding-bottom:28px}
 .hh-event-detail__section{padding:20px 0 32px}
 .hh-event-welcome{grid-template-columns:1fr}
 .hh-event-welcome__photo{aspect-ratio:4/3}
 .hh-event-welcome__photo img{object-position:50% 80%}
 .hh-event-welcome__copy{padding:24px 20px}
 .hh-event-welcome__copy h2{font-size:24px}
 .hh-event-welcome__copy>p:not(.hh-event-welcome__eyebrow){font-size:14px}
 .hh-event-welcome__copy>p br{display:none}
 .hh-event-conditions>div{font-size:13px;grid-template-columns:90px 1fr;gap:10px}
 .hh-event-actions{flex-direction:column}
 .hh-event-how{padding-top:28px}
 .hh-event-how h2{font-size:24px}
 .hh-event-how ol{grid-template-columns:1fr;gap:12px}
 .hh-event-how li{padding:18px}
 .hh-event-how li strong{font-size:18px}
 .hh-event-terms{padding:20px}
}
@media(prefers-reduced-motion:reduce){body .hh-events-page *{transition:none!important}}
