/* Lovins.Work public site layout for the master light and dark theme. */

body.lw-public{
  background:
    radial-gradient(900px 420px at 50% -240px, var(--lw-accent-soft), transparent 72%),
    linear-gradient(180deg,var(--lw-bg-2) 0%,var(--lw-bg) 54%,var(--lw-bg-3) 100%);
  color:var(--lw-text);
}
body.lw-public:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(760px 360px at 80% 12%,var(--lw-accent-soft),transparent 72%);opacity:.7}
.page{position:relative;z-index:1;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:22px 0 48px}
.top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}
.brand{display:inline-flex;align-items:center;gap:12px;min-width:180px}
.brand img{width:clamp(210px,18vw,286px);height:auto;filter:drop-shadow(0 10px 24px rgba(0,0,0,.08))}
.topActions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.links{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.links a{min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 13px;border:1px solid transparent;border-radius:999px;color:var(--lw-muted);font-weight:850;font-size:.92rem;transition:background var(--lw-speed) var(--lw-ease),color var(--lw-speed) var(--lw-ease),border-color var(--lw-speed) var(--lw-ease),transform var(--lw-speed) var(--lw-ease)}
.links a:hover,.links a[aria-current="page"]{color:var(--lw-invert);background:var(--lw-accent);border-color:var(--lw-accent);transform:translateY(-1px)}
.themeToggle{flex:0 0 auto}

.hero{position:relative;overflow:hidden;border:1px solid var(--lw-line);border-radius:var(--lw-radius-2xl);background:linear-gradient(180deg,var(--lw-surface),var(--lw-surface-2));box-shadow:var(--lw-shadow-lg);margin-bottom:clamp(36px,6vw,60px)}
.hero:after{content:"";position:absolute;inset:auto -20% -34% 20%;height:52%;background:radial-gradient(closest-side,var(--lw-accent-soft),transparent 72%);pointer-events:none}
.heroGrid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:clamp(22px,5vw,56px);align-items:center;padding:clamp(28px,5vw,58px)}
.eyebrow{margin:0 0 12px;color:var(--lw-muted);text-transform:uppercase;letter-spacing:.18em;font-weight:950;font-size:.78rem}
h1,h2,h3{color:var(--lw-text);letter-spacing:-.055em;line-height:.96}h1{margin:0;font-size:clamp(3.4rem,8vw,6.3rem);max-width:10.5ch;font-weight:950}h1.wide{max-width:12ch}h2{margin:0;font-size:clamp(2.5rem,5vw,4.25rem);font-weight:950}h3{font-size:1.18rem;margin:0 0 9px;font-weight:920;letter-spacing:-.03em}.lead{max-width:760px;margin:22px 0 0;color:var(--lw-text-soft);font-size:clamp(1.05rem,1.4vw,1.22rem);line-height:1.55}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.button{min-height:48px;padding-inline:20px}.button.secondary{background:var(--lw-surface-solid);color:var(--lw-text);border-color:var(--lw-line-2)}
.visual{margin:0;border-radius:26px}.visual img{display:block;width:100%;height:auto;border-radius:26px;box-shadow:var(--lw-shadow-md);border:1px solid var(--lw-line);background:var(--lw-surface-solid)}

