@import url("tokens.css");
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--canvas);color:var(--ink);font:400 15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;text-wrap:balance;color:var(--red)}
h1{font-size:clamp(2.5rem,7vw,4.6rem);letter-spacing:-.015em}
h2{font-size:clamp(1.9rem,4.4vw,2.8rem);letter-spacing:-.01em}
h3{font-size:1.4rem}
p{text-wrap:pretty}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.lead{color:var(--muted);font-size:1.05rem;max-width:32rem}
.center{text-align:center}.center .lead{margin-inline:auto}
section{padding:40px 0}
.small{font-size:.85rem;color:var(--muted)}

/* nav */
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 16px;max-width:var(--wrap);margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:500;font-size:1.2rem;color:var(--red);text-decoration:none}
.brand svg{width:28px;height:28px}
.nav{flex-wrap:wrap}
.nav ul{order:3;width:100%;display:flex;list-style:none;gap:4px;font-size:.9rem;color:var(--muted);overflow-x:auto;scrollbar-width:none;margin:0 -8px}
.nav ul::-webkit-scrollbar{display:none}
.nav ul a{white-space:nowrap}
.nav ul a[aria-current]{background:var(--blush-soft);color:var(--red)}
.nav ul a{display:block;padding:8px 14px;border-radius:var(--r-pill);text-decoration:none;transition:background var(--t) var(--ease),color var(--t) var(--ease)}
.nav ul a:hover{background:var(--blush-soft);color:var(--red)}
.nav .btn{padding:9px 18px;font-size:.85rem}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:var(--r-pill);padding:13px 24px;font:500 .95rem var(--sans);text-decoration:none;border:0;cursor:pointer;transition:background var(--t) var(--ease),transform var(--t) var(--ease),box-shadow var(--t) var(--ease)}
.btn:hover{transform:translateY(-1px)}
.btn-red{background:var(--red);color:var(--white);box-shadow:0 6px 16px rgba(195,23,44,.18)}
.btn-red:hover{background:var(--red-hover)}
.btn-soft{background:var(--white);color:var(--red);box-shadow:var(--shadow-sm)}
.btn-link{background:none;color:var(--ink);padding:13px 8px}
.btn-link:hover{color:var(--red);transform:none}
.btn svg{width:16px;height:16px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:28px}
.center .actions{justify-content:center}

/* cards */
.card{border-radius:var(--r-lg);padding:28px 22px;background:var(--canvas);box-shadow:var(--shadow)}
.blush{background:var(--blush-soft);box-shadow:none}
.blush-strong{background:var(--blush);box-shadow:none}
.sage{background:var(--sage);box-shadow:none;color:var(--white)}
.sage h3,.sage h2{color:var(--white)}
.sage .small,.sage p{color:rgba(255,255,255,.88)}
.sage-soft{background:var(--sage-soft);box-shadow:none}

/* hero */
.hero{padding:8px 0 24px}
.hero-card{display:grid;gap:24px;align-items:center;background:var(--blush-soft);border-radius:var(--r-lg);padding:40px 24px 28px;overflow:hidden}
.hero-card .lead{margin-top:18px}
.hero-art{max-width:420px;width:100%;justify-self:center}

