/*
  WLOVos virtual source file
  Namespace: dbfile:portal_files[path='css/lw-public.css']
  Purpose: Polished public design system for Home, Expertise, and Contact.
  Loaded after css/lovins-theme.css and intentionally scoped to body.lw-public.
*/

body.lw-public{
  --pub-bg:#ffffff;
  --pub-surface:#ffffff;
  --pub-soft:#f2f4f5;
  --pub-soft-2:#e8ebed;
  --pub-text:#101820;
  --pub-muted:#505a63;
  --pub-faint:#737d86;
  --pub-line:#b9c0c5;
  --pub-line-strong:#101820;
  --pub-dark:#101820;
  --pub-dark-soft:#18232d;
  --pub-dark-text:#ffffff;
  --pub-dark-line:#58636d;
  --pub-focus:#101820;
  --pub-width:1240px;
  --pub-gutter:clamp(20px,5vw,64px);
  margin:0;
  background:var(--pub-bg);
  color:var(--pub-text);
  font-family:var(--lw-font,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
}

html[data-theme="dark"] body.lw-public{
  --pub-bg:#0a0a0a;
  --pub-surface:#141414;
  --pub-soft:#1a1a1a;
  --pub-soft-2:#202020;
  --pub-text:#ffffff;
  --pub-muted:#d4d4d4;
  --pub-faint:#a3a3a3;
  --pub-line:#404040;
  --pub-line-strong:#ffffff;
  --pub-dark:#141414;
  --pub-dark-soft:#1a1a1a;
  --pub-dark-text:#ffffff;
  --pub-dark-line:#404040;
  --pub-focus:#ffffff;
}

body.lw-public *,body.lw-public *::before,body.lw-public *::after{box-sizing:border-box}
body.lw-public{forced-color-adjust:auto}
body.lw-public h1,body.lw-public h2,body.lw-public h3,body.lw-public h4,body.lw-public p,body.lw-public li,body.lw-public dt,body.lw-public dd,body.lw-public label,body.lw-public summary,body.lw-public a,body.lw-public button{overflow-wrap:anywhere;word-break:break-word}
body.lw-public img{max-width:100%;height:auto}
body.lw-public a{color:inherit}
body.lw-public p{margin:0;color:var(--pub-muted)}
body.lw-public h1,body.lw-public h2,body.lw-public h3,body.lw-public h4{margin:0;color:var(--pub-text);font-weight:800;letter-spacing:-.035em}
body.lw-public h1{font-size:clamp(3.25rem,6.1vw,5.75rem);line-height:.95;max-width:12ch}
body.lw-public h2{font-size:clamp(2.15rem,4vw,3.85rem);line-height:1.02}
body.lw-public h3{font-size:clamp(1.2rem,1.9vw,1.55rem);line-height:1.2;letter-spacing:-.02em}
body.lw-public ::selection{background:var(--pub-text);color:var(--pub-bg)}
body.lw-public :focus-visible{outline:3px solid var(--pub-focus);outline-offset:4px;border-radius:0}

body.lw-public .skip{
  position:fixed;
  top:12px;
  left:12px;
  z-index:9999;
  transform:translateY(-180%);
  padding:10px 14px;
  border:1px solid var(--pub-line-strong);
  border-radius:0;
  background:var(--pub-text);
  color:var(--pub-bg);
  box-shadow:none;
  font-weight:800;
  text-decoration:none;
}
body.lw-public .skip:focus{transform:translateY(0)}

/* Shell */
body.lw-public .page{display:flex;flex-direction:column;min-height:100vh;width:100%;overflow:visible}
body.lw-public main{flex:1;min-width:0}

/* Header */
body.lw-public .top{
  position:sticky;
  top:0;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  width:min(calc(100% - 40px),var(--pub-width));
  min-height:88px;
  margin:0 auto;
  padding:14px 0;
  border-bottom:1px solid var(--pub-line-strong);
  background:var(--pub-bg);
}
body.lw-public .brand{display:block;flex:0 0 auto;line-height:0}
body.lw-public .brand img{display:block;width:clamp(224px,20vw,286px);height:auto}
body.lw-public .brand .theme-logo-light{display:block}
body.lw-public .brand .theme-logo-dark{display:none}
html[data-theme="dark"] body.lw-public .brand .theme-logo-light{display:none}
html[data-theme="dark"] body.lw-public .brand .theme-logo-dark{display:block}
body.lw-public .topActions{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
body.lw-public .links{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0}
body.lw-public .links a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 12px;
  color:var(--pub-text);
  font-size:.88rem;
  font-weight:750;
  text-decoration:none;
  white-space:nowrap;
}
body.lw-public .links a::after{
  content:"";
  position:absolute;
  right:12px;
  bottom:5px;
  left:12px;
  height:2px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 150ms ease;
}
body.lw-public .links a:hover::after,body.lw-public .links a[aria-current="page"]::after{transform:scaleX(1)}
body.lw-public .links a[href*="contact.php"]{
  margin-left:4px;
  padding-inline:16px;
  border:1px solid var(--pub-text);
  background:var(--pub-text);
  color:var(--pub-bg);
}
body.lw-public .links a[href*="contact.php"]::after{display:none}
body.lw-public .links a[href*="contact.php"]:hover,body.lw-public .links a[href*="contact.php"][aria-current="page"]{background:var(--pub-bg);color:var(--pub-text)}
body.lw-public .themeToggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:44px;
  min-height:44px;
  padding:0 11px;
  border:1px solid var(--pub-line);
  border-radius:0;
  background:var(--pub-bg);
  color:var(--pub-text);
  box-shadow:none;
  transform:none;
  font-weight:750;
  cursor:pointer;
}
body.lw-public .themeToggle:hover{border-color:var(--pub-line-strong);background:var(--pub-soft);box-shadow:none;transform:none}
body.lw-public .themeToggleIcon{
  position:relative;
  display:block;
  width:15px;
  height:15px;
  border:1px solid currentColor;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.lw-public .themeToggleIcon::after{content:"";position:absolute;top:2px;right:2px;bottom:2px;width:5px;background:currentColor}
body.lw-public [data-theme-label]{font-size:.78rem;letter-spacing:.02em}

/* Shared section structure */
body.lw-public .hero,body.lw-public .section,body.lw-public .expertiseSection,body.lw-public .darkBand{
  width:100%;
  padding-right:var(--pub-gutter);
  padding-left:var(--pub-gutter);
}
body.lw-public .hero{padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(64px,8vw,112px);border-bottom:1px solid var(--pub-line)}
body.lw-public .compactHero{padding-top:clamp(46px,6vw,78px);padding-bottom:clamp(46px,6vw,78px)}
body.lw-public .compactHero h1{max-width:15ch;font-size:clamp(3rem,5.2vw,5rem)}
body.lw-public .heroGrid,body.lw-public .darkBandGrid,body.lw-public .sectionHead,body.lw-public .cardGrid,body.lw-public .capabilityGrid,body.lw-public .methodGrid,body.lw-public .contactLayout,body.lw-public .ctaGrid,body.lw-public .accordionGroup{
  width:100%;
  max-width:var(--pub-width);
  margin-right:auto;
  margin-left:auto;
}
body.lw-public .heroGrid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:clamp(44px,7vw,96px)}
body.lw-public .heroCopy{min-width:0}
body.lw-public .eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 18px;
  color:var(--pub-faint);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.16em;
  line-height:1.2;
  text-transform:uppercase;
}
body.lw-public .eyebrow::before{content:"";display:block;width:34px;height:1px;background:currentColor;flex:0 0 auto}
body.lw-public .lead{max-width:660px;margin-top:24px;color:var(--pub-muted);font-size:clamp(1.08rem,1.5vw,1.28rem);line-height:1.65}
body.lw-public .location-tag{width:max-content;max-width:100%;margin-top:26px;padding-top:14px;border-top:1px solid var(--pub-line);color:var(--pub-text);font-size:.9rem;font-weight:800;letter-spacing:.01em}
body.lw-public .actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:30px}
body.lw-public .button,body.lw-public button.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:50px;
  padding:0 20px;
  border:1px solid var(--pub-text);
  border-radius:0;
  background:var(--pub-text);
  color:var(--pub-bg);
  box-shadow:none;
  transform:none;
  font-weight:850;
  line-height:1.1;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:background 130ms ease,color 130ms ease,border-color 130ms ease;
}
body.lw-public .button:hover,body.lw-public button.button:hover{background:var(--pub-bg);color:var(--pub-text);box-shadow:none;transform:none}
body.lw-public .button.secondary{border-color:var(--pub-line-strong);background:transparent;color:var(--pub-text)}
body.lw-public .button.secondary:hover{background:var(--pub-text);color:var(--pub-bg)}
body.lw-public .button:disabled{opacity:.55;cursor:not-allowed}

