/* ==========================================================================
   Why Us page (page-why-us.php). Loaded only there, after the site bundle.
   Brand surfaces are cyan or gold; ink is text only.
   ========================================================================== */
.lswu{ padding:64px 0; }
.lswu__h2{
	margin:0 0 16px; font-family:'Sora',sans-serif; font-weight:800; font-size:36px; line-height:1.14;
	letter-spacing:-.02em; color:var(--ink);
}
.lswu__p{ margin:0 0 14px; font-size:15.5px; line-height:1.72; color:var(--body); }
.lswu__p--lead{ font-size:16.5px; }
.lswu .ls-kicker{ margin-bottom:10px; }
.lswu__btn{ margin-top:8px; }
.lswu img{ width:100%; height:auto; display:block; }

/* ---- 1. Intro: copy left, photo right ---- */
.lswu-intro__grid{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:40px 64px; align-items:stretch; }
.lswu-intro__media{ position:relative; display:flex; }
.lswu-intro__frame{ position:relative; flex:1; min-height:440px; border-radius:18px; overflow:hidden; box-shadow:0 30px 60px -34px rgba(11,22,48,.45); }
.lswu-intro__frame img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.lswu-pillars{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:22px 0 22px; }
.lswu-pillar{ padding:20px 20px 18px; border:1.5px solid var(--line); border-radius:14px; background:#fff; }
.lswu-pillar__ic{
	display:grid; place-items:center; width:64px; height:64px; border-radius:16px; margin-bottom:14px;
	background:rgba(0,204,247,.12);
}
.lswu-pillar__ic i, .lswu-card__ic i{ display:block; line-height:1; }
.lswu-pillar__ic svg, .lswu-card__ic svg{ display:block; width:38px; height:38px; color:var(--ink); }
.lswu-card__ic svg{ width:34px; height:34px; }
.lswu-pillar__ic i::before{ font-size:32px!important; color:var(--ink)!important; -webkit-text-fill-color:var(--ink); background:none!important; }
.lswu-pillar__t{ margin:0 0 6px; font-family:'Sora',sans-serif; font-weight:700; font-size:16px; color:var(--ink); line-height:1.3; }
.lswu-pillar__x{ margin:0; font-size:14px; line-height:1.6; color:var(--body); }
.lswu-checks{ list-style:none; margin:0 0 22px; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 22px; }
.lswu-checks li{ display:flex; align-items:flex-start; gap:10px; font-size:15px; font-weight:600; color:var(--ink); line-height:1.45; }
.lswu-checks__ic{
	flex-shrink:0; width:22px; height:22px; border-radius:50%; margin-top:1px; display:grid; place-items:center;
	background:var(--gold); color:var(--ink);
}

/* ---- 2. Problem + numbers: tinted band ---- */
.lswu-problem{ background:#f5fbfd; }
.lswu-problem__grid{ display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:36px 64px; align-items:stretch; }
.lswu-problem__left{ display:flex; flex-direction:column; }
.lswu-problem__media{ position:relative; flex:1; min-height:380px; margin-top:22px; border-radius:18px; overflow:hidden; box-shadow:0 30px 60px -34px rgba(11,22,48,.45); }
.lswu-problem__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.lswu-point{ margin-top:22px; }
.lswu-point__t{ display:flex; align-items:baseline; gap:12px; margin:0 0 8px; font-family:'Sora',sans-serif; font-weight:700; font-size:19px; color:var(--ink); }
.lswu-point__n{ flex-shrink:0; font-size:13px; letter-spacing:.08em; color:#0098bd; }
.lswu-stats{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:26px; }
.lswu-stat{ padding:22px 22px 20px; border-radius:14px; background:#fff; border:1.5px solid var(--line); border-top:4px solid var(--cy); }
.lswu-stat:nth-child(even){ border-top-color:var(--gold); }
.lswu-stat__v{ font-family:'Sora',sans-serif; font-weight:800; font-size:36px; line-height:1; letter-spacing:-.02em; color:var(--ink); }
.lswu-stat__l{ margin:10px 0 0; font-size:14px; line-height:1.55; color:var(--body); }

/* ---- 3. Services: cards either side of a photo ---- */
.lswu-services .ls-sechead{ margin-bottom:36px; }
.lswu-services__hl{ margin:14px 0 0; font-weight:700; color:var(--ink); font-size:15.5px; }
.lswu-services__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr); gap:18px; align-items:stretch; }
.lswu-services__col{ display:grid; gap:18px; align-content:stretch; }
.lswu-card{ padding:22px 22px 20px; border:1.5px solid var(--line); border-radius:14px; background:#fff; transition:border-color .2s, box-shadow .2s, transform .2s; }
.lswu-card:hover{ border-color:rgba(0,204,247,.5); box-shadow:0 24px 44px -32px rgba(0,140,170,.45); transform:translateY(-2px); }
.lswu-card__ic{ display:grid; place-items:center; width:58px; height:58px; border-radius:14px; margin-bottom:14px; background:rgba(0,204,247,.12); }
.lswu-card__ic i::before{ font-size:30px!important; color:var(--ink)!important; -webkit-text-fill-color:var(--ink); background:none!important; }
.lswu-card__t{ margin:0 0 6px; font-family:'Sora',sans-serif; font-weight:700; font-size:16px; color:var(--ink); }
.lswu-card__x{ margin:0; font-size:14px; line-height:1.6; color:var(--body); }
.lswu-services__media{ position:relative; border-radius:18px; overflow:hidden; min-height:420px; box-shadow:0 30px 60px -34px rgba(11,22,48,.45); }
.lswu-services__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.lswu-services__cta{ text-align:center; margin-top:34px; }
.lswu-services__cta .lswu__btn{ margin-top:0; }

/* ---- 4. Testimonial: mockup + cyan panel ---- */
.lswu-quote{ padding-top:0; }
.lswu-quote__grid{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:0; border-radius:18px; overflow:hidden; box-shadow:0 30px 60px -34px rgba(11,22,48,.45); }
.lswu-quote__media{ position:relative; min-height:380px; background:#0b1630; }
.lswu-quote__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.lswu-quote__panel{ margin:0; padding:48px 48px 44px; background:var(--cy); color:var(--ink); display:flex; flex-direction:column; justify-content:center; position:relative; }
.lswu-quote__mark{ position:absolute; top:18px; left:38px; font-family:'Sora',sans-serif; font-size:120px; line-height:1; font-weight:800; color:var(--gold); opacity:.9; }
.lswu-quote__text{ position:relative; margin:34px 0 22px; font-size:17px; line-height:1.72; font-weight:500; color:var(--ink); }
.lswu-quote__who{ display:flex; flex-direction:column; gap:2px; }
.lswu-quote__who b{ font-family:'Sora',sans-serif; font-size:16px; color:var(--ink); }
.lswu-quote__who span{ font-size:14px; color:var(--ink); opacity:.8; }

/* ---- 5. Process: six steps as a journey, tinted band, white cards ---- */
.lswu-process{ background:#f5fbfd; }
.lswu-process__head{ max-width:760px; margin-bottom:38px; }
.lswu-steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; counter-reset:none; }
.lswu-step{
	position:relative; padding:28px 26px 30px; border-radius:18px; border:1.5px solid var(--line); background:#fff;
	transition:transform .25s, box-shadow .25s, border-color .25s;
}
.lswu-step:hover{ transform:translateY(-4px); border-color:rgba(0,204,247,.55); box-shadow:0 28px 50px -30px rgba(0,140,170,.5); }
.lswu-step:last-child{ border-color:rgba(253,208,0,.9); }
.lswu-step__wm{
	position:absolute; right:20px; bottom:10px; font-family:'Sora',sans-serif; font-weight:800; font-size:66px; line-height:.8;
	letter-spacing:-.04em; color:rgba(0,204,247,.10); pointer-events:none; user-select:none;
}
.lswu-step:nth-child(even) .lswu-step__wm{ color:rgba(253,208,0,.22); }
.lswu-step__top{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.lswu-step__ic{ display:grid; place-items:center; width:54px; height:54px; border-radius:14px; background:var(--cy); color:var(--ink); }
.lswu-step:nth-child(even) .lswu-step__ic{ background:var(--gold); }
.lswu-step__ic svg{ display:block; width:32px; height:32px; }
.lswu-step__ic i::before{ font-size:28px!important; color:var(--ink)!important; -webkit-text-fill-color:var(--ink); background:none!important; }
.lswu-step__n{ font-family:'Sora',sans-serif; font-weight:700; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:#0098bd; }
.lswu-step__t{ position:relative; margin:0 0 8px; font-family:'Sora',sans-serif; font-weight:700; font-size:18px; color:var(--ink); }
.lswu-step__x{ position:relative; margin:0; font-size:14.5px; line-height:1.65; color:var(--body); max-width:34em; }
/* A short rail from each card to the next, at the height of the icon chip. */
.lswu-step__link{ position:absolute; top:55px; right:-24px; width:24px; height:2px; background:var(--cy); }
.lswu-step:nth-child(even) .lswu-step__link{ background:var(--gold); }
.lswu-step:nth-child(3n) .lswu-step__link, .lswu-step:last-child .lswu-step__link{ display:none; }
/* ---- Responsive ---- */
@media (max-width:1100px){
	.lswu-services__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.lswu-services__media{ grid-column:1 / -1; grid-row:1; min-height:260px; }
}
@media (max-width:991px){
	.lswu{ padding:52px 0; }
	.lswu__h2{ font-size:30px; }
	.lswu-intro__grid, .lswu-problem__grid, .lswu-quote__grid{ grid-template-columns:1fr; }
	.lswu-intro__media{ order:-1; max-width:560px; }
	.lswu-intro__frame{ min-height:0; aspect-ratio:3/2; }
	.lswu-problem__media{ min-height:0; aspect-ratio:3/2; }
	.lswu-quote__media{ min-height:300px; }
	.lswu-quote__panel{ padding:40px 30px 36px; }
	.lswu-steps{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.lswu-step__link{ display:none; }
}
@media (max-width:600px){
	.lswu__h2{ font-size:26px; }
	.lswu-pillars, .lswu-checks, .lswu-stats, .lswu-services__grid, .lswu-steps{ grid-template-columns:1fr; }
	.lswu-services__media{ min-height:220px; }
	.lswu-quote__mark{ font-size:90px; left:26px; }
}
