/* Bill Jar website — same look as the app: deep green, white cards, Instrument Sans */
:root{
  --g1:#0d4a42; --g2:#062823; --accent:#0E6B61; --accent-2:#13897b;
  --ink:#14211f; --muted:#5b6b68; --line:#dfe7e5; --bg:#eef3f2; --surface:#fff;
  --orange:#E9A23B; --blue:#4A72D1; --purple:#8E5BC7; --rose:#D9677A;
  --radius:24px; --shadow:0 10px 30px rgba(6,40,35,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--accent)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}

/* header */
.top{position:sticky;top:0;z-index:20;background:rgba(6,40,35,.92);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}
.top .wrap{display:flex;align-items:center;gap:16px;height:68px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;font-size:20px;letter-spacing:-.01em}
.brand img{width:38px;height:38px;border-radius:10px}
.brand .bt{display:flex;flex-direction:column;line-height:1.05}
.brand .bt small{font-size:9.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;opacity:.75;margin-top:4px}
.brand sup{font-size:11px;font-weight:600;opacity:.75;margin-left:-6px;position:relative;top:-6px}
.nav{margin-left:auto;display:flex;align-items:center;gap:22px}
.nav a{color:rgba(255,255,255,.85);text-decoration:none;font-weight:500;font-size:15px}
.nav a:hover{color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 22px;font:inherit;font-weight:600;font-size:15.5px;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn.light{background:#fff;color:var(--g1);box-shadow:0 6px 18px rgba(0,0,0,.18)}
.btn.ghost{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.35)}
.btn.solid{background:var(--accent);color:#fff;box-shadow:0 8px 20px rgba(14,107,97,.25)}
.btn.solid:hover{background:var(--accent-2)}
.nav .btn{padding:9px 18px;font-size:14.5px}
.menu-btn{display:none;margin-left:auto;background:none;border:0;color:#fff;padding:8px;cursor:pointer}
.menu-btn svg{width:26px;height:26px}

/* hero */
.hero{background:radial-gradient(1200px 500px at 85% 0%,rgba(19,137,123,.35),transparent 60%),linear-gradient(170deg,var(--g1),var(--g2));color:#fff;overflow:hidden;border-radius:0 0 40px 40px}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding-top:56px;padding-bottom:0}
.chip{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;letter-spacing:.04em}
.chip i{width:8px;height:8px;border-radius:50%;background:#7be0c7;box-shadow:0 0 0 4px rgba(123,224,199,.2)}
.hero h1{font-size:clamp(38px,5.4vw,62px);line-height:1.04;letter-spacing:-.03em;margin:18px 0 18px;font-weight:700}
.hero h1 em{font-style:normal;color:#9be7d6}
.hero p.lead{font-size:clamp(17px,1.6vw,19.5px);color:rgba(255,255,255,.86);max-width:520px;margin:0 0 28px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}
.hero .small{font-size:13.5px;color:rgba(255,255,255,.7)}
.hero-phones{position:relative;height:560px;align-self:end}
.phone{position:absolute;width:270px;border-radius:40px;background:#0b1513;padding:9px;box-shadow:0 30px 60px rgba(0,0,0,.35),inset 0 0 0 1.5px rgba(255,255,255,.08)}
.phone img{border-radius:32px;width:100%}
.hero-phones .p1{left:50%;transform:translateX(-62%);bottom:-120px;z-index:2}
.hero-phones .p2{left:50%;transform:translateX(8%) rotate(4deg);bottom:-170px;width:240px;opacity:.96}

/* sections */
section{padding:90px 0}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
h2{font-size:clamp(30px,3.6vw,44px);line-height:1.1;letter-spacing:-.025em;margin:10px 0 14px}
.sub{font-size:18px;color:var(--muted);max-width:640px;margin:0}
.center{text-align:center}.center .sub{margin:0 auto}

.trust{padding:34px 0 0}
.trust .row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;color:var(--muted);font-size:15px;font-weight:500}
.trust span{display:inline-flex;align-items:center;gap:8px}
.trust svg{width:18px;height:18px;color:var(--accent)}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.card{background:var(--surface);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;margin-bottom:16px}
.ic svg{width:24px;height:24px}
.ic.t{background:#e3f1ee;color:var(--accent)}.ic.o{background:#fdf1de;color:#c27a10}.ic.b{background:#e6ecfa;color:var(--blue)}
.ic.p{background:#f1e8fa;color:var(--purple)}.ic.r{background:#fbe7ea;color:var(--rose)}.ic.g{background:#e9f3e3;color:#5a8a2f}
.card h3{font-size:19px;margin:0 0 8px;letter-spacing:-.01em}
.card p{margin:0;color:var(--muted);font-size:15.5px}

/* feature rows with phone shots */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:70px}
.feature.flip .shot{order:2}
.shot{display:flex;justify-content:center;position:relative}
.shot::before{content:"";position:absolute;inset:8% 6%;border-radius:40px;background:linear-gradient(160deg,#d8ebe7,#eef3f2);z-index:0}
.shot .phone{position:relative;width:290px}
.feature h3{font-size:clamp(24px,2.6vw,32px);letter-spacing:-.02em;line-height:1.15;margin:8px 0 12px}
.feature p{color:var(--muted);font-size:17px;margin:0 0 16px}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ticks li{display:flex;gap:10px;font-size:16px}
.ticks li::before{content:"";flex:none;width:22px;height:22px;border-radius:50%;background:#e3f1ee url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E6B61' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat;margin-top:1px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px;counter-reset:s}
.step{background:var(--surface);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);position:relative}
.step::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;margin-bottom:16px}
.step h3{margin:0 0 6px;font-size:19px}.step p{margin:0;color:var(--muted)}

/* privacy band */
.band{background:linear-gradient(170deg,var(--g1),var(--g2));color:#fff;border-radius:36px;padding:56px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.band .eyebrow{color:#9be7d6}
.band p{color:rgba(255,255,255,.82);font-size:17px}
.band ul{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.band li{display:flex;gap:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px 16px;font-size:15.5px}
.band li svg{flex:none;width:22px;height:22px;color:#9be7d6;margin-top:1px}
.band li b{display:block}

/* faq */
.faq{max-width:820px;margin:40px auto 0;display:grid;gap:12px}
details.q{background:var(--surface);border-radius:18px;box-shadow:var(--shadow);padding:0 22px}
details.q summary{list-style:none;cursor:pointer;padding:20px 0;font-weight:600;font-size:17px;display:flex;justify-content:space-between;gap:16px}
details.q summary::-webkit-details-marker{display:none}
details.q summary::after{content:"+";font-size:24px;line-height:1;color:var(--accent);transition:transform .2s}
details.q[open] summary::after{transform:rotate(45deg)}
details.q p{margin:0 0 20px;color:var(--muted)}

/* early access */
.cta{background:var(--surface);border-radius:36px;box-shadow:var(--shadow);padding:52px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
form.fx{display:grid;gap:12px}
.fx label{font-size:14px;font-weight:600;color:var(--muted)}
.fx input,.fx select,.fx textarea{width:100%;font:inherit;font-size:16px;padding:13px 16px;border-radius:14px;border:1.5px solid var(--line);background:#fbfdfc;color:var(--ink)}
.fx input:focus,.fx select:focus,.fx textarea:focus{outline:none;border-color:var(--accent)}
.fx .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fx .note{font-size:13px;color:var(--muted)}
.hp{position:absolute;left:-9999px}

/* footer */
footer{background:var(--g2);color:rgba(255,255,255,.75);margin-top:40px;padding:46px 0 34px;font-size:14.5px}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
footer a{color:rgba(255,255,255,.85);text-decoration:none}
footer a:hover{color:#fff}
footer h4{color:#fff;margin:0 0 10px;font-size:15px}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
footer .legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;font-size:13px;color:rgba(255,255,255,.55)}

/* simple pages (privacy, terms, support) */
.page-hero{background:linear-gradient(170deg,var(--g1),var(--g2));color:#fff;border-radius:0 0 36px 36px;padding:56px 0 64px}
.page-hero h1{font-size:clamp(34px,4.4vw,50px);letter-spacing:-.025em;margin:10px 0 8px;line-height:1.08}
.page-hero p{color:rgba(255,255,255,.8);margin:0;font-size:17px}
.doc{max-width:820px;margin:-30px auto 0;background:var(--surface);border-radius:28px;box-shadow:var(--shadow);padding:44px;position:relative}
.doc h3{font-size:21px;margin:30px 0 8px;letter-spacing:-.01em}
.doc h3:first-child{margin-top:0}
.doc p,.doc li{color:#33423f;font-size:16px}
.doc .updated{color:var(--muted);font-size:14px;margin-top:0}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}
.contact-grid .card{padding:22px}
.contact-grid a{font-weight:600;word-break:break-all}

/* phones */
@media (max-width:900px){
  .hero .wrap,.feature,.band,.cta{grid-template-columns:1fr}
  .hero-phones{height:420px}
  .hero-phones .p1{width:230px;bottom:-150px}
  .hero-phones .p2{width:200px;bottom:-185px}
  .feature.flip .shot{order:0}
  .cards,.steps,.contact-grid{grid-template-columns:1fr 1fr}
  footer .wrap{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .hero-phones{height:330px;margin-top:-50px}
  .hero-phones .p1{width:220px;bottom:-200px}
  .hero-phones .p2{width:190px;bottom:-230px}
  .nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--g2);flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 18px}
  .nav.open{display:flex}
  .nav a{padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav .btn{margin-top:12px}
  .menu-btn{display:block}
  section{padding:64px 0}
  .hero .wrap{padding-top:36px}
  .hero h1{font-size:35px}
  .cards,.steps,.contact-grid,.fx .two{grid-template-columns:1fr}
  .band,.cta{padding:32px 22px;border-radius:28px}
  .doc{padding:28px 20px;border-radius:22px}
  .shot .phone{width:250px}
  footer .wrap{grid-template-columns:1fr}
}
