/*
Theme Name: Flavorich Theme
Description: Flavorich V2 B2B landing page
Version: 2.0.0
*/
@import url("https://cdn.jsdelivr.net/npm/@fontsource/blackout-midnight@5.0.8/index.css");
:root{--p:#30207d;--pd:#20105f;--pink:#f06aa8;--cream:#fff9f4;--ink:#151122;--muted:#655f70;--line:#e6dfe9;--yellow:#ffc857;--blue:#2864dc;--orange:#c65312}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 Manrope,system-ui,sans-serif}.font-display{font-family:"Playfair Display","Plus Jakarta Sans",serif}.font-campaign{font-family:"Blackout Midnight","Plus Jakarta Sans",sans-serif}h1,h2,h3{font-family:"Plus Jakarta Sans",Inter,sans-serif;line-height:1.08;letter-spacing:-.04em}h1{font-size:clamp(3rem,7vw,6.5rem);margin:0 0 24px}h2{font-size:clamp(2.3rem,5vw,4.6rem);margin:0 0 20px}a{text-decoration:none;color:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.section{padding:100px 0}.eyebrow{color:var(--p);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:1px solid transparent;border-radius:12px;font:inherit;font-weight:800;color:inherit;background:none;cursor:pointer;appearance:none}.btn.primary{background:var(--p);color:#fff}.btn.light{background:#fff;color:var(--pd)}.btn.outline{border-color:currentColor}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}header{position:sticky;top:0;z-index:10;background:#fff9f4f5;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}header nav{min-height:92px;display:flex;align-items:center;gap:32px}.logo{min-height:44px;display:inline-flex;align-items:center;font:800 2rem "Plus Jakarta Sans";letter-spacing:-.04em;color:var(--pd)}.logo b{color:var(--pink)}.links{margin-left:auto;display:flex;align-items:center;gap:28px;font-weight:700;font-size:1rem;white-space:nowrap}.links>a:not(.btn){position:relative;padding:0 4px}.links>a:not(.btn):after{content:"";position:absolute;left:4px;right:4px;bottom:6px;height:2px;background:var(--pink);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.links>a:not(.btn):is(:hover,[aria-current="location"]):after{transform:scaleX(1)}.links>.btn{min-height:52px;padding-inline:24px}.hero{overflow:hidden;background:var(--pd);color:#fff}.hero-grid{min-height:700px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:60px}.hero .eyebrow{color:var(--pink)}.hero h1 span{color:var(--yellow)}.hero p{max-width:650px;color:#ffffffc7;font-size:1.1rem}.actions{display:flex;gap:14px;margin:32px 0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid #ffffff44;border-radius:99px;padding:7px 11px;font-size:.8rem}.visual{position:relative;height:480px;display:grid;place-items:center}.ring{position:absolute;width:420px;height:420px;border:1px solid #ffffff33;border-radius:50%}.pack{position:relative;width:210px;height:340px;padding:65px 20px 20px;border-radius:34px;background:linear-gradient(145deg,#fff 0 68%,#f7bad7 68%);color:var(--pd);box-shadow:25px 35px 70px #0007;transform:rotate(6deg)}.pack:before{content:"";position:absolute;top:-20px;left:50px;width:110px;height:42px;background:var(--pink);border-radius:12px}.pack strong{font:800 1.8rem "Plus Jakarta Sans"}.pack small{position:absolute;bottom:32px;left:20px;font-weight:800;text-transform:uppercase}.trust{background:#fff;border-bottom:1px solid var(--line)}.trust .wrap{min-height:92px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);align-items:center;gap:20px}.problem{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.quote{padding:46px;border-radius:24px;background:var(--p);color:#fff;font:800 clamp(1.8rem,3vw,3rem)/1.2 "Plus Jakarta Sans"}.muted{color:var(--muted)}.white{background:#fff}.head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.head p{max-width:500px}.bento{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.card{min-height:290px;padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff;display:flex;flex-direction:column}.card h3{font-size:2rem;margin:38px 0 12px}.card a{margin-top:auto;color:var(--p);font-weight:800}.card.core{background:var(--pd);color:#fff}.card.core p,.card.core a{color:#dccfff}.card.lite{background:#e9f0ff}.card.conc{background:#fff0e7}.card.krimax{background:#fff2f8}.badge{align-self:flex-start;background:#fff;border-radius:99px;padding:5px 10px;font-size:.7rem;font-weight:800;text-transform:uppercase}.needs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.need{min-height:250px;padding:25px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;flex-direction:column}.need span{color:var(--pink);font:700 .75rem Manrope,system-ui,sans-serif}.need h3{margin-top:40px}.need a{margin-top:auto;color:var(--p);font-weight:800}.dark{background:#14083f;color:#fff}.dark .eyebrow{color:var(--pink)}.dark-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.step{padding:24px;border:1px solid #ffffff33;border-radius:16px;background:#ffffff12}.step:nth-child(2){background:var(--orange)}.step:nth-child(3){background:#fff;color:var(--pd)}.step h3{margin-top:60px}label{display:grid;gap:6px;font-weight:700;font-size:.85rem}input,select{min-height:50px;padding:12px;border:1px solid var(--line);border-radius:12px}.lead{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.form{background:#fff;color:var(--ink);padding:32px;border-radius:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.note{font-size:.78rem;color:var(--muted)}.form-step{display:none}.form-step.active{display:block}.form-progress{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}.form-step-badge{font-size:.75rem;font-weight:800;color:var(--p);text-transform:uppercase;letter-spacing:.08em}.form-step-bar{height:6px;width:100px;background:var(--line);border-radius:99px;overflow:hidden}.form-step-fill{height:100%;width:50%;background:var(--p);transition:width .3s ease}.form-step-fill.step-2{width:100%}.field-error{color:#b42318;font-size:.78rem;font-weight:600;margin-top:4px}.form label.has-error input,.form label.has-error select{border-color:#b42318;background:#feeceb}.consent-label{display:flex;align-items:flex-start;gap:10px;font-weight:500;font-size:.85rem;margin:16px 0;cursor:pointer}.consent-label input[type="checkbox"]{width:18px;height:18px;min-height:auto;margin-top:2px;accent-color:var(--p)}.form-actions{display:flex;gap:12px;margin-top:20px}.form-actions .btn{flex:1}footer{padding:50px 0;background:#0d0529;color:#ffffffaa}footer .logo{color:#fff}@media(max-width:900px){.links{display:none}.hero-grid,.problem,.dark-grid,.lead{grid-template-columns:1fr}.visual{height:400px}.trust .wrap{grid-template-columns:1fr 1fr;padding:22px 0}.needs{grid-template-columns:1fr 1fr}}@media(max-width:650px){.section{padding:72px 0}.hero-grid{padding:70px 0}.visual{transform:scale(.8);margin:-30px}.head{display:block}.bento,.needs,.flow,.form-row,.trust .wrap{grid-template-columns:1fr}.actions{display:grid}.links{display:none}}@media(prefers-reduced-motion:reduce){*,::before,::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}/* Article and Event sections */
.section-header{margin-bottom:40px}.section-header h2{margin-bottom:14px}.section-header p{max-width:600px;color:var(--muted)}.articles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px}.article-card{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.article-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0001}.article-card a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}.article-card figure{margin:0;aspect-ratio:16/10;overflow:hidden;background:#f5f0e8}.article-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.article-card:hover img{transform:scale(1.03)}.article-copy{display:flex;flex-direction:column;gap:10px;padding:18px 20px 22px;flex:1}.article-category{align-self:flex-start;background:var(--p);color:#fff;border-radius:99px;padding:5px 10px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.article-copy h3{margin:0;font-size:1.15rem;font-weight:700;line-height:1.3}.article-copy p{max-width:38ch;margin:0;color:var(--muted);font-size:.88rem;line-height:1.55}.article-meta{margin-top:auto;color:var(--muted);font-size:.78rem;font-weight:600}.events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px}.event-card{border:1px solid #ffffff33;border-radius:16px;background:#ffffff12;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.event-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0006}.event-card a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}.event-card figure{margin:0;aspect-ratio:16/10;overflow:hidden;background:#00000026}.event-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.event-card:hover img{transform:scale(1.03)}.event-copy{display:flex;flex-direction:column;gap:10px;padding:18px 20px 22px;flex:1}.event-status{align-self:flex-start;background:var(--yellow);color:var(--pd);border-radius:99px;padding:5px 10px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.event-status.past{background:#ffffff24;color:#ffffffaa}.event-copy h3{margin:0;font-size:1.15rem;font-weight:700;line-height:1.3}.event-meta{display:flex;flex-direction:column;gap:4px;color:#ffffffc7;font-size:.85rem;font-weight:600}.event-meta time{font-weight:700;color:#fff}.empty-state{max-width:560px;margin:28px auto 0;color:#ffffffaa;font-size:.95rem;font-weight:600;text-align:center}/* Events uses a featured-first layout (not the 3-equal-card grid Articles uses) so the two
   sections don't read as identical back-to-back — see issue #77 section-rhythm review. */
.events-grid{grid-template-columns:1.5fr 1fr}
.event-card:first-child{grid-row:span 2}
.event-card:first-child figure{aspect-ratio:16/13}
.event-card:not(:first-child) figure{aspect-ratio:16/8}
@media(max-width:1023px){.articles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.articles-grid,.events-grid{grid-template-columns:1fr}.event-card:first-child{grid-row:auto}.event-card:first-child figure,.event-card:not(:first-child) figure{aspect-ratio:16/10}.section-header{text-align:center}.section-header p{margin-left:auto;margin-right:auto}}@media(prefers-reduced-motion:reduce){.article-card,.event-card{transition:none}.article-card:hover,.event-card:hover{transform:none}.article-card:hover img,.event-card:hover img{transform:none}}
/* === Templates 404, Search, Single, and Archive Styling === */

.error-404-page, .search-results-page, .single-post-page, .archive-page {
  padding: clamp(48px, 8vw, 96px) 0;
  background: #fff9f4;
  min-height: 60vh;
}

.error-404-container {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.error-hero {
  max-width: 680px;
  margin: 0 auto;
}

.error-badge {
  display: inline-block;
  background: rgba(180, 35, 24, 0.1);
  color: #b42318;
  font-weight: 800;
  font-size: 0.85rem;
  padding: 6px 16px;
  border-radius: 100px;
  margin-bottom: 16px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.error-hero h1 {
  font-size: clamp(2.5rem, 5vw, 4rem);
  color: #20105f;
  margin: 0 0 16px;
  line-height: 1.1;
}

.error-hero p {
  color: #5c5365;
  font-size: 1.15rem;
  margin-bottom: 32px;
}

.search-recovery, .search-retry-form {
  max-width: 460px;
  margin: 0 auto 32px;
}

.search-recovery form, .search-retry-form form {
  display: flex;
  gap: 8px;
}

.search-recovery input[type="search"], .search-retry-form input[type="search"] {
  flex: 1;
  padding: 12px 18px;
  border: 1px solid #dcd5e2;
  border-radius: 12px;
  font-size: 1rem;
}

.error-hero .actions, .search-empty-state .actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Single Article Styling */
.single-article {
  max-width: 820px;
  margin: 0 auto;
  background: #ffffff;
  padding: clamp(28px, 5vw, 56px);
  border-radius: 24px;
  border: 1px solid #eae4ee;
  box-shadow: 0 4px 20px rgba(32, 16, 95, 0.04);
}

.article-back-link {
  display: inline-block;
  color: #30207d;
  font-weight: 700;
  text-decoration: underline;
  margin-bottom: 20px;
}

.article-header h1 {
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  color: #20105f;
  margin: 12px 0 24px;
  line-height: 1.15;
}

.article-meta {
  display: flex;
  gap: 16px;
  align-items: center;
  color: #6b6275;
  font-size: 0.9rem;
}

.article-featured-image {
  margin: 32px 0;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}

.article-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.post-body {
  font-size: 1.1rem;
  line-height: 1.8;
  color: #2d2638;
}

.post-body p {
  margin-bottom: 24px;
}

.article-cta-band {
  margin-top: 48px;
  padding: 32px;
  background: #f0ebff;
  border-radius: 16px;
  text-align: center;
  border: 1px solid #dcd3f5;
}

.article-cta-band h3 {
  color: #20105f;
  margin: 0 0 16px;
  font-size: 1.35rem;
}

/* Empty Search & Archive */
.search-empty-state {
  text-align: center;
  max-width: 600px;
  margin: 40px auto;
}

.search-empty-state h2 {
  color: #20105f;
  font-size: 2rem;
}
