/* ============================================================
   TimberPlan · เคลียร์พื้นที่ว่างเปล่า พัฒนาที่ดิน ปลูกต้นไม้ ปลูกกล้วย
   Premium Green Theme
   ============================================================ */
:root{
  --page-bg:#F7FAF7; --ink:#14251A; --muted:#6B7A6E; --line:#DDE7DE;
  --green:#22C55E; --green-deep:#16A34A; --green-dark:#15803D; --green-light:#4ADE80;
  --leaf:#166534; --earth:#5C5344; --earth-light:#A8A29E;
}
*{ -webkit-tap-highlight-color:transparent; }
html{ scroll-behavior:smooth; }
body{
  background:#F7FAF7;
  font-family:'Sarabun','IBM Plex Sans Thai',sans-serif;
  color:#14251A; position:relative; overflow-x:hidden;
}
h1,h2,h3,.font-display{ font-family:'Kanit','Sarabun',sans-serif; }
body::before{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(60rem 42rem at 85% -8%, rgba(34,197,94,.18), transparent 60%),
    radial-gradient(52rem 40rem at -10% 10%, rgba(22,101,52,.12), transparent 55%),
    radial-gradient(40rem 30rem at 50% 120%, rgba(22,163,74,.12), transparent 60%);
}
.gx{ background:linear-gradient(135deg,#4ADE80 0%,#22C55E 50%,#15803D 100%); }
.gx-text{
  background:linear-gradient(135deg,#16A34A,#4ADE80);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.sky-text{
  background:linear-gradient(135deg,#22C55E,#86EFAC);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.glass{
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.6);
}
.text-balance{ text-wrap:balance; }
.sq{ aspect-ratio:1/1; object-fit:cover; }
.shadow-glow{ box-shadow:0 10px 40px -10px rgba(34,197,94,.45); }
.shadow-soft{ box-shadow:0 4px 30px rgba(20,37,26,.08); }
.shadow-card{ box-shadow:0 8px 40px rgba(20,37,26,.14); }
details>summary{ list-style:none; cursor:pointer; }
details>summary::-webkit-details-marker{ display:none; }
details[open]>summary .ms{ transform:rotate(180deg); }
.ms{ font-family:'Material Symbols Outlined'; font-weight:normal; font-style:normal; line-height:1; -webkit-font-feature-settings:'liga'; font-feature-settings:'liga'; vertical-align:middle; transition:transform .25s ease; }
.eyebrow{ letter-spacing:.12em; }
.chip{ transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease; }
.chip:hover{ transform:translateY(-2px); background-image:linear-gradient(135deg,#16A34A,#15803D); color:#fff !important; }
.chip:hover .ms{ color:#fff !important; }
@keyframes rise{ from{ opacity:0; transform:translateY(18px);} to{ opacity:1; transform:none;} }
.reveal{ animation:rise .7s cubic-bezier(.22,.61,.36,1) both; }
.reveal.d1{ animation-delay:.08s; } .reveal.d2{ animation-delay:.16s; }
.reveal.d3{ animation-delay:.24s; } .reveal.d4{ animation-delay:.32s; }
[data-reveal]{ opacity:0; transform:translateY(18px); transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1); }
[data-reveal].in{ opacity:1; transform:none; }
img{ background:#DDE7DE; }
a{ text-decoration:none; }
iframe{ border:0; }
.price-line{ display:flex; justify-content:space-between; align-items:center; padding:.6rem 0; border-bottom:1px dashed var(--line); }
.price-line:last-child{ border-bottom:0; }
