@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700;9..40,800;9..40,900&family=Cabinet+Grotesk:wght@300;400;500;600;700;800&family=Space+Mono:ital,wght@0,400;0,700;1,400&display=swap');

/* ──────────────────────────────────────
   LOGO: #6cba42 leaf-green · #42843c forest
   WARM CREAM BASE — first in the series
──────────────────────────────────────*/
:root{
  --leaf:#6cba42;--leaf-hi:#84d455;--leaf-lo:#5aa038;--forest:#42843c;--forest-lo:#2e5c28;
  --leaf-pale:#e8f5d6;--leaf-xpale:#f2fae8;--leaf-glow:rgba(108,186,66,.18);
  --leaf-edge:rgba(108,186,66,.32);--leaf-edge2:rgba(108,186,66,.6);

  --ink:#1a1f0e;--ink2:#22281a;--ink3:#2e3822;
  --cream:#f5f2e8;--cream2:#ede9d8;--cream3:#e4e0ce;
  --offwhite:#fafaf6;--warm50:#f8f6ef;--warm100:#ede8d8;

  --text:#1a1f0e;--text2:#344028;--text3:#526040;--text4:#7a8e68;
  --border:#c8d8b0;--border2:#b4c89a;
  --borderL:rgba(108,186,66,.22);--borderL2:rgba(108,186,66,.5);

  --sun:#ffcc22;--sun-pale:#fff5cc;--amber:#ff8800;

  --gLeaf:linear-gradient(135deg,#84d455,#6cba42,#5aa038);
  --gForest:linear-gradient(160deg,#42843c,#2e5c28);
  --gSun:linear-gradient(135deg,#ffe566,#ffcc22,#ff9900);
  --gHero:linear-gradient(155deg,#eef8e4 0%,#f2faec 35%,#f8faf2 65%,#f5f2e8 100%);
  --gLeafT:linear-gradient(90deg,#6cba42,#84d455,#5aa038);

  --sL:0 6px 32px rgba(108,186,66,.22);--sM:0 4px 18px rgba(26,31,14,.1);
  --sD:0 12px 44px rgba(26,31,14,.14);--sSun:0 8px 32px rgba(255,204,34,.4);

  --fD:'DM Sans',sans-serif;--fB:'Cabinet Grotesk',sans-serif;--fM:'Space Mono',monospace;
  --r4:4px;--r8:8px;--r12:12px;--r20:20px;--rf:999px;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--fB);background:var(--cream);color:var(--text);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--fD);font-weight:700;font-size:.82rem;letter-spacing:.05em;padding:.8rem 2rem;border:none;cursor:pointer;transition:all .22s;text-transform:uppercase;border-radius:var(--rf)}
.btn-leaf{background:var(--gLeaf);color:#fff;box-shadow:var(--sL)}
.btn-leaf:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 12px 40px rgba(108,186,66,.4)}
.btn-outline{background:transparent;color:var(--forest);border:2px solid var(--leaf-edge2)}
.btn-outline:hover{background:var(--leaf-pale);border-color:var(--leaf);transform:translateY(-2px)}
.btn-cream{background:var(--cream);color:var(--ink);border:1.5px solid var(--border2)}
.btn-cream:hover{background:var(--cream2);transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--ink);box-shadow:var(--sM)}
.btn-white:hover{background:var(--leaf-xpale);transform:translateY(-2px)}
.btn-dark{background:var(--ink);color:#fff;border-radius:var(--rf)}
.btn-dark:hover{background:var(--ink2);transform:translateY(-2px)}
.arr::after{content:' →'}

/* NAV — cream background */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:66px;display:flex;align-items:center;padding:0 2.5rem;justify-content:space-between;background:rgba(245,242,232,.96);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);transition:all .3s}
.nav::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gLeafT)}
.nav.scrolled{background:rgba(245,242,232,.99);box-shadow:0 4px 24px rgba(26,31,14,.08)}
.nav-logo img{height:30px}
.nav-links{display:flex;align-items:center;gap:1.75rem}
.nav-links a{font-family:var(--fM);font-size:.65rem;color:var(--text3);letter-spacing:.1em;text-transform:uppercase;transition:color .2s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--leaf);transition:width .28s}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-cta{background:var(--leaf)!important;color:#fff!important;padding:.4rem 1.2rem;font-family:var(--fM)!important;font-size:.62rem!important;letter-spacing:.1em;border-radius:var(--rf);box-shadow:var(--sL)}
.nav-cta:hover{filter:brightness(1.08);transform:translateY(-1px)}
.nav-cta::after{display:none!important}
.hamburger{display:none;flex-direction:column;gap:4px;cursor:pointer;padding:4px}
.hamburger span{display:block;width:20px;height:1.5px;background:var(--text3);transition:all .3s}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}
.mobile-menu{display:none;flex-direction:column;background:var(--cream);border-bottom:1px solid var(--border);padding:1.5rem 2.5rem;gap:.4rem}
.mobile-menu.open{display:flex}
.mobile-menu a{font-family:var(--fM);font-size:.68rem;color:var(--text3);padding:.6rem 0;border-bottom:1px solid var(--border);letter-spacing:.1em;text-transform:uppercase;transition:color .2s}
.mobile-menu a:hover{color:var(--leaf)}

