:root{
  --color-bg:#faf7f0;
  --color-bg-alt:#f1ede1;
  --color-surface:#fffdf8;
  --color-text:#20241c;
  --color-text-muted:#5b6355;
  --color-primary:#2f6b3a;
  --color-primary-dark:#1c3f24;
  --color-primary-soft:#e4ede1;
  --color-secondary:#c97b4a;
  --color-secondary-soft:#f3e1d2;
  --color-accent:#a8c24c;
  --color-line:#e2ddcd;

  --radius-sm:8px;
  --radius-md:16px;
  --radius-lg:28px;
  --radius-xl:44px;

  --shadow-sm: 0 1px 2px rgba(28,32,24,.06), 0 1px 1px rgba(28,32,24,.04);
  --shadow-md: 0 8px 20px rgba(28,32,24,.09), 0 2px 6px rgba(28,32,24,.06);
  --shadow-lg: 0 24px 48px rgba(28,32,24,.14), 0 10px 20px rgba(28,32,24,.08);

  --space-1:.5rem;
  --space-2:1rem;
  --space-3:1.5rem;
  --space-4:2rem;
  --space-5:3rem;
  --space-6:4.5rem;
  --space-7:6rem;
  --space-8:8rem;

  --font-heading:'Manrope', sans-serif;
  --font-body:'Inter', sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--color-text);
  background:var(--color-bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-primary-dark);line-height:1.15;margin:0;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
input,select,textarea{font-family:inherit;font-size:1rem;}

.srOnly{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

.sectionEyebrow{
  display:inline-block;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--color-secondary);
  margin-bottom:var(--space-2);
}
.sectionTitle{
  font-size:clamp(1.7rem,3.2vw,2.6rem);
  font-weight:800;
  max-width:38rem;
  margin-bottom:var(--space-3);
}
.sectionLead{
  font-size:1.05rem;
  color:var(--color-text-muted);
  max-width:42rem;
  margin-bottom:var(--space-2);
}

