:root{
  /* Marka — logodan türetildi (yeşil #0A5A0A, kırmızı #C8503C, açık yeşil #82BE6E) */
  --ink:            #0C2410;
  --ink-2:          #15381B;
  --brand-900:      #063806;
  --brand-800:      #0A5A0A;
  --brand-700:      #0B650D;
  --brand-600:      #10801A;
  --brand-500:      #189B22;
  --brand-300:      #9BD187;
  --brand-200:      #C3E5B6;
  --brand-100:      #DEEFDA;
  --brand-50:       #F2F8F0;

  /* Aksiyon (logo kırmızısı) */
  --cta-800:        #8C2E1F;
  --cta-700:        #A83A28;
  --cta-600:        #C8503C;
  --cta-500:        #DC6851;
  --cta-100:        #FBE7E2;

  /* WhatsApp */
  --wa:             #128C4B;
  --wa-dark:        #0E7440;

  /* Nötrler */
  --white:          #FFFFFF;
  --surface:        #F5F8F3;
  --surface-2:      #E9F0E6;
  --line:           #DCE5D8;
  --line-soft:      #E8EEE5;
  --text:           #16241A;
  --text-2:         #4A5B4E;
  --text-3:         #6F8174;

  /* Anlamsal */
  --success:        #0B650D;
  --danger:         #C0392B;
  --star:           #E0A32B;

  /* Tipografi */
  --font-display: "Poppins", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-body:    "Open Sans", "Segoe UI", system-ui, -apple-system, sans-serif;

  --fs-xs: .8125rem;
  --fs-sm: .9375rem;
  --fs-base: 1rem;
  --fs-md: 1.0625rem;
  --fs-lg: 1.25rem;
  --fs-xl: 1.5rem;
  --fs-2xl: 1.875rem;
  --fs-3xl: 2.25rem;
  --fs-4xl: 2.75rem;

  /* Boşluk */
  --space-1: 4px;   --space-2: 8px;   --space-3: 12px;  --space-4: 16px;
  --space-5: 24px;  --space-6: 32px;  --space-7: 48px;  --space-8: 64px;
  --space-9: 80px;  --space-10: 104px;

  /* Köşe */
  --r-sm: 8px; --r-md: 12px; --r-lg: 18px; --r-xl: 26px; --r-full: 999px;

  /* Gölge */
  --sh-1: 0 1px 2px rgba(12,36,16,.06), 0 1px 3px rgba(12,36,16,.05);
  --sh-2: 0 4px 12px rgba(12,36,16,.07), 0 2px 4px rgba(12,36,16,.05);
  --sh-3: 0 12px 30px rgba(12,36,16,.10), 0 4px 10px rgba(12,36,16,.06);
  --sh-4: 0 24px 60px rgba(9,28,13,.18), 0 8px 20px rgba(9,28,13,.08);
  --sh-brand: 0 10px 24px rgba(168,58,40,.26);

  /* Layout */
  --wrap: 1200px;
  --gutter: 20px;
  --header-h: 72px;

  /* Motion */
  --ease: cubic-bezier(.4,0,.2,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
  --t-fast: .16s; --t-mid: .26s; --t-slow: .42s;

  /* Z-scale */
  --z-sticky: 40; --z-header: 90; --z-scrim: 99; --z-drawer: 100; --z-top: 1000;
}

@media (max-width: 419px){ :root{ --fs-4xl: 2.25rem; --fs-3xl: 1.875rem; } }
@media (min-width: 768px){ :root{ --gutter: 32px; --header-h: 80px; } }
@media (min-width: 1024px){
  :root{ --fs-2xl: 2rem; --fs-3xl: 2.625rem; --fs-4xl: 3.5rem; --header-h: 88px; }
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 16px); }
body{
  margin:0; background:var(--white); color:var(--text);
  font-family:var(--font-body); font-size:var(--fs-base); line-height:1.7;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img,svg,video{ max-width:100%; height:auto; display:block; }
img{ background:var(--surface-2); }
h1,h2,h3,h4,h5{ font-family:var(--font-display); color:var(--ink); margin:0 0 var(--space-3); line-height:1.22; font-weight:700; letter-spacing:-.015em; text-wrap:balance; }
h1{ font-size:var(--fs-4xl); letter-spacing:-.028em; }
h2{ font-size:var(--fs-3xl); letter-spacing:-.022em; }
h3{ font-size:var(--fs-xl); }
h4{ font-size:var(--fs-md); }
p{ margin:0 0 var(--space-4); color:var(--text-2); }
a{ color:var(--brand-600); text-decoration:none; transition:color var(--t-fast) var(--ease); }
a:hover{ color:var(--brand-800); }
ul,ol{ margin:0 0 var(--space-4); padding-left:1.15rem; color:var(--text-2); }
li{ margin-bottom:var(--space-2); }
strong{ color:var(--text); font-weight:600; }
button{ font:inherit; cursor:pointer; }
hr{ border:0; border-top:1px solid var(--line); margin:var(--space-6) 0; }
:focus-visible{ outline:3px solid var(--brand-500); outline-offset:2px; border-radius:4px; }
::selection{ background:var(--brand-500); color:#fff; }

/* ---------- 3. Layout ---------- */
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gutter); }
.wrap-narrow{ max-width:820px; }
.section{ padding-block:var(--space-8); }
@media (min-width:768px){ .section{ padding-block:var(--space-9); } }
@media (min-width:1024px){ .section{ padding-block:var(--space-10); } }
.section--tight{ padding-block:var(--space-7); }
.section--surface{ background:var(--surface); }
.section--ink{ background:var(--ink); color:#CFDDC9; }
.section--ink h2,.section--ink h3{ color:#fff; }
.section--ink p{ color:#B6C7AF; }

.grid{ display:grid; gap:var(--space-5); }
.g-2{ grid-template-columns:1fr; }
.g-3{ grid-template-columns:1fr; }
.g-4{ grid-template-columns:repeat(2,1fr); }
@media (min-width:640px){ .g-2{ grid-template-columns:repeat(2,1fr);} .g-3{ grid-template-columns:repeat(2,1fr);} }
@media (min-width:1024px){ .g-3{ grid-template-columns:repeat(3,1fr);} .g-4{ grid-template-columns:repeat(4,1fr);} }

/* ---------- 4. Typography helpers ---------- */
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-display); font-size:var(--fs-xs); font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--brand-600);
  margin-bottom:var(--space-3);
}
.eyebrow::before{ content:""; width:22px; height:2px; background:var(--brand-500); border-radius:2px; }
.section--ink .eyebrow{ color:var(--brand-300); }
.section--ink .eyebrow::before{ background:var(--brand-300); }
.lead{ font-size:var(--fs-md); color:var(--text-2); }
.sec-head{ max-width:720px; margin-bottom:var(--space-7); }
.sec-head--center{ margin-inline:auto; text-align:center; }
.sec-head p:last-child{ margin-bottom:0; }

