[data-c=m]{--cd:#16798f}[data-c=s]{--cd:#a6492b}[data-c=k]{--cd:#587f2c}
.hero--p{min-height:56vh}.hero--p .wrap{padding-bottom:clamp(4.5rem,9vw,7rem)}.hero--p h1{font-size:clamp(3.1rem,7.6vw,7rem)}
.eng{background:#fbf7ec;color:#17222d;border-radius:30px;padding:clamp(1.2rem,3vw,2.4rem);box-shadow:0 50px 100px -40px rgba(0,0,0,.85);margin-top:calc(-1 * clamp(3.5rem,8vw,6rem));position:relative;z-index:3;--cd:#8a6a2f}
.eng[data-c=m]{--cd:#16798f}.eng[data-c=s]{--cd:#a6492b}.eng[data-c=k]{--cd:#587f2c}
.steps{display:flex;gap:.5rem;margin:0 0 1.8rem;padding:0;list-style:none;counter-reset:s;flex-wrap:wrap}
.steps li{flex:1;min-width:130px;display:flex;align-items:center;gap:.65rem;font:700 .8rem var(--bf);letter-spacing:.04em;color:#8b8f94;counter-increment:s;padding:.55rem 0;border-bottom:3px solid #e4dccb;transition:.4s}
.steps li::before{content:counter(s);width:30px;height:30px;border-radius:50%;background:#e8e0cf;color:#6d6a62;display:grid;place-items:center;font-size:.8rem;flex:none;transition:.4s}
.steps li.on{color:#17222d;border-color:var(--c)}.steps li.on::before{background:var(--c);color:#10202b;box-shadow:0 8px 18px -8px var(--c)}
.steps li.done{color:var(--cd);border-color:var(--cd)}.steps li.done::before{content:"✓";background:var(--cd);color:#fff}
.eg{display:grid;gap:1.8rem}@media(min-width:1040px){.eg{grid-template-columns:1fr 360px;align-items:start}}
.ep{display:none}.ep.on{display:block;animation:epin .55s cubic-bezier(.2,.7,.2,1)}@keyframes epin{from{opacity:0;transform:translateY(16px)}}
.ep h3{font-size:clamp(1.8rem,3vw,2.4rem);color:#17222d;margin-bottom:.4rem}.ep .sub{color:#5f6770;margin:0 0 1.4rem}
.pick{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:700px){.pick{grid-template-columns:repeat(3,1fr)}}
.pk{position:relative;text-align:left;border:2px solid #e4dccb;border-radius:20px;background:#fff;padding:0;cursor:pointer;font:inherit;color:inherit;overflow:hidden;transition:transform .35s,box-shadow .35s,border-color .35s;display:flex;flex-direction:column}
.pk img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .8s}.pk:hover img{transform:scale(1.06)}.pk .pi{overflow:hidden}
.pk .pb{padding:1rem 1.1rem 1.2rem}.pk b{display:block;font:500 1.35rem/1.15 var(--hf)}.pk small{display:block;color:#6a7078;font-size:.82rem;font-weight:600;margin-top:.2rem}.pk em{display:block;font-style:normal;font-weight:800;color:var(--ac);font-size:.92rem;margin-top:.55rem}
.pk[data-a=m]{--ac:#16798f;--ak:#6fd3e4}.pk[data-a=s]{--ac:#a6492b;--ak:#e8895f}.pk[data-a=k]{--ac:#587f2c;--ak:#a9d27a}
.pk:hover{transform:translateY(-5px);border-color:var(--ak);box-shadow:0 24px 40px -26px rgba(0,0,0,.5)}
.pk.on{border-color:var(--ak);box-shadow:0 0 0 4px color-mix(in srgb,var(--ak) 30%,transparent),0 24px 40px -26px rgba(0,0,0,.5)}
.pk.on::after{content:"✓";position:absolute;top:.7rem;right:.7rem;width:30px;height:30px;border-radius:50%;background:var(--ak);color:#10202b;display:grid;place-items:center;font-weight:800;animation:pop .45s cubic-bezier(.2,1.5,.4,1)}
@keyframes pop{from{transform:scale(0)}}
.cnv{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}
.cnv button{width:44px;height:44px;border-radius:50%;border:1.5px solid #e4dccb;background:#fff;cursor:pointer;font-size:1.2rem;transition:.25s;color:#17222d}.cnv button:hover:not(:disabled){background:var(--c);border-color:var(--c);transform:scale(1.08)}.cnv button:disabled{opacity:.35;cursor:default}
.cnv span{font:600 .72rem var(--bf);letter-spacing:.18em;text-transform:uppercase;color:#7b8087}
.cal{display:grid;gap:1.4rem}@media(min-width:760px){.cal{grid-template-columns:1fr 1fr;gap:2rem}}
.cal.sl{animation:cl .45s cubic-bezier(.2,.7,.2,1)}.cal.sr{animation:cr .45s cubic-bezier(.2,.7,.2,1)}
@keyframes cl{from{opacity:0;transform:translateX(34px)}}@keyframes cr{from{opacity:0;transform:translateX(-34px)}}
.cm h4{margin:0 0 .7rem;font:500 1.5rem var(--hf);text-transform:capitalize;text-align:center;color:#17222d}
.cg{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cg .wd{font:700 .66rem var(--bf);letter-spacing:.12em;text-transform:uppercase;color:#8a8f94;text-align:center;padding:.2rem 0}
.dy{position:relative;aspect-ratio:1;border:0;border-radius:12px;background:#f1ebdb;color:#17222d;font:700 .92rem var(--bf);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0;transition:background .2s,transform .2s,box-shadow .2s,border-radius .25s}
.dy small{font-size:.58rem;font-weight:700;color:#7d8186}
.dy:hover:not(:disabled){background:color-mix(in srgb,var(--c) 45%,#fff);transform:scale(1.1);z-index:2;box-shadow:0 10px 20px -10px rgba(0,0,0,.4)}
.dy.pad{visibility:hidden}.dy:disabled{cursor:not-allowed;color:#b3b1a8}.dy.past{opacity:.35}
.dy.full{background:repeating-linear-gradient(135deg,#e6dfd0 0 5px,#efe9dc 5px 10px);color:#b4aa94;text-decoration:line-through}.dy.full small{display:none}
.dy.l{background:linear-gradient(135deg,#e1d8c4 0 50%,#f1ebdb 50% 100%)}.dy.r{background:linear-gradient(135deg,#f1ebdb 0 50%,#e1d8c4 50% 100%)}
.dy.in{background:color-mix(in srgb,var(--c) 38%,#fff);border-radius:4px;color:#10202b}
.dy.st,.dy.en{background:var(--c);color:#10202b;box-shadow:0 12px 22px -10px var(--c);transform:scale(1.04);animation:pop2 .35s cubic-bezier(.2,1.4,.4,1)}.dy.st small,.dy.en small{color:#10202b;opacity:.75}
.dy.today::after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--cd)}
@keyframes pop2{from{transform:scale(.8)}}
.leg{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin:1.2rem 0 0;font-size:.78rem;color:#5f6770}.leg span{display:inline-flex;align-items:center;gap:.45rem}.leg i{width:16px;height:16px;border-radius:5px;display:inline-block}
.guests{display:flex;align-items:center;gap:1rem;margin:1.3rem 0 0;padding:1rem 1.2rem;background:#f1ebdb;border-radius:16px;flex-wrap:wrap}
.guests b{flex:1;font-weight:700;min-width:150px}.guests small{display:block;font-weight:500;color:#5f6770;font-size:.8rem}
.stp{display:flex;align-items:center;gap:.8rem}.stp button{width:44px;height:44px;border-radius:50%;border:1.5px solid #e4dccb;background:#fff;font-size:1.3rem;cursor:pointer;transition:.2s;color:#17222d}.stp button:hover{background:var(--c);border-color:var(--c);transform:scale(1.1)}.stp output{font:500 1.9rem var(--hf);min-width:1.5em;text-align:center}
.msg{margin-top:1rem;font-size:.92rem;font-weight:600;min-height:1.4em;color:#5f6770}.msg.err{color:#b4501a}.msg.ok{color:#17724f}
.nav2{display:flex;justify-content:space-between;gap:.8rem;margin-top:1.5rem;flex-wrap:wrap}
.nav2 .btn[disabled]{opacity:.35;pointer-events:none;filter:grayscale(.4)}
.btn--line{background:transparent;color:#17222d;border:1.5px solid #17222d;box-shadow:none}.btn--line:hover{background:#17222d;color:#fff;box-shadow:none}
.sum{background:linear-gradient(160deg,var(--bg2),var(--bg));color:var(--cream);border-radius:24px;padding:1.4rem;position:sticky;top:calc(var(--hh) + 14px);overflow:hidden;box-shadow:0 30px 60px -34px rgba(0,0,0,.8)}
.sum::before{content:"";position:absolute;inset:auto -20% -40% auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(var(--c),transparent 70%);opacity:.22;pointer-events:none}
.sum img{border-radius:16px;aspect-ratio:16/10;object-fit:cover;width:100%;margin-bottom:1rem;animation:epin .6s}
.sum h4{margin:0;font:500 1.55rem/1.15 var(--hf);color:#fff}.sum small{color:var(--c);font-weight:700;font-size:.84rem}
.sum dl{margin:1.1rem 0 0;display:grid;gap:.5rem;font-size:.92rem}.sum dl div{display:flex;justify-content:space-between;gap:1rem}.sum dt{color:var(--mute)}.sum dd{margin:0;font-weight:700;text-align:right}
.sum .tot{margin-top:1rem;padding-top:1rem;border-top:1px dashed rgba(255,255,255,.28);display:flex;justify-content:space-between;align-items:baseline}
.sum .tot b{font:500 2.5rem/1 var(--hf);color:var(--gold2)}
.sum .dep{margin-top:.8rem;background:rgba(255,255,255,.08);border-radius:12px;padding:.8rem 1rem;font-size:.84rem;color:var(--mute)}
.sum .empty{color:var(--mute);font-size:.92rem;margin:1.1rem 0 0}
.ff{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ff .full{grid-column:1/-1}.ff>*{min-width:0}@media(max-width:560px){.ff{grid-template-columns:1fr}}
.fld label{color:#6a6150}.fld input,.fld textarea{background:#fff;color:#17222d;border:1.5px solid #ddd3bd;color-scheme:light}.fld input:focus,.fld textarea:focus{outline:2px solid var(--c);border-color:transparent}
.fld small{display:none;color:#b4501a;font-weight:600;font-size:.78rem;margin-top:.25rem;text-transform:none;letter-spacing:0}.fld.bad small{display:block}.fld.bad input{border-color:#d9763a}
.chk{display:flex;gap:.7rem;align-items:flex-start;font-size:.88rem;color:#5f6770;margin-top:.9rem}.chk input{width:20px;height:20px;margin-top:.15rem;flex:none;accent-color:var(--cd)}
.done{text-align:center;padding:1.2rem 0 .4rem;position:relative}
.done .ckm{width:92px;height:92px;margin:0 auto 1.1rem;border-radius:50%;background:var(--c);display:grid;place-items:center;animation:pop .6s cubic-bezier(.2,1.4,.4,1);box-shadow:0 18px 36px -16px var(--c)}
.done .ckm svg{width:48px;height:48px;fill:none;stroke:#10202b;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:draw .6s .35s forwards}@keyframes draw{to{stroke-dashoffset:0}}
.done .code{display:inline-block;margin:.4rem 0 1.1rem;padding:.45rem 1.2rem;border-radius:999px;background:#f1ebdb;font:800 1rem var(--bf);letter-spacing:.16em;color:var(--cd)}
.done p{color:#5f6770;max-width:52ch;margin-inline:auto}.done .acts{justify-content:center;margin-top:1.2rem}
.cf{position:absolute;top:30px;left:50%;width:9px;height:14px;border-radius:2px;opacity:0;animation:cf 1.6s ease-out forwards}
@keyframes cf{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r))}}
.demo{margin-top:1.2rem;font-size:.8rem;color:#7b8087;text-align:center}
@media(max-width:1039px){.sum{position:static}}