/* ============================================
   SustainAI — Styles (Premium Light Uniform)
   ============================================ */

/* === Reset & Variables === */
*{margin:0;padding:0;box-sizing:border-box}
:root{--f0:#ffffff;--f8:#f5fbf6;--f7:#ebf5ec;--gd:#1b3a23;--g:#2a5c38;--gm:#3a7a4c;--gl:#5da872;--gs:#8cc99e;--gp:#c4e6cf;--gmi:#e2f2e7;--gw:rgba(0,0,0,0.04);--lf:#3d9b55;--lg:#4db866;--cr:#f5fbf6;--cw:#ffffff;--cd:#e1ede3;--ik:#0d1c12;--is:#243a28;--im:#486950;--il:#779c80;--fd:'Fraunces',Georgia,serif;--fb:'Outfit',sans-serif;--fm:'JetBrains Mono',monospace}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:var(--fb);background:var(--f8);color:var(--is);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px}

/* === Nav === */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 48px;height:68px;display:flex;align-items:center;justify-content:space-between;background:rgba(245,251,246,0.85);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(0,0,0,0.03);transition:box-shadow .4s,background .4s}
nav.scrolled{box-shadow:0 10px 40px rgba(0,0,0,0.04);background:rgba(255,255,255,0.95)}
.nl{font-family:var(--fm);font-size:1.05rem;font-weight:600;color:var(--ik);text-decoration:none;display:flex;align-items:center;gap:10px}
.nm{width:30px;height:30px;background:var(--gd);border-radius:8px;display:flex;align-items:center;justify-content:center}
.nm svg{width:16px;height:16px}
/* Desktop: .nr is fixed to match the nav bar (it lives outside <nav> to avoid stacking context issues) */
.nr{position:fixed;top:0;right:48px;height:68px;display:flex;align-items:center;gap:28px;z-index:101}
.nk{font-size:.95rem;font-weight:500;color:var(--im);text-decoration:none;transition:color .2s}
.nk:hover{color:var(--ik)}
.nc{font-family:var(--fb);font-size:.95rem;font-weight:600;padding:9px 24px;background:var(--gd);color:#fff;border:none;border-radius:100px;cursor:pointer;text-decoration:none;transition:all .3s}
.nc:hover{background:var(--g);transform:translateY(-1px);box-shadow:0 4px 16px rgba(42,92,56,0.15)}


/* === Scroll Reveal === */
.sr{opacity:0;transform:translateY(60px) scale(0.97);filter:blur(4px);transition:opacity 1.2s cubic-bezier(0.16,1,0.3,1),transform 1.2s cubic-bezier(0.16,1,0.3,1),filter 1s cubic-bezier(0.16,1,0.3,1);will-change:opacity,transform,filter}
.sr.vis{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}.d4{transition-delay:.48s}.d5{transition-delay:.6s}
.sr-scale{opacity:0;transform:scale(0.85);filter:blur(6px);transition:opacity 1.4s cubic-bezier(0.16,1,0.3,1),transform 1.4s cubic-bezier(0.16,1,0.3,1),filter 1.2s cubic-bezier(0.16,1,0.3,1)}
.sr-scale.vis{opacity:1;transform:scale(1);filter:blur(0)}
.sr-left{opacity:0;transform:translateX(-80px) scale(0.97);filter:blur(3px);transition:all 1.2s cubic-bezier(0.16,1,0.3,1)}
.sr-left.vis{opacity:1;transform:translateX(0) scale(1);filter:blur(0)}
.sr-right{opacity:0;transform:translateX(80px) scale(0.97);filter:blur(3px);transition:all 1.2s cubic-bezier(0.16,1,0.3,1)}
.sr-right.vis{opacity:1;transform:translateX(0) scale(1);filter:blur(0)}
.parallax{transition:transform .1s linear;will-change:transform}
.pcd,.ss,.di,.ge,.prfs,.ucd{transition:all .5s cubic-bezier(0.16,1,0.3,1)}

/* === Hero === */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:140px 48px 80px;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-20%;right:-10%;width:800px;height:800px;background:radial-gradient(circle,rgba(77,184,102,0.15)0%,transparent 60%);pointer-events:none}
.hero::after{content:'';position:absolute;bottom:-30%;left:-20%;width:900px;height:900px;background:radial-gradient(circle,rgba(93,168,114,0.1)0%,transparent 50%);pointer-events:none}
.hc{text-align:center;max-width:880px;position:relative;z-index:1}
.ht{font-family:var(--fm);font-size:.85rem;font-weight:500;color:var(--gm);letter-spacing:.12em;text-transform:uppercase;margin-bottom:32px;display:inline-block;padding:6px 16px;background:rgba(42,92,56,0.06);border:1px solid rgba(42,92,56,0.1);border-radius:100px;animation:subtlePulse 3s ease-in-out infinite}
@keyframes subtlePulse{0%,100%{box-shadow:0 0 0 0 rgba(77,184,102,0)}50%{box-shadow:0 0 0 8px rgba(77,184,102,0.08)}}
.hero h1{font-family:var(--fd);font-size:clamp(3rem,6.5vw,5.5rem);font-weight:400;color:var(--ik);line-height:1.05;letter-spacing:-.03em;margin-bottom:28px}
.hero h1 em{font-style:italic;color:var(--gm);font-weight:300}
.hs{font-size:1.35rem;font-weight:300;color:var(--im);max-width:620px;margin:0 auto 48px;line-height:1.75}
.hc-actions{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:24px}

