:root,
html[data-theme="light"],
html[data-theme="dark"]{
  --coral:#FF9466;
  --text:rgba(244,248,247,.96);
  --text-dim:rgba(244,248,247,.68);
  --text-faint:rgba(244,248,247,.46);
  --accent:#BFE0FF;
  --accent-solid:#6FA8DC;
  --glass-fill:rgba(255,255,255,.10);
  --glass-fill-soft:rgba(255,255,255,.06);
  --glass-fill-deep:rgba(255,255,255,.16);
  --glass-fill-hover:rgba(255,255,255,.20);
  --glass-fill-hover-deep:rgba(255,255,255,.30);
  --glass-edge:rgba(255,255,255,.55);
  --glass-edge-mid:rgba(255,255,255,.28);
  --glass-edge-faint:rgba(255,255,255,.06);
  --glass-edge-soft:rgba(255,255,255,.10);
  --glass-tint:rgba(140,170,255,.04);
  --glass-inner-glow:rgba(255,255,255,.10);
  --glass-inner-glow-hover:rgba(255,255,255,.16);
  --glass-shadow:0 20px 60px rgba(0,0,0,.32),0 1px 3px rgba(0,0,0,.25);
  --glass-blur:16px;
  --glass-sat:180%;
  --glass-contrast:108%;
  --font-display:"Montserrat","Avenir Next","Segoe UI",system-ui,-apple-system,sans-serif;
  --font-body:"Montserrat","Avenir Next","Segoe UI",system-ui,-apple-system,sans-serif;
  --max-w:700px;
  --radius-xl:30px;
  --radius-lg:24px;
  --radius-md:18px;
  --radius-pill:999px;
  --ease:cubic-bezier(.22,.9,.26,1);
  --bg-mobile:url("assets/project-bg.webp");
  --bg-desktop:url("assets/project-bg-desktop.webp");
  --bg-image:var(--bg-mobile);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  min-height:100vh;
  background:#080b09;
  color:var(--text);
  font-family:var(--font-body);
  font-weight:500;
  text-shadow:0 1px 2px rgba(0,0,0,.18);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button{font:inherit}
:focus-visible{outline:2px solid var(--accent-solid);outline-offset:3px;border-radius:12px}

.backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.backdrop-layer{
  position:absolute;
  inset:0;
  background-image:var(--bg-image)!important;
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  opacity:1!important;
  transform:scale(1.01);
  filter:none;
  transition:none;
}
.backdrop::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 38%,transparent 0%,rgba(0,0,0,.06) 48%,rgba(0,0,0,.22) 100%),
    linear-gradient(180deg,rgba(2,5,3,.12) 0%,rgba(2,5,3,.20) 50%,rgba(1,3,2,.42) 100%);
}
.orb{display:none}
.grain,.grain-coarse{position:absolute;inset:-10%;width:120%;height:120%;pointer-events:none}
.grain{filter:url(#grainNoise);opacity:.11;mix-blend-mode:overlay}
.grain-coarse{filter:url(#grainCoarse);opacity:.16;mix-blend-mode:soft-light}

.glass{
  position:relative;
  background:linear-gradient(165deg,var(--glass-fill-deep) 0%,var(--glass-fill) 45%,var(--glass-fill-soft) 100%),var(--glass-tint);
  backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat)) contrast(var(--glass-contrast));
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat)) contrast(var(--glass-contrast));
  border-top:1px solid var(--glass-edge);
  border-left:1px solid var(--glass-edge-mid);
  border-right:1px solid var(--glass-edge-faint);
  border-bottom:1px solid var(--glass-edge-faint);
  box-shadow:0 1px 0 rgba(255,255,255,.45) inset,0 -1px 0 rgba(0,0,0,.08) inset,inset 0 0 22px var(--glass-inner-glow),var(--glass-shadow);
  transition:background .35s var(--ease),box-shadow .35s var(--ease);
}
.glass::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:conic-gradient(from 200deg at 18% 12%,var(--glass-edge) 0deg,transparent 95deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  padding:1.2px;
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.85;
  pointer-events:none;
}
.glass::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%);
  background-size:220% 220%;
  background-position:150% -50%;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s var(--ease);
}
.glass:hover::after{opacity:1;animation:shimmerSweep .9s var(--ease) 1}
@keyframes shimmerSweep{to{background-position:-50% 150%}}

.topbar{position:fixed;top:16px;left:0;right:0;z-index:20;max-width:var(--max-w);margin:0 auto;padding:0 16px;display:flex;justify-content:space-between;align-items:center}
.topbar-right{display:flex;gap:10px}
.pill-btn{
  width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);
  background:linear-gradient(165deg,var(--glass-fill-deep),var(--glass-fill) 45%,var(--glass-fill-soft)),var(--glass-tint);
  border-top:1px solid var(--glass-edge);border-left:1px solid var(--glass-edge-mid);border-right:1px solid var(--glass-edge-faint);border-bottom:1px solid var(--glass-edge-faint);
  box-shadow:0 1px 0 rgba(255,255,255,.45) inset,0 -1px 0 rgba(0,0,0,.08) inset,inset 0 0 22px var(--glass-inner-glow),var(--glass-shadow);
  backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));
}
.pill-btn svg{width:18px;height:18px}
.theme-toggle{display:none!important}

