/* Theme surfaces and project presentations share the existing NEBULA typography. */
:root{--accent:#2925b9;--word-muted:#bcbcbc;--word-ink:#000}
:root[data-theme=dark]{--paper:#181818;--ink:#f4f3ee;--soft:#272727;--muted:#b1b1ad;--line:#3c3c3c;--accent:#c3bdff;--word-muted:#666;--word-ink:#f4f3ee;color-scheme:dark}
body{background:var(--paper);color:var(--ink)}
.hero h1>span:first-child,.hero-description{color:var(--ink)}
.theme-toggle{width:40px;height:40px;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--line);border-radius:50%;transition:background .7s var(--ease),transform .7s var(--ease)}
.theme-toggle:hover{background:var(--soft);transform:rotate(20deg)}
.theme-toggle svg{height:20px;width:20px;display:block}.theme-sun{display:none}[data-theme=dark] .theme-sun{display:block}[data-theme=dark] .theme-moon{display:none}
.header{gap:24px}.desktop-nav{gap:32px}.theme-toggle{margin-left:8px}
.social-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-bottom:40px}.social-row>div{display:flex;gap:12px}.social-row small{font-size:12px;line-height:16px;color:var(--muted)}.social-row>.eyebrow{font-size:12px;line-height:16px;color:var(--muted)}
.social-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ink)}.social-icon svg{width:20px;height:20px}.social-icon.is-pending{opacity:.65;cursor:default}.social-icon:is(a):hover{background:var(--ink);color:var(--paper)}
[data-theme=dark] .brand .logo{filter:brightness(0) invert(1);mix-blend-mode:screen}
[data-theme=dark] :is(.nav-brief,.button-dark){background:#f4f3ee;color:#181818}
[data-theme=dark] .nav-brief:hover{background:#c3bdff}
[data-theme=dark] .feature-card{background:#272727;color:var(--ink)}
[data-theme=dark] .feature-card.is-active{background:#343052;color:#fff}
[data-theme=dark] .feature-card.is-active .feature-explore>span{background:#c3bdff;color:#181818}
[data-theme=dark] .feature-visual i{border-color:#ffffff24}
[data-theme=dark] :is(.overview>div>p,.delivery-grid p,.delivery-grid article>span,.why-grid p,.work-meta p,.footer-legal,.footer-contact p,.section-heading>p,.service-number,.service-heading small,.package-price,.catalog-note p,.service-description>p){color:var(--muted)}
[data-theme=dark] .client-dr img{filter:brightness(0) invert(1)}
[data-theme=dark] .client-wordmark:hover{color:#c3bdff}
[data-theme=dark] :is(.why-grid article,.package,.result-option,.brief-input,.quick-prompts button,.question-grid select,.fallback-choices button){border-color:var(--line)}
[data-theme=dark] :is(.package,.planner-panel,.question-grid select,.fallback-choices button){background:#1f1f1f}
[data-theme=dark] :is(.package[open]>summary,.planner-section,.brief-total,.brief-input,.result-option>summary,.quick-prompts button:hover){background:#272727}
[data-theme=dark] :is(.included,.package-bottom .text-button,.service-group[open]>summary,.result-heading>.eyebrow,.result-option small,.result-option-body .text-button){color:var(--accent)}
[data-theme=dark] .outline-button{border-color:#777}
[data-theme=dark] .outline-button:hover{background:#f4f3ee;color:#181818}
[data-theme=dark] .mobile-menu{background:#181818;color:#f4f3ee}
[data-theme=dark] :is(.close-icon,.portfolio-filters button){background:#272727;color:#f4f3ee}
[data-theme=dark] .portfolio-filters button[aria-pressed=true]{background:#f4f3ee;color:#181818}
[data-theme=dark] .page-curtain{background:#181818}
[data-theme=dark] .nebula-cursor{background:#f4f3ee;color:#181818;mix-blend-mode:difference}
[data-theme=dark] :is(.guide-body,.faq-list details){border-color:#3c3c3c}
[data-theme=dark] .text-link{border-color:#777}
[data-theme=dark] .error{color:#ffaaa4}
[data-theme=dark] :is(.cms-public,.cms-editor){background:#272727;color:#f4f3ee}
[data-theme=dark] :is(.cms-editor input,.cms-editor textarea){background:#181818;border-color:#555;color:#f4f3ee}
.word-reveal{color:var(--ink)!important}.package>summary>.plus{grid-column:-1}
.tile-site,.tile-type,.tile-motion,.identity-stationery{color:#181818}
.footer .social-row{gap:24px;justify-content:flex-start}.footer .social-row>div{display:flex;gap:12px}
[data-theme=dark] .footer{border-color:var(--line)}[data-theme=dark] .footer button:hover{color:#fff}
.ocb-mini-board .phone-compact{width:43%}
.work-grid>.work-item:nth-child(even){padding-top:120px}.work-grid>.work-item:nth-child(odd){padding-top:0}
.portfolio-index .work-grid>.work-item{padding-top:0}.portfolio-index .work-grid>.work-item.is-staggered{padding-top:120px}
.work-ocb{background:#272727;padding:0!important;color:#f6f5ef;isolation:isolate}
.ocb-mini-board{position:absolute;inset:0;perspective:1000px}
.flyer-slot{padding:24px;background:#d4d0ed;color:#242228;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:4/5;overflow:hidden;position:relative;text-align:left}
.flyer-slot>span,.flyer-slot>small{font-size:12px;line-height:16px}.flyer-slot>b{font-size:60px;font-weight:500;line-height:1;letter-spacing:-.04em}.slot-lines{display:grid;gap:8px}.slot-lines i{height:1px;background:currentColor;opacity:.25;display:block}.slot-lines i:nth-child(2){width:65%}
.mini-flyer-one{position:absolute;width:56%;left:-8%;top:10%;transform:rotate(-16deg)}.mini-flyer-two{position:absolute;width:52%;right:-14%;bottom:4%;transform:rotate(14deg);background:#e9edc5}
.campaign-phone{width:264px;aspect-ratio:9/18.5;background:#080808;padding:8px;border:2px solid #777;border-radius:40px;position:relative;box-shadow:0 32px 64px #0005;overflow:hidden;flex-shrink:0;z-index:3}
.phone-island{position:absolute;top:16px;left:35%;width:30%;height:16px;background:#080808;border-radius:999px;z-index:4;pointer-events:none}
.phone-sketch{height:100%;border:1px solid #444;border-radius:30px;background:#1f1f1f;color:#eee;display:flex;flex-direction:column;justify-content:space-between;padding:40px 24px 24px}
.phone-sketch>span{font-size:24px;line-height:32px;letter-spacing:-.04em}.phone-sketch>strong{font-size:30px;line-height:1.1;font-weight:400}.phone-sketch>small{font-size:12px;line-height:20px;color:#bcbcbc}.phone-play{font-size:48px;line-height:1;color:#d4d0ed;align-self:center}
.campaign-phone video{height:100%;width:100%;object-fit:contain;border-radius:30px;background:#000}
.campaign-phone>img{height:100%;width:100%;object-fit:cover;border-radius:30px}.mini-flyer{aspect-ratio:4/5;object-fit:cover;display:block}
.phone-compact{position:absolute;left:32%;top:16%;width:43%;transform:rotate(8deg);transition:transform 1s var(--ease)}.phone-compact .phone-sketch{padding:32px 16px 16px}.phone-compact .phone-sketch>strong{font-size:24px}.phone-compact .phone-sketch>small{font-size:8px;line-height:12px}.phone-compact .phone-sketch>span{font-size:20px;line-height:24px}.work-ocb:hover .phone-compact{transform:rotate(0) translateY(-12px)}
.draft-label{position:absolute;bottom:24px;left:24px;font-size:12px;line-height:16px;z-index:4;color:#fff;background:#181818;padding:8px 12px;border-radius:999px}
.campaign-stage{padding-bottom:0}.campaign-composition{position:relative;min-height:720px;background:#1f1f1f;border-radius:24px;overflow:hidden;display:flex;justify-content:center;align-items:center;perspective:1400px;padding:64px;isolation:isolate}
.campaign-composition>.campaign-phone{transform:rotate(6deg)}.campaign-flyer{position:absolute;width:28%;max-width:360px;object-fit:cover}.flyer-left{left:8%;top:16%;transform:rotate(-12deg)}.flyer-right{right:6%;bottom:12%;transform:rotate(12deg);background:#e9edc5}.composition-caption{position:absolute;left:32px;bottom:24px;font-size:12px;line-height:16px;color:#bbb}.draft-note{font-size:12px;line-height:20px;color:var(--muted);margin-top:16px;max-width:680px}
.campaign-gallery,.case-route{padding-block:0 96px}.gallery-heading{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:48px}.gallery-heading h2,.case-route h2{font-size:60px;line-height:1;margin-top:24px}.gallery-heading>p,.case-route>p:not(.eyebrow){color:var(--muted);font-size:20px;line-height:28px;max-width:600px}.flyer-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.flyer-item{padding:0;text-align:left;background:transparent;display:block}.flyer-item img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px;transition:transform .8s var(--ease)}.flyer-item:hover img{transform:translateY(-8px)}.flyer-item>span,.flyer-gallery figcaption{font-size:14px;line-height:20px;display:block;margin-top:16px;color:var(--muted)}.flyer-gallery .flyer-slot{border-radius:16px}.case-route{padding-top:32px}.case-route>p:not(.eyebrow){margin-top:32px}.case-route .outline-button{margin-top:32px}.gallery-dialog{background:#181818;color:#f4f3ee;width:min(94vw,1000px);padding:64px 32px 24px}.gallery-dialog>img{max-height:68svh;max-width:100%;width:auto;margin:auto;display:block;object-fit:contain}.gallery-dialog>p{text-align:center;margin-top:24px}.gallery-dialog>div{display:flex;align-items:center;justify-content:center;gap:32px;margin-top:16px}.gallery-dialog [data-gallery-step]{width:40px;height:40px;border:1px solid #777;border-radius:50%}
.concepts{padding-bottom:96px}.concepts>article{margin-bottom:96px}.concepts>article>img{display:block;width:100%;height:auto;border-radius:24px}.concepts>article>div{display:grid;grid-template-columns:1fr 1fr;gap:24px 64px;padding-top:32px}.concepts h2{font-size:36px;line-height:40px}.concepts p{font-size:20px;line-height:28px;color:var(--muted)}.concepts .text-link{grid-column:2;justify-self:start}
@media(max-width:1100px){.header{gap:20px}.desktop-nav{gap:24px}.desktop-nav a,.nav-brief{font-size:16px;line-height:24px}.theme-toggle{margin-left:0}.campaign-composition{min-height:640px;padding:48px}.campaign-phone{width:240px}.campaign-flyer{width:32%}.flyer-left{left:3%}.flyer-right{right:2%}.work-grid>.work-item:nth-child(even){padding-top:96px}.phone-compact{width:48%;left:28%}.mini-flyer-one{width:64%;left:-20%}.mini-flyer-two{width:64%;right:-25%}.flyer-slot{padding:16px}.flyer-slot>b{font-size:48px}.gallery-heading h2,.case-route h2{font-size:48px;line-height:1}}
@media(max-width:800px){.header{gap:16px}.desktop-nav{gap:16px}.desktop-nav a{font-size:14px;line-height:20px}.header .logo{width:104px}.nav-brief{font-size:14px;line-height:20px;padding:12px 20px}.theme-toggle{width:32px;height:32px}.theme-toggle svg{height:18px;width:18px}.phone-compact{width:52%;left:26%;top:22%;border-radius:24px;padding:4px}.phone-compact .phone-sketch{border-radius:20px;padding:32px 12px 12px}.phone-compact .phone-sketch>strong{font-size:18px;line-height:20px}.phone-compact .phone-sketch>small{font-size:6px;line-height:8px}.phone-compact .phone-sketch>span{font-size:16px}.phone-compact .phone-island{top:12px;height:8px}.draft-label{font-size:8px;line-height:12px;left:16px;bottom:16px}.campaign-composition{min-height:600px}.campaign-phone{width:224px}.campaign-flyer .flyer-slot>b{font-size:36px}}
@media(max-width:700px){.header{gap:12px}.header .brand{margin-right:auto}.header .logo{width:104px}.nav-brief{margin-left:0;padding:8px 16px}.theme-toggle{order:0}.header .menu-toggle{margin-left:4px}.social-row{gap:16px;padding-bottom:32px}.social-row>small{width:100%}.work-grid>.work-item:nth-child(even){padding-top:0}.phone-compact{width:46%;left:28%;top:18%;border-radius:32px;padding:6px}.phone-compact .phone-sketch{border-radius:24px;padding:32px 16px 16px}.phone-compact .phone-sketch>strong{font-size:24px;line-height:1.1}.phone-compact .phone-sketch>small{font-size:8px;line-height:12px}.phone-compact .phone-sketch>span{font-size:20px}.phone-compact .phone-island{height:12px;top:16px}.mini-flyer-one{width:58%;left:-14%}.mini-flyer-two{width:60%;right:-20%}.draft-label{font-size:8px;line-height:12px}.campaign-composition{min-height:600px;padding:48px 24px;border-radius:16px}.campaign-composition>.campaign-phone{width:208px;transform:rotate(3deg)}.campaign-flyer{width:54%;opacity:.75}.flyer-left{left:-24%;top:12%}.flyer-right{right:-24%;bottom:12%}.campaign-flyer>b{font-size:36px}.campaign-flyer>span,.campaign-flyer>small{font-size:8px;line-height:12px}.composition-caption{left:24px;bottom:16px;font-size:8px;line-height:12px}.campaign-gallery,.case-route{padding-bottom:64px}.gallery-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.gallery-heading h2,.case-route h2{font-size:48px;line-height:1}.gallery-heading>p,.case-route>p:not(.eyebrow){font-size:18px;line-height:28px}.flyer-gallery{grid-template-columns:1fr 1fr;gap:24px 12px}.flyer-gallery .flyer-slot{padding:16px}.flyer-gallery .flyer-slot>b{font-size:36px}.flyer-gallery .flyer-slot>span,.flyer-gallery .flyer-slot>small{font-size:8px;line-height:12px}.flyer-gallery figcaption{font-size:12px;line-height:16px}.concepts{padding-bottom:32px}.concepts>article{margin-bottom:64px}.concepts>article>div{grid-template-columns:1fr;gap:24px}.concepts .text-link{grid-column:auto}.concepts h2{font-size:30px;line-height:36px}.concepts p{font-size:18px;line-height:28px}.concepts>article>img{border-radius:16px}.gallery-dialog{padding:64px 16px 24px}.gallery-dialog>img{max-height:65svh}}
@media(prefers-reduced-motion:reduce){.theme-toggle,.campaign-phone,.flyer-item img{transition:none}}
@media(max-width:1100px){.ocb-mini-board .phone-compact{width:48%}}
@media(max-width:800px){.ocb-mini-board .phone-compact{width:52%}}
@media(max-width:700px){.ocb-mini-board .phone-compact{width:46%}.footer .social-row{gap:16px}.portfolio-index .work-grid>.work-item.is-staggered{padding-top:0}}

/* Stock references retain an explicit format label until replaced by final artwork. */
.stock-sheet{aspect-ratio:var(--piece-ratio,4/5);overflow:hidden;background:#272727;color:#fff}.stock-sheet>img{width:100%;height:100%;object-fit:cover;display:block}.gallery-sheet{position:relative}
.sheet-spec{position:absolute;left:0;right:0;bottom:0;padding:16px;background:#181818ed;display:grid;gap:4px}.sheet-spec>span{font-size:12px;line-height:16px}.sheet-spec>strong{font-size:14px;line-height:20px;font-weight:500;color:#d5d0ff}.ocb-mini-board .sheet-spec{padding:12px}.ocb-mini-board .sheet-spec>span{font-size:8px;line-height:12px}.ocb-mini-board .sheet-spec>strong{font-size:10px;line-height:14px}
.phone-reference{position:relative;height:100%;overflow:hidden;border-radius:30px;background:#000}.phone-reference>img{width:100%;height:100%;object-fit:cover;display:block}.phone-reference>div{position:absolute;inset:40px 16px 16px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;align-items:start}.phone-reference>div>span{font-size:10px;line-height:16px;background:#181818df;padding:4px 8px;border-radius:999px}.phone-reference strong{font-size:36px;line-height:1;letter-spacing:-.04em;font-weight:500}.phone-reference small{background:#181818e8;padding:8px;font-size:10px;line-height:16px}.phone-compact .phone-reference strong{font-size:24px}.phone-compact .phone-reference small{font-size:8px;line-height:12px}.phone-compact .phone-reference>div>span{font-size:8px;line-height:12px}
.flyer-item>span>small{display:block;font-size:12px;line-height:20px;margin-top:4px;color:var(--muted)}.flyer-gallery{align-items:start}
.asset-specs{padding-bottom:96px}.asset-specs h2{font-size:48px;line-height:1;margin-bottom:40px}.spec-table{border:1px solid var(--line);border-radius:16px;overflow:hidden}.spec-table>div{display:grid;grid-template-columns:1.5fr 1fr 64px;gap:24px;align-items:center;padding:24px;background:var(--soft)}.spec-table>div:nth-child(even){background:var(--paper)}.spec-table strong{font-weight:500}.spec-table>div>span{font-size:14px;line-height:20px}.asset-specs>p{font-size:14px;line-height:24px;color:var(--muted);max-width:800px;margin-top:24px}.stock-credits a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.sheet-spec{padding:12px}.sheet-spec>span{font-size:10px;line-height:14px}.sheet-spec>strong{font-size:12px;line-height:16px}.phone-compact .phone-reference>div{inset:32px 8px 8px}.phone-compact .phone-reference strong{font-size:20px}.ocb-mini-board .sheet-spec{display:none}}
@media(max-width:700px){.flyer-left .sheet-spec,.flyer-right .sheet-spec{display:none}.phone-reference strong{font-size:30px}.flyer-gallery .sheet-spec{padding:8px}.flyer-gallery .sheet-spec>span{font-size:8px;line-height:12px}.flyer-gallery .sheet-spec>strong{font-size:10px;line-height:14px}.asset-specs{padding-bottom:64px}.asset-specs h2{font-size:36px;line-height:1.1;margin-bottom:32px}.spec-table>div{grid-template-columns:1fr auto;gap:8px;padding:16px}.spec-table>div>strong{grid-column:1/-1}.spec-table>div>span{font-size:12px;line-height:20px}.asset-specs>p{font-size:12px;line-height:20px}}
