:root{
  --bg:#faf8f5;
  --paper:#ffffff;
  --ink:#1a1715;
  --muted:#6b6561;
  --brand:#d62b1f;
  --brand-hover:#b82318;
  --brand-ink:#fff;
  --chip:#ffe8e3;
  --chip-border:#ffd1c7;
  --card:#ffffff;
  --ring:rgba(214,43,31,0.2);
  --shadow:0 2px 8px rgba(26,23,21,.04), 0 8px 24px rgba(26,23,21,.06);
  --shadow-hover:0 4px 16px rgba(26,23,21,.08), 0 12px 40px rgba(26,23,21,.1);
  --shadow-brand:0 8px 24px rgba(214,43,31,.15);
}

/* Animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes shimmer {
  0% {
    background-position: -200% center;
  }
  100% {
    background-position: 200% center;
  }
}

.hero-text {
  animation: fadeInUp 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.hero-text h1 {
  animation: fadeInUp 0.7s cubic-bezier(0.4, 0, 0.2, 1) 0.1s both;
}

.hero-text p {
  animation: fadeInUp 0.7s cubic-bezier(0.4, 0, 0.2, 1) 0.2s both;
}

.hero-text .btn {
  animation: fadeInUp 0.7s cubic-bezier(0.4, 0, 0.2, 1) 0.35s both;
}

/* Stagger animation for cards */
.card {
  animation: scaleIn 0.4s cubic-bezier(0.4, 0, 0.2, 1) backwards;
}

.card:nth-child(1) { animation-delay: 0.05s; }
.card:nth-child(2) { animation-delay: 0.1s; }
.card:nth-child(3) { animation-delay: 0.15s; }
.card:nth-child(4) { animation-delay: 0.2s; }
.card:nth-child(5) { animation-delay: 0.25s; }
.card:nth-child(6) { animation-delay: 0.3s; }
.card:nth-child(7) { animation-delay: 0.35s; }
.card:nth-child(8) { animation-delay: 0.4s; }
.card:nth-child(9) { animation-delay: 0.45s; }
.card:nth-child(10) { animation-delay: 0.5s; }

*{box-sizing:border-box}
html{
  height:100%;
  scroll-padding-top:60px; /* Account for sticky header */
  scroll-behavior:smooth;
}
body{height:100%}
body{
  margin:0;
  font-family:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.6;
  font-size:clamp(0.875rem, 2vw, 1rem);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.container{width:min(1100px,92%);margin-inline:auto}
.narrow{width:min(800px,92%);margin-inline:auto}

/* Typography */
h1, h2, h3, h4, h5, h6{
  font-family:'Plus Jakarta Sans','DM Sans',system-ui,sans-serif;
  font-weight:700;
  letter-spacing:-0.025em;
}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(250,248,245,0.92);
  backdrop-filter:blur(16px) saturate(180%);
  -webkit-backdrop-filter:blur(16px) saturate(180%);
  border-bottom:1px solid rgba(26,23,21,0.08);
  padding:.6rem 0;
  box-shadow:0 1px 0 rgba(255,255,255,.8), 0 2px 12px rgba(26,23,21,.03);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.logo{
  display:flex;
  align-items:center;
  text-decoration:none;
  transition: opacity 0.2s ease;
}
.logo:hover{
  opacity:0.85;
}
.logo-img{
  height:58px;
  width:auto;
  display:block;
}
.nav{
  display:flex;
  gap:1.5rem;
}
.nav-link{
  color:var(--ink);
  text-decoration:none;
  font-weight:500;
  font-size:clamp(0.85rem, 2vw, 0.95rem);
  padding:.4rem .6rem;
  border-radius:6px;
  transition: all 0.2s ease;
}
.nav-link:hover{
  color:var(--brand);
  background:var(--chip);
}
.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  width:32px;
  height:32px;
  background:none;
  border:none;
  cursor:pointer;
  padding:4px;
}
.nav-toggle span{
  display:block;
  width:100%;
  height:2px;
  background:var(--ink);
  border-radius:2px;
  transition: all 0.3s ease;
}

