:root {
  color-scheme: light;
  --ink: #182742;
  --muted: #66748c;
  --blue: #405cff;
  --blue-deep: #273fae;
  --cyan: #11b8d2;
  --violet: #8748f5;
  --pink: #ef4da1;
  --orange: #ff8a38;
  --lime: #9acb35;
  --mint: #71e0ce;
  --line: rgba(53, 78, 150, .18);
  --paper: #f5f8ff;
  --gradient: linear-gradient(105deg, #405cff 0%, #8147ed 48%, #12b6cf 100%);
  --rainbow: linear-gradient(100deg, #ff653f 0%, #f03d9c 28%, #8d49ff 58%, #2875ff 79%, #10b9c8 100%);
  font-family: Inter, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

* { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; scroll-padding-top: 24px; }
body { min-width: 320px; min-height: 100vh; margin: 0; color: var(--ink); background: var(--paper); }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.page {
  isolation: isolate;
  min-height: 100svh;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 14%, rgba(95, 144, 246, .14), transparent 26%),
    radial-gradient(circle at 93% 45%, rgba(48, 190, 190, .12), transparent 29%),
    linear-gradient(180deg, #fff 0%, #f8faff 25%, #f4f8ff 100%);
  position: relative;
}
.page::before { content: ""; position: absolute; inset: 20% -22% -5%; z-index: -1; pointer-events: none; filter: blur(50px); background: linear-gradient(125deg, rgba(197, 218, 255, .4), rgba(206, 248, 241, .48)); transform: rotate(-4deg); }
.shell { display: flex; flex-direction: column; width: min(100%, 900px); min-height: 100svh; margin: 0 auto; padding: clamp(26px, 6vw, 68px) clamp(20px, 6vw, 52px) 32px; }
.brand { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; margin-top: 0; color: transparent; font-size: clamp(27px, 6vw, 42px); font-weight: 900; letter-spacing: .02em; background: var(--gradient); background-clip: text; -webkit-background-clip: text; }
.brand-mark { color: var(--blue); font-size: 1.12em; line-height: .8; filter: drop-shadow(0 4px 9px rgba(49, 103, 213, .2)); }
.hero { display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: center; padding: 54px 0 62px; text-align: center; }
.status { display: inline-flex; align-items: center; gap: 11px; padding: 11px 24px; color: #586a88; font-size: clamp(14px, 3.7vw, 18px); font-weight: 650; letter-spacing: .035em; background: rgba(255, 255, 255, .85); border: 1px solid var(--line); border-radius: 999px; box-shadow: 0 9px 22px rgba(42, 66, 106, .07); }
.status-dot { width: 12px; height: 12px; background: #23b995; border-radius: 50%; box-shadow: 0 0 0 5px rgba(35, 185, 149, .12); }
h1 { max-width: 710px; margin: 42px 0 0; font-size: clamp(40px, 10.2vw, 78px); font-weight: 950; line-height: 1.12; letter-spacing: -.055em; }
.headline-gradient { display: block; color: transparent; background: var(--gradient); background-clip: text; -webkit-background-clip: text; }
.headline-dark { display: block; margin-top: 8px; color: var(--ink); }
.intro { max-width: 590px; margin: 24px auto 0; color: #687690; font-size: clamp(16px, 4vw, 21px); line-height: 1.85; letter-spacing: .025em; }
.actions { display: grid; justify-items: center; gap: 15px; width: min(100%, 520px); margin-top: clamp(22px, 3.5vw, 30px); }
.primary { display: inline-flex; align-items: center; justify-content: center; min-height: 66px; padding: 0 30px; color: #fff; font-size: clamp(20px, 4.8vw, 27px); font-weight: 850; letter-spacing: .055em; background: var(--gradient); border-radius: 22px; box-shadow: 0 16px 32px rgba(49, 103, 213, .24), inset 0 1px rgba(255,255,255,.35); transition: transform .2s, box-shadow .2s, filter .2s; }
.primary::after { margin-left: 12px; content: "↘"; font-size: .9em; }
.primary:hover, .package-link:hover, .contact-link:hover { filter: saturate(1.12); transform: translateY(-2px); }
.primary:hover { box-shadow: 0 20px 36px rgba(49, 103, 213, .3), inset 0 1px rgba(255,255,255,.4); }
.primary:focus-visible, a:focus-visible, summary:focus-visible, button:focus-visible { outline: 3px solid rgba(49, 103, 213, .45); outline-offset: 4px; }
.hint { margin: 0; color: #8a96aa; font-size: 13px; letter-spacing: .04em; }
.seo-content, .content-section, .faq { width: min(100%, 720px); margin-right: auto; margin-left: auto; }
.seo-content { padding: 46px 0 25px; }
.content-section { padding: 54px 0 25px; }
.faq { padding: 52px 0 26px; }
.section-heading { max-width: 580px; margin: 0 auto 25px; text-align: center; }
.eyebrow { color: #8fa1bc; font-size: 10px; font-weight: 850; letter-spacing: .22em; }
.section-heading h2 { margin: 10px 0 8px; font-size: clamp(26px, 5.7vw, 37px); letter-spacing: -.04em; }
.section-heading p { margin: 0; color: #718099; font-size: 14px; line-height: 1.8; }
.section-note { margin: 12px auto 0; color: #8793a6; font-size: 12px; line-height: 1.7; text-align: center; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.service-card, .advantage-card, .review-card { background: rgba(255, 255, 255, .77); border: 1px solid rgba(24, 39, 66, .075); border-radius: 19px; box-shadow: 0 8px 22px rgba(36, 61, 103, .035); }
.service-card { min-height: 160px; padding: 19px 17px; }
.card-index { color: #4e72c5; font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.service-card h3 { margin: 22px 0 7px; font-size: 17px; }
.service-card p, .advantage-card p, .guarantee-grid p { margin: 0; color: #718099; font-size: 13px; line-height: 1.72; }
.advantage-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.advantage-card { position: relative; min-height: 160px; padding: 20px; }
.icon-tile { display: grid; place-items: center; width: 38px; height: 38px; color: #fff; font-size: 20px; background: var(--gradient); border-radius: 12px; box-shadow: 0 7px 14px rgba(49, 103, 213, .15); }
.advantage-card h3 { margin: 16px 0 7px; font-size: 17px; }
.package-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.package-card { position: relative; padding: 21px 20px 18px; background: rgba(255, 255, 255, .89); border: 1px solid rgba(24, 39, 66, .09); border-radius: 21px; box-shadow: 0 10px 25px rgba(39, 63, 103, .055); }
.package-card--popular { border-color: rgba(49, 103, 213, .35); box-shadow: 0 14px 29px rgba(49, 103, 213, .12); }
.package-tag { display: inline-flex; padding: 5px 9px; color: #345dbb; font-size: 10px; font-weight: 850; letter-spacing: .07em; background: rgba(81, 123, 219, .12); border-radius: 999px; }
.package-card h3 { margin: 16px 0 4px; font-size: 20px; }
.package-subtitle { margin: 0; color: #7b879b; font-size: 12px; }
.package-amount { display: block; margin: 18px 0 10px; font-size: 31px; letter-spacing: -.04em; }
.package-amount small { color: #65738c; font-size: 13px; font-weight: 600; letter-spacing: 0; }
.package-card ul { display: grid; gap: 7px; margin: 0; padding: 0 0 16px 17px; color: #6f7d94; font-size: 12px; line-height: 1.55; }
.package-link, .contact-link { display: inline-flex; align-items: center; justify-content: center; gap: 7px; width: 100%; min-height: 42px; color: #fff; font-size: 13px; font-weight: 800; background: var(--gradient); border-radius: 12px; transition: transform .2s, filter .2s; }
.review-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.review-card { padding: 17px 18px; }
.review-person { display: flex; align-items: center; gap: 10px; }
.review-person span { display: grid; place-items: center; width: 32px; height: 32px; color: #fff; font-weight: 800; background: var(--gradient); border-radius: 50%; }
.review-person strong { font-size: 14px; }
.review-card p { margin: 14px 0 11px; color: #62718a; font-size: 13px; line-height: 1.7; }
.review-card time { color: #9aa5b6; font-size: 10px; letter-spacing: .06em; }
.promo { display: flex; align-items: center; justify-content: space-between; gap: 22px; width: min(100%, 720px); margin: 45px auto 17px; padding: 26px 24px; color: #fff; background: linear-gradient(112deg, #2855bb, #4f78d9 56%, #219dab); border-radius: 22px; box-shadow: 0 16px 32px rgba(49, 103, 213, .2); }
.promo .eyebrow { color: rgba(255,255,255,.7); }
.promo h2 { margin: 9px 0 5px; font-size: clamp(21px, 4.5vw, 30px); letter-spacing: -.04em; }
.promo p { margin: 0; color: rgba(255,255,255,.8); font-size: 12px; line-height: 1.7; }
.promo-link { display: inline-flex; flex: none; align-items: center; justify-content: center; gap: 7px; min-height: 43px; padding: 0 15px; color: #315db9; font-size: 12px; font-weight: 850; background: #fff; border-radius: 12px; transition: transform .2s; }
.promo-link:hover { transform: translateY(-2px); }
.guarantee-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.guarantee-grid article { padding: 15px 14px; background: rgba(255,255,255,.58); border-top: 2px solid rgba(49,103,213,.45); border-radius: 0 0 12px 12px; }
.mini-icon { display: grid; place-items: center; width: 29px; height: 29px; margin-bottom: 12px; color: #365fba; font-size: 11px; font-weight: 900; background: rgba(70, 119, 219, .11); border-radius: 9px; }
.guarantee-grid h3 { margin: 0 0 7px; font-size: 14px; }
.guarantee-grid p { font-size: 11px; }
.contact { width: min(100%, 720px); margin: 22px auto 0; padding: 30px 23px; text-align: center; background: rgba(255,255,255,.76); border: 1px solid rgba(24,39,66,.08); border-radius: 22px; }
.contact h2 { margin: 9px 0 8px; font-size: 27px; letter-spacing: -.04em; }
.contact p { max-width: 460px; margin: 0 auto 17px; color: #718099; font-size: 13px; line-height: 1.75; }
.contact-link { width: min(100%, 300px); min-height: 44px; }
.faq-list { display: grid; gap: 7px; }
.faq details { border-bottom: 1px solid rgba(24,39,66,.12); }
.faq summary { padding: 14px 2px; color: var(--ink); font-size: 15px; font-weight: 750; cursor: pointer; list-style-position: inside; }
.faq details p { margin: 0; padding: 0 22px 15px 27px; color: #6e7d95; font-size: 13px; line-height: 1.75; }
.trust { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: clamp(22px, 7vw, 60px); margin-top: 35px; color: #7d8ca4; font-size: clamp(12px, 3vw, 15px); letter-spacing: .06em; }
.trust span { display: inline-flex; align-items: center; gap: 7px; }
.trust span::before { width: 6px; height: 6px; content: ""; background: #54aaa8; border-radius: 50%; }
footer { display: grid; gap: 11px; padding-top: 28px; color: #a0aabd; font-size: 11px; text-align: center; }
footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 17px; color: #73829a; font-size: 12px; }
footer a:hover { color: var(--blue); }
footer small { color: #9ba6b6; font-size: 10px; line-height: 1.6; }
.redirect-dialog { width: min(calc(100% - 30px), 440px); padding: 0; color: var(--ink); background: transparent; border: 0; }
.redirect-dialog::backdrop { background: rgba(14, 26, 48, .48); backdrop-filter: blur(4px); }
.dialog-card { padding: 27px; background: #fff; border: 1px solid rgba(255,255,255,.8); border-radius: 23px; box-shadow: 0 24px 70px rgba(20, 39, 77, .25); }
.dialog-symbol { display: grid; place-items: center; width: 42px; height: 42px; color: #fff; font-size: 22px; background: var(--gradient); border-radius: 13px; }
.dialog-card h2 { margin: 17px 0 8px; font-size: 22px; }
.dialog-card p { margin: 0; color: #6d7b92; font-size: 13px; line-height: 1.75; }
.destination { display: grid; gap: 6px; margin-top: 17px; padding: 13px 14px; background: #f1f5fc; border: 1px solid rgba(49,103,213,.08); border-radius: 12px; }
.destination span { color: #8794a9; font-size: 11px; }
.destination strong { color: #2f58ad; font-size: 13px; overflow-wrap: anywhere; }
.dialog-actions { display: flex; gap: 10px; margin-top: 20px; }
.dialog-actions button, .dialog-continue { display: inline-flex; flex: 1; align-items: center; justify-content: center; min-height: 43px; border-radius: 11px; font-size: 12px; font-weight: 800; cursor: pointer; }
.dialog-cancel { color: #586a85; background: #f0f3f8; border: 0; }
.dialog-continue { color: #fff; background: var(--gradient); }

@media (min-width: 700px) {
  .shell { padding-top: 52px; }
  .hero { min-height: 590px; }
  .primary { min-width: 280px; }
  .service-card { padding: 21px 19px; }
}
@media (max-width: 520px) {
  .shell { padding-right: 17px; padding-left: 17px; }
  .hero { padding: 42px 0 46px; }
  h1 { margin-top: 36px; font-size: clamp(38px, 10vw, 54px); }
  .intro { line-height: 1.72; }
  .desktop-break { display: none; }
  .primary { min-height: 61px; border-radius: 19px; }
  .service-grid, .advantage-grid, .package-grid, .review-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 0; }
  .content-section { padding-top: 44px; }
  .seo-content { padding-top: 35px; }
  .promo { flex-direction: column; align-items: stretch; gap: 16px; margin-top: 35px; padding: 23px 19px; }
  .promo-link { justify-content: center; }
  .guarantee-grid { grid-template-columns: repeat(2, 1fr); }
  .contact { padding: 27px 18px; }
  .dialog-card { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}


/* Vivid accents: clearer outlines, more characterful icons, and rainbow numerals. */
.page {
  background:
    radial-gradient(circle at 11% 12%, rgba(255, 119, 104, .13), transparent 23%),
    radial-gradient(circle at 91% 30%, rgba(127, 75, 243, .14), transparent 26%),
    radial-gradient(circle at 76% 86%, rgba(9, 190, 188, .12), transparent 29%),
    linear-gradient(180deg, #fff 0%, #f8f8ff 26%, #f3f8ff 100%);
}
.page::before { background: linear-gradient(125deg, rgba(255, 213, 205, .38), rgba(211, 214, 255, .52) 48%, rgba(190, 249, 237, .48)); }
.brand-mark { color: #8050ef; filter: drop-shadow(0 3px 0 rgba(242, 76, 158, .24)) drop-shadow(0 5px 10px rgba(78, 83, 220, .2)); font-weight: 950; }
.status { border: 2px solid rgba(31, 183, 163, .28); box-shadow: 0 10px 24px rgba(30, 160, 153, .10); }
.status-dot { background: #20b88f; box-shadow: 0 0 0 5px rgba(32, 184, 143, .16), 0 0 12px rgba(32, 184, 143, .3); }
.primary { background: linear-gradient(105deg, #405cff 0%, #8050ef 52%, #e345a3 100%); box-shadow: 0 16px 32px rgba(92, 75, 219, .3), inset 0 2px rgba(255,255,255,.42); font-weight: 900; }
.primary::after { color: #fff36b; font-weight: 950; text-shadow: 0 1px 7px rgba(255, 243, 107, .52); }
.primary:hover { box-shadow: 0 20px 38px rgba(124, 66, 213, .34), inset 0 2px rgba(255,255,255,.5); }
.hint { color: #737195; font-weight: 600; }
.section-heading .eyebrow, .eyebrow { color: #7759cb; font-weight: 900; text-shadow: 0 1px rgba(255,255,255,.8); }
.section-heading h2 { text-shadow: 0 2px 0 rgba(255,255,255,.7); }
.service-card, .advantage-card, .review-card { border-width: 2px; box-shadow: 0 10px 24px rgba(52, 68, 145, .075); }
.service-card { border-color: rgba(65, 111, 231, .32); }
.service-card:nth-child(2) { border-color: rgba(140, 73, 235, .32); }
.service-card:nth-child(3) { border-color: rgba(18, 176, 190, .35); }
.service-card:nth-child(1) { background: linear-gradient(145deg, #fff 55%, rgba(95, 140, 255, .09)); }
.service-card:nth-child(2) { background: linear-gradient(145deg, #fff 55%, rgba(160, 93, 240, .09)); }
.service-card:nth-child(3) { background: linear-gradient(145deg, #fff 55%, rgba(27, 190, 187, .09)); }
.card-index { color: #5869bb; font-weight: 900; }
.number-rainbow { display: inline-block; color: transparent; font-weight: 950; background-image: var(--rainbow); background-clip: text; -webkit-background-clip: text; filter: drop-shadow(0 2px 4px rgba(118, 71, 215, .15)); }
.card-index .number-rainbow { margin-right: 2px; font-size: 1.1em; }
.advantage-card { border-color: rgba(89, 101, 201, .24); background: linear-gradient(145deg, #fff 55%, rgba(116, 101, 234, .06)); }
.advantage-card:nth-child(2) { border-color: rgba(237, 76, 159, .32); background: linear-gradient(145deg, #fff 55%, rgba(238, 77, 159, .07)); }
.advantage-card:nth-child(3) { border-color: rgba(15, 178, 190, .32); background: linear-gradient(145deg, #fff 55%, rgba(15, 178, 190, .07)); }
.advantage-card:nth-child(4) { border-color: rgba(255, 147, 59, .35); background: linear-gradient(145deg, #fff 55%, rgba(255, 147, 59, .08)); }
.icon-tile { border: 2px solid rgba(255,255,255,.8); font-weight: 950; box-shadow: 0 8px 17px rgba(74, 76, 192, .22); text-shadow: 0 1px 3px rgba(23, 28, 75, .25); }
.advantage-card:nth-child(1) .icon-tile { background: linear-gradient(145deg, #3478f6, #7048ee); }
.advantage-card:nth-child(2) .icon-tile { background: linear-gradient(145deg, #f24b94, #9b46ec); }
.advantage-card:nth-child(3) .icon-tile { background: linear-gradient(145deg, #11b7c4, #3c70eb); }
.advantage-card:nth-child(4) .icon-tile { background: linear-gradient(145deg, #ff9b32, #ed4d87); }
.package-card { border-width: 2px; box-shadow: 0 12px 27px rgba(47, 62, 133, .09); }
.package-card:nth-child(1) { border-color: rgba(54, 113, 240, .38); background: linear-gradient(155deg, #fff 72%, rgba(81, 143, 255, .11)); }
.package-card:nth-child(2) { border-color: rgba(226, 62, 155, .5); background: linear-gradient(155deg, #fff 72%, rgba(232, 69, 158, .12)); box-shadow: 0 15px 31px rgba(204, 62, 155, .14); }
.package-card:nth-child(3) { border-color: rgba(244, 139, 45, .42); background: linear-gradient(155deg, #fff 72%, rgba(255, 161, 59, .12)); }
.package-card:nth-child(4) { border-color: rgba(13, 174, 166, .42); background: linear-gradient(155deg, #fff 72%, rgba(28, 194, 177, .12)); }
.package-card:nth-child(1) .package-tag { color: #315fd3; background: rgba(66, 112, 240, .14); }
.package-card:nth-child(2) .package-tag { color: #c53182; background: rgba(232, 69, 158, .15); }
.package-card:nth-child(3) .package-tag { color: #c16c18; background: rgba(255, 161, 59, .18); }
.package-card:nth-child(4) .package-tag { color: #118c83; background: rgba(28, 194, 177, .16); }
.package-card h3 { font-weight: 850; }
.package-amount { font-weight: 950; }
.package-card:nth-child(1) .number-rainbow { background-image: linear-gradient(95deg, #3478f6, #7048ee 54%, #13b6ca); }
.package-card:nth-child(2) .number-rainbow { background-image: linear-gradient(95deg, #ee428e, #a443ed 55%, #4775ff); }
.package-card:nth-child(3) .number-rainbow { background-image: linear-gradient(95deg, #ff8a28, #f04d76 55%, #a848e7); }
.package-card:nth-child(4) .number-rainbow { background-image: linear-gradient(95deg, #0caaa7, #3d79ed 52%, #9b46e8); }
.package-amount .number-rainbow { font-size: 1.07em; }
.package-amount small { font-weight: 800; }
.package-card ul { color: #5f6f8e; }
.package-link, .contact-link { background: linear-gradient(105deg, #405cff 0%, #8049ef 48%, #e345a3 100%); font-weight: 900; box-shadow: 0 5px 12px rgba(85, 69, 198, .17); }
.package-link span, .promo-link span, .contact-link span, .dialog-continue { font-weight: 950; }
.package-link span, .contact-link span { color: #fff06a; font-size: 1.14em; text-shadow: 0 1px 6px rgba(255, 240, 106, .45); }
.review-card { border-color: rgba(111, 82, 210, .25); }
.review-card:nth-child(2n) { border-color: rgba(19, 171, 190, .33); }
.review-person span { border: 2px solid #fff; font-size: 16px; font-weight: 950; box-shadow: 0 4px 11px rgba(81, 72, 194, .2); }
.review-card:nth-child(6n + 1) .review-person span { background: linear-gradient(145deg, #3478f6, #6250ed); }
.review-card:nth-child(6n + 2) .review-person span { background: linear-gradient(145deg, #f04495, #9948e7); }
.review-card:nth-child(6n + 3) .review-person span { background: linear-gradient(145deg, #0eb4be, #3e75ed); }
.review-card:nth-child(6n + 4) .review-person span { background: linear-gradient(145deg, #ff9b32, #ee547c); }
.review-card:nth-child(6n + 5) .review-person span { background: linear-gradient(145deg, #8248e8, #ed4b9b); }
.review-card:nth-child(6n) .review-person span { background: linear-gradient(145deg, #12b8a5, #7cbe43); }
.review-card p { color: #596985; }
.promo { background: linear-gradient(110deg, #3a54dc, #8648e8 48%, #e849a0 78%, #13aeb7); box-shadow: 0 17px 34px rgba(93, 65, 190, .24); }
.promo-link { color: #5d4dcc; font-weight: 900; box-shadow: 0 5px 13px rgba(20, 24, 73, .16); }
.promo-link span { color: #eb4c9a; text-shadow: 0 1px 5px rgba(235, 76, 154, .24); }
.guarantee-grid article { background: rgba(255,255,255,.8); border-top-width: 3px; border-radius: 0 0 12px 12px; box-shadow: 0 7px 17px rgba(52, 68, 145, .06); }
.guarantee-grid article:nth-child(6n + 1) { border-top-color: #4774f5; }
.guarantee-grid article:nth-child(6n + 2) { border-top-color: #9446e8; }
.guarantee-grid article:nth-child(6n + 3) { border-top-color: #e64d98; }
.guarantee-grid article:nth-child(6n + 4) { border-top-color: #f49335; }
.guarantee-grid article:nth-child(6n + 5) { border-top-color: #11aebc; }
.guarantee-grid article:nth-child(6n) { border-top-color: #7dbb39; }
.guarantee-grid article:nth-child(6n + 1) .mini-icon { color: #315de1; background: #e7ecff; }
.guarantee-grid article:nth-child(6n + 2) .mini-icon { color: #8140d6; background: #f0e7ff; }
.guarantee-grid article:nth-child(6n + 3) .mini-icon { color: #d93686; background: #ffe7f3; }
.guarantee-grid article:nth-child(6n + 4) .mini-icon { color: #c26b14; background: #fff0d9; }
.guarantee-grid article:nth-child(6n + 5) .mini-icon { color: #078b9f; background: #def8f7; }
.guarantee-grid article:nth-child(6n) .mini-icon { color: #628d1c; background: #edf7d9; }
.mini-icon { font-weight: 950; border: 1px solid currentColor; box-shadow: 0 3px 8px rgba(48, 59, 119, .08); }
.mini-icon--number { color: transparent !important; background: rgba(255,255,255,.8) !important; }
.mini-icon--number .number-rainbow { font-size: 12px; }
.contact { border: 2px solid rgba(132, 70, 224, .27); background: linear-gradient(145deg, rgba(255,255,255,.95), rgba(245,240,255,.85) 55%, rgba(231,251,250,.88)); box-shadow: 0 11px 26px rgba(102, 77, 190, .09); }
.contact h2 { font-weight: 900; }
.faq details { border-bottom: 2px solid rgba(88, 99, 197, .2); }
.faq summary { font-weight: 850; }
.faq summary::marker { color: #8748e7; font-size: 1.1em; }
.faq details[open] summary { color: #6646c6; }
.faq details p { color: #5e6f8b; }
.trust span::before { width: 8px; height: 8px; background: linear-gradient(135deg, #f04b99, #7748ee, #14b6bc); box-shadow: 0 0 0 3px rgba(116, 72, 238, .1); }
footer nav { font-weight: 750; }
footer nav a:nth-child(4n + 1) { color: #4265db; }
footer nav a:nth-child(4n + 2) { color: #8348dc; }
footer nav a:nth-child(4n + 3) { color: #d74691; }
footer nav a:nth-child(4n) { color: #0d929e; }
.destination { border: 2px solid rgba(128, 72, 224, .25); background: linear-gradient(120deg, #f4f1ff, #eefaff); }
.destination strong { color: #6249c5; font-weight: 900; }
.dialog-symbol { background: linear-gradient(145deg, #405cff, #8948e9 55%, #e8499d); box-shadow: 0 7px 15px rgba(113, 64, 202, .26); font-weight: 950; }
.dialog-continue { background: linear-gradient(105deg, #405cff, #8448e8 52%, #e8499d); }
.dialog-continue::first-letter { color: #fff06a; }
@media (max-width: 520px) {
  .package-card, .advantage-card, .service-card, .review-card { border-radius: 17px; }
}

/* Extra-bright spectrum numerals: make every highlighted number unmistakably colorful. */
.number-rainbow {
  color: #e83eff;
  font-weight: 950;
  background-image: linear-gradient(90deg, #ff1744 0%, #ff7a00 16%, #ffd600 31%, #31c94b 47%, #00b8ff 63%, #5145ff 79%, #e000ff 100%);
  background-size: 220% 100%;
  background-position: 0% 50%;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 5px rgba(130, 45, 220, .24));
  animation: rainbow-number-flow 4.5s linear infinite;
}

/* Override each plan's earlier accent so package quantities also use the full spectrum. */
.package-grid .package-card .number-rainbow {
  background-image: linear-gradient(90deg, #ff1744 0%, #ff7a00 16%, #ffd600 31%, #31c94b 47%, #00b8ff 63%, #5145ff 79%, #e000ff 100%);
  background-size: 220% 100%;
}

@keyframes rainbow-number-flow {
  to { background-position: 220% 50%; }
}

@media (prefers-reduced-motion: reduce) {
  .number-rainbow { animation: none; }
}
