*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;width:100%;background:#000;color:#f4f4f4}
body{font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}

.intro{
  position:relative;
  min-height:100vh;
  background:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  isolation:isolate;
}
.logo-shell{
  position:absolute;
  left:50%;
  top:38%;
  width:min(600px,76vw);
  opacity:0;
  transform:translate(-50%,-50%) scale(.035);
  animation:logoIn 2.35s cubic-bezier(.16,1,.3,1) .22s forwards;
  z-index:5;
}
.logo{display:block;width:100%;height:auto}

.fanfare{
  position:absolute;left:50%;top:38%;
  width:min(720px,92vw);height:min(720px,92vw);
  transform:translate(-50%,-50%);
  z-index:1;pointer-events:none;
}
.ray{
  position:absolute;left:50%;top:50%;
  width:2px;height:48%;
  transform-origin:50% 100%;
  border-radius:999px;
  background:linear-gradient(to top,rgba(212,166,64,0),rgba(255,224,145,.95),rgba(255,196,60,0));
  opacity:0;
  animation:rayFan 1.65s cubic-bezier(.2,.8,.2,1) .05s forwards;
}
.r1{transform:rotate(-72deg)}.r2{transform:rotate(-54deg)}
.r3{transform:rotate(-36deg)}.r4{transform:rotate(-18deg)}
.r5{transform:rotate(0)}.r6{transform:rotate(18deg)}
.r7{transform:rotate(36deg)}.r8{transform:rotate(54deg)}
.r9{transform:rotate(72deg)}
.spark{
  position:absolute;left:50%;top:50%;
  width:4px;height:4px;border-radius:50%;
  background:#f7d98a;
  box-shadow:0 0 8px rgba(255,210,100,.9);
  opacity:0;
  animation:sparkOut 1.8s cubic-bezier(.15,.75,.25,1) .18s forwards;
}
.s1{--x:-240px;--y:-155px}.s2{--x:-185px;--y:-245px}
.s3{--x:-80px;--y:-285px}.s4{--x:95px;--y:-270px}
.s5{--x:205px;--y:-185px}.s6{--x:250px;--y:-70px}

.services{
  position:absolute;
  left:50%;
  top:68%;
  width:min(1120px,92vw);
  transform:translate(-50%,-50%);
  display:flex;
  justify-content:center;
  align-items:stretch;
  z-index:7;
  opacity:0;
  animation:servicesRise 1.35s cubic-bezier(.16,1,.3,1) 2.35s forwards;
}
.service{
  min-width:0;flex:1;
  min-height:74px;
  padding:12px 15px;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:8px;
  color:#f0e4c8;
  font:500 clamp(10px,1.05vw,14px)/1.2 Arial,sans-serif;
  text-align:center;
  border-left:1px solid rgba(201,155,59,.28);
}
.service:last-child{border-right:1px solid rgba(201,155,59,.28)}
.icon{
  width:25px;height:25px;
  display:grid;place-items:center;
  color:#d6a847;
  font-size:18px;line-height:1;
  border:1px solid rgba(214,168,71,.55);
  border-radius:50%;
}

.content-section{
  position:relative;
  padding:105px 24px;
  background:#000;
  border-top:1px solid rgba(255,255,255,.055);
}
.content-section.alt{
  background:#050505;
}
.section-inner{
  width:min(920px,100%);
  margin:0 auto;
}
.section-label{
  color:#d2a447;
  font-size:12px;
  font-weight:700;
  letter-spacing:.28em;
  margin-bottom:20px;
}
h1,h2{
  margin:0 0 24px;
  color:#fff;
  font-weight:500;
  letter-spacing:-.025em;
}
h1{font-size:clamp(34px,5vw,62px)}
h2{font-size:clamp(30px,4vw,48px)}
p{
  max-width:820px;
  margin:0;
  color:#bcbcbc;
  font-size:clamp(16px,1.5vw,19px);
  line-height:1.9;
}
strong{color:#eee;font-weight:600}

.contact-section{
  padding:110px 24px 120px;
  background:linear-gradient(180deg,#050505 0%,#000 100%);
  border-top:1px solid rgba(201,155,59,.16);
}
.contact-inner{max-width:1100px}
.contact-intro{max-width:700px;margin-bottom:48px}
.contact-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.contact-card{
  min-height:145px;
  padding:26px 24px;
  border:1px solid rgba(201,155,59,.22);
  background:rgba(255,255,255,.018);
  display:flex;
  align-items:flex-start;
  gap:16px;
  transition:border-color .25s ease,transform .25s ease,background .25s ease;
}
.contact-card:hover{
  border-color:rgba(214,168,71,.65);
  background:rgba(214,168,71,.035);
  transform:translateY(-3px);
}
.contact-icon{
  color:#d6a847;
  font-size:23px;
  line-height:1;
  flex:none;
}
.contact-card small{
  display:block;
  color:#8e8e8e;
  font-size:10px;
  letter-spacing:.2em;
  margin-bottom:9px;
}
.contact-card strong{
  display:block;
  color:#eee;
  font-size:14px;
  line-height:1.65;
  font-weight:500;
}

footer{
  padding:24px;
  border-top:1px solid rgba(255,255,255,.06);
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#777;
  font-size:12px;
  letter-spacing:.05em;
}

.baseline{display:none}

@keyframes rayFan{
  0%{opacity:0;transform:rotate(var(--a,0deg)) translateY(5%) scaleY(.15)}
  20%{opacity:.9}
  100%{opacity:0;transform:rotate(var(--a,0deg)) translateY(-3%) scaleY(1)}
}
@keyframes sparkOut{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}
  18%{opacity:1}
  70%{opacity:.65}
  100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(.7)}
}
@keyframes logoIn{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.035);filter:brightness(1.9) saturate(1.08)}
  25%{opacity:1;transform:translate(-50%,-50%) scale(.38);filter:brightness(1.45) saturate(1.05)}
  62%{transform:translate(-50%,-50%) scale(1.045);filter:brightness(1.12) saturate(1.02)}
  79%{transform:translate(-50%,-50%) scale(.988)}
  91%{transform:translate(-50%,-50%) scale(1.01)}
  100%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:none}
}
@keyframes servicesRise{
  0%{opacity:0;transform:translate(-50%,70px) scale(.98)}
  65%{opacity:1;transform:translate(-50%,-7px) scale(1.005)}
  100%{opacity:1;transform:translate(-50%,-50%) scale(1)}
}

@media(max-width:800px){
  .logo-shell{top:34%;width:84vw}
  .fanfare{top:34%;width:120vw;height:120vw}
  .services{
    top:69%;width:92vw;
    display:grid;grid-template-columns:repeat(2,1fr);
  }
  .service{min-height:62px;padding:8px 5px;font-size:9px;gap:5px}
  .service:last-child{grid-column:1/-1;border-right:1px solid rgba(201,155,59,.28)}
  .icon{width:20px;height:20px;font-size:14px}
  .content-section{padding:80px 22px}
  .contact-section{padding:85px 22px 90px}
  .contact-grid{grid-template-columns:1fr}
  footer{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  .fanfare{display:none}
  .logo-shell{animation:none;opacity:1;transform:translate(-50%,-50%)}
  .services{animation:none;opacity:1;transform:translate(-50%,-50%)}
}