/* Mobile nav */
@media (max-width: 600px) {
  .nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    background:rgba(255,247,239,0.98);
    backdrop-filter:blur(10px);
    padding:1rem;
    gap:0;
    border-bottom:1px solid rgba(0,0,0,0.08);
    display:none;
  }
  .nav.is-open{
    display:flex;
  }
  .nav-link{
    padding:.75rem 1rem;
    border-radius:8px;
  }
  .nav-toggle{
    display:flex;
  }
  .nav-toggle.is-open span:nth-child(1){
    transform: rotate(45deg) translate(4px, 4px);
  }
  .nav-toggle.is-open span:nth-child(2){
    opacity:0;
  }
  .nav-toggle.is-open span:nth-child(3){
    transform: rotate(-45deg) translate(4px, -4px);
  }
}

/* Hero */
/* Base padding: 1.5rem equal top/bottom + 3rem added to top to compensate for sticky header */
.hero{
  background:
    radial-gradient(1400px 600px at 85% -40%, rgba(255,220,210,.5) 0, rgba(255,220,210,0) 65%),
    radial-gradient(1000px 450px at -15% -40%, rgba(255,235,215,.4) 0, rgba(255,235,215,0) 65%),
    linear-gradient(180deg, #faf8f5 0%, #fff 40%, #faf8f5 100%);
    padding: 4.5rem 0 1.5rem;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    position:relative;
}
.hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(90deg, transparent 0, transparent 1px, rgba(214,43,31,.01) 1px, rgba(214,43,31,.01) 2px),
    repeating-linear-gradient(0deg, transparent 0, transparent 1px, rgba(214,43,31,.01) 1px, rgba(214,43,31,.01) 2px);
  background-size:60px 60px;
  opacity:0.3;
  pointer-events:none;
}

.hero-inner{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:.5rem;
  padding:0 1rem;
}
.hero-text h1{line-height:1.15; font-size: clamp(1.6rem, 4vw, 2.4rem); margin:0 0 .4rem}
.hero-text p{color:var(--muted); margin:0 0 .8rem; font-size:clamp(0.9rem, 2vw, 1rem)}

.section{
  padding:2rem 0;
  position:relative;
}
#menu::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:400px;
  background:
    radial-gradient(1400px 600px at 85% 0%, rgba(255,220,210,.35) 0, rgba(255,220,210,0) 60%),
    radial-gradient(1000px 450px at -15% 0%, rgba(255,235,215,.3) 0, rgba(255,235,215,0) 60%);
  pointer-events:none;
  z-index:0;
}
#menu .container{
  position:relative;
  z-index:1;
}
.section--alt{
  background:
    radial-gradient(circle at 20% 50%, rgba(255,235,215,.15) 0%, transparent 50%),
    radial-gradient(circle at 80% 50%, rgba(255,220,210,.12) 0%, transparent 50%),
    linear-gradient(180deg, #fff 0%, #faf8f5 100%);
  padding:1.5rem 0;
  position:relative;
}
.section--alt::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(0deg, transparent 0, transparent 2px, rgba(214,43,31,.008) 2px, rgba(214,43,31,.008) 3px);
  pointer-events:none;
  opacity:0.5;
}
.section--alt p{
  color:var(--muted);
  font-size:clamp(0.9rem, 2vw, 1.05rem);
  line-height:1.7;
  margin:0;
  position:relative;
}

/* About section - equal vertical spacing */
#about{
  padding:1.25rem 0 0;
}
#about .section-title{
  margin-bottom:1rem;
}
#about p{
  margin-bottom:1rem;
}

/* Contact section - match spacing from about */
#contact{
  padding-top:0;
}
.section-title{
  margin:0 0 1rem;
  font-size:clamp(1.5rem,3.5vw,2.2rem);
  font-weight:400;
  position:relative;
  display:inline-block;
}
.section-title::after{
  content:'';
  position:absolute;
  bottom:-4px;
  left:0;
  width:60px;
  height:3px;
  background:linear-gradient(90deg, var(--brand), transparent);
  border-radius:2px;
  opacity:0.6;
}

/* Heading + search on one line */
.section-top{ display:flex; align-items:center; gap:1rem; }
.section-top .section-title{ margin:0; }
.search-wrap{
  margin-left:auto;
  position:relative;
  width:min(480px, 100%);
  flex:0 1 480px;
  height:auto;               /* ensures wrapper takes input height */
  display:flex;
  align-items:center;        /* vertically align icons */
}

