@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,ital,wght@6..96,400;6..96,500;6..96,600;6..96,700&family=DM+Sans:wght@400;500;600&display=swap');

:root{
  --ivory:#f6f2eb;
  --paper:#fbf9f5;
  --ink:#171311;
  --muted:#736d66;
  --wine:#6d1633;
  --wine-soft:#efe4e6;
  --line:#d9d2c9;
  --line-dark:#bdb5aa;

  --cat-pink:#f2a9bc;
  --cat-pink-line:#e88aa1;
  --cat-yellow:#f2d477;
  --cat-yellow-line:#ddb94e;
  --cat-blue:#a8cdec;
  --cat-blue-line:#79acd5;
  --cat-green:#add3b2;
  --cat-green-line:#83b58a;
  --cat-lilac:#cdb6e8;
  --cat-lilac-line:#a98bd1;

  --sans:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --serif:'Bodoni Moda','Times New Roman',serif;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:var(--sans);
  font-size:15px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}

.container{
  width:min(1240px,calc(100% - 64px));
  margin:0 auto;
}

/* HEADER */

header{
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(246,242,235,.92);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(23,19,17,.12);
}

.nav{
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.brand{
  font-family:var(--serif);
  font-weight:600;
  font-size:1.55rem;
  letter-spacing:-.045em;
  white-space:nowrap;
}

.brand b{
  font-style:italic;
  font-weight:500;
  color:var(--wine);
}

.navlinks{
  display:flex;
  align-items:center;
  gap:28px;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:600;
}

.navlinks a{
  position:relative;
  padding:7px 0;
}

.navlinks a:not(.navcta)::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:2px;
  height:1px;
  background:var(--wine);
  transition:.25s ease;
}

.navlinks a:hover::after{right:0}

.navcta{
  border:1px solid var(--ink);
  padding:10px 15px;
  transition:.2s ease;
}

.navcta:hover{
  background:var(--ink);
  color:var(--paper);
}

.mobile-toggle{
  display:none;
  border:0;
  background:none;
  font-size:1.4rem;
  padding:8px;
}

/* TYPE */

.kicker{
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--wine);
}

h1,h2,h3{
  font-family:var(--serif);
  font-weight:500;
  letter-spacing:-.045em;
  line-height:.98;
  margin:0;
}

h1{font-size:clamp(4rem,8.8vw,8.2rem)}
h2{font-size:clamp(2.7rem,5vw,4.9rem)}
h3{font-size:clamp(1.55rem,2vw,2rem);line-height:1.04}

.lede{
  font-size:1rem;
  line-height:1.65;
  color:var(--muted);
  max-width:620px;
}

.small{
  font-size:.75rem;
  color:var(--muted);
}

/* BUTTONS */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid var(--ink);
  background:transparent;
  padding:12px 17px;
  font-size:.73rem;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:600;
  transition:.22s ease;
}

.btn:hover{
  background:var(--ink);
  color:var(--paper);
}

.btn-dark{
  background:var(--ink);
  color:var(--paper);
}

.btn-dark:hover{
  background:var(--wine);
  border-color:var(--wine);
}

.btn-soft{border-color:var(--line-dark)}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:26px;
}

/* GENERAL SECTIONS */

.section{padding:100px 0}
.section.compact{padding:70px 0}

.section-head{
  display:grid;
  grid-template-columns:1.4fr .6fr;
  gap:40px;
  align-items:end;
  margin-bottom:42px;
}

.section-head .section-index{
  font-family:var(--serif);
  font-style:italic;
  font-size:1.15rem;
  color:var(--wine);
  margin-bottom:12px;
}

.section-head p{
  margin:14px 0 0;
  color:var(--muted);
  max-width:600px;
}

.section-head>a{
  justify-self:end;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  border-bottom:1px solid var(--ink);
  padding-bottom:4px;
}

/* HOME HERO */

.home-hero{
  padding:92px 0 54px;
  border-bottom:0;
}

.home-hero h1{
  max-width:980px;
  margin-top:16px;
}

.home-hero h1 em{
  font-weight:400;
  color:var(--wine);
}

.home-hero-bottom{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:60px;
  align-items:end;
  margin-top:34px;
  padding-bottom:30px;
  border-bottom:1px solid var(--line);
}

.home-lede{
  font-size:1.08rem;
  max-width:680px;
  margin:0;
}

.home-aside{
  margin:15px 0 0;
  color:var(--ink);
  font-family:var(--serif);
  font-size:1rem;
}

.home-actions{
  justify-content:flex-end;
  margin:0;
}

/* CATEGORY SECTION */

.category-section{
  padding:42px 0;
}

