/* Kit Cabin — kitcabin.app
   Static implementation of the Claude Design "Kit Cabin website design". Tokens are ported
   verbatim from the design system; components are reconstructed as plain HTML/CSS (no React,
   no runtime — see README.md). */

/* Display / wordmark face. Licensed webfont (woff2) — ensure a valid Mark Pro web license. */
@font-face{
  font-family:"Mark Pro";
  src:url("assets/fonts/MarkPro-Bold.woff2") format("woff2");
  font-weight:700; font-style:normal; font-display:swap;
}

:root{
  /* Brand — sampled from the app icon */
  --indigo-bright:#556DD9; --indigo-deep:#364283; --indigo-navy:#313E7C;
  --cabin-white:#EEF1FF;
  --swatch-teal:#2AD4B8; --swatch-coral:#FF6B6B; --swatch-violet:#8C5CF6; --swatch-amber:#F5BA39;

  /* App-chrome (light) for the in-app mock cards */
  --app-surface:#FFFFFF; --app-sunken:#F2F2F4; --app-separator:rgba(0,0,0,.10);
  --app-hairline:rgba(0,0,0,.08); --app-text:rgba(0,0,0,.85);
  --app-text-secondary:rgba(0,0,0,.50); --accent:#E1913A;

  /* Brand-page palette (handoff code block) */
  --bp-code-bg:#14141A; --bp-code-fg:#E6E6EA;

  /* Marketing site */
  --site-fg:var(--cabin-white); --site-fg-muted:rgba(238,241,255,.72); --site-fg-faint:rgba(238,241,255,.45);
  --site-card:rgba(255,255,255,.06); --site-card-border:rgba(238,241,255,.14);
  --site-light-bg:#F7F8FC; --site-light-fg:var(--indigo-navy);

  /* Mark Pro is the intended display face but is commercial; system fallback keeps the site
     licensing-safe out of the box (see README). */
  --font-display:"Mark Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --shadow-window:0 30px 80px rgba(15,18,45,.45);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; color:var(--cabin-white); font-family:var(--font-ui); -webkit-font-smoothing:antialiased;
  background:linear-gradient(180deg,#556DD9 0%,#364283 70%) no-repeat top center/100% 1500px, var(--indigo-deep);
  overflow-x:hidden;
}
a{color:#7CE9D6}
a:hover{color:var(--cabin-white)}
:focus-visible{outline:3px solid rgba(42,212,184,.55); outline-offset:3px; border-radius:4px}
img{max-width:100%}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.hidden{display:none !important}

/* Type */
h1.h1{font-family:var(--font-display);font-weight:700;font-size:clamp(44px,6.4vw,76px);letter-spacing:-.03em;line-height:1.02;margin:0;text-wrap:balance}
h2.h2{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,3.4vw,44px);letter-spacing:-.02em;line-height:1.08;margin:14px 0 0;text-wrap:balance}
.lead{font-size:clamp(18px,1.5vw,21px);line-height:1.5;text-wrap:pretty}
.eyebrow{font-family:var(--font-ui);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--swatch-teal)}
.muted{color:var(--site-fg-muted)} .faint{color:var(--site-fg-faint)}
code,.mono{font-family:var(--font-mono)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-ui);font-weight:600;
  font-size:16px;padding:0 26px;height:52px;border-radius:12px;border:1px solid transparent;cursor:pointer;text-decoration:none;
  background:var(--cabin-white);color:var(--indigo-deep);transition:transform .12s ease,filter .12s ease,background .12s ease}
.btn:hover{filter:brightness(1.03);transform:translateY(-1px);color:var(--indigo-deep)}
.btn--ghost{background:transparent;color:var(--cabin-white);border-color:var(--site-card-border)}
.btn--ghost:hover{background:rgba(255,255,255,.06);color:var(--cabin-white)}
.btn--sm{height:38px;font-size:14px;padding:0 16px;border-radius:10px}