/* ── HERO ── */
.hero{min-height:100vh;background:var(--gHero);position:relative;overflow:hidden;padding-top:66px;display:flex;flex-direction:column}
.hero-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(108,186,66,.09) 1.5px,transparent 1.5px);background-size:24px 24px;pointer-events:none}
/* Giant decorative circle arcs — structural element */
.hero-arc{position:absolute;right:-140px;top:50%;transform:translateY(-50%);width:700px;height:700px;border-radius:50%;border:1.5px solid rgba(108,186,66,.18);pointer-events:none;z-index:0}
.hero-arc::before{content:'';position:absolute;inset:32px;border-radius:50%;border:1px solid rgba(108,186,66,.11)}
.hero-arc::after{content:'';position:absolute;inset:68px;border-radius:50%;border:0.5px solid rgba(108,186,66,.07)}

.hero-body{flex:1;display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:1400px;margin:0 auto;width:100%;padding:3rem 5rem;gap:4rem;position:relative;z-index:1}

/* Left — stacked energy-meter typography */
.hero-mono-tag{font-family:var(--fM);font-size:.6rem;color:var(--leaf);letter-spacing:.22em;text-transform:uppercase;margin-bottom:1.5rem;display:flex;align-items:center;gap:.6rem;animation:fU .5s both}
.hero-mono-tag::before{content:'';width:28px;height:1.5px;background:var(--leaf)}

.hero-meter{display:flex;flex-direction:column;margin-bottom:1.75rem;animation:fU .5s .08s both}
.hm-row{display:flex;align-items:baseline;line-height:1}
.hm-big{font-family:var(--fD);font-weight:900;font-size:clamp(4.5rem,9vw,10.5rem);letter-spacing:-.06em;line-height:.9}
.hm-big.green{color:var(--leaf)}
.hm-big.ink{color:var(--ink)}
.hm-big.ghost{-webkit-text-stroke:2.5px rgba(26,31,14,.14);color:transparent}
.hm-unit{font-family:var(--fM);font-size:.68rem;color:var(--text3);letter-spacing:.14em;margin-left:.5rem;align-self:flex-end;margin-bottom:.6rem}

.hero-desc{font-family:var(--fB);font-size:1.05rem;line-height:1.8;color:var(--text2);max-width:420px;margin-bottom:2.5rem;animation:fU .5s .15s both}
.hero-btns{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:2.5rem;animation:fU .5s .22s both}

/* Live data strip */
.hero-live{display:flex;border:1.5px solid var(--border2);border-radius:var(--r12);overflow:hidden;animation:fU .5s .3s both;background:rgba(255,255,255,.6)}
.hl-cell{flex:1;padding:1rem 1.25rem;border-right:1px solid var(--border)}
.hl-cell:last-child{border-right:none}
.hl-label{font-family:var(--fM);font-size:.5rem;color:var(--text4);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.2rem}
.hl-val{font-family:var(--fD);font-weight:800;font-size:1.2rem;color:var(--ink);line-height:1;letter-spacing:-.03em}
.hl-sub{font-family:var(--fM);font-size:.48rem;color:var(--leaf);letter-spacing:.08em;margin-top:.12rem}
.live-dot{width:5px;height:5px;border-radius:50%;background:var(--leaf);display:inline-block;margin-right:.3rem;animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.1}}