/* ---------- 5. Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:50px; padding:0 24px; border-radius:var(--r-full); border:1.5px solid transparent;
  font-family:var(--font-display); font-size:var(--fs-sm); font-weight:600; line-height:1;
  text-align:center; cursor:pointer; touch-action:manipulation;
  transition:background var(--t-mid) var(--ease), color var(--t-mid) var(--ease),
             border-color var(--t-mid) var(--ease), box-shadow var(--t-mid) var(--ease),
             transform var(--t-fast) var(--ease);
}
.btn svg{ width:18px; height:18px; flex:none; }
.btn:active{ transform:translateY(1px); }
.btn--primary{ background:var(--cta-700); color:#fff; box-shadow:var(--sh-brand); }
.btn--primary:hover{ background:var(--cta-800); color:#fff; box-shadow:0 16px 34px rgba(168,58,40,.32); }
.btn--accent{ background:var(--wa); color:#fff; box-shadow:0 10px 24px rgba(18,140,75,.28); }
.btn--accent:hover{ background:var(--wa-dark); color:#fff; }
.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn--ghost:hover{ background:var(--brand-50); border-color:var(--brand-500); color:var(--brand-800); }
.btn--light{ background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.34); }
.btn--light:hover{ background:#fff; color:var(--brand-800); border-color:#fff; }
.btn--white{ background:#fff; color:var(--brand-800); }
.btn--white:hover{ background:var(--brand-50); color:var(--brand-900); }
.btn--block{ width:100%; }
.btn-row{ display:flex; flex-wrap:wrap; gap:var(--space-3); }

.link-arrow{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--font-display);
  font-weight:600; font-size:var(--fs-sm); color:var(--brand-600);
}
.link-arrow svg{ width:16px; height:16px; transition:transform var(--t-mid) var(--ease); }
.link-arrow:hover svg{ transform:translateX(4px); }

/* ---------- 6. Header ---------- */
.topbar{
  background:var(--ink); color:#C2D2BC; font-size:var(--fs-xs);
  border-bottom:1px solid rgba(255,255,255,.07); display:none;
}
@media (min-width:1024px){ .topbar{ display:block; } }
.topbar__in{ display:flex; align-items:center; justify-content:space-between; gap:var(--space-5); min-height:42px; }
.topbar__list{ display:flex; align-items:center; gap:var(--space-5); list-style:none; margin:0; padding:0; }
.topbar__list li{ margin:0; display:flex; align-items:center; gap:7px; white-space:nowrap; }
.topbar__list svg{ width:15px; height:15px; color:var(--brand-300); flex:none; }
.topbar a{ color:#DDE9D9; }
.topbar a:hover{ color:#fff; }
.topbar__socials{ display:flex; gap:6px; }
.topbar__socials a{
  width:28px; height:28px; display:grid; place-items:center; border-radius:var(--r-full);
  background:rgba(255,255,255,.08); transition:background var(--t-fast) var(--ease);
}
.topbar__socials a:hover{ background:var(--brand-500); }
.topbar__socials svg{ width:14px; height:14px; }

.site-header{
  position:sticky; top:0; z-index:var(--z-header); background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(14px); -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line-soft);
  transition:box-shadow var(--t-mid) var(--ease), background var(--t-mid) var(--ease);
}
.site-header.is-stuck{ box-shadow:var(--sh-2); background:rgba(255,255,255,.97); }
.header__in{ display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); min-height:var(--header-h); flex-wrap:nowrap; }

.brand{ display:inline-flex; align-items:center; flex:none; line-height:0; }
.brand__logo{ height:42px; width:auto; background:none; }
@media (min-width:400px){ .brand__logo{ height:48px; } }
@media (min-width:1024px){ .brand__logo{ height:64px; } }
.drawer__head .brand__logo{ height:46px; }
.footer .brand__logo{ height:62px; margin-bottom:2px; }

.nav-desktop{ display:none; }
@media (min-width:1024px){
  .nav-desktop{ display:flex; align-items:center; gap:2px; }
  .nav-desktop > li{ position:relative; margin:0; list-style:none; }
  .nav-desktop{ list-style:none; margin:0; padding:0; }
  .nav-desktop > li > a{
    display:flex; align-items:center; gap:5px; padding:10px 11px; border-radius:var(--r-full);
    white-space:nowrap;
    font-family:var(--font-display); font-weight:500; font-size:var(--fs-sm); color:var(--ink-2);
    transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
  }
  .nav-desktop > li > a:hover{ background:var(--brand-50); color:var(--brand-800); }
  .nav-desktop > li > a[aria-current="page"]{ color:var(--brand-700); font-weight:600; background:var(--brand-50); }
  .nav-desktop .caret{ width:14px; height:14px; transition:transform var(--t-fast) var(--ease); }
  .nav-desktop li:hover .caret{ transform:rotate(180deg); }
  .submenu{
    position:absolute; top:calc(100% + 10px); left:0; min-width:288px; padding:10px;
    background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-lg); box-shadow:var(--sh-4);
    list-style:none; margin:0; opacity:0; visibility:hidden; transform:translateY(8px);
    transition:opacity var(--t-mid) var(--ease), transform var(--t-mid) var(--ease), visibility var(--t-mid);
  }
  .nav-desktop li:hover .submenu, .nav-desktop li:focus-within .submenu{ opacity:1; visibility:visible; transform:translateY(0); }
  .submenu li{ margin:0; }
  .submenu a{
    display:block; padding:9px 13px; border-radius:var(--r-sm); font-size:var(--fs-sm);
    color:var(--text-2); font-weight:500;
  }
  .submenu a:hover{ background:var(--brand-50); color:var(--brand-800); }
}
.header__cta{ display:none; }
@media (min-width:1024px){ .header__cta{ display:flex; align-items:center; gap:var(--space-3); } }
.header__phone{ display:none; align-items:center; gap:9px; }
@media (min-width:1320px){ .header__phone{ display:flex; } .nav-desktop > li > a{ padding:10px 14px; } }
.header__phone svg{ width:34px; height:34px; padding:8px; border-radius:var(--r-full); background:var(--brand-100); color:var(--brand-700); flex:none; }
.header__phone span{ display:block; font-size:.6875rem; color:var(--text-3); line-height:1.2; text-transform:uppercase; letter-spacing:.08em; font-weight:600; }
.header__phone b{ font-family:var(--font-display); font-size:var(--fs-sm); color:var(--ink); letter-spacing:-.01em; white-space:nowrap; }
.header__phone span{ white-space:nowrap; }

