:root{
  --bg-1:#07111f;
  --bg-2:#0f1c33;
  --bg-3:#2f67ff;
  --text:#f8fafc;
  --soft-text:rgba(255,255,255,.78);
  --line:rgba(255,255,255,.16);
  --line-dark:rgba(15,23,42,.09);
  --window-bg:rgba(249,251,255,.80);
  --window-bg-strong:rgba(255,255,255,.88);
  --card-bg:rgba(255,255,255,.74);
  --card-bg-strong:rgba(255,255,255,.9);
  --page-card:rgba(255,255,255,.72);
  --page-card-strong:rgba(255,255,255,.84);
  --ink:#0f172a;
  --muted:#475569;
  --dock-height:96px;
  --menu-height:34px;
  --shadow-xl:0 28px 90px rgba(2,8,23,.38);
  --shadow-lg:0 18px 50px rgba(2,8,23,.24);
  --shadow-md:0 12px 30px rgba(15,23,42,.14);
  --window-min-w:360px;
  --window-min-h:260px;
  --accent:#2563eb;
  --accent-strong:#0f172a;
  --accent-soft:#dbeafe;
  --terminal-bg:#07101d;
  --terminal-panel:#0d1728;
  --terminal-border:rgba(255,255,255,.08);
  --terminal-green:#4ade80;
  --terminal-blue:#93c5fd;
  --terminal-text:#e5eefc;
  --boot-speed:1500ms;
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{margin:0;min-height:100%;scroll-behavior:smooth;}
body{
  margin:0;
  min-height:100%;
  overflow-x:hidden;
  overflow-y:auto;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:#000;
  color:var(--text);
}

body.consent-open{
  overflow:hidden;
}

button,input,textarea{font:inherit;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}

body::before{
  content:'';
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle at 16% 16%, rgba(96,165,250,.42), transparent 24%),
    radial-gradient(circle at 85% 20%, rgba(45,212,191,.18), transparent 22%),
    radial-gradient(circle at 50% 88%, rgba(96,165,250,.2), transparent 28%),
    linear-gradient(135deg, var(--bg-1) 0%, var(--bg-2) 46%, #163985 100%);
  transform:scale(1.04);
  filter:saturate(1.08);
  z-index:-2;
}

body::after{
  content:'';
  position:fixed;
  inset:0;
  background:rgba(3,8,18,.56);
  backdrop-filter:blur(8px) saturate(.9);
  -webkit-backdrop-filter:blur(8px) saturate(.9);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
  z-index:18400;
}

body.consent-open::after{
  opacity:1;
  pointer-events:auto;
}

body.consent-open .os-stage,
body.consent-open .retro-site{
  pointer-events:none;
  user-select:none;
}

.skip-link{
  position:absolute;
  left:12px;
  top:-56px;
  z-index:25000;
  padding:12px 16px;
  border-radius:14px;
  background:#fff;
  color:#0f172a;
  font-weight:800;
  box-shadow:var(--shadow-md);
}

.skip-link:focus{top:12px;}

.no-js-banner{
  position:relative;
  z-index:12000;
  padding:12px 16px;
  background:#fff7ed;
  color:#7c2d12;
  text-align:center;
  font-size:14px;
  border-bottom:1px solid rgba(124,45,18,.14);
}

.container{
  width:min(1160px, calc(100vw - 32px));
  margin:0 auto;
}

.os-stage{
  position:relative;
  min-height:100svh;
  isolation:isolate;
}

.desktop{
  position:relative;
  width:100%;
  height:100svh;
  overflow:hidden;
  user-select:none;
  opacity:0;
  transform:scale(1.015);
  transition:opacity .55s ease, transform .55s ease;
}

.desktop.ready{opacity:1;transform:scale(1);}

.wallpaper{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(7,17,31,.18), rgba(7,17,31,.46)),
    url('../assets/backgrounds/background-1920.jpg') center center / cover no-repeat;
  filter:saturate(1.04) contrast(1.04) brightness(.92);
  transform:scale(1.04);
}

.wallpaper::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.08), transparent 18%),
    radial-gradient(circle at 80% 20%, rgba(255,255,255,.08), transparent 20%),
    linear-gradient(180deg, rgba(7,17,31,.08) 0%, rgba(7,17,31,.28) 26%, rgba(7,17,31,.48) 100%);
  backdrop-filter:blur(2px);
}

.menu-bar{
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:var(--menu-height);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 14px;
  background:rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(24px) saturate(1.45);
  -webkit-backdrop-filter:blur(24px) saturate(1.45);
  z-index:9000;
  font-size:13px;
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.2);
}

.menu-left,.menu-right{display:flex;align-items:center;gap:16px;white-space:nowrap;}
.menu-apple{font-size:16px;font-weight:800;}
.menu-strong{font-weight:700;}
.menu-fade{opacity:.92;}
.menu-group{position:relative;}
.menu-button{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#fff;
  font:inherit;
  cursor:pointer;
  text-shadow:inherit;
  transition:background .16s ease, color .16s ease;
}

.menu-button:hover,
.menu-group.is-open .menu-button{
  background:rgba(255,255,255,.14);
  color:#fff;
}

.menu-button--strong{font-weight:700;}

.menu-dropdown-panel{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:232px;
  padding:10px;
  border-radius:18px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 22px 40px rgba(2,8,23,.24);
  backdrop-filter:blur(24px) saturate(1.25);
  -webkit-backdrop-filter:blur(24px) saturate(1.25);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.menu-group.is-open .menu-dropdown-panel{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.menu-dropdown-label{
  padding:2px 8px 8px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#64748b;
}

.menu-dropdown-item{
  display:flex;
  align-items:center;
  width:100%;
  min-height:38px;
  padding:0 12px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#0f172a;
  font:inherit;
  font-size:13px;
  font-weight:700;
  text-align:left;
  cursor:pointer;
  transition:background .16s ease, color .16s ease, transform .16s ease;
}

.menu-dropdown-item:hover{
  background:#dbeafe;
  color:#1d4ed8;
  transform:translateX(1px);
}

.menu-dropdown-item--link{text-decoration:none;}
.menu-dropdown-divider{height:1px;margin:8px 2px;background:rgba(148,163,184,.26);}

.status-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  font-size:11px;
  font-weight:700;
  transition:transform .18s ease, filter .18s ease, background .18s ease;
}

.status-pill:hover{transform:translateY(-1px);filter:saturate(1.04);}

.status-pill--company{
  background:linear-gradient(135deg, rgba(37,99,235,.96), rgba(15,23,42,.92));
  color:#fff;
  box-shadow:0 10px 22px rgba(15,23,42,.24);
}

.hero-note{
  position:absolute;
  left:34px;
  bottom:128px;
  z-index:4;
  width:min(620px, calc(100vw - 64px));
  padding:26px 28px;
  border-radius:30px;
  background:linear-gradient(180deg, rgba(8,16,29,.34), rgba(8,16,29,.22));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--shadow-lg);
  backdrop-filter:blur(22px) saturate(1.2);
  -webkit-backdrop-filter:blur(22px) saturate(1.2);
}

