/* ============================================================
   Lexora — Our Services (#67)
   Same brand system as About/Home: navy #09243C authority +
   teal #1F9C8A light/accent, Inter (display) + Public Sans (body).
   Scoped under .lexora-services so nothing leaks into the theme.
   Enqueued by inc/lexora-services.php on the Our-Services page only.
   ============================================================ */
/* Full-bleed: the theme wraps page content in a max-width:1320px .container,
   leaving big blank margins on wide desktops. Break out to the viewport edges
   with the negative-margin trick (independent of the theme's wrapper markup);
   the inner .wrap still centres the content. overflow-x guard stops the
   scrollbar-width from creating a tiny horizontal scroll. */
body.lexora-services-active #pxl-main{ overflow-x:clip; }
.lexora-services{
  width:auto;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}

.lexora-services{
  --navy:#09243C; --navy-700:#051B2E; --navy-600:#0B2F4A; --navy-800:#04141F;
  --navy-50:#EAF1F7; --navy-100:#D5E3EF;
  --teal:#1F9C8A; --teal-400:#36B7A3; --teal-600:#17806F; --teal-50:#E7F4F1;
  --bg:#F5F7FA; --surface:#FFFFFF; --surface-2:#EEF2F6;
  --ink:#0B1F33; --ink-2:#566472; --ink-3:#8A95A1; --line:#E2E7EC; --line-2:#CDD5DD;
  --display:'Inter',system-ui,-apple-system,sans-serif;
  --body:'Public Sans',system-ui,-apple-system,sans-serif;
  --maxw:1200px;
  --shadow-2:0 8px 30px rgba(11,31,51,.08);
  --shadow-3:0 24px 60px rgba(11,31,51,.16);
  font-family:var(--body); color:var(--ink); background:var(--bg);
  font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
.lexora-services *{box-sizing:border-box}
.lexora-services img{max-width:100%;display:block}
.lexora-services a{color:inherit;text-decoration:none}
.lexora-services h1,.lexora-services h2,.lexora-services h3,.lexora-services h4{
  font-family:var(--display);font-weight:500;line-height:1.08;letter-spacing:-.025em;margin:0;color:var(--ink)}
.lexora-services p{margin:0}
.lexora-services .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.lexora-services .eyebrow{font-family:var(--display);font-weight:500;font-size:12.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--teal-600);display:inline-flex;align-items:center;gap:10px}
.lexora-services .eyebrow::before{content:"";width:26px;height:1.5px;background:var(--teal);display:inline-block}
.lexora-services .eyebrow.on-dark{color:var(--teal-400)}
.lexora-services .eyebrow.on-dark::before{background:var(--teal-400)}

/* ---------------- buttons ---------------- */
.lexora-services .btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:500;
  font-size:15.5px;border-radius:11px;padding:15px 26px;transition:transform .12s,background .18s,border-color .18s,color .18s;
  border:1.5px solid transparent;cursor:pointer}
.lexora-services .btn svg{width:18px;height:18px}
.lexora-services .btn-primary{background:var(--teal);color:#06231e}
.lexora-services .btn-primary:hover{background:var(--teal-400);transform:translateY(-2px)}
.lexora-services .btn-ghost{background:transparent;color:#EAF3F1;border-color:rgba(255,255,255,.28)}
.lexora-services .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06)}

