/* Final presentation refinements */
section[id]{scroll-margin-top:84px}
.hero.section{
  width:min(1160px,calc(100% - 40px));
  min-height:auto;
  display:flex;
  flex-direction:column;
  gap:24px;
  padding-top:50px;
  padding-bottom:30px;
}
.hero-copy{
  width:min(1040px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  column-gap:44px;
  align-items:end;
}
.hero-copy .eyebrow{
  grid-column:1/-1;
  margin-bottom:14px;
}
.hero-copy h1{
  grid-column:1;
  grid-row:2/4;
  font-size:clamp(38px,4.1vw,58px);
  line-height:1.04;
  max-width:540px;
}
.hero-copy .lead{
  grid-column:2;
  grid-row:2;
  margin:0 0 16px;
  max-width:none;
  font-size:14px;
  line-height:1.9;
}
.hero-copy .hero-tags{
  grid-column:2;
  grid-row:3;
  margin-top:0;
}
.hero-showcase{
  width:100%;
  max-width:880px;
  margin:0 auto;
  padding:9px;
  border-radius:13px;
  box-shadow:0 28px 76px rgba(0,0,0,.42),0 0 45px rgba(255,59,167,.045);
}
.hero-showcase video{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:8px;
}
.showcase-note{
  padding:11px 6px 2px;
  font-size:10.5px;
}
#works{
  padding-top:42px;
}
#works .section-head{
  margin-bottom:24px;
}
#works .section-head h2{
  font-size:clamp(30px,3.6vw,46px);
}
.process-card{
  align-items:stretch;
}
.process-visual{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:12px;
  align-content:center;
  background:#05070a;
}
.process-visual figure{
  margin:0;
  position:relative;
  overflow:hidden;
  border-radius:8px;
  border:1px solid var(--line);
  background:#000;
}
.process-visual img{
  display:block;
  width:100%;
  height:100%;
  min-height:250px;
  aspect-ratio:16/10;
  object-fit:cover;
}
.process-visual figcaption{
  position:absolute;
  left:8px;
  bottom:8px;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(4,6,10,.78);
  backdrop-filter:blur(8px);
  color:#dce4ee;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
}
.ui-showcase{
  margin-top:14px;
  padding:14px 16px;
  grid-template-columns:.86fr 1.14fr;
  gap:16px;
  align-items:center;
}
.ui-copy .eyebrow{
  margin-bottom:5px;
}
.ui-copy h3{
  margin:3px 0 4px;
  font-size:18px;
}
.ui-copy p{
  font-size:12px;
  line-height:1.7;
}
.ui-images{
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.ui-images img{
  max-height:118px;
}
.other-works{
  grid-template-columns:1fr;
  gap:18px;
}
.small-work{
  display:grid;
  grid-template-columns:minmax(420px,1.15fr) .85fr;
  gap:28px;
  align-items:center;
  padding:20px;
}
.small-work img,
.small-work:first-child img{
  width:100%;
  height:auto;
  max-height:none;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
  background:#06080b;
}
.small-work h3{
  font-size:26px;
  margin:8px 0 10px;
}
.small-work p{
  font-size:14px;
  line-height:1.85;
}
.web-work{
  margin-top:14px;
  min-height:0;
  grid-template-columns:1.22fr .78fr;
  gap:22px;
  padding:20px 22px;
  border-color:rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 80% 48%,rgba(255,59,167,.055),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.022),rgba(255,255,255,.009));
}
.web-work-copy h3{
  font-size:clamp(30px,3.1vw,40px);
  margin-top:6px;
}
.web-sub{
  margin:0 0 10px;
  font-size:12.5px;
}
.web-work-copy>p:not(.web-sub){
  margin:0 0 9px;
  font-size:12.5px;
  line-height:1.7;
}
.web-tags{
  gap:6px;
  margin:12px 0 0;
}
.web-tags span{
  padding:5px 8px;
  font-size:9px;
}
.site-link{
  min-height:36px;
  padding:0 12px;
  font-size:11px;
}
.phone-stage{
  min-height:365px;
  padding:0;
}
.phone-stage:before{
  width:240px;
  height:240px;
  opacity:.68;
}
.phone-shell{
  width:172px;
  height:365px;
  padding:8px 7px 10px;
  border-radius:29px;
}
.phone-shell:before{
  inset:4px;
  border-radius:25px;
}
.phone-top{
  top:11px;
  width:66px;
  height:18px;
}
.phone-speaker{width:30px;height:4px}
.phone-camera{width:6px;height:6px}
.phone-screen{border-radius:23px}
.phone-screen iframe{
  width:390px;
  height:844px;
  transform:scale(.40);
}
.phone-homebar{
  width:60px;
  height:3px;
  bottom:7px;
}
.phone-side-a{top:68px;height:24px}
.phone-side-b{top:105px;height:40px}
.phone-side-c{top:156px;height:40px}
.phone-caption{
  margin-top:10px;
  font-size:9px;
}
.chart-editor-showcase{
  margin-top:18px;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:24px;
  align-items:center;
  padding:18px;
  border:1px solid rgba(57,230,255,.14);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(57,230,255,.025),rgba(255,255,255,.012));
}
.chart-editor-preview{
  display:block;
  width:100%;
  aspect-ratio:1592/1004;
  min-height:0;
  border-radius:8px;
  border:1px solid var(--line);
  background:#050609;
  overflow:hidden;
}
.chart-editor-copy>span{
  color:var(--pink);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
}
.chart-editor-copy h3{
  margin:7px 0 8px;
  font-size:22px;
  letter-spacing:-.02em;
}
.chart-editor-copy p{
  margin:0;
  color:#b8c1cc;
  font-size:13px;
  line-height:1.8;
}
.chart-editor-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:14px;
}
.chart-editor-tags span{
  padding:5px 8px;
  border:1px solid rgba(57,230,255,.18);
  background:rgba(57,230,255,.035);
  color:#d6f9ff;
  font-size:9px;
  letter-spacing:.04em;
}
.project-caption{
  margin:12px 2px 0;
  color:#7f8a98;
  font-size:11px;
  line-height:1.7;
  letter-spacing:.01em;
}
.about-line{
  padding-top:44px;
  padding-bottom:44px;
  border-top:1px solid var(--line);
}
.about-line p{
  max-width:980px;
  margin:0;
  color:#c4ccd6;
  font-size:15px;
  font-weight:400;
  line-height:1.95;
  letter-spacing:0;
}
.about-line p + p{
  margin-top:14px;
}
@media(max-width:900px){
  section[id]{scroll-margin-top:118px}
  .topbar{
    height:auto;
    min-height:82px;
    padding:9px 14px 8px;
    gap:7px;
    flex-wrap:wrap;
    align-content:center;
  }
  .brand{
    flex:0 0 100%;
  }
  .topbar nav{
    display:flex !important;
    width:100%;
    gap:18px;
    overflow-x:auto;
    white-space:nowrap;
    padding:0 0 2px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .topbar nav::-webkit-scrollbar{display:none}
  .topbar nav a{
    flex:0 0 auto;
    font-size:10px;
  }
  .hero.section{
    width:min(100% - 28px,1040px);
    padding-top:42px;
    padding-bottom:34px;
  }
  #works{
    padding-top:34px;
  }
  .hero-copy{
    display:block;
  }
  .hero-copy h1{
    font-size:clamp(38px,8vw,54px);
  }
  .hero-copy .lead{
    margin-top:20px;
  }
  .hero-copy .hero-tags{
    margin-top:22px;
  }
  .hero-showcase{
    max-width:820px;
  }
  .ui-showcase{
    grid-template-columns:1fr;
    gap:10px;
    padding:14px;
  }
  .ui-images{
    grid-template-columns:1fr 1fr;
  }
  .small-work{
    grid-template-columns:1fr;
    gap:18px;
  }
  .web-work{
    grid-template-columns:minmax(0,1fr) 190px;
    gap:14px;
    padding:18px;
  }
  .phone-stage{
    min-height:365px;
  }
  .chart-editor-showcase{
    grid-template-columns:1fr;
    gap:16px;
  }
}
@media(max-width:560px){
  section[id]{scroll-margin-top:112px}
  .topbar{
    padding-left:13px;
    padding-right:13px;
  }
  .brand{font-size:10.5px}
  .topbar nav{gap:15px}
  .hero.section{
    width:calc(100% - 18px);
    gap:20px;
    padding-top:34px;
    padding-bottom:28px;
  }
  #works{
    padding-top:28px;
  }
  #works .section-head{
    margin-bottom:20px;
  }
  .hero-copy{
    width:calc(100% - 8px);
  }
  .hero-copy h1{
    font-size:36px;
    line-height:1.08;
  }
  .hero-copy .lead{
    font-size:13px;
    line-height:1.85;
  }
  .hero-showcase{
    width:calc(100% - 10px);
    padding:7px;
    border-radius:12px;
  }
  .showcase-note{
    flex-direction:column;
    gap:3px;
    padding:10px 4px 1px;
  }
  .process-visual{
    grid-template-columns:1fr;
    padding:9px;
  }
  .process-visual img{
    min-height:0;
    aspect-ratio:16/9;
  }
  .ui-showcase{
    padding:12px;
  }
  .ui-images img{
    max-height:92px;
  }
  .web-work{
    grid-template-columns:1fr;
    padding:16px 14px;
  }
  .web-work-copy h3{
    font-size:30px;
  }
  .phone-stage{
    display:none;
  }
  .chart-editor-showcase{
    padding:12px;
  }
  .chart-editor-copy h3{
    font-size:20px;
  }
  .chart-editor-copy p{
    font-size:12px;
  }
  .small-work{
    padding:14px;
  }
  .small-work h3{
    font-size:23px;
  }
  .project-caption{
    font-size:10px;
    line-height:1.65;
  }
  .about-line p{
    font-size:14px;
    line-height:1.9;
  }
}
