@font-face{font-family:'VT Tinos';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/Tinos-Regular.woff2') format('woff2')}
/* Original Elementor CSS is retained; these are scoped runtime replacements. */
[hidden]{display:none!important}
.elementor-invisible,.h-neuron-animation--wow{visibility:visible!important;opacity:1!important;transform:none!important}
.elementor-location-popup{display:none!important}
.text-logo{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:300px;max-width:100%;height:70px;color:#141414;text-decoration:none!important;white-space:nowrap}
.text-logo strong{font-family:'VT Tinos',serif;font-weight:400;font-size:34px;line-height:1.1;letter-spacing:-1.1px}
.text-logo small{font-family:'VT Tinos',serif;font-size:11px;line-height:1.8}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
.legal-footer{font:13px/1.7 Mulish,Arial,sans-serif;padding:24px 30px;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;color:#555}
.legal-footer button,.legal-footer a{font:inherit;color:inherit}
.legal-footer button{background:none;border:0;text-decoration:underline;cursor:pointer;padding:0}
#cookie-banner{position:fixed;bottom:18px;right:18px;width:min(470px,calc(100% - 36px));padding:20px;background:#fff;color:#141414;box-shadow:0 3px 24px #0003;border:1px solid #bbb;z-index:9999;font:14px/1.5 Mulish,Arial,sans-serif}
#cookie-banner p{margin:0 0 10px}#cookie-banner a{color:inherit;text-decoration:underline}#cookie-banner>div{display:flex;gap:12px;margin-top:16px}
#cookie-banner button{padding:10px 18px;border:1px solid #141414;background:#fff;color:#141414;cursor:pointer;font:inherit}#cookie-banner button:first-child{background:#141414;color:#fff}
.mobile-toggle{background:transparent;border:0;color:#333;font-size:24px;line-height:1;padding:8px;cursor:pointer}
.elementor-kit-7 .mobile-toggle{background:transparent;color:#333;border:0;padding:8px;font:24px/1 Arial,sans-serif}
.elementor-kit-7 .legal-footer button{background:transparent;color:#555;border:0;padding:0;font:inherit;letter-spacing:normal}
#mobile-menu{position:fixed;inset:0;background:#fff;z-index:10000;padding:60px 30px;overflow:auto}#mobile-menu ul{list-style:none;padding:0}#mobile-menu a{font:24px/2 Mulish,Arial,sans-serif;color:#141414}#mobile-menu button{position:absolute;right:20px;top:20px}
.policy-content{max-width:900px;padding:30px;margin:40px auto;font:16px/1.7 Mulish,Arial,sans-serif}.policy-content h1{font-size:32px}.policy-content h2{font-size:23px;margin-top:28px}
.photo-viewer{max-width:100vw;width:100vw;height:100vh;max-height:100vh;padding:30px;border:0;background:#fff;align-items:center;justify-content:space-between;gap:12px}.photo-viewer[open]{display:flex}.photo-viewer::backdrop{background:#fff}.photo-viewer img{max-height:90vh;max-width:78vw;object-fit:contain}.photo-viewer button{background:white;border:0;font:16px Mulish,Arial;cursor:pointer}.photo-viewer [data-close]{position:absolute;right:24px;top:10px;font-size:32px}
@media(max-width:720px){.legal-footer{padding:20px 25px;display:block}.legal-footer>*{display:block;margin:8px 0}.text-logo strong{font-size:32px}.photo-viewer{padding:8px;gap:4px}.photo-viewer img{max-width:72vw}.photo-viewer button{font-size:12px}}

.mobile-toggle svg{display:block;width:24px;height:24px}
/* Task 05: plain contacts and an editorial about section, agreed with Asya. */
.vt-about,.vt-contacts{font:16px/1.7 Mulish,Arial,sans-serif;color:#171717;box-sizing:border-box}
.vt-about{max-width:1380px;margin:90px auto 80px;padding:0 30px}
.vt-about-intro{max-width:860px}.vt-about .vt-eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#666;margin:0 0 18px}
.elementor-kit-7 .vt-about h2{font:500 clamp(28px,3.2vw,46px)/1.2 Mulish,Arial,sans-serif;margin:0 0 24px;letter-spacing:-.025em}
.vt-about .vt-about-lead{font-size:20px;line-height:1.65;max-width:740px;margin:0}
.vt-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:48px 0 40px;padding:28px 0;border-top:1px solid #d9d9d9;border-bottom:1px solid #d9d9d9}
.vt-facts dt{font-size:20px;font-weight:500;line-height:1.4;margin:0 0 8px}.vt-facts dd{margin:0;color:#666;font-size:14px}
.vt-about-clients{margin:0 0 52px}.vt-about-clients>p:nth-child(2){font-size:18px;line-height:1.8;margin:0 0 25px}
.elementor-kit-7 a.vt-discuss{display:inline-flex;gap:30px;align-items:center;border:1px solid #222;padding:13px 20px;color:#171717;font:500 15px/1.5 Mulish,Arial,sans-serif;text-decoration:none;background:white}
.elementor-kit-7 a.vt-discuss:hover{background:#171717;color:#fff}
.vt-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 64px;border-top:1px solid #d9d9d9;padding-top:36px}
.elementor-kit-7 .vt-services h3{font:500 21px/1.4 Mulish,Arial,sans-serif;margin:0 0 12px}.vt-services h3 a{color:inherit}.vt-services p{margin:0;color:#555;max-width:540px}
.vt-contacts{max-width:1000px;margin:60px auto 100px;padding:0 30px;min-height:400px}
.elementor-kit-7 .vt-contacts h1{font:500 clamp(32px,4vw,48px)/1.2 Mulish,Arial,sans-serif;margin:0 0 28px}
.vt-contact-lead{max-width:650px;font-size:18px;margin:0 0 40px;color:#555}
.vt-contact-list{margin:0}.vt-contact-list>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:25px;padding:19px 0;border-top:1px solid #ddd}.vt-contact-list>div:last-child{border-bottom:1px solid #ddd}
.vt-contact-list dt{font-size:13px;color:#777;align-self:center}.vt-contact-list dd{margin:0;font-size:22px;line-height:1.5;overflow-wrap:anywhere}.vt-contact-list a{color:#171717;text-decoration:none}.vt-contact-list a:hover{text-decoration:underline}
a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:767px){.vt-about{margin:48px auto;padding:0 25px}.vt-about .vt-about-lead{font-size:17px}.vt-facts{grid-template-columns:1fr;gap:22px;margin:30px 0;padding:24px 0}.vt-facts dt{font-size:19px;margin-bottom:3px}.vt-services{grid-template-columns:1fr;gap:28px;padding-top:28px}.vt-about-clients{margin-bottom:32px}.vt-about-clients>p:nth-child(2){font-size:16px}.vt-contacts{margin:30px auto 60px;padding:0 25px}.vt-contact-lead{font-size:16px;margin-bottom:30px}.vt-contact-list>div{grid-template-columns:76px minmax(0,1fr);gap:14px;padding:18px 0}.vt-contact-list dd{font-size:17px}}
.policy-content h1{overflow-wrap:anywhere}
/* Task 04: agreed footer design and populated portfolio archives. */
.elementor-kit-7 .vt-footer,.vt-footer{display:block;background:#0d0d0d;color:#ccc;width:100%;padding:52px 30px 24px;font:15px/1.7 Mulish,Arial,sans-serif;margin:0;box-sizing:border-box}
.vt-footer-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:44px;max-width:1380px;margin:auto}
.vt-footer p{margin:0 0 10px}.vt-footer .vt-footer-name{font-size:24px;color:#fff;font-weight:600}
.elementor-kit-7 .vt-footer h2{font:600 16px/1.7 Mulish,Arial,sans-serif;color:#fff;margin:0 0 14px}
.vt-footer ul{padding:0;margin:0;list-style:none}.vt-footer li{margin:0 0 8px}
.elementor-kit-7 .vt-footer a,.elementor-kit-7 .vt-footer button{color:#ccc;font:inherit;letter-spacing:normal;text-transform:none;cursor:pointer;background:transparent;border:0;padding:0;text-decoration:none;text-align:left;overflow-wrap:anywhere}
.vt-footer a{display:inline-block}.vt-footer a svg{vertical-align:middle;margin-right:5px}.vt-social-icon{font-size:11px;font-weight:bold;display:inline-block;width:19px}
.elementor-kit-7 .vt-footer a:hover,.elementor-kit-7 .vt-footer button:hover{color:#fff;text-decoration:underline}
.vt-footer a:focus-visible,.vt-footer button:focus-visible{outline:2px solid white;outline-offset:4px}
.vt-footer .vt-footer-bottom{max-width:1380px;margin:32px auto 0;padding-top:20px;border-top:1px solid #444;font-size:12px;color:#bdbdbd}
a[href^="mailto:"],a[href^="tel:"]{cursor:pointer;position:relative;z-index:2;display:inline-block}
.vt-category{padding:40px 30px 70px;max-width:1500px;margin:auto}.elementor-kit-7 .vt-category h1{font:500 36px/1.3 Mulish,Arial,sans-serif;margin:0 0 36px;overflow-wrap:anywhere}
.vt-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.vt-category-grid article{width:auto!important;position:relative!important;left:auto!important;top:auto!important;margin:0!important;transform:none!important}
.vt-category-grid img{width:100%;height:auto;display:block}.vt-category-grid .m-neuron-portfolio__overlay{position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;padding:16px 0;background:white;color:#141414}.vt-category-grid .m-neuron-portfolio__title{font:500 20px/1.4 Mulish,Arial,sans-serif!important;color:#141414!important}.vt-category-grid .m-neuron-portfolio__category{color:#555!important}
@media(max-width:767px){.elementor-kit-7 .vt-footer{padding:36px 25px 24px}.vt-footer-grid{grid-template-columns:1fr;gap:26px}.vt-footer>*{display:block;margin:0}.vt-footer .vt-footer-bottom{margin-top:28px}.vt-category{padding:25px 25px 45px}.elementor-kit-7 .vt-category h1{font-size:28px}.vt-category-grid{grid-template-columns:1fr;gap:26px}}