/* Nav */
.announce{background:rgba(0,0,0,.22);border-bottom:1px solid rgba(238,241,255,.08);padding:9px 24px;
  display:flex;justify-content:center;gap:10px;align-items:center;font-size:13px;color:rgba(238,241,255,.82);flex-wrap:wrap}
.announce .dot{width:7px;height:7px;border-radius:999px;background:var(--swatch-teal);display:inline-block;margin-right:6px}
.announce a{color:var(--cabin-white);text-decoration:none;border-bottom:1px solid rgba(238,241,255,.35)}
.nav{position:sticky;top:0;z-index:60;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  background:rgba(54,66,131,.72);border-bottom:1px solid rgba(238,241,255,.10)}
.nav__row{display:flex;align-items:center;gap:28px;height:68px}
.nav__links{display:flex;align-items:center;gap:26px}
.nav__links a{font-size:14px;color:var(--site-fg-muted);text-decoration:none}
.nav__links a:hover{color:var(--cabin-white)}
/* buttons keep their own colors even inside link-colored regions */
.nav__links a.btn,.nav__mobile a.btn,.foot__col a.btn{color:var(--indigo-deep)}
.nav__links a.btn--ghost,.nav__mobile a.btn--ghost{color:var(--cabin-white)}
.nav__links a.btn:hover,.nav__mobile a.btn:hover,.foot__col a.btn:hover{color:var(--indigo-deep)}
.nav__links a.btn--ghost:hover{color:var(--cabin-white)}
.wordmark{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--cabin-white)}
.wordmark img{height:26px;width:26px}
.wordmark span{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:-.01em}
.nav__toggle{display:none;background:transparent;border:1px solid var(--site-card-border);border-radius:10px;width:40px;height:38px;
  flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer}
.nav__toggle span{width:16px;height:1.5px;background:var(--cabin-white);display:block}
.nav__mobile{border-top:1px solid rgba(238,241,255,.10);padding:14px 24px 22px;display:flex;flex-direction:column;gap:14px}
.nav__mobile a{font-size:16px;color:var(--cabin-white);text-decoration:none}

/* Sections */
section{padding:clamp(72px,9vw,128px) 0}
.section--light{background:var(--site-light-bg);color:var(--site-light-fg)}
.center{display:flex;flex-direction:column;align-items:center;text-align:center}

/* Feature pillars */
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:42px}
.pillar{border:1px solid var(--site-card-border);background:var(--site-card);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px}
.pillar__icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb,var(--pa,#2AD4B8) 18%,transparent);color:var(--pa,#2AD4B8);font-size:18px}
.pillar h3{font-size:17px;font-weight:600;margin:0;letter-spacing:-.01em}
.pillar p{font-size:15px;line-height:1.55;color:var(--site-fg-muted);margin:0}

/* Cards / chips */
.card{border:1px solid var(--site-card-border);background:var(--site-card);border-radius:16px;padding:18px}
.chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--site-card-border);font-size:14px}
.chip .tick{color:var(--swatch-teal)}

/* Pricing card */
.price{border:1px solid var(--site-card-border);background:rgba(255,255,255,.05);border-radius:20px;padding:28px}
.price__amt{display:flex;align-items:baseline;gap:12px}
.price__amt b{font-family:var(--font-display);font-size:52px;font-weight:700;letter-spacing:-.03em}
.price__was{font-size:20px;color:var(--site-fg-faint);text-decoration:line-through}
.price__sub{font-size:14px;color:var(--site-fg-muted);margin-top:2px}
.price ul{list-style:none;margin:20px 0;padding:0;display:flex;flex-direction:column;gap:10px}
.price li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.price li .tick{color:var(--swatch-teal);flex:0 0 auto;margin-top:2px}
.price__note{font-size:13px;line-height:1.55;color:var(--site-fg-muted);margin:14px 0 0}
.price__req{font-size:13px;color:var(--site-fg-faint);margin-top:12px}
.price .btn{width:100%}