.hero-note .eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.68);margin-bottom:8px;}
.hero-note h1{margin:0 0 10px;font-size:clamp(34px,4.2vw,66px);line-height:.94;letter-spacing:-.055em;}
.hero-note p{margin:0;color:var(--soft-text);line-height:1.6;font-size:15px;max-width:48ch;}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}

.hero-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 16px;
  border:0;
  border-radius:16px;
  font-weight:800;
  cursor:pointer;
  appearance:none;
  transition:transform .18s ease, filter .18s ease, background .18s ease;
}

.hero-link:hover{transform:translateY(-1px);filter:saturate(1.04);}
.hero-link-primary{background:#fff;color:#0f172a;}
.hero-link-secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.18);}
.hero-link-instagram{background:linear-gradient(135deg, rgba(244,114,182,.9), rgba(124,58,237,.88));color:#fff;border:1px solid rgba(255,255,255,.18);}
.hero-meta{margin-top:14px;font-size:13px;line-height:1.6;color:rgba(255,255,255,.74);}

.portrait-widget{
  position:absolute;
  left:34px;
  top:72px;
  z-index:3;
  width:198px;
  padding:12px;
  border-radius:28px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  box-shadow:var(--shadow-md);
}

.portrait-widget img{height:244px;width:100%;object-fit:cover;object-position:center 22%;border-radius:20px;}
.portrait-meta{padding:12px 4px 2px;}
.portrait-meta strong{display:block;font-size:14px;}
.portrait-meta span{display:block;font-size:12px;color:rgba(255,255,255,.76);margin-top:3px;line-height:1.45;}
.portrait-social{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:38px;
  margin-top:10px;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(244,114,182,.9), rgba(124,58,237,.82));
  color:#fff;
  font-size:12px;
  font-weight:800;
  box-shadow:0 10px 20px rgba(15,23,42,.18);
}

.weather-widget{
  position:absolute;
  top:72px;
  left:252px;
  z-index:3;
  width:min(540px, calc(100vw - 660px));
  min-width:300px;
  padding:16px;
  border-radius:28px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  box-shadow:var(--shadow-md);
}

.weather-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.weather-eyebrow{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:rgba(255,255,255,.6);
  margin-bottom:4px;
}

.weather-header strong{
  display:block;
  font-size:15px;
  color:#fff;
  letter-spacing:-.02em;
}

.weather-timestamp{
  font-size:11px;
  color:rgba(255,255,255,.72);
  white-space:nowrap;
  padding-top:3px;
}

.weather-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(150px,1fr));
  gap:12px;
  margin-top:14px;
}

.weather-card{
  padding:16px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.12));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

.weather-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.weather-location{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.weather-city{
  font-size:13px;
  font-weight:700;
  color:#fff;
}

.weather-country{
  font-size:11px;
  letter-spacing:.04em;
  color:rgba(255,255,255,.62);
}

.weather-icon{
  font-size:24px;
  line-height:1;
}

.weather-temp{
  margin-top:10px;
  font-size:38px;
  line-height:.95;
  font-weight:900;
  letter-spacing:-.06em;
  color:#fff;
}

.weather-copy{
  margin-top:8px;
  min-height:38px;
  font-size:13px;
  line-height:1.45;
  color:rgba(255,255,255,.8);
}

.weather-meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:12px;
  font-size:12px;
  color:rgba(255,255,255,.74);
}

.weather-footer{
  margin-top:12px;
  font-size:11px;
  color:rgba(255,255,255,.62);
}

.notification-center{
  position:absolute;
  top:48px;
  right:24px;
  z-index:9100;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
  width:min(340px, calc(100vw - 48px));
  pointer-events:none;
}

.notification{
  width:100%;
  padding:16px 16px 14px;
  border-radius:24px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 40px rgba(2,8,23,.24);
  backdrop-filter:blur(22px) saturate(1.2);
  -webkit-backdrop-filter:blur(22px) saturate(1.2);
  color:#fff;
  pointer-events:auto;
  animation:notificationIn .24s ease;
}

.notification.closing{animation:notificationOut .18s ease forwards;}

@keyframes notificationIn{
  from{opacity:0;transform:translateY(-10px) scale(.98);}
  to{opacity:1;transform:translateY(0) scale(1);}
}

@keyframes notificationOut{
  from{opacity:1;transform:translateY(0) scale(1);}
  to{opacity:0;transform:translateY(-6px) scale(.98);}
}

.notification-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.notification-kicker{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:rgba(255,255,255,.58);
  margin-bottom:4px;
}

.notification-title{
  margin:0;
  font-size:16px;
  line-height:1.2;
  letter-spacing:-.02em;
}

.notification-copy{
  margin:10px 0 0;
  font-size:13px;
  line-height:1.55;
  color:rgba(255,255,255,.78);
}

.notification-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
}

.notification-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border:0;
  border-radius:999px;
  background:#fff;
  color:#0f172a;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  appearance:none;
  transition:transform .18s ease, filter .18s ease;
}

.notification-cta:hover{transform:translateY(-1px);filter:saturate(1.04);}

.notification-close{
  width:28px;
  height:28px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}

.consent-notice{
  position:fixed;
  top:50%;
  left:50%;
  right:auto;
  z-index:18500;
  width:min(520px, calc(100vw - 40px));
  padding:18px 18px 16px;
  border-radius:28px;
  background:rgba(11,18,32,.82);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 22px 64px rgba(2,8,23,.34);
  backdrop-filter:blur(26px) saturate(1.22);
  -webkit-backdrop-filter:blur(26px) saturate(1.22);
  color:#fff;
  transform:translate(-50%, -50%);
}

