
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

:root{
  --lime:#B0F34B;
  --lime-strong:#9BEA2F;
  --ink:#101513;
  --deep:#111B16;
  --deep-2:#17231C;
  --muted:#65706A;
  --line:#DCE2DD;
  --soft:#F5F7F3;
  --white:#fff;
  --radius:18px;
  --shadow:0 24px 70px rgba(16,21,19,.10);
  --container:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--white);line-height:1.6}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img{max-width:100%;display:block}
.container{width:min(var(--container),calc(100% - 48px));margin:auto}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;height:78px;display:flex;align-items:center;transition:.25s;background:rgba(255,255,255,.82);backdrop-filter:blur(16px);border-bottom:1px solid transparent}
.site-header.scrolled{border-color:var(--line);background:rgba(255,255,255,.94)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:11px;font-weight:700;font-size:22px;letter-spacing:-.05em}
.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--lime);display:grid;place-items:center;font-weight:800;transform:rotate(-5deg)}
.brand-mark span{transform:rotate(5deg)}
.nav-links{display:flex;align-items:center;gap:27px;font-size:14px;font-weight:600}
.nav-links a{opacity:.86;transition:.2s}
.nav-links a:hover,.nav-links a.active{opacity:1}
.nav-actions{display:flex;align-items:center;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 20px;border-radius:10px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.2s;cursor:pointer}
.btn-primary{background:var(--deep);color:white}
.btn-primary:hover{transform:translateY(-2px);background:#0c1410}
.btn-lime{background:var(--lime);color:var(--ink)}
.btn-lime:hover{transform:translateY(-2px);background:var(--lime-strong)}
.btn-ghost{border-color:var(--line);background:white}
.btn-ghost:hover{border-color:#aeb8b2}
.arrow{font-size:18px;line-height:0}
.menu-toggle{display:none;border:0;background:none;font-size:25px}
main{padding-top:78px}
.hero{padding:90px 0 80px;min-height:720px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.eyebrow{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;color:#26312B}
.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lime-strong)}
h1,h2,h3{font-family:"Space Grotesk",sans-serif;letter-spacing:-.055em;line-height:1.02;margin:0}
h1{font-size:clamp(56px,6.4vw,94px);max-width:720px;margin:24px 0 28px}
h2{font-size:clamp(38px,4.4vw,64px)}
h3{font-size:24px}
.lead{font-size:18px;line-height:1.75;color:var(--muted);max-width:670px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.highlight{position:relative;display:inline;z-index:0}
.highlight:after{content:"";position:absolute;left:-4px;right:-4px;bottom:3px;height:15px;background:var(--lime);z-index:-1;transform:rotate(-.6deg)}
.intel-card{background:var(--deep);color:white;border-radius:28px;min-height:530px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.intel-card:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(176,243,75,.16) 1px,transparent 1px);background-size:22px 22px;opacity:.45}
.intel-head{position:absolute;top:25px;left:28px;right:28px;display:flex;justify-content:space-between;color:#93a199;font-size:11px;letter-spacing:.08em}
.intel-head b{color:var(--lime)}
.intel-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}
.core-mark{width:82px;height:82px;border-radius:22px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:37px;font-weight:800;margin:auto;box-shadow:0 0 50px rgba(176,243,75,.16)}
.core-title{font-family:"Space Grotesk";font-size:25px;line-height:1.05;margin-top:17px}
.core-sub{font-size:9px;letter-spacing:.18em;color:#7d8b82;margin-top:10px}
.node{position:absolute;width:150px;padding:18px 14px;border:1px solid rgba(176,243,75,.16);background:rgba(40,55,44,.76);border-radius:15px;text-align:center;color:#d5ddd8;font-size:13px;font-weight:600}
.node:after{content:"";position:absolute;width:120px;height:1px;background:rgba(176,243,75,.22);top:50%;z-index:-1}
.node-1{top:115px;left:48px}.node-1:after{right:-120px;transform:rotate(25deg)}
.node-2{top:115px;right:48px}.node-2:after{left:-120px;transform:rotate(-25deg)}
.node-3{bottom:110px;left:48px}.node-3:after{right:-120px;transform:rotate(-25deg)}
.node-4{bottom:110px;right:48px}.node-4:after{left:-120px;transform:rotate(25deg)}
.node-5{left:50%;bottom:34px;transform:translateX(-50%);width:130px}.node-5:after{display:none}
.section{padding:110px 0}
.section-soft{background:var(--soft)}
.section-dark{background:var(--deep);color:white}
.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:48px}
.section-head p{max-width:520px;margin:0;color:var(--muted)}
.section-dark .section-head p{color:#9da9a2}
.kicker{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;margin-bottom:14px;color:#5d6a63}
.section-dark .kicker{color:var(--lime)}
.problem-flow{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white}
.flow-step{padding:28px 22px;min-height:150px;border-right:1px solid var(--line);position:relative}
.flow-step:last-child{border-right:0}
.flow-step b{display:block;font-size:12px;color:#758078;text-transform:uppercase;letter-spacing:.1em;margin-bottom:25px}
.flow-step strong{font-family:"Space Grotesk";font-size:19px;line-height:1.1}
.flow-step:not(:last-child):after{content:"→";position:absolute;right:-9px;top:50%;transform:translateY(-50%);background:white;color:#65706A;font-weight:700;z-index:2}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pillar{padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:white;min-height:280px}
.pillar .num{font-size:11px;font-weight:800;letter-spacing:.15em;color:#8a958f}
.pillar h3{margin:55px 0 12px}
.pillar p{color:var(--muted);margin:0}
.data-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:18px}
.data-box{padding:28px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.04)}
.data-box h3{font-size:21px;margin-bottom:20px}
.data-list{display:grid;gap:9px;color:#b4beb8;font-size:14px}
.flow-arrow{display:grid;place-items:center;color:var(--lime);font-size:25px}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.metric{background:white;padding:35px 26px;min-height:170px}
.metric strong{display:block;font-family:"Space Grotesk";font-size:48px;letter-spacing:-.05em}
.metric span{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.metric-note{font-size:11px;color:#7d8781;margin-top:16px}.stats-strip{padding-top:80px;padding-bottom:80px}.stats-strip .metric{min-height:190px}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{border:1px solid var(--line);border-radius:18px;background:white;padding:28px;min-height:250px;transition:.22s;position:relative;overflow:hidden}
.card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(16,21,19,.08)}
.card .num{font-size:11px;color:#89938d;font-weight:800;letter-spacing:.13em}
.card h3{margin:46px 0 10px}
.card p{margin:0;color:var(--muted);font-size:14px}
.card .link{position:absolute;left:28px;bottom:25px;font-weight:700;font-size:13px}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.product{border-radius:24px;background:var(--soft);padding:28px;min-height:430px;display:flex;flex-direction:column}
.product.dark{background:var(--deep);color:white}
.product h3{font-size:30px;margin-top:45px}
.product p{color:var(--muted);max-width:360px}
.product.dark p{color:#9eaaa2}
.product-visual{margin-top:auto;border:1px solid var(--line);border-radius:15px;background:white;min-height:170px;padding:16px;overflow:hidden}
.product.dark .product-visual{border-color:rgba(255,255,255,.12);background:#17231C}
.mini-ui{display:grid;grid-template-columns:70px 1fr;gap:10px;height:140px}
.mini-side{background:#edf1ed;border-radius:9px}
.mini-main{display:grid;grid-template-rows:35px 1fr;gap:10px}
.mini-top{background:#edf1ed;border-radius:9px}
.mini-chart{background:linear-gradient(160deg,#eef3ee 0%,#eef3ee 40%,#dfe8df 40%,#dfe8df 41%,#eef3ee 41%);border-radius:9px;position:relative}
.mini-chart:after{content:"";position:absolute;left:12%;right:10%;bottom:24%;height:35%;border-left:3px solid var(--lime-strong);border-bottom:3px solid var(--lime-strong);transform:skewY(-16deg)}
.security-ui{background:#101914;color:#dfe7e1;border-radius:11px;padding:14px;min-height:140px;position:relative}
.security-ui .camera{height:85px;border:1px solid rgba(176,243,75,.18);border-radius:8px;display:grid;place-items:center;font-size:30px}
.alert{position:absolute;right:10px;bottom:10px;background:var(--lime);color:var(--ink);padding:5px 8px;border-radius:5px;font-size:9px;font-weight:800}
.industry-list{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.industry{padding:24px 8px;border-bottom:1px solid var(--line);font-family:"Space Grotesk";font-size:20px}
.industry span{color:#9aa49e;font-family:Inter;font-size:11px;display:block;margin-top:4px}
.principles{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.principle{padding:30px;border-top:2px solid var(--lime);background:rgba(255,255,255,.04)}
.principle b{font-size:11px;letter-spacing:.12em;color:#111B16}
.principle h3{font-size:21px;margin:35px 0 10px;color:#1C2B23;font-weight:700}
.principle p{color:#9da8a0;font-size:14px;margin:0}
.cta{padding:100px 0;text-align:center}
.cta h2{max-width:800px;margin:0 auto 22px}
.cta p{max-width:600px;margin:0 auto 28px;color:var(--muted)}
.page-hero{padding:90px 0 70px;background:var(--soft)}
.page-hero h1{max-width:900px;font-size:clamp(52px,6vw,82px)}
.page-hero .lead{max-width:760px}
.detail-hero{padding:95px 0 80px;background:var(--deep);color:white}
.detail-hero h1{max-width:850px}
.detail-hero .lead{color:#a8b2ac}
.detail-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:70px}
.prose h2{font-size:42px;margin-bottom:18px}
.prose p{color:var(--muted);font-size:16px}
.side-card{background:var(--soft);padding:28px;border-radius:18px;height:max-content}
.side-card h3{font-size:20px;margin-bottom:16px}
.checks{display:grid;gap:12px}
.check{display:flex;gap:10px;font-size:14px}
.check:before{content:"✓";color:#4d7d16;font-weight:800}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.step{background:white;padding:28px;min-height:180px}
.step strong{font-family:"Space Grotesk";font-size:30px;color:#a5b0aa}
.step h3{font-size:19px;margin:24px 0 8px}
.step p{margin:0;color:var(--muted);font-size:13px}
.form-wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px}
.form-card{border:1px solid var(--line);border-radius:20px;padding:30px;background:white;box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:12px;font-weight:700}
.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:9px;padding:13px 14px;outline:none}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#89958e;box-shadow:0 0 0 3px rgba(176,243,75,.2)}
.footer{background:var(--deep);color:white;padding:60px 0 28px}
.footer-top{display:flex;justify-content:space-between;gap:30px;padding-bottom:50px}
.footer-brand p{color:#9da8a1;max-width:300px}
.footer-links{display:grid;grid-template-columns:repeat(3,150px);gap:25px}
.footer-links b{font-size:11px;color:var(--lime);text-transform:uppercase;letter-spacing:.1em}
.footer-links a{display:block;color:#c0c9c3;font-size:13px;margin-top:12px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;color:#7e8982;font-size:12px;display:flex;justify-content:space-between}
.mobile-menu{display:none}
.reveal{opacity:0;transform:translateY(16px);transition:.65s ease}
.reveal.visible{opacity:1;transform:none}
.notice{font-size:11px;color:#7b857f;margin-top:12px}
@media (max-width: 1050px){
  .nav-links{display:none}.nav-actions .btn-ghost{display:none}.menu-toggle{display:block}
  .mobile-menu{position:fixed;top:78px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:20px 24px;display:none}
  .mobile-menu.open{display:grid;gap:14px}.mobile-menu a{font-weight:700;padding:10px 0}
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:65px}.intel-card{min-height:480px}
  .problem-flow{grid-template-columns:repeat(3,1fr)}.flow-step:nth-child(3){border-right:0}.flow-step:nth-child(3):after{display:none}
  .metrics{grid-template-columns:repeat(2,1fr)}.card-grid,.product-grid{grid-template-columns:repeat(2,1fr)}
  .data-flow{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg);height:20px}
  .industry-list{grid-template-columns:repeat(3,1fr)}.principles{grid-template-columns:repeat(2,1fr)}
  .detail-layout,.form-wrap{grid-template-columns:1fr}
}
@media (max-width: 680px){
  .container{width:min(var(--container),calc(100% - 32px))}
  .site-header{height:70px}.brand{font-size:20px}.brand-mark{width:31px;height:31px}.mobile-menu{top:70px}
  main{padding-top:70px}.hero{padding:55px 0}.hero h1{font-size:52px}.lead{font-size:16px}
  .intel-card{min-height:420px;border-radius:20px}.node{width:112px;padding:13px 8px;font-size:11px}.node:after{width:65px}.node-1,.node-3{left:18px}.node-2,.node-4{right:18px}.node-1:after,.node-3:after{right:-65px}.node-2:after,.node-4:after{left:-65px}.core-mark{width:68px;height:68px;font-size:30px}.core-title{font-size:21px}
  .section{padding:75px 0}.section-head{display:block;margin-bottom:32px}.section-head p{margin-top:15px}
  .problem-flow,.pillars,.card-grid,.product-grid,.metrics,.principles,.industry-list{grid-template-columns:1fr}
  .flow-step{border-right:0;border-bottom:1px solid var(--line)}.flow-step:last-child{border-bottom:0}.flow-step:after{display:none!important}
  .steps{grid-template-columns:1fr}.footer-top{display:grid}.footer-links{grid-template-columns:1fr 1fr}.footer-bottom{display:grid;gap:8px}
  .form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}
}

/* Supplied zappy.day brand logo */
.brand-logo-img{display:block;width:178px;height:auto}
.footer .brand-logo-img{width:178px}
@media (max-width:680px){
  .brand-logo-img{width:155px}
  .footer .brand-logo-img{width:165px}
}

/* zappy.day brand lockup — supplied mark + exact lowercase wordmark */
.brand-mark-image{width:43px;height:43px;display:block;flex:0 0 auto}
.brand-mark-image img{width:100%;height:100%;object-fit:contain}
.brand-wordmark{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:30px;letter-spacing:-.065em;white-space:nowrap}
.core-mark{overflow:hidden}
.core-mark img{width:100%;height:100%;object-fit:contain}
.footer .brand-mark-image{width:43px;height:43px}
.footer .brand-wordmark{font-size:28px}
@media (max-width:680px){
  .brand-mark-image{width:36px;height:36px}
  .brand-wordmark{font-size:24px}
  .footer .brand-mark-image{width:38px;height:38px}
  .footer .brand-wordmark{font-size:25px}
}

/* Supplied zappy.day icon reference */
.brand-mark-image img{object-fit:contain}
.core-mark{background:transparent!important;box-shadow:none!important;padding:0!important}
.core-mark img{object-fit:contain;width:100%;height:100%}

.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status.success{color:#35620c}
.form-status.error{color:#a33a2b}
.form-card button:disabled{opacity:.65;cursor:wait}

/* Contact form validation */
.required-mark{font-weight:700}
.field-error{display:block;min-height:18px;margin-top:6px;font-size:12px;line-height:1.4}
.field input.invalid,.field select.invalid,.field textarea.invalid{border-color:#c94a3b;box-shadow:0 0 0 3px rgba(201,74,59,.08)}
.field input.invalid:focus,.field select.invalid:focus,.field textarea.invalid:focus{outline:none;border-color:#c94a3b;box-shadow:0 0 0 3px rgba(201,74,59,.12)}
.field-error:not(:empty){color:#b33d31}
.form-status{margin-top:10px}
.form-status.error{color:#b33d31}
.form-status.success{color:#2f6f3e}

/* Final brand-mark cleanup: use the vector mark everywhere to avoid raster artifacts. */
.brand-mark-image,
.core-mark{image-rendering:auto;-webkit-font-smoothing:antialiased}
.brand-mark-image img,
.core-mark img{display:block;width:100%;height:100%;object-fit:contain}
.core-mark{width:82px;height:82px;display:grid;place-items:center}
@media (max-width:680px){.core-mark{width:68px;height:68px}}
