* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth
}
body.video-ads {
    margin:0;
    background:var(--ns-bg);
    color:var(--ns-text);
    font:16px/1.6 Arial,Helvetica,sans-serif
}
a {
    color:inherit;
    text-underline-offset:4px
}
button,a,summary {
    -webkit-tap-highlight-color:transparent
}
a:focus-visible,button:focus-visible,summary:focus-visible {
    outline:3px solid var(--ns-gold);
    outline-offset:4px
}
.ads-header {
    padding:20px max(24px,calc((100% - 1120px)/2));
    border-bottom:1px solid var(--ns-border);
    display:flex;
    justify-content:space-between;
    gap:24px;
    font-size:14px
}
.ads-header a {
    text-decoration:none;
    font-weight:700
}
.ads-header span {
    font-weight:400;
    color:var(--ns-text-2)
}
main {
    max-width:1120px;
    margin:auto;
    padding:0 24px 160px
}
.ads-hero {
    padding:76px 0 56px;
    max-width:760px
}
.eyebrow {
    font-size:12px;
    font-weight:700;
    letter-spacing:.13em;
    color:var(--ns-text-2);
    margin:0 0 12px
}
h1 {
    font-size:clamp(44px,6vw,76px);
    letter-spacing:-.055em;
    line-height:1.05;
    margin:0 0 24px;
    font-weight:600
}
h2 {
    font-size:clamp(26px,3vw,36px);
    line-height:1.2;
    letter-spacing:-.035em;
    margin:0 0 16px
}
h3 {
    font-size:19px;
    line-height:1.3;
    margin:12px 0
}
p {
    margin:0 0 16px
}
.ads-lede {
    font-size:22px;
    max-width:670px
}
.ads-audience,.ads-small {
    color:var(--ns-text-2)
}
.ads-small {
    font-size:13px
}
.ads-primary {
    display:inline-flex;
    align-items:center;
    gap:32px;
    min-height:48px;
    padding:12px 24px;
    background:var(--ns-gold);
    color:var(--ns-on-accent);
    border-radius:28px;
    text-decoration:none;
    font-weight:600;
    margin:14px 0
}
.ads-demo {
    padding:32px;
    background:var(--ns-surface);
    border:1px solid var(--ns-border);
    border-radius:24px
}
.ads-section-head {
    display:flex;
    justify-content:space-between;
    gap:24px
}
.ads-section-head>.ads-small {
    flex-shrink:0
}
.ads-steps {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin:24px 0
}
.ads-steps button {
    font:inherit;
    min-height:44px;
    border:1px solid var(--ns-border);
    background:transparent;
    color:inherit;
    border-radius:12px;
    padding:10px 16px;
    cursor:pointer
}
.ads-steps button[aria-pressed=true] {
    border-color:var(--ns-gold);
    background:var(--ns-gold-glow)
}
.ads-output {
    background:var(--ns-bg);
    border:1px solid var(--ns-border);
    border-radius:16px;
    padding:24px;
    min-height:240px;
    margin-bottom:16px
}
.ads-output[hidden] {
    display:none
}
.ads-output-meta {
    display:flex;
    justify-content:space-between;
    gap:16px;
    font-size:13px
}
.ads-output-meta span {
    color:var(--ns-text-2)
}
.ads-post {
    font-size:22px;
    max-width:760px;
    margin:20px 0;
    white-space:pre-wrap
}
.ads-outcome {
    border-top:1px solid var(--ns-border);
    padding-top:16px;
    margin-bottom:0
}
.ads-section {
    padding:64px 0;
    border-bottom:1px solid var(--ns-border)
}
.ads-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:32px;
    margin-top:32px
}
.ads-number {
    font-size:13px;
    color:var(--ns-text-2)
}
.ads-grid article>p {
    color:var(--ns-text-2)
}
.ads-connections {
    display:grid;
    grid-template-columns:1fr 1.4fr;
    gap:48px
}
code {
    font-size:14px;
    overflow-wrap:anywhere
}
.ads-prices article {
    border-top:2px solid var(--ns-border);
    padding-top:12px
}
.ads-grid article>.ads-price {
    font-size:26px;
    color:var(--ns-text);
    font-weight:600
}
figure {
    margin:20px 0 0
}
figure img {
    display:block;
    width:100%;
    height:auto;
    border:1px solid var(--ns-border);
    border-radius:12px
}
figcaption {
    font-size:13px;
    margin-top:12px;
    color:var(--ns-text-2)
}
summary {
    min-height:44px;
    cursor:pointer;
    padding:10px 0
}
footer {
    padding:36px 0;
    color:var(--ns-text-2);
    font-size:14px
}
.skip-link {
    position:absolute;
    left:12px;
    top:-100px;
    padding:12px;
    background:var(--ns-bg);
    z-index:100
}
.skip-link:focus {
    top:12px
}
alive-agent {
    --alive-agent-free-size:100px
}
@media(max-width:767px) {
    .ads-header {
        padding:16px 24px
    }
    .ads-header>span {
        display:none
    }
    .ads-header a span {
        display:block
    }
    .ads-hero {
        padding:40px 0
    }
    .ads-lede {
        font-size:19px
    }
    .ads-demo {
        padding:20px
    }
    .ads-section-head,.ads-connections {
        display:block
    }
    .ads-section-head>.ads-small {
        margin-top:8px
    }
    .ads-grid {
        grid-template-columns:1fr;
        gap:20px
    }
    .ads-section {
        padding:40px 0
    }
    .ads-output {
        padding:16px;
        min-height:340px
    }
    .ads-output-meta {
        flex-wrap:wrap;
        gap:4px
    }
    .ads-post {
        font-size:19px
    }
    .ads-steps {
        flex-direction:column
    }
    .ads-steps button {
        text-align:left
    }
    alive-agent {
        --alive-agent-free-size:76px
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
}
.video-ads alive-agent[data-mode="free"]>.ak-face {
    background:transparent;
    box-shadow:none;
    border-radius:0
}
.video-ads alive-agent>.ak-menu-btn {
    opacity:0;
    pointer-events:none
}
.video-ads alive-agent:hover>.ak-menu-btn,.video-ads alive-agent:focus-within>.ak-menu-btn,.video-ads alive-agent[data-ads-menu-reveal]>.ak-menu-btn {
    opacity:1;
    pointer-events:auto
}
.video-ads alive-agent>.ak-menu-btn:focus-visible {
    opacity:1;
    pointer-events:auto
}
.video-ads alive-agent>.ak-back {
    display:none
}
.video-ads alive-agent[data-mode="free"]>.ak-caption {
    display:-webkit-box;
    -webkit-line-clamp:2;
    overflow:hidden
}

.video-ads alive-agent .ak-menu select {
    min-height: 44px;
    max-width: 160px;
    border: 1px solid var(--ns-border);
    border-radius: 8px;
    background: var(--ns-card);
    color: var(--ns-text);
    font: inherit;
}

.video-ads alive-agent[data-mode="free"] > .ak-caption {
    padding: 0 10px;
    line-height: 1.4;
    max-height: 2.8em;
}

.ads-tag {
    display:inline-block;
    font-size:12px;
    font-weight:700;
    letter-spacing:.02em;
    padding:3px 10px;
    border-radius:999px;
    border:1px solid var(--ns-border);
    color:var(--ns-text-2);
    vertical-align:middle;
    margin-left:6px
}
.ads-tag-live {
    border-color:var(--ns-speaking);
    color:var(--ns-text)
}
.ads-tag-next {
    border-color:var(--ns-gold-border);
    background:var(--ns-gold-glow);
    color:var(--ns-text)
}
.ads-parts .ads-tag {
    margin-left:0
}
.ads-product {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:16px 32px;
    padding:16px 20px;
    border:1px solid var(--ns-border);
    border-radius:16px;
    background:var(--ns-bg);
    margin:24px 0 0
}
.ads-product strong {
    display:block;
    font-size:19px
}
.ads-product ul {
    margin:0;
    padding-left:18px;
    color:var(--ns-text-2)
}
.ads-sizes {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin:24px 0
}
.ads-sizes button {
    font:inherit;
    min-height:44px;
    border:1px solid var(--ns-border);
    background:transparent;
    color:inherit;
    border-radius:12px;
    padding:10px 16px;
    cursor:pointer;
    text-align:left
}
.ads-sizes button span {
    color:var(--ns-text-2);
    font-size:13px
}
.ads-sizes button[aria-pressed=true] {
    border-color:var(--ns-gold);
    background:var(--ns-gold-glow)
}
.ads-board {
    --ads-ratio:9/16;
    --ads-col:minmax(0,1fr);
    list-style:none;
    margin:0 0 16px;
    padding:0;
    display:grid;
    grid-template-columns:repeat(4,var(--ads-col));
    gap:16px;
    align-items:end
}
.ads-board[data-aspect="1:1"] {
    --ads-ratio:1/1
}
.ads-board[data-aspect="16:9"] {
    --ads-ratio:16/9;
    grid-template-columns:repeat(2,minmax(0,1fr))
}
.ads-frame {
    position:relative;
    aspect-ratio:var(--ads-ratio);
    border-radius:14px;
    border:1px solid var(--ns-border);
    background:linear-gradient(160deg,var(--ns-surface),var(--ns-bg-deep));
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    color:var(--ns-text);
    transition:aspect-ratio .25s ease
}
.ads-frame-look {
    background:linear-gradient(160deg,var(--ns-gold-glow),var(--ns-surface))
}
.ads-art {
    width:min(62%,140px);
    height:auto
}
.ads-art-2 {
    transform:rotate(180deg)
}
.ads-art-3 {
    transform:rotate(-12deg)
}
.ads-caption {
    position:absolute;
    left:8px;
    right:8px;
    bottom:8px;
    padding:6px 8px;
    border-radius:8px;
    background:var(--ns-bg);
    font-size:13px;
    font-weight:600;
    line-height:1.3;
    text-align:center
}
.ads-shot-meta {
    margin:8px 0 0;
    font-size:13px;
    display:flex;
    flex-direction:column
}
.ads-shot-meta span {
    color:var(--ns-text-2)
}
.ads-prompts {
    color:var(--ns-text-2);
    font-size:14px;
    padding-left:20px
}
.ads-answers {
    border-top:1px solid var(--ns-border);
    margin-top:16px;
    padding-top:16px
}
.ads-answers blockquote {
    margin:12px 0 0;
    padding:12px 16px;
    border-left:3px solid var(--ns-gold);
    background:var(--ns-bg);
    border-radius:0 12px 12px 0
}
.ads-answers blockquote p {
    margin:4px 0 0
}
.ads-parts {
    list-style:none;
    padding:0;
    margin:32px 0 0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:32px
}
.ads-parts p,.ads-grid article>p {
    color:var(--ns-text-2)
}
.ads-models {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    list-style:none;
    padding:0;
    margin:0 0 12px
}
.ads-models li {
    border:1px solid var(--ns-border);
    border-radius:999px;
    padding:4px 12px;
    font-size:14px
}
@media(max-width:767px) {
    .ads-board {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .ads-board[data-aspect="16:9"] {
        grid-template-columns:1fr
    }
    .ads-parts {
        grid-template-columns:1fr;
        gap:20px
    }
    .ads-sizes {
        flex-direction:column
    }
}
@media(prefers-reduced-motion:reduce) {
    .ads-frame {
        transition:none
    }
}