.consent-notice[hidden]{display:none;}

.consent-notice-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.consent-kicker{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:rgba(255,255,255,.58);
  margin-bottom:6px;
}

.consent-title{
  margin:0;
  font-size:20px;
  line-height:1.1;
  letter-spacing:-.03em;
}

.consent-copy{
  margin:12px 0 0;
  font-size:13px;
  line-height:1.62;
  color:rgba(255,255,255,.82);
}

.consent-options{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:16px;
}

.consent-option{
  display:block;
  border-radius:20px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
}

.consent-option--required{background:rgba(255,255,255,.06);}

.consent-option-main{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:13px 14px;
}

.consent-option input{
  margin-top:3px;
  width:18px;
  height:18px;
  accent-color:#fff;
  flex:0 0 auto;
}

.consent-option-text{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.consent-option-text strong{
  font-size:14px;
  line-height:1.2;
}

.consent-option-text small{
  font-size:12px;
  line-height:1.48;
  color:rgba(255,255,255,.72);
}

.consent-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  margin-top:14px;
  font-size:12px;
}

.consent-links a,
.consent-link-button{
  color:rgba(255,255,255,.9);
  font-weight:700;
}

.consent-link-button{
  padding:0;
  border:0;
  background:none;
  cursor:pointer;
}

.consent-actions{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  margin-top:16px;
}

.consent-button{
  min-height:42px;
  padding:10px 12px;
  border:0;
  border-radius:16px;
  background:#fff;
  color:#0f172a;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  cursor:pointer;
  transition:transform .18s ease, filter .18s ease, background .18s ease;
}

.consent-button:hover{transform:translateY(-1px);filter:saturate(1.04);}

.consent-button--soft{
  background:rgba(255,255,255,.14);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
}

.consent-button--ghost{
  background:#fff;
  color:#0f172a;
}

body.retro-mode .consent-notice{top:16px;}

.quicklook{
  position:absolute;
  inset:0;
  z-index:9500;
}

.quicklook-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,8,23,.42);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.quicklook-panel{
  position:absolute;
  left:50%;
  top:50%;
  width:min(820px, calc(100vw - 72px));
  display:grid;
  grid-template-columns:minmax(220px, 320px) 1fr;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.82);
  box-shadow:0 28px 80px rgba(2,8,23,.34);
  transform:translate(-50%, -50%) scale(.97);
  opacity:0;
  transition:transform .2s ease, opacity .2s ease;
}

.quicklook.open .quicklook-panel{transform:translate(-50%, -50%) scale(1);opacity:1;}

.quicklook-media{
  position:relative;
  min-height:340px;
  background:linear-gradient(135deg, #0f172a, #1d4ed8);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.quicklook-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.quicklook-icon{
  font-size:88px;
  color:#fff;
  text-shadow:0 10px 30px rgba(0,0,0,.18);
}

.quicklook-body{
  padding:28px 28px 24px;
  color:#0f172a;
}

.quicklook-kicker{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:#64748b;
  margin-bottom:8px;
}

.quicklook-title{
  margin:0;
  font-size:40px;
  line-height:.96;
  letter-spacing:-.06em;
}

.quicklook-copy{
  margin:14px 0 0;
  font-size:16px;
  line-height:1.68;
  color:#334155;
}

.quicklook-meta{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:18px;
  color:#475569;
  font-size:14px;
}

.quicklook-meta span::before{
  content:'•';
  margin-right:8px;
  color:#2563eb;
}

.quicklook-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}

.quicklook-tag{
  padding:8px 12px;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:12px;
  font-weight:800;
}

.quicklook-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.quicklook-hint{
  margin-top:18px;
  font-size:12px;
  color:#64748b;
}

.quicklook-close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.desktop-icons{
  position:absolute;
  top:54px;
  right:20px;
  display:grid;
  grid-template-columns:repeat(2,94px);
  gap:22px 14px;
  z-index:20;
}

.desktop-icon,
.dock-item,
.mobile-app,
.mobile-dock-item,
.footer-button{
  appearance:none;
  border:0;
  background:none;
  color:inherit;
}

.desktop-icon{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  cursor:pointer;
  border-radius:16px;
  padding:8px 6px;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.desktop-icon:hover{transform:translateY(-2px);background:rgba(255,255,255,.08);box-shadow:0 10px 24px rgba(2,8,23,.1);}
.desktop-icon.selected{background:rgba(255,255,255,.12);}

.icon-glyph,.dock-item,.mobile-app-icon,.mobile-dock-item{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.62));
  box-shadow:0 10px 22px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.9);
  color:#111827;
}

.icon-glyph::after,.dock-item::after,.mobile-app-icon::after,.mobile-dock-item::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.32), transparent 42%);
  pointer-events:none;
}

.icon-glyph{
  width:68px;
  height:68px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:29px;
}

.desktop-icon span{font-size:12px;line-height:1.22;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.54);max-width:84px;text-align:center;}

.window-layer{position:absolute;inset:0;z-index:120;pointer-events:none;}

.window{
  position:absolute;
  min-width:var(--window-min-w);
  min-height:var(--window-min-h);
  max-width:calc(100vw - 24px);
  max-height:calc(100vh - 56px);
  background:var(--window-bg);
  border:1px solid rgba(255,255,255,.45);
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow-xl);
  backdrop-filter:blur(28px) saturate(1.3);
  -webkit-backdrop-filter:blur(28px) saturate(1.3);
  animation:windowIn .25s ease;
  transform-origin:center;
  pointer-events:auto;
}

.window.inactive{filter:saturate(.88) brightness(.96);}
.window.maximized{border-radius:18px;}

@keyframes windowIn{
  from{opacity:0;transform:translateY(16px) scale(.975);}
  to{opacity:1;transform:translateY(0) scale(1);}
}

.window-bar{
  height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 16px;
  background:linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.48));
  border-bottom:1px solid var(--line-dark);
  cursor:grab;
}