.btnPrimary,.btnGhost,.btnSecondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.9rem 1.7rem;
  border-radius:var(--radius-md);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:.95rem;
  min-height:44px;
  transition:transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease;
}
.btnPrimary{
  background:var(--color-primary);
  color:#f7f4ea;
  box-shadow:var(--shadow-sm);
}
.btnPrimary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-2px);}
.btnGhost{
  background:var(--color-primary-soft);
  color:var(--color-primary-dark);
  border:1px solid var(--color-line);
}
.btnGhost:hover{background:var(--color-primary-soft);transform:translateY(-2px);}
.btnSecondary{
  background:var(--color-secondary);
  color:#fdf6ef;
  box-shadow:var(--shadow-sm);
}
.btnSecondary:hover{background:#b3663a;box-shadow:var(--shadow-md);transform:translateY(-2px);}


.siteHeader{
  position:sticky;top:0;z-index:80;
  background:var(--color-surface);
  transition:box-shadow .2s ease;
}
.siteHeader_inner{
  max-width:1200px;margin:0 auto;
  padding:var(--space-2) var(--space-3);
  display:flex;align-items:center;justify-content:space-between;
  position:relative;
}
.siteHeader_logo{
  display:flex;align-items:center;gap:.6rem;
  font-family:var(--font-heading);font-weight:800;font-size:1.15rem;
  color:var(--color-primary-dark);
}
.siteHeader_logo_img{width:34px;height:34px;}
.siteHeader_nav{display:none;align-items:center;gap:var(--space-4);}
.siteHeader_link{
  font-weight:500;font-size:.95rem;color:var(--color-text);
  padding:.4rem .2rem;position:relative;
  transition:color .25s ease;
}
.siteHeader_link::after{
  content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;
  background:var(--color-secondary);transition:width .25s ease;
}
.siteHeader_link:hover{color:var(--color-primary-dark);}
.siteHeader_link:hover::after{width:100%;}
.siteHeader_link--cta{
  background:var(--color-primary);color:#f7f4ea;padding:.6rem 1.2rem;
  border-radius:var(--radius-md);
}
.siteHeader_link--cta::after{display:none;}
.siteHeader_link--cta:hover{background:var(--color-primary-dark);color:#f7f4ea;}
.siteHeader_menuToggle{
  font-size:1.3rem;color:var(--color-primary-dark);
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  border-radius:var(--radius-sm);
  transition:background-color .25s ease;
}
.siteHeader_menuToggle:hover{background:var(--color-primary-soft);}

@media(min-width:1024px){
  .siteHeader_inner{flex-direction:column;gap:.4rem;padding:var(--space-3) var(--space-4);}
  .siteHeader_menuToggle{display:none;}
  .siteHeader_nav{display:flex;}
}


.mobileMenu{
  position:fixed;inset:0;z-index:200;
  pointer-events:none;
}
.mobileMenu_overlay{
  position:absolute;inset:0;background:rgba(20,24,18,.5);
  opacity:0;transition:opacity .4s ease;
}
.mobileMenu_panel{
  position:absolute;top:0;left:0;height:100%;width:80%;max-width:340px;
  background:var(--color-primary-dark);
  padding:var(--space-6) var(--space-4) var(--space-4);
  display:flex;flex-direction:column;gap:var(--space-2);
  transform:translateX(-100%);
  transition:transform .45s cubic-bezier(.16,.84,.44,1);
  box-shadow:var(--shadow-lg);
}
.mobileMenu.isOpen{pointer-events:auto;}
.mobileMenu.isOpen .mobileMenu_overlay{opacity:1;}
.mobileMenu.isOpen .mobileMenu_panel{transform:translateX(0);}
.mobileMenu_close{
  align-self:flex-end;color:#f2efe4;font-size:1.4rem;
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  margin-bottom:var(--space-3);
}
.mobileMenu_link{
  color:#f2efe4;font-family:var(--font-heading);font-weight:700;font-size:1.15rem;
  padding:.8rem .3rem;border-bottom:1px solid rgba(242,239,228,.12);
  opacity:0;transform:translateX(-14px);
  transition:opacity .35s ease, transform .35s ease;
}
.mobileMenu.isOpen .mobileMenu_link{opacity:1;transform:translateX(0);}
.mobileMenu.isOpen .mobileMenu_link:nth-child(1){transition-delay:.08s;}
.mobileMenu.isOpen .mobileMenu_link:nth-child(2){transition-delay:.14s;}
.mobileMenu.isOpen .mobileMenu_link:nth-child(3){transition-delay:.2s;}
.mobileMenu.isOpen .mobileMenu_link:nth-child(4){transition-delay:.26s;}
.mobileMenu.isOpen .mobileMenu_link:nth-child(5){transition-delay:.32s;}
body.noScroll{overflow:hidden;}

@media(min-width:1024px){
  .mobileMenu{display:none;}
}


.mainHero{
  position:relative;min-height:88vh;display:flex;align-items:center;
  overflow:hidden;background:var(--color-primary-dark);
}
.mainHero_bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
}
.mainHero_mask{
  position:absolute;inset:0;background:var(--color-primary-dark);
  -webkit-mask-image:radial-gradient(circle at 82% 48%, transparent 0, transparent 150px, black 152px);
  mask-image:radial-gradient(circle at 82% 48%, transparent 0, transparent 150px, black 152px);
}
.mainHero_content{
  position:relative;z-index:2;max-width:640px;
  padding:var(--space-6) var(--space-3);
  color:#f5f2e6;
}
.mainHero_eyebrow{
  display:inline-block;font-family:var(--font-heading);font-weight:700;
  font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--color-accent);margin-bottom:var(--space-3);
}
.mainHero_title{
  font-size:clamp(2.2rem,6vw,3.8rem);font-weight:800;margin-bottom:var(--space-3);
  color:#faf8ef;
}
.mainHero_lead{
  font-size:1.1rem;color:#d9d9c9;max-width:34rem;margin-bottom:var(--space-4);
}
.mainHero_actions{display:flex;flex-wrap:wrap;gap:var(--space-2);}

@media(min-width:768px){
  .mainHero_mask{
    -webkit-mask-image:radial-gradient(circle at 78% 45%, transparent 0, transparent 230px, black 233px);
    mask-image:radial-gradient(circle at 78% 45%, transparent 0, transparent 230px, black 233px);
  }
}