/* Framed illustrations */
body.lw-public .visual,body.lw-public .darkVisual{position:relative;min-width:0;margin:0;padding:14px 14px 40px;border:1px solid var(--pub-line-strong);background:#ffffff;overflow:hidden}
body.lw-public .visual::before,body.lw-public .darkVisual::before{content:"";position:absolute;top:-1px;right:-1px;width:26px;height:26px;border-bottom:1px solid var(--pub-line-strong);border-left:1px solid var(--pub-line-strong);background:var(--pub-bg)}
body.lw-public .visual img,body.lw-public .darkVisual img{display:block;width:100%;height:auto;border:0;border-radius:0;background:#ffffff;box-shadow:none;object-fit:contain}
body.lw-public .visualCaption{position:absolute;right:14px;bottom:12px;left:14px;color:#34404b;font-family:var(--lw-mono,"SFMono-Regular",Consolas,monospace);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

/* Section headings */
body.lw-public .section,body.lw-public .expertiseSection{padding-top:clamp(66px,8vw,108px);padding-bottom:clamp(66px,8vw,108px);border-bottom:1px solid var(--pub-line)}
body.lw-public .sectionHead{display:grid;grid-template-columns:minmax(280px,.92fr) minmax(0,.78fr);align-items:end;gap:clamp(36px,7vw,96px);margin-bottom:clamp(30px,4vw,48px)}
body.lw-public .sectionHead > div{min-width:0}
body.lw-public .sectionHead > :only-child{grid-column:1/-1}
body.lw-public .sectionHead p{max-width:610px;color:var(--pub-muted);font-size:1.03rem;line-height:1.7}
body.lw-public .sectionHead > h2 + p{align-self:end}
body.lw-public .sectionHead .eyebrow{margin-bottom:14px}

/* Home capability cards */
body.lw-public .capabilityGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--pub-line-strong);border-left:1px solid var(--pub-line-strong)}
body.lw-public .capabilityCard{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:330px;
  padding:28px;
  border-right:1px solid var(--pub-line-strong);
  border-bottom:1px solid var(--pub-line-strong);
  background:var(--pub-surface);
  color:var(--pub-text);
  text-decoration:none;
  transition:background 140ms ease,color 140ms ease;
}
body.lw-public .capabilityCard:hover{background:var(--pub-text);color:var(--pub-bg)}
body.lw-public .capabilityCard:hover h3,body.lw-public .capabilityCard:hover p{color:var(--pub-bg)}
body.lw-public .capabilityTop{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:auto}
body.lw-public .capabilityNo,body.lw-public .stepNo{font-family:var(--lw-mono,"SFMono-Regular",Consolas,monospace);font-size:.72rem;font-weight:750;letter-spacing:.1em}
body.lw-public .capabilityCard h3{margin-top:58px;font-size:clamp(1.45rem,2.25vw,2rem)}
body.lw-public .capabilityCard p{margin-top:14px;color:var(--pub-muted);line-height:1.65}
body.lw-public .cardLink{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding-top:16px;border-top:1px solid currentColor;font-size:.84rem;font-weight:850}

/* Icons */
body.lw-public .icon{display:block;width:34px;height:34px;margin:0;background:currentColor;flex:0 0 auto;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
body.lw-public .icon.knowledge{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E")}
body.lw-public .icon.systems{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='2' y='3' width='20' height='14'/%3E%3Cline x1='8' y1='21' x2='16' y2='21'/%3E%3Cline x1='12' y1='17' x2='12' y2='21'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='2' y='3' width='20' height='14'/%3E%3Cline x1='8' y1='21' x2='16' y2='21'/%3E%3Cline x1='12' y1='17' x2='12' y2='21'/%3E%3C/svg%3E")}
body.lw-public .icon.web{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E")}
body.lw-public .icon.security{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E")}

/* General card grids retained for Expertise and compatibility */
body.lw-public .cardGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--pub-line-strong);border-left:1px solid var(--pub-line-strong)}
body.lw-public .cardGrid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
body.lw-public .card,body.lw-public .serviceCard,body.lw-public .miniCard{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:26px;
  border:0;
  border-right:1px solid var(--pub-line-strong);
  border-bottom:1px solid var(--pub-line-strong);
  border-radius:0;
  background:var(--pub-surface);
  color:var(--pub-text);
  box-shadow:none;
  transform:none;
}
body.lw-public .card p,body.lw-public .serviceCard p,body.lw-public .miniCard p{margin-top:12px;color:var(--pub-muted);line-height:1.65}
body.lw-public .card h3 a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
body.lw-public .card h3 a:hover{text-decoration-thickness:2px}
body.lw-public .cardAction{margin-top:auto;padding-top:22px;font-weight:800}
body.lw-public .cardAction a{text-decoration:underline;text-underline-offset:4px}

/* Operating method */
body.lw-public .methodSection{background:var(--pub-soft)}
body.lw-public .methodGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--pub-line-strong)}
body.lw-public .methodStep{position:relative;min-width:0;padding:28px 26px 10px;border-right:1px solid var(--pub-line)}
body.lw-public .methodStep:last-child{border-right:0}
body.lw-public .methodStep::before{content:"";position:absolute;top:-7px;left:26px;width:12px;height:12px;border:2px solid var(--pub-line-strong);background:var(--pub-soft)}
body.lw-public .methodStep h3{margin-top:34px}
body.lw-public .methodStep p{margin-top:12px;line-height:1.65}
body.lw-public .methodGrid + *{margin-top:0}

/* WLOVos band */
body.lw-public .darkBand{padding-top:clamp(70px,8vw,112px);padding-bottom:clamp(70px,8vw,112px);border-bottom:1px solid var(--pub-line);background:var(--pub-dark);color:var(--pub-dark-text)}
body.lw-public .darkBandGrid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);align-items:center;gap:clamp(46px,8vw,108px)}
body.lw-public .darkBand h2,body.lw-public .darkBand h3,body.lw-public .darkBand p,body.lw-public .darkBand dt,body.lw-public .darkBand dd{color:var(--pub-dark-text)}
body.lw-public .darkBand .eyebrow{color:var(--pub-dark-text);opacity:.68}
body.lw-public .darkCopy > p:not(.eyebrow){max-width:650px;margin-top:22px;font-size:1.06rem;line-height:1.7;opacity:.82}
body.lw-public .darkVisual{border-color:var(--pub-dark-line);background:var(--pub-dark-soft)}
body.lw-public .darkVisual::before{border-color:var(--pub-dark-text);background:var(--pub-dark)}
body.lw-public .architectureFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:34px 0 0;border-top:1px solid currentColor;border-left:1px solid currentColor}
body.lw-public .architectureFacts div{padding:16px;border-right:1px solid currentColor;border-bottom:1px solid currentColor}
body.lw-public .architectureFacts dt{font-family:var(--lw-mono,"SFMono-Regular",Consolas,monospace);font-size:.71rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
body.lw-public .architectureFacts dd{margin:6px 0 0;font-size:.9rem;line-height:1.45;opacity:.75}

/* CTA */
body.lw-public .ctaSection{background:var(--pub-surface)}
body.lw-public .ctaGrid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;padding-top:4px}
body.lw-public .ctaGrid h2{max-width:17ch}
body.lw-public .ctaGrid p:not(.eyebrow){max-width:650px;margin-top:18px;font-size:1.04rem;line-height:1.7}
body.lw-public .ctaButton{min-width:190px}