.window-bar:active{cursor:grabbing;}
.traffic{display:flex;gap:8px;align-items:center;min-width:52px;}
.dot{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:12px;
  height:12px;
  padding:0;
  border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);
  cursor:pointer;
  transition:filter .16s ease, transform .16s ease;
}
.dot::before{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:8px;
  font-weight:900;
  line-height:1;
  color:rgba(0,0,0,.58);
  opacity:0;
  transform:scale(.7);
  transition:opacity .14s ease, transform .14s ease;
}
.traffic:hover .dot::before,
.dot:focus-visible::before{
  opacity:1;
  transform:scale(1);
}
.dot:hover{filter:brightness(.96);transform:translateY(-.5px);}
.dot:focus-visible{outline:2px solid rgba(15,23,42,.22);outline-offset:2px;}
.red{background:#ff5f57;}
.red::before{content:'×';}
.yellow{background:#febc2e;}
.yellow::before{content:'−';}
.green{background:#28c840;}
.green::before{content:'+';}
.window-title{font-size:13px;font-weight:700;color:#172033;opacity:.9;letter-spacing:-.01em;}
.window-actions{display:flex;align-items:center;gap:8px;color:#334155;font-size:12px;}
.window-badge{padding:6px 10px;border-radius:999px;background:rgba(15,23,42,.06);border:1px solid rgba(15,23,42,.05);font-size:11px;font-weight:700;}

.window-content{
  height:calc(100% - 56px);
  overflow:auto;
  color:var(--ink);
  background:linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,.16));
}

.window.terminal-window{background:rgba(7,16,29,.96);border-color:rgba(255,255,255,.12);}
.window.terminal-window .window-bar{background:linear-gradient(180deg, rgba(17,24,39,.96), rgba(11,18,32,.96));border-bottom:1px solid rgba(255,255,255,.06);}
.window.terminal-window .window-title,.window.terminal-window .window-actions{color:#d7e7ff;}
.window.terminal-window .window-content{background:var(--terminal-bg);}

.resize-handle{
  position:absolute;
  right:0;
  bottom:0;
  width:18px;
  height:18px;
  cursor:nwse-resize;
  z-index:2;
  background:linear-gradient(135deg, transparent 50%, rgba(15,23,42,.18) 52%, transparent 56%, rgba(15,23,42,.18) 60%, transparent 64%);
}

.window.terminal-window .resize-handle{background:linear-gradient(135deg, transparent 50%, rgba(255,255,255,.16) 52%, transparent 56%, rgba(255,255,255,.16) 60%, transparent 64%);}

.content-shell{padding:28px;}
.section-title{font-size:36px;line-height:1;margin:0 0 12px;letter-spacing:-.05em;color:#0f172a;}
.section-title--profile{font-size:40px;margin:0 0 8px;}
.section-copy{font-size:16px;color:#334155;line-height:1.68;max-width:72ch;}
.section-copy--spaced{margin-bottom:22px;}
.section-copy--roomy{margin-bottom:24px;}
.section-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#64748b;margin-bottom:8px;}
.muted{color:#475569;}
.muted--lead{font-size:16px;}

.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:22px;align-items:start;}

.card{
  background:var(--card-bg);
  border:1px solid rgba(15,23,42,.08);
  border-radius:26px;
  padding:22px;
  box-shadow:0 14px 30px rgba(15,23,42,.08);
  color:#0f172a;
}

.card.strong{background:var(--card-bg-strong);}
.card--spaced-top{margin-top:18px;}
.profile-row{display:flex;gap:18px;align-items:center;margin-bottom:18px;}

.avatar{
  width:96px;
  height:96px;
  border-radius:30px;
  flex:0 0 auto;
  overflow:hidden;
  background:linear-gradient(135deg,#111827,#334155);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

.avatar img{width:100%;height:100%;object-fit:cover;object-position:center 18%;}
.pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.pill-row--tight{margin-top:18px;}
.pill{padding:10px 14px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-weight:700;font-size:13px;}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:14px;}
.stats--flush{margin-top:0;}
.stat{padding:16px;border-radius:18px;background:rgba(255,255,255,.82);border:1px solid rgba(15,23,42,.06);}
.stat strong{display:block;font-size:26px;letter-spacing:-.04em;margin-bottom:4px;color:#0f172a;}
.stat span{font-size:13px;color:#475569;line-height:1.45;}
.about-side-image{height:260px;border-radius:22px;overflow:hidden;margin-bottom:14px;}
.about-side-image img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}

.finder-layout{display:grid;grid-template-columns:minmax(210px,248px) minmax(0,1fr);height:100%;}
.finder-sidebar{padding:18px 14px;border-right:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.40);}
.finder-sidebar h4{margin:0 0 14px;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#64748b;}
.finder-item{padding:10px 12px;border-radius:12px;margin-bottom:6px;font-weight:700;color:#334155;background:transparent;cursor:pointer;transition:background .18s ease,color .18s ease;}
.finder-item.active,.finder-item:hover{background:#dbeafe;color:#1d4ed8;}
.finder-main{padding:24px;overflow:auto;}
.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;}
.project-card{padding:18px;border-radius:22px;background:rgba(255,255,255,.82);border:1px solid rgba(15,23,42,.08);box-shadow:0 10px 24px rgba(15,23,42,.06);}
.project-card h3{margin:0 0 10px;font-size:21px;letter-spacing:-.03em;color:#0f172a;}
.project-card p{margin:0 0 12px;color:#475569;line-height:1.58;}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;}
.tag{padding:7px 10px;border-radius:999px;font-size:12px;background:#f1f5f9;color:#0f172a;font-weight:700;}
.project-pane{display:none;}
.project-pane.active{display:block;animation:fadePane .22s ease;}

@keyframes fadePane{
  from{opacity:0;transform:translateY(6px);}
  to{opacity:1;transform:translateY(0);}
}

.terminal{
  background:var(--terminal-bg);
  color:var(--terminal-text);
  height:100%;
  display:flex;
  flex-direction:column;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
}

.terminal-head{height:46px;display:flex;align-items:center;gap:8px;padding:0 14px;background:var(--terminal-panel);border-bottom:1px solid var(--terminal-border);flex:0 0 auto;}
.terminal-head-copy{margin-left:8px;color:#94a3b8;font-size:12px;font-weight:700;letter-spacing:.02em;}
.terminal-body{flex:1;overflow:auto;padding:18px 18px 24px;font-size:14px;line-height:1.72;background:var(--terminal-bg);}
.terminal-output{display:flex;flex-direction:column;gap:6px;min-height:0;}
.terminal-line{white-space:pre-wrap;word-break:break-word;}
.terminal-form{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);}
.terminal-input-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;}
.terminal-input{
  flex:1;
  min-width:0;
  padding:0;
  border:0;
  background:transparent;
  color:var(--terminal-text);
  font:inherit;
  outline:none;
}

.terminal-input::placeholder{color:rgba(203,213,225,.42);}
.prompt{color:var(--terminal-green);}
.cmd{color:var(--terminal-blue);}
.result{color:var(--terminal-text);}
.terminal-note{color:#cbd5e1;opacity:.76;}

.comedy-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;align-items:start;}
.comedy-image{height:360px;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-md);}
.comedy-image img{width:100%;height:100%;object-fit:cover;object-position:center;}
.quote-card{background:linear-gradient(180deg, rgba(255,248,196,.96), rgba(255,243,166,.88));}

.shows-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;align-items:start;}
.shows-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.shows-gallery-item{
  appearance:none;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--shadow-md);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.shows-gallery-item:hover{transform:translateY(-2px);filter:saturate(1.03);box-shadow:0 16px 28px rgba(15,23,42,.16);}
.shows-gallery-item img{height:120px;width:100%;object-fit:cover;display:block;}
.logo-card{display:flex;align-items:center;justify-content:center;min-height:200px;}
.logo-card img{max-width:240px;max-height:120px;object-fit:contain;}

.gallery-window{
  display:grid;
  grid-template-columns:minmax(0,1fr) 250px;
  height:100%;
  background:linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,.1));
}

.gallery-stage{
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:22px;
  min-width:0;
}

.gallery-frame{
  position:relative;
  min-height:420px;
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(15,23,42,.9), rgba(30,41,59,.86));
  box-shadow:0 18px 38px rgba(15,23,42,.18);
}

.gallery-frame img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#0f172a;
}

.gallery-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.gallery-nav:hover{background:rgba(255,255,255,.26);}
.gallery-nav--prev{left:14px;}
.gallery-nav--next{right:14px;}

.gallery-caption{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}

.gallery-caption h3{
  margin:0;
  font-size:24px;
  line-height:1;
  letter-spacing:-.04em;
  color:#0f172a;
}

.gallery-caption p{
  margin:6px 0 0;
  color:#475569;
  line-height:1.55;
  font-size:14px;
}

.gallery-counter{
  flex:0 0 auto;
  padding:10px 12px;
  border-radius:999px;
  background:#e2e8f0;
  color:#0f172a;
  font-size:12px;
  font-weight:800;
}

.gallery-sidebar{
  border-left:1px solid rgba(15,23,42,.08);
  background:rgba(255,255,255,.4);
  padding:18px 14px 18px 12px;
  overflow:auto;
}

.gallery-sidebar h4{
  margin:0 0 12px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#64748b;
}

.gallery-thumbs{
  display:grid;
  gap:10px;
}

.gallery-thumb{
  appearance:none;
  padding:0;
  border:2px solid transparent;
  border-radius:18px;
  background:transparent;
  cursor:pointer;
  overflow:hidden;
  transition:border-color .18s ease, transform .18s ease;
}

.gallery-thumb.active{border-color:#2563eb;transform:translateX(2px);}
.gallery-thumb img{width:100%;height:88px;object-fit:cover;display:block;}

.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;}
.contact-grid--mail{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start;}
.contact-stack{display:grid;gap:18px;}
.contact-card{padding:22px;border-radius:22px;background:rgba(255,255,255,.82);border:1px solid rgba(15,23,42,.08);}
.contact-card h3{margin:0 0 8px;font-size:20px;color:#0f172a;}
.contact-card p{margin:0;color:#475569;line-height:1.62;}
.mail-window{
  overflow:hidden;
  border-radius:26px;
  border:1px solid rgba(15,23,42,.08);
  background:rgba(255,255,255,.86);
  box-shadow:0 18px 34px rgba(15,23,42,.1);
}

.mail-window-bar{
  display:grid;
  grid-template-columns:120px 1fr auto;
  align-items:center;
  gap:14px;
  min-height:54px;
  padding:0 18px;
  background:linear-gradient(180deg, rgba(248,250,252,.96), rgba(226,232,240,.84));
  border-bottom:1px solid rgba(15,23,42,.08);
}

.mail-window-controls{
  display:flex;
  align-items:center;
  gap:8px;
}

.mail-window-title{
  font-size:13px;
  font-weight:800;
  text-align:center;
  color:#0f172a;
}

.mail-window-meta{
  font-size:12px;
  font-weight:700;
  color:#64748b;
}

.mail-compose{
  display:flex;
  flex-direction:column;
}

.mail-field{
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:0 18px;
  min-height:58px;
  border-bottom:1px solid rgba(15,23,42,.08);
}

.mail-field label{
  font-size:13px;
  font-weight:800;
  color:#475569;
}

.mail-field input,
.mail-field textarea{
  width:100%;
  border:0;
  background:transparent;
  color:#0f172a;
  font:inherit;
  outline:none;
}

.mail-field input::placeholder,
.mail-field textarea::placeholder{
  color:#94a3b8;
}

.mail-field--message{
  align-items:start;
  padding-top:16px;
  padding-bottom:16px;
}

.mail-field--trap{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}

.mail-field--message textarea{
  min-height:240px;
  line-height:1.65;
  resize:vertical;
}

.mail-compose-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  padding:18px;
}

.mail-compose-note{
  margin:0;
  padding:0 18px 18px;
  font-size:13px;
  line-height:1.55;
  color:#64748b;
}

.mail-compose-note.is-error{color:#b91c1c;}
.mail-compose-note.is-pending{color:#1d4ed8;}
.mail-compose-note.is-success{color:#047857;}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;}
.btn{border:0;border-radius:14px;padding:12px 16px;font-weight:800;cursor:pointer;transition:transform .18s ease, filter .18s ease, background .18s ease;}
.btn:hover{transform:translateY(-1px);filter:saturate(1.04);}
.btn:disabled{opacity:.65;cursor:wait;transform:none;filter:none;}
.btn.primary{background:#111827;color:#fff;}
.btn.secondary{background:#e2e8f0;color:#0f172a;}
.btn.link{display:inline-flex;align-items:center;justify-content:center;}

.dock-wrap{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:9200;}

.desktop-utility{
  position:absolute;
  right:24px;
  bottom:126px;
  z-index:9200;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  width:min(360px, calc(100vw - 48px));
}

.utility-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(2,8,23,.18);
  backdrop-filter:blur(18px) saturate(1.2);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);
  transition:transform .18s ease, filter .18s ease, background .18s ease;
}

.utility-chip:hover{transform:translateY(-1px);filter:saturate(1.04);background:rgba(255,255,255,.2);}
.utility-chip--link{text-decoration:none;}
.utility-chip--instagram{background:linear-gradient(135deg, rgba(244,114,182,.3), rgba(124,58,237,.24));}

.dock{
  height:var(--dock-height);
  display:flex;
  align-items:flex-end;
  gap:10px;
  padding:14px 16px 12px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 18px 40px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.24);
  backdrop-filter:blur(26px) saturate(1.6);
  -webkit-backdrop-filter:blur(26px) saturate(1.6);
  border-radius:28px;
}

.dock-item{
  width:60px;
  height:60px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  cursor:pointer;
  transition:transform .18s ease, filter .18s ease;
  padding:0;
}

.dock-item:hover{transform:translateY(-8px) scale(1.08);filter:saturate(1.08);}
.dock-item.running::before{content:'';position:absolute;bottom:4px;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 1px 6px rgba(255,255,255,.8);}

.selection-box{position:absolute;border:1px solid rgba(147,197,253,.9);background:rgba(147,197,253,.25);border-radius:8px;pointer-events:none;display:none;z-index:15;}

.boot-screen{
  position:fixed;
  inset:0;
  z-index:20000;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  background:radial-gradient(circle at center, rgba(22,48,102,.28), transparent 26%), linear-gradient(180deg, #04070c 0%, #09111c 100%);
  color:#fff;
  transition:opacity .45s ease, visibility .45s ease;
}

.boot-screen.hidden{opacity:0;visibility:hidden;pointer-events:none;}

.boot-logo{
  width:108px;
  height:108px;
  border-radius:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.6));
  color:#111827;
  font-size:34px;
  font-weight:900;
  letter-spacing:-.06em;
  box-shadow:0 20px 50px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.85);
  margin-bottom:20px;
}

.boot-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 18%;
}

.boot-title{font-size:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.86;}
.boot-copy{font-size:13px;color:rgba(255,255,255,.62);margin-top:8px;margin-bottom:18px;}
.boot-bar{width:min(280px, 72vw);height:7px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;border:1px solid rgba(255,255,255,.08);}
.boot-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg, #60a5fa, #c084fc);animation:bootFill var(--boot-speed) ease forwards;}

@keyframes bootFill{
  from{width:0;}
  to{width:100%;}
}

.mobile-shell{
  display:none;
  position:absolute;
  inset:30px 0 0 0;
  z-index:7000;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(6,14,26,.14), rgba(6,14,26,.24)),
    url('../assets/backgrounds/background-1920.jpg') center center / cover no-repeat;
}

.mobile-shell::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 10%, rgba(125,211,252,.22), transparent 28%),
    radial-gradient(circle at 80% 18%, rgba(96,165,250,.18), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  pointer-events:none;
}

.mobile-home{
  position:relative;
  flex:1;
  padding:calc(18px + env(safe-area-inset-top, 0px)) 16px calc(150px + env(safe-area-inset-bottom, 0px));
  overflow:auto;
  z-index:1;
  -webkit-overflow-scrolling:touch;
}
.mobile-status{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding:0 4px;position:relative;z-index:2;font-size:13px;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.35);}

.mobile-intro{
  position:relative;
  z-index:2;
  margin:4px 2px 26px;
  padding:22px 20px;
  border-radius:30px;
  background:rgba(8,12,22,.28);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(18px) saturate(1.3);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);
  box-shadow:0 18px 50px rgba(0,0,0,.22);
}

.mobile-intro--flush{margin:0;}
.mobile-intro .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.62);margin-bottom:8px;}
.mobile-intro h2{margin:0 0 8px;font-size:clamp(32px, 8vw, 40px);line-height:.92;letter-spacing:-.05em;}
.mobile-intro p{margin:0;color:rgba(255,255,255,.82);line-height:1.58;font-size:14px;}

