/* =============================================
   AMP UP — Homepage Section: Baked Fresh in Amish Country
   Signature red→purple ombré + Game Film grain (LOCKED treatment)
   Elementor HTML Widget · CSS prefix: .hbf-
============================================= */
.hbf-root{font-family:'Roboto',sans-serif;overflow-x:hidden;width:100%;display:block;color-scheme:light only;}
.hbf-root *{box-sizing:border-box;margin:0;padding:0;}
.hbf-root a{color:inherit;text-decoration:none;}
.elementor-widget-html .hbf-root,
.elementor-widget-container .hbf-root{width:100% !important;max-width:100% !important;}

/* Full-bleed ombré + grain */
.hbf-section{
  width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(
    135deg,
    #FF0000 0%,
    #E8171F 12%,
    #E8255C 30%,
    #C4186A 46%,
    #8B1A7A 62%,
    #4B1259 78%,
    #2D0A3A 100%
  );
}
.hbf-noise{position:absolute;inset:-60px;z-index:0;pointer-events:none;background-repeat:repeat;background-size:180px 180px;animation:hbf-grain 1.6s steps(3) infinite;mix-blend-mode:multiply;opacity:0.55;}
.hbf-section::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(60% 70% at 0% 0%, rgba(255,255,255,0.12), transparent 55%),
    radial-gradient(40% 50% at 100% 100%, rgba(0,0,0,0.35), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,0.45) 100%);
}
.hbf-section > *:not(.hbf-noise){position:relative;z-index:2;}
@keyframes hbf-grain{0%{transform:translate(0,0);}33%{transform:translate(-14px,9px);}66%{transform:translate(10px,-12px);}100%{transform:translate(0,0);}}
@media(prefers-reduced-motion:reduce){.hbf-noise{animation:none;}}

/* Layout */
.hbf-inner{max-width:1180px;margin:0 auto;padding:84px 48px;}
@media(max-width:1024px){.hbf-inner{padding:64px 32px;}}
@media(max-width:768px){.hbf-inner{padding:52px 20px;}}

/* Eyebrow — white on ombré (locked rule) */
.hbf-eyebrow{font-family:'Oswald',sans-serif;font-weight:600;font-size:13px;letter-spacing:0.16em;text-transform:uppercase;color:#FFFFFF;margin-bottom:20px;display:flex;align-items:center;gap:10px;}
.hbf-eyebrow span{display:inline-block;width:30px;height:3px;background:#FFFFFF;flex-shrink:0;}

/* Headline — blue italic emphasis (locked: blue only on ombré) */
.hbf-h2{font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(34px,5vw,64px);line-height:0.96;color:#FFFFFF;margin-bottom:24px;letter-spacing:-0.01em;max-width:860px;}
.hbf-h2 em{font-style:italic;color:#B8E8FF;}

/* Body */
.hbf-body{font-family:'Roboto',sans-serif;font-size:17px;line-height:1.72;color:rgba(255,255,255,0.88);max-width:700px;margin-bottom:40px;font-weight:500;}
.hbf-body strong{color:#FFFFFF;font-weight:700;}

/* Mini timeline strip */
.hbf-timeline{display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;gap:0;border-top:1px solid rgba(255,255,255,0.25);border-bottom:1px solid rgba(255,255,255,0.25);margin-bottom:40px;max-width:900px;}
@media(max-width:768px){.hbf-timeline{grid-template-columns:1fr;}}
.hbf-tl-div{background:rgba(255,255,255,0.2);}
@media(max-width:768px){.hbf-tl-div{display:none;}}
.hbf-tl-item{padding:26px 32px;text-align:center;}
@media(max-width:768px){.hbf-tl-item{text-align:left;padding:18px 0;border-bottom:1px solid rgba(255,255,255,0.15);}}
.hbf-tl-item:last-child{border-bottom:none;}
.hbf-tl-item:first-child{padding-left:0;}
.hbf-tl-num{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(24px,3vw,38px);color:#B8E8FF;line-height:1;margin-bottom:8px;}
.hbf-tl-label{font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;font-size:13px;color:#FFFFFF;margin-bottom:5px;letter-spacing:0.06em;}
.hbf-tl-desc{font-size:12.5px;color:rgba(255,255,255,0.65);line-height:1.55;}

/* CTA */
.hbf-cta{display:inline-flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;font-size:15px;padding:15px 32px;background:#FFFFFF;color:#4B1259;border:2px solid #FFFFFF;cursor:pointer;transition:all .18s ease;text-decoration:none;}
.hbf-cta:hover{transform:translateY(-2px);background:#F0F0F0;}