@font-face{font-family:Acumin;src:local('Acumin Variable Concept'),local('AcuminVariableConcept'),local('Acumin Pro');font-weight:100 900;font-style:normal;font-display:swap}
:root{--blue:#0B65C3;--black:#000;--white:#f2f2f2;--muted:#929292;--line:rgba(255,255,255,.085);--font:Acumin,'Helvetica Neue',Arial,sans-serif;--gutter:64px;--page-width:1280px;--gap:24px;--header-height:88px;--radius:8px;--ease:cubic-bezier(.22,1,.36,1);--lane-height:244px}
*{box-sizing:border-box}
html{background:var(--black);scroll-behavior:smooth;scroll-padding-top:112px}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--font);font-size:16px;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.locked{overflow:hidden}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent;transition:color .22s var(--ease)}
button{cursor:pointer;background:none;border:0;padding:0}
a{color:inherit;text-decoration:none}
a:hover,a:active,button:hover,button:active{color:var(--blue)}
button:disabled{cursor:wait;opacity:.55}
img{display:block;max-width:100%;height:auto}
::selection{background:var(--blue);color:#fff}
:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:450;font-variation-settings:'wght' 450,'wdth' 100;letter-spacing:-.035em;line-height:1.13}
h1{font-size:60px}
h2{font-size:36px}
h3{font-size:20px;letter-spacing:-.018em;line-height:1.25}
p{line-height:1.6}
.blue{color:var(--blue)}
.wrap{width:calc(100% - var(--gutter)*2);max-width:var(--page-width);margin-inline:auto}
.eyebrow{font-size:12px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;line-height:1.5;color:var(--muted)}
.section{border-top:1px solid var(--line);padding-block:100px}
.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:end;margin-bottom:48px;text-align:left}
.section-heading .eyebrow{margin-bottom:20px}
.section-heading h2{max-width:650px}
.heading-aside{justify-self:end;width:100%;max-width:385px;font-size:16px;color:var(--muted);line-height:1.6;padding-bottom:2px}
.heading-aside .text-link{margin-top:20px}
.text-link{font-size:12px;display:inline-block;line-height:1.5;padding-block:6px;color:var(--white)}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:14px 24px;border-radius:5px;font-size:14px;line-height:1.3;transition:background .25s,color .25s;white-space:nowrap}
.button.primary{background:var(--blue);color:white}
.button.primary:hover{background:#1174d8;color:white}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.skip-link{position:fixed;z-index:100;top:-80px;left:24px;background:var(--white);color:var(--black);padding:12px 24px}
.skip-link:focus{top:16px}
.link-mark,.social-icon{fill:currentColor;stroke:none;display:block;flex-shrink:0}
.link-mark{width:12px;height:12px}
.up-mark{transform:rotate(-45deg)}

/* All pages share one sticky header and one measured content width. */
.site-header{position:sticky;top:0;z-index:30;background:#000;transition:background .25s}
.site-header.scrolled{background:rgba(0,0,0,.94);backdrop-filter:blur(12px)}
.header-inner{display:flex;height:var(--header-height);align-items:center;gap:44px}
.brand{display:block;width:190px;flex-shrink:0}
.brand img{width:100%;height:auto}
.brand:hover{opacity:.85}
.desktop-nav{margin-left:auto;display:flex;gap:40px;align-items:center}
.desktop-nav a{font-size:12px;padding:14px 0;line-height:1.2}
.header-actions{display:flex;align-items:center;gap:20px}
.sound-toggle{width:32px;height:44px;display:grid;place-items:center}
.equalizer{height:22px;display:flex;align-items:center;gap:3px;pointer-events:none}
.equalizer i{width:2px;background:currentColor;display:block;height:4px;transition:height .3s}
.equalizer i:nth-child(2),.equalizer i:nth-child(4){height:9px}
.equalizer i:nth-child(3){height:15px}
.sound-toggle.playing i{animation:sound-level 1.15s ease-in-out infinite}
.sound-toggle.playing i:nth-child(2){animation-delay:-.75s}
.sound-toggle.playing i:nth-child(3){animation-delay:-.35s}
.sound-toggle.playing i:nth-child(4){animation-delay:-.9s}
.sound-toggle.playing i:nth-child(5){animation-delay:-.5s}
@keyframes sound-level{0%,100%{height:4px}35%{height:19px}65%{height:10px}}
.menu-toggle{display:none;font-size:12px;min-height:44px}
.mobile-nav{position:fixed;inset:var(--header-height) 0 0;z-index:29;background:#000;visibility:hidden;opacity:0;transition:opacity .22s,visibility .22s}
.mobile-nav.open{visibility:visible;opacity:1}
.mobile-nav-inner{display:flex;flex-direction:column;align-items:start;gap:28px;padding-top:52px}
.mobile-nav a{font-size:36px;font-weight:400;letter-spacing:-.03em}

/* The work has the larger share of the first viewport. No enclosing panel. */
.hero{min-height:calc(100svh - var(--header-height));display:grid;grid-template-columns:.8fr 1.2fr;gap:88px;align-items:center;padding-block:56px}
.hero-copy{min-width:0;padding-bottom:20px}
.hero-copy .eyebrow{margin-bottom:28px}
.hero h1{font-size:60px;line-height:1.12;letter-spacing:-.04em}
.hero-description{font-size:16px;color:#aaa;margin-top:28px;line-height:1.7;max-width:380px}
.hero-artwork{position:relative;width:min(100%,700px,calc((100svh - var(--header-height) - 112px)*1.22));aspect-ratio:1.22;justify-self:end;color:inherit}
.hero-photo{position:absolute;overflow:hidden;border-radius:var(--radius);background:transparent;transition:transform .7s var(--ease)}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-photo-cup{left:0;top:2%;width:45%;height:40%}
.hero-photo-bag{right:0;top:16%;width:51%;height:70%}
.hero-photo-cards{left:0;bottom:6%;width:45%;height:40%}
.hero-artwork:hover .hero-photo-cup{transform:translateY(-3px)}
.hero-artwork:hover .hero-photo-bag{transform:translateY(3px)}
.hero-artwork:hover .hero-photo-cards{transform:translateY(-2px)}

/* Images keep their own aspect ratios in two seamless, opposite-direction rails. */
.project-gallery{display:flex;flex-direction:column;gap:12px}
.loop-lane{position:relative;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;overscroll-behavior-x:contain}
.loop-lane::-webkit-scrollbar{display:none}
.js .loop-lane{overflow:hidden}
.loop-lane.dragging{cursor:grabbing}
.lane-track{display:flex;gap:12px;width:max-content;align-items:center;will-change:transform}
.project-lane{padding-block:8px}
.project-card{display:block;position:relative;width:calc(var(--lane-height)*var(--art-ratio));height:var(--lane-height);flex:0 0 auto;overflow:hidden;border-radius:var(--radius);transform-origin:center;transition:transform .55s var(--ease);background:none}
.project-card img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.project-card:hover{transform:translateY(-3px) scale(1.018)}
.project-card:focus-visible{outline-offset:-4px}
.project-card img.crop-image,.art-frame img.crop-image,.service-visual img.crop-image{position:absolute;width:calc(100%*var(--crop-scale));max-width:none;height:auto;min-height:100%;right:0;top:50%;transform:translateY(-50%)}
.loop-lane.dragging .project-card:hover{transform:none}

/* Service names sit below their images. A single click opens the actual service. */
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 24px}
.service-card{display:block;min-width:0}
.service-visual{aspect-ratio:1.6;position:relative;overflow:hidden;border-radius:var(--radius)}
.service-visual img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}
.service-card:hover .service-visual img:not(.crop-image){transform:scale(1.035)}
.service-card:hover .service-visual .crop-image{transform:translateY(-50%) scale(1.02)}
.service-copy{padding-top:20px}
.service-copy h3{font-size:18px;line-height:1.35;font-weight:450;letter-spacing:-.02em}
.service-copy p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:8px}

/* The studio story uses the same craft and visual language as the portfolio. */
.about-editorial{display:grid;grid-template-columns:1fr 1.08fr;gap:88px;align-items:center}
.about-copy{max-width:530px}
.about-lead{font-size:24px;line-height:1.48;letter-spacing:-.025em;color:var(--white)}
.about-copy>p:not(.about-lead){font-size:16px;line-height:1.65;margin-top:24px;color:var(--muted)}
.about-copy>.text-link{margin-top:28px}
.about-art{min-width:0}
.about-art img{width:100%;border-radius:var(--radius)}
.about-art-note{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);line-height:1.5;margin-top:16px}

