/* Forms & Standing R41 — premium depth / optical contrast pass.
 * LOCKED: content, service order, 3/2/3 geometry, R40 icons and routes.
 * Changes only optical hierarchy: lighting, glass depth, text contrast,
 * icon presence, controls and hover reflections.
 */

:root{
  --fs41-page:#d9ddd7;
  --fs41-ink:#171d1a;
  --fs41-muted:#36413b;
  --fs41-glass-top:rgba(242,245,241,.58);
  --fs41-glass-mid:rgba(221,227,222,.40);
  --fs41-glass-bottom:rgba(205,214,208,.34);
  --fs41-rim:rgba(255,255,255,.68);
  --fs41-inner:rgba(255,255,255,.54);
  --fs41-shadow:0 28px 70px -28px rgba(20,29,24,.38),0 12px 30px -18px rgba(20,29,24,.30);
  --fs41-icon-halo:rgba(226,242,255,.48);
  --fs41-icon-shadow:0 16px 26px rgba(18,31,41,.20);
  --fs41-button:#202a25;
  --fs41-button-text:#fbfcf8;
  --fs41-button-glow:rgba(255,255,255,.56);
}
html[data-theme="dark"]{
  --fs41-page:#101613;
  --fs41-ink:#f7f5ef;
  --fs41-muted:#d8ddd7;
  --fs41-glass-top:rgba(37,48,42,.63);
  --fs41-glass-mid:rgba(24,34,29,.53);
  --fs41-glass-bottom:rgba(17,26,22,.48);
  --fs41-rim:rgba(222,238,230,.20);
  --fs41-inner:rgba(255,255,255,.10);
  --fs41-shadow:0 34px 90px -30px rgba(0,0,0,.78),0 14px 34px -19px rgba(0,0,0,.64);
  --fs41-icon-halo:rgba(118,180,218,.18);
  --fs41-icon-shadow:0 18px 32px rgba(0,0,0,.42);
  --fs41-button:#f0efe8;
  --fs41-button-text:#1b231f;
  --fs41-button-glow:rgba(255,255,255,.82);
}

body{
  background:var(--fs41-page)!important;
  color:var(--fs41-ink)!important;
}

.fs21-viewport-backdrop{
  opacity:.24!important;
  filter:grayscale(1) contrast(.88) brightness(.86) blur(5px)!important;
}
html[data-theme="dark"] .fs21-viewport-backdrop{
  opacity:.24!important;
  filter:grayscale(1) contrast(1.02) brightness(.52) blur(5px)!important;
}

/* Keep architecture, remove the milky veil. */
.fs11-main{background:transparent!important;}

