/* VedHost Studio — one design system for every screen.
 *
 * Each page used to carry its own <style> block: the wizard, the dashboard and
 * the workspace all invented their own greys, their own radius and their own
 * idea of what a button looks like, over Inter and a purple-to-blue gradient —
 * the look this product tells every customer site not to have.
 *
 * The tokens below are the landing page's, so the front door and the app are
 * the same product. Page-specific rules stay in the page; anything that
 * appears on more than one screen belongs here.
 *
 * Cache: served with a content hash, so this file is immutable and edits
 * always reach the browser. See /studio.css in main.py.
 */

/* ------------------------------------------------------------------- tokens */
:root{
  --paper:#FFFFFF;
  --tint:#F2F5F3;           /* white with a breath of the green */
  --tint2:#E9EEEB;
  --ink:#002510;                 /* the green speaks — black is gone */
  --muted:#4F6F5D;
  --line:#E2E7E4;
  --line-strong:#C4CCC7;
  /* The palette is three colours — #002510, black, white — 60/30/10:
     white carries the page, black speaks, the green decides. Every other
     value here is a mix of those three and nothing else. */
  --brand:#002510;
  --brand-soft:#E3EBE6;          /* the green breathed onto white */
  --ok:#0A5C33;                  /* the green, lifted — same hue */
  --danger:#A32A1E;
  --radius:8px;
  --radius-lg:14px;
  --shadow:0 1px 2px rgba(0,20,9,.05);
  --shadow-lift:0 10px 30px -18px rgba(0,20,9,.35);
  --step--1:clamp(.82rem,.79rem + .14vw,.89rem);
  --step-0:clamp(1rem,.96rem + .2vw,1.05rem);
  --step-1:clamp(1.18rem,1.1rem + .34vw,1.38rem);
  --step-2:clamp(1.45rem,1.3rem + .7vw,1.9rem);
  --step-3:clamp(1.8rem,1.55rem + 1.2vw,2.6rem);
  --step-4:clamp(2.4rem,1.7rem + 3.4vw,4.6rem);   /* landing display only */
  --measure:64ch;
  --font-display:"Instrument Sans",system-ui,sans-serif;
  --font-body:"Geist",system-ui,sans-serif;
  /* The sign-in pages: a rounded grotesque for the greeting and an italic
     serif for the line under it. Declared here so a page never names a family
     of its own — one place decides what this product is set in. */
  --font-auth:"Poppins",var(--font-display);
  --font-auth-script:"Instrument Serif",Georgia,serif;
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--font-body);font-size:var(--step-0);line-height:1.6;
  -webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.1;
  letter-spacing:-.028em;margin:0;text-wrap:balance}
h1{font-size:var(--step-3)}
h2{font-size:var(--step-2)}
h3{font-size:var(--step-1)}
p{margin:0}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:2px}
hr{border:0;border-top:1px solid var(--line);margin:0}
::selection{background:var(--brand-soft)}

/* ------------------------------------------------------------------- layout */
.vh-wrap{width:min(1600px,100% - 2.5rem);margin-inline:auto}
.vh-wrap--narrow{width:min(760px,100% - 2.5rem);margin-inline:auto}
.vh-eyebrow{font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);font-weight:600}
.vh-muted{color:var(--muted)}

/* ------------------------------------------------------------------ chrome
   The same header on every screen. Marketing pages add nav links to it; app
   screens carry only the brand and the way out. */
.vh-top{position:sticky;top:0;z-index:40;
  background:color-mix(in srgb,var(--paper) 90%,transparent);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.vh-top__in{display:flex;align-items:center;gap:1.6rem;padding:.85rem 0}
/* A brand, a breadcrumb, three buttons and an avatar do not fit across a
   phone, and the row does not wrap by default — so every studio page hung its
   own header off the right edge and scrolled sideways. Measured at 390px:
   the row wanted 509px. It wraps and tightens instead. */
@media(max-width:720px){
  .vh-top__in{flex-wrap:wrap;gap:.7rem}
  .vh-brand{font-size:1.15rem;margin-right:0}
  .vh-top__auth{margin-left:auto;gap:.5rem}
  .vh-top__in .vh-btn{padding:.42em .8em;font-size:.82rem}
}
.vh-brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.5rem;
  letter-spacing:-.02em;margin-right:auto}