/* feature cards (3 steps) */
.grid3{display:grid;gap:16px;margin-top:32px}
.feature{position:relative;min-height:230px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.feature .art{width:120px;align-self:flex-end;margin-top:12px}
.feature p{margin-top:8px;font-size:.95rem;color:var(--muted);max-width:18rem}
.feature.sage p{color:rgba(255,255,255,.9)}
.num{font:500 .8rem var(--sans);color:var(--muted);letter-spacing:.02em}
.sage .num{color:rgba(255,255,255,.8)}

/* kit block */
.split{display:grid;gap:24px;align-items:center}
.checks{list-style:none;margin-top:22px;display:grid;gap:12px}
.checks li{display:flex;gap:12px;align-items:flex-start}
.checks svg{flex:none;width:18px;height:18px;color:var(--sage);margin-top:3px}
.tags{display:grid;gap:16px;padding:28px 20px}
.riddle{background:var(--white);border-radius:var(--r-md);padding:20px 22px;max-width:300px;box-shadow:var(--shadow-sm)}
.riddle p{font-family:var(--serif);font-size:1.12rem;line-height:1.35;color:var(--ink)}
.riddle em{display:block;margin-top:10px;font:italic 400 .95rem var(--serif);color:var(--red)}
.riddle:nth-child(1){transform:rotate(-2.5deg)}
.riddle:nth-child(2){transform:rotate(2deg);justify-self:end}

/* idea cards with price pills */
.ideas{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}
.idea{position:relative;aspect-ratio:4/5;border-radius:var(--r-md);overflow:hidden;display:flex;align-items:flex-end;padding:14px}
.idea svg.art{position:absolute;inset:14% 14% auto;width:72%}
.idea .label{position:relative;display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;font-size:.85rem;font-weight:500}
.pill{background:var(--white);color:var(--ink);border-radius:var(--r-pill);padding:4px 10px;font-size:.8rem;font-weight:500;white-space:nowrap}

/* faq */
.faq{max-width:860px;margin:32px auto 0;text-align:left}
.faq div{display:grid;gap:6px;padding:22px 0;border-bottom:1px solid var(--line)}
.faq div:first-child{border-top:1px solid var(--line)}
.faq dt{font-family:var(--serif);font-size:1.2rem;color:var(--ink)}
.faq dd{color:var(--muted);font-size:.95rem}

/* cta */
.cta-card{text-align:center;padding:48px 24px}
.cta-card p{margin-top:10px}

/* product */
.product{display:grid;gap:24px;align-items:start}
.price{font-family:var(--serif);font-size:2.6rem;color:var(--red);margin:16px 0 2px}

/* prose */
.prose{max-width:680px;margin:0 auto}
.prose h1{font-size:clamp(2.2rem,6vw,3.4rem);margin-bottom:24px}
.prose h2{font-size:1.45rem;margin:36px 0 8px}
.prose p,.prose li{margin-top:10px}
.prose ul{padding-left:20px}
.note{background:var(--blush-soft);border-radius:var(--r-sm);padding:14px 16px;color:var(--muted);font-size:.9rem;margin-top:20px}

/* blog */
.posts{list-style:none;display:grid;gap:12px;max-width:760px;margin:32px auto 0;text-align:left}
.posts a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;border-radius:var(--r-md);background:var(--blush-soft);text-decoration:none;font-family:var(--serif);font-size:1.15rem;line-height:1.3;transition:background var(--t) var(--ease),transform var(--t) var(--ease)}
.posts a svg{flex:none;width:18px;height:18px;color:var(--red)}
.posts a:hover{background:var(--blush);transform:translateY(-2px)}

/* footer */
footer{margin-top:40px}
.foot{display:flex;flex-direction:column;gap:14px;align-items:center;padding:28px 16px 36px;max-width:var(--wrap);margin:0 auto;font-size:.85rem;color:var(--muted);border-top:1px solid var(--line)}
.foot nav{display:flex;gap:20px}
.foot a{text-decoration:none}
.foot a:hover{color:var(--red)}

