.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

:root{
  --espresso-950:#150f0b;
  --espresso-900:#1c140f;
  --espresso-800:#271c14;
  --espresso-700:#382a1e;
  --crema-gold:#e3a64c;
  --crema-gold-bright:#f3c877;
  --crema-gold-soft:#f3d9a6;
  --cream-100:#f3ece1;
  --cream-300:#d8c9b8;
  --cream-500:#a8998a;
  --vens-cyan:#35cfff;
  --vens-violet:#7c63ff;
  --vens-magenta:#f24bc8;
  --radius-lg:22px;
  --radius-md:14px;
  --max:1120px;
}
*{box-sizing:border-box;}
html{background:var(--espresso-950);scrollbar-gutter:stable;overflow-y:scroll;}
body{
  margin:0;
  background:var(--espresso-950);
  color:var(--cream-100);
  font-family:"IBM Plex Sans", system-ui, sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,.display{
  font-family:"Fraunces", Georgia, serif;
  font-weight:600;
  letter-spacing:-0.01em;
  text-wrap:balance;
  margin:0;
}
p{margin:0;}
a{color:inherit;}
img,svg{display:block;max-width:100%;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}
@media (max-width:640px){.wrap{padding:0 20px;}}

/* ---------- header / nav ---------- */
header.site{
  position:sticky;top:0;z-index:40;
  background:rgba(21,15,11,0.82);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(227,166,76,0.14);
}
.header-row{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;flex-wrap:wrap;
  padding:16px 28px;
}
.wordmark{
  display:flex;align-items:center;gap:10px;
  font-family:"Fraunces", serif;font-weight:600;font-size:1.05rem;
  letter-spacing:0.01em;
  text-decoration:none;
  flex:0 0 auto;
}
.wordmark .mark{width:26px;height:26px;flex:0 0 auto;}
.site-nav{
  display:flex;align-items:center;gap:6px;
  flex-wrap:wrap;
}
.site-nav a{
  padding:8px 14px;border-radius:100px;
  font-size:0.88rem;font-weight:500;
  color:var(--cream-300);
  text-decoration:none;
  transition:background .15s ease, color .15s ease;
}
.site-nav a:hover{background:rgba(255,255,255,0.06);color:var(--cream-100);}
.site-nav a.active{
  background:rgba(227,166,76,0.12);
  color:var(--crema-gold-soft);
}
.header-cta{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 18px;
  border-radius:100px;
  background:linear-gradient(135deg,var(--vens-cyan),var(--vens-violet) 55%,var(--vens-magenta));
  color:#0b0710;font-weight:600;font-size:0.86rem;
  text-decoration:none;
  box-shadow:0 6px 18px rgba(124,99,255,0.28);
  transition:transform .18s ease, box-shadow .18s ease;
  flex:0 0 auto;
}
.header-cta:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(124,99,255,0.38);}

/* ---------- hero (home) ---------- */
.hero{padding:96px 0 72px;position:relative;}
.hero::before{
  content:"";position:absolute;inset:-20% -10% auto -10%;height:640px;
  background:radial-gradient(60% 60% at 30% 20%, rgba(227,166,76,0.14), transparent 70%);
  pointer-events:none;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:"IBM Plex Mono", monospace;
  font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--crema-gold-soft);
  margin-bottom:22px;
}
.eyebrow::before{
  content:"";width:7px;height:7px;border-radius:50%;
  background:var(--crema-gold);
  box-shadow:0 0 0 4px rgba(227,166,76,0.18);
}
.hero h1{font-size:clamp(2.4rem, 5.4vw, 4.1rem);max-width:15ch;color:var(--cream-100);flex:1 1 auto;min-width:0;}
.hero h1 em{font-style:italic;color:var(--crema-gold-bright);}
.hero p.lead{margin-top:22px;max-width:68ch;font-size:1.14rem;color:var(--cream-300);}

/* ---------- generic page header (sub-pages) ---------- */
.page-header{padding:76px 0 48px;position:relative;}
.page-header::before{
  content:"";position:absolute;inset:-10% -10% auto -10%;height:420px;
  background:radial-gradient(55% 60% at 25% 10%, rgba(227,166,76,0.12), transparent 70%);
  pointer-events:none;
}
.page-header h1{font-size:clamp(2.1rem, 4.4vw, 3.1rem);color:var(--cream-100);max-width:20ch;flex:1 1 auto;min-width:0;}
.page-header p.lead{margin-top:18px;max-width:74ch;font-size:1.06rem;color:var(--cream-300);}

