/* Burn the Wedding Dress - funnel site styles. Ember-ink + ember-rose. */
:root{
  --ink:#201619; --ink-2:#2b1e22; --ink-soft:#38282d;
  --rose:#ce565c; --rose-dark:#b1454b; --ember:#de6c36; --gold:#e0a84a;
  --cream:#f7f3ee; --paper:#ffffff;
  --text:#2b2329; --text-soft:#5d545a; --muted:#8b8288; --line:#ece4e2;
  --sage:#7f9474;
  --serif:"Baskerville",Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --wrap:1120px; --radius:16px; --shadow:0 16px 44px rgba(32,22,25,.14);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--text);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);line-height:1.15;font-weight:700}
h1{font-size:2.5rem;letter-spacing:-.01em}
h2{font-size:1.9rem}
h3{font-size:1.25rem}
p{margin:0 0 1rem}
a{color:var(--rose-dark);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:#fff;padding:8px 14px;border-radius:8px;z-index:100}
.center{text-align:center}
.muted{color:var(--muted)}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:700;color:var(--rose-dark);margin-bottom:.5rem}
.lead{font-size:1.16rem;color:var(--text-soft)}
.section{padding:64px 0}
.band{background:linear-gradient(180deg,#fbf7f4,#f6efec);padding:64px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{max-width:720px;margin:0 auto 34px}
.sec-head.center{text-align:center}

/* buttons */
.btn{display:inline-block;background:var(--rose);color:#fff;font-weight:700;padding:11px 22px;border-radius:999px;border:2px solid var(--rose);transition:.15s}
.btn:hover{background:var(--rose-dark);border-color:var(--rose-dark);text-decoration:none}
.btn-lg{padding:14px 30px;font-size:1.05rem}
.btn-sm{padding:8px 16px;font-size:.9rem}
.btn-ghost{background:transparent;color:var(--rose-dark)}
.btn-ghost:hover{background:var(--rose);color:#fff}

/* header */
.site-head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;gap:20px;padding-top:12px;padding-bottom:12px}
.brand{font-family:var(--serif);font-weight:700;font-size:1.3rem;color:var(--ink)}
.brand span{color:var(--rose)}
.brand:hover{text-decoration:none}
.mainnav{display:flex;gap:20px;margin-left:auto;flex-wrap:wrap}
.mainnav a{color:var(--text-soft);font-weight:600;font-size:.96rem}
.mainnav a:hover{color:var(--rose-dark);text-decoration:none}
.head-in .btn{margin-left:8px}

/* hero */
.hero{padding:60px 0 40px;background:radial-gradient(1200px 500px at 70% -10%,#fbeeea,transparent)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero h1{font-size:2.9rem;margin-bottom:1rem}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 10px}
.hero-note{color:var(--muted);font-size:.92rem}
.hero-art img{margin:0 auto;filter:drop-shadow(0 24px 40px rgba(32,22,25,.22))}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.step .num{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:var(--rose);color:#fff;font-family:var(--serif);font-weight:700;font-size:1.2rem;margin-bottom:12px}

/* book grid + tiles */
.book-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin:0 0 26px}
.book-tile{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-align:center;color:var(--text)}
.book-tile:hover{text-decoration:none;box-shadow:var(--shadow);transform:translateY(-3px);transition:.15s}
.book-tile img{margin:0 auto 12px;max-height:200px;width:auto}
.tile-kind{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--rose-dark);font-weight:700}
.book-tile h3{font-size:1.05rem;margin:.3rem 0}
.book-tile p{font-size:.86rem;color:var(--text-soft);margin:0}

/* books page */
.bundle-row{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;background:var(--ink);color:var(--cream);border-radius:20px;padding:34px;margin-bottom:40px}
.bundle-row h2{color:#fff}
.bundle-row p{color:#e7ddda}
.bundle-row .price{font-family:var(--serif);font-size:1.8rem;color:#fff;margin:.4rem 0}
.bundle-row .price span{display:block;font-family:var(--sans);font-size:.85rem;color:#c9bdb9}
.book-list{display:flex;flex-direction:column;gap:26px}
.book-row{display:grid;grid-template-columns:220px 1fr;gap:26px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.book-row img{max-height:240px;margin:0 auto}
.subtitle{font-style:italic;color:var(--rose-dark);margin:.2rem 0 .6rem}

/* book detail */
.book-hero{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:start}
.book-hero-art img{margin:0 auto;filter:drop-shadow(0 20px 36px rgba(32,22,25,.2))}
.crumb{display:inline-block;margin-bottom:10px;font-weight:600}
.mini{font-size:1.15rem;margin:1.2rem 0 .5rem}
.ticks{list-style:none;margin:0 0 1.2rem}
.ticks li{padding-left:28px;position:relative;margin-bottom:.5rem;color:var(--text-soft)}
.ticks li::before{content:"\2713";position:absolute;left:0;color:var(--rose);font-weight:700}
.buy-block{background:#fbf3f1;border:1px solid #f0dcd9;border-radius:var(--radius);padding:22px}
.buy-block .price{font-family:var(--serif);font-size:1.7rem;color:var(--ink)}
.buy-block .price span{font-family:var(--sans);font-size:.85rem;color:var(--text-soft)}
.buy-note{font-size:.85rem;color:var(--muted);margin:.6rem 0 0}

/* prose */
.prose{max-width:760px;margin:0 auto}
.prose h2{margin:1.8rem 0 .7rem}
.prose ul,.prose ol{margin:0 0 1.1rem 1.2rem}
.prose li{margin-bottom:.4rem}
.callout{background:var(--ink);color:var(--cream);border-radius:var(--radius);padding:28px;margin-top:32px}
.callout h2{color:#fff}
.callout p{color:#e7ddda}
.path{display:flex;flex-direction:column;gap:18px;margin:24px 0}
.path-step{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.path-step .num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;background:var(--rose);color:#fff;font-family:var(--serif);font-size:1.3rem}
.path-step h2{font-size:1.25rem;margin:.1rem 0 .4rem}

/* cards */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column}
.card:hover{box-shadow:var(--shadow)}
.card-cat{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--rose-dark)}
.card h3{margin:.4rem 0 .5rem;font-size:1.16rem}
.card h3 a{color:var(--ink)}
.card p{font-size:.94rem;color:var(--text-soft);flex:1}
.card-meta{font-size:.82rem;color:var(--muted);margin-top:.6rem}

/* pills + pager */
.cat-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 30px}
.pill{padding:7px 15px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--text-soft);font-size:.88rem;font-weight:600}
.pill:hover,.pill.active{background:var(--rose);color:#fff;border-color:var(--rose);text-decoration:none}
.pager{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:36px}
.pager-info{color:var(--muted);font-size:.9rem}

/* single post */
.post{max-width:760px;margin:0 auto;padding-top:46px;padding-bottom:60px}
.post-head{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:26px}
.post-cat{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--rose-dark)}
.post-head h1{margin:.4rem 0 .5rem;font-size:2.35rem}
.post-meta{color:var(--muted);font-size:.9rem}
.post-body{font-size:1.08rem}
.post-body h2{font-size:1.5rem;margin:1.8rem 0 .7rem}
.post-body h3{font-size:1.2rem;margin:1.4rem 0 .5rem}
.post-body ul,.post-body ol{margin:0 0 1.2rem 1.3rem}
.post-body li{margin-bottom:.5rem}
.post-body blockquote{border-left:4px solid var(--rose);background:#fbf3f1;margin:1.4rem 0;padding:14px 20px;border-radius:0 10px 10px 0;font-style:italic;color:var(--text-soft)}
.post-body a{text-decoration:underline}
.post-cta{background:var(--ink);color:var(--cream);border-radius:var(--radius);padding:30px;margin:40px 0 30px;text-align:center}
.post-cta h2{color:#fff}
.post-cta p{color:#e7ddda}
.post-related h2{font-size:1.4rem;margin-bottom:16px}

/* teasers + safety */
.tool-teaser{max-width:760px;margin:0 auto;text-align:center}
.safebar{background:#fbf3f1;border-color:#f0dcd9;padding:26px 0}
.safebar p{margin:0;color:var(--text-soft)}
.finalcta .lead{max-width:600px;margin:0 auto 1.2rem}
.safenote{background:#fbf3f1;border:1px solid #f0dcd9;border-left:5px solid var(--rose);border-radius:10px;padding:16px 20px;margin:0 0 22px}
.reslist{list-style:none;margin:0 0 1.4rem}
.reslist li{padding:10px 0;border-bottom:1px solid var(--line)}

/* footer */
.site-foot{background:var(--ink);color:#d9cdca;margin-top:20px;padding:44px 0 30px}
.site-foot .brand{color:#fff}
.foot-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid #3a2c31}
.foot-tag{color:#b9aca9;margin:.4rem 0 0}
.site-foot nav{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.site-foot nav a{color:#d9cdca;font-weight:600}
.foot-legal{padding-top:20px;font-size:.84rem;color:#a99d9a}
.foot-legal a{color:#e7b7b3}

/* tools */
.tool{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin:0 0 26px}
.tool h2{font-size:1.4rem}
.assess-q{padding:14px 0;border-bottom:1px solid var(--line)}
.assess-q:last-of-type{border-bottom:none}
.assess-q p{margin:0 0 .5rem;font-weight:600}
.scale{display:flex;gap:6px;flex-wrap:wrap}
.scale label{display:inline-flex;align-items:center;gap:5px;font-size:.9rem;color:var(--text-soft);border:1px solid var(--line);border-radius:8px;padding:5px 10px;cursor:pointer}
.scale input{accent-color:var(--rose)}
#assess-result{margin-top:18px;padding:18px;border-radius:12px;background:#fbf3f1;border:1px solid #f0dcd9;display:none}
#assess-result.show{display:block}
.result-area{font-family:var(--serif);font-size:1.3rem;color:var(--ink);font-weight:700}
.checklist{list-style:none;margin:0}
.checklist li{padding:8px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:flex-start}
.checklist input{margin-top:5px;accent-color:var(--rose)}
.planner-row{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.planner-row input,.planner-row textarea{font-family:var(--sans);font-size:.95rem;border:1px solid var(--line);border-radius:8px;padding:9px 12px;width:100%}
.tool-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.budget-grid{display:grid;grid-template-columns:1fr auto;gap:8px 14px;max-width:460px;align-items:center}
.budget-grid input{border:1px solid var(--line);border-radius:8px;padding:8px 10px;text-align:right;width:140px}
.budget-out{font-family:var(--serif);font-size:1.25rem;font-weight:700;margin-top:14px}

@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr;text-align:center}
  .hero-art{order:-1}
  .hero h1{font-size:2.3rem}
  .steps{grid-template-columns:1fr}
  .book-grid{grid-template-columns:repeat(2,1fr)}
  .book-row{grid-template-columns:140px 1fr}
  .book-hero{grid-template-columns:1fr}
  .book-hero-art img{max-width:320px}
  .bundle-row{grid-template-columns:1fr;text-align:center}
  .card-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .mainnav{display:none}
  h1{font-size:2rem}.hero h1{font-size:2rem}h2{font-size:1.55rem}
  .book-grid{grid-template-columns:1fr 1fr}
  .card-grid{grid-template-columns:1fr}
  .book-row{grid-template-columns:1fr;text-align:center}
  .book-row img{max-height:220px}
  .foot-grid{flex-direction:column}
}
