/* Global visual system follows ginnguyen.com homepage (v18). */
:root{--gin-ink:#111213;--gin-muted:#aeb1b4;--gin-accent:#c3e9c5}
html{scroll-behavior:smooth}
body{font-family:Manrope,Arial,sans-serif;overflow-x:hidden}
.v18-head,.v18-nav,.v18-foot{font-family:Manrope,Arial,sans-serif}
body:not(.v18-home) .v18-head{position:sticky;top:0;z-index:999}
body:not(.v18-home) .v18-nav{z-index:998}
.v18-head .v18-brand img{height:40px;max-width:110px;object-fit:contain}
.v18-head>span{font-size:10px;letter-spacing:.11em}
.v18-head .v18-menu-button{font-size:12px}
body:not(.v18-home) .v18-foot{background:#111213;color:#f9f9f7}
body:not(.v18-home) .v18-foot a{color:inherit}
body:not(.v18-home) .v18-foot .mint{color:#c1eac8}
body.case-page{font-size:14px;line-height:1.65}
body.case-page p,body.case-page li{font-size:clamp(13px,1.1vw,15px);line-height:1.7}
body.case-page h1{font-size:clamp(38px,5.6vw,78px);line-height:1.08;letter-spacing:-.04em}
body.case-page h2{font-size:clamp(27px,3.6vw,52px);line-height:1.12;letter-spacing:-.035em}
body.case-page h3{font-size:clamp(18px,2.1vw,28px)}
main,section{scroll-margin-top:85px}
.gin-reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity .75s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.gin-reveal.gin-visible{opacity:1;transform:none}
.gin-ink-track{--gin-progress:0%;background:linear-gradient(90deg,#17191b var(--gin-progress),#babdc0 var(--gin-progress));background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;transition:background .08s linear}
@media(max-width:760px){.v18-head>span{display:none}.v18-head .v18-brand img{height:32px}body.case-page h1{font-size:clamp(32px,9vw,54px)}body.case-page h2{font-size:clamp(25px,7vw,38px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gin-reveal{opacity:1;transform:none;transition:none}.gin-ink-track{background:none;color:inherit!important;-webkit-text-fill-color:currentColor}}


/* Match legacy blog detail headlines to the new Manrope editorial typography.
   Legacy premium.css used !important font sizes, so scoped overrides are necessary. */
body.case-page .blog-main .blog-heading h1{
  font-family:Manrope,Arial,sans-serif!important;
  font-weight:750!important;
  font-size:clamp(34px,4.6vw,66px)!important;
  line-height:1.16!important;
  letter-spacing:-.048em!important;
  text-wrap:balance;
  max-width:1100px!important;
}
body.case-page .blog-main .article-body h2{
  font-family:Manrope,Arial,sans-serif!important;
  font-weight:750!important;
  font-size:clamp(23px,2.4vw,32px)!important;
  line-height:1.3!important;
  letter-spacing:-.035em!important;
}
@media(max-width:720px){
  body.case-page .blog-main .blog-heading h1{font-size:clamp(32px,7.3vw,48px)!important}
  body.case-page .blog-main .article-body h2{font-size:24px!important}
}
