:root{
  --font-heading:'Clash Display','DM Sans',sans-serif;
  --font-body:'Satoshi','DM Sans',sans-serif;
  --color-bg:#FBF7F0;
  --color-bg-alt:#F3E7D6;
  --color-bg-deep:#EEDFC7;
  --color-surface:#FFFDF9;
  --color-primary:#C1521E;
  --color-primary-dark:#9A3F16;
  --color-primary-light:#F2CBAE;
  --color-secondary:#6B2D3C;
  --color-secondary-light:#F0DCE0;
  --color-accent:#CC9A3D;
  --color-green:#586B41;
  --color-text:#2B241D;
  --color-text-muted:#6E6255;
  --color-border:#E6D8C0;
  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:28px;
  --radius-xl:40px;
  --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(43,36,29,.07),0 1px 1px rgba(43,36,29,.05);
  --shadow-md:0 6px 16px rgba(43,36,29,.09),0 2px 6px rgba(43,36,29,.06);
  --shadow-lg:0 18px 40px rgba(43,36,29,.14),0 6px 14px rgba(43,36,29,.08);
  --shadow-hover:0 26px 50px rgba(193,82,30,.22),0 10px 20px rgba(43,36,29,.12);
  --ease:cubic-bezier(.4,0,.2,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  margin:0;
  font-family:var(--font-body);
  background:var(--color-bg);
  color:var(--color-text);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
body.nav-open{overflow:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;transition:color .3s var(--ease), opacity .3s var(--ease);}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;color:var(--color-text);margin:0 0 .6em;letter-spacing:-0.01em;}
p{margin:0 0 1em;color:var(--color-text-muted);}
ul{margin:0;padding:0;list-style:none;}

.eyebrow{
  display:inline-block;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--color-primary);
  margin-bottom:1rem;
}
.page-title{font-size:clamp(2.2rem,4vw + .5rem,3.4rem);line-height:1.08;}
.hero-title{font-size:clamp(2.4rem,4.5vw + .5rem,4.2rem);line-height:1.05;}
.hero-lead{font-size:clamp(1rem,.4vw + .95rem,1.2rem);color:var(--color-text-muted);max-width:44ch;margin-bottom:1.8rem;}
.section-title{font-size:clamp(1.7rem,2.4vw + .8rem,2.6rem);line-height:1.15;}
.section-subtitle{font-size:1.05rem;color:var(--color-text-muted);max-width:60ch;}
.section-text{font-size:1.02rem;color:var(--color-text-muted);max-width:60ch;}
.thanks-title{font-size:clamp(1.8rem,3vw + .5rem,2.6rem);opacity:0;animation:fadeInUp .6s var(--ease) 1.1s forwards;}

.section{padding:clamp(3.5rem,7vw,7rem) 0;position:relative;}
.section--alt{background:var(--color-bg-alt);}
.section--hero{padding-top:clamp(7.5rem,10vw,10rem);padding-bottom:clamp(4rem,7vw,6rem);background:var(--color-bg);overflow:hidden;}
.section--page-hero{padding-top:clamp(7.5rem,10vw,9.5rem);padding-bottom:clamp(3rem,6vw,4.5rem);}
.section--stats{background:var(--color-secondary);color:#fff;}
.section--cta{background:var(--color-bg-deep);}
.section--thanks{padding-top:clamp(9rem,12vw,11rem);min-height:70vh;display:flex;align-items:center;}
.section--legal{padding-top:clamp(8rem,10vw,9.5rem);}
.section-head{max-width:760px;}

.hero-bg-shape{
  position:absolute; inset:-10% -10% auto auto; width:60vw; height:60vw; max-width:800px; max-height:800px;
  background:radial-gradient(circle at 30% 30%, var(--color-primary-light), transparent 65%);
  opacity:.55; z-index:0; pointer-events:none;
}
.hero-media, .hero-title, .hero-lead, .hero-actions, .hero-badges{position:relative;z-index:1;}
.hero-img{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;object-fit:cover;aspect-ratio:4/3.2;}
.rounded-img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;object-fit:cover;aspect-ratio:4/3;}

.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.8rem;}
.hero-badges{display:flex;gap:1.2rem;flex-wrap:wrap;}
.hero-badges span{font-size:.9rem;color:var(--color-text-muted);display:flex;align-items:center;gap:.4rem;}
.hero-badges i{color:var(--color-primary);}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--font-body);font-weight:600;font-size:.95rem;
  padding:.85rem 1.7rem;border-radius:var(--radius-pill);
  border:1px solid transparent;cursor:pointer;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
  min-height:48px;
}
.btn--primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-md);}
.btn--primary:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-hover);}
.btn--outline{background:transparent;color:var(--color-primary);border-color:var(--color-border);}
.btn--outline:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35);}
.btn--ghost:hover{background:rgba(255,255,255,.12);}
.btn--sm{padding:.55rem 1.1rem;font-size:.85rem;min-height:40px;}
.btn--lg{padding:1rem 2.1rem;font-size:1.02rem;}