/* Burger */
.burger{
  width:48px; height:48px; display:grid; place-items:center; gap:0;
  background:var(--brand-50); border:1px solid var(--line); border-radius:14px;
  color:var(--brand-800); flex:none; touch-action:manipulation;
  transition:background var(--t-fast) var(--ease);
}
.burger:hover{ background:var(--brand-100); }
.burger span{ display:block; width:20px; height:2px; background:currentColor; border-radius:2px; grid-area:1/1;
  transition:transform var(--t-mid) var(--ease), opacity var(--t-fast) var(--ease); }
.burger span:nth-child(1){ transform:translateY(-6px); }
.burger span:nth-child(3){ transform:translateY(6px); }
body.nav-open .burger span:nth-child(1){ transform:rotate(45deg); }
body.nav-open .burger span:nth-child(2){ opacity:0; }
body.nav-open .burger span:nth-child(3){ transform:rotate(-45deg); }
@media (min-width:1024px){ .burger{ display:none; } }

/* ---------- 7. Off-canvas drawer (side-to-side) ---------- */
.nav-scrim{
  position:fixed; inset:0; background:rgba(8,26,12,.60); z-index:var(--z-scrim);
  opacity:0; visibility:hidden; transition:opacity var(--t-slow) var(--ease), visibility var(--t-slow);
  -webkit-tap-highlight-color:transparent;
}
body.nav-open .nav-scrim{ opacity:1; visibility:visible; }