/* Outline-only, transparent fields share the section's left and right edges. */
.contact-form{margin:0}
.contact-form>h3{font-size:18px;font-weight:400;margin-bottom:28px}
.form-grid{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:24px}
.form-field{min-width:0}
.form-field label{display:block;font-size:12px;line-height:1.5;margin-bottom:12px;color:#b0b0b0}
.form-field input,.form-field select,.form-field textarea{display:block;width:100%;background:transparent;border:1px solid rgba(255,255,255,.18);border-radius:5px;padding:16px 18px;font-size:14px;min-height:54px;transition:border-color .25s;outline-offset:3px}
.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:rgba(255,255,255,.32)}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--blue)}
.form-field input::placeholder,.form-field textarea::placeholder{color:#686868;opacity:1;font-size:14px}
.form-field select{color:#999;appearance:auto}
.form-field select:valid{color:var(--white)}
.form-field option{background:#000;color:var(--white)}
.form-field textarea{resize:vertical;min-height:136px;line-height:1.5}
.message-field{grid-column:1/-1}
.form-actions{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:28px}
.form-status{font-size:12px;color:var(--muted);max-width:550px;text-align:right;line-height:1.6}

.deliverables{padding-block:76px 80px}
.delivery-heading{text-align:center;margin-bottom:36px}
.delivery-heading h2{font-size:24px;letter-spacing:-.02em}
.delivery-lane{padding-block:6px}
.delivery-lane .lane-track{gap:28px}
.deliverable{display:flex;align-items:center;gap:16px;width:228px;min-height:64px;flex:0 0 auto;transition:transform .45s var(--ease)}
.deliverable:hover{transform:translateY(-2px)}
.deliverable-format{display:grid;place-items:center;flex:0 0 auto;width:60px;height:60px;border:1px solid rgba(255,255,255,.2);border-radius:6px;font-size:18px;font-weight:400;letter-spacing:0}
.deliverable-format.long{font-size:9px;letter-spacing:.015em}
.deliverable-label{font-size:12px;line-height:1.5;color:var(--muted);max-width:122px}
.delivery-note{text-align:center;font-size:12px;color:var(--muted);line-height:1.6;margin-top:28px}

/* Preserve the footer's existing visual structure, wording, and link markers. */
.site-footer{padding-top:60px;padding-bottom:64px}
.footer-top{display:grid;grid-template-columns:1fr 1fr .45fr .65fr;gap:40px;align-items:start;padding-bottom:60px}
.footer-brand{width:224px}
.footer-top>p{font-size:12px;color:var(--muted);line-height:1.65;padding-top:12px}
.footer-links,.footer-socials{display:flex;flex-direction:column;gap:14px;font-size:12px;padding-top:12px}
.footer-socials>a{display:flex;justify-content:space-between;gap:32px;align-items:center}
.footer-social-label{display:inline-flex;gap:12px;align-items:center}
.footer-social-label .social-icon{width:18px;height:18px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:24px;font-size:12px;color:#858585}
.footer-bottom>a{display:flex;gap:16px;align-items:center}

/* Real standalone pages: the same typography and spacing, a focused subject. */
.page-intro{padding-top:96px;padding-bottom:64px}
.page-intro>.eyebrow{display:inline-block;margin-bottom:24px}
.page-intro h1{font-size:48px;line-height:1.15;max-width:850px}
.page-intro>p:not(.eyebrow){font-size:16px;color:var(--muted);margin-top:28px;max-width:740px;line-height:1.7}
.page-content{padding-bottom:112px}
.work-filters{display:flex;flex-wrap:wrap;gap:12px 28px;margin-bottom:36px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.work-filters button{font-size:12px;padding:8px 0;color:var(--muted)}
.work-filters button[aria-pressed=true]{color:var(--white)}
.work-filters button:hover{color:var(--blue)}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;align-items:start}
.work-tile{display:block;text-align:left;min-width:0;width:100%}
.art-frame{position:relative;display:block;width:100%;aspect-ratio:1.38;overflow:hidden;border-radius:var(--radius)}
.art-frame img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.work-tile:hover .art-frame img:not(.crop-image){transform:scale(1.025)}
.work-tile:hover .art-frame .crop-image{transform:translateY(-50%) scale(1.018)}
.work-caption{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:16px}
.work-caption>span:first-child{font-size:14px;line-height:1.4}
.work-caption>span:last-child{font-size:10px;line-height:1.5;color:var(--muted);text-align:right;flex-shrink:0}
.service-intro{padding-bottom:60px}
.service-intro h1{font-size:48px;max-width:850px}
.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:96px;padding-top:40px;padding-bottom:76px;border-top:1px solid var(--line)}
.service-detail .eyebrow{margin-bottom:20px}
.service-detail>div>p:not(.eyebrow){font-size:16px;line-height:1.7;color:var(--muted);max-width:520px}
.service-detail .button{margin-top:28px}
.service-detail ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;font-size:16px;line-height:1.5}
.service-work{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-work .art-frame{aspect-ratio:1.55}
.about-page-story{padding-bottom:76px}
.about-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;padding-block:64px;border-top:1px solid var(--line)}
.about-values .eyebrow{margin-bottom:20px}
.about-values h3{font-size:22px;line-height:1.3;max-width:300px}
.about-values article>p:last-child{font-size:14px;line-height:1.7;color:var(--muted);margin-top:20px}
.approach-block{display:grid;grid-template-columns:1fr 1fr;gap:96px;padding-top:64px;border-top:1px solid var(--line)}
.approach-block .eyebrow{margin-bottom:20px}
.approach-copy p{font-size:16px;line-height:1.7;color:var(--muted);margin-bottom:24px}
.contact-page .contact-form{padding-top:40px;border-top:1px solid var(--line)}

/* Artwork previews show complete source images, without promotional overlays. */
.project-dialog{width:calc(100vw - 64px);max-width:1100px;max-height:calc(100svh - 48px);padding:0;border:1px solid rgba(255,255,255,.14);background:#000;color:var(--white);border-radius:10px;overflow:auto;overscroll-behavior:contain}
.project-dialog::backdrop{background:rgba(0,0,0,.84);backdrop-filter:blur(12px)}
.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;position:sticky;top:0;background:rgba(0,0,0,.94);z-index:1;backdrop-filter:blur(8px)}
.dialog-header .eyebrow{font-size:10px;margin-bottom:8px}
.dialog-header h2{font-size:24px}
.dialog-close{font-size:12px;padding:12px 0}
.dialog-images{display:grid;grid-template-columns:1fr;gap:16px;padding-inline:32px}
.dialog-images img{width:100%;height:auto;border-radius:6px}
.dialog-copy{padding:32px;font-size:16px}
.dialog-copy>p{color:var(--muted);max-width:700px;line-height:1.65}
.dialog-tags{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:24px;color:var(--muted);font-size:12px}
.dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px;font-size:12px}
.dialog-foot>span{color:var(--muted)}
.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,12px);padding:16px 22px;background:#151515;color:var(--white);border:1px solid rgba(255,255,255,.14);border-radius:6px;font-size:12px;line-height:1.6;max-width:480px;width:max-content;z-index:80;opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s;pointer-events:none}
.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}

