/* ============================================================
   Kit's Kits — storyboard prototype site
   Warm storybook landing. Etsy-first. Inspiration only.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..900;1,9..144,400..700&family=Outfit:wght@300..800&display=swap');

:root{
  --sky:#BFD8E8;
  --sky-soft:#E5F0F6;
  --sky-deep:#9FC3D6;
  --cloud:#FBF8F3;
  --paper:#FFFFFF;
  --slicker:#F2C849;
  --slicker-deep:#D9A91A;
  --warm:#E8B4A0;
  --warm-deep:#C77B5E;
  --leaf:#7CA982;
  --ink:#2C3E50;
  --mute:#6B7588;
  --line:#E6DFD4;

  --shadow-sm:0 3px 10px rgba(44,62,80,.08);
  --shadow:0 10px 28px rgba(44,62,80,.10);
  --shadow-lg:0 20px 50px rgba(44,62,80,.16);

  --r:18px; --r-lg:26px; --r-xl:36px;
  --maxw:1080px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Outfit',sans-serif;
  color:var(--ink);
  background:var(--cloud);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}

/* ---------- typography ---------- */
h1,h2,h3,.display{font-family:'Fraunces',serif; color:var(--ink); letter-spacing:-.01em;}
h1,.display{font-weight:800; line-height:1.04;}
h2{font-weight:700; line-height:1.1;}
h3{font-weight:600; line-height:1.2;}
.lead{font-size:clamp(17px,2.2vw,20px); color:var(--mute); line-height:1.55;}
.eyebrow{font-family:'Outfit',sans-serif; font-weight:700; letter-spacing:.18em; text-transform:uppercase; font-size:12.5px; color:var(--warm-deep);}

/* ---------- layout ---------- */
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 22px;}
.section{padding:clamp(36px,5vw,64px) 0;}
.section + .section{padding-top:clamp(20px,3vw,40px);}
.center{text-align:center;}
.mt-s{margin-top:12px;} .mt-m{margin-top:20px;} .mt-l{margin-top:30px;}

/* gentle reveal — content always visible, only a subtle slide on first paint */
@keyframes revealUp { from { transform:translateY(18px); } to { transform:none; } }
.reveal{animation:revealUp .55s var(--ease) both;}
.reveal.in{animation:none;}
.stagger > *{animation:revealUp .5s var(--ease) both;}
.stagger > *:nth-child(2){animation-delay:.06s;}
.stagger > *:nth-child(3){animation-delay:.12s;}
.stagger > *:nth-child(4){animation-delay:.18s;}
.stagger > *:nth-child(5){animation-delay:.24s;}
.stagger > *:nth-child(6){animation-delay:.30s;}

/* ---------- top nav ---------- */
.nav{position:sticky; top:0; z-index:100; background:rgba(251,248,243,.88); backdrop-filter:saturate(160%) blur(14px); border-bottom:1px solid var(--line);}
.nav-inner{max-width:var(--maxw); margin:0 auto; padding:12px 22px; display:flex; align-items:center; gap:18px;}
.brand{display:flex; align-items:center; gap:10px; font-family:'Fraunces',serif; font-weight:800; color:var(--ink); font-size:19px; white-space:nowrap;}
.brand-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--sky),var(--slicker));display:flex;align-items:center;justify-content:center;font-size:18px;}
.nav-links{display:flex; gap:6px; margin-left:auto; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none;}
.nav-links::-webkit-scrollbar{display:none;}
.nav-links a{font-weight:600; font-size:14.5px; color:var(--ink); padding:7px 12px; border-radius:11px; white-space:nowrap; transition:background .2s;}
.nav-links a:hover{background:var(--sky-soft);}

/* ---------- buttons ---------- */
.btn{display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:16px; padding:14px 24px; border-radius:999px; border:none; cursor:pointer; font-family:'Outfit',sans-serif; transition:transform .18s var(--ease), box-shadow .25s;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:linear-gradient(135deg,var(--slicker),var(--slicker-deep)); color:var(--ink); box-shadow:0 10px 24px rgba(217,169,26,.30);}
.btn-primary:hover{box-shadow:0 14px 30px rgba(217,169,26,.42);}
.btn-ghost{background:var(--paper); color:var(--ink); box-shadow:var(--shadow-sm); border:1px solid var(--line);}
.btn-lg{font-size:17px; padding:16px 30px;}