.category-intro{
  display:grid;
  grid-template-columns:.45fr 1fr .8fr;
  gap:30px;
  align-items:end;
  margin-bottom:24px;
  border-top:1px solid var(--ink);
  padding-top:24px;
}

.category-intro .section-index{
  font-family:var(--serif);
  font-style:italic;
  color:var(--wine);
  font-size:1.05rem;
}

.category-intro h2{
  font-size:clamp(2.7rem,4.4vw,4.6rem);
}

.category-intro p{
  margin:0;
  color:var(--muted);
  max-width:390px;
  justify-self:end;
}

.category-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}

.category-card{
  display:flex;
  flex-direction:column;
  min-height:310px;
  background:#fffdfa;
  border:1px solid;
  border-radius:0;
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease;
}

.category-card:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(23,19,17,.05);
}

.category-title{
  font-family:var(--serif);
  font-size:clamp(1.65rem,2vw,2.15rem);
  line-height:1;
  padding:26px 20px;
  min-height:112px;
  display:flex;
  align-items:center;
  color:var(--ink);
  border-radius:0;
}

.category-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:20px;
  gap:16px;
  background:#fffdfa;
  position:relative;
}

.category-body p{
  margin:0;
  color:var(--muted);
  font-size:.84rem;
  line-height:1.5;
  max-width:none;
}

.category-now{
  margin-top:auto;
  border-top:1px solid var(--line);
  padding-top:14px;
  padding-right:42px;
  display:grid;
  gap:4px;
}

.category-now span{
  font-size:.58rem;
  text-transform:uppercase;
  letter-spacing:.13em;
  color:var(--wine);
  font-weight:600;
}

.category-now strong{
  font-family:var(--serif);
  font-size:.95rem;
  line-height:1.25;
  font-weight:500;
}

.category-arrow{
  position:absolute;
  right:18px;
  bottom:18px;
  width:30px;
  height:30px;
  border:1px solid var(--ink);
  display:grid;
  place-items:center;
  font-size:1rem;
}

/* SOLID CATEGORY COLORS */

.category-art{
  border-color:var(--cat-pink-line);
}

.category-art .category-title{
  background:var(--cat-pink);
}

.category-creative{
  border-color:var(--cat-yellow-line);
}

.category-creative .category-title{
  background:var(--cat-yellow);
}

.category-business{
  border-color:var(--cat-blue-line);
}

.category-business .category-title{
  background:var(--cat-blue);
}

.category-social{
  border-color:var(--cat-green-line);
}

.category-social .category-title{
  background:var(--cat-green);
}

.category-mucene{
  border-color:var(--cat-lilac-line);
}

.category-mucene .category-title{
  background:var(--cat-lilac);
}

/* EVENT GRID */

.grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--ink);
  border-left:1px solid var(--line);
}

.card{
  min-width:0;
  background:transparent;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:flex;
  flex-direction:column;
  transition:background .2s ease;
}

.card:hover{
  background:rgba(255,255,255,.35);
}

.card-art{
  height:160px;
  position:relative;
  padding:18px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  font-family:var(--serif);
  font-size:1.25rem;
  font-style:normal;
  color:var(--ink);
}

.card-art::before{
  content:attr(data-number);
  position:absolute;
  right:14px;
  top:8px;
  font-family:var(--serif);
  font-size:5.2rem;
  font-style:normal;
  line-height:1;
  color:rgba(23,19,17,.08);
  letter-spacing:-.08em;
}

