/* Shared viewport hero: real Seolab photography, native controls, continuous page fade. */
body.seolab-public {
    --seolab-hero-end: #edf2f8;
    background: #fff;
}
body.seolab-public :is(main#mainPage, main#main-page) {
    background: linear-gradient(180deg, var(--seolab-hero-end), #fff) 0 90vh / 100% 50vh no-repeat, #fff;
    background-position-y: 90svh, 0;
}
body.seolab-public :is(.seolab-home, .seolab-people, .seolab-about, .seolab-methods, .seolab-processes, .seolab-clients, .forge-page, .seolab-book, .academy-page, .article-schema-page, .seolab-blog-page) {
    background: transparent;
    padding-top: 0;
}
body.seolab-public .seolab-hero {
    --hero-photo: none;
    box-sizing: border-box;
    position: relative;
    isolation: isolate;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
    width: 100vw !important;
    max-width: none !important;
    height: 90vh !important;
    height: 90svh !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-block: 0 !important;
    margin-inline: calc(50% - 50vw) !important;
    padding: clamp(24px, 4vh, 48px) clamp(16px, 3vw, 44px) !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, #345686, #b6c7dd 45%, var(--seolab-hero-end) 100%) !important;
    color: #182b46 !important;
    overflow: auto !important;
    scrollbar-width: none;
    scroll-margin-top: 80px;
}
body.seolab-public .seolab-hero::-webkit-scrollbar { display: none; }
body.seolab-public .seolab-hero::before {
    content: '';
    position: absolute;
    z-index: -2;
    inset: 0;
    width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    transform: none;
    display: block !important;
    background: var(--hero-photo) center / cover no-repeat;
    opacity: .8;
    pointer-events: none;
    mask-image: linear-gradient(180deg, #000 65%, transparent 100%);
}
body.seolab-public .seolab-hero::after {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    transform: none;
    display: block !important;
    background: linear-gradient(270deg, rgb(237 242 248 / 97%) 0%, rgb(237 242 248 / 88%) 38%, rgb(237 242 248 / 15%) 100%), linear-gradient(0deg, var(--seolab-hero-end), transparent 45%);
    pointer-events: none;
}
body.seolab-public .seolab-hero > :is(.hero-overlay, .img-breadcrumb, .ai-trend-bg, .sl-hero__scene) { display: none !important; }
body.seolab-public .seolab-hero > * { flex-shrink: 0; }
body.seolab-public .seolab-hero :is(h1, .hero-title) {
    color: #182b46 !important;
    -webkit-text-fill-color: #182b46;
    background: none !important;
    font-size: clamp(1.5rem, 3vw, 2.5rem) !important;
    line-height: 1.65 !important;
    margin: 0 0 14px !important;
    text-shadow: none !important;
}
body.seolab-public .seolab-hero :is(p, .hero-subtitle, .hero-desc, .sl-hero__sub, .sl-hero__secondary) { color: #263f63 !important; font-size: clamp(.9rem, 1.2vw, 1.05rem) !important; line-height: 1.95 !important; text-shadow: none !important; }
body.seolab-public .seolab-hero h2 { color: #263f63; font-size: clamp(1.05rem, 1.6vw, 1.35rem); line-height: 1.8; }
body.seolab-public .seolab-hero :is(.container, .hero-content) { width: 100%; max-width: 1280px; margin-inline: auto; min-width: 0; }
body.seolab-public .seolab-hero :is(.hero-content, .cover-breadcrumb, .c-detail-singleblog) { position: relative !important; inset: auto !important; height: auto !important; padding: 0 !important; background: none !important; transform: none !important; }
body.seolab-public .seolab-hero .over-breadcrumb { position: static; transform: none; }
body.seolab-public .seolab-hero :is(.hero-badge, .forge-hero__eyebrow, .seolab-page-hero__eyebrow) { display: inline-block; padding: 5px 12px; border-radius: 40px; background: #fff; color: #345686; font-size: .8rem; margin-bottom: 14px; }
body.seolab-public .seolab-hero :is(.seolab-hero__split, .book-hero__grid, .forge-hero__grid) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 4vw, 64px); }
body.seolab-public .seolab-hero :is(.seolab-hero__panel, .seolab-hero__media, .academy-planning) { min-width: 0; max-height: calc(90svh - 90px); overflow: auto; scrollbar-width: thin; }
body.seolab-public .seolab-hero__panel { background: rgb(255 255 255 / 96%); padding: clamp(16px, 2vw, 28px); border: 1px solid #dce5f1; border-radius: 20px; box-shadow: 0 18px 48px rgb(38 63 99 / 10%); }
body.seolab-public .seolab-hero :is(video, .seolab-hero__media > img) { display: block; width: 100%; height: auto !important; max-height: 52svh; object-fit: contain !important; background: #182b46; border-radius: 16px; }
body.seolab-public .seolab-hero .seolab-hero__media > img { background: transparent; }
body.seolab-public .seolab-hero .seolab-hero__panel :is(.container, .c-box-form, .c-form-contactus, #c-form, .wrapper-box-rank, .wrapper-box-keyword) { width: 100%; padding: 0 !important; margin: 0 !important; background: transparent; box-shadow: none; }
body.seolab-public .seolab-hero .seolab-hero__panel .pb-5 { padding-bottom: 0 !important; }
body.seolab-public .seolab-hero .seolab-hero__panel .form-control { min-height: 42px; }
body.seolab-public .seolab-hero .seolab-hero__panel textarea { max-height: 90px; }
body.seolab-public .seolab-hero .seolab-hero__panel [class*='mt-4'] { margin-top: 12px !important; }
body.seolab-public .seolab-hero .hero-copy > .pt-5 { padding-top: 12px !important; }
body.seolab-public .seolab-hero .seo-hero-grid { --bs-gutter-y: 20px; align-items: center; }
body.seolab-public .seolab-hero .marquee { position: relative; margin-top: 16px; flex-shrink: 0; }
body.seolab-public .seolab-page-hero .container { position: relative; }
body.seolab-public .seolab-page-hero :is(h1,p) { max-width: 740px; }
body.seolab-public .seolab-hero .sl-hero__inner { text-align: start; max-width: none; margin: 0; }
body.seolab-public .seolab-hero .sl-hero__sub { max-width: none; margin-top: 10px; }
body.seolab-public .seolab-hero .sl-audit-bar { margin-top: 18px; }
body.seolab-public .seolab-hero .sl-hero__msg:empty { display: none; }
body.seolab-public .seolab-hero .sl-hero__secondary { display: inline-flex; margin-top: 12px; }
body.seolab-public .sl-hero-trust .sl-trust { margin: 12px 0 24px; }
body.seolab-public .seolab-hero .book-hero__visual { display: flex; align-items: center; justify-content: center; min-width: 0; }
body.seolab-public .seolab-hero .book-hero__visual > img { display: block; width: 100%; max-width: 680px; height: auto; max-height: 68svh; object-fit: contain; border-radius: 0; box-shadow: none; filter: drop-shadow(0 24px 28px rgb(7 19 38 / 25%)); }
body.seolab-public .seolab-hero .btn-outline-light { color: #263f63; border-color: #345686; }
body.seolab-public .forge-hero-details .forge-hero__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 28px; margin-block: 16px 28px; color: #263f63; }
body.seolab-public .forge-hero-details strong { display: block; color: #345686; }
body.seolab-public .seolab-hero.academy-hero { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); align-items: center; }
body.seolab-public .seolab-hero :is(.academy-route-art, .academy-intro-note) { display: none; }
body.seolab-public .seolab-hero .academy-planning { margin: 0; }
body.seolab-public .seolab-hero .academy-planner { padding: 24px; }
body.seolab-public .seolab-hero.header-product .box-product-header { position: static !important; width: 100% !important; margin: 0 !important; max-height: 74svh; overflow: auto; }
body.seolab-public .seolab-hero.header-product .col-spanser { margin-top: 0 !important; }
body.seolab-public .seolab-hero .img-header-event { max-height: 40svh; width: auto; object-fit: contain; }
body.seolab-public .seolab-hero .flex-col-img-header { margin: 0; }
body.seolab-public .seolab-hero .video-header { width: 100% !important; }
body.seolab-public .seolab-hero #webgl { height: 100% !important; }
body.seolab-public .seolab-clients .seolab-hero .hero-content { pointer-events: none; }
body.seolab-public .seolab-clients .seolab-hero .hero-content button { pointer-events: auto; }
body.seolab-public .seolab-tool-hero__content { display: block; height: auto; }
body.seolab-public .seolab-tool-hero .article-schema-intro { max-width: none; margin: 0; flex-shrink: 0; }
/* Use only documented, real photos from Seolab's courses and events. */
body.seolab-public .seolab-home .seolab-hero { --hero-photo: none; background: linear-gradient(180deg, #345686 0%, #dce7f4 34%, var(--seolab-hero-end) 100%) !important; }
body.seolab-public .seolab-home .seolab-hero::before,
body.seolab-public .seolab-home .seolab-hero::after { display: none !important; }
body.seolab-public :is(.forge-page, .academy-page, .tutorial-wrapper) .seolab-hero { --hero-photo: url('../images/seolaboratory-1/7.jpg'); }
body.seolab-public :is(.article-schema-page, .sl-page) .seolab-hero { --hero-photo: url('../images/seolaboratory-1/3.jpg'); }
body.seolab-public .seolab-methods .seolab-hero { --hero-photo: url('../images/seolaboratory-1/3.jpg'); }
body.seolab-public .seolab-processes .seolab-hero { --hero-photo: url('../images/seolaboratory-1/1.jpg'); }
body.seolab-public .contact-page .seolab-hero { --hero-photo: url('../images/seolaboratory-1/8.jpg'); }
body.seolab-public .seolab-hero[data-hero-topic='team'] { --hero-photo: url('../images/seolab-1.webp'); }
body.seolab-public .seolab-hero[data-hero-topic='culture'] { --hero-photo: url('../images/seolaboratory-1/9.jpg'); }
body.seolab-public .seolab-hero[data-hero-topic='learning'] { --hero-photo: url('../images/seolaboratory-1/7.jpg'); }
body.seolab-public .seolab-hero[data-hero-topic='connections'] { --hero-photo: url('../images/seolaboratory-1/1.jpg'); }
@media (max-width: 991px) {
    body.seolab-public .seolab-hero :is(.seolab-hero__split, .book-hero__grid, .forge-hero__grid), body.seolab-public .seolab-hero.academy-hero { grid-template-columns: minmax(0,1fr); gap: 18px; }
    body.seolab-public .seolab-hero { justify-content: flex-start; }
    body.seolab-public .seolab-hero.academy-hero { display: flex !important; align-items: stretch; }
    body.seolab-public .seolab-page-hero, body.seolab-public .seolab-hero.c-breadcrumb { justify-content: center; }
    body.seolab-public .seolab-hero::after { background: linear-gradient(180deg,rgb(237 242 248 / 87%),rgb(237 242 248 / 70%) 60%,var(--seolab-hero-end)); }
    body.seolab-public .seolab-hero :is(h1, .hero-title) { font-size: clamp(1.3rem, 5.5vw, 1.8rem) !important; line-height: 1.55 !important; }
    body.seolab-public .seolab-hero :is(.hero-desc, .forge-hero__lead, .academy-intro > p) { font-size: .9rem !important; line-height: 1.8 !important; margin-block: 8px; }
    body.seolab-public .seolab-hero .academy-catalog-glance { display: none; }
    body.seolab-public .seolab-hero .academy-planner { padding: 16px; }
    body.seolab-public .seolab-hero .academy-choice { padding: 9px 10px; }
    body.seolab-public .seolab-hero .academy-planner-top { margin-bottom: 8px; }
    body.seolab-public .seolab-hero .seolab-hero__panel { padding: 16px; }
    body.seolab-public .seolab-hero :is(video, .seolab-hero__media > img) { max-height: 32svh; }
    body.seolab-public .seolab-hero .book-hero__visual { order: -1; }
    body.seolab-public .seolab-hero .book-hero__visual > img { width: min(100%, 420px); max-height: 34svh; margin-inline: auto; }
    body.seolab-public .contact-page .seolab-hero .seolab-hero__panel .title-seo { font-size: 1.1rem !important; line-height: 1.8 !important; margin-block: 0 12px !important; }
    body.seolab-public .seolab-hero .sl-audit-bar { margin-top: 12px; }
    body.seolab-public .seolab-hero.header-product .box-product-header { max-height: 60svh; }
    body.seolab-public .seolab-tool-hero .article-schema-intro h1 { margin-bottom: 6px !important; }
    body.seolab-public .seolab-tool-hero .article-schema-badges { display: none; }
}

/* One compact glass breadcrumb and matching JSON-LD on every public hero. */
body.seolab-public .seolab-hero-breadcrumbs {
    position: absolute;
    top: 16px;
    left: auto;
    right: 20px;
    z-index: 5;
    width: fit-content;
    max-width: calc(100% - 40px);
    padding: 6px 10px;
    border: 1px solid rgb(255 255 255 / 75%);
    border-radius: 9px;
    background: rgb(255 255 255 / 48%);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    box-shadow: 0 3px 14px rgb(38 63 99 / 6%);
    color: #263f63;
    font-size: 10px;
    line-height: 1.7;
}
body.seolab-public .seolab-hero-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 3px 5px; list-style: none; padding: 0; margin: 0; }
body.seolab-public .seolab-hero-breadcrumbs li { display: flex; align-items: center; gap: 5px; min-width: 0; margin: 0; padding: 0; font: inherit; }
body.seolab-public .seolab-hero-breadcrumbs a { color: #263f63; text-decoration: none; font: inherit; }
body.seolab-public .seolab-hero-breadcrumbs a:hover { text-decoration: underline; }
body.seolab-public .seolab-hero-breadcrumbs [aria-current] { display: block; max-width: min(260px, 55vw); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.seolab-public .seolab-hero-breadcrumbs__separator { opacity: .5; }
body.seolab-public .seolab-hero:has(> .seolab-hero-breadcrumbs) { padding-top: max(64px, 4vh) !important; }
/* The hero stays 90% high; the long workspace uses page scrolling, without nested scroll regions. */
body.seolab-public .article-schema-page { --tool-content-start: 290px; }
body.seolab-public .seolab-tool-hero { justify-content: flex-start; overflow: visible !important; }
body.seolab-public .article-schema-page .article-schema-workspace {
    position: relative;
    z-index: 1;
    margin-top: calc(var(--tool-content-start) - 90vh);
    margin-top: calc(var(--tool-content-start) - 90svh);
    overflow: visible;
    min-height: 0;
    padding: 4px;
}
body.seolab-public .article-schema-page .article-schema-output { position: static; }
body.seolab-public .article-schema-page textarea { max-height: none; resize: none; overflow-y: hidden; }
@media (max-width: 991px) {
    body.seolab-public .article-schema-page { --tool-content-start: 270px; }
    body.seolab-public .seolab-hero-breadcrumbs { right: 16px; max-width: calc(100% - 32px); font-size: 9px; }
}
@media (max-width: 359px) { body.seolab-public .article-schema-page { --tool-content-start: 300px; } }
/* Replace legacy breadcrumb variants with the shared glass trail. */
body.seolab-public main :is(.breadcrumb, .breadcrumb-nav, .swiper-breadcrumb) { display: none !important; }

/* Restore the original home graphics over the shared photographic hero. */
body.seolab-public .seolab-home .seolab-hero > .ai-trend-bg { display: block !important; z-index: 0; opacity: .8; }
body.seolab-public .seolab-home .seolab-hero .radar-visual { min-height: 430px; }
@media (max-width: 991px) {
    body.seolab-public .seolab-home .seolab-hero .radar-visual { min-height: 280px; max-width: 480px; margin-inline: auto; }
    body.seolab-public .seolab-home .seolab-hero .donut-wrap { width: 200px; height: 200px; margin: 0; }
    body.seolab-public .seolab-home .seolab-hero .floating-label { min-width: 125px; padding: 9px 12px; }
}
@media (max-width: 575px) {
    body.seolab-public .seolab-home .seolab-hero .radar-visual { min-height: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    body.seolab-public .seolab-home .seolab-hero .donut-wrap { grid-column: 1 / -1; width: 160px; height: 160px; margin: 0 0 8px; }
    body.seolab-public .seolab-home .seolab-hero .donut-center strong { font-size: 3rem; }
    body.seolab-public .seolab-home .seolab-hero .floating-label { min-width: 0; width: 100%; grid-column: auto; padding: 8px 5px; }
    body.seolab-public .seolab-home .seolab-hero .floating-label span { font-size: 9px; }
    body.seolab-public .seolab-home .seolab-hero .floating-label strong { font-size: 12px; }
    body.seolab-public .seolab-home .seolab-hero .seo-hero-grid { --bs-gutter-y: 16px; }
}

/* Each landing page owns its hero art. Scout uses its dedicated AVIF asset. */
body.seolab-public .landing-scout .seolab-hero { --hero-photo: url('../images/scout/scout-hero.avif'); background: #07101d !important; color: #fff !important; }
body.seolab-public .landing-scout .seolab-hero::before { opacity: .42; background: var(--hero-photo) 75% center / cover no-repeat; mask-image: linear-gradient(180deg, #000 55%, transparent 100%); -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent 100%); }
body.seolab-public .landing-scout .seolab-hero::after { background: linear-gradient(90deg, rgb(4 11 20 / 88%), rgb(4 11 20 / 42%) 62%, rgb(4 11 20 / 12%)), linear-gradient(180deg, transparent 62%, rgb(255 255 255 / 18%) 76%, #fff 100%) !important; }
body.seolab-public .landing-scout .seolab-hero :is(h1,.title-header-landing,p,.p-header-landing,li) { color: #fff !important; -webkit-text-fill-color: #fff; }

@media (max-width: 991px){body.seolab-public .landing-scout .seolab-hero::before{background-position:72% center;}}

body.seolab-public .landing-scout .scout-hero-character{position:absolute;z-index:0;left:0;bottom:0;width:min(43vw,650px);height:auto;max-height:92%;object-fit:contain;object-position:left bottom;pointer-events:none;filter:drop-shadow(12px 18px 24px rgb(0 0 0 / 25%));}body.seolab-public .landing-scout .seolab-hero > .container{position:relative;z-index:2;}@media(max-width:991px){body.seolab-public .landing-scout .scout-hero-character{left:-12%;width:70vw;max-height:68%;opacity:.72;}}

/* Scout hero: the transparent character is the only hero artwork. */
body.seolab-public .landing-scout .seolab-hero{background-color:#edf2f8 !important;background-image:url('../images/scout/scout-hero-character.png') !important;background-repeat:no-repeat !important;background-size:auto 100% !important;background-position:left bottom !important;}
body.seolab-public .landing-scout .seolab-hero::before,body.seolab-public .landing-scout .seolab-hero::after{display:none !important;background:none !important;content:none !important;}
@media(max-width:991px){body.seolab-public .landing-scout .seolab-hero{background-size:auto 78% !important;background-position:left bottom !important;}}

body.seolab-public .seolab-events .seolab-hero{--hero-photo:url('../images/events/events-hero.avif');background-image:var(--hero-photo) !important;background-size:cover !important;background-position:center !important;color:#fff !important;}body.seolab-public .seolab-events .seolab-hero::before{display:none !important;}body.seolab-public .seolab-events .seolab-hero::after{display:none !important;background:transparent !important;}body.seolab-public .seolab-events .seolab-hero :is(h1,.seolab-page-hero__eyebrow){color:#fff !important;text-shadow:0 2px 18px rgb(0 0 0 / 55%);}body.seolab-public .seolab-events .seolab-hero .seolab-hero__panel{background:rgb(255 255 255 / 94%) !important;border:1px solid rgb(255 255 255 / 70%);box-shadow:0 18px 48px rgb(7 25 48 / 25%);}body.seolab-public .seolab-events .seolab-hero .seolab-hero__panel :is(h2,p){color:#182b46 !important;text-shadow:none;}

body.seolab-public .seolab-events .seolab-hero__panel .flex-input{display:flex;flex-direction:column;align-items:stretch;gap:16px;}body.seolab-public .seolab-events .seolab-hero__panel .flex-input>div{width:100%;}body.seolab-public .seolab-events .seolab-hero__panel .flex-input .btn{width:100%;min-height:44px;}
