/* Wide photographs, readable paragraphs, shared outer edges. */
@media(min-width:1541px){:root{--vt-gutter:6vw}}
.vt-section-intro>p,.vt-shoot,.vt-about .vt-about-intro,.vt-about-detail,.vt-extra,.vt-cost-note,.vt-contact-lead,.policy-content p{max-width:760px}
.vt-about,.vt-contacts{margin-left:0;margin-right:0}
.vt-price-thumbs img{height:auto;aspect-ratio:3/4;object-fit:cover}
.vt-legacy-main .elementor-widget-neuron-gallery .l-neuron-grid{margin-left:0!important;margin-right:0!important;width:100%!important}
.vt-legacy-main .m-neuron-gallery__item{padding-left:0!important;padding-right:0!important;width:100%!important}
.vt-footer-grid{grid-template-columns:minmax(0,1.6fr) minmax(310px,1fr);gap:50px}
.vt-footer .vt-footer-contacts{font-size:12px;margin:12px 0 0;max-width:none}
.vt-footer .vt-footer-bottom{width:100%;text-align:center!important}
.vt-documents a{max-width:100%;text-wrap:pretty}
.vt-desktop-nav a.active,#mobile-menu a.active{font-weight:800;text-decoration:underline;text-underline-offset:6px}
.vt-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:13px/1.6 Mulish,Arial,sans-serif;margin:16px 0 26px}
.o-post-navigation{display:flex!important;justify-content:space-between;align-items:center;gap:24px;width:100%}
.o-post-navigation>a{display:inline-flex!important;align-items:center;gap:8px;font:14px/1.6 Mulish,Arial,sans-serif;color:#171717!important;max-width:46%;min-height:44px;text-decoration:none!important}
.o-post-navigation>a>span:first-child{font-size:16px;line-height:1;flex-shrink:0}
.o-post-navigation .vt-work-next{flex-direction:row-reverse;text-align:right;margin-left:auto}
.o-post-navigation>a:hover{ text-decoration:underline!important }
.vt-section-back{margin:26px 0 42px}.vt-section-back a{display:inline-flex;align-items:center;gap:8px;min-height:44px}
.photo-viewer button,.photo-viewer button:hover,.photo-viewer button:focus,.photo-viewer button:active,button[data-menu-toggle],button[data-cookie],button[data-cookie-settings],.vt-discuss,.vt-discuss:hover{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important}
.photo-viewer button{min-width:44px;min-height:44px;flex-shrink:0;padding:8px;line-height:1.2}
.photo-viewer [data-close]{width:44px;height:44px;padding:10px;line-height:1}
.photo-viewer [data-close] svg{display:block;width:24px;height:24px}
.photo-viewer button:focus-visible{outline:2px solid #171717;outline-offset:3px}
@media(max-width:767px){.vt-footer-grid{grid-template-columns:1fr;gap:24px}.vt-footer .vt-footer-contacts{line-height:2}.vt-breadcrumbs{font-size:12px}.o-post-navigation>a{font-size:12px}.photo-viewer{flex-wrap:wrap;justify-content:space-between;padding-top:60px}.photo-viewer img{order:-1;width:100%;max-width:100%;max-height:75vh}.photo-viewer [data-close]{top:8px;right:8px}}

/* Task 07b: original fixed frames, 30px gutters and hover captions. */
.vt-work-grid{gap:30px}
.vt-work-grid>article>div{position:relative;overflow:hidden}
.vt-work-grid .m-neuron-portfolio__thumbnail{aspect-ratio:1/1.08}
.vt-work-grid .m-neuron-portfolio__thumbnail img{width:100%;height:100%;object-fit:cover}
.vt-work-grid .m-neuron-portfolio__overlay{position:absolute!important;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:0;padding:0 0 26px 26px!important;background:rgba(0,0,0,.3)!important;opacity:0!important;visibility:visible!important;pointer-events:none;transition:opacity .2s}
.vt-work-grid .m-neuron-portfolio__title{color:#fff!important;text-align:left;font-size:24px!important;font-weight:400!important;line-height:1.46!important;margin:0!important}
@media(hover:hover) and (pointer:fine){.vt-work-grid article:hover .m-neuron-portfolio__overlay{opacity:1!important}}
.vt-work-grid article:focus-within .m-neuron-portfolio__overlay{opacity:1!important}
.vt-legacy-main .elementor-widget-neuron-gallery .l-neuron-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;height:auto!important}
.vt-legacy-main .m-neuron-gallery__item{position:relative!important;top:auto!important;left:auto!important;transform:none!important;margin:0!important;padding:0!important;min-width:0;max-width:none!important}
.vt-legacy-main .m-neuron-gallery__thumbnail img{display:block;width:100%;height:100%;object-fit:cover}
.vt-about-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:clamp(30px,4vw,60px);align-items:start}
.vt-about-photo{display:block;width:100%;height:auto}
.vt-about-text{min-width:0}
.vt-footer{scroll-margin-top:0}
.vt-footer-contact{text-align:center;margin:auto;max-width:900px}
.elementor-kit-7 .vt-footer h2{font:500 clamp(26px,2.6vw,36px)/1.3 Mulish,Arial,sans-serif;margin:0 0 12px}
.vt-footer .vt-footer-lead{font-size:16px;margin-bottom:24px}
.vt-footer-primary,.vt-footer-social{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 30px}
.elementor-kit-7 .vt-footer-primary a{font-size:clamp(23px,2.5vw,32px);line-height:1.5;color:#fff}
.elementor-kit-7 .vt-footer-social a{font-size:16px}
.vt-footer-social{margin-top:12px}
.vt-footer .vt-documents{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 20px;margin:26px auto 0;font-size:13px}
.vt-footer .vt-footer-bottom{margin-top:14px}
/* Original >1540px layout: 3.4% column / 4% row spacing on its expanded grid. */
@media(min-width:1541px){.vt-work-grid,.vt-legacy-main .elementor-widget-neuron-gallery .l-neuron-grid{column-gap:calc(88vw * 3.4 / 96.6);row-gap:calc(88vw * 4 / 96.6)}.vt-work-grid .m-neuron-portfolio__overlay{padding:0 0 6% 6%!important}.vt-work-grid .m-neuron-portfolio__title{font-size:30px!important}}
@media(max-width:1050px){.vt-header-cta{display:block}.vt-desktop-nav{display:none}.vt-header-row{justify-content:space-between}.vt-header .mobile-toggle{display:flex}}
@media(max-width:767px){
 .vt-work-grid{gap:30px}.vt-legacy-main .elementor-widget-neuron-gallery .l-neuron-grid{grid-template-columns:1fr}
 .vt-about-row{grid-template-columns:1fr;gap:28px}
 .vt-header-row{flex-wrap:wrap;padding-top:4px;padding-bottom:8px;column-gap:0}.vt-header .text-logo{width:224px}.vt-header-cta{order:3;width:100%;display:flex;justify-content:center}.vt-header-cta .vt-discuss{padding:6px 14px!important;min-height:36px}
 html{scroll-padding-top:124px}.vt-footer-primary,.vt-footer-social{flex-direction:column;gap:4px}.vt-footer .vt-documents{gap:0 16px;max-width:400px}
}
@media(hover:none),(pointer:coarse){.vt-work-grid .m-neuron-portfolio__overlay{inset:auto 0 0;opacity:1!important;padding:10px 12px!important;background:rgba(0,0,0,.55)!important}.vt-work-grid .m-neuron-portfolio__title{font-size:13px!important;line-height:1.5!important}}
@media(prefers-reduced-motion:reduce){.vt-work-grid .m-neuron-portfolio__overlay{transition:none}}

/* Task 07v: centered reading column, including headings and revision. */
body>main.policy-content{width:calc(100% - 2 * var(--vt-gutter));max-width:760px;padding:48px 0;margin:0 auto;text-align:left;overflow-wrap:anywhere}
.policy-content h1,.policy-content h2,.policy-content p{max-width:100%}
.vt-legacy-main a.vt-home-button{display:inline-flex;align-items:center;min-height:44px;padding:12px 22px;margin-top:12px;border:1px solid #171717;background:#171717!important;color:#fff!important;text-decoration:none!important}
.vt-price-anchor{display:block;position:absolute;top:0;scroll-margin-top:110px}
#services{position:relative}
.vt-price-thumbs a{display:block;aspect-ratio:3/4}
.vt-price-thumbs img{display:block;width:100%;height:100%;object-fit:cover}
.vt-work-grid .m-neuron-portfolio__thumbnail img{aspect-ratio:auto}
.vt-cookie-dialog{padding:0;border:0;width:min(480px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;overflow:auto;background:#fff;color:#171717;box-shadow:0 12px 60px #0005}
.vt-cookie-dialog::backdrop{background:rgba(0,0,0,.6)}
#cookie-banner.vt-cookie-card{position:relative;inset:auto;width:100%;padding:30px;box-shadow:none;border:0;font:16px/1.6 Mulish,Arial,sans-serif}
#cookie-banner.vt-cookie-card h2{font:500 24px/1.3 Mulish,Arial,sans-serif;margin:0 40px 20px 0}
#cookie-banner.vt-cookie-card .vt-cookie-close{position:absolute;right:8px;top:8px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:#171717;font:32px/1 Arial,sans-serif}
#cookie-banner.vt-cookie-card a{font-size:16px;overflow-wrap:anywhere}
#cookie-banner.vt-cookie-card button,#cookie-banner.vt-cookie-card button:hover,#cookie-banner.vt-cookie-card button:focus{ text-decoration:none!important }
#cookie-banner.vt-cookie-card>a{display:block;padding:4px 0}
#cookie-banner.vt-cookie-card #cookie-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.vt-cookie-open{overflow:hidden}
.vt-cookie-dialog :focus-visible,.vt-home-button:focus-visible{outline:2px solid #171717;outline-offset:3px}
@media(max-width:767px){body>main.policy-content{padding:30px 0 38px}.vt-price-anchor{scroll-margin-top:124px}#cookie-banner.vt-cookie-card{padding:24px}.vt-price-thumbs a{aspect-ratio:auto;height:90px}.vt-price-thumbs img{height:90px}}

/* Task 07g: shared SVG controls and baseline-safe navigation. */
body>main.vt-not-found{min-height:calc(100svh - 100px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px}
.elementor-kit-7 .vt-not-found h1{font:500 clamp(100px,16vw,180px)/1 Mulish,Arial,sans-serif;margin:0}
.vt-not-found p{font:400 22px/1.5 Mulish,Arial,sans-serif;margin:0}
.vt-not-found .vt-home-button{margin:0}
.vt-arrow{display:block;width:16px;height:16px;flex:0 0 16px}
.elementor-kit-7 a.vt-discuss,.vt-all-works,.vt-section-back a,.o-post-navigation>a,.photo-viewer [data-prev],.photo-viewer [data-next]{display:inline-flex!important;align-items:center;gap:10px}
.o-post-navigation>a>span:first-child{display:inline-flex;align-items:center;font:inherit}
.vt-discuss>span{display:inline-flex;align-items:center}
.elementor-kit-7 .vt-breadcrumbs{display:block;font:400 13px/1.8 Mulish,Arial,sans-serif;text-align:left}
.elementor-kit-7 .vt-breadcrumbs>a,.elementor-kit-7 .vt-breadcrumbs>span{display:inline;position:static;vertical-align:baseline;font:inherit!important;letter-spacing:normal;text-transform:none;margin:0;padding:0}
.vt-breadcrumbs>span[aria-hidden]{padding:0 8px!important}
.elementor-kit-7 .vt-legacy-main h1{font-family:Mulish,Arial,sans-serif!important}
.vt-price-thumbs a{aspect-ratio:3/4;height:auto}
.vt-price-thumbs img{height:100%;aspect-ratio:3/4;object-position:center top}
@media(max-width:1050px){.vt-header .vt-header-cta{display:none}html{scroll-padding-top:90px}}
@media(max-width:767px){.vt-examples-label,.vt-price-thumbs{display:none}.elementor-kit-7 .vt-breadcrumbs{font-size:12px}.vt-price-anchor{scroll-margin-top:90px}}

/* 18.10: header and overlay controls share one height and container gutter. */
html{scrollbar-gutter:stable}
:root{--vt-header-row-height:100px}
.vt-header-row{min-height:var(--vt-header-row-height);padding-top:0;padding-bottom:0;flex-wrap:nowrap}
#mobile-menu{padding:calc(var(--vt-header-row-height) + 24px) var(--vt-gutter) 30px}
#mobile-menu button[data-menu-toggle]{top:calc((var(--vt-header-row-height) - 44px)/2);right:var(--vt-gutter);width:44px;height:44px;padding:10px}
#mobile-menu a.vt-discuss{width:auto;max-width:100%;min-height:44px;padding:10px 14px;gap:10px;font:500 15px/1.5 Mulish,Arial,sans-serif;color:#171717;background:#fff}
#mobile-menu a.vt-discuss:hover,#mobile-menu a.vt-discuss:focus-visible,#mobile-menu a.vt-discuss:active{color:#fff;background:#171717}
@media(max-width:1050px){
 :root{--vt-header-row-height:90px}
 .vt-header .mobile-toggle{align-items:center;justify-content:center;width:44px;height:44px;padding:10px;flex-shrink:0}
}
@media(max-width:767px){:root{--vt-header-row-height:76px}}
