.kit-page { background:#f3eee6; }
.kit-main { overflow:hidden; }
.kit-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(18rem,.6fr); gap:clamp(3rem,8vw,8rem); align-items:end; padding:clamp(2rem,5vw,4.5rem) clamp(1.2rem,6vw,7rem) clamp(4.5rem,8vw,8rem); border-bottom:1px solid var(--line); background:#f3eee6; }
.kit-hero>.back-link { grid-column:1/-1; margin-bottom:0; }
.kit-hero h1 { max-width:10ch; margin:0; font-family:var(--serif); font-size:clamp(4rem,8vw,8.8rem); font-weight:500; letter-spacing:-.065em; line-height:.84; }
.kit-hero h1 em { color:var(--coral); font-weight:500; }
.kit-lede { max-width:43rem; margin:2rem 0 0; color:var(--muted); font-size:clamp(1rem,1.4vw,1.2rem); }
.kit-facts { display:grid; margin:2.4rem 0 0; border-top:1px solid var(--ink); }
.kit-facts div { display:grid; grid-template-columns:7rem 1fr; gap:1rem; padding:.75rem 0; border-bottom:1px solid var(--line); }
.kit-facts dt { color:var(--green); font-size:.6rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.kit-facts dd { margin:0; font-family:var(--serif); font-size:.92rem; }
.kit-result-sheet { position:relative; padding:clamp(2rem,4vw,3.5rem); background:#fffaf0; box-shadow:8px 10px 0 rgba(68,103,82,.14),0 24px 48px rgba(54,43,34,.14); transform:rotate(1deg); }
.kit-result-sheet::before { position:absolute; top:-9px; right:0; left:0; height:9px; background:radial-gradient(circle at 8px 0,transparent 7px,#fffaf0 7.5px) 0 0/16px 9px repeat-x; content:""; transform:rotate(180deg); }
.kit-result-sheet .label { color:var(--coral); }
.kit-result-sheet h2 { margin:0 0 1rem; font-family:var(--hand); font-size:clamp(2.3rem,4vw,3.7rem); font-weight:600; line-height:.95; }
.kit-result-sheet p { margin:0; color:var(--muted); }
.kit-jump { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:2rem; }
.kit-jump a { padding:.58rem .85rem; border:1px solid var(--line); border-radius:99px; background:var(--white); color:var(--green); font-size:.67rem; font-weight:600; }
.kit-section { padding:clamp(4.5rem,8vw,8rem) clamp(1.2rem,6vw,7rem); border-bottom:1px solid var(--line); }
.kit-section-head { display:grid; grid-template-columns:minmax(0,.7fr) minmax(20rem,1fr); gap:2rem clamp(3rem,8vw,8rem); margin-bottom:clamp(3rem,6vw,5rem); }
.kit-section-head .label { grid-column:1/-1; margin:0; }
.kit-section-head h2 { max-width:11ch; margin:0; font-family:var(--serif); font-size:clamp(3.2rem,6vw,6rem); font-weight:500; letter-spacing:-.055em; line-height:.9; }
.kit-section-head h2 em { color:var(--coral); font-weight:500; }
.kit-section-head>p { max-width:40rem; margin:0; align-self:end; color:var(--muted); }
.ingredient-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; max-width:70rem; }
.ingredient { display:grid; grid-template-columns:1.5rem 1fr; gap:.8rem; padding:1.2rem 1.25rem; border:1px solid var(--line); background:#fffaf3; }
.ingredient::before { color:var(--coral); content:"□"; font-family:var(--serif); }
.ingredient strong { display:block; font-family:var(--serif); font-size:1.05rem; font-weight:500; }
.ingredient span { display:block; margin-top:.15rem; color:var(--muted); font-size:.73rem; }
.kit-method { background:#dce1d7; }
.kit-steps { display:grid; gap:1.4rem; max-width:76rem; margin:0 auto; }
.kit-step { display:grid; grid-template-columns:4rem minmax(0,1fr); gap:1rem 2rem; padding:clamp(1.5rem,3vw,2.5rem); border:1px solid rgba(68,103,82,.24); border-radius:22px; background:#fffaf3; box-shadow:0 14px 30px rgba(54,43,34,.07); }
.kit-step-number { color:var(--coral); font-family:var(--serif); font-size:1.5rem; }
.kit-step-body h3 { margin:0; font-family:var(--serif); font-size:clamp(1.7rem,3vw,2.6rem); font-weight:500; letter-spacing:-.035em; line-height:1; }
.kit-step-time { display:inline-block; margin:.55rem 0 1rem; color:var(--green); font-size:.6rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.kit-step-body>p,.kit-step-body>ul { max-width:54rem; color:var(--muted); }
.kit-step-body ul { padding-left:1.2rem; }
.kit-step-body li+li { margin-top:.35rem; }
.prompt-card { grid-column:2; overflow:hidden; margin-top:.5rem; border:1px solid #ccbca8; border-radius:14px; background:#fbf3df; }
.prompt-card-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem .9rem; border-bottom:1px solid #d7c9b8; }
.prompt-card-head strong { color:var(--coral); font-family:var(--hand); font-size:1.15rem; }
.copy-button { min-height:2.25rem; padding:.4rem .75rem; border:1px solid var(--green); border-radius:99px; background:var(--green); color:white; font-size:.62rem; font-weight:600; }
.copy-button.copied { background:var(--coral); border-color:var(--coral); }
.prompt-card pre { overflow:auto; margin:0; padding:1rem; color:#423a33; font-family:var(--sans); font-size:.72rem; line-height:1.65; white-space:pre-wrap; }
.kit-note { margin-top:1rem; padding:1rem 1.1rem; border-left:3px solid var(--butter); background:#fffaf0; color:var(--muted); font-size:.73rem; }
.kit-finish { background:#395647; color:white; }
.kit-finish .label { color:#c9d0ca; }
.kit-finish .kit-section-head>p { color:#d6dcd7; }
.finish-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; max-width:70rem; }
.finish-item { display:grid; grid-template-columns:1.4rem 1fr; gap:.75rem; padding:1.1rem 0; border-bottom:1px solid rgba(255,255,255,.25); color:#edf1ee; }
.finish-item::before { color:var(--blue); content:"□"; }
.kit-next { display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; margin-top:3rem; padding-top:2rem; border-top:1px solid rgba(255,255,255,.25); }
.kit-next p { margin:0; color:#d6dcd7; }
.kit-next .button { border-color:white; background:white; color:#395647; box-shadow:none; }

@media (max-width:760px) {
  .kit-hero { grid-template-columns:1fr; padding-top:2rem; }
  .kit-hero>.back-link { grid-column:auto; }
  .kit-hero h1 { font-size:clamp(3.8rem,18vw,5.8rem); }
  .kit-result-sheet { transform:rotate(.5deg); }
  .kit-section-head { grid-template-columns:1fr; }
  .kit-section-head .label { grid-column:auto; }
  .ingredient-grid,.finish-grid { grid-template-columns:1fr; }
  .kit-step { grid-template-columns:2.3rem minmax(0,1fr); gap:1rem; padding:1.25rem; }
  .kit-step-number { font-size:1.05rem; }
  .prompt-card { grid-column:1/-1; }
  .prompt-card-head { align-items:flex-start; flex-direction:column; }
}