/* ---------- chips ---------- */
.chip{display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:13.5px; padding:7px 14px; border-radius:999px; background:var(--paper); color:var(--ink); box-shadow:var(--shadow-sm);}
.chip-sky{background:var(--sky-soft); color:#2C5870;}
.chip-warm{background:#FDEFE7; color:var(--warm-deep);}
.chip-leaf{background:#E7F0E8; color:#3F6C48;}
.chip-slicker{background:#FCEFCB; color:#7C5A06;}

/* ---------- hero ---------- */
.hero{position:relative; overflow:hidden; background:linear-gradient(180deg,var(--sky-soft) 0%, var(--cloud) 75%); padding:36px 0 56px;}
.hero .wrap{position:relative; z-index:2;}
.hero-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:32px; align-items:center;}
.hero-copy h1{font-size:clamp(38px,6vw,64px); margin-top:14px;}
.hero-copy .lead{margin-top:18px; max-width:560px;}
.hero-cta{margin-top:26px; display:flex; gap:12px; flex-wrap:wrap;}
.hero-meta{margin-top:18px; display:flex; gap:8px; flex-wrap:wrap;}
.hero-art{position:relative; display:flex; justify-content:center; align-items:center;}
.hero-art svg{width:100%; max-width:420px; height:auto;}

/* decorative drifting clouds (CSS only, no images) */
.cloud-drift{position:absolute; pointer-events:none; opacity:.55; z-index:1;}
.cloud-drift.c1{top:30px; left:-40px; width:140px; height:60px;}
.cloud-drift.c2{top:80px; right:-30px; width:180px; height:70px;}
.cloud-drift.c3{bottom:30px; left:30%; width:110px; height:48px;}

/* ---------- panels (Meet Kit) ---------- */
.meet{background:var(--cloud);}
.meet-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:32px; align-items:center;}
.meet-art{display:flex; justify-content:center;}
.meet-art svg{width:100%; max-width:340px; height:auto;}
.meet-copy h2{font-size:clamp(28px,4vw,40px);}
.meet-copy p{margin-top:14px; font-size:17px; color:var(--ink); line-height:1.6;}
.meet-copy p.lead{color:var(--mute);}
.meet-chips{margin-top:24px; display:flex; gap:8px; flex-wrap:wrap;}

/* ---------- product cards (What Kit Makes) ---------- */
.makes{background:linear-gradient(180deg,var(--cloud), var(--sky-soft));}
.makes-head{text-align:center; max-width:640px; margin:0 auto 36px;}
.makes-head h2{font-size:clamp(28px,4vw,40px); margin-top:10px;}
.makes-head .lead{margin-top:14px;}
.product-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.product-card{background:var(--paper); border-radius:var(--r-lg); padding:24px; box-shadow:var(--shadow); border:1px solid var(--line); display:flex; flex-direction:column; transition:transform .25s var(--ease), box-shadow .25s;}
.product-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-lg);}
.product-art{height:140px; border-radius:var(--r); background:var(--sky-soft); display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.product-art svg{max-width:110px; max-height:120px;}
.product-card h3{font-size:21px;}
.product-line{margin-top:8px; color:var(--mute); font-size:15px; line-height:1.5; font-style:italic; flex:1;}
.product-foot{margin-top:18px; display:flex; align-items:center; justify-content:space-between; gap:12px;}
.price{font-family:'Fraunces',serif; font-weight:800; font-size:20px; color:var(--warm-deep);}
.etsy-btn{font-size:14px; padding:10px 18px; background:var(--ink); color:#fff; border-radius:999px; font-weight:700; transition:background .2s;}
.etsy-btn:hover{background:var(--warm-deep);}

/* ---------- storyboard ---------- */
.story{background:linear-gradient(180deg,var(--sky-soft), var(--sky)); position:relative;}
.story-head{text-align:center; max-width:640px; margin:0 auto 30px;}
.story-head h2{font-size:clamp(28px,4vw,40px); margin-top:10px;}
.story-track{display:grid; grid-template-columns:repeat(6,1fr); gap:14px;}
.panel{background:var(--paper); border-radius:var(--r-lg); padding:18px; box-shadow:var(--shadow); border:1px solid var(--line); position:relative;}
.panel-num{position:absolute; top:14px; left:14px; width:28px; height:28px; border-radius:50%; background:var(--slicker); color:var(--ink); font-family:'Fraunces',serif; font-weight:800; font-size:14px; display:flex; align-items:center; justify-content:center;}
.panel-art{height:120px; border-radius:var(--r); background:var(--sky-soft); display:flex; align-items:center; justify-content:center; margin-bottom:14px; padding-top:12px;}
.panel-art svg{max-width:100px; max-height:100px;}
.panel-text{font-family:'Fraunces',serif; font-weight:500; font-style:italic; font-size:14.5px; color:var(--ink); line-height:1.45; text-align:center;}

/* ---------- why families ---------- */
.why{background:var(--cloud);}
.why-head{text-align:center; max-width:640px; margin:0 auto 30px;}
.why-head h2{font-size:clamp(28px,4vw,40px); margin-top:10px;}
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.why-card{background:var(--paper); border-radius:var(--r-lg); padding:24px; box-shadow:var(--shadow-sm); border:1px solid var(--line);}
.why-icon{width:50px; height:50px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:24px; margin-bottom:14px;}
.why-card h3{font-size:18px;}
.why-card p{margin-top:8px; color:var(--mute); font-size:15px; line-height:1.5;}

/* ---------- etsy CTA ---------- */
.etsy{background:linear-gradient(135deg,var(--slicker),#F6D86F); color:var(--ink); position:relative; overflow:hidden;}
.etsy-inner{text-align:center; max-width:700px; margin:0 auto; position:relative; z-index:2;}
.etsy h2{font-size:clamp(30px,4.5vw,46px);}
.etsy .lead{color:#5C4708; margin-top:14px;}
.etsy-points{margin-top:24px; display:flex; gap:8px; flex-wrap:wrap; justify-content:center;}
.etsy-cta{margin-top:30px;}
.etsy-cta .btn-primary{background:var(--ink); color:#fff; box-shadow:0 12px 30px rgba(44,62,80,.30);}
.etsy-cta .btn-primary:hover{box-shadow:0 16px 36px rgba(44,62,80,.42);}

/* ---------- builder hub ---------- */
.hub{background:linear-gradient(180deg,var(--cloud), var(--sky-soft));}
.hub-head{text-align:center; max-width:680px; margin:0 auto 36px;}
.hub-head h2{font-size:clamp(28px,4vw,40px); margin-top:10px;}
.hub-head .lead{margin-top:14px;}

.hub-block{background:var(--paper); border-radius:var(--r-xl); padding:32px; box-shadow:var(--shadow); border:1px solid var(--line); margin-bottom:24px;}
.hub-block-head{margin-bottom:24px;}
.hub-pill{display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:13.5px; padding:7px 14px; border-radius:999px; margin-bottom:14px;}
.hub-block-head h3{font-size:clamp(22px,3vw,30px); line-height:1.2;}
.hub-lead{margin-top:8px; font-size:16px; color:var(--mute); line-height:1.55; max-width:600px;}
.hub-head-sub{font-family:'Fraunces',serif; font-weight:700; font-size:19px; color:var(--ink); margin:32px 0 16px;}
.hub-card-note{margin-top:20px; padding:18px 22px; background:var(--sky-soft); border-radius:var(--r); font-size:14.5px; color:var(--ink); line-height:1.55; border-left:4px solid var(--sky-deep);}

/* Maker Bench workflow */
.workflow{list-style:none; display:grid; grid-template-columns:repeat(2,1fr); gap:14px; counter-reset:none;}
.workflow li{display:flex; gap:14px; padding:16px 18px; background:var(--sky-soft); border-radius:var(--r); font-size:15px; line-height:1.5; color:var(--ink); align-items:flex-start;}
.workflow strong{color:var(--ink); font-weight:700;}
.step-num{flex-shrink:0; width:28px; height:28px; border-radius:50%; background:var(--slicker); color:var(--ink); font-family:'Fraunces',serif; font-weight:800; font-size:14px; display:flex; align-items:center; justify-content:center;}

/* tool grid */
.tool-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.tool-card{background:var(--cloud); border-radius:var(--r); padding:18px; border:1px solid var(--line);}
.tool-icon{width:42px; height:42px; border-radius:12px; background:var(--paper); display:flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:12px; box-shadow:var(--shadow-sm);}
.tool-card h4{font-family:'Fraunces',serif; font-size:16px; font-weight:600; line-height:1.3; color:var(--ink);}
.tool-card p{margin-top:8px; font-size:13.5px; color:var(--mute); line-height:1.5;}
.tool-card p strong{color:var(--ink);}

/* Buyer Hub */
.buyer-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.buyer-card{background:var(--cloud); border-radius:var(--r); padding:22px; border:1px solid var(--line);}
.buyer-icon{width:46px; height:46px; border-radius:13px; display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:12px;}
.buyer-card h4{font-family:'Fraunces',serif; font-size:18px; font-weight:600; color:var(--ink);}
.buyer-card > p{margin-top:6px; font-size:14px; color:var(--mute); line-height:1.5;}
.resource-list{list-style:none; margin-top:14px; display:flex; flex-direction:column; gap:6px;}
.resource-list li{font-size:13.5px; color:var(--ink); line-height:1.4;}
.resource-list a{color:var(--warm-deep); font-weight:600; text-decoration:none; border-bottom:1px dotted var(--warm-deep); padding-bottom:1px;}
.resource-list a:hover{color:var(--ink); border-color:var(--ink);}

/* Idea Incubator */
.incubator-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.incubator-col{background:var(--cloud); border-radius:var(--r); padding:22px; border:1px solid var(--line);}
.incubator-head{font-family:'Fraunces',serif; font-size:17px; font-weight:700; color:var(--ink); line-height:1.3;}
.incubator-sub{margin-top:6px; font-size:13.5px; color:var(--mute); line-height:1.5;}
.idea-list{list-style:none; margin-top:14px; display:flex; flex-direction:column; gap:8px;}
.idea-list li{font-size:14.5px; color:var(--ink); line-height:1.4; padding:8px 12px; background:var(--paper); border-radius:10px; box-shadow:var(--shadow-sm);}

/* AI assistant block */
.ai-block{margin-top:24px; padding:24px; background:linear-gradient(135deg,#FCEFCB, #FDEFE7); border-radius:var(--r-lg); border:1px solid var(--line);}
.ai-head{margin-bottom:14px;}
.ai-list{list-style:none; display:flex; flex-direction:column; gap:10px;}
.ai-list li{font-size:14.5px; line-height:1.55; color:var(--ink); padding-left:22px; position:relative;}
.ai-list li::before{content:"•"; position:absolute; left:6px; top:-2px; color:var(--warm-deep); font-size:18px; font-weight:800;}
.ai-list strong{color:var(--ink); font-weight:700;}

/* hub responsive */
@media(max-width:860px){
  .workflow{grid-template-columns:1fr;}
  .tool-grid{grid-template-columns:repeat(2,1fr);}
  .buyer-grid{grid-template-columns:repeat(2,1fr);}
  .incubator-grid{grid-template-columns:1fr;}
  .hub-block{padding:24px;}
}
@media(max-width:560px){
  .tool-grid{grid-template-columns:1fr;}
  .buyer-grid{grid-template-columns:1fr;}
  .hub-block{padding:20px;}
  .ai-block{padding:18px;}
}

/* ---------- weather club (future vision) ---------- */
.club{background:linear-gradient(180deg,var(--sky-soft) 0%, #EDE7FB 60%, var(--cloud) 100%); position:relative; overflow:hidden;}
.club-head{text-align:center; max-width:720px; margin:0 auto 36px;}
.club-head h2{font-size:clamp(34px,5vw,52px); margin-top:10px; background:linear-gradient(120deg,#3D7DE0,#8A6FD4,#C77B5E); -webkit-background-clip:text; background-clip:text; color:transparent;}
.club-sub{font-family:'Fraunces',serif; font-style:italic; font-size:clamp(17px,2.4vw,22px); color:var(--ink); margin-top:8px;}
.club-head .lead{margin-top:18px;}
.club-note{margin-top:20px; display:inline-block; padding:10px 20px; border-radius:999px; background:#FCEFCB; color:#7C5A06; font-weight:700; font-size:14px;}

.club-stage{display:grid; grid-template-columns:1fr 1.2fr; gap:36px; align-items:center; margin-top:8px;}
.club-mockup{display:flex; justify-content:center; align-items:center;}
.club-mockup svg{width:100%; max-width:280px; height:auto; filter:drop-shadow(0 18px 40px rgba(44,62,80,.22));}

.club-features{display:grid; grid-template-columns:repeat(2,1fr); gap:14px;}
.club-feat{background:var(--paper); border-radius:var(--r-lg); padding:18px; border:1px solid var(--line); box-shadow:var(--shadow-sm); transition:transform .2s var(--ease), box-shadow .25s;}
.club-feat:hover{transform:translateY(-3px); box-shadow:var(--shadow);}
.club-feat-icon{width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:10px;}
.club-feat h4{font-family:'Fraunces',serif; font-size:17px; font-weight:700; color:var(--ink);}
.club-feat p{margin-top:6px; font-size:13.5px; color:var(--mute); line-height:1.5;}

/* name options */
.club-names{margin-top:36px; text-align:center; padding:24px 22px; background:var(--paper); border-radius:var(--r-lg); border:1px dashed var(--sky-deep); max-width:760px; margin-left:auto; margin-right:auto;}
.club-names-label{font-family:'Outfit',sans-serif; font-weight:700; font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--warm-deep);}
.club-name-row{margin-top:14px; display:flex; gap:10px; flex-wrap:wrap; justify-content:center;}
.club-name{display:inline-flex; align-items:center; padding:10px 18px; border-radius:999px; font-family:'Fraunces',serif; font-weight:600; font-size:15px; color:var(--mute); background:var(--cloud); border:1px solid var(--line);}
.club-name-pick{color:var(--ink); background:linear-gradient(135deg,var(--slicker),#F6D86F); border-color:var(--slicker-deep); font-weight:800; font-size:16.5px; box-shadow:0 6px 16px rgba(217,169,26,.30);}
.club-names-pick{margin-top:14px; font-size:13.5px; color:var(--mute);}
.club-names-pick strong{color:var(--ink); font-family:'Fraunces',serif; font-weight:700;}

/* club responsive */
@media(max-width:860px){
  .club-stage{grid-template-columns:1fr; gap:28px;}
  .club-mockup{order:-1;}
  .club-mockup svg{max-width:240px;}
}
@media(max-width:560px){
  .club-features{grid-template-columns:1fr;}
  .club-name-row{gap:8px;}
  .club-name{font-size:13.5px; padding:8px 14px;}
  .club-name-pick{font-size:14.5px;}
}

/* ---------- footer ---------- */
.foot{background:var(--ink); color:#C7D3E0; padding:36px 0 24px; text-align:center;}
.foot-msg{font-family:'Fraunces',serif; font-style:italic; font-size:19px; color:#FBF8F3; max-width:520px; margin:0 auto;}
.foot-links{margin-top:18px; display:flex; gap:18px; flex-wrap:wrap; justify-content:center; font-size:14px;}
.foot-links a{color:var(--slicker); font-weight:600;}
.foot-disclaimer{margin-top:22px; font-size:12.5px; color:#8194A8; max-width:620px; margin-left:auto; margin-right:auto; line-height:1.5;}

/* ---------- responsive ---------- */
@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr; text-align:center;}
  .hero-art{order:-1; max-width:280px; margin:0 auto;}
  .hero-cta, .hero-meta{justify-content:center;}
  .hero-copy .lead{margin-left:auto; margin-right:auto;}
  .meet-grid{grid-template-columns:1fr; text-align:center;}
  .meet-art{order:-1; max-width:240px; margin:0 auto;}
  .meet-chips{justify-content:center;}
  .product-grid{grid-template-columns:repeat(2,1fr);}
  .story-track{grid-template-columns:repeat(3,1fr);}
  .why-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
  .product-grid{grid-template-columns:1fr;}
  .story-track{grid-template-columns:repeat(2,1fr);}
  .why-grid{grid-template-columns:1fr;}
  .section{padding:32px 0;}
  .section + .section{padding-top:20px;}
  .brand span.full{display:none;}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important; transition:none!important;}
  .reveal,.stagger>*{transform:none!important;}
}
