/* ===================================================================
   Vimita Yiveco — Structured Bold
   =================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Albert+Sans:wght@300;400;500;600;700;800&display=swap');

:root{
  --global-color-bg: #f7f2ea;
  --global-color-bg-alt: #efe6d3;
  --global-color-surface: #fffcf6;
  --global-color-ink: #211c15;
  --global-color-ink-soft: #55503f;
  --global-color-primary: #1f4a3d;
  --global-color-primary-dark: #13322a;
  --global-color-primary-light: #33705b;
  --global-color-accent: #cf6a3d;
  --global-color-accent-dark: #ab5530;
  --global-color-accent-light: #e8b877;
  --global-color-line: #ddd0b1;
  --global-color-line-strong: #c9b78c;

  --global-radius-sm: 8px;
  --global-radius-md: 14px;
  --global-radius-lg: 26px;
  --global-radius-pill: 999px;

  --global-shadow-sm: 0 1px 2px rgba(33,28,21,.09), 0 1px 1px rgba(33,28,21,.05);
  --global-shadow-md: 0 10px 24px -8px rgba(33,28,21,.18), 0 4px 8px -2px rgba(33,28,21,.08);
  --global-shadow-lg: 0 30px 60px -18px rgba(19,50,42,.4), 0 10px 20px -8px rgba(33,28,21,.16);

  --global-ease: cubic-bezier(.22,.61,.36,1);
  --global-space-xs: .5rem;
  --global-space-sm: 1rem;
  --global-space-md: 2rem;
  --global-space-lg: 4rem;
  --global-space-xl: 7rem;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:'Albert Sans', sans-serif;
  background:var(--global-color-bg);
  color:var(--global-color-ink);
  line-height:1.65;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.no-scroll{ overflow:hidden; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ font-weight:800; margin:0 0 .5em; letter-spacing:-.02em; color:var(--global-color-primary-dark); }
p{ margin:0 0 1em; color:var(--global-color-ink-soft); }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
input,select,textarea{ font-family:inherit; font-size:1rem; }

h1{ font-size:clamp(2.2rem, 5vw + 1rem, 4.2rem); line-height:1.05; }
h2{ font-size:clamp(1.7rem, 3vw + .8rem, 2.6rem); line-height:1.15; }
h3{ font-size:clamp(1.15rem, 1.2vw + .8rem, 1.4rem); }


.global-btn{
  display:inline-flex;
  align-items:center;
  gap:.6em;
  padding:.95em 1.8em;
  border-radius:var(--global-radius-pill);
  font-weight:700;
  font-size:.98rem;
  border:2px solid transparent;
  transition:transform .35s var(--global-ease), box-shadow .35s var(--global-ease), background .35s var(--global-ease), color .35s var(--global-ease), border-color .35s var(--global-ease);
  min-height:48px;
  white-space:nowrap;
}
.global-btn i{ transition:transform .35s var(--global-ease); }
.global-btn--accent{
  background:var(--global-color-accent);
  color:#fff8f0;
  box-shadow:var(--global-shadow-md);
}
.global-btn--accent:hover{
  background:var(--global-color-accent-dark);
  transform:translateY(-3px);
  box-shadow:var(--global-shadow-lg);
}
.global-btn--accent:hover i{ transform:translateX(4px); }
.global-btn--ghost{
  background:transparent;
  color:var(--global-color-primary-dark);
  border-color:var(--global-color-line-strong);
}
.global-btn--ghost:hover{
  border-color:var(--global-color-primary);
  background:var(--global-color-primary);
  color:#fbf6ec;
  transform:translateY(-3px);
}
.global-btn--outline-light{
  background:transparent;
  color:#fbf6ec;
  border-color:rgba(251,246,236,.6);
}
.global-btn--outline-light:hover{
  background:#fbf6ec;
  color:var(--global-color-primary-dark);
  border-color:#fbf6ec;
  transform:translateY(-3px);
  box-shadow:var(--global-shadow-lg);
}
.global-btn--outline-light-lg{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,.7);
  padding:1.1em 2.4em;
  font-size:1.05rem;
}
.global-btn--outline-light-lg:hover{
  background:#fff;
  color:var(--global-color-primary-dark);
  border-color:#fff;
  transform:translateY(-4px) scale(1.02);
  box-shadow:var(--global-shadow-lg);
}
.global-btn--accent-sm,.global-btn--ghost-sm{
  padding:.6em 1.3em;
  font-size:.88rem;
  min-height:40px;
}
.global-btn--accent-sm{ background:var(--global-color-accent); color:#fff8f0; }
.global-btn--accent-sm:hover{ background:var(--global-color-accent-dark); transform:translateY(-2px); }
.global-btn--ghost-sm{ background:transparent; border-color:var(--global-color-line-strong); color:var(--global-color-primary-dark); }
.global-btn--ghost-sm:hover{ background:var(--global-color-bg-alt); border-color:var(--global-color-primary); transform:translateY(-2px); }


.global-header{
  position:fixed; top:0; left:0; right:0;
  z-index:150;
  padding:.4rem 0;
  transition:background .4s var(--global-ease), box-shadow .4s var(--global-ease), padding .4s var(--global-ease);
}
.global-header__inner{
  max-width:1280px;
  margin:0 auto;
  padding:.9rem 1.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.global-header__logo{ display:flex; align-items:center; gap:.6rem; }
.global-header__logo-mark{ width:40px; height:40px; transition:transform .4s var(--global-ease); }
.global-header__logo:hover .global-header__logo-mark{ transform:rotate(-8deg) scale(1.05); }
.global-header__logo-text{ font-weight:800; font-size:1.15rem; letter-spacing:-.01em; color:var(--global-color-primary-dark); }
.global-header__nav{ display:none; }
.global-header__nav a{
  position:relative;
  font-weight:600;
  font-size:.95rem;
  color:var(--global-color-primary-dark);
  padding:.4em 0;
}
.global-header__nav a::after{
  content:'';
  position:absolute; left:0; bottom:-2px;
  width:0; height:2px;
  background:var(--global-color-accent);
  transition:width .35s var(--global-ease);
}
.global-header__nav a:hover::after, .global-header__nav a.is-active::after{ width:100%; }
.global-header__nav a.is-active{ color:var(--global-color-accent-dark); }
.global-header__actions{ display:flex; align-items:center; gap:1rem; }
.global-header__cta{ display:none; }
.global-header__burger{
  width:48px; height:48px;
  border-radius:var(--global-radius-md);
  border:2px solid var(--global-color-primary-dark);
  background:transparent;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  transition:background .3s var(--global-ease), border-color .3s var(--global-ease);
}
.global-header__burger span{
  width:20px; height:2px; background:var(--global-color-primary-dark);
  transition:all .35s var(--global-ease);
}
.global-header__burger:hover{ background:var(--global-color-primary-dark); }
.global-header__burger:hover span{ background:#fbf6ec; }

.global-header.is-scrolled{
  background:rgba(247,242,234,.92);
  backdrop-filter:blur(10px);
  box-shadow:var(--global-shadow-md);
  padding:0;
}

@media(min-width:960px){
  .global-header__nav{ display:flex; gap:1.9rem; }
  .global-header__cta{ display:inline-flex; }
  .global-header__burger{ display:none; }
}


.global-mobile-menu{
  position:fixed; inset:0;
  background:var(--global-color-primary-dark);
  z-index:300;
  display:flex; flex-direction:column;
  transform:translateY(-100%);
  transition:transform .65s cubic-bezier(.77,0,.18,1);
  padding:2rem 1.5rem;
}
.global-mobile-menu.is-open{ transform:translateY(0); }
.global-mobile-menu__top{ margin-bottom:2rem; }
.global-mobile-menu__label{ color:rgba(251,246,236,.5); font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:.8rem; }
.global-mobile-menu__nav{ display:flex; flex-direction:column; gap:1.1rem; flex:1; justify-content:center; }
.global-mobile-menu__nav a{
  font-size:clamp(1.6rem, 6vw, 2.4rem);
  font-weight:800;
  color:#fbf6ec;
  opacity:0;
  transform:translateY(-24px);
  transition:opacity .5s var(--global-ease), transform .5s var(--global-ease), color .3s var(--global-ease);
}
.global-mobile-menu.is-open .global-mobile-menu__nav a{ opacity:1; transform:translateY(0); }
.global-mobile-menu.is-open .global-mobile-menu__nav a:nth-child(1){ transition-delay:.08s; }
.global-mobile-menu.is-open .global-mobile-menu__nav a:nth-child(2){ transition-delay:.16s; }
.global-mobile-menu.is-open .global-mobile-menu__nav a:nth-child(3){ transition-delay:.24s; }
.global-mobile-menu.is-open .global-mobile-menu__nav a:nth-child(4){ transition-delay:.32s; }
.global-mobile-menu.is-open .global-mobile-menu__nav a:nth-child(5){ transition-delay:.4s; }
.global-mobile-menu__nav a:hover{ color:var(--global-color-accent-light); }
.global-mobile-menu__close{
  align-self:center;
  background:transparent;
  border:2px solid rgba(251,246,236,.4);
  color:#fbf6ec;
  border-radius:var(--global-radius-pill);
  padding:.9em 2em;
  font-weight:700;
  display:flex; align-items:center; gap:.6em;
  transition:background .3s var(--global-ease), border-color .3s var(--global-ease), transform .3s var(--global-ease);
}
.global-mobile-menu__close:hover{ background:#fbf6ec; color:var(--global-color-primary-dark); border-color:#fbf6ec; transform:translateY(-2px); }

@media(min-width:960px){ .global-mobile-menu{ display:none; } }


.global-divider{ position:relative; }
.global-divider--dots{
  height:80px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.4rem;
  background:var(--global-color-bg);
}
.global-divider--dots span{
  width:10px; height:10px; border-radius:50%;
  background:var(--global-color-accent-light);
  animation:global-dot-float 3.2s ease-in-out infinite;
}
.global-divider--dots span:nth-child(odd){ background:var(--global-color-primary-light); animation-delay:.3s; }
.global-divider--dots span:nth-child(3n){ background:var(--global-color-accent); animation-delay:.6s; }
@keyframes global-dot-float{
  0%,100%{ transform:translateY(0); opacity:.6; }
  50%{ transform:translateY(-14px); opacity:1; }
}
.global-divider--zigzag{
  height:60px;
  background:
    linear-gradient(135deg, var(--global-color-bg-alt) 25%, transparent 25%) -20px 0,
    linear-gradient(225deg, var(--global-color-bg-alt) 25%, transparent 25%) -20px 0,
    linear-gradient(315deg, var(--global-color-bg-alt) 25%, transparent 25%),
    linear-gradient(45deg, var(--global-color-bg-alt) 25%, transparent 25%);
  background-size:40px 40px;
  background-color:var(--global-color-bg);
}
.global-divider--wave{ line-height:0; background:var(--global-color-bg); }
.global-divider--wave svg{ width:100%; height:70px; display:block; }
.global-divider--wave path{ fill:var(--global-color-primary); opacity:.12; }


.global-cta{
  background:var(--global-color-primary-dark);
  color:#fbf6ec;
  padding:var(--global-space-xl) 1.5rem;
  position:relative;
  overflow:hidden;
}
.global-cta::before{
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(circle at 15% 20%, rgba(207,106,61,.25), transparent 55%),
             radial-gradient(circle at 85% 80%, rgba(51,112,91,.4), transparent 55%);
}
.global-cta__inner{
  position:relative;
  max-width:760px; margin:0 auto; text-align:center;
}
.global-cta__inner h2{ color:#fbf6ec; }
.global-cta__inner p{ color:rgba(251,246,236,.8); font-size:1.05rem; }


.global-footer{
  background:var(--global-color-primary-dark);
  color:rgba(251,246,236,.85);
  border-top:6px solid var(--global-color-accent);
}
.global-footer__inner{
  max-width:1280px; margin:0 auto;
  padding:var(--global-space-lg) 1.5rem var(--global-space-md);
  display:grid;
  gap:2.5rem;
  grid-template-columns:1fr;
}
.global-footer__col{ display:flex; flex-direction:column; gap:.7rem; }
.global-footer__col h4{ color:#fbf6ec; font-size:1rem; margin-bottom:.3rem; letter-spacing:.02em; text-transform:uppercase; }
.global-footer__col a{
  color:rgba(251,246,236,.75);
  transition:color .3s var(--global-ease), transform .3s var(--global-ease), padding-left .3s var(--global-ease);
  display:flex; align-items:center; gap:.5em;
}
.global-footer__col a:hover{ color:var(--global-color-accent-light); padding-left:.3em; }
.global-footer__col--brand p{ color:rgba(251,246,236,.7); max-width:320px; }
.global-footer__logo{ width:44px; margin-bottom:.4rem; }
.global-footer__address{ color:rgba(251,246,236,.75); display:flex; gap:.5em; }
.global-footer__inner:has(a:hover) .global-footer__col a:not(:hover){ opacity:.65; }
.global-footer__bottom{
  border-top:1px solid rgba(251,246,236,.15);
  padding:1.2rem 1.5rem;
  text-align:center;
  font-size:.85rem;
  color:rgba(251,246,236,.55);
}
@media(min-width:720px){ .global-footer__inner{ grid-template-columns:1.4fr 1fr 1fr 1fr; } }


.global-cookie{
  position:fixed;
  bottom:1.2rem; left:50%;
  transform:translateX(-50%);
  z-index:400;
  width:100%;
  max-width:480px;
  padding:0 1rem;
  display:none;
}
.global-cookie.is-visible{ display:block; }
.global-cookie__card{
  background:var(--global-color-surface);
  border:1px solid var(--global-color-line);
  border-radius:var(--global-radius-lg);
  box-shadow:var(--global-shadow-lg);
  padding:1.4rem 1.5rem;
  transition:max-width .5s var(--global-ease), width .5s var(--global-ease);
  overflow:hidden;
}
.global-cookie__compact p{ font-size:.88rem; margin-bottom:1rem; color:var(--global-color-ink-soft); }
.global-cookie__compact a{ color:var(--global-color-accent-dark); font-weight:700; }
.global-cookie__actions{ display:flex; gap:.8rem; justify-content:flex-end; flex-wrap:wrap; }
.global-cookie__full{
  display:none;
  max-height:0;
  opacity:0;
  transition:max-height .5s var(--global-ease), opacity .4s var(--global-ease);
}
.global-cookie.is-expanded .global-cookie__card{ max-width:560px; }
.global-cookie.is-expanded .global-cookie__compact{ display:none; }
.global-cookie.is-expanded .global-cookie__full{ display:block; max-height:600px; opacity:1; }
.global-cookie__full h3{ margin-bottom:.4rem; }
.global-cookie__full > p{ font-size:.88rem; margin-bottom:1rem; }
.global-cookie__category{ padding:.8rem 0; border-top:1px solid var(--global-color-line); }
.global-cookie__category p{ font-size:.82rem; margin:.3rem 0 0; }
.global-cookie__category-head{ display:flex; align-items:center; justify-content:space-between; font-weight:700; font-size:.92rem; }
.global-cookie__toggle{ position:relative; width:44px; height:26px; display:inline-block; }
.global-cookie__toggle input{ opacity:0; width:0; height:0; position:absolute; }
.global-cookie__toggle span{
  position:absolute; inset:0; border-radius:var(--global-radius-pill);
  background:var(--global-color-line-strong);
  transition:background .3s var(--global-ease);
}
.global-cookie__toggle span::before{
  content:''; position:absolute; top:3px; left:3px; width:20px; height:20px;
  border-radius:50%; background:#fff; transition:transform .3s var(--global-ease);
  box-shadow:var(--global-shadow-sm);
}
.global-cookie__toggle input:checked + span{ background:var(--global-color-primary); }
.global-cookie__toggle input:checked + span::before{ transform:translateX(18px); }
.global-cookie__toggle--disabled{ opacity:.6; }
.global-cookie__full .global-cookie__actions{ margin-top:1rem; padding-top:1rem; border-top:1px solid var(--global-color-line); }


.home-hero{
  position:relative;
  padding:9rem 1.5rem 5rem;
  background:linear-gradient(180deg, var(--global-color-bg) 0%, var(--global-color-bg) 60%, var(--global-color-bg-alt) 100%);
  overflow:hidden;
}
.home-hero__grid-lines{
  position:absolute; inset:0;
  background-image:linear-gradient(90deg, rgba(31,74,61,.05) 1px, transparent 1px);
  background-size:80px 100%;
  pointer-events:none;
  opacity:.6;
}
.home-hero__inner{
  position:relative;
  max-width:1280px; margin:0 auto;
  display:grid; gap:3rem;
}
.home-hero__eyebrow{
  display:inline-block;
  font-weight:700; font-size:.85rem;
  letter-spacing:.08em; text-transform:uppercase;
  color:var(--global-color-accent-dark);
  background:rgba(207,106,61,.12);
  padding:.5em 1em;
  border-radius:var(--global-radius-pill);
  margin-bottom:1.2rem;
}
.home-hero__title{ margin-bottom:1.1rem; }
.home-hero__lead{ font-size:1.1rem; max-width:560px; margin-bottom:2rem; }
.home-hero__actions{ display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2.2rem; }
.home-hero__meta{ display:flex; gap:1.6rem; flex-wrap:wrap; }
.home-hero__meta-item{ display:flex; align-items:center; gap:.6em; font-weight:600; font-size:.9rem; color:var(--global-color-primary-dark); }
.home-hero__meta-item i{ color:var(--global-color-accent); }

.home-hero__visual{ position:relative; }
.home-hero__atropos{
  position:relative;
  border-radius:var(--global-radius-lg);
  overflow:visible;
  aspect-ratio:4/3.4;
  max-width:560px;
  margin:0 auto;
}
.home-hero__atropos-img{
  width:100%; height:100%; object-fit:cover;
  border-radius:var(--global-radius-lg);
  box-shadow:var(--global-shadow-lg);
}
.home-hero__badge{
  position:absolute;
  background:var(--global-color-surface);
  padding:.8em 1.2em;
  border-radius:var(--global-radius-md);
  box-shadow:var(--global-shadow-lg);
  display:flex; align-items:center; gap:.6em;
  font-weight:700; font-size:.85rem;
  color:var(--global-color-primary-dark);
}
.home-hero__badge i{ color:var(--global-color-accent); }
.home-hero__badge--top{ top:8%; left:-8%; }
.home-hero__badge--bottom{ bottom:8%; right:-6%; }

@media(min-width:960px){
  .home-hero__inner{ grid-template-columns:1fr 1fr; align-items:center; }
  .home-hero{ padding:11rem 3rem 6rem; }
}


.home-intro{ background:var(--global-color-bg); padding:1rem 1.5rem 3.5rem; }
.home-intro__inner{ max-width:820px; margin:0 auto; text-align:center; }
.home-intro__text{ font-size:1.15rem; color:var(--global-color-ink-soft); }


.home-services{ background:var(--global-color-bg); padding:2rem 1.5rem var(--global-space-xl); }
.home-services__header{ max-width:1280px; margin:0 auto 3rem; text-align:center; }
.home-services__eyebrow{ font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--global-color-accent-dark); }
.home-services__grid{
  max-width:1280px; margin:0 auto;
  display:grid; gap:1.6rem;
  grid-template-columns:1fr;
}
.home-services__card{
  background:var(--global-color-surface);
  border:1px solid var(--global-color-line);
  border-radius:var(--global-radius-lg);
  overflow:hidden;
  transition:transform .4s var(--global-ease), box-shadow .4s var(--global-ease), opacity .4s var(--global-ease), filter .4s var(--global-ease);
  position:relative;
}
.home-services__card-body{ padding:2rem; position:relative; }
.home-services__num{ position:absolute; top:1.4rem; right:1.6rem; font-size:2rem; font-weight:800; color:var(--global-color-line-strong); }
.home-services__icon{
  width:56px; height:56px; border-radius:var(--global-radius-md);
  background:var(--global-color-bg-alt);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; color:var(--global-color-primary);
  margin-bottom:1.2rem;
  transition:background .35s var(--global-ease), color .35s var(--global-ease), transform .35s var(--global-ease);
}
.home-services__card:hover .home-services__icon{ background:var(--global-color-primary); color:#fbf6ec; transform:rotate(-6deg) scale(1.08); }
.home-services__card:hover{ transform:translateY(-6px); box-shadow:var(--global-shadow-lg); border-color:var(--global-color-primary-light); }
.home-services__card--image{ color:#fbf6ec; }
.home-services__card--image img{ width:100%; height:220px; object-fit:cover; transition:transform .6s var(--global-ease); }
.home-services__card--image:hover img{ transform:scale(1.06); }
.home-services__card--image .home-services__card-body{ background:var(--global-color-primary-dark); }
.home-services__card--image .home-services__num{ color:rgba(251,246,236,.25); }
.home-services__card--image h3{ color:#fbf6ec; }
.home-services__card--image p{ color:rgba(251,246,236,.78); }
.home-services__grid:has(.home-services__card:hover) .home-services__card:not(:hover){ opacity:.55; filter:saturate(.7); }

@media(min-width:720px){ .home-services__grid{ grid-template-columns:repeat(2, 1fr); } }
@media(min-width:1100px){
  .home-services__grid{ grid-template-columns:repeat(3, 1fr); }
  .home-services__card--image{ grid-column:span 1; }
}


.home-process{ background:var(--global-color-bg-alt); padding:var(--global-space-xl) 1.5rem; }
.home-process__header{ max-width:1280px; margin:0 auto 3rem; text-align:center; }
.home-process__eyebrow{ font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--global-color-primary); }
.home-process__grid{
  max-width:1280px; margin:0 auto;
  display:grid; gap:2.4rem;
  grid-template-columns:1fr;
  position:relative;
}
.home-process__step{
  position:relative;
  background:var(--global-color-surface);
  border:1px solid var(--global-color-line);
  border-radius:var(--global-radius-lg);
  padding:2rem 1.8rem;
  transition:transform .4s var(--global-ease), box-shadow .4s var(--global-ease), background .4s var(--global-ease);
}
.home-process__step:hover{ transform:translateY(-6px); box-shadow:var(--global-shadow-lg); }
.home-process__step-number{ font-size:.85rem; font-weight:800; color:var(--global-color-accent-dark); letter-spacing:.05em; margin-bottom:.6rem; }
.home-process__step-icon{
  width:52px; height:52px; border-radius:50%;
  background:var(--global-color-bg-alt);
  display:flex; align-items:center; justify-content:center;
  color:var(--global-color-primary); font-size:1.3rem;
  margin-bottom:1rem;
}
.home-process__step.is-highlighted{ background:var(--global-color-primary-dark); border-color:var(--global-color-primary-dark); }
.home-process__step.is-highlighted h3, .home-process__step.is-highlighted .home-process__step-number{ color:#fbf6ec; }
.home-process__step.is-highlighted p{ color:rgba(251,246,236,.8); }
.home-process__step.is-highlighted .home-process__step-icon{ background:rgba(251,246,236,.15); color:var(--global-color-accent-light); }
.home-process:has(.is-highlighted) .home-process__header{ position:relative; }

@media(min-width:720px){ .home-process__grid{ grid-template-columns:repeat(2, 1fr); } }
@media(min-width:1100px){
  .home-process__grid{ grid-template-columns:repeat(4, 1fr); }
  .home-process__step:not(:last-child)::after{
    content:'';
    position:absolute; top:2.6rem; right:-1.7rem;
    width:1.4rem; height:2px;
    background:var(--global-color-line-strong);
  }
}


.home-audience{ background:var(--global-color-bg); padding:var(--global-space-xl) 1.5rem; }
.home-audience__inner{ max-width:1180px; margin:0 auto; display:grid; gap:2.6rem; align-items:center; }
.home-audience__image img{ border-radius:var(--global-radius-lg); box-shadow:var(--global-shadow-md); width:100%; height:340px; object-fit:cover; }
.home-audience__eyebrow{ font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--global-color-accent-dark); }
.home-audience__link{ display:inline-flex; align-items:center; gap:.5em; font-weight:700; color:var(--global-color-primary-dark); margin-top:.6rem; }
.home-audience__link i{ transition:transform .3s var(--global-ease); }
.home-audience__link:hover i{ transform:translateX(5px); }
.home-audience__link:hover{ color:var(--global-color-accent-dark); }
@media(min-width:960px){ .home-audience__inner{ grid-template-columns:1fr 1fr; } }


.platform-hero{ padding:9rem 1.5rem 3rem; background:var(--global-color-bg); }
.platform-hero__inner{ max-width:820px; margin:0 auto; text-align:center; }
.platform-hero__eyebrow{ font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--global-color-accent-dark); }
.platform-hero__inner p{ font-size:1.1rem; }

.platform-problem{ padding:3rem 1.5rem var(--global-space-lg); }
.platform-problem__inner{ max-width:1180px; margin:0 auto; display:grid; gap:2.4rem; align-items:center; }
.platform-problem__image img{ border-radius:var(--global-radius-lg); box-shadow:var(--global-shadow-md); width:100%; height:320px; object-fit:cover; }
@media(min-width:960px){ .platform-problem__inner{ grid-template-columns:1fr 1fr; } }

.platform-pillars{ background:var(--global-color-bg-alt); padding:var(--global-space-xl) 1.5rem; }
.platform-pillars__header{ max-width:1280px; margin:0 auto 3rem; text-align:center; }
.platform-pillars__eyebrow{ font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--global-color-primary); }
.platform-pillars__list{ max-width:920px; margin:0 auto; display:flex; flex-direction:column; gap:1.6rem; }
.platform-pillars__item{
  display:grid; grid-template-columns:auto 1fr; gap:1.4rem;
  background:var(--global-color-surface); border:1px solid var(--global-color-line);
  border-radius:var(--global-radius-lg); padding:1.8rem;
  transition:transform .4s var(--global-ease), box-shadow .4s var(--global-ease), border-color .4s var(--global-ease);
}
.platform-pillars__item:hover{ transform:translateX(6px); box-shadow:var(--global-shadow-md); border-color:var(--global-color-primary-light); }
.platform-pillars__mark{ font-size:1.6rem; font-weight:800; color:var(--global-color-accent); }

.platform-audience{ padding:var(--global-space-xl) 1.5rem; }
.platform-audience__inner{ max-width:1180px; margin:0 auto; display:grid; gap:2.4rem; align-items:center; }
.platform-audience__image img{ border-radius:var(--global-radius-lg); box-shadow:var(--global-shadow-md); width:100%; height:340px; object-fit:cover; }
.platform-audience__eyebrow{ font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--global-color-accent-dark); }
@media(min-width:960px){ .platform-audience__inner{ grid-template-columns:1fr 1fr; } }


.booking-hero{ padding:9rem 1.5rem 3rem; background:var(--global-color-bg); }
.booking-hero__inner{ max-width:800px; margin:0 auto; text-align:center; }
.booking-hero__eyebrow{ font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--global-color-accent-dark); }

.booking-formats{ padding:2rem 1.5rem var(--global-space-lg); }
.booking-formats__header{ max-width:1280px; margin:0 auto 2.6rem; text-align:center; }
.booking-formats__eyebrow{ font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--global-color-primary); }
.booking-formats__grid{ max-width:1280px; margin:0 auto; display:grid; gap:1.6rem; grid-template-columns:1fr; }
.booking-formats__card{
  background:var(--global-color-surface); border:1px solid var(--global-color-line);
  border-radius:var(--global-radius-lg); padding:2rem;
  transition:transform .4s var(--global-ease), box-shadow .4s var(--global-ease), border-color .4s var(--global-ease);
}
.booking-formats__card:hover{ transform:translateY(-6px); box-shadow:var(--global-shadow-lg); border-color:var(--global-color-primary-light); }
.booking-formats__icon{
  width:54px; height:54px; border-radius:var(--global-radius-md); background:var(--global-color-bg-alt);
  display:flex; align-items:center; justify-content:center; color:var(--global-color-primary); font-size:1.35rem; margin-bottom:1rem;
  transition:background .35s var(--global-ease), color .35s var(--global-ease);
}
.booking-formats__card:hover .booking-formats__icon{ background:var(--global-color-accent); color:#fff8f0; }
.booking-formats__grid:has(.booking-formats__card:hover) .booking-formats__card:not(:hover){ opacity:.6; }
@media(min-width:720px){ .booking-formats__grid{ grid-template-columns:repeat(2, 1fr); } }
@media(min-width:1100px){ .booking-formats__grid{ grid-template-columns:repeat(4, 1fr); } }

.booking-practical{ padding:var(--global-space-xl) 1.5rem; background:var(--global-color-bg-alt); }
.booking-practical__inner{ max-width:1180px; margin:0 auto; display:grid; gap:2.4rem; align-items:center; }
.booking-practical__image img{ border-radius:var(--global-radius-lg); box-shadow:var(--global-shadow-md); width:100%; height:320px; object-fit:cover; }
.booking-practical__eyebrow{ font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--global-color-accent-dark); }
.booking-practical__list{ display:flex; flex-direction:column; gap:.8rem; margin:1.4rem 0; }
.booking-practical__list li{ display:flex; gap:.7em; align-items:flex-start; color:var(--global-color-ink-soft); }
.booking-practical__list i{ color:var(--global-color-accent); margin-top:.3em; }
@media(min-width:960px){ .booking-practical__inner{ grid-template-columns:1fr 1fr; } }

.booking-loyalty{ padding:var(--global-space-xl) 1.5rem; }
.booking-loyalty__inner{ max-width:1180px; margin:0 auto; display:grid; gap:2.4rem; align-items:center; }
.booking-loyalty__eyebrow{ font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--global-color-accent-dark); }
.booking-loyalty__image img{ border-radius:var(--global-radius-lg); box-shadow:var(--global-shadow-md); width:100%; height:320px; object-fit:cover; }
@media(min-width:960px){ .booking-loyalty__inner{ grid-template-columns:1fr 1fr; } }


.farmers-hero{ padding:9rem 1.5rem 3rem; background:var(--global-color-bg); }
.farmers-hero__inner{ max-width:800px; margin:0 auto; text-align:center; }
.farmers-hero__eyebrow{ font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--global-color-accent-dark); }

.farmers-context{ padding:2rem 1.5rem var(--global-space-lg); }
.farmers-context__inner{ max-width:1180px; margin:0 auto; display:grid; gap:2.4rem; align-items:center; }
.farmers-context__image img{ border-radius:var(--global-radius-lg); box-shadow:var(--global-shadow-md); width:100%; height:320px; object-fit:cover; }
.farmers-context__eyebrow{ font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--global-color-primary); }
@media(min-width:960px){ .farmers-context__inner{ grid-template-columns:1fr 1fr; } }

.farmers-approach{ background:var(--global-color-bg-alt); padding:var(--global-space-xl) 1.5rem; }
.farmers-approach__header{ max-width:1280px; margin:0 auto 2.6rem; text-align:center; }
.farmers-approach__eyebrow{ font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--global-color-primary); }
.farmers-approach__grid{ max-width:1280px; margin:0 auto; display:grid; gap:1.6rem; grid-template-columns:1fr; }
.farmers-approach__card{
  background:var(--global-color-surface); border:1px solid var(--global-color-line);
  border-radius:var(--global-radius-lg); padding:2rem;
  transition:transform .4s var(--global-ease), box-shadow .4s var(--global-ease);
}
.farmers-approach__card:hover{ transform:translateY(-6px) rotate(-.5deg); box-shadow:var(--global-shadow-lg); }
.farmers-approach__icon{
  width:52px; height:52px; border-radius:50%; background:var(--global-color-bg-alt);
  display:flex; align-items:center; justify-content:center; color:var(--global-color-primary); font-size:1.3rem; margin-bottom:1rem;
  transition:transform .35s var(--global-ease);
}
.farmers-approach__card:hover .farmers-approach__icon{ transform:scale(1.1); background:var(--global-color-primary); color:#fbf6ec; }
@media(min-width:720px){ .farmers-approach__grid{ grid-template-columns:repeat(2, 1fr); } }
@media(min-width:1100px){ .farmers-approach__grid{ grid-template-columns:repeat(4, 1fr); } }

.farmers-lowseason{ padding:var(--global-space-xl) 1.5rem; }
.farmers-lowseason__inner{ max-width:1180px; margin:0 auto; display:grid; gap:2.4rem; align-items:center; }
.farmers-lowseason__eyebrow{ font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--global-color-accent-dark); }
.farmers-lowseason__image img{ border-radius:var(--global-radius-lg); box-shadow:var(--global-shadow-md); width:100%; height:320px; object-fit:cover; }
@media(min-width:960px){ .farmers-lowseason__inner{ grid-template-columns:1fr 1fr; } }


.contact-hero{ padding:9rem 1.5rem 3rem; background:var(--global-color-bg); }
.contact-hero__inner{ max-width:760px; margin:0 auto; text-align:center; }
.contact-hero__eyebrow{ font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--global-color-accent-dark); }

.contact-info{ padding:1rem 1.5rem 3.5rem; }
.contact-info__grid{ max-width:1180px; margin:0 auto; display:grid; gap:1.4rem; grid-template-columns:1fr; }
.contact-info__card{
  background:var(--global-color-surface); border:1px solid var(--global-color-line);
  border-radius:var(--global-radius-md); padding:1.6rem;
  text-align:center;
  transition:transform .35s var(--global-ease), box-shadow .35s var(--global-ease), background .35s var(--global-ease);
}
.contact-info__card:hover{ transform:translateY(-5px); box-shadow:var(--global-shadow-md); background:var(--global-color-bg-alt); }
.contact-info__icon{ width:48px; height:48px; margin:0 auto .8rem; border-radius:50%; background:var(--global-color-bg-alt); display:flex; align-items:center; justify-content:center; color:var(--global-color-primary); font-size:1.2rem; }
.contact-info__card a{ font-weight:700; color:var(--global-color-primary-dark); }
.contact-info__card a:hover{ color:var(--global-color-accent-dark); }
@media(min-width:720px){ .contact-info__grid{ grid-template-columns:repeat(2, 1fr); } }
@media(min-width:1100px){ .contact-info__grid{ grid-template-columns:repeat(4, 1fr); } }

.contact-form-section{ padding:2rem 1.5rem var(--global-space-xl); background:var(--global-color-bg-alt); }
.contact-form-section__inner{ max-width:1180px; margin:0 auto; display:grid; gap:2.4rem; }
.contact-form-section__form-wrap{
  background:var(--global-color-surface);
  border:1px solid var(--global-color-line);
  border-radius:var(--global-radius-lg);
  padding:2.2rem;
  box-shadow:var(--global-shadow-md);
}
.contact-form-section__steps{ display:flex; align-items:center; gap:.5rem; margin:1.4rem 0 2rem; }
.contact-form-section__step-dot{
  width:34px; height:34px; border-radius:50%;
  background:var(--global-color-bg-alt);
  border:2px solid var(--global-color-line-strong);
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:.9rem; color:var(--global-color-ink-soft);
  transition:all .35s var(--global-ease);
}
.contact-form-section__step-dot.is-active{ background:var(--global-color-accent); border-color:var(--global-color-accent); color:#fff8f0; }
.contact-form-section__step-dot.is-done{ background:var(--global-color-primary); border-color:var(--global-color-primary); color:#fbf6ec; }
.contact-form-section__step-line{ flex:1; height:2px; background:var(--global-color-line-strong); }
.contact-form-section__form{ position:relative; }
.contact-form-section__panel{ display:none; flex-direction:column; gap:1.2rem; animation:none; }
.contact-form-section__panel.is-active{ display:flex; animation:global-slide-in .45s var(--global-ease); }
@keyframes global-slide-in{ from{ opacity:0; transform:translateX(24px); } to{ opacity:1; transform:translateX(0); } }
.contact-form-section__panel label{ display:flex; flex-direction:column; gap:.5rem; font-weight:600; font-size:.92rem; color:var(--global-color-primary-dark); }
.contact-form-section__panel input, .contact-form-section__panel select, .contact-form-section__panel textarea{
  padding:.9em 1.1em;
  border-radius:var(--global-radius-sm);
  border:1.5px solid var(--global-color-line-strong);
  background:var(--global-color-bg);
  color:var(--global-color-ink);
  transition:border-color .3s var(--global-ease), box-shadow .3s var(--global-ease), background .3s var(--global-ease);
}
.contact-form-section__panel input:focus, .contact-form-section__panel select:focus, .contact-form-section__panel textarea:focus{
  outline:none; border-color:var(--global-color-accent); background:var(--global-color-surface);
  box-shadow:0 0 0 4px rgba(207,106,61,.15);
}
.contact-form-section__form:has(:focus){ box-shadow:0 0 0 1px var(--global-color-accent-light) inset; border-radius:var(--global-radius-md); }
.contact-form-section__checkbox{ flex-direction:row !important; align-items:flex-start; gap:.7em !important; font-weight:500 !important; }
.contact-form-section__checkbox input{ width:20px; height:20px; margin-top:.15em; accent-color:var(--global-color-accent); }
.contact-form-section__checkbox a{ color:var(--global-color-accent-dark); font-weight:700; }
.contact-form-section__nav{ display:flex; justify-content:space-between; align-items:center; margin-top:.6rem; }

.contact-form-section__side{ display:flex; flex-direction:column; gap:1.6rem; }
.contact-form-section__note{
  background:var(--global-color-primary-dark);
  color:#fbf6ec;
  padding:1.8rem;
  border-radius:var(--global-radius-lg);
  box-shadow:var(--global-shadow-md);
}
.contact-form-section__note i{ font-size:1.4rem; color:var(--global-color-accent-light); margin-bottom:.6rem; display:block; }
.contact-form-section__note h3{ color:#fbf6ec; }
.contact-form-section__note p{ color:rgba(251,246,236,.8); font-size:.94rem; }
.contact-form-section__image{ border-radius:var(--global-radius-lg); box-shadow:var(--global-shadow-md); width:100%; height:220px; object-fit:cover; }

@media(min-width:960px){ .contact-form-section__inner{ grid-template-columns:1.4fr 1fr; } }

.contact-map{ padding:2rem 1.5rem var(--global-space-xl); }
.contact-map__inner{ max-width:1180px; margin:0 auto; }
.contact-map__frame{ border-radius:var(--global-radius-lg); overflow:hidden; box-shadow:var(--global-shadow-md); border:1px solid var(--global-color-line); }
.contact-map__frame iframe{ width:100%; display:block; }


.legal-hero{ padding:9rem 1.5rem 3rem; background:var(--global-color-primary-dark); color:#fbf6ec; }
.legal-hero__inner{ max-width:800px; margin:0 auto; }
.legal-hero__eyebrow{ font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.85rem; color:var(--global-color-accent-light); }
.legal-hero h1{ color:#fbf6ec; }
.legal-hero p{ color:rgba(251,246,236,.75); }

.legal-body{ padding:var(--global-space-xl) 1.5rem; }
.legal-body__inner{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:2.2rem; }
.legal-body__section h2{ font-size:1.25rem; margin-bottom:.6rem; color:var(--global-color-primary-dark); border-bottom:2px solid var(--global-color-line); padding-bottom:.5rem; }
.legal-body__section p{ font-size:.98rem; }
.legal-body--lettered .legal-body__section h2{ border-bottom-color:var(--global-color-accent-light); }
.legal-body--plain .legal-body__section h2{ border-bottom:none; padding-bottom:0; color:var(--global-color-primary); }


.thanks-main{
  min-height:80vh;
  display:flex; align-items:center; justify-content:center;
  background:var(--global-color-primary-dark);
  color:#fbf6ec;
  padding:9rem 1.5rem 4rem;
  position:relative;
  overflow:hidden;
}
.thanks-main::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 20% 20%, rgba(207,106,61,.3), transparent 50%), radial-gradient(circle at 80% 80%, rgba(51,112,91,.4), transparent 55%);
}
.thanks-main__inner{ position:relative; max-width:640px; text-align:center; }
.thanks-main__icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:76px; height:76px; border-radius:50%;
  background:var(--global-color-accent);
  font-size:1.8rem; margin-bottom:1.6rem;
  box-shadow:var(--global-shadow-lg);
}
.thanks-main__inner h1{ color:#fbf6ec; }
.thanks-main__inner p{ color:rgba(251,246,236,.82); font-size:1.1rem; margin-bottom:2rem; }


@media(max-width:480px){
  .global-header__inner{ padding:.7rem 1rem; }
  .home-hero{ padding:8rem 1rem 3.5rem; }
  .home-hero__badge{ font-size:.72rem; padding:.6em 1em; }
}