:root{
  --ember:#1F0508;
  --ox:#3A0A10;
  --ox-2:#4A0F17;
  --gold:#C9A24A;
  --gold-soft:#E3CC8A;
  --bone:#F0E6D2;
  --bone-dim:rgba(240,230,210,.72);
  --flame:#E0632A;
  --rule:rgba(201,162,74,.35);
  --display:"Bodoni Moda",Georgia,"Times New Roman",serif;
  --sans:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1180px;
  --gutter:clamp(20px,5vw,72px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;
  background:var(--ox);
  color:var(--bone);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--flame);outline-offset:4px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}

/* header */
.top{
  position:fixed;inset:0 0 auto 0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px var(--gutter);
  background:linear-gradient(rgba(31,5,8,.92),rgba(31,5,8,0));
  transition:background .3s,backdrop-filter .3s;
}
.top.scrolled{background:rgba(31,5,8,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--display);font-size:20px;letter-spacing:.02em;color:var(--gold-soft)}
.brand img{border-radius:50%}
.nav{display:flex;gap:34px}
.nav a{text-decoration:none;font-size:15px;font-weight:500;color:var(--bone);opacity:.85;padding:6px 0;border-bottom:1px solid transparent;transition:border-color .2s,opacity .2s}
.nav a:hover{opacity:1;border-bottom-color:var(--gold)}
.nav-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}
.nav-toggle span{display:block;width:26px;height:2px;background:var(--gold-soft);margin:6px 0;transition:transform .25s,opacity .25s}
.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}

/* hero */
.hero{
  position:relative;min-height:100svh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:120px var(--gutter) 80px;
  background:radial-gradient(ellipse 70% 60% at 50% 45%,var(--ox-2) 0%,var(--ember) 70%);
  overflow:hidden;
}
.hero-glow{
  position:absolute;left:50%;top:42%;width:min(70vw,620px);aspect-ratio:1;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(224,99,42,.28) 0%,rgba(201,162,74,.10) 40%,transparent 70%);
  filter:blur(20px);pointer-events:none;
}
.hero-logo{position:relative;width:min(78vw,520px);height:auto;filter:drop-shadow(0 30px 60px rgba(0,0,0,.6))}
.hero-line{
  position:relative;font-family:var(--display);font-weight:400;
  font-size:clamp(24px,3.4vw,40px);line-height:1.2;letter-spacing:-.005em;
  max-width:18em;margin:36px 0 22px;color:var(--bone);
}
.hero-motto{position:relative;display:flex;align-items:center;gap:16px;margin:0;font-size:15px;letter-spacing:.06em;color:var(--gold-soft)}
.hero-motto em{font-family:var(--display);font-style:italic;font-size:22px;color:var(--gold)}
.hero-scroll{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);width:1px;height:56px;display:block}
.hero-scroll span{display:block;width:1px;height:100%;background:linear-gradient(var(--gold),transparent)}
.hero .reveal{opacity:0;transform:translateY(14px);animation:rise .9s ease forwards}
.hero-line.reveal{animation-delay:.25s}
.hero-motto.reveal{animation-delay:.45s}
@keyframes rise{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hero .reveal{animation:none;opacity:1;transform:none}}

/* sections */
section{position:relative}
.section-title{
  font-family:var(--display);font-weight:400;font-size:clamp(13px,1.2vw,15px);letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin:0 0 22px;display:flex;align-items:center;gap:18px;
}
.section-title::after{content:"";flex:1;max-width:120px;height:1px;background:var(--rule)}
.lede{
  font-family:var(--display);font-weight:400;font-size:clamp(28px,3.6vw,46px);line-height:1.15;letter-spacing:-.01em;
  max-width:19em;margin:0 0 56px;color:var(--bone);
}

/* about */
.about{padding:130px 0 120px;background:var(--ox);overflow:hidden}
.about-texture{
  position:absolute;inset:0;pointer-events:none;
  background:url("https://static.wixstatic.com/media/a24716_6ebcb98c5e0d417dbac5ee66633f3c03~mv2.png") center/cover no-repeat;
  opacity:.08;mix-blend-mode:luminosity;
}
.about .wrap{position:relative}
.about-cols{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:72px;align-items:start}
.about-copy p{margin:0 0 22px;max-width:62ch;color:var(--bone-dim)}
.about-copy p:first-child{color:var(--bone);font-size:19px}
.founder{border-top:1px solid var(--gold);padding-top:26px;position:sticky;top:110px}
.founder-name{font-family:var(--display);font-size:38px;font-weight:400;margin:0;line-height:1.05;color:var(--gold-soft)}
.founder-role{margin:8px 0 22px;font-size:15px;letter-spacing:.04em;color:var(--gold)}
.founder-note{margin:0;font-size:15px;color:var(--bone-dim)}

