.cem{--green:#3F9F7F;--green-dark:#236a5c;--navy:#000465;--navy-deep:#02033a;--mint:#ECFFFA;--mint-2:#e3f9f3;--ink:#1a1a1a;--body:#4f5559;--muted:#6b7075;--line:#e7e7e7;--sans:"Raleway",sans-serif;--serif:"Lora",serif;--r:14px;--shadow:0 24px 50px -28px rgba(0,4,101,.35)}
.cem *{box-sizing:border-box}
.cem{font-family:var(--sans);color:var(--body);line-height:1.55;-webkit-font-smoothing:antialiased}
.cem p{margin:0}
.cem h1,.cem h2,.cem h3{margin:0;color:var(--ink);line-height:1.15;letter-spacing:0}
.cem .serif{font-family:var(--serif);font-weight:500;letter-spacing:-.01em}
.cem .serif em{font-style:italic;color:var(--green);font-size:inherit;font-family:inherit;font-weight:inherit;line-height:inherit}
.cem .eyebrow{font-weight:700;font-size:1.2rem;letter-spacing:.22em;text-transform:uppercase;color:var(--green);margin-bottom:14px}
.cem .btn{display:inline-flex;align-items:center;gap:.6em;border:0;cursor:pointer;text-decoration:none;font-weight:700;font-size:1.6rem;padding:15px 28px;border-radius:999px;background:var(--green);color:#fff;transition:background .16s,transform .16s;box-shadow:0 14px 26px -16px rgba(46,132,116,.85)}
.cem .btn:hover{background:var(--navy);transform:translateY(-1px)}
.cem .btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55);box-shadow:none}
.cem .btn.ghost:hover{background:rgba(255,255,255,.1)}
.cem .btn.lg{font-size:1.75rem;padding:18px 34px}
.cem .arr{display:inline-flex;width:14px;height:14px}
.cem .arr svg{width:14px;height:14px}
.cem section{padding:9rem 0}
.cem .container{max-width:1180px;margin:0 auto;padding:0 24px;width:auto}