.pageHero{
  position:relative;min-height:60vh;display:flex;align-items:flex-end;
  overflow:hidden;background:var(--color-primary-dark);
}
.pageHero--short{min-height:50vh;}
.pageHero_bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.pageHero_mask{
  position:absolute;inset:0;background:var(--color-primary-dark);
  -webkit-mask-image:radial-gradient(circle at 85% 20%, transparent 0, transparent 120px, black 122px);
  mask-image:radial-gradient(circle at 85% 20%, transparent 0, transparent 120px, black 122px);
}
.pageHero_content{
  position:relative;z-index:2;max-width:640px;color:#f5f2e6;
  padding:var(--space-5) var(--space-3) var(--space-6);
}
.pageHero_title{font-size:clamp(1.9rem,4.6vw,3rem);font-weight:800;color:#faf8ef;margin-bottom:var(--space-2);}
.pageHero_lead{font-size:1.05rem;color:#d9d9c9;max-width:32rem;}


section{padding:var(--space-6) var(--space-3);}
.introStrip{
  max-width:52rem;margin:0 auto;text-align:center;
  padding:var(--space-5) var(--space-3);
  color:var(--color-text-muted);font-size:1.1rem;
}


.featureGrid_section{max-width:1100px;margin:0 auto;}
.featureGrid{
  display:grid;grid-template-columns:1fr;gap:0;
  margin-top:var(--space-4);
  border-top:1px solid var(--color-line);
}
.featureItem{
  display:flex;flex-direction:column;gap:.6rem;
  padding:var(--space-4) var(--space-2);
  border-bottom:1px solid var(--color-line);
}
.featureItem_icon{
  width:52px;height:52px;border-radius:var(--radius-md);
  background:var(--color-primary-soft);color:var(--color-primary);
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;
}
.featureItem_title{font-size:1.15rem;font-weight:700;}
.featureItem_text{color:var(--color-text-muted);font-size:.98rem;}

@media(min-width:768px){
  .featureGrid{grid-template-columns:1fr 1fr;border-top:1px solid var(--color-line);}
  .featureItem{border-right:1px solid var(--color-line);}
  .featureItem:nth-child(2n){border-right:none;}
}


.contextSection{background:var(--color-bg-alt);padding:var(--space-7) var(--space-3);}
.contextSection_inner{max-width:44rem;margin:0 auto;}


.cutoutSection{
  position:relative;overflow:hidden;
  min-height:70vh;display:flex;align-items:center;
  background:var(--color-primary-dark);
}
.cutoutSection_media{position:absolute;inset:0;background-size:cover;background-position:center;}
.cutoutSection_mask{
  position:absolute;inset:0;background:var(--color-primary-dark);
  -webkit-mask-image:radial-gradient(circle at 80% 50%, transparent 0, transparent 190px, black 192px);
  mask-image:radial-gradient(circle at 80% 50%, transparent 0, transparent 190px, black 192px);
}
.cutoutSection_mask--secondary{
  background:var(--color-secondary);
}
.cutoutSection--left .cutoutSection_mask{
  -webkit-mask-image:radial-gradient(circle at 20% 50%, transparent 0, transparent 190px, black 192px);
  mask-image:radial-gradient(circle at 20% 50%, transparent 0, transparent 190px, black 192px);
}
.cutoutSection--left .cutoutSection_content{margin-left:auto;}
.cutoutSection_content{
  position:relative;z-index:2;max-width:520px;
  padding:var(--space-4) var(--space-3);
  color:#f5f2e6;
}
.cutoutSection--left{background:var(--color-secondary);}
.cutoutSection_content .sectionTitle{color:#faf8ef;}
.cutoutSection_content .sectionLead{color:#e6e2d3;}
.cutoutSection_content .sectionEyebrow{color:var(--color-accent);}

@media(min-width:768px){
  .cutoutSection_mask{
    -webkit-mask-image:radial-gradient(circle at 76% 50%, transparent 0, transparent 280px, black 283px);
    mask-image:radial-gradient(circle at 76% 50%, transparent 0, transparent 280px, black 283px);
  }
  .cutoutSection--left .cutoutSection_mask{
    -webkit-mask-image:radial-gradient(circle at 24% 50%, transparent 0, transparent 280px, black 283px);
    mask-image:radial-gradient(circle at 24% 50%, transparent 0, transparent 280px, black 283px);
  }
  .cutoutSection_content{padding:var(--space-6) var(--space-5);}
}


.cropsSection{max-width:1200px;margin:0 auto;}
.cropsSwiper{padding-bottom:var(--space-5);position:relative;}
.cropCard{
  background:var(--color-surface);border-radius:var(--radius-lg);
  overflow:hidden;box-shadow:var(--shadow-md);height:100%;
}
.cropCard_img{width:100%;height:200px;object-fit:cover;}
.cropCard_body{padding:var(--space-3);}
.cropCard_body h3{font-size:1.1rem;margin-bottom:.4rem;}
.cropCard_body p{color:var(--color-text-muted);font-size:.92rem;}
.swiper-pagination-bullet{background:var(--color-line);opacity:1;}
.swiper-pagination-bullet-active{background:var(--color-secondary);}
.swiper-button-next,.swiper-button-prev{color:var(--color-primary-dark);}


.parallaxSection{
  position:relative;min-height:60vh;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  padding:var(--space-7) var(--space-3);
}
.parallaxSection_bg{
  position:absolute;inset:-15% 0;background-size:cover;background-position:center;
  will-change:transform;
}
.parallaxSection_overlay{
  position:absolute;inset:0;background:linear-gradient(180deg, rgba(28,63,36,.75), rgba(28,63,36,.55));
}
.parallaxSection_content{
  position:relative;z-index:2;max-width:38rem;text-align:center;color:#f5f2e6;
}
.parallaxSection_title{font-size:clamp(1.7rem,4vw,2.5rem);font-weight:800;color:#faf8ef;margin-bottom:var(--space-2);}
.parallaxSection_text{color:#e6e2d3;font-size:1.05rem;}


.newsletterStrip{
  background:var(--color-secondary);padding:var(--space-5) var(--space-3);
}
.newsletterStrip_inner{
  max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-3);
  align-items:flex-start;
}
.newsletterStrip_text h2{color:#fdf6ef;font-size:1.5rem;margin-bottom:.4rem;}
.newsletterStrip_text p{color:#f8e9dd;}
.newsletterStrip_form{display:flex;flex-wrap:wrap;gap:.7rem;width:100%;}
.newsletterStrip_form input{
  flex:1;min-width:200px;padding:.85rem 1.1rem;border-radius:var(--radius-md);
  border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.94);
}
@media(min-width:768px){
  .newsletterStrip_inner{flex-direction:row;align-items:center;justify-content:space-between;}
  .newsletterStrip_form{max-width:460px;}
}


.pageFooter{background:var(--color-primary-dark);color:#e7e4d6;margin-top:auto;}
.pageFooter_inner{
  max-width:900px;margin:0 auto;padding:var(--space-6) var(--space-3);
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);
}
.pageFooter_logo{display:flex;align-items:center;gap:.6rem;font-family:var(--font-heading);font-weight:800;font-size:1.2rem;color:#f5f2e6;}
.pageFooter_logo img{width:32px;height:32px;}
.pageFooter_tagline{color:#c7c3ae;font-size:.95rem;}
.pageFooter_nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);}
.pageFooter_nav a{color:#e7e4d6;font-size:.92rem;transition:color .25s ease;}
.pageFooter_nav a:hover{color:var(--color-accent);}
.pageFooter_contact{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;color:#c7c3ae;}
.pageFooter_contact a{color:#c7c3ae;transition:color .25s ease;}
.pageFooter_contact a:hover{color:var(--color-accent);}
.pageFooter_bottom{
  border-top:1px solid rgba(231,228,214,.15);padding-top:var(--space-3);width:100%;
  display:flex;flex-direction:column;align-items:center;gap:.6rem;
}
.pageFooter_legal{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);}
.pageFooter_legal a{font-size:.82rem;color:#a9a693;transition:color .25s ease;}
.pageFooter_legal a:hover{color:var(--color-accent);}

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


.moduleSection{max-width:1100px;margin:0 auto;}
.moduleList{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-top:var(--space-4);}
.moduleCard{
  background:var(--color-surface);border-radius:var(--radius-lg);
  padding:var(--space-4);box-shadow:var(--shadow-sm);
  border:1px solid var(--color-line);
  position:relative;
}
.moduleCard_number{
  font-family:var(--font-heading);font-weight:800;font-size:.8rem;
  color:var(--color-secondary);letter-spacing:.08em;text-transform:uppercase;
}
.moduleCard_icon{
  width:48px;height:48px;border-radius:var(--radius-sm);
  background:var(--color-primary-soft);color:var(--color-primary);
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;
  margin:.6rem 0;
}
.moduleCard_title{font-size:1.2rem;margin-bottom:.5rem;}
.moduleCard_text{color:var(--color-text-muted);font-size:.96rem;}
@media(min-width:768px){
  .moduleList{grid-template-columns:1fr 1fr;}
}


.audienceSection{max-width:1100px;margin:0 auto;}
.audienceGrid{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-top:var(--space-4);}
.audienceItem{
  display:flex;gap:var(--space-2);align-items:flex-start;
  padding:var(--space-3);background:var(--color-bg-alt);border-radius:var(--radius-md);
}
.audienceItem i{color:var(--color-secondary);font-size:1.3rem;margin-top:.2rem;}
.audienceItem p{color:var(--color-text-muted);font-size:.96rem;}
@media(min-width:768px){
  .audienceGrid{grid-template-columns:1fr 1fr;}
}


.faqSection{max-width:800px;margin:0 auto;}
.faqList{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);}
.faqItem{
  background:var(--color-surface);border:1px solid var(--color-line);
  border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);
}
.faqItem summary{
  cursor:pointer;font-weight:700;font-family:var(--font-heading);
  padding:.4rem 0;list-style:none;
}
.faqItem summary::-webkit-details-marker{display:none;}
.faqItem summary::after{content:"+";float:right;color:var(--color-secondary);font-size:1.3rem;}
.faqItem[open] summary::after{content:"\2212";}
.faqItem p{color:var(--color-text-muted);padding:.4rem 0 .6rem;}


.principleSection{max-width:1100px;margin:0 auto;}
.principleGrid{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-top:var(--space-4);}
.principleCard{
  background:var(--color-surface);border-radius:var(--radius-lg);
  padding:var(--space-4);box-shadow:var(--shadow-sm);
  border:1px solid var(--color-line);
}
.principleCard_number{
  font-family:var(--font-heading);font-weight:800;font-size:1.6rem;
  color:var(--color-primary-soft);
  -webkit-text-stroke:1px var(--color-primary);
}
.principleCard_title{font-size:1.15rem;margin:.4rem 0;}
.principleCard_text{color:var(--color-text-muted);font-size:.95rem;}
@media(min-width:768px){
  .principleGrid{grid-template-columns:repeat(2,1fr);}
}
@media(min-width:1024px){
  .principleGrid{grid-template-columns:repeat(4,1fr);}
}


.textSection{max-width:1100px;margin:0 auto;}
.textSection_inner{max-width:46rem;display:flex;flex-direction:column;gap:var(--space-2);}


.cropGuideSection{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-6);}
.cropGuideItem{display:flex;flex-direction:column;gap:var(--space-3);align-items:center;}
.cropGuideItem_img{
  width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);
  aspect-ratio:4/3;object-fit:cover;
}
.cropGuideItem_body h2{font-size:1.4rem;margin-bottom:.6rem;}
.cropGuideItem_body p{color:var(--color-text-muted);font-size:.95rem;margin-bottom:.3rem;}
@media(min-width:768px){
  .cropGuideItem{flex-direction:row;align-items:center;}
  .cropGuideItem_img{width:44%;}
  .cropGuideItem_body{width:56%;}
  .cropGuideItem--reverse{flex-direction:row-reverse;}
}


.contactSection{max-width:1100px;margin:0 auto;}
.contactLayout{display:grid;grid-template-columns:1fr;gap:var(--space-5);}
.contactForm{
  background:var(--color-surface);padding:var(--space-4);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-3);
  border:1px solid var(--color-line);
}
.formRow{display:grid;grid-template-columns:1fr;gap:var(--space-3);}
.formGroup{display:flex;flex-direction:column;gap:.4rem;}
.formGroup label{font-size:.88rem;font-weight:600;color:var(--color-primary-dark);}
.formGroup input,.formGroup select,.formGroup textarea{
  padding:.8rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--color-line);
  background:var(--color-bg);transition:border-color .25s ease, box-shadow .25s ease;
  min-height:44px;
}
.formGroup textarea{min-height:120px;resize:vertical;}
.formGroup input:focus,.formGroup select:focus,.formGroup textarea:focus{
  outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);
}
.formCheckbox{display:flex;align-items:flex-start;gap:.6rem;font-size:.88rem;color:var(--color-text-muted);}
.formCheckbox input{margin-top:.25rem;width:18px;height:18px;}
.contactInfo{display:flex;flex-direction:column;gap:var(--space-2);}
.contactInfo h2{font-size:1.3rem;}
.contactInfo p{color:var(--color-text-muted);font-size:.95rem;display:flex;gap:.5rem;align-items:center;}
.contactInfo p i{color:var(--color-secondary);}
.mapWrap{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);margin-top:var(--space-2);}
@media(min-width:1024px){
  .contactLayout{grid-template-columns:1.3fr 1fr;}
  .formRow{grid-template-columns:1fr 1fr;}
}


.timelineSection{max-width:900px;margin:0 auto;}
.timelineList{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4);}
.timelineItem{display:flex;gap:var(--space-3);align-items:flex-start;}
.timelineItem_marker{
  flex:none;width:40px;height:40px;border-radius:50%;
  background:var(--color-primary);color:#f7f4ea;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-heading);
}
.timelineItem_content h3{font-size:1.05rem;margin-bottom:.3rem;}
.timelineItem_content p{color:var(--color-text-muted);font-size:.94rem;}