.hero-flex,.page-header-flex{display:flex;align-items:flex-start;justify-content:space-between;gap:clamp(16px,4vw,48px);}
.hero-logo{width:clamp(120px,26vw,340px);flex:0 0 auto;filter:drop-shadow(0 8px 14px rgba(0,0,0,0.35));}
.page-header-logo{width:clamp(96px,20vw,240px);flex:0 0 auto;filter:drop-shadow(0 6px 11px rgba(0,0,0,0.32));}

.hero-anim{animation:rise .7s cubic-bezier(.2,.8,.2,1) both;}
.hero-anim.delay1{animation-delay:.08s;}
.hero-anim.delay2{animation-delay:.16s;}
@keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
@media (prefers-reduced-motion: reduce){.hero-anim{animation:none;}}

/* ---------- section shell ---------- */
section{padding:64px 0;}
.divider{height:1px;background:linear-gradient(90deg, transparent, rgba(227,166,76,0.22), transparent);}

/* ---------- VENS panel (shared: home teaser + full projects showcase) ---------- */
.vens-panel{
  background:
    radial-gradient(120% 140% at 15% -10%, rgba(124,99,255,0.16), transparent 55%),
    radial-gradient(90% 120% at 100% 0%, rgba(242,75,200,0.10), transparent 60%),
    linear-gradient(180deg, #0a070c, #05030a 60%, #030204);
  border:1px solid rgba(124,99,255,0.22);
  border-radius:32px;
  padding:56px 8px;
  position:relative;
  overflow:hidden;
}
.vens-intro{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:0 40px 30px;}
.vens-mark{width:74px;height:74px;flex:0 0 auto;}
.vens-mark.sm{width:52px;height:52px;}
.vens-intro h2{font-size:clamp(1.9rem, 3.6vw, 2.7rem);color:var(--cream-100);}
.vens-intro .vens-tag{
  display:block;margin-top:6px;
  font-family:"IBM Plex Sans";font-weight:500;font-size:1.02rem;
  background:linear-gradient(90deg,var(--vens-cyan),var(--vens-violet) 55%,var(--vens-magenta));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.vens-copy{margin:0 40px 36px;color:var(--cream-300);font-size:1.05rem;}
.vens-copy strong{color:var(--cream-100);font-weight:600;}

.service-strip{
  margin:0 40px 34px;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  color:var(--cream-500);font-size:0.88rem;
}
.service-strip strong{
  display:inline-flex;align-items:center;
  padding:7px 12px;border-radius:999px;
  color:var(--cream-100);font-weight:600;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.045);
}
.service-strip strong:nth-of-type(1){border-color:rgba(53,207,255,0.28);}
.service-strip strong:nth-of-type(2){border-color:rgba(124,99,255,0.28);}
.service-strip strong:nth-of-type(3){border-color:rgba(242,75,200,0.30);}

.service-legal{
  margin:-18px 40px 34px;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  color:var(--cream-500);
  font-size:0.84rem;
}
.service-legal a{
  color:var(--crema-gold-soft);
  text-decoration:none;
  font-weight:600;
}
.service-legal a:hover{text-decoration:underline;}

.feature-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:1px;
  background:rgba(255,255,255,0.06);
  border-top:1px solid rgba(255,255,255,0.08);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
@media (max-width:860px){.feature-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.feature-grid{grid-template-columns:1fr;}}
.feature{background:#08060b;padding:30px 28px;transition:background .2s ease;}
.feature:hover{background:#0d0a12;}
.feature .ficon{width:34px;height:34px;margin-bottom:16px;color:var(--vens-cyan);}
.feature h3{font-family:"IBM Plex Sans";font-weight:600;font-size:1.02rem;color:var(--cream-100);margin-bottom:8px;}
.feature p{font-size:0.92rem;color:var(--cream-500);}

/* condensed 3-up highlight strip for the Home teaser */
.highlight-strip{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:rgba(255,255,255,0.06);
  border-top:1px solid rgba(255,255,255,0.08);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
@media (max-width:640px){.highlight-strip{grid-template-columns:1fr;}}
.highlight-strip .feature{padding:24px 26px;}

/* ---------- compatibility ---------- */
.compat{padding:46px 40px 8px;}
.compat h3.label{
  font-family:"IBM Plex Mono", monospace;
  font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--cream-500);margin-bottom:20px;
}
.compat-grid{display:grid;grid-template-columns:repeat(5, 1fr);gap:14px;}
@media (max-width:760px){.compat-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:460px){.compat-grid{grid-template-columns:repeat(2,1fr);}}
.compat-item{
  border:1px solid rgba(255,255,255,0.10);
  border-radius:16px;padding:18px 14px;text-align:center;
  background:rgba(255,255,255,0.02);
}
.compat-item svg{width:26px;height:26px;margin:0 auto 10px;color:var(--vens-violet);}
.compat-item .device{font-size:0.86rem;font-weight:600;color:var(--cream-100);}
.compat-item .os{font-size:0.76rem;color:var(--cream-500);margin-top:2px;}

.vens-cta{padding:46px 40px 8px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.btn-soon{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 24px;border-radius:14px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.14);
  color:var(--cream-100);font-weight:600;font-size:0.94rem;
  cursor:default;
}
.btn-soon .dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--vens-cyan);
  box-shadow:0 0 0 4px rgba(53,207,255,0.18);
  animation:pulse 2.2s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
@media (prefers-reduced-motion: reduce){.btn-soon .dot{animation:none;}}
.vens-cta .note{font-size:0.86rem;color:var(--cream-500);}

.btn-link{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 22px;border-radius:100px;
  border:1px solid rgba(227,166,76,0.4);
  color:var(--crema-gold-soft);text-decoration:none;
  font-weight:600;font-size:0.92rem;
  transition:background .15s ease, border-color .15s ease;
}
.btn-link:hover{background:rgba(227,166,76,0.08);border-color:var(--crema-gold);}
.btn-link svg{width:16px;height:16px;}

/* ---------- studio strip / brew card ---------- */
.studio-strip{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;}
@media (max-width:820px){.studio-strip{grid-template-columns:1fr;gap:28px;}}
.studio-strip h2{font-size:clamp(1.6rem,3vw,2.1rem);color:var(--cream-100);}
.studio-strip p{margin-top:16px;color:var(--cream-300);font-size:1.02rem;max-width:72ch;}
.brew-card{
  border:1px dashed rgba(227,166,76,0.35);
  border-radius:var(--radius-lg);padding:26px;
  background:rgba(227,166,76,0.045);
}
.brew-card .k{
  font-family:"IBM Plex Mono", monospace;font-size:0.72rem;
  letter-spacing:0.14em;text-transform:uppercase;color:var(--crema-gold-soft);
}
.brew-card p{margin-top:12px;color:var(--cream-500);font-size:0.94rem;}

/* ---------- generic content card ---------- */
.card{
  border:1px solid rgba(255,255,255,0.10);
  border-radius:var(--radius-lg);
  padding:32px;
  background:rgba(255,255,255,0.02);
}

/* ---------- about page ---------- */
.story-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:48px;align-items:start;}
@media (max-width:860px){.story-grid{grid-template-columns:1fr;}}
.story-grid p + p{margin-top:16px;}
.story-grid p{color:var(--cream-300);font-size:1.02rem;}
.values-list{display:flex;flex-direction:column;gap:18px;}
.value-item{
  border-left:2px solid var(--crema-gold);
  padding:4px 0 4px 18px;
}
.value-item h3{font-size:1rem;font-family:"IBM Plex Sans";font-weight:600;color:var(--cream-100);}
.value-item p{margin-top:4px;font-size:0.9rem;color:var(--cream-500);}

.origin-card{
  margin-top:40px;
  border-radius:var(--radius-lg);
  border:1px solid rgba(124,99,255,0.22);
  background:
    radial-gradient(120% 140% at 85% -10%, rgba(124,99,255,0.12), transparent 55%),
    linear-gradient(180deg, #0a070c, #05030a 60%);
  padding:34px;
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:32px;
  align-items:center;
}
@media (max-width:860px){.origin-card{grid-template-columns:1fr;}}
.origin-text{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap;}
.origin-card svg{width:44px;height:44px;flex:0 0 auto;}
.origin-card h3{font-family:"Fraunces";font-size:1.2rem;color:var(--cream-100);margin-bottom:8px;}
.origin-card p{color:var(--cream-300);font-size:0.98rem;max-width:72ch;}
.origin-photo{
  width:100%;
  height:auto;
  border-radius:var(--radius-md);
  border:1px solid rgba(255,255,255,0.10);
  box-shadow:0 18px 40px rgba(0,0,0,0.35);
}

/* ---------- support page ---------- */
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:44px;}
@media (max-width:760px){.support-grid{grid-template-columns:1fr;}}
.support-card h3{font-size:1.05rem;font-family:"IBM Plex Sans";font-weight:600;color:var(--cream-100);margin-bottom:8px;display:flex;align-items:center;gap:10px;}
.support-card h3 svg{width:20px;height:20px;color:var(--crema-gold);flex:0 0 auto;}
.support-card p{color:var(--cream-500);font-size:0.94rem;}
.support-card a{color:var(--crema-gold-soft);text-decoration:none;font-weight:600;}
.support-card a:hover{text-decoration:underline;}

.faq-list{display:flex;flex-direction:column;gap:1px;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-lg);overflow:hidden;}
.faq-item{background:var(--espresso-950);}
.faq-item summary{
  list-style:none;cursor:pointer;
  padding:20px 26px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-weight:600;font-size:0.98rem;color:var(--cream-100);
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .chev{
  width:18px;height:18px;flex:0 0 auto;color:var(--crema-gold);
  transition:transform .2s ease;
}
.faq-item[open] summary .chev{transform:rotate(180deg);}
.faq-item .a{padding:0 26px 22px;color:var(--cream-500);font-size:0.94rem;max-width:92ch;}

/* ---------- legal / policy prose ---------- */
.policy{max-width:min(92ch, var(--max));padding-bottom:40px;}
.policy .updated{color:var(--cream-500);font-size:0.88rem;margin-bottom:36px;}
.policy h2{font-size:1.4rem;color:var(--cream-100);margin-top:44px;margin-bottom:14px;}
.policy h2:first-of-type{margin-top:0;}
.policy h3{font-size:1.05rem;font-family:"IBM Plex Sans";font-weight:600;color:var(--cream-100);margin-top:26px;margin-bottom:8px;}
.policy p{color:var(--cream-300);font-size:0.98rem;margin-top:14px;}
.policy p:first-child{margin-top:0;}
.policy ul{margin:14px 0 0;padding-left:22px;color:var(--cream-300);font-size:0.98rem;}
.policy li{margin-top:8px;}
.policy li::marker{color:var(--crema-gold);}
.policy strong{color:var(--cream-100);font-weight:600;}
.policy a{color:var(--crema-gold-soft);text-decoration:none;font-weight:600;}
.policy a:hover{text-decoration:underline;}

/* ---------- footer ---------- */
footer{padding:48px 0 40px;border-top:1px solid rgba(255,255,255,0.08);}
.footer-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;}
.footer-brand .wordmark{margin-bottom:10px;}
.footer-brand p{color:var(--cream-500);font-size:0.86rem;max-width:38ch;}
.footer-nav{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;}
.footer-nav a{font-size:0.84rem;color:var(--cream-300);text-decoration:none;}
.footer-nav a:hover{color:var(--crema-gold-soft);}
.footer-meta{text-align:right;color:var(--cream-500);font-size:0.82rem;}
@media (max-width:560px){.footer-meta{text-align:left;}}
.footer-meta a{color:var(--crema-gold-soft);text-decoration:none;}
.footer-meta a:hover{text-decoration:underline;}
.paw-note{margin-top:18px;font-size:0.78rem;color:rgba(168,153,138,0.65);font-style:italic;max-width:42ch;}

@media (max-width:760px){
  .hero{padding:72px 0 52px;}
  .page-header{padding:60px 0 36px;}
  .hero-flex,.page-header-flex{
    flex-direction:column;
    align-items:flex-start;
  }
  .hero h1,.page-header h1{
    max-width:none;
  }
  .hero p.lead,.page-header p.lead{
    max-width:none;
  }
  .hero-logo,.page-header-logo{
    width:min(58vw, 190px);
  }
  .vens-panel{
    border-radius:24px;
    padding:40px 0;
  }
  .vens-intro{
    padding:0 24px 24px;
  }
  .vens-copy{
    margin:0 24px 30px;
  }
  .service-strip{
    margin:0 24px 28px;
  }
  .service-legal{
    margin:-14px 24px 30px;
  }
  .compat{
    padding:36px 24px 4px;
  }
  .vens-cta{
    padding:36px 24px 0;
  }
  .feature{padding:24px;}
}