.mobile-home-top{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;align-items:center;margin-bottom:18px;}
.mobile-selfie{width:86px;height:106px;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.14);box-shadow:var(--shadow-md);}
.mobile-selfie img{width:100%;height:100%;object-fit:cover;object-position:center 18%;}
.mobile-app-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px;padding:0 2px;align-items:start;justify-items:center;}
.mobile-app{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;padding:6px 4px 8px;border-radius:22px;min-width:0;width:100%;max-width:116px;}
.mobile-app:last-child:nth-child(3n + 1){grid-column:2;}
.mobile-app-icon{width:74px;height:74px;border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:30px;transition:transform .18s ease;}
.mobile-app:active .mobile-app-icon{transform:scale(.94);}
.mobile-app-label{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  min-height:32px;
  font-size:12px;
  line-height:1.35;
  color:#fff;
  text-shadow:0 1px 4px rgba(0,0,0,.4);
  text-align:center;
}
.mobile-utility{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:22px;
  padding:0 2px;
}
.mobile-utility .utility-chip{width:100%;min-height:44px;}
.mobile-dock{
  position:sticky;
  left:auto;
  right:auto;
  bottom:calc(12px + env(safe-area-inset-bottom, 0px));
  z-index:3;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:24px;
  padding:12px;
  border-radius:28px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(24px) saturate(1.4);
  -webkit-backdrop-filter:blur(24px) saturate(1.4);
  box-shadow:0 16px 38px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.22);
}
.mobile-dock-item{height:60px;border-radius:20px;display:flex;align-items:center;justify-content:center;color:#111827;font-size:26px;cursor:pointer;padding:0;}

.mobile-app-view{
  position:absolute;
  inset:8px;
  border-radius:34px;
  background:rgba(249,251,255,.82);
  border:1px solid rgba(255,255,255,.5);
  box-shadow:0 24px 60px rgba(0,0,0,.26);
  z-index:20;
  display:flex;
  flex-direction:column;
  transform:translateY(24px) scale(.98);
  opacity:0;
  pointer-events:none;
  transition:transform .26s ease, opacity .26s ease;
  overflow:hidden;
  backdrop-filter:blur(28px) saturate(1.3);
  -webkit-backdrop-filter:blur(28px) saturate(1.3);
}

.mobile-app-view.open{transform:translateY(0) scale(1);opacity:1;pointer-events:auto;}
.mobile-app-bar{height:54px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.42));border-bottom:1px solid rgba(15,23,42,.08);}
.mobile-app-title{font-size:13px;font-weight:700;color:#0f172a;}
.mobile-close{width:30px;height:30px;border-radius:50%;border:0;background:#ff5f57;color:transparent;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);}
.mobile-app-bar-spacer{width:30px;}
.mobile-app-content{flex:1;overflow:auto;background:linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,.18));}
.mobile-home-blur{transition:transform .26s ease, opacity .26s ease, filter .26s ease;}
.mobile-home-blur.dimmed{transform:scale(.97);opacity:.55;filter:blur(8px);pointer-events:none;}

