/* Gin: original portfolio editorial system, responsive blog */
.gin-editorial,.gin-blog-service{font-family:Manrope,Arial,sans-serif}
.gin-article-shell{width:min(calc(100% - 2*var(--g,4vw)),1320px);margin:auto}
.gin-breadcrumb{display:flex;gap:12px;padding:30px 0;font-size:10px;font-weight:800;letter-spacing:.1em;color:#666}
.gin-eyebrow,.gin-byline{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;border-top:1px solid #aaa;padding-top:14px;font-size:10px;letter-spacing:.1em;font-weight:800}
.gin-article-head h1{font:800 clamp(36px,4.6vw,66px)/1.16 Manrope,Arial,sans-serif;text-transform:none;letter-spacing:-.048em;max-width:1100px;margin:30px 0 22px;overflow-wrap:break-word;text-wrap:balance}
.gin-deck{max-width:850px;font-size:clamp(16px,1.75vw,23px)!important;line-height:1.5!important;color:#444}
.gin-byline{margin:48px 0 16px;border-top:1px solid #ddd}
.gin-article-art,.gin-post-cover{position:relative;background:var(--gin-cover,#dae3df);color:#111;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between}
.gin-article-art{min-height:clamp(300px,47vw,530px);padding:clamp(26px,5vw,65px);margin:0 0 75px}
.gin-article-art::before,.gin-post-cover::before{content:"";position:absolute;width:55%;aspect-ratio:1;border:1px solid #0003;border-radius:50%;right:-9%;top:-47%;box-shadow:0 0 0 80px #fff2,0 0 0 170px #0001;z-index:-1}
.gin-article-art span,.gin-article-art em{font-size:10px;font-weight:800;letter-spacing:.11em;font-style:normal}
.gin-article-art strong{font:800 clamp(28px,4.2vw,54px)/1.12 Manrope,Arial,sans-serif;letter-spacing:-.045em;max-width:82%;overflow-wrap:break-word;text-wrap:balance}
.gin-article-art i,.gin-post-cover i{position:absolute;top:22px;right:26px;font:400 clamp(55px,10vw,120px) "Anton",Impact,sans-serif;font-style:normal}
.gin-reading-grid{display:grid;grid-template-columns:210px minmax(0,1fr);gap:clamp(35px,7vw,115px);align-items:start}
.gin-reading-toc{position:sticky;top:110px;display:flex;flex-direction:column;gap:16px;border-top:1px solid #111;padding:20px 0}
.gin-reading-toc strong{font-size:10px;letter-spacing:.1em}.gin-reading-toc a{font-size:12px;color:#6e6e6e;line-height:1.5}.gin-reading-toc a:hover{color:#000}
.gin-reading-copy{max-width:800px;min-width:0}.gin-reading-copy section{border-top:1px solid #ddd;padding:32px 0 45px;scroll-margin-top:110px}
.gin-reading-copy h2{font:800 clamp(24px,3vw,36px)/1.25 Manrope,sans-serif;letter-spacing:-.035em;margin:0 0 21px}
.gin-reading-copy p{font-size:clamp(14px,1.2vw,16px)!important;line-height:1.9!important;margin:0;color:#333}
.gin-answer{border-top:3px solid #111;padding:24px 0 40px}
.gin-answer span,.gin-article-tags span{display:block;font-size:10px;letter-spacing:.12em;font-weight:800;margin-bottom:14px}
.gin-answer p{font:600 clamp(18px,2.2vw,27px)/1.54 Manrope,sans-serif!important;color:#111!important}
.gin-article-faq details{border-bottom:1px solid #ddd;padding:17px 0}.gin-article-faq summary{font-weight:800;font-size:15px;cursor:pointer;line-height:1.5}.gin-article-faq details p{margin-top:13px}
.gin-references a{text-decoration:underline;text-underline-offset:3px}.gin-references ul{padding-left:22px}.gin-references li{font-size:13px;line-height:1.8}
.gin-article-tags{padding:22px 0;border-top:1px solid #ddd;font-size:12px}
.gin-service-suggest,.gin-blog-service{background:#101010;color:white;padding:clamp(30px,5vw,65px);margin:80px 0 100px}
.gin-service-suggest>small,.gin-blog-service>span{font-size:11px;font-weight:800;letter-spacing:.1em;color:#ddd}
.gin-service-suggest h2,.gin-blog-service h2{font:800 clamp(37px,4.9vw,72px)/1.08 Manrope,Arial,sans-serif;letter-spacing:-.052em;margin:24px 0}
.gin-service-suggest h2 span{color:#c1e7cf}
.gin-service-suggest p,.gin-blog-service p{font-size:clamp(14px,1.25vw,17px);line-height:1.7;max-width:760px;color:#d1d1d1}
.gin-cta-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.gin-cta-actions a{border:1px solid #fff;color:#fff;padding:15px 18px;font-size:11px;font-weight:800;letter-spacing:.04em}
.gin-cta-actions a:first-child{background:white;color:#111}.gin-cta-actions a:hover{background:#c3e9c5;color:#111;border-color:#c3e9c5}
.gin-related{margin:65px 0 120px}.gin-related-head{border-top:1px solid #aaa;padding:16px 0;display:flex;justify-content:space-between;font-weight:800;font-size:10px;letter-spacing:.08em}
.gin-related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.gin-related-links a{border-top:1px solid #aaa;padding:15px 0;display:flex;flex-direction:column;gap:13px}.gin-related-links small{font-size:10px;color:#666}.gin-related-links strong{font-size:clamp(15px,1.5vw,20px);line-height:1.42}
.gin-blog-filters{display:flex;gap:7px;padding:15px 0;overflow-x:auto;scrollbar-width:thin}.gin-blog-filters button{flex-shrink:0;border:1px solid #ccc;background:white;padding:10px 13px;font:800 10px Manrope,sans-serif;color:#555;transition:background .15s}
.gin-blog-filters button:hover,.gin-blog-filters button[aria-pressed=true]{color:#fff;background:#111;border-color:#111}
.gin-blog-result{font-size:11px!important;color:#777;margin:3px 0 32px}.gin-post-cover{aspect-ratio:1.5;padding:20px}
.gin-post-cover span{font-size:9px;font-weight:800;letter-spacing:.1em}.gin-post-cover strong{font:800 clamp(20px,2.3vw,33px)/1.2 Manrope,Arial,sans-serif;letter-spacing:-.045em;max-width:82%;overflow-wrap:break-word}.gin-post-cover i{font-size:58px}
.v18-post[hidden]{display:none!important}
@media(max-width:970px){.gin-reading-grid{grid-template-columns:1fr}.gin-reading-toc{position:static;flex-direction:row;flex-wrap:wrap}.gin-reading-toc strong{flex-basis:100%}}
@media(max-width:720px){.gin-article-shell{width:calc(100% - 36px)}.gin-article-head h1{font-size:clamp(32px,7.3vw,48px)}.gin-article-art{min-height:265px;margin-bottom:34px}.gin-article-art strong{font-size:clamp(24px,6.2vw,42px)}.gin-reading-copy section{padding:26px 0 35px}.gin-related-links{grid-template-columns:1fr}.gin-cta-actions{flex-direction:column}.gin-cta-actions a{text-align:center}.gin-service-suggest{margin:55px 0}}
@media(prefers-reduced-motion:reduce){.gin-blog-filters button{transition:none}}


/* 2026-10-19 / BLOG TYPOGRAPHY UNIFICATION
   Manrope for reading and editorial headlines; Anton stays on the portfolio homepage. */
.v18-intro h1{
  font:800 clamp(50px,6.8vw,90px)/1.06 Manrope,Arial,sans-serif;
  letter-spacing:-.065em;
  margin:34px 0 22px;
}
.v18-intro p{font-size:clamp(14px,1.25vw,16px);line-height:1.7}
.v18-feature h2{
  font:750 clamp(24px,3vw,41px)/1.23 Manrope,Arial,sans-serif;
  letter-spacing:-.045em;
  overflow-wrap:break-word;
}
.v18-post h3{
  font:750 clamp(18px,1.85vw,25px)/1.35 Manrope,Arial,sans-serif;
  letter-spacing:-.035em;
}
.v18-post p{font-size:14px;line-height:1.7}
.gin-post-cover i{font-size:clamp(34px,4vw,50px)}
.gin-article-art i{font-size:clamp(45px,6vw,80px)}
@media(max-width:720px){
  .v18-intro h1{font-size:clamp(40px,9.3vw,56px);margin:25px 0 16px}
  .v18-feature h2{font-size:clamp(24px,6.2vw,32px)}
  .v18-post h3{font-size:20px}
  .gin-service-suggest h2,.gin-blog-service h2{font-size:clamp(34px,8.2vw,52px)}
}
