:root{
  --teal:#2A6B7C;--teal-d:#1d4e5c;--teal-l:#2e85a0;
  --green:#4a9e41;--green-l:#3d8a35;--green-d:#2d6b26;
  --green-gl:rgba(74,158,65,0.1);--green-gs:rgba(74,158,65,0.25);
  --white-bg:#ffffff;--alt-bg:#f2f8f2;--card-bg:#ffffff;--subtle-bg:#eef6ee;
  --text:#1a2e1a;--text-body:#364f40;--text-muted:#5a7a68;
  --border:rgba(74,158,65,0.22);--border2:rgba(42,107,124,0.18);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{background:var(--white-bg);color:var(--text);font-family:'Inter',sans-serif;font-weight:400;overflow-x:hidden;}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:112px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(74,158,65,.18);box-shadow:0 1px 14px rgba(0,0,0,.06);}
.nlogo{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;line-height:1;}
.nlogo img{height:68px;width:auto;display:block;}
.nslogan{display:flex;flex-direction:column;align-items:center;gap:1px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:10px;letter-spacing:.085em;text-transform:uppercase;color:#2A4651;white-space:nowrap;}
.nl{display:flex;align-items:center;gap:28px;list-style:none;}
.nl button,.nl a{background:none;border:none;cursor:pointer;color:#4a6a55;font-family:'Montserrat',sans-serif;font-weight:600;font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;padding:3px 0;position:relative;transition:color .2s;}
.nl button::after,.nl a::after{content:'';position:absolute;bottom:-3px;left:0;right:100%;height:1px;background:var(--green);transition:right .3s;}
.nl button:hover,.nl button.active,.nl a:hover,.nl a.active{color:var(--green);}
.nl button.active::after,.nl button:hover::after,.nl a.active::after,.nl a:hover::after{right:0;}
.ncta{border:1.5px solid var(--green)!important;padding:7px 18px!important;border-radius:3px;color:var(--green)!important;transition:background .2s,box-shadow .2s!important;}
.ncta:hover{background:var(--green-gl)!important;box-shadow:0 0 12px var(--green-gs)!important;}
.ncta::after{display:none!important;}
.ntoggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.ntoggle span{display:block;width:22px;height:2px;background:var(--green);border-radius:1px;}

/* ── SYSTEM ── */
#app{margin-top:112px;}
.page{display:block;}
.page.active{display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 5%;}

/* ── SHARED TYPES ── */
.sec-label{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.28em;color:var(--green);text-transform:uppercase;margin-bottom:10px;}
.sec-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(1.6rem,3.2vw,2.6rem);letter-spacing:.01em;text-transform:uppercase;line-height:1.1;margin-bottom:14px;color:var(--text);}
.sec-title .g{color:var(--green);}
.sec-title .t{color:var(--teal);}
.sec-desc{color:var(--text-body);font-size:.94rem;line-height:1.78;}
.btn-p{background:var(--green);color:#fff;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;padding:13px 30px;border:none;border-radius:3px;cursor:pointer;transition:box-shadow .25s,transform .2s,background .2s;display:inline-block;}
.btn-p:hover{background:var(--green-l);box-shadow:0 0 22px var(--green-gs);transform:translateY(-1px);}
.btn-s{background:transparent;color:var(--green);font-family:'Montserrat',sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;padding:12px 30px;border:1.5px solid var(--green);border-radius:3px;cursor:pointer;transition:background .2s,color .2s;display:inline-block;}
.btn-s:hover{background:var(--green-gl);}

/* ── ANIMATIONS ── */
@keyframes fu{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(74,158,65,.4);}50%{box-shadow:0 0 0 5px rgba(74,158,65,0);}}
.fi{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease;}
.fi.v{opacity:1;transform:none;}

/* ═══════════ HOME ═══════════ */

/* HERO */
.h-hero{min-height:calc(100vh - 70px);display:grid;grid-template-columns:54% 46%;position:relative;overflow:hidden;}
@media(max-width:860px){.h-hero{grid-template-columns:1fr;}}
.h-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 0% 50%,rgba(74,158,65,.06) 0%,transparent 60%),radial-gradient(ellipse 50% 60% at 100% 30%,rgba(42,107,124,.04) 0%,transparent 60%);pointer-events:none;}
.h-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(74,158,65,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(74,158,65,.05) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;}
.h-left{display:flex;flex-direction:column;justify-content:center;padding:72px 5% 72px 6%;position:relative;z-index:2;}
.h-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(74,158,65,.1);border:1px solid rgba(74,158,65,.3);border-radius:20px;padding:5px 14px;font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.14em;color:var(--green);text-transform:uppercase;margin-bottom:22px;width:fit-content;animation:fu .5s ease .05s both;}
.h-dot{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 2s infinite;}
.h-logo{height:58px;width:auto;margin-bottom:22px;animation:fu .5s ease .1s both;}
.h-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(2rem,4vw,3.5rem);line-height:1.06;letter-spacing:.01em;text-transform:uppercase;color:var(--text);margin-bottom:18px;animation:fu .55s ease .18s both;}
.h-title .g{color:var(--green);}
.h-title .t{color:var(--teal);}
.h-sub{font-size:.97rem;color:var(--text-body);max-width:480px;line-height:1.78;margin-bottom:30px;animation:fu .55s ease .26s both;}
.h-btns{display:flex;gap:12px;flex-wrap:wrap;animation:fu .55s ease .34s both;}
.h-note{margin-top:26px;font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.12em;color:var(--text-muted);animation:fu .55s ease .42s both;}
.h-note span{color:var(--green);font-weight:700;}

