/* treed.bangkok — global stylesheet */
:root{
  --blue-deep:#1b6fb8;
  --blue-sky:#4fa8dd;
  --blue-pale:#eaf6ff;
  --ink:#0d2436;
  --green:#5ba85a;
  --paper:#e7d9bd;
  --white:#ffffff;
  --radius:14px;
  --maxw:1120px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Sarabun","Segoe UI",Tahoma,sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.7;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* Header */
header.site{
  background:linear-gradient(180deg,var(--blue-deep),var(--blue-sky));
  color:var(--white);
  position:sticky;top:0;z-index:50;
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:var(--maxw);margin:0 auto;}
.brand{font-weight:800;font-size:1.4rem;letter-spacing:.5px;text-decoration:none;color:var(--white);display:flex;align-items:center;}
.brand span{color:var(--green);}
.brand-logo{height:38px;width:auto;display:block;}
.brand-banner{width:100%;border-radius:var(--radius);display:block;}
nav.main-nav ul{list-style:none;display:flex;gap:24px;margin:0;padding:0;flex-wrap:wrap;}
nav.main-nav a{text-decoration:none;font-weight:600;font-size:.95rem;opacity:.92;position:relative;}
nav.main-nav a::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--green);transition:width .25s ease;}
nav.main-nav a:hover{opacity:1;}
nav.main-nav a:hover::after{width:100%;}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
.hamburger span{width:24px;height:2px;background:var(--white);border-radius:2px;transition:transform .25s ease,opacity .25s ease;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Hero */
.hero{
  background:linear-gradient(180deg,var(--blue-deep) 0%,var(--blue-sky) 100%);
  color:var(--white);
  padding:64px 0 72px;
  position:relative;
  overflow:hidden;
}
.hero::before, .hero::after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:radial-gradient(circle, rgba(91,168,90,.35), transparent 70%);
  filter:blur(10px);
  pointer-events:none;
}
.hero::before{width:420px;height:420px;top:-160px;right:-100px;}
.hero::after{width:280px;height:280px;bottom:-140px;left:-80px;background:radial-gradient(circle, rgba(255,255,255,.15), transparent 70%);}
.hero .container{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;position:relative;z-index:1;}
.hero h1{font-size:2.6rem;margin:0 0 12px;line-height:1.15;}
.hero h1 span{color:var(--green);}
.hero p.lead{font-size:1.15rem;opacity:.95;margin:0 0 24px;}
.hero-badges{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:24px;}
.badge{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:8px 16px;font-size:.85rem;font-weight:600;}
.btn{display:inline-block;background:var(--green);color:var(--white);padding:14px 28px;border-radius:999px;font-weight:700;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 6px 16px rgba(0,0,0,.15);}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.22);}
.btn:active{transform:translateY(-1px);}
.btn.outline{background:transparent;border:2px solid var(--white);}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;}
.hero-img{background:rgba(255,255,255,.08);border-radius:var(--radius);padding:16px;border:1px solid rgba(255,255,255,.25);text-align:center;}
.hero-img img{border-radius:10px;}
.img-caption{font-size:.8rem;opacity:.75;margin-top:8px;}

/* Sections */
section{padding:64px 0;}
section.alt{background:var(--blue-pale);}
.section-title{text-align:center;max-width:680px;margin:0 auto 48px;}
.section-title .eyebrow{color:var(--green);font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:.8rem;}
.section-title h2{font-size:2rem;margin:8px 0 12px;}
.section-title p{color:#4b6373;margin:0;}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.card{background:var(--white);border:1px solid #e3edf3;border-radius:var(--radius);padding:28px;box-shadow:0 4px 14px rgba(13,36,54,.05);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.card:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(13,36,54,.12);border-color:var(--green);}
.card h3{margin-top:0;color:var(--blue-deep);}
.icon-circle{width:56px;height:56px;border-radius:50%;background:var(--blue-pale);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:16px;transition:transform .25s ease;}
.card:hover .icon-circle{transform:scale(1.1) rotate(-4deg);}

.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.gallery .card{padding:14px;text-align:center;}
.gallery img{border-radius:10px;margin-bottom:10px;overflow:hidden;transition:transform .35s ease;}
.gallery .card{overflow:hidden;}
.gallery .card:hover img{transform:scale(1.06);}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

.cta-band{background:linear-gradient(120deg,var(--ink),var(--blue-deep));color:var(--white);text-align:center;padding:64px 24px;border-radius:var(--radius);margin:0 24px;}
.cta-band h2{margin-top:0;}

table.spec{width:100%;border-collapse:collapse;margin-top:16px;}
table.spec th,table.spec td{border:1px solid #dce8ef;padding:12px 16px;text-align:left;}
table.spec th{background:var(--blue-pale);width:32%;}

.breadcrumb{font-size:.85rem;color:#6a8494;margin-bottom:8px;}
.breadcrumb a{color:var(--blue-deep);text-decoration:none;}

.page-hero{background:var(--blue-pale);padding:48px 0;}
.page-hero h1{margin:0 0 8px;color:var(--blue-deep);}
.page-hero p{margin:0;color:#4b6373;max-width:640px;}

.coming-soon{background:var(--blue-pale);border:2px dashed var(--blue-sky);border-radius:var(--radius);padding:48px;text-align:center;}
.coming-soon .icon-circle{margin:0 auto 16px;}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.contact-card{background:var(--blue-pale);border-radius:var(--radius);padding:32px;}
.contact-card a.channel{display:flex;align-items:center;gap:12px;background:var(--white);border-radius:10px;padding:14px 18px;margin-bottom:12px;text-decoration:none;font-weight:700;color:var(--ink);border:1px solid #dce8ef;}
.contact-card a.channel:hover{border-color:var(--green);}

footer.site{background:var(--ink);color:#cfe3ef;padding:48px 0 24px;margin-top:64px;}
footer.site .container{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;}
footer.site h4{color:var(--white);margin-top:0;}
footer.site ul{list-style:none;padding:0;margin:0;}
footer.site li{margin-bottom:8px;}
footer.site a{text-decoration:none;color:#cfe3ef;}
footer.site a:hover{color:var(--white);}
.footer-bottom{text-align:center;font-size:.8rem;opacity:.7;margin-top:32px;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;}

@media (max-width:860px){
  .hero .container, .grid-2{grid-template-columns:1fr;}
  .grid-3{grid-template-columns:1fr 1fr;}
  .gallery{grid-template-columns:repeat(2,1fr);}
  footer.site .container{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}

  .hamburger{display:flex;}
  nav.main-nav{
    position:absolute;top:100%;left:0;right:0;
    background:var(--blue-deep);
    max-height:0;overflow:hidden;
    transition:max-height .3s ease;
  }
  nav.main-nav.open{max-height:400px;}
  nav.main-nav ul{flex-direction:column;gap:0;padding:8px 24px 16px;}
  nav.main-nav li{border-top:1px solid rgba(255,255,255,.12);}
  nav.main-nav a{display:block;padding:14px 0;}
}
@media (max-width:560px){
  .grid-3{grid-template-columns:1fr;}
  .hero h1{font-size:2rem;}
  nav.main-nav ul{flex-wrap:wrap;justify-content:center;}
}