/* tiles (home toolbox) */
.tiles{margin-top:0}
.tile{position:relative;min-height:220px;text-decoration:none;overflow:hidden;display:flex;flex-direction:column;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease)}
.tile:hover{transform:translateY(-3px)}
.tile h2{font-size:clamp(1.7rem,3.4vw,2.2rem)}
.tile.blush-strong h2{color:var(--white)}
.tile p{margin-top:6px;font-size:.92rem;max-width:15rem;color:var(--ink);opacity:.8}
.tile.sage p{color:var(--white);opacity:.9}
.tile .art{position:absolute;right:16px;bottom:14px;width:96px}
.tiles5{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
.tiles5 .tile{min-height:190px;padding:22px 18px}
.tiles5 .tile:first-child{grid-column:1/-1}
.tiles5 .tile .art{width:76px}

/* section head */
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.section-head .btn-link{padding:8px 0;font-size:.9rem;white-space:nowrap}
.stack{display:grid;gap:20px}

/* posts */
.posts-grid{display:grid;gap:16px;grid-template-columns:1fr}
.post-card{display:grid;gap:10px;text-decoration:none;align-content:start}
.post-card h3{font-size:1.2rem;line-height:1.25;color:var(--ink);transition:color var(--t) var(--ease)}
.post-card:hover h3{color:var(--red)}
.post-art{aspect-ratio:16/10;border-radius:var(--r-md);display:grid;place-items:center;overflow:hidden;transition:transform var(--t) var(--ease)}
.post-card:hover .post-art{transform:translateY(-3px)}
.post-art .art{width:42%}
.post-card .pill{justify-self:start;background:var(--blush-soft);color:var(--red)}
.pill{display:inline-block;background:var(--white);color:var(--ink);border-radius:var(--r-pill);padding:5px 12px;font-size:.8rem;font-weight:500;white-space:nowrap;text-decoration:none}
.pill.soft{background:var(--blush-soft);color:var(--red)}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:24px;padding-bottom:2px}
.chip{flex:none;border:0;border-radius:var(--r-pill);padding:8px 16px;font:500 .88rem var(--sans);background:var(--canvas);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;transition:all var(--t) var(--ease)}
.chip[aria-pressed="true"]{background:var(--blush);color:var(--white);box-shadow:none}
.post-card.hide{display:none}
.article-hero .pill{margin-bottom:16px}
.article-hero h1{font-size:clamp(2rem,5vw,3.2rem)}

/* product + wish cards */
.product-card{display:grid;gap:20px;align-items:center}
.product-art{max-width:220px}
.wish-card .wish-art{max-width:200px;justify-self:center}
.on-dark{color:var(--white)}
.on-dark:hover{color:var(--white);opacity:.85}
.soon{padding:24px}

/* offers */
.offers{display:grid;gap:16px}
.offer{display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:200px}
.offer-foot{display:flex;justify-content:space-between;align-items:center;gap:12px}
.price-sm{font-family:var(--serif);font-size:1.5rem;color:var(--red)}
.is-off{opacity:.55;pointer-events:none}

/* forms (shared by tools) */
.field{display:grid;gap:6px;font-size:.88rem;color:var(--muted)}
.field i{font-style:normal;opacity:.75}
.field input,.field select,.field textarea,.linkbox{width:100%;font:400 1rem var(--sans);color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease)}
.field textarea{min-height:110px;resize:vertical;line-height:1.5}
.field input:focus,.field select:focus,.field textarea:focus,.linkbox:focus{outline:0;border-color:var(--blush);box-shadow:0 0 0 4px var(--blush-soft)}
.row{display:grid;gap:12px}
.full{width:100%;justify-content:center}
.err{color:var(--red);font-size:.9rem}

/* motion */
.reveal{opacity:0;transform:translateY(14px);transition:opacity 600ms var(--ease),transform 600ms var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .reveal{opacity:1;transform:none}
}

@media (min-width:760px){
  body{font-size:16px}
  .nav{padding:22px 24px}
  .nav{flex-wrap:nowrap}
  .nav ul{order:0;width:auto;margin:0}
  .wrap{padding:0 24px}
  section{padding:56px 0}
  .hero-card{grid-template-columns:1.1fr 1fr;padding:64px 56px;gap:40px}
  .grid3{grid-template-columns:repeat(3,1fr);gap:20px}
  .card{padding:36px 32px}
  .split{grid-template-columns:1.1fr 1fr;gap:48px}
  .product{grid-template-columns:1.2fr 1fr;gap:48px}
  .ideas{grid-template-columns:repeat(4,1fr);gap:16px}
  .faq div{grid-template-columns:1fr 1.3fr;gap:32px}
  .posts-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .product-card{grid-template-columns:200px 1fr;gap:32px}
  .offers{grid-template-columns:repeat(2,1fr)}
  .row{grid-template-columns:1fr 1fr}
  .tiles5{grid-template-columns:repeat(6,1fr);gap:18px}
  .tiles5 .tile{grid-column:span 2}
  .tiles5 .tile:first-child,.tiles5 .tile:nth-child(2){grid-column:span 3}
  .foot{flex-direction:row;justify-content:space-between;padding:32px 24px 40px}
}

@media (min-width:1000px){.posts-grid{grid-template-columns:repeat(4,1fr)}.posts-grid.two{grid-template-columns:repeat(2,1fr)}.offers{grid-template-columns:repeat(3,1fr)}}