.section{padding:clamp(20px,3vw,34px) 0;border-top:1px solid var(--lw-line)}.section:first-of-type{border-top:0}.sectionHead{display:grid;grid-template-columns:minmax(260px,.74fr) minmax(0,1fr);gap:clamp(20px,5vw,70px);align-items:end;margin-bottom:22px}.sectionHead p{margin:0;color:var(--lw-muted);font-size:1.04rem;max-width:680px}.cardGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cardGrid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.serviceCard,.miniCard,.card{position:relative;overflow:hidden;border:1px solid var(--lw-line);border-radius:var(--lw-radius-xl);background:linear-gradient(180deg,var(--lw-surface),var(--lw-surface-2));padding:22px;color:var(--lw-text);box-shadow:var(--lw-shadow-sm)}.serviceCard:hover,.miniCard:hover,.card:hover{border-color:var(--lw-line-strong);box-shadow:var(--lw-shadow-md);transform:translateY(-2px)}.serviceCard,.miniCard,.card{transition:transform var(--lw-speed) var(--lw-ease),box-shadow var(--lw-speed) var(--lw-ease),border-color var(--lw-speed) var(--lw-ease)}.serviceCard p,.miniCard p,.card p{color:var(--lw-muted);margin:0}.icon{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;margin-bottom:20px;border:1px solid var(--lw-line);background:var(--lw-surface-solid);box-shadow:var(--lw-shadow-xs)}.icon:before{content:"";width:20px;height:20px;border:2px solid currentColor;border-radius:5px;display:block}.icon.knowledge:before{border-radius:3px;border-left-width:6px}.icon.systems:before{border-radius:3px;box-shadow:9px 9px 0 -5px currentColor}.icon.web:before{border-radius:999px}.icon.security:before{border-radius:999px 999px 5px 5px}.icon.contact:before{border-radius:999px 999px 999px 3px}.icon.launch:before{border-radius:999px;transform:rotate(45deg)}
.serviceNav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:-22px 0 40px}.serviceNav a{display:flex;align-items:center;gap:12px;border:1px solid var(--lw-line);border-radius:22px;background:var(--lw-surface);padding:14px;color:var(--lw-text);box-shadow:var(--lw-shadow-xs)}.serviceNav a.active,.serviceNav a:hover{border-color:var(--lw-accent);box-shadow:var(--lw-shadow-sm)}.serviceNav b{display:block}.serviceNav span span{display:block;color:var(--lw-muted);font-size:.88rem;margin-top:2px}
.darkBand{position:relative;overflow:hidden;margin:clamp(34px,6vw,64px) 0;border:1px solid var(--lw-line-strong);border-radius:var(--lw-radius-2xl);background:linear-gradient(180deg,#191a1d,#070708 72%);color:#fff;box-shadow:0 34px 100px rgba(0,0,0,.28)}.darkBandGrid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(340px,1fr);gap:clamp(24px,5vw,60px);align-items:center;padding:clamp(28px,5vw,58px)}.darkBand h2{color:#fff;max-width:10ch}.darkBand p{color:rgba(255,255,255,.74);font-size:1.08rem}.darkCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.darkCard{border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(255,255,255,.055);padding:18px}.darkCard h3{color:#fff}.darkCard p{font-size:.97rem;margin:0}.darkVisual img{display:block;border-radius:26px;border:1px solid rgba(255,255,255,.16);box-shadow:0 24px 80px rgba(0,0,0,.36)}
:root[data-theme="dark"] .hero,:root[data-theme="dark"] .serviceCard,:root[data-theme="dark"] .miniCard,:root[data-theme="dark"] .card{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025)),var(--lw-surface-solid)}:root[data-theme="dark"] .visual img{background:#0f1012}:root[data-theme="dark"] .darkBand{border-color:rgba(255,255,255,.18);box-shadow:0 34px 110px rgba(0,0,0,.55)}
.footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:34px;color:var(--lw-muted);font-size:.9rem;border-top:1px solid var(--lw-line);padding-top:18px}

@media(max-width:980px){.top{align-items:flex-start}.topActions{align-items:flex-end;flex-direction:column}.heroGrid,.darkBandGrid{grid-template-columns:1fr}.sectionHead{grid-template-columns:1fr;align-items:start}.cardGrid,.cardGrid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.serviceNav{grid-template-columns:1fr}.visual{max-width:720px}}
@media(max-width:680px){.page{width:min(100% - 24px,540px);padding-top:16px}.top{display:block}.brand img{width:min(260px,82vw)}.topActions{margin-top:14px;align-items:stretch}.links{justify-content:flex-start}.links a{flex:1 1 auto}.themeToggle{width:100%}.heroGrid,.darkBandGrid{padding:24px 18px}.hero,.darkBand{border-radius:26px}h1{font-size:clamp(3rem,16vw,4.65rem)}h2{font-size:clamp(2.35rem,11vw,3.35rem)}.cardGrid,.cardGrid.four,.darkCards{grid-template-columns:1fr}.actions .button{width:100%}.footer{display:block}.footer span{display:block;margin-top:6px}}