@media(min-width:1680px){:root{--gutter:88px;--lane-height:260px}}
@media(max-width:1200px){:root{--gutter:48px;--lane-height:224px}.hero{gap:60px}.hero h1{font-size:48px}.section{padding-block:84px}.about-editorial{gap:56px}.footer-top{gap:28px}.footer-brand{width:190px}.work-caption{display:block}.work-caption>span:last-child{display:block;text-align:left;margin-top:5px}}
@media(max-width:960px){:root{--gutter:32px;--header-height:80px;--lane-height:214px}.header-inner{gap:28px}.desktop-nav{gap:28px}.brand{width:174px}.hero{gap:40px}.hero h1{font-size:48px}.hero-description br{display:none}.hero-description{max-width:300px}.section-heading{gap:40px}.heading-aside{max-width:310px}.service-grid{gap:36px 20px}.service-copy h3{font-size:16px}.about-editorial{gap:40px}.about-lead{font-size:22px}.about-copy>p:not(.about-lead){font-size:14px}.footer-top{grid-template-columns:1fr 1fr;gap:28px 48px}.footer-top>p{justify-self:end}.footer-links{display:grid;grid-template-columns:1fr 1fr;max-width:220px}.footer-socials{max-width:220px;justify-self:end;width:100%}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-detail{gap:48px}.about-values{gap:28px}.about-values h3{font-size:20px}}
@media(max-width:720px){:root{--gutter:24px;--header-height:76px;--lane-height:200px;--radius:7px}.desktop-nav{display:none}.header-actions{margin-left:auto;gap:20px}.menu-toggle{display:block}.brand{width:164px}.hero{grid-template-columns:1fr;gap:44px;padding-block:52px;min-height:calc(100svh - var(--header-height))}.hero-copy{padding-bottom:0}.hero-copy .eyebrow{margin-bottom:20px}.hero h1{font-size:48px}.hero-description{max-width:400px;margin-top:24px}.hero-artwork{width:100%;max-width:560px;justify-self:start}.section{padding-block:64px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:16px}.section-heading h2{font-size:32px}.heading-aside{justify-self:start;max-width:450px;font-size:14px}.heading-aside .text-link{margin-top:12px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}.service-copy{padding-top:16px}.service-copy h3{font-size:16px}.service-copy p{font-size:11px}.about-editorial{grid-template-columns:1fr;gap:36px}.about-copy{max-width:560px}.about-lead{font-size:24px}.about-art-note{font-size:11px}.form-grid{grid-template-columns:1fr 1fr;gap:20px}.form-grid>.form-field:nth-child(3){grid-column:1/-1}.form-actions{align-items:start}.form-status{max-width:260px}.delivery-heading h2{font-size:24px}.deliverables{padding-block:52px}.deliverable{width:204px;gap:14px}.deliverable-label{max-width:110px}.delivery-lane .lane-track{gap:20px}.delivery-note{font-size:11px}.site-footer{padding-top:48px;padding-bottom:32px}.footer-top{grid-template-columns:1fr 1fr;gap:24px;padding-bottom:36px}.footer-brand{width:190px;grid-column:1/-1}.footer-top>p{grid-column:1/-1;justify-self:start;padding-top:0}.footer-links{gap:14px 20px;grid-template-columns:1fr 1fr}.footer-socials{max-width:170px;padding-top:12px}.footer-social-label{gap:8px}.footer-social-label .social-icon{width:16px;height:16px}.footer-socials>a{gap:12px}.footer-bottom{align-items:start;gap:20px;line-height:1.5}.footer-bottom>span{max-width:210px}.footer-bottom>a{white-space:nowrap;gap:12px}.page-intro{padding-top:64px;padding-bottom:44px}.page-intro h1{font-size:36px}.page-intro>p:not(.eyebrow){font-size:14px}.page-content{padding-bottom:64px}.work-grid{gap:28px 16px}.work-filters{gap:8px 20px}.work-caption>span:first-child{font-size:12px}.work-caption>span:last-child{font-size:10px}.service-detail{grid-template-columns:1fr;gap:40px;padding-bottom:52px}.service-detail>div>p:not(.eyebrow){font-size:14px}.service-detail ul{font-size:14px}.service-work{grid-template-columns:repeat(2,minmax(0,1fr))}.about-values{grid-template-columns:1fr;gap:36px;padding-block:48px}.about-values h3{max-width:none}.approach-block{grid-template-columns:1fr;gap:36px;padding-top:48px}.approach-copy p{font-size:14px}.project-dialog{width:calc(100vw - 24px);max-height:calc(100svh - 24px)}.dialog-header{padding:22px 20px}.dialog-images{padding-inline:20px;gap:12px}.dialog-copy{padding:24px 20px;font-size:14px}.dialog-foot{align-items:start}.toast{bottom:20px;max-width:calc(100vw - 32px)}}
@media(max-width:460px){.hero h1{font-size:42px}.hero{gap:36px;padding-block:40px}.hero-description{font-size:14px}.hero-artwork{width:100%}.service-grid{grid-template-columns:1fr}.service-visual{aspect-ratio:1.6}.service-copy h3{font-size:18px}.service-copy p{font-size:12px}.form-grid{grid-template-columns:1fr}.form-grid>.form-field:nth-child(3){grid-column:auto}.form-actions{display:block}.form-status{text-align:left;margin-top:16px;max-width:none}.work-grid,.service-work{grid-template-columns:1fr}.work-caption{display:flex}.work-caption>span:last-child{text-align:right}.footer-bottom{display:block}.footer-bottom>a{margin-top:16px}.dialog-foot{display:block}.dialog-foot>a{display:block;margin-top:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.lane-track{will-change:auto}.project-card:hover,.hero-artwork:hover .hero-photo{transform:none}}
