/* DressForThis style guide — shared styles.
   Palette, type and card language taken from landing.html so the content
   section reads as one site with the app. */
:root{
  --maroon:#c94165;
  --maroon-deep:#7c1f3d;
  --blush-bg:#fdf7f8;
  --blush-soft:#fedee1;
  --pink:#e79bb0;
  --ink:#2a1a20;
  --cream:#fffafb;
  --muted:#7a5a63;
  --line:rgba(42,26,32,.14);
  --font-display:'Fraunces','Cormorant',Georgia,serif;
  --font-body:'Cormorant','Cormorant Garamond',Georgia,serif;
  --radius:18px;
  --radius-lg:28px;
  --shadow-sm:0 2px 10px rgba(28,26,23,.07);
  --shadow:0 22px 60px -24px rgba(28,26,23,.30);
  --maxw:1200px;
  --readw:70ch;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  background:var(--blush-bg);
  color:var(--ink);
  font-size:1.15rem;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--maroon);color:var(--cream)}
a{color:var(--maroon-deep)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.1;letter-spacing:-.015em}

/* Header */
header.site{
  position:sticky;top:0;z-index:40;
  background:rgba(253,247,248,.85);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}
.bar{display:flex;height:4rem;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.brand img{width:34px;height:34px;border-radius:999px;display:block}
.brand span{font-family:var(--font-display);font-weight:600;font-size:1.4rem;color:var(--ink);letter-spacing:-.01em}
.nav-cta{display:flex;align-items:center;gap:.4rem}
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--font-body);font-weight:600;font-size:1.02rem;
  border-radius:999px;padding:.62rem 1.2rem;text-decoration:none;
  border:1px solid transparent;cursor:pointer;transition:transform .15s ease, background .15s ease, color .15s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-ghost{color:var(--ink);background:transparent}
.btn-ghost:hover{background:rgba(42,26,32,.05)}
.btn-primary{background:var(--maroon);color:var(--cream)}
.btn-primary:hover{background:var(--maroon-deep)}

/* Breadcrumb */
.crumbs{font-size:1rem;color:var(--muted);padding:1.4rem 0 0}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--maroon);text-decoration:underline}

/* Article */
main{display:block}
.article{padding:1.2rem 0 3rem}
.article .head{max-width:var(--readw);margin:0 auto}
.article .kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.22em;color:var(--maroon-deep);font-weight:600}
.article h1{margin-top:.7rem;font-size:clamp(2.2rem,5vw,3.4rem)}
.article h1 em{font-style:italic;font-weight:400;color:var(--maroon)}
.article .standfirst{margin-top:1.2rem;font-size:1.28rem;color:var(--muted);line-height:1.5}
.article .lead-answer{max-width:var(--readw);margin:1.8rem auto 0;padding:1.1rem 1.3rem;border-left:3px solid var(--maroon);background:rgba(0,0,0,.02);font-size:1.18rem;line-height:1.6;color:var(--ink);border-radius:0 8px 8px 0}
.article .body{max-width:var(--readw);margin:2.2rem auto 0}
.article .body h2{margin:2.4rem 0 .8rem;font-size:clamp(1.6rem,3vw,2.1rem)}
.article .body h2 em{font-style:italic;font-weight:400;color:var(--maroon)}
.article .body h3{margin:1.8rem 0 .5rem;font-size:1.35rem;color:var(--maroon-deep)}
.article .body p{margin-top:1rem;font-size:1.16rem;line-height:1.62;color:var(--ink)}
.article .body a{color:var(--maroon-deep);text-underline-offset:2px}
.article .body ul,.article .body ol{margin:1rem 0 0 0;display:grid;gap:.6rem;list-style:none}
.article .body li{position:relative;padding-left:1.5rem;font-size:1.14rem;line-height:1.55;color:var(--ink)}
.article .body ul li::before{content:"";position:absolute;left:0;top:.62em;width:.5rem;height:.5rem;border-radius:999px;background:var(--maroon)}
.article .body ol{counter-reset:step}
.article .body ol li{counter-increment:step}
.article .body ol li::before{content:counter(step);position:absolute;left:0;top:0;font-family:var(--font-display);font-weight:600;color:var(--pink);font-size:1.05rem}
.article .body blockquote{margin:1.6rem 0;padding:1.2rem 1.5rem;border-left:3px solid var(--maroon);background:var(--cream);border-radius:0 var(--radius) var(--radius) 0;box-shadow:var(--shadow-sm)}
.article .body blockquote p{margin:0;font-family:var(--font-display);font-style:italic;font-size:1.3rem;color:var(--ink)}

