:root{
    --ivory:#FAF6F1;
    --ivory-deep:#F3ECE3;
    --plum:#452136;
    --plum-deep:#301526;
    --rose:#C9808F;
    --rose-light:#F0DEE2;
    --gold:#B8935A;
    --ink:#2B1F23;
    --ink-soft:#6b5a60;
    --line:rgba(43,31,35,0.14);
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{
    background:var(--ivory);
    color:var(--ink);
    font-family:'Manrope',sans-serif;
    font-size:16px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{
    font-family:'Fraunces',serif;
    font-weight:600;
    color:var(--ink);
    margin:0;
  }
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;cursor:pointer;}
  img,svg{display:block;max-width:100%;}
  html{overflow-x:hidden;}
  body{overflow-x:hidden;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
  @media(max-width:640px){.wrap{padding:0 20px;}}
  @media(max-width:400px){.wrap{padding:0 16px;}}

  /* ---------- NAV ---------- */
  header.site-nav{
    position:sticky;top:0;z-index:50;
    background:rgba(250,246,241,0.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    max-width:1180px;margin:0 auto;padding:20px 32px;
    display:flex;align-items:center;justify-content:space-between;
    gap:16px;
  }
  @media(max-width:640px){ .nav-inner{ padding:16px 20px; } }
  @media(max-width:400px){ .nav-inner{ padding:14px 16px; gap:8px; } }
  .logo{font-family:'Fraunces',serif;font-size:26px;font-weight:700;letter-spacing:0.5px;color:var(--plum);flex-shrink:0;display:flex;align-items:center;}
  .logo em{font-style:italic;color:var(--rose);}
  .logo-img{height:38px;width:auto;display:block;}
  @media(max-width:400px){ .logo{font-size:21px;} .logo-img{height:30px;} }
  nav.links{display:flex;gap:34px;align-items:center;flex-wrap:wrap;}
  @media(max-width:900px){ nav.links{gap:20px;} }
  nav.links button.navlink{
    background:none;border:none;font-size:15px;color:var(--ink);
    padding:6px 0;position:relative;
  }
  nav.links button.navlink.active{color:var(--plum);font-weight:700;}
  nav.links button.navlink.active::after{
    content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--rose);
  }
  .cart-btn{
    display:flex;align-items:center;gap:6px;background:var(--plum);color:var(--ivory);
    border:none;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:600;
  }
  @media(max-width:400px){ .cart-btn{padding:8px 12px;font-size:13px;} }
  .cart-count{background:var(--rose);color:var(--plum-deep);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700;}
  @media(max-width:760px){ nav.links{display:none;} }

  header.site-nav.scrolled{ box-shadow:0 6px 20px rgba(69,33,54,.08); }

  .nav-actions{ display:flex; align-items:center; gap:12px; flex-shrink:0; }
  @media(max-width:400px){ .nav-actions{ gap:6px; } }
  .icon-btn{ background:none; border:none; color:var(--plum); cursor:pointer; padding:6px; display:flex; align-items:center; justify-content:center; }
  .icon-btn svg{ width:20px; height:20px; }
  .menu-toggle{ flex-shrink:0; }

  /* Shop dropdown (desktop) */
  .nav-dropdown{ position:relative; }
  .nav-dropdown .caret{ font-size:10px; margin-left:2px; display:inline-block; transition:transform .2s ease; }
  .nav-dropdown:hover .caret{ transform:rotate(180deg); }
  .nav-dropdown-menu{
    position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(6px);
    background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 16px 36px rgba(69,33,54,.16);
    padding:10px; min-width:190px; display:flex; flex-direction:column; gap:2px;
    opacity:0; visibility:hidden; transition:opacity .2s ease, transform .2s ease; z-index:60;
  }
  .nav-dropdown:hover .nav-dropdown-menu{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
  .nav-dropdown-menu a{ padding:9px 12px; border-radius:6px; font-size:14px; color:var(--ink); }
  .nav-dropdown-menu a:hover{ background:var(--ivory-deep); color:var(--plum); }
  .nav-dropdown-all{ border-top:1px solid var(--line); margin-top:4px; padding-top:10px !important; font-weight:700; color:var(--plum) !important; }
  @media(max-width:760px){ .nav-dropdown-menu{ display:none !important; } }

  /* Expanding search bar under header (desktop) */
  .nav-search-bar{ max-height:0; overflow:hidden; background:var(--ivory-deep); transition:max-height .3s ease; }
  .nav-search-bar.open{ max-height:90px; border-bottom:1px solid var(--line); }
  .nav-search-bar form{ display:flex; align-items:center; gap:12px; padding:18px 32px; }
  .nav-search-bar svg{ width:18px; height:18px; color:var(--ink-soft); flex-shrink:0; }
  .nav-search-bar input{ flex:1; border:none; background:none; font-size:15px; font-family:inherit; color:var(--ink); outline:none; }
  .nav-search-bar input::placeholder{ color:var(--ink-soft); }
  .nav-search-bar button{ background:var(--plum); color:var(--ivory); border:none; padding:9px 20px; border-radius:2px; font-weight:600; font-size:13px; }
  @media(max-width:640px){ .nav-search-bar form{ padding:14px 20px; } }

  /* Mobile slide-in menu */
  .mobile-menu-overlay{ position:fixed; inset:0; background:rgba(43,31,35,.45); opacity:0; visibility:hidden; transition:opacity .3s ease; z-index:90; }
  .mobile-menu-overlay.open{ opacity:1; visibility:visible; }
  .mobile-menu{
    position:fixed; top:0; right:0; bottom:0; width:82%; max-width:340px; background:var(--ivory);
    z-index:91; transform:translateX(100%); transition:transform .3s ease; display:flex; flex-direction:column;
    box-shadow:-10px 0 30px rgba(0,0,0,.12);
  }
  .mobile-menu.open{ transform:translateX(0); }
  .mobile-menu-head{ display:flex; align-items:center; justify-content:space-between; padding:20px 24px; border-bottom:1px solid var(--line); flex-shrink:0; }
  .mobile-menu-close{ background:none; border:none; font-size:28px; line-height:1; color:var(--plum); cursor:pointer; }
  .mobile-search{ display:flex; align-items:center; gap:10px; padding:16px 24px; border-bottom:1px solid var(--line); flex-shrink:0; }
  .mobile-search svg{ width:18px; height:18px; color:var(--ink-soft); flex-shrink:0; }
  .mobile-search input{ flex:1; border:none; background:var(--ivory-deep); padding:10px 14px; border-radius:20px; font-size:14px; font-family:inherit; outline:none; }
  .mobile-links{ display:flex; flex-direction:column; padding:12px 0; overflow-y:auto; }
  .mobile-links > a{ padding:14px 24px; font-size:16px; font-weight:600; color:var(--ink); border-bottom:1px solid var(--line); }
  .mobile-links > a.active{ color:var(--plum); }
  .mobile-sublinks{ display:flex; flex-direction:column; padding:4px 24px 12px 36px; border-bottom:1px solid var(--line); background:var(--ivory-deep); }
  .mobile-sublinks a{ padding:10px 0; font-size:14.5px; color:var(--ink-soft); }

  /* ---------- PAGE SECTIONS ---------- */
  section{padding:80px 0;}
  .page{display:none;}
  .page.active{display:block;}

  /* HERO */
  .hero{padding:0;}
  .hero-grid{
    display:grid;grid-template-columns:1.1fr 0.9fr;min-height:560px;
  }
  @media(max-width:900px){.hero-grid{grid-template-columns:1fr;min-height:auto;}}
  .hero-copy{
    background:var(--plum);color:var(--ivory);
    display:flex;flex-direction:column;justify-content:center;
    padding:80px 64px;
  }
  @media(max-width:900px){.hero-copy{padding:60px 32px;}}
  .hero-copy .eyebrow{color:var(--rose);font-size:15px;margin-bottom:18px;font-family:'Fraunces',serif;font-style:italic;}
  .hero-copy h1{font-size:52px;line-height:1.08;max-width:480px;color:var(--ivory);}
  @media(max-width:640px){.hero-copy h1{font-size:36px;}}
  .hero-copy p{margin-top:22px;max-width:400px;color:#e6d8de;font-size:16px;}
  .hero-cta{
    margin-top:34px;display:inline-flex;align-self:flex-start;
    background:var(--rose);color:var(--plum-deep);border:none;border-radius:2px;
    padding:15px 30px;font-weight:700;font-size:15px;
  }
  .hero-visual{
    background:var(--rose-light);
    display:flex;align-items:center;justify-content:center;padding:40px;
  }

  /* CATEGORY STRIP */
  .section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:36px;flex-wrap:wrap;gap:10px;}
  .section-head h2{font-size:32px;}
  @media(max-width:480px){ .section-head h2{font-size:26px;} }
  .section-head p{color:var(--ink-soft);max-width:420px;font-size:15px;}
  .cat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  @media(max-width:760px){.cat-row{grid-template-columns:repeat(2,1fr);}}
  .cat-card{
    background:var(--ivory-deep);border:1px solid var(--line);
    padding:30px 22px;display:flex;flex-direction:column;gap:14px;
    transition:border-color .2s ease;
  }
  .cat-card:hover{border-color:var(--rose);}
  .cat-card .icon-wrap{width:46px;height:46px;}
  .cat-card h3{font-size:18px;}
  .cat-card span{color:var(--ink-soft);font-size:13.5px;}

  /* PRODUCT GRID */
  .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 24px;}
  @media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:520px){.grid{grid-template-columns:1fr;}}
  .card{
    display:flex;flex-direction:column;cursor:pointer;
  }
  .card .thumb{
    background:var(--ivory-deep);aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;
    border:1px solid var(--line);margin-bottom:14px;overflow:hidden;position:relative;
  }
  .card .thumb svg{width:52%;height:52%;}
  .card .tag{
    position:absolute;top:10px;left:10px;background:var(--plum);color:var(--ivory);
    font-size:11px;padding:4px 9px;border-radius:2px;
  }
  .card h4{font-family:'Manrope',sans-serif;font-weight:700;font-size:15px;margin:0 0 4px;}
  .card .cat{color:var(--ink-soft);font-size:12.5px;margin-bottom:6px;}
  .card .price{font-family:'Fraunces',serif;font-weight:600;font-size:17px;color:var(--plum);}

  /* STORY BAND */
  .story{background:var(--plum-deep);color:var(--ivory);}
  .story .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
  @media(max-width:800px){.story .wrap{grid-template-columns:1fr;gap:30px;}}
  .story h2{color:var(--ivory);font-size:32px;max-width:420px;}
  .story p{color:#dcc9d1;margin-top:18px;max-width:440px;}
  .story .num{font-family:'Fraunces',serif;font-size:44px;color:var(--rose);}
  .story .stats{display:flex;gap:44px;margin-top:8px;}
  .story .stat-label{font-size:13px;color:#c9b3bd;margin-top:4px;}

  /* NEWSLETTER */
  .news{background:var(--rose-light);}
  .news .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;}
  .news h2{font-size:26px;max-width:360px;}
  .news form{display:flex;gap:0;border-bottom:2px solid var(--plum);min-width:320px;flex:1;max-width:100%;}
  @media(max-width:400px){ .news form{min-width:0;width:100%;} }
  .news input{
    border:none;background:transparent;padding:12px 4px;font-size:15px;flex:1;outline:none;font-family:inherit;min-width:0;
  }
  .news button{background:none;border:none;font-weight:700;color:var(--plum);padding:12px 8px;font-size:15px;flex-shrink:0;}

  footer{border-top:1px solid var(--line);padding:50px 0 34px;}
  footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;}
  footer .col{flex:1 1 140px;min-width:120px;}
  footer .col h5{font-family:'Fraunces',serif;font-size:15px;margin-bottom:10px;}
  footer .col a{display:block;color:var(--ink-soft);font-size:14px;margin-bottom:7px;}
  footer .bottom{margin-top:40px;color:var(--ink-soft);font-size:13px;}
  @media(max-width:480px){
    footer .wrap{gap:28px 20px;}
    footer .col{flex:1 1 42%;min-width:0;}
  }

  /* SHOP PAGE */
  .shop-layout{display:grid;grid-template-columns:220px 1fr;gap:44px;}
  @media(max-width:800px){.shop-layout{grid-template-columns:1fr;}}
  .filter-block{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px;}
  .filter-block h5{font-family:'Fraunces',serif;font-size:15px;margin-bottom:12px;}
  .filter-row{display:flex;align-items:center;gap:9px;margin-bottom:9px;font-size:14px;color:var(--ink-soft);}
  .filter-row input{accent-color:var(--plum);}
  .shop-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;flex-wrap:wrap;gap:12px;}
  .shop-top select{border:1px solid var(--line);background:var(--ivory);padding:8px 12px;font-family:inherit;font-size:14px;max-width:100%;}

  /* PRODUCT PAGE */
  .product-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
  @media(max-width:800px){.product-layout{grid-template-columns:1fr;gap:30px;}}
  .product-image{background:var(--ivory-deep);border:1px solid var(--line);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;}
  .product-image svg{width:44%;height:44%;}
  .product-info .cat{color:var(--ink-soft);font-size:13px;margin-bottom:10px;}
  .product-info h1{font-size:34px;margin-bottom:14px;}
  @media(max-width:480px){ .product-info h1{font-size:26px;} }
  .product-info .price{font-family:'Fraunces',serif;font-size:26px;color:var(--plum);margin-bottom:22px;}
  .product-info .desc{color:var(--ink-soft);font-size:15px;margin-bottom:26px;max-width:440px;}
  .qty-row{display:flex;align-items:center;gap:16px;margin-bottom:26px;flex-wrap:wrap;}
  .qty-box{display:flex;align-items:center;border:1px solid var(--line);}
  .qty-box button{background:none;border:none;padding:10px 16px;font-size:16px;}
  .qty-box span{padding:0 14px;min-width:20px;text-align:center;}
  .add-btn{
    background:var(--plum);color:var(--ivory);border:none;padding:16px 34px;font-weight:700;font-size:15px;border-radius:2px;
  }
  .back-link{display:inline-block;margin-bottom:30px;color:var(--ink-soft);font-size:14px;border-bottom:1px solid var(--line);}
  .related h3{font-size:22px;margin-bottom:24px;}

  /* CART PAGE */
  .cart-layout{display:grid;grid-template-columns:1fr 340px;gap:50px;align-items:start;}
  @media(max-width:800px){.cart-layout{grid-template-columns:1fr;}}
  .cart-item{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center;flex-wrap:wrap;}
  .cart-item .thumb{width:88px;height:88px;background:var(--ivory-deep);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .cart-item .thumb svg{width:55%;height:55%;}
  .cart-item .info{flex:1;min-width:140px;}
  .cart-item h4{font-size:15px;margin-bottom:4px;}
  .cart-item .cat{color:var(--ink-soft);font-size:12.5px;}
  .cart-item .remove{color:var(--ink-soft);font-size:12.5px;text-decoration:underline;margin-top:6px;background:none;border:none;padding:0;}
  .cart-item .price{font-family:'Fraunces',serif;color:var(--plum);font-weight:600;min-width:90px;text-align:right;}
  @media(max-width:480px){
    .cart-item{gap:12px;}
    .cart-item .thumb{width:70px;height:70px;}
    .cart-item .price{min-width:0;text-align:left;margin-top:6px;flex-basis:100%;}
  }
  .summary{background:var(--ivory-deep);border:1px solid var(--line);padding:30px;}
  .summary h3{font-size:19px;margin-bottom:22px;}
  .summary-row{display:flex;justify-content:space-between;font-size:14.5px;margin-bottom:12px;color:var(--ink-soft);}
  .summary-row.total{color:var(--ink);font-weight:700;font-size:17px;border-top:1px solid var(--line);padding-top:16px;margin-top:16px;}
  .checkout-btn{width:100%;background:var(--plum);color:var(--ivory);border:none;padding:16px;font-weight:700;margin-top:22px;font-size:15px;}
  .empty-cart{text-align:center;padding:60px 0;color:var(--ink-soft);}

/* ---------- EXTRA: added for the PHP build (deals, mobile nav, forms) ---------- */
.card .tag.sale{ background:var(--rose); color:var(--plum-deep); font-weight:700; }
.old-price{ text-decoration:line-through; color:var(--ink-soft); font-size:13px; margin-right:8px; }
.deal-price{ color:var(--rose); }
.product-info .old-price{ font-size:18px; }

.menu-toggle{ display:none; background:none; border:none; font-size:24px; color:var(--plum); }
@media(max-width:760px){
  .menu-toggle{ display:block; }
}

.alert{ padding:12px 18px; margin-bottom:20px; font-size:14px; border-radius:2px; }
.alert-error{ background:#fbe4e4; color:#8a2a2a; border:1px solid #e3a9a9; }
.alert-success{ background:#e6f3e6; color:#2b6b2b; border:1px solid #a9d8a9; }

.checkout-form{ background:var(--ivory-deep); border:1px solid var(--line); padding:30px; margin-top:20px; }
.checkout-form label{ display:block; font-size:13px; color:var(--ink-soft); margin-bottom:6px; }
.checkout-form input, .checkout-form textarea{
  width:100%; padding:12px; border:1px solid var(--line); background:var(--ivory);
  font-family:inherit; font-size:14px; margin-bottom:16px;
}

/* ---------- QTY STEPPER (small, used on the cart line items) ---------- */
.qty-box-sm{ display:inline-flex; margin:8px 0; }
.qty-box-sm button{ padding:4px 12px; font-size:14px; }
.qty-box-sm span{ padding:0 12px; }

/* ---------- QUICK-ADD (on product cards) ---------- */
.card{ position:relative; }
.quick-add{
  display:block; width:100%; margin-top:10px; background:var(--plum); color:var(--ivory);
  border:none; padding:11px; font-size:12.5px; font-weight:700; letter-spacing:.2px;
  border-radius:2px; opacity:0; transform:translateY(4px);
  transition:opacity .18s ease, transform .18s ease, background .18s ease;
}
.card:hover .quick-add{ opacity:1; transform:none; }
.quick-add:hover{ background:var(--plum-deep); }
.quick-add:disabled{ background:var(--ink-soft); cursor:not-allowed; }
@media(max-width:900px){ .quick-add{ opacity:1; transform:none; } }

/* ---------- TOAST ---------- */
.store-toast{
  position:fixed; left:50%; bottom:30px; transform:translate(-50%,20px);
  background:var(--plum-deep); color:var(--ivory); padding:14px 26px; border-radius:999px;
  font-size:14px; font-weight:600; box-shadow:0 10px 30px rgba(43,31,35,0.25);
  opacity:0; pointer-events:none; transition:opacity .25s ease, transform .25s ease; z-index:200;
  max-width:90vw; text-align:center;
}
.store-toast.show{ opacity:1; transform:translate(-50%,0); }

/* ---------- SCROLL REVEAL ---------- */
.reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in{ opacity:1; transform:none; }

/* ---------- DUOTONE PHOTO TREATMENT ----------
   Keeps every photo (stock or admin-uploaded) reading as one cohesive,
   branded palette instead of a grab-bag of random imagery. */
.photo-tint{ position:relative; overflow:hidden; background:var(--ivory-deep); }
.photo-tint img{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.85) contrast(1.02); }
.photo-tint::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(155deg, rgba(69,33,54,0.38), rgba(201,128,143,0.12) 60%, rgba(184,147,90,0.14));
  mix-blend-mode:multiply;
}
/* Fallback tile for a category/product with no uploaded photo yet —
   brand-color gradient + icon instead of a random stock image. */
.category-fallback{ display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--plum,#452136),var(--rose,#C9808F)); }
.category-fallback::after{ content:none; }
.category-fallback-icon{ width:56px; height:56px; }

/* ---------- TRUST BAR ---------- */
.trust-bar{ background:var(--ivory-deep); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.trust-bar .wrap{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:26px 32px; }
@media(max-width:760px){ .trust-bar .wrap{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:420px){ .trust-bar .wrap{ grid-template-columns:1fr; gap:14px; padding:20px; } }
.trust-item{ display:flex; align-items:center; gap:12px; }
.trust-item svg{ width:26px; height:26px; flex-shrink:0; }
.trust-item span{ font-size:13px; color:var(--ink-soft); font-weight:600; line-height:1.3; }

/* ---------- EDITORIAL BANNER (home) ---------- */
.editorial{ position:relative; }
.editorial .photo-tint{ height:360px; }
.editorial .overlay-copy{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:flex-start;
  justify-content:center; padding:0 60px; color:var(--ivory);
}
@media(max-width:640px){ .editorial .overlay-copy{ padding:0 24px; } }
.editorial .overlay-copy .eyebrow{ font-family:'Fraunces',serif; font-style:italic; color:var(--rose-light); margin-bottom:12px; }
.editorial .overlay-copy h2{ color:var(--ivory); font-size:32px; max-width:420px; }
.editorial .overlay-copy p{ color:#eadee2; max-width:380px; margin-top:14px; font-size:15px; }

/* ---------- TESTIMONIALS ---------- */
.testimonial-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
@media(max-width:800px){ .testimonial-grid{ grid-template-columns:1fr; } }
.testimonial-card{ background:var(--ivory-deep); border:1px solid var(--line); padding:28px; }
.testimonial-card .stars{ color:var(--gold); font-size:14px; margin-bottom:14px; letter-spacing:2px; }
.testimonial-card p.quote{ font-family:'Fraunces',serif; font-size:16.5px; line-height:1.5; color:var(--ink); }
.testimonial-who{ display:flex; align-items:center; gap:12px; margin-top:20px; }
.testimonial-who .photo-tint{ width:44px; height:44px; border-radius:50%; }
.avatar-initial{ width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--plum,#452136),var(--rose,#C9808F)); color:#fff; font-family:'Fraunces',serif; font-size:16px; flex-shrink:0; }
.testimonial-who .name{ font-weight:700; font-size:14px; }
.testimonial-who .loc{ font-size:12.5px; color:var(--ink-soft); }

/* ---------- INSTAGRAM-STYLE GALLERY ---------- */
.insta-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }
@media(max-width:760px){ .insta-grid{ grid-template-columns:repeat(3,1fr); } }
.insta-grid .photo-tint{ aspect-ratio:1/1; transition:transform .3s ease; }
.insta-grid a{ display:block; overflow:hidden; }
.insta-grid a:hover .photo-tint img{ transform:scale(1.08); }
.insta-grid .photo-tint img{ transition:transform .3s ease; }

/* ---------- ABOUT PAGE ---------- */
.about-hero{ position:relative; }
.about-hero .photo-tint{ height:420px; }
.about-hero .overlay-copy{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center;
  justify-content:center; text-align:center; padding:0 24px; color:var(--ivory);
}
.about-hero .overlay-copy .eyebrow{ font-family:'Fraunces',serif; font-style:italic; color:var(--rose-light); margin-bottom:14px; }
.about-hero .overlay-copy h1{ color:var(--ivory); font-size:44px; max-width:640px; }
@media(max-width:640px){ .about-hero .overlay-copy h1{ font-size:30px; } }
.about-hero .overlay-copy p{ color:#eadee2; max-width:480px; margin-top:16px; }

.values-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
@media(max-width:800px){ .values-grid{ grid-template-columns:1fr; } }
.value-card{ display:flex; flex-direction:column; }
.value-card .photo-tint{ aspect-ratio:4/3; margin-bottom:18px; }
.value-card h3{ font-size:19px; margin-bottom:8px; }
.value-card p{ color:var(--ink-soft); font-size:14.5px; }

.founder-split{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:center; }
@media(max-width:800px){ .founder-split{ grid-template-columns:1fr; gap:28px; } }
.founder-split .photo-tint{ aspect-ratio:4/5; }
.founder-split blockquote{ font-family:'Fraunces',serif; font-size:22px; line-height:1.45; margin:0 0 20px; color:var(--ink); font-style:italic; }
.founder-split .sign{ font-weight:700; font-size:14px; }
.founder-split .role{ color:var(--ink-soft); font-size:13px; }

/* ---------- CONTACT PAGE ---------- */
.contact-hero{ position:relative; }
.contact-hero .photo-tint{ height:260px; }
.contact-hero .overlay-copy{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center;
  justify-content:center; text-align:center; color:var(--ivory); padding:0 24px;
}
.contact-hero .overlay-copy h1{ color:var(--ivory); font-size:36px; }
.contact-hero .overlay-copy p{ color:#eadee2; margin-top:10px; }

.contact-layout{ display:grid; grid-template-columns:1fr 1.2fr; gap:50px; align-items:start; }
@media(max-width:800px){ .contact-layout{ grid-template-columns:1fr; } }
.contact-cards{ display:flex; flex-direction:column; gap:16px; }
.contact-card{ background:var(--ivory-deep); border:1px solid var(--line); padding:22px; display:flex; gap:16px; align-items:flex-start; }
.contact-card svg{ width:26px; height:26px; flex-shrink:0; margin-top:2px; }
.contact-card h5{ font-family:'Fraunces',serif; font-size:15px; margin-bottom:4px; }
.contact-card span{ color:var(--ink-soft); font-size:14px; }

.faq{ border-top:1px solid var(--line); }
.faq details{ border-bottom:1px solid var(--line); padding:18px 0; }
.faq summary{ cursor:pointer; font-family:'Fraunces',serif; font-size:16px; font-weight:600; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; font-size:20px; color:var(--rose); }
.faq details[open] summary::after{ content:"\2212"; }
.faq p{ color:var(--ink-soft); font-size:14.5px; margin-top:12px; max-width:600px; }
/* Demo mode banner shown at the very top of every page */
.demo-banner{
  background:var(--plum);
  color:var(--ivory);
  text-align:center;
  font-size:13.5px;
  padding:9px 16px;
  letter-spacing:0.2px;
}
.demo-banner strong{ color:var(--rose-light); }
.demo-banner a{
  color:var(--gold);
  font-weight:700;
  text-decoration:underline;
  margin-left:10px;
  white-space:nowrap;
}
.demo-banner a:hover{ color:var(--ivory); }
@media(max-width:480px){
  .demo-banner{ font-size:12px; }
  .demo-banner a{ display:block; margin:4px 0 0; }
}