/* HERO DASHBOARD */
.h-right{display:flex;flex-direction:column;justify-content:center;padding:56px 5% 56px 3%;position:relative;z-index:2;border-left:1px solid rgba(74,158,65,.14);background:var(--alt-bg);}
@media(max-width:860px){.h-right{border-left:none;border-top:1px solid rgba(74,158,65,.14);padding:40px 5%;}}
.dash-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;}
.dash-title{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.24em;color:var(--green);text-transform:uppercase;}
.dash-live{display:flex;align-items:center;gap:6px;font-family:'Space Mono',monospace;font-size:.55rem;letter-spacing:.1em;color:var(--green);}
.dlive-dot{width:5px;height:5px;border-radius:50%;background:var(--green);animation:pulse 1.8s infinite;}
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;}
.dc{background:#fff;border:1px solid var(--border);border-radius:5px;padding:13px 14px;position:relative;overflow:hidden;box-shadow:0 1px 5px rgba(0,0,0,.04);}
.dc::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--teal),var(--green));}
.dc-wide{grid-column:span 2;}
.dct{font-family:'Space Mono',monospace;font-size:.52rem;letter-spacing:.15em;color:var(--text-muted);text-transform:uppercase;margin-bottom:5px;}
.dcv{font-family:'Montserrat',sans-serif;font-size:1.5rem;font-weight:800;color:var(--text);line-height:1;}
.dcv .g{color:var(--green);}
.dcv .t{color:var(--teal);}
.dcp{font-family:'Space Mono',monospace;font-size:.52rem;margin-top:4px;}
.pos{color:#2a8a2a;}.neg{color:#c0392b;}
.dtags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px;}
.dtag{background:var(--subtle-bg);border:1px solid var(--border2);border-radius:2px;padding:3px 9px;font-family:'Space Mono',monospace;font-size:.5rem;letter-spacing:.08em;color:var(--text-body);text-transform:uppercase;}
.dbar-wrap{background:#fff;border:1px solid var(--border);border-radius:5px;padding:13px 14px;box-shadow:0 1px 5px rgba(0,0,0,.04);}
.dbar-row{display:flex;align-items:center;gap:9px;margin-bottom:7px;}
.dbar-row:last-child{margin-bottom:0;}
.dbar-lbl{font-family:'Space Mono',monospace;font-size:.5rem;color:var(--text-body);width:80px;flex-shrink:0;}
.dbar-track{flex:1;height:4px;background:rgba(0,0,0,.07);border-radius:2px;overflow:hidden;}
.dbar-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--teal),var(--green));}
.dbar-pct{font-family:'Space Mono',monospace;font-size:.5rem;color:var(--green);width:38px;text-align:right;flex-shrink:0;}

