html { scroll-behavior: smooth; }
img { height: auto; }
[hidden] { display: none !important; }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Prize wheel */
.prize-game { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr); align-items: center; gap: 30px; margin: 42px 0 26px; padding: 34px 34px 30px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .72); border-radius: 24px; background: linear-gradient(135deg, #f5fbff 0%, #e8f8f1 48%, #fff8e5 100%); box-shadow: 0 20px 55px rgba(26, 73, 91, .16); font-family: Arial, sans-serif; }
.prize-game::before, .prize-game::after { content: ''; position: absolute; z-index: -1; border-radius: 50%; filter: blur(2px); }
.prize-game::before { width: 220px; height: 220px; top: -105px; left: -90px; background: rgba(49, 169, 121, .13); }
.prize-game::after { width: 260px; height: 260px; right: -120px; bottom: -150px; background: rgba(241, 182, 54, .18); }
.prize-game__copy { text-align: left; }
.prize-game__eyebrow { display: inline-flex; align-items: center; min-height: 30px; padding: 0 13px; border-radius: 999px; background: #dff5ea; color: #177451; font-size: 12px; font-weight: 800; letter-spacing: .11em; }
.prize-game__title { margin: 13px 0 4px; color: #153f50; font-size: clamp(28px, 4.6vw, 46px); line-height: .98; letter-spacing: -.035em; }
.prize-game__lead { margin: 12px 0 0; color: #203f49; font-size: clamp(20px, 2.8vw, 27px); line-height: 1.2; }
.prize-game__lead strong { color: #d44a31; }
.prize-game__text { max-width: 390px; margin: 14px 0 18px; color: #4f6870; font-size: 16px; line-height: 1.5; }
.prize-game__benefits { display: flex; flex-wrap: wrap; gap: 8px; }
.prize-game__benefits span { padding: 8px 11px; border: 1px solid rgba(32, 124, 89, .18); border-radius: 10px; background: rgba(255, 255, 255, .78); color: #207c59; font-size: 12px; font-weight: 700; }
.prize-game__play { display: grid; justify-items: center; }
.prize-wheel-wrap { position: relative; width: min(330px, 74vw); aspect-ratio: 1; margin: 9px auto 18px; padding: 9px; border-radius: 50%; background: linear-gradient(145deg, #fff9c9, #d69a22 45%, #fff1a6 70%, #aa7114); box-shadow: 0 12px 32px rgba(107, 72, 16, .28), inset 0 0 0 3px rgba(255,255,255,.7); }
.prize-wheel-wrap::after { content: ''; position: absolute; inset: 3px; pointer-events: none; border: 2px solid rgba(255,255,255,.72); border-radius: 50%; }
.prize-wheel__pointer { position: absolute; z-index: 4; top: -9px; left: 50%; width: 42px; height: 54px; transform: translateX(-50%); filter: drop-shadow(0 5px 3px rgba(0,0,0,.25)); }
.prize-wheel__pointer::before { content: ''; position: absolute; inset: 0; clip-path: polygon(0 0, 100% 0, 50% 100%); background: linear-gradient(90deg, #b92224, #ef4d42 55%, #9f161f); }
.prize-wheel { position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 50%; background: repeating-conic-gradient(from -22.5deg, #2e9f76 0deg 45deg, #f3c64f 45deg 90deg); box-shadow: inset 0 0 0 4px #fff, inset 0 0 24px rgba(0,0,0,.14); transition: transform 5.4s cubic-bezier(.12,.67,.08,1); will-change: transform; }
.prize-wheel::after { content: ''; position: absolute; inset: 4px; border-radius: 50%; background: repeating-conic-gradient(from -22.5deg, transparent 0deg 44deg, rgba(255,255,255,.88) 44deg 45deg); pointer-events: none; }
.prize-wheel > span:not(.prize-wheel__hub) { position: absolute; z-index: 2; top: 50%; left: 50%; width: 58px; margin: -12px 0 0 -29px; color: #fff; font-size: 19px; font-weight: 900; line-height: 24px; text-align: center; text-shadow: 0 2px 3px rgba(0,0,0,.3); transform: rotate(calc(var(--segment) * 45deg)) translateY(calc(-1 * min(128px, 28vw))) rotate(calc(var(--segment) * -45deg)); }
.prize-wheel > span:nth-child(even):not(.prize-wheel__hub) { color: #28433d; text-shadow: 0 1px 0 rgba(255,255,255,.55); }
.prize-wheel__hub { position: absolute; z-index: 3; top: 50%; left: 50%; display: grid; place-items: center; width: 90px; height: 90px; transform: translate(-50%, -50%); border: 5px solid #fff6bd; border-radius: 50%; background: radial-gradient(circle at 38% 30%, #fff8d6, #e8b739 45%, #9c6712); box-shadow: 0 5px 15px rgba(0,0,0,.3); color: #174d3d; font-size: 13px; line-height: 1.05; text-align: center; }
.prize-wheel.is-spinning { transform: rotate(1845deg); }
.prize-game__button { position: relative; min-height: 58px; width: min(330px, 100%); padding: 13px 23px; overflow: hidden; border: 0; border-radius: 14px; background: linear-gradient(180deg, #eb5a40 0%, #c9332e 100%); box-shadow: 0 7px 0 #97221f, 0 14px 24px rgba(188, 45, 39, .22); color: #fff; font: 800 16px/1.15 Arial, sans-serif; letter-spacing: .02em; text-shadow: 0 1px 1px rgba(0,0,0,.2); cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.prize-game__button::after { content: ''; position: absolute; top: -80%; left: -40%; width: 35%; height: 250%; transform: rotate(22deg); background: rgba(255,255,255,.3); animation: prize-shine 2.8s ease-in-out infinite; }
.prize-game__button:hover { transform: translateY(-2px); box-shadow: 0 9px 0 #97221f, 0 17px 28px rgba(188, 45, 39, .25); }
.prize-game__button:active { transform: translateY(5px); box-shadow: 0 2px 0 #97221f, 0 7px 15px rgba(188, 45, 39, .2); }
.prize-game__button:focus-visible { outline: 4px solid rgba(33, 117, 89, .3); outline-offset: 4px; }
.prize-game__button:disabled { cursor: wait; filter: saturate(.7); }
.prize-game__result { display: flex; align-items: center; gap: 12px; width: min(330px, 100%); box-sizing: border-box; padding: 13px 16px; border: 1px solid rgba(34, 139, 96, .22); border-radius: 14px; background: #ecfbf4; color: #174f3c; animation: prize-pop .5s ease both; }
.prize-game__result-icon { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #269b6d; color: #fff; font-size: 22px; font-weight: 900; }
.prize-game__result p { margin: 0; font-size: 15px; line-height: 1.35; }
.prize-game__result strong { font-size: 16px; }
.prize-game__result b { color: #d23c30; }
.prize-order-form { scroll-margin-top: 16px; animation: prize-form-in .65s ease both; }
@keyframes prize-shine { 0%, 42% { left: -45%; } 65%, 100% { left: 125%; } }
@keyframes prize-pop { from { opacity: 0; transform: scale(.92); } to { opacity: 1; transform: scale(1); } }
@keyframes prize-form-in { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
.modal-show { overflow: hidden; }
.modal { position: fixed; inset: 0; z-index: 900001; display: none; overflow: auto; padding: 20px; background: rgba(0, 0, 0, .68); box-sizing: border-box; }
.modal.is-open { display: flex; align-items: center; justify-content: center; }
.modal-block { position: relative; width: min(680px, 100%); max-height: calc(100vh - 40px); overflow: auto; background: #fff; border-radius: 8px; box-shadow: 0 20px 60px rgba(0, 0, 0, .35); }
.modal-block .title { position: sticky; top: 0; z-index: 2; padding: 16px 54px 16px 20px; background: #2870a5; color: #fff; font: 700 18px/1.35 Arial, sans-serif; text-align: center; }
.modal-block .content { padding: 20px; background: #fff; }
.modal-block .icon-close { position: absolute; top: 13px; right: 16px; z-index: 3; width: 28px; height: 28px; color: transparent; cursor: pointer; }
.modal-block .icon-close::before, .modal-block .icon-close::after { content: ''; position: absolute; top: 13px; left: 2px; width: 24px; height: 2px; background: #fff; }
.modal-block .icon-close::before { transform: rotate(45deg); }
.modal-block .icon-close::after { transform: rotate(-45deg); }
#kmacb { position: fixed; right: 16px; bottom: 16px; z-index: 200000; width: 68px; height: 68px; }
#kmacb > a { display: grid; place-items: center; width: 68px; height: 68px; border-radius: 50%; background: #2870a5; color: #fff; box-shadow: 0 8px 24px rgba(0, 0, 0, .25); text-decoration: none; }
#kmacb > a::before { content: '☎'; font: 700 31px/1 sans-serif; }
.kmacb__manager-circle, .kmacb__manager-fill, .kmacb__manager-border, .kmacb__manager-img { display: none; }
.kmacb-form .modal-block { width: min(460px, 100%); }
.kmacb-form .content { padding: 28px; }
.kmacb-form form { display: grid; gap: 12px; }
.kmacb-form input[type='text'], .kmacb-form input[type='tel'], .kmacb-form input[type='submit'] { box-sizing: border-box; width: 100%; min-height: 50px; padding: 10px 14px; border-radius: 6px; font-size: 16px; }
.kmacb-form input[type='text'], .kmacb-form input[type='tel'] { border: 2px solid #bdbdbd; }
.kmacb-form input[type='submit'] { border: 0; background: #d9273f; color: #fff; font-weight: 700; cursor: pointer; }
@media (max-width: 760px) {
  .prize-game { grid-template-columns: 1fr; gap: 22px; margin: 30px 0 20px; padding: 27px 16px 25px; border-radius: 20px; }
  .prize-game__copy { text-align: center; }
  .prize-game__text { margin-right: auto; margin-left: auto; }
  .prize-game__benefits { justify-content: center; }
}
@media (max-width: 700px) { .modal { padding: 10px; } .modal-block { max-height: calc(100vh - 20px); } #kmacb { width: 56px; height: 56px; } #kmacb > a { width: 56px; height: 56px; } }
@media (max-width: 390px) {
  .prize-wheel-wrap { width: min(286px, 76vw); }
  .prize-wheel > span:not(.prize-wheel__hub) { font-size: 16px; transform: rotate(calc(var(--segment) * 45deg)) translateY(calc(-1 * min(110px, 28vw))) rotate(calc(var(--segment) * -45deg)); }
  .prize-wheel__hub { width: 74px; height: 74px; font-size: 11px; }
  .prize-game__button { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .prize-wheel { transition-duration: .01ms; }
  .prize-game__button::after { animation: none; }
  .prize-order-form, .prize-game__result { animation-duration: .01ms; }
}
