/* Full-width Elementor composition, independent of the old theme shell. */
body.zigzag-site{margin:0;background:#f2f1ed;color:#322e33}body.zigzag-site .elementor{--container-default-padding-top:0;--container-default-padding-right:0;--container-default-padding-bottom:0;--container-default-padding-left:0;--widgets-spacing:0px;--kit-widget-spacing:0px}body.zigzag-site .elementor-widget:has(>.elementor-widget-container>.journey),body.zigzag-site .elementor-widget:has(>.elementor-widget-container>.studio),body.zigzag-site .elementor-widget:has(>.elementor-widget-container>.selected-work),body.zigzag-site .elementor-widget:has(>.elementor-widget-container>.capabilities){width:100%;margin:0}.zz-home-content>.elementor>.e-con,.zz-home-content>.elementor>.elementor-section{padding:0;margin:0;max-width:none;width:100%;gap:0}.elementor-widget-container>.site-header{position:fixed;z-index:9000;left:0;right:0;top:0;width:100%}.admin-bar .site-header{top:32px}.zz-nav-list{display:flex;align-items:center;gap:30px;padding:0;margin:0;list-style:none}.zz-nav-list li{position:relative;list-style:none;margin:0}.zz-nav-list .sub-menu{position:absolute;top:100%;left:0;min-width:200px;padding:16px;background:#f2f1ed;color:#322e33;list-style:none;display:none}.zz-nav-list li:hover>.sub-menu,.zz-nav-list li:focus-within>.sub-menu{display:block}.zz-page-content:not(.zz-home-content){padding-top:100px;min-height:50vh}.zz-page-content:has(.zz-archive){padding-top:0}.zz-project-content{padding-top:80px;min-height:65vh}.zz-generic{padding:120px 5vw 80px}.zz-archive{padding:130px 38px 100px}.zz-archive h1{font-size:clamp(70px,10vw,170px);letter-spacing:-.065em;font-weight:500;line-height:.95;margin:70px 0 35px}.zz-archive-intro{font-size:clamp(22px,2vw,32px);max-width:700px;margin-bottom:75px}.zz-archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 30px}.zz-archive-grid .project{width:100%;min-width:0}.zz-archive-grid .project-visual{height:auto;aspect-ratio:1;max-height:none;overflow:hidden}.zz-archive-grid .project-visual img{object-fit:cover;height:100%;width:100%}.zz-archive-grid .project-caption h3{font-size:clamp(25px,2.4vw,38px)}.zigzag-editor-preview .journey{height:100svh}.zigzag-editor-preview .journey .stage{position:relative;height:100svh}.zigzag-editor-preview .intro-copy{opacity:1!important;z-index:3;background:#f2f1edcf;padding:25px;max-width:80%;border-radius:16px}.zigzag-editor-preview .loading{display:none}.zigzag-editor-preview #fallback{opacity:.6;display:block}.zigzag-editor-preview .contact-footer{transform:none;clip-path:none}.zigzag-editor-preview .footer-logo{min-height:220px}.zigzag-editor-preview .footer-logo-fallback{display:block!important;opacity:1!important}.elementor-edit-area-active .site-header{pointer-events:none}.elementor-edit-area-active .elementor-widget-zigzag-header{min-height:80px}.zigzag-site button{font-family:inherit}.zigzag-site .site-header button:hover,.zigzag-site .site-header button:focus,.zigzag-site .scene-tools button:hover,.zigzag-site .footer-logo-motion:hover{background:transparent;color:inherit}.zigzag-site .elementor-widget-zigzag-footer{margin:0}.zigzag-site .elementor-widget-zigzag-header{position:static}.zigzag-site .elementor-location-header{z-index:9000}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:700px){.zz-nav-list{flex-direction:column;gap:0;align-items:stretch}.zz-nav-list .sub-menu{position:static;padding:0 0 10px 18px;background:transparent;color:inherit}.zz-nav-list li:focus-within>.sub-menu{display:block}.zz-nav-list a{width:100%}.zz-archive{padding:100px 22px 65px}.zz-archive h1{margin:45px 0 25px;font-size:76px}.zz-archive-intro{margin-bottom:45px}.zz-archive-grid{grid-template-columns:1fr;gap:45px}.zz-project-content{padding-top:64px}}
.zigzag-site [class*="elementor-widget-zigzag-"]{font-family:var(--font-body);color:inherit}.zigzag-site [class*="elementor-widget-zigzag-"] h1,.zigzag-site [class*="elementor-widget-zigzag-"] h2,.zigzag-site [class*="elementor-widget-zigzag-"] h3{color:inherit;font-family:var(--font-body)}.zigzag-site .intro-copy{color:#3f21d6}.zigzag-site .site-header a,.zigzag-site .contact-footer a,.zigzag-site .studio a,.zigzag-site .selected-work a,.zigzag-site .zz-archive a{color:inherit}.zigzag-site .elementor-widget-zigzag-header>.elementor-widget-container{position:static}
.zigzag-site .site-header{max-width:none!important;margin:0!important;left:0;right:0}.zigzag-site .site-header .brand{padding:0}.zigzag-site .site-header button{border:0;padding:0}

/* Editorial links between the chrome logo and the legal credits. */
.contact-footer .footer-navigation{position:relative;z-index:2;width:100%;padding:24px 0 28px;margin:0;border-top:1px solid #ffffff40}
.zz-footer-menu{display:flex;flex-wrap:wrap;gap:12px 48px;list-style:none;padding:0;margin:0;width:100%}
.zz-footer-menu li{margin:0;padding:0;list-style:none;max-width:100%}
.contact-footer .zz-footer-menu a{display:inline-flex;align-items:center;min-height:44px;font-size:clamp(20px,2vw,28px);line-height:1.2;letter-spacing:-.025em;color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;text-decoration-color:#ffffff60;overflow-wrap:anywhere}
.contact-footer .zz-footer-menu a:hover,.contact-footer .zz-footer-menu a:focus-visible{text-decoration-color:currentColor;opacity:1}
@media(max-width:700px){.contact-footer .footer-navigation{padding:20px 0 22px}.zz-footer-menu{flex-direction:column;align-items:flex-start;gap:8px}.contact-footer .zz-footer-menu a{font-size:21px}}
/* Preserve the original hero's sans/italic-serif contrast inside Elementor. */
body.zigzag-site .elementor-widget-zigzag-hero .intro-copy h1{font-family:ZigzagSans,Arial,sans-serif;font-size:clamp(50px,8.5vw,140px);font-weight:500;font-style:normal;line-height:.96;letter-spacing:-.075em;margin:0;text-transform:none}
body.zigzag-site .elementor-widget-zigzag-hero .intro-copy h1 span{font-family:Georgia,serif;font-size:inherit;font-weight:400;font-style:italic;line-height:inherit;letter-spacing:-.065em}
@media(max-width:700px){body.zigzag-site .elementor-widget-zigzag-hero .intro-copy h1{font-size:clamp(50px,13vw,92px)}}
/* Compact, keyboard-accessible editorial links. The links remain in the HTML. */
.contact-footer details.footer-navigation{display:block;padding:14px 0 18px;border-top:1px solid #ffffff35}
.footer-navigation>summary{display:flex;align-items:center;gap:12px;width:fit-content;min-height:36px;font-size:14px;line-height:1.3;letter-spacing:0;color:#ffffffbd;cursor:pointer;list-style:none}
.footer-navigation>summary::-webkit-details-marker{display:none}.footer-navigation>summary:hover{color:#fff}.footer-navigation>summary:focus-visible{outline:2px solid #fff;outline-offset:5px}
.footer-more-chevron{display:inline-block;width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.footer-navigation[open] .footer-more-chevron{transform:rotate(225deg) translate(-2px,-1px)}
.footer-navigation>nav{padding-top:12px}.contact-footer .zz-footer-menu a{font-size:18px;min-height:38px;text-underline-offset:5px}.zz-footer-menu{gap:6px 35px}
/* Each project retains its original aspect ratio, with no artificial image bands. */
.selected-work{--ribbon-height:clamp(300px,54svh,620px)}
.selected-work .project{width:calc(var(--ribbon-height)*var(--preview-ratio,1));flex:0 0 auto}
.selected-work .project-visual{width:100%;height:var(--ribbon-height);max-height:none;aspect-ratio:var(--preview-ratio,1);background:transparent}
.selected-work .project-visual img{width:100%;height:100%;object-fit:contain;display:block}
.selected-work .project-caption h3{overflow-wrap:anywhere;font-size:clamp(23px,2.2vw,32px)}
.mobile-menu-heading,.site-header #main-navigation .menu-instagram{display:none}
@media(max-width:700px){
 .contact-footer .footer-navigation>summary{font-size:13px}.contact-footer .zz-footer-menu a{font-size:16px}
 .selected-work{--ribbon-height:min(72vw,44svh)}.selected-work .project-caption h3{font-size:23px}.selected-work .project-caption p{font-size:14px}
 body.zz-menu-open{overflow:hidden;overscroll-behavior:none}
 body.zigzag-site .site-header #main-navigation{display:flex;position:fixed;inset:0 auto auto 0;width:100vw;height:100dvh;max-height:100dvh;flex-direction:column;align-items:stretch;gap:0;padding:100px 22px max(22px,env(safe-area-inset-bottom));margin:0;overflow-y:auto;overscroll-behavior:contain;background:#322e33;color:#f2f1ed;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;z-index:1;clip-path:inset(0 0 100% 0);visibility:hidden;pointer-events:none;transition:clip-path .55s cubic-bezier(.76,0,.24,1),visibility 0s .55s}
 body.zigzag-site .site-header[data-open="true"] #main-navigation{clip-path:inset(0 0 0 0);visibility:visible;pointer-events:auto;transition:clip-path .55s cubic-bezier(.76,0,.24,1),visibility 0s}
 .site-header .brand,.site-header .menu-toggle{position:relative;z-index:2}
 body.zigzag-site .site-header[data-open="true"]{color:#fff;background:#322e33;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
 .site-header[data-open="true"] .brand img{filter:brightness(0) invert(1)}.site-header[data-open="true"]>.contact{display:none}
 body.zigzag-site .site-header .menu-toggle{min-height:40px;padding:0 12px;border:1px solid currentColor;border-radius:12px;font-size:13px;gap:8px}
 .site-header .menu-toggle .menu-toggle-label{font-size:13px;transform:none}.site-header .menu-toggle .menu-toggle-icon{font-size:22px;line-height:1;transition:transform .3s}.site-header[data-open="true"] .menu-toggle .menu-toggle-icon{transform:rotate(45deg)}
 .mobile-menu-heading{display:block;font-size:13px;line-height:1.3;margin:0 0 18px;color:#ffffffb8}
 .site-header #main-navigation .zz-nav-list{display:block;width:100%;margin:0 0 32px;padding:0}
 .site-header #main-navigation .zz-nav-list>li{opacity:0;transform:translateY(18px);transition:opacity .25s,transform .35s}
 .site-header[data-open="true"] #main-navigation .zz-nav-list>li{opacity:1;transform:translateY(0);transition-delay:calc(100ms + var(--menu-order,0)*55ms)}
 .site-header #main-navigation .zz-nav-list a{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:74px;padding:14px 0;border:0;border-bottom:1px solid #ffffff45;font-size:36px;line-height:1.05;letter-spacing:-.04em;color:#f2f1ed;white-space:normal;overflow-wrap:anywhere}
 .site-header #main-navigation .zz-nav-list>li:last-child>a{border-bottom:0}.site-header #main-navigation .zz-nav-list a::after{display:none}.site-header #main-navigation .zz-nav-list a:focus-visible{outline:2px solid #f2f1ed;outline-offset:3px}
 .site-header #main-navigation .zz-nav-list .sub-menu{display:block;position:static;background:none;padding:0 0 0 18px}.site-header #main-navigation .zz-nav-list .sub-menu a{font-size:20px;min-height:45px}
 body.zigzag-site .site-header #main-navigation .menu-instagram{display:flex;position:relative;flex:0 0 auto;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;width:fit-content;min-height:44px;margin:auto 0 0;padding:8px 0;border:0;border-radius:0;background:transparent;color:#f2f1ed;overflow:visible;text-decoration:none;opacity:0;transform:translateY(12px);transition:opacity .3s,transform .4s}
 body.zigzag-site .site-header[data-open="true"] #main-navigation .menu-instagram{opacity:1;transform:translateY(0);transition-delay:.25s}
 .site-header #main-navigation .menu-instagram::after{display:none}
.menu-social-title{display:block;width:auto;font-size:20px;line-height:1.25;letter-spacing:-.02em}.menu-instagram-icon{width:18px;height:18px;flex-shrink:0}
}
@media(max-width:360px){body.zigzag-site .site-header #main-navigation{padding-inline:18px}.site-header #main-navigation .zz-nav-list a{font-size:32px;min-height:66px}.menu-social-title{font-size:20px}}
@media(prefers-reduced-motion:reduce){.site-header #main-navigation,.site-header #main-navigation *{transition:none!important}}
@media(max-width:700px){
 .site-header[data-open="true"] .menu-toggle .menu-toggle-label{transform:none}
 .site-header #main-navigation .menu-social-title{position:relative;z-index:1}
}

/* Place the contact link before the menu trigger on mobile. JS mirrors the visual order for keyboard navigation. */
@media(max-width:700px){
 .site-header>.brand{order:0}.site-header>.contact{order:1;margin-left:auto}
 .site-header>.menu-toggle{order:2;margin-left:0}.site-header>#main-navigation{order:3}
 .site-header[data-open="true"]>.menu-toggle{margin-left:auto}
}
body.zigzag-site .intro-copy{transform-origin:50% 50%;will-change:transform,opacity,filter}
.zigzag-editor-preview .intro-copy{filter:none!important}
@media(prefers-reduced-motion:reduce){body.zigzag-site .intro-copy{filter:none!important}}

/* Give the approved long headline a complete line of its own. */
.studio .studio-content{grid-template-columns:minmax(0,1fr);gap:50px}
.studio .studio-content h2{max-width:1200px;font-size:clamp(52px,7.6vw,124px);line-height:1.02;letter-spacing:-.045em}
.studio .studio-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 7vw;max-width:none}
.studio .studio-detail p:first-child{font-size:clamp(24px,2.2vw,32px);line-height:1.3;margin:0}
.studio .studio-detail p{font-size:clamp(20px,1.7vw,26px);line-height:1.4;margin:0}
.studio .studio-detail .text-link{grid-column:2;justify-self:start;margin-top:0}
@media(max-width:700px){
 .studio .studio-content{gap:32px}
 .studio .studio-content h2{font-size:clamp(38px,10.5vw,70px);line-height:1.05}
 .studio .studio-detail{grid-template-columns:minmax(0,1fr);gap:24px}
 .studio .studio-detail p:first-child{font-size:25px}
 .studio .studio-detail p{font-size:21px}
 .studio .studio-detail .text-link{grid-column:1}
}

/* Zigzag navigation: stronger glass, crisp foreground controls. */
body.zigzag-site .site-header:not([data-open="true"]) {
  background: rgba(242, 241, 237, .72);
  -webkit-backdrop-filter: blur(28px) saturate(115%);
  backdrop-filter: blur(28px) saturate(115%);
}
body.zigzag-site .site-header.has-scrolled:not([data-open="true"]) {
  background: rgba(242, 241, 237, .76);
}
body.zigzag-site .site-header[data-theme="dark"]:not([data-open="true"]) {
  background: rgba(63, 33, 214, .74);
}

/* Zigzag contact page: native Elementor content and existing WPForms. */
body.page-id-338.zigzag-site {background:#f2f1ed!important;}
body.page-id-338 .zz-page-content {padding-top:64px!important;}
body.page-id-338 .elementor-338 {font-family:var(--font-body);color:#322e33;}
body.page-id-338 .elementor-338>.elementor-element-58ea58f,
body.page-id-338 .elementor-338 .elementor-widget-spacer {display:none!important;}
body.page-id-338 .elementor-338>.elementor-section {width:100%!important;left:0!important;margin:0!important;}
body.page-id-338 .elementor-338>.elementor-element-e28779d {background:#f2f1ed!important;padding:100px 38px 110px!important;}
body.page-id-338 .elementor-338>.elementor-section>.elementor-container {max-width:none!important;gap:5vw;}
body.page-id-338 .elementor-338 .elementor-widget-wrap {padding:0!important;align-content:flex-start;gap:0;}
body.page-id-338 .elementor-338 .elementor-column {width:50%!important;min-width:0;}
body.page-id-338 .elementor-338 .ha-gradient-heading {font-family:var(--font-body)!important;font-weight:500!important;letter-spacing:-.065em!important;text-transform:none!important;background:none!important;-webkit-text-fill-color:currentColor!important;color:#3f21d6!important;margin:0!important;padding:0!important;line-height:.98!important;}
body.page-id-338 .elementor-element-ad735f8 .ha-gradient-heading {font-size:clamp(64px,7.2vw,140px)!important;}
body.page-id-338 #wpforms-355 {margin:0!important;max-width:none!important;font-family:var(--font-body)!important;}
body.page-id-338 #wpforms-form-355 .wpforms-field-container {display:grid;grid-template-columns:1fr 1fr;gap:30px 24px;}
body.page-id-338 #wpforms-form-355 .wpforms-field {padding:0!important;margin:0!important;min-width:0;}
body.page-id-338 #wpforms-355-field_1-container,body.page-id-338 #wpforms-355-field_2-container {grid-column:1/-1;}
body.page-id-338 #wpforms-form-355 .wpforms-field-label {position:static!important;clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important;overflow:visible!important;display:block!important;margin:0 0 8px!important;font:400 16px/1.4 var(--font-body)!important;color:#322e33!important;}
body.page-id-338 #wpforms-form-355 .wpforms-required-label {color:#d44339!important;}
body.page-id-338 #wpforms-form-355 .wpforms-field input,
body.page-id-338 #wpforms-form-355 .wpforms-field textarea {width:100%!important;max-width:none!important;background:transparent!important;border:0!important;border-bottom:1px solid #322e3360!important;border-radius:0!important;box-shadow:none!important;color:#322e33!important;font:400 22px/1.4 var(--font-body)!important;padding:10px 0 14px!important;height:56px!important;outline-offset:5px;transition:border-color .2s,background .2s;}
body.page-id-338 #wpforms-form-355 .wpforms-field textarea {min-height:148px!important;height:148px!important;resize:vertical!important;}
body.page-id-338 #wpforms-form-355 .wpforms-field input::placeholder,
body.page-id-338 #wpforms-form-355 .wpforms-field textarea::placeholder {color:#322e3380!important;opacity:1;}
body.page-id-338 #wpforms-form-355 .wpforms-field input:focus,
body.page-id-338 #wpforms-form-355 .wpforms-field textarea:focus {border-bottom:2px solid #3f21d6!important;outline:2px solid #3f21d630!important;}
body.page-id-338 #wpforms-form-355 .wpforms-recaptcha-container {margin:30px 0 0!important;padding:0!important;}
body.page-id-338 #wpforms-form-355 .wpforms-submit-container {margin:24px 0 0!important;padding:0!important;}
body.page-id-338 #wpforms-submit-355 {background:#3f21d6!important;color:#f2f1ed!important;border:1px solid #3f21d6!important;border-radius:99px!important;font:400 24px/1.2 var(--font-body)!important;letter-spacing:-.025em!important;padding:18px 32px!important;min-width:170px!important;min-height:64px!important;transition:background .2s,transform .2s;}
body.page-id-338 #wpforms-submit-355:hover {background:#322e33!important;border-color:#322e33!important;transform:translateY(-2px);}
body.page-id-338 #wpforms-submit-355:focus-visible {outline:3px solid #d44339!important;outline-offset:5px;}
body.page-id-338 #wpforms-form-355 label.wpforms-error {font:400 15px/1.4 var(--font-body)!important;color:#b82e26!important;margin-top:8px!important;}
body.page-id-338 .elementor-338>.elementor-element-5143c30 {background:#d44339!important;color:#f2f1ed!important;padding:70px 38px 76px!important;}
body.page-id-338 .elementor-element-c1df15e .ha-gradient-heading {font-size:clamp(48px,5.2vw,90px)!important;color:#f2f1ed!important;}
body.page-id-338 .elementor-element-99b6776 {font-family:var(--font-body)!important;color:#f2f1ed!important;font-weight:400!important;line-height:1.3!important;}
body.page-id-338 .elementor-element-99b6776 p {margin:0 0 22px;}
body.page-id-338 .elementor-element-99b6776 a {color:inherit!important;text-decoration:none;}
body.page-id-338 .zz-contact-mail {font-size:clamp(24px,3vw,52px)!important;letter-spacing:-.045em;border-bottom:1px solid #f2f1ed90;padding-bottom:5px;overflow-wrap:anywhere;}
body.page-id-338 .zz-contact-phone {font-size:22px!important;letter-spacing:-.02em;}
body.page-id-338 .elementor-element-99b6776 .zz-contact-address {font-size:14px!important;line-height:1.6!important;margin:35px 0 0!important;}
@media(max-width:767px){
 body.page-id-338 .zz-page-content {padding-top:56px!important;}
 body.page-id-338 .elementor-338>.elementor-element-e28779d {padding:58px 22px 66px!important;}
 body.page-id-338 .elementor-338>.elementor-section>.elementor-container {gap:44px!important;}
 body.page-id-338 .elementor-338 .elementor-column {width:100%!important;}
 body.page-id-338 .elementor-element-ad735f8 .ha-gradient-heading {font-size:clamp(58px,13vw,90px)!important;}
 body.page-id-338 #wpforms-form-355 .wpforms-field-container {grid-template-columns:1fr;gap:25px;}
 body.page-id-338 #wpforms-form-355 .wpforms-field input,body.page-id-338 #wpforms-form-355 .wpforms-field textarea {font-size:20px!important;}
 body.page-id-338 .elementor-338>.elementor-element-5143c30 {padding:52px 22px 58px!important;}
 body.page-id-338 .elementor-element-c1df15e .ha-gradient-heading {font-size:52px!important;}
 body.page-id-338 .zz-contact-mail {font-size:30px!important;}
}

body.page-id-338 .elementor-338 .eael-contact-form {background:transparent!important;padding:0!important;}
body.page-id-338 .site-header:not([data-open="true"]) {color:#322e33!important;background:rgba(242,241,237,.76)!important;border-bottom-color:#322e331c!important;}
body.page-id-338 .site-header:not([data-open="true"]) .brand img {filter:none!important;}

/* Zigzag portfolio: alternating editorial grid and compact index. */
body.page-id-2098 {background:#f2f1ed!important;}
body.page-id-2098 .zz-page-content {padding-top:0!important;}
body.page-id-2098 .zz-archive {padding:145px 24px 100px!important;}
body.page-id-2098 .zz-archive>.section-kicker:empty,
body.page-id-2098 .zz-archive>.zz-archive-intro:empty {display:none;}
body.page-id-2098 .zz-archive h1 {font:500 clamp(32px,3vw,52px)/1 var(--font-body)!important;letter-spacing:-.05em!important;margin:0 0 28px!important;color:#3f21d6;}
body.page-id-2098 .zz-portfolio-tools {display:flex;align-items:center;gap:24px;margin:0 0 24px;min-height:44px;font-size:18px;line-height:1.2;}
body.page-id-2098 .zz-portfolio-search {display:block;max-width:360px;flex:1;margin:0;}
body.page-id-2098 .zz-portfolio-search input {width:100%;height:42px;background:transparent;border:0;border-bottom:1px solid #322e3340;border-radius:0;padding:5px 0;font:400 18px/1.2 var(--font-body);color:#322e33;}
body.page-id-2098 .zz-portfolio-search input::placeholder {color:#322e3380;opacity:1;}
body.page-id-2098 .zz-portfolio-count {margin:0;color:#322e3390;font-size:15px;}
body.page-id-2098 .zz-portfolio-views {display:flex;gap:16px;margin-left:auto;}
body.page-id-2098 .zz-portfolio-views button {border:0;padding:10px 0;background:transparent;color:#322e3380;font:400 18px/1.2 var(--font-body);border-radius:0;cursor:pointer;min-height:44px;}
body.page-id-2098 .zz-portfolio-views button[aria-pressed="true"] {color:#3f21d6;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;}
body.page-id-2098 .zz-portfolio-tools :focus-visible {outline:2px solid #3f21d6;outline-offset:4px;}
body.page-id-2098 .zz-archive-grid {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:70px 20px!important;align-items:start;}
body.page-id-2098 .zz-archive-grid .project {width:auto!important;min-width:0!important;grid-column:span 1;margin:0!important;transform:none!important;opacity:1!important;}
body.page-id-2098 .zz-archive-grid .project.zz-wide,
body.page-id-2098 .zz-archive:not([data-enhanced]) .project:nth-child(6n+3),
body.page-id-2098 .zz-archive:not([data-enhanced]) .project:nth-child(6n+4) {grid-column:span 2;}
body.page-id-2098 .zz-archive-grid .project[hidden] {display:none!important;}
body.page-id-2098 .zz-archive-grid .project-link {display:block;color:#322e33!important;}
body.page-id-2098 .zz-archive-grid .project-visual {display:block;position:relative;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;border-radius:18px;overflow:hidden;background:transparent!important;}
body.page-id-2098 .zz-archive-grid .project-visual img {display:block;position:static;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;transform:none;transition:transform .7s cubic-bezier(.2,.65,.3,1);}
body.page-id-2098 .zz-archive-grid .project-link:hover .project-visual img {transform:scale(1.035);}
body.page-id-2098 .zz-archive-grid .project-caption {display:block;padding:13px 0 0!important;border:0!important;}
body.page-id-2098 .zz-archive-grid .project-caption h3 {font:500 clamp(24px,2.5vw,42px)/1.06 var(--font-body)!important;letter-spacing:-.045em!important;margin:0!important;}
body.page-id-2098 .zz-archive-grid .project-caption p {font:400 clamp(18px,1.7vw,28px)/1.15 var(--font-body)!important;letter-spacing:-.025em!important;color:#322e3385;margin:4px 0 0!important;}
body.page-id-2098 .zz-archive-grid .project-caption p:empty {display:none;}
body.page-id-2098 .zz-archive-grid .project-number {display:none;}
body.page-id-2098 .zz-archive-grid .project-open {display:grid;place-items:center;width:42px;height:42px;right:14px;bottom:14px;background:#f2f1ed;color:#3f21d6;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s;}
body.page-id-2098 .zz-archive-grid .project-link:hover .project-open,body.page-id-2098 .zz-archive-grid .project-link:focus-visible .project-open {opacity:1;transform:translateY(0);}
body.page-id-2098 .zz-archive-grid .project-link:focus-visible {outline:2px solid #3f21d6;outline-offset:6px;border-radius:18px;}
body.page-id-2098 .zz-portfolio-empty {padding:50px 0 100px;font-size:28px;letter-spacing:-.035em;}
body.page-id-2098 .zz-archive[data-view="list"] .zz-archive-grid {display:block!important;}
body.page-id-2098 .zz-archive[data-view="list"] .project {border-top:1px solid #322e3330;}
body.page-id-2098 .zz-archive[data-view="list"] .project:last-child {border-bottom:1px solid #322e3330;}
body.page-id-2098 .zz-archive[data-view="list"] .project-link {display:grid;grid-template-columns:1fr 90px;gap:25px;align-items:center;min-height:112px;padding:16px 0;}
body.page-id-2098 .zz-archive[data-view="list"] .project-visual {grid-column:2;grid-row:1;height:80px!important;aspect-ratio:auto!important;border-radius:6px;}
body.page-id-2098 .zz-archive[data-view="list"] .project-visual img {height:100%!important;object-fit:contain!important;object-position:right center;}
body.page-id-2098 .zz-archive[data-view="list"] .project-caption {grid-column:1;grid-row:1;padding:0!important;}
body.page-id-2098 .zz-archive[data-view="list"] .project-caption>div {display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 24px;}
body.page-id-2098 .zz-archive[data-view="list"] .project-caption h3 {font-size:clamp(32px,4vw,70px)!important;}
body.page-id-2098 .zz-archive[data-view="list"] .project-open {display:none;}
@media(max-width:767px){
 body.page-id-2098 .zz-archive {padding:105px 22px 70px!important;}
 body.page-id-2098 .zz-archive h1 {font-size:38px!important;margin-bottom:23px!important;}
 body.page-id-2098 .zz-portfolio-tools {flex-wrap:wrap;gap:8px 14px;margin-bottom:22px;}
 body.page-id-2098 .zz-portfolio-search {flex-basis:100%;max-width:none;}
 body.page-id-2098 .zz-portfolio-count {font-size:14px;}
 body.page-id-2098 .zz-portfolio-views button {font-size:16px;}
 body.page-id-2098 .zz-archive-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:38px 14px!important;}
 body.page-id-2098 .zz-archive-grid .project-visual {border-radius:12px;}
 body.page-id-2098 .zz-archive-grid .project-caption {padding-top:9px!important;}
 body.page-id-2098 .zz-archive-grid .project-caption h3 {font-size:22px!important;}
 body.page-id-2098 .zz-archive-grid .project-caption p {font-size:16px!important;}
 body.page-id-2098 .zz-archive-grid .project.zz-wide .project-caption h3 {font-size:32px!important;}
 body.page-id-2098 .zz-archive[data-view="list"] .project-link {grid-template-columns:1fr 58px;gap:14px;min-height:100px;}
 body.page-id-2098 .zz-archive[data-view="list"] .project-visual {height:65px!important;}
 body.page-id-2098 .zz-archive[data-view="list"] .project-caption h3 {font-size:29px!important;}
 body.page-id-2098 .zz-archive[data-view="list"] .project-caption>div {gap:4px;}
}
@media(prefers-reduced-motion:reduce){body.page-id-2098 .zz-archive-grid .project-visual img {transition:none!important;transform:none!important;}}

@media(max-width:767px){body.page-id-2098 .zz-archive[data-view="list"] .project-caption>div {display:block!important;}body.page-id-2098 .zz-archive[data-view="list"] .project-caption p {margin-top:5px!important;}}
