/* Shared visual rhythm for OCC Core Business pages: Wholesale + Custom Roasting. */
.occ-solution-page{
  --solution-pad-x:64px;
  --solution-pad-y:72px;
  font-family:Inter,system-ui,sans-serif!important;
}
.occ-solution-page h1,
.occ-solution-page h2,
.occ-solution-page h3,
.occ-solution-page .hero-lead,
.occ-solution-page .origin-quote{
  font-family:"Cormorant Garamond",serif!important;
}
.occ-solution-page p,
.occ-solution-page .hero-desc,
.occ-solution-page .section-head p,
.occ-solution-page .audience-copy p,
.occ-solution-page .step p,
.occ-solution-page .origin-copy p,
.occ-solution-page .faq summary,
.occ-solution-page .faq details p,
.occ-solution-page .occ-global-header,
.occ-solution-page .occ-global-footer{
  font-family:Inter,system-ui,sans-serif!important;
}
.occ-solution-page .shell{max-width:1320px;margin:0 auto}
.occ-solution-page .hero{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr)!important;
  min-height:620px!important;
}
.occ-solution-page .hero-copy{
  padding:72px var(--solution-pad-x) 64px!important;
  justify-content:center!important;
}
.occ-solution-page .hero-photo{min-height:620px!important}
.occ-solution-page .hero h1{
  max-width:720px!important;
  font-size:clamp(48px,4.8vw,72px)!important;
  line-height:.96!important;
  letter-spacing:-.035em!important;
}
.occ-solution-wholesale .hero h1{
  max-width:760px!important;
  font-size:clamp(46px,4.4vw,66px)!important;
}
.occ-solution-page .hero-lead{
  max-width:650px!important;
  margin:24px 0 14px!important;
  font-size:clamp(22px,2vw,28px)!important;
  line-height:1.25!important;
}
.occ-solution-page .hero-desc{
  max-width:610px!important;
  margin:0!important;
  font-size:15px!important;
  line-height:1.72!important;
}
.occ-solution-page .hero-start{
  display:inline-flex;
  align-self:flex-start;
  margin:4px 0 18px;
  padding:8px 12px;
  border:1px solid var(--line,var(--occ-line,#D9D0C7));
  border-radius:999px;
  color:var(--accent,var(--occ-wine,#601E27))!important;
  background:var(--paper,var(--occ-surface,#FAF7F2));
  font:700 11px/1 var(--sans,Inter,Arial,sans-serif)!important;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.occ-solution-page .section{
  padding:var(--solution-pad-y) var(--solution-pad-x)!important;
}
.occ-solution-page .section-head,
.occ-solution-page .process-section .section-head{
  display:grid!important;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;
  gap:56px!important;
  align-items:start!important;
  margin-bottom:34px!important;
}
.occ-solution-page .section-head>div,
.occ-solution-page .section-head>p{
  align-self:start!important;
}
.occ-solution-page .section-head h2,
.occ-solution-page .process-section .section-head h2{
  max-width:560px!important;
  font-size:clamp(38px,3.6vw,52px)!important;
  line-height:1.02!important;
  letter-spacing:-.03em!important;
}
.occ-solution-page .section-head p,
.occ-solution-page .process-section .section-head p{
  max-width:620px!important;
  margin:0!important;
  padding-top:0!important;
  font-size:15px!important;
  line-height:1.7!important;
}
.occ-solution-page .audience-grid{align-items:stretch!important}
.occ-solution-page .audience-card{
  display:flex!important;
  min-width:0;
  flex-direction:column;
  overflow:hidden;
}
.occ-solution-page .audience-img{
  aspect-ratio:16/10!important;
  background:var(--soft,var(--occ-surface-soft,#E9E1D8));
}
.occ-solution-page .audience-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.occ-solution-page .audience-copy{
  min-height:0!important;
  padding:24px 24px 27px!important;
}
.occ-solution-page .audience-copy h3{
  margin:10px 0 9px!important;
  font-size:clamp(24px,2vw,30px)!important;
  line-height:1.08!important;
}
.occ-solution-page .audience-copy p{
  margin:0!important;
  font-size:14px!important;
  line-height:1.62!important;
}
.occ-solution-page .process-section{
  padding-top:var(--solution-pad-y)!important;
  padding-bottom:var(--solution-pad-y)!important;
}
.occ-solution-page .process-section .process-wrap{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:56px!important;
  align-items:start!important;
}
.occ-solution-page .process-section .process-photo{
  aspect-ratio:5/4!important;
}
.occ-solution-page .process-section .step{
  padding:18px 0!important;
}
.occ-solution-page .process-section .step h3{
  margin-bottom:6px!important;
  font-size:28px!important;
}
.occ-solution-page .origin{
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
  min-height:420px!important;
}
.occ-solution-page .origin-copy{
  padding:64px!important;
}
.occ-solution-page .origin-copy h2{
  max-width:620px!important;
  font-size:clamp(38px,3.8vw,52px)!important;
  line-height:1.02!important;
}
.occ-solution-page .origin-quote{
  max-width:610px!important;
  margin:20px 0 14px!important;
  font-size:clamp(22px,2vw,27px)!important;
}
.occ-solution-page .origin-copy p{
  max-width:620px!important;
  margin:0 0 18px!important;
  font-size:15px!important;
  line-height:1.68!important;
}
.occ-solution-page .faq{
  grid-template-columns:260px minmax(0,1fr)!important;
  column-gap:52px!important;
  padding:64px!important;
}
.occ-solution-page .faq>h2{
  margin-top:34px!important;
  max-width:220px!important;
  font-size:40px!important;
  line-height:1.08!important;
}
.occ-solution-page .faq>details>summary{
  min-height:68px!important;
  padding:18px 0!important;
  font-size:17px!important;
}
.occ-solution-page .faq>details>p{
  margin-bottom:22px!important;
  font-size:15px!important;
}
.occ-solution-page .occ-global-footer-nav{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
.occ-solution-page .occ-global-footer-nav>div{
  min-height:150px!important;
  padding:20px 12px!important;
  border-left:1px solid rgba(41,36,36,.12)!important;
}
.occ-solution-page .occ-global-footer-nav>div:first-child{border-left:0!important}
.occ-solution-page .occ-global-footer-nav>div:nth-child(5),
.occ-solution-page .occ-global-footer-nav>div:nth-child(6){
  grid-column:auto!important;
  min-height:150px!important;
  padding-top:20px!important;
  padding-bottom:20px!important;
}
.occ-solution-wholesale .status-grid{
  gap:14px!important;
}
.occ-solution-wholesale .status-card{
  padding:22px!important;
}
.occ-solution-wholesale .status-card h3{
  margin:14px 0 8px!important;
  font-size:26px!important;
}
.occ-solution-wholesale .proof-card{
  margin-top:0!important;
  padding:26px!important;
}
.occ-solution-wholesale .proof-code{
  font-size:34px!important;
  margin:5px 0 10px!important;
}
.occ-solution-wholesale .proof-grid{
  grid-template-columns:190px minmax(0,1fr)!important;
  margin-top:18px!important;
}
.occ-solution-wholesale .proof-row dt,
.occ-solution-wholesale .proof-row dd{
  padding:12px 0!important;
}
.occ-solution-wholesale .proof-note{
  margin-top:18px!important;
}
.occ-solution-wholesale .wholesale-start-note{
  margin-top:16px!important;
  padding:16px 18px!important;
}
.occ-solution-wholesale .wholesale-start-note strong{
  font-size:20px!important;
}
@media(max-width:1023px){
  .occ-solution-page{--solution-pad-x:32px;--solution-pad-y:62px}
  .occ-solution-page .hero{grid-template-columns:1fr!important;min-height:auto!important}
  .occ-solution-page .hero-copy{padding:62px 32px 48px!important}
  .occ-solution-page .hero-photo{min-height:460px!important}
  .occ-solution-page .section-head,
  .occ-solution-page .process-section .section-head{
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-bottom:28px!important;
  }
  .occ-solution-page .section-head h2,
  .occ-solution-page .process-section .section-head h2{max-width:650px!important}
  .occ-solution-page .process-section .process-wrap{grid-template-columns:1fr!important;gap:30px!important}
  .occ-solution-page .process-section .process-photo{position:relative!important;top:0!important;aspect-ratio:16/9!important}
  .occ-solution-page .origin{grid-template-columns:1fr!important}
  .occ-solution-page .origin-copy{padding:60px 32px!important}
  .occ-solution-page .origin-photo{min-height:380px!important}
  .occ-solution-page .faq{grid-template-columns:210px minmax(0,1fr)!important;column-gap:34px!important;padding:58px 32px!important}
  .occ-solution-page .occ-global-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .occ-solution-page .occ-global-footer-nav>div:nth-child(odd){border-left:0!important}
  .occ-solution-page .occ-global-footer-nav>div:nth-child(5),
  .occ-solution-page .occ-global-footer-nav>div:nth-child(6){min-height:auto!important}
}
@media(max-width:720px){
  .occ-solution-page{--solution-pad-x:20px;--solution-pad-y:52px}
  .occ-solution-page .hero-copy{padding:52px 20px 42px!important}
  .occ-solution-page .hero h1,
  .occ-solution-wholesale .hero h1{font-size:48px!important}
  .occ-solution-page .hero-photo{min-height:360px!important}
  .occ-solution-page .section-head h2,
  .occ-solution-page .process-section .section-head h2{font-size:40px!important}
  .occ-solution-page .audience-grid{grid-template-columns:1fr!important}
  .occ-solution-page .origin-copy{padding:52px 20px!important}
  .occ-solution-page .faq{
    grid-template-columns:1fr!important;
    gap:0!important;
    padding:48px 20px!important;
  }
  .occ-solution-page .faq>h2{
    margin:9px 0 24px!important;
    max-width:none!important;
    font-size:38px!important;
  }
  .occ-solution-page .faq>details>summary{min-height:64px!important;padding:17px 0!important}
  .occ-solution-page .occ-global-footer-nav{grid-template-columns:1fr!important}
  .occ-solution-page .occ-global-footer-nav>div,
  .occ-solution-page .occ-global-footer-nav>div:nth-child(even){
    min-height:auto!important;
    padding:20px 0!important;
    border-left:0!important;
  }
  .occ-solution-wholesale .proof-grid{grid-template-columns:1fr!important}
  .occ-solution-wholesale .wholesale-start-note{align-items:flex-start!important;flex-direction:column!important}
}
@media(prefers-reduced-motion:reduce){
  .occ-solution-page *{transition:none!important;animation:none!important}
}