/* Expertise */
body.lw-public .expertiseIndex{
  position:sticky;
  top:88px;
  z-index:60;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:min(calc(100% - 40px),var(--pub-width));
  margin:0 auto;
  border-right:1px solid var(--pub-line-strong);
  border-left:1px solid var(--pub-line-strong);
  background:var(--pub-bg);
}
body.lw-public .expertiseIndex a{display:flex;align-items:center;gap:13px;min-height:64px;padding:12px 18px;border-bottom:1px solid var(--pub-line-strong);border-left:1px solid var(--pub-line);font-weight:800;text-decoration:none}
body.lw-public .expertiseIndex a:first-child{border-left:0}
body.lw-public .expertiseIndex a:hover{background:var(--pub-text);color:var(--pub-bg)}
body.lw-public .expertiseIndex span{font-family:var(--lw-mono,"SFMono-Regular",Consolas,monospace);font-size:.7rem;letter-spacing:.08em}
body.lw-public .expertiseSection{scroll-margin-top:150px}
body.lw-public .expertiseSection:nth-of-type(even){background:var(--pub-soft)}
body.lw-public .expertiseSection .sectionHead,body.lw-public .expertiseSection .expertisePanel{max-width:var(--pub-width);margin-right:auto;margin-left:auto}
body.lw-public .expertisePanel,body.lw-public .capabilityAccordion{width:100%;border:1px solid var(--pub-line-strong);border-radius:0;background:var(--pub-surface);box-shadow:none}
body.lw-public .expertisePanel summary,body.lw-public .capabilitySummary{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:64px;
  padding:16px 20px;
  background:var(--pub-surface);
  color:var(--pub-text);
  font-weight:850;
  list-style:none;
  cursor:pointer;
}
body.lw-public .expertisePanel summary::-webkit-details-marker,body.lw-public .capabilitySummary::-webkit-details-marker{display:none}
body.lw-public .expertisePanel summary::after,body.lw-public .capabilitySummary::after{content:"+";font-family:var(--lw-mono,"SFMono-Regular",Consolas,monospace);font-size:1.35rem;font-weight:400}
body.lw-public .expertisePanel[open] summary,body.lw-public .capabilityAccordion[open] .capabilitySummary{border-bottom:1px solid var(--pub-line-strong);background:var(--pub-text);color:var(--pub-bg)}
body.lw-public .expertisePanel[open] summary::after,body.lw-public .capabilityAccordion[open] .capabilitySummary::after{content:"−"}
body.lw-public .expertiseContent,body.lw-public .capabilityContent{padding:clamp(24px,4vw,42px)}
body.lw-public .detailGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--pub-line);border-left:1px solid var(--pub-line)}
body.lw-public .detailGrid article{min-width:0;padding:24px;border-right:1px solid var(--pub-line);border-bottom:1px solid var(--pub-line)}
body.lw-public .detailGrid h3{font-size:1rem;letter-spacing:0;text-transform:uppercase}
body.lw-public .detailGrid p{margin-top:13px;line-height:1.65}
body.lw-public .plainList{margin:13px 0 0;padding-left:1.15rem;color:var(--pub-muted)}
body.lw-public .plainList li+li{margin-top:8px}
body.lw-public .expertiseContent > .actions,body.lw-public .capabilityAction{justify-content:flex-end;margin-top:24px}
body.lw-public .accordionGroup{display:grid;gap:18px}
body.lw-public .capabilitySummary{justify-content:flex-start}
body.lw-public .capabilitySummary .summaryText{flex:1;min-width:0}
body.lw-public .capabilitySummary .summaryText h2{font-size:clamp(1.4rem,2.2vw,2rem)}
body.lw-public .capabilitySummary .summaryText p{margin-top:6px}
body.lw-public .finalCta{background:var(--pub-soft)}

