:root{
  --g900:#004D00; --g700:#006400; --g500:#008000; --g100:#E6F2E6;
  --b900:#002266; --b500:#003399; --b100:#E6EBF5;
  --o500:#FF6600; --o700:#B34700; --o100:#FFF0E6;
  --ink:#1A1A1A; --muted:#6B7280; --line:#E4E7E4;
  --paper:#FFFFFF; --n100:#F7F8F7;
  --font-d:'Plus Jakarta Sans',system-ui,sans-serif;
  --font-b:'Inter',system-ui,sans-serif;
  --font-a:'Amiri',serif;
  --bar:0px;
  --wrap:1180px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:calc(var(--bar) + 12px + env(safe-area-inset-top,0px))}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0; font-family:var(--font-b); color:var(--ink);
  background:var(--paper); line-height:1.6;
  -webkit-font-smoothing:antialiased;
  padding-top:env(safe-area-inset-top,0px);
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--font-d); color:var(--g900); line-height:1.15; margin:0; font-weight:700; letter-spacing:-.01em}
p{margin:0}
a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 22px}



/* ---------- site header ---------- */
.site{background:#fff; border-bottom:1px solid var(--line)}
.site__in{display:flex; align-items:center; gap:18px; height:74px}
.brand{display:flex; align-items:center; gap:12px}
.brand img{width:46px; height:46px; border-radius:8px}
.brand__t{display:flex; flex-direction:column; line-height:1.05}
.brand__t b{font-family:var(--font-d); font-size:15px; color:var(--g900); font-weight:700}
.brand__t span{font-size:11px; color:var(--muted); letter-spacing:.02em}
.nav{display:flex; gap:24px; margin-left:auto}
.nav a{font-size:14px; font-weight:500; color:#33403a; padding:6px 0; border-bottom:2px solid transparent}
.nav a:hover{color:var(--g700); border-color:var(--o500)}
.site .cta{margin-left:8px}
@media(max-width:900px){.nav{display:none}}

.cta{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--font-d);
  font-weight:600; font-size:14px; border-radius:10px; padding:11px 18px;
  cursor:pointer; border:1px solid transparent; transition:.15s; white-space:nowrap;
}
.cta--g{background:var(--g500); color:#fff}
.cta--g:hover{background:var(--g700)}
.cta--o{background:var(--o500); color:var(--ink)}         /* dark text on orange per WCAG */
.cta--o:hover{background:#ff7a1f}
.cta--ghost{background:transparent; color:#fff; border-color:rgba(255,255,255,.5)}
.cta--ghost:hover{background:rgba(255,255,255,.12)}
.cta--line{background:#fff; color:var(--g700); border-color:var(--line)}
.cta--line:hover{border-color:var(--g500); color:var(--g900)}

/* ---------- hero ---------- */
.hero{position:relative; color:#fff; overflow:hidden;
  background:linear-gradient(155deg,#003d00 0%,var(--g700) 55%,#00330a 100%)}
.hero.smpit{background:linear-gradient(155deg,#002a66 0%,var(--g700) 60%,#00330a 100%)}
.hero.smait{background:linear-gradient(155deg,#003d00 0%,var(--g900) 55%,#001f2e 100%)}
.hero__pat{position:absolute; inset:0; color:#fff; opacity:.10; pointer-events:none}
.hero__in{position:relative; z-index:1; display:grid; grid-template-columns:1.15fr .85fr;
  gap:40px; align-items:center; padding:64px 0 70px}
@media(max-width:880px){.hero__in{grid-template-columns:1fr; padding:44px 0 50px; gap:30px}}
.badge{display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22); color:#fff; font-size:13px; font-weight:500;
  padding:7px 14px; border-radius:999px; margin-bottom:22px}
.badge b{color:var(--o500)}
.badge .live{width:8px;height:8px;border-radius:50%;background:var(--o500);box-shadow:0 0 0 4px rgba(255,102,0,.25)}
.hero__ar{font-family:var(--font-a); font-size:30px; color:#bfe6bf; margin-bottom:6px; direction:rtl}
.hero h1{color:#fff; font-size:clamp(32px,5vw,54px); font-weight:800; margin-bottom:16px}
.hero h1 .u{color:inherit}
.hero__lead{font-size:17px; color:#e4f2e4; max-width:44ch; margin-bottom:14px}
.hero__loc{display:flex; align-items:center; gap:9px; font-size:14px; color:#cfe6cf; margin-bottom:26px}
.hero__loc svg{flex:none}
.hero__btns{display:flex; gap:12px; flex-wrap:wrap}
.hero__seal{background:#fff; border-radius:20px; padding:26px; text-align:center;
  box-shadow:0 24px 60px rgba(0,20,0,.35)}
.hero__seal img{width:150px; height:150px; margin:0 auto 14px}
.hero__seal b{display:block; font-family:var(--font-d); color:var(--g900); font-size:16px}
.hero__seal span{display:block; font-size:12.5px; color:var(--muted); margin-top:3px}
.hero__seal .div{height:1px; background:var(--line); margin:16px 0}
.hero__seal .mini{display:flex; gap:8px; justify-content:center}
.hero__seal .chip{font-size:11px; font-weight:600; color:var(--g700); background:var(--g100);
  padding:5px 10px; border-radius:7px}

/* accent rule */
.rule{height:4px;width:56px;background:var(--o500);border-radius:2px;margin:0 0 20px}
.rule.c{margin-left:auto;margin-right:auto}

/* ---------- trust strip ---------- */
.trust{background:#fff; border-bottom:1px solid var(--line)}
.trust__in{display:grid; grid-template-columns:repeat(4,1fr); gap:0}
@media(max-width:760px){.trust__in{grid-template-columns:repeat(2,1fr)}}
.trust__c{padding:26px 22px; border-right:1px solid var(--line)}
.trust__c:last-child{border-right:0}
@media(max-width:760px){.trust__c{border-bottom:1px solid var(--line)} .trust__c:nth-child(2n){border-right:0}}
.trust__c b{display:block; font-family:var(--font-d); font-size:20px; color:var(--g900); font-weight:700}
.trust__c b i{font-style:normal; color:var(--o700)}
.trust__c span{font-size:13px; color:var(--muted)}

/* ---------- sections ---------- */
.sec{padding:72px 0}
.sec.alt{background:var(--n100)}
.sec.soft{background:var(--g100)}
.sec__head{max-width:640px; margin-bottom:40px}
.sec__head.c{margin-left:auto;margin-right:auto;text-align:center}
.eyebrow{display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600;
  color:var(--g700); margin-bottom:14px}
.eyebrow::before{content:""; width:18px; height:2px; background:var(--o500)}
.sec h2{font-size:clamp(26px,3.4vw,36px); margin-bottom:14px}
.sec__head p{color:#4b554f; font-size:16px}

/* about split */
.about{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center}
@media(max-width:860px){.about{grid-template-columns:1fr; gap:30px}}
.about p{color:#3f4a44; margin-bottom:16px}
.about .lead{font-size:18px; color:var(--ink)}
.checks{display:grid; gap:12px; margin-top:22px}
.check{display:flex; gap:12px; align-items:flex-start}
.check svg{flex:none; margin-top:2px}
.check b{font-family:var(--font-d); color:var(--g900); font-size:15px; display:block}
.check span{font-size:14px; color:var(--muted)}

/* pillars */
.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
@media(max-width:860px){.grid3{grid-template-columns:1fr}}
.pilar{background:#fff; border:1px solid var(--line); border-radius:14px; padding:26px;
  border-top:3px solid var(--g500)}
.pilar:nth-child(3n+2){border-top-color:var(--b500)}
.pilar:nth-child(3n){border-top-color:var(--o500)}
.pilar__ic{width:46px; height:46px; border-radius:11px; background:var(--g100);
  display:grid; place-items:center; margin-bottom:16px}
.pilar:nth-child(3n+2) .pilar__ic{background:var(--b100)}
.pilar:nth-child(3n) .pilar__ic{background:var(--o100)}
.pilar h3{font-size:18px; margin-bottom:8px}
.pilar p{font-size:14px; color:#525c56}

/* unit cards */
.units{display:grid; grid-template-columns:1fr 1fr; gap:24px}
@media(max-width:820px){.units{grid-template-columns:1fr}}
.unit{position:relative; border-radius:18px; overflow:hidden; color:#fff; min-height:340px;
  display:flex; flex-direction:column; justify-content:flex-end; padding:30px}
.unit.smp{background:linear-gradient(160deg,var(--b500),var(--g700))}
.unit.sma{background:linear-gradient(160deg,var(--g700),var(--g900))}
.unit__pat{position:absolute; inset:0; opacity:.12; color:#fff}
.unit__tag{position:relative; z-index:1; align-self:flex-start; background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.25); padding:6px 13px; border-radius:999px; font-size:12.5px;
  font-weight:600; margin-bottom:auto}
.unit__body{position:relative; z-index:1; margin-top:20px}
.unit h3{color:#fff; font-size:24px; margin-bottom:8px}
.unit p{color:#eaf5ea; font-size:14.5px; margin-bottom:18px; max-width:38ch}
.unit__meta{display:flex; gap:18px; margin-bottom:20px; flex-wrap:wrap}
.unit__meta div b{display:block; font-family:var(--font-d); font-size:15px}
.unit__meta div span{font-size:12px; color:#cfe6cf}
.unit .cta{background:#fff; color:var(--g900)}
.unit .cta:hover{background:#f0f0f0}
.unit__seal{position:absolute; top:26px; right:26px; z-index:1; width:64px; height:64px;
  background:#fff; border-radius:12px; padding:7px}
.unit__seal img{width:100%;height:100%}

/* photo placeholder */
.photo{position:relative; border-radius:14px; overflow:hidden; background:var(--g100);
  border:1px solid #cfe3cf; margin:0}
.photo::after{content:""; position:absolute; inset:0;
  background:repeating-linear-gradient(45deg,transparent,transparent 12px,rgba(0,128,0,.04) 12px,rgba(0,128,0,.04) 24px)}
.photo__in{position:relative; z-index:1; display:flex; flex-direction:column; align-items:center;
  justify-content:center; text-align:center; height:100%; min-height:180px; padding:22px; gap:8px}
.photo__in svg{color:var(--g500); opacity:.85}
.photo__cap{font-family:var(--font-d); font-weight:600; font-size:14px; color:var(--g900)}
.photo__note{font-size:11.5px; color:var(--g700); background:#fff; padding:3px 9px; border-radius:6px;
  border:1px solid #cfe3cf}
.gallery{display:grid; grid-template-columns:2fr 1fr 1fr; grid-auto-rows:190px; gap:16px}
.gallery .photo:first-child{grid-row:span 2}
@media(max-width:760px){.gallery{grid-template-columns:1fr 1fr; grid-auto-rows:150px}
  .gallery .photo:first-child{grid-column:span 2; grid-row:span 1}}

/* steps (sequence) */
.steps{display:grid; grid-template-columns:repeat(5,1fr); gap:14px; counter-reset:s}
@media(max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}
.step{background:#fff; border:1px solid var(--line); border-radius:12px; padding:20px; position:relative}
.step::before{counter-increment:s; content:counter(s); font-family:var(--font-d); font-weight:800;
  font-size:15px; color:#fff; background:var(--g500); width:30px; height:30px; border-radius:8px;
  display:grid; place-items:center; margin-bottom:14px}
.step:last-child::before{background:var(--o500); color:var(--ink)}
.step b{display:block; font-family:var(--font-d); color:var(--g900); font-size:15px; margin-bottom:4px}
.step span{font-size:13px; color:var(--muted)}

/* location */
.loc{display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:stretch}
@media(max-width:820px){.loc{grid-template-columns:1fr}}
.loc__map{border-radius:14px; overflow:hidden; min-height:300px; position:relative;
  background:linear-gradient(135deg,#dfeee0,#eaf5ea); border:1px solid #cfe3cf}
.loc__map .pin{position:absolute; top:50%; left:50%; transform:translate(-50%,-100%)}
.loc__map .mnote{position:absolute; left:16px; bottom:14px; background:#fff; border:1px solid var(--line);
  border-radius:8px; padding:8px 12px; font-size:12px; color:var(--g700); font-weight:600}
.loc__info h3{font-size:22px; margin-bottom:16px}
.loc__row{display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--line)}
.loc__row:last-child{border-bottom:0}
.loc__row svg{flex:none; color:var(--g500); margin-top:2px}
.loc__row b{display:block; font-family:var(--font-d); font-size:14px; color:var(--g900)}
.loc__row span{font-size:13.5px; color:#525c56}
.ph-inline{color:var(--o700); background:var(--o100); padding:1px 7px; border-radius:5px; font-size:12px; font-weight:600}

/* cta band */
.band{background:linear-gradient(120deg,var(--g700),var(--g900)); color:#fff; border-radius:20px;
  padding:48px; display:grid; grid-template-columns:1.4fr auto; gap:30px; align-items:center; position:relative; overflow:hidden}
@media(max-width:760px){.band{grid-template-columns:1fr; padding:34px; text-align:center}}
.band__pat{position:absolute; inset:0; opacity:.12; color:#fff}
.band h2{color:#fff; font-size:clamp(24px,3vw,32px); margin-bottom:10px; position:relative; z-index:1}
.band p{color:#e0f0e0; position:relative; z-index:1; max-width:46ch}
.band__btns{display:flex; gap:12px; position:relative; z-index:1; flex-wrap:wrap}
@media(max-width:760px){.band__btns{justify-content:center}}

/* footer */
.foot{background:#03270a; color:#cfe0cf; padding:56px 0 0}
.foot__grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:34px; padding-bottom:40px}
@media(max-width:820px){.foot__grid{grid-template-columns:1fr 1fr; gap:26px}}
@media(max-width:520px){.foot__grid{grid-template-columns:1fr}}
.foot__brand img{width:48px;height:48px;background:#fff;border-radius:9px;padding:5px; margin-bottom:14px}
.foot__brand b{font-family:var(--font-d); color:#fff; font-size:16px; display:block}
.foot__brand p{font-size:13.5px; color:#9fc39f; margin-top:8px; max-width:34ch}
.foot h4{color:#fff; font-size:14px; margin-bottom:16px; font-family:var(--font-d)}
.foot a,.foot li{font-size:13.5px; color:#bcd4bc; margin-bottom:9px; display:block}
.foot a:hover{color:#fff}
.foot ul{list-style:none; margin:0; padding:0}
.foot__bot{border-top:1px solid rgba(255,255,255,.12); padding:18px 0; display:flex;
  justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:12.5px; color:#8fb08f}
.foot__bot a{color:#bcd4bc; display:inline; margin:0}

.backlink{display:inline-flex; align-items:center; gap:7px; font-size:13.5px; font-weight:600;
  color:var(--g700); cursor:pointer; margin-bottom:4px}
.backlink:hover{color:var(--g900)}

/* ---------- polish: sticky header + transitions ---------- */
.site{position:sticky; top:env(safe-area-inset-top,0px); z-index:50;
  background:rgba(255,255,255,.9); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  transition:box-shadow .3s ease}
.site__in{transition:height .3s cubic-bezier(.2,.7,.2,1)}
.brand img{transition:width .3s cubic-bezier(.2,.7,.2,1),height .3s cubic-bezier(.2,.7,.2,1)}
.scrolled .site{box-shadow:0 8px 30px rgba(0,45,0,.09)}
.scrolled .site__in{height:62px}
.scrolled .brand img{width:40px;height:40px}
.cta{transition:background .2s ease, transform .2s cubic-bezier(.2,.7,.2,1), box-shadow .2s ease}
.cta--g:hover,.cta--o:hover{transform:translateY(-1px); box-shadow:0 8px 20px rgba(0,60,0,.16)}
.pilar{transition:transform .32s cubic-bezier(.2,.7,.2,1), box-shadow .32s ease, border-color .32s ease}
.pilar:hover{transform:translateY(-4px); box-shadow:0 20px 42px rgba(0,60,0,.10)}
.unit{transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease}
.unit:hover{transform:translateY(-4px); box-shadow:0 26px 54px rgba(0,30,0,.22)}
.step{transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease}
.step:hover{transform:translateY(-3px); box-shadow:0 16px 34px rgba(0,60,0,.09)}
.trust__c{transition:background .3s ease}
.trust__c:hover{background:var(--n100)}
.photo{transition:transform .3s ease}
.photo:hover{transform:translateY(-2px)}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0; transform:translateY(16px);
  transition:opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* ---------- A3B showcase (beranda) ---------- */
.a3b{position:relative; overflow:hidden; color:#fff; padding:78px 0;
  background:linear-gradient(140deg,#00420a 0%,var(--g900) 55%,#002e08 100%)}
.a3b__pat{position:absolute; inset:0; color:#fff; opacity:.08; pointer-events:none}
.a3b__in{position:relative; z-index:1}
.a3b__head{max-width:680px; margin:0 auto 46px; text-align:center}
.a3b__head h2{color:#fff; font-size:clamp(28px,4vw,42px)}
.a3b__head h2 span{color:var(--o500)}
.a3b__head p{color:#dcefdc; margin-top:12px; font-size:16.5px}
.eyebrow--light{color:#bfe6bf; justify-content:center}
.eyebrow--light::before{background:var(--o500)}
.a3b__grid{display:grid; grid-template-columns:.82fr 1.18fr; gap:46px; align-items:center; max-width:1000px; margin:0 auto}
@media(max-width:860px){.a3b__grid{grid-template-columns:1fr; gap:30px}}
.a3b__emblem{background:#fff; border-radius:24px; padding:30px; text-align:center; box-shadow:0 30px 70px rgba(0,20,0,.42)}
.a3b__emblem img{width:100%; max-width:230px; margin:0 auto; animation:float 6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.a3b__emblem img{animation:none}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.a3b__pillars{display:grid; grid-template-columns:1fr 1fr; gap:16px}
@media(max-width:520px){.a3b__pillars{grid-template-columns:1fr}}
.apil{display:flex; gap:15px; align-items:flex-start; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14); border-radius:15px; padding:19px;
  transition:transform .3s cubic-bezier(.2,.7,.2,1), background .3s ease, border-color .3s ease}
.apil:hover{transform:translateY(-3px); background:rgba(255,255,255,.11); border-color:rgba(255,255,255,.3)}
.apil__l{flex:none; width:48px; height:48px; border-radius:13px; display:grid; place-items:center;
  font-family:var(--font-d); font-weight:800; font-size:23px; color:#fff;
  background:linear-gradient(140deg,var(--g500),#0a7a0a); box-shadow:0 8px 18px rgba(0,0,0,.28)}
.apil b{font-family:var(--font-d); color:#fff; font-size:16.5px; display:block; margin-bottom:3px}
.apil p{color:#cfe6cf; font-size:13.5px}

/* ---------- A3B mini strip (unit pages) ---------- */
.a3bmini{background:var(--g100); border-top:1px solid #cfe3cf; border-bottom:1px solid #cfe3cf}
.a3bmini__in{display:flex; align-items:center; gap:24px; padding:24px 0; flex-wrap:wrap}
.a3bmini__lead{display:flex; align-items:center; gap:16px}
.a3bmini__lead img{width:66px; height:66px; flex:none}
.a3bmini__lead b{font-family:var(--font-d); color:var(--g900); font-size:16px; display:block}
.a3bmini__lead span{font-size:13px; color:var(--g700)}
.a3bmini__pills{display:flex; gap:10px; margin-left:auto; flex-wrap:wrap}
.a3bmini__pills .p{background:#fff; border:1px solid #cfe3cf; border-radius:999px; padding:8px 15px 8px 8px;
  font-family:var(--font-d); font-weight:600; font-size:13.5px; color:var(--g700); display:flex; gap:9px; align-items:center;
  transition:transform .25s ease, box-shadow .25s ease}
.a3bmini__pills .p:hover{transform:translateY(-2px); box-shadow:0 8px 18px rgba(0,60,0,.08)}
.a3bmini__pills .p i{font-style:normal; width:24px; height:24px; border-radius:7px; background:var(--g500); color:#fff; display:grid; place-items:center; font-size:12px; font-weight:800}
@media(max-width:640px){.a3bmini__pills{margin-left:0; width:100%}}

/* ---------- mobile nav toggle ---------- */
.navtoggle{display:none;margin-left:auto;background:transparent;border:1px solid var(--line);border-radius:9px;padding:7px;cursor:pointer}
@media(max-width:900px){
  .navtoggle{display:inline-flex}
  .site .cta{display:none}
  .nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px 22px 14px;box-shadow:0 12px 30px rgba(0,45,0,.09);display:none}
  .nav.open{display:flex}
  .nav a{padding:11px 0;border-bottom:1px solid var(--line)}
}
/* ---------- real images inside photo frames ---------- */
.photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1}
.photo.has-img::after{display:none}
.unit__seal img{object-fit:contain}
.skip{position:absolute;left:-9999px}
.skip:focus{position:static;display:inline-block;padding:8px 14px;background:var(--g700);color:#fff;border-radius:8px}
