:root{color-scheme:light;--bg:#F5F3EF;--fg:#202124;--muted:#65656b;--line:#d4d3d0;--accent:#2449dc;--panel:#eeeef0}:root[data-mode=dark]{color-scheme:dark;--bg:#141416;--fg:#F0EFEB;--muted:#a8a8ad;--line:#35353a;--accent:#315bff;--panel:#202226}@media(prefers-color-scheme:dark){:root[data-mode=auto]{color-scheme:dark;--bg:#141416;--fg:#F0EFEB;--muted:#a8a8ad;--line:#35353a;--accent:#315bff;--panel:#202226}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:#fff0}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wrap{width:min(1280px,90%);margin-inline:auto}.nav{padding-block:30px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.wordmark{font-weight:700;letter-spacing:-.05em;font-size:22px}.wordmark span{color:var(--accent);margin-left:12px;font-size:28px}nav{display:flex;align-items:center;gap:26px;font-size:14px}select{background:var(--bg);border:1px solid var(--line);border-radius:30px;padding:6px 10px}.mode-label{font-size:0}select{font-size:14px}.skip{position:absolute;top:-100px;background:var(--bg);padding:12px;z-index:10}.skip:focus{top:10px}.intro{padding-block:75px 60px}.meta{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(56px,9.5vw,140px);line-height:.98;letter-spacing:-.075em;max-width:1000px;margin-block:45px 30px;font-weight:600}.accent{color:var(--accent)}.intro>p{font-size:18px;max-width:540px}.project-link{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--panel);border-radius:6px}.project-link img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.project-link:hover img{transform:scale(1.025)}.placeholder{display:flex;height:100%;justify-content:center;align-items:center;font-size:24px}.play{position:absolute;bottom:20px;right:20px;border-radius:30px;padding:10px 17px;background:#faf9f6;color:#18191c;font-size:15px}.featured .play{font-size:20px}.caption{display:flex;justify-content:space-between;gap:20px;padding-block:18px}.caption h3{font-size:21px;letter-spacing:-.03em}.caption p{color:var(--muted);font-size:13px;max-width:50%;text-align:right}.projects{padding-block:75px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.section-heading h2{font-size:38px;letter-spacing:-.05em}.section-heading p{font-size:14px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 24px}.about{border-top:1px solid var(--line);padding-block:90px;display:grid;grid-template-columns:1fr 1fr;gap:80px}.about h2{font-size:58px;letter-spacing:-.06em;line-height:1.08;margin-top:25px}.about p{font-size:21px}.about .skills{font-size:15px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}small{font-size:12px;letter-spacing:.12em}.contact{background:var(--panel);padding-block:75px}.contact h2{font-size:clamp(48px,7vw,100px);letter-spacing:-.065em;line-height:1.03;margin-block:30px}.contact-link{font-size:clamp(18px,3vw,30px);color:var(--accent);border-bottom:1px solid currentColor;overflow-wrap:anywhere}footer{display:flex;justify-content:space-between;padding-block:30px;font-size:13px;color:var(--muted)}dialog{width:min(1100px,95vw);max-height:90dvh;background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:12px;padding:0}dialog::backdrop{background:rgb(0 0 0 / .8)}.dialog-head{position:sticky;top:0;background:var(--bg);z-index:2;display:flex;gap:20px;justify-content:space-between;align-items:center;padding:18px 25px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0;font-size:24px;letter-spacing:-.04em}.close{background:none;border:1px solid var(--line);border-radius:30px;padding:8px 15px;white-space:nowrap}.dialog-body{padding:25px}.dialog-body>*{max-width:100%}.dialog-body img,.standalone img{max-width:100%;height:auto}.dialog-body iframe{max-width:100%;border:0}.dialog-body video{width:100%;height:auto}.dialog-body a,.standalone a{color:var(--accent);text-decoration:underline}.dialog-body h2{margin-top:35px}.modal-open{overflow:hidden}.standalone{padding-block:60px;min-height:60vh}.standalone h1{font-size:clamp(40px,7vw,80px)}.standalone iframe{max-width:100%}@media(max-width:700px){.nav{flex-wrap:wrap;padding-block:18px}nav{width:100%;justify-content:space-between;gap:12px}.intro{padding-block:40px 25px}.meta{font-size:11px;gap:15px}h1{margin-block:30px}.grid{grid-template-columns:1fr;gap:20px}.section-heading{align-items:start;gap:15px}.section-heading h2{font-size:30px}.section-heading p{font-size:12px}.projects{padding-block:40px}.about{grid-template-columns:1fr;gap:15px;padding-block:45px}.about h2{font-size:45px}.contact{padding-block:45px}.dialog-body{padding:15px}.dialog-head{padding:12px 15px}.dialog-head h2{font-size:20px}.caption{gap:10px}.caption h3{font-size:19px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{:root,:root[data-mode=dark],:root[data-mode=auto]{color-scheme:light;--bg:white;--fg:#18191c;--muted:#555;--line:#ddd;--accent:#2449dc;--panel:white}nav,.play,dialog,.skip{display:none!important}.intro,.projects,.about,.contact{padding-block:20px}.intro h1{font-size:54px}.contact h2{font-size:42px}.grid{grid-template-columns:1fr 1fr}.project{break-inside:avoid}.about{gap:30px}.about h2{font-size:32px}.wrap{width:100%}a[href^="mailto:"]{text-decoration:none}}.language-switcher{display:flex;list-style:none;gap:8px;margin:0;padding:0;font-size:12px;white-space:nowrap}.language-switcher a{display:block;padding:4px 6px;color:var(--muted)}.language-switcher a[aria-current=true]{color:var(--accent);font-weight:700;border-bottom:1px solid currentColor}.dialog-head h2{margin-right:auto}.section-heading p{max-width:260px}.contact h2{max-width:1000px}html[lang^=en] h1{max-width:1100px}@media(max-width:700px){nav{flex-wrap:wrap;justify-content:flex-start;gap:15px}.mode-label{margin-left:auto}.dialog-head{flex-wrap:wrap}.dialog-head h2{max-width:100%}.dialog-head .language-switcher{margin-left:auto}}@media print{.language-switcher{display:none!important}}:root{--dust-map:url(/wp-content/themes/ql-portfolio/assets/dust-light.svg);--dust-opacity:.18}:root[data-mode=dark]{--dust-map:url(/wp-content/themes/ql-portfolio/assets/dust-dark.svg)}@media(prefers-color-scheme:dark){:root[data-mode=auto]{--dust-map:url(/wp-content/themes/ql-portfolio/assets/dust-dark.svg)}}body{position:relative;isolation:isolate}body::before,.contact::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--dust-map);background-repeat:repeat;background-size:1200px 1000px;opacity:var(--dust-opacity)}.contact{position:relative;isolation:isolate}@media print{body::before,.contact::before{display:none!important}}.ql-symbol{display:block;width:100%;height:100%;flex-shrink:0}.wordmark{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;letter-spacing:-.055em}.wordmark>span{width:32px;height:32px;margin:0;display:block;flex-shrink:0;color:var(--accent)}h1>.accent{display:inline-flex;width:.66em;height:.66em;margin-left:.13em;vertical-align:top;transform:translateY(.08em)}.nav{position:sticky;top:0;z-index:30;background:var(--bg);background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}html{scroll-padding-top:115px}body.admin-bar .nav{top:32px}@media(max-width:782px){body.admin-bar .nav{top:46px}}@media(max-width:700px){html{scroll-padding-top:175px}.wordmark>span{width:29px;height:29px}}@media(max-width:600px){body.admin-bar .nav{top:0}}@media print{.nav{position:static;backdrop-filter:none;background:#fff}}.wordmark{gap:0;align-items:flex-start}.wordmark>span{width:17px;height:17px;transform:translateY(2px)}h1>.accent{width:.36em;height:.36em;margin-left:.08em;transform:translateY(.04em)}.section-heading{display:block}.section-heading h2{display:flex;align-items:flex-start;gap:2px}.section-symbol{display:inline-block;width:16px;height:16px;transform:translateY(5px);color:var(--accent)}.section-heading p{max-width:none;margin-top:10px}.project-link{aspect-ratio:16/9}.play{opacity:0;transition:opacity .2s}.project-link:hover .play,.project-link:focus-visible .play,.featured .play{opacity:1}.reel-heading{position:absolute;top:24px;left:25px;right:25px;display:flex;justify-content:space-between;color:#fff;font-size:14px;text-shadow:0 1px 8px #000}.featured .project-link:after{content:'';position:absolute;inset:0;background:linear-gradient(#0003,transparent 30%);pointer-events:none}.reel-heading,.featured .play{z-index:1}.digital-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.graphic-section .caption{display:block}.keyword-strip{display:flex;flex-wrap:wrap;gap:22px;align-items:center;font-size:25px;padding-block:30px;border-block:1px solid var(--line)}.keyword-symbol{width:24px;height:24px;color:var(--accent)}.about{display:block;max-width:1050px}.about h2{font-size:clamp(30px,4vw,52px)}.about p{font-size:18px}.expertise{display:flex;gap:8px;flex-wrap:wrap}.expertise span{border:1px solid var(--line);border-radius:24px;padding:6px 12px;font-size:14px}.contact-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:8%;align-items:center}.contact h2{font-size:clamp(42px,6vw,88px)}.contact-details strong{font-size:27px;font-weight:500}.contact-details p{margin-top:14px}.contact-mark{display:inline-block;width:.5em;height:.5em;vertical-align:top;margin-left:1px;transform:translateY(.15em);color:var(--accent)}.contact-fields{display:flex;flex-direction:column;gap:12px;margin-top:25px}.contact-action{text-align:center;margin-top:90px}.contact-trigger{background:none;border:0}.contact-action .contact-trigger{font-size:26px;border-bottom:1px solid currentColor;padding-bottom:7px}.menu-hash{color:var(--muted)}.theme-controls{display:flex;align-items:center;justify-content:center;gap:2px}.theme-controls button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:6px;line-height:1;background:none;color:var(--muted);border:1px solid #fff0;border-radius:50%}.theme-controls button[aria-pressed=true]{border-color:var(--line)}.theme-controls svg{width:18px;height:18px;flex-shrink:0}#contact-dialog{width:min(640px,92vw);padding:48px;border-radius:18px;box-shadow:0 30px 100px #0005}#contact-dialog>small{color:var(--muted)}#contact-dialog>h2{font-size:48px;letter-spacing:-.05em;line-height:1.05;margin-top:17px}.close-contact{position:absolute;right:18px;top:18px;background:none;color:var(--muted);border:1px solid var(--line);border-radius:50%;width:38px;height:38px;font-size:24px}.direct-contact{display:flex;flex-direction:column;gap:12px;margin-top:32px}.direct-contact>a{padding:20px;border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere;font-size:19px}.direct-contact>a small{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.direct-contact>a:hover{border-color:var(--accent)}@media(max-width:700px){.digital-grid{grid-template-columns:1fr}.contact-columns{grid-template-columns:1fr;gap:25px}.contact-action{margin-top:65px}.nav nav{gap:12px;justify-content:flex-start;flex-wrap:wrap}.nav nav a[href$='#apropos']{display:none}.wordmark>span{width:16px;height:16px}.theme-controls button{width:29px;height:29px}.section-symbol{width:14px;height:14px;transform:translateY(3px)}#contact-dialog{padding:40px 24px 28px}#contact-dialog>h2{font-size:40px}.keyword-strip{font-size:21px;gap:16px}}body{font-family:'DM Sans',Arial,Helvetica,sans-serif;font-optical-sizing:auto}.section-heading p{margin-top:4px;line-height:1.35}.section-heading h2{line-height:1.1;margin-bottom:0}.graphic-section{border-top:0}.graphic-section>.section-heading{position:relative}.graphic-section>.section-heading:before{content:'';position:absolute;left:0;right:0;top:-75px;border-top:1px solid var(--line)}.project-meta{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.project-meta>span{font-size:13px;color:var(--muted)}.project-meta>p{margin-top:5px}.rolling-contact{height:1.25em;overflow:hidden;font-size:clamp(28px,4vw,40px);letter-spacing:-.04em;line-height:1.25;color:var(--accent);margin-top:5px}.rolling-list{animation:ql-contact-roll 6s cubic-bezier(.65,0,.35,1) infinite}.rolling-list>span{display:block;height:1.25em;white-space:nowrap}@keyframes ql-contact-roll{0%,17%{transform:translateY(0)}25%,42%{transform:translateY(-20%)}50%,67%{transform:translateY(-40%)}75%,92%{transform:translateY(-60%)}100%{transform:translateY(-80%)}}#contact-dialog:not([open]) .rolling-list{animation-play-state:paused}@media(max-width:700px){.graphic-section>.section-heading:before{top:-40px}.rolling-contact{font-size:28px}}@media(prefers-reduced-motion:reduce){.rolling-list{animation:none}.rolling-contact{height:auto}.rolling-list>span{display:none}.rolling-list>span:first-child{display:block}}.contact-popup-line{display:flex;align-items:baseline;gap:.22em;margin-top:17px;white-space:nowrap;font-size:clamp(18px,4.6vw,36px)}.contact-popup-line h2{font-size:inherit;line-height:1.25;margin:0;letter-spacing:-.055em;flex-shrink:0}.contact-popup-line .rolling-contact{font-size:inherit;margin:0;line-height:1.25;min-width:0;flex:1}.direct-contact>a:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--bg))}.direct-contact>a:hover small{color:var(--accent)}.intro>p{color:var(--accent)}a,button{text-decoration-color:var(--accent)}.contact-action .contact-trigger{border-bottom-color:var(--accent)}.project-link .play{background:#F0EFEB;color:#202124;font-size:14px}.featured .play{position:absolute;top:50%;bottom:auto;left:50%;right:auto;transform:translate(-50%,-50%);padding:12px 23px;font-size:18px;white-space:nowrap}.featured .play>span{display:flex;align-items:center;gap:10px}.featured .play svg{width:22px;height:22px;flex-shrink:0}.featured .project-link:hover .play{transform:translate(-50%,-50%) scale(1.04)}.contact h2 em{font-family:Georgia,serif;font-weight:400}.name-wave{display:inline-flex;font-family:'DM Sans',Arial,sans-serif;font-weight:700}.wordmark>.name-wave{width:auto;height:auto;transform:none;display:inline-flex;color:inherit;margin:0}.name-wave,.name-wave .name-letter{font-size:inherit;color:inherit;margin:0}.name-letter{display:inline-block;flex-shrink:0}.wordmark.wave-active .name-letter{animation:ql-name-wave 1s ease-in-out var(--letter-delay) both}@keyframes ql-name-wave{0%,100%{font-weight:700}45%{font-weight:300}}@keyframes ql-contact-roll{0%,10%{transform:translateY(0)}16.666%,26.666%{transform:translateY(-14.285714%)}33.333%,43.333%{transform:translateY(-28.571428%)}50%,60%{transform:translateY(-42.857142%)}66.666%,76.666%{transform:translateY(-57.142857%)}83.333%,93.333%{transform:translateY(-71.428571%)}100%{transform:translateY(-85.714285%)}}.preview-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none}.preview-playing .preview-video{opacity:1}.preview-playing>img{opacity:0}.project-link .play{z-index:2}@media(prefers-reduced-motion:reduce){.wordmark.wave-active .name-letter{animation:none}}.keyword-strip{width:90%;max-width:1050px;margin-inline:auto;padding:30px 0;display:block;overflow:hidden;white-space:nowrap;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}.keyword-track{display:flex;width:max-content;animation:keyword-drift 42s linear infinite}.keyword-group{display:flex;align-items:center;flex-shrink:0;gap:26px;padding-right:26px}.keyword-group>span,.keyword-group>i{flex-shrink:0}@keyframes keyword-drift{to{transform:translateX(-50%)}}.featured .play{background:var(--accent);color:#fff;font-size:21px;padding:17px 30px;border-radius:36px}.featured .play svg{width:25px;height:25px}.nav .wordmark:hover{color:var(--fg)}@media(max-width:760px){.featured .play{font-size:19px;padding:15px 25px}.keyword-group{gap:20px;padding-right:20px}}@media(prefers-reduced-motion:reduce){.keyword-track{animation:none;width:auto}.keyword-group{flex-wrap:wrap;justify-content:center;white-space:normal;padding-right:0}.keyword-group[aria-hidden=true]{display:none}}.nav .wordmark:hover,.nav .wordmark:focus-visible{color:var(--accent)}.theme-controls button:hover svg{transform:rotate(25deg)}.theme-controls svg{transition:transform .35s}dialog:not(#contact-dialog){border-radius:20px;box-shadow:0 30px 100px #0005;overflow:auto}dialog:not(#contact-dialog) .dialog-head{padding:28px 36px;gap:24px;align-items:center}.dialog-head h2{line-height:1.3}.dialog-head .close{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:none;color:var(--muted);outline:none}.dialog-head .close svg{width:23px;height:23px}.dialog-head .close:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg))}.dialog-body{padding:36px;line-height:1.8}.dialog-body>*+*{margin-top:28px}.dialog-body h2,.dialog-body h3{margin-top:44px;margin-bottom:20px}.dialog-body figure{margin-inline:0}.dialog-body .wp-block-gallery{gap:24px}.project-meta{margin-top:36px;padding-top:28px}.contact-second-line{display:block}.contact-second-line em{white-space:nowrap}@media(max-width:760px){.dialog-body{padding:24px}dialog:not(#contact-dialog) .dialog-head{padding:20px 24px}#film .dialog-head{padding:20px 24px;margin-bottom:24px}#film #player{margin-inline:24px}#project-details{padding:0 24px 24px}.detail-block{margin-top:32px;padding-top:28px}.detail-metadata{gap:24px;margin-top:28px}#film .dialog-foot{padding:0 24px 24px}}@media(prefers-reduced-motion:reduce){.theme-controls svg{transition:none}}::selection{background:var(--accent);color:#F5F3EF}.contact ::selection{background:#F5F3EF;color:#2449dc}.location-hover{display:inline-block;transform-origin:right center;white-space:nowrap;transition:color .25s,font-weight .25s}.location-hover:hover{color:var(--accent);font-weight:800;transform:none}.nav nav>a:hover{color:var(--accent)}.theme-controls button{position:relative}.theme-controls button svg{position:absolute;left:50%;top:50%;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .5s cubic-bezier(.4,0,.2,1)}.theme-controls button .theme-icon-base{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}.theme-controls button .theme-icon-alternate{opacity:0;transform:translate(-50%,-50%) rotate(-90deg) scale(.5)}.theme-controls button:hover .theme-icon-base{opacity:0;transform:translate(-50%,-50%) rotate(90deg) scale(.5)}.theme-controls button:hover .theme-icon-alternate{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}.dialog-head .close,.close-contact,.dialog-head .close:hover,.close-contact:hover{border:0;border-radius:0;background:none;box-shadow:none}@media(max-width:760px){.intro-meta .location-hover{max-width:none}.location-hover:hover{transform:none}}@media(prefers-reduced-motion:reduce){.location-hover,.theme-controls button svg{transition:none}}footer{flex-wrap:wrap}.footer-services{width:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;padding-block:16px;font-size:14px;color:var(--muted)}.footer-services a:hover{color:var(--accent)}.service-page{max-width:1050px;padding-block:65px 90px}.service-back{color:var(--muted);font-size:14px}.service-page h1{font-family:'Manrope',Arial,sans-serif;font-size:clamp(40px,6vw,72px);line-height:1.1;letter-spacing:-.055em;margin:32px 0 24px;font-weight:500}.service-intro{font-size:clamp(21px,3vw,28px);color:var(--accent);line-height:1.5;max-width:760px}.service-page section{margin-top:48px;max-width:760px}.service-page h2{font-size:28px;line-height:1.3;letter-spacing:-.035em;margin-bottom:18px}.service-page p{line-height:1.8}.service-cta{margin-top:48px;padding:14px 24px;background:var(--accent);color:#fff;border:0;border-radius:30px;font-size:18px}.service-page article>h2{margin-top:48px}.service-page article>p{max-width:760px}.language-control a[aria-current=page]{color:var(--ink,var(--fg));border-bottom:1px solid var(--accent)}dialog:not(#contact-dialog){border-radius:10px}#film{border-radius:10px}::selection{background:var(--accent);color:var(--selection-white)}.contact ::selection{background:var(--selection-white);color:#2449dc}:root{--selection-white:#F5F3EF}:root[data-mode=dark]{--selection-white:#F0EFEB}@media(prefers-color-scheme:dark){:root[data-mode=auto]{--selection-white:#F0EFEB}}.location-hover:hover{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:6px}.location-wave{display:inline-flex}.location-wave .name-letter{font-weight:inherit}.location-hover.wave-active .name-letter{animation:location-weight-wave 1s ease-in-out var(--letter-delay) both}@keyframes location-weight-wave{0%,100%{font-weight:800}45%{font-weight:300}}.theme-controls .theme-toggle{border:1px solid var(--edge,var(--line));position:relative}.theme-toggle .theme-sun,.theme-toggle .theme-moon{position:absolute;left:50%;top:50%;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .5s cubic-bezier(.4,0,.2,1)}.theme-toggle[data-current=light] .theme-sun,.theme-toggle[data-current=dark] .theme-moon{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}.theme-toggle[data-current=light] .theme-moon,.theme-toggle[data-current=dark] .theme-sun{opacity:0;transform:translate(-50%,-50%) rotate(-90deg) scale(.5)}@media (hover:hover) and (pointer:fine){.theme-toggle[data-current=light]:hover .theme-sun,.theme-toggle[data-current=dark]:hover .theme-moon{opacity:0;transform:translate(-50%,-50%) rotate(90deg) scale(.5)}.theme-toggle[data-current=light]:hover .theme-moon,.theme-toggle[data-current=dark]:hover .theme-sun{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}}footer.wrap{display:flex;align-items:center;justify-content:flex-start;gap:20px;flex-wrap:nowrap;font-size:12px}footer .copyright{width:auto;margin:0;white-space:nowrap;flex-shrink:0}footer .copyright span{margin:0;width:auto}footer .footer-services{width:auto;display:flex;justify-content:flex-start;gap:16px;padding:0;margin-right:auto;font-size:inherit}footer .footer-social{display:flex;align-items:center;gap:20px;font-size:inherit;flex-shrink:0}footer .footer-social>a{display:inline-flex;gap:5px;align-items:center}footer .footer-social span{width:auto;margin:0}.footer-arrow{width:13px;height:13px;flex-shrink:0}footer .footer-services a:hover{color:var(--accent)}@media(max-width:1050px){footer.wrap{flex-wrap:wrap;padding-block:24px;gap:16px}footer .footer-social{margin-left:auto}}@media(max-width:600px){footer .footer-services{flex-basis:100%;order:2;margin:0;gap:12px}footer .footer-social{margin-left:0;gap:14px}.footer-services a{white-space:normal}}@media(prefers-reduced-motion:reduce){.location-hover.wave-active .name-letter{animation:none}.theme-toggle .theme-sun,.theme-toggle .theme-moon{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;user-select:none}.theme-toggle:not([data-current]) .theme-moon{opacity:0}.dialog-head .close,.close-contact,.dialog-head .close:focus,.close-contact:focus,.dialog-head .close:focus-visible,.close-contact:focus-visible{border:0;outline:none;box-shadow:none;background:none}.dialog-head .close:focus-visible,.close-contact:focus-visible{color:var(--accent)}.dialog-head .close:focus-visible svg{stroke-width:2}.location-wave{position:relative}.location-wave:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:currentColor;opacity:0}.location-hover:hover{text-decoration:none}.location-hover:hover .location-wave:after{opacity:1}.contact::selection,.contact *::selection{background:#fff;color:var(--accent)}body{font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.55}h1,h2,h3,p{margin:0}.wrap{width:100%;max-width:1480px;padding-left:5%;padding-right:5%;margin-inline:auto}.nav{max-width:1600px;height:100px;padding:0 5%;gap:20px;box-shadow:0 8px 28px #00000004}.wordmark{font-size:24px;line-height:1.55;text-transform:lowercase}.italic{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.075em}.nav nav{gap:22px;font-size:14px}.nav .contact-trigger{border:1px solid #626467;border-radius:28px;padding:10px 22px;line-height:inherit;color:var(--fg)}.nav .contact-trigger:hover{color:var(--accent)}.menu-hash{opacity:.7;margin-right:2px}.language-switcher a{padding:5px 2px}.language-switcher a[aria-current=true]{color:var(--fg);font-weight:400}.theme-controls{border-left:1px solid var(--line);padding-left:10px;gap:3px}.theme-controls button{opacity:.65}.theme-controls button:hover,.theme-controls button:focus-visible{opacity:1}.intro{padding-block:44px}.meta{font-size:14px}.intro h1{font-family:'Manrope',Arial,sans-serif;font-size:clamp(66px,8.5vw,132px);font-weight:500;line-height:1.02;letter-spacing:-.068em;max-width:none;margin:36px 0 28px}h1>.accent{margin-left:.12em;transform:translateY(.05em)}.intro>p{font-size:16px;max-width:none}.project-link{border-radius:0}.project-link img{display:block;transition:transform .6s,filter .6s}.project-link:hover img{transform:scale(1.04);filter:brightness(.75)}.featured .project-link:hover img{transform:scale(1.025);filter:none}.featured .project-link:after{background:linear-gradient(0deg,#000b,transparent 42%,#0004)}.project-link .play{right:24px;bottom:24px;padding:8px 18px;border-radius:22px;transform:translateY(10px);transition:opacity .25s,transform .25s}.project-link:hover .play,.project-link:focus-visible .play{transform:none}.featured .project-link .play{left:50%;top:50%;bottom:auto;right:auto;transform:translate(-50%,-50%);background:var(--accent);color:#fff;font-size:21px;padding:17px 30px;border-radius:36px;box-shadow:0 3px 20px #0002}.featured .project-link:hover .play{transform:translate(-50%,-50%) scale(1.04)}.projects{padding-top:100px;padding-bottom:80px}.section-heading{margin-bottom:36px}.section-heading h2{font-family:'Manrope',Arial,sans-serif;font-size:38px;font-weight:500;letter-spacing:-1.6px;line-height:1.1;gap:0}.section-symbol{margin-left:3px;transform:translateY(4px)}.section-heading p{font-size:16px;line-height:1.35;margin-top:4px;text-align:left}.grid{gap:48px 28px}.digital-grid{gap:24px}.graphic-section{padding-top:60px;padding-bottom:95px}.graphic-section>.section-heading:before{top:-60px}.caption{align-items:baseline;gap:12px;padding:16px 0 0}.caption h3{font-size:21px;font-weight:500;letter-spacing:-.5px}.caption p{font-size:14px}.graphic-section .caption h3{font-size:19px;line-height:1.3}.graphic-section .caption p{margin-top:5px;text-align:left;max-width:none}.keyword-strip{font-family:'Manrope',Arial,sans-serif;font-size:clamp(20px,2.25vw,34px);letter-spacing:-1px;padding-inline:0}.keyword-symbol{width:25px;height:25px}.about{max-width:1150px;padding-top:110px;padding-bottom:110px;border:0}.about small{display:block;color:var(--muted);margin-bottom:25px;font-weight:500;letter-spacing:.14em}.about h2{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(30px,4vw,54px);font-weight:400;max-width:850px;line-height:1.18;letter-spacing:-1px;margin:0 0 28px}.about p{max-width:820px;font-size:18px;color:var(--muted);margin-bottom:20px}.expertise{margin-top:30px}.expertise span{border-radius:22px;padding:7px 14px}.contact{background:var(--accent);color:#F0EFEB;padding:68px 0 64px}.contact h2{font-family:'Manrope',Arial,sans-serif;font-size:clamp(48px,6.5vw,96px);font-weight:500;line-height:1.08;letter-spacing:-.06em;margin:30px 0 0}.contact h2 em{letter-spacing:-.075em}.contact-details strong{display:block;font-size:30px;font-weight:500;letter-spacing:-.04em;margin-bottom:5px}.contact-details p{font-size:16px}.contact-fields{gap:12px;margin-top:24px}.contact-fields a{overflow-wrap:anywhere}.contact-action .contact-trigger{border-bottom-color:#d9e1ff;color:inherit}#contact-dialog{font-family:'DM Sans',Arial,sans-serif}.contact-popup-line{margin-top:15px}.contact-popup-line h2,.rolling-contact{font-family:'Manrope',Arial,sans-serif;font-weight:500}.rolling-contact{font-weight:400}.direct-contact>a{font-size:18px}.dialog-head h2{font-weight:500;line-height:1.25}footer{min-height:90px}@media(min-width:1600px){.nav{padding-inline:80px}}@media(max-width:1000px){.nav nav{gap:16px}.contact-columns{gap:6%}}@media(max-width:950px){.nav{height:auto;min-height:100px;padding-block:20px;flex-wrap:wrap}.nav nav{gap:18px;flex-wrap:wrap}.nav nav a[href$='#apropos']{display:none}}@media(max-width:760px){.nav{min-height:110px;gap:12px;height:auto;padding-block:20px}.wordmark{font-size:22px}.nav nav{width:100%;gap:11px;justify-content:flex-start;font-size:13px;flex-wrap:wrap}.nav .contact-trigger{display:block;padding:5px 8px;border:0}.language-switcher{margin-left:auto;font-size:13px}.theme-controls{gap:0;padding-left:4px}.theme-controls button{width:29px;height:29px}.intro{padding-top:28px;padding-bottom:32px}.meta{font-size:13px;gap:20px}.intro h1{font-size:clamp(60px,13.5vw,92px);margin:32px 0 24px}.projects{padding-top:64px;padding-bottom:54px}.graphic-section{padding-top:45px;padding-bottom:55px}.graphic-section>.section-heading:before{top:-45px}.section-heading h2{font-size:28px}.section-heading p{font-size:16px}.section-symbol{width:14px;height:14px;transform:translateY(3px)}.grid,.digital-grid{grid-template-columns:1fr;gap:30px}.caption h3{font-size:20px}.project-link .play{opacity:1;transform:none;font-size:12px;right:16px;bottom:16px}.featured .project-link .play{font-size:19px;padding:15px 25px}.keyword-strip{font-size:21px}.keyword-symbol{width:23px;height:23px}.about{padding-top:64px;padding-bottom:64px}.about p{font-size:16px}.contact{padding:48px 0}.contact-columns{grid-template-columns:1fr;gap:35px}.contact h2{font-size:clamp(40px,9vw,68px)}.contact-action{margin-top:65px}.contact-action .contact-trigger{font-size:23px}.direct-contact>a{padding:16px;font-size:16px}dialog:not(#contact-dialog) .dialog-head{padding:20px 24px}.dialog-body{padding:24px}}@media print{.wrap{width:100%;padding-inline:0}.nav{height:auto;padding:0;background:#fff}.intro,.projects,.about,.contact{padding-block:20px}.intro h1{font-size:54px}.grid{grid-template-columns:1fr 1fr}.contact{background:#fff;color:#202124}.contact h2{font-size:42px}.contact h2 em{color:inherit}}.ql-portfolio .ql-site-header{box-sizing:border-box;width:100%;max-width:1600px;height:100px;min-height:100px;margin:0 auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;line-height:1.55}.ql-portfolio .ql-site-header a,.ql-portfolio .ql-site-header a:hover,.ql-portfolio .ql-site-header a:focus{text-decoration:none}.ql-portfolio .ql-site-header nav{width:auto;margin:0;padding:0;gap:22px;font-size:14px;line-height:1.55}.ql-portfolio .ql-site-header .wordmark{margin:0;padding:0;font-family:'DM Sans',Arial,sans-serif;font-size:24px;font-weight:700;line-height:1.55}.ql-portfolio .ql-main{margin:0;padding:0}.ql-portfolio .ql-intro{margin:0 auto;padding-top:44px;padding-bottom:44px}.ql-portfolio .ql-intro .meta{margin:0;padding:0;line-height:1.55}.ql-portfolio .keyword-strip.ql-keywords{box-sizing:border-box;width:90%;max-width:1050px;margin-inline:auto;padding:30px 0;font-family:'Manrope',Arial,sans-serif;font-size:clamp(20px,2.25vw,34px);letter-spacing:-1px;line-height:1.55}.ql-portfolio .ql-keywords .keyword-track,.ql-portfolio .ql-keywords .keyword-track:hover{animation-play-state:running}.ql-portfolio .ql-keywords .keyword-group{display:flex;align-items:center;gap:26px;padding-right:26px}.ql-portfolio .ql-keywords .keyword-group>span{flex-shrink:0}.ql-portfolio .ql-keywords .keyword-symbol{display:inline-flex;align-items:center;width:25px;height:25px}.ql-portfolio .contact,.ql-portfolio .contact p,.ql-portfolio .contact strong,.ql-portfolio .contact small{color:#F0EFEB}.ql-portfolio .contact .contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:24px}.ql-portfolio .contact .contact-fields>div{min-width:0}.ql-portfolio .contact .contact-fields>div>span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;color:#dce2ff}.ql-portfolio .contact .contact-fields a{display:block;color:#F0EFEB;opacity:1;visibility:visible;font-size:16px;line-height:1.55;text-decoration:none;overflow-wrap:anywhere}.ql-portfolio .contact .contact-fields a:hover{color:#F0EFEB;text-decoration:underline;text-decoration-color:#F0EFEB;text-underline-offset:4px}.ql-portfolio .contact .contact-remote{margin-top:24px;color:#dce2ff}.ql-portfolio .ql-site-footer{box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;min-height:90px;margin:0 auto;padding-top:0;padding-bottom:0;gap:20px;flex-wrap:nowrap;font-family:'DM Sans',Arial,sans-serif;font-size:12px;line-height:1.55;color:var(--muted)}.ql-portfolio .ql-site-footer a{font-size:inherit;line-height:inherit;text-decoration:none;color:inherit}.ql-portfolio .ql-site-footer a:hover{color:var(--accent);text-decoration:none}.ql-portfolio .ql-site-footer .copyright{width:auto;margin:0;padding:0;white-space:nowrap;flex-shrink:0}.ql-portfolio .ql-site-footer .footer-services{width:auto;margin:0 auto 0 0;padding:0;display:flex;justify-content:flex-start;align-items:center;gap:16px;font-size:inherit;line-height:inherit}.ql-portfolio .ql-site-footer .footer-social{margin:0;padding:0;display:flex;align-items:center;gap:20px;flex-shrink:0}.ql-portfolio .ql-contact-dialog{box-sizing:border-box;width:min(640px,92vw);height:max-content;max-height:90dvh;margin:auto;padding:48px;background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 100px #0005;font-family:'DM Sans',Arial,sans-serif;line-height:1.55}.ql-portfolio .ql-contact-dialog .popup-eyebrow{font-size:11px;letter-spacing:.12em;color:var(--muted)}.ql-portfolio .ql-contact-dialog .contact-popup-line{display:flex;align-items:baseline;gap:.22em;margin:15px 0 0;white-space:nowrap;font-size:clamp(18px,4.6vw,36px)}.ql-portfolio .ql-contact-dialog .contact-popup-line h2{font-family:'Manrope',Arial,sans-serif;font-size:inherit;font-weight:500;line-height:1.25;letter-spacing:-.055em;margin:0;flex-shrink:0}.ql-portfolio .ql-contact-dialog .rolling-contact{font-family:'Manrope',Arial,sans-serif;font-size:inherit;font-weight:400;margin:0;line-height:1.25;color:var(--accent);min-width:0;flex:1}.ql-portfolio .ql-contact-dialog .direct-contact{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:32px}.ql-portfolio .ql-contact-dialog .direct-contact-item{display:flex;align-items:center;gap:18px;width:100%;padding:20px;border:1px solid var(--line);border-radius:10px;color:var(--fg);font-size:18px;text-decoration:none;transition:border-color .2s,background .2s}.ql-portfolio .ql-contact-dialog .contact-channel-icon{width:24px;height:24px;flex-shrink:0;color:var(--muted)}.ql-portfolio .ql-contact-dialog .contact-channel-icon svg{display:block;width:100%;height:100%}.ql-portfolio .ql-contact-dialog .contact-channel-copy{min-width:0}.ql-portfolio .ql-contact-dialog .contact-channel-copy small{display:block;font-size:12px;color:var(--muted);margin-bottom:5px;letter-spacing:0}.ql-portfolio .ql-contact-dialog .contact-channel-copy>span{display:block;overflow-wrap:anywhere}.ql-portfolio .ql-contact-dialog .channel-action{margin-left:auto;color:var(--accent);font-size:22px}.ql-portfolio .ql-contact-dialog .direct-contact-item:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--bg));text-decoration:none}.ql-portfolio .ql-contact-dialog .direct-contact-item:hover .contact-channel-icon,.ql-portfolio .ql-contact-dialog .direct-contact-item:hover small{color:var(--accent)}.ql-portfolio .ql-contact-dialog .close-contact{display:flex;align-items:center;justify-content:center;position:absolute;right:18px;top:18px;width:38px;height:38px;padding:9px;border:0;border-radius:0;background:none;color:var(--muted);box-shadow:none;outline:none}.ql-portfolio .ql-contact-dialog .close-contact svg{width:20px;height:20px}.ql-portfolio .ql-contact-dialog .close-contact:hover,.ql-portfolio .ql-contact-dialog .close-contact:focus-visible{color:var(--accent)}@media(min-width:1600px){.ql-portfolio .ql-site-header{padding-inline:80px}}@media(max-width:1000px){.ql-portfolio .ql-site-header nav{gap:16px}.ql-portfolio .contact .contact-fields{grid-template-columns:1fr;gap:15px}}@media(max-width:950px){.ql-portfolio .ql-site-header{height:auto;min-height:100px;padding-block:20px;flex-wrap:wrap}.ql-portfolio .ql-site-header nav{gap:18px;flex-wrap:wrap}}@media(max-width:1050px){.ql-portfolio .ql-site-footer{flex-wrap:wrap;padding-block:24px;gap:16px}.ql-portfolio .ql-site-footer .footer-social{margin-left:auto}}@media(max-width:760px){.ql-portfolio .ql-site-header{height:auto;min-height:110px;gap:12px;padding-block:20px}.ql-portfolio .ql-site-header .wordmark{font-size:22px}.ql-portfolio .ql-site-header nav{width:100%;gap:11px;justify-content:flex-start;font-size:13px}.ql-portfolio .ql-intro{padding-top:28px;padding-bottom:32px}.ql-portfolio .keyword-strip.ql-keywords{font-size:21px}.ql-portfolio .ql-keywords .keyword-group{gap:20px;padding-right:20px}.ql-portfolio .ql-keywords .keyword-symbol{width:23px;height:23px}.ql-portfolio .contact .contact-fields{grid-template-columns:1fr 1fr;gap:20px}.ql-portfolio .ql-contact-dialog{padding:40px 24px 28px}.ql-portfolio .ql-contact-dialog .direct-contact-item{padding:16px;font-size:16px}}@media(max-width:600px){.ql-portfolio .ql-site-footer .footer-services{flex-basis:100%;order:2;margin:0;gap:12px}.ql-portfolio .ql-site-footer .footer-social{margin-left:0;gap:14px}.ql-portfolio .ql-site-footer .footer-services a{white-space:normal}}@media print{.ql-portfolio .ql-site-header{position:static;height:auto;min-height:0;padding:0;background:#fff}.ql-portfolio .ql-intro{padding-block:20px}.ql-portfolio .contact,.ql-portfolio .contact p,.ql-portfolio .contact strong,.ql-portfolio .contact small,.ql-portfolio .contact .contact-fields a{background:#fff;color:#202124}}.ql-portfolio .contact .contact-details strong{margin-bottom:0;line-height:1.55}.ql-portfolio .contact .contact-location{margin-top:0;margin-bottom:0;line-height:1.55}.ql-portfolio .contact .contact-fields>div>.contact-value{display:block;font-size:16px;letter-spacing:0;text-transform:none;margin-bottom:0;color:#F0EFEB;line-height:1.55;overflow-wrap:anywhere;user-select:text}.ql-portfolio .ql-contact-dialog .rolling-list>span{font-family:'Manrope','Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}@media(max-width:760px){.ql-portfolio .contact .contact-fields{grid-template-columns:1fr;gap:20px}}@media print{.ql-portfolio .contact .contact-fields>div>.contact-value{color:#202124}}.ql-portfolio .project-link>.preview-video{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1);transform-origin:center;transition:transform .6s,filter .6s}.ql-portfolio .project-link>.preview-poster{opacity:1}.ql-portfolio .project-link.preview-playing>.preview-video{opacity:1}.ql-portfolio .project-link:hover>img,.ql-portfolio .project-link:focus-visible>img,.ql-portfolio .project-link:hover>.preview-video,.ql-portfolio .project-link:focus-visible>.preview-video{transform:scale(1.04);filter:brightness(.75)}.ql-portfolio .featured .project-link:hover>img,.ql-portfolio .featured .project-link:hover>.preview-video{transform:scale(1.025);filter:none}.ql-portfolio .project-link>.preview-unavailable{opacity:0}@media(prefers-reduced-motion:reduce){.ql-portfolio .project-link:hover>img,.ql-portfolio .project-link:focus-visible>img,.ql-portfolio .project-link:hover>.preview-video,.ql-portfolio .project-link:focus-visible>.preview-video{transform:none}}.ql-portfolio .project-metadata{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:28px 36px;margin:36px 0 0;padding:28px 0 0;border-top:1px solid var(--line);line-height:1.8}.ql-portfolio .project-metadata .project-fact{flex:1 1 0%;min-width:0;margin:0}.ql-portfolio .project-metadata dt{font-size:13px;color:var(--muted);margin-bottom:8px}.ql-portfolio .project-metadata dd{margin:0;color:var(--fg);font-size:16px;overflow-wrap:anywhere}@media(max-width:760px){.ql-portfolio .project-metadata{flex-wrap:wrap;gap:24px;margin-top:28px;padding-top:24px}.ql-portfolio .project-metadata .project-fact{flex:1 1 160px}}.ql-portfolio .ql-site-header a.wordmark{color:var(--fg)}.ql-portfolio .ql-site-header a.wordmark:hover,.ql-portfolio .ql-site-header a.wordmark:focus-visible{color:var(--accent)}.ql-portfolio .ql-site-header a.wordmark .name-wave,.ql-portfolio .ql-site-header a.wordmark .name-letter{color:inherit}.ql-portfolio dialog:not([open]){display:none!important}.ql-portfolio dialog[open]{display:block;position:fixed;border:0;outline:none}.ql-portfolio dialog .dialog-body{border:0;outline:none;box-shadow:none}.ql-portfolio .ql-contact-dialog{border:0}.ql-portfolio .project>.caption{padding:0;margin:0;gap:12px;line-height:1.55}.ql-portfolio .project>.caption h3,.ql-portfolio .project>.caption p{margin:0}.ql-portfolio .graphic-section .project>.caption p{margin-top:0}.ql-portfolio .project>.caption{padding-top:6px}.ql-portfolio dialog:not(#contact-dialog)>.dialog-body{box-sizing:border-box;width:100%;margin:0;padding:28px 36px!important}.ql-portfolio dialog:not(#contact-dialog)>.dialog-body .alignfull,.ql-portfolio dialog:not(#contact-dialog)>.dialog-body .alignwide{width:100%;max-width:100%;margin-left:0;margin-right:0}@media(max-width:760px){.ql-portfolio dialog:not(#contact-dialog)>.dialog-body{padding:24px!important}}.ql-portfolio .project>.caption{padding-top:10px}.ql-portfolio dialog[open]{border:1px solid var(--accent)}.ql-portfolio dialog:not(#contact-dialog)>.dialog-head{padding:30px 42px}.ql-portfolio dialog:not(#contact-dialog)>.dialog-body{padding:36px 42px!important}.ql-portfolio .ql-contact-dialog{padding:54px}@media(max-width:760px){.ql-portfolio dialog:not(#contact-dialog)>.dialog-head{padding:24px 28px}.ql-portfolio dialog:not(#contact-dialog)>.dialog-body{padding:28px!important}.ql-portfolio .ql-contact-dialog{padding:44px 28px 32px}}.ql-portfolio .project>.caption{padding-top:20px}.ql-portfolio dialog[open]{border:1px solid var(--line);box-shadow:0 30px 100px #0008}.ql-portfolio dialog::backdrop{background:rgb(0 0 0 / .86)}.ql-portfolio dialog:not(#contact-dialog)>.dialog-head{padding:9px 42px}@media(max-width:760px){.ql-portfolio dialog:not(#contact-dialog)>.dialog-head{padding:5.4px 28px}}.ql-portfolio dialog[open]:not(#contact-dialog){display:flex;flex-direction:column;overflow:hidden;border:0;isolation:isolate;max-height:90dvh}.ql-portfolio dialog[open]:not(#contact-dialog)::after{content:"";position:absolute;inset:0;z-index:20;pointer-events:none;border:1px solid var(--line);border-radius:inherit;box-sizing:border-box}.ql-portfolio dialog:not(#contact-dialog)>.dialog-head{position:relative;top:auto;;;;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:0 42px;z-index:2}.ql-portfolio dialog:not(#contact-dialog)>.dialog-head h2{margin:0;line-height:1.25;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ql-portfolio dialog:not(#contact-dialog)>.dialog-head .close{width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;align-self:center;margin:0;padding:0}.ql-portfolio dialog:not(#contact-dialog)>.dialog-body{flex:1 1 auto;min-height:0;;overflow-y:auto;overscroll-behavior:contain}.ql-portfolio .dialog-head .close svg,.ql-portfolio .close-contact svg{transform-origin:center;transition:transform .25s ease}.ql-portfolio .dialog-head .close:hover svg,.ql-portfolio .close-contact:hover svg{transform:rotate(90deg)}@media(max-width:760px){.ql-portfolio dialog:not(#contact-dialog)>.dialog-head{;;;padding:0 28px}.ql-portfolio dialog:not(#contact-dialog)>.dialog-head .close{width:30px;height:30px;min-width:30px}}@media(prefers-reduced-motion:reduce){.ql-portfolio .dialog-head .close svg,.ql-portfolio .close-contact svg{transition:none}.ql-portfolio .dialog-head .close:hover svg,.ql-portfolio .close-contact:hover svg{transform:none}}.ql-vimeo-frame{--ql-vimeo-ratio:1.7777778;position:relative!important;box-sizing:border-box;width:min(100%,max(200px,min(70vw,calc(70vh * var(--ql-vimeo-ratio)))))!important;max-width:100%!important;height:auto!important;aspect-ratio:var(--ql-vimeo-ratio)!important;padding:0!important;margin-inline:auto!important}.ql-vimeo-frame::before,.ql-vimeo-frame::after{display:none!important}.ql-vimeo-frame iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:auto!important;margin:0!important;border:0!important}.ql-portfolio .graphic-section .project>.caption{display:flex;justify-content:space-between}.ql-portfolio .graphic-section .project>.caption h3{font-size:21px;line-height:inherit}.ql-portfolio .graphic-section .project>.caption p{max-width:50%;text-align:right;margin-top:0}.ql-portfolio .service-page{max-width:1480px}.ql-portfolio .service-page article>p,.ql-portfolio .service-page section,.ql-portfolio .service-page .service-intro{max-width:none}.ql-vimeo-frame .ql-vimeo-inner{position:static!important;height:auto!important;padding:0!important;margin:0!important;aspect-ratio:auto!important}@media(max-width:600px){.ql-portfolio dialog:not(#contact-dialog)>.dialog-head{;;;flex-wrap:nowrap}.ql-portfolio .ql-site-header nav .theme-controls{margin-left:auto;flex-shrink:0}.ql-portfolio .ql-site-header nav .language-switcher{margin-left:0}.ql-portfolio .graphic-section .project>.caption h3{font-size:20px}}.ql-portfolio .service-page{width:min(1050px,90%);max-width:1050px;padding-inline:0}.ql-portfolio .service-page article{width:100%;max-width:100%;margin-inline:0}.ql-portfolio .service-page article>p,.ql-portfolio .service-page section,.ql-portfolio .service-page .service-intro{max-width:760px}.ql-portfolio .service-page article>h2{margin-top:48px}.ql-portfolio .graphic-section .project>.caption{display:block}.ql-portfolio .graphic-section .project>.caption h3{font-size:19px;line-height:1.3}.ql-portfolio .graphic-section .project>.caption p{max-width:none;text-align:left;margin-top:5px}.ql-portfolio .contact::selection,.ql-portfolio .contact *::selection{background-color:#fff!important;color:var(--accent)!important;text-shadow:none!important}.footer-wave{display:inline-flex;white-space:pre}.footer-letter{display:inline-block;flex-shrink:0}.ql-portfolio .footer-services a:hover,.ql-portfolio .footer-services a:focus-visible{color:var(--accent)}.footer-services a.wave-active .footer-letter{animation:ql-footer-wave 1s ease-in-out var(--letter-delay) both}@keyframes ql-footer-wave{0%,100%{font-weight:400}45%{font-weight:800}}.ql-portfolio .ql-vimeo-embed{height:auto!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important}.ql-vimeo-frame{min-height:0!important;max-height:none!important}.ql-vimeo-frame .ql-vimeo-inner{min-height:0!important;max-height:none!important}.ql-vimeo-inner::before,.ql-vimeo-inner::after{display:none!important}@media(max-width:760px){.ql-portfolio dialog:not(#contact-dialog)>.dialog-head{;;;flex-wrap:nowrap}.ql-portfolio dialog:not(#contact-dialog)>.dialog-head h2{font-size:26px;line-height:1.2}.ql-portfolio dialog:not(#contact-dialog)>.dialog-head .close{width:36px;height:36px;min-width:36px}.ql-portfolio .graphic-section .project>.caption h3{font-size:20px}}@media(prefers-reduced-motion:reduce){.footer-services a.wave-active .footer-letter{animation:none}}.ql-portfolio .service-page article>p,.ql-portfolio .service-page section,.ql-portfolio .service-page .service-intro{max-width:640px}.ql-portfolio .graphic-section .project>.caption h3{line-height:1.2;margin-bottom:0}.ql-portfolio .graphic-section .project>.caption p{margin-top:2px;line-height:1.3}.ql-portfolio dialog:not(#contact-dialog)>.dialog-head{;}@media(max-width:760px){.ql-portfolio dialog:not(#contact-dialog)>.dialog-head{;}}.ql-portfolio main.service-page.wrap{box-sizing:border-box;width:100%;max-width:1050px;margin-inline:auto;padding:65px 5% 90px;font-size:16px;line-height:1.55}.ql-portfolio .service-page article{width:100%;max-width:100%;margin:0;padding:0}.ql-portfolio .service-page article h1{max-width:none;font-family:'Manrope',Arial,sans-serif;font-size:clamp(40px,6vw,72px);font-weight:500;line-height:1.1;letter-spacing:-.055em;margin:32px 0 24px}.ql-portfolio .service-page article p{max-width:760px;margin:0;line-height:1.8}.ql-portfolio .service-page .service-intro{max-width:760px;font-size:clamp(21px,3vw,28px);line-height:1.8}.ql-portfolio .service-page section{max-width:760px;margin-top:48px}.ql-portfolio .service-page article h2{font-size:28px;line-height:1.3;letter-spacing:-.035em;margin:0 0 18px}.ql-portfolio .service-page article>h2{margin-top:48px}.contact-menu-hash{display:none}@media(max-width:760px){.ql-portfolio .ql-site-header .contact-menu-hash{display:inline}.ql-portfolio .ql-site-header nav .theme-controls{padding-left:10px;gap:0;align-items:center;justify-content:center}.ql-portfolio .ql-site-header .theme-controls button{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center}.ql-portfolio dialog:not(#contact-dialog)>.dialog-head{;}}.ql-portfolio dialog:not(#contact-dialog)>.dialog-head{box-sizing:border-box;flex:0 0 86px!important;height:86px!important;min-height:86px!important;max-height:86px!important;align-items:center;flex-wrap:nowrap;padding-block:0!important}.ql-portfolio dialog:not(#contact-dialog)>.dialog-body{max-height:calc(90dvh - 86px)}@media(max-width:760px){.ql-portfolio dialog:not(#contact-dialog)>.dialog-head{padding-inline:24px}.ql-portfolio dialog:not(#contact-dialog)>.dialog-head h2{font-size:24px;margin:0;line-height:1.2}}@media(max-width:760px){.ql-portfolio dialog:not(#contact-dialog)>.dialog-head{flex:0 0 86px!important;height:86px!important;min-height:86px!important;max-height:86px!important}.ql-portfolio dialog:not(#contact-dialog)>.dialog-body{max-height:calc(90dvh - 86px)}}@media(max-width:600px){.ql-portfolio dialog:not(#contact-dialog)>.dialog-head{flex:0 0 72px!important;height:72px!important;min-height:72px!important;max-height:72px!important}.ql-portfolio dialog:not(#contact-dialog)>.dialog-body{max-height:calc(90dvh - 72px)}.ql-portfolio .project-link .play{font-size:12px;padding:10px 17px}.ql-portfolio .featured .project-link .play{font-size:19px;padding:15px 25px}}.ql-portfolio .ql-site-header nav .ql-header-tools{display:flex;align-items:center;gap:22px;flex:0 0 auto}.ql-portfolio .ql-site-header nav .ql-header-tools .language-switcher{margin:0}.ql-portfolio .ql-site-header nav .ql-header-tools .theme-controls{margin:0}@media(max-width:600px){.ql-portfolio .ql-site-header nav .ql-header-tools{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}.ql-portfolio .ql-site-header nav .ql-header-tools .language-switcher{margin:0;flex-shrink:0}.ql-portfolio .ql-site-header nav .ql-header-tools .theme-controls{position:static;margin-left:0;padding-left:10px;flex-shrink:0}}@media(max-width:760px){.ql-portfolio .ql-site-header nav{display:flex;flex-wrap:wrap;width:100%}.ql-portfolio .ql-site-header nav>.ql-header-tools{display:flex;align-items:center;justify-content:flex-end;margin-left:auto!important;gap:10px;flex:0 0 auto}.ql-portfolio .ql-site-header nav>.ql-header-tools>.language-switcher{margin:0!important}.ql-portfolio .ql-site-header nav>.ql-header-tools>.theme-controls{position:static!important;margin:0!important;padding-left:10px}}.ql-portfolio .service-page article h1{width:100%;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:normal;height:auto;max-height:none}.ql-portfolio .service-page .service-title{min-width:0;margin-bottom:24px}.ql-portfolio .service-page .service-title h1{margin-bottom:0}.ql-portfolio .service-page article .service-subtitle{max-width:100%;margin:14px 0 0;font-family:'Manrope',Arial,sans-serif;font-size:clamp(24px,3.6vw,43px);font-weight:500;line-height:1.2;letter-spacing:-.035em;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere}.ql-portfolio .service-page article h1,.ql-portfolio .service-page article .service-subtitle{overflow-wrap:normal;word-break:normal;hyphens:none;white-space:normal}.ql-portfolio .service-page .service-title,.ql-portfolio .service-page article{min-width:0;max-width:100%}.ql-portfolio .service-page article h1{display:block;width:auto;max-width:100%;font-size:clamp(28px,6vw,72px);white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none}.ql-portfolio .service-page article .service-subtitle{white-space:pre-line;overflow-wrap:normal;word-break:normal}.footer-wave .ql-occitan-icon{display:inline-grid;vertical-align:-.15em;width:1.2em;height:1.2em;margin-inline:.12em;flex:0 0 auto}.ql-occitan-icon>span{grid-area:1/1;display:block;width:100%;height:100%}.ql-occitan-icon svg{display:block;width:100%;height:100%;fill:currentColor}.ql-occitan-icon .ql-cross-hover{opacity:0}.footer-services a:focus-visible .ql-cross-normal{opacity:0}.footer-services a:focus-visible .ql-cross-hover{opacity:1}@media(hover:hover){.footer-services a:hover .ql-cross-normal{opacity:0}.footer-services a:hover .ql-cross-hover{opacity:1}}.ql-portfolio .ql-site-footer .footer-services{flex-wrap:wrap;row-gap:8px;min-width:0}.ql-portfolio .ql-site-footer .footer-services .footer-wave{display:inline-flex;align-items:center;justify-content:flex-start;gap:0;width:auto;flex-wrap:nowrap}.ql-portfolio .ql-site-footer .footer-services .footer-wave .ql-occitan-icon{position:relative;display:inline-block;box-sizing:border-box;width:15px;min-width:15px;max-width:15px;height:15px;min-height:15px;max-height:15px;flex:0 0 15px;margin:0 5px 0 2px;padding:0;line-height:0;vertical-align:middle;align-self:center}.ql-portfolio .ql-site-footer .footer-services .ql-occitan-icon>span{position:absolute;inset:0;display:block;width:15px;height:15px;margin:0;padding:0;line-height:0}.ql-portfolio .ql-site-footer .footer-services .ql-occitan-icon svg{position:static;display:block;width:15px;height:15px;max-width:15px;max-height:15px;margin:0;padding:0;fill:currentColor}.contact-action .contact-trigger.wave-active .footer-letter{animation:ql-footer-wave 1s ease-in-out var(--letter-delay) both}.contact-action .contact-trigger .footer-wave{align-items:center}@media(prefers-reduced-motion:reduce){.contact-action .contact-trigger.wave-active .footer-letter{animation:none}}.service-cta.wave-active .footer-letter{animation:ql-footer-wave 1s ease-in-out var(--letter-delay) both}.service-cta .footer-wave{align-items:center}@media(prefers-reduced-motion:reduce){.service-cta.wave-active .footer-letter{animation:none}}.ql-home-italic{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.025em}.ql-theme-grey{color:var(--muted)}.ql-portfolio .service-page .service-title{display:flow-root;margin-bottom:0;padding-bottom:24px}.ql-portfolio .service-page .service-title h1{margin-bottom:0}.ql-portfolio .service-page .service-title+*{margin-top:0}.ql-portfolio .service-page .service-title{padding-bottom:35.45px}.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:var(--wp--style--block-background-padding,1.25em 2.375em)}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:var(--wp--style--block-background-padding,1.25em 2.375em)}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}