/* Pretty search */
.menu-search {
  width:100%;
  padding:1rem 2.8rem 1rem 2.8rem;
  border:1.5px solid rgba(26,23,21,.1);
  border-radius:14px;
  font:inherit;
  font-size:clamp(0.85rem, 2vw, 1rem);
  background:#fff;
  box-shadow:var(--shadow);
  transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-sizing:border-box;
}
.menu-search::placeholder{
  color:var(--muted);
  opacity:0.6;
}
.menu-search:focus{
  outline:0;
  border-color:rgba(214,43,31,.3);
  box-shadow:var(--shadow-hover), 0 0 0 3px var(--ring);
  transform:translateY(-1px);
}

/* Icon & clear */
.search-ico {
  position:absolute;
  left:1rem;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  color:#999;
  pointer-events:none;
}

.search-clear {
  position:absolute;
  right:1rem;
  top:50%;
  transform:translateY(-50%);
  background:none;
  border:none;
  font-size:18px;
  color:#999;
  cursor:pointer;
  padding:4px 8px;
  border-radius:6px;
  transition: all 0.2s ease;
}
.search-clear:hover{
  background:#ffe2db;
  color:var(--brand);
  transform:translateY(-50%) scale(1.1);
}

/* Chips – bigger & bolder */
.filters{display:flex; gap:.6rem; flex-wrap:wrap; margin:0.9rem 0 0.9rem 0}
.chip{
  border:1.5px solid var(--chip-border);
  background:var(--chip);
  color:#8a2a22;
  border-radius:999px;
  padding:.7rem 1.1rem;
  font-weight:600;
  font-size:clamp(0.8rem, 2vw, 0.95rem);
  cursor:pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  position:relative;
  letter-spacing:-0.01em;
}
.chip::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(255,255,255,.8), rgba(255,255,255,.2));
  opacity:0;
  transition:opacity 0.25s ease;
}
.chip:hover{
  background:#ffd4cc;
  border-color:#e8a99f;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(214,43,31,.12);
}
.chip:hover::before{
  opacity:1;
}
.chip:active{
  transform: translateY(0);
}
.chip.is-active{
  background:var(--brand);
  color:#fff;
  border-color:var(--brand);
  box-shadow:var(--shadow-brand);
}
.chip.is-active:hover{
  background:var(--brand-hover);
  border-color:var(--brand-hover);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(214,43,31,.25);
}

/* No results */
.no-results{ margin:.6rem 0 0; color:#888; font-size:.95rem }

/* Cards */
.grid{display:grid; gap:1rem}
.cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}

