/* ==========================================================================
   Z IDENTT — The Identity · main stylesheet
   1. Tokens & base          6. Portfolio (cards, grid, filter, project page)
   2. Utilities & buttons    7. Forms
   3. Header & drawer        8. Elementor helper classes (zid-*)
   4. Footer & WhatsApp      9. Motion & accessibility
   5. Shortcodes
   ========================================================================== */

/* 1. Tokens & base ------------------------------------------------------- */
:root{
	--zid-accent:#F26822;
	--zid-accent-2:#FF8A4C;
	--zid-accent-deep:#C9470C;
	--zid-ink:#231F20;
	--zid-night:#121011;
	--zid-charcoal:#1B1819;
	--zid-coal:#262122;
	--zid-paper:#F6F3EF;
	--zid-stone:#E9E3DC;
	--zid-muted:#6E6767;
	--zid-line:rgba(35,31,32,.12);
	--zid-line-light:rgba(255,255,255,.12);
	--zid-white:#fff;
	--zid-radius:18px;
	--zid-radius-sm:12px;
	--zid-radius-lg:28px;
	--zid-wrap:1280px;
	--zid-gutter:clamp(20px,4vw,40px);
	--zid-font-display:"Poppins",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
	--zid-font-body:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
	--zid-ease:cubic-bezier(.2,.7,.2,1);
	--zid-shadow:0 30px 60px -30px rgba(18,16,17,.35);
	--zid-header-h:84px;
	--zid-logo-w:150px;
	--zid-h:var(--zid-ink);
	--zid-t:#4A4445;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.zid-site{font-family:var(--zid-font-body);font-size:16px;line-height:1.65;color:var(--zid-ink);background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
body.zid-site h1,body.zid-site h2,body.zid-site h3,body.zid-site h4,body.zid-site h5,body.zid-site h6{font-family:var(--zid-font-display);color:inherit;letter-spacing:-.02em;line-height:1.12;margin-block:0 .5em}
body.zid-site a{color:inherit;text-decoration:none;transition:color .25s var(--zid-ease)}
body.zid-site p{margin-block:0 1em}
body.zid-site img{max-width:100%;height:auto}
::selection{background:var(--zid-accent);color:#fff}
:focus-visible{outline:2px solid var(--zid-accent);outline-offset:3px;border-radius:4px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;z-index:10000;top:12px;left:12px;width:auto;height:auto;clip:auto;background:#fff;color:var(--zid-ink);padding:10px 16px;border-radius:8px}
.zid-site [hidden]{display:none!important}
.zid-icon{width:1.15em;height:1.15em;flex:none;display:inline-block;vertical-align:-.2em}
.zid-wrap{width:100%;max-width:calc(var(--zid-wrap) + var(--zid-gutter)*2);margin-inline:auto;padding-inline:var(--zid-gutter)}

/* 2. Utilities & buttons ------------------------------------------------- */
.zid-eyebrow{display:inline-flex;align-items:center;gap:12px;font:500 12px/1.4 var(--zid-font-display);letter-spacing:.24em;text-transform:uppercase;color:var(--zid-accent);margin:0 0 18px}
.zid-eyebrow::before{content:"";width:28px;height:1.5px;background:currentColor;flex:none}
.zid-h2{font-size:clamp(28px,3.4vw,46px);font-weight:500;letter-spacing:-.03em}
.zid-h6{font:600 12px/1.4 var(--zid-font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--zid-muted);margin-bottom:14px}
.zid-lead{font-size:clamp(18px,1.6vw,22px);line-height:1.55;color:var(--zid-ink)}
.zid-section{padding-block:clamp(64px,9vw,128px)}
.zid-section--tight{padding-block:clamp(48px,6vw,80px)}
.zid-section-head{margin-bottom:clamp(28px,4vw,48px);max-width:760px}
.zid-section-head--row{display:flex;justify-content:space-between;align-items:end;gap:20px;max-width:none;flex-wrap:wrap}
.zid-empty{padding:40px;border:1px dashed var(--zid-line);border-radius:var(--zid-radius);text-align:center;color:var(--zid-muted)}

.zid-btn{--btn-bg:var(--zid-accent);--btn-fg:#fff;--btn-bd:var(--zid-accent);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;border-radius:999px;border:1.5px solid var(--btn-bd);background:var(--btn-bg);color:var(--btn-fg)!important;font:500 15px/1.2 var(--zid-font-display);letter-spacing:.01em;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:transform .35s var(--zid-ease),background-color .3s,color .3s,border-color .3s,box-shadow .35s;white-space:nowrap}
.zid-btn::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--zid-ink);transform:translateY(101%);transition:transform .45s var(--zid-ease);border-radius:inherit}
.zid-btn:hover::after,.zid-btn:focus-visible::after{transform:none}
.zid-btn:hover{border-color:var(--zid-ink);box-shadow:0 14px 30px -14px rgba(242,104,34,.6)}
.zid-btn .zid-icon{transition:transform .35s var(--zid-ease)}
.zid-btn:hover .zid-icon{transform:translateX(3px)}
.zid-btn:hover .zid-icon--arrow-up-right{transform:translate(2px,-2px)}
.zid-btn--sm{min-height:44px;padding:10px 20px;font-size:14px}
.zid-btn--block{width:100%}
.zid-btn--ghost{--btn-bg:transparent;--btn-fg:var(--zid-ink);--btn-bd:var(--zid-line)}
.zid-btn--ghost:hover{--btn-fg:#fff}
.zid-btn--light{--btn-bg:#fff;--btn-fg:var(--zid-ink);--btn-bd:#fff}
.zid-btn--light::after{background:var(--zid-night)}
.zid-btn--light:hover{--btn-fg:#fff;border-color:var(--zid-night)}
.zid-btn--outline-light{--btn-bg:transparent;--btn-fg:#fff;--btn-bd:rgba(255,255,255,.55)}
.zid-btn--outline-light::after{background:#fff}
.zid-btn--outline-light:hover{--btn-fg:var(--zid-ink);border-color:#fff}
.zid-btn--whatsapp{--btn-bg:#25D366;--btn-bd:#25D366;--btn-fg:#0b2e18}
.zid-btn--whatsapp:hover{--btn-fg:#fff}
.zid-link-arrow{display:inline-flex;align-items:center;gap:8px;font:500 15px var(--zid-font-display);color:var(--zid-ink);border-bottom:1.5px solid currentColor;padding-bottom:4px}
.zid-link-arrow:hover{color:var(--zid-accent)}
.zid-link-arrow .zid-icon{transition:transform .3s var(--zid-ease)}
.zid-link-arrow:hover .zid-icon{transform:translateX(4px)}

/* 3. Header & drawer ----------------------------------------------------- */
.zid-topbar{background:var(--zid-night);color:rgba(255,255,255,.7);font-size:13px;position:relative;z-index:60}
.zid-topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:40px}
.zid-topbar__text{margin:0;letter-spacing:.02em}
.zid-topbar__links{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.zid-topbar__links a{display:inline-flex;align-items:center;gap:7px}
.zid-topbar__links a:hover{color:#fff}
.zid-topbar__links .zid-icon{color:var(--zid-accent);width:14px;height:14px}

.zid-header{position:sticky;top:0;z-index:50;height:var(--zid-header-h);background:rgba(255,255,255,.92);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--zid-line);transition:background-color .35s,border-color .35s,height .35s var(--zid-ease),transform .4s var(--zid-ease),box-shadow .35s}
body:not(.zid-has-sticky) .zid-header{position:relative}
.zid-header__inner{height:100%;display:flex;align-items:center;gap:28px}
.zid-logo{display:inline-flex;align-items:center;flex:none;position:relative}
.zid-logo__img{width:var(--zid-logo-w);height:auto;display:block}
.zid-header .zid-logo__img--light{position:absolute;inset:0;opacity:0;transition:opacity .3s}
.zid-header .zid-logo__img--dark{transition:opacity .3s}
.zid-nav{margin-left:auto}
.zid-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:6px}
.zid-menu > li{position:relative}
.zid-menu > li > a{display:flex;align-items:center;gap:6px;padding:10px 14px;font:500 15px/1 var(--zid-font-display);color:var(--zid-ink);border-radius:999px;position:relative}
.zid-menu > li > a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:1.5px;background:var(--zid-accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--zid-ease)}
.zid-menu > li:hover > a::after,.zid-menu > .current-menu-item > a::after,.zid-menu > .current-menu-ancestor > a::after,.zid-menu > .current_page_item > a::after{transform:scaleX(1)}
.zid-menu .menu-item-has-children > a::before{content:"";order:2;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:2px;opacity:.6}
.zid-menu .sub-menu{list-style:none;margin:0;padding:10px;position:absolute;top:calc(100% + 10px);left:0;min-width:220px;background:#fff;border:1px solid var(--zid-line);border-radius:16px;box-shadow:var(--zid-shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.3s var(--zid-ease)}
.zid-menu .sub-menu::before{content:"";position:absolute;inset:-12px 0 auto;height:12px}
.zid-menu li:hover > .sub-menu,.zid-menu li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:none}
.zid-menu .sub-menu a{display:block;padding:10px 14px;border-radius:10px;font:500 14px var(--zid-font-display);color:var(--zid-ink)}
.zid-menu .sub-menu a:hover{background:var(--zid-paper);color:var(--zid-accent)}
.zid-header__actions{display:flex;align-items:center;gap:12px}
.zid-burger{display:none;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--zid-line);background:transparent;color:var(--zid-ink);cursor:pointer;align-items:center;justify-content:center;padding:0}
.zid-burger__lines{display:grid;gap:5px;width:20px}
.zid-burger__lines i{display:block;height:1.6px;background:currentColor;border-radius:2px;transition:.3s}
.zid-burger__lines i:nth-child(3){width:60%;justify-self:end}

/* Transparent header over dark heroes */
body.zid-header-transparent .zid-header{position:absolute;top:auto;left:0;right:0;background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
body.zid-header-transparent:not(.zid-scrolled) .zid-header .zid-logo__img--dark{opacity:0}
body.zid-header-transparent:not(.zid-scrolled) .zid-header .zid-logo__img--light{opacity:1}
body.zid-header-transparent:not(.zid-scrolled) .zid-menu > li > a{color:#fff}
body.zid-header-transparent:not(.zid-scrolled) .zid-burger{color:#fff;border-color:rgba(255,255,255,.35)}
body.zid-scrolled .zid-header{background:rgba(255,255,255,.94);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-color:var(--zid-line);box-shadow:0 10px 30px -20px rgba(0,0,0,.25);--zid-header-h:72px}
body.zid-has-sticky.zid-header-transparent.zid-scrolled .zid-header{position:fixed;top:0;animation:zid-drop .5s var(--zid-ease)}
@keyframes zid-drop{from{transform:translateY(-100%)}}
body.zid-has-sticky.zid-header-hidden .zid-header{transform:translateY(-110%)}
.admin-bar.zid-has-sticky .zid-header{top:32px}
.admin-bar.zid-header-transparent:not(.zid-scrolled) .zid-header{top:auto}
@media (max-width:782px){.admin-bar.zid-has-sticky .zid-header{top:46px}}
@media (max-width:600px){.admin-bar.zid-has-sticky .zid-header{top:0}}

/* Drawer */
.zid-drawer{position:fixed;inset:0;z-index:100;background:rgba(18,16,17,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .35s}
.zid-drawer.is-open{opacity:1}
.zid-drawer__panel{position:absolute;inset:0 0 0 auto;width:min(440px,100%);background:var(--zid-night);color:#fff;display:flex;flex-direction:column;padding:22px 28px 30px;transform:translateX(100%);transition:transform .5s var(--zid-ease);overflow-y:auto}
.zid-drawer.is-open .zid-drawer__panel{transform:none}
.zid-drawer__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}
.zid-drawer__close{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.25);background:none;color:#fff;cursor:pointer;display:grid;place-items:center}
.zid-drawer__close .zid-icon{width:22px;height:22px}
.zid-menu--drawer{flex-direction:column;align-items:stretch;gap:0}
.zid-menu--drawer > li{border-bottom:1px solid var(--zid-line-light)}
.zid-menu--drawer > li > a{color:#fff;font-size:26px;font-weight:500;padding:18px 0;letter-spacing:-.02em;border-radius:0}
.zid-menu--drawer > li > a::after{display:none}
.zid-menu--drawer .sub-menu{position:static;opacity:1;visibility:visible;transform:none;background:none;border:0;box-shadow:none;padding:0 0 14px 2px;min-width:0}
.zid-menu--drawer .sub-menu a{color:rgba(255,255,255,.7);font-size:16px;padding:8px 0}
.zid-menu--drawer .sub-menu a:hover{background:none;color:var(--zid-accent)}
.zid-menu--drawer .current-menu-item > a,.zid-menu--drawer a:hover{color:var(--zid-accent)}
.zid-drawer__bottom{margin-top:auto;padding-top:30px;display:grid;gap:22px}
.zid-drawer__contact{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:15px;color:rgba(255,255,255,.7)}
.zid-drawer__contact a:hover{color:#fff}
html.zid-lock,html.zid-lock body{overflow:hidden}

/* 4. Footer & WhatsApp --------------------------------------------------- */
.zid-footer{background:var(--zid-night);color:rgba(255,255,255,.66);position:relative}
.zid-footer a:hover{color:var(--zid-accent)}
.zid-footer-cta{position:relative;overflow:hidden;background:var(--zid-accent);color:#fff}
.zid-footer-cta::before{content:"";position:absolute;inset:0;background:url(../img/favicon-mark.svg) no-repeat right -60px center/520px auto;opacity:.12;filter:brightness(0) invert(1)}
.zid-footer-cta__inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:clamp(48px,6vw,76px);flex-wrap:wrap}
.zid-footer-cta .zid-eyebrow{color:#fff}
.zid-footer-cta__title{font-size:clamp(28px,3.6vw,50px);font-weight:500;color:#fff;max-width:760px;margin:0;letter-spacing:-.03em}
.zid-footer-cta__actions{display:flex;gap:12px;flex-wrap:wrap}
.zid-footer__main{padding-top:clamp(56px,7vw,96px)}
.zid-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1.1fr 1.2fr;gap:clamp(28px,4vw,64px)}
.zid-footer__about{margin:22px 0 26px;max-width:360px;font-size:15px;line-height:1.7}
.zid-footer__title{font:500 12px/1.4 var(--zid-font-display)!important;letter-spacing:.22em!important;text-transform:uppercase;color:#fff;margin-bottom:22px!important}
.zid-footer__menu{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:15px}
.zid-footer__menu a{position:relative}
.zid-footer__contact{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:12px;font-size:15px}
.zid-footer__contact li{display:grid;grid-template-columns:62px 1fr;gap:8px}
.zid-footer__contact span{color:rgba(255,255,255,.4);font-size:13px;padding-top:1px}
.zid-footer__contact a{color:#fff}
.zid-footer__quote{display:inline-flex;align-items:center;gap:8px;color:var(--zid-accent)!important;font:500 15px var(--zid-font-display)}
.zid-footer__quote:hover .zid-icon{transform:translateX(4px)}
.zid-footer__quote .zid-icon{transition:transform .3s}
.zid-footer__parent{margin-top:clamp(40px,5vw,64px)}
.zid-footer__parent p{margin:0;padding:22px 0;border-top:1px solid var(--zid-line-light);font-size:14px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.zid-footer__parent a{color:#fff;font-weight:600;display:inline-flex;align-items:center;gap:4px}
.zid-footer__parent-note{color:rgba(255,255,255,.4)}
.zid-footer__bar{border-top:1px solid var(--zid-line-light);font-size:13.5px}
.zid-footer__bar-inner{display:flex;align-items:center;gap:24px;min-height:72px;flex-wrap:wrap;padding-block:14px}
.zid-footer__copy{margin:0}
.zid-footer__legal{list-style:none;margin:0;padding:0;display:flex;gap:18px}
.zid-footer__powered{margin:0 0 0 auto}
.zid-footer__powered a{color:#fff;font-weight:600;border-bottom:1px solid var(--zid-accent)}
.zid-totop{width:42px;height:42px;border-radius:50%;border:1px solid var(--zid-line-light);display:grid;place-items:center;color:#fff}
.zid-totop:hover{background:var(--zid-accent);border-color:var(--zid-accent);color:#fff!important}
.zid-wa-float{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;align-items:center;gap:10px;height:58px;padding:0 17px;border-radius:999px;background:#25D366;color:#fff!important;box-shadow:0 14px 34px -10px rgba(37,211,102,.6);transition:transform .35s var(--zid-ease),padding .35s}
.zid-wa-float .zid-icon{width:26px;height:26px}
.zid-wa-float__label{max-width:0;overflow:hidden;white-space:nowrap;font:600 14px var(--zid-font-display);transition:max-width .45s var(--zid-ease)}
.zid-wa-float:hover{transform:translateY(-3px)}
.zid-wa-float:hover .zid-wa-float__label{max-width:140px}
.zid-wa-float::before{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid #25D366;animation:zid-pulse 2.6s infinite}
@keyframes zid-pulse{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(1.35);opacity:0}}

/* 5. Shortcodes ---------------------------------------------------------- */
.zid-social{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.zid-social a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--zid-line);color:var(--zid-ink);transition:.3s var(--zid-ease)}
.zid-social--sm a{width:38px;height:38px}
.zid-social .zid-icon{width:18px;height:18px}
.zid-social a:hover{background:var(--zid-accent);border-color:var(--zid-accent);color:#fff!important;transform:translateY(-3px)}
.zid-social--light a{border-color:var(--zid-line-light);color:#fff}
.zid-social--accent a{background:var(--zid-accent);border-color:var(--zid-accent);color:#fff}

.zid-offices{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.zid-office{padding:30px;border-radius:var(--zid-radius);background:#fff;border:1px solid var(--zid-line);transition:.35s var(--zid-ease)}
.zid-office:hover{border-color:var(--zid-accent);transform:translateY(-4px);box-shadow:var(--zid-shadow)}
.zid-office__head{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}
.zid-office__num{font:500 13px var(--zid-font-display);color:var(--zid-accent)}
.zid-office__city{font-size:26px!important;font-weight:500;margin:0!important}
.zid-office ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:15px}
.zid-office li{display:flex;gap:10px;align-items:flex-start}
.zid-office li .zid-icon{color:var(--zid-accent);margin-top:3px}
.zid-office a:hover{color:var(--zid-accent)}
.zid-offices--dark .zid-office{background:var(--zid-coal);border-color:var(--zid-line-light);color:rgba(255,255,255,.75)}
.zid-offices--dark .zid-office__city{color:#fff}

.zid-marquee{overflow:hidden;padding:26px 0;--mq-fg:#fff;--mq-bg:var(--zid-accent);background:var(--mq-bg);color:var(--mq-fg);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.zid-marquee--dark{--mq-bg:var(--zid-night)}
.zid-marquee--light{--mq-bg:transparent;--mq-fg:var(--zid-ink)}
.zid-marquee__track{display:flex;width:max-content;animation:zid-marquee 38s linear infinite}
.zid-marquee__track > div{display:flex;align-items:center}
.zid-marquee__item{font:500 clamp(24px,3.4vw,46px)/1 var(--zid-font-display);letter-spacing:-.02em;padding:0 28px;white-space:nowrap}
.zid-marquee__sep .zid-icon{width:26px;height:26px;opacity:.8}
.zid-marquee:hover .zid-marquee__track{animation-play-state:paused}
@keyframes zid-marquee{to{transform:translateX(-50%)}}

/* 6. Portfolio ----------------------------------------------------------- */
.zid-filter{margin-bottom:clamp(28px,4vw,44px)}
.zid-filter ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.zid-filter a{display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border-radius:999px;border:1px solid var(--zid-line);font:500 14px/1 var(--zid-font-display);color:var(--zid-ink);transition:.3s var(--zid-ease);background:#fff}
.zid-filter sup{font-size:10px;opacity:.55;top:-.6em}
.zid-filter a:hover{border-color:var(--zid-ink)}
.zid-filter a.is-active{background:var(--zid-ink);border-color:var(--zid-ink);color:#fff}
.zid-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,32px);grid-auto-flow:dense}
.zid-grid--cols-2{grid-template-columns:repeat(2,1fr)}
.zid-grid--cols-4{grid-template-columns:repeat(4,1fr)}
.zid-grid--cols-1{grid-template-columns:1fr}
.zid-card{position:relative;transition:opacity .4s,transform .5s var(--zid-ease)}
.zid-card.is-hidden{display:none}
.zid-card.is-entering{animation:zid-card-in .6s var(--zid-ease) both}
@keyframes zid-card-in{from{opacity:0;transform:translateY(24px)}}
.zid-grid:not(.zid-grid--uniform) .zid-card--wide{grid-column:span 2}
.zid-grid:not(.zid-grid--uniform) .zid-card--tall{grid-row:span 2}
.zid-card__link{display:flex;flex-direction:column;height:100%;color:inherit}
.zid-card__media{position:relative;overflow:hidden;border-radius:var(--zid-radius);background:var(--zid-stone);aspect-ratio:4/3;flex:1 1 auto}
.zid-card--tall .zid-card__media{aspect-ratio:auto;min-height:100%}
.zid-grid--uniform .zid-card__media{aspect-ratio:4/3}
.zid-card__img{width:100%;height:100%!important;object-fit:cover;transition:transform 1s var(--zid-ease),filter .6s}
.zid-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(18,16,17,.45));opacity:0;transition:opacity .5s}
.zid-card__link:hover .zid-card__img{transform:scale(1.06)}
.zid-card__link:hover .zid-card__media::after{opacity:1}
.zid-card__go{position:absolute;right:18px;top:18px;z-index:2;width:52px;height:52px;border-radius:50%;background:var(--card-accent,var(--zid-accent));color:#fff;display:grid;place-items:center;transform:scale(.4) rotate(-45deg);opacity:0;transition:.5s var(--zid-ease)}
.zid-card__go .zid-icon{width:22px;height:22px}
.zid-card__link:hover .zid-card__go,.zid-card__link:focus-visible .zid-card__go{transform:none;opacity:1}
.zid-card__placeholder{position:absolute;inset:0;display:grid;place-items:center;color:var(--zid-muted)}
.zid-card__placeholder .zid-icon{width:48px;height:48px}
.zid-card__body{padding:18px 4px 4px}
.zid-card__meta{display:flex;justify-content:space-between;gap:12px;font:500 12px/1.4 var(--zid-font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--zid-muted);margin-bottom:8px}
.zid-card__title{font-size:clamp(20px,1.8vw,26px)!important;font-weight:500;margin:0!important;transition:color .3s}
.zid-card__link:hover .zid-card__title{color:var(--zid-accent)}
.zid-card__excerpt{margin:8px 0 0;font-size:15px;color:var(--zid-muted)}
.zid-grid-more{text-align:center;margin-top:44px}
.zid-sec-dark .zid-card__title,.zid-sec-dark .zid-card{color:#fff}
.zid-sec-dark .zid-card__meta{color:rgba(255,255,255,.5)}
.zid-sec-dark .zid-filter a{background:transparent;color:#fff;border-color:var(--zid-line-light)}
.zid-sec-dark .zid-filter a.is-active{background:var(--zid-accent);border-color:var(--zid-accent)}

/* Page hero (theme templates) */
.zid-page-hero{position:relative;background:var(--zid-night);color:#fff;overflow:hidden;padding:calc(var(--zid-header-h) + 120px) 0 90px}
.zid-page-hero--compact{padding-bottom:70px}
.zid-page-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.85}
.zid-page-hero__inner{position:relative}
.zid-page-hero__title{font-size:clamp(40px,6vw,84px);font-weight:500;letter-spacing:-.04em;color:#fff;margin:0 0 18px}
.zid-page-hero__text{max-width:640px;font-size:18px;color:rgba(255,255,255,.72)}
.zid-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:rgba(255,255,255,.6);margin-bottom:28px}
.zid-breadcrumb a:hover{color:#fff}
.zid-breadcrumb [aria-current]{color:#fff}

/* Project page */
.zid-project{--project-accent:var(--zid-accent)}
.zid-project-hero{position:relative;min-height:min(92vh,880px);display:flex;align-items:flex-end;background:var(--zid-night);color:#fff;overflow:hidden;padding:calc(var(--zid-header-h) + 80px) 0 clamp(48px,6vw,84px)}
.zid-project-hero__media{position:absolute;inset:0}
.zid-project-hero__img{width:100%;height:100%!important;object-fit:cover;transform:scale(1.04);animation:zid-hero-zoom 2.2s var(--zid-ease) forwards}
@keyframes zid-hero-zoom{to{transform:none}}
.zid-project-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,16,17,.55) 0%,rgba(18,16,17,.15) 35%,rgba(18,16,17,.88) 100%)}
.zid-project-hero__inner{position:relative;z-index:2}
.zid-project-hero__title{font-size:clamp(56px,11vw,168px)!important;font-weight:700!important;letter-spacing:-.05em!important;line-height:.9!important;color:#fff;margin:14px 0 18px!important}
.zid-project-hero__tagline{font-size:clamp(18px,1.8vw,24px);max-width:720px;color:rgba(255,255,255,.82);margin:0}
.zid-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.zid-chips a{display:inline-block;padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.3);font:500 12px var(--zid-font-display);letter-spacing:.08em;text-transform:uppercase;color:#fff;backdrop-filter:blur(8px)}
.zid-chips a:hover{background:var(--project-accent);border-color:var(--project-accent);color:#fff}
.zid-facts{background:var(--zid-charcoal);color:#fff}
.zid-facts__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:0}
.zid-facts__item{padding:30px 24px 30px 0;border-right:1px solid var(--zid-line-light);margin-right:24px}
.zid-facts__item:last-child{border-right:0}
.zid-facts dt{font:500 11px/1.4 var(--zid-font-display);letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:8px}
.zid-facts dd{margin:0;font:500 17px/1.4 var(--zid-font-display);color:#fff}
.zid-project-intro__grid{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(32px,6vw,96px)}
.zid-project-intro .zid-eyebrow,.zid-story__num,.zid-deliverables .zid-eyebrow,.zid-gallery-section .zid-eyebrow,.zid-project-cta .zid-eyebrow{color:var(--project-accent)}
.zid-project-intro .zid-lead{font-size:clamp(22px,2.3vw,32px);line-height:1.4;font-family:var(--zid-font-display);font-weight:400;letter-spacing:-.015em}
.zid-tags{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.zid-tags li{padding:8px 14px;border-radius:999px;background:var(--zid-paper);font-size:14px;border:1px solid var(--zid-line)}
.zid-story{background:var(--zid-paper)}
.zid-story__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px)}
.zid-story__item{padding:34px;background:#fff;border-radius:var(--zid-radius);border:1px solid var(--zid-line)}
.zid-story__num{font:600 13px var(--zid-font-display);letter-spacing:.1em}
.zid-story__title{font-size:24px!important;font-weight:500;margin:14px 0 12px!important}
.zid-story__text{color:#4a4445;font-size:15.5px}
.zid-story__text p:last-child{margin:0}
.zid-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(14px,2vw,24px)}
.zid-gallery__item{margin:0;position:relative}
.zid-gallery__item:nth-child(3n+1),.zid-gallery__item:last-child:nth-child(3n+2){grid-column:span 2}
.zid-gallery__item a{display:block;position:relative;overflow:hidden;border-radius:var(--zid-radius);background:var(--zid-night)}
.zid-gallery__item img{width:100%;display:block;transition:transform .9s var(--zid-ease)}
.zid-gallery__item a:hover img{transform:scale(1.03)}
.zid-gallery__zoom{position:absolute;right:16px;bottom:16px;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--zid-ink);display:grid;place-items:center;opacity:0;transform:scale(.6);transition:.4s var(--zid-ease)}
.zid-gallery__item a:hover .zid-gallery__zoom{opacity:1;transform:none}
.zid-gallery__item figcaption{font-size:13px;color:var(--zid-muted);margin-top:10px}
.zid-deliverables{background:var(--zid-night);color:#fff}
.zid-deliverables .zid-h2{color:#fff}
.zid-deliverables__grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(28px,5vw,80px);align-items:start}
.zid-checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px}
.zid-checklist li{display:flex;gap:12px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--zid-line-light);font-size:16px}
.zid-checklist .zid-icon{color:var(--project-accent,var(--zid-accent));margin-top:3px}
.zid-project-content__inner > :not(.elementor){max-width:860px;margin-inline:auto;padding:clamp(40px,6vw,80px) var(--zid-gutter)}
.zid-project-cta__box{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;padding:clamp(32px,5vw,64px);border-radius:var(--zid-radius-lg);background:var(--zid-paper);border:1px solid var(--zid-line)}
.zid-project-cta__box .zid-h2{max-width:640px;margin:0}
.zid-project-cta .zid-btn{--btn-bg:var(--project-accent);--btn-bd:var(--project-accent)}
.zid-project-nav{border-top:1px solid var(--zid-line);border-bottom:1px solid var(--zid-line)}
.zid-project-nav__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;min-height:140px}
.zid-project-nav__link{display:grid;gap:6px}
.zid-project-nav__link span{display:inline-flex;align-items:center;gap:8px;font:500 12px var(--zid-font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--zid-muted)}
.zid-project-nav__link strong{font:500 clamp(20px,2.4vw,32px)/1.1 var(--zid-font-display);letter-spacing:-.02em}
.zid-project-nav__link:hover strong{color:var(--zid-accent)}
.zid-project-nav__link--next{text-align:right;justify-items:end}
.zid-project-nav__all{width:60px;height:60px;border-radius:50%;border:1px solid var(--zid-line);display:grid;place-items:center}
.zid-project-nav__all:hover{background:var(--zid-ink);color:#fff!important}
.zid-project-nav__all .zid-icon{width:22px;height:22px}

/* Lightbox */
.zid-lb{position:fixed;inset:0;z-index:200;background:rgba(10,9,9,.94);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}
.zid-lb.is-open{opacity:1}
.zid-lb__img{max-width:92vw;max-height:84vh;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.zid-lb__cap{position:absolute;left:0;right:0;bottom:22px;text-align:center;color:rgba(255,255,255,.7);font-size:14px}
.zid-lb button{position:absolute;width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;display:grid;place-items:center}
.zid-lb button:hover{background:var(--zid-accent);border-color:var(--zid-accent)}
.zid-lb__close{top:22px;right:22px}
.zid-lb__prev{left:22px;top:50%;transform:translateY(-50%)}
.zid-lb__next{right:22px;top:50%;transform:translateY(-50%)}
.zid-lb__count{position:absolute;top:34px;left:28px;color:rgba(255,255,255,.6);font:500 13px var(--zid-font-display);letter-spacing:.14em}

/* 7. Forms --------------------------------------------------------------- */
.zid-form{--f-bg:#fff;--f-bd:var(--zid-line);--f-fg:var(--zid-ink);position:relative}
.zid-form__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 18px}
.zid-field{grid-column:1/-1;display:flex;flex-direction:column;gap:8px;min-width:0}
.zid-field--half{grid-column:span 1}
.zid-field label,.zid-label{font:500 14px/1.3 var(--zid-font-display);color:var(--f-fg)}
.zid-req{color:var(--zid-accent)}
.zid-opt{color:var(--zid-muted);font-weight:400;font-size:12px}
.zid-form input[type=text],.zid-form input[type=email],.zid-form input[type=tel],.zid-form input[type=url],.zid-form input[type=date],.zid-form select,.zid-form textarea{width:100%;min-height:54px;padding:14px 18px;border-radius:14px;border:1.5px solid var(--f-bd);background:var(--f-bg);color:var(--f-fg);font:400 16px/1.4 var(--zid-font-body);transition:border-color .25s,box-shadow .25s;appearance:none;-webkit-appearance:none;box-shadow:none}
.zid-form textarea{min-height:140px;resize:vertical}
.zid-form input:focus,.zid-form select:focus,.zid-form textarea:focus{outline:none;border-color:var(--zid-accent);box-shadow:0 0 0 4px rgba(242,104,34,.14)}
.zid-form ::placeholder{color:#a39c9c}
.zid-select{position:relative}
.zid-select .zid-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--zid-muted)}
.zid-select select{padding-right:44px;cursor:pointer}
.zid-field.has-error input,.zid-field.has-error select,.zid-field.has-error textarea{border-color:#D93025}
.zid-field__error{margin:0;font-size:13px;color:#D93025;min-height:0}
.zid-field__error:empty{display:none}
.zid-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.zid-check{display:flex!important;gap:12px;align-items:flex-start;font:400 14px/1.5 var(--zid-font-body)!important;color:var(--zid-muted)!important;cursor:pointer}
.zid-check input{position:absolute;opacity:0;width:1px;height:1px}
.zid-check__box{flex:none;width:22px;height:22px;border-radius:7px;border:1.5px solid var(--f-bd);display:grid;place-items:center;background:var(--f-bg);transition:.2s;margin-top:1px}
.zid-check__box .zid-icon{width:14px;height:14px;color:#fff;opacity:0;transform:scale(.5);transition:.2s}
.zid-check input:checked + .zid-check__box{background:var(--zid-accent);border-color:var(--zid-accent)}
.zid-check input:checked + .zid-check__box .zid-icon{opacity:1;transform:none}
.zid-check input:focus-visible + .zid-check__box{box-shadow:0 0 0 4px rgba(242,104,34,.25)}
.zid-check a{color:var(--zid-accent);text-decoration:underline}
.zid-form__actions{margin-top:24px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.zid-form__actions--steps{justify-content:space-between}
.zid-form__actions--steps [data-step-next],.zid-form__actions--steps [data-step-submit]{margin-left:auto}
.zid-form__legal{font-size:12px;color:var(--zid-muted);margin:16px 0 0}
.zid-form__legal a{text-decoration:underline}
.zid-recaptcha{margin-top:18px}
.zid-form__status{margin-top:16px}
.zid-form__status:empty{display:none}
.zid-form__status.is-error{padding:14px 18px;border-radius:12px;background:#FDECEA;color:#A42319;font-size:15px}
.zid-form.is-loading button[type=submit]{opacity:.7;pointer-events:none}
.zid-form.is-loading button[type=submit] .zid-icon{animation:zid-spin 1s linear infinite}
@keyframes zid-spin{to{transform:rotate(360deg)}}
.zid-form-success{text-align:center;padding:clamp(30px,5vw,60px) 20px;animation:zid-card-in .6s var(--zid-ease)}
.zid-form-success__icon{width:84px;height:84px;margin:0 auto 22px;border-radius:50%;background:rgba(242,104,34,.12);color:var(--zid-accent);display:grid;place-items:center}
.zid-form-success__icon .zid-icon{width:40px;height:40px}
.zid-form-success h3{font-size:28px!important;font-weight:500;margin:0 0 10px!important}
.zid-form-success p{max-width:520px;margin:0 auto 24px;color:var(--zid-muted)}
.zid-form--dark{--f-bg:rgba(255,255,255,.04);--f-bd:rgba(255,255,255,.16);--f-fg:#fff}
.zid-form--dark .zid-check{color:rgba(255,255,255,.6)!important}

/* Quote steps */
.zid-steps{list-style:none;margin:0 0 14px;padding:0;display:flex;gap:10px}
.zid-steps li{flex:1;display:flex;align-items:center;gap:10px;font:500 14px var(--zid-font-display);color:var(--zid-muted)}
.zid-steps__num{width:34px;height:34px;flex:none;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--zid-line);font-size:13px;transition:.3s}
.zid-steps li.is-active{color:var(--zid-ink)}
.zid-steps li.is-active .zid-steps__num{background:var(--zid-ink);border-color:var(--zid-ink);color:#fff}
.zid-steps li.is-done .zid-steps__num{background:var(--zid-accent);border-color:var(--zid-accent);color:#fff}
.zid-progress{height:3px;background:var(--zid-line);border-radius:3px;overflow:hidden;margin-bottom:34px}
.zid-progress span{display:block;height:100%;background:var(--zid-accent);transition:width .5s var(--zid-ease)}
.zid-step{border:0;margin:0;padding:0;min-width:0}
.zid-step.is-active{animation:zid-card-in .5s var(--zid-ease)}
.zid-step__title:focus{outline:none}
.zid-step__title{font:500 clamp(22px,2.4vw,30px)/1.2 var(--zid-font-display);letter-spacing:-.02em;margin-bottom:6px;padding:0}
.zid-step__hint{color:var(--zid-muted);margin-bottom:22px}
.zid-choices{display:flex;flex-wrap:wrap;gap:10px}
.zid-choices--cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:6px}
.zid-choice{position:relative;cursor:pointer}
.zid-choice input,.zid-pill-choice input{position:absolute;opacity:0;width:1px;height:1px}
.zid-choice__card{position:relative;display:flex;flex-direction:column;gap:14px;height:100%;padding:18px 16px;border-radius:16px;border:1.5px solid var(--zid-line);background:#fff;font:500 14px/1.3 var(--zid-font-display);transition:.25s var(--zid-ease)}
.zid-choice__card > .zid-icon{width:28px;height:28px;color:var(--zid-accent)}
.zid-choice__tick{position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--zid-line);display:grid;place-items:center;transition:.25s}
.zid-choice__tick .zid-icon{width:13px;height:13px;color:#fff;opacity:0}
.zid-choice:hover .zid-choice__card{border-color:var(--zid-ink);transform:translateY(-2px)}
.zid-choice input:checked + .zid-choice__card{border-color:var(--zid-accent);background:#FFF6F1;box-shadow:0 10px 24px -16px rgba(242,104,34,.8)}
.zid-choice input:checked + .zid-choice__card .zid-choice__tick{background:var(--zid-accent);border-color:var(--zid-accent)}
.zid-choice input:checked + .zid-choice__card .zid-choice__tick .zid-icon{opacity:1}
.zid-choice input:focus-visible + .zid-choice__card,.zid-pill-choice input:focus-visible + span{box-shadow:0 0 0 4px rgba(242,104,34,.25)}
.zid-pill-choice{cursor:pointer}
.zid-pill-choice span{display:inline-block;padding:12px 18px;border-radius:999px;border:1.5px solid var(--zid-line);font:500 14px/1 var(--zid-font-display);background:#fff;transition:.2s}
.zid-pill-choice:hover span{border-color:var(--zid-ink)}
.zid-pill-choice input:checked + span{background:var(--zid-ink);border-color:var(--zid-ink);color:#fff}
.zid-form--quote .zid-form__grid{margin-top:22px}
.zid-form--quote .zid-field{margin-bottom:6px}
.zid-form--quote > .zid-step > .zid-field{margin-bottom:22px}

/* 8. Elementor helper classes ------------------------------------------- */
/* Default widget colours: ink headings / grey text on light sections, white on .zid-sec-dark.
   Any colour you set on a widget in Elementor overrides these. */
body.zid-site .elementor-widget-heading .elementor-heading-title{color:var(--zid-h)}
body.zid-site .elementor-widget-text-editor{color:var(--zid-t)}
body.zid-site .elementor-widget-text-editor strong{color:var(--zid-h);font-weight:600}
body.zid-site .elementor-icon-box-title,body.zid-site .elementor-icon-box-title a{color:var(--zid-h)}
body.zid-site .elementor-icon-box-description{color:var(--zid-t)}
body.zid-site .elementor-icon-list-text{color:var(--zid-t)}
body.zid-site .elementor-widget-text-editor a{color:var(--zid-accent);text-decoration:underline;text-underline-offset:3px}
.zid-prose h2{font-size:26px;font-weight:500;margin:1.6em 0 .5em;color:var(--zid-h)}
.zid-prose h2:first-child{margin-top:0}
.zid-col-narrow .zid-offices{grid-template-columns:1fr}
/* Dark section: every widget using global colours flips to light. */
.zid-sec-dark{--zid-h:#FFFFFF;--zid-t:rgba(255,255,255,.72);color:rgba(255,255,255,.72)}
.zid-sec-dark .elementor-icon-list-text{color:rgba(255,255,255,.8)}
.zid-sec-dark .elementor-widget-text-editor strong{color:#fff}
.zid-sec-paper{background-color:var(--zid-paper)}
.zid-sec-accent{--zid-h:#FFFFFF;--zid-t:rgba(255,255,255,.9);color:#fff}

/* Heroes */
.zid-hero{position:relative;overflow:hidden}
.zid-hero > .e-con-inner,.zid-hero > .elementor-element{position:relative;z-index:2}
.zid-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(18,16,17,.92) 0%,rgba(18,16,17,.55) 45%,rgba(18,16,17,0) 75%)}
.zid-hero--center::after{background:radial-gradient(ellipse at 50% 60%,rgba(18,16,17,.35),rgba(18,16,17,.88) 75%)}
.zid-hero .zid-display .elementor-heading-title{text-wrap:balance}
.zid-hero-scroll{position:absolute!important;left:var(--zid-gutter);bottom:34px;z-index:3}
.zid-scroll-cue .elementor-heading-title{display:inline-flex;align-items:center;gap:12px}
.zid-scroll-cue .elementor-heading-title::before{content:"";width:1px;height:46px;background:linear-gradient(var(--zid-accent),transparent);animation:zid-cue 2s ease-in-out infinite}
@keyframes zid-cue{0%,100%{transform:scaleY(.4);transform-origin:top}50%{transform:scaleY(1)}}

/* Headings */
.zid-eyebrow-el .elementor-heading-title{display:inline-flex;align-items:center;gap:12px}
.zid-eyebrow-el .elementor-heading-title::before{content:"";width:28px;height:1.5px;background:currentColor}
.zid-eyebrow-el.zid-center .elementor-heading-title::after{content:"";width:28px;height:1.5px;background:currentColor}
.zid-display .elementor-heading-title em,.zid-h-accent .elementor-heading-title em,.elementor-heading-title em{font-style:normal;color:var(--zid-accent)}
.elementor-heading-title .zid-outline{-webkit-text-stroke:1.5px currentColor;color:transparent}

/* Buttons (Elementor Button widget) */
.zid-btn-el .elementor-button{border-radius:999px;position:relative;overflow:hidden;isolation:isolate;transition:transform .35s var(--zid-ease),color .3s,border-color .3s,box-shadow .35s!important}
.zid-btn-el .elementor-button::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--zid-ink);transform:translateY(101%);transition:transform .45s var(--zid-ease);border-radius:inherit}
.zid-btn-el .elementor-button:hover::after,.zid-btn-el .elementor-button:focus-visible::after{transform:none}
.zid-btn-el .elementor-button .elementor-button-icon{transition:transform .35s var(--zid-ease)}
.zid-btn-el .elementor-button:hover .elementor-button-icon{transform:translate(2px,-2px)}
.zid-btn-el .elementor-button-icon svg{width:1.05em;height:1.05em}
.zid-btn-ghost .elementor-button::after{background:#fff}
.zid-btn-ghost-dark .elementor-button::after{background:var(--zid-ink)}
.zid-btn-light .elementor-button::after{background:var(--zid-night)}

/* Cards */
.zid-card-el{transition:transform .45s var(--zid-ease),box-shadow .45s var(--zid-ease),border-color .3s!important}
.zid-card-el:hover{transform:translateY(-6px);box-shadow:var(--zid-shadow);border-color:var(--zid-accent)!important}
.zid-card-dark:hover{box-shadow:0 30px 60px -30px rgba(242,104,34,.45)}

/* Icon box */
.zid-iconbox .elementor-icon{display:grid!important;place-items:center;width:64px;height:64px;border-radius:18px;background:rgba(242,104,34,.1);transition:.4s var(--zid-ease)}
.zid-iconbox .elementor-icon svg{width:30px;height:30px}
.zid-card-el:hover .zid-iconbox .elementor-icon{background:var(--zid-accent);color:#fff;fill:#fff;transform:rotate(-6deg)}
.zid-card-el:hover .zid-iconbox .elementor-icon svg{color:#fff}
.zid-iconbox .elementor-icon-box-title{margin-bottom:10px}
.zid-num .elementor-heading-title{font-variant-numeric:tabular-nums}

/* Icon lists */
.zid-list .elementor-icon-list-icon svg{width:16px!important;height:16px!important}
.zid-list .elementor-icon-list-item{align-items:flex-start!important}
.zid-list .elementor-icon-list-icon{margin-top:4px}

/* Image treatments */
.zid-img-round img{border-radius:var(--zid-radius-lg)}
.zid-img-shadow img{box-shadow:0 40px 80px -40px rgba(18,16,17,.55)}
.zid-img-tilt{transition:transform .8s var(--zid-ease)}
.zid-img-tilt:hover{transform:rotate(-1.2deg) scale(1.01)}
.zid-founder-photo img{aspect-ratio:4/5;object-fit:cover;width:100%;border-radius:var(--zid-radius-lg);filter:grayscale(.15) contrast(1.02);transition:filter .6s,transform .8s var(--zid-ease)}
.zid-founder:hover .zid-founder-photo img{filter:none;transform:scale(1.015)}

/* Stats */
.zid-stat .elementor-counter-number-wrapper{justify-content:flex-start!important;font-variant-numeric:tabular-nums}
.zid-stat .elementor-counter-title{justify-content:flex-start!important;text-align:left}
.zid-stat .elementor-counter{flex-direction:column;align-items:flex-start}

/* Timeline */
.zid-timeline{position:relative}
.zid-timeline::before{content:"";position:absolute;left:0;right:0;top:11px;height:1px;background:var(--zid-line-light)}
.zid-tl-item{position:relative;padding-top:44px!important}
.zid-tl-item::before{content:"";position:absolute;top:0;left:0;width:22px;height:22px;border-radius:50%;border:2px solid var(--zid-accent);background:var(--zid-night);transition:.4s}
.zid-tl-item.zid-tl-current::before,.zid-tl-item:hover::before{background:var(--zid-accent);box-shadow:0 0 0 8px rgba(242,104,34,.18)}

/* Process steps */
.zid-step-el{counter-increment:zidstep;position:relative}
.zid-steps-row{counter-reset:zidstep}

/* FAQ (nested accordion) */
.zid-faq .e-n-accordion-item{border-bottom:1px solid var(--zid-line)}
.zid-faq .e-n-accordion-item-title{padding:24px 0!important;border:0!important;background:none!important}
.zid-faq .e-n-accordion-item-title-text{font:500 clamp(17px,1.6vw,21px)/1.35 var(--zid-font-display)!important;color:var(--zid-ink)}
.zid-faq .e-n-accordion-item-title-icon svg{fill:var(--zid-accent)!important}
.zid-faq .e-n-accordion-item > .e-con{padding:0 0 24px!important;border:0!important}

/* Quote-page aside */
.zid-sticky{position:sticky!important;top:calc(var(--zid-header-h) + 30px)}

/* Elementor content inside theme templates */
.zid-project-content .elementor{width:100%}

/* 9. Motion & reveal ----------------------------------------------------- */
.zid-reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--zid-ease),transform .9s var(--zid-ease)}
.zid-reveal.is-visible{opacity:1;transform:none}
.elementor-editor-active .zid-reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
	.zid-reveal{opacity:1;transform:none}
	.zid-marquee__track{animation:none}
}

/* Responsive ------------------------------------------------------------- */
@media (max-width:1180px){
	.zid-nav{display:none}
	.zid-burger{display:inline-flex}
	.zid-header__actions{margin-left:auto}
	.zid-footer__grid{grid-template-columns:1fr 1fr}
	.zid-choices--cards{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1024px){
	.zid-grid,.zid-grid--cols-4{grid-template-columns:repeat(2,1fr)}
	.zid-story__grid{grid-template-columns:1fr}
	.zid-project-intro__grid,.zid-deliverables__grid{grid-template-columns:1fr}
	.zid-timeline::before{display:none}
}
@media (max-width:767px){
	:root{--zid-header-h:68px;--zid-logo-w:128px}
	.zid-topbar{display:none}
	.zid-header__cta{display:none}
	.zid-grid,.zid-grid--cols-2,.zid-grid--cols-4{grid-template-columns:1fr}
	.zid-grid:not(.zid-grid--uniform) .zid-card--wide{grid-column:auto}
	.zid-grid:not(.zid-grid--uniform) .zid-card--tall{grid-row:auto}
	.zid-card--tall .zid-card__media{aspect-ratio:4/5}
	.zid-card__go{opacity:1;transform:none;width:44px;height:44px}
	.zid-filter ul{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin-inline:calc(var(--zid-gutter)*-1);padding-inline:var(--zid-gutter);scrollbar-width:none}
	.zid-filter ul::-webkit-scrollbar{display:none}
	.zid-filter a{white-space:nowrap}
	.zid-footer__grid{grid-template-columns:1fr;gap:36px}
	.zid-footer__bar-inner{flex-direction:column;align-items:flex-start;gap:10px}
	.zid-footer__powered{margin:0}
	.zid-totop{position:absolute;right:var(--zid-gutter);bottom:22px}
	.zid-footer__bar{position:relative}
	.zid-offices{grid-template-columns:1fr}
	.zid-form__grid{grid-template-columns:1fr}
	.zid-field--half{grid-column:1/-1}
	.zid-choices--cards{grid-template-columns:repeat(2,1fr)}
	.zid-steps__txt{display:none}
	.zid-steps li{flex:none}
	.zid-steps li.is-active .zid-steps__txt{display:inline}
	.zid-steps li.is-active{flex:1}
	.zid-gallery{grid-template-columns:1fr}
	.zid-gallery__item:nth-child(3n+1){grid-column:auto}
	.zid-checklist{grid-template-columns:1fr}
	.zid-facts__item{padding:20px 0;border-right:0;border-bottom:1px solid var(--zid-line-light);margin:0}
	.zid-facts__grid{grid-template-columns:1fr 1fr;column-gap:20px}
	.zid-project-nav__inner{grid-template-columns:1fr 1fr;padding-block:20px}
	.zid-project-nav__all{display:none}
	.zid-wa-float{right:16px;bottom:16px;height:54px;padding:0 14px}
	.zid-hero::after{background:linear-gradient(180deg,rgba(18,16,17,.55),rgba(18,16,17,.9))}
	.zid-lb__prev,.zid-lb__next{top:auto;bottom:22px;transform:none}
}
