:root{--bg:#f5f5f2;--panel:#fff;--ink:#111;--muted:#717171;--line:rgba(17,17,17,.14);--radius:20px;--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;transition:background .25s,color .25s}body.dark{--bg:#111;--panel:#191919;--ink:#f3f3ef;--muted:#aaa;--line:rgba(255,255,255,.14)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-main{overflow:hidden}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 28px}.nav-wrap{max-width:var(--max);margin:auto;background:rgba(248,248,244,.88);backdrop-filter:blur(18px);border:1px solid rgba(0,0,0,.08);border-radius:18px;min-height:66px;padding:9px 14px 9px 18px;display:flex;align-items:center;gap:22px;box-shadow:0 12px 40px rgba(0,0,0,.08)}body.dark .nav-wrap{background:rgba(26,26,26,.86);border-color:rgba(255,255,255,.12)}.brand img{width:116px;height:40px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.main-nav>a,.nav-drop>a{font-size:14px;font-weight:600;letter-spacing:.01em;position:relative}.main-nav>a:after,.nav-drop>a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:currentColor;transition:.25s}.main-nav>a:hover:after,.nav-drop>a:hover:after{right:0}.nav-drop{position:relative}.drop-menu{display:none;position:absolute;left:-20px;top:22px;min-width:230px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.12)}.nav-drop:hover .drop-menu{display:grid;gap:7px}.drop-menu a{padding:9px 10px;border-radius:8px;font-size:13px}.drop-menu a:hover{background:rgba(127,127,127,.1)}.nav-actions{display:flex;align-items:center;gap:10px}.lang{font-size:13px}.theme-toggle{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:transparent;color:inherit;cursor:pointer;font-size:17px}.mobile-toggle{display:none;border:0;background:transparent;width:42px;padding:8px}.mobile-toggle span{height:1px;background:var(--ink);display:block;margin:6px 0}.hero{height:100vh;min-height:680px;position:relative;display:grid;place-items:center;color:#fff}.hero-bg{position:absolute;inset:0;background:url('https://vienafactory.com/_next/static/media/hero.36cfbc55.png') center/cover no-repeat;transform:scale(1.01)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.36))}.hero-copy{position:relative;text-align:center;margin-top:70px}.hero-copy h1{font-size:clamp(60px,9vw,142px);line-height:.9;letter-spacing:-.065em;margin:0;font-weight:600}.hero-copy p{font-size:18px;margin:26px 0}.btn-light,.btn-dark{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:999px;font-weight:600;font-size:14px;transition:.25s}.btn-light{background:#fff;color:#111}.btn-light:hover{transform:translateY(-2px);background:#ecece8}.btn-dark{background:var(--ink);color:var(--bg)}.section{max-width:var(--max);margin:auto;padding:110px 28px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:40px}.section-head h2,.clients h2{font-size:clamp(46px,6vw,92px);letter-spacing:-.055em;line-height:.95;margin:0;font-weight:600}.section-head a{font-weight:600}.feature-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px}.feature-grid img{width:100%;height:540px;object-fit:cover;border-radius:18px}.feature-grid img:nth-child(2),.feature-grid img:nth-child(3){height:420px;align-self:end}.marquee-gallery{overflow:hidden;padding:20px 0 80px}.gallery-track{display:flex;width:max-content;gap:12px;animation:marquee 60s linear infinite}.gallery-track:hover{animation-play-state:paused}.gallery-track img{width:360px;height:260px;object-fit:cover;border-radius:16px}@keyframes marquee{to{transform:translateX(-50%)}}.narrow{max-width:1100px}.intro-copy p{font-size:clamp(28px,3.8vw,60px);line-height:1.13;letter-spacing:-.035em;margin:0}.clients{padding-top:40px}.client-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:50px}.client-grid div{aspect-ratio:1;background:#fff;border-radius:18px;display:grid;place-items:center;overflow:hidden}.client-grid img{width:100%;height:100%;object-fit:cover}.page-hero{padding:190px 28px 90px;max-width:var(--max);margin:auto}.page-hero span{text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--muted)}.page-hero h1{font-size:clamp(72px,10vw,164px);letter-spacing:-.065em;line-height:.86;margin:24px 0 30px}.page-hero p{max-width:900px;font-size:clamp(21px,2.6vw,38px);line-height:1.2;letter-spacing:-.025em;color:var(--muted)}.service-intro{padding-top:20px}.service-intro h2{font-size:clamp(40px,5vw,78px);line-height:1;letter-spacing:-.05em;max-width:1150px}.service-row{max-width:var(--max);padding:30px 28px 90px;margin:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.service-row.reverse{grid-template-columns:.85fr 1.15fr}.service-row.reverse .service-image{order:2}.service-image img{width:100%;height:600px;object-fit:cover;border-radius:20px}.service-copy span,.process-card span{font-size:12px;letter-spacing:.14em;color:var(--muted)}.service-copy h3{font-size:clamp(42px,5vw,75px);line-height:.98;letter-spacing:-.05em;margin:16px 0 24px}.service-copy p{font-size:19px;color:var(--muted);max-width:550px}.moq{background:var(--panel);border-radius:28px;margin-bottom:110px;padding:70px}.moq h2{font-size:clamp(46px,6vw,84px);line-height:1;margin:0 0 25px;letter-spacing:-.05em}.moq p,.moq li{font-size:18px;color:var(--muted)}.moq ul{max-width:850px;margin:25px 0 35px}.article-wrap{max-width:980px;margin:auto;padding:190px 28px 120px}.article-wrap>h1,.single-post h1{font-size:clamp(58px,8vw,110px);line-height:.92;letter-spacing:-.055em}.article-wrap h2{font-size:clamp(42px,5vw,68px);line-height:1.02;letter-spacing:-.04em}.article-wrap h3{font-size:30px;margin-top:55px}.article-wrap p,.post-content{font-size:18px;color:var(--muted)}.article-wrap img{width:100%;border-radius:20px;margin:50px 0}.article-wrap blockquote{font-size:clamp(42px,6vw,82px);line-height:1.03;letter-spacing:-.04em;margin:80px 0 0}.article-wrap small{font-size:18px;color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:20px}.catalog-card{position:relative;overflow:hidden;border-radius:20px;background:var(--panel)}.catalog-card img{width:100%;height:650px;object-fit:cover;transition:transform .55s}.catalog-card:hover img{transform:scale(1.03)}.catalog-card h2{position:absolute;left:30px;bottom:18px;color:#fff;font-size:clamp(34px,4vw,62px);letter-spacing:-.04em;text-shadow:0 2px 16px rgba(0,0,0,.4)}.process-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding-top:20px}.process-card{background:var(--panel);border-radius:20px;padding:14px}.process-card img{width:100%;height:480px;object-fit:cover;border-radius:14px}.process-card span{display:block;margin:20px 10px 4px}.process-card h2{font-size:42px;letter-spacing:-.04em;margin:0 10px 18px}.product-links{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:20px}.product-links>a{min-height:480px;background:var(--panel);border-radius:22px;padding:45px;display:flex;flex-direction:column;justify-content:flex-end;transition:.3s}.product-links>a:hover{transform:translateY(-4px)}.product-links h2{font-size:64px;letter-spacing:-.05em;margin:0 0 15px}.product-links p{font-size:19px;color:var(--muted);max-width:480px}.product-links span{font-weight:600}.tech-page{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center;padding-top:20px}.tech-page h2{font-size:clamp(45px,5vw,78px);line-height:.98;letter-spacing:-.05em}.tech-page p{font-size:19px;color:var(--muted)}.tech-page img{width:100%;height:650px;object-fit:cover;border-radius:20px}.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding-top:20px}.blog-card{background:var(--panel);border-radius:20px;overflow:hidden}.blog-card img{width:100%;height:410px;object-fit:cover}.blog-card div{padding:28px}.blog-card time{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.blog-card h2{font-size:38px;letter-spacing:-.04em;line-height:1.05;margin:12px 0}.blog-card p{color:var(--muted)}.post-meta{color:var(--muted);font-size:13px}.site-footer{background:#0d0d0d;color:#eee;padding:80px 28px 30px}.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:50px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-logo{width:130px;filter:invert(1) grayscale(1) brightness(4)}.footer-grid p{color:#a6a6a6;max-width:400px}.footer-grid h3{font-size:16px;margin:0 0 15px}.footer-grid a{color:#aaa}.footer-grid a:hover{color:#fff}.footer-bottom{max-width:var(--max);margin:65px auto 0;border-top:1px solid #333;padding-top:22px;color:#666;font-size:13px}.zalo-float{position:fixed;right:22px;bottom:22px;width:54px;height:54px;border-radius:50%;background:#fff;padding:10px;box-shadow:0 8px 28px rgba(0,0,0,.18);z-index:900}.zalo-float img{width:100%;height:100%}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:980px){.site-header{padding:12px}.nav-wrap{min-height:58px}.brand img{width:100px}.mobile-toggle{display:block;margin-left:auto}.main-nav{display:none;position:absolute;top:72px;left:12px;right:12px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;flex-direction:column;align-items:stretch;gap:5px;box-shadow:0 25px 60px rgba(0,0,0,.15)}.main-nav.open{display:flex}.main-nav>a,.nav-drop>a{display:block;padding:12px}.drop-menu{position:static;display:grid;box-shadow:none;border:0;padding:0 0 8px 20px;background:transparent;gap:0}.nav-drop:hover .drop-menu{display:grid}.drop-menu a{padding:7px 10px;color:var(--muted)}.lang{display:none}.hero{min-height:620px}.feature-grid{grid-template-columns:1fr 1fr}.feature-grid img:first-child{grid-column:1/-1}.feature-grid img,.feature-grid img:nth-child(2),.feature-grid img:nth-child(3){height:380px}.client-grid{grid-template-columns:repeat(3,1fr)}.service-row,.service-row.reverse,.tech-page{grid-template-columns:1fr;gap:30px}.service-row.reverse .service-image{order:0}.service-image img,.tech-page img{height:500px}.footer-grid{grid-template-columns:1fr 1fr}.catalog-card img{height:500px}}
@media(max-width:640px){.section{padding:75px 18px}.page-hero{padding:145px 18px 60px}.hero{height:90vh;min-height:620px}.hero-copy h1{font-size:58px;max-width:350px}.hero-copy p{font-size:16px}.feature-grid{grid-template-columns:1fr}.feature-grid img:first-child{grid-column:auto}.feature-grid img,.feature-grid img:nth-child(2),.feature-grid img:nth-child(3){height:300px}.gallery-track img{width:280px;height:210px}.intro-copy p{font-size:32px}.client-grid{grid-template-columns:1fr 1fr}.service-row{padding:20px 18px 65px}.service-image img,.tech-page img{height:360px}.moq{margin:0 18px 75px;padding:35px 24px}.catalog-grid,.process-grid,.product-links,.blog-grid{grid-template-columns:1fr}.catalog-card img{height:430px}.process-card img{height:340px}.product-links>a{min-height:330px;padding:28px}.product-links h2{font-size:48px}.blog-card img{height:300px}.article-wrap{padding:145px 18px 80px}.footer-grid{grid-template-columns:1fr}.site-footer{padding:65px 18px 24px}.zalo-float{right:15px;bottom:15px}}
/* ===== Homepage V3: closer to VienaFactory editorial proportions ===== */
.home-brand-strip{min-height:180px;display:flex;align-items:center;justify-content:center;padding:54px 28px 44px;background:var(--bg)}
.home-brand-strip img{width:min(78vw,1120px);height:auto;max-height:96px;object-fit:contain;opacity:.98}
.home-shell{width:min(100% - 56px,var(--max));margin-inline:auto}
.home-about-v3{padding:72px 0 68px;background:var(--bg)}
.home-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:42px}
.home-title-row h2{font-size:clamp(54px,7.1vw,106px);line-height:.88;letter-spacing:-.066em;font-weight:600;margin:0}
.home-title-row a{font-size:15px;font-weight:600;white-space:nowrap;margin-bottom:8px}
.home-title-row a span{display:inline-block;margin-left:4px;transition:transform .25s ease}.home-title-row a:hover span{transform:translate(3px,-3px)}
.about-editorial{display:grid;grid-template-columns:1.32fr .84fr .84fr;gap:12px;align-items:end}
.about-tile{margin:0;overflow:hidden;border-radius:0;background:#ddd}
.about-tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.25,1)}
.about-tile:hover img{transform:scale(1.025)}
.about-tile-a{height:clamp(460px,51vw,730px)}
.about-tile-b,.about-tile-c{height:clamp(350px,39vw,565px)}
.factory-filmstrip{overflow:hidden;background:var(--bg);padding:8px 0 76px}
.factory-filmstrip-track{display:flex;align-items:center;gap:8px;width:max-content;animation:viena-filmstrip 82s linear infinite;will-change:transform}
.factory-filmstrip:hover .factory-filmstrip-track{animation-play-state:paused}
.factory-filmstrip figure{margin:0;width:clamp(240px,24vw,410px);height:clamp(170px,17vw,290px);overflow:hidden;flex:0 0 auto}
.factory-filmstrip figure:nth-child(4n+1){width:clamp(290px,31vw,520px)}
.factory-filmstrip img{width:100%;height:100%;object-fit:cover}
@keyframes viena-filmstrip{to{transform:translateX(-50%)}}
.home-statement{padding:118px 0 142px;background:var(--bg)}
.home-statement .home-shell{max-width:1290px}
.home-statement p{margin:0;font-size:clamp(34px,4.65vw,72px);line-height:1.04;letter-spacing:-.049em;font-weight:500;max-width:1280px}
.home-clients-v3{padding:4px 0 132px;background:var(--bg)}
.home-clients-v3 .home-title-row{margin-bottom:54px}
.client-ribbon{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.client-ribbon figure{margin:0;aspect-ratio:1/1;overflow:hidden;background:#fff;border-radius:0;display:grid;place-items:center}
.client-ribbon img{width:100%;height:100%;object-fit:cover;filter:none;transition:transform .5s ease}
.client-ribbon figure:hover img{transform:scale(1.02)}
@media(max-width:980px){.home-brand-strip{min-height:145px;padding-top:40px}.home-shell{width:min(100% - 32px,var(--max))}.home-about-v3{padding:58px 0 54px}.about-editorial{grid-template-columns:1fr 1fr}.about-tile-a{grid-column:1/-1;height:62vw}.about-tile-b,.about-tile-c{height:46vw}.home-statement{padding:88px 0 105px}.client-ribbon{grid-template-columns:repeat(4,1fr)}.client-ribbon figure:last-child{grid-column:2/3}}
@media(max-width:640px){.home-brand-strip{min-height:110px;padding:34px 18px 24px}.home-brand-strip img{width:86vw;max-height:62px}.home-about-v3{padding:50px 0 45px}.home-title-row{margin-bottom:28px;align-items:center}.home-title-row h2{font-size:52px}.home-title-row a{font-size:13px;margin-bottom:0}.about-editorial{grid-template-columns:1fr;gap:7px}.about-tile-a,.about-tile-b,.about-tile-c{grid-column:auto;height:78vw}.factory-filmstrip{padding:2px 0 52px}.factory-filmstrip-track{gap:6px}.factory-filmstrip figure,.factory-filmstrip figure:nth-child(4n+1){width:72vw;height:50vw}.home-statement{padding:70px 0 86px}.home-statement p{font-size:32px;line-height:1.08}.home-clients-v3{padding-bottom:84px}.home-clients-v3 .home-title-row{margin-bottom:30px}.client-ribbon{grid-template-columns:repeat(2,1fr);gap:6px}.client-ribbon figure:last-child{grid-column:auto}}

/* Elementor editable layouts — v4 */
.elementor .viena-el-section{padding:clamp(64px,8vw,128px) clamp(20px,5vw,80px)}
.elementor .viena-el-hero{min-height:82vh;display:flex;justify-content:flex-end;padding:clamp(28px,6vw,90px);background-size:cover;background-position:center;color:#fff;position:relative}
.elementor .viena-el-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.48));pointer-events:none}
.elementor .viena-el-hero>.e-con-inner,.elementor .viena-el-hero>.elementor-element{position:relative;z-index:1}
.elementor .viena-el-hero-title .elementor-heading-title{font-size:clamp(48px,8vw,118px);line-height:.92;letter-spacing:-.055em;color:#fff}
.elementor .viena-el-hero-subtitle{font-size:clamp(18px,2vw,30px)}
.elementor .viena-el-brand-strip{padding:42px 5vw;display:flex;justify-content:center;align-items:center}
.elementor .viena-el-brand-logo img{width:min(340px,65vw)}
.elementor .viena-el-title-row{align-items:center;gap:24px;margin-bottom:44px}
.elementor .viena-el-about-grid{gap:18px;align-items:flex-end}
.elementor .viena-el-about-grid>.elementor-element{flex:1 1 28%;min-width:240px}
.elementor .viena-el-about-grid img{width:100%;height:clamp(320px,45vw,700px);object-fit:cover}
.elementor .viena-el-about-grid>.elementor-element:nth-child(1) img,.elementor .viena-el-about-grid>.elementor-element:nth-child(3) img{height:clamp(260px,36vw,560px)}
.elementor .viena-el-gallery{overflow-x:auto;gap:18px;padding:18px 0 30px;scrollbar-width:thin}
.elementor .viena-el-gallery>.elementor-element{flex:0 0 clamp(260px,34vw,560px)}
.elementor .viena-el-gallery img{width:100%;height:clamp(340px,46vw,690px);object-fit:cover}
.elementor .viena-el-statement-text{font-size:clamp(30px,5vw,72px);line-height:1.03;letter-spacing:-.04em;max-width:1400px}
.elementor .viena-el-client-grid{gap:12px}
.elementor .viena-el-client-grid>.elementor-element{flex:1 1 180px}
.elementor .viena-el-client-grid img{width:100%;aspect-ratio:1/1;object-fit:cover}
.elementor .viena-el-page-hero{padding:clamp(90px,13vw,190px) clamp(20px,6vw,90px) 70px;background:#f3f3f0}
.elementor .viena-el-page-hero .elementor-heading-title{font-size:clamp(54px,8vw,120px);letter-spacing:-.055em}
.elementor .viena-el-two-col{gap:clamp(30px,6vw,100px);align-items:center}
.elementor .viena-el-two-col>.elementor-element{flex:1 1 420px}
.elementor .viena-el-page-copy .elementor-heading-title{font-size:clamp(38px,5vw,72px);letter-spacing:-.04em}
.elementor .viena-el-page-image img{width:100%;min-height:460px;object-fit:cover}
@media(max-width:767px){.elementor .viena-el-hero{min-height:72vh}.elementor .viena-el-title-row{flex-direction:column!important;align-items:flex-start}.elementor .viena-el-about-grid>.elementor-element{flex-basis:100%}.elementor .viena-el-about-grid img,.elementor .viena-el-about-grid>.elementor-element:nth-child(1) img,.elementor .viena-el-about-grid>.elementor-element:nth-child(3) img{height:auto;aspect-ratio:4/5}.elementor .viena-el-statement-text{font-size:34px}.elementor .viena-el-page-image img{min-height:0;aspect-ratio:4/5}}

/* ===== Viena Factory V5 — international B2B conversion UI ===== */
.header-quote{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:999px;background:#111;color:#fff!important;font-size:12px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
body.dark .header-quote{background:#fff;color:#111!important}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:900;display:flex;align-items:center;justify-content:center;min-width:58px;height:58px;padding:0 18px;border-radius:999px;background:#25D366;color:#071b0d;font-size:13px;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.viena-v5-trust{max-width:var(--max);margin:auto;padding:22px 28px;border-bottom:1px solid var(--line);gap:0!important;justify-content:space-between}
.viena-v5-trust>.elementor-element{flex:1 1 180px;text-align:center;padding:12px 18px;border-right:1px solid var(--line)}
.viena-v5-trust>.elementor-element:last-child{border-right:0}.viena-trust-item .elementor-heading-title{font-size:13px;letter-spacing:.05em;text-transform:uppercase}
.viena-el-hero-actions{gap:12px!important}.viena-el-primary-cta a{background:#fff!important;color:#111!important;border-radius:999px!important;padding:16px 24px!important}.viena-el-secondary-cta a{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.7)!important;border-radius:999px!important;padding:15px 24px!important}
.viena-v5-capabilities .elementor-heading-title,.viena-v5-products>.elementor-element:first-child .elementor-heading-title,.viena-v5-process>.elementor-element:first-child .elementor-heading-title,.viena-v5-gallery>.elementor-element:first-child .elementor-heading-title,.viena-v5-quality .elementor-heading-title,.viena-v5-clients>.elementor-element:first-child .elementor-heading-title,.viena-v5-faq-section>.elementor-element:first-child .elementor-heading-title,.viena-v5-final-cta .elementor-heading-title{font-size:clamp(44px,6vw,88px);line-height:.95;letter-spacing:-.055em}
.viena-cap-grid{gap:10px!important;margin-top:44px}.viena-cap-card{flex:1 1 280px!important;min-height:260px;padding:28px;border:1px solid var(--line);justify-content:space-between}.viena-cap-card span,.viena-process-step span{font-size:12px;color:var(--muted);letter-spacing:.12em}.viena-cap-card .elementor-heading-title{font-size:28px!important;letter-spacing:-.03em!important}
.viena-v5-about{background:#111;color:#fff}.viena-v5-about .elementor-heading-title{color:#fff;font-size:clamp(50px,7vw,104px);letter-spacing:-.06em}.viena-v5-about p{max-width:900px;font-size:clamp(20px,2.2vw,34px);color:#c9c9c9}
.viena-product-grid{gap:12px!important;margin-top:42px}.viena-product-card{flex:1 1 300px!important}.viena-product-card img{width:100%;aspect-ratio:4/5;object-fit:cover}.viena-product-card .elementor-heading-title{font-size:28px;margin-top:14px}
.viena-process-grid{gap:0!important;margin-top:46px;border-top:1px solid var(--line)}.viena-process-step{flex:1 1 280px!important;min-height:180px;padding:25px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.viena-process-step .elementor-heading-title{font-size:24px!important;margin-top:34px}
.viena-v5-gallery-grid{gap:10px!important;margin-top:42px;align-items:flex-end}.viena-v5-gallery-grid>.elementor-element{flex:1 1 260px}.viena-v5-gallery-grid img{width:100%;height:520px;object-fit:cover}.viena-v5-gallery-grid>.elementor-element:nth-child(even) img{height:390px}
.viena-v5-quality{background:#e9e9e4}.viena-v5-quality p{max-width:900px;font-size:clamp(20px,2.2vw,34px)}
.viena-faq{margin-top:36px;border-top:1px solid var(--line)}.viena-faq details{border-bottom:1px solid var(--line)}.viena-faq summary{list-style:none;cursor:pointer;padding:26px 0;display:flex;justify-content:space-between;gap:24px;font-size:clamp(19px,2vw,28px);font-weight:600}.viena-faq summary::-webkit-details-marker{display:none}.viena-faq summary span{font-size:28px;font-weight:400}.viena-faq details[open] summary span{transform:rotate(45deg)}.faq-answer{max-width:850px;padding:0 0 28px;color:var(--muted);font-size:17px}
.viena-v5-final-cta{text-align:center;align-items:center!important;background:#111;color:#fff}.viena-v5-final-cta .elementor-heading-title{color:#fff;max-width:1100px}.viena-v5-final-cta p{font-size:clamp(18px,2vw,28px);color:#bbb;max-width:800px}.viena-el-whatsapp-cta a{background:#25D366!important;color:#071b0d!important;border-radius:999px!important;padding:16px 24px!important}
.viena-quote-wrap{max-width:1100px;margin:auto}.viena-quote-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.q-field{display:grid;gap:8px}.q-wide{grid-column:1/-1}.q-field label{font-size:13px;font-weight:700}.q-field input,.q-field select,.q-field textarea{width:100%;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:15px 14px;font:inherit}.q-field textarea{resize:vertical}.quote-submit{border:0;background:#111;color:#fff;border-radius:999px;padding:17px 26px;font-weight:800;cursor:pointer}.quote-notice{padding:16px 18px;margin-bottom:24px;border-radius:8px}.quote-notice.success{background:#e4f6e9}.quote-notice.error{background:#f9e4e4}
@media(max-width:1100px){.header-quote{display:none}}
@media(max-width:767px){.viena-v5-trust{padding-inline:16px}.viena-v5-trust>.elementor-element{flex-basis:50%;border-right:0;border-bottom:1px solid var(--line)}.viena-v5-gallery-grid img,.viena-v5-gallery-grid>.elementor-element:nth-child(even) img{height:auto;aspect-ratio:4/5}.viena-quote-form{grid-template-columns:1fr}.q-wide{grid-column:auto}.whatsapp-float{right:15px;bottom:15px;height:52px;min-width:52px;padding:0 14px}}

/* ===== V5.1 Elementor coexistence hotfix =====
   Keep the existing PHP-rendered site visually identical when Elementor is merely active.
*/
body:not(.elementor-page) .about-editorial{
  display:grid!important;
  grid-template-columns:1.32fr .84fr .84fr!important;
  gap:12px!important;
  align-items:end!important;
}
body:not(.elementor-page) .about-tile{
  margin:0!important;
  overflow:hidden!important;
  padding:0!important;
}
body:not(.elementor-page) .about-tile img,
body:not(.elementor-page) .factory-filmstrip figure img,
body:not(.elementor-page) .client-ribbon figure img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
}
body:not(.elementor-page) .factory-filmstrip figure,
body:not(.elementor-page) .client-ribbon figure{
  margin:0!important;
  padding:0!important;
}
body:not(.elementor-page) .home-shell{
  width:min(100% - 56px,var(--max))!important;
  max-width:var(--max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:980px){
  body:not(.elementor-page) .about-editorial{grid-template-columns:1fr 1fr!important}
  body:not(.elementor-page) .home-shell{width:min(100% - 32px,var(--max))!important}
}
@media(max-width:640px){
  body:not(.elementor-page) .about-editorial{grid-template-columns:1fr!important}
}

/* ===== V5.3 Elementor-safe layout reset ===== */
.home-shell{width:min(calc(100% - 56px),var(--max));max-width:var(--max);margin-left:auto;margin-right:auto}
.hero.network-hero{min-height:88vh}.network-hero .hero-copy{max-width:1050px}
.network-hero .hero-copy h1{font-size:clamp(54px,8vw,128px);line-height:.88;letter-spacing:-.065em}
.network-hero .hero-copy p{max-width:760px;font-size:clamp(18px,2vw,27px)}
.hero-cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.btn-outline-light{display:inline-flex;padding:13px 20px;border:1px solid rgba(255,255,255,.72);border-radius:999px;color:#fff}
.btn-dark{display:inline-flex;padding:14px 22px;background:#111;color:#fff;border-radius:999px}
.network-trust{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line)}
.network-trust span{padding:24px 12px;text-align:center;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.06em;border-right:1px solid var(--line)}
.network-trust span:last-child{border-right:0}
.network-intro h2,.network-categories h2,.network-process h2,.network-gallery h2,.network-moq h2,.network-faq h2,.network-final h2{font-size:clamp(48px,7vw,102px);line-height:.94;letter-spacing:-.06em;margin:0 0 28px}
.eyebrow{font-size:12px!important;text-transform:uppercase;letter-spacing:.14em;font-weight:800}
.lead{font-size:clamp(19px,2vw,30px);line-height:1.28;max-width:980px;color:var(--muted)}
.network-card-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin-top:42px}
.network-card{min-height:270px;border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;justify-content:space-between}
.network-card h3{font-size:28px;line-height:1.02;letter-spacing:-.03em}
.network-card p{color:var(--muted)}
.process-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;border-top:1px solid var(--line);margin-top:40px}
.process-card{min-height:170px;padding:24px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.process-card h3{font-size:23px;margin-top:36px;letter-spacing:-.025em}
.network-gallery-grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:10px!important;align-items:end;margin-top:36px}
.network-gallery-grid figure{margin:0!important;padding:0!important;overflow:hidden!important}
.network-gallery-grid figure:nth-child(1){grid-column:span 5}.network-gallery-grid figure:nth-child(2){grid-column:span 3}.network-gallery-grid figure:nth-child(3){grid-column:span 4}.network-gallery-grid figure:nth-child(4){grid-column:span 7}.network-gallery-grid figure:nth-child(5){grid-column:span 5}
.network-gallery-grid img{display:block!important;width:100%!important;max-width:none!important;height:520px!important;object-fit:cover!important}
.network-gallery-grid figure:nth-child(2) img,.network-gallery-grid figure:nth-child(5) img{height:390px!important}
.network-moq{background:#e9e9e4}.network-final{background:#111;color:#fff}.network-final .home-shell{max-width:1100px;text-align:center}.network-final h2{color:#fff}.network-final p{color:#bbb;font-size:clamp(19px,2vw,28px);max-width:800px;margin:0 auto 28px}.network-final .hero-cta-row{justify-content:center}.whatsapp-button{display:inline-flex;padding:14px 22px;background:#25D366;color:#071b0d;border-radius:999px;font-weight:800}
img{height:auto}
.elementor img{max-width:100%}
@media(max-width:980px){
 .home-shell{width:min(calc(100% - 32px),var(--max))}
 .network-trust{grid-template-columns:repeat(2,1fr)}
 .network-card-grid,.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .network-gallery-grid{grid-template-columns:1fr 1fr!important}
 .network-gallery-grid figure{grid-column:auto!important}
 .network-gallery-grid img,.network-gallery-grid figure:nth-child(2) img,.network-gallery-grid figure:nth-child(5) img{height:auto!important;aspect-ratio:4/5}
}
@media(max-width:640px){
 .network-card-grid,.process-grid,.network-gallery-grid{grid-template-columns:1fr!important}
 .network-trust{grid-template-columns:1fr}
 .network-trust span{border-right:0;border-bottom:1px solid var(--line)}
 .network-hero .hero-copy h1{font-size:52px}
}

/* ===== V5.4 content + SEO page styling ===== */
.viena-el-page-hero{padding:150px max(28px,calc((100vw - var(--max))/2)) 88px!important;background:#111;color:#fff}
.viena-el-page-hero h1{font-size:clamp(54px,7vw,108px)!important;line-height:.92!important;letter-spacing:-.055em!important;max-width:1100px;margin:0 0 28px!important}
.viena-el-page-hero p{font-size:clamp(18px,1.8vw,27px);line-height:1.35;max-width:880px;color:#c7c7c7}
.viena-el-page-hero .elementor-button{margin-top:18px}
.viena-v54-detail-grid,.viena-v54-info,.viena-v54-contact{padding-top:84px!important;padding-bottom:84px!important}
.viena-v54-detail-grid h2,.viena-v54-info h2,.viena-v54-contact h2,.viena-v5-quote-page h2{font-size:clamp(42px,5vw,78px)!important;letter-spacing:-.045em!important;line-height:.96!important}
.viena-v54-info{background:#efefe9}.viena-v54-contact{background:#111;color:#fff}.viena-v54-contact p{color:#bbb}
.viena-v54-detail-grid .viena-cap-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.viena-v54-detail-grid .viena-cap-card{min-height:250px;border:1px solid var(--line);padding:26px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important}
.viena-v54-detail-grid .viena-cap-card h3{font-size:26px!important;line-height:1.04!important}
.viena-v54-detail-grid .viena-cap-card p{color:var(--muted)}
.viena-v5-quote-page{max-width:1180px!important;margin:0 auto!important}
.viena-quote-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.q-field{display:flex;flex-direction:column;gap:8px}.q-wide{grid-column:1/-1}
.q-field label{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.q-field input,.q-field select,.q-field textarea{width:100%;border:1px solid #cfcfc9;background:#fff;padding:14px 15px;font:inherit;border-radius:0}
.q-field input[type=file]{padding:18px;background:#f5f5f1}
.q-field small{color:var(--muted);line-height:1.4}
.quote-submit{border:0;background:#111;color:#fff;padding:16px 24px;font-weight:800;cursor:pointer}
.quote-notice{padding:16px 18px;margin-bottom:22px}.quote-notice.success{background:#e7f7eb}.quote-notice.error{background:#fdeaea}
@media(max-width:900px){.viena-v54-detail-grid .viena-cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.viena-v54-detail-grid .viena-cap-grid,.viena-quote-form{grid-template-columns:1fr!important}.q-wide{grid-column:auto}.viena-el-page-hero{padding:120px 20px 64px!important}}

/* ===== V5.5 Homepage visual system ===== */
.v55-hero{position:relative;min-height:92vh;color:#fff;overflow:hidden;display:flex;align-items:flex-end}
.v55-hero-media{position:absolute;inset:0;background:url("https://vienafactory.com/_next/static/media/hero.36cfbc55.png") center 42%/cover no-repeat;transform:scale(1.03);animation:v55HeroZoom 14s ease-out both}
.v55-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.18) 35%,rgba(0,0,0,.72))}
.v55-hero-inner{position:relative;z-index:2;padding-bottom:70px}
.v55-hero h1{max-width:1180px;font-size:clamp(62px,9vw,150px);line-height:.84;letter-spacing:-.075em;margin:0 0 28px}
.v55-hero-lead{font-size:clamp(18px,2vw,28px);max-width:820px;line-height:1.3;color:#eee}
.eyebrow.light{color:#fff}.v55-scroll{position:absolute;right:26px;bottom:26px;z-index:3;font-size:11px;letter-spacing:.14em;writing-mode:vertical-rl}
@keyframes v55HeroZoom{from{transform:scale(1.12)}to{transform:scale(1.03)}}
.v55-marquee{overflow:hidden;border-bottom:1px solid var(--line);background:#fff}
.v55-marquee-track{display:flex;width:max-content;gap:28px;align-items:center;padding:18px 0;animation:v55Marquee 28s linear infinite}
.v55-marquee span{font-weight:800;font-size:13px;letter-spacing:.07em;white-space:nowrap}.v55-marquee i{font-style:normal}
@keyframes v55Marquee{to{transform:translateX(-50%)}}
.v55-split{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start}
.v55-split h2,.v55-heading-row h2,.v55-feature-overlay h2,.v55-final h2{font-size:clamp(52px,7vw,104px);line-height:.9;letter-spacing:-.06em;margin:0}
.text-link{display:inline-block;margin-top:26px;border-bottom:1px solid;padding-bottom:4px;font-weight:700}
.v55-collage-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:auto auto;gap:14px;align-items:start}
.v55-collage-grid figure{margin:0;overflow:hidden}.v55-collage-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.v55-collage-grid figure:hover img,.v55-product-card:hover img{transform:scale(1.045)}
.v55-collage-grid .tall{grid-row:span 2;height:760px}.v55-collage-grid figure:not(.tall){height:360px}
.v55-collage-copy{padding:44px 20px 28px}.v55-collage-copy h3{font-size:clamp(30px,4vw,58px);line-height:.98;letter-spacing:-.045em}
.v55-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px}
.v55-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.v55-product-card{display:block;border-top:1px solid var(--line);padding-top:10px}.v55-card-img{aspect-ratio:4/5;overflow:hidden;background:#eee}
.v55-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.v55-card-meta{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:10px;padding:18px 0}.v55-card-meta h3{font-size:24px;margin:0;letter-spacing:-.03em}
.v55-process{background:#efefe9}.v55-process-list{border-top:1px solid #c8c8c1}
.v55-process-row{display:grid;grid-template-columns:70px 1fr 1.1fr 30px;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid #c8c8c1}
.v55-process-row h3{font-size:30px;margin:0;letter-spacing:-.035em}.v55-process-row p{color:var(--muted);margin:0}
.v55-feature-image{position:relative;min-height:82vh;overflow:hidden;color:#fff}.v55-feature-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v55-feature-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.08))}
.v55-feature-overlay{position:relative;z-index:2;padding-top:100px;padding-bottom:100px}.v55-feature-overlay h2{max-width:850px}.v55-feature-overlay p{max-width:650px;font-size:21px;color:#eee}
.v55-cap-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.v55-cap{display:grid;grid-template-columns:55px 1fr auto;gap:15px;align-items:center;padding:30px 12px;border-bottom:1px solid var(--line)}.v55-cap:nth-child(odd){border-right:1px solid var(--line)}
.v55-cap h3{font-size:30px;margin:0;letter-spacing:-.035em}.v55-cap:hover{padding-left:24px;transition:.25s ease}
.v55-final{background:#111;color:#fff}.v55-final .home-shell{max-width:1050px;text-align:center}.v55-final p:not(.eyebrow){font-size:clamp(18px,2vw,26px);color:#bbb;max-width:760px;margin:25px auto}.v55-final .hero-cta-row{justify-content:center}
.v55-wa{display:inline-flex;padding:14px 22px;border-radius:999px;background:#25D366;color:#071b0d;font-weight:800}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.in-view{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.v55-marquee-track,.v55-hero-media{animation:none}}
@media(max-width:980px){.v55-split,.v55-product-grid{grid-template-columns:1fr 1fr}.v55-collage-grid{grid-template-columns:1fr}.v55-collage-grid .tall{grid-row:auto;height:520px}.v55-process-row{grid-template-columns:50px 1fr}.v55-process-row p{grid-column:2}.v55-process-row b{display:none}}
@media(max-width:640px){.v55-hero{min-height:82vh}.v55-hero h1{font-size:54px}.v55-split,.v55-product-grid,.v55-cap-grid{grid-template-columns:1fr}.v55-heading-row{align-items:flex-start;flex-direction:column}.v55-collage-grid .tall,.v55-collage-grid figure:not(.tall){height:auto;aspect-ratio:4/5}.v55-cap:nth-child(odd){border-right:0}.v55-feature-image{min-height:700px}}

/* =========================================================
   VIENA V6 — PREMIUM EDITORIAL B2B HOMEPAGE
   ========================================================= */
.v6-home{--v6-black:#111;--v6-cream:#f3f1ea;--v6-soft:#e8e6de;--v6-gray:#777;overflow:hidden}
.v6-section{padding:110px 0}
.v6-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px}
.v6-kicker.light{color:#f5f5f0}.v6-kicker.dark{color:#242424}
.v6-home h2{font-size:clamp(52px,6vw,96px);line-height:.9;letter-spacing:-.06em;margin:0}
.v6-home em{font-family:Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.04em}
.v6-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.02em;transition:.28s ease}
.v6-btn:hover{transform:translateY(-2px)}
.v6-btn-dark{background:#111;color:#fff}.v6-btn-dark:hover{background:#2b2b2b}
.v6-btn-light{background:#f5f5f0;color:#111}.v6-btn-light:hover{background:#fff}
.v6-btn-ghost{border:1px solid rgba(255,255,255,.72);color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(8px)}
.v6-btn-wa{background:#25D366;color:#071b0d}
.v6-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.v6-actions.center{justify-content:center}
.v6-text-link{display:inline-flex;gap:12px;align-items:center;border-bottom:1px solid #111;padding-bottom:5px;font-weight:800;margin-top:25px}
.v6-text-link span{transition:.25s ease}.v6-text-link:hover span{transform:translate(3px,-3px)}

.v6-hero{min-height:94vh;position:relative;color:#fff;display:flex;align-items:flex-end}
.v6-hero-bg{position:absolute;inset:0;background:url("https://vienafactory.com/assets/images/about_us/viena-factory-gia-cong-manufaturing.webp") center/cover no-repeat;transform:scale(1.07);animation:v6Hero 12s cubic-bezier(.18,.7,.2,1) both}
.v6-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.12) 30%,rgba(0,0,0,.74) 100%)}
.v6-hero-wrap{position:relative;z-index:2;padding-bottom:62px;display:grid;grid-template-columns:1fr 320px;gap:50px;align-items:end}
.v6-hero h1{font-size:clamp(62px,8.2vw,138px);line-height:.83;letter-spacing:-.075em;max-width:1200px;margin:0}
.v6-lead{font-size:clamp(18px,1.8vw,26px);line-height:1.35;max-width:790px;color:#eee;margin:24px 0 0}
.v6-hero-stats{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.35)}
.v6-hero-stats div{display:grid;grid-template-columns:80px 1fr;gap:14px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.25)}
.v6-hero-stats strong{font-size:26px}.v6-hero-stats span{font-size:12px;line-height:1.35;color:#ddd;text-transform:uppercase;letter-spacing:.05em}
.v6-scroll-cue{position:absolute;right:22px;bottom:30px;z-index:3;font-size:10px;letter-spacing:.14em;writing-mode:vertical-rl}
@keyframes v6Hero{from{transform:scale(1.14)}to{transform:scale(1.07)}}

.v6-ticker{overflow:hidden;background:#111;color:#fff;border-top:1px solid #222;border-bottom:1px solid #222}
.v6-ticker-track{display:flex;align-items:center;gap:24px;width:max-content;padding:16px 0;animation:v6Ticker 32s linear infinite}
.v6-ticker span{font-size:13px;font-weight:800;letter-spacing:.08em;white-space:nowrap}.v6-ticker i{font-style:normal;color:#777}
@keyframes v6Ticker{to{transform:translateX(-50%)}}

.v6-intro{background:var(--v6-cream)}
.v6-two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:90px}
.v6-intro-copy{padding-top:24px}.v6-intro-copy p{font-size:clamp(20px,2.2vw,32px);line-height:1.24;margin:0 0 24px;color:#383838}

.v6-collage{background:var(--v6-cream);padding-top:30px}
.v6-collage-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:360px 360px;gap:14px}
.v6-img-card{position:relative;overflow:hidden;margin:0;background:#ddd}
.v6-img-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .8s cubic-bezier(.18,.7,.2,1)}
.v6-img-card:hover img{transform:scale(1.045)}
.v6-img-card figcaption{position:absolute;left:18px;bottom:18px;background:rgba(250,250,245,.92);backdrop-filter:blur(8px);padding:10px 13px;font-size:12px;font-weight:800;letter-spacing:.03em}
.v6-img-card figcaption span{color:#777;margin-right:12px}
.v6-img-a{grid-row:1/3}.v6-img-b{grid-column:2}.v6-img-c{grid-column:2}
.v6-collage-quote{position:absolute;z-index:3;max-width:440px;background:#111;color:#fff;padding:34px;left:50%;transform:translateX(-10%);margin-top:280px;box-shadow:0 30px 80px rgba(0,0,0,.22)}
.v6-collage-quote blockquote{font-family:Georgia,serif;font-size:clamp(28px,3vw,44px);line-height:1.05;margin:0;font-style:italic}

.v6-products{background:#fff}
.v6-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:44px}
.v6-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.v6-product-card{display:block}
.v6-product-img{aspect-ratio:4/5;overflow:hidden;background:#eee}
.v6-product-img img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .8s cubic-bezier(.18,.7,.2,1)}
.v6-product-card:hover .v6-product-img img{transform:scale(1.055)}
.v6-product-meta{display:grid;grid-template-columns:38px 1fr auto;gap:12px;padding:17px 0 28px;border-bottom:1px solid #d9d9d2}
.v6-product-meta span{font-size:11px;color:#777}.v6-product-meta h3{font-size:25px;line-height:1.05;margin:0 0 8px;letter-spacing:-.035em}.v6-product-meta p{margin:0;color:#777;font-size:14px;line-height:1.45}
.v6-product-meta b{font-size:20px;transition:.25s}.v6-product-card:hover b{transform:translate(3px,-3px)}

.v6-process{background:#111;color:#fff}
.v6-process-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:85px;align-items:start}
.v6-process-sticky{position:sticky;top:110px}
.v6-process-sticky h2{font-size:clamp(58px,6vw,100px)}.v6-process-sticky>p:not(.v6-kicker){font-size:19px;color:#aaa;max-width:440px;line-height:1.45;margin:24px 0}
.v6-process-rows{border-top:1px solid #343434}
.v6-process-row{display:grid;grid-template-columns:70px 1fr 70px;gap:24px;padding:34px 0;border-bottom:1px solid #343434;align-items:start;transition:.3s ease}
.v6-process-row:hover{padding-left:15px;background:linear-gradient(90deg,rgba(255,255,255,.04),transparent)}
.v6-step-no{font-size:12px;color:#777;padding-top:7px}
.v6-step-main h3{font-size:clamp(28px,3vw,44px);letter-spacing:-.04em;margin:0 0 12px}.v6-step-main p{margin:0;color:#aaa;font-size:16px;line-height:1.5;max-width:650px}
.v6-step-icon{width:54px;height:54px;border:1px solid #444;border-radius:50%;display:grid;place-items:center;font-size:20px}

.v6-feature{min-height:86vh;position:relative;display:flex;align-items:center;color:#fff}
.v6-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v6-feature-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.14) 70%)}
.v6-feature-copy{position:relative;z-index:2}
.v6-feature h2{font-size:clamp(62px,8vw,130px);max-width:950px}.v6-feature p{font-size:20px;line-height:1.45;color:#eee;max-width:650px}

.v6-capabilities{background:var(--v6-cream)}
.v6-cap-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #c9c7bf}
.v6-cap{display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:15px;padding:31px 14px;border-bottom:1px solid #c9c7bf;transition:.3s ease}
.v6-cap:nth-child(odd){border-right:1px solid #c9c7bf}.v6-cap:hover{background:#111;color:#fff;padding-left:25px}
.v6-cap span{font-size:11px;color:#777}.v6-cap h3{font-size:clamp(25px,3vw,40px);letter-spacing:-.035em;margin:0}.v6-cap b{font-size:20px}

.v6-proof{background:#fff}
.v6-proof-grid{display:grid;grid-template-columns:1fr .75fr .75fr;gap:14px;align-items:stretch}
.v6-proof-text{padding:24px 45px 24px 0;display:flex;flex-direction:column;justify-content:center}.v6-proof-text h2{font-size:clamp(48px,5vw,80px)}.v6-proof-text>p:not(.v6-kicker){font-size:19px;line-height:1.5;color:#666;max-width:560px}
.v6-proof figure{margin:0;overflow:hidden;min-height:560px}.v6-proof img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.v6-proof figure:hover img{transform:scale(1.04)}

.v6-faq{background:var(--v6-cream)}
.v6-faq .viena-faq details{border-top:1px solid #c7c5bd;background:transparent}.v6-faq .viena-faq details:last-child{border-bottom:1px solid #c7c5bd}
.v6-faq .viena-faq summary{font-size:clamp(20px,2.2vw,30px);padding:24px 0}.v6-faq .faq-answer{padding:0 0 24px;color:#666;max-width:850px}

.v6-final{background:#111;color:#fff;padding:120px 0}.v6-final-inner{text-align:center;max-width:1050px}
.v6-final h2{font-size:clamp(66px,8vw,126px)}.v6-final-inner>p:not(.v6-kicker){font-size:clamp(18px,2vw,26px);color:#aaa;max-width:780px;margin:28px auto 0;line-height:1.4}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .85s ease,transform .85s cubic-bezier(.18,.7,.2,1)}
.reveal.in-view{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}

@media(max-width:1100px){
  .v6-hero-wrap{grid-template-columns:1fr}.v6-hero-stats{display:none}
  .v6-two-col{gap:45px}
  .v6-process-layout{grid-template-columns:1fr}.v6-process-sticky{position:static}
  .v6-proof-grid{grid-template-columns:1fr 1fr}.v6-proof-text{grid-column:1/-1}
}
@media(max-width:850px){
  .v6-section{padding:78px 0}
  .v6-two-col,.v6-product-grid{grid-template-columns:1fr 1fr}
  .v6-collage-grid{grid-template-columns:1fr;grid-template-rows:auto}.v6-img-a,.v6-img-b,.v6-img-c{grid-column:auto;grid-row:auto;height:auto;aspect-ratio:4/5}
  .v6-collage-quote{position:relative;left:auto;transform:none;margin:-60px 20px 30px;max-width:none}
  .v6-section-head{align-items:flex-start;flex-direction:column}
  .v6-proof-grid{grid-template-columns:1fr 1fr}.v6-proof figure{min-height:420px}
}
@media(max-width:620px){
  .v6-hero{min-height:86vh}.v6-hero h1{font-size:55px}.v6-hero-wrap{padding-bottom:38px}.v6-lead{font-size:17px}
  .v6-two-col,.v6-product-grid,.v6-cap-grid,.v6-proof-grid{grid-template-columns:1fr}
  .v6-process-row{grid-template-columns:48px 1fr}.v6-step-icon{display:none}
  .v6-cap:nth-child(odd){border-right:0}
  .v6-proof figure{min-height:auto;aspect-ratio:4/5}
  .v6-actions{flex-direction:column;align-items:stretch}.v6-actions.center{align-items:center}.v6-btn{width:100%}
  .v6-final{padding:90px 0}.v6-final h2{font-size:58px}
}
@media(prefers-reduced-motion:reduce){
  .v6-hero-bg,.v6-ticker-track{animation:none!important}
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
}

/* ===== V6.1 Header logo sizing ===== */
.site-header .site-logo,
.site-header .logo,
header .site-logo,
header .logo {
  display:flex;
  align-items:center;
  flex:0 0 auto;
}
.site-header .site-logo img,
.site-header .logo img,
header .site-logo img,
header .logo img,
.site-header img.custom-logo,
header img.custom-logo {
  width:95px !important;
  max-width:95px !important;
  height:auto !important;
  max-height:38px !important;
  object-fit:contain !important;
  display:block !important;
}
@media (max-width: 768px) {
  .site-header .site-logo img,
  .site-header .logo img,
  header .site-logo img,
  header .logo img,
  .site-header img.custom-logo,
  header img.custom-logo {
    width:82px !important;
    max-width:82px !important;
    max-height:34px !important;
  }
}

/* =========================================================
   VIENA V7 — PREMIUM INNER PAGES
   ========================================================= */
.v7-section{padding:110px 0}.v7-page-hero{min-height:78vh;position:relative;color:#fff;display:flex;align-items:flex-end;overflow:hidden}
.v7-page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:v7Hero 12s ease-out both}
.v7-page-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.72))}
.v7-page-hero-inner{position:relative;z-index:2;padding-bottom:70px}.v7-page-hero h1{font-size:clamp(62px,8vw,132px);line-height:.84;letter-spacing:-.07em;max-width:1200px;margin:0 0 25px}
.v7-page-hero-inner>p:not(.v6-kicker){font-size:clamp(18px,1.8vw,26px);max-width:760px;color:#eee;line-height:1.4}
@keyframes v7Hero{from{transform:scale(1.09)}to{transform:scale(1.02)}}
.v7-split{display:grid;grid-template-columns:1fr 1fr;gap:90px}.v7-split h2,.v7-section-title h2,.v7-service-sticky h2,.v7-proof-text h2{font-size:clamp(52px,6vw,92px);line-height:.92;letter-spacing:-.055em;margin:0}
.v7-big-copy p{font-size:clamp(20px,2.2vw,31px);line-height:1.3;margin:0 0 25px;color:#444}
.v7-dark{background:#111;color:#fff}.v7-dark em{font-family:Georgia,serif;font-weight:400}.v7-section-title{margin-bottom:55px}.v7-section-title h2{max-width:1050px}
.v7-three{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #333}.v7-three article{padding:35px 30px 45px 0;border-bottom:1px solid #333}.v7-three article+article{padding-left:30px;border-left:1px solid #333}
.v7-three span,.v7-values span,.v7-cap-card span{font-size:11px;color:#777}.v7-three h3{font-size:30px;letter-spacing:-.035em}.v7-three p{color:#aaa;line-height:1.5}
.v7-photo-story{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.v7-photo-story figure{margin:0;overflow:hidden;min-height:650px}.v7-photo-story img{width:100%;height:100%;object-fit:cover;transition:.8s ease}.v7-photo-story figure:hover img{transform:scale(1.04)}
.v7-photo-story h2{font-size:clamp(48px,5vw,80px);line-height:.94;letter-spacing:-.05em}.v7-photo-story p{font-size:19px;color:#666;line-height:1.55}
.v7-values{background:#efede6;padding:0}.v7-values .home-shell{display:grid;grid-template-columns:repeat(4,1fr)}.v7-values article{padding:55px 28px;border-right:1px solid #d2d0c8}.v7-values h3{font-size:27px;letter-spacing:-.035em}.v7-values p{color:#666;line-height:1.5}
.v7-product-editorial{border-top:1px solid #ccc}.v7-product-row{display:grid;grid-template-columns:70px .85fr 1fr;gap:35px;padding:34px 0;border-bottom:1px solid #ccc;align-items:center}
.v7-product-number{font-size:12px;color:#777}.v7-product-image{height:360px;overflow:hidden}.v7-product-image img{width:100%;height:100%;object-fit:cover;transition:.8s ease}.v7-product-row:hover img{transform:scale(1.05)}
.v7-product-copy h2{font-size:clamp(38px,4vw,64px);line-height:.94;letter-spacing:-.05em;margin:0 0 20px}.v7-product-copy>p:not(.v6-kicker){font-size:17px;color:#666;line-height:1.55;max-width:600px}
.v7-moq{background:#111;color:#fff;padding:100px 0}.v7-moq span{font-size:clamp(100px,17vw,280px);line-height:.65;color:#242424;font-weight:900;letter-spacing:-.08em}.v7-moq h2{position:relative;font-size:clamp(55px,7vw,105px);line-height:.88;letter-spacing:-.06em;margin:30px 0}.v7-moq em{font-family:Georgia,serif;font-weight:400}.v7-moq p{color:#aaa;font-size:19px;max-width:700px}
.v7-service-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start}.v7-service-sticky{position:sticky;top:110px}.v7-service-sticky>p:last-child{font-size:19px;color:#666;line-height:1.5}
.v7-service-list{border-top:1px solid #ccc}.v7-service-list article{display:grid;grid-template-columns:60px 1fr 30px;gap:20px;padding:28px 0;border-bottom:1px solid #ccc;transition:.25s}.v7-service-list article:hover{padding-left:14px;background:#f4f2ec}
.v7-service-list span{font-size:11px;color:#777}.v7-service-list h3{font-size:30px;margin:0 0 8px;letter-spacing:-.035em}.v7-service-list p{margin:0;color:#666;line-height:1.5}
.v7-tags{display:flex;flex-wrap:wrap;gap:10px}.v7-tags span{border:1px solid #444;border-radius:999px;padding:15px 22px;font-size:14px}
.v7-cap-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v7-cap-card{min-height:300px;border:1px solid #d2d2cb;padding:28px;display:flex;flex-direction:column}.v7-cap-card h3{font-size:31px;letter-spacing:-.04em;margin:auto 0 15px}.v7-cap-card p{color:#666;line-height:1.5}
.v7-visual-break{min-height:75vh;position:relative;color:#fff;display:flex;align-items:flex-end}.v7-visual-break>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.v7-visual-break:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.72))}
.v7-visual-break .home-shell{position:relative;z-index:2;padding-bottom:70px}.v7-visual-break h2{font-size:clamp(58px,7vw,110px);line-height:.88;letter-spacing:-.06em}.v7-visual-break em{font-family:Georgia,serif;font-weight:400}
.v7-cta{background:#111;color:#fff;padding:115px 0;text-align:center}.v7-cta .home-shell{max-width:1050px}.v7-cta h2{font-size:clamp(62px,8vw,120px);line-height:.87;letter-spacing:-.065em;margin:0}.v7-cta .home-shell>p:not(.v6-kicker){font-size:21px;color:#aaa;max-width:760px;margin:28px auto}
.v7-quote-hero{padding:170px 0 95px;background:#efede6}.v7-quote-head h1{font-size:clamp(64px,9vw,140px);line-height:.82;letter-spacing:-.075em;margin:0}.v7-quote-head em{font-family:Georgia,serif;font-weight:400}.v7-quote-head>p:not(.v6-kicker){font-size:21px;color:#666;max-width:800px;line-height:1.5}
.v7-quote-main{padding:90px 0}.v7-quote-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:75px;align-items:start}.v7-quote-aside{position:sticky;top:110px}.v7-quote-aside h2{font-size:clamp(45px,5vw,75px);line-height:.92;letter-spacing:-.05em}.v7-quote-aside>p{color:#666;font-size:18px;line-height:1.5}.v7-quote-points{display:grid;margin-top:35px;border-top:1px solid #ccc}.v7-quote-points span{padding:13px 0;border-bottom:1px solid #ccc;font-size:13px}
.v7-quote-form-wrap{background:#f4f2ec;padding:40px}.v7-quote-after{padding:80px 0;background:#111;color:#fff}
@media(max-width:950px){.v7-split,.v7-photo-story,.v7-service-layout,.v7-quote-layout{grid-template-columns:1fr}.v7-service-sticky,.v7-quote-aside{position:static}.v7-values .home-shell{grid-template-columns:1fr 1fr}.v7-product-row{grid-template-columns:45px 1fr}.v7-product-copy{grid-column:2}.v7-cap-cards{grid-template-columns:1fr 1fr}.v7-three{grid-template-columns:1fr}.v7-three article+article{padding-left:0;border-left:0}.v7-photo-story figure{min-height:500px}}
@media(max-width:620px){.v7-section{padding:75px 0}.v7-page-hero{min-height:72vh}.v7-page-hero h1{font-size:55px}.v7-values .home-shell,.v7-cap-cards{grid-template-columns:1fr}.v7-product-row{grid-template-columns:1fr}.v7-product-number,.v7-product-copy{grid-column:auto}.v7-product-image{height:auto;aspect-ratio:4/5}.v7-quote-form-wrap{padding:22px}.v7-quote-head h1{font-size:60px}}

/* =========================================================
   V7.1 — CATALOG CONVERSION PAGE
   ========================================================= */
.v7-catalog-intro{padding:110px 0;background:#f4f2ec}
.v7-catalog-intro h2{font-size:clamp(54px,6vw,92px);line-height:.9;letter-spacing:-.055em;margin:0}
.v7-catalog-intro em{font-family:Georgia,serif;font-weight:400}
.v7-catalog-grid-section{padding:90px 0 120px}
.v7-catalog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.v7-catalog-card{background:#efede6;overflow:hidden}
.v7-catalog-card-link{display:block;color:inherit;text-decoration:none}
.v7-catalog-card-media{position:relative;overflow:hidden;aspect-ratio:4/3}
.v7-catalog-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.v7-catalog-card:hover .v7-catalog-card-media img{transform:scale(1.06)}
.v7-catalog-index{position:absolute;top:18px;left:18px;background:#fff;color:#111;padding:8px 11px;border-radius:999px;font-size:11px}
.v7-catalog-arrow{position:absolute;right:18px;top:18px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-size:19px;transition:.3s}
.v7-catalog-card:hover .v7-catalog-arrow{transform:rotate(45deg)}
.v7-catalog-card-copy{padding:30px 30px 34px}
.v7-catalog-card-copy h2{font-size:clamp(38px,4vw,62px);line-height:.94;letter-spacing:-.05em;margin:7px 0 15px}
.v7-catalog-card-copy>p:not(.v6-kicker){color:#666;max-width:560px;line-height:1.5;font-size:17px}
.v7-catalog-cta{display:inline-flex;gap:10px;align-items:center;margin-top:15px;font-size:14px;font-weight:700;border-bottom:1px solid #111;padding-bottom:4px}
.v7-catalog-quote-strip{background:#111;color:#fff;padding:90px 0}
.v7-catalog-quote-strip .home-shell{display:grid;grid-template-columns:1.1fr .8fr auto;gap:50px;align-items:end}
.v7-catalog-quote-strip h2{font-size:clamp(48px,5.5vw,82px);line-height:.92;letter-spacing:-.05em;margin:0}
.v7-catalog-quote-strip em{font-family:Georgia,serif;font-weight:400}
.v7-catalog-quote-points{display:grid;border-top:1px solid #3a3a3a}
.v7-catalog-quote-points span{padding:11px 0;border-bottom:1px solid #3a3a3a;color:#c9c9c9;font-size:13px}
.v7-catalog-feature{padding:110px 0}
.v7-catalog-feature .home-shell{display:grid;grid-template-columns:1.1fr .9fr;gap:75px;align-items:center}
.v7-catalog-feature-media{min-height:620px;overflow:hidden}
.v7-catalog-feature-media img{width:100%;height:100%;object-fit:cover;transition:.8s ease}
.v7-catalog-feature-media:hover img{transform:scale(1.04)}
.v7-catalog-feature-copy h2{font-size:clamp(48px,5vw,80px);line-height:.94;letter-spacing:-.05em;margin:0 0 24px}
.v7-catalog-feature-copy>p:not(.v6-kicker){font-size:19px;line-height:1.55;color:#666}
@media(max-width:980px){
  .v7-catalog-quote-strip .home-shell,.v7-catalog-feature .home-shell{grid-template-columns:1fr}
}
@media(max-width:720px){
  .v7-catalog-grid{grid-template-columns:1fr}
  .v7-catalog-intro{padding:75px 0}
  .v7-catalog-grid-section{padding:60px 0 80px}
  .v7-catalog-feature{padding:75px 0}
  .v7-catalog-feature-media{min-height:420px}
  .v7-catalog-quote-strip{padding:70px 0}
}

/* =========================================================
   V7.2 — HEADER FINAL FIX
   Bigger VIENA logo + clean Get a Quote button
   ========================================================= */

/* Exact logo selector used by header.php */
.site-header .brand,
header .brand{
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  width:auto !important;
  height:auto !important;
  overflow:visible !important;
}
.site-header .brand img,
header .brand img{
  width:132px !important;
  max-width:none !important;
  height:auto !important;
  max-height:50px !important;
  object-fit:contain !important;
  display:block !important;
}

/* Keep header compact despite larger logo */
.site-header .nav-wrap,
header .nav-wrap{
  min-height:72px;
  align-items:center;
}

/* Quote nav/button: remove inherited pseudo-element/ring/black overlay */
.site-header .nav a[href*="quote"],
header nav a[href*="quote"],
.site-header a.quote-btn,
header a.quote-btn{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  background:#111 !important;
  color:#fff !important;
  border:1px solid #111 !important;
  border-radius:999px !important;
  box-shadow:none !important;
  outline:none !important;
  transform:none !important;
}
.site-header .nav a[href*="quote"]::before,
.site-header .nav a[href*="quote"]::after,
header nav a[href*="quote"]::before,
header nav a[href*="quote"]::after,
.site-header a.quote-btn::before,
.site-header a.quote-btn::after,
header a.quote-btn::before,
header a.quote-btn::after{
  content:none !important;
  display:none !important;
  border:0 !important;
  box-shadow:none !important;
}
.site-header .nav a[href*="quote"]:hover,
header nav a[href*="quote"]:hover,
.site-header a.quote-btn:hover,
header a.quote-btn:hover{
  background:#2a2a2a !important;
  color:#fff !important;
  border-color:#2a2a2a !important;
  box-shadow:none !important;
  transform:none !important;
}

@media(max-width:900px){
  .site-header .brand img,
  header .brand img{
    width:105px !important;
    max-width:none !important;
    max-height:42px !important;
  }
}

/* V7.3 — floating header breathing room */
.site-header{
  top:14px !important;
  left:0;
  right:0;
}
.site-header .nav-wrap{
  margin-left:18px !important;
  margin-right:18px !important;
  width:calc(100% - 36px) !important;
  max-width:none !important;
  border-radius:18px !important;
}
@media(max-width:768px){
  .site-header{top:9px !important;}
  .site-header .nav-wrap{
    margin-left:9px !important;
    margin-right:9px !important;
    width:calc(100% - 18px) !important;
    border-radius:14px !important;
  }
}

/* V7.4 — larger real website logo */
.site-header .brand,
header.site-header .brand{
  width:170px !important;
  min-width:170px !important;
  height:62px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}
.site-header .brand img,
header.site-header .brand img{
  width:160px !important;
  max-width:160px !important;
  height:58px !important;
  max-height:58px !important;
  object-fit:contain !important;
  object-position:left center !important;
}
.site-header .nav-wrap{
  min-height:76px !important;
  padding-top:7px !important;
  padding-bottom:7px !important;
}
@media(max-width:1100px){
  .site-header .brand{width:140px !important;min-width:140px !important;height:54px !important}
  .site-header .brand img{width:132px !important;max-width:132px !important;height:50px !important;max-height:50px !important}
}
@media(max-width:768px){
  .site-header .brand{width:118px !important;min-width:118px !important;height:46px !important}
  .site-header .brand img{width:112px !important;max-width:112px !important;height:43px !important;max-height:43px !important}
}

/* =========================================================
   V7.5 — DARK MODE CONTRAST FIX
   Stronger contrast for theme toggle / dark mode
   ========================================================= */
body.dark{
  --bg:#0a0a0a !important;
  --panel:#161616 !important;
  --ink:#f7f7f2 !important;
  --muted:#c3c3bd !important;
  --line:rgba(255,255,255,.22) !important;
}

/* Main surfaces */
body.dark .v7-catalog-intro,
body.dark .v7-values,
body.dark .v7-quote-hero,
body.dark .v7-quote-form-wrap,
body.dark .v7-catalog-card,
body.dark .v7-service-list article:hover{
  background:#161616 !important;
  color:#f7f7f2 !important;
}
body.dark .v7-section,
body.dark .v7-catalog-grid-section,
body.dark .v7-catalog-feature,
body.dark .v7-quote-main{
  background:#0a0a0a !important;
  color:#f7f7f2 !important;
}

/* Typography */
body.dark .v6-kicker.dark,
body.dark .v7-catalog-card-copy h2,
body.dark .v7-product-copy h2,
body.dark .v7-section-title h2,
body.dark .v7-service-sticky h2,
body.dark .v7-photo-story h2,
body.dark .v7-catalog-feature-copy h2,
body.dark .v7-quote-head h1,
body.dark .v7-quote-aside h2,
body.dark .v7-cap-card h3,
body.dark .v7-values h3{
  color:#f7f7f2 !important;
}
body.dark .v7-big-copy p,
body.dark .v7-photo-story p,
body.dark .v7-product-copy>p:not(.v6-kicker),
body.dark .v7-service-sticky>p:last-child,
body.dark .v7-service-list p,
body.dark .v7-cap-card p,
body.dark .v7-catalog-card-copy>p:not(.v6-kicker),
body.dark .v7-catalog-feature-copy>p:not(.v6-kicker),
body.dark .v7-quote-head>p:not(.v6-kicker),
body.dark .v7-quote-aside>p,
body.dark .v7-values p{
  color:#c3c3bd !important;
}

/* Cards / borders */
body.dark .v7-product-editorial,
body.dark .v7-product-row,
body.dark .v7-service-list,
body.dark .v7-service-list article,
body.dark .v7-cap-card,
body.dark .v7-quote-points,
body.dark .v7-quote-points span,
body.dark .v7-values article{
  border-color:rgba(255,255,255,.20) !important;
}
body.dark .v7-cap-card{
  background:#141414 !important;
}
body.dark .v7-catalog-card{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}

/* Buttons and links */
body.dark .v6-btn-dark,
body.dark .btn-dark,
body.dark .quote-submit{
  background:#f5f5f0 !important;
  color:#111 !important;
}
body.dark .v6-btn-dark:hover,
body.dark .btn-dark:hover,
body.dark .quote-submit:hover{
  background:#deded7 !important;
  color:#111 !important;
}
body.dark .v6-text-link,
body.dark .v7-catalog-cta{
  color:#fff !important;
  border-color:#fff !important;
}

/* Form controls */
body.dark .q-field input,
body.dark .q-field select,
body.dark .q-field textarea{
  background:#0f0f0f !important;
  color:#f8f8f3 !important;
  border-color:rgba(255,255,255,.28) !important;
}
body.dark .q-field input::placeholder,
body.dark .q-field textarea::placeholder{
  color:#8f8f8a !important;
}

/* Header */
body.dark .nav-wrap{
  background:rgba(16,16,16,.94) !important;
  border-color:rgba(255,255,255,.18) !important;
  color:#fff !important;
}
body.dark .drop-menu{
  background:#171717 !important;
  color:#fff !important;
}
body.dark .drop-menu a:hover{
  background:#292929 !important;
}

/* Theme toggle itself */
body.dark .theme-toggle{
  background:#f1f1ec !important;
  color:#111 !important;
  border-color:#f1f1ec !important;
}
body:not(.dark) .theme-toggle{
  background:#fff !important;
  color:#111 !important;
}

/* Keep intentionally dark sections consistently readable */
body.dark .v7-dark,
body.dark .v7-moq,
body.dark .v7-cta,
body.dark .v7-catalog-quote-strip,
body.dark .v7-quote-after{
  background:#111 !important;
  color:#fff !important;
}

/* V7.6 — Elementor editor compatibility */
.viena-elementor-content-bridge{
  display:none !important;
  width:0 !important;
  height:0 !important;
  overflow:hidden !important;
  visibility:hidden !important;
}

/* =========================================================
   V7.7 — BLOG / ELEMENTOR POST FIX
   ========================================================= */
.single-post.article-wrap{
  width:min(920px,calc(100% - 40px));
  margin:0 auto;
  padding:150px 0 100px;
}
.single-post-header{margin-bottom:38px}
.single-post-header .post-meta{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.62;
  margin-bottom:14px;
}
.single-post-header h1{
  font-size:clamp(48px,7vw,92px);
  line-height:.94;
  letter-spacing:-.055em;
  margin:0;
}
.single-post-featured{margin:0 0 45px}
.single-post-featured img{display:block;width:100%;height:auto}
.post-content{
  font-size:18px;
  line-height:1.75;
}
.post-content h2,.post-content h3,.post-content h4{
  line-height:1.12;
  letter-spacing:-.035em;
  margin-top:1.7em;
}
.post-content img{max-width:100%;height:auto}
body.dark .single-post{color:#f7f7f2}
body.dark .post-content{color:#d5d5cf}
@media(max-width:700px){
  .single-post.article-wrap{width:min(100% - 28px,920px);padding-top:120px}
}

/* =========================================================
   V7.8 — PREMIUM BLOG POST TEMPLATE
   ========================================================= */
.v-blog-single{background:#f7f6f1;color:#111}
.v-blog-hero{padding:170px 0 85px;background:#efede6}
.v-blog-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:90px;align-items:end}
.v-blog-meta-top{display:flex;flex-wrap:wrap;gap:18px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px;color:#666}
.v-blog-hero h1{font-size:clamp(58px,8vw,118px);line-height:.88;letter-spacing:-.065em;margin:0}
.v-blog-deck{font-size:clamp(20px,2vw,29px);line-height:1.35;color:#555;max-width:850px;margin-top:28px}
.v-blog-hero-side{border-top:1px solid #bbb;padding-top:18px;color:#666;line-height:1.5}
.v-blog-feature{width:min(1400px,calc(100% - 40px));margin:0 auto;transform:translateY(0)}
.v-blog-feature img{width:100%;height:min(72vh,760px);object-fit:cover;display:block}
.v-blog-body{padding:95px 0 115px}
.v-blog-layout{display:grid;grid-template-columns:260px minmax(0,760px);gap:85px;justify-content:center}
.v-blog-sticky{position:sticky;top:120px}
.v-blog-author{font-size:13px;font-weight:700;margin:10px 0 24px}
.v-blog-content{font-size:19px;line-height:1.78;color:#333}
.v-blog-content .v-blog-lead{font-size:clamp(23px,2.5vw,32px);line-height:1.45;color:#111}
.v-blog-content h2{font-size:clamp(36px,4vw,56px);line-height:1;letter-spacing:-.045em;margin:1.5em 0 .45em;color:#111}
.v-blog-content h3{font-size:28px;line-height:1.1;letter-spacing:-.03em;margin:1.4em 0 .4em;color:#111}
.v-blog-content p,.v-blog-content li{margin-bottom:1.1em}
.v-blog-content img{width:100%;height:auto;margin:28px 0}
.v-blog-content blockquote{margin:45px 0;padding:30px 0;border-top:1px solid #aaa;border-bottom:1px solid #aaa;font-family:Georgia,serif;font-style:italic;font-size:30px;line-height:1.35;color:#111}
.v-blog-cta{background:#111;color:#fff;padding:100px 0}
.v-blog-cta-inner{max-width:980px}
.v-blog-cta h2{font-size:clamp(58px,7vw,105px);line-height:.88;letter-spacing:-.06em;margin:0 0 25px}
.v-blog-cta h2 em{font-family:Georgia,serif;font-weight:400}
.v-blog-cta p:not(.v6-kicker){font-size:20px;line-height:1.5;color:#aaa;max-width:760px}
.v-blog-related{padding:100px 0}
.v-blog-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.v-blog-related-card{background:#efede6}
.v-blog-related-card a{color:inherit;text-decoration:none}
.v-blog-related-image{aspect-ratio:4/3;overflow:hidden}
.v-blog-related-image img{width:100%;height:100%;object-fit:cover;transition:.7s ease}
.v-blog-related-card:hover img{transform:scale(1.05)}
.v-blog-related-copy{padding:24px}
.v-blog-related-copy>span{font-size:11px;color:#777;text-transform:uppercase}
.v-blog-related-copy h3{font-size:27px;line-height:1.05;letter-spacing:-.035em;margin:12px 0 22px}
.v-blog-related-copy b{font-size:13px}

body.dark .v-blog-single,
body.dark .v-blog-body,
body.dark .v-blog-related{background:#0a0a0a;color:#f7f7f2}
body.dark .v-blog-hero{background:#151515;color:#fff}
body.dark .v-blog-content,
body.dark .v-blog-deck,
body.dark .v-blog-hero-side{color:#c3c3bd}
body.dark .v-blog-content h2,
body.dark .v-blog-content h3,
body.dark .v-blog-content .v-blog-lead,
body.dark .v-blog-content blockquote{color:#fff}
body.dark .v-blog-related-card{background:#161616;color:#fff}

@media(max-width:950px){
  .v-blog-hero-grid,.v-blog-layout{grid-template-columns:1fr}
  .v-blog-sticky{position:static}
  .v-blog-related-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .v-blog-hero{padding:135px 0 65px}
  .v-blog-body{padding:65px 0 80px}
  .v-blog-related-grid{grid-template-columns:1fr}
  .v-blog-feature{width:calc(100% - 20px)}
}

/* V7.9 — Elementor-safe post preview */
.viena-elementor-post-preview{
  width:min(1100px,calc(100% - 40px));
  margin:0 auto;
  padding:120px 0 80px;
  min-height:60vh;
}
.viena-elementor-post-preview img{max-width:100%;height:auto}

/* V7.10 — blog cards open the article directly */
.blog-card-clickable{
  padding:0 !important;
  overflow:hidden;
}
.blog-card-link{
  display:block;
  width:100%;
  height:100%;
  color:inherit !important;
  text-decoration:none !important;
  cursor:pointer;
}
.blog-card-image{
  overflow:hidden;
}
.blog-card-image img{
  display:block;
  width:100%;
  height:auto;
  transition:transform .7s cubic-bezier(.2,.8,.2,1);
}
.blog-card-content{
  padding:24px;
}
.blog-card-clickable:hover .blog-card-image img{
  transform:scale(1.045);
}
.blog-card-clickable:hover .blog-card-read b{
  transform:translate(4px,-4px);
}
.blog-card-read{
  display:inline-flex;
  gap:8px;
  align-items:center;
  margin-top:14px;
  font-size:13px;
  font-weight:700;
}
.blog-card-read b{
  display:inline-block;
  transition:transform .25s ease;
}
body.dark .blog-card-link{
  color:#f7f7f2 !important;
}

/* =========================================================
   V7.14 — WIDE EDITORIAL ARTICLE + CTA + ILLUSTRATIONS
   ========================================================= */
.v-blog-top-cta{background:#111;color:#fff;padding:34px 0}
.v-blog-top-cta-inner{display:grid;grid-template-columns:1.05fr 1fr auto;gap:42px;align-items:center}
.v-blog-top-cta-inner h2{font-size:clamp(28px,3vw,46px);line-height:1;margin:5px 0 0;letter-spacing:-.04em}
.v-blog-top-cta-inner>p{color:#bbb;line-height:1.45;max-width:520px;margin:0}
.v-blog-layout.v-blog-layout-wide{display:block;max-width:1180px}
.v-blog-layout-wide .v-blog-content{max-width:1000px;margin:0 auto;font-size:20px}
.v-blog-layout-wide .v-blog-content>p,
.v-blog-layout-wide .v-blog-content>ul,
.v-blog-layout-wide .v-blog-content>ol,
.v-blog-layout-wide .v-blog-content>h2,
.v-blog-layout-wide .v-blog-content>h3,
.v-blog-layout-wide .v-blog-content>blockquote{max-width:820px;margin-left:auto;margin-right:auto}
.v-blog-layout-wide .v-blog-content h2{font-size:clamp(42px,5vw,68px)}
.v-blog-image-wide{margin:55px 0 70px}
.v-blog-image-wide img{width:100%;height:min(68vh,680px);object-fit:cover;display:block;margin:0}
.v-blog-image-wide span{display:block;font-size:12px;color:#777;margin-top:10px;line-height:1.45}
.v-blog-image-split{display:grid;grid-template-columns:1.25fr .75fr;gap:45px;align-items:center;margin:65px 0}
.v-blog-image-split img{width:100%;height:520px;object-fit:cover;margin:0}
.v-blog-image-split h3{font-size:clamp(34px,4vw,55px);margin:8px 0 16px;line-height:.98}
.v-blog-image-split p{color:#666;line-height:1.55}
.v-blog-highlight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#c8c6bf;margin:45px 0 70px;border:1px solid #c8c6bf}
.v-blog-highlight-grid>div{background:#f1efe9;padding:28px}
.v-blog-highlight-grid strong{display:block;font-size:21px;margin-bottom:7px}
.v-blog-highlight-grid span{font-size:14px;color:#666;line-height:1.45}
.v-blog-cta{padding:120px 0}
.v-blog-cta-inner{max-width:none !important;display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:end}
.v-blog-cta-inner h2{grid-column:1;font-size:clamp(68px,8vw,126px)}
.v-blog-cta-inner>p:not(.v6-kicker){grid-column:1;max-width:760px}
.v-blog-cta-inner>.v6-btn{grid-column:2;grid-row:2/4;justify-self:end;align-self:end}
body.dark .v-blog-highlight-grid{background:#333;border-color:#333}
body.dark .v-blog-highlight-grid>div{background:#151515}
body.dark .v-blog-highlight-grid span,
body.dark .v-blog-image-split p,
body.dark .v-blog-image-wide span{color:#aaa}
body.dark .v-blog-top-cta{background:#f1f0eb;color:#111}
body.dark .v-blog-top-cta .v6-kicker.light,
body.dark .v-blog-top-cta-inner>p{color:#555 !important}
body.dark .v-blog-top-cta .v6-btn-light{background:#111 !important;color:#fff !important}
@media(max-width:900px){
 .v-blog-top-cta-inner{grid-template-columns:1fr}
 .v-blog-image-split{grid-template-columns:1fr}
 .v-blog-image-split img{height:420px}
 .v-blog-cta-inner{grid-template-columns:1fr}
 .v-blog-cta-inner h2,.v-blog-cta-inner>p:not(.v6-kicker),.v-blog-cta-inner>.v6-btn{grid-column:1;grid-row:auto;justify-self:start}
}
@media(max-width:650px){
 .v-blog-highlight-grid{grid-template-columns:1fr}
 .v-blog-layout-wide .v-blog-content{font-size:18px}
 .v-blog-image-wide{margin:40px 0 55px}
}

/* V7.17 editable coded Home image source */
.v6-hero-bg{background-image:var(--v717-hero-bg)!important}

/* V7.19 generated VIENA Blog content */
.v-blog-lead{font-size:clamp(21px,2vw,30px)!important;line-height:1.45!important;font-weight:500!important}
.v-blog-intro{font-size:18px;line-height:1.75;margin:28px 0 55px}
.v-blog-section-copy{font-size:17px;line-height:1.8;margin:0 0 46px}
.v-blog-wide-image{margin:32px 0 48px}.v-blog-wide-image img{display:block;width:100%;max-height:760px;object-fit:cover}.v-blog-wide-image figcaption{font-size:12px;color:#777;margin-top:9px}
body.dark .v-blog-wide-image figcaption{color:#aaa}


/* ===== V7.22 Product mega menu + category detail pages ===== */
.product-nav .product-mega{
  left:auto!important;right:-160px!important;top:28px!important;
  width:min(720px,calc(100vw - 56px));min-width:620px!important;
  padding:18px!important;grid-template-columns:1.45fr .75fr!important;gap:12px!important;
  border-radius:18px!important;
}
.product-nav:hover .product-mega{display:grid!important}
.product-mega-main,.product-mega-side{display:grid;gap:5px}
.product-mega-side{padding-left:14px;border-left:1px solid var(--line)}
.product-mega .mega-label{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--muted);padding:6px 10px 8px}
.product-mega a{padding:11px 10px!important;display:flex!important;align-items:center;justify-content:space-between;border-radius:9px;font-size:14px!important}
.product-mega a b{font-size:12px;font-weight:400;opacity:.55}
.product-mega a:hover{background:rgba(127,127,127,.1)}

.v722-hero{min-height:780px;position:relative;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.v722-hero-media,.v722-hero-media img,.v722-hero-shade{position:absolute;inset:0;width:100%;height:100%}
.v722-hero-media img{object-fit:cover;transform:scale(1.01);animation:v722hero 14s ease-out both}
@keyframes v722hero{from{transform:scale(1.07)}to{transform:scale(1.01)}}
.v722-hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.70) 0%,rgba(0,0,0,.43) 48%,rgba(0,0,0,.15) 100%)}
.v722-hero-copy{position:relative;z-index:2;padding-bottom:82px;padding-top:190px}
.v722-hero-copy h1{font-size:clamp(64px,9vw,142px);line-height:.87;letter-spacing:-.06em;margin:16px 0 26px;max-width:1000px}
.v722-hero-copy>p:not(.v6-kicker){font-size:clamp(19px,2vw,28px);line-height:1.25;max-width:760px;margin:0 0 30px;color:rgba(255,255,255,.88)}
.v722-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.v722-overview h2,.v722-list h2,.v722-development h2{font-size:clamp(48px,6vw,90px);line-height:.95;letter-spacing:-.05em;margin:16px 0 0}
.v722-overview h2 em{font-weight:400}
.v722-overview-copy{padding-top:38px}
.v722-overview-copy>p{font-size:clamp(22px,2.6vw,38px);line-height:1.2;letter-spacing:-.025em;color:var(--muted);margin:0 0 36px}
.v722-showcase{padding-top:10px!important}
.v722-showcase-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:end}
.v722-showcase figure{margin:0;overflow:hidden;border-radius:20px;background:var(--panel)}
.v722-showcase img{width:100%;height:650px;object-fit:cover;transition:transform .6s}
.v722-showcase-b img{height:480px}
.v722-showcase figure:hover img{transform:scale(1.025)}
.v722-list-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.v722-list-items{border-top:1px solid var(--line)}
.v722-list-row{display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.v722-list-row span{font-size:11px;letter-spacing:.12em;color:var(--muted)}
.v722-list-row h3{font-size:clamp(27px,3vw,43px);line-height:1;letter-spacing:-.035em;margin:0;font-weight:500}
.v722-development{background:#111;color:#fff;padding:110px 0}
.v722-development-grid{display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:end}
.v722-development h2{margin-top:14px}
.v722-development p:not(.v6-kicker){font-size:21px;line-height:1.55;color:#c9c9c3;margin:0 0 30px}
.v722-next{padding-bottom:130px!important}
.v722-next-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:28px}
.v722-next-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px;min-height:180px;position:relative;transition:.25s}
.v722-next-card:hover{transform:translateY(-3px)}
.v722-next-card span{font-size:10px;letter-spacing:.13em;color:var(--muted)}
.v722-next-card h3{font-size:35px;letter-spacing:-.04em;line-height:1;margin:22px 40px 0 0}
.v722-next-card b{position:absolute;right:26px;bottom:24px}
@media(max-width:1100px){
  .product-nav .product-mega{right:-250px!important;min-width:560px!important}
}
@media(max-width:900px){
  .product-nav .product-mega{position:static!important;width:100%!important;min-width:0!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:6px 0 10px 16px!important;grid-template-columns:1fr!important;background:transparent!important}
  .product-mega-side{padding-left:0;border-left:0}
  .product-mega .mega-label{display:none}
  .v722-overview-grid,.v722-list-grid,.v722-development-grid{grid-template-columns:1fr;gap:35px}
  .v722-showcase-grid{grid-template-columns:1fr}
  .v722-showcase img,.v722-showcase-b img{height:480px}
  .v722-next-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .v722-hero{min-height:680px}
  .v722-hero-copy{padding-bottom:54px}
  .v722-showcase img,.v722-showcase-b img{height:360px}
  .v722-development{padding:80px 0}
}


/* ===== V7.23 Product PDF catalogs ===== */
.v7-catalog-card{position:relative}
.v723-pdf-chip{
  position:absolute;right:18px;top:18px;z-index:4;
  display:inline-flex;align-items:center;gap:10px;
  min-height:34px;padding:0 13px;border-radius:999px;
  background:rgba(15,15,15,.88);color:#fff!important;
  font-size:10px;font-weight:700;letter-spacing:.12em;
  backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.22);
  transition:transform .2s,background .2s;
}
.v723-pdf-chip:hover{transform:translateY(-2px);background:#000}
.v723-pdf-chip b{font-size:12px}
.v723-product-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:14px}
.v723-inline-pdf{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:7px 11px;border:1px solid var(--line);border-radius:999px;
}
.v723-inline-pdf:hover{background:var(--ink);color:var(--bg)}
.v723-btn-pdf{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 24px;border-radius:999px;
  border:1px solid rgba(255,255,255,.5);color:#fff!important;
  background:rgba(0,0,0,.18);font-weight:600;font-size:14px;
  backdrop-filter:blur(8px);
}
.v723-btn-pdf:hover{background:#fff;color:#111!important;transform:translateY(-2px)}
@media(max-width:700px){
  .v723-pdf-chip{right:12px;top:12px;min-height:30px;padding:0 10px;font-size:9px}
  .v723-product-links{gap:12px}
}


/* ===== V7.24 Two-row moving product gallery + lightbox ===== */
.v724-product-gallery{overflow:hidden;padding:20px 0 105px;background:var(--bg)}
.v724-gallery-row{overflow:hidden;width:100%;margin:12px 0}
.v724-gallery-track{display:flex;gap:12px;width:max-content;will-change:transform}
.v724-gallery-forward .v724-gallery-track{animation:v724marqueeLeft 8.7s linear infinite}
.v724-gallery-reverse .v724-gallery-track{animation:v724marqueeRight 10s linear infinite}
.v724-gallery-row:hover .v724-gallery-track{animation-play-state:paused}
@keyframes v724marqueeLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes v724marqueeRight{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.v724-gallery-item{
  width:clamp(260px,26vw,430px);height:clamp(180px,19vw,300px);
  padding:0;border:0;border-radius:16px;overflow:hidden;cursor:zoom-in;
  background:var(--panel);flex:0 0 auto;position:relative;
}
.v724-gallery-item:after{
  content:"+";position:absolute;right:12px;top:12px;width:30px;height:30px;border-radius:50%;
  display:grid;place-items:center;background:rgba(10,10,10,.78);color:#fff;font-size:18px;
  opacity:.9;transition:.25s;
}
.v724-gallery-item:hover:after{transform:scale(1.08);background:#000}
.v724-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.v724-gallery-item:hover img{transform:scale(1.035)}

.v724-lightbox{
  position:fixed;inset:0;z-index:99999;background:rgba(5,5,5,.94);
  display:flex;align-items:center;justify-content:center;padding:70px 90px;
  opacity:0;visibility:hidden;transition:.22s;
}
.v724-lightbox.is-open{opacity:1;visibility:visible}
.v724-lightbox img{max-width:min(1200px,88vw);max-height:84vh;object-fit:contain;border-radius:10px;box-shadow:0 30px 100px rgba(0,0,0,.45)}
.v724-lightbox-close,.v724-lightbox-prev,.v724-lightbox-next{
  position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;
  backdrop-filter:blur(10px);display:grid;place-items:center;transition:.2s
}
.v724-lightbox-close{right:24px;top:20px;width:46px;height:46px;border-radius:50%;font-size:30px}
.v724-lightbox-prev,.v724-lightbox-next{top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;font-size:24px}
.v724-lightbox-prev{left:24px}.v724-lightbox-next{right:24px}
.v724-lightbox button:hover{background:#fff;color:#111}
body.v724-lightbox-open{overflow:hidden}
@media(max-width:700px){
  .v724-product-gallery{padding-bottom:75px}
  .v724-gallery-row{margin:8px 0}
  .v724-gallery-track{gap:8px}
  .v724-gallery-item{width:72vw;height:48vw;border-radius:12px}
  .v724-lightbox{padding:60px 16px}
  .v724-lightbox-prev,.v724-lightbox-next{width:42px;height:42px;top:auto;bottom:18px}
  .v724-lightbox-prev{left:calc(50% - 52px)}.v724-lightbox-next{right:calc(50% - 52px)}
}
@media(prefers-reduced-motion:reduce){
  .v724-gallery-track{animation:none!important}
}


/* ===== V7.25 Centered / balanced product marquee ===== */
.v724-product-gallery{
  width:100%;
  max-width:1320px;
  margin-left:auto;
  margin-right:auto;
  padding-left:24px;
  padding-right:24px;
  box-sizing:border-box;
}
.v724-gallery-row{
  width:100%;
  margin-left:auto;
  margin-right:auto;
  border-radius:16px;
}
.v724-gallery-track{
  min-width:max-content;
  justify-content:center;
}
.v724-gallery-item{
  width:clamp(240px,22vw,360px);
  height:clamp(170px,16vw,250px);
}
@media(max-width:700px){
  .v724-product-gallery{
    max-width:100%;
    padding-left:14px;
    padding-right:14px;
  }
  .v724-gallery-row{border-radius:12px}
  .v724-gallery-item{
    width:68vw;
    height:46vw;
  }
}


/* ===== V7.26 About > Our Work ===== */
.v726-work-hero{background:#111;color:#fff;padding:210px 0 110px}
.v726-work-hero h1{font-size:clamp(70px,10vw,150px);line-height:.86;letter-spacing:-.065em;margin:18px 0 28px;max-width:1150px}
.v726-work-hero h1 em{font-weight:400}
.v726-work-hero>div>p:not(.v6-kicker){max-width:780px;font-size:clamp(20px,2.3vw,31px);line-height:1.25;color:#c9c9c3}
.v726-work-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.v726-work-intro h2{font-size:clamp(48px,6vw,90px);line-height:.95;letter-spacing:-.05em;margin:16px 0 0}
.v726-work-intro h2 em{font-weight:400}
.v726-work-intro-grid>div:last-child>p{font-size:clamp(21px,2.4vw,34px);line-height:1.24;color:var(--muted);margin:35px 0}
.v726-work-galleries{padding:10px 0 115px;overflow:hidden}
.v726-work-row{padding:42px 0 58px;border-top:1px solid var(--line)}
.v726-row-head{display:grid;grid-template-columns:1fr .7fr;gap:50px;align-items:end;margin-bottom:22px}
.v726-row-head>div{display:flex;align-items:flex-end;gap:18px}
.v726-row-head span{font-size:11px;letter-spacing:.12em;color:var(--muted);padding-bottom:6px}
.v726-row-head h2{font-size:clamp(36px,4.3vw,66px);line-height:.95;letter-spacing:-.045em;margin:0}
.v726-row-head>p{margin:0;color:var(--muted);font-size:16px;max-width:420px}
.v726-marquee{overflow:hidden;width:100%}
.v726-marquee-track{display:flex;gap:10px;width:max-content;will-change:transform}
.v726-left .v726-marquee-track{animation:v724marqueeLeft 8s linear infinite}
.v726-right .v726-marquee-track{animation:v724marqueeRight 9s linear infinite}
.v726-marquee:hover .v726-marquee-track{animation-play-state:paused}
.v726-work-item{width:clamp(250px,23vw,390px)!important;height:clamp(185px,17vw,285px)!important;border-radius:14px!important}
@media(max-width:900px){
  .v726-work-intro-grid,.v726-row-head{grid-template-columns:1fr;gap:24px}
  .v726-row-head>p{max-width:none}
}
@media(max-width:700px){
  .v726-work-hero{padding:170px 0 80px}
  .v726-work-row{padding:32px 0 44px}
  .v726-work-item{width:72vw!important;height:50vw!important}
  .v726-left .v726-marquee-track{animation-duration:6s}
  .v726-right .v726-marquee-track{animation-duration:7s}
}
@media(prefers-reduced-motion:reduce){
  .v726-marquee-track{animation:none!important}
}

/* ===== V7.28 Faster marquee + mouse/touch drag ===== */
.v724-gallery-row,
.v726-marquee{
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  touch-action:pan-y;
}
.v724-gallery-row.is-dragging,
.v726-marquee.is-dragging{cursor:grabbing}
.v724-gallery-row:hover .v724-gallery-track,
.v726-marquee:hover .v726-marquee-track{
  animation-play-state:running;
}
.v724-gallery-row.is-dragging .v724-gallery-track,
.v726-marquee.is-dragging .v726-marquee-track{
  animation-play-state:paused!important;
}
.v724-gallery-item,
.v726-work-item{
  -webkit-user-drag:none;
}
.v724-gallery-item img,
.v726-work-item img{
  pointer-events:none;
  -webkit-user-drag:none;
}

/* ===== V7.31 Light-only interface + language switcher ===== */
.theme-toggle{display:none!important}
body.dark{
  --bg:#f5f5f2!important;
  --panel:#fff!important;
  --ink:#111!important;
  --muted:#717171!important;
  --line:rgba(17,17,17,.14)!important;
  background:var(--bg)!important;
  color:var(--ink)!important;
}
body.dark .nav-wrap{
  background:rgba(248,248,244,.88)!important;
  border-color:rgba(0,0,0,.08)!important;
  color:#111!important;
}
.v731-language-switcher{display:flex;align-items:center;gap:5px}
.v731-language-switcher ul{display:flex;align-items:center;gap:5px;list-style:none;margin:0;padding:0}
.v731-language-switcher li{margin:0;padding:0}
.v731-language-switcher a,.v731-language-current{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:32px;padding:0 9px;border:1px solid var(--line);
  border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;
  color:var(--ink);background:transparent;
}
.v731-language-switcher .current-lang a,
.v731-language-switcher a.is-current{background:var(--ink);color:var(--bg)}
@media(max-width:900px){
  .v731-language-switcher a,.v731-language-current{min-height:30px;padding:0 8px}
}

/* ===== V7.32 Contact Us page ===== */
.v732-contact-hero{background:#111;color:#fff;padding:210px 0 105px}
.v732-contact-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:end}
.v732-contact-hero h1{font-size:clamp(66px,9vw,138px);line-height:.87;letter-spacing:-.06em;margin:16px 0 0}
.v732-contact-hero h1 em{font-weight:400}
.v732-contact-lead p{font-size:clamp(20px,2.2vw,30px);line-height:1.3;color:#c9c9c3;margin:0 0 30px}
.v732-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
.v732-contact-info h2,.v732-contact-form h2,.v732-contact-note h2{font-size:clamp(48px,5.6vw,84px);line-height:.95;letter-spacing:-.05em;margin:15px 0 34px}
.v732-contact-info h2 em{font-weight:400}
.v732-contact-list{border-top:1px solid var(--line)}
.v732-contact-list>a,.v732-contact-list>div{display:grid;grid-template-columns:90px 1fr 24px;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.v732-contact-list span{font-size:10px;letter-spacing:.14em;color:var(--muted)}
.v732-contact-list strong{font-size:18px;font-weight:500;overflow-wrap:anywhere}
.v732-contact-list b{font-weight:400}
.v732-contact-form .viena-quote-wrap{margin-top:8px}
.v732-contact-note{background:#111;color:#fff;padding:100px 0}
.v732-contact-note-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.v732-contact-note h2{margin-bottom:0}
.v732-contact-note-grid>div{display:grid;border-top:1px solid rgba(255,255,255,.2)}
.v732-contact-note-grid span{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.2);color:#d0d0ca}
@media(max-width:900px){
 .v732-contact-hero-grid,.v732-contact-grid,.v732-contact-note-grid{grid-template-columns:1fr;gap:40px}
 .v732-contact-hero{padding:170px 0 80px}
}
@media(max-width:700px){
 .v732-contact-list>a,.v732-contact-list>div{grid-template-columns:70px 1fr 20px;gap:10px}
}

/* ===== V7.33 Blog card thumbnails ===== */
.blog-grid{
  align-items:stretch;
}
.blog-card{
  overflow:hidden;
  padding:0!important;
}
.blog-card-link{
  display:flex!important;
  flex-direction:column;
  height:100%;
}
.blog-card-image{
  width:100%;
  aspect-ratio:16/8.5;
  overflow:hidden;
  background:#e9e9e5;
  border-radius:18px 18px 0 0;
}
.blog-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s ease;
}
.blog-card:hover .blog-card-image img{
  transform:scale(1.025);
}
.blog-card-content{
  padding:28px 26px 30px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.blog-card-content time{
  margin-bottom:10px;
}
.blog-card-content h2{
  margin-top:0;
}
.blog-card-read{
  margin-top:auto;
  padding-top:18px;
}
@media(max-width:700px){
  .blog-card-image{aspect-ratio:16/9}
  .blog-card-content{padding:22px 20px 24px}
}

/* ===== V7.34 Stable centered infinite product galleries ===== */
[data-viena-marquee]{
  position:relative;
  overflow:hidden!important;
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  touch-action:pan-y;
}
[data-viena-marquee].is-dragging{cursor:grabbing}

[data-viena-marquee] .v724-gallery-track,
[data-viena-marquee] .v726-marquee-track{
  position:relative!important;
  left:0!important;
  display:flex!important;
  width:max-content!important;
  min-width:max-content!important;
  gap:12px;
  animation:none!important;
  transform:translate3d(0,0,0);
  will-change:transform;
}

[data-viena-marquee] .v724-gallery-item{
  flex:0 0 auto!important;
  pointer-events:auto!important;
  cursor:zoom-in!important;
}

[data-viena-marquee] .v724-gallery-item img{
  pointer-events:none!important;
  -webkit-user-drag:none;
}

/* cancel legacy animation rules from older versions */
.v724-gallery-forward .v724-gallery-track,
.v724-gallery-reverse .v724-gallery-track,
.v726-left .v726-marquee-track,
.v726-right .v726-marquee-track{
  animation:none!important;
}

@media(prefers-reduced-motion:reduce){
  [data-viena-marquee] .v724-gallery-track,
  [data-viena-marquee] .v726-marquee-track{
    animation:none!important;
  }
}

/* ===== V7.35 definitive JS marquee rules ===== */
[data-viena-marquee]{
  overflow:hidden!important;
  position:relative;
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  touch-action:pan-y;
}
[data-viena-marquee].is-dragging{cursor:grabbing}
[data-viena-marquee] .v724-gallery-track,
[data-viena-marquee] .v726-marquee-track{
  position:relative!important;
  left:0!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  width:max-content!important;
  min-width:max-content!important;
  gap:12px!important;
  animation:none!important;
  will-change:transform;
}
[data-viena-marquee] .v724-gallery-item,
[data-viena-marquee] .v726-work-item{
  flex:0 0 auto!important;
  pointer-events:auto!important;
  cursor:zoom-in!important;
}
[data-viena-marquee] img{
  pointer-events:none!important;
  -webkit-user-drag:none;
}

/* ===== V7.36 definitive lightbox fix ===== */
html.v724-lightbox-open,
body.v724-lightbox-open{overflow:hidden!important}

body > .v724-lightbox{
  position:fixed!important;
  inset:0!important;
  z-index:2147483647!important;
  width:100vw!important;
  height:100vh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:64px 84px!important;
  margin:0!important;
  background:rgba(5,5,5,.96)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:none!important;
  transition:opacity .2s ease,visibility .2s ease!important;
}
body > .v724-lightbox.is-open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body > .v724-lightbox > img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:min(1280px,88vw)!important;
  max-height:86vh!important;
  object-fit:contain!important;
  border-radius:10px!important;
  box-shadow:0 28px 90px rgba(0,0,0,.55)!important;
}
body > .v724-lightbox .v724-lightbox-close,
body > .v724-lightbox .v724-lightbox-prev,
body > .v724-lightbox .v724-lightbox-next{
  z-index:2!important;
  pointer-events:auto!important;
}
@media(max-width:700px){
  body > .v724-lightbox{padding:56px 14px 80px!important}
  body > .v724-lightbox > img{max-width:94vw!important;max-height:78vh!important}
}

/* ===== V7.39 reliable zoom lightbox ===== */
html.v724-lightbox-open,
body.v724-lightbox-open{overflow:hidden!important}
body > .v724-lightbox{
  position:fixed!important;
  inset:0!important;
  z-index:2147483647!important;
  width:100vw!important;
  height:100vh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:64px 84px!important;
  margin:0!important;
  background:rgba(4,4,4,.96)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .18s ease,visibility .18s ease!important;
}
body > .v724-lightbox.is-open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body > .v724-lightbox > img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:min(1320px,90vw)!important;
  max-height:86vh!important;
  object-fit:contain!important;
  border-radius:10px!important;
}
body > .v724-lightbox button{
  pointer-events:auto!important;
  z-index:3!important;
}
@media(max-width:700px){
  body > .v724-lightbox{padding:55px 14px 80px!important}
  body > .v724-lightbox > img{max-width:95vw!important;max-height:78vh!important}
}

/* ===== V7.40 FAQ page ===== */
.v740-faq-hero{padding:190px 0 100px}
.v740-faq-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end}
.v740-faq-hero h1{font-size:clamp(72px,10vw,150px);line-height:.84;letter-spacing:-.065em;margin:20px 0 0}
.v740-faq-hero h1 em{font-weight:400}
.v740-faq-hero-grid>p{font-size:clamp(21px,2.2vw,31px);line-height:1.25;color:var(--muted);margin:0 0 8px}
.v740-faq-body{border-top:1px solid var(--line)}
.v740-faq-body-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px}
.v740-faq-body h2{font-size:clamp(48px,5vw,76px);line-height:.95;letter-spacing:-.05em;margin:15px 0}
.v740-faq-cta{background:#111;color:#fff;padding:95px 0}
.v740-faq-cta .home-shell>div{display:flex;justify-content:space-between;align-items:end;gap:40px}
.v740-faq-cta h2{font-size:clamp(55px,7vw,105px);line-height:.9;letter-spacing:-.055em;margin:18px 0 0}
@media(max-width:850px){.v740-faq-hero-grid,.v740-faq-body-grid{grid-template-columns:1fr;gap:38px}.v740-faq-hero{padding:160px 0 70px}.v740-faq-cta .home-shell>div{display:block}.v740-faq-cta .v6-btn{margin-top:30px}}




/* ===== V7.43 — mobile mega-menu vertical scroll fix ===== */
@media(max-width:980px){
  .site-header{
    /* Keep the fixed header itself from swallowing vertical swipe gestures. */
    pointer-events:none;
  }
  .site-header .nav-wrap{
    pointer-events:auto;
  }
  .site-header .main-nav{
    /* The menu can be taller than the phone screen; make the panel itself scrollable. */
    max-height:calc(100dvh - 108px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-y !important;
    scrollbar-width:thin;
    padding-bottom:32px !important;
  }
  .site-header .main-nav.open{
    display:flex !important;
  }
  .site-header .main-nav *{
    touch-action:pan-y;
  }
  .site-header .drop-menu,
  .site-header .product-mega{
    max-height:none !important;
    overflow:visible !important;
  }
}
@media(max-width:700px){
  .site-header .main-nav{
    top:76px !important;
    left:14px !important;
    right:14px !important;
    max-height:calc(100dvh - 96px) !important;
    border-radius:18px !important;
    padding:22px 18px 34px !important;
  }
}


/* ===== V7.44 QA: mobile menu interaction hardening ===== */
@media(max-width:980px){
  body.viena-mobile-menu-open{
    overflow:hidden !important;
    touch-action:none;
  }
  body.viena-mobile-menu-open .site-header .main-nav{
    touch-action:pan-y !important;
  }
}


/* ===== V7.45 security / spam honeypot ===== */
.viena-hp{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  left:-9999px!important;
}