.hero-right{animation:fU .5s .15s both}
.hero-solar-wrap{width:100%;height:480px;overflow:hidden;border-radius:var(--r20);border:1.5px solid var(--border);background:var(--leaf-xpale)}
@keyframes fU{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* TICKER — dark band */
.ticker{background:var(--ink);height:40px;overflow:hidden;display:flex;align-items:center}
.ticker-track{display:flex;white-space:nowrap;animation:tick 42s linear infinite}
.ticker-track:hover{animation-play-state:paused}
.t-item{display:inline-flex;align-items:center;gap:.6rem;padding:0 2rem;font-family:var(--fM);font-size:.6rem;color:rgba(255,255,255,.5);letter-spacing:.12em;text-transform:uppercase}
.t-leaf{color:var(--leaf)}
.t-div{width:4px;height:4px;background:var(--leaf);border-radius:50%;flex-shrink:0}
@keyframes tick{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* LAYOUT */
.container{max-width:1280px;margin:0 auto;padding:0 2.5rem}
.container-n{max-width:1060px;margin:0 auto;padding:0 2.5rem}
.sp{padding:7rem 0}

.s-tag{font-family:var(--fM);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.75rem}
.s-tag.lt{color:var(--leaf-lo)}.s-tag.lt::before{content:'☀';font-size:.7rem}
.s-tag.dk{color:var(--leaf)}.s-tag.dk::before{content:'☀';font-size:.7rem}

.s-title{font-family:var(--fD);font-weight:900;font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.01;letter-spacing:-.05em;margin-bottom:1rem}
.s-title.lt{color:var(--ink)}.s-title.dk{color:#fff}
.s-title em{font-style:normal;color:var(--leaf)}

.s-sub{font-family:var(--fB);font-size:1rem;line-height:1.8;max-width:520px}
.s-sub.lt{color:var(--text2)}.s-sub.dk{color:rgba(255,255,255,.6)}

/* ── SERVICES: NUMBERED ACCORDION ── unique layout */
.svc-list{margin-top:3rem;border-top:1.5px solid var(--border2)}
.svc-acc{border-bottom:1.5px solid var(--border2);overflow:hidden;transition:background .3s}
.svc-acc:hover{background:var(--leaf-xpale)}
.svc-acc.open{background:var(--leaf-xpale)}
.svc-acc-hdr{display:flex;align-items:center;gap:1.75rem;padding:1.75rem 0;cursor:pointer}
.sa-num{font-family:var(--fM);font-weight:700;font-size:3.2rem;color:rgba(108,186,66,.2);letter-spacing:-.04em;min-width:72px;line-height:1;transition:color .3s}
.svc-acc.open .sa-num{color:var(--leaf)}
.sa-ico{font-size:1.75rem;min-width:40px;text-align:center}
.sa-title{font-family:var(--fD);font-weight:800;font-size:1.3rem;color:var(--ink);letter-spacing:-.03em;flex:1;line-height:1.1}
.sa-badge{font-family:var(--fM);font-size:.52rem;color:var(--leaf-lo);background:var(--leaf-pale);border:1px solid var(--leaf-edge);padding:.2rem .65rem;border-radius:var(--rf);letter-spacing:.06em;white-space:nowrap}
.sa-tog{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--text3);transition:all .28s;flex-shrink:0}
.svc-acc.open .sa-tog{background:var(--leaf);border-color:var(--leaf);color:#fff;transform:rotate(45deg)}
.svc-acc-body{max-height:0;overflow:hidden;transition:max-height .42s ease}
.svc-acc.open .svc-acc-body{max-height:480px}
.sa-inner{padding:0 0 2.5rem 7.5rem;display:grid;grid-template-columns:1fr 300px;gap:3rem;align-items:start}
.sa-desc{font-family:var(--fB);font-size:.97rem;color:var(--text2);line-height:1.8;margin-bottom:1rem}
.sa-pts{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.5rem}
.sa-pts li{font-family:var(--fB);font-size:.88rem;color:var(--text3);display:flex;align-items:center;gap:.6rem}
.sa-pts li::before{content:'→';color:var(--leaf);font-size:.7rem;flex-shrink:0}
.sa-vis{background:var(--leaf-pale);border-radius:var(--r12);border:1.5px solid var(--leaf-edge);display:flex;align-items:center;justify-content:center;min-height:160px;font-size:3.5rem;position:relative;overflow:hidden}
.sa-vis::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(255,255,255,.4),transparent 60%)}

/* ── INDUSTRIES: IRREGULAR MOSAIC ── */
.ind-mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:.65rem;margin-top:3rem}
.ind-tile{padding:1.6rem;border-radius:var(--r12);position:relative;overflow:hidden;transition:all .3s}
.ind-tile:hover{transform:translateY(-5px);box-shadow:var(--sD)}
.it-wide{grid-column:span 5}.it-norm{grid-column:span 4}.it-tall{grid-column:span 3;grid-row:span 2}
.it-sm{grid-column:span 3}.it-med{grid-column:span 4}.it-xwide{grid-column:span 6}
.it-1{background:#d4edbb;border:1.5px solid #b8d89a}
.it-2{background:#c4e5a8;border:1.5px solid #a8ce8c}
.it-3{background:#e0f2cc;border:1.5px solid #c4dea8}
.it-4{background:var(--leaf);border:1.5px solid var(--leaf-lo)}
.it-4 .it-name{color:#fff}.it-4 .it-num{color:rgba(255,255,255,.55)}.it-4 .it-desc{color:rgba(255,255,255,.75)}
.it-5{background:#b8d898;border:1.5px solid #9cc47c}
.it-6{background:var(--forest);border:1.5px solid var(--forest-lo)}
.it-6 .it-name{color:#fff}.it-6 .it-num{color:rgba(255,255,255,.5)}.it-6 .it-desc{color:rgba(255,255,255,.65)}
.it-7{background:#cceba8;border:1.5px solid #b0d888}
.it-8{background:var(--ink);border:1.5px solid var(--ink2)}
.it-8 .it-name{color:#fff}.it-8 .it-num{color:var(--leaf)}.it-8 .it-desc{color:rgba(255,255,255,.5)}
.it-9{background:#d8f0bc;border:1.5px solid #bcdea0}
.it-10{background:#a8d480;border:1.5px solid #8ec464}
.ind-tile::before{content:'';position:absolute;top:0;right:0;width:50px;height:50px;border-radius:0 var(--r12) 0 50px;background:rgba(255,255,255,.12)}
.it-num{font-family:var(--fM);font-size:.5rem;color:var(--text4);letter-spacing:.18em;margin-bottom:.45rem;display:block}
.it-ico{font-size:1.5rem;margin-bottom:.45rem}
.it-name{font-family:var(--fD);font-weight:800;font-size:.95rem;color:var(--ink);letter-spacing:-.02em;margin-bottom:.25rem;line-height:1.1}
.it-desc{font-family:var(--fB);font-size:.77rem;color:var(--text2);line-height:1.5}

/* ── ABOUT dark band ── */
.about-band{background:var(--ink);position:relative;overflow:hidden}
.about-band::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(108,186,66,.06) 1.5px,transparent 1.5px);background-size:28px 28px;pointer-events:none}
.about-diag-top{position:absolute;top:-1px;left:0;right:0;height:80px;background:var(--cream);clip-path:polygon(0 0,100% 0,100% 20%,0 100%)}
.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative;z-index:1;padding:9rem 0 7rem}
.stat-ring-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.stat-ring{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;border-radius:50%;border:2px solid rgba(108,186,66,.25);background:rgba(108,186,66,.04);padding:1.5rem;text-align:center;transition:all .3s}
.stat-ring:hover{border-color:var(--leaf);background:rgba(108,186,66,.1)}
.sr-num{font-family:var(--fD);font-weight:900;font-size:2.2rem;color:#fff;line-height:1;letter-spacing:-.05em}
.sr-lbl{font-family:var(--fM);font-size:.48rem;color:rgba(255,255,255,.38);letter-spacing:.16em;text-transform:uppercase;margin-top:.25rem}

/* ── SUN STATS BAND ── */
.sun-band{background:var(--gSun);padding:5rem 0;position:relative;overflow:hidden}
.sun-band::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(255,255,255,.04) 20px,rgba(255,255,255,.04) 21px)}
.sun-band::after{content:'';position:absolute;top:-1px;left:0;right:0;height:80px;background:var(--ink);clip-path:polygon(0 0,100% 0,100% 22%,0 100%)}
.sb-inner{display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:1}
.sb-cell{text-align:center;padding:1.5rem 1rem;border-right:1px solid rgba(255,255,255,.2)}
.sb-cell:last-child{border-right:none}
.sb-n{font-family:var(--fD);font-weight:900;font-size:3rem;color:var(--ink);line-height:1;letter-spacing:-.06em}
.sb-l{font-family:var(--fM);font-size:.54rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(26,31,14,.55);margin-top:.3rem}

/* ── PROCESS STEPS ── */
.process-flow{display:flex;gap:0;margin-top:3.5rem;position:relative}
.process-flow::before{content:'';position:absolute;top:36px;left:36px;right:36px;height:2px;background:var(--gLeafT);opacity:.4}
.pf-step{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}
.pf-circle{width:72px;height:72px;border-radius:50%;background:var(--cream);border:2px solid var(--leaf);display:flex;align-items:center;justify-content:center;font-size:1.4rem;position:relative;z-index:1;margin-bottom:1.25rem;transition:all .3s}
.pf-circle:hover{background:var(--leaf);transform:scale(1.08)}
.pf-title{font-family:var(--fD);font-weight:700;font-size:.92rem;color:var(--ink);letter-spacing:-.02em;margin-bottom:.35rem}
.pf-desc{font-family:var(--fB);font-size:.8rem;color:var(--text3);line-height:1.55;max-width:120px}

/* ── TESTIMONIALS ── */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}
.testi-card{background:var(--offwhite);border:1.5px solid var(--border);border-radius:var(--r12);padding:2rem;position:relative;transition:all .3s}
.testi-card::before{content:'"';position:absolute;top:-6px;left:1.5rem;font-family:var(--fD);font-size:4rem;color:var(--leaf);line-height:1;opacity:.35}
.testi-card:hover{border-color:var(--leaf-edge2);box-shadow:var(--sL)}
.tc-stars{color:var(--sun);font-size:.85rem;margin-bottom:.75rem}
.tc-text{font-family:var(--fB);font-size:.91rem;color:var(--text2);line-height:1.7;margin-bottom:1.25rem;font-style:italic}
.tc-name{font-family:var(--fD);font-weight:700;font-size:.88rem;color:var(--ink);letter-spacing:-.01em}
.tc-loc{font-family:var(--fM);font-size:.52rem;color:var(--text4);letter-spacing:.12em;margin-top:.12rem}

/* ── CTA: LEAF GREEN ── */
.cta-section{background:var(--leaf);padding:8rem 2.5rem;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1.5px,transparent 1.5px);background-size:20px 20px;pointer-events:none}
/* Large circle decoration in CTA */
.cta-section::after{content:'';position:absolute;right:-100px;top:-100px;width:500px;height:500px;border-radius:50%;border:60px solid rgba(255,255,255,.06);pointer-events:none}
.cta-dtop{position:absolute;top:-1px;left:0;right:0;height:80px}
.cta-dtop.from-cream{background:var(--cream);clip-path:polygon(0 0,100% 0,100% 22%,0 100%)}
.cta-dtop.from-white{background:var(--offwhite);clip-path:polygon(0 0,100% 0,100% 22%,0 100%)}
.cta-dtop.from-dark{background:var(--ink);clip-path:polygon(0 0,100% 0,100% 22%,0 100%)}
.cta-inner{text-align:center;position:relative;z-index:1;max-width:680px;margin:0 auto}
.cta-title{font-family:var(--fD);font-weight:900;font-size:clamp(2.6rem,5.5vw,5.5rem);line-height:.96;color:#fff;letter-spacing:-.06em;margin-bottom:.8rem;text-shadow:0 4px 24px rgba(26,31,14,.18)}
.cta-title em{font-style:normal;color:var(--sun)}
.cta-sub{font-family:var(--fB);font-size:1.05rem;color:rgba(255,255,255,.82);margin-bottom:2.25rem}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ── PAGE HERO ── */
.page-hero{background:var(--gHero);padding:9.5rem 2.5rem 6.5rem;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(108,186,66,.1) 1.5px,transparent 1.5px);background-size:24px 24px;pointer-events:none}
.page-hero::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:80px}
.page-hero.aw::after{background:var(--offwhite);clip-path:polygon(0 80%,100% 0,100% 100%,0 100%)}
.page-hero.ac::after{background:var(--cream);clip-path:polygon(0 80%,100% 0,100% 100%,0 100%)}
.page-hero.ad::after{background:var(--ink);clip-path:polygon(0 80%,100% 0,100% 100%,0 100%)}
/* Big circle arc on page heros */
.page-hero .ph-arc{position:absolute;right:-80px;bottom:-80px;width:400px;height:400px;border-radius:50%;border:1.5px solid rgba(108,186,66,.15);pointer-events:none}
.ph-bar{position:absolute;top:0;left:0;right:0;height:2px;background:var(--gLeafT)}
.ph-inner{max-width:1280px;margin:0 auto;position:relative;z-index:1}
.bc{display:flex;gap:.4rem;font-family:var(--fM);font-size:.58rem;color:var(--text4);margin-bottom:1.5rem;letter-spacing:.1em;text-transform:uppercase}
.bc a{color:var(--text4);transition:color .2s}
.bc a:hover{color:var(--leaf)}
.bc .sep{color:var(--border2)}
.page-hero h1{font-family:var(--fD);font-weight:900;font-size:clamp(3rem,7vw,7.5rem);line-height:.93;color:var(--ink);margin-bottom:1rem;letter-spacing:-.06em}
.page-hero h1 em{font-style:normal;color:var(--leaf)}
.page-hero .phsub{font-family:var(--fB);font-size:1.05rem;color:var(--text2);max-width:520px;line-height:1.75}

/* ── CONTACT ── */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.ci-block{display:flex;gap:1rem;align-items:flex-start;padding:1.4rem;border:1.5px solid var(--border);background:var(--offwhite);border-radius:var(--r12);transition:all .25s;margin-bottom:1rem}
.ci-block:hover{border-color:var(--leaf-edge2);box-shadow:var(--sL)}
.ci-ico{width:42px;height:42px;background:var(--leaf-pale);border-radius:var(--r8);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem}
.ci-lbl{font-family:var(--fM);font-size:.54rem;letter-spacing:.18em;text-transform:uppercase;color:var(--leaf-lo);margin-bottom:.25rem}
.ci-val{font-family:var(--fB);font-size:.92rem;color:var(--text);line-height:1.55}
.ci-val a{color:var(--leaf-lo);transition:color .2s}
.ci-val a:hover{color:var(--leaf)}
.faq-item{border-bottom:1.5px solid var(--border)}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;cursor:pointer;font-family:var(--fD);font-weight:700;font-size:.93rem;color:var(--ink);transition:color .2s}
.faq-q:hover{color:var(--leaf-lo)}
.faq-tog{width:28px;height:28px;background:var(--leaf-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--leaf-lo);font-size:.85rem;border:1.5px solid var(--leaf-edge);transition:all .25s}
.faq-item.open .faq-tog{background:var(--leaf);color:#fff;transform:rotate(45deg)}
.faq-ans{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-item.open .faq-ans{max-height:220px}
.faq-ans p{font-family:var(--fB);font-size:.91rem;color:var(--text2);line-height:1.7;padding-bottom:1.2rem}

/* ── POLICY ── */
.pol-layout{display:grid;grid-template-columns:200px 1fr;gap:5rem}
.pol-sidebar{position:sticky;top:86px}
.pol-nav-ttl{font-family:var(--fM);font-size:.54rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text4);margin-bottom:1rem}
.pol-nav a{display:block;font-family:var(--fB);font-size:.84rem;color:var(--text2);padding:.3rem 0 .3rem .8rem;border-left:2px solid var(--border2);transition:all .2s;margin-bottom:.2rem}
.pol-nav a:hover{color:var(--leaf-lo);border-left-color:var(--leaf)}
.pol-body h2{font-family:var(--fD);font-weight:700;font-size:1.2rem;color:var(--ink);margin:3rem 0 .8rem;padding-bottom:.5rem;border-bottom:2px solid var(--leaf-pale);letter-spacing:-.02em}
.pol-body p,.pol-body li{font-family:var(--fB);font-size:.92rem;line-height:1.8;color:var(--text2);margin-bottom:.85rem}
.pol-body ul{margin:.5rem 0 .85rem 1.2rem}
.pol-body strong{color:var(--ink)}
.pol-body a{color:var(--leaf-lo)}

/* ── FOOTER ── */
footer{background:var(--ink);border-top:2px solid var(--leaf)}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem;padding:5rem 0 3.5rem;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:2rem}
.f-brand img{height:28px;margin-bottom:1.25rem}
.f-brand p{font-family:var(--fB);font-size:.86rem;line-height:1.7;color:rgba(255,255,255,.36);margin-bottom:1rem}
.f-brand address{font-style:normal;font-family:var(--fB);font-size:.8rem;color:rgba(255,255,255,.25);line-height:1.8}
.f-col-ttl{font-family:var(--fM);font-size:.52rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.2);margin-bottom:1.2rem}
.f-links{display:flex;flex-direction:column;gap:.5rem}
.f-links a{font-family:var(--fB);font-size:.86rem;color:rgba(255,255,255,.36);transition:color .2s}
.f-links a:hover{color:var(--leaf)}
.f-btm{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-bottom:2.5rem}
.f-btm p,.f-btm a{font-family:var(--fM);font-size:.58rem;color:rgba(255,255,255,.18);letter-spacing:.08em}
.f-btm a:hover{color:var(--leaf)}
.f-btm-links{display:flex;gap:2rem}
.f-accent{color:var(--leaf)}

/* BACK TO TOP */
.btt{position:fixed;bottom:2rem;right:2rem;width:46px;height:46px;background:var(--leaf);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--sL);opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s;z-index:999;pointer-events:none;border-radius:50%}
.btt.visible{opacity:1;transform:translateY(0);pointer-events:auto}
.btt:hover{filter:brightness(1.08);transform:translateY(-4px)!important}
.btt svg{width:18px;height:18px;stroke:#fff;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

/* RESPONSIVE */
@media(max-width:1100px){
  .hero-body{grid-template-columns:1fr;padding:3rem 3rem 5rem}.hero-right{display:none}
  .about-inner{grid-template-columns:1fr;gap:3rem;padding:6rem 0 5rem}.about-diag-top{display:none}
  .contact-layout{grid-template-columns:1fr;gap:2.5rem}
  .pol-layout{grid-template-columns:1fr}.pol-sidebar{display:none}
  .f-grid{grid-template-columns:1fr 1fr;gap:3rem}
  .testi-grid{grid-template-columns:1fr 1fr}
  .sa-inner{grid-template-columns:1fr!important;padding-left:4rem}
  .sa-vis{display:none}
}
@media(max-width:768px){
  .nav-links{display:none}.hamburger{display:flex}
  .sb-inner{grid-template-columns:1fr 1fr}.sb-cell{border-right:none;border-bottom:1px solid rgba(255,255,255,.15)}.sb-cell:nth-child(odd){border-right:1px solid rgba(255,255,255,.15)}
  .f-grid{grid-template-columns:1fr}.f-btm{flex-direction:column;text-align:center}
  .sp{padding:4.5rem 0}.testi-grid{grid-template-columns:1fr}
  .ind-mosaic{grid-template-columns:repeat(6,1fr)}
  .it-wide,.it-norm,.it-tall,.it-sm,.it-med,.it-xwide{grid-column:span 3;grid-row:auto}
  .process-flow{flex-direction:column;gap:2rem}.process-flow::before{display:none}
  .hero-live{flex-direction:column}
}
@media(max-width:480px){
  .ind-mosaic{grid-template-columns:1fr 1fr}
  .it-wide,.it-norm,.it-tall,.it-sm,.it-med,.it-xwide{grid-column:span 2;grid-row:auto}
}
