
:root{
  --olive:#556B2F;
  --olive-700:#445626;
  --sand:#C2B280;
  --beige:#F5F5DC;
  --dark:#0d0d0d;
  --muted:#a8a8a8;
  --white:#ffffff;
  --maxw:1100px;
  --radius:16px;
  --shadow: 0 8px 24px rgba(0,0,0,.18);
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; color:var(--white);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans";
  background: linear-gradient(180deg, #0b0b0b 0%, #151515 100%);
}
img{ max-width:100%; display:block; }
a{ color:var(--sand); text-decoration:none; }
a:hover{ text-decoration:underline; }
.container{ width:min(100% - 2rem, var(--maxw)); margin-inline:auto; }

/* Header & Nav */
header.site-header{ position:sticky; top:0; z-index:999; backdrop-filter: blur(8px);
  background: rgba(10,10,10,0.6); border-bottom:1px solid rgba(255,255,255,.06);
  transition: box-shadow .2s ease, background .2s ease; }
header.site-header.scrolled{ box-shadow: var(--shadow); background: rgba(10,10,10,0.88); }
.navbar{ display:flex; align-items:center; justify-content:space-between; padding:.8rem 0; }
.brand{ display:flex; align-items:center; gap:.7rem; font-weight:700; }
.brand .logo{ height:38px; padding:0 .6rem; border-radius:12px; border:1px solid rgba(255,255,255,.15);
  background: linear-gradient(135deg, var(--olive), var(--olive-700)); display:grid; place-items:center; }
.brand .logo span{ color:var(--beige); font-weight:800; font-size:.9rem; }
.brand .name{ display:flex; flex-direction:column; line-height:1.05; }
.brand .name small{ color:var(--muted); font-weight:500; }
.navlinks{ display:flex; gap:1rem; align-items:center; }
.navlinks a{ padding:.5rem .8rem; border-radius:999px; }
.navlinks a:hover{ background: rgba(197,178,128,.12); text-decoration:none; }
.socials{ display:flex; gap:.6rem; margin-left:.5rem; }
.socials a{ color:#eaeaea; display:inline-flex; align-items:center; }
.burger{ display:none; background:none; border:0; color:var(--white); font-size:1.35rem; }
@media (max-width: 920px){
  .burger{ display:block; }
  .navlinks{ position: fixed; inset: 60px 0 auto 0; background: rgba(10,10,10,.98);
    flex-direction:column; padding:1rem; transform: translateY(-120%); transition: transform .25s ease;
    border-bottom:1px solid rgba(255,255,255,.06); }
  .navlinks.open{ transform: translateY(0); }
  .socials{ margin-left:0; }
}

/* Hero & Sections */
.hero{ padding: 3.2rem 0 2.2rem; background:
  radial-gradient(1100px 480px at 20% -10%, rgba(85,107,47,.28), transparent 60%),
  radial-gradient(900px 420px at 80% -20%, rgba(194,178,128,.16), transparent 60%); }
.hero .content{ display:grid; gap:1rem; }
h1{ font-size: clamp(1.9rem, 3vw + 1rem, 3.2rem); margin:0; line-height:1.1; }
.lead{ color:#e9e9e9; max-width:60ch; }
.cta{ display:flex; gap:.8rem; flex-wrap:wrap; margin-top:.8rem; }
.btn{ display:inline-flex; align-items:center; gap:.5rem; padding:.7rem 1rem; border-radius:12px; border:1px solid rgba(255,255,255,.12);
  background:#1a1a1a; color:var(--white); }
.btn.primary{ background: linear-gradient(135deg, var(--olive), var(--olive-700)); border-color: rgba(255,255,255,.16); }
.btn.beige{ background: var(--beige); color:#222; }
.btn:hover{ filter: brightness(1.05); text-decoration:none; }
section{ padding: 2.4rem 0; }
.section-title{ font-size: clamp(1.4rem, 1.2vw + 1rem, 2rem); margin:0 0 .8rem 0; }
.section-desc{ color:#d7d7d7; margin:0 0 1rem 0; }

/* Cards & blog */
.blog-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:1rem; }
@media (max-width: 960px){ .blog-grid{ grid-template-columns: repeat(2, 1fr);} }
@media (max-width: 640px){ .blog-grid{ grid-template-columns: 1fr; } }
.card{ background:#121212; border:1px solid rgba(255,255,255,.06); border-radius:var(--radius); overflow:hidden; box-shadow: var(--shadow);
  display:flex; flex-direction:column; }
.card .cover{ aspect-ratio:16/9; background: linear-gradient(135deg, rgba(85,107,47,.28), rgba(194,178,128,.2)); }
.card .body{ padding:1rem; display:grid; gap:.4rem; }
.card h3{ margin:.1rem 0; font-size:1.1rem; }
.meta{ color:var(--muted); font-size:.9rem; }
.card p{ color:#e9e9e9; }
.card .more{ margin-top:auto; padding:.9rem 1rem; background: rgba(255,255,255,.03);
  display:flex; justify-content:space-between; align-items:center; }

/* Instagram carousel */
.ig-wrap{ position:relative; }
.ig-carousel{ display:grid; grid-auto-flow:column; gap:.8rem; overflow:auto; scroll-snap-type:x mandatory; padding:.5rem 2.5rem; }
.ig-item{ scroll-snap-align:center; width:240px; border-radius:14px; overflow:hidden; background:#0f0f0f; border:1px solid rgba(255,255,255,.08); }
.ig-item a{ display:block; }
.ig-item img{ width:100%; height:240px; object-fit:cover; display:block; }
.ig-item .ig-cap{ padding:.6rem .7rem; font-size:.9rem; color:#dcdcdc; height:3.2rem; overflow:hidden; }
.ig-nav{ position:absolute; top:40%; transform:translateY(-50%); background:#101010; border:1px solid rgba(255,255,255,.12);
  border-radius:999px; width:36px; height:36px; display:grid; place-items:center; cursor:pointer; }
.ig-nav.prev{ left:0; } .ig-nav.next{ right:0; }
.ig-status{ color:#c7c7c7; font-size:.92rem; margin-top:.6rem; }

/* Plans */
.plan-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:1rem; }
.plan{ background:#121212; border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:1rem; display:grid; gap:.7rem; }
.plan-hd{ display:flex; align-items:baseline; gap:.6rem; }
.plan-hd strong{ font-size:1.2rem; }
.plan-hd small{ color:#c4c4c4; }
.plan ul{ margin:0; padding-left:1.1rem; display:grid; gap:.35rem; }
.plan.gold{ border-color: rgba(197,178,128,.45); }
@media (max-width: 960px){ .plan-grid{ grid-template-columns: 1fr; } }

/* Partner grid */
.partner-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:1rem; }
.partner-card{ background:#0f0f0f; border:1px solid rgba(255,255,255,.08); border-radius:14px; display:grid; place-items:center; padding:1rem; }
.partner-card img{ width:100%; height:auto; filter: grayscale(60%); opacity:.9; transition: transform .2s ease, filter .2s, opacity .2s; }
.partner-card:hover img{ transform: scale(1.02); filter:none; opacity:1; }
@media (max-width: 900px){ .partner-grid{ grid-template-columns: repeat(2, 1fr);} }
@media (max-width: 520px){ .partner-grid{ grid-template-columns: 1fr; } }

/* Post page */
.post-content{ max-width:75ch; }
.post-content p{ color:#eaeaea; }
.breadcrumbs{ color:var(--muted); margin-bottom:1rem; }

/* Form */
.form{ display:grid; gap:.8rem; max-width:600px; }
.form label{ font-weight:600; }
.form input, .form textarea{ width:100%; padding:.9rem 1rem; border-radius:12px; border:1px solid rgba(255,255,255,.12); background:#0f0f0f; color:#f0f0f0; }
.form textarea{ min-height:160px; resize:vertical; }
.form .row{ display:grid; gap:.8rem; grid-template-columns: 1fr 1fr; }
@media (max-width:640px){ .form .row{ grid-template-columns: 1fr; } }
.form .hint{ color:var(--muted); font-size:.9rem; }
.notice{ padding:1rem; border-radius:12px; border:1px solid rgba(255,255,255,.12); background:#0d0d0d; }

/* Footer */
footer.site-footer{ background: linear-gradient(180deg, #0d0d0d, #090909); border-top:1px solid rgba(255,255,255,.06); padding:1.4rem 0; color:#cfcfcf; }
.footer-grid{ display:grid; grid-template-columns: 1fr auto; align-items:center; gap:1rem; }
.footer-links a{ color:#e0e0e0; }
