/* ============================================================
   MAWATHEQ — Landing Page 2.0
   Extends style.css / enterprise.css without overriding them.
   All colours come from the tokens in enterprise.css :root.
   ============================================================ */

/* ---------- Section rhythm ---------- */
.l2-section{ padding:64px 0; }
.l2-section--tight{ padding:44px 0; }
.l2-section--alt{ background:linear-gradient(180deg,#F0F5FA 0%,#FFFFFF 100%); }
.l2-section--dark{ background:linear-gradient(150deg,var(--navy) 0%,var(--navy-dark) 60%,#07334D 100%); color:#fff; }
.l2-section--dark h2,.l2-section--dark h3{ color:#fff; }
.l2-section--dark p{ color:#C7D8E4; }

.l2-head{ max-width:720px; margin:0 auto 40px; text-align:center; }
.l2-eyebrow{
  display:inline-block; font-size:var(--fs-sm); font-weight:700; letter-spacing:.04em;
  color:var(--teal); background:var(--info-bg); border:1px solid #CFEAF1;
  padding:5px 14px; border-radius:var(--r-pill); margin-bottom:14px;
}
.l2-section--dark .l2-eyebrow{ background:rgba(43,168,196,.14); border-color:rgba(43,168,196,.35); color:#8ACEE7; }
.l2-head h2{ font-family:var(--serif); font-size:clamp(1.35rem,4vw,2rem); line-height:1.35; margin:0 0 12px; color:var(--navy); }
.l2-head p{ color:var(--text-muted); font-size:var(--fs-md); line-height:1.85; margin:0; }

/* ---------- Hero ---------- */
.l2-hero{
  position:relative; overflow:hidden; padding:56px 0 64px;
  background:linear-gradient(165deg,#F0F5FA 0%,#FFFFFF 45%,#EAF6F9 100%);
}
.l2-hero::before{
  content:""; position:absolute; inset-inline-end:-160px; top:-160px;
  width:460px; height:460px; border-radius:50%;
  background:radial-gradient(circle,rgba(43,168,196,.18) 0%,rgba(43,168,196,0) 70%);
  pointer-events:none;
}
.l2-hero-grid{ display:grid; grid-template-columns:1fr; gap:40px; align-items:center; position:relative; }
.l2-hero-copy h1{
  font-family:var(--serif); font-weight:800; color:var(--navy);
  font-size:clamp(1.6rem,5.2vw,2.6rem); line-height:1.32; margin:16px 0 16px;
}
.l2-hero-copy .l2-lead{ font-size:var(--fs-lg); line-height:1.9; color:var(--text-muted); margin:0 0 26px; max-width:56ch; }
.l2-hero-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:14px; }
.l2-hero-note{ font-size:var(--fs-sm); color:var(--text-subtle); display:flex; align-items:center; gap:8px; }
.l2-hero-note svg{ flex:none; }

.l2-stats{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:32px; }
.l2-stat{
  background:rgba(255,255,255,.85); border:1px solid var(--border); border-radius:var(--r-lg);
  padding:14px 16px; box-shadow:var(--sh-xs);
}
.l2-stat b{ display:block; font-family:var(--serif); font-size:1.15rem; color:var(--navy); line-height:1.4; }
.l2-stat span{ font-size:var(--fs-xs); color:var(--text-muted); }

/* ---------- Product preview (web app window) ---------- */
.l2-preview{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-xl);
  box-shadow:var(--sh-lg); overflow:hidden; max-width:560px; margin-inline:auto; width:100%;
}
.l2-preview-bar{
  display:flex; align-items:center; gap:8px; padding:10px 14px;
  background:linear-gradient(135deg,var(--navy) 0%,#07334D 100%); color:#fff;
}
.l2-preview-bar .dot{ width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.35); flex:none; }
.l2-preview-bar .title{ font-size:var(--fs-xs); margin-inline-start:6px; color:#C7D8E4; }
.l2-preview-body{ padding:16px; display:grid; gap:12px; }
.l2-preview-hero{
  background:linear-gradient(135deg,#8ACEE7 0%,#2BA8C4 100%); border-radius:var(--r-lg);
  padding:16px; color:#07334D;
}
.l2-preview-hero b{ display:block; font-family:var(--serif); font-size:1.02rem; margin-bottom:4px; }
.l2-preview-hero span{ font-size:var(--fs-xs); opacity:.85; }
.l2-preview-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.l2-preview-tile{
  border:1px solid var(--border); border-radius:var(--r-md); padding:12px;
  background:var(--surface-2); display:flex; align-items:center; gap:10px;
}
.l2-preview-tile i{
  width:30px; height:30px; border-radius:9px; flex:none; display:grid; place-items:center;
  background:var(--info-bg); color:var(--teal); font-style:normal; font-size:.9rem;
}
.l2-preview-tile span{ font-size:var(--fs-xs); color:var(--text); font-weight:600; line-height:1.5; }
.l2-preview-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border:1px solid var(--border); border-radius:var(--r-md); background:#fff; }
.l2-preview-row .t{ font-size:var(--fs-xs); font-weight:600; color:var(--text); }
.l2-preview-row .s{ font-size:11px; color:var(--text-subtle); }

/* ---------- Feature cards ---------- */
.l2-features{ display:grid; grid-template-columns:1fr; gap:16px; }
.l2-feature{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg);
  padding:20px; box-shadow:var(--sh-xs); transition:box-shadow var(--dur-base,250ms) ease, transform 250ms ease;
}
.l2-feature:hover{ box-shadow:var(--sh-md); transform:translateY(-2px); }
.l2-feature .ic{
  width:42px; height:42px; border-radius:12px; display:grid; place-items:center; margin-bottom:14px;
  background:linear-gradient(135deg,#EAF6F9 0%,#D8EEF5 100%); color:var(--navy); font-size:1.15rem;
}
.l2-feature h3{ font-family:var(--serif); font-size:1.02rem; color:var(--navy); margin:0 0 8px; line-height:1.5; }
.l2-feature p{ font-size:var(--fs-sm); color:var(--text-muted); line-height:1.8; margin:0; }

/* ---------- Role solutions ---------- */
.l2-roles{ display:grid; grid-template-columns:1fr; gap:16px; }
.l2-role{
  border:1px solid var(--border); border-radius:var(--r-lg); padding:22px; background:#fff;
  border-inline-start:3px solid var(--teal); box-shadow:var(--sh-xs);
}
.l2-role h3{ font-family:var(--serif); font-size:1.05rem; color:var(--navy); margin:0 0 8px; }
.l2-role p{ font-size:var(--fs-sm); color:var(--text-muted); line-height:1.8; margin:0; }

/* ---------- Split content rows ---------- */
.l2-split{ display:grid; grid-template-columns:1fr; gap:32px; align-items:center; }
.l2-split h2{ font-family:var(--serif); font-size:clamp(1.25rem,3.6vw,1.75rem); color:var(--navy); margin:14px 0 12px; line-height:1.4; }
.l2-split p.l2-lead{ font-size:var(--fs-md); line-height:1.9; color:var(--text-muted); margin:0 0 20px; }
.l2-section--dark .l2-split h2{ color:#fff; }
.l2-section--dark .l2-split p.l2-lead{ color:#C7D8E4; }

.l2-bullets{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.l2-bullets li{ display:flex; gap:10px; align-items:flex-start; font-size:var(--fs-sm); color:var(--text); line-height:1.7; }
.l2-section--dark .l2-bullets li{ color:#DCE7EF; }
.l2-bullets li::before{
  content:"✓"; flex:none; width:20px; height:20px; border-radius:50%;
  background:var(--success-bg); color:var(--success); font-size:11px; font-weight:700;
  display:grid; place-items:center; margin-top:1px;
}
.l2-section--dark .l2-bullets li::before{ background:rgba(43,168,196,.18); color:#8ACEE7; }

/* ---------- AI showcase ---------- */
.l2-ai-card{
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r-xl); padding:18px; backdrop-filter:blur(2px);
}
.l2-ai-card .who{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.l2-ai-card .who .av{
  width:34px; height:34px; border-radius:10px; display:grid; place-items:center;
  background:linear-gradient(135deg,#8ACEE7,#2BA8C4); color:#07334D; font-weight:800; font-size:.8rem; flex:none;
}
.l2-ai-card .who b{ font-size:var(--fs-sm); color:#fff; }
.l2-ai-card .who span{ display:block; font-size:11px; color:#8FB3C7; }
.l2-msg{ border-radius:var(--r-md); padding:11px 14px; font-size:var(--fs-sm); line-height:1.8; margin-bottom:10px; }
.l2-msg.user{ background:rgba(43,168,196,.18); color:#E6F6FA; margin-inline-start:auto; max-width:88%; }
.l2-msg.bot{ background:rgba(255,255,255,.08); color:#EAF3F8; max-width:92%; }
.l2-ref{
  display:inline-flex; align-items:center; gap:7px; margin-top:6px;
  font-size:11px; color:#8ACEE7; background:rgba(43,168,196,.14);
  border:1px solid rgba(43,168,196,.3); border-radius:var(--r-pill); padding:3px 10px;
}
.l2-demo-tag{
  display:inline-block; font-size:11px; font-weight:700; letter-spacing:.03em;
  color:#F5A623; border:1px dashed rgba(245,166,35,.5); border-radius:var(--r-pill);
  padding:3px 10px; margin-bottom:12px;
}
.l2-ai-note{ font-size:var(--fs-xs); color:#9FB1C1; line-height:1.8; margin-top:16px; }

/* ---------- Security grid ---------- */
.l2-sec-grid{ display:grid; grid-template-columns:1fr; gap:14px; }
.l2-sec-item{
  display:flex; gap:12px; align-items:flex-start; background:#fff;
  border:1px solid var(--border); border-radius:var(--r-lg); padding:16px; box-shadow:var(--sh-xs);
}
.l2-sec-item .ic{ width:34px; height:34px; border-radius:10px; flex:none; display:grid; place-items:center; background:var(--success-bg); color:var(--success); }
.l2-sec-item b{ display:block; font-size:var(--fs-sm); color:var(--navy); margin-bottom:3px; }
.l2-sec-item span{ font-size:var(--fs-xs); color:var(--text-muted); line-height:1.7; }

/* ---------- Steps ---------- */
.l2-steps{ display:grid; grid-template-columns:1fr; gap:16px; counter-reset:l2step; }
.l2-step{
  background:#fff; border:1px solid var(--border); border-radius:var(--r-lg); padding:22px;
  box-shadow:var(--sh-xs); position:relative;
}
.l2-step .n{
  width:34px; height:34px; border-radius:10px; display:grid; place-items:center; margin-bottom:12px;
  background:linear-gradient(135deg,var(--navy) 0%,#07334D 100%); color:#fff; font-weight:800; font-size:.9rem;
}
.l2-step h3{ font-family:var(--serif); font-size:1rem; color:var(--navy); margin:0 0 8px; }
.l2-step p{ font-size:var(--fs-sm); color:var(--text-muted); line-height:1.8; margin:0; }

/* ---------- Mobile app section ---------- */
.l2-phone{
  width:min(300px,86vw); margin-inline:auto; background:#0B2239; border-radius:36px; padding:10px;
  box-shadow:var(--sh-lg); border:1px solid rgba(255,255,255,.12);
}
.l2-phone-screen{ background:#F6F9FC; border-radius:28px; overflow:hidden; }
.l2-phone-notch{ height:22px; display:grid; place-items:center; background:#0B2239; }
.l2-phone-notch i{ width:74px; height:5px; border-radius:3px; background:rgba(255,255,255,.28); }
.l2-phone-inner{ padding:12px; display:grid; gap:10px; }
.l2-phone-head{ display:flex; align-items:center; justify-content:space-between; }
.l2-phone-head .b{ display:flex; align-items:center; gap:8px; }
.l2-phone-head img{ width:26px; height:26px; object-fit:contain; }
.l2-phone-head b{ font-size:13px; color:var(--navy); font-family:var(--serif); }
.l2-phone-head .ic{ width:26px; height:26px; border-radius:8px; background:#fff; border:1px solid var(--border); display:grid; place-items:center; font-size:12px; }
.l2-phone-hero{
  background:linear-gradient(135deg,#DCEFF8 0%,#EAF6F9 100%); border-radius:16px; padding:14px;
}
.l2-phone-hero b{ display:block; font-family:var(--serif); font-size:14px; color:var(--navy); line-height:1.5; margin-bottom:5px; }
.l2-phone-hero span{ font-size:10px; color:var(--text-muted); line-height:1.6; display:block; margin-bottom:10px; }
.l2-phone-hero .cta{
  display:inline-block; background:linear-gradient(135deg,#2BA8C4,#1E8E9E); color:#fff;
  font-size:10px; font-weight:700; padding:7px 14px; border-radius:999px;
}
.l2-phone-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.l2-phone-tile{ background:#fff; border:1px solid var(--border); border-radius:13px; padding:10px 8px; text-align:center; }
.l2-phone-tile i{ display:block; font-style:normal; font-size:15px; margin-bottom:5px; }
.l2-phone-tile span{ font-size:9.5px; color:var(--text); font-weight:600; }
.l2-phone-nav{
  display:flex; justify-content:space-around; align-items:center; background:#fff;
  border-top:1px solid var(--border); padding:8px 4px;
}
.l2-phone-nav div{ text-align:center; font-size:8.5px; color:var(--text-subtle); }
.l2-phone-nav div i{ display:block; font-style:normal; font-size:13px; margin-bottom:2px; }
.l2-phone-nav div.on{ color:var(--teal); font-weight:700; }

.l2-platform-badges{ display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 14px; }
.l2-platform-badge{
  display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.06); color:#EAF3F8; border-radius:var(--r-pill);
  padding:7px 15px; font-size:var(--fs-sm);
}
.l2-mob-status{ font-size:var(--fs-xs); color:#9FB1C1; line-height:1.8; }

/* ---------- Pricing note ---------- */
.l2-price-note{ text-align:center; font-size:var(--fs-sm); color:var(--text-muted); margin-top:22px; line-height:1.8; }

/* ---------- FAQ tweaks ---------- */
.l2-faq{ max-width:820px; margin-inline:auto; }

/* ---------- Responsive ---------- */
@media (min-width:600px){
  .l2-features{ grid-template-columns:repeat(2,1fr); }
  .l2-roles{ grid-template-columns:repeat(2,1fr); }
  .l2-sec-grid{ grid-template-columns:repeat(2,1fr); }
  .l2-steps{ grid-template-columns:repeat(2,1fr); }
  .l2-stats{ grid-template-columns:repeat(4,1fr); }
}
@media (min-width:900px){
  .l2-section{ padding:88px 0; }
  .l2-hero{ padding:76px 0 88px; }
  .l2-hero-grid{ grid-template-columns:1.05fr .95fr; gap:56px; }
  .l2-features{ grid-template-columns:repeat(4,1fr); }
  .l2-roles{ grid-template-columns:repeat(3,1fr); }
  .l2-sec-grid{ grid-template-columns:repeat(3,1fr); }
  .l2-steps{ grid-template-columns:repeat(4,1fr); }
  .l2-split{ grid-template-columns:1fr 1fr; gap:56px; }
  .l2-split--reverse > *:first-child{ order:2; }
}
@media (min-width:1200px){
  .l2-hero-copy h1{ font-size:2.75rem; }
}

/* ---------- Narrow phones: no horizontal overflow ---------- */
@media (max-width:360px){
  .l2-preview-grid{ grid-template-columns:1fr; }
  .l2-hero-actions .btn{ width:100%; text-align:center; }
  .l2-phone{ width:100%; border-radius:28px; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .l2-feature{ transition:none; }
  .l2-feature:hover{ transform:none; }
}

/* ---------- Print ---------- */
@media print{
  .l2-hero::before{ display:none; }
  .l2-section--dark{ background:#fff; color:#000; }
}