/* PARTNER LOGOS STRIP */
.partner-strip{background:#fff;border-top:1px solid rgba(74,158,65,.12);border-bottom:1px solid rgba(74,158,65,.12);padding:28px 5%;}
.partner-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.partner-label{font-family:'Space Mono',monospace;font-size:.56rem;letter-spacing:.22em;color:var(--text-muted);text-transform:uppercase;white-space:nowrap;}
.partner-logos{display:flex;align-items:center;gap:36px;flex-wrap:wrap;}
.partner-logo-item{display:flex;flex-direction:column;align-items:center;gap:4px;}
.partner-badge{background:var(--subtle-bg);border:1px solid var(--border);border-radius:4px;padding:8px 18px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.06em;color:var(--text);white-space:nowrap;}
.partner-badge.auth{border-left:3px solid #1a5276;}
.partner-badge.nmi{border-left:3px solid var(--teal);}
.partner-badge.verifi{border-left:3px solid var(--green);}
.partner-badge.ethoca{border-left:3px solid #6c3483;}
.partner-badge.visa{border-left:3px solid #1a237e;}
.partner-tag{font-family:'Space Mono',monospace;font-size:.48rem;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;}

/* WHAT WE DO CARDS */
.h-what{background:var(--alt-bg);padding:76px 0;border-top:1px solid rgba(74,158,65,.1);}
.h-what-hdr{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:end;margin-bottom:50px;}
@media(max-width:700px){.h-what-hdr{grid-template-columns:1fr;gap:14px;}}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;}
.svc-card{background:#fff;border:1px solid var(--border);border-radius:6px;padding:26px 22px;transition:border-color .25s,transform .25s,box-shadow .25s;box-shadow:0 1px 6px rgba(0,0,0,.04);position:relative;overflow:hidden;}
.svc-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--green));opacity:0;transition:opacity .25s;}
.svc-card:hover{border-color:rgba(74,158,65,.38);transform:translateY(-3px);box-shadow:0 6px 20px rgba(74,158,65,.1);}
.svc-card:hover::after{opacity:1;}
.svc-icon{width:42px;height:42px;border:1.5px solid rgba(74,158,65,.3);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--green);margin-bottom:15px;background:var(--subtle-bg);}
.svc-name{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.88rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text);margin-bottom:8px;}
.svc-desc{font-size:.82rem;color:var(--text-muted);line-height:1.65;}
.svc-tag{display:inline-block;margin-top:10px;font-family:'Space Mono',monospace;font-size:.55rem;letter-spacing:.1em;color:var(--green);text-transform:uppercase;background:var(--subtle-bg);border:1px solid var(--border);border-radius:2px;padding:2px 8px;}

/* WHY US */
.h-why{padding:80px 0;}
.h-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;margin-top:46px;}
@media(max-width:820px){.h-why-grid{grid-template-columns:1fr;gap:36px;}}
.h-why-copy p{color:var(--text-body);font-size:.92rem;line-height:1.82;margin-bottom:14px;}
.h-why-copy p strong{color:var(--green);font-weight:600;}
.h-checklist{list-style:none;margin-top:22px;display:flex;flex-direction:column;gap:9px;}
.h-checklist li{display:flex;align-items:flex-start;gap:10px;color:var(--text-body);font-size:.87rem;line-height:1.5;}
.h-checklist li::before{content:'✦';color:var(--green);font-size:.65rem;margin-top:3px;flex-shrink:0;}
.h-metrics{display:flex;flex-direction:column;gap:11px;}
.h-mcard{background:#fff;border:1px solid var(--border);border-radius:6px;padding:18px 22px;display:flex;align-items:center;gap:18px;transition:border-color .25s,box-shadow .25s;box-shadow:0 1px 6px rgba(0,0,0,.04);}
.h-mcard:hover{border-color:rgba(74,158,65,.4);box-shadow:0 4px 14px rgba(74,158,65,.1);}
.h-mnum{font-family:'Montserrat',sans-serif;font-size:1.9rem;font-weight:800;color:var(--green);line-height:1;white-space:nowrap;}
.h-mlabel{font-family:'Montserrat',sans-serif;font-weight:600;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text);margin-bottom:3px;}
.h-msub{font-family:'Space Mono',monospace;font-size:.57rem;letter-spacing:.05em;color:var(--text-muted);}

/* HOW IT WORKS */
.h-process{background:var(--alt-bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:72px 0;}
.h-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;position:relative;}
@media(max-width:700px){.h-steps{grid-template-columns:1fr 1fr;gap:28px;}}
.h-step{padding:0 22px;position:relative;text-align:center;}
.h-step:not(:last-child)::after{content:'';position:absolute;right:0;top:24px;height:1px;width:100%;background:linear-gradient(90deg,rgba(74,158,65,.25),rgba(74,158,65,.5));pointer-events:none;}
@media(max-width:700px){.h-step::after{display:none;}}
.h-step-num{width:48px;height:48px;border-radius:50%;background:#fff;border:2px solid rgba(74,158,65,.4);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-family:'Montserrat',sans-serif;font-weight:800;font-size:1rem;color:var(--green);box-shadow:0 2px 8px rgba(74,158,65,.14);}
.h-step-title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text);margin-bottom:7px;}
.h-step-desc{font-size:.78rem;color:var(--text-muted);line-height:1.62;}