.retro-site{
  min-height:100svh;
  padding:18px 12px 40px;
  background:#c0c0c0;
  color:#000;
  font-family:"Times New Roman", Times, serif;
}

.retro-toolbar{
  position:sticky;
  top:0;
  z-index:50;
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  align-items:center;
  padding:10px 12px;
  margin:0 auto 16px;
  width:min(1080px, calc(100vw - 24px));
  background:#d4d0c8;
  border:2px solid #fff;
  border-right-color:#808080;
  border-bottom-color:#808080;
  box-shadow:2px 2px 0 rgba(0,0,0,.08);
}

.retro-toolbar a{
  color:#0000ee;
  text-decoration:underline;
  font-size:15px;
}

.retro-button,
.retro-inline-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border:2px solid #fff;
  border-right-color:#808080;
  border-bottom-color:#808080;
  background:#d4d0c8;
  color:#000;
  font:inherit;
  cursor:pointer;
}

.retro-inline-button{min-height:28px;padding:0 10px;}

.retro-shell{
  width:min(1080px, calc(100vw - 24px));
  margin:0 auto;
}

.retro-banner{
  margin-bottom:16px;
  border:3px solid #fff;
  border-right-color:#808080;
  border-bottom-color:#808080;
  background:#000080;
  color:#fff;
}