.card:nth-child(3n+1) .card-art{background:#eee9e1}
.card:nth-child(3n+2) .card-art{background:var(--wine-soft)}
.card:nth-child(3n+3) .card-art{background:#f2eee7}

.card-body{
  padding:22px 20px 20px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.card .small:first-child{
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--wine);
  font-size:.67rem;
}

.card h3{
  margin:9px 0 11px;
  min-height:2.05em;
}

.meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  color:var(--muted);
  font-size:.75rem;
}

.card-body>p.small{
  margin:18px 0 12px!important;
  font-size:.82rem!important;
  line-height:1.55!important;
  color:var(--muted);
}

.card-body>.small:not(:first-child){
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid var(--line);
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.card-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-top:15px;
}

.price{
  font-family:var(--serif);
  font-size:1.08rem;
  font-weight:500;
}

.iconbtn{
  width:38px;
  height:38px;
  border-radius:0;
  border:1px solid var(--line-dark);
  background:transparent;
  font-size:1rem;
  transition:.18s ease;
}

.iconbtn:hover{
  background:var(--wine);
  color:white;
  border-color:var(--wine);
}

.card-footer .btn{
  padding:9px 11px!important;
  font-size:.64rem!important;
}

.empty{
  display:none;
  padding:40px 0;
  text-align:center;
  color:var(--muted);
  border-bottom:1px solid var(--line);
}

/* HOME EVENT PICKS */

.home-weekend{
  padding-top:72px;
}

.home-section-head{
  margin-bottom:28px;
}

.home-section-head h2{
  font-size:clamp(3rem,5vw,5rem);
}

.home-event-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.home-event-grid .card:nth-child(n+5){
  display:none;
}

.home-event-grid .card-art{
  height:110px;
  font-style:normal;
  color:var(--ink);
}

.home-event-grid .card:nth-child(1) .card-art{
  background:var(--cat-pink);
}

.home-event-grid .card:nth-child(2) .card-art{
  background:var(--cat-yellow);
}

.home-event-grid .card:nth-child(3) .card-art{
  background:var(--cat-green);
}

.home-event-grid .card:nth-child(4) .card-art{
  background:var(--cat-lilac);
}

.home-event-grid .card-art::before{
  font-size:4rem;
}

.home-event-grid .card h3{
  font-size:1.55rem;
}

.home-event-grid .card-body{
  padding:18px;
}

/* MUCENE INTERRUPTION */

.home-mucene-card{
  margin-top:18px;
  border:1px solid var(--cat-lilac-line);
  display:grid;
  grid-template-columns:.45fr 1.25fr .55fr;
  min-height:150px;
  background:#fffdfa;
  align-items:stretch;
}

.home-mucene-label{
  background:var(--cat-lilac);
  padding:26px 24px;
  font-size:.68rem;
  letter-spacing:.16em;
  font-weight:600;
  display:flex;
  align-items:flex-start;
}

.home-mucene-copy{
  padding:24px 28px;
}

.home-mucene-copy>span{
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--wine);
  font-weight:600;
}

.home-mucene-copy h3{
  margin:8px 0;
  font-size:1.75rem;
}

.home-mucene-copy p{
  margin:0;
  color:var(--muted);
  font-size:.82rem;
}

.home-mucene-action{
  border-left:1px solid var(--cat-lilac-line);
  padding:24px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:600;
}

.home-mucene-card:hover .home-mucene-action{
  background:var(--cat-lilac);
}

/* FEEL GOOD BREAK */

.feelgood-section{
  padding:95px 0;
  background:var(--paper);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.feelgood-inner{
  max-width:950px;
  text-align:center;
}

.feelgood-inner h2{
  font-size:clamp(3rem,6vw,5.7rem);
  margin:18px auto 24px;
  max-width:1000px;
}

.feelgood-inner p{
  max-width:700px;
  margin:0 auto;
  color:var(--muted);
  font-size:1rem;
  line-height:1.7;
}

.feelgood-inner .feelgood-last{
  margin-top:18px;
  color:var(--wine);
  font-family:var(--serif);
  font-size:1.55rem;
}

/* MATCHMAKER */

.mood-section{
  padding-top:74px;
  padding-bottom:74px;
  background:#f8f4ee;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.mood-section .section-index{
  font-family:var(--serif);
  font-style:italic;
  font-size:1.15rem;
  color:var(--wine);
  margin-bottom:20px;
}

.matchmaker-head{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:50px;
  align-items:end;
  margin-bottom:34px;
}

.matchmaker-head h2{
  font-size:clamp(3rem,5vw,5rem);
  margin:10px 0 12px;
}

.matchmaker-head p{
  margin:0;
  color:var(--muted);
}

.matchmaker-note{
  justify-self:end;
  max-width:330px;
  font-family:var(--serif);
  font-size:1.08rem!important;
  line-height:1.45;
}

/* KEEP THIS EXACT ASYMMETRICAL LAYOUT */

.mood-grid.mood-playful{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-flow:dense;
  gap:12px;
}

.mood-playful .mood{
  min-height:170px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  padding:22px;
  border:1px solid;
  border-radius:0;
  transition:transform .18s ease;
}

.mood-playful .mood:hover{
  transform:translateY(-2px);
}

.mood-playful .mood span{
  font-size:1.25rem;
  margin-bottom:auto;
}

.mood-playful .mood strong{
  font-family:var(--serif);
  font-size:1.35rem;
  line-height:1.08;
  font-weight:500;
  max-width:220px;
}

.mood-playful .mood small{
  font-family:var(--sans);
  font-size:.7rem;
  color:rgba(23,19,17,.66);
  margin-top:9px;
}

.mood-playful .mood-wide{
  grid-column:span 2;
}

.mood-playful .mood-tall{
  grid-row:span 2;
  min-height:352px;
}

/* SOLID MATCHMAKER COLORS */

.mood-playful .mood-pink{
  background:#f3bfd0;
  border-color:var(--cat-pink-line);
}

.mood-playful .mood-yellow{
  background:#f2da8b;
  border-color:var(--cat-yellow-line);
}

.mood-playful .mood-blue{
  background:#b8d7f0;
  border-color:var(--cat-blue-line);
}

.mood-playful .mood-green{
  background:#bdddc1;
  border-color:var(--cat-green-line);
}

.mood-playful .mood-lilac{
  background:#d6c3ec;
  border-color:var(--cat-lilac-line);
}

.mood-playful .mood-rose{
  background:#efb8c7;
  border-color:#d99aaa;
}

.mood-playful .mood-pick{
  background:var(--wine);
  border-color:var(--wine);
  color:var(--paper);
}

.mood-playful .mood-pick small{
  color:#e5d5da;
}

.matchmaker-joke{
  margin:20px 0 0;
  text-align:center;
  font-family:var(--serif);
  font-style:italic;
  color:var(--wine);
  font-size:.98rem;
}

/* BIG GIRL + MUCENE */

.split-notes{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
}

.note-panel{
  padding:52px 52px 52px 0;
}

.note-panel+.note-panel{
  border-left:1px solid var(--ink);
  padding-left:52px;
  padding-right:0;
}

.note-panel h2{
  font-size:clamp(2.6rem,4vw,4.2rem);
  margin:14px 0 28px;
}

.note-links{
  display:grid;
  border-top:1px solid var(--line);
}

.note-links a{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
  font-family:var(--serif);
  font-size:1.12rem;
}

.mucene-lite .btn{
  margin-top:18px;
}

/* CLOSING */

.closing-brief{
  background:var(--wine);
  color:var(--paper);
  padding:72px 0;
}

.closing-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:end;
}

