
/* ══ HN FONT ══ */
@font-face {
  font-family: 'HN';
  src: url('../fonts/heading_now/HeadingNowTrial-37Extrabold.ttf') format('truetype');
  font-weight: 700; font-style: normal; font-display: block;
  unicode-range: U+0000-002F, U+003A-10FFFF;
}
@font-face {
  font-family: 'HN';
  src: url('../fonts/heading_now/HeadingNowTrial-37ExtraboldItalic.ttf') format('truetype');
  font-weight: 800; font-style: italic; font-display: block;
  unicode-range: U+0000-002F, U+003A-10FFFF;
}
@font-face {
  font-family: 'HN-Wide';
  src: url('../fonts/heading_now/HeadingNowTrial-47Extrabold.ttf') format('truetype');
  font-weight: 700; font-style: normal; font-display: block;
  unicode-range: U+0000-002F, U+003A-10FFFF;
}
/* ══ GLOBAL PROJECT CSS ══ */
@import url('https://fonts.googleapis.com/css2?family=Michroma&display=swap');

/* --- NAV --- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:9000;height:58px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 2rem;
  background:linear-gradient(to bottom,rgba(8,7,7,.92) 0%,transparent 100%);
  transition: transform 0.5s cubic-bezier(0.16,1,0.3,1), background 0.5s;
}
nav.nav-hidden { transform: translateY(-120%); }
.n-logo img{ height:22px;filter:brightness(0)invert(1);opacity:.85;display:block; }
.n-right{display:flex;align-items:center;gap:.5rem}
.n-tog{ display:flex; border:1px solid rgba(240,235,228,.14); background:rgba(10,9,9,.92); }
.n-tbtn{
  padding:.45rem 1.1rem; font-family:'Space Mono',monospace;font-size:.5rem;
  letter-spacing:.12em;text-transform:uppercase; color:rgba(240,235,228,.38);
  background:transparent;border:none;cursor:pointer; transition:background .2s,color .2s;
  text-decoration:none; display:flex; align-items:center;
}
.n-tbtn:hover { background: rgba(240,235,228,.06); color:rgba(240,235,228,.9); }
.n-tbtn.on{background:rgba(240,235,228,.12);color:#f0ebe4}
.n-sep{width:1px;background:rgba(240,235,228,.1);height:26px}
.n-pill{
  display:flex;align-items:center;gap:.5rem; text-decoration:none;
  border:1px solid rgba(240,235,228,.14);background:rgba(10,9,9,.92);
  padding:.45rem 1.1rem; font-family:'Space Mono',monospace;font-size:.5rem;
  letter-spacing:.12em;text-transform:uppercase; color:rgba(240,235,228,.38);
  cursor:pointer; transition:color .2s,border-color .2s;
}
.n-pill:hover{color:#f0ebe4;border-color:rgba(240,235,228,.28)}
.n-pill svg{width:7px;height:7px;fill:currentColor}
.n-menu{
  width:38px;height:38px; border:1px solid rgba(240,235,228,.14);background:rgba(10,9,9,.92);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  cursor:pointer;
}
.n-menu span{
  width:14px;height:1px;background:#f0ebe4;opacity:.7;display:block;
  transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .2s;
}

/* --- PANEL --- */
#overlay {
  position:fixed;inset:0;z-index:9090;background:rgba(0,0,0,.55);opacity:0;
  pointer-events:none;transition:opacity .4s;
}
#overlay.on { opacity:1; pointer-events:all; }
#pnl {
  position:fixed;top:0;right:0;width:min(480px,88vw);height:100vh;z-index:9100;
  background:rgba(7,6,6,.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-left:1px solid rgba(240,235,228,.08); display:flex;flex-direction:column;
  padding:2.5rem 2.2rem 2.5rem; overflow-y:auto; transform:translateX(100%);
  transition:transform .55s cubic-bezier(.16,1,.3,1); font-family:'Space Mono',monospace;
}
#pnl.open { transform:none; }
.pnl-x {
  position:absolute;top:1.5rem;right:1.5rem; background:none;border:1px solid rgba(240,235,228,.14);
  color:rgba(240,235,228,.4);width:36px;height:36px; font-size:1rem;cursor:pointer;transition:all .2s;
  display:flex;align-items:center;justify-content:center;
}
.pnl-x:hover { color:#fff; }
.pnl-tag { font-size:.38rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(240,235,228,.2); }
.pnl-h { font-family:'HN','Michroma','Space Mono',sans-serif;font-weight:700;font-size:1.55rem;text-transform:uppercase;line-height:1.05;color:rgba(240,235,228,.92);margin-top:2.5rem;margin-bottom:1.2rem;letter-spacing:-.01em; }
.pnl-body { font-size:.72rem;font-weight:300;line-height:1.75;color:rgba(240,235,228,.38);margin-bottom:2rem;font-family:'Inter',sans-serif; }
.pnl-body strong { color:rgba(240,235,228,.7);font-weight:400; }
.svc-list { border-top:1px solid rgba(240,235,228,.07);margin-bottom:1.5rem; }
.svc-row { display:flex;justify-content:space-between;align-items:center;padding:.9rem 0;border-bottom:1px solid rgba(240,235,228,.06);text-decoration:none;transition:opacity .2s; }
.svc-row:hover { opacity:.7; }
.svc-row span:first-child { font-family:'HN','Michroma','Space Mono',sans-serif;font-weight:700;font-size:1.05rem;text-transform:uppercase;letter-spacing:-.01em;color:rgba(240,235,228,.85); }
.svc-n { font-family:'Space Mono',monospace;font-size:.38rem;letter-spacing:.14em;color:rgba(240,235,228,.25); }
.pnl-cta { display:block;margin:2rem 0 1.5rem;font-family:'Space Mono',monospace;font-size:.65rem;letter-spacing:.1em;color:rgba(240,235,228,.6);text-decoration:none;border:1px solid rgba(240,235,228,.12);padding:1rem 1.2rem;transition:all .2s; }
.pnl-cta:hover { color:#fff;border-color:rgba(240,235,228,.3); }
.pnl-form { display:flex;flex-direction:column;gap:.8rem; }
.fg { display:flex;flex-direction:column;gap:.3rem; }
.fl { font-size:.38rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(240,235,228,.25); }
.fc { font-family:'Space Mono',monospace;font-size:.72rem;color:rgba(240,235,228,.85);background:rgba(240,235,228,.04);border:1px solid rgba(240,235,228,.12);padding:.7rem .9rem;outline:none;transition:border-color .2s;width:100%;box-sizing:border-box; }
.fsub { font-family:'Space Mono',monospace;font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(240,235,228,.9);background:none;border:1px solid rgba(240,235,228,.22);padding:.9rem;cursor:pointer;transition:all .25s;width:100%; }
.fsub:hover { background:rgba(240,235,228,.1); }

/* --- FOOTER --- */
.insane-footer {
  border-top: 1px solid rgba(240,235,228,.12);
  padding: 4rem 3rem 2rem;
  margin-top: 4rem;
  background: #050508;
  font-family: 'Space Mono', monospace;
  position: relative;
  z-index: 10;
}
.ftr-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 4rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid rgba(240,235,228,.06);
}
.ftr-brand {
  font-family: 'HN', 'Michroma', sans-serif;
  font-weight: 700;
  font-size: 2rem;
  text-transform: uppercase;
  color: #f0ebe4;
  text-decoration: none;
  letter-spacing: -0.02em;
}
.ftrnav-next {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  text-decoration: none;
  transition: opacity .3s;
}
.ftrnav-next:hover { opacity: 0.7; }
.ftrnav-next-label { text-align: right; }
.ftrnav-next-label span {
  display: block;
  font-size: .45rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(240,235,228,.4);
  margin-bottom: .4rem;
}
.ftrnav-next-label strong {
  font-family: 'HN', 'Michroma', sans-serif;
  font-size: 1.6rem;
  text-transform: uppercase;
  color: #f0ebe4;
  font-weight: 700;
}
.ftrnav-arrow {
  width: 54px;
  height: 54px;
  border: 1px solid rgba(240,235,228,.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: #f0ebe4;
  background: rgba(8,7,7,.5);
}

.fu-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 2fr;
  gap: 3rem;
  margin-bottom: 4rem;
}
@media (max-width: 900px) {
  .fu-grid { grid-template-columns: 1fr; gap: 2rem; }
  .ftr-top { flex-direction: column; align-items: flex-start; gap: 2rem; }
  .ftrnav-next-label { text-align: left; }
}
.fu-col h4 {
  font-size: .45rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(240,235,228,.3);
  margin-bottom: 1.2rem;
}
.fu-link {
  display: block;
  font-size: .65rem;
  color: rgba(240,235,228,.7);
  text-decoration: none;
  margin-bottom: .8rem;
  transition: color .2s;
}
.fu-link:hover { color: #fff; }
.fu-desc {
  font-family: 'Inter', sans-serif;
  font-size: .8rem;
  line-height: 1.6;
  color: rgba(240,235,228,.5);
  font-weight: 300;
}
.fu-disclaimer {
  font-family: 'Inter', sans-serif;
  font-size: .65rem;
  line-height: 1.6;
  color: rgba(240,235,228,.35);
  font-weight: 300;
  border-left: 1px solid rgba(240,235,228,.15);
  padding-left: 1rem;
}
.ftr-bottom {
  display: flex;
  justify-content: space-between;
  font-size: .5rem;
  letter-spacing: .1em;
  color: rgba(240,235,228,.3);
  text-transform: uppercase;
}

/* ══ CUSTOM CURSOR (desktop only) ══ */
@media (hover: hover) and (pointer: fine) {
  *,*::before,*::after { cursor: none !important; }
  #gp-cur {
    position: fixed; width: 7px; height: 7px;
    background: #f0ebe4; border-radius: 50%;
    pointer-events: none; z-index: 99999;
    transform: translate(-50%, -50%);
    mix-blend-mode: difference;
    transition: width .3s cubic-bezier(.16,1,.3,1), height .3s cubic-bezier(.16,1,.3,1), opacity .3s;
  }
  #gp-cur.grabbing { width: 12px; height: 12px; border-radius: 3px; }
}
/* Hide custom cursor on touch devices */
@media (hover: none) {
  #gp-cur { display: none !important; }
}