/* ---------------- HERO ---------------- */
.lexora-services .lx-hero{position:relative;background:var(--navy);color:#EAF3F1;overflow:hidden;padding:120px 0 0}
.lexora-services .lx-hero::before{content:"";position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(58% 70% at 78% 8%, rgba(31,156,138,.36), transparent 60%),
    radial-gradient(40% 55% at 10% 100%, rgba(31,156,138,.14), transparent 60%);
  animation:lxglow 12s ease-in-out infinite alternate}
@keyframes lxglow{from{opacity:.75;transform:translateY(0)}to{opacity:1;transform:translateY(-12px)}}
.lexora-services .lx-hero::after{content:"";position:absolute;inset:0;z-index:0;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 35%,transparent 78%);
          mask-image:radial-gradient(120% 90% at 50% 0%,#000 35%,transparent 78%)}
.lexora-services .lx-hero .wrap{position:relative;z-index:1}
.lexora-services .lx-hero .eyebrow{color:var(--teal-400)}
.lexora-services .lx-hero .eyebrow::before{background:var(--teal-400)}
.lexora-services .lx-hero h1{color:#fff;font-size:clamp(38px,5.6vw,70px);font-weight:500;letter-spacing:-.035em;
  max-width:17ch;margin:22px 0 0}
.lexora-services .lx-hero h1 .lit{position:relative;color:#fff;white-space:nowrap}
.lexora-services .lx-hero h1 .lit::after{content:"";position:absolute;left:-2px;right:-2px;bottom:.08em;height:.30em;
  background:linear-gradient(90deg,var(--teal),var(--teal-400));border-radius:3px;z-index:-1;opacity:.9}
.lexora-services .lx-hero .lede{max-width:58ch;margin:26px 0 0;font-size:18.5px;color:#B9CFCB;line-height:1.7}
.lexora-services .lx-hero .lx-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.lexora-services .hero-reg{display:inline-flex;align-items:center;gap:9px;margin-top:30px;font-size:13px;
  color:#9DB8B3;font-weight:500;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  padding:8px 14px;border-radius:999px}
.lexora-services .hero-reg .dot{width:7px;height:7px;border-radius:50%;background:var(--teal-400);
  box-shadow:0 0 0 4px rgba(54,183,163,.22)}

/* ---------------- CREDIBILITY BAND ---------------- */
.lexora-services .lx-band{background:var(--navy-700);border-top:1px solid rgba(255,255,255,.08);position:relative;z-index:1;margin-top:84px}
.lexora-services .lx-band .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;padding:0 28px}
.lexora-services .lx-band .cell{padding:30px 8px 30px 0;display:flex;gap:15px;align-items:flex-start}
.lexora-services .lx-band .cell:not(:last-child){border-right:1px solid rgba(255,255,255,.08);padding-right:24px}
.lexora-services .lx-band .ic{flex-shrink:0;width:42px;height:42px;border-radius:11px;display:grid;place-items:center;
  background:rgba(31,156,138,.16);color:var(--teal-400)}
.lexora-services .lx-band .ic svg{width:21px;height:21px}
.lexora-services .lx-band .k{font-family:var(--display);font-weight:500;font-size:15.5px;color:#fff;letter-spacing:-.01em}
.lexora-services .lx-band .v{font-size:12.5px;color:#9DB2BE;margin-top:3px;line-height:1.45}

/* ---------------- SECTION SHELL ---------------- */
.lexora-services section.lx-sec{padding:104px 0}
.lexora-services .sec-head{max-width:680px}
.lexora-services .sec-head h2{font-size:clamp(28px,3.6vw,42px);margin:16px 0 0;letter-spacing:-.03em}
.lexora-services .sec-head p{color:var(--ink-2);font-size:18px;margin:16px 0 0;line-height:1.6}

/* ---------------- SERVICES GRIDS ---------------- */
/* Cosmetics (first) on white surface; Chemicals on the cool bg → rhythm. */
.lexora-services .lx-services.first{background:var(--surface);border-bottom:1px solid var(--line)}
.lexora-services .lx-services:not(.first){background:var(--bg)}
.lexora-services .lx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px}
.lexora-services .lx-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:18px;
  transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden;display:flex;flex-direction:column}
.lexora-services .lx-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-2);border-color:var(--line-2)}
/* featured image */
.lexora-services .lx-card-img{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--navy-50)}
.lexora-services .lx-card-img img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.lexora-services .lx-card:hover .lx-card-img img{transform:scale(1.045)}
.lexora-services .lx-card-img .ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--navy);opacity:.45}
.lexora-services .lx-card-img .ph svg{width:46px;height:46px}
.lexora-services .lx-card-chip{position:absolute;left:14px;top:14px;z-index:2;font-family:var(--display);
  font-weight:500;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#06231e;
  background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  padding:6px 11px;border-radius:999px;box-shadow:0 2px 8px rgba(11,31,51,.12)}
/* body */
.lexora-services .lx-card-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.lexora-services .lx-card h3{font-size:18.5px;margin:0 0 9px;letter-spacing:-.02em;line-height:1.2}
.lexora-services .lx-card p{font-size:14.5px;color:var(--ink-2);line-height:1.6;margin-bottom:18px}
.lexora-services .lx-card .more{margin-top:auto;display:inline-flex;align-items:center;gap:7px;
  font-family:var(--display);font-weight:500;font-size:14px;color:var(--teal-600)}
.lexora-services .lx-card .more svg{width:16px;height:16px;transition:transform .2s}
.lexora-services .lx-card:hover .more svg{transform:translateX(4px)}

/* ---------------- WHY LEXORA ---------------- */
.lexora-services .lx-why{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lexora-services .lx-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:46px}
.lexora-services .why-item .ic{width:48px;height:48px;border-radius:13px;background:var(--teal-50);color:var(--teal-600);
  display:grid;place-items:center;margin-bottom:18px}
.lexora-services .why-item .ic svg{width:24px;height:24px}
.lexora-services .why-item h3{font-size:18px;letter-spacing:-.02em;margin-bottom:8px}
.lexora-services .why-item p{font-size:14.5px;color:var(--ink-2);line-height:1.6}

/* ---------------- FAQ ---------------- */
.lexora-services .lx-faq{background:var(--bg)}
.lexora-services .lx-faq-list{margin-top:42px;max-width:860px;border:1px solid var(--line);border-radius:18px;
  background:var(--surface);overflow:hidden}
