html,body{margin:0;padding:0;background:#080B11;font-family:Inter,system-ui,-apple-system,sans-serif;color:#E3E9F0;}
*{box-sizing:border-box;}
a{color:#8FBEE0;}
a.name-link{color:inherit;text-decoration:none!important;border-bottom:none!important;transition:color .14s,text-shadow .14s;}
a.name-link:hover{color:#A8C8E4;text-shadow:0 0 16px rgba(168,200,228,0.55), 0 0 34px rgba(168,200,228,0.22);}
a:hover{color:#A8C8E4;}

.stage{width:100%;}
html.home{scroll-snap-type:y mandatory;overflow-x:clip;}
.block-anchor{height:0;scroll-snap-align:start;scroll-snap-stop:always;}
.stage-inner,.card-inner{width:1100px;max-width:100%;margin:0 auto;position:relative;}

.block{
  min-height:100vh;
  padding:46px 72px 38px;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
  background:#080B11;
  position:sticky;
  top:0;
}
.block-card{z-index:1;overflow:visible;width:100%;padding-left:0;padding-right:0;}
.card-inner{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;
  padding:0 72px;box-sizing:border-box;align-self:center;
}
.block-work,.block-ent{
  z-index:2;
  padding:56px 72px;
  justify-content:center;
  box-shadow:0 -34px 64px rgba(0,0,0,0.6);
}
.block-ent{z-index:3;justify-content:space-between;}
.block-end{
  z-index:4;
  padding:96px 72px 56px;
  justify-content:space-between;
  box-shadow:0 -34px 64px rgba(0,0,0,0.6);
}

.wordmark,.m-name{
  position:relative;display:block;text-align:left;
  font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;
  font-weight:900;letter-spacing:-0.055em;line-height:0.82;
  margin:0;color:#F2F6FA;text-transform:none;
}
.wordmark{
  flex:1 1 auto;min-height:0;
  display:flex;align-items:center;
  font-size:clamp(86px, 11vh, 128px);
}
.wm-fill{
  position:relative;z-index:2;display:block;
  font:inherit;letter-spacing:inherit;line-height:inherit;
  text-transform:inherit;color:inherit;margin:0;
  animation:wmFill 1.1s cubic-bezier(0.16,1,0.3,1) both;
}
.wm-fill span{color:#8FBEE0;}
.wm-echoes{
  position:absolute;inset:0;z-index:1;
  pointer-events:none;user-select:none;
  animation:wmDrift 16s 2.4s ease-in-out infinite alternate;
}
.wm-echo{
  position:absolute;left:0;top:50%;white-space:nowrap;
  color:transparent;
  --step:0.078;
  -webkit-text-stroke:1.15px rgba(186,200,216,0.32);
  transform-origin:28% 48%;
  animation:wmEcho 16s cubic-bezier(0.16,1,0.3,1) both;
  animation-delay:calc(var(--n) * 55ms);
}
@keyframes wmFill{
  from{opacity:0;transform:translateY(22px);}
  to{opacity:1;transform:none;}
}
@keyframes wmEcho{
  0%{
    transform:translateY(-50%) scale(1);
    opacity:0;
    -webkit-text-stroke-color:rgba(186,200,216,0.32);
  }
  14%{
    transform:translateY(-50%) scale(calc(1 + var(--n) * var(--step)));
    opacity:1;
    -webkit-text-stroke-color:rgba(186,200,216,0.32);
  }
  100%{
    transform:translateY(-50%) scale(calc(1 + var(--n) * var(--step)));
    opacity:0.22;
    -webkit-text-stroke-color:rgba(186,200,216,0.08);
  }
}
@keyframes wmDrift{
  from{transform:scale(1);}
  to{transform:scale(1.04) translate(0.8%, 0.3%);}
}
.marq{
  overflow:hidden;flex:0 0 auto;width:100%;
  margin:0 0 10px;padding:12px 0;
  border-top:1px solid #161D28;border-bottom:1px solid #161D28;
  position:relative;z-index:4;background:#080B11;
}
.marq-track{
  display:flex;width:max-content;
  animation:marq 32s linear infinite;
  font-size:11px;letter-spacing:0.22em;text-transform:uppercase;
  font-weight:600;color:#8D99A8;
}
.marq-track span{padding-right:2.4em;white-space:nowrap;}
@keyframes marq{to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){
  .wm-fill,.wm-echo,.wm-echoes,.marq-track{animation:none;}
  .wm-echo{
    transform:translateY(-50%) scale(calc(1 + var(--n) * var(--step)));
    opacity:0.22;
    -webkit-text-stroke-color:rgba(186,200,216,0.08);
  }
}

.contact-row{
  display:grid;grid-template-columns:auto auto auto 1fr;column-gap:56px;
  align-items:start;padding-top:30px;position:relative;z-index:60;background:#080B11;
}
.c-label{text-transform:uppercase;letter-spacing:0.24em;font-size:10px;color:#6B7889;margin-bottom:10px;font-weight:600;}
.c-link{color:#8FBEE0;text-decoration:none;font-size:13px;transition:color .16s,text-shadow .16s;}
.c-link:hover{color:#A8C8E4;text-shadow:0 0 16px rgba(168,200,228,0.55), 0 0 34px rgba(168,200,228,0.22);}
.c-meta{margin-top:4px;font-size:13px;color:#C7D1DC;}
.c-val{font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:#C7D1DC;}

.fun-wrap{position:relative;z-index:80;}
.fun-btn{
  background:none;border:none;padding:0;cursor:pointer;
  font-family:inherit;font-size:12px;font-weight:600;letter-spacing:0.14em;
  text-transform:uppercase;color:#8FBEE0;
}
.fun-btn:hover{color:#A8C8E4;text-shadow:0 0 16px rgba(168,200,228,0.55), 0 0 34px rgba(168,200,228,0.22);}
.fun-bubble{
  position:absolute;bottom:calc(100% + 70px);left:0;z-index:60;
  width:210px;height:210px;border-radius:50%;background:#101724;
  box-shadow:0 18px 46px rgba(0,0,0,0.55);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;line-height:1.45;color:#E3E9F0;
}
.fun-bubble[hidden]{display:none!important;}
.fun-text{width:70%;text-align:justify;text-align-last:center;}

.section-label{
  text-transform:uppercase;letter-spacing:0.28em;font-size:10px;color:#6B7889;
  margin-bottom:18px;font-weight:700;
}
.representing-label{margin-top:24px;}
.two-col{display:grid;grid-template-columns:1fr 1fr;column-gap:72px;}
.project-link{display:block;text-decoration:none;color:#F2F6FA;margin-bottom:20px;}
.project-link h3{
  font-weight:800;font-size:34px;letter-spacing:-0.03em;margin:0 0 6px;
  color:#F2F6FA;text-transform:uppercase;line-height:1;
  transition:color .16s,text-shadow .16s;
}
.project-link .kind{
  color:#8FBEE0;font-size:11px;text-transform:uppercase;letter-spacing:0.18em;font-weight:600;
  transition:color .16s,text-shadow .16s;
}
.project-link .arrow{opacity:0;transition:opacity .2s;}
.project-link:hover h3,.project-link:hover .kind{color:#A8C8E4;text-shadow:0 0 16px rgba(168,200,228,0.55), 0 0 34px rgba(168,200,228,0.22);}
.project-link:hover .arrow{opacity:1;}

.rep-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:72px;align-items:start;}
.rep-eyebrow{color:#6B7889;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;font-weight:600;}
.rep-name{font-weight:900;font-size:34px;letter-spacing:-0.03em;line-height:1;margin:4px 0 16px;color:#F2F6FA;text-transform:uppercase;}
.kind.muted{color:#8D99A8;font-size:11px;text-transform:uppercase;letter-spacing:0.18em;font-weight:600;}
.tour-line{font-size:12px;color:#8FBEE0;margin-top:12px;text-transform:uppercase;letter-spacing:0.18em;font-weight:600;}
.kiara-photo{width:150px;height:180px;object-fit:cover;margin-top:14px;display:block;filter:grayscale(0.1) contrast(1.02);}
.rep-p{font-size:13.5px;color:#B9C4D2;margin:0 0 12px;max-width:460px;line-height:1.6;}
.listen{font-size:12px;letter-spacing:0.16em;text-transform:uppercase;font-weight:600;color:#8FBEE0;text-decoration:none;}
.listen:hover{color:#A8C8E4;text-shadow:0 0 16px rgba(168,200,228,0.55), 0 0 34px rgba(168,200,228,0.22);}

.ent-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;width:100%;}
.ent-tile{
  min-height:28vh;display:flex;flex-direction:column;justify-content:flex-end;
  padding:26px;text-decoration:none;background:#0D1119;transition:background .18s;
  position:relative;
}
.ent-tile:hover{background:#131A24;}
.ent-void{min-height:28vh;background:repeating-linear-gradient(135deg,#0B0F16 0 6px,#0D1119 6px 12px);}
.ent-index{font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:#46586E;font-weight:700;margin-bottom:auto;}
.ent-tile h2{
  font-weight:900;font-size:38px;line-height:0.95;letter-spacing:-0.035em;
  text-transform:uppercase;color:#F2F6FA;margin:0 0 8px;
}
.ent-tile:hover h2{color:#A8C8E4;text-shadow:0 0 16px rgba(168,200,228,0.55), 0 0 34px rgba(168,200,228,0.22);}
.ent-sub{font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;font-weight:600;color:#8D99A8;}

.end-top,.end-bottom{
  display:flex;justify-content:space-between;align-items:baseline;
  font-size:10px;letter-spacing:0.2em;text-transform:uppercase;font-weight:600;color:#6B7889;
}
.end-top .amber{color:#F5A05A;}
.end-mid{padding:40px 0;}
.end-label{font-size:10px;letter-spacing:0.24em;text-transform:uppercase;color:#7E8B9C;font-weight:600;margin-bottom:20px;}
.end-mail{font-weight:800;font-size:54px;letter-spacing:-0.03em;color:#F2F6FA;text-decoration:none;display:inline-block;}
.end-mail:hover{color:#A8C8E4;text-shadow:0 0 16px rgba(168,200,228,0.55), 0 0 34px rgba(168,200,228,0.22);}
.end-phone{font-size:14px;letter-spacing:0.12em;color:#94A3B5;font-weight:500;margin-top:20px;}
.wip{display:flex;align-items:center;gap:12px;}
.wip-bar{width:74px;height:7px;background:repeating-linear-gradient(135deg,#F5A05A 0 5px,transparent 5px 10px);}
.wip span{font-size:9px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:#F5A05A;}
.wip-tile{position:absolute;top:26px;right:26px;flex-direction:column;align-items:flex-end;gap:6px;}
.wip-tile span{opacity:0.72;transition:opacity .18s;}
.ent-tile:hover .wip-tile span{opacity:1;}
.site-foot{
  display:flex;justify-content:space-between;align-items:baseline;gap:24px;
  margin-top:28px;padding-top:22px;border-top:1px solid #161D28;
  font-size:10px;letter-spacing:0.2em;text-transform:uppercase;font-weight:600;color:#6B7889;
}
.site-foot a{color:#8FBEE0;text-decoration:none;letter-spacing:0.14em;}
.site-foot a:hover{color:#A8C8E4;text-shadow:0 0 16px rgba(168,200,228,0.55), 0 0 34px rgba(168,200,228,0.22);}

.block-nav{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:120;display:flex;flex-direction:column;gap:18px;align-items:flex-end;}
.block-nav button{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;gap:10px;font-family:inherit;font-weight:600;font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:transparent;transition:color .2s;}
.block-nav button .dot{width:8px;height:8px;flex:0 0 8px;background:#46586E;transition:background .2s,box-shadow .2s,transform .2s;}
.block-nav button:hover{color:#6B7889;}
.block-nav button:hover .dot{background:#8FBEE0;}
.block-nav button.on .dot{background:#A8C8E4;box-shadow:0 0 12px rgba(168,200,228,0.7);transform:scale(1.25);}

.home-mobile{display:none;width:100%;max-width:460px;margin:0 auto;background:#080B11;color:#E3E9F0;}
.m-top{display:flex;justify-content:space-between;font-size:9.5px;font-weight:600;color:#6B7889;text-transform:uppercase;letter-spacing:0.18em;padding:60px 20px 18px;border-bottom:1px solid #8FBEE0;}
.m-pad{padding:0 20px 8px;}
.m-name{font-size:48px;margin:18px 0 8px;min-height:210px;display:flex;align-items:center;}
.m-name .wm-echo{--step:0.042;transform-origin:22% 48%;}
.home-mobile .marq{
  position:relative;left:50%;width:100vw;margin-left:-50vw;
  border-top:none;padding:12px 0;z-index:4;
}
.m-contact{display:grid;grid-template-columns:64px 1fr;row-gap:8px;column-gap:12px;padding:16px 20px;border-top:1px solid #161D28;border-bottom:1px solid #161D28;background:#0D1119;font-size:12.5px;color:#DCE4EC;position:relative;z-index:4;}
.m-contact span:nth-child(odd){font-size:9.5px;font-weight:600;color:#6B7889;text-transform:uppercase;letter-spacing:0.18em;align-self:center;}
.m-label{display:flex;align-items:center;gap:10px;font-size:10px;color:#6B7889;text-transform:uppercase;letter-spacing:0.26em;font-weight:700;margin:36px 20px 18px;}
.m-label i{flex:1;height:1px;background:#25303F;}
.m-project{display:block;text-decoration:none;color:inherit;padding:0 20px 22px;border-bottom:1px solid #161D28;margin-bottom:22px;}
.m-idx{font-size:10px;font-weight:600;color:#8FBEE0;letter-spacing:0.16em;text-transform:uppercase;margin-bottom:6px;}
.m-project h3{font-weight:800;font-size:22px;letter-spacing:-0.03em;margin:0 0 4px;color:#F2F6FA;text-transform:uppercase;line-height:1;}
.m-kind{font-size:10px;font-weight:600;color:#7F8B9A;text-transform:uppercase;letter-spacing:0.16em;}
.m-kind span{color:#A8C8E4;}
.m-rep{padding:0 20px 16px;}
.m-rep img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;border:1px solid #232E3C;margin-bottom:16px;filter:grayscale(0.08);}
.m-rep h3{font-weight:900;font-size:36px;letter-spacing:-0.04em;margin:6px 0 10px;color:#F2F6FA;text-transform:uppercase;line-height:0.95;}
.m-rep h3 span{color:#8FBEE0;}
.m-roles{font-size:10px;font-weight:600;color:#7F8B9A;text-transform:uppercase;letter-spacing:0.2em;margin-bottom:12px;}
.m-tour{font-size:10.5px;color:#8FBEE0;text-transform:uppercase;letter-spacing:0.18em;font-weight:700;margin-bottom:16px;}
.m-rep p{font-size:12.5px;color:#B9C4D2;margin:0 0 10px;line-height:1.6;}
.m-book{margin-top:18px;padding:14px 16px;border:1px solid #8FBEE0;display:block;font-size:12px;color:#8FBEE0;text-decoration:none;text-align:center;text-transform:uppercase;letter-spacing:0.18em;}
.m-ent{display:block;text-decoration:none;color:inherit;padding:0 20px 22px;border-bottom:1px solid #161D28;margin-bottom:22px;}
.m-ent-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;}
.m-ent-top > span{font-size:10px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:#46586E;}
.m-ent .wip{flex-direction:column;align-items:flex-end;gap:6px;}
.m-ent h3{font-weight:900;font-size:26px;letter-spacing:-0.03em;margin:0 0 6px;color:#F2F6FA;text-transform:uppercase;line-height:0.95;}
.m-foot{margin-top:36px;padding:18px 20px 48px;border-top:1px solid #161D28;font-size:9.5px;font-weight:600;color:#6B7889;text-transform:uppercase;letter-spacing:0.18em;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.m-foot a{color:#8FBEE0;text-decoration:none;letter-spacing:0.12em;}

@media (max-width:720px){
  .stage,.block-nav{display:none;}
  .home-mobile{display:block;}
  html.home{scroll-snap-type:none;}
}