.link-arrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-primary);font-weight:600;transition:gap .3s var(--ease);}
.link-arrow:hover{gap:.8rem;color:var(--color-primary-dark);}

.card{
  background:var(--color-surface);
  border-radius:var(--radius-lg);
  border:1px solid var(--color-border);
  box-shadow:var(--shadow-sm);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
}
.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover);border-color:transparent;}
.card--product{overflow:hidden;}
.card--product .card-img-wrap{aspect-ratio:4/3;overflow:hidden;}
.card--product .card-img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.card--product:hover .card-img{transform:scale(1.06);}
.card-body{padding:1.6rem;}
.card-body h3{font-size:1.2rem;margin-bottom:.5rem;}
.card-body p{font-size:.95rem;margin-bottom:.8rem;}

.card--product-lg{overflow:hidden;padding:0;}
.card--product-lg .card-img--tall{aspect-ratio:16/10;width:100%;object-fit:cover;}
.card--product-lg .card-body{padding:1.8rem;}
.card--product-lg h3{margin-top:.5rem;font-size:1.35rem;}
.ingredient-line{font-size:.92rem;margin-bottom:.4rem;}

.card--icon{padding:2rem 1.6rem;text-align:left;}
.icon-card-icon{
  width:56px;height:56px;border-radius:var(--radius-md);
  background:var(--color-primary-light);color:var(--color-primary-dark);
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.1rem;
}
.card--icon h3{font-size:1.1rem;margin-bottom:.5rem;}
.card--icon p{font-size:.93rem;}

.card--compact{padding:1.8rem 1.5rem;text-align:center;}
.card--compact h3{font-size:1.6rem;color:var(--color-primary);}
.card--compact p{font-size:.9rem;}

.card--info{padding:1.8rem;}
.card--info h3{font-size:1.1rem;margin-bottom:.8rem;}
.card--info p{font-size:.95rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;}
.card--info i{color:var(--color-primary);}

.badge{
  display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.03em;
  color:var(--color-secondary);background:var(--color-secondary-light);
  padding:.3rem .8rem;border-radius:var(--radius-pill);margin-bottom:.8rem;
}

.ingredient-list li{display:flex;align-items:center;gap:.6rem;font-size:.98rem;margin-bottom:.6rem;color:var(--color-text);}
.ingredient-list i{color:var(--color-green);}

.process-list{display:flex;flex-direction:column;gap:2.2rem;max-width:820px;}
.process-step{display:flex;gap:1.6rem;align-items:flex-start;}
.process-step-number{
  font-family:var(--font-heading);font-size:1.4rem;font-weight:700;color:var(--color-primary);
  flex-shrink:0;width:56px;height:56px;border-radius:50%;background:var(--color-primary-light);
  display:flex;align-items:center;justify-content:center;
}
.process-step h3{font-size:1.15rem;margin-bottom:.4rem;}
.process-step p{font-size:.95rem;}

.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2.2rem;}
.stat-item{text-align:center;}
.stat-number{display:block;font-family:var(--font-heading);font-size:clamp(2.4rem,4vw,3.4rem);font-weight:700;color:#fff;}
.stat-label{font-size:.9rem;color:rgba(255,255,255,.78);}

.faq-list{display:flex;flex-direction:column;gap:1rem;max-width:820px;}
.faq-item{
  background:var(--color-surface);border:1px solid var(--color-border);
  border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);
  transition:box-shadow .35s var(--ease);
}
.faq-item:hover{box-shadow:var(--shadow-md);}
.faq-question{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.2rem 1.5rem;background:none;border:none;cursor:pointer;
  font-family:var(--font-body);font-weight:600;font-size:1rem;color:var(--color-text);text-align:left;
}
.faq-icon{transition:transform .4s var(--ease);color:var(--color-primary);flex-shrink:0;}
.faq-item.is-open .faq-icon{transform:rotate(180deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .45s var(--ease), padding .45s var(--ease);padding:0 1.5rem;}
.faq-item.is-open .faq-answer{max-height:400px;padding:0 1.5rem 1.4rem;}
.faq-answer p{font-size:.95rem;margin:0;}

.table-wrap{overflow-x:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);}
table{width:100%;border-collapse:collapse;background:var(--color-surface);}
table th, table td{padding:1rem 1.3rem;text-align:left;border-bottom:1px solid var(--color-border);font-size:.95rem;}
table th{background:var(--color-secondary);color:#fff;font-family:var(--font-heading);font-weight:600;}
table tr:last-child td{border-bottom:none;}
.table--calendar td:first-child{font-weight:700;color:var(--color-primary);}

.legal-table{margin:1.5rem 0 2rem;width:100%;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);}
.legal-table th, .legal-table td{padding:.85rem 1rem;font-size:.9rem;}
.legal-dl{margin:1.5rem 0 2rem;}
.legal-dl dt{font-weight:700;color:var(--color-primary);margin-top:1rem;}
.legal-dl dd{margin:.2rem 0 0;color:var(--color-text-muted);}
.section--legal h2{margin-top:2.2rem;font-size:1.35rem;}
.section--legal p{max-width:none;}