.drawer{
  position:fixed; top:0; right:0; bottom:0; width:min(89vw,392px); z-index:var(--z-drawer);
  background:#fff; display:flex; flex-direction:column;
  transform:translateX(102%); will-change:transform;
  transition:transform var(--t-slow) var(--ease-out);
  box-shadow:-24px 0 60px rgba(8,26,12,.26);
  overscroll-behavior:contain;
}
body.nav-open .drawer{ transform:translateX(0); }
.drawer__head{
  display:flex; align-items:center; justify-content:space-between; gap:var(--space-4);
  padding:14px var(--space-5); border-bottom:1px solid var(--line-soft); flex:none;
  padding-top:max(14px, env(safe-area-inset-top));
}
.drawer__close{
  width:44px; height:44px; display:grid; place-items:center; flex:none;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-full); color:var(--ink);
  transition:background var(--t-fast) var(--ease);
}
.drawer__close:hover{ background:var(--surface-2); }
.drawer__close svg{ width:20px; height:20px; }
.drawer__body{ flex:1; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:var(--space-4) var(--space-5) var(--space-6); }
.drawer__nav{ list-style:none; margin:0 0 var(--space-5); padding:0; }
.drawer__nav > li{ margin:0; border-bottom:1px solid var(--line-soft); }
.drawer__nav > li > a{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  min-height:54px; padding:12px 4px; font-family:var(--font-display); font-weight:500;
  font-size:1.0625rem; color:var(--ink);
}
.drawer__nav > li > a[aria-current="page"]{ color:var(--brand-600); font-weight:600; }
.drawer__nav > li > a svg{ width:16px; height:16px; color:var(--text-3); }
.sub-toggle{
  display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%;
  min-height:54px; padding:12px 4px; background:none; border:0; text-align:left;
  font-family:var(--font-display); font-weight:500; font-size:1.0625rem; color:var(--ink);
}
.sub-toggle svg{ width:18px; height:18px; color:var(--text-3); transition:transform var(--t-mid) var(--ease); flex:none; }
.sub-toggle[aria-expanded="true"]{ color:var(--brand-700); }
.sub-toggle[aria-expanded="true"] svg{ transform:rotate(180deg); color:var(--brand-600); }
.drawer__sub{
  list-style:none; margin:0; padding:0 0 0 12px; overflow:hidden;
  max-height:0; transition:max-height var(--t-slow) var(--ease);
  border-left:2px solid var(--brand-100);
}
.drawer__sub.is-open{ max-height:760px; }
.drawer__sub li{ margin:0; }
.drawer__sub a{
  display:block; min-height:46px; padding:11px 14px; font-size:var(--fs-sm);
  color:var(--text-2); font-weight:500;
}
.drawer__sub a:hover,.drawer__sub a[aria-current="page"]{ color:var(--brand-700); }
.drawer__sub li:last-child a{ padding-bottom:16px; }
.drawer__contact{ background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-lg); padding:var(--space-5); }
.drawer__contact p{ font-size:var(--fs-sm); margin-bottom:var(--space-3); }
.drawer__contact .btn{ margin-bottom:10px; }
.drawer__socials{ display:flex; gap:10px; margin-top:var(--space-4); }
.drawer__socials a{
  width:42px; height:42px; display:grid; place-items:center; border-radius:var(--r-full);
  background:#fff; border:1px solid var(--line); color:var(--brand-800);
  transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
.drawer__socials a:hover{ background:var(--brand-600); color:#fff; border-color:var(--brand-600); }
.drawer__socials svg{ width:18px; height:18px; }

/* ---------- 8. Hero slider ---------- */
.hero{ position:relative; overflow:hidden; background:var(--ink); color:#fff; isolation:isolate; }
.hero__track{ display:grid; }
.hero__slide{
  grid-area:1/1; position:relative; display:flex; align-items:center;
  min-height:600px; opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .7s var(--ease), visibility .7s;
}
@media (min-width:768px){ .hero__slide{ min-height:640px; } }
@media (min-width:1024px){ .hero__slide{ min-height:min(88vh,760px); } }
.hero__slide.is-active{ opacity:1; visibility:visible; pointer-events:auto; }

.hero__bg{ position:absolute; inset:0; overflow:hidden; z-index:0; }
.hero__bg img{ width:100%; height:100%; object-fit:cover; object-position:center 42%; transform:scale(1.04); }
.hero__slide.is-active .hero__bg img{ animation:heroZoom 11s var(--ease-out) forwards; }
@keyframes heroZoom{ from{ transform:scale(1.04); } to{ transform:scale(1.14); } }
.hero__bg::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(96deg, rgba(5,16,8,.93) 0%, rgba(6,23,10,.84) 32%, rgba(8,36,14,.46) 62%, rgba(10,52,18,.14) 100%),
    linear-gradient(180deg, rgba(5,16,8,.42) 0%, transparent 30%, rgba(5,16,8,.74) 100%);
}
@media (max-width:767px){
  .hero__bg::after{
    background:linear-gradient(180deg, rgba(5,16,8,.55) 0%, rgba(6,24,11,.76) 38%, rgba(5,16,8,.93) 100%);
  }
  .hero__slide{ min-height:560px; }
  .hero__inner{ padding-block:var(--space-6) 84px; }
  .hero__checks{ gap:9px; margin-bottom:var(--space-5); }
  .hero__checks li:nth-child(n+4){ display:none; }
  .hero p{ font-size:var(--fs-base); }
}
.hero::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.35;
  background-image:radial-gradient(rgba(255,255,255,.16) 1px, transparent 1px); background-size:28px 28px;
  -webkit-mask-image:linear-gradient(115deg,rgba(0,0,0,.9),transparent 58%);
  mask-image:linear-gradient(115deg,rgba(0,0,0,.9),transparent 58%);
}

.hero__inner{ position:relative; z-index:2; width:100%; padding-block:var(--space-7) 96px; }
@media (min-width:768px){ .hero__inner{ padding-block:var(--space-8) 120px; } }
.hero__content{ max-width:660px; }
.hero__content > *{ opacity:0; transform:translateY(26px); }
.hero__slide.is-active .hero__content > *{ animation:heroIn .78s var(--ease-out) forwards; }
.hero__slide.is-active .hero__content > *:nth-child(1){ animation-delay:.10s; }
.hero__slide.is-active .hero__content > *:nth-child(2){ animation-delay:.20s; }
.hero__slide.is-active .hero__content > *:nth-child(3){ animation-delay:.30s; }
.hero__slide.is-active .hero__content > *:nth-child(4){ animation-delay:.40s; }
.hero__slide.is-active .hero__content > *:nth-child(5){ animation-delay:.50s; }
@keyframes heroIn{ to{ opacity:1; transform:none; } }

.hero h1,.hero .hero__h{
  color:#fff; margin:0 0 var(--space-4); font-family:var(--font-display); font-weight:700;
  font-size:var(--fs-4xl); line-height:1.12; letter-spacing:-.03em; text-wrap:balance;
}
.hero h1 em,.hero .hero__h em{ font-style:normal; color:#CDEBC0; display:block; }
.hero p{ color:#D5E5CE; font-size:var(--fs-md); max-width:54ch; }
.hero .eyebrow{ color:#CDEBC0; }
.hero .eyebrow::before{ background:var(--brand-300); }

.badge-pill{
  display:inline-flex; align-items:center; gap:9px; padding:7px 16px 7px 8px; border-radius:var(--r-full);
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.22);
  font-size:var(--fs-xs); font-weight:600; color:#E7F3E2; margin:0 0 var(--space-5);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.badge-pill i{ width:22px; height:22px; display:grid; place-items:center; border-radius:var(--r-full); background:var(--brand-700); flex:none; }
.badge-pill svg{ width:13px; height:13px; color:#fff; }

.hero__checks{ list-style:none; padding:0; margin:0 0 var(--space-6); display:grid; gap:11px; }
@media (min-width:560px){ .hero__checks{ grid-template-columns:repeat(2,1fr); column-gap:var(--space-5); } }
.hero__checks li{ display:flex; align-items:center; gap:10px; margin:0; color:#E2EFDC; font-size:var(--fs-sm); font-weight:500; }
.hero__checks svg{ width:20px; height:20px; color:var(--brand-300); flex:none; }

/* Slider UI */
.hero__ui{
  position:absolute; left:0; right:0; bottom:0; z-index:3;
  padding-bottom:var(--space-6);
  display:flex; align-items:center; gap:var(--space-4); flex-wrap:wrap;
}
@media (min-width:768px){ .hero__ui{ padding-bottom:var(--space-6); } }
@media (min-width:1024px){ .hero__ui{ padding-right:calc(var(--gutter) + 72px); } }
.hero__dots{ display:flex; align-items:center; gap:10px; }
.hero__dot{
  position:relative; width:44px; height:44px; padding:0; border:0; background:none;
  display:grid; place-items:center; cursor:pointer; touch-action:manipulation;
}
.hero__dot::before{
  content:""; width:30px; height:4px; border-radius:var(--r-full);
  background:rgba(255,255,255,.32); transition:background var(--t-mid) var(--ease), width var(--t-mid) var(--ease);
}
.hero__dot:hover::before{ background:rgba(255,255,255,.6); }
.hero__dot[aria-selected="true"]::before{ background:#CDEBC0; width:46px; }
.hero__count{
  font-family:var(--font-display); font-size:var(--fs-xs); color:rgba(255,255,255,.62);
  letter-spacing:.1em; font-variant-numeric:tabular-nums; margin-inline-start:2px;
}
.hero__count b{ color:#fff; font-size:var(--fs-sm); }
.hero__arrows{ display:flex; gap:8px; margin-inline-start:auto; }
.hero__btn{
  width:46px; height:46px; display:grid; place-items:center; border-radius:var(--r-full);
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.26); color:#fff;
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); cursor:pointer; touch-action:manipulation;
  transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
.hero__btn:hover{ background:#fff; color:var(--brand-800); border-color:#fff; }
.hero__btn:active{ transform:scale(.94); }
.hero__btn svg{ width:19px; height:19px; }
.hero__btn .ico-pause{ display:block; }
.hero__btn .ico-play{ display:none; }
.hero__btn.is-paused .ico-pause{ display:none; }
.hero__btn.is-paused .ico-play{ display:block; }
@media (max-width:479px){ .hero__arrows .hero__btn--prev{ display:none; } }

.hero__progress{ position:absolute; left:0; right:0; bottom:0; height:3px; background:rgba(255,255,255,.14); z-index:3; }
.hero__progress span{
  display:block; height:100%; width:100%; transform-origin:0 50%; transform:scaleX(0);
  background:linear-gradient(90deg,var(--brand-500),var(--brand-300));
}
.hero__progress span.is-running{ transform:scaleX(1); transition:transform var(--hero-dur,6500ms) linear; }

/* Floating trust card */
.hero__float{
  position:absolute; right:var(--gutter); bottom:104px; z-index:3;
  display:none; align-items:center; gap:13px;
  background:rgba(255,255,255,.96); border-radius:var(--r-lg); padding:14px 20px 14px 14px;
  box-shadow:var(--sh-4); backdrop-filter:blur(10px);
}
@media (min-width:1100px){ .hero__float{ display:flex; } }
.hero__float i{ width:46px; height:46px; display:grid; place-items:center; border-radius:14px; background:var(--brand-100); color:var(--brand-700); flex:none; }
.hero__float svg{ width:23px; height:23px; }
.hero__float b{ display:block; font-family:var(--font-display); font-size:1.35rem; color:var(--ink); line-height:1.1; }
.hero__float span{ font-size:var(--fs-xs); color:var(--text-3); }

@media (prefers-reduced-motion:reduce){
  .hero__slide.is-active .hero__bg img{ animation:none; transform:scale(1.04); }
  .hero__content > *{ opacity:1; transform:none; }
  .hero__slide.is-active .hero__content > *{ animation:none; }
  .hero__progress span{ transition:none; }
}

/* Stat strip */
.statstrip{ position:relative; z-index:2; padding-top:var(--space-7); }
.statstrip__in{
  background:#fff; border-radius:var(--r-xl); box-shadow:var(--sh-3); border:1px solid var(--line-soft);
  display:grid; grid-template-columns:repeat(2,1fr); overflow:hidden;
}
@media (min-width:900px){ .statstrip__in{ grid-template-columns:repeat(4,1fr); } }
.stat{ padding:var(--space-5) var(--space-4); text-align:center; border-bottom:1px solid var(--line-soft); }
.stat:nth-child(2n){ border-left:1px solid var(--line-soft); }
@media (min-width:900px){
  .stat{ border-bottom:0; border-left:1px solid var(--line-soft); }
  .stat:first-child{ border-left:0; }
  .stat:nth-child(2n){ border-left:1px solid var(--line-soft); }
}
.stat b{
  display:block; font-family:var(--font-display); font-size:2.1rem; font-weight:700;
  color:var(--brand-700); line-height:1; letter-spacing:-.03em; font-variant-numeric:tabular-nums;
}
.stat span{ display:block; margin-top:7px; font-size:var(--fs-xs); color:var(--text-3); font-weight:600; letter-spacing:.03em; }

/* ---------- 9. Page hero (inner pages) ---------- */
.page-hero{
  position:relative; overflow:hidden; color:#fff; padding-block:var(--space-7) var(--space-7);
  background:linear-gradient(150deg,#08260C 0%,#0B4A11 62%,#12801C 150%);
}
.page-hero::after{
  content:""; position:absolute; inset:0; opacity:.42; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.15) 1px, transparent 1px); background-size:24px 24px;
}
@media (min-width:768px){ .page-hero{ padding-block:var(--space-8); } }
.page-hero__in{ position:relative; z-index:1; max-width:780px; }
.page-hero h1{ color:#fff; margin-bottom:var(--space-3); }
.page-hero p{ color:#C8DAC2; font-size:var(--fs-md); margin-bottom:0; }
.crumbs{ display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:0 0 var(--space-4); padding:0; font-size:var(--fs-xs); }
.crumbs li{ margin:0; color:#9DB396; display:flex; align-items:center; gap:6px; }
.crumbs li+li::before{ content:"/"; color:#6D8567; }
.crumbs a{ color:#D3E5CD; }
.crumbs a:hover{ color:#fff; }

/* ---------- 10. Cards ---------- */
.card{
  background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-lg);
  overflow:hidden; display:flex; flex-direction:column; height:100%;
  transition:transform var(--t-mid) var(--ease), box-shadow var(--t-mid) var(--ease), border-color var(--t-mid) var(--ease);
}
.card:hover{ transform:translateY(-5px); box-shadow:var(--sh-3); border-color:var(--brand-100); }
.card__media{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--surface-2); }
.card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.card:hover .card__media img{ transform:scale(1.06); }
.card__icon{
  position:absolute; left:16px; bottom:14px; width:52px; height:52px; border-radius:16px;
  background:#fff; display:grid; place-items:center; box-shadow:var(--sh-2); color:var(--brand-600);
}
.card__icon svg{ width:25px; height:25px; }
.card__body{ padding:var(--space-5); flex:1; display:flex; flex-direction:column; }
.card__body h3{ font-size:var(--fs-lg); margin-bottom:10px; }
.card__body h3 a{ color:inherit; }
.card__body h3 a:hover{ color:var(--brand-600); }
.card__body p{ font-size:var(--fs-sm); flex:1; }
.card__body .link-arrow{ margin-top:var(--space-2); }

/* Feature tile */
.tile{
  background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-lg); padding:var(--space-5);
  height:100%; transition:transform var(--t-mid) var(--ease), box-shadow var(--t-mid) var(--ease);
}
.tile:hover{ transform:translateY(-4px); box-shadow:var(--sh-2); }
.tile__icon{
  width:52px; height:52px; border-radius:15px; display:grid; place-items:center; margin-bottom:var(--space-4);
  background:var(--brand-50); color:var(--brand-600);
}
.tile__icon svg{ width:25px; height:25px; }
.tile h3{ font-size:var(--fs-md); margin-bottom:8px; }
.tile p{ font-size:var(--fs-sm); margin-bottom:0; }
.tile--mint .tile__icon{ background:var(--cta-100); color:var(--cta-700); }
.section--ink .tile{ background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.1); }
.section--ink .tile__icon{ background:rgba(155,209,135,.16); color:var(--brand-300); }

/* Split media */
.split{ display:grid; gap:var(--space-6); align-items:center; }
@media (min-width:900px){ .split{ grid-template-columns:1fr 1fr; gap:var(--space-8); } .split--rev .split__media{ order:2; } }
.split__media{ position:relative; }
.split__media img{ width:100%; border-radius:var(--r-xl); box-shadow:var(--sh-3); aspect-ratio:4/3; object-fit:cover; }
.split__media--stack{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3); }
.split__media--stack img:first-child{ aspect-ratio:3/4; grid-row:span 2; }
.split__media--stack img:last-child{ aspect-ratio:4/3; align-self:end; }
.split__badge{
  position:absolute; right:-10px; bottom:-18px; background:var(--brand-700); color:#fff;
  border-radius:var(--r-lg); padding:16px 22px; box-shadow:var(--sh-4); text-align:center;
}
.split__badge b{ display:block; font-family:var(--font-display); font-size:1.75rem; line-height:1; }
.split__badge span{ font-size:var(--fs-xs); opacity:.85; }

/* Check list */
.checklist{ list-style:none; padding:0; margin:0 0 var(--space-5); display:grid; gap:12px; }
.checklist li{ display:flex; gap:12px; margin:0; font-size:var(--fs-sm); color:var(--text-2); }
.checklist svg{ width:21px; height:21px; color:var(--brand-700); flex:none; margin-top:2px; }
.checklist strong{ display:block; color:var(--text); font-weight:600; margin-bottom:1px; }
.section--ink .checklist li{ color:#BFD3B9; }
.section--ink .checklist strong{ color:#fff; }

/* Process steps */
.steps{ display:grid; gap:var(--space-5); counter-reset:step; }
@media (min-width:640px){ .steps{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .steps{ grid-template-columns:repeat(4,1fr); } }
.step{ position:relative; padding-top:var(--space-5); }
.step::before{
  counter-increment:step; content:"0" counter(step);
  font-family:var(--font-display); font-size:2.6rem; font-weight:700; line-height:1;
  color:var(--brand-100); display:block; margin-bottom:10px; letter-spacing:-.04em;
}
.step h3{ font-size:var(--fs-md); margin-bottom:7px; }
.step p{ font-size:var(--fs-sm); margin-bottom:0; }
.section--ink .step::before{ color:rgba(155,209,135,.30); }

/* Districts */
.chips{ display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:0; }
.chips li{ margin:0; }
.chips a,.chips span{
  display:inline-flex; align-items:center; gap:7px; min-height:44px; padding:0 18px; border-radius:var(--r-full);
  background:#fff; border:1px solid var(--line); font-size:var(--fs-sm); font-weight:500; color:var(--text-2);
  transition:all var(--t-fast) var(--ease);
}
.chips a:hover{ background:var(--brand-600); border-color:var(--brand-600); color:#fff; }
.chips svg{ width:15px; height:15px; color:var(--brand-500); }
.chips a:hover svg{ color:#fff; }
.section--ink .chips a,.section--ink .chips span{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.14); color:#CFDDC9; }

/* Testimonials */
.quote{
  background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-lg); padding:var(--space-5);
  height:100%; display:flex; flex-direction:column;
}
.quote__stars{ display:flex; gap:3px; margin-bottom:var(--space-3); color:var(--star); }
.quote__stars svg{ width:17px; height:17px; }
.quote p{ font-size:var(--fs-sm); flex:1; }
.quote__who{ display:flex; align-items:center; gap:12px; margin-top:var(--space-3); padding-top:var(--space-4); border-top:1px solid var(--line-soft); }
.quote__av{
  width:42px; height:42px; border-radius:var(--r-full); background:var(--brand-100); color:var(--brand-800);
  display:grid; place-items:center; font-family:var(--font-display); font-weight:700; font-size:var(--fs-sm); flex:none;
}
.quote__who b{ display:block; font-size:var(--fs-sm); color:var(--ink); font-family:var(--font-display); }
.quote__who span{ font-size:var(--fs-xs); color:var(--text-3); }

/* Logos */
.logos{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); border-radius:var(--r-lg); overflow:hidden; }
@media (min-width:640px){ .logos{ grid-template-columns:repeat(4,1fr); } }
.logos figure{
  margin:0; background:#fff; min-height:124px; display:grid; place-items:center; gap:8px;
  padding:var(--space-4) var(--space-3); text-align:center;
  transition:background var(--t-fast) var(--ease);
}
.logos figure:hover{ background:var(--brand-50); }
.logos img{
  max-height:58px; width:auto; max-width:100%; object-fit:contain; background:none;
  filter:grayscale(1); opacity:.72;
  transition:filter var(--t-mid) var(--ease), opacity var(--t-mid) var(--ease), transform var(--t-mid) var(--ease);
}
.logos figure:hover img{ filter:none; opacity:1; transform:scale(1.04); }
.logos figcaption{
  font-family:var(--font-display); font-weight:600; font-size:var(--fs-xs); color:var(--text-3);
  letter-spacing:.02em; line-height:1.3;
}
.logos figure:hover figcaption{ color:var(--brand-700); }
.logos .logo-word{
  font-family:var(--font-display); font-weight:700; font-size:1.0625rem; color:var(--text-2);
  letter-spacing:-.01em; line-height:1.2;
}
.logos figure:hover .logo-word{ color:var(--brand-700); }
@media (max-width:639px){ .logos img{ max-height:46px; } .logos figure{ min-height:106px; } }

/* Gallery */
.gallery{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-3); }
@media (min-width:768px){ .gallery{ grid-template-columns:repeat(3,1fr); gap:var(--space-4); } }
@media (min-width:1024px){ .gallery{ grid-template-columns:repeat(4,1fr); } }
.gallery figure{ margin:0; border-radius:var(--r-md); overflow:hidden; background:var(--surface-2); position:relative; }
.gallery img{ width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .6s var(--ease); }
.gallery figure:hover img{ transform:scale(1.07); }
.gallery figcaption{
  position:absolute; inset:auto 0 0 0; padding:26px 14px 12px; font-size:var(--fs-xs); color:#fff; font-weight:600;
  background:linear-gradient(transparent,rgba(8,26,12,.84));
}

/* FAQ */
.faq{ border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; background:#fff; }
.faq__item+.faq__item{ border-top:1px solid var(--line-soft); }
.faq__q{
  display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-4); width:100%;
  padding:var(--space-4) var(--space-5); background:none; border:0; text-align:left;
  font-family:var(--font-display); font-weight:600; font-size:var(--fs-md); color:var(--ink);
  min-height:60px; transition:background var(--t-fast) var(--ease);
}
.faq__q:hover{ background:var(--brand-50); }
.faq__q svg{ width:22px; height:22px; color:var(--brand-600); flex:none; margin-top:2px; transition:transform var(--t-mid) var(--ease); }
.faq__q[aria-expanded="true"] svg{ transform:rotate(45deg); }
.faq__a{ max-height:0; overflow:hidden; transition:max-height var(--t-slow) var(--ease); }
.faq__a > div{ padding:0 var(--space-5) var(--space-5); }
.faq__a p:last-child{ margin-bottom:0; }
.faq__a{ font-size:var(--fs-sm); }

/* CTA band */
.cta-band{
  position:relative; overflow:hidden; border-radius:var(--r-xl); padding:var(--space-7) var(--space-5);
  background:linear-gradient(135deg,var(--brand-800),var(--brand-900) 58%,#04270A);
  color:#fff; text-align:center;
}
.cta-band::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(520px 300px at 78% 0%, rgba(155,209,135,.26), transparent 65%);
}
.cta-band > *{ position:relative; z-index:1; }
.cta-band h2{ color:#fff; }
.cta-band p{ color:#CBDDC5; max-width:58ch; margin-inline:auto; }
.cta-band .btn-row{ justify-content:center; }
@media (min-width:768px){ .cta-band{ padding:var(--space-8) var(--space-7); } }

/* ---------- 11. Forms ---------- */
.form-card{ background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-xl); padding:var(--space-5); box-shadow:var(--sh-2); }
@media (min-width:768px){ .form-card{ padding:var(--space-6); } }
.field{ margin-bottom:var(--space-4); }
.field label{
  display:block; font-family:var(--font-display); font-size:var(--fs-sm); font-weight:600;
  color:var(--ink); margin-bottom:7px;
}
.field label .req{ color:var(--danger); }
.field input,.field select,.field textarea{
  width:100%; min-height:50px; padding:13px 15px; border:1.5px solid var(--line); border-radius:var(--r-md);
  background:#fff; font-family:var(--font-body); font-size:var(--fs-base); color:var(--text);
  transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.field textarea{ min-height:132px; resize:vertical; }
.field select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236E8098' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:19px; padding-right:44px; }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--brand-500); box-shadow:0 0 0 4px rgba(16,128,26,.16); }
.field .hint{ font-size:var(--fs-xs); color:var(--text-3); margin-top:6px; }
.field .err{ display:none; font-size:var(--fs-xs); color:var(--danger); margin-top:6px; font-weight:600; }
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{ border-color:var(--danger); }
.field.is-invalid .err{ display:block; }
.form-grid{ display:grid; gap:0 var(--space-4); }
@media (min-width:640px){ .form-grid{ grid-template-columns:1fr 1fr; } .form-grid .full{ grid-column:1/-1; } }
.form-note{ font-size:var(--fs-xs); color:var(--text-3); margin-top:var(--space-3); }
.form-status{ display:none; margin-top:var(--space-4); padding:14px 16px; border-radius:var(--r-md); font-size:var(--fs-sm); font-weight:600; }
.form-status.is-ok{ display:block; background:var(--brand-100); color:#0A4A0C; border:1px solid #C3E5B6; }

/* Contact info list */
.info-list{ list-style:none; padding:0; margin:0; display:grid; gap:var(--space-4); }
.info-list li{ display:flex; gap:15px; margin:0; }
.info-list i{ width:46px; height:46px; border-radius:14px; background:var(--brand-50); color:var(--brand-600); display:grid; place-items:center; flex:none; }
.info-list svg{ width:22px; height:22px; }
.info-list b{ display:block; font-family:var(--font-display); font-size:var(--fs-sm); color:var(--ink); margin-bottom:2px; }
.info-list span,.info-list a{ font-size:var(--fs-sm); color:var(--text-2); }
.info-list a:hover{ color:var(--brand-600); }
.map-embed{ border-radius:var(--r-xl); overflow:hidden; border:1px solid var(--line); box-shadow:var(--sh-2); line-height:0; }
.map-embed iframe{ width:100%; height:340px; border:0; }
@media (min-width:768px){ .map-embed iframe{ height:420px; } }

/* ---------- 12. Article ---------- */
.article{ max-width:760px; }
.article__meta{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; font-size:var(--fs-xs); color:var(--text-3); margin-bottom:var(--space-5); }
.article__meta span{ display:flex; align-items:center; gap:6px; }
.article__meta svg{ width:15px; height:15px; color:var(--brand-500); }
.article__cover{ width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:var(--r-xl); margin-bottom:var(--space-6); box-shadow:var(--sh-2); }
.article h2{ font-size:var(--fs-xl); margin-top:var(--space-7); }
.article h3{ font-size:var(--fs-lg); margin-top:var(--space-6); }
.article p,.article li{ font-size:var(--fs-md); line-height:1.8; }
.article ul,.article ol{ padding-left:1.4rem; margin-bottom:var(--space-5); }
.article blockquote{
  margin:var(--space-6) 0; padding:var(--space-5); background:var(--brand-50);
  border-left:4px solid var(--brand-500); border-radius:0 var(--r-md) var(--r-md) 0;
}
.article blockquote p{ margin:0; color:var(--brand-900); font-weight:500; }
.toc{ background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-lg); padding:var(--space-5); margin-bottom:var(--space-6); }
.toc h2{ font-size:var(--fs-md); margin:0 0 var(--space-3); }
.toc ul{ margin:0; padding:0; list-style:none; display:grid; gap:2px; }
.toc ul a{ display:block; padding:4px 0; }
.toc li{ font-size:var(--fs-sm); margin-bottom:6px; }
.tags{ display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:var(--space-6) 0 0; }
.tags li{ margin:0; }
.tags span{ display:inline-block; padding:6px 13px; border-radius:var(--r-full); background:var(--surface-2); font-size:var(--fs-xs); color:var(--text-2); font-weight:600; }
.sidebar{ display:grid; gap:var(--space-5); align-content:start; }
.side-card{ background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--r-lg); padding:var(--space-5); }
.side-card h2,.side-card h3{ font-size:var(--fs-md); margin-bottom:var(--space-4); }
.side-card ul{ list-style:none; padding:0; margin:0; }
.side-card li{ margin:0; border-bottom:1px solid var(--line-soft); }
.side-card li:last-child{ border-bottom:0; }
.side-card li a{ display:block; padding:11px 0; font-size:var(--fs-sm); color:var(--text-2); font-weight:500; }
.side-card li a:hover{ color:var(--brand-600); }
.layout-side{ display:grid; gap:var(--space-7); }
@media (min-width:1024px){ .layout-side{ grid-template-columns:minmax(0,1fr) 330px; gap:var(--space-8); } }

/* Pricing / table */
.table-wrap{ overflow-x:auto; border:1px solid var(--line); border-radius:var(--r-lg); }
table{ width:100%; border-collapse:collapse; min-width:520px; font-size:var(--fs-sm); }
th,td{ padding:14px 16px; text-align:left; border-bottom:1px solid var(--line-soft); }
th{ background:var(--surface); font-family:var(--font-display); font-weight:600; color:var(--ink); }
tr:last-child td{ border-bottom:0; }

/* ---------- 13. Footer ---------- */
.site-footer{ background:var(--ink); color:#AFC0A8; padding-block:var(--space-8) 0; margin-top:0; }
.footer__grid{ display:grid; gap:var(--space-6); }
@media (min-width:640px){ .footer__grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .footer__grid{ grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:var(--space-7); } }
.footer__grid h3{ color:#fff; font-size:var(--fs-md); margin-bottom:var(--space-4); }
.footer__grid p{ color:#AFC0A8; font-size:var(--fs-sm); }
.footer__grid ul{ list-style:none; padding:0; margin:0; }
.footer__grid li{ margin-bottom:10px; }
.footer__grid a{ color:#AFC0A8; font-size:var(--fs-sm); }
.footer__grid a:hover{ color:var(--brand-300); }
.footer .brand__name{ color:#fff; }
.footer .brand__tag{ color:#8DA085; }
.footer__contact li{ display:flex; gap:11px; align-items:flex-start; }
.footer__contact svg{ width:18px; height:18px; color:var(--brand-300); flex:none; margin-top:3px; }
.footer__socials{ display:flex; gap:9px; margin-top:var(--space-4); }
.footer__socials a{
  width:40px; height:40px; display:grid; place-items:center; border-radius:var(--r-full);
  background:rgba(255,255,255,.07); color:#D8E7D2; transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
.footer__socials a:hover{ background:var(--brand-500); color:#fff; }
.footer__socials svg{ width:18px; height:18px; }
.footer__bottom{
  margin-top:var(--space-7); padding-block:var(--space-5); border-top:1px solid rgba(255,255,255,.09);
  display:flex; flex-direction:column; gap:12px; align-items:center; text-align:center;
  font-size:var(--fs-xs); color:#8DA085;
}
@media (min-width:768px){ .footer__bottom{ flex-direction:row; justify-content:space-between; text-align:left; gap:var(--space-5); } }
.footer__bottom a{ color:#AFC0A8; }
.footer__credit{ display:inline-flex; align-items:center; gap:6px; }
.footer__credit a{
  color:#DDE9D9; font-family:var(--font-display); font-weight:600; letter-spacing:.01em;
  border-bottom:1px solid rgba(255,255,255,.22); padding-bottom:1px;
  transition:color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.footer__credit a:hover{ color:#fff; border-color:#fff; }
.footer__bottom nav{ display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }

/* ---------- 14. Mobile action bar ---------- */
.actionbar{
  position:fixed; left:0; right:0; bottom:0; z-index:var(--z-sticky);
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line); border-top:1px solid var(--line);
  padding-bottom:env(safe-area-inset-bottom);
  box-shadow:0 -6px 20px rgba(12,36,16,.10);
}
.actionbar a{
  background:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  min-height:60px; padding:8px 4px; font-size:.6875rem; font-weight:700; color:var(--ink-2);
  font-family:var(--font-display); touch-action:manipulation;
}
.actionbar a svg{ width:21px; height:21px; color:var(--brand-600); }
.actionbar a.is-wa svg{ color:var(--wa); }
.actionbar a:active{ background:var(--brand-50); }
@media (min-width:1024px){ .actionbar{ display:none; } }
body{ padding-bottom:0; }
@media (max-width:1023px){ body{ padding-bottom:calc(61px + env(safe-area-inset-bottom)); } }

/* Floating WhatsApp (desktop) */
.wa-float{
  position:fixed; right:22px; bottom:22px; z-index:var(--z-sticky); display:none;
  width:58px; height:58px; border-radius:var(--r-full); background:var(--wa); color:#fff;
  place-items:center; box-shadow:0 10px 26px rgba(18,140,75,.38);
  transition:transform var(--t-mid) var(--ease);
}
.wa-float:hover{ transform:scale(1.07); color:#fff; }
.wa-float svg{ width:30px; height:30px; }
@media (min-width:1024px){ .wa-float{ display:grid; } }

/* ---------- 15. Utilities & motion ---------- */
.text-center{ text-align:center; }
.mb-0{ margin-bottom:0; }
.mt-5{ margin-top:var(--space-5); }
.mt-6{ margin-top:var(--space-6); }
.visually-hidden{
  position:absolute!important; width:1px; height:1px; margin:-1px; padding:0;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.skip-link{
  position:absolute; left:12px; top:-70px; z-index:var(--z-top); background:var(--brand-700); color:#fff;
  padding:12px 20px; border-radius:0 0 var(--r-md) var(--r-md); font-weight:600; font-size:var(--fs-sm);
  transition:top var(--t-mid) var(--ease);
}
.skip-link:focus{ top:0; color:#fff; }

.reveal{ opacity:0; transform:translateY(22px); transition:opacity .6s var(--ease-out), transform .6s var(--ease-out); }
.reveal.is-in{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms!important; animation-iteration-count:1!important;
    transition-duration:.01ms!important; scroll-behavior:auto!important; }
  .reveal{ opacity:1; transform:none; }
  .drawer{ transition:none; }
}
