/* ============ Philision Capital — design tokens ============ */
:root{
  --accent: #C6A664;
  --accent-bright: #E4C989;
  --accent-deep: #9C7C3E;
  --accent-tint: rgba(198,166,100,0.12);

  --bg: #0A0D14;
  --bg-panel: #10141D;
  --bg-panel-2: #151B26;
  --line: #232A38;
  --line-soft: #1B212D;

  --text-primary: #F5F4EF;
  --text-muted: #A8ADBB;
  --text-dim: #6F7688;

  --container: 1080px;
  --font-serif: 'Playfair Display', serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text-primary);
  font-family:var(--font-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:var(--container); margin:0 auto; padding:0 32px;}

h1,h2,h3{font-family:var(--font-serif); font-weight:600; margin:0; color:var(--text-primary);}
h1{font-size:clamp(34px, 5.4vw, 62px); line-height:1.15; font-weight:600;}
h2{font-size:clamp(26px, 3.6vw, 38px); line-height:1.2; font-weight:600;}
h3{font-size:21px; font-weight:600;}
p{color:var(--text-muted); margin:0;}
.lede{font-size:clamp(16px, 1.5vw, 19px); color:var(--text-muted); line-height:1.75;}

.eyebrow{
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--accent);
  font-weight:500;
  margin-bottom:18px;
}

.mt-16{margin-top:16px;} .mt-24{margin-top:24px;} .mt-32{margin-top:32px;}
.mt-48{margin-top:48px;} .mt-64{margin-top:64px;}

/* ---------- Top brand mark ---------- */
.top-brand{
  position:absolute;
  top:0; left:0; right:0;
  z-index:20;
  padding:32px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.top-brand .logo-img{
  height:58px;
  width:auto;
  display:block;
}
@media (max-width:600px){
  .top-brand{padding:24px;}
  .top-brand .logo-img{height:46px;}
}

/* ---------- Hero with looping video ---------- */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.hero video, .hero .poster-fallback{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.hero .veil{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg, rgba(10,13,20,0.55) 0%, rgba(10,13,20,0.45) 40%, rgba(10,13,20,0.85) 100%);
}
.hero .content{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:820px;
  padding:0 32px;
}
.hero h1{color:#fff;}
.hero .lede{
  max-width:560px;
  margin-left:auto;
  margin-right:auto;
  color:rgba(245,244,239,0.82);
}
.scroll-cue{
  position:absolute;
  bottom:38px;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  color:rgba(245,244,239,0.7);
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:0.24em;
  text-transform:uppercase;
}
.scroll-cue .line{
  width:1px;
  height:36px;
  background:linear-gradient(180deg, rgba(198,166,100,0.9), transparent);
  animation:scrolldrop 2.2s ease infinite;
}
@keyframes scrolldrop{
  0%{opacity:0; transform:scaleY(0.3); transform-origin:top;}
  40%{opacity:1; transform:scaleY(1); transform-origin:top;}
  100%{opacity:0; transform:scaleY(1); transform-origin:bottom;}
}

/* ---------- Sections ---------- */
.section{padding:104px 0; position:relative;}
.section-tight{padding:64px 0; position:relative;}
.center{text-align:center; margin-left:auto; margin-right:auto;}

.divider{
  width:56px; height:1px;
  background:var(--accent);
  margin:0 auto 28px;
}

/* Statement / pull quote */
.statement{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}
.statement p{
  font-family:var(--font-serif);
  font-style:italic;
  font-size:clamp(20px, 2.6vw, 27px);
  line-height:1.55;
  color:var(--text-primary);
  font-weight:500;
}

/* About */
.about-block{max-width:760px; margin:0 auto; text-align:center;}
.about-block p{margin-bottom:20px;}
.about-block p:last-child{margin-bottom:0;}

/* Core values */
.value-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  margin-top:56px;
}
.value-card{
  background:var(--bg);
  padding:44px 36px;
}
.value-card .num{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--accent);
  letter-spacing:0.1em;
  margin-bottom:20px;
}
.value-card h3{margin-bottom:12px;}
.value-card p{font-size:14.5px;}
@media (max-width:860px){
  .value-grid{grid-template-columns:1fr;}
}

/* Vision */
.vision-section{
  background:var(--bg-panel);
  border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft);
}

/* Disclaimer */
.disclaimer{
  max-width:760px;
  margin:0 auto;
  border:1px solid var(--line);
  border-radius:4px;
  padding:32px 36px;
  background:var(--bg-panel);
}
.disclaimer p{
  font-size:12.5px;
  line-height:1.8;
  color:var(--text-dim);
}

/* Scroll reveal */
.reveal{opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none; transition:none;}
}

/* ---------- Footer ---------- */
footer.site-footer{
  padding:48px 0;
  text-align:center;
  border-top:1px solid var(--line-soft);
}
footer.site-footer .loc{
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--text-dim);
  margin-bottom:10px;
}
footer.site-footer .copy{
  font-size:12.5px;
  color:var(--text-dim);
}