/* Contact */
body.lw-public .contactLayout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.62fr);align-items:start;gap:clamp(38px,7vw,88px)}
body.lw-public .formHeading{display:block;margin-bottom:24px}
body.lw-public .formHeading h2{font-size:clamp(2rem,3.2vw,3.1rem)}
body.lw-public .formHeading p{max-width:760px;margin-top:14px}
body.lw-public .publicForm{padding:clamp(24px,4vw,42px);border:1px solid var(--pub-line-strong);border-top-width:4px;border-radius:0;background:var(--pub-surface);box-shadow:none}
body.lw-public .formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
body.lw-public .field{min-width:0}
body.lw-public .field.full{grid-column:1/-1}
body.lw-public .field label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 8px;color:var(--pub-text);font-size:.9rem;font-weight:800}
body.lw-public .optional{color:var(--pub-faint);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
body.lw-public input:not([type="checkbox"]):not([type="radio"]),body.lw-public select,body.lw-public textarea{
  width:100%;
  min-height:50px;
  padding:11px 13px;
  border:1px solid var(--pub-line);
  border-radius:0;
  background:var(--pub-bg);
  color:var(--pub-text);
  box-shadow:none;
  font:inherit;
}
body.lw-public textarea{min-height:170px;resize:vertical}
body.lw-public input::placeholder,body.lw-public textarea::placeholder{color:var(--pub-faint);opacity:1}
body.lw-public input:focus,body.lw-public select:focus,body.lw-public textarea:focus{outline:3px solid var(--pub-focus);outline-offset:2px;border-color:var(--pub-line-strong)}
body.lw-public input:-webkit-autofill,body.lw-public input:-webkit-autofill:hover,body.lw-public input:-webkit-autofill:focus,body.lw-public textarea:-webkit-autofill,body.lw-public textarea:-webkit-autofill:hover,body.lw-public textarea:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--pub-text);
  caret-color:var(--pub-text);
  -webkit-box-shadow:0 0 0 1000px var(--pub-bg) inset!important;
  box-shadow:0 0 0 1000px var(--pub-bg) inset!important;
  transition:background-color 9999s ease-out 0s;
}
html[data-theme="dark"] body.lw-public .contactAside{border-color:var(--pub-line)}
body.lw-public [aria-invalid="true"]{border-width:2px;border-style:dashed}
body.lw-public .formError{margin-top:7px;color:var(--pub-text);font-size:.86rem;font-weight:800}
body.lw-public .fieldHelp{margin-top:7px;color:var(--pub-faint);font-size:.86rem}
body.lw-public .formActions{margin-top:24px}
body.lw-public .formTrap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
body.lw-public .alert{display:grid;gap:5px;margin:0 0 22px;padding:17px;border-radius:0;box-shadow:none}
body.lw-public .alert strong{font-family:var(--lw-mono,"SFMono-Regular",Consolas,monospace);font-size:.78rem;letter-spacing:.1em}
body.lw-public .alertSuccess{border:1px solid var(--pub-text);background:var(--pub-text);color:var(--pub-bg)}
body.lw-public .alertError{border:3px double var(--pub-text);background:var(--pub-bg);color:var(--pub-text)}
body.lw-public .alertSuccess span,body.lw-public .alertSuccess strong{color:var(--pub-bg)}
body.lw-public .contactAside{position:sticky;top:116px;padding:32px;border:1px solid var(--pub-dark);border-radius:0;background:var(--pub-dark);color:var(--pub-dark-text);box-shadow:none}
body.lw-public .contactAside h2,body.lw-public .contactAside h3,body.lw-public .contactAside p,body.lw-public .contactAside dt,body.lw-public .contactAside dd,body.lw-public .contactAside a{color:var(--pub-dark-text)}
body.lw-public .contactAside h2{font-size:clamp(1.7rem,2.5vw,2.25rem)}
body.lw-public .contactAside > p{margin-top:14px;opacity:.78}
body.lw-public .contactMethods{margin:28px 0 0;border-top:1px solid currentColor}
body.lw-public .contactMethods div{padding:15px 0;border-bottom:1px solid currentColor}
body.lw-public .contactMethods dt{font-family:var(--lw-mono,"SFMono-Regular",Consolas,monospace);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.72}
body.lw-public .contactMethods dd{margin:5px 0 0;font-weight:750}
body.lw-public .contactMethods a{text-decoration:underline;text-underline-offset:4px}
body.lw-public .contactAccess{margin-top:30px;padding-top:24px;border-top:1px solid currentColor}
body.lw-public .contactAccess p{margin-top:8px;opacity:.78}
body.lw-public .contactAside .button.secondary{margin-top:18px;border-color:var(--pub-dark-text);color:var(--pub-dark-text)}
body.lw-public .contactAside .button.secondary:hover{background:var(--pub-dark-text);color:var(--pub-dark)}