/* team */
.team{padding:0 0 120px;background:var(--ox)}
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-top:1px solid var(--rule);padding-top:40px}
.person h3{font-family:var(--display);font-weight:400;font-size:30px;line-height:1.1;margin:0 0 4px;color:var(--gold-soft)}
.person-role{margin:0 0 16px;font-size:14px;letter-spacing:.04em;color:var(--gold)}
.person p{margin:0 0 16px;font-size:15px;color:var(--bone-dim)}
.person a{font-size:14px;color:var(--bone);text-decoration:none;border-bottom:1px solid var(--rule);transition:border-color .2s}
.person a:hover{border-bottom-color:var(--gold)}

/* slate */
.slate{padding:120px 0 100px;background:var(--ember)}
.cards{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.card{border-bottom:1px solid var(--rule)}
.card-link{
  display:grid;grid-template-columns:150px 1fr auto;align-items:start;gap:24px;
  max-width:var(--wrap);margin:0 auto;padding:44px var(--gutter);
}
.card-kind{font-size:14px;letter-spacing:.06em;color:var(--gold);line-height:1.5;padding-top:.9em}
.card-kind em{font-style:normal;color:var(--bone-dim);letter-spacing:0}
.card-body{display:block}
.card-title{
  display:block;font-family:var(--display);font-weight:400;font-size:clamp(40px,7vw,96px);line-height:.95;letter-spacing:-.015em;
  color:var(--bone);margin-bottom:18px;
}
.card-log{display:block;max-width:60ch;color:var(--bone-dim);font-size:16px}
.card-status{font-size:14px;color:var(--bone-dim);white-space:nowrap;padding-top:1em}
.slate-foot{margin:34px auto 0;font-size:15px;color:var(--bone-dim)}

/* philosophy */
.philosophy{padding:130px 0 120px;background:var(--ox)}
.statements{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-bottom:96px}
.statement h3,.values h3{font-family:var(--display);font-weight:400;font-size:34px;margin:0 0 18px;color:var(--gold-soft);line-height:1.1}
.statement p{margin:0;color:var(--bone-dim);max-width:52ch}
.statement p::first-letter{color:var(--bone)}
.values-list{margin:0;display:grid;grid-template-columns:1fr;border-top:1px solid var(--rule)}
.values-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px;padding:24px 0;border-bottom:1px solid var(--rule)}
.values-list dt{font-family:var(--display);font-size:24px;line-height:1.2;color:var(--bone);margin:0}
.values-list dd{margin:0;color:var(--bone-dim);max-width:52ch;padding-top:4px}

/* contact */
.contact{padding:130px 0 140px;background:radial-gradient(ellipse 80% 70% at 50% 100%,var(--ox-2),var(--ember) 70%)}
.contact-email{
  display:inline-block;font-family:var(--display);font-weight:400;
  font-size:clamp(26px,5.4vw,72px);line-height:1;letter-spacing:-.01em;
  color:var(--gold-soft);text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:10px;
  margin:0 0 30px;word-break:break-all;transition:color .2s,border-color .2s;
}
.contact-email:hover{color:var(--bone);border-bottom-color:var(--flame)}
.contact-phone{display:block;width:max-content;font-size:22px;text-decoration:none;color:var(--bone);margin-bottom:10px}
.contact-phone:hover{color:var(--gold-soft)}
.contact-place{margin:0;color:var(--bone-dim);font-size:15px}

/* footer */
.foot{background:var(--ember);border-top:1px solid var(--rule);padding:36px 0}
.foot-row{display:flex;align-items:center;gap:20px}
.foot-row img{border-radius:50%;opacity:.9}
.foot p{margin:0;font-size:14px;color:var(--bone-dim)}

/* responsive */
@media (max-width:900px){
  .about-cols{grid-template-columns:1fr;gap:48px}
  .founder{position:static}
  .statements{grid-template-columns:1fr;gap:48px;margin-bottom:72px}
  .card-link{grid-template-columns:1fr;gap:8px;padding:30px var(--gutter)}
  .card-kind{padding-top:0}
  .card-kind br{display:none}
  .card-kind em::before{content:" · "}
  .card-status{order:3;padding-top:0}
  .people{grid-template-columns:1fr;gap:36px}
  .values-list>div{grid-template-columns:1fr;gap:6px}
}
@media (max-width:720px){
  .nav-toggle{display:block}
  .nav{
    position:fixed;inset:0;background:var(--ember);
    flex-direction:column;align-items:center;justify-content:center;gap:28px;
    transform:translateY(-100%);opacity:0;transition:transform .35s ease,opacity .3s;
  }
  .nav.open{transform:none;opacity:1}
  .nav a{font-family:var(--display);font-size:36px;font-weight:400}
  .top{padding:14px var(--gutter)}
  .top .brand,.top .nav-toggle{position:relative;z-index:2}
  .about,.philosophy,.contact,.slate{padding-top:90px;padding-bottom:80px}
  .team{padding-bottom:80px}
  .lede{margin-bottom:40px}
}