/* HERO */
.cem .hero{background:radial-gradient(1200px 600px at 85% 20%,#0d2f7a 0%,var(--navy) 45%,var(--navy-deep) 100%);color:#fff;padding:15rem 0 10rem;position:relative;overflow:hidden}
.cem .hero::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><circle cx='60' cy='60' r='58' fill='none' stroke='rgba(255,255,255,.06)' stroke-width='1'/><path d='M60 0v120M0 60h120' stroke='rgba(255,255,255,.05)'/></svg>");opacity:.9;pointer-events:none}
.cem .hero .container{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.cem .hero .tag{display:inline-flex;align-items:center;gap:10px;font-size:1.25rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#bfeadb;margin-bottom:22px}
.cem .hero .tag i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(63,159,127,.25)}
.cem .hero h1{color:#fff;font-size:clamp(3.6rem,4.6vw,5.4rem);line-height:1.1}
.cem .hero h1 em{color:#7fd6b8}
.cem .hero .points{margin:30px 0 34px;display:grid;gap:16px;max-width:520px}
.cem .hero .pt{display:flex;gap:14px;align-items:flex-start;font-size:1.6rem;color:#dfe6ff}
.cem .hero .pt .ico{flex:0 0 40px;width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center}
.cem .hero .pt .ico svg{width:18px;height:18px;stroke:#7fd6b8;fill:none;stroke-width:2}
.cem .hero .cta{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.cem .hero .micro{margin-top:18px;font-size:1.3rem;color:#a9b4dc}

/* Hero artifact: the inbox */
.cem .stub{background:#fff;border-radius:18px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);overflow:hidden;max-width:520px;margin-left:auto}
.cem .ib-chrome{background:#f6f8f8;border-bottom:1px solid var(--line);padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.cem .ib-chrome .t{font-weight:800;font-size:1.4rem;color:var(--ink);letter-spacing:.04em}
.cem .ib-chrome .c{font-size:1.2rem;color:var(--muted);font-weight:600}
.cem .ib-row{padding:16px 20px;border-bottom:1px solid #eef0ef;display:flex;gap:14px;align-items:flex-start}
.cem .ib-row.first{background:var(--mint-2)}
.cem .ib-dot{flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:var(--green);margin-top:7px}
.cem .ib-body{min-width:0;flex:1}
.cem .ib-from{font-size:1.25rem;font-weight:700;color:var(--ink);display:flex;justify-content:space-between;gap:10px;margin-bottom:3px}
.cem .ib-time{font-weight:600;color:#9e9c9c;white-space:nowrap}
.cem .ib-subject{font-size:1.5rem;color:var(--ink);font-weight:800;line-height:1.35}
.cem .ib-verdict{background:var(--navy);color:#fff;padding:18px 20px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.cem .ib-verdict .v1{font-weight:800;font-size:1.7rem;line-height:1.2}
.cem .ib-verdict .v2{font-size:1.3rem;color:#a9adde;font-weight:600}

/* QUALIFY + STICKY */
.cem .qual{background:#f6f8f8}
.cem .qual .container{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:start}
.cem .startcard{position:sticky;top:120px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 22px;text-align:center;box-shadow:var(--shadow)}
.cem .startcard .big{font-family:var(--serif);font-size:2.6rem;color:var(--ink);line-height:1.15;margin-bottom:6px}
.cem .startcard p{font-size:1.4rem;color:var(--muted);margin-bottom:18px}
.cem .startcard .btn{width:100%;justify-content:center}
.cem .startcard .tr{margin-top:16px;display:grid;gap:6px;font-size:1.3rem;color:var(--body);text-align:left}
.cem .startcard .tr span{display:flex;gap:8px;align-items:center}
.cem .startcard .tr svg{flex:0 0 14px;width:14px;height:14px;stroke:var(--green);stroke-width:3;fill:none}
.cem .qual h2{font-size:clamp(3rem,3.6vw,4.2rem);margin-bottom:22px}
.cem .checkbox{background:var(--mint);border-radius:var(--r);padding:30px 32px;border:1px solid #cfeee3}
.cem .checkbox .lead{font-family:var(--serif);font-size:2.2rem;color:var(--ink);margin-bottom:20px;line-height:1.3}
.cem .checkbox ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.cem .checkbox li{display:flex;gap:14px;align-items:flex-start;font-size:1.6rem;color:var(--body)}
.cem .checkbox li b{color:var(--ink)}
.cem .checkbox li .ck{flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;margin-top:1px}
.cem .checkbox li .ck svg{width:14px;height:14px;stroke:#fff;stroke-width:3;fill:none}
.cem .worth{margin-top:22px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.cem .worth .w{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.cem .worth .w .n{font-family:var(--serif);font-size:2.6rem;color:var(--navy);line-height:1.1;margin-bottom:6px}
.cem .worth .w .l{font-size:1.35rem;color:var(--muted);line-height:1.4}
.cem .qual .fine{margin-top:20px;font-size:1.3rem;color:var(--muted);font-style:italic}

/* HOW IT WORKS */
.cem .how h2{font-size:clamp(3rem,3.6vw,4.2rem);max-width:640px}
.cem .how .intro{margin:14px 0 0;font-size:1.7rem;max-width:560px}
.cem .step{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:64px}
.cem .step.flip .panel{order:-1}
.cem .step .num{font-family:var(--serif);font-size:9rem;line-height:.9;color:#dfe3e6;font-weight:400;margin-bottom:6px}
.cem .step h3{font-family:var(--serif);font-weight:500;font-size:3rem;margin-bottom:12px}
.cem .step p{font-size:1.65rem;max-width:460px}
.cem .step .btn{margin-top:22px}
.cem .step .time{display:inline-block;margin-left:12px;font-size:1.3rem;color:var(--muted)}
.cem .panel{border-radius:20px;overflow:hidden;background:var(--navy);aspect-ratio:1.2;position:relative;box-shadow:var(--shadow)}
.cem .panel svg{width:100%;height:100%;display:block}

/* PATTERNS */
.cem .pats{background:var(--mint)}
.cem .pats h2{font-size:clamp(3rem,3.6vw,4.2rem);text-align:center;max-width:820px;margin:0 auto 12px}
.cem .pats .sub{text-align:center;font-size:1.7rem;max-width:640px;margin:0 auto}
.cem .patgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.cem .pat{background:#fff;border-radius:var(--r);padding:26px 22px;border:1px solid #d9efe6}
.cem .pat .sj{font-size:1.35rem;font-weight:800;color:var(--ink);background:var(--mint-2);border-radius:8px;padding:10px 12px;margin-bottom:14px;line-height:1.35}
.cem .pat h3{font-size:1.75rem;font-weight:800;margin-bottom:6px}
.cem .pat p{font-size:1.45rem}
.cem .pat .x{margin-top:12px;font-size:1.3rem;font-weight:700;color:var(--green-dark)}
.cem .pats .cite{text-align:center;margin-top:22px;font-size:1.3rem;color:var(--muted);font-style:italic}

/* TWO STATES */
.cem .states h2{font-size:clamp(3rem,3.6vw,4.2rem);text-align:center;max-width:820px;margin:0 auto 12px}
.cem .states .sub{text-align:center;font-size:1.7rem;max-width:680px;margin:0 auto}
.cem .stgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:44px}
.cem .st{background:#fff;border:1px solid var(--line);border-left:5px solid var(--green);border-radius:var(--r);padding:28px 30px}
.cem .st.md{border-left-color:var(--navy)}
.cem .st .nm{font-weight:800;font-size:1.3rem;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);margin-bottom:8px}
.cem .st h3{font-family:var(--serif);font-weight:500;font-size:2.3rem;margin-bottom:10px}
.cem .st p{font-size:1.55rem}
.cem .st .law{margin-top:12px;font-size:1.3rem;color:var(--muted)}
.cem .statelist{margin-top:44px;background:var(--mint);border:1px solid #cfeee3;border-radius:var(--r);padding:30px 32px;text-align:center}
.cem .statelist h3{font-family:var(--serif);font-weight:500;font-size:2.2rem;margin-bottom:8px}
.cem .statelist p.intro{font-size:1.5rem;margin-bottom:20px}
.cem .chips-states{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.cem .chips-states span{background:#fff;border:1px solid #cfeee3;border-radius:999px;padding:10px 22px;font-size:1.6rem;font-weight:700;color:var(--navy)}
.cem .statelist p.after{margin-top:20px;font-size:1.4rem;color:var(--muted)}

/* EVIDENCE */
.cem .ev .container{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.cem .ev h2{font-size:clamp(3rem,3.6vw,4.2rem);margin-bottom:12px}
.cem .ev p.lead{font-size:1.7rem}
.cem .chips{display:grid;gap:14px}
.cem .chip{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.cem .chip .ic{flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:var(--mint-2);display:flex;align-items:center;justify-content:center}
.cem .chip .ic svg{width:22px;height:22px;stroke:var(--green);fill:none;stroke-width:2}
.cem .chip b{display:block;color:var(--ink);font-size:1.6rem}
.cem .chip span{font-size:1.4rem;color:var(--muted)}
.cem .chip.opt{border-style:dashed}
.cem .ev .none{margin-top:18px;font-size:1.45rem;background:var(--mint);border-radius:12px;padding:14px 18px;color:var(--ink)}

/* TRUST */
.cem .trust{background:#fff;padding:7rem 0 8rem;border-top:1px solid var(--line)}
.cem .trust .container{text-align:center}
.cem .trust h2{font-size:clamp(2.6rem,3.2vw,3.6rem);max-width:700px;margin:0 auto 10px}
.cem .trust .sub{font-size:1.6rem;max-width:600px;margin:0 auto}
.cem .trust .tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:46px}
.cem .trust .n{font-family:var(--serif);font-size:5rem;color:var(--navy);line-height:1}
.cem .trust .l{margin-top:8px;font-size:1.4rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.cem .trust .s{margin-top:8px;font-size:1.45rem}

/* FAQ */
.cem .faqs{background:#f6f8f8}
.cem .faqs .container{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.cem .faqs h2{font-size:clamp(3rem,3.6vw,4.2rem);margin-bottom:12px}
.cem .faqs .lead{font-size:1.6rem}
.cem .faq{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
.cem .faq button{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:20px 22px;display:flex;justify-content:space-between;gap:16px;align-items:center;font-family:var(--sans);font-weight:700;font-size:1.7rem;color:var(--ink)}
.cem .faq .tog{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--mint-2);color:var(--green-dark);display:flex;align-items:center;justify-content:center;font-size:2.4rem;line-height:1;transition:.2s}
.cem .faq.open .tog{background:var(--navy);color:#fff;transform:rotate(45deg)}
.cem .faq .ans{max-height:0;overflow:hidden;transition:max-height .3s ease}
.cem .faq.open .ans{max-height:700px}
.cem .faq .ans p{padding:0 22px 20px;font-size:1.5rem}

/* REMEMBER */
.cem .remember{background:var(--navy);color:#fff;text-align:center;padding:7rem 0}
.cem .remember h2{color:#fff;font-family:var(--serif);font-weight:500;font-size:2.8rem;margin-bottom:14px}
.cem .remember p{max-width:860px;margin:0 auto;font-size:1.55rem;color:#c9d2f5}

/* FINAL */
.cem .final{background:linear-gradient(120deg,var(--green) 0%,#2f8a6d 100%);color:#fff;text-align:center;padding:9rem 0}
.cem .final h2{color:#fff;font-family:var(--serif);font-weight:500;font-size:clamp(3rem,3.8vw,4.4rem);max-width:760px;margin:0 auto}
.cem .final p{margin:16px auto 0;font-size:1.65rem;color:#e9f7f3;max-width:560px}
.cem .final .btn{margin-top:30px;background:#fff;color:var(--green-dark)}
.cem .final .btn:hover{background:var(--navy);color:#fff}
.cem .final .micro{font-size:1.25rem;margin-top:14px;color:#d8f2ea}

.cem .mbar{display:none}

@media (max-width:1024px){
  header .header-wrap > .side-button{display:none}
  .cem .patgrid{grid-template-columns:repeat(2,1fr)}
  .cem .qual .container{grid-template-columns:1fr}
  .cem .startcard{position:static}
}
@media (max-width:767px){
  .cem section{padding:6rem 0}
  .cem .hero{padding:10rem 0 6rem}
  .cem .hero .container,.cem .step,.cem .ev .container,.cem .faqs .container{grid-template-columns:1fr;gap:32px}
  .cem .step.flip .panel{order:0}
  .cem .step{margin-top:44px}
  .cem .step .num{font-size:6.5rem}
  .cem .trust .tgrid,.cem .patgrid,.cem .stgrid{grid-template-columns:1fr}
  .cem .stub{margin:0 auto}
  .cem .startcard{display:none}
  .cem .mbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(0,0,0,.08)}
  .cem .mbar .btn{width:100%;justify-content:center}
  .cem .final{padding:6rem 1rem}
  .footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .footer-grid .footer-item{min-width:0}
}