.menu-scrim{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:60;opacity:0;transition:opacity .3s var(--ease)}
.menu-scrim.show{opacity:1}
.menu-panel{
  position:fixed;top:76px;left:50%;width:min(calc(100vw - 40px),320px);z-index:61;padding:20px 18px;display:flex;flex-direction:column;gap:6px;
  background:linear-gradient(165deg,var(--glass-fill-deep),var(--glass-fill) 45%,var(--glass-fill-soft)),var(--glass-tint);
  backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));
  border-top:1px solid var(--glass-edge);border-left:1px solid var(--glass-edge-mid);border-right:1px solid var(--glass-edge-faint);border-bottom:1px solid var(--glass-edge-faint);
  border-radius:24px;box-shadow:var(--glass-shadow);opacity:0;transform:translate(-50%,-10px) scale(.96);transform-origin:top center;pointer-events:none;
  transition:opacity .22s var(--ease),transform .22s var(--ease);
}
.menu-panel.open{opacity:1;transform:translate(-50%,0) scale(1);pointer-events:auto}
.menu-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.menu-panel-title{font-weight:700;font-size:16px}
.menu-link{display:block;padding:13px 12px;border-radius:12px;font-weight:600;font-size:14.5px;transition:background .2s var(--ease)}
.menu-link:hover,.menu-link:focus-visible{background:rgba(255,255,255,.12)}

.page{position:relative;z-index:1;max-width:var(--max-w);margin:0 auto;padding:112px 20px 64px}
.faq-hero{padding:0 4px;margin-bottom:28px}
.eyebrow{margin:0 0 12px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}
.faq-title{margin:0;font-size:clamp(36px,8vw,58px);line-height:.98;letter-spacing:-.045em;font-weight:700;max-width:650px;text-wrap:balance}
.faq-subtitle{margin:14px 0 0;font-size:clamp(13px,3.2vw,15px);line-height:1.55;color:var(--text-dim);font-weight:500}
.updated{margin:9px 0 0;font-size:10.5px;line-height:1.5;color:var(--text-faint);font-weight:400}

/* Never run the SVG liquid refraction across the full-height accordion.
   Chromium tiles large backdrop-filter surfaces and exposes visible seams. */
.faq-shell.glass{
  border-radius:var(--radius-xl);
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(165deg,rgba(255,255,255,.12),rgba(255,255,255,.075) 48%,rgba(255,255,255,.045)),rgba(20,25,27,.12);
  backdrop-filter:blur(14px) saturate(145%) contrast(104%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(145%) contrast(104%)!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  transform:translateZ(0);
}
.faq-shell.glass::after{display:none!important}
.faq-list{position:relative;z-index:1}
.faq-item{position:relative}
.faq-item+.faq-item::before{content:"";position:absolute;top:0;left:22px;right:22px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25) 12%,rgba(255,255,255,.16) 88%,transparent);pointer-events:none}
.faq-heading{margin:0}
.faq-toggle{width:100%;min-height:74px;margin:0;padding:20px 62px 20px 72px;position:relative;display:flex;align-items:center;text-align:left;color:var(--text);background:transparent;border:0;border-radius:18px;cursor:pointer;overflow:hidden;isolation:isolate;box-shadow:none;transition:background .22s var(--ease),box-shadow .22s var(--ease)}
.faq-toggle:hover,.faq-toggle:focus-visible,.faq-item.is-open .faq-toggle{background:rgba(255,255,255,.07)}
.faq-number,.faq-question,.faq-indicator{position:relative;z-index:2}
.faq-number{position:absolute;left:22px;top:50%;transform:translateY(-50%);font-size:9.5px;font-weight:600;letter-spacing:.06em;color:var(--text-faint);white-space:nowrap}
.faq-question{font-size:clamp(14px,2.5vw,16px);line-height:1.45;letter-spacing:-.012em;font-weight:600;text-wrap:pretty}
.faq-indicator{position:absolute;right:22px;top:50%;width:22px;height:22px;transform:translateY(-50%) rotate(0);border-radius:50%;background:rgba(255,255,255,.08);border:1px solid var(--glass-edge-soft);transition:transform .38s cubic-bezier(.22,1,.36,1),background .22s var(--ease)}
.faq-indicator span{position:absolute;left:50%;top:50%;width:9px;height:1.5px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%)}
.faq-indicator span:last-child{transform:translate(-50%,-50%) rotate(90deg);transition:opacity .2s var(--ease)}
.faq-item.is-open .faq-indicator{transform:translateY(-50%) rotate(180deg);background:rgba(255,255,255,.14)}
.faq-item.is-open .faq-indicator span:last-child{opacity:0}
.faq-answer{display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-5px);transition:grid-template-rows .42s cubic-bezier(.22,.9,.26,1),opacity .25s ease,transform .42s cubic-bezier(.22,.9,.26,1)}
.faq-answer-inner{min-height:0;overflow:hidden}
.faq-answer p{margin:0;padding:0 62px 22px 72px;font-size:13.5px;line-height:1.75;color:var(--text-dim);font-weight:500;text-wrap:pretty}
.faq-item.is-open .faq-answer{grid-template-rows:1fr;opacity:1;transform:translateY(0)}
.answer-link{color:var(--text);font-weight:600;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px;text-decoration-thickness:1px}
.answer-link:hover,.answer-link:focus-visible{text-decoration-color:currentColor}
.hex-token{display:inline-flex;align-items:center;gap:6px;padding:2px 7px 2px 5px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(0,0,0,.09);vertical-align:baseline}
.hex-swatch{width:10px;height:10px;border-radius:50%;background:#7851A9;box-shadow:0 0 0 1px rgba(255,255,255,.25) inset}
.hex-token code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;color:var(--text)}

