@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-sans-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-sans-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/ibm-plex-sans-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/ibm-plex-sans-latin-700-normal.woff2') format('woff2');}
:root{--accent:#0F7A3E;}
html{scroll-behavior:smooth;scroll-padding-top:84px;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
img{max-width:100%;height:auto;}
.jsm-mobile-panel[hidden]{display:none;}
.jsm-skip{position:absolute;left:-9999px;top:12px;z-index:100;background:#FFFFFF;color:#232823;padding:10px 16px;border-radius:8px;font-weight:600;}
.jsm-skip:focus{left:16px;}
.jsm-root a:focus-visible,.jsm-root button:focus-visible,.jsm-root summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}
*{box-sizing:border-box;}
  body{margin:0;background:#F6F8F5;color:#232823;font-family:'IBM Plex Sans',sans-serif;-webkit-font-smoothing:antialiased;}
  .jsm-root{width:100%;background:#F6F8F5;}
  .jsm-root h1,.jsm-root h2,.jsm-root h3{font-family:'IBM Plex Sans',sans-serif;font-weight:600;margin:0;color:#232823;}
  .jsm-root h1,.jsm-root h2{font-weight:700;letter-spacing:-0.02em;}
  .jsm-root p{margin:0;line-height:1.65;}
  .jsm-root a{color:inherit;text-decoration:none;}
  .jsm-root ul{margin:0;padding:0;list-style:none;}
  .jsm-root svg{display:block;flex-shrink:0;}

  .jsm-wrap{max-width:1160px;margin:0 auto;padding-inline:clamp(20px,5vw,64px);}
  .jsm-band-cream2{background:#ECEFE9;}
  .jsm-band-pine{background:#123D26;color:#F6F8F5;}
  .jsm-band-ink{background:#232823;color:#F6F8F5;}
  .jsm-root .jsm-band-pine h2,.jsm-root .jsm-band-pine h3,.jsm-root .jsm-band-ink h2{color:#F6F8F5;}

  /* buttons */
  .jsm-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0.85rem 1.5rem;border-radius:10px;font-weight:700;font-size:0.98rem;font-family:'IBM Plex Sans',sans-serif;border:2px solid transparent;cursor:pointer;transition:filter .15s ease,transform .15s ease;}
  .jsm-btn:hover{filter:brightness(0.92);transform:translateY(-1px);}
  .jsm-root .jsm-btn-primary{background:var(--accent);color:#FFFFFF;}
  .jsm-btn-ghost{background:transparent;color:#232823;border-color:#232823;}
  .jsm-band-pine .jsm-btn-ghost,.jsm-band-ink .jsm-btn-ghost{color:#F6F8F5;border-color:#F6F8F5;}
  .jsm-btn-sm{padding:0.6rem 1.15rem;font-size:0.88rem;border-radius:8px;}
  .jsm-link-arrow{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:#232823;border-bottom:2px solid var(--accent);padding-bottom:2px;}
  .jsm-band-pine .jsm-link-arrow{color:#F6F8F5;}

  /* header */
  .jsm-header{position:sticky;top:0;z-index:40;background:rgba(246,248,245,0.92);backdrop-filter:blur(8px);border-bottom:1px solid #D6DCD4;}
  .jsm-header-inner{max-width:1160px;margin:0 auto;padding:14px clamp(20px,5vw,64px);display:flex;align-items:center;justify-content:space-between;gap:16px;}
  .jsm-brand{display:flex;align-items:center;gap:10px;font-family:'IBM Plex Sans',sans-serif;font-weight:700;font-size:1.2rem;color:#232823;}
  .jsm-brand svg{color:var(--accent);}
  .jsm-nav-links{display:flex;align-items:center;gap:30px;}
  .jsm-nav-links a{font-weight:600;font-size:0.95rem;color:#4A514A;}
  .jsm-nav-links a:hover{color:#232823;}
  .jsm-nav-right{display:flex;align-items:center;gap:14px;}
  .jsm-menu-btn{display:none;background:none;border:none;padding:6px;cursor:pointer;color:#232823;}
  .jsm-mobile-panel{display:block;background:#F6F8F5;border-bottom:1px solid #D6DCD4;}
  .jsm-mobile-panel .jsm-wrap{padding-block:18px;display:flex;flex-direction:column;gap:16px;}
  .jsm-mobile-panel a{font-weight:600;font-size:1.05rem;}

  @media (max-width:860px){
    .jsm-nav-links{display:none;}
    .jsm-menu-btn{display:flex;}
  }
  @media (max-width:400px){
    .jsm-nav-right{gap:8px;}
    .jsm-nav-right .jsm-btn-sm{padding:0.55rem 0.8rem;font-size:0.84rem;}
  }
  @media (min-width:861px){
    .jsm-mobile-panel{display:none !important;}
  }

  /* hero */
  .jsm-hero{padding:clamp(56px,8vw,104px) 0 clamp(64px,8vw,104px);}
  .jsm-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:center;}
  .jsm-hero h1{font-size:clamp(2.4rem,4.8vw,3.9rem);line-height:1.05;}
  .jsm-hero p.jsm-sub{font-size:clamp(1.05rem,1.4vw,1.2rem);color:#4A514A;max-width:60ch;margin-top:24px;}
  .jsm-hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:36px;}
  .jsm-hero-facts{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:28px !important;font-size:0.9rem;color:#5E665E;}
  .jsm-hero-facts li{display:inline-flex;align-items:center;}
  .jsm-hero-facts li + li::before{content:'';width:4px;height:4px;border-radius:50%;background:#AEB6AD;margin-right:12px;}
  .jsm-store-badge{display:inline-block;line-height:0;border-radius:10px;transition:opacity .15s ease;}
  .jsm-store-badge:hover{opacity:0.85;}
  .jsm-store-badge img{display:block;height:54px;width:auto;}
  .jsm-store-badges{display:inline-flex;flex-wrap:wrap;align-items:center;gap:12px;}
  .jsm-cta-final .jsm-store-badges{justify-content:center;}
  @media (max-width:480px){
    .jsm-store-badge img{height:46px;}
    .jsm-store-badges{gap:10px;}
  }

  /* generic section */
  .jsm-section{padding:clamp(56px,8vw,92px) 0;}
  .jsm-section-head{max-width:640px;}
  .jsm-section-head h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:700;line-height:1.15;}
  .jsm-section-head p{margin-top:14px;color:#4A514A;font-size:1.02rem;}
  .jsm-band-pine .jsm-section-head p,.jsm-band-ink .jsm-section-head p{color:#C9D8CC;}

  /* split heading + rows (problem section) */
  .jsm-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start;}
  .jsm-split h2{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.15;}
  .jsm-rows{margin:0;border-top:1px solid #232823;}
  .jsm-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:24px;padding:22px 0;border-bottom:1px solid #D6DCD4;}
  .jsm-row dt{font-weight:600;}
  .jsm-row dd{margin:0;color:#4A514A;line-height:1.6;}
  @media (max-width:860px){.jsm-split{grid-template-columns:1fr;}}
  @media (max-width:560px){.jsm-row{grid-template-columns:1fr;gap:6px;}}

  /* phone screenshots */
  .jsm-shot{margin:0;}
  .jsm-phone{width:min(300px,100%);margin:0 auto;padding:9px;background:#1A1C1A;border-radius:46px;box-shadow:0 32px 64px -24px rgba(18,61,38,0.38),0 0 0 1px rgba(0,0,0,0.06);}
  .jsm-phone img{display:block;width:100%;height:auto;border-radius:37px;}
  .jsm-band-pine .jsm-phone{box-shadow:0 32px 64px -24px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.14);}

  /* how it works */
  .jsm-how{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:start;margin-top:48px;}
  .jsm-how .jsm-shot{position:sticky;top:96px;}
  .jsm-steps{list-style:none;margin:0;padding:0;border-top:2px solid #232823;}
  .jsm-step{padding:24px 0;border-bottom:1px solid #D6DCD4;}
  .jsm-step-num{display:block;font-size:0.85rem;font-weight:500;color:#5E665E;margin-bottom:8px;}
  .jsm-step h3{font-size:1.15rem;}
  .jsm-step p{margin-top:8px;color:#4A514A;max-width:56ch;}

  /* why geofencing */
  .jsm-why{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:center;}

  @media (max-width:900px){
    .jsm-hero-grid,.jsm-how,.jsm-why{grid-template-columns:1fr;}
    .jsm-how .jsm-shot{position:static;}
    .jsm-phone{width:min(260px,100%);}
  }

  /* trades */
  .jsm-trades{margin-top:44px;border-top:1px solid #232823;}
  .jsm-trade{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr) minmax(0,6fr);gap:24px;padding:24px 0;border-bottom:1px solid #D6DCD4;align-items:baseline;}
  .jsm-trade h3{font-size:1.15rem;}
  .jsm-trade .jsm-trade-cadence{color:#5E665E;font-size:0.92rem;}
  .jsm-trade p{color:#4A514A;}
  @media (max-width:760px){.jsm-trade{grid-template-columns:1fr;gap:6px;}}

  /* pricing */
  .jsm-pricing-row{margin-top:44px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;padding:32px;border:1px solid #D6DCD4;border-radius:16px;background:#FFFFFF;}
  .jsm-pricing-row h3{font-size:1.3rem;font-weight:600;}
  .jsm-pricing-row p{margin-top:8px;color:#4A514A;max-width:48ch;}
  .jsm-pricing-note{margin-top:20px;font-size:0.88rem;color:#5E665E;}

  /* roadmap */
  .jsm-roadmap{padding-top:0;}
  .jsm-roadmap .jsm-wrap{border-top:1px solid #D6DCD4;padding-top:clamp(56px,8vw,92px);}
  .jsm-root .jsm-roadmap-list{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px);}
  .jsm-roadmap-item{border-top:2px solid #232823;padding-top:20px;}
  .jsm-roadmap-item h3{font-size:1.15rem;}
  .jsm-roadmap-item p{margin-top:8px;color:#4A514A;max-width:52ch;}
  @media (max-width:700px){.jsm-root .jsm-roadmap-list{grid-template-columns:1fr;}}

  /* FAQ */
  .jsm-faq{margin-top:40px;border-top:1px solid #D6DCD4;}
  .jsm-faq details{border-bottom:1px solid #D6DCD4;padding:20px 0;}
  .jsm-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:1.05rem;}
  .jsm-faq summary::-webkit-details-marker{display:none;}
  .jsm-faq summary::after{content:'+';font-family:'IBM Plex Sans',sans-serif;font-size:1.6rem;font-weight:400;color:var(--accent);flex-shrink:0;transition:transform .15s ease;}
  .jsm-faq details[open] summary::after{content:'\2212';}
  .jsm-faq .jsm-faq-a{margin-top:14px;color:#4A514A;max-width:64ch;font-size:0.98rem;}
  .jsm-faq .jsm-faq-a a{text-decoration:underline;text-underline-offset:2px;}

  /* final CTA */
  .jsm-cta-final{text-align:center;padding:clamp(64px,9vw,100px) 0;}
  .jsm-cta-final h2{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:700;max-width:20ch;margin:0 auto;line-height:1.12;}
  .jsm-cta-final-row{margin-top:34px;display:flex;flex-direction:column;align-items:center;gap:14px;}

  /* footer */
  .jsm-footer{padding:48px 0;}
  .jsm-footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:32px;}
  .jsm-footer-brand{display:flex;align-items:center;gap:9px;font-family:'IBM Plex Sans',sans-serif;font-weight:700;font-size:1.1rem;}
  .jsm-footer-brand svg{color:var(--accent);}
  .jsm-footer p{color:#AEB6AD;font-size:0.9rem;margin-top:10px;max-width:36ch;}
  .jsm-footer-links{display:flex;gap:28px;flex-wrap:wrap;}
  .jsm-footer-links a{font-size:0.92rem;font-weight:600;color:#C9D8CC;}
  .jsm-footer-links a:hover{color:#F6F8F5;}
  .jsm-footer-bottom{margin-top:36px;padding-top:20px;border-top:1px solid rgba(246,248,245,0.12);font-size:0.82rem;color:#8E978D;}