/* Callout panel */
.panel{border:1px solid var(--line);background:var(--cream);border-radius:var(--radius-lg);padding:1.8rem;box-shadow:var(--shadow-sm);margin:2rem auto 0;max-width:var(--readw)}
.panel h3{font-size:1.4rem;color:var(--maroon-deep)}
.panel ul{margin-top:1rem}

/* Ad slot */
.ad-wrap{max-width:var(--readw);margin:2.6rem auto;text-align:center}
.ad-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin-bottom:.4rem}

/* Related grid + index cards */
.grid{margin-top:1.6rem;display:grid;gap:1.2rem;grid-template-columns:1fr}
@media (min-width:640px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.grid.three{grid-template-columns:repeat(3,1fr)}}
.gcard{display:block;border:1px solid var(--line);background:var(--cream);border-radius:var(--radius-lg);padding:1.6rem;box-shadow:var(--shadow-sm);text-decoration:none;transition:transform .15s ease, box-shadow .15s ease}
.gcard:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.gcard .tag{font-size:.74rem;text-transform:uppercase;letter-spacing:.2em;color:var(--maroon);font-weight:600}
.gcard h3{margin-top:.5rem;font-size:1.45rem;color:var(--ink)}
.gcard p{margin-top:.5rem;font-size:1.05rem;color:var(--muted);line-height:1.5}
.related{margin-top:2.8rem;max-width:var(--maxw)}
.related .section-head{max-width:62ch}
.related .kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.22em;color:var(--maroon-deep);font-weight:600}
.related h2{margin-top:.5rem;font-size:clamp(1.6rem,3vw,2.2rem)}

/* FAQ */
.faq{margin-top:2.8rem;max-width:var(--maxw)}
.faq .section-head{max-width:62ch}
.faq .kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.22em;color:var(--maroon-deep);font-weight:600}
.faq h2{margin-top:.5rem;font-size:clamp(1.6rem,3vw,2.2rem)}
.faq-item{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--line);max-width:70ch}
.faq-item h3{font-size:1.25rem;color:var(--ink)}
.faq-item p{margin-top:.5rem;font-size:1.08rem;color:var(--muted);line-height:1.6}

/* Hub hero */
.hub-hero{padding:2.5rem 0 1rem}
.hub-hero .kicker{font-size:.82rem;text-transform:uppercase;letter-spacing:.22em;color:var(--maroon-deep);font-weight:600}
.hub-hero h1{margin-top:.7rem;font-size:clamp(2.4rem,6vw,4rem);max-width:18ch}
.hub-hero h1 em{font-style:italic;font-weight:400;color:var(--maroon)}
.hub-hero p{margin-top:1.2rem;max-width:60ch;font-size:1.22rem;color:var(--muted);line-height:1.55}

/* Final CTA */
.final-cta{text-align:center;padding:clamp(3rem,6vw,5rem) 0}
.final-cta h2{font-size:clamp(1.9rem,4vw,2.8rem)}
.final-cta p{margin:1rem auto 2rem;max-width:48ch;font-size:1.18rem;color:var(--muted)}
.final-cta .btn-primary{padding:.9rem 1.8rem;font-size:1.1rem}

/* Footer */
footer.site{border-top:1px solid var(--line);padding:2.5rem 0;color:var(--muted)}
footer.site .row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
footer.site a{color:var(--muted);text-decoration:none;font-size:1.02rem}
footer.site a:hover{color:var(--maroon);text-decoration:underline}
footer.site .links{display:flex;gap:1.4rem;flex-wrap:wrap}
footer.site .copy{font-size:1rem}