.retro-banner-head{
  padding:10px 14px;
  font-size:30px;
  font-weight:700;
}

.retro-marquee{
  overflow:hidden;
  border-top:2px solid rgba(255,255,255,.3);
  background:#000;
  color:#00ff00;
  white-space:nowrap;
}

.retro-marquee span{
  display:inline-block;
  padding:8px 0;
  animation:retroMarquee 18s linear infinite;
}

@keyframes retroMarquee{
  from{transform:translateX(100%);}
  to{transform:translateX(-100%);}
}

.retro-layout{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:16px;
}

.retro-sidebar,
.retro-content{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.retro-box{
  padding:14px;
  border:2px solid #fff;
  border-right-color:#808080;
  border-bottom-color:#808080;
  background:#f4f1ea;
  box-shadow:2px 2px 0 rgba(0,0,0,.06);
}

.retro-box h2{
  margin:0 0 12px;
  font-size:26px;
  line-height:1;
}

.retro-box p,
.retro-box li,
.retro-box small{
  font-size:17px;
  line-height:1.55;
}

.retro-box ul{
  margin:0;
  padding-left:20px;
}

.retro-box a{
  color:#0000ee;
  text-decoration:underline;
}

.retro-avatar{
  width:100%;
  max-width:180px;
  border:3px solid #fff;
  border-right-color:#808080;
  border-bottom-color:#808080;
  margin-bottom:12px;
}

.retro-counter p{
  margin:0;
  font-size:34px;
  letter-spacing:.14em;
  color:#000080;
}

body.retro-mode{
  background:#c0c0c0;
  color:#000;
}

body.retro-mode::before{display:none;}

.desktop-icon:focus-visible,
.dock-item:focus-visible,
.mobile-app:focus-visible,
.mobile-dock-item:focus-visible,
.utility-chip:focus-visible,
.menu-button:focus-visible,
.menu-dropdown-item:focus-visible,
.hero-link:focus-visible,
.status-pill:focus-visible,
.btn:focus-visible,
.consent-button:focus-visible,
.consent-link-button:focus-visible{
  outline:2px solid #fff;
  outline-offset:4px;
}

::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-thumb{background:rgba(100,116,139,.34);border-radius:999px;}
::-webkit-scrollbar-track{background:transparent;}

@media (max-width:1380px){
  .menu-bar{padding:0 10px;}
  .menu-left,.menu-right{gap:10px;}
  .menu-button{padding:0 6px;}
  #menuCurrentApp{display:none;}
  .status-pill{padding:5px 10px;font-size:10px;}
  .portrait-widget{left:20px;top:66px;width:174px;padding:10px;border-radius:24px;}
  .portrait-widget img{height:202px;border-radius:18px;}
  .weather-widget{left:208px;top:66px;width:min(470px, calc(100vw - 560px));min-width:0;}
  .notification-center{top:56px;right:18px;width:min(280px, calc(100vw - 36px));}
  .consent-notice{width:min(500px, calc(100vw - 36px));}
  .desktop-icons{top:auto;bottom:126px;right:18px;grid-template-columns:repeat(2,84px);gap:16px 10px;}
  .hero-note{left:20px;bottom:126px;width:min(560px, calc(100vw - 260px));}
  .desktop-utility{display:none;}
}

@media (max-width:1100px){
  .about-grid,.contact-grid,.contact-grid--mail,.comedy-layout,.shows-grid,.project-grid{grid-template-columns:1fr;}
  .finder-layout{grid-template-columns:1fr;}
  .finder-sidebar{border-right:0;border-bottom:1px solid rgba(15,23,42,.08);}
  .shows-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gallery-window{grid-template-columns:1fr;}
  .gallery-frame{min-height:320px;}
  .gallery-sidebar{border-left:0;border-top:1px solid rgba(15,23,42,.08);}
  .gallery-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));}
  .portrait-widget{display:none;}
  .weather-widget{left:16px;top:68px;width:min(360px, calc(100vw - 210px));min-width:0;}
  .notification-center{top:60px;width:min(280px, calc(100vw - 28px));right:14px;}
  .consent-notice{width:min(480px, calc(100vw - 28px));}
  .quicklook-panel{grid-template-columns:1fr;}
  .quicklook-media{min-height:220px;}
  .retro-layout{grid-template-columns:1fr;}
  .hero-note{left:16px;bottom:120px;width:min(500px, calc(100vw - 210px));}
  .desktop-icons{top:auto;bottom:126px;right:14px;grid-template-columns:repeat(2,80px);gap:14px 8px;}
  .desktop-utility{display:none;}
}