.thanksSection{
  min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:var(--space-3);padding:var(--space-8) var(--space-3);
}
.thanksSection h1{font-size:clamp(2rem,5vw,3.2rem);}
.thanksSection p{color:var(--color-text-muted);max-width:32rem;}


.legalHero{
  background:var(--color-primary-soft);padding:var(--space-6) var(--space-3);
  text-align:center;
}
.legalHero--alt{background:var(--color-secondary-soft);}
.legalHero--soft{background:var(--color-bg-alt);}
.legalHero h1{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:.6rem;}
.legalHero p{color:var(--color-text-muted);}
.legalPage{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4);}
.legalPage_section h2{font-size:1.2rem;margin-bottom:.6rem;}
.legalPage_section p{color:var(--color-text-muted);margin-bottom:.5rem;}
.legalTable{width:100%;border-collapse:collapse;margin-top:.6rem;}
.legalTable th,.legalTable td{border:1px solid var(--color-line);padding:.7rem;font-size:.88rem;text-align:left;color:var(--color-text-muted);}
.legalTable th{background:var(--color-bg-alt);color:var(--color-primary-dark);}


.cookieConsent{position:fixed;bottom:var(--space-3);right:var(--space-3);z-index:150;}
.cookieConsent_icon{
  width:56px;height:56px;border-radius:50%;
  background:var(--color-primary-dark);color:#f5f2e6;
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;
  box-shadow:var(--shadow-md);position:relative;
  transition:transform .25s ease;
}
.cookieConsent_icon:hover{transform:scale(1.06);}
.cookieConsent_badge{
  position:absolute;top:-2px;right:-2px;width:14px;height:14px;border-radius:50%;
  background:var(--color-secondary);border:2px solid var(--color-bg);
}
.cookieConsent_badge:empty{display:none;}
.cookieConsent_panel{
  position:fixed;left:0;right:0;bottom:0;
  background:var(--color-surface);
  border-radius:var(--radius-xl) var(--radius-xl) 0 0;
  box-shadow:var(--shadow-lg);
  padding:var(--space-4) var(--space-3);
  max-width:520px;margin:0 auto;
  transform:translateY(120%);
  transition:transform .4s cubic-bezier(.16,.84,.44,1);
  max-height:80vh;overflow-y:auto;
}
.cookieConsent.isOpen .cookieConsent_panel{transform:translateY(0);}
.cookieConsent_panel h3{font-size:1.2rem;margin-bottom:.6rem;}
.cookieConsent_panel p{color:var(--color-text-muted);font-size:.88rem;margin-bottom:var(--space-2);}
.cookieConsent_row{
  display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);
  padding:.7rem 0;border-top:1px solid var(--color-line);
}
.cookieConsent_row strong{font-size:.92rem;}
.cookieConsent_row p{font-size:.82rem;margin:.2rem 0 0;}
.cookieConsent_row input{width:20px;height:20px;flex:none;margin-top:.2rem;}
.cookieConsent_actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:var(--space-3);}
.cookieConsent_actions button{flex:1;min-width:120px;font-size:.85rem;padding:.7rem 1rem;}

@media(min-width:600px){
  .cookieConsent_panel{left:auto;right:var(--space-3);bottom:calc(56px + var(--space-3) + .8rem);border-radius:var(--radius-xl);}
}


.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
.reveal.isVisible{opacity:1;transform:translateY(0);}

@media(max-width:767px){
  section{padding:var(--space-5) var(--space-2);}
}