/* Header becomes a crisp floating pane rather than a fog strip. */
.fs11-header{
  background:linear-gradient(135deg,rgba(238,242,237,.79),rgba(215,222,216,.67))!important;
  border:1px solid rgba(255,255,255,.58)!important;
  box-shadow:0 18px 50px -24px rgba(19,27,23,.36),inset 0 1px 0 rgba(255,255,255,.72)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.16)!important;
  backdrop-filter:blur(22px) saturate(1.16)!important;
}
html[data-theme="dark"] .fs11-header{
  background:linear-gradient(135deg,rgba(30,42,36,.88),rgba(18,27,23,.80))!important;
  border-color:rgba(220,235,227,.17)!important;
  box-shadow:0 20px 58px -24px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.fs11-nav a,.fs11-header-link,.fs11-brand-name{
  color:var(--fs41-ink)!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Section copy is deliberately opaque. Never blur text with the material. */
.fs38-services-head h2,
.fs11-section-head h2,
.fs11-intro h2,
.fs11-workspace-copy h2,
.fs11-card h3,
.fs11-faq summary{
  color:var(--fs41-ink)!important;
  opacity:1!important;
  text-shadow:none!important;
}
.fs38-services-head p,
.fs11-section-head p,
.fs11-card p,
.fs11-intro p,
.fs11-faq p,
.fs11-workspace-copy p{
  color:var(--fs41-muted)!important;
  opacity:1!important;
  text-shadow:none!important;
}
.fs38-services-head h2{
  font-weight:500!important;
  letter-spacing:-.045em!important;
}
.fs38-services-head p{
  font-weight:520!important;
}

/* Premium optical glass. Light is concentrated above the icon; copy area stays calm. */
.fs11-card,
.fs11-intro,
.fs11-faq details,
.fs11-workspace-frame{
  background:
    linear-gradient(150deg,var(--fs41-glass-top) 0%,var(--fs41-glass-mid) 46%,var(--fs41-glass-bottom) 100%)!important;
  border:1px solid var(--fs41-rim)!important;
  box-shadow:var(--fs41-shadow),inset 0 1px 0 var(--fs41-inner)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.14)!important;
  backdrop-filter:blur(16px) saturate(1.14)!important;
}
.fs38-service-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  transition:transform .24s cubic-bezier(.2,.7,.2,1),box-shadow .24s ease,border-color .24s ease!important;
}
.fs38-service-card::before{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  width:240px;
  height:180px;
  left:50%;
  top:-28px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(ellipse at center,var(--fs41-icon-halo) 0%,rgba(255,255,255,.08) 42%,transparent 72%);
  filter:blur(8px);
}
.fs38-service-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  border-radius:inherit;
  background:
    linear-gradient(118deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.04) 23%,transparent 45%),
    radial-gradient(ellipse 80% 42% at 50% -5%,rgba(255,255,255,.20),transparent 70%);
  opacity:.76;
}
html[data-theme="dark"] .fs38-service-card::after{
  background:
    linear-gradient(118deg,rgba(255,255,255,.075),transparent 38%),
    radial-gradient(ellipse 80% 42% at 50% -5%,rgba(160,207,232,.10),transparent 72%);
}
.fs38-service-card>*{position:relative;z-index:1}
.fs38-service-card:hover{
  transform:translateY(-6px)!important;
  border-color:rgba(255,255,255,.82)!important;
  box-shadow:0 38px 90px -30px rgba(18,28,23,.47),0 16px 34px -19px rgba(18,28,23,.34),inset 0 1px 0 rgba(255,255,255,.72)!important;
}
html[data-theme="dark"] .fs38-service-card:hover{
  border-color:rgba(218,236,226,.30)!important;
  box-shadow:0 42px 100px -28px rgba(0,0,0,.88),0 16px 38px -18px rgba(0,0,0,.70),inset 0 1px 0 rgba(255,255,255,.13)!important;
}

/* The R40 icons are the jewelry. Give them controlled lift, not cartoon glow. */
.fs38-service-icon{
  filter:drop-shadow(var(--fs41-icon-shadow)) contrast(1.045) saturate(.96)!important;
  transform:none!important;
}
html[data-theme="dark"] .fs38-service-icon{
  filter:drop-shadow(var(--fs41-icon-shadow)) brightness(1.10) contrast(1.07) saturate(.92)!important;
}
.fs38-service-card h3{
  font-weight:500!important;
  color:var(--fs41-ink)!important;
}
.fs38-service-card p{
  font-weight:520!important;
  color:var(--fs41-muted)!important;
}

/* Unified CTAs: denser, sharper, with a true moving reflection. */
.fs11-card a.fs38-service-button{
  background:var(--fs41-button)!important;
  border:1px solid color-mix(in srgb,var(--fs41-button) 76%,white)!important;
  color:var(--fs41-button-text)!important;
  box-shadow:0 11px 24px -13px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.10)!important;
  font-weight:700!important;
  letter-spacing:-.01em;
}
.fs11-card a.fs38-service-button::before{
  z-index:1!important;
  width:46%;
  inset:-35% auto -35% -58%!important;
  border-radius:0!important;
  background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.10) 28%,var(--fs41-button-glow) 50%,rgba(255,255,255,.12) 70%,transparent 100%)!important;
  transform:skewX(-18deg)!important;
  transition:left .62s cubic-bezier(.16,.74,.24,1)!important;
}
.fs11-card a.fs38-service-button:hover::before{left:118%!important}
.fs11-card a.fs38-service-button:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 18px 34px -15px rgba(0,0,0,.50),inset 0 1px 0 rgba(255,255,255,.18)!important;
}