/* Hero social proof badge */
.hero-proof{display:flex;align-items:center;justify-content:center;gap:12px;font-family:var(--fm);font-size:.8rem;font-weight:500;color:var(--im);letter-spacing:.02em;margin-bottom:24px;opacity:0.8}
.proof-dot{width:4px;height:4px;border-radius:50%;background:var(--gm);flex-shrink:0}

/* === Global Button Styles === */
.btn-primary{font-family:var(--fb);font-size:1.05rem;font-weight:500;padding:16px 40px;background:var(--gd);color:#fff;border:none;border-radius:100px;cursor:pointer;text-decoration:none;transition:all .3s;display:inline-block;box-shadow:0 8px 24px rgba(27,58,35,0.15)}
.btn-primary:hover{background:var(--g);transform:translateY(-2px);box-shadow:0 12px 30px rgba(27,58,35,0.2)}
.btn-secondary{font-family:var(--fb);font-size:1.05rem;font-weight:500;padding:15px 38px;background:var(--cw);color:var(--ik);border:1px solid rgba(0,0,0,0.08);border-radius:100px;cursor:pointer;text-decoration:none;transition:all .3s;display:inline-block;box-shadow:0 4px 12px rgba(0,0,0,0.02)}
.btn-secondary:hover{background:#f0f5f1;border-color:rgba(0,0,0,0.12);transform:translateY(-2px)}

/* === Glassmorphism Panels (Light Mode) === */
.glass-panel{background:rgba(255,255,255,0.7);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(0,0,0,0.04);border-radius:24px;box-shadow:0 24px 60px rgba(0,0,0,0.03)}

/* === Problem === */
.prob{padding:120px 48px;position:relative;overflow:hidden}
.pc{max-width:1100px;margin:0 auto;position:relative;z-index:1}
.plbl{font-family:var(--fm);font-size:.85rem;font-weight:500;color:var(--gm);letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px}
.prob h2{font-family:var(--fd);font-size:clamp(2.2rem,4.5vw,3.5rem);font-weight:400;color:var(--ik);line-height:1.15;letter-spacing:-.02em;margin-bottom:32px;max-width:800px}
.prob h2 em{font-style:italic;color:var(--gm);font-weight:300}
.pb{font-size:1.25rem;font-weight:300;color:var(--im);line-height:1.8;max-width:680px;margin-bottom:72px}
.pcs{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.pcd{background:var(--cw);border:1px solid rgba(0,0,0,0.04);border-radius:16px;padding:40px 32px;transition:all .4s;box-shadow:0 8px 24px rgba(0,0,0,0.02)}
.pcd:hover{background:var(--cw);transform:translateY(-4px);border-color:rgba(77,184,102,0.2);box-shadow:0 20px 40px rgba(0,0,0,0.06)}
.pcd svg{margin-bottom:24px;stroke:var(--gm)}
.pcd h3{font-family:var(--fd);font-size:1.4rem;font-weight:400;color:var(--ik);margin-bottom:12px}
.pcd p{font-size:1.05rem;font-weight:300;color:var(--is);line-height:1.6}

/* === Solution (Architecture) === */
.sol{padding:140px 48px;position:relative}
.sol::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1000px;height:600px;background:radial-gradient(ellipse,rgba(77,184,102,0.06)0%,transparent 60%);pointer-events:none}
.solc{max-width:1100px;margin:0 auto;position:relative;z-index:1}
.solh{text-align:center;margin-bottom:80px}
.sol h2{font-family:var(--fd);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--ik);line-height:1.2;letter-spacing:-.02em}
.sst{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.ss{background:rgba(255,255,255,0.85);backdrop-filter:blur(16px);border:1px solid rgba(0,0,0,0.04);border-radius:24px;padding:48px 36px;text-align:center;transition:all .4s cubic-bezier(.23,1,.32,1);position:relative;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,0.03)}
.ss::after{content:'';position:absolute;bottom:0;left:10%;right:10%;height:3px;background:linear-gradient(90deg,transparent,var(--g),transparent);transform:scaleX(0);transition:transform .5s;opacity:0.6}
.ss:hover::after{transform:scaleX(1)}
.ss:hover{transform:translateY(-8px);box-shadow:0 30px 60px rgba(0,0,0,0.08);border-color:rgba(77,184,102,0.2)}
.ssn{font-family:var(--fm);font-size:1.1rem;font-weight:500;color:var(--gm);margin-bottom:24px;opacity:0.8}
.ss h3{font-family:var(--fd);font-size:1.8rem;font-weight:500;color:var(--ik);margin-bottom:8px}
.sss{font-family:var(--fm);font-size:.85rem;color:var(--gm);letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px;opacity:0.9}
.ss p{font-size:1.1rem;font-weight:300;color:var(--is);line-height:1.7}

/* === Use Cases === */
.usecases{padding:140px 48px}
.ucc{max-width:1100px;margin:0 auto}
.uch{text-align:center;margin-bottom:80px}
.ucc h2{font-family:var(--fd);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--ik);margin-bottom:20px}
.uc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.uc-card{padding:40px;background:var(--cw);border:1px solid rgba(0,0,0,0.04);border-radius:20px;transition:all .3s;box-shadow:0 4px 12px rgba(0,0,0,0.02)}
.uc-card:hover{background:var(--cw);border-color:rgba(77,184,102,0.2);box-shadow:0 12px 30px rgba(0,0,0,0.05);transform:translateY(-2px);border-left:3px solid var(--gm)}
.uc-card h3{font-family:var(--fd);font-size:1.5rem;font-weight:500;color:var(--ik);margin-bottom:12px}
.uc-card p{font-size:1.05rem;color:var(--is);line-height:1.6;font-weight:300}
.uc-icon{display:block;margin-bottom:16px;opacity:0.85}

