@import url('https://fonts.googleapis.com/css2?family=Alegreya+Sans+SC:wght@400;500;600;700&family=Chakra+Petch:wght@400;500;600&family=Rajdhani:wght@400;500;600&display=swap');

:root{
  --bg:#03050a; --panel:#0a0f18; --panel2:#0d1420; --text:#f5f7fb; --muted:#97a3b6;
  --blue:#008cff; --blue2:#21b7ff; --line:rgba(33,183,255,.35); --lime:#b7ff00; --purple:#6c21a8;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;min-height:100vh;overflow-x:hidden}
a{color:inherit;text-decoration:none}.space{position:fixed;inset:0;z-index:-3;overflow:hidden;background:radial-gradient(circle at 50% 0,#081729 0,#03050a 45%,#010205 100%)}
.stars,.stars2{position:absolute;inset:-50%;background-repeat:repeat;animation:drift 170s linear infinite;opacity:.75}.stars{background-image:radial-gradient(1.2px 1.2px at 20px 30px,#fff 70%,transparent),radial-gradient(1px 1px at 90px 40px,#9fd8ff 70%,transparent),radial-gradient(1.4px 1.4px at 170px 130px,#fff 70%,transparent);background-size:240px 220px}.stars2{background-image:radial-gradient(2px 2px at 70px 90px,#fff 70%,transparent),radial-gradient(1.5px 1.5px at 200px 180px,#46a7ff 70%,transparent);background-size:380px 360px;animation-duration:260s;opacity:.35}@keyframes drift{to{transform:translate3d(-18%,12%,0)}}
.site-header{position:sticky;top:0;z-index:50;background:rgba(3,5,10,.83);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}
.nav-wrap{max-width:1240px;margin:auto;min-height:82px;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:10px 22px}.brandmark{display:flex;align-items:center;gap:12px}.brandmark img{width:58px;height:58px;object-fit:contain}.universe{font-size:clamp(1.05rem,2vw,1.5rem);letter-spacing:.06em;text-shadow:0 0 18px rgba(0,140,255,.55);white-space:nowrap}.menu{display:flex;gap:18px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.menu a{font-size:.93rem;color:#dfe9ff;transition:.2s}.menu a:hover,.menu a.active{color:var(--blue2);text-shadow:0 0 12px rgba(33,183,255,.7)}
main{max-width:1240px;margin:auto;padding:42px 22px 72px}.home-hero{min-height:calc(100vh - 110px);display:grid;align-content:center;justify-items:center;gap:22px;text-align:center}.home-kicker{color:var(--blue2);letter-spacing:.22em;text-transform:uppercase;font-size:.75rem}.card-frame{width:min(1040px,95vw);padding:1px;border-radius:22px;background:linear-gradient(135deg,rgba(33,183,255,.6),rgba(255,255,255,.08),rgba(0,140,255,.25));box-shadow:0 0 45px rgba(0,140,255,.12)}.card-frame img{display:block;width:100%;height:auto;border-radius:21px;background:#050505}.graffiti{width:min(570px,80vw);height:auto;filter:drop-shadow(0 0 16px rgba(183,255,0,.2))}.home-copy{max-width:760px;color:#bdc7d8;font-size:1.05rem;line-height:1.7}.home-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.btn{padding:12px 18px;border-radius:999px;border:1px solid var(--line);background:rgba(9,18,31,.7);color:#fff}.btn.primary{background:linear-gradient(135deg,#006edb,#00a8ff);border-color:transparent}.btn:hover{transform:translateY(-1px);box-shadow:0 0 20px rgba(0,140,255,.25)}
.page-head{margin:24px 0 34px}.page-head h1{margin:0 0 8px;font-size:clamp(2rem,5vw,4.4rem);font-weight:800;letter-spacing:-.04em}.page-head p{margin:0;color:var(--muted);max-width:760px;line-height:1.7}.accent{color:var(--blue2)}
.knights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.knight{background:linear-gradient(180deg,rgba(13,20,32,.92),rgba(5,8,14,.94));border:1px solid rgba(33,183,255,.18);border-radius:22px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.28)}.knight-media{background:#020307;display:flex;align-items:center;justify-content:center;padding:14px;min-height:520px}.knight-media img{width:100%;height:100%;max-height:760px;object-fit:contain;object-position:center center;display:block;border-radius:14px}.knight-info{padding:18px 20px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.knight-info h2{margin:0;font-size:1.35rem}.tag{font-size:.72rem;color:var(--blue2);border:1px solid rgba(33,183,255,.28);padding:6px 9px;border-radius:999px;white-space:nowrap}
.content-card{background:rgba(8,13,22,.88);border:1px solid rgba(33,183,255,.22);border-radius:22px;padding:26px;margin-bottom:22px}.content-card h2{margin-top:0}.content-card p{color:#bcc7d7;line-height:1.75}.concept-placeholder{min-height:330px;border:1px dashed rgba(33,183,255,.35);border-radius:18px;display:grid;place-items:center;text-align:center;color:#9fb0c7;padding:28px;background:linear-gradient(135deg,rgba(0,140,255,.04),rgba(183,255,0,.025))}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.contact-list{display:grid;gap:12px}.contact-item{padding:15px 17px;border-radius:14px;background:#080e18;border:1px solid rgba(255,255,255,.07)}
footer{border-top:1px solid rgba(33,183,255,.18);padding:28px 22px 42px;text-align:center;color:#7f8a9c;font-size:.78rem;line-height:1.6}.footer-logo{font-size:1.05rem;color:#dbe8ff;margin-bottom:8px}
@media(max-width:860px){.nav-wrap{grid-template-columns:auto 1fr}.menu{grid-column:1/-1;justify-content:center;padding-bottom:8px}.knights-grid,.contact-grid{grid-template-columns:1fr}.knight-media{min-height:auto}.knight-media img{max-height:none}.home-hero{min-height:auto;padding-top:30px}.brandmark img{width:48px;height:48px}}
@media(max-width:520px){.nav-wrap{padding:8px 12px}.brandmark{gap:8px}.universe{font-size:.95rem}.menu{gap:11px}.menu a{font-size:.78rem}.page-head h1{font-size:2.35rem}main{padding:28px 14px 60px}.knight-media{padding:8px}.knight-info{padding:14px}.home-copy{font-size:.95rem}}

/* HOME V3 — Fabio Creator */
.home-main{padding-top:28px}
.home-hero{gap:18px;min-height:auto;padding:18px 0 44px}
.home-graffiti{order:1;width:min(520px,72vw);margin-bottom:2px}
.home-card{order:2;width:min(980px,94vw)}
.home-kicker{order:3;margin-top:4px;color:#9caec6;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 0 12px rgba(33,183,255,.18)}
.social-row{order:4;display:flex;justify-content:center;align-items:center;gap:15px;margin-top:4px}
.social-row a{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;color:#b9c7da;background:rgba(6,11,19,.72);border:1px solid rgba(33,183,255,.22);font-size:1.05rem;transition:transform .2s,color .2s,border-color .2s,box-shadow .2s}
.social-row a:hover{color:var(--blue2);border-color:rgba(33,183,255,.72);box-shadow:0 0 18px rgba(0,140,255,.24);transform:translateY(-2px)}
.home-intro{order:5;margin-top:14px;text-align:center}
.enter-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.15rem,2.4vw,1.55rem);letter-spacing:.05em;color:#aeb9c8}
.enter-title span{color:var(--blue2);text-shadow:0 0 14px rgba(33,183,255,.34)}
.home-intro p{margin:8px 0 0;color:#7f90a7;font-family:Georgia,'Times New Roman',serif;font-size:1rem;font-style:italic}
.home-footer{font-family:Georgia,'Times New Roman',serif;font-size:.92rem;color:#a4afbe;padding:25px 22px 36px}
.home-footer p{margin:5px auto;max-width:980px}
.home-footer strong{font-family:Inter,Segoe UI,Arial,sans-serif;letter-spacing:.1em;color:var(--blue2);font-weight:600}
@media(max-width:860px){.home-main{padding-top:12px}.home-graffiti{width:min(480px,82vw)}.home-kicker{line-height:1.7;letter-spacing:.13em}}
@media(max-width:520px){.home-main{padding:14px 10px 45px}.home-hero{gap:14px;padding-top:8px}.home-graffiti{width:88vw}.home-card{width:96vw;border-radius:14px}.home-card img{border-radius:13px}.home-kicker{font-size:.66rem;letter-spacing:.09em;max-width:92vw}.social-row{gap:12px}.social-row a{width:37px;height:37px}.home-footer{font-size:.82rem;line-height:1.65;padding:22px 16px 32px}.enter-title{font-size:1.08rem}.home-intro p{font-size:.92rem}}


/* HOME V4 — typography + tighter rhythm */
body{
  font-family:'Rajdhani','Segoe UI',Arial,sans-serif;
}
.menu a,.home-kicker,.home-footer,.enter-title,.home-intro p{
  font-family:'Chakra Petch','Segoe UI',Arial,sans-serif;
}
.menu a{font-weight:500;letter-spacing:.035em}
.home-hero{gap:10px;padding-top:8px}
.home-graffiti{margin:0 0 -2px;width:min(500px,70vw)}
.home-card{margin-top:0}
.home-kicker{margin-top:6px;font-weight:500;color:#aebdd1;letter-spacing:.16em}
.social-row{margin-top:7px}
.home-intro{margin-top:11px}
.enter-title{font-size:clamp(1.08rem,2.1vw,1.42rem);font-weight:500;letter-spacing:.055em;color:#aebbd0}
.home-intro p{font-size:.96rem;font-style:normal;letter-spacing:.035em;color:#8798af}
.home-footer{font-size:.94rem;font-weight:400;letter-spacing:.018em;color:#a9b7ca}
.home-footer strong{font-family:'Chakra Petch','Segoe UI',Arial,sans-serif;font-weight:600}

/* More visible motion, still lightweight */
.stars{animation-duration:75s}
.stars2{animation-duration:115s}

@media(max-width:520px){
  .home-hero{gap:8px;padding-top:4px}
  .home-graffiti{width:84vw;margin-bottom:-3px}
  .home-kicker{font-size:.67rem;line-height:1.55}
  .home-intro{margin-top:8px}
}


/* HOME V5 — final typography/palette test */
:root{
  --electric:#0066ff;
  --electric-bright:#1478ff;
  --gold:#d6b45c;
}

/* Graffiti wider and visually closer to the card */
.home-graffiti{
  width:min(650px,82vw);
  margin-bottom:-18px;
  transform:scaleX(1.10);
  transform-origin:center;
}
.home-card{margin-top:-6px}

/* Technical line: monospace, long and clean */
.home-kicker{
  font-family:'Courier New',Consolas,monospace;
  font-size:clamp(.72rem,1.25vw,.94rem);
  letter-spacing:.11em;
  color:#f2f5fb;
  text-shadow:0 0 8px rgba(0,102,255,.48);
  width:min(760px,88vw);
  line-height:1.55;
}

/* Main invitation: small caps, two lines, white + electric blue glow */
.home-intro{
  width:min(760px,88vw);
  margin-top:10px;
}
.enter-title,.home-intro p{
  font-family:'Chakra Petch','Segoe UI',Arial,sans-serif;
  font-style:normal;
  font-weight:500;
  letter-spacing:.12em;
  color:#f5f7fb;
  text-shadow:0 0 5px rgba(0,102,255,.72),0 0 13px rgba(0,102,255,.28);
}
.enter-title{
  font-size:clamp(1.18rem,2vw,1.55rem);
}
.enter-title span{
  color:var(--gold);
  text-shadow:0 0 5px rgba(214,180,92,.24),0 0 9px rgba(0,102,255,.25);
}
.home-intro p{
  margin:6px 0 0;
  font-size:clamp(.92rem,1.45vw,1.12rem);
  color:#e9edf5;
}

/* Header identity: restrained until hover, then electric */
.universe{
  color:#f4f6fb;
  text-shadow:0 0 4px rgba(0,102,255,.25);
  transition:color .25s ease,text-shadow .25s ease,filter .25s ease;
}
.brandmark:hover .universe{
  color:#fff;
  text-shadow:0 0 5px var(--electric),0 0 12px rgba(0,102,255,.82),0 0 24px rgba(0,102,255,.38);
}

/* Shift existing cyan accents toward actual electric blue */
.site-header{border-bottom-color:rgba(0,102,255,.38)}
.menu a:hover,.menu a.active{
  color:#dce8ff;
  text-shadow:0 0 5px var(--electric),0 0 13px rgba(0,102,255,.72);
}
.card-frame{
  background:linear-gradient(135deg,rgba(0,102,255,.72),rgba(255,255,255,.07),rgba(0,65,190,.42));
  box-shadow:0 0 34px rgba(0,102,255,.16);
}
.social-row a{border-color:rgba(0,102,255,.34)}
.social-row a:hover{
  color:#fff;
  border-color:rgba(0,102,255,.9);
  box-shadow:0 0 7px rgba(0,102,255,.78),0 0 18px rgba(0,102,255,.34);
}
.home-footer{
  font-family:'Chakra Petch','Segoe UI',Arial,sans-serif;
  font-size:.88rem;
  letter-spacing:.055em;
  color:#c4ccd9;
  text-shadow:0 0 7px rgba(0,102,255,.16);
}
.home-footer strong{
  color:#dce8ff;
  text-shadow:0 0 5px rgba(0,102,255,.72);
}

/* Keep stars visibly moving without adding more layers */
.stars{animation-duration:58s}
.stars2{animation-duration:92s}

@media(max-width:520px){
  .home-graffiti{
    width:92vw;
    margin-bottom:-10px;
    transform:scaleX(1.04);
  }
  .home-card{margin-top:-3px}
  .home-kicker{width:94vw;font-size:.65rem;letter-spacing:.065em}
  .home-intro{width:94vw}
  .enter-title{font-size:1.05rem;letter-spacing:.085em}
  .home-intro p{font-size:.84rem;letter-spacing:.075em}
  .home-footer{font-size:.76rem;letter-spacing:.035em}
}

/* HOME V6 — header signature, orbital Cavalieri and Community gateway */
.home-main{max-width:1500px}
.nav-wrap{max-width:1380px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.header-graffiti{
  width:min(270px,23vw);
  height:auto;
  justify-self:center;
  filter:drop-shadow(0 0 10px rgba(183,255,0,.14));
}
.home-hero{gap:12px;padding-top:10px}
.home-intro{order:1;width:min(760px,90vw);margin:2px 0 4px}
.universe-stage{
  order:2;
  position:relative;
  width:min(1460px,98vw);
  min-height:560px;
  margin:0 auto 42px;
}
.universe-stage .home-card{
  width:min(980px,calc(100% - 480px));
  margin:0 auto;
}
.orbit-layer{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
}
.orbit-lane{
  position:absolute;
  top:0;
  bottom:0;
  width:180px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:center;
  padding:8px 0;
  pointer-events:none;
  clip-path:inset(-60px 0 -60px 0);
}
.orbit-lane-left{left:10px}
.orbit-lane-right{right:10px}
.orbit-node{
  --size:78px;
  position:relative;
  width:var(--size);
  height:var(--size);
  margin:0;
  border-radius:50%;
  pointer-events:auto;
  outline:none;
  left:auto;
  top:auto;
  flex:0 0 auto;
  animation:lane-float-left 11s ease-in-out infinite alternate;
}
.orbit-lane-right .orbit-node{animation-name:lane-float-right}
.orbit-node::before{
  content:'';
  position:absolute;
  inset:-4px;
  z-index:-1;
  border-radius:50%;
  border:1px solid rgba(20,120,255,.66);
  background:radial-gradient(circle,rgba(20,120,255,.16),rgba(3,5,10,.02) 67%);
  box-shadow:0 0 9px rgba(0,102,255,.52),0 0 24px rgba(0,102,255,.18);
  transition:border-color .28s ease,box-shadow .28s ease;
}
.orbit-node > picture,
.max-portraits{
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:50%;
}
.orbit-node > picture,
.max-portraits > picture{
  object-fit:cover;
  transition:transform .45s ease,filter .35s ease,opacity .35s ease;
}
.orbit-node > picture{width:100%;height:100%}
.orbit-node .orbit-name{
  position:absolute;
  top:calc(100% + 9px);
  left:50%;
  z-index:6;
  padding:4px 8px;
  border:1px solid rgba(0,102,255,.3);
  border-radius:999px;
  background:rgba(2,5,10,.88);
  color:#f4f7ff;
  font-family:'Chakra Petch','Segoe UI',Arial,sans-serif;
  font-size:.68rem;
  letter-spacing:.05em;
  line-height:1;
  white-space:nowrap;
  opacity:0;
  transform:translate(-50%,-4px);
  transition:opacity .25s ease,transform .25s ease;
  pointer-events:none;
}
.orbit-node:hover::before,
.orbit-node:focus-visible::before{
  border-color:rgba(214,180,92,.92);
  box-shadow:0 0 10px rgba(214,180,92,.55),0 0 28px rgba(0,102,255,.34);
}
.orbit-node:hover > img,
.orbit-node:focus-visible > img,
.orbit-node:hover .max-portraits > picture,
.orbit-node:focus-visible .max-portraits > picture{transform:scale(1.06)}
.orbit-node:hover .orbit-name,
.orbit-node:focus-visible .orbit-name{opacity:1;transform:translate(-50%,0)}
.max-portraits{position:relative}
.max-portraits > picture{position:absolute;inset:0;width:100%;height:100%}
.max-warrior{opacity:0}
.max-transform:hover .max-normal,
.max-transform:focus-visible .max-normal{opacity:0}
.max-transform:hover .max-warrior,
.max-transform:focus-visible .max-warrior{opacity:1}
.max-name-warrior{display:none}
.max-transform:hover .max-name-normal,
.max-transform:focus-visible .max-name-normal{display:none}
.max-transform:hover .max-name-warrior,
.max-transform:focus-visible .max-name-warrior{display:inline}

.orbit-1{--size:84px;animation-duration:11.4s}
.orbit-2{--size:74px;animation-duration:12.7s;animation-delay:-3s}
.orbit-3{--size:88px;animation-duration:10.8s;animation-delay:-5s}
.orbit-4{--size:76px;animation-duration:13.5s;animation-delay:-2s}
.orbit-5{--size:82px;animation-duration:12.2s;animation-delay:-6s}
.orbit-6{--size:74px;animation-duration:11.1s;animation-delay:-4s}
.orbit-7{--size:88px;animation-duration:13.2s;animation-delay:-4s}
.orbit-8{--size:76px;animation-duration:11.7s;animation-delay:-6s}
.orbit-9{--size:82px;animation-duration:12.6s;animation-delay:-2s}
.orbit-10{--size:76px;animation-duration:11.3s;animation-delay:-5s}
.orbit-11{--size:86px;animation-duration:13.8s;animation-delay:-3s}
.orbit-12{--size:78px;animation-duration:12s;animation-delay:-7s}
@keyframes lane-float-left{from{transform:translate3d(-36px,0,0)}to{transform:translate3d(36px,0,0)}}
@keyframes lane-float-right{from{transform:translate3d(36px,0,0)}to{transform:translate3d(-36px,0,0)}}
@keyframes mobile-lane-float{from{transform:translate3d(-6px,0,0)}to{transform:translate3d(6px,0,0)}}

.home-kicker{order:3}
.social-row{order:4}
.community-section{
  order:5;
  width:min(1080px,96vw);
  margin-top:32px;
}
.community-heading{
  margin-bottom:12px;
  font-family:'Chakra Petch','Segoe UI',Arial,sans-serif;
  font-size:clamp(.82rem,1.3vw,1rem);
  font-weight:500;
  letter-spacing:.14em;
  color:#dce8ff;
  text-shadow:0 0 8px rgba(0,102,255,.5);
}
.community-portal{
  position:relative;
  display:block;
  overflow:hidden;
  border:1px solid rgba(0,102,255,.48);
  border-radius:22px;
  background:#03050a;
  box-shadow:0 18px 48px rgba(0,0,0,.38),0 0 30px rgba(0,102,255,.12);
  isolation:isolate;
  transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease;
}
.community-portal::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(3,5,10,.12),rgba(3,5,10,.26));
  transition:opacity .35s ease;
}
.community-portal img{display:block;width:100%;height:auto;opacity:.88;transition:opacity .35s ease,transform .7s ease}
.community-cta{
  position:absolute;
  right:18px;
  bottom:16px;
  z-index:2;
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px 15px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(2,5,10,.78);
  backdrop-filter:blur(10px);
  color:#fff;
  font-family:'Chakra Petch','Segoe UI',Arial,sans-serif;
  font-size:.8rem;
  letter-spacing:.06em;
  box-shadow:0 0 18px rgba(0,102,255,.22);
}
.community-portal:hover,
.community-portal:focus-visible{
  border-color:rgba(20,120,255,.92);
  box-shadow:0 20px 55px rgba(0,0,0,.44),0 0 34px rgba(0,102,255,.28);
  transform:translateY(-2px);
  outline:none;
}
.community-portal:hover::after,.community-portal:focus-visible::after{opacity:.3}
.community-portal:hover img,.community-portal:focus-visible img{opacity:1;transform:scale(1.008)}

@media(max-width:1280px){
  .universe-stage{width:96vw;min-height:0;margin-bottom:8px}
  .universe-stage .home-card{width:100%;margin:0}
  .orbit-layer{
    position:relative;
    inset:auto;
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:25px 10px;
    width:100%;
    margin-top:24px;
    padding:0 8px 18px;
  }
  .orbit-lane{display:contents;clip-path:none}
  .orbit-node,
  .orbit-1,.orbit-2,.orbit-3,.orbit-4,.orbit-5,.orbit-6,
  .orbit-7,.orbit-8,.orbit-9,.orbit-10,.orbit-11,.orbit-12{
    --size:70px;
    position:relative;
    inset:auto;
    justify-self:center;
  }
  .orbit-lane .orbit-node{animation-name:mobile-lane-float}
  .orbit-node .orbit-name{opacity:1;transform:translate(-50%,0);background:transparent;border:0;top:calc(100% + 6px);font-size:.62rem}
}
@media(max-width:860px){
  .header-graffiti{width:min(250px,34vw)}
}
@media(max-width:600px){
  .nav-wrap{grid-template-columns:1fr}
  .brandmark,.header-graffiti{justify-self:center}
  .header-graffiti{grid-column:1;width:min(260px,64vw)}
  .menu{grid-column:1}
  .orbit-layer{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 6px}
  .orbit-node,
  .orbit-1,.orbit-2,.orbit-3,.orbit-4,.orbit-5,.orbit-6,
  .orbit-7,.orbit-8,.orbit-9,.orbit-10,.orbit-11,.orbit-12{--size:62px}
  .community-section{width:96vw;margin-top:22px}
  .community-heading{font-size:.76rem;letter-spacing:.1em;margin-bottom:9px}
  .community-portal{border-radius:14px}
  .community-cta{right:9px;bottom:8px;padding:7px 10px;font-size:.68rem}
}
@media(prefers-reduced-motion:reduce){
  .stars,.stars2,.orbit-node{animation:none}
  .community-portal,.community-portal img,.orbit-node img{transition:none}
}

/* Global visual signature — Bergamo MASTER */
.site-signature-footer{
  width:100%;
  padding:0;
  border:0;
  background:#010102;
  overflow:hidden;
}
.site-signature-image{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:2048/682;
  object-fit:contain;
  object-position:center;
  background:#010102;
}
@media(max-width:600px){
  .site-signature-footer{min-height:0}
  .site-signature-image{
    width:100%;
    height:auto;
    aspect-ratio:2048/682;
    object-fit:contain;
  }
}

/* HOME V7 — diffuse orbital field and electric glass details
   V5 structure preserved: this block only overrides the later home additions. */
.home-hero{
  position:relative;
  isolation:isolate;
}
.home-intro,
.community-heading{
  position:relative;
  z-index:5;
}
.home-intro{
  padding:12px 26px 13px;
  border:1px solid rgba(20,120,255,.18);
  border-radius:15px;
  background:linear-gradient(135deg,rgba(7,22,48,.46),rgba(2,7,18,.2));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 0 28px rgba(0,102,255,.08);
  backdrop-filter:blur(11px);
}
.home-intro::before,
.home-intro::after{
  content:'';
  position:absolute;
  top:-1px;
  width:54px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(55,171,255,.92));
  box-shadow:0 0 8px rgba(20,120,255,.55);
}
.home-intro::before{left:18px}
.home-intro::after{right:18px;transform:scaleX(-1)}
.universe-stage{
  min-height:0;
  margin-bottom:16px;
  z-index:2;
}
.universe-stage .home-card{
  position:relative;
  width:min(980px,calc(100% - 520px));
  padding:3px;
  background:linear-gradient(135deg,rgba(54,160,255,.72),rgba(9,33,73,.18) 31%,rgba(255,255,255,.1) 52%,rgba(0,69,200,.48));
  box-shadow:0 0 22px rgba(0,102,255,.2),0 20px 55px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(9px);
}
.universe-stage .home-card::after{
  content:'';
  position:absolute;
  top:-1px;
  left:50%;
  width:92px;
  height:2px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,#238fff,transparent);
  box-shadow:0 0 10px rgba(25,134,255,.8);
  pointer-events:none;
}
.home-kicker,.social-row,.community-section{position:relative;z-index:3}
.community-section{width:min(900px,96vw)}
.community-portal{
  background:linear-gradient(145deg,rgba(8,27,58,.46),rgba(2,5,10,.9));
  backdrop-filter:blur(10px);
}

/* The orbital layer covers the whole home. Individual nodes are scattered,
   while the central content remains an invisible no-entry zone. */
.orbit-layer{
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
}
.orbit-lane{
  position:absolute;
  inset:0;
  display:block;
  width:auto;
  padding:0;
  clip-path:none;
  pointer-events:none;
}
.orbit-node,
.orbit-lane-right .orbit-node{
  --size:84px;
  --x1:-12px;
  --x2:20px;
  --x3:-5px;
  --y1:-5px;
  --y2:6px;
  --y3:4px;
  position:absolute;
  margin:0;
  width:var(--size);
  height:var(--size);
  animation-name:orbit-drift-free;
  animation-timing-function:ease-in-out;
  animation-iteration-count:infinite;
  animation-direction:normal;
  will-change:transform;
}
.orbit-lane-left .orbit-node{left:var(--edge,20px)}
.orbit-lane-right .orbit-node{right:var(--edge,20px)}
.orbit-node::before{
  inset:-5px;
  border-color:rgba(26,130,255,.72);
  background:radial-gradient(circle,rgba(20,120,255,.15),rgba(3,5,10,.015) 68%);
  box-shadow:0 0 10px rgba(0,102,255,.54),0 0 28px rgba(0,102,255,.2),inset 0 0 12px rgba(41,150,255,.12);
}
.orbit-node .orbit-name{
  top:calc(100% + 11px);
  padding:2px 5px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#1684ff;
  font-size:clamp(.84rem,.85vw,1rem);
  font-weight:600;
  letter-spacing:.075em;
  opacity:1;
  transform:translateX(-50%);
  text-shadow:0 0 5px rgba(0,102,255,.82),0 0 13px rgba(0,102,255,.38);
  transition:filter .18s ease,text-shadow .18s ease;
}
/* Hover is deliberately confined to the lettering. Portrait and ring stay still. */
.orbit-node:hover::before,
.orbit-node:focus-visible::before{
  border-color:rgba(26,130,255,.72);
  box-shadow:0 0 10px rgba(0,102,255,.54),0 0 28px rgba(0,102,255,.2),inset 0 0 12px rgba(41,150,255,.12);
}
.orbit-node:hover > img,
.orbit-node:focus-visible > img,
.orbit-node:hover .max-portraits > picture,
.orbit-node:focus-visible .max-portraits > picture{
  transform:none;
  filter:none;
}
.orbit-node:hover .orbit-name,
.orbit-node:focus-visible .orbit-name{
  color:transparent;
  opacity:1;
  transform:translateX(-50%);
  background-image:linear-gradient(90deg,#0066ff 0%,#168cff 22%,#8be4ff 42%,#fff 49%,#31c9ff 56%,#0877ff 72%,#0054df 100%);
  background-size:280% 100%;
  background-clip:text;
  -webkit-background-clip:text;
  filter:drop-shadow(0 0 3px rgba(21,128,255,.92)) drop-shadow(0 0 8px rgba(0,102,255,.62));
  text-shadow:none;
  animation:name-electric-current .58s steps(7,end) infinite;
}

/* Staggered positions: six different heights and offsets on each side. */
.orbit-1{--size:102px;--edge:14px;top:2%;animation-duration:13.4s;animation-delay:-4.1s;--x1:-8px;--x2:23px;--x3:4px}
.orbit-2{--size:80px;--edge:64px;top:18%;animation-duration:15.8s;animation-delay:-8.2s;--x1:-18px;--x2:12px;--x3:24px}
.orbit-3{--size:88px;--edge:27px;top:35%;animation-duration:12.9s;animation-delay:-6.7s;--x1:-10px;--x2:26px;--x3:-2px}
.orbit-4{--size:84px;--edge:71px;top:51%;animation-duration:17.2s;animation-delay:-10.4s;--x1:-22px;--x2:8px;--x3:19px}
.orbit-5{--size:90px;--edge:11px;top:69%;animation-duration:14.6s;animation-delay:-3.9s;--x1:-5px;--x2:29px;--x3:11px}
.orbit-6{--size:78px;--edge:55px;top:86%;animation-duration:16.1s;animation-delay:-11.3s;--x1:-20px;--x2:14px;--x3:27px}
.orbit-7{--size:104px;--edge:62px;top:7%;animation-duration:16.8s;animation-delay:-9.1s;--x1:18px;--x2:-17px;--x3:5px}
.orbit-8{--size:82px;--edge:12px;top:23%;animation-duration:13.1s;animation-delay:-5.8s;--x1:8px;--x2:-25px;--x3:-4px}
.orbit-9{--size:91px;--edge:69px;top:40%;animation-duration:15.2s;animation-delay:-12.2s;--x1:22px;--x2:-9px;--x3:-24px}
.orbit-10{--size:79px;--edge:30px;top:57%;animation-duration:17.6s;animation-delay:-7.4s;--x1:12px;--x2:-28px;--x3:-3px}
.orbit-11{--size:87px;--edge:6px;top:74%;animation-duration:14.2s;animation-delay:-10.8s;--x1:7px;--x2:-21px;--x3:-29px}
.orbit-12{--size:103px;--edge:58px;top:89%;animation-duration:16.5s;animation-delay:-13.6s;--x1:24px;--x2:-10px;--x3:-30px}

@keyframes orbit-drift-free{
  0%{transform:translate3d(var(--x1),var(--y1),0)}
  48%{transform:translate3d(var(--x2),var(--y2),0)}
  100%{transform:translate3d(var(--x3),var(--y3),0)}
}
@keyframes name-electric-current{
  0%{background-position:100% 50%}
  100%{background-position:-180% 50%}
}

/* Below wide desktop the portraits become a clean responsive constellation. */
@media(max-width:1280px){
  .universe-stage{width:96vw;margin-bottom:8px}
  .universe-stage .home-card{width:min(980px,100%);margin:0 auto}
  .orbit-layer{
    position:relative;
    inset:auto;
    order:3;
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:34px 10px;
    width:100%;
    margin:25px 0 14px;
    padding:0 8px 20px;
  }
  .orbit-lane{display:contents}
  .orbit-node,
  .orbit-1,.orbit-2,.orbit-3,.orbit-4,.orbit-5,.orbit-6,
  .orbit-7,.orbit-8,.orbit-9,.orbit-10,.orbit-11,.orbit-12{
    --size:76px;
    position:relative;
    inset:auto;
    top:auto;
    right:auto;
    bottom:auto;
    left:auto;
    justify-self:center;
    animation-name:mobile-lane-float;
  }
  .orbit-1,.orbit-7,.orbit-12{--size:86px}
  .home-kicker{order:4}
  .social-row{order:5}
  .community-section{order:6}
}
@media(max-width:600px){
  .home-intro{padding:10px 13px;border-radius:12px}
  .orbit-layer{grid-template-columns:repeat(4,minmax(0,1fr));gap:31px 5px}
  .orbit-node,
  .orbit-1,.orbit-2,.orbit-3,.orbit-4,.orbit-5,.orbit-6,
  .orbit-7,.orbit-8,.orbit-9,.orbit-10,.orbit-11,.orbit-12{--size:62px}
  .orbit-1,.orbit-7,.orbit-12{--size:68px}
  .orbit-node .orbit-name{font-size:.7rem;letter-spacing:.045em;top:calc(100% + 7px)}
}
@media(prefers-reduced-motion:reduce){
  .orbit-node:hover .orbit-name,.orbit-node:focus-visible .orbit-name{animation:none;background-position:50% 50%}
}

/* V8: full original portrait composition; no extra ring or circular crop. */
.mobile-characters{display:contents}
.mobile-characters > summary{display:none}
.orbit-node::before{display:none}
.orbit-node > picture,.orbit-node .max-portraits,.orbit-node .max-portraits > picture{
 border-radius:0;object-fit:contain;overflow:visible;
}
.orbit-name{display:block}
/* Mobile/tablet uses native accessible disclosure and stable, selectable rows. */
@media(max-width:1280px){
 .mobile-characters{display:block;order:3;width:min(600px,100%);margin:16px auto;
  border:1px solid rgba(20,120,255,.4);border-radius:14px;background:rgba(4,15,34,.9);text-align:left}
 .mobile-characters > summary{display:flex;justify-content:space-between;align-items:center;
  cursor:pointer;padding:16px 18px;color:#70baff;font-size:1.12rem;font-weight:600;list-style:none}
 .mobile-characters > summary::-webkit-details-marker{display:none}
 .mobile-characters[open] > summary span{transform:rotate(45deg)}
 .mobile-characters:not([open]) > .orbit-layer{display:none}
 .mobile-characters .orbit-layer{display:block;position:static;inset:auto;width:auto;
  margin:0;padding:0 12px 12px;max-height: min(65vh,540px);overflow-y:auto;pointer-events:auto}
 .mobile-characters .orbit-lane{display:contents}
 .mobile-characters .orbit-lane .orbit-node{display:flex;align-items:center;gap:18px;
  position:static;inset:auto;transform:none;animation:none;will-change:auto;
  width:100%;height:auto;min-height:82px;padding:10px 6px;margin:0;
  border-radius:0;border-top:1px solid rgba(20,120,255,.16);text-decoration:none}
 .mobile-characters .orbit-node > picture,.mobile-characters .max-portraits{
  width:64px;height:64px;flex:0 0 64px}
 .mobile-characters .orbit-node .orbit-name{
  position:static;transform:none;opacity:1;margin:0;padding:0;
  font-size:1.1rem;line-height:1.3;white-space:normal;color:#459eff;
  background:none;filter:none;animation:none;text-shadow:0 0 8px rgba(0,102,255,.3)}
 .mobile-characters .orbit-node:focus-visible{outline:2px solid #459eff;outline-offset:-2px}
}

/* V9: photographic wrappers preserve layout and native page interaction. */
.photo{display:block;position:relative;isolation:isolate;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.photo img{display:block;width:100%;height:auto;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}
.photo::after{content:"";position:absolute;inset:0;z-index:2;background:transparent}
.orbit-node .photo,.orbit-node .photo img{width:100%;height:100%;object-fit:contain}
.max-portraits > picture{position:absolute;inset:0;transition:opacity .35s ease}
.knight-media > picture{width:100%}
.knight-media .photo img{object-fit:contain}
@media(max-width:1280px){.mobile-characters .orbit-node > .photo{width:64px;height:64px;flex:0 0 64px}}
.alex-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center}
.alex-intro h1{font-size:clamp(3rem,8vw,6rem);margin:0;color:#e9f2ff}
.alex-intro p{font-size:1.2rem;color:#b8c8de;line-height:1.6}
.identity{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.identity div{padding:12px;border-bottom:1px solid #163e70}.identity dt{color:#639feb}.identity dd{margin:4px 0;font-size:1.2rem}
.evolution{margin-top:60px}.evolution h2{font-size:2rem}.evolution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.era{padding:18px;border:1px solid #163e70;border-radius:18px;background:rgba(5,18,38,.6)}
.era h3{color:#60a7ff;font-size:1.5rem;margin:16px 0 6px}.era p{line-height:1.6;color:#bccadd}
.photo-open{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in}
.photo-open:focus-visible{outline:2px solid #459eff;outline-offset:4px}
.era .photo img{height:420px;object-fit:contain}
.viewer{width:min(96vw,1800px);max-width:96vw;max-height:94vh;padding:48px 12px 12px;background:#03070f;border:1px solid #2586ff;color:white}
.viewer::backdrop{background:rgba(0,0,0,.92)}
.viewer .photo img{max-height:80vh;width:auto;max-width:100%;margin:auto;object-fit:contain}
.viewer button{position:sticky;top:0;display:block;margin-left:auto;padding:10px 16px;background:#123768;color:white;border:1px solid #569fff;cursor:pointer}
@media(max-width:700px){.alex-intro,.evolution-grid{grid-template-columns:1fr}.era .photo img{height:auto}.alex-intro{gap:18px}}
@media(prefers-reduced-motion:reduce){.orbit-node,.orbit-lane-right .orbit-node,.stars,.stars2{animation:none!important}}

/* FASE 1.2 — global premium type, shared header, quiet pages and low Bergamo band */
:root{
  --ui-font:'Rajdhani','Trebuchet MS','Segoe UI',Arial,sans-serif;
  --editorial-font:Georgia,'Times New Roman',serif;
  --soft-white:#edf1f7;
  --soft-silver:#b8c2d0;
}

body{
  font-family:var(--ui-font);
  font-size:16px;
  color:var(--soft-white);
}

.ui-smallcaps,
.menu a,
.page-head h1,
.content-card h2,
.concept-placeholder h2,
.coming-soon h1,
.coming-soon .work-state,
.site-button,
.contact-page-form button,
.contact-page-form label,
.contact-info-links a,
.bergamo-signal,
.identity dt,
.evolution h2,
.era h3{
  font-family:var(--ui-font);
  font-variant-caps:all-small-caps;
  font-weight:600;
  letter-spacing:.075em;
}

.page-head{margin:34px 0 38px}
.page-head h1{
  max-width:980px;
  margin:0 0 12px;
  color:var(--soft-white);
  font-size:clamp(2.35rem,5vw,4rem);
  font-weight:500;
  line-height:1;
  letter-spacing:.055em;
}
.page-head p{color:var(--soft-silver);font-size:1.05rem;line-height:1.75}
.accent{color:#6fb5ff;text-shadow:0 0 16px rgba(0,102,255,.22)}

/* One calm global header. Desktop navigation remains on one line. */
.nav-wrap{
  max-width:1600px;
  min-height:88px;
  grid-template-columns:auto minmax(150px,230px) minmax(0,auto);
  gap:clamp(14px,1.8vw,30px);
  padding:9px clamp(16px,2.3vw,36px);
}
.brandmark{gap:12px;min-width:max-content}
.brandmark img{width:66px;height:66px}
.universe{
  color:#f0f4fb;
  font-family:var(--ui-font);
  font-size:clamp(1rem,1.35vw,1.3rem);
  font-weight:600;
  font-variant-caps:all-small-caps;
  letter-spacing:.11em;
}
.header-graffiti{width:min(225px,17vw)}
.menu{
  flex-wrap:nowrap;
  gap:clamp(12px,1.18vw,21px);
  white-space:nowrap;
}
.menu a{
  font-size:clamp(.8rem,.82vw,.92rem);
  font-weight:600;
  letter-spacing:.055em;
}

@media(max-width:940px){
  .nav-wrap{grid-template-columns:auto 1fr}
  .header-graffiti{justify-self:end;width:min(220px,28vw)}
  .menu{grid-column:1/-1;justify-content:center;padding-bottom:8px}
}
@media(max-width:600px){
  .nav-wrap{grid-template-columns:1fr;padding:8px 12px 10px}
  .brandmark,.header-graffiti{justify-self:center}
  .brandmark img{width:54px;height:54px}
  .header-graffiti{grid-column:1;width:min(230px,60vw)}
  .menu{grid-column:1;gap:9px 13px;flex-wrap:wrap;white-space:normal}
  .menu a{font-size:.8rem;white-space:nowrap}
}

.content-card{
  border-radius:16px;
  border-color:rgba(54,146,255,.2);
  background:linear-gradient(145deg,rgba(9,17,31,.86),rgba(4,8,15,.9));
}
.content-card h2{
  color:#e8edf5;
  font-size:clamp(1.55rem,2.6vw,2.25rem);
  line-height:1.1;
}
.content-card p{color:#c0c8d4;font-size:1.04rem}
.editorial-quote{
  font-family:var(--editorial-font)!important;
  font-variant-caps:normal!important;
  font-style:italic;
  font-weight:400!important;
  letter-spacing:.015em!important;
  color:#e3e6ec!important;
}

.coming-soon{
  min-height:430px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:clamp(42px,8vw,90px) 24px;
  border:1px solid rgba(52,145,255,.2);
  background:radial-gradient(circle at 50% 15%,rgba(0,102,255,.12),transparent 40%),rgba(5,10,18,.8);
}
.coming-soon h1{margin:0;color:#f0f3f8;font-size:clamp(2.3rem,5vw,4.3rem);font-weight:500}
.coming-soon p{margin:18px 0;color:#b7c1cf;font-size:clamp(1.05rem,2vw,1.3rem)}
.coming-soon .work-state{display:inline-block;margin-top:10px;color:#65adff;font-size:1rem}

.concept-placeholder{border-radius:12px;background:linear-gradient(135deg,rgba(0,102,255,.055),rgba(255,255,255,.015))}
.concept-placeholder h2{color:#e6ebf3;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500}

.contact-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:24px;align-items:start}
.contact-page-form{display:grid;gap:18px;margin-top:22px}
.contact-page-form .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-page-form label{display:grid;gap:8px;color:#d6dce6;font-size:.92rem}
.contact-page-form input,.contact-page-form textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.15);
  border-radius:4px;
  background:#03070d;
  color:#f4f6f9;
  font:1rem/1.4 var(--ui-font);
  padding:13px 14px;
}
.contact-page-form input:focus,.contact-page-form textarea:focus{outline:1px solid #409aff;border-color:#409aff}
.site-button,.contact-page-form button{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:max-content;
  padding:0 20px;
  border:1px solid rgba(215,179,91,.78);
  border-radius:3px;
  background:linear-gradient(105deg,rgba(8,124,255,.13),rgba(5,8,14,.94));
  color:#edf1f7;
  cursor:pointer;
}
.site-button:hover,.site-button:focus-visible,.contact-page-form button:hover,.contact-page-form button:focus-visible{border-color:#4da2ff;box-shadow:0 0 24px rgba(0,102,255,.18)}
.form-status{min-height:1.3em;margin:0;color:#d7b35b}
.contact-info-links{display:grid;gap:12px;margin-top:22px}
.contact-info-links a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#dce7f7}
.contact-info-links a:hover,.contact-info-links a:focus-visible{color:#69afff}
.contact-social.social-row{order:initial;justify-content:flex-start;margin:28px 0 0}
.bergamo-signal{max-width:1240px;margin:8px auto 22px;padding:0 22px;color:#8796aa;font-size:.82rem;text-align:right}

/* Approved Bergamo MASTER shown as a restrained panoramic band. */
.site-signature-footer{height:clamp(112px,18vw,260px)}
.site-signature-image{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center 38%;
}

@media(max-width:760px){
  .contact-layout,.contact-page-form .form-row{grid-template-columns:1fr}
  .coming-soon{min-height:340px}
  .site-button,.contact-page-form button{width:100%}
  .bergamo-signal{text-align:center}
}

/* FASE 1.3 — final surgical QA fixes */

/* Desktop navigation: larger, readable and always kept on one line. */
@media(min-width:941px){
  .menu{
    flex-wrap:nowrap;
    gap:clamp(14px,1.25vw,24px);
    white-space:nowrap;
  }
  .menu a{
    font-size:clamp(1.02rem,1.04vw,1.16rem);
    line-height:1.15;
    white-space:nowrap;
  }
}
@media(min-width:941px) and (max-width:1220px){
  .nav-wrap{grid-template-columns:auto 1fr}
  .header-graffiti{justify-self:end;width:min(220px,24vw)}
  .menu{grid-column:1/-1;justify-content:center;padding-bottom:8px}
}
@media(min-width:601px) and (max-width:940px){
  .menu{gap:10px;flex-wrap:nowrap;white-space:nowrap}
  .menu a{font-size:.96rem;line-height:1.15;white-space:nowrap}
}

/* Shared premium typography, rendered by CSS rather than Unicode glyphs. */
.page-head h1,
.page-head p,
.content-card h2,
.concept-placeholder h2,
.coming-soon h1,
.coming-soon .work-state,
.alex-intro h1,
.alex-intro .accent,
.evolution h2,
.era h3,
.identity dt,
.mobile-characters summary,
.community-heading,
.community-cta,
.site-button,
.contact-page-form label,
.contact-page-form button,
.contact-info-links a,
.viewer-close{
  font-family:var(--ui-font);
  font-variant-caps:all-small-caps;
  font-weight:600;
  letter-spacing:.075em;
}
.page-head p{
  font-size:1.05rem;
  font-weight:500;
  letter-spacing:.045em;
}

/* Contact-only editorial signal; deliberately absent from the Home. */
.bergamo-signal{
  font-family:var(--editorial-font);
  font-variant-caps:normal;
  font-style:italic;
  font-weight:400;
  letter-spacing:.015em;
  color:#8996a7;
  font-size:.78rem;
}

/* Full Bergamo MASTER inside a low band: no crop, no distortion. */
.site-signature-footer{
  height:clamp(110px,13.5vw,220px);
  display:grid;
  place-items:center;
  padding:0;
  overflow:hidden;
  background:#010102;
}
.site-signature-image{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
}
@media(max-width:600px){
  .site-signature-footer{height:clamp(96px,28vw,118px)}
  .site-signature-image{width:100%;height:100%;object-fit:contain}
}

/* ============================================================
   EDO FINAL FIX — 2026-09-18
   Surgical global overrides: centered graffiti, coherent type,
   compact non-cropped Bergamo footer. No structural changes.
   ============================================================ */

/* Softer Fabio Creator small-caps direction across the site. */
:root{
  --ui-font:'Alegreya Sans SC','Trebuchet MS','Segoe UI',Arial,sans-serif;
  --editorial-font:Georgia,'Times New Roman',serif;
}
body{font-family:var(--ui-font)}

/* True viewport-centred graffiti on desktop, independent from menu width. */
@media(min-width:1221px){
  .nav-wrap{
    position:relative;
    display:flex;
    max-width:1600px;
    min-height:92px;
    align-items:center;
    gap:24px;
  }
  .brandmark{flex:0 0 auto}
  .header-graffiti{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:min(250px,16vw);
    height:auto;
    margin:0;
    justify-self:auto;
  }
  .menu{
    margin-left:auto;
    flex:0 0 auto;
    flex-wrap:nowrap;
    white-space:nowrap;
  }
  .menu a{
    font-family:var(--ui-font);
    font-size:clamp(1rem,1vw,1.12rem);
    font-weight:600;
    letter-spacing:.065em;
    white-space:nowrap;
  }
}

/* Global typography: same soft small-caps language on every page. */
.menu a,.universe,.page-head h1,.page-head p,
.content-card h2,.content-card p,.coming-soon h1,.coming-soon p,.coming-soon .work-state,
.concept-placeholder h2,.concept-placeholder p,
.contact-page-form label,.contact-page-form button,.contact-info-links a,
.alex-intro h1,.alex-intro .accent,.evolution h2,.era h3,.identity dt,
.mobile-characters summary,.community-heading,.community-cta,.site-button,.viewer-close{
  font-family:var(--ui-font);
}
.page-head h1,.content-card h2,.coming-soon h1,.coming-soon .work-state,
.concept-placeholder h2,.contact-page-form button,.contact-info-links a,
.alex-intro h1,.alex-intro .accent,.evolution h2,.era h3,.identity dt,
.mobile-characters summary,.community-heading,.community-cta,.site-button,.viewer-close{
  font-variant-caps:all-small-caps;
  letter-spacing:.07em;
}
.page-head p,.content-card p,.coming-soon p,.concept-placeholder p,
.contact-page-form label{letter-spacing:.025em}
.editorial-quote,.bergamo-signal{
  font-family:var(--editorial-font)!important;
  font-variant-caps:normal!important;
  font-style:italic;
  letter-spacing:.012em!important;
}

/* Bergamo MASTER: never crop, never stretch. Keep it compact by limiting
   its rendered width instead of forcing it into a short full-width box. */
.site-signature-footer{
  width:100%;
  height:auto!important;
  min-height:0!important;
  display:flex;
  justify-content:center;
  align-items:center;
  padding:8px 16px 10px!important;
  overflow:visible!important;
  background:#010102;
}
.site-signature-image{
  display:block;
  width:min(100%,1080px)!important;
  height:auto!important;
  max-width:1080px!important;
  aspect-ratio:2048 / 682!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media(max-width:760px){
  .site-signature-footer{padding:6px 8px 8px!important}
  .site-signature-image{width:100%!important;max-width:100%!important;height:auto!important}
}
.contact-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