.closing-grid h2{
  font-size:clamp(3.4rem,5.8vw,6rem);
}

.closing-tag{
  font-family:var(--serif);
  font-size:1.8rem;
  margin:14px 0 0;
  color:#ead8df;
}

.closing-grid p{
  color:#ead8df;
}

.closing-kicker{
  color:#dcc1ca;
}

.newsletter{
  display:grid;
  grid-template-columns:1fr auto;
  border-bottom:1px solid var(--ink);
}

.newsletter input{
  border:0;
  background:transparent;
  padding:15px 0;
  outline:none;
  font-size:.95rem;
}

.newsletter .btn{
  border:0;
  border-left:1px solid var(--ink);
  padding-inline:22px;
  background:transparent;
  color:var(--ink);
}

.closing-newsletter{
  border-bottom-color:var(--paper);
}

.closing-newsletter input{
  color:var(--paper);
}

.closing-newsletter input::placeholder{
  color:#d9c6cd;
}

.closing-newsletter .btn{
  border-left-color:var(--paper);
  color:var(--paper);
}

.closing-newsletter .btn:hover{
  background:var(--paper);
  color:var(--wine);
}

.closing-small{
  color:#d9c6cd!important;
}

/* TOOLBAR + FORMS */

.chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:30px;
}

.chip{
  border:1px solid var(--line-dark);
  background:transparent;
  padding:8px 13px;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  transition:.18s ease;
}

.chip:hover,
.chip.active{
  background:var(--ink);
  color:var(--paper);
  border-color:var(--ink);
}

.toolbar{
  display:grid;
  grid-template-columns:1.2fr .65fr .65fr auto;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  margin:38px 0 24px;
}

.toolbar input,
.toolbar select{
  width:100%;
  border:0;
  border-right:1px solid var(--line);
  background:transparent;
  padding:16px 14px;
  outline:none;
  border-radius:0;
}

.toolbar .btn{
  border:0;
  border-radius:0;
  background:var(--ink);
  color:var(--paper);
}

.form{
  max-width:860px;
  border-top:1px solid var(--ink);
  padding-top:34px;
}

.field{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:22px;
  align-items:start;
  padding:16px 0;
  border-bottom:1px solid var(--line);
}

.field label{
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  padding-top:13px;
}

.field input,
.field select,
.field textarea{
  border:0;
  background:rgba(255,255,255,.25);
  padding:13px 14px;
  outline:none;
  border-radius:0;
}

.field textarea{
  min-height:130px;
  resize:vertical;
}

.notice{
  font-size:.75rem;
  color:var(--muted);
  margin-top:16px;
}

/* FOOTER */

footer{
  padding:58px 0 42px;
  border-top:1px solid var(--ink);
  margin-top:90px;
}