/* Hero copy/search should have the same optical language. */
.fs11-hero-copy,
.fs13-name-lookup,
.fs13-search-response{
  background:linear-gradient(145deg,rgba(240,244,239,.78),rgba(217,224,218,.66))!important;
  border:1px solid rgba(255,255,255,.60)!important;
  box-shadow:0 26px 70px -28px rgba(19,28,23,.38),inset 0 1px 0 rgba(255,255,255,.72)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.12)!important;
  backdrop-filter:blur(20px) saturate(1.12)!important;
}
html[data-theme="dark"] .fs11-hero-copy,
html[data-theme="dark"] .fs13-name-lookup,
html[data-theme="dark"] .fs13-search-response{
  background:linear-gradient(145deg,rgba(31,43,37,.86),rgba(18,28,23,.76))!important;
  border-color:rgba(220,235,227,.17)!important;
  box-shadow:0 30px 78px -28px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.fs11-hero h1,
.fs11-hero-copy>p,
.fs13-search-note{
  opacity:1!important;
  text-shadow:none!important;
}
.fs11-hero h1{color:var(--fs41-ink)!important;font-weight:500!important}
.fs11-hero-copy>p{color:var(--fs41-muted)!important;font-weight:520!important}

/* Search controls remain clean and legible on both themes. */
.fs13-name-lookup input,
.fs13-name-lookup select{
  color:var(--fs41-ink)!important;
  opacity:1!important;
}
.fs13-name-lookup input::placeholder{color:color-mix(in srgb,var(--fs41-muted) 78%,transparent)!important;opacity:1!important}

/* Workspace and FAQ inherit the same contrast system. */
.fs11-workspace-topbar,
.fs11-workspace-sidebar{background:transparent!important}
.fs11-workspace-sidebar button[aria-current="page"]{
  background:linear-gradient(145deg,var(--fs41-glass-top),var(--fs41-glass-mid))!important;
  border:1px solid var(--fs41-rim)!important;
}

@media(max-width:700px){
  .fs38-service-card::before{width:210px;height:150px;top:-20px}
}
@media(prefers-reduced-motion:reduce){
  .fs38-service-card,.fs38-service-icon,.fs38-service-button,.fs38-service-button::before{transition:none!important}
}
@media(prefers-reduced-transparency:reduce){
  .fs11-card,.fs11-intro,.fs11-faq details,.fs11-workspace-frame,
  .fs11-header,.fs11-hero-copy,.fs13-name-lookup,.fs13-search-response{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
}


/* R41.1 — tighter cards, more negative space, stronger typography.
 * Font sizes and 3/2/3 structure remain unchanged.
 */
:root{
  --fs38-card-height:410px;
  --fs38-card-pad:26px;
  --fs38-gap:28px;
  --fs41-copy:#25322b;
  --fs41-copy-strong:#151d19;
  --fs41-heading-a:#101814;
  --fs41-heading-b:#405048;
}
html[data-theme="dark"]{
  --fs41-copy:#e1e7e2;
  --fs41-copy-strong:#f8faf7;
  --fs41-heading-a:#ffffff;
  --fs41-heading-b:#aebdb5;
}

.fs38-service-card{
  min-height:var(--fs38-card-height)!important;
  height:var(--fs38-card-height)!important;
  padding:var(--fs38-card-pad)!important;
}
.fs38-service-icon{
  margin:0 auto 14px!important;
}
.fs38-service-card h3{
  min-height:68px!important;
  margin:0 auto!important;
  color:var(--fs41-copy-strong)!important;
  background:linear-gradient(180deg,var(--fs41-heading-a) 0%,var(--fs41-heading-a) 48%,var(--fs41-heading-b) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 1px 0 rgba(255,255,255,.22),0 8px 20px rgba(20,30,25,.08)!important;
}
html[data-theme="dark"] .fs38-service-card h3{
  text-shadow:0 1px 0 rgba(255,255,255,.18),0 10px 22px rgba(0,0,0,.30)!important;
}
.fs38-service-card p{
  min-height:64px!important;
  margin:12px auto 18px!important;
  color:var(--fs41-copy)!important;
  font-weight:560!important;
  opacity:1!important;
  text-shadow:none!important;
}
.fs38-services-head p,
.fs11-section-head p,
.fs11-intro p,
.fs11-faq p,
.fs11-workspace-copy p,
.fs11-hero-copy>p,
.fs13-search-note{
  color:var(--fs41-copy)!important;
  font-weight:540!important;
  opacity:1!important;
  text-shadow:none!important;
}
.fs38-services-head h2,
.fs11-section-head h2,
.fs11-intro h2,
.fs11-workspace-copy h2{
  color:var(--fs41-copy-strong)!important;
  background:linear-gradient(180deg,var(--fs41-heading-a),var(--fs41-heading-b));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 1px 0 rgba(255,255,255,.18)!important;
}
html[data-theme="dark"] .fs38-services-head h2,
html[data-theme="dark"] .fs11-section-head h2,
html[data-theme="dark"] .fs11-intro h2,
html[data-theme="dark"] .fs11-workspace-copy h2{
  text-shadow:0 1px 0 rgba(255,255,255,.12),0 12px 28px rgba(0,0,0,.28)!important;
}
.fs11-card a.fs38-service-button{
  min-height:42px!important;
  padding:10px 18px!important;
}

@media(max-width:980px){
  :root{
    --fs38-card-height:400px;
    --fs38-card-pad:24px;
    --fs38-gap:22px;
  }
}
@media(max-width:700px){
  :root{--fs38-gap:18px}
  .fs38-service-card{
    min-height:365px!important;
    height:auto!important;
  }
  .fs38-service-icon{margin-bottom:12px!important}
  .fs38-service-card h3{min-height:auto!important}
  .fs38-service-card p{min-height:auto!important;margin:10px auto 16px!important}
}


/* R41.2 — locked Georgia + Arial system
 * No external font service. No gradient-filled type, glass lettering,
 * metallic text or glowing outlines.
 */
:root{
  --fs42-text:#202723;
  --fs42-copy:#323c36;
  --fs42-copy-soft:#46514b;
}
html[data-theme="dark"]{
  --fs42-text:#f4f1e9;
  --fs42-copy:#e2e4df;
  --fs42-copy-soft:#c9cec8;
}

/* Font system */
body,
input,
select,
button,
textarea,
.fs11-nav,
.fs11-header-link,
.fs38-service-button{
  font-family:Arial,Helvetica,sans-serif!important;
}
h1,h2,h3,h4,h5,h6,
.fs11-hero h1,
.fs38-services-head h2,
.fs11-section-head h2,
.fs11-intro h2,
.fs11-workspace-copy h2,
.fs38-service-card h3,
.fs11-card h3,
.fs11-faq summary{
  font-family:Georgia,"Times New Roman",serif!important;
  font-weight:400!important;
  font-style:normal!important;
  color:var(--fs42-text)!important;
  background:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
}

/* Type scale */
.fs11-hero h1{
  font-size:clamp(52px,5vw,64px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
.fs38-services-head h2,
.fs11-section-head h2,
.fs11-intro h2,
.fs11-workspace-copy h2{
  font-size:clamp(36px,3.4vw,42px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
.fs38-service-card h3,
.fs11-card h3{
  font-size:clamp(24px,2vw,28px)!important;
  line-height:1.08!important;
  letter-spacing:-.018em!important;
}
p,
.fs38-service-card p,
.fs38-services-head p,
.fs11-section-head p,
.fs11-intro p,
.fs11-faq p,
.fs11-workspace-copy p,
.fs11-hero-copy>p{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:18px!important;
  line-height:1.58!important;
  font-weight:400!important;
  color:var(--fs42-copy)!important;
  opacity:1!important;
  text-shadow:none!important;
}
.fs11-nav a,
.fs11-header-link{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
button,
.fs38-service-button,
.fs11-card a.fs38-service-button{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
small,
.fs13-search-note{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:400!important;
  color:var(--fs42-copy-soft)!important;
}

/* Strong readable paragraph color, especially on glass surfaces. */
.fs38-service-card p{
  color:var(--fs42-copy)!important;
  font-weight:400!important;
}
html[data-theme="dark"] .fs38-service-card p,
html[data-theme="dark"] .fs38-services-head p,
html[data-theme="dark"] .fs11-section-head p,
html[data-theme="dark"] .fs11-intro p,
html[data-theme="dark"] .fs11-faq p,
html[data-theme="dark"] .fs11-workspace-copy p,
html[data-theme="dark"] .fs11-hero-copy>p{
  color:var(--fs42-copy)!important;
}

/* Calm the icons: retain crystal glass, remove pedestal/glow competition. */
.fs38-service-card::before{
  width:200px!important;
  height:130px!important;
  top:-12px!important;
  opacity:.42!important;
  filter:blur(12px)!important;
}
.fs38-service-card::after{
  opacity:.42!important;
}
.fs38-service-icon{
  filter:drop-shadow(0 10px 18px rgba(18,31,41,.16)) contrast(1.02) saturate(.92)!important;
}
html[data-theme="dark"] .fs38-service-icon{
  filter:drop-shadow(0 12px 22px rgba(0,0,0,.34)) brightness(1.04) contrast(1.035) saturate(.90)!important;
}

/* Mobile scale remains recognizable without giant editorial type. */
@media(max-width:700px){
  .fs11-hero h1{font-size:44px!important}
  .fs38-services-head h2,
  .fs11-section-head h2,
  .fs11-intro h2,
  .fs11-workspace-copy h2{font-size:34px!important}
  .fs38-service-card h3,
  .fs11-card h3{font-size:24px!important}
  p,
  .fs38-service-card p,
  .fs38-services-head p,
  .fs11-section-head p,
  .fs11-intro p,
  .fs11-faq p,
  .fs11-workspace-copy p,
  .fs11-hero-copy>p{font-size:17px!important}
  .fs11-nav a,.fs11-header-link{font-size:14px!important}
  button,.fs38-service-button,.fs11-card a.fs38-service-button{font-size:15px!important}
  small,.fs13-search-note{font-size:13px!important}
}


/* R41.3 buttons */
:root{
  --fs43-btn:#202824;
  --fs43-btn-text:#fbfcf8;
  --fs43-rim:rgba(255,255,255,.22);
  --fs43-light:rgba(255,255,255,.24);
  --fs43-sweep:rgba(255,255,255,.46);
}
html[data-theme="dark"]{
  --fs43-btn:#ecebe5;
  --fs43-btn-text:#1b231f;
  --fs43-rim:rgba(255,255,255,.34);
  --fs43-light:rgba(255,255,255,.58);
  --fs43-sweep:rgba(255,255,255,.78);
}
.fs11-button,
.fs11-intro a.fs11-button,
.fs13-name-lookup button[type="submit"],
.fs11-card a.fs38-service-button{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  color:var(--fs43-btn-text)!important;
  background:
    radial-gradient(130% 150% at 18% -38%,var(--fs43-light) 0%,transparent 46%),
    radial-gradient(95% 120% at 92% 135%,rgba(255,255,255,.07) 0%,transparent 52%),
    var(--fs43-btn)!important;
  border:1px solid var(--fs43-rim)!important;
  box-shadow:0 12px 26px -18px rgba(16,25,20,.48)!important;
  filter:none!important;
  text-shadow:none!important;
  text-decoration:none!important;
  text-decoration-line:none!important;
}
.fs11-button::before,
.fs11-intro a.fs11-button::before,
.fs13-name-lookup button[type="submit"]::before,
.fs11-card a.fs38-service-button::before{
  content:""!important;
  position:absolute!important;
  top:-36%!important;
  bottom:-36%!important;
  left:-58%!important;
  width:38%!important;
  height:auto!important;
  z-index:0!important;
  pointer-events:none!important;
  border-radius:0!important;
  background:linear-gradient(104deg,transparent 0%,rgba(255,255,255,.04) 28%,var(--fs43-sweep) 50%,rgba(255,255,255,.05) 72%,transparent 100%)!important;
  opacity:.72;
  transform:skewX(-16deg)!important;
  transition:left .58s cubic-bezier(.16,.72,.22,1),opacity .2s ease!important;
}
@media(hover:hover){
  .fs11-button:hover,
  .fs11-intro a.fs11-button:hover,
  .fs13-name-lookup button[type="submit"]:hover,
  .fs11-card a.fs38-service-button:hover{
    transform:translateY(-1px)!important;
    filter:brightness(1.045)!important;
    box-shadow:0 16px 30px -19px rgba(15,24,19,.56)!important;
  }
  .fs11-button:hover::before,
  .fs11-intro a.fs11-button:hover::before,
  .fs13-name-lookup button[type="submit"]:hover::before,
  .fs11-card a.fs38-service-button:hover::before{
    left:122%!important;
    opacity:.92;
  }
}
.fs11-button:active,
.fs11-intro a.fs11-button:active,
.fs13-name-lookup button[type="submit"]:active,
.fs11-card a.fs38-service-button:active{
  transform:none!important;
  filter:brightness(.985)!important;
  box-shadow:0 8px 20px -17px rgba(15,24,19,.42)!important;
}


/* R41.4 — accent system
 * One restrained executive teal accent. Typography remains neutral.
 */
:root{
  --fs44-accent:#5F7F78;
  --fs44-accent-strong:#4F6E67;
  --fs44-accent-soft:rgba(95,127,120,.18);
  --fs44-accent-halo:rgba(95,127,120,.20);
  --fs44-accent-line:rgba(95,127,120,.50);
}
html[data-theme="dark"]{
  --fs44-accent:#7FA49A;
  --fs44-accent-strong:#91B8AD;
  --fs44-accent-soft:rgba(127,164,154,.16);
  --fs44-accent-halo:rgba(127,164,154,.18);
  --fs44-accent-line:rgba(127,164,154,.52);
}

/* Accent lives in states and edges, not large fills. */
.fs11-nav a:hover,
.fs11-header-link:hover,
.fs11-intro a:not(.fs11-button):hover,
.fs11-faq a:hover{
  color:var(--fs44-accent-strong)!important;
}
.fs11-nav a[aria-current="page"],
.fs11-nav a.is-active,
.fs11-header-link[aria-current="page"]{
  color:var(--fs44-accent-strong)!important;
}

/* Search and form focus use the accent instead of a line. */
.fs11-hero-copy .fs13-name-lookup .fs13-name-label:focus-within{
  background:var(--fs44-accent-soft)!important;
}
html:not([data-theme="dark"]) .fs11-hero-copy .fs13-name-lookup .fs13-state-label:focus-within{
  background:transparent!important;
  border-left-color:inherit!important;
}
html:not([data-theme="dark"]) .fs13-name-lookup select option:checked{
  background:revert!important;
  color:revert!important;
}
.fs13-name-lookup select:focus-visible,
.fs13-name-lookup input:focus-visible{
  outline:2px solid var(--fs44-accent-line)!important;
  outline-offset:2px!important;
}

/* Premium buttons get a restrained teal edge-light on hover/focus. */
.fs11-button,
.fs11-intro a.fs11-button,
.fs13-name-lookup button[type="submit"],
.fs11-card a.fs38-service-button{
  --fs43-accent-rim:var(--fs44-accent-line);
}
@media(hover:hover){
  .fs11-button:hover,
  .fs11-intro a.fs11-button:hover,
  .fs13-name-lookup button[type="submit"]:hover,
  .fs11-card a.fs38-service-button:hover{
    border-color:var(--fs44-accent-line)!important;
    box-shadow:
      0 16px 30px -19px rgba(15,24,19,.56),
      0 0 0 1px var(--fs44-accent-soft),
      0 0 28px -18px var(--fs44-accent)!important;
  }
}
.fs11-button:focus-visible,
.fs11-intro a.fs11-button:focus-visible,
.fs13-name-lookup button[type="submit"]:focus-visible,
.fs11-card a.fs38-service-button:focus-visible{
  outline:2px solid var(--fs44-accent)!important;
  outline-offset:3px!important;
}

/* Crystal icon enhancement: cool executive reflection, no larger glow. */
.fs38-service-card::before{
  background:
    radial-gradient(ellipse at center,var(--fs44-accent-halo) 0%,rgba(255,255,255,.06) 36%,transparent 70%)!important;
}
.fs38-service-icon{
  filter:
    drop-shadow(0 10px 18px rgba(18,31,41,.16))
    drop-shadow(0 0 10px rgba(95,127,120,.10))
    contrast(1.025)
    saturate(.94)!important;
}
html[data-theme="dark"] .fs38-service-icon{
  filter:
    drop-shadow(0 12px 22px rgba(0,0,0,.34))
    drop-shadow(0 0 12px rgba(127,164,154,.13))
    brightness(1.045)
    contrast(1.04)
    saturate(.92)!important;
}

/* Selected/active utility surfaces get the same accent cue. */
.fs11-workspace-sidebar button[aria-current="page"],
.fs11-workspace-sidebar button:hover{
  border-color:var(--fs44-accent-line)!important;
}


/* R41.5 — light dropdown selected + hover */
html:not([data-theme="dark"]) .fs14-option:hover,
html:not([data-theme="dark"]) .fs14-option[data-active="true"]{
  background:rgba(95,127,120,.16)!important;
  color:#25322b!important;
}
html:not([data-theme="dark"]) .fs14-option[aria-selected="true"]{
  background:#5F7F78!important;
  color:#ffffff!important;
  font-weight:700!important;
}
html:not([data-theme="dark"]) .fs14-option[aria-selected="true"]:hover,
html:not([data-theme="dark"]) .fs14-option[aria-selected="true"][data-active="true"]{
  background:#4F6E67!important;
  color:#ffffff!important;
}
html:not([data-theme="dark"]) .fs14-option[aria-selected="true"]::after{
  color:#ffffff!important;
}
