/* move³ Design Tokens (Cloud Dancer) — generated from the design system, do not edit here. */
@font-face{font-family:'JetBrains Mono';src:url('../fonts/JetBrainsMono-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/JetBrainsMono-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/JetBrainsMono-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/JetBrainsMono-ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}

/* tokens/colors.css */
/* Cloud Dancer Premium palette — 1:1 from httpdocs/css/cloud-dancer.css.
   --cd-* are the canonical names used by the application; semantic aliases follow.
   Theme mechanism: light is the default, the system preference flips it automatically,
   and data-theme="light" / "dark" on <html> overrides both (higher specificity). */
:root{
  --cd-bg:#f0eee9;
  --cd-bg-sunken:#e7e4dd;
  --cd-bg-alt:#f1f2f0;
  --cd-surface:rgba(255,255,255,.72);
  --cd-surface-hover:rgba(255,255,255,.88);
  --cd-dropdown-bg:#ffffff;
  --cd-surface-solid:#ffffff;
  --cd-surface-rim:rgba(0,0,0,.06);
  --cd-primary:#1b3c2d;
  --cd-primary-dark:#032619;
  --cd-primary-light:#2c4d3d;
  --cd-primary-muted:rgba(27,60,45,.12);
  --cd-on-primary:#ffffff;
  --cd-primary-chip:#1b3c2d;
  --cd-on-primary-chip:#ffffff;
  --cd-success:#2d6a4f;
  --cd-warning:#e07d25;
  --cd-danger:#ba1a1a;
  --cd-info:#1d6b8c;
  --cd-booking-teal:#4a9e8e;
  --cd-booking-teal-bg:rgba(74,158,142,.15);
  --cd-booking-orange:#e07d25;
  --cd-booking-orange-bg:rgba(224,125,37,.15);
  --cd-booking-green:#2d6a4f;
  --cd-booking-green-bg:rgba(45,106,79,.15);
  --cd-text:#1a1c1b;
  --cd-text-secondary:#414844;
  --cd-text-muted:#727973;
  --cd-text-disabled:#a0a7a3;
  --cd-border:#c1c8c2;
  --cd-border-light:rgba(193,200,194,.5);
  --cd-border-subtle:#dcd8d0;
  --cd-logo-color:#1b3c2c;

  /* semantic aliases */
  --surface-page:var(--cd-bg);
  --surface-sunken:var(--cd-bg-sunken);
  --surface-card:var(--cd-surface);
  --surface-card-solid:var(--cd-surface-solid);
  --surface-inverted:var(--cd-primary);
  --text-heading:var(--cd-text);
  --text-body:var(--cd-text-secondary);
  --text-muted:var(--cd-text-muted);
  --text-on-inverted:var(--cd-on-primary);
  --text-link:var(--cd-primary);
  --border-default:var(--cd-border);
  --border-hairline:var(--cd-border-subtle);
  --border-card:var(--cd-surface-rim);
  --action-primary-bg:var(--cd-primary);
  --action-primary-fg:var(--cd-on-primary);
  --action-primary-bg-hover:var(--cd-primary-light);
  --action-quiet-bg:var(--cd-primary-muted);
  --focus-ring:var(--cd-primary);
}

/* follows the system preference */
@media (prefers-color-scheme:dark){
  :root{
  --cd-bg:#111714;
  --cd-bg-sunken:#0b1310;
  --cd-bg-alt:#0d1410;
  --cd-surface:rgba(27,42,33,.75);
  --cd-surface-hover:rgba(35,55,43,.9);
  --cd-dropdown-bg:#1c2e24;
  --cd-surface-solid:#182019;
  --cd-surface-rim:rgba(170,207,186,.12);
  --cd-primary:#aacfba;
  --cd-primary-dark:#c6ebd5;
  --cd-primary-light:#83a793;
  --cd-primary-muted:rgba(170,207,186,.14);
  --cd-on-primary:#002114;
  --cd-primary-chip:#2c4d3d;
  --cd-on-primary-chip:#aacfba;
  --cd-success:#52b788;
  --cd-warning:#f4a261;
  --cd-danger:#ff6b6b;
  --cd-info:#4fc3dc;
  --cd-booking-teal:#52b788;
  --cd-booking-teal-bg:rgba(82,183,136,.18);
  --cd-booking-orange:#f4a261;
  --cd-booking-orange-bg:rgba(244,162,97,.18);
  --cd-booking-green:#74c69d;
  --cd-booking-green-bg:rgba(116,198,157,.18);
  --cd-text:#e2e3e1;
  --cd-text-secondary:#a8b0ab;
  --cd-text-muted:#727973;
  --cd-text-disabled:#4a5048;
  --cd-border:#3a4840;
  --cd-border-light:rgba(58,72,64,.6);
  --cd-border-subtle:#2c3830;
  --cd-logo-color:#4a9e8d;
  }
}

/* explicit overrides — win over the media query on specificity */
:root[data-theme="light"]{
  --cd-bg:#f0eee9;
  --cd-bg-sunken:#e7e4dd;
  --cd-bg-alt:#f1f2f0;
  --cd-surface:rgba(255,255,255,.72);
  --cd-surface-hover:rgba(255,255,255,.88);
  --cd-dropdown-bg:#ffffff;
  --cd-surface-solid:#ffffff;
  --cd-surface-rim:rgba(0,0,0,.06);
  --cd-primary:#1b3c2d;
  --cd-primary-dark:#032619;
  --cd-primary-light:#2c4d3d;
  --cd-primary-muted:rgba(27,60,45,.12);
  --cd-on-primary:#ffffff;
  --cd-primary-chip:#1b3c2d;
  --cd-on-primary-chip:#ffffff;
  --cd-success:#2d6a4f;
  --cd-warning:#e07d25;
  --cd-danger:#ba1a1a;
  --cd-info:#1d6b8c;
  --cd-booking-teal:#4a9e8e;
  --cd-booking-teal-bg:rgba(74,158,142,.15);
  --cd-booking-orange:#e07d25;
  --cd-booking-orange-bg:rgba(224,125,37,.15);
  --cd-booking-green:#2d6a4f;
  --cd-booking-green-bg:rgba(45,106,79,.15);
  --cd-text:#1a1c1b;
  --cd-text-secondary:#414844;
  --cd-text-muted:#727973;
  --cd-text-disabled:#a0a7a3;
  --cd-border:#c1c8c2;
  --cd-border-light:rgba(193,200,194,.5);
  --cd-border-subtle:#dcd8d0;
  --cd-logo-color:#1b3c2c;
}
:root[data-theme="dark"]{
  --cd-bg:#111714;
  --cd-bg-sunken:#0b1310;
  --cd-bg-alt:#0d1410;
  --cd-surface:rgba(27,42,33,.75);
  --cd-surface-hover:rgba(35,55,43,.9);
  --cd-dropdown-bg:#1c2e24;
  --cd-surface-solid:#182019;
  --cd-surface-rim:rgba(170,207,186,.12);
  --cd-primary:#aacfba;
  --cd-primary-dark:#c6ebd5;
  --cd-primary-light:#83a793;
  --cd-primary-muted:rgba(170,207,186,.14);
  --cd-on-primary:#002114;
  --cd-primary-chip:#2c4d3d;
  --cd-on-primary-chip:#aacfba;
  --cd-success:#52b788;
  --cd-warning:#f4a261;
  --cd-danger:#ff6b6b;
  --cd-info:#4fc3dc;
  --cd-booking-teal:#52b788;
  --cd-booking-teal-bg:rgba(82,183,136,.18);
  --cd-booking-orange:#f4a261;
  --cd-booking-orange-bg:rgba(244,162,97,.18);
  --cd-booking-green:#74c69d;
  --cd-booking-green-bg:rgba(116,198,157,.18);
  --cd-text:#e2e3e1;
  --cd-text-secondary:#a8b0ab;
  --cd-text-muted:#727973;
  --cd-text-disabled:#4a5048;
  --cd-border:#3a4840;
  --cd-border-light:rgba(58,72,64,.6);
  --cd-border-subtle:#2c3830;
  --cd-logo-color:#4a9e8d;
}

/* tokens/typography.css */
/* One typeface for everything: JetBrains Mono. 500 is the body default, 800 the headline weight. */
:root{
  --cd-font:'JetBrains Mono','Courier New',monospace;
  --font-mono:var(--cd-font);

  --font-weight-regular:400;
  --font-weight-body:500;
  --font-weight-semibold:600;
  --font-weight-bold:700;
  --font-weight-display:800;

  /* app scale (1:1 from cloud-dancer.css) */
  --text-caption:.72rem;
  --text-meta:.78rem;
  --text-sub:.82rem;
  --text-body-sm:.85rem;
  --text-body-size:.92rem;
  --text-lead:1.05rem;
  --text-h3:.95rem;
  --text-h2:1.3rem;
  --text-h1:clamp(1.4rem,4vw,1.9rem);

  /* website display extension — same face, larger steps */
  --text-display:clamp(2.2rem,6vw,3.6rem);
  --text-display-xl:clamp(2.2rem,4.8vw,3.9rem);

  --leading-display:.95;
  --leading-heading:1.15;
  --leading-body:1.5;
  --leading-tight:1.3;

  --tracking-display:-.04em;
  --tracking-heading:-.03em;
  --tracking-body:-.01em;
  --tracking-eyebrow:.12em;
  --tracking-label:.08em;
}

/* tokens/spacing.css */
:root{
  --space-1:.25rem;
  --space-2:.5rem;
  --space-3:.75rem;
  --space-4:1rem;
  --space-5:1.25rem;
  --space-6:1.5rem;
  --space-8:2rem;
  --space-10:2.5rem;
  --space-12:3rem;
  --space-16:4rem;
  --space-24:6rem;

  --cd-control-h:2.75rem;
  --cd-pad-card:.75rem;
  --cd-pad-card-sm:1.25rem;
  --card-padding:1rem;
  --card-padding-lg:1.4rem;
  --section-gap:clamp(3rem,8vw,6rem);
  --page-max:1120px;
  --prose-max:65ch;
  --page-gutter:clamp(1rem,4vw,2rem) ;
  --header-height:4.5rem;
}

/* tokens/shape.css */
:root{
  --cd-radius-xs:.25rem;
  --cd-radius-sm:.5rem;
  --cd-radius-md:.75rem;
  --cd-radius-lg:1rem;
  --cd-radius-xl:1.5rem;
  --cd-radius-pill:9999px;
  --border-width:1px;
  --border-width-strong:1.5px;
}

/* tokens/elevation.css */
/* Cards are the recurring building block: strong radius, soft glassmorphism shadow,
   semi-transparent fill over a blur. Shadows stay soft and low-contrast. */
:root{
  --cd-shadow-sm:0 2px 8px rgba(0,0,0,.06);
  --cd-shadow:0 8px 32px rgba(0,0,0,.08);
  --cd-shadow-lg:0 16px 48px rgba(0,0,0,.12);
  --cd-shadow-navbar:0 4px 24px rgba(0,0,0,.10);
  --cd-shadow-card:var(--cd-shadow);
  --cd-shadow-raised:var(--cd-shadow-lg);
  --cd-shadow-inset:inset 0 1px 0 rgba(255,255,255,.5);
  --cd-blur:blur(14px); 
  --cd-blur-card:14px;
  --cd-blur-header:14px;
}
@media (prefers-color-scheme:dark){
  :root{
  --cd-shadow-sm:0 2px 8px rgba(0,0,0,.24);
  --cd-shadow:0 8px 32px rgba(0,0,0,.32);
  --cd-shadow-lg:0 16px 48px rgba(0,0,0,.44);
  --cd-shadow-navbar:0 4px 24px rgba(0,0,0,.36);
  --cd-shadow-inset:inset 0 1px 0 rgba(170,207,186,.08);
  }
}
:root[data-theme="light"]{
  --cd-shadow-card:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(26,28,27,.07);
  --cd-shadow-raised:0 2px 4px rgba(0,0,0,.05),0 16px 40px rgba(26,28,27,.10);
  --cd-shadow-inset:inset 0 1px 0 rgba(255,255,255,.5);
}
:root[data-theme="dark"]{
  --cd-shadow-sm:0 2px 8px rgba(0,0,0,.24);
  --cd-shadow:0 8px 32px rgba(0,0,0,.32);
  --cd-shadow-lg:0 16px 48px rgba(0,0,0,.44);
  --cd-shadow-navbar:0 4px 24px rgba(0,0,0,.36);
  --cd-shadow-inset:inset 0 1px 0 rgba(170,207,186,.08);
}

/* tokens/motion.css */
:root{
  --duration-fast:120ms; 
  --duration-base:200ms; 
  --duration-slow:420ms; 
  --duration-reveal:640ms; 
  --ease-out:cubic-bezier(.22,.7,.2,1); 
  --ease-in-out:cubic-bezier(.4,0,.2,1); 
  --reveal-distance:18px;
  --press-scale:.98; 
}
@media (prefers-reduced-motion:reduce){
  :root{
    --duration-fast:0ms; 
    --duration-base:0ms; 
    --duration-slow:0ms; 
    --duration-reveal:0ms; 
    --reveal-distance:0px;
    --press-scale:1; 
  }
}