.card{
  background:var(--card);
  border:1px solid rgba(26,23,21,.08);
  border-radius:16px;
  padding:1rem;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              border-color 0.35s ease,
              overflow 0s 0.35s;
  cursor:pointer;
  will-change: transform, box-shadow;
  backdrop-filter:blur(10px);
}
.card::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(255,255,255,.6) 0%, rgba(255,255,255,0) 50%);
  opacity:0;
  transition:opacity 0.35s ease;
  pointer-events:none;
}
.card:hover{
  transform: translateY(-4px) scale(1.01);
  box-shadow: var(--shadow-hover), 0 0 0 1px rgba(214,43,31,.08);
  border-color:rgba(214,43,31,.12);
  overflow: visible;
  z-index: 10;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              border-color 0.35s ease,
              overflow 0s 0s;
}
.card:hover::before{
  opacity:1;
}
.card:active{
  transform: translateY(-2px) scale(1.005);
  box-shadow: 0 4px 16px rgba(26,23,21,.08);
}
.card h3{margin:.7rem 0 .4rem; font-size:clamp(0.9rem, 2.5vw, 1.08rem); transition: color 0.2s ease}
.card:hover h3{color: var(--brand)}
.card p{
  margin:0 0 .9rem;
  color:var(--muted);
  font-size:clamp(0.8rem, 2.2vw, 0.95rem);
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card:hover p{
  position: relative;
  z-index: 5;
  background: var(--card);
  -webkit-line-clamp: unset;
  overflow: visible;
  padding-bottom: .5rem;
  margin-bottom: 0;
}
.card.is-expanded p{
  -webkit-line-clamp: unset;
  overflow: visible;
}
.price-row{display:flex; align-items:center; justify-content:space-between}
.price{
  font-weight:700;
  color:var(--brand);
  font-size:clamp(0.8rem, 2vw, 1rem);
  transition: transform 0.2s ease;
}
.card:hover .price{
  transform: scale(1.02);
}
.badge{
  position:absolute;
  top:10px;
  right:10px;
  font-size:clamp(0.65rem, 1.5vw, 0.75rem);
  font-weight:600;
  padding:.3rem .6rem;
  background:linear-gradient(135deg, #fff5f2, #ffefea);
  border:1.5px solid rgba(214,43,31,.2);
  border-radius:999px;
  color:#b22b1f;
  box-shadow:0 2px 6px rgba(214,43,31,.1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  backdrop-filter:blur(8px);
  letter-spacing:0.01em;
}
.card:hover .badge{
  transform: scale(1.08) translateY(-2px);
  box-shadow: 0 4px 12px rgba(214,43,31,.2);
  border-color:rgba(214,43,31,.3);
}

/* Square image placeholder */
.thumb{
  width:100%;
  aspect-ratio:1/1;
  border-radius:10px;
  background:linear-gradient(135deg, #f4f4f4, #efefef);
  overflow:hidden;
  position:relative;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
}
.thumb.loaded{
  animation: fadeIn 0.3s ease;
}
@keyframes fadeIn {
  from { opacity: 0.7; }
  to { opacity: 1; }
}
.thumb::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 60%, rgba(0,0,0,0.08) 100%);
  opacity:0;
  transition: opacity 0.3s ease;
}
.card:hover .thumb{
  transform: scale(1.05);
}
.card:hover .thumb::after{
  opacity:1;
}

/* CTA button */
.btn{
  appearance:none;
  border:0;
  border-radius:999px;
  padding:.8rem 1.6rem;
  background:var(--brand);
  color:var(--brand-ink);
  font-weight:600;
  cursor:pointer;
  font-size:clamp(0.85rem, 2vw, 1rem);
  box-shadow:var(--shadow-brand), inset 0 1px 0 rgba(255,255,255,.2);
  text-decoration:none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display:inline-block;
  position:relative;
  overflow:hidden;
  letter-spacing:-0.01em;
}
.btn::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.2), transparent);
  opacity:0;
  transition:opacity 0.3s ease;
}
.btn:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(214,43,31,.35), inset 0 1px 0 rgba(255,255,255,.25);
  background:var(--brand-hover);
}
.btn:hover::before{
  opacity:1;
}
.btn:active{
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(214,43,31,.3), inset 0 1px 0 rgba(255,255,255,.2);
}
.btn:focus{
  outline:3px solid var(--ring);
  outline-offset:3px;
}

/* Contact layout: side-by-side (map left, info right) */
.contact-grid{
  display:grid;
  grid-template-columns: 1.6fr 1fr;
  gap:2rem;
  align-items:start;
}
.contact-info a{
  color:var(--brand);
  text-decoration:none;
  transition: all 0.2s ease;
  padding:2px 4px;
  margin:-2px -4px;
  border-radius:4px;
}
.contact-info a:hover{
  background:var(--chip);
  text-decoration:underline;
}
.map-wrapper iframe{
  transition: box-shadow 0.3s ease;
}
.map-wrapper:hover iframe{
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
@media (max-width: 900px){
  .contact-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .section-top {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .5rem;
  }

  .section-title {
    order: -1;
    text-align: left;
    font-size: 1.4rem;
    margin-bottom: 0;
  }

  .search-wrap {
    width: 100%;
    position: relative;
    max-width: 100%;
    display: flex;
    align-items: center;
    flex: none;
    margin-left: 0;
  }

  .menu-search {
    width: 100%;
    padding: .65rem 2.2rem .65rem 2.5rem;
    font-size: .9rem;
    border-radius: 10px;
  }

  .search-ico {
    left: .85rem;
    width: 14px;
    height: 14px;
  }

  .search-clear {
    right: .6rem;
    font-size: 14px;
    padding: 2px 5px;
  }

  .filters {
    margin: .5rem 0;
  }
}

@media (max-width: 600px) {
  .menu-search {
    padding: 0.7rem 1.8rem;    /* tighter padding on small screens */
    font-size: 0.95rem;
  }

  .search-ico {
    left: 0.9rem;
    width: 16px;
  }

  .search-clear {
    right: 0.9rem;
    font-size: 15px;
  }
}

@media (max-width: 420px) {
  .menu-search {
    padding: 0.65rem 1.6rem;   /* compact on very small screens */
    font-size: 0.9rem;
  }
}

/* Footer */
.site-footer{
  padding:1.5rem 0;
  border-top:1px solid rgba(26,23,21,.08);
  background:linear-gradient(180deg, #fff 0%, #faf8f5 100%);
  font-size:clamp(0.8rem, 2vw, 0.9rem);
  position:relative;
}
.site-footer::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.8), transparent);
}
.footer-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.social-links{display:flex; gap:.75rem; align-items:center}
.social-links a{
  color:var(--muted);
  padding:.4rem;
  border-radius:8px;
  transition: all 0.2s ease;
  display:flex;
  align-items:center;
  justify-content:center;
}
.social-links a:hover{
  color:var(--brand);
  background:var(--chip);
  transform: translateY(-2px);
}
.to-top{
  text-decoration:none;
  color:var(--ink);
  padding:.5rem 1rem;
  border-radius:8px;
  transition: all 0.2s ease;
}
.to-top:hover{
  color:var(--brand);
  background:var(--chip);
}