.home-page footer{
  margin-top:0;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.8fr .7fr .7fr;
  gap:48px;
}

.footer-grid strong{
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.footer-grid p{
  color:var(--muted);
  font-size:.8rem;
  line-height:1.8;
}

.footer-grid a:hover{
  color:var(--wine);
}

/* TABLET */

@media(max-width:1100px){

  .category-intro{
    grid-template-columns:1fr 1fr;
  }

  .category-intro .section-index{
    grid-column:1/-1;
  }

  .category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .category-card:last-child{
    grid-column:1/-1;
  }

  .home-event-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .mood-grid.mood-playful{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .home-mucene-card{
    grid-template-columns:1fr 2fr;
  }

  .home-mucene-action{
    grid-column:1/-1;
    border-left:0;
    border-top:1px solid var(--cat-lilac-line);
  }
}

@media(max-width:960px){

  .container{
    width:min(100% - 36px,1240px);
  }

  .grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .section-head{
    grid-template-columns:1fr;
  }

  .section-head>a{
    justify-self:start;
  }

  .home-hero-bottom,
  .closing-grid,
  .split-notes,
  .matchmaker-head{
    grid-template-columns:1fr;
  }

  .home-actions{
    justify-content:flex-start;
  }

  .matchmaker-note{
    justify-self:start;
  }

  .note-panel+.note-panel{
    border-left:0;
    border-top:1px solid var(--ink);
    padding-left:0;
  }

  .note-panel{
    padding-right:0;
  }

  .toolbar{
    grid-template-columns:1fr 1fr;
  }

  .toolbar>*:nth-child(2){
    border-right:0;
  }

  .toolbar .btn{
    grid-column:1/-1;
  }

  .navlinks{
    display:none;
    position:absolute;
    left:18px;
    right:18px;
    top:72px;
    background:var(--paper);
    border:1px solid var(--ink);
    padding:20px;
    flex-direction:column;
    align-items:flex-start;
  }

  .navlinks.open{
    display:flex;
  }

  .mobile-toggle{
    display:block;
  }
}

/* MOBILE */

@media(max-width:700px){

  .container{
    width:min(100% - 28px,1240px);
  }

  .home-hero{
    padding:58px 0 30px;
  }

  .home-hero h1{
    font-size:clamp(3.4rem,18vw,5.8rem);
  }

  .section{
    padding:72px 0;
  }

  .section.compact{
    padding:54px 0;
  }

  .category-intro{
    grid-template-columns:1fr;
  }

  .category-intro p{
    justify-self:start;
  }

  .category-grid{
    grid-template-columns:1fr;
  }

  .category-card:last-child{
    grid-column:auto;
  }

  .category-card{
    min-height:260px;
  }

  .home-event-grid{
    grid-template-columns:1fr;
  }

  .grid{
    grid-template-columns:1fr;
    border-right:1px solid var(--line);
  }

  .card h3{
    min-height:auto;
  }

  .card-art{
    height:135px;
  }

  /* Mobile only: stack matchmaker while preserving desktop layout */

  .mood-grid.mood-playful{
    grid-template-columns:1fr;
  }

  .mood-playful .mood-wide{
    grid-column:auto;
  }

  .mood-playful .mood-tall{
    grid-row:auto;
    min-height:170px;
  }

  .home-mucene-card{
    grid-template-columns:1fr;
  }

  .home-mucene-action{
    grid-column:auto;
  }

  .feelgood-section{
    padding:72px 0;
  }

  .closing-brief{
    padding:56px 0;
  }

  .newsletter{
    grid-template-columns:1fr;
  }

  .newsletter .btn{
    border-left:0;
    border-top:1px solid var(--paper);
  }

  .toolbar{
    grid-template-columns:1fr;
  }

  .toolbar input,
  .toolbar select{
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .field{
    grid-template-columns:1fr;
    gap:5px;
  }

  .field label{
    padding-top:0;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
  }

  .footer-grid>div:first-child{
    grid-column:1/-1;
  }
}
/* =========================================
   BABESBRIEF OFFICIAL LOGO
   ========================================= */

.brand-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}

.brand-logo img {
  display: block;
  width: 190px;
  max-width: 100%;
  height: auto;
}

/* Footer logo */

.footer-logo {
  display: inline-block;
  text-decoration: none;
  margin-bottom: 10px;
}

.footer-logo img {
  display: block;
  width: 180px;
  max-width: 100%;
  height: auto;
}

/* Mobile */

@media (max-width: 700px) {
  .brand-logo img {
    width: 145px;
  }

  .footer-logo img {
    width: 160px;
  }