.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--color-bg);box-shadow:var(--shadow-sm);transition:box-shadow .35s var(--ease);perspective:1400px;}
.site-header.is-scrolled{box-shadow:var(--shadow-lg);}
.nav-flip{position:relative;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.65,0,.35,1);}
.nav-flip.is-flipped{transform:rotateX(180deg);}
.nav-face{backface-visibility:hidden;-webkit-backface-visibility:hidden;}
.nav-face--front{position:relative;z-index:2;}
.nav-container{
  max-width:1280px;margin:0 auto;padding:1rem 1.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.nav-logo{display:flex;align-items:center;gap:.6rem;}
.nav-logo-img{width:38px;height:38px;}
.nav-logo-text{font-family:var(--font-heading);font-size:1.2rem;font-weight:600;color:var(--color-text);}
.nav-logo-text em{font-style:normal;color:var(--color-primary);}
.nav-links--desktop{display:flex;align-items:center;gap:2rem;}
.nav-links--desktop a{font-size:.95rem;font-weight:500;color:var(--color-text);position:relative;}
.nav-links--desktop a:hover, .nav-links--desktop a.is-active{color:var(--color-primary);}
.nav-cta{background:var(--color-primary);color:#fff !important;padding:.6rem 1.3rem;border-radius:var(--radius-pill);transition:background .3s var(--ease), transform .3s var(--ease);}
.nav-cta:hover{background:var(--color-primary-dark);transform:translateY(-2px);}

.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:0;}
.nav-toggle span{width:24px;height:2px;background:var(--color-text);border-radius:2px;transition:background .3s var(--ease);}

.nav-face--back{
  position:absolute;inset:0;top:0;height:100vh;
  transform:rotateX(180deg);background:var(--color-secondary);z-index:1;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.nav-close{position:absolute;top:1.4rem;right:1.5rem;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);border:none;color:#fff;font-size:1.1rem;cursor:pointer;transition:background .3s var(--ease);}
.nav-close:hover{background:rgba(255,255,255,.25);}
.nav-links--mobile{display:flex;flex-direction:column;align-items:center;gap:1.8rem;}
.nav-links--mobile a{font-family:var(--font-heading);font-size:1.6rem;font-weight:600;color:#fff;transition:color .3s var(--ease);}
.nav-links--mobile a:hover{color:var(--color-accent);}

@media (max-width:1023px){
  .nav-links--desktop{display:none;}
  .nav-toggle{display:flex;}
}
@media (min-width:1024px){
  .nav-toggle{display:none;}
  .nav-face--back{display:none;}
}


.cookie-banner{
  position:fixed;top:0;left:0;right:0;z-index:2000;
  background:var(--color-text);color:#fff;
  transform:translateY(-110%);transition:transform .5s var(--ease);
  box-shadow:var(--shadow-lg);
}
.cookie-banner.is-visible{transform:translateY(0);}
.cookie-banner-inner{max-width:1280px;margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;}
.cookie-banner-text{font-size:.88rem;margin:0;color:rgba(255,255,255,.9);max-width:640px;}
.cookie-banner-text a{color:var(--color-accent);text-decoration:underline;}
.cookie-banner-actions{display:flex;gap:.7rem;flex-wrap:wrap;}
@media (max-width:640px){
  .cookie-banner-inner{flex-direction:column;align-items:stretch;text-align:center;}
  .cookie-banner-actions{justify-content:center;}
}

.cookie-modal{position:fixed;inset:0;z-index:2100;display:none;align-items:center;justify-content:center;padding:1.5rem;}
.cookie-modal.is-visible{display:flex;}
.cookie-modal-overlay{position:absolute;inset:0;background:rgba(43,36,29,.55);backdrop-filter:blur(2px);}
.cookie-modal-content{position:relative;background:var(--color-surface);border-radius:var(--radius-lg);padding:2rem;max-width:560px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg);}
.cookie-modal-content h3{font-size:1.3rem;}
.cookie-category{padding:1rem 0;border-bottom:1px solid var(--color-border);}
.cookie-category:last-of-type{border-bottom:none;}
.cookie-category-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem;}
.cookie-category p{font-size:.87rem;margin:0;}
.cookie-toggle--locked{font-size:.78rem;color:var(--color-text-muted);background:var(--color-bg-alt);padding:.3rem .7rem;border-radius:var(--radius-pill);}
.cookie-switch{position:relative;display:inline-block;width:46px;height:26px;}
.cookie-switch input{opacity:0;width:0;height:0;}
.cookie-switch span{position:absolute;cursor:pointer;inset:0;background:var(--color-border);border-radius:var(--radius-pill);transition:background .3s var(--ease);}
.cookie-switch span::before{content:"";position:absolute;height:20px;width:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .3s var(--ease);box-shadow:var(--shadow-sm);}
.cookie-switch input:checked + span{background:var(--color-primary);}
.cookie-switch input:checked + span::before{transform:translateX(20px);}
.cookie-modal-actions{display:flex;gap:.8rem;justify-content:flex-end;margin-top:1.5rem;flex-wrap:wrap;}


.chat-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md);}
.chat-form{display:flex;flex-direction:column;gap:1rem;}
.chat-row{display:flex;align-items:flex-end;gap:.7rem;}
.chat-row--user{justify-content:flex-end;}
.chat-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.95rem;}
.chat-bubble{max-width:80%;padding:.9rem 1.2rem;border-radius:var(--radius-md);font-size:.95rem;}
.chat-bubble--bot{background:var(--color-bg-alt);color:var(--color-text);border-bottom-left-radius:6px;}
.chat-bubble--user{background:var(--color-primary);color:#fff;border-bottom-right-radius:6px;}
.chat-bubble--input{background:var(--color-secondary-light);padding:.6rem .8rem;width:100%;max-width:100%;}
.chat-bubble--input input, .chat-bubble--input textarea{
  width:100%;border:none;background:transparent;font-family:var(--font-body);font-size:.95rem;
  color:var(--color-text);resize:vertical;outline:none;padding:.4rem;
}
.chat-bubble--input input::placeholder, .chat-bubble--input textarea::placeholder{color:var(--color-text-muted);}
.chat-checkbox{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;cursor:pointer;}
.chat-checkbox input{margin-top:.2rem;width:18px;height:18px;flex-shrink:0;}
.chat-send{align-self:flex-end;}
.map-wrap{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);}