/* The Ved mark: the reference tile flipped — a V with the dot risen. One
   data-URI so every page's header carries the same logo with no sprite. */
.vh-brand__mark{width:32px;height:32px;border-radius:8px;flex:0 0 auto;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 448'%3E%3Crect width='448' height='448' rx='100' fill='%23002510'/%3E%3Ccircle cx='224' cy='82' r='40' fill='%23fff'/%3E%3Cpath d='M128 152 224 328' stroke='%23fff' stroke-width='100' stroke-linecap='round' fill='none'/%3E%3Cpath d='M320 152 224 328' stroke='%23fff' stroke-width='100' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center/contain no-repeat}
.vh-brand span{color:var(--muted);font-weight:400}
.vh-nav{display:flex;gap:1.5rem;font-size:.93rem;color:var(--muted)}
.vh-nav a:hover{color:var(--ink)}
@media(max-width:820px){.vh-nav{display:none}}
.vh-top__auth{margin-left:auto;display:flex;gap:.6rem;align-items:center}
/* A phone header is one row or it is broken: at 390px the brand broke into
   "Ved / Studio" and "Log in" into two lines. Nothing here may wrap; the brand
   shrinks and, once the avatar is there, the Your sites button yields to it —
   the same link sits in the avatar's menu. */
.vh-brand,.vh-top__auth .vh-btn{white-space:nowrap}
@media(max-width:640px){
  .vh-top__in{gap:.9rem;padding:.7rem 0}
  .vh-brand{font-size:1.2rem;gap:.45rem}
  .vh-brand__mark{width:26px;height:26px;border-radius:6px}
  .vh-top__auth:has(.acct) .vh-top__sites{display:none}
}
/* The one footer's columns — every page shows the same one. */
.fcols{display:grid;grid-template-columns:1.6fr repeat(3,1fr) 1.3fr;gap:2.2rem;align-items:start}
@media(max-width:980px){.fcols{grid-template-columns:1fr 1fr 1fr}.fbrand,.fside{grid-column:1/-1}}
@media(max-width:600px){.fcols{grid-template-columns:1fr 1fr}}
.fbrand p{color:var(--muted);margin:.6rem 0 .9rem;max-width:30ch}
.fown{display:inline-flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--ok) 35%,var(--line));background:var(--ok-soft,#EAF3EE);
  color:var(--ok);font-size:.86rem;font-weight:600;border-radius:10px;padding:.5em .9em;text-decoration:none}