/* Footer */
body.lw-public .footer{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;width:min(calc(100% - 40px),var(--pub-width));margin:0 auto;padding:28px 0 36px;border-top:1px solid var(--pub-line-strong);color:var(--pub-faint);font-size:.8rem;line-height:1.5}

/* Responsive */
@media(max-width:1080px){
  body.lw-public .top{align-items:flex-start}
  body.lw-public .topActions{align-items:flex-end;flex-direction:column}
  body.lw-public .heroGrid,body.lw-public .darkBandGrid{grid-template-columns:minmax(0,1fr) minmax(310px,.8fr);gap:44px}
  body.lw-public .cardGrid.four,body.lw-public .methodGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.lw-public .methodStep:nth-child(2){border-right:0}
  body.lw-public .methodStep:nth-child(n+3){margin-top:34px}
}

@media(max-width:880px){
  body.lw-public .heroGrid,body.lw-public .darkBandGrid,body.lw-public .contactLayout{grid-template-columns:1fr}
  body.lw-public .heroCopy{max-width:760px}
  body.lw-public .visual,body.lw-public .darkVisual{max-width:760px}
  body.lw-public .sectionHead{grid-template-columns:1fr;align-items:start;gap:20px}
  body.lw-public .capabilityGrid,body.lw-public .cardGrid{grid-template-columns:1fr}
  body.lw-public .capabilityCard{min-height:0}
  body.lw-public .capabilityCard h3{margin-top:42px}
  body.lw-public .detailGrid{grid-template-columns:1fr}
  body.lw-public .contactAside{position:static}
  body.lw-public .ctaGrid{grid-template-columns:1fr;align-items:start}
  body.lw-public .ctaButton{width:max-content}
}

