@font-face{font-family:Barlow;src:url('assets/fonts/barlow-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url('assets/fonts/barlow-semibold.ttf') format('truetype');font-weight:500 900;font-display:swap}
@font-face{font-family:Poster;src:url('assets/fonts/barlow-condensed-bold.ttf') format('truetype');font-weight:400 900;font-display:swap}
:root,[data-theme=dark]{color-scheme:dark;--navy:#000;--deep:#000;--panel:#000;--text:#f6f4ef;--muted:#bdbdb8;--cyan:#65d9ed;--gold:#ffc64c;--line:#363636;--paper:#000;--ink:#111;--surface:#080808;--service-ink:#f6f4ef;--subtle:#bdbdb8;--section-bg:#000;--section-alt:#000;--selection:#65d9ed}
[data-theme=light]{color-scheme:light;--navy:#fff;--deep:#fff;--panel:#fff;--text:#111;--muted:#545454;--cyan:#006678;--gold:#ffc64c;--line:#d1d1cc;--paper:#fff;--surface:#f3f4f3;--service-ink:#111;--subtle:#545454;--section-bg:#fff;--section-alt:#fff;--selection:#006678}
[data-theme=neutral]{color-scheme:light;--navy:#e9e1d3;--deep:#e9e1d3;--panel:#e9e1d3;--text:#302d27;--muted:#60574b;--cyan:#375f5e;--gold:#efbd64;--line:#b7ad9d;--paper:#e9e1d3;--surface:#dfd4c2;--service-ink:#302d27;--subtle:#60574b;--section-bg:#e9e1d3;--section-alt:#e9e1d3;--selection:#375f5e}
[data-theme=playful]{color-scheme:dark;--navy:#21113d;--deep:#21113d;--panel:#21113d;--text:#fff5e4;--muted:#e4cde9;--cyan:#8aedd4;--gold:#ffcf4b;--line:#71537c;--paper:#21113d;--surface:#39234f;--service-ink:#fff5e4;--subtle:#e4cde9;--section-bg:#441849;--section-alt:#183e47;--selection:#8aedd4}
body{font-family:Barlow,Arial,sans-serif;font-size:18px;background:var(--navy);transition:background-color .3s,color .3s}::selection{background:var(--selection);color:var(--navy)}h1,h2{font-family:Poster,'Arial Narrow',Arial,sans-serif;font-weight:700;letter-spacing:-.015em;text-transform:uppercase}h3,.showcase-caption strong{font-family:Barlow,Arial,sans-serif;font-weight:600;letter-spacing:-.02em}h2{font-size:clamp(48px,5.6vw,76px);line-height:.98}h2 em{color:var(--cyan)}.eyebrow{letter-spacing:.16em;font-size:12px;font-weight:600}.preview-banner{background:var(--navy);border-bottom:1px solid var(--line)}.header{height:100px}.header nav a{font-size:16px}.header-contact{border-color:var(--text);color:var(--text);font-weight:600}.hero{gap:54px;padding-top:58px;padding-bottom:65px;grid-template-columns:1.05fr 1fr;align-items:center}.hero h1{font-size:clamp(64px,7.3vw,106px);line-height:.93;letter-spacing:-.018em}.hero h1 span{color:var(--cyan)}.hero-description{font-size:20px;line-height:1.5;max-width:560px;margin-top:30px}.hero .button{font-size:16px}.hero .text-link{font-size:17px}.hero-footnote{font-size:14px}.button{border-radius:0;font-family:Barlow}.text-link{font-size:17px}.hero-showcase{min-width:0;position:relative}.showcase-heading{padding:14px 0;font-size:12px;border-top:1px solid var(--line)}.live-dot,.mood-dot{display:inline-block;width:7px;height:7px;background:var(--cyan);border-radius:50%;margin-right:8px}.live-dot{animation:signal 2.8s ease-in-out infinite}.concept-reel{position:relative;aspect-ratio:1.24;overflow:hidden;background:var(--navy);border-bottom:1px solid var(--line)}.reel-frame{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s;overflow:hidden}.reel-frame.active{opacity:1;visibility:visible;z-index:1}.reel-frame img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.035);transition:transform 5s linear}.reel-frame:first-child img{object-fit:contain}.reel-frame:nth-child(3) img{object-position:50% 25%}.reel-frame.active img{transform:scale(1)}.reel-open{position:absolute;bottom:16px;left:16px;background:#000;color:#fff;padding:8px 14px;font-size:14px;border:1px solid #646464}.reel-caption{padding:20px 0 0;min-height:88px}.reel-caption h3{font-size:28px}.reel-caption p{font-size:14px;color:var(--muted);margin:7px 0 0}.reel-controls{display:flex;gap:10px;margin-top:12px}.reel-controls button{flex:1;min-height:44px;padding:8px 0;cursor:pointer;border:0;background:transparent;color:var(--muted);text-align:left;font:14px Barlow}.reel-controls i{display:block;height:2px;background:var(--line);margin-top:9px}.reel-controls button[aria-pressed=true]{color:var(--text)}.reel-controls button[aria-pressed=true] i{background:var(--cyan)}.showcase-note{font-size:13px;margin-top:8px}.showcase-note a{color:var(--text);text-decoration:underline;text-underline-offset:4px}.mood-bar{position:sticky;top:0;z-index:12;background:var(--navy);border-bottom:1px solid var(--line);isolation:isolate}.mood-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:74px;padding-top:10px;padding-bottom:10px}.mood-label{font-size:15px;font-weight:600;line-height:1.2}.mood-hint{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:5px;padding-left:15px}.theme-options{display:flex;gap:4px}.theme-options button{border:1px solid transparent;background:none;color:var(--muted);display:flex;gap:8px;align-items:center;padding:10px 13px;min-height:42px;font-size:15px;font-weight:600;cursor:pointer}.theme-options button:hover{color:var(--text);border-color:var(--line)}.theme-options button[aria-pressed=true]{border-color:var(--text);color:var(--text)}.swatch{width:13px;height:13px;border-radius:50%;border:1px solid #999;flex:none}.swatch-dark{background:#000}.swatch-light{background:#fff}.swatch-neutral{background:#d5c4a9}.swatch-playful{background:conic-gradient(#ffca4a 0 25%,#eb7fb1 25% 50%,#6bd9d1 50% 75%,#9b75ef 75%)}.motion-toggle{background:none;border:0;border-bottom:1px solid var(--line);color:var(--text);padding:10px 0;font-size:13px;white-space:nowrap;cursor:pointer;min-height:42px}.reading-progress{position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--cyan);transform-origin:left;transform:scaleX(var(--read-progress,0))}html{scroll-padding-top:110px}.specialties{border-top:1px solid var(--line);background:var(--navy)}.specialties span{font-size:17px}.founder-note p{font-size:16px}.founder-note>a{font-size:16px}.type-ribbon{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:36px;padding:16px 0;background:var(--navy)}.ribbon-track{display:flex;align-items:center;gap:38px;white-space:nowrap;width:max-content;transform:translateX(var(--ribbon-shift,0px));will-change:transform}.ribbon-track span{font-family:Poster;font-size:clamp(72px,10vw,150px);line-height:1;color:var(--text)}.ribbon-track b{font:64px Barlow;color:var(--cyan)}.ribbon-track span:nth-of-type(even){color:transparent;-webkit-text-stroke:1px var(--text)}.section-top{align-items:start}.section-aside{font-size:18px;line-height:1.55;padding-top:28px}.project h3{font-size:30px}.project-meta{font-size:13px}.project-info p:not(.project-meta){font-size:18px}.project-info .project-disciplines{font-size:14px!important}.project-note summary{font-size:16px}.project-note dd{font-size:17px}.concept-index{gap:12px 25px}.concept-index a{font-size:15px}.project-image{background:var(--navy)}.project-image img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.project-image.arrived img{animation:print-settle .9s cubic-bezier(.2,.7,.2,1) both}.project-image:hover img{transform:scale(1.025)}.image-link{background:#000;color:#fff;font-size:14px;border:1px solid #555}.image-link>span{color:#65d9ed}.services-section{background:var(--section-bg);color:var(--text);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.services-section .eyebrow,.services-section h2 em{color:var(--cyan)}.services-section .text-link{color:var(--text);text-decoration-color:var(--cyan)}.services-intro>p:not(.eyebrow),.service-body,.service-body .service-items{color:var(--muted)}.service{border-color:var(--line)}.service-number{color:var(--cyan)}.service h3{font-size:28px}.service-body{font-size:18px}.service-body .service-items{font-size:15px}.service-body .text-link{font-size:16px}.services-intro{position:sticky;top:115px;align-self:start}.services-intro>p:not(.eyebrow){font-size:18px}.design-grid figure{overflow:hidden}.design-grid figure a{display:block;overflow:hidden;background:var(--navy)}.design-grid figure img{background:var(--navy);animation:artwork-drift 8s ease-in-out infinite alternate;animation-play-state:paused}.design-grid figure:nth-child(2) img{animation-direction:alternate-reverse;animation-duration:10s}.design-grid figure.in-view img{animation-play-state:running}figcaption{font-size:16px}.resource-preview{background:var(--surface);border:1px solid var(--line);transition:transform .3s}.resource-preview:hover{transform:translateY(-5px)}.resource-card h3{font-size:27px}.resource-card>p:not(.eyebrow){font-size:17px}.resource-card .text-link{font-size:16px}.about-copy .about-lead{font-size:24px!important}.about-copy>p:not(.eyebrow){font-size:19px}.about-photo{position:relative}.about-photo:before{content:'MARVEL';position:absolute;bottom:65px;left:-12px;font-family:Poster;font-size:clamp(60px,8vw,110px);line-height:1;color:#fff;writing-mode:vertical-rl;transform:rotate(180deg);text-shadow:0 2px 15px #000}.process h3{font-size:29px}.process p,.pricing-section .budget-copy{font-size:18px}.faq-list summary{font-size:19px}.faq-list details p{font-size:18px}.faq-group>h3{font-size:22px}.faq-intro{position:sticky;top:115px;align-self:start}.contact-section{background:var(--section-alt);border-top:1px solid var(--line)}.contact-layout h2{font-size:90px}.contact-layout>div>p:not(.eyebrow){font-size:19px}.contact-email{font-size:26px}.form-note{font-size:14px!important}.hours{font-size:16px!important}label{font-size:16px}input,textarea{background:var(--navy);border-color:var(--line);color:var(--text);font-size:18px}input::placeholder{color:var(--muted)}.primary{background:var(--gold);color:#111}.small-note{font-size:14px}.footer-top p,.related-services a{font-size:15px}.footer-bottom{font-size:13px}
[data-theme=playful] .type-ribbon{background:#e9ac3c;--text:#281137;--cyan:#281137;--line:#281137}[data-theme=playful] .resources-section{background:transparent}[data-theme=playful] .hero h1 span{color:#f4a6d7}[data-theme=playful] .mood-dot{background:#f4a6d7}
@keyframes signal{50%{opacity:.35}}@keyframes print-settle{from{transform:scale(1.04);clip-path:inset(1.5%)}to{transform:scale(1);clip-path:inset(0)}}@keyframes artwork-drift{from{transform:scale(1) translateY(0)}to{transform:scale(1.035) translateY(-4px)}}
[data-motion=paused] *,[data-motion=paused] *:before{animation-play-state:paused!important}[data-motion=paused] .reel-frame,[data-motion=paused] .reel-frame img{transition:none}[data-motion=paused] .ribbon-track{transform:none}html[data-motion=paused]{scroll-behavior:auto}
@media(min-width:1400px){.hero h1{font-size:106px}.hero{gap:60px}}
@media(max-width:1050px){.hero h1{font-size:74px}.hero{gap:30px}.hero-description{font-size:18px}.mood-hint{display:none}.mood-label{font-size:14px}.theme-options button{padding:8px 10px;font-size:14px}.mood-inner{gap:10px}.hero .button{font-size:14px}.reel-caption h3{font-size:25px}.reel-caption p{font-size:13px}.section-aside{font-size:17px}.services-layout{gap:45px}.contact-email{font-size:22px}.contact-layout h2{font-size:76px}}
@media(max-width:760px){html{scroll-padding-top:132px}.header{height:auto}.header nav a{font-size:14px}.mood-inner{flex-wrap:wrap;gap:8px;padding:10px 0}.mood-label{font-size:13px;flex:1}.motion-toggle{order:2;font-size:12px;min-height:27px;padding:3px 0}.theme-options{order:3;width:100%;justify-content:space-between;gap:2px}.theme-options button{font-size:14px;gap:7px;padding:7px 9px;min-height:38px}.swatch{width:11px;height:11px}.hero{padding-top:38px;gap:35px}.hero h1{font-size:clamp(58px,13.9vw,98px);line-height:.96}.hero-description{font-size:19px;line-height:1.5;margin-top:25px}.hero .button,.hero .text-link{font-size:16px}.hero-footnote{font-size:14px}.hero .eyebrow{font-size:11px}.concept-reel{aspect-ratio:1.22}.reel-caption{min-height:85px}.reel-caption h3{font-size:27px}.reel-caption p{font-size:14px}.showcase-note{font-size:13px}.specialties span{font-size:17px}.founder-note p{font-size:15px}.type-ribbon{margin-top:20px;padding:12px 0}.ribbon-track{gap:23px}.ribbon-track span{font-size:88px}.ribbon-track b{font-size:42px}h2{font-size:50px;line-height:1}.section-aside{font-size:17px;padding:0}.project h3{font-size:28px}.project-meta{font-size:12px}.project-info p:not(.project-meta){font-size:17px}.project-info .project-disciplines{font-size:13px!important}.concept-index a{font-size:16px}.image-link{font-size:13px}.service h3{font-size:26px}.service-body,.services-intro>p:not(.eyebrow){font-size:17px}.service:first-child{border-color:var(--line)}.services-intro,.faq-intro{position:static}.resource-card h3{font-size:26px}.about-copy>p:not(.eyebrow){font-size:18px}.about-copy .about-lead{font-size:22px!important}.about-photo:before{font-size:80px;bottom:50px;left:-8px}.process h3{font-size:27px}.process p,.pricing-section .budget-copy{font-size:17px}.faq-list summary{font-size:18px}.faq-list details p{font-size:17px}.contact-layout h2{font-size:76px}.contact-email{font-size:23px}.contact-layout>div>p:not(.eyebrow){font-size:18px}}
.hero h1{font-size:clamp(62px,5.6vw,80px)}.concept-reel{aspect-ratio:1.4}
@media(max-width:1050px) and (min-width:761px){.hero h1{font-size:58px}}
@media(max-width:760px){.hero{grid-template-columns:1fr}.hero h1{font-size:clamp(40px,11.6vw,74px)}.concept-reel{aspect-ratio:1.35}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.ribbon-track{transform:none!important}html{scroll-behavior:auto}}