.site-footer{background:var(--color-text);color:rgba(255,255,255,.85);padding:4rem 1.5rem 2.5rem;margin-top:auto;}
.footer-inner{max-width:640px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.3rem;}
.footer-logo{width:48px;height:48px;filter:brightness(0) invert(1);}
.footer-tagline{font-size:.95rem;color:rgba(255,255,255,.7);max-width:36ch;}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem;}
.footer-links a{font-size:.9rem;color:rgba(255,255,255,.85);transition:color .3s var(--ease);}
.footer-links a:hover{color:var(--color-accent);}
.footer-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem;font-size:.88rem;}
.footer-contact a, .footer-contact span{display:flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.75);}
.footer-contact a:hover{color:var(--color-accent);}
.footer-legal{display:flex;gap:1.4rem;font-size:.82rem;}
.footer-legal a{color:rgba(255,255,255,.6);}
.footer-legal a:hover{color:#fff;}
.footer-copy{font-size:.78rem;color:rgba(255,255,255,.45);margin:0;}

body{display:flex;flex-direction:column;min-height:100vh;}
main{flex:1;}


.check-wrap{width:120px;height:120px;margin:0 auto 1.8rem;}
.check-svg{width:100%;height:100%;}
.check-circle{stroke:var(--color-primary);stroke-dasharray:283;stroke-dashoffset:283;animation:strokeCircle .7s var(--ease) forwards;}
.check-check{stroke:var(--color-primary);stroke-dasharray:60;stroke-dashoffset:60;animation:strokeCheck .35s var(--ease) .7s forwards;}
@keyframes strokeCircle{to{stroke-dashoffset:0;}}
@keyframes strokeCheck{to{stroke-dashoffset:0;}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}

.text-muted{color:var(--color-text-muted);}

@media (max-width:768px){
  .stats-grid{grid-template-columns:1fr 1fr;gap:1.6rem;}
  .chat-wrap{padding:1.4rem;}
  .chat-bubble{max-width:90%;}
  .process-step{flex-direction:column;}
}
@media (max-width:480px){
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-badges{flex-direction:column;gap:.6rem;}
}