/* ========== Root / Reset ========== */
:root {
    --bg: #faf9f7;         /* soft ivory */
    --bg-alt: #f3f1ef;     /* warmer neutral */
    --text: #2b2b2b;       /* dark gray, softer than black */
    --muted: #7d7d7d;      /* muted gray for secondary text */
    --brand: #5c5649;      /* earthy taupe */
    --accent: #a38b70;     /* warm sand tone */
    --border: #e5e2de;
  }
:root{
    --bg:#fff;            --text:#161616;    --muted:#5e5e5e;
    --light:#f6f6f6;      --accent:#111;     --accent-ink:#fff;
    --radius:18px;        --radius-sm:12px;  --shadow:0 8px 24px rgba(0,0,0,.08);
    --max:1120px;         --grid-gap:22px;
  }
  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  img{max-width:100%;display:block;height:auto}
  input,button,textarea{font:inherit}
  .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  
  body{
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Apple Color Emoji","Segoe UI Emoji";
    color:var(--text); background:var(--bg); line-height:1.6; -webkit-font-smoothing:antialiased;
  }
  
  .container{width:min(100% - 32px, var(--max)); margin-inline:auto}
  .section{padding:56px 0}
  .bg-light{background:var(--light)}
  .muted{color:var(--muted)}
  .link{color:var(--text); text-decoration:none; border-bottom:1px solid currentColor}
  
  h1,h2,h3{line-height:1.2; margin:0 0 .4em}
  h1{font-size:clamp(2rem, 1.3rem + 2.5vw, 3.2rem); letter-spacing:-.02em}
  h2{font-size:clamp(1.4rem, 1.1rem + 1.2vw, 2rem)}
  h3{font-size:1.05rem}
  
  .btn{display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.8rem 1.1rem; border-radius:var(--radius-sm); border:1px solid #e5e5e5; background:#fff; box-shadow:var(--shadow); text-decoration:none}
  .btn--primary{background:var(--accent); color:var(--accent-ink); border-color:var(--accent)}
  
  .grid{display:grid; gap:var(--grid-gap)}
  .posts{grid-template-columns:repeat(12,1fr)}
  .posts > .post{grid-column: span 12}
  @media(min-width:640px){ .posts > .post{grid-column: span 6} }
  @media(min-width:1024px){ .posts > .post{grid-column: span 4} }
  
  /* ========== Sticky Nav ========== */
  .site-header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.9); backdrop-filter:saturate(180%) blur(10px); border-bottom:1px solid rgba(0,0,0,.06)}
  .nav-wrap{display:flex; align-items:center; justify-content:space-between; min-height:62px}
  .brand{font-weight:700; font-size:1.05rem; text-decoration:none; color:var(--text)}
  .brand--small{font-size:1rem}
  
  .nav{position:relative}
  .nav__menu{list-style:none; margin:0; padding:0; display:flex; gap:22px}
  .nav__menu a{color:var(--text); text-decoration:none; padding:.4rem .2rem}
  
  /* Mobile menu */
  .nav__toggle{display:none; background:none; border:0; padding:.4rem; cursor:pointer}
  .nav__toggle .bar{display:block; width:22px; height:2px; background:var(--text); margin:5px 0; border-radius:2px}
  
  @media(max-width:900px){
    .nav__toggle{display:block}
    .nav__menu{position:absolute; right:0; top:calc(100% + 10px); flex-direction:column; gap:8px; background:#fff; padding:10px; border-radius:var(--radius); box-shadow:var(--shadow); min-width:200px; visibility:hidden; opacity:0; transform:translateY(-6px); transition:.2s}
    .nav__menu.is-open{visibility:visible; opacity:1; transform:translateY(0)}
  }
  
  /* ========== Hero ========== */
  .hero{position:relative}
  .hero picture, .hero img{width:100%; height:clamp(340px, 40vh, 70vh); object-fit:cover}
  .hero__content{position:absolute; inset:auto 0 8%; color:#fff; text-shadow:0 2px 20px rgba(0,0,0,.45)}
  .hero__content h1 span{background:rgba(0,0,0,.5); padding:.1em .3em; border-radius:10px}
  
  /* ========== About ========== */
  .about{display:grid; grid-template-columns:1fr; gap:26px; align-items:center}
  .about__media img{border-radius:var(--radius)}
  @media(min-width:900px){ .about{grid-template-columns:1fr 1fr} }
  
  /* ========== Cards / Posts ========== */
  .card{background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); border:1px solid #eee}
  .card__media img{aspect-ratio: 16/10; object-fit:cover}
  .card__body{padding:14px}
  .card__title{margin:0 0 .2rem}
  .card__meta{font-size:.9rem; color:var(--muted)}
  .card__excerpt{margin:.5rem 0 0}
  
  /* ========== Lookbook ========== */
  .section__head{display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:16px}
  .filters{display:flex; gap:10px; flex-wrap:wrap}
  .chip{border:1px solid #ddd; background:#fff; padding:.4rem .7rem; border-radius:999px; cursor:pointer}
  .chip.is-active{background:var(--text); color:#fff; border-color:var(--text)}
  
  .lookbook{grid-template-columns:repeat(12,1fr)}
  .look{grid-column: span 12}
  .look img{border-radius:var(--radius); aspect-ratio:3/4; object-fit:cover}
  .look figcaption{font-size:.95rem; margin-top:.4rem; color:var(--muted)}
  @media(min-width:640px){ .look{grid-column: span 6} }
  @media(min-width:1024px){ .look{grid-column: span 4} }
  
  /* ========== Shop ========== */
  .shop{grid-template-columns:repeat(12,1fr)}
  .shop .product{grid-column:span 12}
  @media(min-width:640px){ .shop .product{grid-column:span 6} }
  @media(min-width:1024px){ .shop .product{grid-column:span 4} }
  .product img{aspect-ratio:1/1; object-fit:cover}
  .product .price{font-weight:700}
  
  /* ========== Newsletter ========== */
  .newsletter__inner{background:linear-gradient(135deg,#fafafa,#f2f2f2); border:1px solid #eee; border-radius:var(--radius); padding:24px; box-shadow:var(--shadow)}
  .form{display:flex; gap:10px; flex-wrap:wrap}
  .form input[type=email]{flex:1 1 240px; min-width:220px; border:1px solid #ddd; padding:.8rem .9rem; border-radius:var(--radius-sm)}
  .form__msg{margin:6px 0 0; width:100%; font-size:.95rem}
  
  /* ========== Instagram Strip ========== */
  .insta{display:grid; grid-template-columns:repeat(6,1fr); gap:4px; padding:10px}
  .insta__item img{aspect-ratio:1/1; object-fit:cover}
  @media(max-width:640px){ .insta{grid-template-columns:repeat(3,1fr)} }
  
  /* ========== Footer ========== */
  .footer{background:#0e0e0e; color:#ddd; padding:36px 0 10px}
  .footer__grid{display:grid; gap:22px; grid-template-columns:1fr}
  .footer a{color:#fff; text-decoration:none}
  .contact textarea{width:100%; border-radius:var(--radius-sm); border:1px solid #333; background:#121212; color:#eee; padding:.8rem}
  .social{list-style:none; display:flex; gap:16px; padding:0; margin:0}
  .footer__legal{border-top:1px solid #222; padding-top:10px; margin-top:20px; color:#9a9a9a}
  @media(min-width:900px){ .footer__grid{grid-template-columns:2fr 2fr 1fr} }
  
  /* ========== Utilities ========== */
  .sticky-shadow{box-shadow:0 4px 18px rgba(0,0,0,.08)}