/* CTA */
.h-cta{background:linear-gradient(135deg,#e6f5e6 0%,#f0f9f0 50%,#e6f5e6 100%);border-top:1px solid rgba(74,158,65,.16);padding:80px 5%;text-align:center;position:relative;overflow:hidden;}
.h-cta::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:320px;background:radial-gradient(ellipse,rgba(74,158,65,.08) 0%,transparent 65%);pointer-events:none;}
.h-cta-inner{position:relative;z-index:2;max-width:680px;margin:0 auto;}
.h-cta-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(1.6rem,3vw,2.5rem);letter-spacing:.02em;text-transform:uppercase;margin-bottom:14px;color:var(--text);}
.h-cta-title .g{color:var(--green);}
.h-cta-sub{color:var(--text-body);font-size:.94rem;line-height:1.75;margin-bottom:28px;}
.h-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.h-cta-note{margin-top:18px;font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.12em;color:var(--text-muted);}

/* ═══════════ SERVICES PAGE ═══════════ */
.sv-wrap{max-width:1180px;margin:0 auto;padding:68px 5%;}
.sv-hdr{margin-bottom:52px;}
.sv-cat-row{margin:36px 0 16px;}
.sv-cat-lbl{display:inline-flex;align-items:center;gap:9px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--green);border-left:3px solid var(--green);padding-left:12px;}
.sv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;margin-bottom:8px;}
.sv-card{background:#fff;border:1px solid var(--border);border-radius:6px;padding:28px 24px;position:relative;overflow:hidden;transition:border-color .25s,transform .25s,box-shadow .25s;box-shadow:0 1px 6px rgba(0,0,0,.04);}
.sv-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--green));opacity:0;transition:opacity .25s;}
.sv-card:hover{border-color:rgba(74,158,65,.35);transform:translateY(-3px);box-shadow:0 6px 20px rgba(74,158,65,.1);}
.sv-card:hover::before{opacity:1;}
.sv-icon{width:42px;height:42px;border:1.5px solid rgba(74,158,65,.28);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--green);margin-bottom:14px;background:var(--subtle-bg);}
.sv-name{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:9px;color:var(--text);}
.sv-desc{color:var(--text-muted);font-size:.83rem;line-height:1.68;}
.sv-list{margin-top:13px;list-style:none;}
.sv-list li{color:var(--text-body);font-size:.76rem;padding:4px 0 4px 15px;position:relative;font-family:'Space Mono',monospace;}
.sv-list li::before{content:'›';position:absolute;left:0;color:var(--green);}
.sv-partner-tag{display:inline-flex;align-items:center;gap:5px;margin-top:13px;background:var(--subtle-bg);border:1px solid var(--border);border-radius:3px;padding:4px 10px;font-family:'Space Mono',monospace;font-size:.55rem;letter-spacing:.1em;color:var(--green);text-transform:uppercase;}

/* partner highlight card */
.sv-card-featured{border-color:rgba(42,107,124,.3);border-left:3px solid var(--teal);}

/* ═══════════ ABOUT PAGE ═══════════ */
.ab-wrap{max-width:1060px;margin:0 auto;padding:68px 5%;}
.ab-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
@media(max-width:820px){.ab-grid{grid-template-columns:1fr;gap:36px;}}
.ab-box{background:#fff;border:1px solid var(--border);border-radius:6px;padding:36px 30px;position:relative;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.06);}
.ab-box::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--green));}
.ab-quote{font-family:'Montserrat',sans-serif;font-size:1.15rem;font-weight:600;color:var(--text);line-height:1.55;margin-bottom:14px;}
.ab-quote .g{color:var(--green);}
.ab-attr{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.18em;color:var(--text-muted);text-transform:uppercase;}
.ab-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px;}
.pill{background:var(--subtle-bg);border:1px solid var(--border2);color:var(--teal);font-family:'Space Mono',monospace;font-size:.57rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 11px;border-radius:2px;}
.ab-text p{color:var(--text-body);font-size:.92rem;line-height:1.82;margin-bottom:13px;}
.ab-text p strong{color:var(--green);font-weight:600;}

/* ═══════════ CONTACT PAGE ═══════════ */
.ct-wrap{max-width:1060px;margin:0 auto;padding:68px 5%;}
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
@media(max-width:820px){.ct-grid{grid-template-columns:1fr;gap:36px;}}
.ct-info{margin-top:30px;display:flex;flex-direction:column;gap:18px;}
.ct-row{display:flex;align-items:flex-start;gap:14px;}
.ct-icon{width:36px;height:36px;border:1.5px solid rgba(74,158,65,.24);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--green);flex-shrink:0;}
.ct-lbl{font-family:'Space Mono',monospace;font-size:.58rem;letter-spacing:.18em;color:var(--text-muted);text-transform:uppercase;margin-bottom:3px;}
.ct-val{color:var(--text-body);font-size:.9rem;}
.ct-form{background:#fff;border:1px solid var(--border);border-radius:6px;padding:32px;box-shadow:0 2px 12px rgba(0,0,0,.06);}
.ct-form-title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px;color:var(--text);}

