
/* v1.0.9 locked Adsphere typography: archive, cards, filters, single project, preview UI */
.asg-portfolio-archive,
.asg-portfolio-archive *,
.asg-single,
.asg-single *,
.asg-related,
.asg-related *,
.asg-404,
.asg-404 *{
  font-family:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.asg-title,
.asg-single h1,
.asg-single h2,
.asg-related h2,
.asg-404 h1{
  font-family:"Instrument Serif",Georgia,serif!important;
  font-weight:400!important;
}
.asg-card h3,
.asg-card h3 a,
.asg-preview-head,
.asg-preview-switch button,
.asg-device-bar strong,
.asg-faq-item summary,
.asg-meta-row strong,
.asg-card .asg-card-button{
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.asg-eyebrow,
.asg-card-kicker,
.asg-meta-row span,
.asg-term-filter a,
.asg-share span{
  font-family:"Space Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;
}
.asg-content,
.asg-content p,
.asg-intro,
.asg-card p,
.asg-clean-list li,
.asg-faq-item>div{
  font-family:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}

.asg-wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}.asg-portfolio-archive{padding-bottom:70px}.asg-hero{padding:90px 0 36px}.asg-eyebrow{display:inline-flex;border:1px solid rgba(15,23,42,.12);border-radius:999px;padding:7px 12px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#475569;background:#fff}.asg-title{font-size:clamp(38px,7vw,86px);line-height:.92;margin:18px 0;color:#0f172a;letter-spacing:-.06em}.asg-intro{font-size:clamp(17px,2vw,22px);color:#475569;max-width:820px;line-height:1.55}.asg-intro p{margin:0 0 .85em}.asg-card-grid{display:grid;gap:24px}.asg-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.asg-card{border:1px solid rgba(15,23,42,.1);border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.06);transition:transform .2s ease,box-shadow .2s ease}.asg-card:hover{transform:translateY(-4px);box-shadow:0 24px 70px rgba(15,23,42,.1)}.asg-card-media{display:block;aspect-ratio:16/10;background:#f1f5f9;overflow:hidden}.asg-card-media img{width:100%;height:100%;object-fit:cover;display:block}.asg-card-body{padding:22px}.asg-card-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#64748b;margin-bottom:9px}.asg-card h3{font-size:22px;line-height:1.1;margin:0 0 10px}.asg-card h3 a{text-decoration:none;color:#0f172a}.asg-card p{color:#64748b;line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.asg-pagination{display:flex;gap:10px;justify-content:center;margin:46px 0 0}.asg-pagination:empty{display:none}.asg-pagination .page-numbers{padding:10px 14px;border:1px solid rgba(15,23,42,.12);border-radius:999px;text-decoration:none;color:#0f172a}.asg-pagination .current{background:#0f172a;color:#fff}.asg-single{padding:70px 0}.asg-single-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;align-items:start}.asg-single h1{font-size:clamp(38px,6vw,76px);line-height:.95;letter-spacing:-.05em;margin:10px 0 18px;color:#0f172a}.asg-single h2{font-size:clamp(26px,3vw,42px);line-height:1.04;letter-spacing:-.035em;color:#0f172a;margin:42px 0 16px}.asg-meta-panel{position:sticky;top:90px;border:1px solid rgba(15,23,42,.1);border-radius:24px;padding:22px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.06)}.asg-meta-row{border-bottom:1px solid #e2e8f0;padding:12px 0}.asg-meta-row:last-child{border-bottom:0}.asg-meta-row span{display:block;font-size:12px;color:#64748b;text-transform:uppercase;letter-spacing:.1em}.asg-meta-row strong{display:block;color:#0f172a;margin-top:4px}.asg-content{font-size:18px;line-height:1.75;color:#334155}.asg-content p{margin:0 0 1.1em}.asg-featured{border-radius:26px;overflow:hidden;margin:28px 0}.asg-featured img{width:100%;height:auto;display:block}.asg-preview-zone{margin:34px 0}.asg-preview-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;color:#0f172a;font-weight:800}.asg-preview-head a{font-size:14px;text-decoration:none;color:#0f172a;border:1px solid rgba(15,23,42,.14);border-radius:999px;padding:9px 13px}.asg-device-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}.asg-device-grid.has-mobile{grid-template-columns:minmax(0,1fr) 430px}.asg-device{background:#0f172a;border:1px solid rgba(15,23,42,.14);box-shadow:0 24px 80px rgba(15,23,42,.2);overflow:hidden}.asg-device-desktop{border-radius:28px}.asg-device-bar{height:44px;display:flex;align-items:center;gap:8px;padding:0 16px;color:#fff;font-size:12px}.asg-device-bar span{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.35)}.asg-device-bar strong{margin-left:8px;font-size:12px;font-weight:700;opacity:.8}.asg-iframe-shell{overflow:hidden;background:#fff}.asg-device-desktop .asg-iframe-stage{height:760px}.asg-iframe-stage{position:relative;overflow:hidden;background:#fff}.asg-device-desktop .asg-iframe-stage iframe{width:1440px;height:2200px;max-width:none;border:0;display:block;transform-origin:top left}.asg-device-mobile{width:390px;max-width:100%;margin-inline:auto;border-radius:42px;padding:16px 12px 20px;background:#0f172a}.asg-phone-notch{width:92px;height:7px;border-radius:999px;background:rgba(255,255,255,.22);margin:0 auto 12px}.asg-device-mobile .asg-iframe-stage{height:740px;border-radius:28px;overflow:hidden}.asg-device-mobile .asg-iframe-stage iframe{width:390px;height:1600px;max-width:none;border:0;display:block;transform-origin:top left}.asg-iframe-fallback{display:none}.asg-iframe-shell.is-blocked iframe{display:none}.asg-iframe-shell.is-blocked .asg-iframe-fallback{display:block}.asg-iframe-fallback img{width:100%;height:auto;display:block}.asg-clean-list{padding-left:0;margin:0;list-style:none;display:grid;gap:10px}.asg-clean-list li{position:relative;margin:0;padding:14px 16px 14px 42px;border:1px solid rgba(15,23,42,.1);border-radius:16px;background:#fff;color:#334155;line-height:1.55;box-shadow:0 10px 30px rgba(15,23,42,.04)}.asg-clean-list li:before{content:"";position:absolute;left:17px;top:22px;width:9px;height:9px;border-radius:50%;background:#0f172a}.asg-share{display:flex;flex-wrap:wrap;gap:10px;margin:34px 0;align-items:center}.asg-share span{font-weight:800;color:#0f172a;margin-right:4px}.asg-share a{border:1px solid rgba(15,23,42,.14);border-radius:999px;padding:9px 13px;text-decoration:none;color:#0f172a;background:#fff}.asg-related{margin:56px 0}.asg-related h2{font-size:34px;letter-spacing:-.03em;color:#0f172a}.asg-404{min-height:65vh;display:grid;place-items:center;text-align:center;padding:60px 20px}.asg-404 h1{font-size:clamp(56px,12vw,140px);margin:0;color:#0f172a}.asg-button{display:inline-flex;align-items:center;border-radius:999px;background:#0f172a;color:#fff!important;text-decoration:none;padding:13px 18px;margin-top:16px}.asg-term-filter{position:relative;display:flex;gap:10px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;margin:22px 0 34px;padding:0 24px 8px 0;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 46px),transparent 100%)}.asg-term-filter::-webkit-scrollbar{height:0}.asg-term-filter a{flex:0 0 auto;scroll-snap-align:start;border:1px solid rgba(15,23,42,.14);border-radius:999px;padding:10px 15px;text-decoration:none;color:#0f172a;background:#fff;white-space:nowrap}.asg-term-filter .is-active{background:#0f172a;color:#fff}.asg-case-section{margin-top:26px}
@media(max-width:1200px){.asg-device-grid.has-mobile{grid-template-columns:1fr}.asg-device-mobile{width:390px}.asg-device-desktop .asg-iframe-stage iframe{transform:scale(calc((100vw - 80px)/1440));}.asg-device-desktop .asg-iframe-stage{height:min(760px,calc((100vw - 80px)*.53))}}
@media(max-width:900px){.asg-grid-3{grid-template-columns:1fr 1fr}.asg-single-grid{grid-template-columns:1fr}.asg-meta-panel{position:relative;top:auto}.asg-device-desktop .asg-iframe-stage{height:560px}.asg-device-desktop .asg-iframe-stage iframe{transform:scale(calc((100vw - 32px)/1440));}.asg-device-mobile .asg-iframe-stage{height:700px}}
@media(max-width:640px){.asg-grid-3{grid-template-columns:1fr}.asg-hero{padding:58px 0 28px}.asg-card-body{padding:18px}.asg-preview-head{align-items:flex-start;flex-direction:column}.asg-device-desktop .asg-iframe-stage{height:430px}.asg-device-desktop .asg-iframe-stage iframe{transform:scale(calc((100vw - 32px)/1440));}.asg-device-mobile{width:min(390px,100%);padding:14px 10px 18px}.asg-device-mobile .asg-iframe-stage{height:620px}.asg-device-mobile .asg-iframe-stage iframe{width:390px;transform:scale(calc((100vw - 56px)/390));}.asg-single{padding:48px 0}.asg-card p{-webkit-line-clamp:6}}
.asg-seo-signals .asg-signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.asg-signal-grid>div{border:1px solid rgba(15,23,42,.1);border-radius:18px;background:#fff;padding:16px;box-shadow:0 10px 30px rgba(15,23,42,.04)}.asg-signal-grid span,.asg-ranking-checks span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#64748b;margin-bottom:6px}.asg-signal-grid strong{display:block;color:#0f172a;line-height:1.35}.asg-signal-grid .asg-clean-list{margin-top:8px}.asg-signal-grid .asg-clean-list li{box-shadow:none;padding:10px 12px 10px 34px;border-radius:12px}.asg-signal-grid .asg-clean-list li:before{left:14px;top:17px;width:7px;height:7px}.asg-faq-section{margin-top:46px}.asg-faq-accordion{display:grid;gap:12px}.asg-faq-item{border:1px solid rgba(15,23,42,.1);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(15,23,42,.05);overflow:hidden}.asg-faq-item summary{cursor:pointer;list-style:none;padding:18px 52px 18px 18px;font-weight:800;color:#0f172a;position:relative}.asg-faq-item summary::-webkit-details-marker{display:none}.asg-faq-item summary:after{content:'+';position:absolute;right:18px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#0f172a;color:#fff;font-weight:700}.asg-faq-item[open] summary:after{content:'–'}.asg-faq-item>div{padding:0 18px 18px;color:#475569;line-height:1.7}.asg-faq-item>div p{margin:0}.asg-ranking-checks{border-top:1px solid #e2e8f0;margin-top:14px;padding-top:16px}.asg-ranking-checks ul{margin:8px 0 0;padding-left:18px;color:#475569;line-height:1.55;font-size:14px}.asg-ranking-checks li{margin:4px 0}@media(max-width:700px){.asg-seo-signals .asg-signal-grid{grid-template-columns:1fr}}


/* v1.0.5 iframe fit engine: fixed viewport rendered through a scaled inner layer + auto revive */
.asg-device{max-width:100%!important;box-sizing:border-box!important;}
.asg-device-desktop{width:100%!important;max-width:1120px!important;margin-inline:auto!important;}
.asg-device-grid:not(.has-mobile) .asg-device-desktop{max-width:1120px!important;}
.asg-device-grid.has-mobile{grid-template-columns:minmax(0,1fr) minmax(280px,430px)!important;}
.asg-iframe-shell{width:100%!important;overflow:hidden!important;contain:layout paint!important;}
.asg-iframe-stage{position:relative!important;width:100%!important;height:var(--asg-stage-height,520px)!important;overflow:hidden!important;background:#fff!important;isolation:isolate!important;}
.asg-iframe-scale{position:absolute!important;inset:0 auto auto 0!important;width:var(--asg-base-width,1440px)!important;height:var(--asg-base-height,980px)!important;transform:translate3d(0,var(--asg-frame-y,0px),0) scale(var(--asg-frame-scale,.75))!important;transform-origin:top left!important;will-change:transform!important;}
.asg-iframe-scale iframe{display:block!important;width:var(--asg-base-width,1440px)!important;height:var(--asg-base-height,980px)!important;max-width:none!important;border:0!important;background:#fff!important;}
.asg-device-desktop .asg-iframe-stage{--asg-base-width:1440px;--asg-base-height:980px;}
.asg-device-mobile .asg-iframe-stage{--asg-base-width:390px;--asg-base-height:844px;border-radius:28px;}
.asg-device-mobile .asg-iframe-scale iframe{width:390px!important;height:844px!important;}
.asg-device-desktop .asg-iframe-stage iframe,.asg-device-mobile .asg-iframe-stage iframe{transform:none!important;translate:none!important;}
.asg-iframe-shell.is-blocked .asg-iframe-scale{display:none!important;}
@media(max-width:1200px){.asg-device-grid.has-mobile{grid-template-columns:1fr!important}.asg-device-mobile{width:390px!important}.asg-device-desktop .asg-iframe-stage{height:var(--asg-stage-height,520px)!important}.asg-device-desktop .asg-iframe-stage iframe{transform:none!important}}
@media(max-width:900px){.asg-device-desktop .asg-iframe-stage{height:var(--asg-stage-height,420px)!important}.asg-device-desktop .asg-iframe-stage iframe{transform:none!important}.asg-device-mobile .asg-iframe-stage{height:var(--asg-stage-height,700px)!important}}
@media(max-width:640px){.asg-device-desktop .asg-iframe-stage{height:var(--asg-stage-height,300px)!important}.asg-device-desktop .asg-iframe-stage iframe{transform:none!important}.asg-device-mobile .asg-iframe-stage{height:var(--asg-stage-height,620px)!important}.asg-device-mobile .asg-iframe-stage iframe{transform:none!important}}

/* v1.0.6 device switcher: never show desktop + phone side-by-side; one clean frame at a time */
.asg-preview-switch{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:5px!important;
  margin:0 0 16px!important;
  border:1px solid rgba(15,23,42,.12)!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 12px 36px rgba(15,23,42,.06)!important;
}
.asg-preview-switch button{
  appearance:none!important;
  border:0!important;
  border-radius:999px!important;
  padding:10px 15px!important;
  background:transparent!important;
  color:#0f172a!important;
  font:800 13px/1.1 inherit!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
.asg-preview-switch button.is-active{
  background:#0f172a!important;
  color:#fff!important;
}
.asg-preview-tabs{
  display:block!important;
}
.asg-preview-tabs .asg-device[hidden]{
  display:none!important;
}
.asg-preview-tabs .asg-device.is-active{
  display:block!important;
}
.asg-device-grid.has-mobile{
  grid-template-columns:1fr!important;
}
.asg-preview-tabs .asg-device-desktop{
  max-width:1120px!important;
  margin-inline:auto!important;
}
.asg-preview-tabs .asg-device-mobile{
  width:min(430px,100%)!important;
  max-width:430px!important;
  margin:0 auto!important;
  border-radius:38px!important;
  padding:14px!important;
  overflow:hidden!important;
}
.asg-device-mobile .asg-phone-notch{
  height:7px!important;
  width:96px!important;
  margin:8px auto 14px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.28)!important;
}
.asg-device-mobile .asg-iframe-shell{
  border-radius:28px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.asg-device-mobile .asg-iframe-stage{
  border-radius:28px!important;
  overflow:hidden!important;
  clip-path:inset(0 round 28px)!important;
  height:var(--asg-stage-height,650px)!important;
  max-height:min(72vh,700px)!important;
}
.asg-device-desktop .asg-iframe-stage{
  border-radius:0 0 27px 27px!important;
}
@media(max-width:767px){
  .asg-preview-zone{margin:28px calc(50% - 50vw) 34px!important;padding-inline:14px!important;overflow:hidden!important;}
  .asg-preview-head{padding-inline:2px!important;}
  .asg-preview-switch{width:100%!important;justify-content:center!important;}
  .asg-preview-switch button{flex:1 1 0!important;padding:11px 10px!important;}
  .asg-preview-tabs .asg-device-desktop{border-radius:22px!important;}
  .asg-preview-tabs .asg-device-mobile{width:min(390px,100%)!important;max-width:390px!important;border-radius:34px!important;padding:11px!important;}
  .asg-device-mobile .asg-iframe-stage{max-height:68vh!important;border-radius:24px!important;clip-path:inset(0 round 24px)!important;}
  .asg-device-mobile .asg-iframe-shell{border-radius:24px!important;}
}


/* v1.0.7 controlled preview sizing: stable phone width, taller mobile frame, manual auto-slide controls */
.asg-preview-tabs .asg-device-mobile,
.asg-device-mobile{
  width:min(390px, calc(100vw - 34px))!important;
  max-width:390px!important;
  min-width:0!important;
  margin-inline:auto!important;
  box-sizing:border-box!important;
}
.asg-device-mobile .asg-iframe-stage{
  height:var(--asg-stage-height, 780px)!important;
  max-height:none!important;
  min-height:min(560px, calc(100vh - 160px))!important;
  border-radius:26px!important;
  overflow:hidden!important;
  clip-path:inset(0 round 26px)!important;
}
.asg-device-mobile .asg-iframe-shell{
  border-radius:26px!important;
  overflow:hidden!important;
}
.asg-device-mobile .asg-iframe-scale,
.asg-device-desktop .asg-iframe-scale{
  pointer-events:auto!important;
}
.asg-device-mobile iframe,
.asg-device-desktop iframe{
  pointer-events:auto!important;
}
.asg-device-desktop .asg-iframe-stage{
  height:var(--asg-stage-height, 510px)!important;
}
@media(max-width:767px){
  .asg-preview-tabs .asg-device-mobile,
  .asg-device-mobile{width:min(390px, calc(100vw - 28px))!important;max-width:390px!important;padding:10px!important;}
  .asg-device-mobile .asg-iframe-stage{min-height:520px!important;max-height:82vh!important;border-radius:23px!important;clip-path:inset(0 round 23px)!important;}
  .asg-device-mobile .asg-iframe-shell{border-radius:23px!important;}
}


/* v1.0.8 archive card CTA */
.asg-card-body{display:flex!important;flex-direction:column!important;align-items:flex-start!important;height:100%!important;}
.asg-card .asg-card-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;margin-top:18px!important;padding:11px 15px!important;border:1px solid rgba(15,23,42,.12)!important;border-radius:999px!important;background:#0f172a!important;color:#fff!important;text-decoration:none!important;font-size:14px!important;font-weight:800!important;line-height:1!important;letter-spacing:-.02em!important;transition:transform .22s cubic-bezier(.16,1,.3,1),background .22s ease,box-shadow .22s ease!important;box-shadow:0 12px 32px rgba(15,23,42,.14)!important;}
.asg-card .asg-card-button:hover{transform:translateY(-2px)!important;background:#111827!important;box-shadow:0 18px 44px rgba(15,23,42,.2)!important;}
.asg-card .asg-card-button-icon{display:inline-grid!important;place-items:center!important;width:20px!important;height:20px!important;border-radius:50%!important;background:rgba(255,255,255,.14)!important;font-size:14px!important;line-height:1!important;transition:transform .22s cubic-bezier(.16,1,.3,1)!important;}
.asg-card .asg-card-button:hover .asg-card-button-icon{transform:translateX(2px)!important;}
@media(max-width:640px){.asg-card .asg-card-button{width:100%!important;margin-top:16px!important;padding:12px 16px!important;}.asg-card .asg-card-button-icon{margin-left:auto!important;}}
