@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--forest: #2f4a3a;--forest-2: #24392c;--sage: #8fa98f;--sage-soft: #e4ebdf;--mist: #eef2ea;--cream: #f7f6f1;--white: #fff;--ink: #1d2b24;--muted: #5b6b62;--line: #dde3d8;--clay: #b8694a;--error: #b42318;--focus: #2f6b4a;--font: "Plus Jakarta Sans Variable", "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--r: 18px;--ease: cubic-bezier(.22, 1, .36, 1);color-scheme:light}body{background:var(--cream);color:var(--ink);font-family:var(--font);font-size:1rem}em{font-style:normal;color:var(--sage)}.shell{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(0,1.4fr);min-height:calc(100svh - 40px)}.brand{position:sticky;top:0;height:100svh;max-height:100svh;overflow:hidden;color:#fff;isolation:isolate}.brand__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.brand:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#1d2b248c,#1d2b241a 35%,#1d2b24db)}.brand__inner{display:grid;grid-template-rows:auto 1fr auto;height:100%;padding:clamp(24px,3vw,44px);gap:24px}.brand__logo,.app__logo{display:flex;align-items:center;gap:10px;font-weight:750;font-size:1.2rem;letter-spacing:-.02em}.brand__logo span{font-weight:450;opacity:.85}.brand__logo svg,.app__logo svg{width:30px;height:30px;padding:4px;border-radius:9px;background:#ffffff29;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.brand__copy{align-self:end;display:grid;gap:14px}.brand__title{font-size:clamp(2.2rem,3.6vw,3.4rem);font-weight:700;line-height:1.02;letter-spacing:-.035em}.brand__title em{color:#cfe0c8;font-weight:500}.brand__copy p:not(.brand__title){max-width:28em;color:#ffffffdb;font-size:1.0625rem}.brand__facts{display:flex;flex-wrap:wrap;gap:8px;font-size:.875rem}.brand__facts li{padding:7px 12px;border-radius:999px;background:#ffffff24;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app__logo{display:none;color:var(--forest)}.app__logo svg{background:var(--sage-soft)}@media(max-width:999px){.shell{grid-template-columns:1fr}.brand{display:none}.app__logo{display:flex}}.app{display:flex;flex-direction:column;min-width:0;outline:none}.app__top{position:sticky;top:0;z-index:20;display:grid;gap:14px;padding:18px clamp(16px,4vw,48px) 14px;background:#f7f6f1eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.stepper ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.stepper button{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 8px 6px 6px;border-radius:12px;font-size:.875rem;font-weight:600;color:var(--muted);text-align:left;transition:background-color .2s,color .2s}.stepper button:disabled{cursor:default}.stepper button:not(:disabled):hover{background:var(--mist)}.stepper__n{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);background:var(--white);font-size:.8125rem;font-weight:700}.stepper__t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stepper [data-state=done] .stepper__n{border-color:var(--forest);background:var(--forest);color:#fff;font-size:0}.stepper [data-state=done] .stepper__n:before{content:"";width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}.stepper [data-state=done] button{color:var(--forest)}.stepper button[aria-current=step]{color:var(--ink)}.stepper button[aria-current=step] .stepper__n{border-color:var(--forest);color:var(--forest);box-shadow:0 0 0 4px var(--sage-soft)}@media(max-width:640px){.stepper button:not([aria-current=step]) .stepper__t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.stepper ol{grid-template-columns:repeat(5,auto);justify-content:space-between}}.flow{display:flex;flex-direction:column;flex:1}.step{flex:1;width:100%;max-width:820px;padding:clamp(24px,4vw,48px) clamp(16px,4vw,48px) 32px;animation:enter .45s var(--ease)}@keyframes enter{0%{opacity:0;transform:translateY(10px)}}.step__title{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:750;letter-spacing:-.035em;line-height:1.1}.step__title:focus{outline:none}.step__lede{margin-top:8px;color:var(--muted);max-width:40em}.group{margin:28px 0 0;padding:0;border:0}.group legend{display:flex;align-items:center;gap:10px;padding:0;margin-bottom:12px;font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.list{display:grid;gap:10px}.opt-card{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 16px;min-height:72px;padding:16px 18px 16px 52px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--white);cursor:pointer;transition:border-color .2s,box-shadow .2s,background-color .2s}.opt-card:hover{border-color:#b9c7b2}.opt-card input{position:absolute;left:18px;top:50%;width:20px;height:20px;margin:0;transform:translateY(-50%);accent-color:var(--forest);cursor:pointer}.opt-card:has(input:checked){border-color:var(--forest);background:#fbfcf9;box-shadow:0 0 0 1px var(--forest),0 12px 24px -18px #2f4a3a99}.opt-card:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.opt-card input:focus-visible{outline:none}.opt-card__name{font-weight:700;font-size:1.0625rem}.opt-card__meta{grid-column:1;color:var(--muted);font-size:.9375rem}.opt-card__price{grid-row:1 / span 2;grid-column:2;font-weight:700;font-size:1.0625rem}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:28px 0 0;padding:0;border:0}.person{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 14px;min-height:92px;padding:16px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--white);cursor:pointer;transition:border-color .2s,box-shadow .2s}.person input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.person:hover{border-color:#b9c7b2}.person:has(input:checked){border-color:var(--forest);box-shadow:0 0 0 1px var(--forest)}.person:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.avatar{grid-row:span 2;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--av, var(--sage-soft));color:var(--forest-2);font-weight:750;letter-spacing:.02em}.avatar--any{background:var(--forest);color:#fff}.avatar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.person__name{font-weight:700}.person__role{color:var(--muted);font-size:.9375rem}.person--any{grid-column:1 / -1}@media(max-width:560px){.cards{grid-template-columns:1fr}}.when{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:24px;margin-top:24px;align-items:start}@media(max-width:760px){.when{grid-template-columns:1fr}}.cal{padding:16px;border-radius:var(--r);background:var(--white);border:1px solid var(--line)}.cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal__month{font-size:1.0625rem;font-weight:700}.cal__nav{display:grid;place-items:center;width:44px;height:44px;border-radius:12px}.cal__nav:hover:not(:disabled){background:var(--mist)}.cal__nav:disabled{opacity:.3;cursor:not-allowed}.cal__nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.cal__grid{width:100%;border-collapse:collapse;table-layout:fixed}.cal__grid th{padding:6px 0;font-size:.75rem;font-weight:700;color:var(--muted)}.cal__grid td{padding:2px;text-align:center}.day{display:grid;place-items:center;width:100%;aspect-ratio:1;max-width:44px;min-height:40px;margin-inline:auto;border-radius:50%;font-weight:600;font-size:.9375rem;font-variant-numeric:tabular-nums;transition:background-color .15s,color .15s}.day:hover:not([aria-disabled=true]){background:var(--mist)}.day[aria-disabled=true]{color:#b5beb6;cursor:not-allowed;text-decoration:line-through;text-decoration-color:#b5beb699}.day[data-today]{box-shadow:inset 0 0 0 1.5px var(--sage)}.day[aria-selected=true]{background:var(--forest);color:#fff;box-shadow:none}.day:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.cal__help{margin-top:8px;font-size:.8125rem;color:var(--muted)}.slots{display:grid;gap:18px}.slots__date{font-weight:700;font-size:1.0625rem}.slots__empty{padding:24px;border-radius:var(--r);border:1.5px dashed var(--line);color:var(--muted)}.slot-group{margin:0;padding:0;border:0}.slot-group legend{padding:0;margin-bottom:8px;font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.slot-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:8px}.slot{position:relative}.slot input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.slot span{display:grid;place-items:center;min-height:46px;border-radius:12px;border:1.5px solid var(--line);background:var(--white);font-weight:650;font-variant-numeric:tabular-nums;transition:background-color .15s,border-color .15s,color .15s}.slot:hover span{border-color:var(--sage)}.slot input:checked+span{background:var(--forest);border-color:var(--forest);color:#fff}.slot input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.field{display:grid;gap:8px;align-content:start;min-width:0}.field--wide{grid-column:1 / -1}.field label,.toggle-group legend{font-weight:650;font-size:.9375rem}.opt{font-weight:450;color:var(--muted)}.field input,.field textarea{width:100%;min-height:50px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--white);font-size:1rem;transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 4px #2f4a3a24}.field [aria-invalid=true]{border-color:var(--error)}.toggle-group{margin:0;padding:0;border:0}.toggle-group legend{padding:0;margin-bottom:8px}.toggles{display:inline-grid;grid-auto-flow:column;gap:4px;padding:4px;border-radius:14px;background:var(--mist)}.toggles label{position:relative}.toggles input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.toggles span{display:grid;place-items:center;min-height:42px;padding:8px 16px;border-radius:10px;font-weight:600;font-size:.9375rem;color:var(--muted)}.toggles input:checked+span{background:var(--white);color:var(--ink);box-shadow:0 2px 8px -4px #1d2b2459}.toggles input:focus-visible+span{outline:3px solid var(--focus)}.check{display:flex;align-items:center;gap:10px;font-weight:550;cursor:pointer}.check input{width:22px;height:22px;accent-color:var(--forest)}@media(max-width:560px){.fields{grid-template-columns:1fr}}.err{margin-top:12px;color:var(--error);font-weight:600;font-size:.9375rem}.field .err{margin-top:0}.review{display:grid;margin-top:24px;border-radius:var(--r);background:var(--white);border:1px solid var(--line);overflow:hidden}.review__row{display:grid;grid-template-columns:8.5em 1fr auto;gap:4px 16px;align-items:baseline;padding:16px 18px;border-bottom:1px solid var(--line)}.review__row:last-child{border-bottom:0}.review__k{color:var(--muted);font-size:.9375rem;font-weight:600}.review__v{font-weight:650;overflow-wrap:anywhere}.review__v small{display:block;font-weight:450;color:var(--muted)}.review__edit{min-height:36px;padding:4px 10px;border-radius:8px;color:var(--forest);font-weight:700;font-size:.9375rem}.review__edit:hover,.review__total{background:var(--mist)}.review__total .review__v{font-size:1.125rem}@media(max-width:520px){.review__row{grid-template-columns:1fr auto}.review__v{grid-column:1}.review__edit{grid-row:1 / span 2;grid-column:2;align-self:center}}.policy{margin-top:16px;color:var(--muted);font-size:.9375rem}.policy__demo{margin-top:14px;background:#fff7ed;border:1px solid #f3d8b8;color:#6b4423}.bar{position:sticky;bottom:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:12px 20px;padding:14px calc(clamp(16px,4vw,48px) + var(--host-badge-w, 0px)) calc(14px + env(safe-area-inset-bottom)) clamp(16px,4vw,48px);background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -12px 32px -24px #1d2b2466}.bar__summary{min-width:0}.bar__main{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar__sub{font-size:.875rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar__actions{display:flex;flex:none;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 22px;border-radius:14px;font-weight:700;font-size:1rem;white-space:nowrap;transition:background-color .2s,color .2s,transform .15s}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--forest);color:#fff}.btn--primary:hover{background:var(--forest-2)}.btn--quiet{background:var(--mist);color:var(--forest)}.btn--quiet:hover{background:var(--sage-soft)}@media(max-width:480px){.bar{flex-wrap:wrap;padding-right:clamp(16px,4vw,48px);padding-bottom:calc(14px + env(safe-area-inset-bottom) + var(--host-badge-h, 0px))}.bar__summary,.bar__actions{flex:1 1 100%}.bar__actions .btn{flex:1}}.done{display:grid;justify-items:start;gap:16px;width:100%;max-width:720px;padding:clamp(32px,6vw,72px) clamp(16px,4vw,48px) 48px;animation:enter .6s var(--ease)}.done__check svg{width:72px;height:72px;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.done__check circle{fill:var(--sage-soft);stroke:none}.done__check path{stroke:var(--forest);stroke-dasharray:50;stroke-dashoffset:50;animation:draw .7s .2s var(--ease) forwards}@keyframes draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.done__check path{stroke-dashoffset:0}}.done__tag{padding:5px 12px;border-radius:999px;background:#fff1df;color:#7a4a1c;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.done__title{font-size:clamp(2rem,4vw,2.8rem);font-weight:750;letter-spacing:-.04em;line-height:1.05}.done__title:focus{outline:none}.done__card{display:grid;grid-template-columns:110px 1fr;gap:18px;width:100%;padding:16px;border-radius:var(--r);background:var(--white);border:1px solid var(--line)}.done__card img{width:110px;height:100%;min-height:140px;object-fit:cover;border-radius:12px}.done__card dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;align-content:center;margin:0}.done__card dt{color:var(--muted);font-size:.9375rem}.done__card dd{margin:0;font-weight:650;overflow-wrap:anywhere}@media(max-width:480px){.done__card{grid-template-columns:1fr}.done__card img{display:none}}.done__actions{display:flex;flex-wrap:wrap;gap:10px}.done__note{background:var(--mist);color:var(--muted)}
