.evePartyPage { color: #183b63; background: #f7fbfd; font-family: var(--font-gothic); }
.evePartyMain { width: min(1080px, calc(100% - 40px)); margin: clamp(40px, 6vw, 80px) auto clamp(70px, 8vw, 120px); font-size: 17px; line-height: 1.9; }
.evePartyMain .preview { padding: 16px 24px; margin-bottom: 42px; border: 1px solid #dfcd98; border-radius: 12px; background: #fff8e4; color: #71551d; font-size: 14px; }
.evePartyArticle > header { text-align: center; }
.evePartyArticle .eyebrow { color: #a2761c; font-size: 13px; font-weight: 700; letter-spacing: .14em; }
.evePartyTitle { margin: 18px 0 26px; color: #073770; font-size: clamp(30px, 4.5vw, 54px); font-weight: 800; line-height: 1.45; letter-spacing: .05em; }
.evePartyArticle > header > p:last-of-type { max-width: 800px; margin: auto; }
.evePartyHighlights { display: grid; grid-template-columns: 1fr 1.4fr 1fr; margin-top: 35px; border-radius: 20px; overflow: hidden; background: linear-gradient(120deg, #073770, #175aa0); color: #fff; }
.evePartyHighlights > div { padding: 28px 20px; }
.evePartyHighlights > div + div { border-left: 1px solid #ffffff35; }
.evePartyHighlights small { display: block; color: #f0d595; font-size: 14px; }
.evePartyHighlights strong { display: block; margin: 8px 0; font-size: clamp(22px, 2.7vw, 34px); font-weight: 800; line-height: 1.6; }
.evePartyHighlights strong span { margin-left: 6px; font-size: 16px; }
.evePartyHighlights p { font-size: 14px; }
.evePartyNav { display: grid; grid-template-columns: repeat(4, 1fr); margin: 28px 0 45px; overflow: hidden; border: 1px solid #cfdfeb; border-radius: 14px; background: #fff; }
.evePartyNav a { padding: 18px 8px; text-align: center; color: #0b4f9d; font-weight: 700; font-size: 15px; }
.evePartyNav a + a { border-left: 1px solid #cfdfeb; }
.evePartyNav a:hover { background: #edf6ff; }
.evePartyArticle > section { margin-top: 50px; scroll-margin-top: 100px; }
.evePartyArticle section > h2 { margin-bottom: 24px; padding-bottom: 12px; border-bottom: 2px solid #12539c; color: #073770; font-size: clamp(24px, 3vw, 32px); font-weight: 800; line-height: 1.5; }
.evePartyArticle dl { border: 1px solid #cfdfeb; border-radius: 16px; overflow: hidden; background: #fff; }
.evePartyArticle dl > div { display: grid; grid-template-columns: 180px 1fr; }
.evePartyArticle dl > div + div { border-top: 1px solid #dce6ef; }
.evePartyArticle dt { display: flex; align-items: center; padding: 24px; font-weight: 700; background: #edf6fc; color: #0b4f9d; }
.evePartyArticle dd { padding: 24px 30px; }
.evePartyArticle .period { padding: 28px; border: 1px solid #cfdfeb; border-radius: 16px; background: #fff; color: #0b4f9d; font-weight: 800; font-size: clamp(18px, 2.3vw, 25px); text-align: center; }
.evePartyArticle .period + p { margin-top: 16px; font-size: 15px; }
.evePartyArticle ol { margin: 0; padding: 0; list-style: none; counter-reset: payment; }
.evePartyArticle ol li { position: relative; margin-top: 14px; padding: 22px 26px 22px 76px; border: 1px solid #dce6ef; border-radius: 14px; background: #fff; }
.evePartyArticle ol li::before { counter-increment: payment; content: '0' counter(payment); position: absolute; left: 24px; top: 24px; color: #a2761c; font-weight: 800; font-size: 22px; }
.evePartyArticle ol strong { color: #0b4f9d; font-weight: 800; }
.evePartyArticle form { margin-top: 24px; padding: clamp(20px, 4vw, 40px); border: 1px solid #cfdfeb; border-radius: 16px; background: #fff; }
.evePartyArticle fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.evePartyArticle .field { display: block; margin-bottom: 25px; }
.evePartyArticle .field > span { display: block; margin-bottom: 8px; font-weight: 700; }
.evePartyArticle .required { margin-left: 10px; padding: 3px 8px; color: #a93326; background: #fff0ed; border-radius: 4px; font-size: 12px; }
.evePartyArticle input[type=text], .evePartyArticle input[type=email], .evePartyArticle input[type=tel], .evePartyArticle textarea { display: block; width: 100%; padding: 12px; border: 1px solid #bbcddd; border-radius: 8px; background: #f4f7fa; color: #183b63; font: inherit; }
.evePartyArticle .choices label { display: inline-flex; align-items: center; gap: 10px; margin: 6px 24px 6px 0; }
.evePartyArticle input[type=radio] { appearance: auto; width: 18px; height: 18px; }
.evePartyArticle small { display: block; margin-top: 8px; font-size: 14px; }
.evePartyArticle button { display: block; margin: 30px auto 0; padding: 16px 32px; border: 0; border-radius: 40px; background: #d6dee7; color: #42576e; font: inherit; font-weight: 700; }
.evePartyArticle .contact { padding: 30px; background: #edf6fc; border-radius: 16px; }
.evePartyArticle .contact > h2 { font-size: 24px; }
.evePartyArticle .contact a { color: #0b4f9d; text-decoration: underline; overflow-wrap: anywhere; }
@media(max-width:600px) {
 .evePartyMain { font-size: 16px; }
 .evePartyHighlights { grid-template-columns: 1fr; }
 .evePartyHighlights > div { padding: 20px 16px; }
 .evePartyHighlights > div + div { border-left: 0; border-top: 1px solid #ffffff35; }
 .evePartyNav { grid-template-columns: repeat(2, 1fr); }
 .evePartyNav a { font-size: 14px; border: 1px solid #edf3fa; }
 .evePartyArticle dl > div { display: block; }
 .evePartyArticle dt { padding: 12px 18px; }
 .evePartyArticle dd { padding: 18px; }
 .evePartyArticle ol li { padding: 20px 20px 20px 62px; }
 .evePartyArticle ol li::before { left: 18px; top: 20px; }
 .evePartyArticle .contact { padding: 22px; }
}