.lexora-services .faq-item{border-bottom:1px solid var(--line)}
.lexora-services .faq-item:last-child{border-bottom:0}
.lexora-services .faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;
  justify-content:space-between;gap:18px;padding:22px 26px;font-family:var(--display);font-weight:500;
  font-size:17px;color:var(--ink);letter-spacing:-.01em;transition:color .15s}
.lexora-services .faq-item summary::-webkit-details-marker{display:none}
.lexora-services .faq-item summary:hover{color:var(--teal-600)}
.lexora-services .faq-item .chev{flex-shrink:0;color:var(--ink-3);display:grid;place-items:center;
  transition:transform .25s ease,color .15s}
.lexora-services .faq-item .chev svg{width:18px;height:18px;transform:rotate(90deg)}
.lexora-services .faq-item[open] .chev{transform:rotate(90deg);color:var(--teal-600)}
.lexora-services .faq-a{padding:0 26px 24px;max-width:64ch}
.lexora-services .faq-a p{color:var(--ink-2);font-size:15.5px;line-height:1.7}

/* ---------------- CTA ---------------- */
.lexora-services .lx-cta-band{padding:0 0 110px;background:var(--bg)}
.lexora-services .cta-inner{position:relative;background:linear-gradient(135deg,var(--navy-700),var(--navy));
  border-radius:28px;padding:66px 56px;overflow:hidden;text-align:center}
.lexora-services .cta-inner::before{content:"";position:absolute;inset:0;
  background:radial-gradient(50% 120% at 50% -10%,rgba(31,156,138,.4),transparent 60%)}
.lexora-services .cta-inner > *{position:relative;z-index:1}
.lexora-services .cta-inner h2{color:#fff;font-size:clamp(26px,3.4vw,40px);letter-spacing:-.03em;max-width:18ch;margin:14px auto 0}
.lexora-services .cta-inner p{color:#A9C4BF;margin:18px auto 0;max-width:54ch;font-size:17px}
.lexora-services .cta-inner .lx-cta{justify-content:center;margin-top:32px;display:flex;flex-wrap:wrap;gap:14px}

/* ---------------- reveal motion ----------------
   Progressive enhancement: content is visible by default; the JS adds
   .reveal-on to the root before observing, so no-JS / crawlers / headless
   renderers always see the content (it never ships blank). */
.lexora-services.reveal-on .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.lexora-services.reveal-on .reveal.in{opacity:1;transform:none}
.lexora-services [data-d="1"]{transition-delay:.08s}
.lexora-services [data-d="2"]{transition-delay:.16s}
.lexora-services [data-d="3"]{transition-delay:.24s}
.lexora-services [data-d="4"]{transition-delay:.32s}
.lexora-services .lx-hero .anim{opacity:0;transform:translateY(22px);animation:lxin .9s cubic-bezier(.2,.7,.2,1) forwards}
.lexora-services .lx-hero .anim.d1{animation-delay:.05s}
.lexora-services .lx-hero .anim.d2{animation-delay:.18s}
.lexora-services .lx-hero .anim.d3{animation-delay:.32s}
.lexora-services .lx-hero .anim.d4{animation-delay:.46s}
.lexora-services .lx-hero .anim.d5{animation-delay:.58s}
@keyframes lxin{to{opacity:1;transform:none}}

/* ---------------- responsive ---------------- */
@media(max-width:960px){
  .lexora-services .lx-band .wrap{grid-template-columns:1fr 1fr;gap:0}
  .lexora-services .lx-band .cell{padding:24px 0!important;border-right:0!important}
  .lexora-services .lx-band .cell:nth-child(odd){border-right:1px solid rgba(255,255,255,.08)!important;padding-right:24px!important}
  .lexora-services .lx-grid{grid-template-columns:1fr 1fr}
  .lexora-services .lx-why-grid{grid-template-columns:1fr 1fr;gap:28px 22px}
}
@media(max-width:640px){
  .lexora-services{font-size:16px}
  .lexora-services .wrap{padding:0 20px}
  .lexora-services .lx-hero{padding:96px 0 0}
  .lexora-services section.lx-sec{padding:68px 0}
  .lexora-services .lx-band{margin-top:60px}
  .lexora-services .lx-band .wrap{grid-template-columns:1fr}
  .lexora-services .lx-band .cell,.lexora-services .lx-band .cell:nth-child(odd){border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.08);padding:18px 0!important}
  .lexora-services .lx-band .cell:last-child{border-bottom:0}
  .lexora-services .lx-grid{grid-template-columns:1fr}
  .lexora-services .lx-why-grid{grid-template-columns:1fr;gap:26px}
  .lexora-services .cta-inner{padding:48px 24px}
  .lexora-services .faq-item summary{padding:18px 20px;font-size:16px}
  .lexora-services .faq-a{padding:0 20px 20px}
  .lexora-services .btn{flex:1 1 100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .lexora-services *{animation:none!important;transition:none!important}
  .lexora-services .reveal{opacity:1;transform:none}
  .lexora-services .lx-hero .anim{opacity:1;transform:none}
}
