@font-face{font-family:Lobster;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/lobster-cyrillic-ext-400-normal.CAda7jDo.woff2)format("woff2"),url(/_astro/lobster-cyrillic-ext-400-normal.CTC7nHHC.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lobster;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/lobster-cyrillic-400-normal.DeMp0mA3.woff2)format("woff2"),url(/_astro/lobster-cyrillic-400-normal.C0k4M1Yq.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Lobster;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/lobster-vietnamese-400-normal.t7FFQ-Nt.woff2)format("woff2"),url(/_astro/lobster-vietnamese-400-normal.CQxa60ei.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lobster;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/lobster-latin-ext-400-normal.CBN1Kyd4.woff2)format("woff2"),url(/_astro/lobster-latin-ext-400-normal.DjkE4ffB.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Lobster;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/lobster-latin-400-normal.VmWungf4.woff2)format("woff2"),url(/_astro/lobster-latin-400-normal.Cc8ENR_t.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--midnight-navy:#0d1b2a;--deep-navy:#1a2e42;--ocean-navy:#2c5282;--gold:#c8a96e;--gold-light:#d9bc8a;--gold-deep:#8a6b20;--warm-cream:#f5f0e8;--off-white:#faf8f4;--antique:#ede5d4;--slate-blue:#4a6b8a;--blue-onetime:#6ba3d6;--slate-guesty:#8aaabb;--green-light:#2d7a5f;--amber-light:#8a6420;--red-light:#9b3a3a;--green-dark:#5dc99a;--amber-dark:#d4a84b;--red-dark:#e07878;--font-ui:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-serif:var(--font-ui);--font-brand:"Lobster", cursive;--radius:16px;--radius-sm:11px;--radius-field:12px;--shadow:0 2px 14px #0d1b2a1a;--banner-h:30px;--sat:env(safe-area-inset-top);--sab:env(safe-area-inset-bottom);--sal:env(safe-area-inset-left);--sar:env(safe-area-inset-right);--glass-bg:#ffffffbd;--glass-bg-strong:#ffffffe0;--glass-edge:#ffffffd9;--glass-line:#0d1b2a1a;--glass-shadow:0 14px 40px #0d1b2a24, 0 1px 2px #0d1b2a0d;--glass-blur:20px;--glass-filter:saturate(120%) blur(var(--glass-blur));--spring:cubic-bezier(.34, 1.45, .64, 1);--ease-out:cubic-bezier(.2, .8, .2, 1);--bg:#f2f2f7;--surface:#fff;--surface-2:#f2f2f7;--text:#000;--leaf-ink:#000;--text-mute:#6e6e73;--text-soft:#6e6e73;--border:#d1d1d6;--border-soft:#e5e5ea;--accent:#000;--accent-text:#fff;--accent-ink:#000;--accent-tint:#0000000f;--accent-tint-strong:#0000001f;--accent-line:#00000024;--accent-edge:#ffffffa6;--gold-ink:var(--text);--ok:var(--green-light);--ok-bg:#e4f2ec;--warn:var(--amber-light);--warn-bg:#fbf3e1;--bad:var(--red-light);--bad-bg:#f6e4e4;--info:#3d6fa3;--info-bg:#e3edf7;--neutral-bg:#eef2f5;--you-dot:#c64a42;--raised:#fff;--fl-recurring:#1f7a78;--fl-recurring-bg:#ddf1ef;--fl-guesty:#2f6497;--fl-guesty-bg:#e3edf7;--fl-onetime:#b4553a;--fl-onetime-bg:#f9e5de;--fl-sub:#6f4e9c;--fl-sub-bg:#ede6f6;--fl-walkthrough:#5a7387;--fl-walkthrough-bg:#eef2f5}html[data-theme=dark],html.auto-dark,[data-theme=dark]{color-scheme:dark;--shadow:0 2px 14px #00000080;--bg:#000;--surface:#1c1c1e;--surface-2:#2c2c2e;--raised:#636366;--text:#fff;--leaf-ink:#f5f0e8;--text-mute:#a1a1a8;--text-soft:#8e8e93;--border:#48484a;--border-soft:#38383a;--gold-deep:#e0c48f;--gold-ink:var(--text);--accent:#f2f2f7;--accent-text:#0d1b2a;--accent-ink:#fff;--accent-tint:#ffffff1f;--accent-tint-strong:#fff3;--accent-line:#ffffff24;--accent-edge:#ffffff1a;--ok:#30d158;--ok-bg:#30d15829;--warn:#ffd60a;--warn-bg:#ffd60a24;--bad:#ff453a;--bad-bg:#ff453a29;--info:#409cff;--info-bg:#409cff2e;--neutral-bg:#2c2c2e;--you-dot:#e8736b;--fl-recurring:#40c8e0;--fl-recurring-bg:#40c8e029;--fl-guesty:#409cff;--fl-guesty-bg:#409cff29;--fl-onetime:#ff9f0a;--fl-onetime-bg:#ff9f0a29;--fl-sub:#bf5af2;--fl-sub-bg:#bf5af229;--fl-walkthrough:#aeaeb2;--fl-walkthrough-bg:#8e8e9333;--glass-bg:#1c1c1ebd;--glass-bg-strong:#1c1c1ee6;--glass-filter:saturate(115%) blur(var(--glass-blur));--glass-edge:#ffffff24;--glass-line:#ffffff14;--glass-shadow:0 14px 40px #0000009e, 0 1px 2px #0006}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.45}img{max-width:100%;display:block}a{color:inherit}button{font:inherit;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:0}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-field);width:100%;padding:11px 12px;font-size:16px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-ink);outline-offset:0;border-color:#0000}button:focus-visible,a:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;border-radius:6px}label{color:var(--text-mute);letter-spacing:.02em;margin:0 0 5px;font-size:13px;font-weight:600;display:block}::placeholder{color:var(--text-soft);opacity:.8}.app-header{padding:calc(12px + var(--sat)) 18px 10px;margin:calc(-1 * var(--sat)) auto 0;max-width:1180px;top:var(--banner-h);z-index:80;background:var(--glass-bg);backdrop-filter:var(--glass-filter);border-bottom:.5px solid #0000;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;transition:border-color .18s,background .18s;display:grid;position:sticky}.app-header.title-collapsed{border-bottom-color:var(--glass-line);background:var(--glass-bg-strong)}.app-header .head-brand{align-items:center;gap:10px;min-width:0;display:flex}.app-header .head-morph{grid-template-columns:minmax(0,1fr);place-items:center start;min-width:0;max-width:100%;display:grid}.app-header .head-morph>*{transform-origin:0;will-change:transform, opacity, filter;grid-area:1/1;width:max-content;min-width:0}.app-header .head-morph>.head-title{text-overflow:ellipsis;max-width:100%;overflow:hidden}.app-header .head-brand>*,.app-header .head-morph>*{transition:opacity .18s,transform .18s}.app-header.title-scrub .head-brand>*,.app-header.title-scrub .head-morph>*{transition:none}.page-title{transform-origin:50%;will-change:transform, opacity}.app-header .leaf-mark{background:var(--leaf-ink);flex:none;width:22px;height:28px;-webkit-mask:url(/assets/brand/leaf-mask.png) 50%/contain no-repeat;mask:url(/assets/brand/leaf-mask.png) 50%/contain no-repeat}.app-header.title-scrub .head-brand>*{transition:none}.app-header .wordmark{font-family:var(--font-brand);letter-spacing:0;white-space:nowrap;color:var(--text);padding:0 6px 4px 0;font-size:28px;font-weight:400;line-height:1.3}.app-header .head-title{letter-spacing:-.02em;color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;font-size:30px;font-weight:700;line-height:1.15}@media (width>=1024px){.app-header .head-title{font-size:28px}}.app-header.title-collapsed .wordmark{opacity:0}.app-header.title-collapsed .head-title{opacity:1;transform:none}@media (width<=480px){.app-header .wordmark{padding-right:4px;font-size:27px}.app-header{flex-wrap:nowrap;gap:6px;padding-left:12px;padding-right:12px}.app-header .head-brand{flex:none}.app-header .head-meta{gap:6px;min-width:0}}.app-header .head-meta{color:var(--text-soft);align-items:center;gap:8px;margin-left:auto;font-size:12px;display:flex}.app-header>.head-brand{grid-column:2;justify-self:center}.app-header>.head-meta{grid-column:3;justify-self:end;margin-left:0}.app-header .head-morph{justify-items:center}.app-header .head-morph>*{transform-origin:50%}.app-header .head-meta a,.app-header .head-meta button{color:var(--text-mute);white-space:nowrap;font-size:12px;font-weight:600;text-decoration:none}@media (width<=520px){.app-header .head-meta{gap:8px}.app-header .head-meta a,.app-header .head-meta button{font-size:11px}}@media (hover:hover) and (pointer:fine){.app-header .head-meta a:hover,.app-header .head-meta button:hover{color:var(--accent-ink)}}@keyframes viewin{0%{opacity:0;transform:scale(.975)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.reveal{opacity:0;transform:translateY(18px)}.reveal.in{opacity:1;transition:opacity .45s var(--ease-out), transform .55s var(--spring);transform:none}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;padding:16px}.card+.card{margin-top:12px}.card-btn{text-align:left;cursor:pointer;width:100%;display:block}.card-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);margin-bottom:10px;font-size:12.5px;font-weight:600}.section-gap{margin-top:16px}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border-soft);text-align:left;border-radius:14px;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:13px 15px;display:flex}.kpi .kpi-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);font-size:11px;font-weight:700}.kpi .kpi-value{letter-spacing:-.02em;margin-top:3px;font-size:26px;font-weight:700}.kpi .kpi-sub{color:var(--text-mute);margin-top:2px;font-size:12.5px}.kpi.tappable{cursor:pointer}@media (hover:hover) and (pointer:fine){.kpi.tappable:hover{border-color:var(--border)}}.btn{white-space:nowrap;-webkit-tap-highlight-color:transparent;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:13px 20px;font-size:16px;font-weight:600;text-decoration:none;transition:filter .12s,transform 80ms,opacity 80ms;display:inline-flex}.btn:active{opacity:.72;transition-duration:60ms;transform:scale(.96)}.btn{transition:filter .12s ease, transform .38s var(--spring), opacity .12s ease}.btn svg{flex-shrink:0;width:18px;height:18px}.btn-primary{background:var(--accent);color:var(--accent-text);width:100%;font-weight:700;box-shadow:inset 0 1px #ffffff2e}@media (hover:hover) and (pointer:fine){.btn-primary:hover{filter:brightness(1.06)}}.btn-ghost{color:var(--accent-ink);background:var(--accent-tint);border:0;width:100%}@media (hover:hover) and (pointer:fine){.btn-ghost:hover{background:var(--accent-tint-strong)}}.btn-ghost.active-ghost{background:var(--accent-tint-strong);color:var(--text)}.btn-sm{border-radius:999px;width:auto;min-height:44px;padding:8px 16px;font-size:14px}.btn-icon{flex:0 0 44px;width:44px;padding-left:0;padding-right:0}.btn-link{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.btn-row{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.btn-row .btn{flex:1}.btn[disabled]{opacity:.5;pointer-events:none}button.rowitem:active,.card-btn:active,.kpi.tappable:active{background:var(--neutral-bg)}.card-btn:active,.kpi.tappable:active{transform:scale(.985)}.seg button:active{opacity:.6}a,.rowitem,.card-btn{-webkit-tap-highlight-color:transparent}.chip{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.chip-neutral{background:var(--neutral-bg);color:var(--text-mute)}.chip-ok{background:var(--ok-bg);color:var(--ok)}.chip-bad{background:var(--bad-bg);color:var(--bad)}.rowlist{flex-direction:column;display:flex}.rowitem{border-bottom:1px solid var(--border-soft);text-align:left;align-items:center;gap:12px;width:100%;min-height:52px;padding:11px 4px;display:flex}.rowitem:last-child{border-bottom:0}.rowitem-sm{min-height:44px;padding:8px 4px}button.rowitem{cursor:pointer;border-radius:10px}@media (hover:hover) and (pointer:fine){button.rowitem:hover{background:var(--neutral-bg)}}button.rowitem:after{content:"";opacity:.45;background:currentColor;flex:none;width:8px;height:14px;margin-left:-2px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M1 1l6 6-6 6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M1 1l6 6-6 6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}button.rowitem.no-chev:after,.menu-list button.rowitem:after{display:none}.row-main{flex:1;min-width:0}.row-title{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;display:block;overflow:hidden}.row-sub{color:var(--text-mute);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:13.5px;display:block;overflow:hidden}.row-end{text-align:right;flex-shrink:1}.rowitem>.row-main{min-width:42%}.row-chips{margin-top:4px;display:block}.row-chips .chip{white-space:nowrap;margin:0 4px 2px 0}.row-num{font-size:16px;font-weight:600;transition:filter .25s}.sheet-body>.rowlist,.sheet-body>.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;padding:2px 12px}.sheet-body>.rowlist>.rowitem{padding-left:2px;padding-right:2px}.sheet-body>.rowlist>button.rowitem{border-radius:8px}.menu-list .rowitem{min-height:52px;padding:10px 6px}.menu-list .row-title{font-size:16px;font-weight:600}.menu-cancel{background:var(--surface);border:1px solid var(--border-soft);width:100%;min-height:52px;color:var(--text);border-radius:12px;justify-content:center;align-items:center;margin-top:10px;font-size:16px;font-weight:700;display:flex}.menu-cancel:active{opacity:.6}@keyframes veilin{0%{opacity:0}to{opacity:1}}.sheet-veil.closing{animation:.24s both veilout}@keyframes veilout{0%{opacity:1}to{opacity:0}}@keyframes cardin{0%{opacity:0;transform:scale(.36)}40%{opacity:1}to{opacity:1;transform:none}}@keyframes cardshape{0%{clip-path:inset(0 round 40px)}to{clip-path:inset(0)}}@keyframes cardout{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.42)}}@keyframes cardshape-out{0%{clip-path:inset(0)}to{clip-path:inset(0 round 40px)}}@keyframes slideup{0%{opacity:.5;transform:translateY(28px)scale(.985)}to{opacity:1;transform:none}}@keyframes slideout{to{opacity:0;transform:translate(40px)}}@keyframes slidein{0%{opacity:.5;transform:translate(40px)}to{opacity:1;transform:none}}.sheet-veil{z-index:210;backdrop-filter:blur(10px)saturate(120%);background:#070e1673;justify-content:center;align-items:flex-end;animation:.2s both veilin;display:flex;position:fixed;inset:0}.sheet.closing{animation:.24s cubic-bezier(.4,0,.2,1) both sheetout}@keyframes sheetout{to{opacity:0;transform:translateY(40px)scale(.985)}}@media (width<=699px){.sheet.from-tap{will-change:transform, opacity, clip-path;animation:cardin .5s var(--spring) both, cardshape .42s var(--ease-out) both}.sheet.from-tap.closing{animation:.28s cubic-bezier(.4,0,.2,1) both cardout,.28s cubic-bezier(.4,0,.2,1) both cardshape-out}}.sheet{background:var(--bg);width:100%;max-width:560px;padding:18px 18px calc(20px + env(safe-area-inset-bottom));max-height:86vh;animation:slideup .44s var(--spring);box-shadow:inset 0 1px 0 var(--glass-edge), 0 -8px 40px #0000002e;border-radius:20px 20px 0 0;overflow:hidden auto}.sheet .sheet-actions{bottom:calc(-1 * (20px + env(safe-area-inset-bottom)));background:var(--bg);padding:10px 0 calc(12px + env(safe-area-inset-bottom));margin-bottom:calc(-1 * (20px + env(safe-area-inset-bottom)));position:sticky;box-shadow:0 -8px 16px -12px #070e1659}@media (width>=700px){.sheet-veil{align-items:center}.sheet{border-radius:20px}}.sheet-handle{background:var(--border);border-radius:2px;width:36px;height:4px;margin:-6px auto 10px}.sheet h3{margin-bottom:4px;font-size:18px;font-weight:700}.sheet .sheet-sub{color:var(--text-mute);margin-bottom:14px;font-size:14px}.sec-title{letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);margin:18px 0 6px 4px;font-size:13px;font-weight:600}.sec-title:first-child{margin-top:4px}input[type=checkbox],input[type=radio]{-webkit-appearance:none;appearance:none;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;vertical-align:middle;border-radius:50%;flex:none;place-content:center;width:22px;height:22px;margin:0;padding:0;display:inline-grid}input[type=checkbox]:before,input[type=radio]:before{content:"";background:var(--accent-text);border-radius:50%;width:60%;height:60%;transition:transform .12s;transform:scale(0);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:before,input[type=radio]:checked:before{background:var(--accent-text);transform:scale(1)}input[type=checkbox]:disabled{opacity:.45;cursor:default}input[type=checkbox]:focus{outline:none}input[type=checkbox]:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}#toast-wrap{bottom:calc(92px + env(safe-area-inset-bottom));z-index:400;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;left:0;right:0}@media (width>=1024px){#toast-wrap{bottom:30px}}.toast{color:#fff;text-align:center;background:#1c1c1e;border:1px solid #c8a96e66;border-radius:13px;max-width:min(92vw,480px);padding:11px 18px;font-size:14.5px;font-weight:600;animation:.18s fadein;box-shadow:0 6px 24px #00000059}@keyframes toastDrain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes toastUp{0%{opacity:0;transform:translateY(24px)scale(.92)}to{opacity:1;transform:none}}.toast-up{animation:toastUp .4s var(--spring) both}.seg{background:var(--neutral-bg);box-shadow:inset 0 .5px 0 #0000000a, 0 0 0 .5px var(--glass-line);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg button{min-height:38px;color:var(--text-mute);white-space:nowrap;transition:background .2s var(--ease-out), color .2s ease, transform .35s var(--spring);border-radius:999px;padding:7px 16px;font-size:14px;font-weight:600}.seg button:active{transform:scale(.96)}.seg{position:relative}.seg button{z-index:1;position:relative}.seg button.active{color:var(--text);box-shadow:none;background:0 0}.seg .seg-pill{z-index:0;pointer-events:none;background:var(--raised);box-shadow:inset 0 1px 0 var(--glass-edge), 0 1px 3px #0d1b2a1a, 0 0 0 .5px var(--glass-line);will-change:transform;border-radius:999px;position:absolute;top:0;left:0}.swap-in{animation:swapin .3s var(--ease-out)}@keyframes swapin{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.seg-sm button{padding:6px 12px;font-size:12px}.page-title{letter-spacing:-.02em;text-align:center;margin:6px 0 14px;font-size:30px;font-weight:700;line-height:1.15}@media (width>=1024px){.page-title{font-size:28px}}.empty{text-align:center;color:var(--text-soft);padding:26px 14px;font-size:14.5px}.card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.card-head .card-title{margin:0}@keyframes shimmer{to{background-position:-200% 0}}@keyframes ll-rotate{to{transform:rotate(360deg)}}@keyframes ll-dash{0%{stroke-dasharray:18 260;stroke-dashoffset:0}50%{stroke-dasharray:150 130;stroke-dashoffset:-42px}to{stroke-dasharray:18 260;stroke-dashoffset:-262px}}@keyframes ll-breathe{0%,to{opacity:.88;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.07)}}@keyframes ptr-turn{to{transform:rotate(360deg)}}@keyframes revealRow{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes fest-confetti{0%{opacity:0;transform:translateY(-8px)}18%{opacity:.95}70%{opacity:.85}to{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}html{scroll-behavior:smooth}body{min-width:0;font-size:16px;line-height:1.5;overflow-x:clip}body.menu-open{overflow:hidden}[hidden]{display:none!important}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}picture,svg{max-width:100%;display:block}a{text-underline-offset:.2em;text-decoration-thickness:.08em}h1,h2,h3,p,ul,ol{margin-block-end:var(--space-3)}:where(h1,h2,h3,p,ul,ol):last-child{margin-block-end:0}ul,ol{padding-inline-start:1.25em}p,li{text-wrap:pretty}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html.lenis,html.lenis body{height:auto}html.lenis,.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:clip}.lenis.lenis-smooth iframe{pointer-events:none}[data-rise],[data-paper]{transform-origin:50% 100%}[data-paper] [data-depth]{will-change:transform}:root{--bg:#fff;--banner-h:0px;--space-1:.375rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4.5rem;--space-8:7rem;--film-ink:#1d1d1f;--film-soft:#6e6e73;--film-line:#e2e2e6;--film-card:#fffc;--i:0}h1,.display{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(40px,7vw,76px);font-weight:700;line-height:1.02}h2,.h2{letter-spacing:-.045em;text-wrap:balance;font-size:clamp(28px,8vw,40px);font-weight:800;line-height:1.04}@media (width>=820px){h2,.h2{font-size:clamp(34px,5.4vw,68px);line-height:1.02}}h3{text-wrap:balance;font-size:18px;font-weight:700;line-height:1.25}.h3{letter-spacing:-.02em;text-wrap:balance;font-size:26px;font-weight:700;line-height:1.15}.eyebrow{letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);margin:0 0 10px;font-size:13px;font-weight:600}.lede{color:var(--text-mute);text-wrap:pretty;font-size:18px;line-height:1.5}.shell{max-width:1180px;margin-inline:auto;padding:0 16px}.reading-width{max-width:44rem;margin-inline:auto}.section{padding-block:clamp(64px,10vw,128px);position:relative}.section--ground{background:var(--bg)}.section--surface{background:var(--surface)}.section--dark{background:var(--bg);color:var(--text)}.section-head{margin-inline:auto;text-align:center;max-width:46rem;margin-bottom:clamp(32px,5vw,56px)}.section-head .eyebrow{color:var(--text-mute)}.section-head .h2{max-width:16ch;margin:12px auto var(--space-3)}.section-head .h2:last-child{margin-bottom:0}.section-head .lede{margin-inline:auto;max-width:42rem;margin-bottom:0}.section-head .lede+.section-head__extra{margin-top:var(--space-3)}.section-head__extra{text-align:center;flex-direction:column;align-items:center;display:flex}.section-head__extra>*+*{margin-top:var(--space-3)}.section-head__extra p{color:var(--text-mute)}.section-head__extra :where(ul,ol,div){justify-content:center}.section-body{min-width:0}.cluster{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.stack>*+*{margin-block-start:var(--space-4)}.split{gap:var(--space-5);display:grid}@media (width>=48rem){.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.split>.section-head{margin-bottom:0}}a.rowitem{color:inherit;border-radius:10px;text-decoration:none}@media (hover:hover) and (pointer:fine){a.rowitem:hover{background:var(--neutral-bg)}}a.rowitem:after{content:"";opacity:.45;background:currentColor;flex:none;width:8px;height:14px;margin-left:-2px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M1 1l6 6-6 6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M1 1l6 6-6 6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.rowitem .row-wrap{white-space:normal;line-height:1.35}.inset-group+.inset-group{margin-top:var(--space-4)}html{scroll-padding-top:72px}.app-header.site-header{background:#fffc;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);max-width:none;padding-left:max(16px,50% - 574px);padding-right:max(16px,50% - 574px)}.app-header.site-header[data-scrolled]{border-bottom-color:var(--border-soft);background:var(--glass-bg-strong)}.site-header .head-brand{color:inherit;grid-area:1/2;justify-self:center;text-decoration:none}.site-header .wordmark{font-size:26px}.app-header.site-header .head-title{letter-spacing:-.01em;font-size:17px;font-weight:600;line-height:1.3}.site-header .menu-btn{grid-area:1/1;justify-self:start}.site-side{grid-row:1;align-items:center;min-width:0;display:flex}.site-side--left{grid-column:1;display:none}.site-side--right{grid-column:3;justify-content:flex-end}.site-header .site-quote{flex:none;gap:0;min-height:40px;padding:0 16px}.site-header .site-call{flex:none;gap:6px;min-height:40px;padding:0 14px;font-size:14px}.site-links{display:none}.menu-btn{height:44px;font:600 15px/1 var(--font-ui);color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:8px;margin:-4px 0;padding:0 12px 0 4px;display:inline-flex}.menu-btn svg{flex:none;width:22px;height:22px}@media (width<=480px){.app-header.site-header{gap:6px;padding-left:12px;padding-right:12px}.site-header .wordmark{font-size:22px}.site-header .leaf-mark{width:17px;height:22px}.site-header .head-brand{gap:7px}.site-header .menu-btn{justify-content:center;width:44px;margin-left:-8px;padding:0}.menu-btn__label,.site-quote__long{display:none}.site-header .site-quote{min-height:36px;padding:0 14px;font-size:13.5px}}@media (width>=1200px){.app-header.site-header{column-gap:clamp(24px,3vw,44px)}.site-header .menu-btn{display:none}.site-side{gap:0}.site-side--left{display:flex}.site-links{flex:1;justify-content:space-evenly;align-items:center;gap:12px;min-width:0;display:flex}.site-links a{color:#1d1d1f;white-space:nowrap;align-items:center;min-height:44px;font-size:14.5px;font-weight:500;text-decoration:none;transition:color .18s;display:inline-flex}.site-links a[aria-current=page]{color:var(--text);font-weight:600}@media (hover:hover) and (pointer:fine){.site-links a:hover{color:var(--text-mute)}}}.site-menu{z-index:210;color:var(--text);opacity:0;overscroll-behavior:contain;background:#fff;transition:opacity .25s;position:fixed;inset:0;overflow-y:auto}.site-menu.is-open{opacity:1}.site-menu__inner{min-height:100%;padding:calc(12px + env(safe-area-inset-top,0px)) max(16px, calc(50% - 574px)) calc(24px + env(safe-area-inset-bottom,0px));grid-template-rows:auto 1fr auto;display:grid}.site-menu__top{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;height:44px;display:grid}.site-menu__brand{font-family:var(--font-brand);white-space:nowrap;grid-column:2;justify-self:center;align-items:center;gap:8px;font-size:24px;line-height:1.3;display:inline-flex}.site-menu__leaf{background:var(--leaf-ink);flex:none;width:17px;height:22px;-webkit-mask:url(/assets/brand/leaf-mask.png) 50%/contain no-repeat;mask:url(/assets/brand/leaf-mask.png) 50%/contain no-repeat}.site-menu__close{width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;grid-column:3;justify-self:end;place-items:center;margin-right:-4px;padding:0;display:inline-grid}.site-menu__close svg{background:var(--surface-2);box-sizing:border-box;border-radius:50%;width:36px;height:36px;padding:8px}.site-menu__nav{text-align:center;align-content:start;justify-items:center;gap:2px;padding-top:28px;display:grid}.site-menu__link{letter-spacing:-.03em;color:var(--text);opacity:0;transition:opacity .35s ease calc(var(--i,0) * 30ms), transform .45s var(--ease-out) calc(var(--i,0) * 30ms);padding:6px 0;font-size:clamp(28px,8vw,40px);font-weight:700;line-height:1.15;text-decoration:none;transform:translateY(10px)}.site-menu__link--small{letter-spacing:0;color:var(--text-mute);padding:10px 0;font-size:18px;font-weight:600}.site-menu.is-open .site-menu__link{opacity:1;transform:none}.site-menu__rule{border:0;border-top:1px solid var(--border-soft);width:min(240px,60%);margin:14px 0 8px}.site-menu__actions{gap:10px;width:100%;max-width:340px;margin:24px auto 0;display:grid}.site-menu__actions .btn{min-height:50px;font-size:16px}@media (prefers-reduced-motion:reduce){.site-menu,.site-menu__link{transition:none}}@keyframes page-out{to{opacity:0}}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}::view-transition-old(root){animation:.24s both page-out}::view-transition-new(root){animation:page-in .24s var(--ease-out) both}@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}.page-title-block{padding-block:var(--space-6) var(--space-5);text-align:center}.page-title-block .eyebrow{color:var(--text-mute);margin-block-end:var(--space-2)}.page-sub{max-width:60ch;color:var(--text-mute);text-wrap:pretty;margin:0 auto;font-size:16px;line-height:1.5}.page-title-actions{justify-content:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.page-title-actions .btn{margin:0}@media (width>=48rem){.page-title-block{padding-block:var(--space-7) var(--space-6)}.page-title-block .page-title{font-size:clamp(32px,4.5vw,48px)}}.num-mark{background:var(--accent-tint);letter-spacing:0;width:34px;height:34px;color:var(--text);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:inline-grid}.card-grid{gap:12px;display:grid}.card-grid>.card{margin-top:0}.skip-link{z-index:100;background:var(--text);color:var(--bg);padding:.75rem 1rem;position:fixed;inset:0 auto auto 0;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}.btn-primary,.btn-ghost{width:auto}.btn-block{width:100%}.btn-ghost:not([data-theme=dark] .btn-ghost){color:var(--text);box-shadow:inset 0 0 0 1px var(--border);background:#fff}@media (hover:hover) and (pointer:fine){.btn-ghost:not([data-theme=dark] .btn-ghost):hover{background:#f5f5f7}}.page-title-actions .btn,.service-cta__actions .btn,.service-section__cta .btn,.page-hero__actions .btn{white-space:normal;text-align:center;max-width:100%}.text-link{margin-block:-3px;padding-block:3px;font-weight:700;display:inline-block}.prose p{max-width:65ch}.page-title-block,.quote-intro{background:var(--bg)}html.auto-dark [data-theme=dark],html[data-theme=dark] [data-theme=dark]{background:var(--surface);box-shadow:inset 0 1px var(--border-soft), inset 0 -1px var(--border-soft)}.art{aspect-ratio:3/2;background:#eef3f5;border-radius:24px;position:relative;overflow:hidden;box-shadow:0 1px #00000008,0 30px 60px -36px #3c281459}.art>svg,.art>picture,.art img{object-fit:cover;width:100%;height:100%;display:block}label.btn{margin:0}.field{gap:var(--space-1);grid-template-columns:minmax(0,1fr);display:grid}legend{font-weight:700}.field:has(>select){position:relative}.field:has(>select):after{content:"";background:var(--text-soft);pointer-events:none;grid-area:2/1;width:10px;height:18px;position:absolute;top:50%;right:12px;transform:translateY(-50%);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'%3E%3Cpath d='M2 8l4-4 4 4M2 12l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/10px 18px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'%3E%3Cpath d='M2 8l4-4 4 4M2 12l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/10px 18px no-repeat}.field select{-webkit-appearance:none;appearance:none;padding-right:30px}textarea{resize:vertical;min-height:8rem}fieldset{border:1px solid var(--border-soft);border-radius:var(--radius);min-width:0;padding:var(--space-4);margin:0}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.site-footer[data-astro-cid-3a5wmu7c]{padding-block:var(--space-7) var(--space-4);background:var(--bg);color:var(--text);border-top:1px solid var(--border-soft)}.site-footer__grid[data-astro-cid-3a5wmu7c]{gap:var(--space-6);display:grid}.footer-brand[data-astro-cid-3a5wmu7c]{font-family:var(--font-brand);font-size:28px;text-decoration:none}.site-footer__intro[data-astro-cid-3a5wmu7c] p[data-astro-cid-3a5wmu7c]{max-width:22rem;color:var(--text-mute)}.site-footer[data-astro-cid-3a5wmu7c] h2[data-astro-cid-3a5wmu7c]{margin-bottom:var(--space-3);letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);font-size:13px;font-weight:600}.site-footer[data-astro-cid-3a5wmu7c] ul[data-astro-cid-3a5wmu7c]{margin:0;padding:0;list-style:none}.site-footer[data-astro-cid-3a5wmu7c] li[data-astro-cid-3a5wmu7c]+li[data-astro-cid-3a5wmu7c]{margin-top:var(--space-2)}.site-footer[data-astro-cid-3a5wmu7c] a[data-astro-cid-3a5wmu7c]:not(.btn){text-decoration-color:var(--border)}.site-footer[data-astro-cid-3a5wmu7c] li[data-astro-cid-3a5wmu7c] a[data-astro-cid-3a5wmu7c],.site-footer[data-astro-cid-3a5wmu7c] address[data-astro-cid-3a5wmu7c] a[data-astro-cid-3a5wmu7c],.site-footer__small[data-astro-cid-3a5wmu7c] a[data-astro-cid-3a5wmu7c]{margin-block:-3px;padding-block:3px;display:inline-block}address[data-astro-cid-3a5wmu7c]{font-style:normal;line-height:1.8}.site-footer__small[data-astro-cid-3a5wmu7c]{margin-top:var(--space-4)}.site-footer__base[data-astro-cid-3a5wmu7c]{justify-content:space-between;gap:var(--space-2);border-top:1px solid var(--border-soft);margin-top:var(--space-6);padding-top:var(--space-4);color:var(--text-mute);flex-wrap:wrap;font-size:14px;display:flex}.site-footer__credit[data-astro-cid-3a5wmu7c]{text-align:center;color:var(--text-soft);flex-basis:100%;font-size:12px}.site-footer__credit[data-astro-cid-3a5wmu7c] a[data-astro-cid-3a5wmu7c]{color:inherit;margin-block:-5px;padding-block:5px;display:inline-block}.site-footer__grid[data-astro-cid-3a5wmu7c]{column-gap:var(--space-5);grid-template-columns:auto minmax(0,1fr)}.site-footer__intro[data-astro-cid-3a5wmu7c],.site-footer__services[data-astro-cid-3a5wmu7c]{grid-column:1/-1}.site-footer__contact[data-astro-cid-3a5wmu7c] address[data-astro-cid-3a5wmu7c]{overflow-wrap:anywhere}@media (width>=48rem){.site-footer__grid[data-astro-cid-3a5wmu7c]{column-gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"intro intro""services areas""services contact"}.site-footer__intro[data-astro-cid-3a5wmu7c]{grid-area:intro}.site-footer__services[data-astro-cid-3a5wmu7c]{grid-area:services}.site-footer__areas[data-astro-cid-3a5wmu7c]{grid-area:areas}.site-footer__contact[data-astro-cid-3a5wmu7c]{grid-area:contact}}@media (width>=1024px){.site-footer__grid[data-astro-cid-3a5wmu7c]{grid-template-columns:1.5fr 1fr 1fr 1fr;grid-template-areas:"intro services areas contact"}}.pc-kit[data-astro-cid-crgo2wfr]{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}