/* ═══════════ APPLICATION PAGE ═══════════ */
.ap-wrap{max-width:820px;margin:0 auto;padding:68px 5%;}
.ap-hdr{margin-bottom:36px;}
.ap-form{background:#fff;border:1px solid var(--border);border-radius:6px;padding:40px;box-shadow:0 2px 12px rgba(0,0,0,.06);}
@media(max-width:600px){.ap-form{padding:22px 16px;}}
.ap-sec{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.77rem;letter-spacing:.15em;text-transform:uppercase;color:var(--green);padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:18px;margin-top:28px;}
.ap-sec:first-child{margin-top:0;}

/* ═══════════ FORMS ═══════════ */
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:600px){.frow{grid-template-columns:1fr;}}
/* --- mobile usability fixes --- */
@media(max-width:820px){
  /* 16px prevents iOS Safari auto-zoom on focus */
  .ap-form input,.ap-form select,.ap-form textarea,
  input[type=text],input[type=email],input[type=tel],select,textarea{font-size:16px !important;}
  /* Apple/Google minimum 44-48px touch targets */
  button,input[type=submit],.btn,.btn-primary,.btn-ghost{min-height:48px;}
  /* footer + nav links get real tap area */
  footer a{display:inline-block;padding:9px 0;line-height:1.4;}
  .nl a{padding:12px 0;}
}
.fg{margin-bottom:12px;}
.fg label{display:block;font-family:'Space Mono',monospace;font-size:.57rem;letter-spacing:.18em;color:var(--teal);text-transform:uppercase;margin-bottom:6px;}
.fg input,.fg select,.fg textarea{width:100%;background:#fff;border:1px solid rgba(42,107,124,.22);border-radius:3px;color:var(--text);font-family:'Inter',sans-serif;font-size:.87rem;font-weight:400;padding:10px 13px;outline:none;transition:border-color .2s,box-shadow .2s;}
.fg select option{background:#fff;color:var(--text);}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:rgba(74,158,65,.55);box-shadow:0 0 8px rgba(74,158,65,.1);}
.fg textarea{resize:vertical;min-height:88px;}
.fsub{width:100%;margin-top:6px;}
.fg input[type="checkbox"]{width:auto;margin-right:7px;accent-color:var(--green);}
.cbl{display:flex;align-items:center;color:var(--text-body);font-size:.86rem;cursor:pointer;}

/* ═══════════ FOOTER ═══════════ */
.site-footer{background:var(--teal-d);padding:34px 5%;text-align:center;}
.sf-logo{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:5px;}
.sf-logo .g{color:#8cd984;}
.sf-tag{font-family:'Space Mono',monospace;font-size:.56rem;letter-spacing:.2em;color:rgba(255,255,255,.5);text-transform:uppercase;margin-bottom:18px;}
.sf-links{display:flex;justify-content:center;gap:24px;list-style:none;margin-bottom:16px;flex-wrap:wrap;}
.sf-links button,.sf-links a{background:none;border:none;cursor:pointer;color:rgba(255,255,255,.55);font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;transition:color .2s;}
.sf-links button:hover,.sf-links a:hover{color:#8cd984;}
.sf-copy{font-size:.62rem;color:rgba(255,255,255,.3);font-family:'Space Mono',monospace;letter-spacing:.08em;}

@media(max-width:768px){
  .nl{display:none;}
  .ntoggle{display:flex;}
  nav{height:92px;}
  #app{margin-top:92px;}
  .nlogo img{height:52px;}
  .nslogan{font-size:8px;letter-spacing:.07em;}
  .nl.open{display:flex;flex-direction:column;position:fixed;top:92px;left:0;right:0;background:rgba(255,255,255,.98);padding:22px 5%;border-bottom:1px solid rgba(74,158,65,.15);gap:18px;z-index:999;box-shadow:0 4px 16px rgba(0,0,0,.08);}
}

/* --- anchors used as buttons (multi-page nav) --- */
a.btn-p,a.btn-s,a.btn-g,a.btn-ghost{display:inline-block;text-decoration:none;text-align:center;}
.nl a{text-decoration:none;}
.sf-links a{text-decoration:none;}
.nlogo{text-decoration:none;}