/* === Envision (5:30 AM Workflow) === */
.env{padding:160px 48px;position:relative;overflow:hidden}
.env::before{content:'';position:absolute;top:20%;left:50%;transform:translateX(-50%);width:800px;height:400px;background:radial-gradient(ellipse,rgba(77,184,102,0.08)0%,transparent 60%);pointer-events:none}
.ec{max-width:800px;margin:0 auto;text-align:center;position:relative;z-index:1}
.et{font-family:var(--fm);font-size:.9rem;font-weight:500;color:var(--gm);letter-spacing:.15em;text-transform:uppercase;margin-bottom:40px}
.env h2{font-family:var(--fd);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:300;font-style:italic;color:var(--ik);line-height:1.35;margin-bottom:48px}
.en{font-size:1.25rem;font-weight:300;color:var(--is);line-height:1.9;text-align:left;max-width:650px;margin:0 auto}
.en p{margin-bottom:24px}
.en strong{font-weight:400;color:var(--ik)}

/* === About / Origin === */
.about{padding:140px 48px;position:relative}
.aboutc{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-q{font-family:var(--fd);font-size:clamp(1.25rem,2.5vw,1.65rem);font-weight:300;font-style:italic;color:var(--ik);line-height:1.55;margin-bottom:32px;padding-left:28px;position:relative}
.about-q::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:3px;background:linear-gradient(180deg,var(--gm),transparent);border-radius:2px}
.about-p{font-size:1.15rem;font-weight:300;color:var(--is);line-height:1.8;margin-bottom:24px}