/* ==================== MOBILE OPTIMIZATIONS ==================== */

/* Horizontal scroll for filter chips on mobile */
@media (max-width: 768px) {
  .filters{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
    padding-bottom:.5rem;
    margin-left:-4%;
    margin-right:-4%;
    padding-left:4%;
    padding-right:4%;
  }
  .filters::-webkit-scrollbar{display:none}
  .chip{
    flex-shrink:0;
    padding:.7rem 1.1rem;
    min-height:44px; /* touch-friendly */
  }

  /* Disable hover effects on touch devices - use active instead */
  .card:hover{
    transform:none;
    box-shadow:var(--shadow);
  }
  .card:active{
    transform: scale(0.98);
    box-shadow: 0 4px 12px rgba(0,0,0,.1);
  }
  .card:hover .thumb{
    transform:none;
  }
  .card:active .thumb{
    transform: scale(1.02);
  }
  .chip:hover{
    transform:none;
    box-shadow:none;
    background:var(--chip);
  }
  .chip:active{
    background:#ffd4cc;
    transform: scale(0.95);
  }
  .chip.is-active:hover{
    transform:none;
    box-shadow:0 6px 14px rgba(214,43,31,.18);
  }

  /* Better mobile card sizing - always 2 per row */
  .cards{
    grid-template-columns: repeat(2, 1fr);
    gap:.8rem;
  }
  .card{
    padding:.8rem;
  }
  /* Larger touch targets */
  .btn{
    padding:.85rem 1.6rem;
    min-height:48px;
  }
  .btn:hover{
    transform:none;
  }
  .btn:active{
    transform: scale(0.97);
    background:#c2261b;
  }
}

/* Small phones */
@media (max-width: 480px) {
  .cards{
    grid-template-columns: repeat(2, 1fr);
    gap:.6rem;
  }
  .card{
    padding:.6rem;
    border-radius:10px;
  }
  .card h3{
    margin:.5rem 0 .3rem;
  }
  .card p{
    margin:0 0 .5rem;
  }
  .thumb{
    aspect-ratio:1/1;
    border-radius:8px;
  }
  .badge{
    padding:.15rem .4rem;
    top:6px;
    right:6px;
  }
  .hero-inner{
    padding:1rem;
  }
  .section{
    padding:1.5rem 0;
  }
  .chip{
    padding:.5rem .75rem;
  }
}

/* Extra small phones */
@media (max-width: 360px) {
  .container{width:94%}
  .card{
    padding:.75rem;
  }
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
  .card:hover{
    transform:none;
    box-shadow:var(--shadow);
    overflow:hidden;
    z-index:auto;
  }
  .card.is-expanded{
    overflow: visible !important;
    z-index: 15 !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.15);
  }
  .card:hover h3{
    color:inherit;
  }
  .card:hover .thumb{
    transform:none;
  }
  .card:hover p{
    -webkit-line-clamp: 2;
    overflow: hidden;
    position: static;
  }
  .card.is-expanded p{
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
    position: relative;
    z-index: 5;
    background: var(--card);
  }
  .chip:hover{
    transform:none;
    background:var(--chip);
    border-color:#f2c9c2;
    box-shadow:none;
  }
  .chip.is-active:hover{
    transform:none;
    background:var(--brand);
  }
  .btn:hover{
    transform:none;
    background:var(--brand);
    box-shadow:0 4px 10px rgba(214,43,31,.25);
  }
}