/* FAQ */
.faq{max-width:800px}
.faq details{border-bottom:1px solid var(--site-card-border)}
.faq summary{list-style:none;cursor:pointer;padding:18px 0;font-size:17px;font-weight:600;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--site-fg-faint);font-weight:400;font-size:22px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{margin:0 0 20px;font-size:15px;line-height:1.6;color:var(--site-fg-muted);max-width:64ch}

/* Comparison table (Lingo) */
.cmp{border:1px solid var(--site-card-border);background:var(--site-card);border-radius:20px;overflow:hidden}
.cmp__row{display:grid;grid-template-columns:1.4fr 1fr 1fr;padding:16px 20px;font-size:15px;align-items:center}
.cmp__row+.cmp__row{border-top:1px solid var(--site-card-border)}
.cmp__head{font-size:13px;font-weight:600;color:var(--site-fg-faint);text-transform:uppercase;letter-spacing:.1em}
.cmp b{font-weight:600}

/* In-app mock cards (moves + hero) */
.appcard{border-radius:16px;border:1px solid var(--site-card-border);background:var(--app-surface);color:var(--app-text);padding:18px;--accent:#E1913A}
.swgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.sw{min-width:0;cursor:pointer;background:none;border:0;padding:0;text-align:left;font:inherit}
.sw i{display:block;height:56px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--app-hairline)}
.sw span{display:block;font-size:11px;margin-top:6px;color:var(--app-text-secondary)}
.fmtgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:6px;margin-top:10px}
.fmt{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--app-separator);
  background:var(--app-surface);border-radius:8px;cursor:pointer;font-family:var(--font-ui);text-align:left}
.fmt b{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--app-text-secondary)}
.fmt span{font-size:12px;font-variant-numeric:tabular-nums;color:var(--app-text)}

/* Tile (drag demo) */
.tile{border:1px solid var(--app-hairline);border-radius:12px;overflow:hidden;background:var(--app-surface)}
.tile__body{height:96px;display:flex;align-items:center;justify-content:center;background:var(--app-sunken)}
.tile__body img{width:70%;height:70%;object-fit:contain}
.tile__cap{padding:8px 10px}
.tile__cap b{display:block;font-size:12px;font-weight:600;color:var(--app-text)}
.tile__cap span{display:block;font-size:11px;color:var(--app-text-secondary)}
.slide{border-radius:10px;background:var(--app-sunken);box-shadow:inset 0 0 0 1px var(--app-hairline);display:flex;flex-direction:column;min-height:190px;overflow:hidden;transition:box-shadow .12s ease,background .12s ease}
.slide.is-armed{box-shadow:inset 0 0 0 2px var(--accent)}
.slide__bar{display:flex;align-items:center;gap:6px;padding:7px 10px;background:rgba(0,0,0,.04);font-size:10px;color:var(--app-text-secondary)}

/* Toast */
.toast{position:fixed;left:0;right:0;bottom:28px;display:flex;justify-content:center;z-index:90;pointer-events:none}
.toast b{background:#16161A;color:#fff;font-size:13px;padding:9px 16px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.35);
  opacity:0;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease}
.toast.is-on b{opacity:1;transform:none}

/* Footer */
footer{border-top:1px solid rgba(238,241,255,.10);padding:52px 0 64px}
.foot{display:flex;gap:40px;flex-wrap:wrap;align-items:flex-start}
.foot__col{display:flex;flex-direction:column;gap:9px;min-width:130px}
.foot__col .h{font-size:12px;font-weight:600;color:var(--site-fg-faint);text-transform:uppercase;letter-spacing:.12em}
.foot__col a{font-size:14px;color:var(--site-fg-muted);text-decoration:none}
.foot__col a:hover{color:var(--cabin-white)}
.foot__sw{display:flex;gap:8px;margin-top:18px}
.foot__sw button{width:26px;height:26px;border-radius:7px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);display:block;border:0;cursor:pointer;padding:0}

@media (max-width:900px){
  .nav__links{display:none}
  .nav__toggle{display:flex}
  .moves{grid-template-columns:1fr !important}
  .cmp__row{grid-template-columns:1.2fr 1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none !important;transition:none !important}
}
