.lpu-service-search{
  --lpu-paper:#fbf8f2;
  --lpu-card:#ffffff;
  --lpu-ink:#16302f;
  --lpu-ink-soft:#405957;
  --lpu-muted:#647573;
  --lpu-teal:#13585f;
  --lpu-teal-dark:#0d3f45;
  --lpu-teal-pale:#e8f2f1;
  --lpu-amber:#8a4518;
  --lpu-line:#e1e7e4;
  --lpu-line-strong:#cbd8d4;
  --lpu-success:#287455;
  --lpu-error:#9b3f34;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:72px 0;
  background:
    radial-gradient(70% 90% at 0 0,rgba(19,88,95,.10),transparent 64%),
    radial-gradient(70% 90% at 100% 100%,rgba(138,69,24,.08),transparent 64%),
    linear-gradient(180deg,#f8fbfa 0%,#fbf8f2 100%);
  color:var(--lpu-ink);
  font:400 16px/1.55 Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.lpu-service-search,
.lpu-service-search *{box-sizing:border-box}
.lpu-service-search a{text-decoration:none}
.lpu-service-search__container{width:min(92%,1080px);margin-inline:auto}
.lpu-service-search__shell{
  position:relative;
  overflow:hidden;
  padding:clamp(26px,4.5vw,48px);
  border:1px solid rgba(203,216,212,.92);
  border-radius:32px;
  background:rgba(255,255,255,.92);
  box-shadow:0 24px 70px rgba(13,63,69,.11),0 2px 8px rgba(13,63,69,.04);
  backdrop-filter:blur(10px);
}
.lpu-service-search__shell::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:linear-gradient(90deg,var(--lpu-teal-dark),var(--lpu-teal),#9f6236);
}
.lpu-service-search__shell::after{
  content:"";
  position:absolute;
  right:-150px;
  top:-170px;
  width:360px;
  height:360px;
  border:1px solid rgba(19,88,95,.08);
  border-radius:50%;
  box-shadow:0 0 0 45px rgba(19,88,95,.025),0 0 0 90px rgba(19,88,95,.018);
  pointer-events:none;
}
.lpu-service-search__head{position:relative;z-index:1;max-width:760px;margin:0 auto;text-align:center}
.lpu-service-search__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:7px 12px;
  border:1px solid #d8e4e1;
  border-radius:999px;
  background:#f5faf9;
  color:var(--lpu-teal-dark);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.lpu-service-search__eyebrow::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--lpu-amber);
  box-shadow:0 0 0 4px rgba(138,69,24,.10);
}
.lpu-service-search__head h2{
  margin:16px 0 0;
  color:var(--lpu-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,4vw,3.1rem);
  font-weight:700;
  line-height:1.08;
  letter-spacing:-.035em;
}
.lpu-service-search__head p{max-width:680px;margin:14px auto 0;color:var(--lpu-ink-soft);font-size:1.02rem}
.lpu-service-search__form{position:relative;z-index:1;max-width:850px;margin:30px auto 0}
.lpu-service-search__field{
  display:grid;
  grid-template-columns:56px minmax(0,1fr) 36px;
  align-items:center;
  gap:12px;
  min-height:78px;
  padding:10px 14px;
  border:1px solid var(--lpu-line-strong);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 34px rgba(13,63,69,.08),inset 0 1px 0 rgba(255,255,255,.92);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.lpu-service-search__field:hover{border-color:#aebfba}
.lpu-service-search__field:focus-within{
  border-color:var(--lpu-teal);
  box-shadow:0 0 0 4px rgba(19,88,95,.12),0 14px 34px rgba(13,63,69,.10);
}
.lpu-service-search__icon-wrap{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(180deg,#f3f9f8,#e6f0ee);
  border:1px solid #d8e4e1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.lpu-service-search__icon{
  width:24px;
  height:24px;
  color:var(--lpu-teal-dark);
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.lpu-service-search__input-wrap{min-width:0;display:flex;flex-direction:column;gap:4px}
.lpu-service-search__input-hint{
  color:var(--lpu-muted);
  font-size:.73rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.lpu-service-search__input{
  width:100%;
  min-height:28px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--lpu-ink);
  box-shadow:none;
  font:inherit;
  font-size:1.08rem;
  outline:none;
  appearance:none;
  -webkit-appearance:none;
}
.lpu-service-search__input::-webkit-search-decoration,
.lpu-service-search__input::-webkit-search-cancel-button,
.lpu-service-search__input::-webkit-search-results-button,
.lpu-service-search__input::-webkit-search-results-decoration{
  -webkit-appearance:none;
  appearance:none;
  display:none;
}
.lpu-service-search__input::placeholder{color:#7d8c89}
.lpu-service-search__activity{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  color:var(--lpu-success);
  pointer-events:none;
}
.lpu-service-search__form-note{margin:10px 4px 0;color:var(--lpu-muted);font-size:.82rem;font-weight:700}
.lpu-service-search__spinner,
.lpu-service-search__check{display:none;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lpu-service-search__spinner circle{stroke-dasharray:38 16;transform-origin:center}
.lpu-service-search[data-search-state="searching"] .lpu-service-search__spinner{display:block;animation:lpu-search-spin .8s linear infinite}
.lpu-service-search[data-search-state="complete"] .lpu-service-search__check{display:block}
.lpu-service-search[data-search-state="error"] .lpu-service-search__activity{color:var(--lpu-error)}
.lpu-service-search__results-head{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:28px 2px 0;
}
.lpu-service-search__results-head strong{color:var(--lpu-ink);font-size:.95rem}
.lpu-service-search__count{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 11px;
  border:1px solid #d7e4e1;
  border-radius:999px;
  background:#f4faf8;
  color:var(--lpu-teal-dark);
  font-size:.75rem;
  font-weight:900;
  white-space:nowrap;
}
.lpu-service-search__results{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
  transition:opacity .18s ease;
}
.lpu-service-search__result{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:66px;
  padding:14px 15px 14px 18px;
  border:1px solid var(--lpu-line);
  border-radius:16px;
  background:#fff;
  color:var(--lpu-ink);
  box-shadow:0 5px 18px rgba(13,63,69,.045);
  transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.lpu-service-search__result:hover{
  border-color:#9eb9b3;
  background:#f8fcfb;
  box-shadow:0 10px 25px rgba(13,63,69,.085);
  transform:translateY(-1px);
}
.lpu-service-search__result:focus-visible{outline:3px solid #d6b06b;outline-offset:3px}
.lpu-service-search__result-title{min-width:0;color:var(--lpu-ink);font-weight:800;line-height:1.32}
.lpu-service-search__arrow{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--lpu-teal-pale);
  color:var(--lpu-teal-dark);
  font-size:1.05rem;
  transition:background-color .16s ease,color .16s ease,transform .16s ease;
}
.lpu-service-search__result:hover .lpu-service-search__arrow{background:var(--lpu-teal-dark);color:#fff;transform:translateX(2px)}
.lpu-service-search__skeleton{
  min-height:66px;
  overflow:hidden;
  padding:20px 18px;
  border:1px solid var(--lpu-line);
  border-radius:16px;
  background:#fff;
}
.lpu-service-search__skeleton-line{
  display:block;
  width:72%;
  height:13px;
  border-radius:999px;
  background:linear-gradient(90deg,#edf2f0 20%,#f8faf9 45%,#edf2f0 70%);
  background-size:220% 100%;
  animation:lpu-search-shimmer 1.15s ease-in-out infinite;
}
.lpu-service-search__empty{
  grid-column:1/-1;
  margin:0;
  padding:24px;
  border:1px dashed var(--lpu-line-strong);
  border-radius:16px;
  background:#fbfcfb;
  color:var(--lpu-ink-soft);
  text-align:center;
}
.lpu-service-search__empty a{color:var(--lpu-teal-dark);font-weight:900;text-decoration:underline}
.lpu-service-search__status{
  position:relative;
  z-index:1;
  min-height:48px;
  display:flex;
  align-items:center;
  gap:11px;
  margin-top:18px;
  padding:11px 14px;
  border:1px solid var(--lpu-line);
  border-radius:14px;
  background:#f8faf9;
  color:var(--lpu-muted);
  font-size:.84rem;
  font-weight:700;
}
.lpu-service-search__status-mark{
  position:relative;
  width:21px;
  height:21px;
  flex:0 0 21px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e7f1ef;
}
.lpu-service-search__status-mark::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--lpu-teal)}
.lpu-service-search[data-search-state="searching"] .lpu-service-search__status-mark{
  border:2px solid #d1dfdc;
  border-top-color:var(--lpu-teal);
  background:transparent;
  animation:lpu-search-spin .8s linear infinite;
}
.lpu-service-search[data-search-state="searching"] .lpu-service-search__status-mark::before{display:none}
.lpu-service-search[data-search-state="complete"] .lpu-service-search__status{border-color:#cfe1d8;background:#f1f8f4;color:#286347}
.lpu-service-search[data-search-state="complete"] .lpu-service-search__status-mark{background:var(--lpu-success)}
.lpu-service-search[data-search-state="complete"] .lpu-service-search__status-mark::before{
  width:8px;
  height:5px;
  border:solid #fff;
  border-width:0 0 2px 2px;
  border-radius:0;
  background:transparent;
  transform:rotate(-45deg) translate(1px,-1px);
}
.lpu-service-search[data-search-state="error"] .lpu-service-search__status{border-color:#ead2ce;background:#fff7f5;color:#844139}
.lpu-service-search[data-search-state="error"] .lpu-service-search__status-mark{background:var(--lpu-error)}
.lpu-service-search[data-search-state="error"] .lpu-service-search__status-mark::before{content:"!";width:auto;height:auto;background:none;color:#fff;font-size:.75rem;font-weight:900;line-height:1}
.lpu-service-search__sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@keyframes lpu-search-spin{to{transform:rotate(360deg)}}
@keyframes lpu-search-shimmer{0%{background-position:120% 0}100%{background-position:-120% 0}}
@media(max-width:760px){
  .lpu-service-search{padding:56px 0}
  .lpu-service-search__shell{border-radius:24px}
  .lpu-service-search__results{grid-template-columns:1fr}
}
@media(max-width:520px){
  .lpu-service-search__container{width:94%}
  .lpu-service-search__shell{padding:26px 16px}
  .lpu-service-search__head h2{font-size:clamp(1.85rem,10vw,2.5rem)}
  .lpu-service-search__field{grid-template-columns:50px minmax(0,1fr) 32px;gap:10px;min-height:74px;padding:10px 12px;border-radius:20px}
  .lpu-service-search__icon-wrap{width:50px;height:50px;border-radius:16px}
  .lpu-service-search__input-hint{font-size:.68rem}
  .lpu-service-search__input{font-size:1rem}
  .lpu-service-search__activity{width:32px;height:32px}
  .lpu-service-search__results-head{align-items:flex-start}
  .lpu-service-search__count{font-size:.7rem}
}
@media(hover:none),(pointer:coarse){.lpu-service-search__result{transition:none}.lpu-service-search__result:hover{transform:none}}
@media(prefers-reduced-motion:reduce){
  .lpu-service-search *,
  .lpu-service-search *::before,
  .lpu-service-search *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