/* Keep spring/magnetic motion on rows, but disable the per-row SVG
   backdrop refraction that can create blown-out rectangular tiles. */
.faq-toggle.glass,
.faq-toggle.liquid-glass-control,
.faq-toggle.liquid-glass-control:hover,
.faq-toggle.liquid-glass-control:focus-visible,
.faq-toggle.liquid-glass-control.is-lg-hovered,
.faq-toggle.liquid-glass-control.is-lg-focused,
.faq-toggle.liquid-glass-control.is-lg-pressed{
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
.faq-toggle.glass::before{opacity:.28}
.faq-toggle.liquid-glass-control.is-lg-pressed{box-shadow:inset 0 0 12px var(--glass-inner-glow),0 2px 7px rgba(0,0,0,.13)}

.closing{display:flex;flex-direction:column;align-items:center;text-align:center;margin:34px auto 0}
.closing.reveal{animation:none;opacity:1;transform:none}
.closing-line{margin:0;font-size:11.5px;line-height:1.6;color:var(--text-faint)}
.brand-pill{
  position:fixed;top:16px;right:max(16px,calc((100vw - var(--max-w))/2 + 16px));z-index:21;
  width:42px;height:42px;min-width:42px;padding:0;gap:0;border-radius:50%;font-size:0;color:var(--text);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23F4F8F7' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.8 12 3l9 7.8'/%3E%3Cpath d='M5.5 9.7V21h13V9.7'/%3E%3Cpath d='M9.5 21v-6h5v6'/%3E%3C/svg%3E") center/18px 18px no-repeat,
    linear-gradient(165deg,var(--glass-fill-deep),var(--glass-fill) 45%,var(--glass-fill-soft)),var(--glass-tint);
  border-top:1px solid var(--glass-edge);border-left:1px solid var(--glass-edge-mid);border-right:1px solid var(--glass-edge-faint);border-bottom:1px solid var(--glass-edge-faint);
  box-shadow:0 1px 0 rgba(255,255,255,.45) inset,0 -1px 0 rgba(0,0,0,.08) inset,inset 0 0 22px var(--glass-inner-glow),var(--glass-shadow);
  backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));
}
.brand-pill svg{display:none}
.footer{margin:24px 0 0;text-align:center;font-weight:300;font-size:11px;color:var(--text-faint)}
.reveal{opacity:0;transform:translateY(10px) scale(.97);animation:springIn .45s cubic-bezier(.34,1.56,.64,1) forwards}
@keyframes springIn{to{opacity:1;transform:none}}

@media (min-width:700px){
  :root,html[data-theme="light"],html[data-theme="dark"]{--bg-image:var(--bg-desktop)}
  .backdrop-layer{background-position:center center}
}
@media (max-width:600px){
  .page{padding:96px 14px 48px}
  .faq-title{font-size:clamp(34px,11vw,48px)}
  .faq-shell.glass{border-radius:24px;backdrop-filter:blur(12px) saturate(140%) contrast(104%)!important;-webkit-backdrop-filter:blur(12px) saturate(140%) contrast(104%)!important}
  .faq-toggle{min-height:68px;padding:17px 48px 17px 54px;border-radius:15px}
  .faq-number{left:14px;font-size:8.5px}
  .faq-indicator{right:14px;width:20px;height:20px}
  .faq-answer p{padding:0 18px 19px 54px;font-size:13px;line-height:1.7}
  .faq-item+.faq-item::before{left:14px;right:14px}
}
@media (max-width:360px){
  .page{padding-left:10px;padding-right:10px}
  .faq-toggle{padding-left:50px;padding-right:44px}
  .faq-number{left:12px}
  .faq-indicator{right:12px}
  .faq-answer p{padding-left:50px;padding-right:14px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{animation:none!important;opacity:1;transform:none}
  .glass:hover::after{animation:none;opacity:0}
  .menu-scrim,.menu-panel,.faq-toggle,.faq-indicator,.faq-indicator span:last-child,.faq-answer{transition:none!important}
  .faq-answer{transform:none}
}
