:root{--color-brand:#0052ff;--color-brand-hover:#0042cc;--color-brand-soft:#eaf0ff;--color-on-brand:#fff;--color-accent:#ff7a1a;--color-bg:#fff;--color-surface:#fff;--color-surface-muted:#f8f8f8;--color-border:#e8e8e8;--color-border-strong:#cdcdcd;--color-text:#1d1d1f;--color-text-muted:#6a6a6e;--color-text-subtle:#9b9ba0;--color-warning:#8a5a00;--color-warning-soft:#fff7e5;--color-warning-border:#f0d28a;--color-danger:#b42318;--color-danger-soft:#fef1f0;--color-danger-border:#f2b8b3;--font-body:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-heading:var(--font-body);--radius-control:2px;--radius-card:2px;--shadow-raised:0 8px 24px rgba(16,24,40,.08);--header-height:80px;--content-max:1110px}:root[data-theme=forest]{--color-brand:#1b7f4b;--color-brand-hover:#146639;--color-brand-soft:#e7f4ec;--color-accent:#e0a100;--radius-control:6px;--radius-card:8px}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;font-family:var(--font-body);font-size:15px;line-height:1.5;min-height:100vh}body,h1,h2,h3,h4,ol,p,ul{margin:0}button{color:inherit;cursor:pointer;font:inherit}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.site-header{align-items:stretch;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:grid;grid-template-columns:auto 1fr auto;height:var(--header-height);position:sticky;top:0;z-index:40}.brand{align-items:center;border-right:1px solid var(--color-border);color:var(--color-text);display:flex;padding:0 32px;text-decoration:none}.brand__name{font-family:var(--font-heading);font-size:26px;font-weight:800;letter-spacing:-.02em}.brand__accent{color:var(--color-brand)}.site-nav{align-items:center;display:flex;gap:36px;justify-content:center;padding:0 24px}.site-nav a{color:var(--color-text);font-size:15px;text-decoration:none}.site-nav a.is-active,.site-nav a:hover{color:var(--color-brand)}.header-step{align-items:center;background:var(--color-brand);color:var(--color-on-brand);display:flex;font-weight:500;gap:16px;letter-spacing:.05em;padding:0 32px;text-transform:uppercase;white-space:nowrap}.header-step svg{height:28px;width:28px}.header-step__divider{background:var(--color-accent);height:26px;width:1px}.container{flex:1;margin:0 auto;max-width:var(--content-max);padding:24px 24px 72px;width:100%}.site-footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:13px;padding:20px;text-align:center}.stepper ol{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;list-style:none;padding:0}.stepper__item{align-items:center;background:none;border:0;border-bottom:2px solid transparent;color:var(--color-text-subtle);display:flex;font-size:13px;font-weight:600;gap:8px;padding:10px 14px}.stepper__item:hover{color:var(--color-text)}.stepper__num{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:50%;display:inline-grid;font-size:12px;height:22px;place-items:center;width:22px}.stepper__item.is-done{color:var(--color-text-muted)}.stepper__item.is-done .stepper__num{background:var(--color-brand-soft);border-color:var(--color-brand-soft);color:var(--color-brand)}.stepper__item.is-active{border-bottom-color:var(--color-brand);color:var(--color-brand)}.stepper__item.is-active .stepper__num{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-on-brand)}.page-title{font-family:var(--font-heading);font-size:clamp(28px,4vw,38px);font-weight:700;letter-spacing:-.01em;margin:36px 0 12px;text-align:center}.page-title em{color:var(--color-brand);font-style:italic;font-weight:400}.page-lead{color:var(--color-text-muted);margin:0 auto 40px;max-width:640px;text-align:center}.layout{align-items:start;display:grid;gap:30px;grid-template-columns:minmax(0,1fr) 340px}.grid-2,.stack{display:grid;gap:24px}.fields-2,.grid-2{grid-template-columns:1fr 1fr}.fields-2{display:grid;gap:16px}.fields-3{display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.actions{align-items:center;display:flex;gap:12px;justify-content:space-between}.hint{color:var(--color-text-muted);font-size:14px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card)}.card__head{align-items:center;background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);border-radius:var(--radius-card) var(--radius-card) 0 0;display:flex;gap:12px;justify-content:space-between;padding:16px 24px}.card__body{padding:24px}.card__title,.section-label{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.section-label{color:var(--color-text-muted);margin-bottom:8px}.context-bar{align-items:center;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-card);display:flex;flex-wrap:wrap;font-size:14px;gap:12px;justify-content:space-between;margin-bottom:24px;padding:12px 20px}.plans{align-items:stretch;display:grid;gap:30px;grid-template-columns:repeat(3,1fr);padding:14px 0}.plan{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);display:flex;flex-direction:column}.plan__head{background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);border-radius:var(--radius-card) var(--radius-card) 0 0;padding:32px 36px 26px;position:relative}.plan__label{font-size:18px;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.plan__rule{background:var(--color-border);height:1px;margin:18px 0 24px}.plan__price{align-items:baseline;display:flex;font-family:var(--font-heading);gap:6px}.plan__from{color:var(--color-text-muted);font-size:12px;letter-spacing:.08em;margin-right:4px;text-transform:uppercase}.plan__amount{font-size:52px;font-weight:400;letter-spacing:-.02em;line-height:1}.plan__cur{font-size:20px}.plan__unit{color:var(--color-text-muted);margin-top:6px}.plan__flag{background:var(--color-surface);border-radius:var(--radius-control);color:var(--color-brand);font-size:11px;font-weight:600;letter-spacing:.08em;padding:3px 10px;position:absolute;right:14px;text-transform:uppercase;top:14px}.plan__body{display:flex;flex:1;flex-direction:column;gap:22px;padding:30px 36px 36px}.plan__desc{color:var(--color-text-muted);font-size:14px}.plan__features{display:grid;gap:14px;list-style:none;padding:0}.plan__features li{align-items:center;display:flex;gap:12px}.plan__features li.is-off{color:var(--color-text-subtle)}.plan__note{color:var(--color-text-muted);font-size:13px}.plan__note.is-low{color:var(--color-warning);font-weight:600}.plan__cta{align-self:center;margin-top:auto}.plan--featured{border-color:var(--color-brand);box-shadow:var(--shadow-raised);margin:-14px 0}.plan--featured .plan__head{background:var(--color-brand);border-bottom-color:var(--color-brand);color:var(--color-on-brand)}.plan--featured .plan__rule{background:var(--color-accent)}.plan--featured .plan__from,.plan--featured .plan__unit{color:var(--color-on-brand);opacity:.85}.plan.is-selected{border-color:var(--color-brand);box-shadow:0 0 0 1px var(--color-brand)}.plan--featured.is-selected{box-shadow:var(--shadow-raised),0 0 0 1px var(--color-brand)}.plan.is-soldout{opacity:.55}.icon{flex-shrink:0;height:20px;width:20px}.icon--yes{color:var(--color-brand)}.icon--no{color:var(--color-border-strong)}.icon__mark{fill:none;stroke:var(--color-on-brand);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.btn{align-items:center;background:none;border:1px solid transparent;border-radius:var(--radius-control);display:inline-flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;letter-spacing:.04em;padding:13px 28px;text-transform:uppercase;transition:background-color .15s,color .15s,border-color .15s}.btn--primary{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-on-brand)}.btn--primary:hover:not(:disabled){background:var(--color-brand-hover);border-color:var(--color-brand-hover)}.btn--outline{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.btn--outline:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-brand)}.btn--sm{font-size:12px;padding:8px 16px}.btn:disabled{cursor:not-allowed;opacity:.5}.badge{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text-muted);display:inline-block;font-size:11px;font-weight:600;letter-spacing:.06em;padding:3px 10px;text-transform:uppercase;white-space:nowrap}.badge--brand{background:var(--color-brand-soft);border-color:var(--color-brand-soft);color:var(--color-brand)}.badge--warning{background:var(--color-warning-soft);border-color:var(--color-warning-border);color:var(--color-warning)}.alert{align-items:center;border:1px solid;border-radius:var(--radius-card);display:flex;flex-wrap:wrap;font-size:14px;gap:12px;justify-content:space-between;margin-bottom:24px;padding:14px 20px}.alert--warning{background:var(--color-warning-soft);border-color:var(--color-warning-border);color:var(--color-warning)}.alert__actions{display:flex;gap:8px}.rows>*+*{border-top:1px solid var(--color-border)}.ticket-row{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:18px 24px}.ticket-row__name{display:block;font-weight:600}.ticket-row__desc{color:var(--color-text-muted);display:block;font-size:13px}.ticket-row__price{color:var(--color-brand);display:block;font-size:14px;font-weight:600;margin-top:2px}.qty{align-items:stretch;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);display:inline-flex;flex-shrink:0;overflow:hidden}.qty button{background:var(--color-surface);border:0;font-size:18px;font-weight:600;height:38px;line-height:1;width:38px}.qty button:hover:not(:disabled){background:var(--color-brand-soft);color:var(--color-brand)}.qty button:disabled{background:var(--color-surface-muted);color:var(--color-text-subtle);cursor:not-allowed}.qty__value{border-inline:1px solid var(--color-border);display:grid;font-weight:600;min-width:44px;place-items:center}.addon__name{font-size:15px;font-weight:600}.addon__desc,.addon__price{color:var(--color-text-muted);font-size:13px}.addon__price{margin-bottom:4px}.choices{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:12px}.choice{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);display:block;padding:14px 16px;text-align:left}.choice:hover,.choice[aria-pressed=true]{border-color:var(--color-brand)}.choice[aria-pressed=true]{background:var(--color-brand-soft);box-shadow:inset 0 0 0 1px var(--color-brand)}.choice__sub,.choice__title{display:block;font-weight:600}.choice__sub{color:var(--color-brand);font-size:13px}.addon-qty{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-top:12px}.addon-qty__info{color:var(--color-text-muted);font-size:13px}.addon-qty__info span{display:block;margin-top:4px}.addon-qty__sum{color:var(--color-brand);font-weight:600}.addon-qty__warn{color:var(--color-warning)}.field{display:block;margin-top:16px}.field:first-child{margin-top:0}.field__label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.input{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text);font:inherit;padding:11px 14px;width:100%}.input::placeholder{color:var(--color-text-subtle)}.input:focus{border-color:var(--color-brand);outline:2px solid var(--color-brand);outline-offset:-1px}textarea.input{resize:vertical}.check{align-items:flex-start;cursor:pointer;display:flex;font-size:14px;gap:12px}.check input{accent-color:var(--color-brand);height:18px;margin-top:2px;width:18px}.summary{position:sticky;top:calc(var(--header-height) + 24px)}.summary__cat{color:var(--color-text-muted);font-size:13px;margin-bottom:8px}.line{border-bottom:1px solid var(--color-border);display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:10px 0}.line:last-child{border-bottom:0}.line__label{display:block;font-weight:600}.line__detail{color:var(--color-text-muted);display:block}.line__amount{font-weight:600;white-space:nowrap}.totals{border-top:1px solid var(--color-border-strong);display:grid;font-size:13px;gap:6px;margin-top:8px;padding-top:14px}.totals__row{color:var(--color-text-muted);display:flex;gap:12px;justify-content:space-between}.totals__total{color:var(--color-text);font-size:17px;font-weight:700;margin-top:4px}.totals__total span:last-child{color:var(--color-brand)}.review-block+.review-block{margin-top:20px}.review__list{display:grid;font-size:14px;gap:6px;list-style:none;padding:0}.review__sub{display:block}.dev,.review__sub{color:var(--color-text-muted);font-size:13px}.dev summary{color:var(--color-text);cursor:pointer;font-weight:600}.dev pre{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-control);font-size:12px;margin:8px 0 0;overflow:auto;padding:12px}.toast{border:1px solid;border-radius:var(--radius-control);bottom:24px;box-shadow:var(--shadow-raised);font-size:14px;font-weight:500;max-width:360px;padding:14px 18px;position:fixed;right:24px;z-index:60}.toast--error{background:var(--color-danger-soft);border-color:var(--color-danger-border);color:var(--color-danger)}.toast--info{background:var(--color-brand-soft);border-color:var(--color-brand);color:var(--color-brand)}@media (max-width:900px){.grid-2,.layout{grid-template-columns:1fr}.summary{position:static}.plans{gap:20px;grid-template-columns:1fr}.plan--featured{margin:0;order:-1}.plan__body,.plan__head{padding:24px}}@media (max-width:760px){.site-header{grid-template-columns:1fr auto}.brand{border-right:0;padding:0 20px}.site-nav{display:none}.header-step{padding:0 18px}.header-step svg,.header-step__divider{display:none}.choices,.fields-2,.fields-3{grid-template-columns:1fr}.container{padding:16px 16px 56px}}.site-footer__nav{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:center;margin-bottom:8px}.site-footer__nav a{color:var(--color-text-muted)}.site-footer__nav a:hover{color:var(--color-brand)}.legal{max-width:760px}.legal .page-title{margin-top:16px;text-align:left}.legal section{margin-top:28px}.legal h2{font-size:18px;font-weight:700;margin-bottom:8px}.legal li,.legal p{line-height:1.65}.legal p+p{margin-top:10px}.legal ol,.legal ul{display:grid;gap:6px;padding-left:22px}.legal a{color:var(--color-brand)}.legal-draft{background:var(--color-warning-soft);border:1px solid var(--color-warning-border);border-radius:var(--radius-card);color:var(--color-warning);font-size:14px;padding:12px 16px}.legal-updated{color:var(--color-text-muted);font-size:13px;margin-top:32px}.check a{color:var(--color-brand)}.alert--ok{background:#e8f6ee;border-color:#b9e2c9;color:#0f6b3c}body.admin{background:var(--color-surface-muted)}.admin-bar{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:24px;padding:10px 24px;position:sticky;top:0;z-index:40}.admin-bar__brand{color:var(--color-text);font-size:18px;font-weight:800;text-decoration:none;white-space:nowrap}.admin-bar__brand small{color:var(--color-text-muted);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.admin-nav{display:flex;flex:1;flex-wrap:wrap;gap:4px}.admin-nav a{border-radius:var(--radius-control);color:var(--color-text);font-size:14px;padding:8px 12px;text-decoration:none}.admin-nav a:hover{background:var(--color-surface-muted)}.admin-nav a.is-active{background:var(--color-brand-soft);color:var(--color-brand);font-weight:600}.admin-bar__user{align-items:center;color:var(--color-text-muted);display:flex;font-size:13px;gap:12px}.admin-main{margin:0 auto;max-width:1280px;padding:24px}.admin-h1{font-size:24px;font-weight:700;margin:8px 0 20px}.admin-h2{font-size:16px;font-weight:700;margin:28px 0 12px}.admin-login{margin:10vh auto 0;max-width:420px}.admin-muted{color:var(--color-text-muted);font-size:13px}.admin-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.admin-row>*{margin:0}.admin-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.admin-split{align-items:start;display:grid;gap:24px;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}@media (max-width:900px){.admin-split{grid-template-columns:1fr}}.admin-stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:16px 20px}.admin-stat__label{color:var(--color-text-muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.admin-stat__value{font-size:26px;font-weight:700;margin-top:4px}.admin-stat__sub{color:var(--color-text-muted);font-size:13px}.admin-meter{background:var(--color-surface-muted);border-radius:3px;height:6px;margin-top:10px;overflow:hidden}.admin-meter span{background:var(--color-brand);display:block;height:100%}.admin-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);overflow-x:auto}.admin-table{border-collapse:collapse;font-size:14px;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid var(--color-border);padding:10px 12px;text-align:left;vertical-align:top}.admin-table th{background:var(--color-surface-muted);color:var(--color-text-muted);font-size:12px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.admin-table tr:last-child td{border-bottom:0}.admin-table td.num,.admin-table th.num{text-align:right;white-space:nowrap}.admin-table a{color:var(--color-brand)}.admin-table .is-off td{color:var(--color-text-subtle)}.admin-pill{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:10px;display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;white-space:nowrap}.admin-pill--approved,.admin-pill--ok,.admin-pill--paid{background:#e8f6ee;border-color:#b9e2c9;color:#0f6b3c}.admin-pill--pending{background:var(--color-warning-soft);border-color:var(--color-warning-border);color:var(--color-warning)}.admin-pill--bad,.admin-pill--cancelled,.admin-pill--declined,.admin-pill--failed,.admin-pill--refunded{background:var(--color-danger-soft);border-color:var(--color-danger-border);color:var(--color-danger)}.admin-flash{border:1px solid;border-radius:var(--radius-card);font-size:14px;margin-bottom:16px;padding:12px 16px}.admin-flash--ok{background:#e8f6ee;border-color:#b9e2c9;color:#0f6b3c}.admin-flash--error{background:var(--color-danger-soft);border-color:var(--color-danger-border);color:var(--color-danger)}.admin-flash--info{background:var(--color-brand-soft);border-color:var(--color-brand);color:var(--color-brand)}.admin-form{display:grid;gap:14px;max-width:640px}.admin-form .field{margin:0}.admin-form .check{font-size:14px}.admin-form fieldset{border:1px solid var(--color-border);border-radius:var(--radius-card);padding:12px 16px}.admin-form legend{font-size:13px;font-weight:600;padding:0 6px}.admin-help{color:var(--color-text-muted);display:block;font-size:12px;margin-top:4px}.admin-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.admin-actions form{display:inline}.btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.btn--danger:hover:not(:disabled){filter:brightness(.92)}.admin-pager{display:flex;font-size:14px;gap:8px;justify-content:flex-end;margin-top:12px}.admin-tree{list-style:none;margin:0;padding:0}.admin-tree li{border-bottom:1px dashed var(--color-border);padding:6px 0}.admin-tree li:last-child{border-bottom:0}.admin-tree ul{list-style:none;margin:6px 0 0;padding-left:20px}.admin-checkin{max-width:560px}.admin-checkin .input{font-family:monospace;font-size:22px;letter-spacing:2px;text-transform:uppercase}.admin-result{border:2px solid;border-radius:var(--radius-card);font-size:16px;margin-top:16px;padding:20px}.admin-result--ok{background:#e8f6ee;border-color:#1b7f4b}.admin-result--bad{background:var(--color-danger-soft);border-color:var(--color-danger)}.admin-result strong{display:block;font-size:20px;margin-bottom:4px}@media print{.admin-bar,.admin-no-print{display:none!important}body.admin{background:#fff}.admin-main{max-width:none;padding:0}.admin-table-wrap{border:0}}