@media(max-width:760px){
  body.lw-public{--pub-gutter:20px}
  body.lw-public .top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 12px;width:calc(100% - 32px);min-height:0;padding:14px 0 12px}
  body.lw-public .brand{grid-column:1;grid-row:1;align-self:center}
  body.lw-public .brand img{width:min(218px,62vw)}
  body.lw-public .topActions{display:contents}
  body.lw-public .themeToggle{grid-column:2;grid-row:1;align-self:center;padding:0 9px}
  body.lw-public [data-theme-label]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  body.lw-public .links{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--pub-line);border-left:1px solid var(--pub-line)}
  body.lw-public .links a{min-height:42px;padding:0 10px;border-right:1px solid var(--pub-line);border-bottom:1px solid var(--pub-line);font-size:.8rem}
  body.lw-public .links a::after{display:none}
  body.lw-public .links a:hover,body.lw-public .links a[aria-current="page"]{background:var(--pub-soft)}
  body.lw-public .links a[href*="contact.php"]{margin:0;border:0;border-right:1px solid var(--pub-line);border-bottom:1px solid var(--pub-line);background:var(--pub-text);color:var(--pub-bg)}
  body.lw-public h1{font-size:clamp(2.75rem,13vw,4.25rem);max-width:11ch}
  body.lw-public h2{font-size:clamp(2rem,9.5vw,3rem)}
  body.lw-public .eyebrow{gap:8px;font-size:.68rem}
  body.lw-public .eyebrow::before{width:22px}
  body.lw-public .compactHero h1{font-size:clamp(2.65rem,12vw,3.9rem)}
  body.lw-public .hero{padding-top:48px;padding-bottom:52px}
  body.lw-public .heroGrid{gap:38px}
  body.lw-public .lead{font-size:1.03rem}
  body.lw-public .actions{align-items:stretch;flex-direction:column}
  body.lw-public .actions .button{width:100%}
  body.lw-public .visual,body.lw-public .darkVisual{padding:10px 10px 34px}
  body.lw-public .visualCaption{right:10px;bottom:9px;left:10px;font-size:.6rem}
  body.lw-public .section,body.lw-public .expertiseSection{padding-top:58px;padding-bottom:58px}
  body.lw-public .capabilityCard{padding:24px}
  body.lw-public .methodGrid{grid-template-columns:1fr;border-left:2px solid var(--pub-line-strong);border-top:0}
  body.lw-public .methodStep{padding:10px 18px 30px 32px;border-right:0;border-bottom:1px solid var(--pub-line)}
  body.lw-public .methodStep:last-child{border-bottom:0}
  body.lw-public .methodStep:nth-child(n+3){margin-top:0}
  body.lw-public .methodStep::before{top:12px;left:-7px;background:var(--pub-soft)}
  body.lw-public .methodStep h3{margin-top:14px}
  body.lw-public .darkBand{padding-top:58px;padding-bottom:58px}
  body.lw-public .architectureFacts{grid-template-columns:1fr}
  body.lw-public .expertiseIndex{position:static;grid-template-columns:1fr;width:calc(100% - 40px)}
  body.lw-public .expertiseIndex a{border-left:0}
  body.lw-public .expertiseContent,body.lw-public .capabilityContent{padding:20px}
  body.lw-public .cardGrid.four{grid-template-columns:1fr}
  body.lw-public .formGrid{grid-template-columns:1fr}
  body.lw-public .field.full{grid-column:auto}
  body.lw-public .publicForm,body.lw-public .contactAside{padding:24px 20px}
  body.lw-public .ctaButton{width:100%}
  body.lw-public .footer{display:block;width:calc(100% - 32px);padding-bottom:28px}
  body.lw-public .footer span{display:block}
  body.lw-public .footer span+span{margin-top:7px}
}