.fown svg{width:16px;height:16px}
.fside{display:grid;gap:10px}
.fstatus{display:flex;gap:10px;align-items:center;border-radius:12px;padding:12px 14px;text-decoration:none;background:var(--surface2);color:var(--muted);border:1px solid var(--line)}
.fstatus i{width:10px;height:10px;border-radius:50%;background:var(--line2);flex:0 0 auto}
.fstatus b{display:block;font-size:.9rem;font-weight:600;color:var(--text)}
.fstatus small{font-size:.8rem;text-decoration:underline;text-underline-offset:3px}
.fstatus.is-ok{background:var(--ok-soft,#EAF3EE);border-color:color-mix(in srgb,var(--ok) 30%,var(--line));color:var(--ok)}
.fstatus.is-ok i{background:var(--ok)}
.fstatus.is-bad{background:#FEF3F2;border-color:rgba(163,42,30,.3);color:var(--danger)}
.fstatus.is-bad i{background:var(--danger)}
.fhelp{display:flex;gap:10px;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 14px;
  text-decoration:none;color:var(--text);font-weight:600;font-size:.92rem}
.fhelp svg{width:22px;height:22px;color:var(--muted)}
.fhelp:hover{border-color:var(--brand)}
.fcols h5{margin:0 0 .9rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.fcols ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.fcols a{color:var(--muted)}
.fcols a:hover{color:var(--ink)}
.fbase{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:2.4rem;
  padding-top:1.4rem;border-top:1px solid var(--line);color:var(--muted);font-size:.86rem}
.fbase .spacer,.fbase__links{margin-left:auto}
.fbase__mid{flex:1;text-align:center;min-width:12ch}
.fbase__links{display:flex;gap:1.2rem}
.fbase__links a{color:var(--muted);text-decoration:none}
.fbase__links a:hover{color:var(--ink);text-decoration:underline}
@media(max-width:600px){.fbase__mid{flex-basis:100%;text-align:left;order:3}.fbase__links{margin-left:0}}

.vh-foot{border-top:1px solid var(--line);padding:2rem 0;
  font-size:.88rem;color:var(--muted)}
.vh-foot__in{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.vh-foot__in .vh-spacer{margin-left:auto}
.vh-foot a:hover{color:var(--ink)}

/* ------------------------------------------------------------------ buttons */
.vh-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.62em 1.15em;border-radius:var(--radius);font-weight:600;font-size:.94rem;
  border:1px solid transparent;cursor:pointer;font-family:inherit;line-height:1.3;
  transition:background .15s ease,border-color .15s ease,color .15s ease}
.vh-btn:disabled{opacity:.45;cursor:not-allowed}
/* The button shrinks on a phone. This lived in dashboard.html, so it was the
   only screen whose buttons did — the rest kept desktop padding in a 360px
   column. */
@media(max-width:640px){.vh-btn{padding:.5em .85em;font-size:.88rem}}
.vh-btn--primary{background:var(--brand);color:#fff}
.vh-btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 60%,#001208)}
.vh-btn--go{background:var(--ink);color:var(--paper);border-radius:999px;padding:.7em 1.4em}
.vh-btn--go:hover:not(:disabled){background:var(--brand)}
.vh-btn--quiet{border-color:var(--line-strong);background:transparent;color:var(--ink)}
.vh-btn--quiet:hover:not(:disabled){border-color:var(--ink)}
.vh-btn--ghost{background:transparent;color:var(--muted);padding:.5em .8em}
.vh-btn--ghost:hover:not(:disabled){color:var(--ink);background:var(--tint)}
.vh-btn--danger{border-color:var(--line-strong);color:var(--danger);background:transparent}
.vh-btn--danger:hover:not(:disabled){border-color:var(--danger);background:#FDF4F3}

/* ------------------------------------------------------------------- fields */
.vh-label{display:block;font-weight:600;font-size:.92rem;margin-bottom:.4rem}
.vh-hint{color:var(--muted);font-size:var(--step--1)}
.vh-field{display:block;width:100%;padding:.72em .9em;border:1px solid var(--line-strong);
  border-radius:var(--radius);background:var(--paper);color:inherit;font:inherit;
  transition:border-color .15s ease,box-shadow .15s ease}
.vh-field:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.vh-field::placeholder{color:var(--muted)}
textarea.vh-field{resize:vertical;min-height:7rem;line-height:1.6}

/* Chips are a choice, not decoration: pressed state is a real border, not a tint. */
.vh-chip{border:1px solid var(--line);border-radius:999px;padding:.4em .95em;
  font-size:var(--step--1);color:var(--muted);background:var(--paper);cursor:pointer;
  font-family:inherit;transition:border-color .15s ease,color .15s ease}
.vh-chip:hover{border-color:var(--ink);color:var(--ink)}
.vh-chip[aria-pressed="true"],.vh-chip.is-on{border-color:var(--ink);color:var(--ink);
  font-weight:500}

/* -------------------------------------------------------------------- cards
   A card earns its border by holding something you can act on. Anything that
   is only text gets a hairline and space instead. */
.vh-card{border:1px solid var(--line);border-radius:var(--radius-lg);
  background:var(--paper);padding:1.25rem 1.3rem}
.vh-card--soft{background:var(--tint);border-color:transparent}
.vh-card--pick{cursor:pointer;transition:border-color .15s ease,transform .15s ease}
.vh-card--pick:hover{border-color:var(--line-strong)}
.vh-card--pick.is-on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.vh-card__title{font-family:var(--font-display);font-weight:500;font-size:1.02rem;
  letter-spacing:-.015em}
.vh-card__note{color:var(--muted);font-size:.92rem;margin-top:.3rem}
.vh-rowlist{border-top:1px solid var(--line)}
.vh-rowlist>*{border-bottom:1px solid var(--line);padding:1rem 0}

/* ------------------------------------------------------------------- panels */
.vh-panel{border:1px solid var(--line);border-radius:var(--radius-lg);
  background:var(--paper);overflow:hidden}
.vh-panel__head{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.1rem;
  border-bottom:1px solid var(--line);background:var(--tint)}
.vh-panel__body{padding:1.1rem}

.vh-note{border-left:2px solid var(--line-strong);padding:.2rem 0 .2rem .9rem;
  color:var(--muted);font-size:.93rem}
.vh-note--warn{border-left-color:var(--brand)}
.vh-note--bad{border-left-color:var(--danger);color:var(--danger)}

.vh-tag{display:inline-flex;align-items:center;gap:.3rem;font-size:.76rem;
  border:1px solid var(--line);border-radius:999px;padding:.15em .65em;color:var(--muted);font-weight:600}
.vh-tag--ok{border-color:color-mix(in srgb,var(--ok) 40%,var(--line));color:var(--ok)}
.vh-tag--warn{border-color:color-mix(in srgb,var(--brand) 40%,var(--line));
  color:var(--brand)}

/* ------------------------------------------------------------------- steps */
.vh-steps{display:flex;align-items:center;gap:.9rem;justify-content:center;
  padding:1.4rem 0}
.vh-steps__i{display:flex;align-items:center;gap:.55rem;color:var(--muted);
  font-size:.92rem}
.vh-steps__n{width:26px;height:26px;border-radius:999px;border:1px solid var(--line-strong);
  display:grid;place-items:center;font-size:.8rem;font-variant-numeric:tabular-nums}
.vh-steps__i.is-on{color:var(--ink);font-weight:600}
.vh-steps__i.is-on .vh-steps__n{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.vh-steps__i.is-done .vh-steps__n{background:var(--tint2)}
.vh-steps__bar{flex:1;max-width:120px;height:1px;background:var(--line)}

/* ------------------------------------------------------------------- motion */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important}
}

/* ------------------------------------------------------- the older vocabulary
 * The wizard, dashboard, workspace, account, login, reset, submissions and site
 * admin were each written with their own :root block — the same eighteen names,
 * eight times over, with slate greys and an indigo-to-blue gradient. Their rules
 * are fine; only the values were wrong.
 *
 * Mapping the old names onto the new tokens repaints all eight screens without
 * touching a selector, and lets them be migrated to the .vh-* components one at
 * a time instead of in one risky rewrite. Delete a line here once nothing
 * refers to it.
 */
:root{
  --bg:var(--paper);
  --surface:var(--paper);
  --surface2:var(--tint);
  --line2:var(--line-strong);
  --text:var(--ink);
  --primary:var(--brand);
  --brand2:#001A0B;
  --ghost:var(--tint2);
  --ring:0 0 0 3px var(--brand-soft);
  --sh-sm:var(--shadow);
  --sh:var(--shadow);
  --sh-lg:var(--shadow-lift);
  --done:var(--ok);
  --ok-soft:#EAF3EE;
  --warn:var(--brand);
  --warn-soft:#E3EBE6;
  --c1:var(--brand);
  --c2:var(--brand);
}

/* The gradients those pages painted with two brand colours now resolve to one
   flat colour, which is the intent — but a gradient of one colour still reads
   as a gradient to a browser, so kill the common shapes outright. */
.logo .dot,.brand .dot{background:var(--brand) !important}

/* A question asked back in the chat, with its suggested answers. They toggle
   rather than send on the first tap — a form is usually more than one field,
   and making somebody re-type the first to add a second is the whole reason
   this asked instead of guessing. */
.askrow{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}
.askchip{border:1px solid var(--line);background:var(--paper);color:var(--ink);
  border-radius:999px;padding:.35em .8em;font:inherit;font-size:.84rem;
  cursor:pointer;transition:border-color .15s ease,background .15s ease}
.askchip:hover{border-color:var(--ink)}
.askchip.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,var(--paper));
  font-weight:600}

/* ---- signed-in identity: the initials avatar + its popover -------------
   Rendered by partials/acct.html on every page that knows its user. */
.acct{position:relative}
.acct__avatar{width:36px;height:36px;border-radius:50%;border:0;cursor:pointer;
  background:var(--brand);color:#fff;font-weight:700;font-size:.82rem;
  display:grid;place-items:center;letter-spacing:.02em;transition:box-shadow .15s;
  font-family:inherit}
.acct__avatar:hover{box-shadow:var(--ring)}
.acct__avatar--big{width:42px;height:42px;cursor:default;font-size:.95rem}
.acct__pop{position:absolute;top:calc(100% + 10px);right:0;z-index:60;width:264px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:0 18px 44px -12px rgba(15,23,42,.28);padding:6px;
  opacity:0;transform:translateY(-6px);pointer-events:none;
  /* visibility, not opacity alone. A panel at opacity 0 still counts toward
     the document's scrollWidth, so this 264px menu hung off the right edge of
     every studio page on a phone and gave the whole app a sideways scroll —
     while being invisible, which is why nobody could point at it. It also
     keeps the links out of the tab order while shut. */
  visibility:hidden;
  /* And it can never be wider than the screen it opens on. */
  max-width:calc(100vw - 20px);
  transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}
.acct__pop.open{opacity:1;transform:none;pointer-events:auto;visibility:visible;
  transition:opacity .16s ease,transform .16s ease}
.acct__head{display:flex;align-items:center;gap:11px;padding:10px 10px 12px;
  border-bottom:1px solid var(--line);margin-bottom:6px}
.acct__who{min-width:0;display:flex;flex-direction:column;gap:2px}
.acct__who b{font-size:.92rem}
.acct__who small{color:var(--muted);font-size:.78rem;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.acct__item{display:flex;align-items:center;gap:9px;width:100%;padding:.55em .7em;
  border:0;background:none;font:inherit;font-size:.88rem;color:var(--text);
  border-radius:var(--radius);cursor:pointer;text-align:left;text-decoration:none;
  box-shadow:none}
.acct__item:hover{background:var(--brand-soft);color:var(--text)}
.acct__item svg{width:16px;height:16px;color:var(--muted);flex:0 0 auto}


/* ---------------------------------------------------------------- loader
   The one spinner. Twelve stepped spokes in the brand colour; --s sets the
   size. Markup: <div class="vh-loading"><div class="vh-loader"></div><span>Loading…</span></div> */
.vh-loader{--s:44px;width:var(--s);aspect-ratio:1;display:grid;border-radius:50%;color:var(--brand);flex:0 0 auto;
  background:linear-gradient(0deg,color-mix(in srgb,currentColor 50%,transparent) 30%,#0000 0 70%,currentColor 0) 50%/8% 100%,
             linear-gradient(90deg,color-mix(in srgb,currentColor 25%,transparent) 30%,#0000 0 70%,color-mix(in srgb,currentColor 75%,transparent) 0) 50%/100% 8%;
  background-repeat:no-repeat;animation:vh-l23 1s infinite steps(12)}
.vh-loader::before,.vh-loader::after{content:"";grid-area:1/1;border-radius:50%;background:inherit;opacity:.915;transform:rotate(30deg)}
.vh-loader::after{opacity:.83;transform:rotate(60deg)}
@keyframes vh-l23{100%{transform:rotate(1turn)}}
.vh-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 0;color:var(--muted);font-size:.86rem}
.vh-loading--inline{flex-direction:row;justify-content:flex-start;padding:12px 0;gap:10px}
.vh-loading--inline .vh-loader{--s:22px}
@media (prefers-reduced-motion:reduce){.vh-loader{animation-duration:3s}}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--font-weight-normal:400;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse!important}.invisible{visibility:hidden!important}.visible{visibility:visible!important}.absolute{position:absolute!important}.fixed{position:fixed!important}.relative{position:relative!important}.static{position:static!important}.sticky{position:sticky!important}.container{width:100%!important}@media (min-width:40rem){.container{max-width:40rem!important}}@media (min-width:48rem){.container{max-width:48rem!important}}@media (min-width:64rem){.container{max-width:64rem!important}}@media (min-width:80rem){.container{max-width:80rem!important}}@media (min-width:96rem){.container{max-width:96rem!important}}.mx-auto{margin-inline:auto!important}.mt-\[1\.4rem\]{margin-top:1.4rem!important}.mb-\[clamp\(1\.8rem\,4vw\,3rem\)\]{margin-bottom:clamp(1.8rem,4vw,3rem)!important}.block{display:block!important}.contents{display:contents!important}.flex{display:flex!important}.grid{display:grid!important}.hidden{display:none!important}.inline{display:inline!important}.inline-flex{display:inline-flex!important}.table{display:table!important}.h-4{height:calc(var(--spacing) * 4)!important}.h-auto{height:auto!important}.w-4{width:calc(var(--spacing) * 4)!important}.w-full{width:100%!important}.max-w-\[16ch\]{max-width:16ch!important}.max-w-\[44ch\]{max-width:44ch!important}.min-w-\[420px\]{min-width:420px!important}.flex-shrink,.shrink{flex-shrink:1!important}.flex-grow,.grow{flex-grow:1!important}.border-collapse{border-collapse:collapse!important}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)!important}.resize{resize:both!important}.flex-wrap{flex-wrap:wrap!important}.items-center{align-items:center!important}.gap-2{gap:calc(var(--spacing) * 2)!important}.gap-2\.5{gap:calc(var(--spacing) * 2.5)!important}.rounded{border-radius:.25rem!important}.rounded-full{border-radius:3.40282e38px!important}.rounded-lg{border-radius:var(--radius-lg)!important}.rounded-md{border-radius:var(--radius-md)!important}.border{border-style:var(--tw-border-style)!important;border-width:1px!important}.border-\(--brand\)\/25{border-color:var(--brand)!important}@supports (color:color-mix(in lab, red, red)){.border-\(--brand\)\/25{border-color:color-mix(in oklab, var(--brand) 25%, transparent)!important}}.bg-\(--brand-soft\){background-color:var(--brand-soft)!important}.bg-\[\#2C2C2C\]{background-color:#2c2c2c!important}.object-cover{object-fit:cover!important}.px-3{padding-inline:calc(var(--spacing) * 3)!important}.px-5{padding-inline:calc(var(--spacing) * 5)!important}.py-1{padding-block:var(--spacing)!important}.pt-\[clamp\(3\.5rem\,10vw\,8rem\)\]{padding-top:clamp(3.5rem,10vw,8rem)!important}.pb-\[clamp\(3rem\,6vw\,5rem\)\]{padding-bottom:clamp(3rem,6vw,5rem)!important}.text-center{text-align:center!important}.text-\(length\:--step-1\){font-size:var(--step-1)!important}.text-\(length\:--step-4\){font-size:var(--step-4)!important}.text-\[0\.86rem\]{font-size:.86rem!important}.font-normal{--tw-font-weight:var(--font-weight-normal)!important;font-weight:var(--font-weight-normal)!important}.font-semibold{--tw-font-weight:var(--font-weight-semibold)!important;font-weight:var(--font-weight-semibold)!important}.\[text-wrap\:balance\]{text-wrap:balance!important}.\[text-wrap\:pretty\]{text-wrap:pretty!important}.text-wrap{text-wrap:wrap!important}.text-\(--brand\){color:var(--brand)!important}.text-\(--muted\){color:var(--muted)!important}.text-\[\#FDFBF7\]{color:#fdfbf7!important}.lowercase{text-transform:lowercase!important}.uppercase{text-transform:uppercase!important}.italic{font-style:italic!important}.tabular-nums{--tw-numeric-spacing:tabular-nums!important;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)!important}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.outline{outline-style:var(--tw-outline-style)!important;outline-width:1px!important}.blur{--tw-blur:blur(8px)!important;filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.grayscale{--tw-grayscale:grayscale(100%)!important;filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)!important;backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.ease-in{--tw-ease:var(--ease-in)!important;transition-timing-function:var(--ease-in)!important}.ease-in-out{--tw-ease:var(--ease-in-out)!important;transition-timing-function:var(--ease-in-out)!important}.ease-out{--tw-ease:var(--ease-out)!important;transition-timing-function:var(--ease-out)!important}@media (min-width:48rem){.md\:flex{display:flex!important}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}