/* === Proof === */
.prf{padding:120px 48px}
.prfc{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.prfl{font-family:var(--fm);font-size:.85rem;font-weight:500;color:var(--gm);letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px}
.prf h2{font-family:var(--fd);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:400;color:var(--ik);line-height:1.25;margin-bottom:20px}
.prfb{font-size:1.15rem;font-weight:300;color:var(--is);line-height:1.8}
.prfsg{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.prfs{background:var(--cw);border:1px solid rgba(0,0,0,0.04);border-radius:16px;padding:32px 24px;text-align:center;transition:all .3s;box-shadow:0 4px 12px rgba(0,0,0,0.02)}
.prfs:hover{box-shadow:0 16px 30px rgba(0,0,0,0.06);transform:translateY(-4px);border-color:rgba(77,184,102,0.2)}
.prfsn{font-family:var(--fd);font-size:2.4rem;font-weight:500;color:var(--gd);line-height:1;margin-bottom:8px;transition:transform 0.6s cubic-bezier(0.16,1,0.3,1)}
.prfs.vis .prfsn{animation:statPop 0.6s cubic-bezier(0.16,1,0.3,1)}
@keyframes statPop{0%{transform:scale(0.7);opacity:0}100%{transform:scale(1);opacity:1}}
.prfsl{font-size:1rem;font-weight:300;color:var(--im)}

/* === Differentiators === */
.dif{padding:120px 48px}
.difc{max-width:1000px;margin:0 auto}
.difh{text-align:center;margin-bottom:64px}
.dif h2{font-family:var(--fd);font-size:clamp(2rem,3.5vw,2.8rem);font-weight:400;color:var(--ik);line-height:1.25}
.difg{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.di{padding:40px 36px;border-radius:20px;border:1px solid rgba(0,0,0,0.04);background:var(--cw);transition:all .3s;box-shadow:0 4px 12px rgba(0,0,0,0.02)}
.di:hover{border-color:rgba(77,184,102,0.2);transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,0.06)}
.di h3{font-family:var(--fd);font-size:1.3rem;font-weight:500;color:var(--ik);margin-bottom:12px}
.di p{font-size:1.05rem;font-weight:300;color:var(--is);line-height:1.6}
.di-icon{display:block;margin-bottom:16px;opacity:0.75}
.di:hover .di-icon{opacity:1}

/* === Team === */
.team{padding:140px 48px;position:relative;overflow:hidden}
.team::before{content:'';position:absolute;top:-150px;right:-150px;width:600px;height:600px;background:radial-gradient(circle,rgba(77,184,102,0.08)0%,transparent 60%);pointer-events:none}
.tc{max-width:1000px;margin:0 auto;position:relative;z-index:1}
.th{text-align:center;margin-bottom:32px}
.team h2{font-family:var(--fd);font-size:clamp(2rem,4vw,2.8rem);font-weight:400;color:var(--ik);line-height:1.2;letter-spacing:-.02em;margin-bottom:16px}
.ti{font-size:1.15rem;font-weight:300;color:var(--is);max-width:600px;margin:0 auto 72px;line-height:1.75;text-align:center}
.ts{display:flex;flex-direction:column;position:relative}
.ts::before{content:'';position:absolute;top:40px;bottom:40px;left:50%;width:2px;background:linear-gradient(180deg,transparent,rgba(77,184,102,0.15) 10%,rgba(77,184,102,0.15) 90%,transparent);transform:translateX(-1px)}
.tm{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:48px 0;position:relative}
.tm:nth-child(even){direction:rtl}
.tm:nth-child(even)>*{direction:ltr}
.tm::before{content:'';position:absolute;left:50%;top:50%;width:12px;height:12px;background:var(--cw);border:2px solid var(--gm);border-radius:50%;transform:translate(-50%,-50%);z-index:2;box-shadow:0 0 0 4px rgba(77,184,102,0.1)}
.tp{display:flex;justify-content:center;align-items:center}
.tp svg{width:280px;height:300px}
.team-photo{
  width:240px;height:240px;
  border-radius:50%;
  object-fit:cover;
  object-position:center top;
  border:3px solid rgba(77,184,102,0.25);
  box-shadow:0 8px 32px rgba(0,0,0,0.08);
  display:block;
}
.tinfo{padding:0 20px}
.tn{font-family:var(--fd);font-size:1.8rem;font-weight:500;color:var(--ik);margin-bottom:8px}
.tr{font-family:var(--fm);font-size:.9rem;font-weight:500;color:var(--gm);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.td{font-size:1rem;color:var(--is);margin-bottom:16px;font-weight:400}
.tbio{font-size:1.05rem;font-weight:300;color:var(--im);line-height:1.7;margin-bottom:24px}
.tli{display:inline-flex;align-items:center;gap:8px;font-family:var(--fm);font-size:.85rem;font-weight:500;color:var(--gd);text-decoration:none;padding:8px 18px;border:1px solid rgba(27,58,35,0.15);border-radius:100px;transition:all .3s;background:var(--cw)}
.tli:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(27,58,35,0.06);border-color:var(--gm)}
.tli svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}

/* === CTA === */
.cta{padding:160px 48px;text-align:center;position:relative;overflow:hidden}
.cta::before{content:'';position:absolute;bottom:-100px;left:50%;transform:translateX(-50%);width:1000px;height:500px;background:radial-gradient(ellipse,rgba(77,184,102,0.1)0%,transparent 60%);pointer-events:none}
.ctac{max-width:700px;margin:0 auto;position:relative;z-index:1}
.cta h2{font-family:var(--fd);font-size:clamp(2.2rem,4.5vw,3.2rem);font-weight:400;color:var(--ik);line-height:1.2;margin-bottom:24px}
.ctab{font-size:1.25rem;font-weight:300;color:var(--is);line-height:1.75;margin-bottom:48px}
.cn{margin-top:24px;font-size:1rem;font-weight:300;color:var(--im);font-style:italic}

/* === Footer === */
footer{padding:60px 48px 40px;border-top:1px solid rgba(0,0,0,0.04)}
.fi{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}
.fb{font-family:var(--fm);font-size:1.05rem;font-weight:600;color:var(--gd)}
.fsu{font-size:.95rem;font-weight:300;color:var(--im);margin-top:6px}
.fl{display:flex;gap:28px}
.fl a{font-size:.95rem;font-weight:400;color:var(--im);text-decoration:none;transition:color .2s}
.fl a:hover{color:var(--ik)}
.fgeo{font-family:var(--fm);font-size:.8rem;font-weight:400;color:var(--il);margin-top:6px;letter-spacing:0.03em}
.fc{padding:24px 0 0;font-size:.8rem;color:var(--il);font-weight:300;text-align:center;border-top:1px solid rgba(0,0,0,0.04);margin-top:40px}

/* === Utilities & Modal === */
.skip-link{position:absolute;top:-100%;left:16px;background:var(--gd);color:#fff;padding:12px 24px;border-radius:0 0 8px 8px;z-index:200;font-size:.85rem;text-decoration:none;transition:top .3s}
.skip-link:focus{top:0}
*:focus-visible{outline:2px solid var(--lg);outline-offset:3px;border-radius:4px}
body.loading{opacity:0}
body.loaded{opacity:1;transition:opacity .5s ease}

/* Hamburger */
.hb{display:none;background:none;border:none;cursor:pointer;padding:8px;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px;z-index:101}
.hb span{display:block;width:22px;height:2px;background:var(--ik);border-radius:2px;transition:all .3s}
.hb.open span:first-child{transform:rotate(45deg) translate(5px,5px)}
.hb.open span:nth-child(2){opacity:0}
.hb.open span:last-child{transform:rotate(-45deg) translate(5px,-5px)}

/* Scroll Top */
.stt{position:fixed;bottom:32px;right:32px;width:48px;height:48px;background:var(--cw);color:var(--gd);border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;opacity:0;visibility:hidden;transform:translateY(12px);transition:all .35s;z-index:90;box-shadow:0 8px 24px rgba(0,0,0,0.08);border:1px solid rgba(0,0,0,0.05)}
.stt.vis{opacity:1;visibility:visible;transform:translateY(0)}
.stt:hover{background:var(--gd);color:#fff;transform:translateY(-2px);box-shadow:0 12px 30px rgba(27,58,35,0.2)}

/* Modal */
.modal-overlay{position:fixed;inset:0;background:rgba(255,255,255,0.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:200;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .35s}
.modal-overlay.open{opacity:1;visibility:visible}
.modal{background:var(--cw);border:1px solid rgba(0,0,0,0.06);border-radius:24px;padding:48px 40px;max-width:520px;width:90%;max-height:90vh;overflow-y:auto;transform:translateY(24px) scale(0.97);transition:transform .4s cubic-bezier(.23,1,.32,1);box-shadow:0 32px 80px rgba(0,0,0,0.1)}
.modal-overlay.open .modal{transform:translateY(0) scale(1)}
.modal-close{position:absolute;top:20px;right:20px;background:rgba(0,0,0,0.04);border:none;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s;color:var(--im)}
.modal-close:hover{background:rgba(0,0,0,0.08);color:var(--ik)}
.modal h3{font-family:var(--fd);font-size:1.8rem;font-weight:500;color:var(--ik);margin-bottom:8px}
.modal .modal-sub{font-size:1rem;font-weight:300;color:var(--im);margin-bottom:32px}
.cf-group{margin-bottom:24px}
.cf-group label{display:block;font-family:var(--fm);font-size:.75rem;font-weight:500;color:var(--im);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}
.cf-group input,.cf-group textarea{width:100%;padding:14px 16px;border:1px solid rgba(0,0,0,0.08);border-radius:12px;background:var(--cr);font-family:var(--fb);font-size:1rem;color:var(--ik);transition:border-color .2s,box-shadow .2s;outline:none;resize:vertical}
.cf-group input:focus,.cf-group textarea:focus{border-color:var(--gm);box-shadow:0 0 0 3px rgba(58,122,76,0.15);background:var(--cw)}
.cf-group textarea{min-height:120px}
.cf-submit{font-family:var(--fb);font-size:1.05rem;font-weight:600;padding:16px 36px;background:var(--gd);color:#fff;border:none;border-radius:100px;cursor:pointer;transition:all .3s;width:100%;display:flex;align-items:center;justify-content:center;gap:8px}
.cf-submit:hover{background:var(--g);transform:translateY(-1px);box-shadow:0 8px 24px rgba(27,58,35,0.15)}
.cf-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}
.cf-status{text-align:center;padding:16px 0;font-size:.95rem;border-radius:12px;margin-top:20px;display:none;border:1px solid transparent}
.cf-status.success{display:block;background:rgba(77,184,102,0.1);color:var(--gd);border-color:rgba(77,184,102,0.2)}
.cf-status.error{display:block;background:rgba(220,53,69,0.05);color:#c83232;border-color:rgba(220,53,69,0.15)}
.cf-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Error messages for validation */
.cf-error{font-size:.78rem;color:#c83232;margin-top:6px;min-height:0;transition:all .2s}
.cf-error:empty{display:none}
.cf-group input.invalid,.cf-group textarea.invalid{border-color:#c83232;box-shadow:0 0 0 3px rgba(200,50,50,0.1)}
.cf-group input.valid,.cf-group textarea.valid{border-color:var(--gm);box-shadow:0 0 0 3px rgba(58,122,76,0.1)}

/* Demo nav link accent */
.demo-nav-link{position:relative}


/* === Responsive === */

/* ── Tablet (≤1000px) ─────────────────────────────────── */
@media(max-width:1000px){
  .sc,.gc,.prfc,.aboutc{grid-template-columns:1fr;gap:48px}
  .pcs,.sst,.difg,.uc-grid{grid-template-columns:1fr}
  .tm{grid-template-columns:1fr;gap:32px;padding-left:56px}
  .ts::before{left:24px}
  .tm::before{left:24px;top:60px}
  .tm:nth-child(even){direction:ltr}
  .tp{justify-content:flex-start}
  .sol,.prob,.usecases,.prf,.dif,.team,.about,.cta{padding-left:36px;padding-right:36px}
  .tp svg{width:220px;height:240px}
  .team-photo{width:200px;height:200px}
}

/* ── Small Tablet (≤768px) ────────────────────────────── */
@media(max-width:768px){
  .hero{min-height:auto;padding:120px 28px 70px}
  .hero h1{font-size:clamp(2.4rem,7vw,3.6rem);letter-spacing:-.02em}
  .hs{font-size:1.15rem}
  .hc-actions{flex-direction:column;align-items:stretch;gap:12px}
  .btn-primary,.btn-secondary{width:100%;text-align:center;justify-content:center;box-sizing:border-box}
  .pcs,.sst,.difg,.uc-grid,.prfsg{grid-template-columns:1fr}
  .aboutc,.prfc{grid-template-columns:1fr;gap:36px}
  .sol,.prob,.usecases,.prf,.dif,.team,.about{padding-top:80px;padding-bottom:80px;padding-left:28px;padding-right:28px}
  .cta{padding:80px 28px!important}
  footer{padding:40px 28px 28px}
  .fi{flex-direction:column;gap:20px;text-align:center}
  .fl{justify-content:center;flex-wrap:wrap;gap:16px}
  .prfsg{grid-template-columns:1fr 1fr}
  .tp svg{width:200px;height:220px}
  .team-photo{width:180px;height:180px}
}

/* ── Mobile (≤768px) — Hamburger ────────────────────────── */
@media(max-width:768px){
  nav{padding:0 20px;height:60px}
  .hb{display:flex !important}

  /* Panel sits below nav, slides down — NOT full-screen */
  .nr{
    position:fixed !important;
    top:60px !important;
    left:0 !important; right:0 !important;
    height:auto !important;
    max-height:0;
    overflow:hidden;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:0 !important;
    background:#fff;
    border-bottom:1px solid rgba(0,0,0,0.06);
    box-shadow:0 16px 48px rgba(0,0,0,0.1);
    z-index:9999;
    transition:max-height 0.35s cubic-bezier(0.4,0,0.2,1), padding 0.35s cubic-bezier(0.4,0,0.2,1);
  }

  /* Open: expand to auto height (capped so page is still visible) */
  .nr.open{
    display:flex !important;
    max-height:70vh;
    padding:12px 0 16px !important;
    overflow-y:auto;
  }

  /* Nav links — big, centered rows */
  .nr .nk{
    display:block !important;
    width:100% !important;
    text-align:center;
    padding:16px 24px;
    font-size:1.15rem;
    font-weight:500;
    color:var(--ik);
    text-decoration:none;
    transition:background 0.15s, color 0.15s;
    border-radius:0;
  }
  .nr .nk:hover{background:rgba(77,184,102,0.06);color:var(--gm)}

  /* CTA — separator line + green accent */
  .nr .nc{
    display:block !important;
    width:auto !important;
    text-align:center;
    padding:16px 24px;
    margin:4px 24px 0;
    font-size:1rem;
    font-weight:600;
    color:#fff;
    background:var(--gd);
    border-radius:12px;
    text-decoration:none;
    transition:background 0.2s;
    box-shadow:none;
    transform:none;
  }
  .nr .nc:hover{background:var(--g);transform:none;box-shadow:none}
}

/* ── Mobile (≤600px) ──────────────────────────────────── */
@media(max-width:600px){
  /* Padding reset */
  section,.hero,.prob,.usecases,.sol,.prf,.dif,.cta,.team,.about{padding-left:20px!important;padding-right:20px!important}
  .hero{padding-top:112px;padding-bottom:56px}

  /* Nav handled by ≤768px block above — no overrides needed here */
  nav{background:rgba(247,252,248,0.99)}

  /* Hero */
  .hero h1{font-size:clamp(2.2rem,9vw,2.8rem);letter-spacing:-.015em}
  .ht{font-size:.75rem}
  .hs{font-size:1rem;margin-bottom:32px}
  .hc-actions{flex-direction:column;gap:10px;align-items:stretch}
  .btn-primary,.btn-secondary{width:100%;text-align:center;justify-content:center;padding:15px 24px;font-size:1rem}

  /* Hero SVG (hide on very small screens) */
  .hero svg.parallax{display:none!important}

  /* Sections */
  .sol,.prob,.usecases,.prf,.dif,.about{padding-top:72px!important;padding-bottom:72px!important}
  .team{padding-top:80px!important;padding-bottom:60px!important}

  /* Typography */
  .prob h2,.sol h2,.dif h2,.team h2,.ucc h2,.cta h2,.env h2,.prf h2{font-size:clamp(1.8rem,6.5vw,2.4rem)}
  .pb,.prfb,.about-p,.tbio{font-size:0.95rem}

  /* Timeline (Team) */
  .ts::before{display:none}
  .tm{padding-left:0!important;grid-template-columns:1fr;gap:24px}
  .tm::before{display:none}
  .tm:nth-child(even){direction:ltr}
  .tp{justify-content:center}
  .tp svg{width:180px;height:200px}
  .team-photo{width:150px;height:150px}
  .tinfo{padding:0}
  .tn{font-size:1.5rem}

  /* Proof / Evidence */
  .prfsg{grid-template-columns:1fr}
  .prfsn{font-size:2rem}
  .sc,.gc{grid-template-columns:1fr}

  /* Footer */
  footer{padding:36px 20px 24px}
  .fi{flex-direction:column;gap:16px;text-align:center}
  .fl{justify-content:center;flex-wrap:wrap;gap:12px}
  .fc{font-size:.75rem}

  /* CTA */
  .cta{padding:72px 20px!important}
  .ctab{font-size:1rem}
  .cn{font-size:.9rem}

  /* Modal */
  .modal{padding:28px 20px;border-radius:20px}
  .modal h3{font-size:1.5rem}

  /* Misc */
  .en{font-size:1rem}
  .about-q{font-size:1.1rem}
  .stt{bottom:20px;right:16px;width:42px;height:42px}
}