@media(prefers-reduced-motion:reduce){
  body.lw-public *,body.lw-public *::before,body.lw-public *::after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}
}

@media print{
  html[data-theme] body.lw-public,body.lw-public{
    --pub-bg:#ffffff;
    --pub-surface:#ffffff;
    --pub-soft:#ffffff;
    --pub-soft-2:#ffffff;
    --pub-text:#000000;
    --pub-muted:#222222;
    --pub-faint:#444444;
    --pub-line:#777777;
    --pub-line-strong:#000000;
    --pub-dark:#ffffff;
    --pub-dark-soft:#ffffff;
    --pub-dark-text:#000000;
    --pub-dark-line:#777777;
    --pub-focus:#000000;
    background:#ffffff!important;
    color:#000000!important;
    font-size:10pt;
  }
  body.lw-public .top{position:static;width:100%;min-height:0;padding:0 0 12pt}
  body.lw-public .topActions,body.lw-public .themeToggle,body.lw-public .skip{display:none!important}
  body.lw-public .brand .theme-logo-light{display:block!important;width:180pt}
  body.lw-public .brand .theme-logo-dark{display:none!important}
  body.lw-public .hero,body.lw-public .section,body.lw-public .expertiseSection,body.lw-public .darkBand{padding:20pt 0;border-color:#777!important;background:#fff!important;color:#000!important}
  body.lw-public .heroGrid,body.lw-public .darkBandGrid,body.lw-public .sectionHead,body.lw-public .contactLayout,body.lw-public .ctaGrid{display:block;max-width:none}
  body.lw-public .visual,body.lw-public .darkVisual{max-width:420pt;margin:14pt 0 0;padding:8pt;border-color:#777;background:#fff}
  body.lw-public .visual::before,body.lw-public .darkVisual::before,body.lw-public .visualCaption{display:none}
  body.lw-public .card,body.lw-public .capabilityCard,body.lw-public .methodStep,body.lw-public .expertisePanel,body.lw-public .detailGrid article,body.lw-public .publicForm,body.lw-public .contactAside{break-inside:avoid;page-break-inside:avoid;background:#fff!important;color:#000!important;border-color:#777!important;box-shadow:none!important}
  body.lw-public .capabilityGrid,body.lw-public .cardGrid,body.lw-public .methodGrid,body.lw-public .detailGrid{display:block;border:0}
  body.lw-public .capabilityCard,body.lw-public .card,body.lw-public .methodStep,body.lw-public .detailGrid article{margin:0 0 12pt;border:1px solid #777!important}
  body.lw-public details:not([open])>*:not(summary){display:block!important}
  body.lw-public summary{border-bottom:1px solid #777!important;background:#fff!important;color:#000!important}
  body.lw-public .button,body.lw-public button.button{min-height:0;padding:5pt 7pt;background:#fff!important;color:#000!important;border:1px solid #000!important}
  body.lw-public main a[href]:not([href^="#"])::after{content:" [" attr(href) "]";font-size:8pt;font-weight:400;word-break:break-all}
  body.lw-public .footer{width:100%;padding:14pt 0 0;border-color:#777}
}

