/* Liquid-glass look. Loaded after main.css when params.look = "glass". */
:root{
  --bg:#f1effa; --bg-alt:transparent;
  --glass:rgba(255,255,255,.60); --glass-strong:rgba(255,255,255,.78);
  --glass-border:rgba(255,255,255,.75); --glass-hi:rgba(255,255,255,.9);
  --glass-shadow:0 10px 32px rgba(52,40,140,.14);
  --blob1:#8f84ff; --blob2:#5fd4e6; --blob3:#ff9ccf;
  --blur:blur(22px) saturate(170%);
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0e0f16;
    --glass:rgba(38,40,56,.55); --glass-strong:rgba(32,34,48,.78);
    --glass-border:rgba(255,255,255,.16); --glass-hi:rgba(255,255,255,.22);
    --glass-shadow:0 12px 36px rgba(0,0,0,.45);
    --blob1:#4a3fd1; --blob2:#0f7f93; --blob3:#9a2f76;
  }
}
body{background:var(--bg);position:relative;min-height:100vh}
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(60vmax 50vmax at 8% 6%, var(--blob1) 0%, transparent 60%),
    radial-gradient(55vmax 45vmax at 95% 22%, var(--blob2) 0%, transparent 62%),
    radial-gradient(60vmax 50vmax at 55% 100%, var(--blob3) 0%, transparent 60%);
  opacity:.55;
}
@media (prefers-color-scheme: dark){ body::before{opacity:.5} }

/* Shared glass surface */
.card,.stats-grid,.btn,.roles li,.quotes figure,.site-footer .wrap,.bar,.consulting,.earlier{
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
}
.card,.btn,.roles li,.consulting{
  background:var(--glass);border:1px solid var(--glass-border);
  box-shadow:var(--glass-shadow), inset 0 1px 0 var(--glass-hi);
}

/* Floating pill navigation */
.site-header{background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;top:12px;padding:12px 12px 0}
.bar{
  max-width:1080px;margin:0 auto;height:56px;padding:0 10px 0 22px;border-radius:999px;
  background:var(--glass-strong);border:1px solid var(--glass-border);
  box-shadow:var(--glass-shadow), inset 0 1px 0 var(--glass-hi);
}
.site-header .bar{padding:0 10px 0 22px}
.bar nav .pill{box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 4px 14px rgba(74,63,209,.35);
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 82%,#fff) 0%,var(--accent) 100%)}

/* Hero */
.portrait{border:1px solid var(--glass-border);padding:8px;background:var(--glass);box-shadow:var(--glass-shadow), inset 0 1px 0 var(--glass-hi)}
.btn{border-radius:999px}
.btn.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 82%,#fff) 0%,var(--accent) 100%);
  border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 6px 18px rgba(74,63,209,.35)}
.btn:hover{transform:translateY(-1px)}
.btn{transition:transform .15s, border-color .15s}

/* Stats become a glass panel */
.stats{background:none;border:0;padding:0 20px}
.stats-grid{
  max-width:1040px;margin:0 auto;border-radius:28px;padding:6px 8px;
  background:var(--glass);border:1px solid var(--glass-border);
  box-shadow:var(--glass-shadow), inset 0 1px 0 var(--glass-hi);
}
.stat{padding:24px 22px}.stat:first-child{padding-left:22px}

/* Sections let the backdrop show through */
.block.alt{background:none}
.card{border-radius:24px}
.card.link:hover{border-color:var(--glass-hi);box-shadow:0 18px 44px rgba(52,40,140,.22), inset 0 1px 0 var(--glass-hi)}
.card.wide{border-top:1px solid var(--glass-border);position:relative;overflow:hidden}
.card.wide::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--blob1),var(--blob2),var(--blob3))}
.consulting{border-style:solid;background:var(--glass)}
.earlier{border:1px solid var(--glass-border);border-radius:24px;background:var(--glass);padding:0 24px;box-shadow:var(--glass-shadow), inset 0 1px 0 var(--glass-hi)}
.earlier li:last-child{border-bottom:0}
.roles li{border-radius:18px;background:var(--glass)}
.quotes{background:none}
.quotes figure{background:var(--glass);border:1px solid var(--glass-border);border-radius:28px;padding:28px}
.shots img{box-shadow:var(--glass-shadow);border-color:var(--glass-border)}
.feature{box-shadow:var(--glass-shadow)}

/* Footer */
.site-footer{background:none;border:0;padding:20px 12px 28px}
.site-footer .wrap{max-width:1080px;border-radius:24px;padding:18px 24px;background:var(--glass);border:1px solid var(--glass-border)}

/* Accessibility and fallbacks */
@media (prefers-reduced-transparency: reduce){
  :root{--glass:var(--surface);--glass-strong:var(--surface);--blur:none}
  body::before{opacity:.25}
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  :root{--glass:var(--surface);--glass-strong:var(--surface)}
}
@media (max-width:860px){
  .stat{padding:18px 14px}.stat:first-child{padding-left:14px}
  .earlier{padding:0 18px}
}
