@font-face{font-family:display;src:url(../media/DMSans_Variable-s.p.3sb5q533x4o0y.ttf)format("truetype");font-display:swap;font-weight:100 1000}@font-face{font-family:display Fallback;src:local(Arial);ascent-override:93.39%;descent-override:29.18%;line-gap-override:0.0%;size-adjust:106.22%}.kxk3zG_className{font-family:display,display Fallback}.kxk3zG_variable{--font-display:"display", "display Fallback"}
@font-face{font-family:text;src:url(../media/InterTight_Variable-s.p.2ezyw3rw_37ir.ttf)format("truetype");font-display:swap;font-weight:100 900}@font-face{font-family:text Fallback;src:local(Arial);ascent-override:99.65%;descent-override:24.81%;line-gap-override:0.0%;size-adjust:97.21%}.uImGDq_className{font-family:text,text Fallback}.uImGDq_variable{--font-text:"text", "text Fallback"}
:root{--ink:#02060a;--olive:#616450;--lime:#d3e09f;--stone:#d8d6c8;--white:#fff;--olive-deep:#4a4c3c;--lime-soft:#ebf0d3;--lime-deep:#c3d283;--ink-soft:#33362d;--muted:#6c6d63;--paper:#f5f5f3;--line:#e4e2d8;--line-strong:var(--stone);--danger:#b5432c;--font-display:"DM Sans", system-ui, sans-serif;--font-text:"Inter Tight", system-ui, sans-serif;--radius:14px;--radius-sm:8px;--gutter:clamp(16px, 4vw, 48px);--max:1240px;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-text);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:500;line-height:1.1}p{margin:0}a{color:inherit}img{max-width:100%;height:auto;display:block}small{font-size:.8125rem}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--olive-deep);outline-offset:3px}.muted{color:var(--muted)}.eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:500}.eyebrow--dark{color:var(--muted)}.button{min-height:48px;font:500 1rem/1 var(--font-display);cursor:pointer;transition:background-color .2s var(--ease), transform .15s var(--ease), border-color .2s var(--ease);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;text-decoration:none;display:inline-flex}.button:active:not(:disabled){transform:scale(.98)}.button:disabled{opacity:.5;cursor:not-allowed}.button--primary{background:var(--lime);color:var(--ink)}.button--primary:hover:not(:disabled){background:var(--lime-deep)}.button--accent{background:var(--lime);color:var(--ink)}.button--accent:hover:not(:disabled){background:var(--lime-deep)}.button--ghost{border-color:var(--line-strong);color:var(--ink);background:0 0}.button--ghost:hover{border-color:var(--ink)}.button--block{width:100%}.link-button{color:var(--lime);font:500 .875rem var(--font-text);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;padding:6px 0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .2s}.link-button:hover{text-decoration-color:currentColor}.link-button--dark{color:var(--ink-soft)}.field{gap:6px;display:grid}.field__label{color:var(--ink-soft);font-size:.875rem;font-weight:500}.field__input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--white);width:100%;min-height:48px;color:var(--ink);font:16px var(--font-text);padding:0 14px;transition:border-color .2s}.field__input:focus{border-color:var(--olive);box-shadow:0 0 0 3px var(--lime);outline:none}.notice{border-radius:var(--radius-sm);background:var(--lime-soft);padding:12px 14px;font-size:.9375rem}.notice--ok{background:var(--lime)}.notice--error{color:var(--danger);background:#f8e3dc}.badge{background:var(--ink);color:var(--lime);letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-block}.badge--soft{background:var(--lime);color:var(--olive-deep)}.auth{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100dvh;display:grid}.auth__panel{width:100%;max-width:440px;padding:48px var(--gutter);flex-direction:column;justify-content:center;gap:16px;margin:0 auto;display:flex}.auth__logo{margin-bottom:40px}.auth__title{font-size:2.25rem}.auth__lead{color:var(--muted)}.auth__form{gap:16px;margin-top:8px;display:grid}.auth__form .button{margin-top:8px}.auth__alt{color:var(--muted);font-size:.9375rem}.auth__aside{padding:var(--gutter);background:var(--olive);align-items:flex-end;display:flex}.auth__quote{max-width:18ch;color:var(--lime);font:500 clamp(1.75rem, 3vw, 2.75rem) / 1.12 var(--font-display);letter-spacing:-.02em}@media (max-width:820px){.auth{grid-template-columns:1fr}.auth__aside{display:none}}.overview,.admin{max-width:880px;padding:32px var(--gutter) 80px;margin:0 auto}.overview__bar{justify-content:space-between;align-items:center;margin-bottom:64px;display:flex}.overview__title{margin-bottom:32px;font-size:clamp(2rem,5vw,3rem)}.overview__list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.overview__item{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);font:500 1.25rem var(--font-display);justify-content:space-between;align-items:center;gap:16px;padding:24px;text-decoration:none;transition:border-color .2s,background-color .2s;display:flex}.overview__item small{font:400 .875rem var(--font-text);color:var(--muted);margin-bottom:4px;display:block}.overview__item:hover{border-color:var(--olive);background:var(--lime-soft)}.admin__card{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);margin-bottom:20px;padding:28px}.admin__card h2{margin-bottom:8px;font-size:1.5rem}.admin__head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.admin__accepted{border-radius:var(--radius-sm);background:var(--lime);gap:4px;margin-bottom:16px;padding:16px;display:grid}.admin__table{border-collapse:collapse;width:100%;font-size:.9375rem}.admin__table th,.admin__table td{border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere;padding:10px 8px 10px 0}.admin__table th{color:var(--muted);font-size:.8125rem;font-weight:500}.invite{grid-template-columns:.6fr 1fr 1fr auto;align-items:end;gap:12px;margin-top:20px;display:grid}.invite .notice{grid-column:1/-1}@media (max-width:720px){.invite{grid-template-columns:1fr}}.hero{background:var(--olive);color:var(--lime);padding:24px var(--gutter) 40px}.hero>*{max-width:var(--max);margin-inline:auto}.hero__bar{justify-content:space-between;align-items:center;gap:16px;display:flex}.hero__actions{gap:20px;display:flex}.hero__main{padding:clamp(64px,12vw,140px) 0 clamp(40px,7vw,80px)}.hero__title{letter-spacing:-.035em;text-wrap:balance;max-width:14ch;margin-top:20px;font-size:clamp(2.75rem,8vw,6.5rem);line-height:.98}.hero__summary{max-width:52ch;color:var(--white);opacity:.88;margin-top:28px;font-size:clamp(1.125rem,1.6vw,1.375rem);line-height:1.4}.hero__meta{border-top:1px solid #d3e09f4d;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0 auto;padding-top:24px;display:grid}.hero__meta dt{letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin-bottom:6px;font-size:.75rem}.hero__meta dd{color:var(--white);margin:0;font-size:.9375rem}@media (max-width:720px){.hero__meta{grid-template-columns:repeat(2,minmax(0,1fr))}}.banner{padding:14px var(--gutter);text-align:center;font-size:.9375rem}.banner--admin{background:var(--ink);color:var(--lime)}.banner--accepted{background:var(--lime)}.quote__layout{max-width:calc(var(--max) + 2 * var(--gutter));padding:0 var(--gutter);grid-template-columns:minmax(0,1fr) 360px;gap:clamp(32px,5vw,80px);margin:0 auto;display:grid}.section{padding:clamp(56px,8vw,96px) 0 0}.section__title{align-items:baseline;gap:16px;font-size:clamp(1.75rem,3.5vw,2.5rem);display:flex}.section__num{font:500 .875rem var(--font-text);letter-spacing:.04em;color:var(--olive);transform:translateY(-.3em)}.section__lead{max-width:60ch;color:var(--muted);margin-top:12px}.prose{max-width:64ch;color:var(--ink-soft);gap:16px;margin-top:24px;font-size:1.0625rem;display:grid}.facts{border:1px solid var(--line);border-radius:var(--radius);background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:40px 0 0;padding:0;list-style:none;display:grid;overflow:hidden}.fact{background:var(--paper);gap:4px;padding:20px;display:grid}.fact__value{font:500 clamp(2rem, 4vw, 2.75rem) / 1 var(--font-display);letter-spacing:-.03em;color:var(--olive-deep);font-variant-numeric:tabular-nums}.fact__label{color:var(--muted);font-size:.875rem}@media (max-width:560px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.goals{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 40px;margin:28px 0 0;padding:0;list-style:none;display:grid}.goal{border-top:2px solid var(--lime);padding-top:16px}.goal h3{margin-bottom:8px;font-size:1.25rem}.goal p{color:var(--ink-soft);font-size:.9375rem}@media (max-width:640px){.goals{grid-template-columns:1fr}}.versions{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px;display:grid}.version{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white);cursor:pointer;transition:background-color .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);flex-direction:column;gap:20px;padding:24px;display:flex}.version:hover{border-color:var(--olive)}.version.is-selected{background:var(--lime);border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.version.is-locked{cursor:default}.version:has(input:focus-visible){outline:2px solid var(--olive-deep);outline-offset:3px}.version__badges{justify-content:space-between;align-items:center;gap:8px;min-height:26px;margin-bottom:20px;display:flex}.check{color:var(--muted);align-items:center;gap:8px;margin-left:auto;font-size:.8125rem;font-weight:500;display:inline-flex}.check:before{content:"";width:18px;height:18px;transition:box-shadow .2s var(--ease), background-color .2s;border:1.5px solid;border-radius:50%}.check.is-on{color:var(--ink)}.check.is-on:before{background:var(--ink);box-shadow:inset 0 0 0 4px var(--lime)}.version__name{font-size:1.75rem}.version__tagline{color:var(--ink-soft);margin-top:6px}.version__price{font:500 2rem / 1 var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:20px}.version__price small{font:400 .8125rem var(--font-text);letter-spacing:0;color:var(--muted);margin-top:8px;display:block}.version.is-selected .version__price small{color:var(--ink-soft)}.version__builds{border-top:1px solid #02060a1f;padding-top:16px;font-size:.9375rem;font-weight:500}.version__list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.version__builds+.version__list{margin-top:-6px}.version__list li{gap:2px;padding-left:24px;font-size:.9375rem;display:grid;position:relative}.version__list li:before{content:"";border-left:1.5px solid var(--olive);border-bottom:1.5px solid var(--olive);width:10px;height:6px;position:absolute;top:.45em;left:2px;transform:rotate(-45deg)}.version__list strong{font-weight:500}.version__list span{color:var(--ink-soft);font-size:.875rem}.version__builds:first-child,.version>.version__list:first-child{border-top:0}.version__head+.version__list{border-top:1px solid #02060a1f;padding-top:20px}@media (max-width:760px){.versions{grid-template-columns:1fr}}.extras{border-top:1px solid var(--line);margin:28px 0 0;padding:0;list-style:none}.extra{border-bottom:1px solid var(--line);transition:background-color .2s var(--ease)}.extra__row{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:16px;padding:20px 12px;display:grid}.extra.is-on{background:var(--lime-soft)}.extra.is-included .extra__row,.extra.is-unavailable .extra__row{cursor:default}.extra.is-unavailable{opacity:.5}.extra__text{gap:4px;display:grid}.extra__text strong{font:500 1.0625rem var(--font-display)}.extra__text span{color:var(--ink-soft);max-width:60ch;font-size:.9375rem}.extra__text em{color:var(--muted);font-size:.8125rem;font-style:normal}.extra__price{font:500 1.0625rem var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap;justify-items:end;gap:2px;display:grid}.extra__price small{font:400 .75rem var(--font-text);color:var(--muted)}.switch{background:var(--line-strong);width:40px;height:24px;transition:background-color .2s var(--ease);border-radius:999px;margin-top:1px;position:relative}.switch:after{content:"";background:var(--white);width:18px;height:18px;transition:transform .25s var(--ease);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.extra.is-on .switch,.extra.is-included .switch{background:var(--olive)}.extra.is-on .switch:after,.extra.is-included .switch:after{transform:translate(16px)}.extra__row:has(input:focus-visible) .switch{outline:2px solid var(--olive-deep);outline-offset:2px}@media (max-width:560px){.extra__row{grid-template-columns:auto minmax(0,1fr)}.extra__price{grid-column:2;justify-items:start}}.timeline{margin:28px 0 0;padding:0;list-style:none}.phase{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px;padding:18px 0;display:grid}.phase__weeks{color:var(--olive);font-size:.8125rem;font-weight:500}.phase h3{margin:2px 0 4px;font-size:1.125rem}.phase p{color:var(--ink-soft);font-size:.875rem}.phase__track{background:var(--lime-soft);border-radius:999px;height:12px;position:relative}.phase__bar{background:var(--olive);transition:left .4s var(--ease), width .4s var(--ease);border-radius:999px;position:absolute;top:0;bottom:0}@media (max-width:640px){.phase{grid-template-columns:1fr;gap:12px}}.costs{margin:24px 0 0;padding:0;list-style:none}.costs li{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;gap:24px;padding:16px 0;display:flex}.costs small{color:var(--muted);margin-top:4px;display:block}.costs strong{white-space:nowrap;font-weight:500}.bullets{max-width:68ch;color:var(--ink-soft);gap:10px;margin:24px 0 0;padding-left:20px;display:grid}.bullets li::marker{color:var(--olive)}.terms{max-width:72ch;color:var(--ink-soft);gap:12px;margin:24px 0 0;padding-left:22px;font-size:.9375rem;display:grid}.terms li{padding-left:6px}.terms li::marker{color:var(--olive);font-variant-numeric:tabular-nums;font-weight:500}.summary{padding-top:clamp(56px,8vw,96px);position:relative}.summary__card{border:1px solid var(--line);background:var(--white);border-radius:20px;position:sticky;top:24px;overflow:hidden;box-shadow:0 1px 2px #02060a0a,0 12px 32px -12px #02060a1f}.summary__head{background:var(--olive);color:var(--lime);padding:24px 24px 22px}.summary__head .eyebrow{color:var(--stone)}.summary__version{font:500 1.625rem / 1.1 var(--font-display);letter-spacing:-.02em;margin-top:10px}.summary__meta{color:var(--white);opacity:.85;margin-top:6px;font-size:.875rem}.summary__body{padding:8px 24px 24px}.summary__lines{margin:0;padding:0;list-style:none}.summary__lines li{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;font-size:.9375rem;display:flex}.summary__lines li>span:first-child{flex-wrap:wrap;align-items:baseline;column-gap:10px;display:flex}.summary__lines li>span:last-child{white-space:nowrap;font-weight:500}.summary__lines li.is-included>span:last-child{color:var(--olive);font-size:.8125rem;font-weight:400}.summary__lines small{color:var(--muted);font-weight:400}.summary__remove{font:.75rem var(--font-text);color:var(--muted);text-underline-offset:3px;cursor:pointer;opacity:0;background:0 0;border:0;padding:0;text-decoration:underline;transition:opacity .15s}.summary__lines li:hover .summary__remove,.summary__remove:focus-visible{opacity:1}@media (hover:none){.summary__remove{opacity:1}}.summary__total{padding:20px 0 22px}.summary__total-label{color:var(--muted);font-size:.8125rem}.summary__total-value{font:500 2.75rem / 1 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:2px}.summary__vat{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:8px;font-size:.8125rem}.summary__hint{text-align:center;color:var(--muted);margin-top:10px;font-size:.8125rem}.summary__accepted{border-radius:var(--radius-sm);background:var(--lime);color:var(--ink);padding:12px;font-size:.9375rem}.summary__contact{color:var(--muted);gap:2px;margin-top:20px;padding:0 4px;font-size:.9375rem;display:grid}.summary__contact a{color:var(--ink);-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:4px}.mobile-bar{display:none}@media (max-width:960px){.quote__layout{grid-template-columns:1fr}.summary__card,.summary__contact{position:static}.mobile-bar{z-index:10;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:var(--ink);color:var(--lime);font:500 1.25rem var(--font-display);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;bottom:0}.mobile-bar small{font:400 .75rem var(--font-text);color:#fff9;display:block}}.footer{max-width:calc(var(--max) + 2 * var(--gutter));padding:32px var(--gutter) 48px;border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin:clamp(80px,10vw,128px) auto 0;font-size:.875rem;display:flex}.footer p{text-align:right}.dialog{border-radius:var(--radius);background:var(--paper);width:min(520px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border:0;padding:0}.dialog::backdrop{background:#02060a8c}.dialog[open]{animation:dialog-in .3s var(--ease)}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}.dialog__form{gap:16px;padding:28px;display:grid}.dialog__form h2{font-size:1.75rem}.dialog__lead{color:var(--muted)}.dialog__summary{border-radius:var(--radius-sm);background:var(--lime);gap:4px;padding:16px;font-size:.9375rem;display:grid}.dialog__summary strong{font:500 1.25rem var(--font-display);font-variant-numeric:tabular-nums;margin-top:6px}.dialog__summary small{font:400 .8125rem var(--font-text);color:var(--ink-soft)}.agree{align-items:flex-start;gap:10px;font-size:.9375rem;display:flex}.agree input{width:18px;height:18px;accent-color:var(--olive);flex-shrink:0;margin-top:2px}.dialog__actions{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media print{@page{margin:14mm}body{background:var(--white);font-size:11pt}.hero__actions,.mobile-bar,.banner--admin,.summary .button,.summary__hint,.summary__remove,.summary__contact,.dialog,.version:not(.is-selected),.extra:not(.is-on):not(.is-included){display:none!important}.hero,.summary__card,.version.is-selected,.extra.is-on,.phase__bar,.banner--accepted{-webkit-print-color-adjust:exact;print-color-adjust:exact}.hero__main{padding:48px 0 32px}.quote__layout,.versions{grid-template-columns:1fr}.section,.summary{padding-top:32px}.summary__card{break-inside:avoid;position:static}.version,.phase,.extra,.goal{break-inside:avoid}}.deadline{border-radius:var(--radius);background:var(--lime);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px 40px;margin-top:28px;padding:24px 28px;display:grid}.deadline .eyebrow{color:var(--olive-deep)}.deadline__date{font:500 clamp(1.5rem, 3vw, 2rem) / 1.1 var(--font-display);letter-spacing:-.02em;white-space:nowrap;margin-top:6px}.deadline__note{color:var(--ink-soft);font-size:.9375rem}@media (max-width:640px){.deadline{grid-template-columns:1fr}.deadline__date{white-space:normal}}.timeline__axis{color:var(--muted);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:32px;font-size:.75rem;display:grid}.timeline__scale{height:18px;position:relative}.timeline__scale span{white-space:nowrap;position:absolute;top:0}.timeline__tick{transform:translate(-50%)}.timeline__end{color:var(--olive-deep);font-weight:500}.timeline__axis+.timeline{margin-top:8px}.phase__track.has-deadline:after{content:"";background:var(--olive-deep);border-radius:2px;width:2px;position:absolute;top:-6px;bottom:-6px;right:0}.phase__bar.is-launch{background:var(--ink)}@media (max-width:640px){.timeline__axis{display:none}}.summary__card,.summary__contact,.mobile-bar{transition:opacity .4s var(--ease), transform .4s var(--ease), visibility .4s}.summary:not(.is-visible) .summary__card,.summary:not(.is-visible) .summary__contact{opacity:0;visibility:hidden;transform:translateY(16px)}.mobile-bar:not(.is-visible){opacity:0;visibility:hidden;transform:translateY(100%)}@media print{.summary .summary__card{opacity:1!important;visibility:visible!important;transform:none!important}}