@media (max-width:980px){
  .desktop-icons{top:auto;bottom:122px;right:12px;grid-template-columns:repeat(2,78px);gap:14px 8px;}
  .weather-widget{left:14px;top:68px;width:min(340px, calc(100vw - 210px));}
  .weather-grid{grid-template-columns:1fr;}
  .notification-center{width:min(280px, calc(100vw - 24px));right:12px;}
  .consent-notice{width:min(460px, calc(100vw - 24px));}
  .hero-note{left:14px;bottom:122px;width:min(460px, calc(100vw - 190px));}
}

@media (min-width:921px) and (max-height:860px){
  .portrait-widget{display:none;}
  .notification-center{display:none;}
  .consent-notice{width:min(460px, calc(100vw - 32px));}
  .weather-widget{
    left:18px;
    top:54px;
    width:min(720px, calc(100vw - 220px));
    padding:13px;
    border-radius:22px;
  }
  .weather-header strong{font-size:14px;}
  .weather-grid{grid-template-columns:repeat(3, minmax(0,1fr));gap:10px;}
  .weather-card{padding:11px 11px 10px;border-radius:17px;}
  .weather-temp{margin-top:6px;font-size:28px;}
  .weather-copy{min-height:0;font-size:11px;line-height:1.28;}
  .weather-meta{margin-top:8px;font-size:10px;gap:2px;}
  .weather-icon{font-size:20px;}
  .hero-note{
    left:18px;
    top:300px;
    bottom:auto;
    width:min(520px, calc(100vw - 220px));
    padding:18px 20px;
    border-radius:24px;
  }
  .hero-note h1{font-size:clamp(28px, 3.8vw, 50px);margin-bottom:8px;}
  .hero-note p{font-size:13px;line-height:1.42;max-width:40ch;}
  .hero-actions{gap:8px;margin-top:14px;}
  .hero-link{min-height:38px;padding:0 12px;font-size:13px;border-radius:13px;}
  .hero-meta{margin-top:10px;font-size:11px;line-height:1.42;}
  .desktop-icons{
    top:54px;
    right:14px;
    bottom:auto;
    grid-template-columns:repeat(2,76px);
    gap:12px 8px;
  }
  .icon-glyph{width:60px;height:60px;border-radius:18px;font-size:26px;}
  .desktop-icon span{font-size:11px;max-width:76px;}
  .dock-wrap{bottom:12px;}
  .dock{
    height:82px;
    gap:8px;
    padding:11px 12px 10px;
    border-radius:24px;
  }
  .dock-item{
    width:52px;
    height:52px;
    border-radius:16px;
    font-size:22px;
  }
  .shows-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:920px){
  .menu-bar{display:none;}
  .hero-note,.desktop-icons,.dock-wrap,.selection-box,.window-layer,.portrait-widget,.weather-widget,.notification-center,.quicklook{display:none !important;}
  .mobile-shell{display:flex;inset:0;}
  .wallpaper{display:none;}
  .desktop-utility{display:none;}
  .container{width:min(100vw - 24px, 1160px);}
  .cta-row,.mobile-utility{gap:10px;}
  .consent-notice{
    top:50%;
    left:50%;
    right:auto;
    bottom:auto;
    width:min(460px, calc(100vw - 24px));
    padding:16px;
    border-radius:24px;
    transform:translate(-50%, -50%);
  }
  .consent-actions{grid-template-columns:1fr;}
}

@media (max-width:700px){
  .mobile-home{padding:calc(16px + env(safe-area-inset-top, 0px)) 14px calc(146px + env(safe-area-inset-bottom, 0px));}
  .mobile-home-top{grid-template-columns:72px minmax(0,1fr);gap:12px;}
  .mobile-selfie{width:72px;height:92px;border-radius:20px;}
  .mobile-intro{padding:18px 16px;border-radius:26px;}
  .mobile-intro h2{font-size:30px;}
  .mobile-app-grid{gap:16px 8px;}
  .mobile-utility{grid-template-columns:1fr;}
  .mobile-dock{padding:10px;gap:8px;}
  .retro-banner-head{font-size:24px;}
  .retro-box h2{font-size:22px;}
}

@media (max-width:560px){
  .mobile-home{
    padding:calc(14px + env(safe-area-inset-top, 0px)) 14px calc(28px + env(safe-area-inset-bottom, 0px));
  }
  .mobile-status{margin-bottom:16px;}
  .mobile-home-top{
    grid-template-columns:1fr;
    gap:12px;
    align-items:start;
    margin-bottom:20px;
  }
  .mobile-selfie{
    width:84px;
    height:104px;
    border-radius:22px;
  }
  .mobile-intro{
    width:100%;
    padding:18px 16px;
    border-radius:24px;
  }
  .mobile-intro h2{font-size:clamp(28px, 11vw, 38px);}
  .mobile-app-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px 10px;
  }
  .mobile-app{
    max-width:none;
    padding:4px 2px 8px;
  }
  .mobile-app:last-child{
    grid-column:1 / -1;
    justify-self:center;
    max-width:132px;
  }
  .mobile-app:last-child .mobile-app-label{justify-content:center;}
  .mobile-utility{
    grid-template-columns:1fr;
    margin-top:18px;
  }
  .mobile-dock{display:none;}
  .mobile-app-view{
    inset:0;
    border-radius:0;
    border:0;
    box-shadow:none;
  }
  .consent-notice{
    width:calc(100vw - 20px);
    padding:14px;
    border-radius:22px;
  }
  .consent-title{font-size:18px;}
  .consent-copy{font-size:12px;}
  .consent-option-main{padding:12px;}
  .mobile-app-bar{
    padding:0 14px;
    padding-top:env(safe-area-inset-top, 0px);
    min-height:54px;
  }
  .mail-window-bar{
    grid-template-columns:auto 1fr;
    gap:10px;
  }
  .mail-window-meta{display:none;}
  .mail-field{
    grid-template-columns:1fr;
    align-items:start;
    gap:6px;
    padding:14px 16px;
    min-height:0;
  }
  .mail-field--message textarea{min-height:180px;}
  .mail-compose-actions,
  .mail-compose-note{padding-left:16px;padding-right:16px;}
}

@media (max-width:390px){
  .mobile-app-label{min-height:0;}
}
