/* Reserve the scrollbar gutter so short and long pages share the same header width. */
html:has([data-shared-public-header]) { scrollbar-gutter:stable; }

/* Shared public chrome. Never reuse page-specific header/brand/menu classes here. */
[data-shared-public-header] { position:sticky; top:0; z-index:121; isolation:isolate; width:100%; margin:0; padding:0; border:0; font:400 14px/1.2 Arial,sans-serif; letter-spacing:normal; text-align:left; }
[data-shared-public-header] *, [data-shared-public-header] *::before, [data-shared-public-header] *::after { box-sizing:border-box; }
[data-shared-public-header] a, [data-shared-public-header] button { font:inherit; letter-spacing:normal; text-transform:none; }
[data-shared-public-header] a { color:inherit; text-decoration:none; }
[data-shared-public-header] button { cursor:pointer; }
[data-shared-public-header] a:focus-visible, [data-shared-public-header] button:focus-visible { outline:3px solid var(--brand,#db3632); outline-offset:4px; }
[data-shared-public-header] .atesh-topbar { position:relative; display:flex; align-items:center; justify-content:space-between; flex-wrap:nowrap; gap:24px; width:100%; height:38px; min-height:38px; margin:0; padding:0 8vw; border:0; background:var(--topbar-background,#282828); color:#bcbcbc; font:400 13px/1.2 Arial,sans-serif; }
[data-shared-public-header] .atesh-topbar > div, [data-shared-public-header] .atesh-topbar a, [data-shared-public-header] .atesh-social-links { display:flex; align-items:center; }
[data-shared-public-header] .atesh-topbar > div { gap:28px; }
[data-shared-public-header] .atesh-topbar a { gap:8px; padding:0; white-space:nowrap; }
[data-shared-public-header] .atesh-topbar a:hover { color:#fff; }
[data-shared-public-header] .atesh-topbar .atesh-topbar-social { gap:12px; }
[data-shared-public-header] .atesh-topbar-social > span { text-transform:uppercase; font-size:9px; font-weight:400; letter-spacing:1.5px; }
[data-shared-public-header] .atesh-topbar .atesh-social-links { gap:7px; }
[data-shared-public-header] .atesh-social-links a { display:flex; justify-content:center; flex:0 0 26px; width:26px; height:26px; border:1px solid #ffffff2c; border-radius:50%; }
[data-shared-public-header] .atesh-social-links img { display:block; width:12px; height:12px; max-width:12px; max-height:12px; filter:invert(1); }
[data-shared-public-header] .atesh-contact-icon { display:block; width:13px; height:13px; max-width:13px; max-height:13px; filter:invert(.74); }
[data-shared-public-header] .atesh-site-header { position:relative!important; top:auto!important; display:flex; align-items:center; justify-content:space-between; flex-flow:row nowrap; gap:24px; width:100%; height:90px; min-height:90px; max-height:90px; margin:0; padding:0 8vw!important; border:0; box-shadow:none; background:var(--header-background,#232323)!important; color:var(--header-foreground,#eee)!important; }
/* A fixed flex slot avoids the intrinsic minimum of the old grid image track. */
[data-shared-public-header] .atesh-header-brand { display:flex; align-items:center; justify-content:center; flex:0 0 132px; width:132px; min-width:132px; max-width:132px; height:64px; min-height:64px; max-height:64px; margin:0; padding:9px; border:0; border-radius:6px; overflow:hidden; background:#fff; box-shadow:0 5px 18px #0000002e; }
[data-shared-public-header] .atesh-header-brand img { display:block; flex:0 1 auto; width:114px; min-width:0; max-width:100%; height:46px; min-height:0; max-height:100%; margin:0; padding:0; border:0; object-fit:contain; object-position:center!important; }
[data-shared-public-header] .atesh-public-nav { position:static; display:flex; align-items:center; justify-content:flex-end; flex:0 1 auto; flex-flow:row nowrap; gap:24px; order:0; width:auto; min-width:0; height:auto; min-height:0; max-height:none; margin:0 0 0 auto; padding:0; border:0; overflow:visible; background:transparent; color:inherit; box-shadow:none; transform:none; transition:none; font:500 14px/1.2 Arial,sans-serif; letter-spacing:0; text-transform:none; }
[data-shared-public-header] .atesh-public-nav > a, [data-shared-public-header] .atesh-mega-parent > a, [data-shared-public-header] .atesh-nav-parent > a { display:block; flex:none; width:auto; min-height:0; margin:0; padding:35px 0; border:0; color:inherit; white-space:nowrap; font:500 14px/1.2 Arial,sans-serif; letter-spacing:0; text-transform:none; }
[data-shared-public-header] .atesh-public-nav > a:hover, [data-shared-public-header] .atesh-public-nav a[aria-current="page"], [data-shared-public-header] .atesh-mega-parent > a:hover, [data-shared-public-header] .atesh-nav-parent > a:hover { color:var(--brand,#db3632); }
[data-shared-public-header] .atesh-public-nav > .atesh-header-cta { display:flex; align-items:center; justify-content:center; flex:0 0 165px; width:165px; min-height:55px; margin:0; padding:16px 20px; border:0; border-radius:0; background:var(--brand,#db3632); color:#fff; font:500 14px/1.3 Arial,sans-serif; }
[data-shared-public-header] .atesh-mega-parent, [data-shared-public-header] .atesh-nav-parent { position:static; display:flex; align-items:center; flex:0 0 auto; flex-wrap:wrap; margin:0; padding:0; }
[data-shared-public-header] .atesh-mega-menu { position:absolute; top:100%; right:6vw; left:6vw; display:grid; grid-template-columns:.85fr 1.1fr .72fr; gap:42px; margin:0; padding:38px; visibility:hidden; opacity:0; background:#fff; color:#252525; text-align:left; transform:translateY(12px); transition:opacity .2s,transform .2s,visibility .2s; box-shadow:0 25px 60px #0003; }
[data-shared-public-header] .atesh-mega-parent:hover > .atesh-mega-menu, [data-shared-public-header] .atesh-mega-parent:focus-within > .atesh-mega-menu, [data-shared-public-header] .submenu-open > .atesh-mega-menu { visibility:visible; opacity:1; transform:none; }
[data-shared-public-header] .atesh-mega-menu > div > span { color:var(--brand,#db3632); font-size:9px; font-weight:800; letter-spacing:2px; }
[data-shared-public-header] .atesh-mega-menu h3 { margin:10px 0; font:700 30px/1.15 Georgia,serif; }
[data-shared-public-header] .atesh-mega-menu p { margin:0 0 15px; color:#6f6f6f; font-size:12px; line-height:1.8; }
[data-shared-public-header] .atesh-mega-menu .atesh-mega-cta { display:inline-flex; gap:10px; padding:7px 0; border-bottom:1px solid #222; font-size:9px; font-weight:800; text-transform:uppercase; }
[data-shared-public-header] .atesh-mega-links { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
[data-shared-public-header] .atesh-mega-links a { display:flex; align-items:center; justify-content:space-between; padding:13px 0; border-bottom:1px solid #ddd; font-size:12px; font-weight:700; }
[data-shared-public-header] .atesh-mega-links a:hover { color:var(--brand,#db3632); }
[data-shared-public-header] .atesh-mega-quote { padding:28px; background:#292929; color:#fff; }
[data-shared-public-header] .atesh-mega-quote h4 { margin:0 0 8px; font:700 23px/1.2 Georgia,serif; }
[data-shared-public-header] .atesh-mega-quote p { color:#aaa; }
[data-shared-public-header] .atesh-mega-quote a { display:inline-block; padding:13px 16px; background:var(--brand,#db3632); color:#fff; font-size:10px; font-weight:800; text-transform:uppercase; }
[data-shared-public-header] .atesh-nav-submenu { position:absolute; top:100%; display:grid; min-width:230px; margin:0; padding:10px; visibility:hidden; opacity:0; background:#fff; color:#252525; transform:translateY(10px); box-shadow:0 18px 38px #0003; }
[data-shared-public-header] .atesh-nav-parent:hover > .atesh-nav-submenu, [data-shared-public-header] .atesh-nav-parent:focus-within > .atesh-nav-submenu, [data-shared-public-header] .submenu-open > .atesh-nav-submenu { visibility:visible; opacity:1; transform:none; }
[data-shared-public-header] .atesh-nav-submenu a { padding:11px 13px; border-bottom:1px solid #eee; }
[data-shared-public-header] .atesh-nav-subgroup { display:grid; padding-left:14px; }
[data-shared-public-header] .atesh-submenu-toggle { display:flex; align-items:center; justify-content:center; width:32px; height:32px; min-width:32px; min-height:32px; margin:0; padding:0; border:0; background:transparent; color:inherit; font:16px/1 Arial,sans-serif; }
[data-shared-public-header] .atesh-submenu-toggle img { display:block; width:12px; height:12px; filter:invert(1); }
[data-shared-public-header] .atesh-menu-button { display:none; flex:0 0 44px; align-items:center; justify-content:center; width:44px; height:44px; margin:0 0 0 auto; padding:9px; border:1px solid #ffffff61; border-radius:6px; background:transparent; color:inherit; }
[data-shared-public-header] .atesh-menu-icon { display:block; width:24px; height:24px; filter:invert(1); }
[data-shared-public-header] .atesh-skip-link, .workspace-skip-link { position:fixed; z-index:1000; top:10px; left:10px; padding:10px 15px; background:#fff; color:#17191d; font:700 12px/1.2 Arial,sans-serif; transform:translateY(-180%); }
[data-shared-public-header] .atesh-skip-link:focus, .workspace-skip-link:focus { transform:none; outline:3px solid var(--brand,#db3632); }
@media(min-width:1261px) {
 [data-shared-public-header] .atesh-submenu-toggle { position:absolute; width:22px; min-width:22px; height:28px; margin-left:2px; transform:translateX(100%); opacity:0; }
 [data-shared-public-header] .atesh-submenu-toggle:focus-visible { opacity:1; }
}
@media(max-width:1260px) {
 [data-shared-public-header] .atesh-site-header { padding-inline:24px!important; }
 [data-shared-public-header] .atesh-menu-button { display:flex; }
 /* Important declarations override the inherited React bundle's generic header nav drawer. */
 [data-shared-public-header] .atesh-public-nav { position:absolute!important; inset:90px 0 auto 0!important; display:none!important; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center!important; justify-content:stretch; gap:0 24px!important; width:auto!important; height:auto!important; max-height:calc(100vh - 128px); max-height:calc(100dvh - 128px); margin:0; padding:18px 24px 26px!important; overflow:auto; border:0; background:var(--header-background,#232323)!important; color:var(--header-foreground,#eee)!important; box-shadow:0 14px 25px #0005; transform:none; transition:none; }
 [data-shared-public-header] .atesh-public-nav.open { display:grid!important; }
 [data-shared-public-header] .atesh-public-nav > a, [data-shared-public-header] .atesh-mega-parent > a, [data-shared-public-header] .atesh-nav-parent > a { display:block!important; padding:14px 3px!important; border:0; }
 [data-shared-public-header] .atesh-public-nav > .atesh-header-cta { display:flex!important; grid-column:1/-1; width:100%; margin-top:14px; text-align:center; }
 [data-shared-public-header] .atesh-mega-parent, [data-shared-public-header] .atesh-nav-parent { position:relative; }
 [data-shared-public-header] .atesh-mega-menu, [data-shared-public-header] .atesh-nav-submenu { position:static; display:none; flex:0 0 100%; width:100%; min-width:0; grid-column:1/-1; visibility:visible; opacity:1; transform:none; box-shadow:none; }
 [data-shared-public-header] .submenu-open > .atesh-mega-menu, [data-shared-public-header] .submenu-open > .atesh-nav-submenu { display:grid; }
 [data-shared-public-header] .atesh-mega-menu { grid-template-columns:1fr; gap:20px; padding:24px; }
}
@media(max-width:700px) {
 [data-shared-public-header] .atesh-topbar { gap:12px; padding-inline:18px; font-size:11px; }
 [data-shared-public-header] .atesh-topbar > div { gap:12px; }
 [data-shared-public-header] .atesh-topbar-social > span, [data-shared-public-header] .atesh-topbar a[href^="mailto:"] { display:none; }
 [data-shared-public-header] .atesh-site-header { height:78px; min-height:78px; max-height:78px; padding-inline:18px!important; }
 [data-shared-public-header] .atesh-header-brand { flex-basis:118px; width:118px; min-width:118px; max-width:118px; height:58px; min-height:58px; max-height:58px; }
 [data-shared-public-header] .atesh-header-brand img { width:100px; height:40px; }
 [data-shared-public-header] .atesh-public-nav { top:78px!important; grid-template-columns:1fr; max-height:calc(100vh - 116px); max-height:calc(100dvh - 116px); }
 [data-shared-public-header] .atesh-header-cta { grid-column:1; }
}
@media(prefers-reduced-motion:reduce) { [data-shared-public-header] .atesh-mega-menu { transition:none; } }
/* The shared shell is outside React; suppress its obsolete duplicate chrome. */
[data-shared-public-header] ~ #root > .topbar, [data-shared-public-header] ~ #root > header { display:none!important; }

/* The footer is also shared, so page-specific typography cannot alter it. */
body:has([data-shared-public-footer]) #root>footer{display:none!important}
[data-shared-public-footer].atesh-shared-footer{display:block;width:100%;margin:0;padding:58px 8vw 22px;border:0;background:var(--footer-background,#232323);color:var(--footer-foreground,#eee);font:400 14px/1.7 Arial,sans-serif}
.atesh-shared-footer *{box-sizing:border-box}
.atesh-shared-footer .atesh-footer-grid{display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:64px}
.atesh-shared-footer a,.atesh-shared-footer p,.atesh-shared-footer strong{color:inherit;font-family:Arial,sans-serif;overflow-wrap:anywhere}
.atesh-shared-footer a{text-decoration:none}
.atesh-shared-footer a:hover{text-decoration:underline}
.atesh-shared-footer p{font-size:14px;line-height:1.8;margin:12px 0;white-space:pre-line}
.atesh-shared-footer h2{font:600 17px/1.4 Arial,sans-serif;color:inherit;margin:0 0 20px}
.atesh-shared-footer strong{display:block;margin-top:18px;font-size:18px}
.atesh-shared-footer .atesh-footer-brand{display:grid;place-items:center;width:132px;height:64px;padding:9px;border-radius:6px;background:#fff}
.atesh-shared-footer .atesh-footer-brand img{display:block;width:100%;height:100%;object-fit:contain}
.atesh-footer-menu,.atesh-footer-contacts{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.atesh-footer-socials{display:flex;gap:12px;margin-top:20px}
.atesh-footer-socials a{display:grid;place-items:center;width:36px;height:36px;border:1px solid #777;border-radius:50%}
.atesh-footer-socials img{width:16px;height:16px;filter:invert(1)}
.atesh-shared-footer .atesh-footer-copyright{margin:36px 0 0;padding:22px 0 0;border-top:1px solid #777;font-size:12px}
@media(max-width:800px){.atesh-shared-footer .atesh-footer-grid{grid-template-columns:1fr;gap:32px}[data-shared-public-footer].atesh-shared-footer{padding:38px 24px 20px}}

.portfolio-gallery-link{padding:40px 8vw 64px}.portfolio-gallery-link h2{font:600 30px/1.3 Georgia,serif}.portfolio-gallery-link p{margin:16px 0 24px}
