/* ============================================================
   VITA BAKERY — styles.css
   Palette: burnt rose + gold | Fonts: Fraunces / Work Sans / IBM Plex Mono
   ============================================================ */

:root{
  --espresso:#4A2420;
  --espresso-2:#572B26;
  --parchment:#FBF0E8;
  --parchment-2:#F3DCD0;
  --gold:#E0A526;
  --gold-light:#F0BE4D;
  --wine:#B2594B;
  --wine-dark:#8C4437;
  --sage:#6E7F5C;
  --ink:#3A211D;
  --cream-text:#FBF0E8;
  --line-soft: rgba(58,33,29,0.14);
  --line-soft-inv: rgba(251,240,232,0.16);
  --font-display:'Fraunces', serif;
  --font-body:'Work Sans', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body); background:var(--parchment); color:var(--ink); line-height:1.55; -webkit-font-smoothing:antialiased;}
img,svg{display:block; max-width:100%;}
a{color:inherit;}
.wrap{max-width:1080px; margin:0 auto; padding:0 28px;}
section{position:relative;}

/* ---------- image placeholder component ---------- */
.img-slot{
  position:relative;
  background:var(--parchment-2);
  border-radius:8px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio: var(--ar, 4/3);
}
.img-slot.round{border-radius:50%;}
/* compact = too small to fit the full label; show only the icon */
.img-slot.compact .img-slot-icon{width:16px; height:16px; margin-bottom:2px;}
.img-slot.compact .img-slot-label{padding:4px; font-size:7.5px; line-height:1.3;}
.img-slot.compact .fname{display:none;}
.img-slot picture{display:contents;}
.img-slot img{width:100%; height:100%; object-fit:cover; display:block;}
.img-slot img.broken{display:none;}
.img-slot-label{display:none; text-align:center; font-family:var(--font-mono); font-size:10.5px; color:#6a4a3e; padding:14px; line-height:1.7;}
.img-slot-label .fname{display:block; margin-top:8px; color:var(--wine); font-weight:600; font-size:9.5px; background:rgba(178,89,75,0.08); padding:4px 8px; border-radius:3px;}
.img-slot.empty .img-slot-label{display:block;}
.img-slot.empty{border:2px dashed var(--wine); background:repeating-linear-gradient(45deg, var(--parchment-2), var(--parchment-2) 10px, #eddcd0 10px, #eddcd0 20px);}
.img-slot-icon{color:var(--wine); margin:0 auto 6px; display:block;}
.img-slot.on-dark{background:rgba(251,240,232,0.05);}
.img-slot.on-dark.empty{border-color:var(--gold); background:repeating-linear-gradient(45deg, rgba(251,240,232,0.04), rgba(251,240,232,0.04) 10px, rgba(251,240,232,0.08) 10px, rgba(251,240,232,0.08) 20px);}
.img-slot.on-dark .img-slot-label{color:rgba(251,240,232,0.65);}
.img-slot.on-dark .img-slot-icon{color:var(--gold-light);}
.img-slot.on-dark .fname{background:rgba(251,240,232,0.1); color:var(--gold-light);}

/* ---------- dividers ---------- */
.divider{display:flex; align-items:center; gap:14px; max-width:1080px; margin:0 auto; padding:64px 28px 36px; color:var(--wine);}
.divider .line-mark{flex:1; height:38px;}
.divider span{font-family:var(--font-mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; white-space:nowrap; color:var(--wine);}
.line-mark path{fill:none; stroke:var(--gold); stroke-width:2; stroke-linecap:round; stroke-dasharray:400; stroke-dashoffset:400; transition:stroke-dashoffset 1.1s ease;}
.divider.in-view .line-mark path{stroke-dashoffset:0;}

/* ---------- hero ---------- */
.hero{
  background:linear-gradient(160deg, rgba(74,36,32,0.16) 0%, rgba(74,36,32,0.04) 55%, rgba(74,36,32,0.1) 100%), var(--parchment);
  color:var(--ink); padding:56px 0 48px; overflow:hidden; text-align:center;
}
.hero .wrap.hero-stack{display:flex; flex-direction:column; align-items:center; max-width:600px;}
.kicker{font-family:var(--font-mono); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--wine); margin-bottom:14px; display:flex; align-items:center; gap:10px;}
.kicker::before{content:''; width:26px; height:1px; background:var(--wine); display:inline-block;}
h1{font-family:var(--font-display); font-weight:600; font-size:clamp(1.7rem, 2.6vw, 2.3rem); line-height:1.16; letter-spacing:-0.01em; color:#572B25;}
h1 em{font-style:italic; color:#572B25; font-weight:500;}
.hero-desc{font-family:var(--font-body); font-weight:400; font-size:.95rem; line-height:1.5; color:#4E2622; max-width:46ch; margin:12px auto 0;}
.hero-bullets{list-style:none; display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:20px;}
.hero-bullets li{display:flex; align-items:center; gap:8px; font-family:var(--font-display); font-style:italic; font-weight:500; font-size:1.05rem; color:#4a2e28;}
.hero-bullets li::before{content:'✓'; color:var(--sage); font-weight:700; font-style:normal;}
.cta{display:flex; align-items:center; justify-content:center; gap:6px; width:100%; max-width:420px; background:var(--gold); color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.3); text-transform:uppercase; font-weight:800; letter-spacing:0; font-family:var(--font-body); font-size:.92rem; padding:15px 19px; border-radius:4px; border:none; cursor:pointer; text-decoration:none; margin-top:24px; transition:transform .18s ease, background .18s ease, box-shadow .18s ease;}
.cta:hover{background:var(--gold-light); transform:scale(1.06) translateY(-1px); box-shadow:0 10px 24px rgba(74,36,32,.25);}
.cta:active{transform:scale(1.02) translateY(0);}
.cta:focus-visible{outline:3px solid var(--espresso); outline-offset:3px;}
@media (min-width:480px){
  .cta{font-size:1.15rem; padding:19px 32px; letter-spacing:.02em; gap:10px;}
}
.hero-trust-row{list-style:none; display:flex; align-items:center; justify-content:center; flex-wrap:nowrap; margin-top:16px; max-width:100%; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; opacity:.6;}
.hero-trust-row::-webkit-scrollbar{display:none;}
.hero-trust-row li{display:inline-flex; align-items:center; gap:3px; font-family:var(--font-mono); font-size:8px; font-weight:700; letter-spacing:0; color:var(--ink); white-space:nowrap; padding-left:6px; margin-left:6px; border-left:1px solid var(--line-soft);}
.hero-trust-row li:first-child{padding-left:0; margin-left:0; border-left:none;}
.trust-icon{width:9px; height:9px; flex-shrink:0; color:currentColor;}
@media (min-width:480px){
  .hero-trust-row li{font-size:9.5px; gap:4px; padding-left:10px; margin-left:10px;}
  .trust-icon{width:12px; height:12px;}
}

/* ---------- hero visual: chef photo with its own gold card background baked in ---------- */
.hero-visual-2col{position:relative; width:100%; max-width:460px; margin:28px auto;}
.hero-chef-cutout{position:relative; z-index:1; width:100%; height:auto; display:block;}

/* ---------- hero decorative background: minimalist bakery icons (Lucide, mirrored for symmetry) ---------- */
.hero-bg-icons{display:block; position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0;}
.hero .wrap.hero-stack{position:relative; z-index:1;}
.bg-icon{position:absolute; width:30px; height:30px; opacity:.1; color:var(--wine);}
.bg-icon--pos-tl{top:1.5%; left:6px; transform:rotate(-12deg);}
.bg-icon--pos-tr{top:1.5%; right:6px; transform:rotate(12deg);}
.bg-icon--pos-ul{top:19%; left:4px; transform:rotate(8deg);}
.bg-icon--pos-ur{top:19%; right:4px; transform:rotate(-8deg);}
.bg-icon--pos-ll{top:55%; left:4px; transform:rotate(-20deg);}
.bg-icon--pos-lr{top:55%; right:4px; transform:rotate(20deg);}
.bg-icon--pos-bl{bottom:2%; left:6px; transform:rotate(15deg);}
.bg-icon--pos-br{bottom:2%; right:6px; transform:rotate(-15deg);}
.bg-icon--pos-mc1{top:13%; left:30%; transform:rotate(-25deg);}
.bg-icon--pos-mc2{top:13%; left:66%; transform:rotate(18deg);}
.bg-icon--pos-mc3{top:84%; left:26%; transform:rotate(10deg);}
.bg-icon--pos-mc4{top:84%; left:70%; transform:rotate(-16deg);}
@media (min-width:860px){
  .bg-icon{width:60px; height:60px;}
  .bg-icon--pos-tl{top:4%; left:5%;}
  .bg-icon--pos-tr{top:4%; right:5%;}
  .bg-icon--pos-ul{top:30%; left:2%;}
  .bg-icon--pos-ur{top:30%; right:2%;}
  .bg-icon--pos-ll{top:60%; left:2.5%;}
  .bg-icon--pos-lr{top:60%; right:2.5%;}
  .bg-icon--pos-bl{bottom:5%; left:6%;}
  .bg-icon--pos-br{bottom:5%; right:6%;}
  .bg-icon--pos-mc1{top:16%; left:24%;}
  .bg-icon--pos-mc2{top:16%; left:70%;}
  .bg-icon--pos-mc3{top:78%; left:20%;}
  .bg-icon--pos-mc4{top:78%; left:74%;}
}

.hero-phone-mini{width:56px;}
.tablet-frame{background:#1c1c1c; border-radius:10px; padding:3px; box-shadow:0 10px 22px rgba(0,0,0,.4);}
.tablet-frame .img-slot{border-radius:7px;}
.hero-tablet-mini{width:80px;}

/* ---------- compare full (with images) ---------- */
.compare-full{
  background:radial-gradient(120% 140% at 50% -10%, #603029 0%, var(--espresso) 55%, var(--espresso-2) 100%);
  color:var(--cream-text); padding:80px 0 64px;
}
.compare-full h2{font-family:var(--font-display); font-weight:600; font-size:clamp(1.6rem,3vw,2.2rem); text-align:center; max-width:24ch; margin:0 auto 36px; color:var(--cream-text);}

/* ---------- before/after comparison slider ---------- */
.ba-slider{position:relative; width:100%; aspect-ratio:4/3; border-radius:10px; overflow:hidden; cursor:ew-resize; touch-action:pan-y; user-select:none; box-shadow:0 14px 32px rgba(0,0,0,.35);}
.ba-img{position:absolute; inset:0; width:100%; height:100%;}
.ba-img img{width:100%; height:100%; object-fit:cover; display:block; pointer-events:none;}
.ba-img-before{will-change:clip-path;}
.ba-tag{position:absolute; top:14px; font-family:var(--font-mono); font-size:10.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:6px 12px; border-radius:20px; pointer-events:none;}
.ba-tag-before{left:14px; color:var(--wine-dark); background:var(--gold-light);}
.ba-tag-after{right:14px; color:#2f4222; background:#cfe0c0;}
.ba-handle{position:absolute; top:0; bottom:0; left:50%; width:3px; background:rgba(255,255,255,.9); transform:translateX(-50%); pointer-events:none;}
.ba-handle-btn{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:44px; height:44px; border-radius:50%; background:#fff; box-shadow:0 4px 14px rgba(0,0,0,.35); display:flex; align-items:center; justify-content:center; gap:2px; color:var(--espresso); pointer-events:auto;}
.ba-slider:focus-visible{outline:3px solid var(--gold); outline-offset:3px;}

.cf-columns{display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:32px;}
.cf-col{text-align:left; padding:0 28px;}
.cf-col:first-child{padding-left:0;}
.cf-col.good{border-left:1px solid rgba(251,240,232,0.16);}
.cf-col-label{font-family:var(--font-display); font-weight:700; font-size:1.1rem; margin-bottom:14px; color:var(--gold-light);}
.cf-col.bad .cf-col-label{color:#e0a99c;}
.cf-list{list-style:none;}
.cf-list li{display:flex; align-items:center; gap:10px; padding:9px 0; font-family:var(--font-body); font-size:.88rem; border-top:1px solid rgba(251,240,232,0.14);}
.cf-list li:first-child{border-top:none;}
.cf-list .emoji{font-size:1rem; line-height:1; flex-shrink:0;}
.cf-list.bad li{color:#e6a99c;}
.cf-list.good li{color:#a9c398;}
.cf-note{text-align:center; margin-top:28px; font-size:.98rem; color:rgba(251,240,232,0.82);}
.cf-note strong{color:var(--gold-light); display:block; font-family:var(--font-display); font-size:1.15rem; margin-bottom:6px;}

/* ---------- ingredients ---------- */
.ingredients{padding:64px 0 0; text-align:center;}
.ing-grid{display:flex; flex-direction:column; align-items:center; gap:56px; max-width:520px; margin:0 auto;}
.ing-list{text-align:left;}
.ing-photo{width:100%; max-width:460px; margin:8px auto 0; background:transparent;}
.ing-photo img{object-fit:contain;}
.ingredients h2{font-family:var(--font-display); font-weight:600; font-size:clamp(1.5rem,2.8vw,2.1rem); margin-bottom:18px; max-width:22ch; margin-left:auto; margin-right:auto;}
.ing-list{list-style:none;}
.ing-list li{display:flex; gap:12px; padding:10px 0; border-bottom:1px dashed var(--line-soft); font-size:.98rem;}
.ing-list li:last-child{border-bottom:none;}
.ing-list li::before{content:'✓'; color:var(--sage); font-weight:700; flex-shrink:0;}

/* ---------- chef bio ---------- */
.chef{padding:8px 0 72px;}
.chef-grid{display:grid; grid-template-columns:.62fr 1fr; gap:52px; align-items:center;}
.chef h2{font-family:var(--font-display); font-weight:600; font-size:clamp(1.5rem,2.6vw,2rem); margin-bottom:18px; color:var(--gold);}
.chef p{margin-bottom:14px; color:#4a2e28; max-width:56ch;}
.chef p strong{color:var(--wine);}
.timeline{display:flex; gap:0; margin-top:26px; border-top:1px solid var(--line-soft); padding-top:20px;}
.tl-item{flex:1; padding-right:18px;}
.tl-item .tl-tag{font-family:var(--font-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:6px;}
.tl-item p{font-size:.88rem; color:#5a3a30; max-width:none;}

/* ---------- categories ---------- */
.categories{padding:8px 0 72px;}
.categories h2{font-family:var(--font-display); font-weight:600; font-size:clamp(1.6rem,3vw,2.2rem); text-align:center; max-width:26ch; margin:0 auto 8px;}
.categories .sub{text-align:center; color:#6a4a3e; margin-bottom:44px;}
.cat-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:22px;}
.cat-card{background:var(--parchment-2); color:var(--ink); border-radius:12px; overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--line-soft);}
.cat-card .img-slot{border-radius:0;}
.cat-card-body{padding:18px 20px 22px;}
.cat-card .cat-num{font-family:var(--font-mono); font-size:11px; color:var(--wine); letter-spacing:.1em; font-weight:600;}
.cat-card h3{font-family:var(--font-display); font-weight:600; font-size:1.1rem; margin:8px 0 10px; color:var(--wine);}
.cat-card ul{list-style:none; font-size:.85rem; color:#4a2e28;}
.cat-card li{padding:3px 0;}
.cat-card li::before{content:'— '; color:var(--sage);}

/* ---------- proof banner ---------- */
.proof-banner{background:var(--espresso); color:var(--cream-text); text-align:center; padding:18px 20px;}
.proof-banner span{font-family:var(--font-mono); font-size:12px; letter-spacing:.2em; text-transform:uppercase;}

/* ---------- inside / app preview ---------- */
.inside{padding:72px 0; background:var(--parchment-2);}
.inside-grid{display:grid; grid-template-columns:1fr .7fr; gap:52px; align-items:center;}
.inside h2{font-family:var(--font-display); font-weight:600; font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:22px;}
.inside-list{list-style:none;}
.inside-list li{display:flex; gap:12px; padding:11px 0; border-bottom:1px dashed var(--line-soft); font-size:.98rem;}
.inside-list li:last-child{border-bottom:none;}
.inside-list li::before{content:'✓'; color:var(--sage); font-weight:700; flex-shrink:0;}
.app-mock-wrap{max-width:290px; margin:0 auto;}
.app-mockup-img{width:100%; height:auto; display:block;}
.app-mock-wrap .hero-bullets{margin-top:18px;}

/* ---------- testimonials (merged into the bonuses section below) ---------- */
.testi-heading{margin-top:64px;}
.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.testi-card{background:var(--parchment-2); border:1px solid var(--line-soft); border-radius:8px; padding:26px; text-align:center;}
.testi-card .img-slot{width:76px; margin:0 auto 16px;}
.testi-card p{font-family:var(--font-display); font-style:italic; font-size:1.02rem; color:#4a2e28; margin-bottom:16px; text-align:left;}
.testi-name{font-family:var(--font-mono); font-size:.78rem; letter-spacing:.04em; color:var(--wine); text-transform:uppercase;}

/* ---------- bonuses ---------- */
.bonuses{background:var(--espresso-2); color:var(--cream-text); padding:72px 0;}
.bonuses h2{font-family:var(--font-display); font-weight:600; text-align:center; font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:44px;}
.bonus-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.bonus-card{background:rgba(251,240,232,0.05); border:1px solid rgba(251,240,232,0.15); border-radius:8px; padding:20px; display:flex; flex-direction:column; gap:14px;}
.bonus-card .img-slot{max-width:150px; margin:0 auto;}
.bonus-tag{font-family:var(--font-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--espresso); background:var(--gold); align-self:flex-start; padding:4px 10px; border-radius:2px;}
.bonus-card h3{font-family:var(--font-display); font-weight:600; font-size:1.08rem;}
.bonus-card p{font-size:.88rem; color:rgba(251,240,232,0.68);}
.bonus-price{font-family:var(--font-mono); font-size:.85rem; margin-top:auto;}
.bonus-price .was{text-decoration:line-through; color:rgba(251,240,232,0.4); margin-right:8px;}
.bonus-price .now{color:var(--sage); font-weight:600;}

/* ---------- offer ---------- */
.offer{padding:80px 0 40px; text-align:center;}
.timer{display:inline-flex; gap:10px; margin:20px 0 8px;}
.timer .t{background:var(--espresso); color:var(--cream-text); border-radius:4px; padding:12px 16px; min-width:64px; font-family:var(--font-mono);}
.timer .t .num{font-size:1.5rem; font-weight:500; display:block;}
.timer .t .lab{font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-light);}
.offer-eyebrow{font-family:var(--font-mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--wine);}
.offer-tagline{font-family:var(--font-display); font-style:italic; font-weight:500; font-size:1.15rem; color:#4a2e28; margin-top:16px;}
.offer h2.offer-h2{font-family:var(--font-display); font-weight:700; font-size:clamp(1.7rem,3.2vw,2.3rem); margin:10px 0 6px; color:var(--gold);}
.offer-box{max-width:440px; margin:36px auto 0; background:var(--parchment-2); border:1px solid var(--line-soft); border-radius:10px; padding:36px 32px; text-align:left;}
.price-row{text-align:center; margin-bottom:22px;}
.price-was{font-family:var(--font-mono); text-decoration:line-through; color:#9a7a70; font-size:1rem;}
.price-now{font-family:var(--font-display); font-weight:700; font-size:2.6rem; color:var(--wine);}
.price-note{font-size:.85rem; color:#6a4a3e;}
.offer-list{list-style:none; margin:22px 0 28px;}
.offer-list li{display:flex; gap:10px; padding:8px 0; font-size:.92rem; color:#4a2e28; border-bottom:1px dashed var(--line-soft);}
.offer-list li:last-child{border-bottom:none;}
.offer-list li::before{content:'✓'; color:var(--sage); font-weight:700; flex-shrink:0;}
.cta-full{width:100%; justify-content:center; background:var(--wine); color:var(--cream-text);}
.cta-full:hover{background:var(--wine-dark); color:var(--cream-text);}

/* ---------- guarantee ---------- */
.guarantee{padding:24px 0 72px; text-align:center;}
.guarantee .img-slot{width:132px; margin:0 auto 18px; background:transparent;}
.guarantee .img-slot img{object-fit:contain;}
.guarantee h3{font-family:var(--font-display); font-weight:600; font-size:1.4rem; margin-bottom:10px;}
.guarantee p{max-width:50ch; margin:0 auto; color:#4a2e28;}

/* ---------- FAQ ---------- */
.faq{padding:24px 0 80px;}
.faq h2{font-family:var(--font-display); font-weight:600; text-align:center; font-size:clamp(1.5rem,2.8vw,2.1rem); margin-bottom:36px;}
.faq-list{max-width:720px; margin:0 auto;}
.faq-item{border-bottom:1px solid var(--line-soft);}
.faq-item summary{cursor:pointer; padding:18px 4px; font-weight:600; font-size:1rem; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+'; font-family:var(--font-mono); font-size:1.3rem; color:var(--wine); flex-shrink:0;}
.faq-item[open] summary::after{content:'−';}
.faq-item p{padding:0 4px 20px; color:#4a2e28; font-size:.95rem; max-width:64ch;}

/* ---------- obrigado (post-purchase) ---------- */
.obrigado-hero{background:radial-gradient(120% 140% at 15% -10%, #603029 0%, var(--espresso) 55%, var(--espresso-2) 100%); color:var(--cream-text); padding:80px 0 64px; text-align:center;}
.obrigado-hero .kicker{justify-content:center;}
.obrigado-hero h1{font-family:var(--font-display); font-weight:600; font-size:clamp(1.9rem,4vw,3rem); line-height:1.15; max-width:20ch; margin:18px auto 14px; color:var(--cream-text);}
.obrigado-hero h1 em{font-style:italic; color:var(--gold-light); font-weight:500;}
.obrigado-hero .sub{max-width:48ch; margin:0 auto; color:rgba(251,240,232,0.82); font-size:1.05rem;}
.obrigado-video{max-width:680px; margin:40px auto 0; border-radius:12px; overflow:hidden; background:rgba(251,240,232,0.06); border:1px solid rgba(251,240,232,0.16); aspect-ratio:16/9;}
.obrigado-video video{width:100%; height:100%; object-fit:cover; display:block;}
.obrigado-steps{padding:72px 0;}
.obrigado-steps h2{font-family:var(--font-display); font-weight:600; font-size:clamp(1.5rem,2.8vw,2rem); text-align:center; margin-bottom:36px;}
.step-list{list-style:none; max-width:520px; margin:0 auto;}
.step-list li{display:flex; gap:16px; padding:16px 0; border-bottom:1px dashed var(--line-soft); align-items:flex-start;}
.step-list li:last-child{border-bottom:none;}
.step-num{font-family:var(--font-mono); font-size:.85rem; color:var(--wine); background:var(--parchment-2); border-radius:50%; width:28px; height:28px; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.step-list p{color:#4a2e28; font-size:.98rem; margin:0;}
.step-list strong{display:block; color:var(--ink); margin-bottom:2px; font-family:var(--font-display); font-size:1.05rem; font-weight:600;}
.obrigado-cta-wrap{text-align:center; margin-top:40px;}
.obrigado-support{text-align:center; padding:0 0 64px; color:#6a4a3e; font-size:.92rem;}
.obrigado-support a{color:var(--wine); font-weight:600; text-decoration:none;}

/* ---------- footer ---------- */
footer{padding:48px 28px 40px; text-align:center;}
footer .img-slot{width:130px; margin:0 auto 20px; background:transparent;}
footer .img-slot img{object-fit:contain;}
footer .foot-text{font-family:var(--font-mono); font-size:11px; color:#8a6a5a;}

@media (max-width:820px){
  .chef-grid, .inside-grid{grid-template-columns:1fr;}
  .cat-grid, .testi-grid, .bonus-grid{grid-template-columns:1fr;}
  .cf-columns{grid-template-columns:1fr; gap:28px;}
  .cf-col{padding:0;}
  .cf-col.good{border-left:none; border-top:1px solid rgba(251,240,232,0.16); padding-top:28px;}
  .chef{padding-top:64px;}
  .chef-grid{gap:64px 0;}
  .chef-text{display:flex; flex-direction:column; align-items:center; text-align:center;}
  .chef p{text-align:left;}
  .timeline{flex-direction:column; gap:16px; width:100%; text-align:left;}
}
@media (max-width:480px){
  .hero-visual-2col{max-width:299px;}
}
@media (prefers-reduced-motion: reduce){
  .line-mark path{transition:none; stroke-dashoffset:0;}
}
