:root {
    --bg: #ffffff;
    --bg-alt: #ffffff;
    --text: #000000;
    --text-muted: #555555;
    --card: #f7f7f7;
    --card-2: #eeeeee;
    --border: #e0e0e0;
    --shadow-sm: 0 2px 10px rgba(0,0,0,0.06);
    --shadow-md: 0 6px 24px rgba(0,0,0,0.09);
    --shadow-lg: 0 14px 44px rgba(0,0,0,0.12);
    --btn-bg: #000000;
    --btn-fg: #ffffff;
    --btn-hover: #1a1a1a;
    --gradient: linear-gradient(135deg, #000000 0%, #2a2a2a 100%);
    --menu-bg: #ffffff;
    --menu-item-bg: #000000;
    --menu-item-fg: #ffffff;
    --hero-line: #000000;
    --flip-bg: #000000;
    --flip-fg: #ffffff;
    --flip-fg-muted: rgba(255,255,255,0.82);
    --footer-bg: #f5f5f5;
    --footer-border: #e0e0e0;
    --scrollbar-track: #f1f1f1;
    --scrollbar-thumb: linear-gradient(180deg, #111111 0%, #444444 100%);
    --scrollbar-thumb-hover: linear-gradient(180deg, #000000 0%, #2b2b2b 100%);
    --radius: 14px;
    --ease-bounce: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
    --glass-bg: rgba(255,255,255,0.65);
    --glass-border: rgba(255,255,255,0.4);
    --glass-shadow: 0 8px 32px rgba(0,0,0,0.1);
}

[data-theme="dark"] {
    --bg: #000000;
    --bg-alt: #000000;
    --text: #f2f2f2;
    --text-muted: #888888;
    --card: #0f0f0f;
    --card-2: #181818;
    --border: #252525;
    --shadow-sm: 0 2px 10px rgba(0,0,0,0.5);
    --shadow-md: 0 6px 24px rgba(0,0,0,0.6);
    --shadow-lg: 0 14px 44px rgba(0,0,0,0.7);
    --btn-bg: #f2f2f2;
    --btn-fg: #000000;
    --btn-hover: #d8d8d8;
    --gradient: linear-gradient(135deg, #e8e8e8 0%, #aaaaaa 100%);
    --menu-bg: #000000;
    --menu-item-bg: #f2f2f2;
    --menu-item-fg: #000000;
    --hero-line: #f2f2f2;
    --flip-bg: #f2f2f2;
    --flip-fg: #000000;
    --flip-fg-muted: rgba(0,0,0,0.68);
    --footer-bg: #000000;
    --footer-border: #1a1a1a;
    --scrollbar-track: #050505;
    --scrollbar-thumb: linear-gradient(180deg, #f4f4f4 0%, #a8a8a8 100%);
    --scrollbar-thumb-hover: linear-gradient(180deg, #ffffff 0%, #d7d7d7 100%);
    --glass-bg: rgba(15,15,15,0.7);
    --glass-border: rgba(255,255,255,0.08);
    --glass-shadow: 0 8px 32px rgba(0,0,0,0.5);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--text) var(--scrollbar-track);scrollbar-gutter:stable}
body{font-family:'Inter',sans-serif;background-color:var(--bg);color:var(--text);line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}

html::-webkit-scrollbar,body::-webkit-scrollbar{width:14px;height:14px}
html::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:var(--scrollbar-track);border-left:1px solid rgba(0,0,0,0.06)}
html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;border:3px solid var(--scrollbar-track);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.14),0 8px 18px rgba(0,0,0,0.16)}
html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}
html::-webkit-scrollbar-corner,body::-webkit-scrollbar-corner{background:var(--scrollbar-track)}

.theme-transition-overlay{position:fixed;inset:0;z-index:99999;pointer-events:none;opacity:0}
.theme-transition-overlay.animating{animation:themeFlash .28s ease forwards}
@keyframes themeFlash{0%{opacity:0}40%{opacity:.09}100%{opacity:0}}


.container{width:90%;max-width:1200px;margin:0 auto;padding:0 20px}
section{padding:80px 0}

header{position:fixed;top:0;left:0;width:100%;background-color:transparent;z-index:1000;padding:18px 0;transition:none}
header.scrolled{padding:12px 0}
.header-container{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;max-width:1200px;margin:0 auto;padding:0 40px;gap:16px}
.header-left{display:flex;align-items:center;gap:14px;justify-content:flex-start}
.header-right{display:flex;align-items:center;gap:16px;flex-shrink:0;justify-content:flex-end}
.logo{font-family:'Orbitron',sans-serif;font-size:1.8rem;font-weight:800;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:2px;white-space:nowrap}
.logo-icon{color:var(--text);flex-shrink:0;font-size:1.4rem}
.header-separator{display:none}
.header-right-sep{margin:0}

.desktop-nav{
    display:flex;
    list-style:none;
    gap:0;
    flex-wrap:nowrap;
    background:var(--text);
    border-radius:999px;
    padding:5px;
    box-shadow:0 4px 20px rgba(0,0,0,.18);
}
[data-theme="dark"] .desktop-nav{box-shadow:0 4px 24px rgba(0,0,0,.55)}


.nav-button {
    padding: 10px 20px;
    background-color: transparent;
    color: var(--bg);
    text-decoration: none;
    font-weight: 700;
    font-size: .76rem;
    border-radius: 999px;
    position: relative;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    display: flex;
    align-items: center;
    gap: 7px;
    overflow: hidden;
    border: none;
    white-space: nowrap;
    cursor: pointer;
    transition: color .38s ease, transform .38s var(--ease-bounce);
    isolation: isolate;
    z-index: 0;
}

.nav-button::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--bg);
    border-radius: inherit;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .42s var(--ease-out);
    z-index: -1;
}

.nav-button:hover {
    color: var(--text);
    transform: translateY(-2px);
}

.nav-button:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

.nav-button:active {
    transform: translateY(0) scale(0.97);
}

.nav-button.is-active {
    background-color: var(--bg);
    color: var(--text);
}
.nav-button i {
    font-size: .78rem;
    flex-shrink: 0;
    transition: transform .45s cubic-bezier(.22,1,.36,1);
}
.nav-button:hover i, .nav-button.is-active i { transform: scale(1.2) rotate(-8deg); }

.theme-toggle{position:relative;width:44px;height:44px;border-radius:50%;border:2px solid var(--text);background:transparent;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;font-size:1rem;transition:background-color .25s ease,border-color .25s ease,transform .25s ease,color .25s ease}
.theme-toggle:hover{background:var(--btn-bg);color:var(--btn-fg);transform:scale(1.08);border-color:var(--btn-bg)}
.theme-toggle i{position:absolute;line-height:1;transition:opacity .28s ease,transform .38s ease}
.theme-icon-light{opacity:1;transform:rotate(0) scale(1)}
.theme-icon-dark{opacity:0;transform:rotate(-80deg) scale(.4)}
[data-theme="dark"] .theme-icon-light{opacity:0;transform:rotate(80deg) scale(.4)}
[data-theme="dark"] .theme-icon-dark{opacity:1;transform:rotate(0) scale(1)}

.header-utility-link{width:44px;height:44px;border-radius:50%;border:2px solid var(--text);background:transparent;color:var(--text);display:flex;align-items:center;justify-content:center;text-decoration:none;flex-shrink:0;font-size:1rem;transition:background-color .25s ease,border-color .25s ease,transform .25s ease,color .25s ease}
.header-utility-link:hover{background:var(--btn-bg);color:var(--btn-fg);transform:scale(1.08);border-color:var(--btn-bg)}
.header-utility-link.is-active{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg)}
.header-utility-link-mobile{width:44px;height:44px}

.hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    background: transparent;
    border: 2px solid var(--text);
    border-radius: 12px;
    cursor: pointer;
    padding: 8px;
    flex-shrink: 0;
    transition: background-color .3s ease, border-color .3s ease, transform .3s var(--ease-bounce);
    position: relative;
    z-index: 1002;
}

.hamburger:hover {
    background: var(--btn-bg);
    border-color: var(--btn-bg);
    transform: scale(1.05);
}

.hamburger:hover .bar {
    background-color: var(--btn-fg);
}

.hamburger:active {
    transform: scale(0.95);
}
.bar{display:block;width:18px;height:2px;background-color:var(--text);border-radius:2px;transition:transform .38s var(--ease-out),opacity .22s ease,background-color .2s ease;transform-origin:center;pointer-events:none}
.hamburger.active{background:var(--btn-bg);border-color:var(--btn-bg)}
.hamburger.active .bar{background-color:var(--btn-fg)}
.hamburger.active .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.active .bar:nth-child(2){opacity:0;width:0}
.hamburger.active .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-menu{position:fixed;top:0;right:0;width:100%;height:100dvh;z-index:1001;pointer-events:none;overflow:hidden}
.mobile-menu-inner{position:absolute;inset:0;background-color:var(--menu-bg);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .48s cubic-bezier(.77,0,.175,1);will-change:transform}
.mobile-menu.active{pointer-events:auto}
.mobile-menu.active .mobile-menu-inner{transform:translateX(0)}
.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);flex-shrink:0}
.mobile-logo{font-family:'Orbitron',sans-serif;font-size:1.3rem;font-weight:800;color:var(--text);letter-spacing:2px;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.mobile-menu-actions{display:flex;align-items:center;gap:10px}
.theme-toggle-mobile{width:44px;height:44px}
.mobile-menu-close{width:44px;height:44px;border-radius:50%;border:2px solid var(--text);background:transparent;color:var(--text);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s ease,background-color .2s ease,border-color .2s ease,color .2s ease}
.mobile-menu-close:hover{transform:rotate(90deg);background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg)}
.mobile-nav-body{flex:1;display:flex;align-items:center;justify-content:center;padding:28px 24px 8px;overflow-y:auto}
.mobile-nav-grid{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%;max-width:460px;padding:0;margin:0}
.mobile-nav-wide{grid-column:1/-1}
.mobile-nav-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:28px 16px 24px;background:#000000;border:2px solid #ffffff;border-radius:20px;color:#ffffff;text-decoration:none;font-weight:800;font-size:.72rem;letter-spacing:1.6px;text-transform:uppercase;position:relative;overflow:hidden;isolation:isolate;transition:color .22s ease,border-color .3s ease,background-color .22s ease,transform .3s var(--ease-bounce),box-shadow .3s ease;min-height:112px;width:100%}
.mobile-nav-card i{font-size:1.9rem;transition:transform .38s var(--ease-bounce),color .22s ease;position:relative;z-index:1}
.mobile-nav-card span{position:relative;z-index:1}
.mobile-nav-card::after{content:'';position:absolute;inset:0;background:#ffffff;transform:scaleY(0);transform-origin:bottom center;transition:transform .38s var(--ease-out);z-index:0}
.mobile-nav-card:hover,.mobile-nav-card.is-active{color:#000000;border-color:#ffffff;transform:translateY(-4px);box-shadow:0 14px 36px rgba(255,255,255,.18)}
.mobile-nav-card:hover::after,.mobile-nav-card.is-active::after{transform:scaleY(1)}
.mobile-nav-card:hover i{transform:scale(1.28) translateY(-4px)}
.mobile-nav-wide .mobile-nav-card{flex-direction:row;min-height:auto;padding:22px 32px;gap:18px;justify-content:center}
.mobile-nav-wide .mobile-nav-card i{font-size:1.4rem}
.mobile-nav-wide .mobile-nav-card span{font-size:.78rem}
.mobile-nav-grid li{opacity:0;transform:translateY(20px) scale(.96);transition:opacity .38s var(--ease-out),transform .38s var(--ease-out)}
.mobile-menu.active .mobile-nav-grid li{opacity:1;transform:none}
.mobile-menu.active .mobile-nav-grid li:nth-child(1){transition-delay:.16s}
.mobile-menu.active .mobile-nav-grid li:nth-child(2){transition-delay:.21s}
.mobile-menu.active .mobile-nav-grid li:nth-child(3){transition-delay:.26s}
.mobile-menu.active .mobile-nav-grid li:nth-child(4){transition-delay:.31s}
.mobile-menu.active .mobile-nav-grid li:nth-child(5){transition-delay:.36s}
.mobile-menu-footer{padding:16px 24px 36px;flex-shrink:0;display:flex;justify-content:center}
.mobile-cta-btn{width:auto;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:18px 36px;background:var(--gradient);color:#fff;border:none;border-radius:16px;font-family:'Inter',sans-serif;font-weight:800;font-size:.85rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;position:relative;overflow:hidden;transition:transform .3s var(--ease-bounce),box-shadow .3s ease}
[data-theme="dark"] .mobile-cta-btn{color:var(--flip-fg)}
.mobile-cta-btn::after{content:'';position:absolute;top:-50%;left:0;width:55%;height:200%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.2),transparent);transform:translateX(-127.27%) skewX(-15deg);transition:transform .5s ease;pointer-events:none}
.mobile-cta-btn:hover::after{transform:translateX(245.45%) skewX(-15deg)}
.mobile-cta-btn:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.22)}
button.mobile-nav-card{font-family:'Inter',sans-serif;cursor:pointer;background:#000000;border:2px solid #ffffff;color:#ffffff}
.mobile-nav-theme-btn .theme-icon-wrap{position:relative;width:1.9rem;height:1.9rem;flex-shrink:0}
.mobile-nav-theme-btn .theme-icon-wrap i{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.9rem;transition:opacity .28s ease,transform .38s ease}

.hero{height:100dvh;min-height:600px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:0;position:relative;overflow:hidden;contain:layout style}
.hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,var(--border) 1.2px,transparent 1.2px);background-size:30px 30px;opacity:.55;z-index:0;pointer-events:none;will-change:auto}
.hero-content{flex:1;display:flex;align-items:center;justify-content:center;gap:50px;max-width:1200px;width:90%;margin:0 auto;padding:100px 40px 40px;position:relative;z-index:2}
.hero-text{flex:1}
.hero-intro{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--text-muted);margin-bottom:24px;display:flex;align-items:center;gap:12px}
.hero-intro::before{content:'';width:30px;height:2px;background-color:var(--text)}
.hero-text h1{font-family:'Orbitron',sans-serif;font-size:clamp(1.7rem,3.8vw,2.8rem);font-weight:900;line-height:1.15;text-transform:uppercase;letter-spacing:1px;color:var(--text);margin-bottom:30px;max-width:920px}
.hero-text h1 span{display:block}
.hero-description{font-size:1rem;color:var(--text-muted);max-width:480px;margin-bottom:35px;line-height:1.7}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.cta-button{display:inline-flex;align-items:center;gap:10px;padding:16px 34px;border-radius:50px;font-weight:700;font-size:.85rem;text-decoration:none;text-transform:uppercase;letter-spacing:1px;border:2px solid transparent;cursor:pointer;font-family:'Inter',sans-serif;transition:transform .35s var(--ease-bounce),box-shadow .35s ease,background-color .3s ease,border-color .3s ease}
.cta-primary{background:var(--gradient);color:var(--btn-fg);border-color:var(--btn-bg);position:relative;overflow:hidden;isolation:isolate}
[data-theme="dark"] .cta-primary{color:var(--flip-fg)}
.cta-primary::after{content:'';position:absolute;top:-50%;left:0;width:55%;height:200%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.22),transparent);transform:translateX(-127.27%) skewX(-15deg);transition:transform .62s ease;pointer-events:none;z-index:1}
.cta-primary:hover::after{transform:translateX(245.45%) skewX(-15deg)}
.cta-primary>*{position:relative;z-index:2}
.cta-primary:hover{transform:translateY(-5px) scale(1.04);box-shadow:0 20px 52px rgba(0,0,0,.22)}
[data-theme="dark"] .cta-primary:hover{box-shadow:0 20px 52px rgba(0,0,0,.65)}
.cta-primary i{transition:transform .38s var(--ease-bounce)}
.cta-primary:hover i{transform:translateX(6px) rotate(-5deg)}
.cta-secondary{background:transparent;color:var(--text);border-color:var(--text)}
.cta-secondary:hover{background:var(--btn-bg);color:var(--btn-fg);transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.hero-separator{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;align-self:stretch;height:70%;min-height:200px;padding:0 30px}
.hero-line{width:2px;flex:1;background-color:var(--hero-line);border-radius:1px}
.hero-dot{width:8px;height:8px;border-radius:50%;background-color:var(--hero-line)}
.vertical-text-container{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}
.vertical-text{writing-mode:vertical-rl;text-orientation:mixed;font-family:'Orbitron',sans-serif;font-weight:800;font-size:2.3rem;letter-spacing:6px;text-transform:uppercase;color:var(--text);opacity:.08;user-select:none;white-space:nowrap}

.section-title{font-family:'Orbitron',sans-serif;font-size:2.5rem;font-weight:900;text-align:center;margin-bottom:50px;text-transform:uppercase;letter-spacing:2px;color:var(--text);position:relative}
.section-title::after{content:'';display:block;width:60px;height:4px;background:var(--gradient);margin:18px auto 0;border-radius:2px}
.section-divider{width:60px;height:4px;background:var(--gradient);margin:0 auto;border-radius:2px}

.person-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:24px;width:100%;max-width:700px;margin:0 auto 40px}
.contacts-section .section-title{margin-bottom:60px}
.contacts-cards-container{display:flex;flex-direction:column;gap:30px;align-items:center}

.mega-card{
    width:100%;max-width:1100px;margin:0 auto;
    background:#ffffff;
    border:1px solid #111111;
    border-radius:28px;
    box-shadow:0 18px 42px rgba(0,0,0,0.08);
    overflow:hidden;
    transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s cubic-bezier(.22,1,.36,1),border-color .45s ease;
    position:relative;will-change:transform;
}
.mega-card::before{content:'';position:absolute;inset:-1px;background:radial-gradient(circle at var(--px,50%) var(--py,0%),rgba(0,0,0,0.09),transparent 55%);opacity:0;transition:opacity .55s ease;pointer-events:none;z-index:0;border-radius:inherit}
[data-theme="dark"] .mega-card{background:#000000;border-color:#1f1f1f;box-shadow:0 18px 42px rgba(0,0,0,0.5)}
[data-theme="dark"] .mega-card::before{background:radial-gradient(circle at var(--px,50%) var(--py,0%),rgba(255,255,255,0.1),transparent 55%)}
.mega-card:hover{transform:translateY(-10px) scale(1.015);box-shadow:0 30px 62px rgba(0,0,0,0.18);border-color:var(--text)}
.mega-card:hover::before{opacity:1}
[data-theme="dark"] .mega-card:hover{box-shadow:0 30px 62px rgba(0,0,0,0.78)}

.mega-card-inner{display:grid;grid-template-columns:1fr 1fr;min-height:420px;position:relative;z-index:1}

.mega-card-info{padding:48px 44px;display:flex;flex-direction:column;justify-content:center;gap:32px}
.mega-card-info h3{font-family:'Orbitron',sans-serif;font-size:1.4rem;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:var(--text);margin-bottom:4px}

.mega-info-items{display:flex;flex-direction:column;gap:24px}
.mega-info-item{display:flex;align-items:flex-start;gap:16px}
.mega-info-icon{width:50px;height:50px;border-radius:14px;background:var(--gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;transition:transform .3s ease}
[data-theme="dark"] .mega-info-icon{color:var(--flip-fg)}
.mega-info-item:hover .mega-info-icon{transform:scale(1.1) rotate(5deg)}
.mega-info-text{display:flex;flex-direction:column;gap:2px}
.mega-info-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted)}
.mega-info-value{font-size:.95rem;font-weight:700;color:var(--text);text-decoration:none;transition:color .2s ease}
a.mega-info-value:hover{color:var(--text-muted)}

.mega-social-row{display:flex;gap:12px;margin-top:8px}
.mega-social-pill{width:44px;height:44px;border-radius:50%;border:2px solid var(--border);background:var(--card);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:1rem;text-decoration:none;transition:all .3s var(--ease-bounce)}
.mega-social-pill:hover{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg);transform:translateY(-4px) scale(1.1);box-shadow:var(--shadow-md)}
.google-business-profile .mega-info-icon{background:#ffffff;color:#4285f4;border:1px solid var(--border)}
[data-theme="dark"] .google-business-profile .mega-info-icon{background:#111111;color:#8ab4f8}

.mega-card-map{position:relative;min-height:100%;background:var(--card-2);overflow:hidden}
.mega-card-map iframe{width:100%;height:100%;border:0;display:block}
.mega-card-map .map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--card-2);color:var(--text-muted);font-size:.85rem;cursor:pointer;transition:background-color .2s ease}
.mega-card-map .map-placeholder:hover{background:var(--border)}
.mega-card-map .map-placeholder i{font-size:2rem;color:var(--text-muted)}

.contact-person-card{background:#ffffff;border:1px solid #111111;border-radius:20px;overflow:hidden;box-shadow:0 18px 42px rgba(0,0,0,0.08);transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s cubic-bezier(.22,1,.36,1),border-color .45s ease}
[data-theme="dark"] .contact-person-card{background:#000000;border-color:#1f1f1f;box-shadow:0 18px 42px rgba(0,0,0,0.5)}
.contact-person-card:hover{transform:translateY(-10px) scale(1.015);box-shadow:0 30px 62px rgba(0,0,0,0.18);border-color:var(--text)}
[data-theme="dark"] .contact-person-card:hover{box-shadow:0 30px 62px rgba(0,0,0,0.78)}
.contact-photo-wrap{position:relative;width:100%;height:200px;overflow:hidden}
.contact-photo-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.contact-person-card:hover .contact-photo-wrap img{transform:scale(1.05)}
.contact-photo-gradient{position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,#ffffff 0%,transparent 100%)}
[data-theme="dark"] .contact-photo-gradient{background:linear-gradient(to top,#000000 0%,transparent 100%)}
.contact-person-body{padding:20px 24px 24px;text-align:center}
.contact-person-name{font-family:'Orbitron',sans-serif;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--text);margin-bottom:4px}
.contact-person-role{font-size:.78rem;color:var(--text-muted);font-weight:600;margin-bottom:16px;text-transform:uppercase;letter-spacing:.8px}
.contact-person-details{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.contact-person-detail{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.82rem;color:var(--text)}
.contact-person-detail i{color:var(--text-muted);width:16px;text-align:center;font-size:.85rem}
.contact-person-detail a{color:var(--text);text-decoration:none;transition:color .2s ease}
.contact-person-detail a:hover{color:var(--text-muted)}
.contact-icons-row{display:flex;gap:10px;justify-content:center}
.contact-icon-link{width:44px;height:44px;border-radius:50%;border:2px solid var(--border);background:var(--card);color:var(--text);display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:.9rem;transition:all .3s var(--ease-bounce)}
.contact-icon-link:hover{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg);transform:translateY(-3px) scale(1.1)}

.fit-section,.handover-section,.partner-strip-section{position:relative;overflow:hidden;background:var(--bg);padding:110px 0}
.fit-section::before,.handover-section::before,.partner-strip-section::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,var(--border) 1px,transparent 1px);background-size:34px 34px;opacity:.22;pointer-events:none}
.fit-section .container,.handover-section .container,.partner-strip-section .container{position:relative;z-index:1}
.fit-subtitle,.handover-subtitle,.partner-strip-subtitle{max-width:760px;margin:-26px auto 42px;text-align:center;color:var(--text-muted);line-height:1.8}
.fit-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.fit-card{
    min-height:168px;padding:24px 18px;border:1px solid #111;background:#fff;border-radius:22px;box-shadow:0 18px 42px rgba(0,0,0,.08);
    display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:18px;
    position:relative;overflow:hidden;isolation:isolate;
    transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s cubic-bezier(.22,1,.36,1),border-color .35s ease,background-color .35s ease;
}
.fit-card::before{
    content:'';position:absolute;inset:-1px;
    background:radial-gradient(circle at 20% 10%,rgba(0,0,0,.1),transparent 42%),linear-gradient(135deg,transparent 0%,rgba(0,0,0,.06) 100%);
    opacity:0;transform:translateY(12px);transition:opacity .45s ease,transform .55s cubic-bezier(.22,1,.36,1);z-index:0;pointer-events:none;
}
.fit-card::after{
    content:'';position:absolute;top:-60%;left:-45%;width:42%;height:220%;
    background:linear-gradient(105deg,transparent,rgba(255,255,255,.36),transparent);
    transform:translateX(-160%) rotate(12deg);transition:transform .7s cubic-bezier(.22,1,.36,1);z-index:1;pointer-events:none;
}
.fit-card>*{position:relative;z-index:2}
[data-theme="dark"] .fit-card{background:#000;border-color:#1f1f1f;box-shadow:0 18px 42px rgba(0,0,0,.5)}
[data-theme="dark"] .fit-card::before{background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.12),transparent 42%),linear-gradient(135deg,transparent 0%,rgba(255,255,255,.05) 100%)}
.fit-card:hover,.fit-card:focus-within{transform:translateY(-12px) scale(1.018);border-color:var(--text);box-shadow:0 30px 62px rgba(0,0,0,.18)}
[data-theme="dark"] .fit-card:hover,[data-theme="dark"] .fit-card:focus-within{box-shadow:0 30px 62px rgba(0,0,0,.78)}
.fit-card:hover::before,.fit-card:focus-within::before{opacity:1;transform:translateY(0)}
.fit-card:hover::after,.fit-card:focus-within::after{transform:translateX(430%) rotate(12deg)}
.fit-card i{width:46px;height:46px;border-radius:14px;background:var(--gradient);color:var(--btn-fg);display:flex;align-items:center;justify-content:center;font-size:1.05rem;box-shadow:var(--shadow-sm);transition:transform .55s cubic-bezier(.22,1,.36,1),border-radius .45s ease}
[data-theme="dark"] .fit-card i{color:var(--flip-fg)}
.fit-card span{font-weight:800;color:var(--text);line-height:1.45;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.fit-card:hover i,.fit-card:focus-within i{transform:rotate(-8deg) scale(1.14);border-radius:18px}
.fit-card:hover span,.fit-card:focus-within span{transform:translateY(-3px)}
.handover-section{padding:96px 0 88px}
.handover-ticker{
    width:min(1120px,100%);margin:34px auto 0;overflow:hidden;position:relative;
    border:1px solid var(--border);border-radius:999px;background:var(--card);box-shadow:var(--shadow-sm);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.handover-track{display:flex;align-items:center;width:max-content;gap:12px;padding:12px;animation:handoverTicker 30s linear infinite;will-change:transform}
.handover-ticker:hover .handover-track{animation-play-state:paused}
.handover-item{
    min-height:48px;padding:10px 18px 10px 10px;border:1px solid var(--border);background:var(--bg);border-radius:999px;box-shadow:none;
    display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;white-space:nowrap;flex:0 0 auto;
}
.handover-item i{width:34px;height:34px;border-radius:50%;background:var(--gradient);color:var(--btn-fg);display:flex;align-items:center;justify-content:center;font-size:.86rem;box-shadow:var(--shadow-sm);flex-shrink:0}
[data-theme="dark"] .handover-item i{color:var(--flip-fg)}
.handover-item span{font-weight:850;color:var(--text);line-height:1.2;font-size:.88rem}
@keyframes handoverTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.fit-bottom,.handover-bottom{max-width:860px;margin:34px auto 0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;border:1px solid var(--border);border-radius:22px;background:var(--card)}
.fit-bottom p,.handover-bottom p{color:var(--text-muted);line-height:1.75;margin:0}
.partner-strip-section{padding:88px 0 72px;background:#ffffff}
[data-theme="dark"] .partner-strip-section{background:#000000}
.partner-strip-section::after{content:'PARTNEREINK';position:absolute;right:-.04em;bottom:-.16em;font-family:'Orbitron',sans-serif;font-size:clamp(4.8rem,13vw,12rem);font-weight:900;letter-spacing:.1em;line-height:.82;color:var(--text);opacity:.025;pointer-events:none;user-select:none;white-space:nowrap}
.partner-strip-section .section-title{margin-bottom:38px}
.partner-strip-ticker{
    width:min(1120px,100%);margin:34px auto 0;overflow:hidden;position:relative;
    border:1px solid var(--border);border-radius:32px;background:#ffffff;box-shadow:var(--shadow-sm);
    padding:6px;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
[data-theme="dark"] .partner-strip-ticker{background:#000000}
.partner-strip-track{display:flex;align-items:center;width:max-content;gap:14px;padding:12px;animation:handoverTicker 30s linear infinite;will-change:transform}
.partner-strip-ticker:hover .partner-strip-track{animation-play-state:paused}
.partner-strip-item{
    min-height:68px;min-width:220px;padding:10px 22px 10px 10px;border:1px solid var(--border);background:#ffffff;border-radius:999px;box-shadow:none;
    display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;white-space:nowrap;flex:0 0 auto;
    color:var(--text);text-decoration:none;position:relative;overflow:hidden;
    transition:transform .35s var(--ease-bounce),box-shadow .3s ease,border-color .3s ease,background .3s ease;
}
.partner-strip-item:hover{transform:translateY(-4px) scale(1.04);border-color:var(--text);box-shadow:0 10px 24px rgba(0,0,0,.16);background:var(--card)}
[data-theme="dark"] .partner-strip-item{background:#000000}
[data-theme="dark"] .partner-strip-item:hover{box-shadow:0 10px 24px rgba(255,255,255,.08)}
.partner-strip-logo{width:48px;height:48px;border-radius:50%;background:var(--card-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.partner-strip-logo img{width:100%;height:100%;object-fit:contain;display:block}
.partner-strip-logo i{color:var(--text);font-size:.95rem}
.partner-strip-name{font-weight:850;color:var(--text);line-height:1.25;font-size:.9rem;max-width:180px;overflow-wrap:anywhere;white-space:normal}

.contact-popup-overlay{position:fixed;inset:0;z-index:99998;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.contact-popup-overlay.is-open{opacity:1;visibility:visible}
.contact-popup-container{background:var(--bg);border:2px solid var(--border);border-radius:28px;max-width:640px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 40px 100px rgba(0,0,0,.3);transform:translateY(24px);opacity:0;transition:transform .32s var(--ease-out),opacity .32s ease;position:relative}
.contact-popup-header{padding:32px 40px 24px;text-align:center;border-bottom:1.5px solid var(--border);background:var(--card-2);border-radius:26px 26px 0 0}
.contact-popup-header-icon{width:56px;height:56px;border-radius:16px;background:var(--gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin:0 auto 14px;box-shadow:0 8px 24px rgba(0,0,0,.15)}
[data-theme="dark"] .contact-popup-header-icon{color:var(--flip-fg)}
.contact-popup-header-title{font-family:'Orbitron',sans-serif;font-size:1.2rem;font-weight:900;text-transform:uppercase;letter-spacing:.5px;color:var(--text);margin-bottom:6px}
.contact-popup-header-sub{font-size:.83rem;color:var(--text-muted)}
.contact-popup-overlay.is-open .contact-popup-container{transform:translateY(0);opacity:1}
.contact-popup-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:2px solid var(--border);background:var(--card);color:var(--text);font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:all .2s ease}
.contact-popup-close:hover{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg);transform:rotate(90deg)}
.contact-form-panel{padding:0}
.form-card{border:none;border-radius:0;box-shadow:none;background:transparent}
.form-card-header{padding:36px 40px 28px;border-bottom:2px solid var(--border);display:flex;flex-direction:column;gap:8px;background:var(--card-2)}
.form-card-header>i{font-size:1.8rem;color:var(--text);margin-bottom:8px}
.form-card-header h2{font-family:'Orbitron',sans-serif;font-size:1.5rem;font-weight:900;color:var(--text);text-transform:uppercase;letter-spacing:.5px}
.form-card-header p{font-size:.88rem;color:var(--text-muted)}
#contactForm{padding:56px 40px 36px;position:relative}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}
.form-field{display:flex;flex-direction:column;gap:10px}
.contact-popup-overlay .form-field{opacity:0;transform:translateY(16px);transition:opacity .42s var(--ease-out),transform .42s var(--ease-out)}
.contact-popup-overlay .form-field.field-visible{opacity:1;transform:none}
.form-field-full{grid-column:1/-1}
.field-label{font-size:.85rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.8px;display:flex;align-items:center;gap:6px;transition:transform .2s var(--ease-out)}
.form-field:focus-within .field-label{letter-spacing:1.3px;transform:translateY(-1px)}
.required-star{color:#ef4444;font-size:.95rem}
.optional-tag{font-weight:600;font-size:.7rem;color:var(--text-muted);text-transform:none;letter-spacing:0;padding:3px 10px;background:var(--card-2);border-radius:6px}
.field-input-wrap{position:relative;display:flex;align-items:center;overflow:hidden}
.field-input-wrap::after{content:'';position:absolute;bottom:1px;left:2px;width:calc(100% - 4px);height:2px;background:var(--text);border-radius:0 0 10px 10px;pointer-events:none;z-index:3;transform:scaleX(0);transform-origin:left;transition:transform .38s var(--ease-out)}
.field-input-wrap:focus-within::after{transform:scaleX(1)}
.field-textarea-wrap{align-items:flex-start}
.field-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:1rem;pointer-events:none;z-index:2;transition:color .22s ease,transform .28s var(--ease-bounce)}
.field-icon-top{top:18px;transform:none}
.field-input-wrap:focus-within .field-icon{color:var(--text);transform:translateY(-50%) scale(1.18) rotate(-5deg)}
.field-input-wrap:focus-within .field-icon-top{transform:scale(1.14) rotate(-5deg)}
.field-input{width:100%;padding:15px 16px 15px 48px;background:var(--bg);border:2px solid var(--border);border-radius:12px;color:var(--text);font-size:.95rem;font-family:'Inter',sans-serif;transition:border-color .25s ease,box-shadow .25s ease;outline:none}
.field-input:focus{border-color:var(--text);box-shadow:0 0 0 4px rgba(0,0,0,.07),0 4px 14px rgba(0,0,0,.07)}
[data-theme="dark"] .field-input:focus{box-shadow:0 0 0 4px rgba(255,255,255,.08),0 4px 14px rgba(0,0,0,.15)}
.field-input::placeholder{color:var(--text-muted);opacity:.6}
.field-textarea{min-height:140px;resize:vertical;line-height:1.6}
.date-input{color-scheme:light;cursor:pointer}
[data-theme="dark"] .date-input{color-scheme:dark}
.date-input::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}
[data-theme="dark"] .date-input::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.6}
.field-error{font-size:.8rem;color:#ef4444;font-weight:600;display:none}
.field-error.is-visible{display:block}
.field-input.field-error-state{border-color:#ef4444;animation:fieldShake .4s var(--ease-out) both}
.form-submit-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:8px}
.privacy-note{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--text-muted);flex:1}
.privacy-note i{font-size:1rem;color:var(--text)}
.submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 40px;background:var(--gradient);color:#fff;border:none;border-radius:12px;font-weight:800;font-size:.85rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;font-family:'Inter',sans-serif;transition:transform .35s var(--ease-bounce),box-shadow .35s ease;min-width:200px;position:relative;overflow:hidden}
[data-theme="dark"] .submit-btn{color:var(--flip-fg)}
.submit-btn::after{content:'';position:absolute;top:-50%;left:0;width:55%;height:200%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.18),transparent);transform:translateX(-127.27%) skewX(-15deg);transition:transform .55s ease;pointer-events:none}
.submit-btn:hover:not(:disabled)::after{transform:translateX(245.45%) skewX(-15deg)}
.submit-btn:hover:not(:disabled){transform:translateY(-4px) scale(1.03);box-shadow:var(--shadow-lg)}
.submit-btn:disabled{opacity:.6;cursor:not-allowed}
.submit-btn--ghost{background:transparent;border:2px solid var(--border);color:var(--text);min-width:auto;padding:16px 24px}
.submit-btn--ghost::after{display:none}
[data-theme="dark"] .submit-btn--ghost{color:var(--text)}
.submit-btn--ghost:hover:not(:disabled){border-color:var(--text);transform:translateY(-3px);box-shadow:var(--shadow-sm);background:transparent}

.form-step-indicator{display:flex;align-items:center;gap:8px;position:absolute;top:28px;left:40px;z-index:1}
.fsi-item{font-family:'Orbitron',sans-serif;font-size:.78rem;font-weight:900;letter-spacing:3px;color:var(--text-muted);opacity:.28;transition:opacity .35s ease,color .35s ease}
.fsi-item.active{opacity:1;color:var(--text)}
.fsi-sep{font-size:.72rem;color:var(--text-muted);opacity:.28;font-weight:700;letter-spacing:1px}
.form-step{display:block}
.form-step.form-step--hidden{display:none}
.form-step.anim-enter-r{animation:stepEnterR .36s var(--ease-out) both}
.form-step.anim-enter-l{animation:stepEnterL .36s var(--ease-out) both}
@keyframes stepEnterR{from{opacity:0;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}
@keyframes stepEnterL{from{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:translateX(0)}}

.status-popup-overlay{position:fixed;inset:0;z-index:99999;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.status-popup-overlay.is-open{opacity:1;visibility:visible}
.status-popup-box{background:var(--bg);border:2px solid var(--border);border-radius:28px;padding:50px 44px 44px;max-width:480px;width:100%;text-align:center;box-shadow:0 40px 100px rgba(0,0,0,.3);transform:scale(.9) translateY(30px);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.status-popup-overlay.is-open .status-popup-box{transform:scale(1) translateY(0)}
.status-popup-icon{width:90px;height:90px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 28px;font-size:2.2rem}
.status-popup-icon.is-success{background:rgba(16,185,129,.15);color:#10b981;border:3px solid rgba(16,185,129,.3)}
.status-popup-icon.is-error{background:rgba(239,68,68,.15);color:#ef4444;border:3px solid rgba(239,68,68,.3)}
.status-popup-title{font-family:'Orbitron',sans-serif;font-size:1.5rem;font-weight:900;color:var(--text);text-transform:uppercase;margin-bottom:16px}
.status-popup-message{font-size:1rem;color:var(--text-muted);line-height:1.8;margin-bottom:36px}
.status-popup-btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 54px;background:var(--gradient);color:#fff;border:none;border-radius:12px;font-weight:800;font-size:.9rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;font-family:'Inter',sans-serif;transition:transform .3s var(--ease-bounce),box-shadow .3s ease}
[data-theme="dark"] .status-popup-btn{color:var(--flip-fg)}
.status-popup-btn:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}

.carousel-3d-viewport{position:relative;width:100%;max-width:1100px;margin:0 auto;overflow:hidden;padding:40px 0}
.carousel-3d-track{display:flex;align-items:center;justify-content:center;position:relative;height:440px;perspective:1200px}
.carousel-3d-item{position:absolute;width:320px;transition:transform .42s cubic-bezier(.23,1,.32,1),opacity .32s ease;backface-visibility:hidden;will-change:transform,opacity}
.carousel-3d-item[data-pos="-1"]{transform:translateX(-340px) rotateY(38deg) scale(.76);opacity:.38;z-index:1;pointer-events:none}
.carousel-3d-item[data-pos="0"]{transform:translateX(0) rotateY(0deg) scale(1);opacity:1;z-index:3}
.carousel-3d-item[data-pos="1"]{transform:translateX(340px) rotateY(-38deg) scale(.76);opacity:.38;z-index:1;pointer-events:none}
.carousel-3d-item[data-pos="hidden"]{transform:translateX(0) rotateY(90deg) scale(.3);opacity:0;z-index:0;pointer-events:none}

.carousel-3d-nav{display:flex;justify-content:center;gap:16px;margin-top:20px}
.carousel-3d-btn{width:50px;height:50px;border-radius:50%;border:2px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all .3s var(--ease-bounce)}
.carousel-3d-btn:hover{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg);transform:scale(1.1)}


.services{background-color:transparent;position:relative;overflow:hidden}
.services-container{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}

.services::before{content:'SERVICES';font-family:'Orbitron',sans-serif;font-weight:900;font-size:clamp(4rem,13vw,12rem);letter-spacing:.1em;text-transform:uppercase;color:var(--text);opacity:.025;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;user-select:none;pointer-events:none;z-index:0}
.services::after{content:'';position:absolute;top:0;left:clamp(32px,6vw,90px);width:2px;height:40%;background-color:var(--text);opacity:.07;border-radius:2px;pointer-events:none;z-index:0}
.svc-bg-dot{position:absolute;border-radius:50%;background-color:var(--text);pointer-events:none;z-index:0}
.svc-bg-dot--1{width:8px;height:8px;top:clamp(60px,10vw,120px);left:clamp(28px,5.6vw,86px);opacity:.18}
.svc-bg-dot--2{width:5px;height:5px;bottom:clamp(60px,10vw,120px);right:clamp(40px,7vw,100px);opacity:.12}
.flip-card{width:100%;height:400px;cursor:pointer;position:relative;border-radius:26px}
.flip-card-inner{
    position:relative;width:100%;height:100%;border-radius:26px;
    background:#ffffff;border:1px solid #111111;box-shadow:0 18px 42px rgba(0,0,0,0.08);
    overflow:hidden;will-change:transform;
    transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s cubic-bezier(.22,1,.36,1),border-color .45s ease;
}
.flip-card-inner::before{content:'';position:absolute;inset:-1px;background:radial-gradient(circle at var(--px,50%) var(--py,0%),rgba(0,0,0,0.09),transparent 55%);opacity:0;transition:opacity .55s ease;pointer-events:none;z-index:0;border-radius:inherit}
[data-theme="dark"] .flip-card-inner{background:#000000;border-color:#1f1f1f;box-shadow:0 18px 42px rgba(0,0,0,0.5)}
[data-theme="dark"] .flip-card-inner::before{background:radial-gradient(circle at var(--px,50%) var(--py,0%),rgba(255,255,255,0.1),transparent 55%)}
.flip-card-inner>*{position:relative;z-index:1}
.flip-card:hover .flip-card-inner{transform:translateY(-10px) scale(1.015);box-shadow:0 30px 62px rgba(0,0,0,0.18);border-color:var(--text)}
.flip-card:hover .flip-card-inner::before{opacity:1}
[data-theme="dark"] .flip-card:hover .flip-card-inner{box-shadow:0 30px 62px rgba(0,0,0,0.78)}
.flip-card-front{position:absolute;inset:0;border-radius:26px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 30px;overflow:hidden;background:transparent;border:none;box-shadow:none;color:var(--text);z-index:1}
.flip-card-back{display:none}
.service-icon-wrapper{width:85px;height:85px;margin-bottom:25px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gradient);box-shadow:var(--shadow-md)}
.service-icon{color:var(--btn-fg);font-size:2rem}
[data-theme="dark"] .service-icon{color:var(--flip-fg)}
.flip-card-front h3{font-size:1.4rem;margin-bottom:15px;color:var(--text);text-transform:uppercase;letter-spacing:1px;text-align:center;line-height:1.3}
.flip-card-front .service-short-desc{font-size:.9rem;color:var(--text-muted);text-align:center;margin-bottom:20px}
.flip-card-back .service-features{list-style:none;padding-left:0;width:100%}
.flip-card-back .service-features li{margin-bottom:15px;color:var(--flip-fg-muted);font-size:.95rem;position:relative;padding-left:25px;display:flex;align-items:center;gap:10px}
.flip-card-back .service-features li::before{content:'✓';color:var(--flip-fg);font-weight:bold;font-size:1.1rem;position:absolute;left:0}

.pricing-section{position:relative;padding:110px 0;background:#ffffff;overflow:hidden}
[data-theme="dark"] .pricing-section{background:#000000}
.pricing-section::before{content:'PRICING';font-family:'Orbitron',sans-serif;font-weight:900;font-size:clamp(4rem,14vw,12rem);letter-spacing:.1em;text-transform:uppercase;color:var(--text);opacity:.025;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;user-select:none;pointer-events:none;z-index:0}
.pricing-section::after{content:'';position:absolute;top:0;right:clamp(32px,6vw,90px);width:2px;height:38%;background-color:var(--text);opacity:.07;border-radius:2px;pointer-events:none;z-index:0}
.pricing-section .container{position:relative;z-index:1}
.pricing-subtitle{max-width:760px;margin:-26px auto 48px;text-align:center;color:var(--text-muted);line-height:1.8}
.pricing-container{max-width:1100px;margin:0 auto}
.pricing-card{position:relative;display:flex;flex-direction:column;gap:18px;padding:28px;border-radius:26px;background:#ffffff;border:1px solid #111111;box-shadow:0 18px 42px rgba(0,0,0,0.08);transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s cubic-bezier(.22,1,.36,1),border-color .45s ease,background-color .45s ease;min-height:340px;overflow:hidden;will-change:transform}
.pricing-card::before{content:'';position:absolute;inset:-1px;background:radial-gradient(circle at var(--px,50%) var(--py,0%),rgba(0,0,0,0.09),transparent 55%);opacity:0;transition:opacity .55s ease;pointer-events:none;z-index:0;border-radius:inherit}
[data-theme="dark"] .pricing-card::before{background:radial-gradient(circle at var(--px,50%) var(--py,0%),rgba(255,255,255,0.1),transparent 55%)}
.pricing-card>*{position:relative;z-index:1}
[data-theme="dark"] .pricing-card{background:#000000;border-color:#1f1f1f;box-shadow:0 18px 42px rgba(0,0,0,0.5)}
.pricing-card:hover{transform:translateY(-10px) scale(1.015);box-shadow:0 30px 62px rgba(0,0,0,0.18);border-color:var(--text)}
.pricing-card:hover::before{opacity:1}
.pricing-card:hover .pricing-icon{transform:rotate(-6deg) scale(1.08)}
.pricing-card:hover .pricing-price{transform:scale(1.02)}
.pricing-card:hover .pricing-chip{border-color:var(--text);transform:translateY(-2px)}
[data-theme="dark"] .pricing-card:hover{box-shadow:0 30px 62px rgba(0,0,0,0.78)}
.pricing-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.pricing-icon{width:68px;height:68px;border-radius:22px;background:var(--text);color:var(--bg);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;box-shadow:var(--shadow-md);transition:transform .55s cubic-bezier(.22,1,.36,1)}
.pricing-price-wrap{text-align:right;margin-left:auto}
.pricing-price-label{display:block;font-size:.7rem;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}
.pricing-price{font-family:'Orbitron',sans-serif;font-size:clamp(1.35rem,3vw,2rem);font-weight:900;letter-spacing:.04em;color:var(--text);line-height:1.15}
.pricing-price span:last-child{font-size:.78rem;letter-spacing:.14em;color:var(--text-muted);margin-left:6px}
.pricing-card-title{font-family:'Orbitron',sans-serif;font-size:1rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--text);line-height:1.45}
.pricing-card-desc{color:var(--text-muted);line-height:1.75;flex:1}
.pricing-card-foot{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.pricing-chip{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg);font-size:.72rem;font-weight:800;letter-spacing:.04em;color:var(--text);transition:border-color .35s ease,transform .45s cubic-bezier(.22,1,.36,1)}

.references-section{padding:100px 0;position:relative;overflow:hidden}
.references-section::before{content:'WORK';font-family:'Orbitron',sans-serif;font-weight:900;font-size:clamp(5rem,18vw,16rem);letter-spacing:.08em;text-transform:uppercase;color:var(--text);opacity:.025;position:absolute;bottom:-2rem;left:-1rem;white-space:nowrap;user-select:none;pointer-events:none;z-index:0;line-height:1}
.references-section::after{content:'';position:absolute;top:0;right:clamp(32px,6vw,90px);width:2px;height:50%;background-color:var(--text);opacity:.07;border-radius:2px;pointer-events:none;z-index:0}
.references-section .section-title{position:relative;z-index:1}
.references-container{position:relative;z-index:1;width:100%;margin:0 auto}
.works-ticker{position:relative;width:100%;margin:34px auto 0;padding:12px 0;overflow:hidden;border:1px solid var(--border);border-radius:999px;background:var(--card);box-shadow:var(--shadow-sm);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.works-track{display:flex;align-items:stretch;gap:12px;width:max-content;animation:handoverTicker 34s linear infinite;will-change:transform}
.works-ticker:hover .works-track{animation-play-state:paused}
.works-ticker-item{display:inline-flex;align-items:center;gap:12px;min-width:300px;max-width:360px;padding:12px 18px;border-radius:999px;background:var(--bg);border:1px solid var(--border);color:var(--text);white-space:nowrap}
.works-index{font-family:'Orbitron',sans-serif;font-size:.72rem;font-weight:900;color:var(--text-muted);letter-spacing:.12em}
.works-name{font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.works-desc{max-width:145px;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted);font-size:.82rem}
.works-link{display:inline-flex;align-items:center;gap:6px;color:var(--text);text-decoration:none;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.works-link:hover{text-decoration:underline;text-underline-offset:3px}

.ref-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    grid-auto-rows:220px;
    gap:16px;
    max-width:1100px;
    margin:0 auto;
}
.ref-grid-item{
    position:relative;overflow:hidden;border-radius:18px;
    background-size:cover;background-position:center;background-repeat:no-repeat;
    background-color:var(--card-2);
    border:1px solid var(--border);
    box-shadow:var(--shadow-sm);
    cursor:pointer;
    transition:transform .42s var(--ease-bounce),box-shadow .38s ease;
}
.ref-grid-item:nth-child(1),.ref-grid-item:nth-child(4){grid-row:span 2}
.ref-grid-item:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-lg)}
.ref-grid-item::before{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.18) 55%,transparent 100%);z-index:1;transition:opacity .35s ease}
.ref-grid-item:hover::before{opacity:.92}
.ref-grid-item::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 60%);opacity:0;z-index:2;transition:opacity .35s ease;pointer-events:none}
.ref-grid-item:hover::after{opacity:1}

.ref-grid-content{position:absolute;bottom:0;left:0;right:0;padding:20px 22px;z-index:3;transform:translateY(6px);transition:transform .35s var(--ease-out)}
.ref-grid-item:hover .ref-grid-content{transform:translateY(0)}
.ref-grid-name{font-family:'Orbitron',sans-serif;font-size:.82rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:1.2px;text-shadow:0 2px 8px rgba(0,0,0,.6);display:block;margin-bottom:10px}
.ref-grid-link{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;background:rgba(0,0,0,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;text-decoration:none;font-weight:700;border-radius:8px;font-size:.72rem;border:1px solid rgba(255,255,255,.22);letter-spacing:.5px;text-transform:uppercase;transition:background .22s ease,transform .22s var(--ease-bounce)}
.ref-grid-link:hover{background:rgba(0,0,0,.75);transform:translateY(-2px)}
.ref-grid-num{position:absolute;top:18px;right:18px;font-family:'Orbitron',sans-serif;font-size:.65rem;font-weight:900;color:rgba(255,255,255,.4);letter-spacing:2px;z-index:3}

.ref-grid-item.is-loading{background:var(--card-2)}
.references-empty{grid-column:1/-1;text-align:center;padding:48px 24px;color:var(--text-muted);font-size:.95rem;border:1px dashed var(--border);border-radius:18px;background:var(--card)}
.ref-grid-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;z-index:0}
.ref-grid-item:hover .ref-grid-img{transform:scale(1.05)}

@media(max-width:900px){
    .ref-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}
    .ref-grid-item:nth-child(1),.ref-grid-item:nth-child(4){grid-row:span 1}
    .ref-grid-item:nth-child(1){grid-row:span 2}
}
@media(max-width:768px){
    .pricing-card{min-height:auto}
}
@media(max-width:560px){
    .pricing-section{padding:88px 0}
    .pricing-subtitle{margin:-22px auto 34px}
    .pricing-card{padding:22px;min-height:auto}
    .pricing-card-head{flex-direction:column;align-items:flex-start}
    .pricing-price-wrap{text-align:left;margin-left:0}
    .ref-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:16px;max-width:100%;margin:0}
    .ref-grid-item:nth-child(n){grid-row:span 1}
    .ref-grid-item{width:100%;aspect-ratio:4/3;height:auto;border-radius:16px;display:flex;align-items:center;justify-content:center}
    .ref-grid-item::before{border-radius:16px}
    .ref-grid-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;transform:none;text-align:center}
    .ref-grid-item:hover .ref-grid-content{transform:none}
    .ref-grid-name{text-align:center;margin-bottom:14px;font-size:.85rem}
    .ref-grid-link{margin:0 auto}
    .ref-grid-num{display:none}
    .works-ticker{border-radius:18px;margin-top:28px}
    .works-track{gap:10px}
    .works-ticker-item{min-width:260px;max-width:280px;border-radius:16px;align-items:flex-start;flex-direction:column;white-space:normal;gap:6px}
    .works-desc{max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
}

footer{background-color:var(--footer-bg);padding:20px 0 10px;text-align:center}
.footer-content{max-width:800px;margin:0 auto}
.footer-logo{font-family:'Orbitron',sans-serif;font-size:1.4rem;font-weight:800;margin-bottom:8px;color:var(--text);text-transform:uppercase;letter-spacing:2px;display:flex;align-items:center;justify-content:center;gap:8px}
.footer-icon{color:var(--text)}
.footer-content p{font-size:.75rem;color:var(--text);margin-bottom:6px}
.copyright{margin-top:15px;padding-top:10px;border-top:1px solid var(--footer-border);font-size:.7rem;color:var(--text)}
.footer-company-meta{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:8px 0;font-size:.72rem;font-weight:700;color:var(--text-muted)}
.footer-legal-links{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:12px 0}
.footer-legal-link{display:inline-flex;align-items:center;gap:6px;color:var(--text);text-decoration:none;font-weight:700;font-size:.72rem;letter-spacing:.5px;text-transform:uppercase;padding:8px 18px;border-radius:999px;border:1.5px solid var(--border);background:var(--bg);transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease}
.footer-legal-link:hover{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg);transform:translateY(-2px)}
.footer-google-profile{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:max-content;max-width:100%;margin:8px auto 0;color:var(--text);text-decoration:none;font-weight:800;font-size:.72rem;letter-spacing:.5px;text-transform:uppercase;padding:9px 20px;border-radius:999px;border:1.5px solid var(--border);background:var(--bg);transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease}
.footer-google-profile i{color:#4285f4}
.footer-google-profile:hover{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg);transform:translateY(-2px)}
.footer-google-profile:hover i{color:inherit}
.love{color:var(--text);margin-top:6px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:5px;font-size:.7rem}
.heart{color:var(--text);display:inline-block;animation:heartbeat 1.5s infinite;will-change:transform}
.back-to-top{position:fixed;bottom:30px;right:30px;width:45px;height:45px;background:var(--gradient);color:#fff;border:none;border-radius:50%;font-size:1.1rem;cursor:pointer;opacity:0;visibility:hidden;z-index:999;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:opacity .3s ease,visibility .3s ease,transform .3s ease,box-shadow .3s ease}
[data-theme="dark"] .back-to-top{color:var(--flip-fg)}
.back-to-top.visible{opacity:1;visibility:visible}
.back-to-top:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
@keyframes heartbeat{0%{transform:scale(1)}5%{transform:scale(1.2)}10%{transform:scale(1)}15%{transform:scale(1.2)}20%{transform:scale(1)}100%{transform:scale(1)}}

@media(max-width:1200px){
    .carousel-3d-item{width:280px}
    .carousel-3d-item[data-pos="-1"]{transform:translateX(-300px) rotateY(25deg) scale(.85)}
    .carousel-3d-item[data-pos="1"]{transform:translateX(300px) rotateY(-25deg) scale(.85)}
    .desktop-nav{padding:4px}
    .nav-button{padding:7px 12px;font-size:.65rem;letter-spacing:1.1px}
}

@media(max-width:992px){
    .hamburger{display:flex}
    .desktop-nav{display:none}
    .header-separator{display:none}
    .header-right-sep{display:none}
    .logo{font-size:1.5rem}
    .header-container{display:flex;justify-content:space-between;padding:0 20px}
    .hero{padding:0;text-align:center}
    .hero-content{flex-direction:column;gap:24px;padding:90px 24px 70px;align-items:center}
    .hero-text{text-align:center}
    .hero-text h1{font-size:2.1rem}
    .hero-description{margin-left:auto;margin-right:auto}
    .hero-cta{justify-content:center}
    .hero-separator{display:none}
    .vertical-text-container{display:none}
    .hero-content-right{display:none}
    .section-title{font-size:2rem}
    .mega-card-inner{grid-template-columns:1fr}
    .mega-card-map{min-height:280px}
    .carousel-3d-track{height:420px}
    .carousel-3d-item{width:260px}
    .carousel-3d-item[data-pos="-1"]{transform:translateX(-260px) rotateY(20deg) scale(.8);opacity:.5}
    .carousel-3d-item[data-pos="1"]{transform:translateX(260px) rotateY(-20deg) scale(.8);opacity:.5}
    .flip-card{height:380px}
    .fit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .fit-bottom,.handover-bottom{flex-direction:column;text-align:center}
}

@media(max-width:768px){
    .carousel-3d-track{perspective:none;height:auto !important;display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px 0}
    .carousel-3d-nav{display:none}
    .carousel-3d-viewport{padding-bottom:0;overflow:visible}
    .carousel-3d-item{width:min(380px,calc(100vw - 32px));position:relative !important;opacity:1 !important;transform:none !important;pointer-events:auto !important;z-index:1 !important}
    .carousel-3d-item[data-pos="-1"],.carousel-3d-item[data-pos="1"],.carousel-3d-item[data-pos="hidden"]{opacity:1 !important;pointer-events:auto !important;position:relative !important;transform:none !important}
    .carousel-3d-item[data-pos="0"]{transform:none !important;position:relative !important}
    .mega-card{border-radius:20px}
    .mega-card-info{padding:32px 28px}
    .mega-card-map{min-height:240px}
    .reference-card-3d{height:340px}
    .flip-card{height:360px}
    .section-title{font-size:1.7rem}
    #contactForm{padding:60px 20px 24px}
    .form-step-indicator{top:20px;left:20px}
    .form-grid{grid-template-columns:1fr;gap:20px}
    .form-submit-row{flex-direction:column;gap:12px}
    .form-submit-row.form-submit-row--split{flex-direction:row}
    .submit-btn{width:100%;min-width:auto}
    .submit-btn--ghost{width:auto;min-width:auto;flex-shrink:0}
    .privacy-note{text-align:center;justify-content:center}
    .contact-popup-container{border-radius:20px}
    .fit-section,.handover-section,.partner-strip-section{padding:82px 0}
    .fit-subtitle,.handover-subtitle,.partner-strip-subtitle{margin-top:-18px}
    .fit-card{border-radius:18px;padding:22px;min-height:140px}
    .handover-section{padding:72px 0}
    .handover-ticker{border-radius:18px;mask-image:none;-webkit-mask-image:none}
    .handover-track{animation-duration:24s;padding:10px;gap:10px}
    .handover-item{min-height:44px;padding:8px 14px 8px 8px}
    .handover-item span{font-size:.8rem}
    .handover-bottom{margin-top:26px}
    .partner-strip-section{padding:68px 0}
    .partner-strip-section::after{font-size:4.2rem;bottom:-.08em}
    .partner-strip-section .section-title{margin-bottom:28px}
    .partner-strip-ticker{border-radius:18px;mask-image:none;-webkit-mask-image:none}
    .partner-strip-track{animation-duration:24s;padding:10px;gap:10px}
    .partner-strip-item{min-height:58px;min-width:205px;padding:8px 16px 8px 8px}
    .partner-strip-name{font-size:.8rem}
}

@media(max-width:520px){
    body.city-landing-page .hero-content{padding:84px 18px 60px}
    body.city-landing-page .hero-text h1{
        font-size:clamp(1.42rem,6.4vw,1.68rem);
        line-height:1.12;
        letter-spacing:.4px;
        overflow-wrap:break-word;
        word-break:normal;
        hyphens:auto
    }
}

@media(max-width:390px){
    body.city-landing-page .hero-text h1{
        font-size:clamp(1.26rem,7vw,1.5rem);
        line-height:1.1;
        letter-spacing:.2px
    }
}

@media(max-width:480px){
    .carousel-3d-item{width:min(360px,calc(100vw - 24px))}
    .carousel-3d-track{height:auto;perspective:none;position:relative;min-height:unset}
    .mega-card-info{padding:24px 20px}
    .mega-card{border-radius:16px}
    .mega-card-map{min-height:200px}
    .flip-card{height:340px}
    .hero-text h1{font-size:1.75rem}
    .reference-card-3d{height:300px}
    .form-submit-row.form-submit-row--split{flex-direction:row;gap:10px}
    .submit-btn--ghost{padding:14px 16px;font-size:.78rem}
    .fit-grid{grid-template-columns:1fr}
    .fit-card{min-height:132px}
    .fit-bottom,.handover-bottom{padding:22px 18px}
    .fit-card{width:100%;min-width:0}
    .fit-card span{font-size:.98rem}
    .handover-ticker{width:calc(100vw - 28px);margin-left:50%;transform:translateX(-50%)}
    .handover-track{animation-duration:20s}
    .handover-item{gap:9px}
    .handover-item i{width:30px;height:30px;font-size:.78rem}
    .partner-strip-ticker{width:calc(100vw - 28px);margin-left:50%;transform:translateX(-50%)}
    .partner-strip-track{animation-duration:20s}
    .partner-strip-item{gap:9px;min-width:190px;max-width:240px}
    .partner-strip-logo{width:38px;height:38px}
    .partner-strip-name{max-width:150px}
}

.contacts-section{padding:100px 0;position:relative;overflow:hidden}

.contacts-bg-deco{position:absolute;inset:0;pointer-events:none;z-index:0}
.contacts-bg-word{font-family:'Orbitron',sans-serif;font-weight:900;font-size:clamp(5rem,14vw,13rem);letter-spacing:.12em;text-transform:uppercase;color:var(--text);opacity:.028;position:absolute;bottom:-1rem;right:-1rem;white-space:nowrap;user-select:none;line-height:1}
.contacts-bg-line{position:absolute;background-color:var(--text);opacity:.07;border-radius:2px}
.contacts-bg-line--1{width:2px;height:55%;top:0;left:clamp(32px,6vw,90px)}
.contacts-bg-line--2{width:100%;height:2px;bottom:clamp(60px,10vw,120px);left:0;opacity:.04}
.contacts-bg-dot{position:absolute;border-radius:50%;background-color:var(--text)}
.contacts-bg-dot--1{width:8px;height:8px;top:clamp(60px,10vw,120px);left:clamp(28px,5.6vw,86px);opacity:.18}
.contacts-bg-dot--2{width:5px;height:5px;bottom:clamp(56px,9.5vw,116px);right:clamp(40px,7vw,100px);opacity:.12}
.contacts-bg-dot--3{width:6px;height:6px;top:45%;left:clamp(28px,5.6vw,86px);opacity:.1}

.contacts-section .section-title{position:relative;z-index:1}

.contact-master-card{
    position:relative;z-index:1;
    display:grid;grid-template-columns:1fr auto 1fr;
    max-width:1060px;margin:0 auto;
    background:var(--card);
    border:1.5px solid var(--border);
    border-radius:28px;
    overflow:hidden;
    box-shadow:var(--shadow-lg);
    transition:box-shadow .4s ease;
}
.contact-master-card:hover{box-shadow:0 24px 72px rgba(0,0,0,.14)}
[data-theme="dark"] .contact-master-card:hover{box-shadow:0 24px 72px rgba(0,0,0,.55)}

.cmc-left{padding:52px 48px;display:flex;flex-direction:column;gap:36px;min-width:0}
.cmc-intro{font-size:.95rem;color:var(--text-muted);line-height:1.75;max-width:380px}

.cmc-info-list{display:flex;flex-direction:column;gap:4px}
.cmc-info-row{
    display:flex;align-items:center;gap:16px;
    padding:14px 16px;border-radius:14px;
    text-decoration:none;color:var(--text);
    border:1.5px solid transparent;
    transition:background .22s ease,border-color .22s ease,transform .28s var(--ease-bounce);
    position:relative;
}
.cmc-info-row:not(.cmc-info-row--static):hover{
    background:var(--bg);
    border-color:var(--border);
    transform:translateX(6px);
}
.cmc-info-row:not(.cmc-info-row--static):hover .cmc-info-arrow{opacity:1;transform:translateX(4px)}
.cmc-info-icon{
    width:44px;height:44px;flex-shrink:0;border-radius:12px;
    background:var(--gradient);color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-size:1rem;
    transition:transform .3s var(--ease-bounce);
}
[data-theme="dark"] .cmc-info-icon{color:var(--flip-fg)}
.cmc-info-row:hover .cmc-info-icon{transform:scale(1.1) rotate(6deg)}
.cmc-info-body{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}
.cmc-info-label{font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:1.6px;color:var(--text-muted)}
.cmc-info-value{font-size:.9rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmc-info-arrow{font-size:.75rem;color:var(--text-muted);opacity:0;transition:opacity .22s ease,transform .28s var(--ease-bounce)}

.cmc-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.cmc-social{display:flex;gap:10px}
.cmc-social-pill{
    width:44px;height:44px;border-radius:50%;
    border:1.5px solid var(--border);background:var(--bg);color:var(--text);
    display:flex;align-items:center;justify-content:center;
    font-size:.95rem;text-decoration:none;
    transition:all .3s var(--ease-bounce);
}
.cmc-social-pill:hover{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg);transform:translateY(-4px) scale(1.12);box-shadow:var(--shadow-md)}

.cmc-divider{width:1.5px;background:var(--border);margin:40px 0;flex-shrink:0}

.cmc-right{min-height:480px;background:var(--card-2);position:relative;overflow:hidden}
.cmc-map-wrap{position:absolute;inset:0}
.cmc-map-wrap iframe{width:100%;height:100%;border:0;display:block}

@media(max-width:900px){
    .contact-master-card{grid-template-columns:1fr;grid-template-rows:auto auto}
    .cmc-divider{width:100%;height:1.5px;margin:0 40px;width:calc(100% - 80px)}
    .cmc-right{min-height:260px}
    .cmc-left{padding:38px 36px}
    .contacts-bg-word{font-size:clamp(4rem,20vw,8rem)}
}
@media(max-width:600px){
    .cmc-left{padding:28px 24px;gap:26px}
    .cmc-bottom{flex-direction:column;align-items:center;gap:16px}
    .cmc-social{justify-content:center}
    .cmc-bottom .cta-button{width:100%;justify-content:center}
    .cmc-divider{margin:0 24px;width:calc(100% - 48px)}
    .cmc-right{min-height:220px}
}
.service-icon-wrapper{flex-shrink:0;aspect-ratio:1;min-width:85px;min-height:85px}

.workflow-section{
    padding:100px 0;
    position:relative;
    overflow:hidden;
    background:var(--bg-alt);
}
[data-theme="dark"] .workflow-section{background:#000000}
.workflow-section .container{position:relative;z-index:1}

.workflow-bg-deco{position:absolute;inset:0;pointer-events:none;z-index:0}
.workflow-bg-word{
    font-family:'Orbitron',sans-serif;font-weight:900;
    font-size:clamp(5rem,16vw,14rem);letter-spacing:.12em;text-transform:uppercase;
    color:var(--text);opacity:.025;
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    white-space:nowrap;user-select:none;line-height:1;
}
.workflow-bg-line{position:absolute;background-color:var(--text);opacity:.07;border-radius:2px}
.workflow-bg-line--1{width:2px;height:65%;top:0;right:clamp(32px,6vw,90px)}
.workflow-bg-dot{position:absolute;border-radius:50%;background-color:var(--text)}
.workflow-bg-dot--1{width:8px;height:8px;top:clamp(60px,10vw,120px);right:clamp(28px,5.6vw,86px);opacity:.18}
.workflow-bg-dot--2{width:5px;height:5px;bottom:clamp(60px,10vw,120px);left:clamp(40px,7vw,100px);opacity:.12}

.workflow-subtitle{
    text-align:center;font-size:.95rem;color:var(--text-muted);
    margin-top:-30px;margin-bottom:64px;letter-spacing:.5px;
}

.workflow-timeline{
    position:relative;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    align-items:start;
}

.workflow-progress-line{
    position:absolute;
    top:32px;
    left:calc(12.5% + 8px);
    right:calc(12.5% + 8px);
    height:2px;
    background:var(--border);
    z-index:0;
    border-radius:2px;
    overflow:hidden;
}
.workflow-progress-line::after{
    content:'';
    position:absolute;
    inset:0;width:100%;
    background:var(--gradient);
    border-radius:2px;
    transform:scaleX(0);
    transform-origin:left;
    will-change:transform;
    transition:transform 1.4s cubic-bezier(.23,1,.32,1) .2s;
}
.workflow-section.wf-visible .workflow-progress-line::after{transform:scaleX(1)}

.workflow-step{
    position:relative;
    display:flex;flex-direction:column;
    align-items:center;
    gap:18px;
    z-index:1;
}

.workflow-step-indicator{
    display:flex;align-items:center;justify-content:center;
    position:relative;z-index:2;
    flex-shrink:0;
}
.workflow-step-node{
    width:64px;height:64px;border-radius:50%;
    background:var(--gradient);
    border:3px solid var(--bg-alt);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 0 0 3px var(--border),var(--shadow-md);
    transition:transform .6s cubic-bezier(.23,1,.32,1),box-shadow .6s cubic-bezier(.23,1,.32,1);
    will-change:transform;
}
.workflow-step:hover .workflow-step-node{
    transform:scale(1.18);
    box-shadow:0 0 0 4px var(--text),0 12px 32px rgba(0,0,0,.18);
}
.workflow-step-roman{
    font-family:'Orbitron',sans-serif;font-weight:900;
    font-size:.7rem;letter-spacing:1px;
    color:#fff;
    pointer-events:none;
}
[data-theme="dark"] .workflow-step-roman{color:var(--flip-fg)}

.workflow-step-card{
    background:#ffffff;
    border:1px solid #111111;
    border-radius:20px;
    box-shadow:0 18px 42px rgba(0,0,0,0.08);
    padding:26px 22px;
    width:100%;
    display:flex;flex-direction:column;gap:14px;
    transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s cubic-bezier(.22,1,.36,1),border-color .45s ease;
    will-change:transform;
    position:relative;overflow:hidden;
}
.workflow-step-card::before{content:'';position:absolute;inset:-1px;background:radial-gradient(circle at var(--px,50%) var(--py,0%),rgba(0,0,0,0.09),transparent 55%);opacity:0;transition:opacity .55s ease;pointer-events:none;z-index:0;border-radius:inherit}
[data-theme="dark"] .workflow-step-card{background:#000000;border-color:#1f1f1f;box-shadow:0 18px 42px rgba(0,0,0,0.5)}
[data-theme="dark"] .workflow-step-card::before{background:radial-gradient(circle at var(--px,50%) var(--py,0%),rgba(255,255,255,0.1),transparent 55%)}
.workflow-step-card>*{position:relative;z-index:1}
.workflow-step:hover .workflow-step-card{
    transform:translateY(-10px) scale(1.015);
    box-shadow:0 30px 62px rgba(0,0,0,0.18);
    border-color:var(--text);
}
.workflow-step:hover .workflow-step-card::before{opacity:1}
[data-theme="dark"] .workflow-step:hover .workflow-step-card{
    box-shadow:0 30px 62px rgba(0,0,0,0.78);
}

.workflow-step-icon-wrap{
    width:50px;height:50px;border-radius:14px;
    background:var(--gradient);
    display:flex;align-items:center;justify-content:center;
    font-size:1.15rem;color:#fff;
    flex-shrink:0;
    transition:transform .6s cubic-bezier(.23,1,.32,1),border-radius .5s cubic-bezier(.23,1,.32,1);
    will-change:transform;
}
[data-theme="dark"] .workflow-step-icon-wrap{color:var(--flip-fg)}
.workflow-step:hover .workflow-step-icon-wrap{transform:rotate(10deg) scale(1.12);border-radius:18px}

.workflow-step-title{
    font-family:'Orbitron',sans-serif;
    font-size:.88rem;font-weight:900;
    text-transform:uppercase;letter-spacing:.8px;
    color:var(--text);line-height:1.3;
}

.workflow-step-desc{
    font-size:.82rem;color:var(--text-muted);line-height:1.72;
    flex:1;
}

.workflow-checklist{
    list-style:none;
    display:flex;flex-direction:column;gap:7px;
}
.workflow-checklist li{
    display:flex;align-items:center;gap:10px;
    font-size:.78rem;color:var(--text-muted);
    padding:7px 10px;
    background:var(--bg);
    border-radius:9px;
    border:1px solid var(--border);
    transition:background .4s cubic-bezier(.23,1,.32,1),border-color .4s cubic-bezier(.23,1,.32,1),color .35s ease,transform .4s cubic-bezier(.23,1,.32,1);
}
.workflow-checklist li:hover{
    background:var(--card-2);
    border-color:var(--text);
    color:var(--text);
    transform:translateX(4px);
}
.workflow-checklist li i{
    width:20px;height:20px;border-radius:50%;
    background:var(--gradient);
    display:flex;align-items:center;justify-content:center;
    font-size:.62rem;color:#fff;
    flex-shrink:0;
}
[data-theme="dark"] .workflow-checklist li i{color:var(--flip-fg)}

.workflow-cta-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:12px 20px;
    background:var(--gradient);color:#fff;
    border:none;border-radius:12px;
    font-weight:800;font-size:.77rem;letter-spacing:.8px;text-transform:uppercase;
    cursor:pointer;font-family:'Inter',sans-serif;
    position:relative;overflow:hidden;
    transition:transform .3s var(--ease-bounce),box-shadow .3s ease;
    margin-top:4px;
    width:100%;
}
[data-theme="dark"] .workflow-cta-btn{color:var(--flip-fg)}
.workflow-cta-btn::after{
    content:'';position:absolute;
    top:-50%;left:0;width:55%;height:200%;
    background:linear-gradient(105deg,transparent,rgba(255,255,255,.2),transparent);
    transform:translateX(-127.27%) skewX(-15deg);transition:transform .55s ease;pointer-events:none;
}
.workflow-cta-btn:hover::after{transform:translateX(245.45%) skewX(-15deg)}
.workflow-cta-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}

.workflow-step{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .55s ease,transform .55s var(--ease-out);
}
.workflow-section.wf-visible .workflow-step:nth-child(2){opacity:1;transform:translateY(0);transition-delay:.05s}
.workflow-section.wf-visible .workflow-step:nth-child(3){opacity:1;transform:translateY(0);transition-delay:.18s}
.workflow-section.wf-visible .workflow-step:nth-child(4){opacity:1;transform:translateY(0);transition-delay:.31s}
.workflow-section.wf-visible .workflow-step:nth-child(5){opacity:1;transform:translateY(0);transition-delay:.44s}

.workflow-mobile-dots{display:none}

@media(max-width:768px){
    .workflow-timeline{
        grid-template-columns:1fr;
        gap:24px;
    }
    .workflow-progress-line{display:none}
    .workflow-step{padding:0;opacity:1;transform:none}
    .workflow-section.wf-visible .workflow-step:nth-child(n){opacity:1;transform:none;transition-delay:0s}
}



.ref-grid-desc{font-size:.73rem;color:rgba(255,255,255,.72);margin-bottom:10px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}



[data-reveal]{opacity:0;will-change:opacity,transform;transition:opacity .68s var(--ease-out),transform .68s var(--ease-out)}
[data-reveal="up"]{transform:translateY(36px)}
[data-reveal="left"]{transform:translateX(-36px)}
[data-reveal="right"]{transform:translateX(36px)}
[data-reveal="scale"]{transform:scale(.85)}
[data-reveal="fade"]{transform:none}
[data-reveal="flip"]{transform:perspective(700px) rotateX(16deg) translateY(28px)}
[data-reveal].revealed{opacity:1;transform:none}


.hero-intro{opacity:1;transform:none;transition:opacity .55s var(--ease-out),transform .55s var(--ease-out)}
.hero-intro.hero-intro-in{opacity:1;transform:none}
.hero-description{opacity:1;transform:none;transition:opacity .55s var(--ease-out),transform .55s var(--ease-out)}
.hero-description.hero-desc-in{opacity:1;transform:none}
.hero-cta{opacity:1;transform:none;transition:opacity .55s var(--ease-out),transform .55s var(--ease-out)}
.hero-cta.hero-cta-in{opacity:1;transform:none}
.hero-word{display:block;overflow:hidden;line-height:1.18}
.hero-word::after{content:attr(data-text);display:none}
.hero-word span,.hero-word{clip-path:inset(0 0 0 0);transform:none;transition:clip-path .62s var(--ease-out),transform .62s var(--ease-out)}
.hero-word.hero-word-in{clip-path:inset(0 0 0% 0);transform:translateY(0)}


.hero-text h1:hover{animation:none}
@keyframes glitchShift{
    0%,100%{clip-path:inset(0 0 95% 0);transform:translateX(0)}
    20%{clip-path:inset(10% 0 60% 0);transform:translateX(-4px)}
    40%{clip-path:inset(50% 0 30% 0);transform:translateX(4px)}
    60%{clip-path:inset(20% 0 70% 0);transform:translateX(-3px)}
    80%{clip-path:inset(70% 0 5% 0);transform:translateX(2px)}
}
.hero-text h1{position:relative}
.hero-text h1::before,.hero-text h1::after{content:attr(data-text);position:absolute;inset:0;opacity:0;pointer-events:none}
.hero-text h1:hover::before{opacity:.6;color:#fff;mix-blend-mode:difference;animation:glitchShift .4s steps(1) 1}
.hero-text h1:hover::after{opacity:.4;color:var(--text);animation:glitchShift .4s steps(1) .08s 1}


.section-title[data-reveal]{opacity:0;transform:translateY(30px) skewY(2deg);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.section-title[data-reveal].revealed{opacity:1;transform:translateY(0) skewY(0)}


.ref-grid-item[data-reveal]:nth-child(2){transition-delay:.09s}
.ref-grid-item[data-reveal]:nth-child(3){transition-delay:.18s}
.ref-grid-item[data-reveal]:nth-child(4){transition-delay:.27s}
.ref-grid-item[data-reveal]:nth-child(5){transition-delay:.36s}
.ref-grid-item[data-reveal]:nth-child(6){transition-delay:.45s}


@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.hero-separator{animation:floatY 5s ease-in-out infinite}
.hero-dot:first-child{animation:floatY 4.2s ease-in-out infinite .4s}


@keyframes marqueeLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hero-ticker{position:absolute;bottom:8%;left:0;width:100%;overflow:hidden;pointer-events:none;user-select:none;z-index:0;white-space:nowrap;opacity:.028}
.hero-ticker-inner{display:inline-flex;gap:0;animation:marqueeLeft 22s linear infinite;font-family:'Orbitron',sans-serif;font-size:clamp(3rem,10vw,8rem);font-weight:900;color:var(--text);text-transform:uppercase;letter-spacing:.15em}
.hero-ticker-inner span{padding:0 2rem}
@media(prefers-reduced-motion:reduce){
    [data-reveal]{transition:none}
    .hero-ticker-inner{animation:none}
    .handover-track,.works-track,.partner-strip-track{animation:none}
    .hero-separator{animation:none}
}
@media(max-width:768px){
    .hero-ticker-inner{animation:none}
    .hero-separator{animation:none}
    .hero-dot{animation:none}
    .hero-scroll-inner{animation:none}
    .heart{animation:none}
    body.page-exit{animation:none}
    body.page-enter{animation:none}
    .theme-transition-overlay.animating{animation:none}
}

@keyframes fieldShake{0%,100%{transform:translateX(0)}15%{transform:translateX(-7px)}30%{transform:translateX(7px)}45%{transform:translateX(-5px)}60%{transform:translateX(5px)}75%{transform:translateX(-2px)}90%{transform:translateX(2px)}}
.btn-ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.28);transform:translate(-50%,-50%) scale(0);pointer-events:none;animation:btnRippleAnim .65s var(--ease-out) forwards;z-index:10;width:0;height:0}
@keyframes btnRippleAnim{to{width:320px;height:320px;opacity:0}}


.hero-stats{display:flex;align-items:center;gap:24px;margin-top:36px;padding-top:28px;border-top:1px solid var(--border);opacity:1;transform:none;transition:opacity .55s var(--ease-out),transform .55s var(--ease-out);transition-delay:1s}
.hero-cta.hero-cta-in~.hero-stats{opacity:1;transform:none}
.hero-stat-item{display:flex;flex-direction:column;gap:3px}
.hero-stat-num{font-family:'Orbitron',sans-serif;font-size:1.5rem;font-weight:900;color:var(--text);line-height:1;letter-spacing:-.02em}
.hero-stat-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted)}
.hero-stat-sep{width:1px;height:36px;background:var(--border);flex-shrink:0;border-radius:1px}


.hero-scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-muted);text-decoration:none;opacity:.45;transition:opacity .3s ease}
.hero-scroll:hover{opacity:.9}
.hero-scroll-inner{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.85rem;background:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:heroScrollBounce 2.2s ease-in-out infinite}
@keyframes heroScrollBounce{0%,100%{transform:translateY(0)}55%{transform:translateY(7px)}}


@media(max-width:768px){
    .carousel-3d-item[data-pos="-1"],.carousel-3d-item[data-pos="1"],.carousel-3d-item[data-pos="hidden"]{opacity:1 !important;pointer-events:auto !important;transform:none !important;position:relative !important}
    .carousel-3d-track{perspective:none}
}


@media(max-width:600px){
    .workflow-timeline.wf-slider-active{display:block;position:relative}
    .workflow-timeline.wf-slider-active .workflow-progress-line{display:none}
    .workflow-timeline.wf-slider-active .workflow-step{display:none;opacity:0;transform:translateY(24px)}
    .workflow-timeline.wf-slider-active .workflow-step[data-wf-pos="active"]{display:flex;opacity:1;transform:none;transition:opacity .42s var(--ease-out),transform .42s var(--ease-out)}
    .wf-slider-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:24px}
    .wf-slider-btn{width:46px;height:46px;border-radius:50%;border:2px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .3s var(--ease-bounce)}
    .wf-slider-btn:hover{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg);transform:scale(1.1)}
    .wf-slider-dots{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--card);border:1px solid var(--border);border-radius:999px}
    .wf-slider-dot{width:22px;height:8px;border-radius:999px;background:var(--border);border:none;cursor:pointer;padding:0;transition:width .45s cubic-bezier(.22,1,.36,1),background-color .3s ease;position:relative;overflow:hidden}
    .wf-slider-dot::before{content:'';position:absolute;inset:0;border-radius:inherit;background:var(--gradient);transform:translateX(-101%);transition:transform .5s cubic-bezier(.22,1,.36,1)}
    .wf-slider-dot:hover{background:var(--text-muted)}
    .wf-slider-dot.active{width:48px;background:transparent}
    .wf-slider-dot.active::before{transform:translateX(0)}
    .wf-slider-counter{font-family:'Orbitron',sans-serif;font-size:.7rem;font-weight:900;color:var(--text-muted);letter-spacing:1px;min-width:36px;text-align:center}
}
@media(min-width:601px){.wf-slider-controls{display:none}}


@media(max-width:992px){
    .hero{padding:0;min-height:100svh;height:100dvh}
    .hero-content{flex-direction:column;gap:20px;padding:80px 24px 60px;text-align:center;align-items:center;justify-content:center}
    .hero-text{text-align:center;width:100%;max-width:520px;display:flex;flex-direction:column;align-items:center;justify-content:center}
    .hero-text h1{font-size:2.1rem;text-align:center;display:flex;flex-direction:column;align-items:center}
    .hero-intro{justify-content:center}
    .hero-description{margin-left:auto;margin-right:auto;text-align:center}
    .hero-cta{justify-content:center}
    .hero-separator{display:none}
    .vertical-text-container{display:none}
    .hero-stats{justify-content:center}
}
@media(max-width:480px){
    .hero-text h1{font-size:1.7rem}
    .hero-stats{gap:14px;margin-top:16px;padding-top:16px}
    .hero-stat-num{font-size:1.2rem}
    .hero-stat-sep{height:28px}
    .hero-content{padding:76px 20px 52px;justify-content:center;align-items:center}
}


.hero-ticker-inner{will-change:transform}
.hero-scroll-inner{will-change:transform}

#contactsContainer{min-height:320px}
#servicesTrack{min-height:380px}
#pricingCarousel{min-height:300px}
@media(max-width:768px){#servicesTrack,#pricingCarousel{min-height:unset}}
#referencesGrid{min-height:82px}

.contacts-section,
.workflow-section,
.services,
.fit-section,
.handover-section,
.partner-strip-section,
.pricing-section,
.references-section{content-visibility:auto;contain-intrinsic-size:0 480px}


@keyframes pageExit{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-18px)}}
@keyframes pageEnter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
body.page-exit{animation:pageExit .28s ease forwards;pointer-events:none}
body.page-enter{animation:pageEnter .36s ease both}

.pricing-flip-price{font-size:1.6rem;font-weight:900;color:var(--text);margin-top:12px;line-height:1.1}
.pricing-flip-price span{font-size:0.9rem;font-weight:600;opacity:0.7}
.pricing-flip-back{display:flex;align-items:flex-start;justify-content:center;padding:24px 20px;overflow-y:auto}
.pricing-flip-desc{font-size:0.92rem;line-height:1.65;color:var(--flip-fg-muted);text-align:left;overflow-y:auto;max-height:100%;width:100%}


#pricing .flip-card-back.pricing-flip-back{
    display:flex;
    position:absolute;inset:0;
    border-radius:26px;
    background:var(--flip-bg);
    align-items:center;justify-content:center;
    padding:32px 28px;
    opacity:0;
    transition:opacity .38s ease;
    z-index:2;
}
#pricing .flip-card-front{
    transition:opacity .28s ease;
    z-index:1;
}
#pricing .flip-card:hover .flip-card-front{opacity:0}
#pricing .flip-card:hover .flip-card-back.pricing-flip-back{opacity:1}
#pricing .pricing-flip-desc{color:var(--flip-fg-muted);font-size:1rem;line-height:1.7;text-align:center}


@media(max-width:768px){
    .services-container,
    .pricing-container{width:100%;overflow:visible}
    .flip-card,
    .flip-card-inner{
        width:100%;
        min-height:320px;
        height:auto;
        border-radius:20px;
    }
    .flip-card-inner{
        position:relative;
        border:1px solid var(--border);
        background:var(--card);
        box-shadow:var(--shadow-sm);
        overflow:hidden;
    }
    .flip-card-front{
        position:relative;
        inset:auto;
        min-height:320px;
        padding:30px 22px;
        border-radius:20px;
    }
    .service-icon-wrapper{
        min-width:72px;
        min-height:72px;
        width:72px;
        height:72px;
        border-radius:20px;
    }
    .flip-card-front h3{
        font-size:1.08rem;
        line-height:1.35;
        overflow-wrap:anywhere;
    }
    .flip-card-front .service-short-desc{
        font-size:.9rem;
        line-height:1.6;
        margin-bottom:0;
    }
    #pricing .flip-card-back.pricing-flip-back{
        position:relative;
        inset:auto;
        opacity:1;
        border-radius:0 0 20px 20px;
        background:var(--card-2);
        padding:18px 20px 24px;
    }
    #pricing .flip-card-front{min-height:220px}
    #pricing .flip-card:hover .flip-card-front{opacity:1}
    #pricing .pricing-flip-desc{color:var(--text-muted);font-size:.92rem;text-align:left}
    .tech-stack-grid{grid-template-columns:1fr;gap:14px}
    .tech-stack-card{min-height:auto;border-radius:18px;padding:1.25rem}
}


.tech-stack-section {
    position: relative;
    padding: 90px 0;
    background: var(--bg);
}

.section-sub {
    max-width: 720px;
    margin: .75rem auto 0;
    color: var(--text-muted);
    text-align: center;
    line-height: 1.7;
}

.tech-stack-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 1.25rem;
    margin-top: 2.5rem;
}

.tech-stack-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--border);
    background: linear-gradient(145deg, color-mix(in srgb, var(--card) 88%, transparent), color-mix(in srgb, var(--card-2) 78%, transparent));
    border-radius: 18px;
    padding: 1.6rem;
    min-height: 220px;
    box-shadow: var(--shadow-sm);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.tech-stack-card:hover {
    transform: translateY(-5px);
    border-color: var(--text);
    box-shadow: var(--shadow-lg);
}

.tech-stack-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    margin-bottom: 1rem;
    background: var(--card-2);
}

.tech-stack-icon i {
    font-size: 1.55rem;
    color: var(--text);
}

.tech-stack-card h3 {
    margin: 0 0 .65rem;
    font-size: 1.15rem;
}

.tech-stack-card p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.65;
    font-size: .95rem;
}

@media(max-width:768px){
    .fit-section,
    .handover-section,
    .partner-strip-section,
    .tech-stack-section{
        content-visibility:visible;
        contain-intrinsic-size:auto;
        overflow:hidden;
        padding:72px 0;
    }

    .fit-section .container,
    .handover-section .container,
    .partner-strip-section .container,
    .tech-stack-section .container{
        width:min(100% - 28px,1120px);
        margin-inline:auto;
    }

    .fit-grid,
    .tech-stack-grid{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:14px!important;
        margin-top:28px;
    }

    .fit-card,
    .tech-stack-card{
        display:flex!important;
        flex-direction:column;
        align-items:flex-start;
        width:100%!important;
        min-height:auto!important;
        padding:20px!important;
        border:1px solid var(--border)!important;
        border-radius:18px!important;
        background:var(--card)!important;
        box-shadow:var(--shadow-sm)!important;
        transform:none;
    }

    .fit-card h3,
    .tech-stack-card h3{
        font-size:1.05rem;
        overflow-wrap:anywhere;
    }

    .fit-card p,
    .tech-stack-card p{
        font-size:.94rem;
        line-height:1.6;
    }

    .handover-ticker{
        display:block!important;
        width:100%;
        margin-top:28px;
        border-radius:18px;
        padding:10px 0;
        overflow:hidden;
    }

    .handover-track{
        display:flex!important;
        align-items:stretch;
        gap:10px;
        width:max-content;
    }

    .handover-item{
        display:inline-flex!important;
        min-width:240px;
        max-width:260px;
        min-height:64px;
        padding:12px 16px;
        border-radius:16px;
        white-space:normal;
    }
}


.works-ticker,
.handover-ticker{
    background:linear-gradient(135deg,var(--card) 0%,color-mix(in oklab,var(--card) 80%,var(--accent,#888) 20%) 100%);
    box-shadow:0 6px 24px -12px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.04);
    transition:box-shadow .35s ease,transform .35s ease,border-color .35s ease;
}
.works-ticker:hover,
.handover-ticker:hover{
    box-shadow:0 14px 38px -14px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06);
    border-color:color-mix(in oklab,var(--border) 60%,var(--text) 40%);
}
.works-track,
.handover-track{transition:filter .35s ease}
.works-ticker:hover .works-track,
.handover-ticker:hover .handover-track{filter:brightness(1.04)}

.works-ticker-item,
.handover-item{
    position:relative;
    background:linear-gradient(180deg,var(--bg) 0%,color-mix(in oklab,var(--bg) 88%,var(--text) 12%) 100%);
    transition:transform .35s cubic-bezier(.22,1,.36,1),
               box-shadow .35s ease,
               border-color .35s ease,
               background .35s ease;
    cursor:default;
}
.works-ticker-item::after,
.handover-item::after{
    content:'';position:absolute;inset:0;border-radius:inherit;
    background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 55%);
    opacity:0;transition:opacity .35s ease;pointer-events:none;
}
.works-ticker-item:hover,
.handover-item:hover{
    transform:translateY(-3px) scale(1.035);
    box-shadow:0 12px 28px -12px rgba(0,0,0,.35);
    border-color:color-mix(in oklab,var(--border) 30%,var(--text) 70%);
    background:linear-gradient(180deg,var(--card) 0%,var(--bg) 100%);
    z-index:2;
}
.works-ticker-item:hover::after,
.handover-item:hover::after{opacity:1}

.handover-item:hover i{
    transform:rotate(-8deg) scale(1.12);
    box-shadow:0 8px 20px -6px color-mix(in oklab,var(--text) 35%,transparent);
}
.handover-item i{transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}

.works-ticker-item:hover .works-index{color:var(--text)}
.works-ticker-item:hover .works-name{letter-spacing:.06em}
.works-index,.works-name{transition:color .3s ease,letter-spacing .3s ease}

@media(prefers-reduced-motion:reduce){
    .works-ticker-item,.handover-item,.handover-item i,.partner-strip-item,.partner-strip-logo,.works-index,.works-name{transition:none}
    .works-ticker-item:hover,.handover-item:hover,.partner-strip-item:hover{transform:none}
}


.works-ticker{transition:box-shadow .35s ease,border-color .35s ease,transform .4s var(--ease-out)}
.works-ticker:hover{box-shadow:0 18px 48px rgba(0,0,0,.18);border-color:var(--text)}
[data-theme="dark"] .works-ticker:hover{box-shadow:0 18px 48px rgba(0,0,0,.6)}
.works-ticker-item{transition:transform .35s var(--ease-bounce),box-shadow .3s ease,border-color .3s ease,background .3s ease}
.works-ticker-item:hover{transform:translateY(-4px) scale(1.03);border-color:var(--text);box-shadow:0 10px 26px rgba(0,0,0,.16);background:var(--card)}
[data-theme="dark"] .works-ticker-item:hover{box-shadow:0 10px 26px rgba(255,255,255,.08)}
.works-index{transition:transform .35s var(--ease-bounce),color .3s ease}
.works-ticker-item:hover .works-index{transform:rotate(-8deg) scale(1.15);color:var(--text)}
.works-ticker-item:hover .works-link{text-decoration:underline;text-underline-offset:3px}


.works-cta-wrap{display:flex;justify-content:center;margin-top:28px}
.works-cta-btn{
    position:relative;display:inline-flex;align-items:center;gap:12px;
    padding:14px 30px;border-radius:999px;
    background:var(--btn-bg);color:var(--btn-fg);
    text-decoration:none;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
    font-size:.86rem;border:1px solid var(--btn-bg);
    box-shadow:var(--shadow-sm);overflow:hidden;
    transition:transform .35s var(--ease-bounce),box-shadow .35s ease,background .3s ease,color .3s ease;
}
.works-cta-btn::after{
    content:'';position:absolute;top:0;left:-60%;width:50%;height:100%;
    background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);
    transform:skewX(-15deg);transition:transform .7s ease;
}
.works-cta-btn:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 18px 42px rgba(0,0,0,.22)}
.works-cta-btn:hover::after{transform:translateX(320%) skewX(-15deg)}
.works-cta-btn:hover .works-cta-arrow{transform:translateX(6px) rotate(-4deg)}
.works-cta-arrow{transition:transform .35s var(--ease-bounce)}


.handover-item{transition:transform .35s var(--ease-bounce),box-shadow .3s ease,border-color .3s ease,background .3s ease}
.handover-item:hover{transform:translateY(-4px) scale(1.05);border-color:var(--text);box-shadow:0 10px 24px rgba(0,0,0,.16);background:var(--card)}
[data-theme="dark"] .handover-item:hover{box-shadow:0 10px 24px rgba(255,255,255,.08)}
.handover-item i{transition:transform .4s var(--ease-bounce)}
.handover-item:hover i{transform:rotate(-12deg) scale(1.15)}

@media (prefers-reduced-motion: reduce){
    .works-ticker-item,.works-ticker-item:hover,
    .works-cta-btn,.works-cta-btn:hover,
    .handover-item,.handover-item:hover,
    .partner-strip-item,.partner-strip-item:hover,
    .works-cta-arrow,.handover-item i{transform:none!important;transition:none!important}
    .works-cta-btn::after{display:none}
}


.workflow-footer-cta{display:flex;justify-content:center;align-items:center;margin-top:40px;width:100%}
.workflow-footer-cta .workflow-cta-btn{margin:0;padding:12px 22px;min-width:0;width:auto;font-size:.92rem;letter-spacing:.04em}
@media (max-width:560px){
    .workflow-footer-cta .workflow-cta-btn{padding:10px 18px;font-size:.85rem}
}


.flip-card-back{overflow:hidden}
.flip-card-back .service-features{max-height:100%;overflow-y:auto;overflow-x:hidden;padding-right:8px;scrollbar-width:thin;scrollbar-color:var(--flip-fg) transparent;-webkit-overflow-scrolling:touch}
.flip-card-back .service-features::-webkit-scrollbar{width:6px}
.flip-card-back .service-features::-webkit-scrollbar-track{background:transparent;border-radius:3px}
.flip-card-back .service-features::-webkit-scrollbar-thumb{background:var(--flip-fg-muted);border-radius:3px}
.flip-card-back .service-features::-webkit-scrollbar-thumb:hover{background:var(--flip-fg)}


.works-ticker-item{text-decoration:none}
.works-thumb{flex:0 0 auto;width:42px;height:42px;border-radius:10px;overflow:hidden;background:var(--card-2);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1rem}
.works-thumb img{width:100%;height:100%;object-fit:cover;display:block}
a.works-ticker-item{color:var(--text)}
a.works-ticker-item:hover{color:var(--text)}
@media (max-width:560px){
    .works-thumb{width:36px;height:36px;border-radius:8px}
}


.workflow-timeline{align-items:stretch}
.workflow-step{height:100%}
.workflow-step-card{flex:1;display:flex;flex-direction:column}
.workflow-step-card .workflow-checklist{margin-top:auto}
.works-ticker-item{text-align:center;justify-content:center}
.works-ticker-item .works-name,.works-ticker-item .works-desc{text-align:center;width:100%}
@media (max-width:768px){.works-ticker-item{align-items:center}}


.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.blog-card{border:1px solid var(--border);border-radius:24px;background:var(--card);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .28s var(--ease-bounce),box-shadow .28s ease,border-color .28s ease}
.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--text)}
.blog-card-media{height:220px;background:var(--card-2);display:flex;align-items:center;justify-content:center;overflow:hidden}
.blog-card-media picture{display:block;width:100%;height:100%}
.blog-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.blog-card-media i{font-size:3rem;color:var(--text-muted)}
.blog-card-body{padding:24px}
.blog-card-body h2{font-size:1.25rem;margin-bottom:10px}
.blog-card-body p{color:var(--text-muted);margin-bottom:14px}
.blog-long{color:var(--text);font-size:.95rem;line-height:1.7;white-space:pre-line}
.blog-empty{border:1px dashed var(--border);border-radius:22px;background:var(--card);padding:36px;text-align:center;color:var(--text-muted)}
@media(max-width:768px){
    .blog-grid{grid-template-columns:1fr;gap:18px}
    .blog-card{border-radius:18px}
    .blog-card-media{height:auto;aspect-ratio:16/10;min-height:170px}
    .blog-card-body{padding:18px}
    .blog-card-body h2{font-size:1.08rem;line-height:1.35}
    .blog-card-body p,.blog-long{font-size:.93rem;line-height:1.68}
    .blog-empty{border-radius:18px;padding:26px 18px}
}
@media(max-width:380px){
    .blog-card-media{min-height:150px}
}


/* SAWW javítások – kezdőlap átrendezés, munkáink ticker, átadás ticker, globális téma (20260524-themefix1) */
.service-tech-stack{padding-top:82px;padding-bottom:88px;background:var(--bg)}
.service-tech-stack .section-sub{max-width:760px;margin:0 auto 34px;text-align:center;color:var(--text-muted);line-height:1.75}

@media (min-width: 769px){
    .works-ticker{
        width:min(1180px,100%);
        border-radius:34px;
        padding:18px;
        overflow:hidden;
        -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
        mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
    }
    .works-track{gap:18px;align-items:stretch;animation:handoverTicker 44s linear infinite}
    .works-ticker-item{
        width:340px;
        min-width:340px;
        max-width:340px;
        min-height:150px;
        border-radius:26px;
        padding:20px;
        align-items:flex-start;
        justify-content:flex-start;
        white-space:normal;
        text-align:left;
        gap:14px;
    }
    .works-ticker-item .works-copy{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}
    .works-ticker-item .works-name,.works-ticker-item .works-desc{text-align:left;width:auto}
    .works-name{font-size:.94rem;line-height:1.35}
    .works-desc{max-width:none;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;white-space:normal;line-height:1.55}
    .works-thumb{width:58px;height:58px;border-radius:16px}
    .works-link{margin-left:auto;align-self:flex-start;width:34px;height:34px;border:1px solid var(--border);border-radius:999px;justify-content:center}
}

@media (max-width: 768px){
    .handover-section{overflow:hidden}
    .handover-ticker{width:100%;max-width:100%;margin-left:0;margin-right:0;box-sizing:border-box;overflow:hidden;transform:none}
    .handover-track{padding:10px;gap:10px;box-sizing:border-box}
    .handover-item{box-sizing:border-box;min-width:min(250px,82vw);max-width:min(250px,82vw);transform:none!important}
    .handover-bottom{width:100%;box-sizing:border-box}
}

/* Globális szekcióháttér normalizálás: csak fehér vagy fekete. */
body,
section,
.hero,
.contacts-section,
.workflow-section,
.services,
.fit-section,
.handover-section,
.partner-strip-section,
.pricing-section,
.references-section,
.tech-stack-section,
.service-tech-stack,
.local-section,
.city-seo-section{
    background-color:#ffffff;
}

[data-theme="dark"] body,
[data-theme="dark"] section,
[data-theme="dark"] .hero,
[data-theme="dark"] .contacts-section,
[data-theme="dark"] .workflow-section,
[data-theme="dark"] .services,
[data-theme="dark"] .fit-section,
[data-theme="dark"] .handover-section,
[data-theme="dark"] .partner-strip-section,
[data-theme="dark"] .pricing-section,
[data-theme="dark"] .references-section,
[data-theme="dark"] .tech-stack-section,
[data-theme="dark"] .service-tech-stack,
[data-theme="dark"] .local-section,
[data-theme="dark"] .city-seo-section{
    background-color:#000000;
}

/* Szigorú háttérfelülírás: a szekciók ne örököljenek szürke vagy gradiens hátteret. */
body,
section,
.hero,
.contacts-section,
.workflow-section,
.services,
.fit-section,
.handover-section,
.partner-strip-section,
.pricing-section,
.references-section,
.tech-stack-section,
.service-tech-stack,
.local-section,
.city-seo-section{
    background:#ffffff;
}

[data-theme="dark"] body,
[data-theme="dark"] section,
[data-theme="dark"] .hero,
[data-theme="dark"] .contacts-section,
[data-theme="dark"] .workflow-section,
[data-theme="dark"] .services,
[data-theme="dark"] .fit-section,
[data-theme="dark"] .handover-section,
[data-theme="dark"] .partner-strip-section,
[data-theme="dark"] .pricing-section,
[data-theme="dark"] .references-section,
[data-theme="dark"] .tech-stack-section,
[data-theme="dark"] .service-tech-stack,
[data-theme="dark"] .local-section,
[data-theme="dark"] .city-seo-section{
    background:#000000;
}

.city-seo-section{
    position:relative;
    padding:90px 0;
    overflow:hidden;
}


.city-seo-lead{
    width:min(820px,100%);
    margin:0 auto 34px;
    color:var(--text-muted);
    font-size:1.05rem;
    line-height:1.8;
    text-align:center;
}

.city-seo-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.city-seo-card{
    min-height:220px;
    padding:28px;
    border:1px solid var(--border);
    border-radius:8px;
    background:var(--card);
    box-shadow:0 18px 45px rgba(0,0,0,.08);
}

.city-seo-card h3{
    margin:0 0 14px;
    color:var(--text);
    font-family:'Orbitron',sans-serif;
    font-size:1.05rem;
    line-height:1.35;
    letter-spacing:0;
}

.city-seo-card p{
    margin:0;
    color:var(--text-muted);
    line-height:1.75;
}

.local-section{
    position:relative;
    padding:92px 0;
    overflow:hidden;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
}

.local-layout{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    gap:34px;
    align-items:stretch;
}

.local-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:360px;
}


.local-lead{
    margin:0;
    color:var(--text-muted);
    font-size:1.06rem;
    line-height:1.82;
}

.local-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:28px;
}

.local-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:46px;
    padding:12px 18px;
    border:1px solid var(--text);
    border-radius:999px;
    color:var(--text);
    background:transparent;
    font-weight:800;
    font-size:.86rem;
    letter-spacing:0;
    text-decoration:none;
    text-transform:uppercase;
    transition:transform .24s var(--ease-out),background .24s var(--ease-out),color .24s var(--ease-out);
}

.local-link-primary,
.local-link:hover{
    background:var(--text);
    color:var(--bg);
    transform:translateY(-2px);
}

.local-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.local-card{
    position:relative;
    min-height:300px;
    padding:28px;
    border:1px solid var(--border);
    border-radius:8px;
    background:var(--card);
    overflow:hidden;
    box-shadow:0 18px 50px rgba(0,0,0,.08);
}

.local-card::after{
    content:'';
    position:absolute;
    inset:auto 22px 22px auto;
    width:74px;
    height:74px;
    border:1px solid var(--border);
    border-radius:50%;
    opacity:.55;
}

.local-card-icon{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    margin-bottom:22px;
    border-radius:8px;
    background:var(--text);
    color:var(--bg);
    font-size:1.18rem;
}

.local-card h3{
    margin:0 0 14px;
    color:var(--text);
    font-family:'Orbitron',sans-serif;
    font-size:1.18rem;
    line-height:1.28;
    letter-spacing:0;
}

.local-card p{
    margin:0;
    color:var(--text-muted);
    line-height:1.76;
}

[data-theme="dark"] .city-seo-section{
    background:#000000;
}

[data-theme="dark"] .city-seo-card{
    background:var(--card);
    box-shadow:0 18px 45px rgba(255,255,255,.05);
}

[data-theme="dark"] .local-section{background:#000000}
[data-theme="dark"] .local-card{box-shadow:0 18px 50px rgba(255,255,255,.04)}

@media (max-width: 900px){
    .city-seo-grid{grid-template-columns:1fr}
    .city-seo-card{min-height:auto}
    .local-layout{grid-template-columns:1fr;gap:22px}
    .local-copy{min-height:auto}
    .local-grid{grid-template-columns:1fr}
    .local-card{min-height:auto}
}

@media (max-width: 600px){
    .city-seo-section{padding:64px 0}
    .city-seo-lead{font-size:1rem;line-height:1.7;text-align:left}
    .city-seo-card{padding:22px}
    .local-section{padding:62px 0}
    .local-lead{font-size:1rem;line-height:1.7}
    .local-actions{flex-direction:column}
    .local-link{width:100%;font-size:.8rem}
    .local-card{padding:22px}
}

/* SAWW requested refinements: global nav, lokalizáció cards, CTA hover, scroll-safe flip cards */
.header-container{grid-template-columns:auto minmax(0,1fr) auto;max-width:1320px}
.desktop-nav{justify-content:center;max-width:100%;overflow:visible}
.nav-button{padding:10px 16px;font-size:.72rem;letter-spacing:1px}

.flip-card-back{
    display:flex;
    position:absolute;
    inset:0;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    padding:30px 28px;
    border-radius:26px;
    background:var(--flip-bg);
    color:var(--flip-fg);
    opacity:0;
    pointer-events:none;
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-width:thin;
    scrollbar-color:var(--flip-fg-muted) transparent;
    -webkit-overflow-scrolling:touch;
    transition:opacity .34s ease,transform .45s cubic-bezier(.22,1,.36,1);
    transform:translateY(10px);
    z-index:2;
}
.flip-card-back::-webkit-scrollbar{width:7px}
.flip-card-back::-webkit-scrollbar-track{background:transparent;border-radius:999px}
.flip-card-back::-webkit-scrollbar-thumb{background:var(--flip-fg-muted);border-radius:999px}
.flip-card-back::-webkit-scrollbar-thumb:hover{background:var(--flip-fg)}
.flip-card:hover .flip-card-front{opacity:0}
.flip-card:hover .flip-card-back{opacity:1;pointer-events:auto;transform:translateY(0)}
.flip-card-back .service-features{max-height:none;overflow:visible;padding-right:4px;margin:auto 0}
.flip-card-back .service-features li{align-items:flex-start;line-height:1.55}
.pricing-flip-back{scrollbar-width:thin;scrollbar-color:var(--flip-fg-muted) transparent}
.pricing-flip-desc{max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding-right:6px}
.pricing-flip-desc::-webkit-scrollbar{width:7px}
.pricing-flip-desc::-webkit-scrollbar-track{background:transparent;border-radius:999px}
.pricing-flip-desc::-webkit-scrollbar-thumb{background:var(--flip-fg-muted);border-radius:999px}

.local-section,.city-seo-section{isolation:isolate}
.local-section::before,.city-seo-section::before{
    content:'';
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 12% 18%,rgba(0,0,0,.055),transparent 28%),
        radial-gradient(circle at 88% 82%,rgba(0,0,0,.045),transparent 30%),
        linear-gradient(180deg,transparent,rgba(0,0,0,.025));
    pointer-events:none;
    z-index:0;
}
[data-theme="dark"] .local-section::before,[data-theme="dark"] .city-seo-section::before{
    background:
        radial-gradient(circle at 12% 18%,rgba(255,255,255,.075),transparent 28%),
        radial-gradient(circle at 88% 82%,rgba(255,255,255,.055),transparent 30%);
}
.local-section .container,.city-seo-section .container{position:relative;z-index:1}
.local-copy{padding:30px;border:1px solid var(--border);border-radius:28px;background:rgba(255,255,255,.72);box-shadow:0 18px 48px rgba(0,0,0,.06);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
[data-theme="dark"] .local-copy{background:rgba(0,0,0,.72);box-shadow:0 18px 48px rgba(0,0,0,.5)}
.local-lead{max-width:58ch}

.local-link{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    border:2px solid var(--text);
    border-radius:999px;
    background:transparent;
    transition:transform .35s var(--ease-bounce),box-shadow .35s ease,background-color .3s ease,border-color .3s ease,color .3s ease;
}
.local-link::after{
    content:'';
    position:absolute;
    top:-50%;
    left:0;
    width:55%;
    height:200%;
    background:linear-gradient(105deg,transparent,rgba(255,255,255,.24),transparent);
    transform:translateX(-127.27%) skewX(-15deg);
    transition:transform .62s ease;
    pointer-events:none;
    z-index:1;
}
.local-link i,.local-link{z-index:0}
.local-link i{position:relative;z-index:2;transition:transform .38s var(--ease-bounce)}
.local-link{color:var(--text)}
.local-link-primary{background:var(--gradient);color:var(--btn-fg);border-color:var(--btn-bg);box-shadow:0 12px 30px rgba(0,0,0,.12)}
[data-theme="dark"] .local-link-primary{color:var(--flip-fg)}
.local-link:hover,.local-link:focus-visible{
    background:var(--gradient);
    color:var(--btn-fg);
    border-color:var(--btn-bg);
    transform:translateY(-5px) scale(1.04);
    box-shadow:0 20px 52px rgba(0,0,0,.22);
}
[data-theme="dark"] .local-link:hover,[data-theme="dark"] .local-link:focus-visible{color:var(--flip-fg);box-shadow:0 20px 52px rgba(0,0,0,.65)}
.local-link:hover::after,.local-link:focus-visible::after{transform:translateX(245.45%) skewX(-15deg)}
.local-link:hover i,.local-link:focus-visible i{transform:translateX(6px) rotate(-5deg)}

.local-card,.city-seo-card{
    position:relative;
    isolation:isolate;
    border-radius:26px;
    border:1px solid rgba(0,0,0,.16);
    background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.86));
    box-shadow:0 18px 50px rgba(0,0,0,.08);
    overflow:hidden;
    transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s cubic-bezier(.22,1,.36,1),border-color .35s ease,background-color .35s ease;
}
.local-card::before,.city-seo-card::before{
    content:'';
    position:absolute;
    inset:-1px;
    background:radial-gradient(circle at var(--px,20%) var(--py,0%),rgba(0,0,0,.1),transparent 48%),linear-gradient(135deg,transparent,rgba(0,0,0,.05));
    opacity:0;
    transform:translateY(12px);
    transition:opacity .45s ease,transform .55s cubic-bezier(.22,1,.36,1);
    z-index:0;
    pointer-events:none;
}
.local-card::after,.city-seo-card::after{
    content:'';
    position:absolute;
    top:-60%;
    left:-45%;
    width:42%;
    height:220%;
    border:0;
    border-radius:0;
    background:linear-gradient(105deg,transparent,rgba(255,255,255,.38),transparent);
    opacity:1;
    transform:translateX(-160%) rotate(12deg);
    transition:transform .72s cubic-bezier(.22,1,.36,1);
    z-index:1;
    pointer-events:none;
}
.local-card>*,.city-seo-card>*{position:relative;z-index:2}
.local-card:hover,.local-card:focus-within,.city-seo-card:hover,.city-seo-card:focus-within{
    transform:translateY(-12px) scale(1.018);
    border-color:var(--text);
    box-shadow:0 30px 62px rgba(0,0,0,.18);
}
.local-card:hover::before,.local-card:focus-within::before,.city-seo-card:hover::before,.city-seo-card:focus-within::before{opacity:1;transform:translateY(0)}
.local-card:hover::after,.local-card:focus-within::after,.city-seo-card:hover::after,.city-seo-card:focus-within::after{transform:translateX(430%) rotate(12deg)}
.local-card-icon{border-radius:16px;background:var(--gradient);color:var(--btn-fg);box-shadow:var(--shadow-sm);transition:transform .55s cubic-bezier(.22,1,.36,1),border-radius .45s ease}
[data-theme="dark"] .local-card-icon{color:var(--flip-fg)}
.local-card:hover .local-card-icon,.local-card:focus-within .local-card-icon{transform:rotate(-8deg) scale(1.14);border-radius:20px}
[data-theme="dark"] .local-card,[data-theme="dark"] .city-seo-card{background:linear-gradient(180deg,rgba(0,0,0,.96),rgba(0,0,0,.82));border-color:#1f1f1f;box-shadow:0 18px 50px rgba(0,0,0,.5)}
[data-theme="dark"] .local-card::before,[data-theme="dark"] .city-seo-card::before{background:radial-gradient(circle at var(--px,20%) var(--py,0%),rgba(255,255,255,.12),transparent 48%),linear-gradient(135deg,transparent,rgba(255,255,255,.05))}
[data-theme="dark"] .local-card:hover,[data-theme="dark"] .local-card:focus-within,[data-theme="dark"] .city-seo-card:hover,[data-theme="dark"] .city-seo-card:focus-within{box-shadow:0 30px 62px rgba(0,0,0,.78)}

@media(max-width:1100px){
    .nav-button{padding:9px 12px;font-size:.68rem;letter-spacing:.7px}
}
@media(max-width:768px){
    .flip-card:hover .flip-card-front{opacity:1}
    .flip-card-back:not(.pricing-flip-back){position:relative;inset:auto;opacity:1;pointer-events:auto;transform:none;border-radius:0 0 20px 20px;background:var(--card-2);color:var(--text);padding:20px 22px 24px;max-height:220px}
    .flip-card-back:not(.pricing-flip-back) .service-features{margin:0}
    .flip-card-back:not(.pricing-flip-back) .service-features li{color:var(--text-muted)}
    .local-copy{padding:24px;border-radius:22px}
}


/* SAWW second requested refinements: city CTA/card hover, contact link fix support, stronger responsive layout */
.local-section,
.city-seo-section{
    overflow:hidden;
}

.local-layout{
    grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);
    gap:clamp(20px,3.4vw,44px);
}

.local-grid,
.city-seo-grid{
    align-items:stretch;
}

.local-actions{
    align-items:center;
}

.local-link{
    min-width:clamp(180px,18vw,230px);
    min-height:50px;
    padding:13px 22px;
    border:2px solid var(--text);
    border-radius:999px;
    position:relative;
    overflow:hidden;
    isolation:isolate;
    will-change:transform;
    transition:
        transform .35s var(--ease-bounce),
        box-shadow .35s ease,
        background-color .3s ease,
        border-color .3s ease,
        color .3s ease;
}

.local-link::before{
    content:'';
    position:absolute;
    inset:0;
    background:var(--gradient);
    opacity:0;
    transform:scale(.86);
    transition:opacity .34s ease,transform .44s cubic-bezier(.22,1,.36,1);
    z-index:0;
    pointer-events:none;
}

.local-link::after{
    z-index:1;
}

.local-link > *,
.local-link i{
    position:relative;
    z-index:2;
}

.local-link-primary::before{
    opacity:1;
    transform:scale(1);
}

.local-link-primary{
    border-color:var(--btn-bg);
    color:var(--btn-fg);
    box-shadow:0 14px 32px rgba(0,0,0,.14);
}

[data-theme="dark"] .local-link-primary{
    color:var(--flip-fg);
}

.local-link:hover,
.local-link:focus-visible{
    transform:translateY(-6px) scale(1.045);
    border-color:var(--btn-bg);
    color:var(--btn-fg);
    box-shadow:0 22px 58px rgba(0,0,0,.24);
    outline:0;
}

.local-link:hover::before,
.local-link:focus-visible::before{
    opacity:1;
    transform:scale(1);
}

.local-link-primary:hover,
.local-link-primary:focus-visible{
    transform:translateY(-6px) scale(1.055);
    box-shadow:0 24px 64px rgba(0,0,0,.28);
}

[data-theme="dark"] .local-link:hover,
[data-theme="dark"] .local-link:focus-visible{
    color:var(--flip-fg);
    box-shadow:0 22px 62px rgba(0,0,0,.72);
}

.local-card,
.city-seo-card{
    min-width:0;
    height:100%;
    border-radius:28px;
    transform:translateZ(0);
    will-change:transform;
}

.city-seo-card{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    min-height:230px;
}

.local-card:hover,
.local-card:focus-within,
.city-seo-card:hover,
.city-seo-card:focus-within{
    transform:translateY(-14px) scale(1.022);
    border-color:var(--text);
    box-shadow:0 34px 72px rgba(0,0,0,.2);
}

.city-seo-card:hover h3,
.city-seo-card:focus-within h3,
.local-card:hover h3,
.local-card:focus-within h3{
    transform:translateY(-2px);
}

.city-seo-card h3,
.local-card h3{
    transition:transform .35s var(--ease-bounce),color .3s ease;
}

.city-seo-card p,
.local-card p{
    overflow-wrap:anywhere;
}

@media(max-width:1180px){
    .header-container{max-width:100%;padding-inline:18px}
    .nav-button{padding:8px 10px;font-size:.64rem;letter-spacing:.55px;gap:6px}
    .local-layout{grid-template-columns:1fr;gap:24px}
    .local-copy{min-height:auto}
    .city-seo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:900px){
    .local-section{padding:72px 0}
    .city-seo-section{padding:72px 0}
    .local-copy{padding:24px;border-radius:24px}
    .local-grid,
    .city-seo-grid{grid-template-columns:1fr;gap:16px}
    .local-card,
    .city-seo-card{min-height:auto;padding:24px}
    .local-actions{gap:10px}
}

@media(max-width:600px){
    .local-section{padding:56px 0}
    .city-seo-section{padding:56px 0}
    .local-copy{padding:20px;border-radius:20px}
    .local-lead,
    .city-seo-lead{text-align:left;font-size:.98rem;line-height:1.7}
    .local-actions{display:grid;grid-template-columns:1fr;width:100%}
    .local-link{width:100%;min-width:0;min-height:48px;font-size:.78rem;padding:12px 16px}
    .local-card,
    .city-seo-card{border-radius:22px;padding:22px}
    .local-card:hover,
    .local-card:focus-within,
    .city-seo-card:hover,
    .city-seo-card:focus-within{
        transform:translateY(-8px) scale(1.01);
    }
}

@media(prefers-reduced-motion:reduce){
    .local-link,
    .local-link::before,
    .local-link::after,
    .local-card,
    .local-card::before,
    .local-card::after,
    .city-seo-card,
    .city-seo-card::before,
    .city-seo-card::after{
        transition:none!important;
    }
}


/* SAWW v3 locality animation and responsive refinements */
.local-section,
.city-seo-section{
    overflow:hidden;
}
.local-layout{
    grid-template-columns:minmax(280px,.86fr) minmax(320px,1.14fr);
    gap:clamp(20px,3vw,42px);
}
.local-copy{
    min-height:0;
}
.local-grid,
.city-seo-grid{
    align-items:stretch;
}
.local-card,
.city-seo-card{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border-radius:26px;
    border:1px solid color-mix(in srgb,var(--text) 14%,transparent);
    background:linear-gradient(180deg,color-mix(in srgb,var(--card) 94%,#fff 6%),var(--card));
    box-shadow:0 16px 44px rgba(0,0,0,.08);
    transform:translateY(0) scale(1);
    transition:transform .42s cubic-bezier(.22,1,.36,1),box-shadow .42s ease,border-color .42s ease,background .42s ease;
}
.local-card{
    min-height:205px;
    padding:clamp(20px,2.4vw,26px);
}
.city-seo-card{
    min-height:210px;
    padding:clamp(22px,2.6vw,28px);
}
.local-card::before,
.city-seo-card::before{
    content:'';
    position:absolute;
    inset:-1px;
    z-index:0;
    border-radius:inherit;
    background:radial-gradient(circle at var(--px,50%) var(--py,0%),rgba(0,0,0,.12),transparent 42%),linear-gradient(135deg,rgba(0,0,0,.07),transparent 46%);
    opacity:0;
    transform:translateY(10px);
    transition:opacity .45s ease,transform .45s ease;
    pointer-events:none;
}
.local-card::after,
.city-seo-card::after{
    content:'';
    position:absolute;
    width:120px;
    height:220px;
    top:-60px;
    left:-120px;
    z-index:1;
    transform:rotate(18deg);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);
    opacity:.62;
    transition:transform .72s cubic-bezier(.22,1,.36,1);
    pointer-events:none;
}
.local-card > *,
.city-seo-card > *{
    position:relative;
    z-index:2;
}
.local-card:hover,
.local-card:focus-within,
.city-seo-card:hover,
.city-seo-card:focus-within{
    transform:translateY(-8px) scale(1.012);
    border-color:color-mix(in srgb,var(--text) 34%,transparent);
    box-shadow:0 26px 62px rgba(0,0,0,.14);
}
.local-card:hover::before,
.local-card:focus-within::before,
.city-seo-card:hover::before,
.city-seo-card:focus-within::before{
    opacity:1;
    transform:translateY(0);
}
.local-card:hover::after,
.local-card:focus-within::after,
.city-seo-card:hover::after,
.city-seo-card:focus-within::after{
    transform:translateX(440%) rotate(18deg);
}
.local-card-icon{
    width:44px;
    height:44px;
    margin-bottom:16px;
    border-radius:16px;
    background:var(--gradient);
    color:var(--btn-fg);
    transition:transform .44s cubic-bezier(.22,1,.36,1),border-radius .34s ease,box-shadow .34s ease;
}
.local-card:hover .local-card-icon,
.local-card:focus-within .local-card-icon{
    transform:rotate(-7deg) scale(1.12);
    border-radius:20px;
    box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.city-seo-card h3,
.local-card h3{
    transition:transform .35s ease,color .35s ease;
}
.city-seo-card:hover h3,
.city-seo-card:focus-within h3,
.local-card:hover h3,
.local-card:focus-within h3{
    transform:translateX(4px);
}
.local-link{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border-radius:999px;
    min-height:48px;
    padding:13px 20px;
    border:1px solid color-mix(in srgb,var(--text) 32%,transparent);
    box-shadow:0 10px 28px rgba(0,0,0,.08);
    transition:transform .34s cubic-bezier(.22,1,.36,1),box-shadow .34s ease,border-color .34s ease,color .34s ease,background .34s ease;
}
.local-link::before{
    content:'';
    position:absolute;
    inset:0;
    z-index:-2;
    background:linear-gradient(135deg,var(--text),color-mix(in srgb,var(--text) 78%,transparent));
    opacity:0;
    transition:opacity .34s ease;
}
.local-link::after{
    content:'';
    position:absolute;
    top:-45%;
    left:-42%;
    z-index:-1;
    width:36%;
    height:190%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
    transform:translateX(-120%) skewX(-18deg);
    transition:transform .7s cubic-bezier(.22,1,.36,1);
}
.local-link-primary::before{
    opacity:1;
    background:var(--gradient);
}
.local-link-primary{
    color:var(--btn-fg);
    border-color:transparent;
    box-shadow:0 14px 34px rgba(0,0,0,.12);
}
.local-link:hover,
.local-link:focus-visible{
    transform:translateY(-4px) scale(1.02);
    color:var(--bg);
    border-color:transparent;
    box-shadow:0 22px 48px rgba(0,0,0,.18);
}
.local-link:hover::before,
.local-link:focus-visible::before{
    opacity:1;
}
.local-link:hover::after,
.local-link:focus-visible::after{
    transform:translateX(460%) skewX(-18deg);
}
.local-link:hover i,
.local-link:focus-visible i{
    transform:translateX(6px) rotate(-7deg);
}
.local-link i{
    transition:transform .34s cubic-bezier(.22,1,.36,1);
}
[data-theme="dark"] .local-card,
[data-theme="dark"] .city-seo-card{
    background:linear-gradient(180deg,rgba(10,10,10,.96),rgba(0,0,0,.88));
    border-color:rgba(255,255,255,.12);
    box-shadow:0 18px 52px rgba(0,0,0,.5);
}
[data-theme="dark"] .local-card::before,
[data-theme="dark"] .city-seo-card::before{
    background:radial-gradient(circle at var(--px,50%) var(--py,0%),rgba(255,255,255,.14),transparent 42%),linear-gradient(135deg,rgba(255,255,255,.08),transparent 46%);
}
[data-theme="dark"] .local-card:hover,
[data-theme="dark"] .local-card:focus-within,
[data-theme="dark"] .city-seo-card:hover,
[data-theme="dark"] .city-seo-card:focus-within{
    border-color:rgba(255,255,255,.28);
    box-shadow:0 30px 70px rgba(0,0,0,.75);
}
[data-theme="dark"] .local-link:hover,
[data-theme="dark"] .local-link:focus-visible{
    color:var(--flip-fg);
}
@media (max-width: 1100px){
    .local-layout{grid-template-columns:1fr;align-items:start}
    .local-copy{max-width:820px;margin:0 auto;text-align:center}
    .local-actions{justify-content:center}
}
@media (max-width: 780px){
    .city-seo-section,.local-section{padding:58px 0}
    .city-seo-grid,.local-grid{grid-template-columns:1fr;gap:14px}
    .city-seo-lead,.local-lead{text-align:left;font-size:1rem;line-height:1.68}
    .local-copy{text-align:left}
    .local-actions{justify-content:stretch;flex-direction:column}
    .local-link{width:100%;min-height:50px}
    .local-card,.city-seo-card{min-height:0;padding:21px;border-radius:22px}
}
@media (prefers-reduced-motion: reduce){
    .local-link,
    .local-link::before,
    .local-link::after,
    .local-card,
    .local-card::before,
    .local-card::after,
    .city-seo-card,
    .city-seo-card::before,
    .city-seo-card::after{
        transition:none;
    }
    .local-link:hover,
    .local-link:focus-visible,
    .local-card:hover,
    .local-card:focus-within,
    .city-seo-card:hover,
    .city-seo-card:focus-within{
        transform:none;
    }
}


/* SAWW 2026-05-25: egységes hover és reszponzív finomítások */
@media (hover:hover) and (pointer:fine){
    .fit-card,
    .workflow-step-card,
    .tech-stack-card,
    .blog-card,
    .works-ticker-item,
    .handover-item,
    .partner-strip-item,
    .contact-person-card,
    .mega-card,
    .local-card,
    .city-seo-card,
    .flip-card-inner,
    .service-icon-wrapper{
        will-change:transform;
    }

    .fit-card:hover,
    .fit-card:focus-within,
    .workflow-step-card:hover,
    .workflow-step-card:focus-within,
    .tech-stack-card:hover,
    .tech-stack-card:focus-within,
    .blog-card:hover,
    .blog-card:focus-within,
    .works-ticker-item:hover,
    .works-ticker-item:focus-within,
    .handover-item:hover,
    .handover-item:focus-within,
    .partner-strip-item:hover,
    .partner-strip-item:focus-within,
    .contact-person-card:hover,
    .contact-person-card:focus-within,
    .mega-card:hover,
    .mega-card:focus-within,
    .local-card:hover,
    .local-card:focus-within,
    .city-seo-card:hover,
    .city-seo-card:focus-within{
        transform:translateY(-8px) scale(1.015);
        border-color:var(--text);
        box-shadow:0 24px 58px rgba(0,0,0,.18);
    }

    [data-theme="dark"] .fit-card:hover,
    [data-theme="dark"] .fit-card:focus-within,
    [data-theme="dark"] .workflow-step-card:hover,
    [data-theme="dark"] .workflow-step-card:focus-within,
    [data-theme="dark"] .tech-stack-card:hover,
    [data-theme="dark"] .tech-stack-card:focus-within,
    [data-theme="dark"] .blog-card:hover,
    [data-theme="dark"] .blog-card:focus-within,
    [data-theme="dark"] .works-ticker-item:hover,
    [data-theme="dark"] .works-ticker-item:focus-within,
    [data-theme="dark"] .handover-item:hover,
    [data-theme="dark"] .handover-item:focus-within,
    [data-theme="dark"] .partner-strip-item:hover,
    [data-theme="dark"] .partner-strip-item:focus-within,
    [data-theme="dark"] .contact-person-card:hover,
    [data-theme="dark"] .contact-person-card:focus-within,
    [data-theme="dark"] .mega-card:hover,
    [data-theme="dark"] .mega-card:focus-within,
    [data-theme="dark"] .local-card:hover,
    [data-theme="dark"] .local-card:focus-within,
    [data-theme="dark"] .city-seo-card:hover,
    [data-theme="dark"] .city-seo-card:focus-within{
        box-shadow:0 28px 68px rgba(0,0,0,.72);
    }

    .fit-card:hover i,
    .fit-card:focus-within i,
    .workflow-step-card:hover i,
    .workflow-step-card:focus-within i,
    .tech-stack-card:hover i,
    .tech-stack-card:focus-within i,
    .city-seo-card:hover h3,
    .city-seo-card:focus-within h3,
    .local-card:hover h3,
    .local-card:focus-within h3{
        transform:translateY(-2px) scale(1.08);
    }

    .cta-primary:hover,
    .cta-primary:focus-visible,
    .cta-secondary:hover,
    .cta-secondary:focus-visible,
    .workflow-cta-btn:hover,
    .workflow-cta-btn:focus-visible,
    .works-cta-btn:hover,
    .works-cta-btn:focus-visible,
    .local-link:hover,
    .local-link:focus-visible,
    .mobile-cta-btn:hover,
    .mobile-cta-btn:focus-visible,
    .carousel-3d-btn:hover,
    .carousel-3d-btn:focus-visible{
        transform:translateY(-4px) scale(1.03);
    }
}

.fit-card,
.workflow-step-card,
.tech-stack-card,
.blog-card,
.works-ticker-item,
.handover-item,
.partner-strip-item,
.contact-person-card,
.mega-card,
.local-card,
.city-seo-card,
.cta-primary,
.cta-secondary,
.workflow-cta-btn,
.works-cta-btn,
.local-link,
.mobile-cta-btn,
.carousel-3d-btn{
    transition:transform .34s cubic-bezier(.22,1,.36,1),
               box-shadow .34s ease,
               border-color .34s ease,
               background .34s ease,
               color .34s ease;
}

.fit-card i,
.workflow-step-card i,
.tech-stack-card i,
.local-card h3,
.city-seo-card h3{
    transition:transform .34s cubic-bezier(.22,1,.36,1),color .28s ease;
}

@media (max-width: 1100px){
    .hero-content,
    .local-layout,
    .workflow-layout{
        grid-template-columns:1fr;
    }

    .pricing-container,
    .carousel-3d-viewport{
        width:100%;
        max-width:100%;
    }
}

@media (max-width: 780px){
    html,body{overflow-x:hidden}

    .container{
        width:min(100% - 32px, var(--container, 1180px));
    }

    .hero-section,
    .city-seo-section,
    .local-section,
    .fit-section,
    .workflow-section,
    .pricing-section,
    .contacts-section{
        padding-left:0;
        padding-right:0;
    }

    .fit-grid,
    .city-seo-grid,
    .local-grid,
    .person-cards-grid{
        grid-template-columns:1fr;
    }

    .fit-card,
    .workflow-step-card,
    .tech-stack-card,
    .blog-card,
    .works-ticker-item,
    .handover-item,
    .partner-strip-item,
    .contact-person-card,
    .mega-card,
    .local-card,
    .city-seo-card{
        transform:none!important;
        min-width:0;
    }

    .cta-primary,
    .cta-secondary,
    .workflow-cta-btn,
    .works-cta-btn,
    .local-link,
    .mobile-cta-btn{
        width:100%;
        justify-content:center;
        white-space:normal;
        text-align:center;
    }
}

@media (max-width: 520px){
    .container{width:min(100% - 24px, var(--container, 1180px))}
    .section-title{font-size:clamp(2rem,12vw,3.1rem)}
    .hero-text h1{font-size:clamp(2.45rem,15vw,4.2rem)}
    .city-seo-lead,.local-lead,.fit-subtitle{font-size:.98rem;line-height:1.7}
    .carousel-3d-nav{gap:.6rem}
}

@media (prefers-reduced-motion: reduce){
    .fit-card,
    .workflow-step-card,
    .tech-stack-card,
    .blog-card,
    .works-ticker-item,
    .handover-item,
    .partner-strip-item,
    .contact-person-card,
    .mega-card,
    .local-card,
    .city-seo-card,
    .cta-primary,
    .cta-secondary,
    .workflow-cta-btn,
    .works-cta-btn,
    .local-link,
    .mobile-cta-btn,
    .carousel-3d-btn{
        transition:none!important;
    }
}

/* SAWW 2026-05-25: header és lokalizáció finomítás v4 */
@media (min-width: 993px){
    header{padding:14px 0}
    header.scrolled{padding:9px 0}
    .header-container{
        grid-template-columns:auto minmax(0,1fr) auto;
        width:min(1120px, calc(100% - 48px));
        max-width:none;
        padding:0;
        gap:12px;
    }
    .header-left{min-width:0}
    .header-right{gap:10px}
    .logo{font-size:1.55rem;letter-spacing:1.15px;gap:8px}
    .logo-icon{font-size:1.2rem}
    .desktop-nav{
        justify-self:center;
        width:auto;
        max-width:100%;
        padding:4px;
        border-radius:999px;
    }
    .nav-button{
        padding:8px 12px;
        font-size:.66rem;
        letter-spacing:.65px;
        gap:6px;
    }
    .nav-button i{font-size:.72rem}
    .theme-toggle,
    .header-utility-link{width:40px;height:40px;font-size:.92rem}
}

@media (min-width: 993px) and (max-width: 1160px){
    .header-container{width:min(1040px, calc(100% - 36px));gap:10px}
    .logo{font-size:1.38rem;letter-spacing:.75px}
    .desktop-nav{padding:3px}
    .nav-button{padding:7px 9px;font-size:.61rem;letter-spacing:.45px;gap:5px}
    .theme-toggle,
    .header-utility-link{width:38px;height:38px}
}

@media (max-width: 992px){
    header{padding:14px 0}
    header.scrolled{padding:10px 0}
    .header-container{
        width:100%;
        max-width:none;
        padding:0 18px;
        gap:12px;
    }
    .logo{font-size:1.42rem;letter-spacing:.9px}
    .logo-icon{font-size:1.15rem}
    .theme-toggle,
    .header-utility-link{width:40px;height:40px}
}

.local-copy #local-section-title{
    font-size:clamp(1.65rem, 3.15vw, 2.35rem);
    line-height:1.08;
    letter-spacing:.7px;
    margin-bottom:24px;
    text-align:left;
}
.local-copy #local-section-title::after{
    width:52px;
    height:3px;
    margin:14px 0 0;
}

.local-grid{
    gap:clamp(16px,2.2vw,22px);
}
.local-card{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    min-height:218px;
    padding:clamp(22px,2.15vw,28px);
    border-radius:24px;
    border:1px solid color-mix(in srgb,var(--text) 12%,transparent);
    background:
        linear-gradient(145deg,color-mix(in srgb,var(--card) 96%,#fff 4%),color-mix(in srgb,var(--card) 86%,var(--text) 2%)),
        var(--card);
    box-shadow:0 14px 38px rgba(0,0,0,.075);
}
.local-card.revealed{
    border-color:color-mix(in srgb,var(--text) 18%,transparent);
    box-shadow:0 18px 48px rgba(0,0,0,.10);
}
.local-card.revealed::before{
    opacity:.55;
    transform:translateY(0);
}
.local-card.revealed::after{
    opacity:.52;
}
.local-card .local-card-icon{
    width:46px;
    height:46px;
    margin-bottom:18px;
    border-radius:15px;
    box-shadow:0 12px 28px rgba(0,0,0,.12);
}
.local-card h3{
    font-size:clamp(1.02rem,1.25vw,1.16rem);
    line-height:1.28;
    margin-bottom:10px;
    letter-spacing:.15px;
}
.local-card p{
    font-size:.95rem;
    line-height:1.68;
    max-width:58ch;
}
@media (hover:hover) and (pointer:fine){
    .local-card.revealed:hover,
    .local-card.revealed:focus-within{
        transform:translateY(-9px) scale(1.014);
        border-color:color-mix(in srgb,var(--text) 38%,transparent);
        box-shadow:0 28px 62px rgba(0,0,0,.16);
    }
}
[data-theme="dark"] .local-card{
    background:linear-gradient(145deg,rgba(16,16,16,.96),rgba(0,0,0,.90));
    border-color:rgba(255,255,255,.12);
    box-shadow:0 18px 48px rgba(0,0,0,.58);
}
[data-theme="dark"] .local-card.revealed{
    border-color:rgba(255,255,255,.18);
    box-shadow:0 20px 58px rgba(0,0,0,.68);
}
[data-theme="dark"] .local-card.revealed:hover,
[data-theme="dark"] .local-card.revealed:focus-within{
    border-color:rgba(255,255,255,.32);
    box-shadow:0 32px 76px rgba(0,0,0,.80);
}

@media (max-width: 1100px){
    .local-copy #local-section-title{text-align:center;font-size:clamp(1.7rem,4.6vw,2.25rem)}
    .local-copy #local-section-title::after{margin:14px auto 0}
}
@media (max-width: 780px){
    .local-copy #local-section-title{text-align:left;font-size:clamp(1.55rem,8vw,2.05rem);margin-bottom:18px;letter-spacing:.25px}
    .local-copy #local-section-title::after{margin:12px 0 0;width:44px}
    .local-card{min-height:0;padding:20px;border-radius:21px}
    .local-card .local-card-icon{width:42px;height:42px;margin-bottom:14px;border-radius:14px}
    .local-card p{font-size:.93rem;line-height:1.62}
}

/* SAWW local section production layout - visualfix5
   Applies to home, /nyiregyhaza/ and /debrecen/ because all three render the same local-section component. */
.local-section{
    padding:clamp(64px,8vw,104px) 0;
}
.local-section .local-layout{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch;
    gap:clamp(22px,3.2vw,38px);
}
.local-section .local-copy{
    width:min(100%, 980px);
    min-height:0!important;
    margin:0 auto;
    padding:clamp(24px,3.6vw,42px);
    border-radius:30px;
    text-align:center;
    border:1px solid color-mix(in srgb,var(--text) 12%,transparent);
    background:
        radial-gradient(circle at 18% 0%, color-mix(in srgb,var(--accent) 14%,transparent), transparent 34%),
        linear-gradient(145deg,color-mix(in srgb,var(--card) 96%,#fff 4%),color-mix(in srgb,var(--card) 88%,var(--text) 2%));
    box-shadow:0 18px 55px rgba(0,0,0,.075);
    overflow:hidden;
}
.local-section .local-copy.revealed{
    border-color:color-mix(in srgb,var(--text) 17%,transparent);
    box-shadow:0 24px 70px rgba(0,0,0,.10);
}
.local-section .local-copy #local-section-title{
    max-width:820px;
    margin:0 auto 16px;
    font-size:clamp(1.45rem,2.25vw,2.05rem)!important;
    line-height:1.12;
    letter-spacing:.25px;
    text-align:center!important;
}
.local-section .local-copy #local-section-title::after{
    width:54px;
    height:3px;
    margin:14px auto 0!important;
}
.local-section .local-lead{
    max-width:76ch;
    margin:0 auto;
    font-size:clamp(.98rem,1.05vw,1.06rem);
    line-height:1.78;
    text-align:center;
}
.local-section .local-actions{
    justify-content:center;
    margin-top:24px;
}
.local-section .local-grid{
    width:min(100%, 1080px);
    margin:0 auto;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:clamp(16px,2.4vw,26px);
}
.local-section .local-card{
    min-height:clamp(210px,18vw,250px);
    padding:clamp(22px,2.4vw,30px);
    border-radius:28px;
    background:
        radial-gradient(circle at var(--px,18%) var(--py,0%), color-mix(in srgb,var(--accent) 10%,transparent), transparent 38%),
        linear-gradient(145deg,color-mix(in srgb,var(--card) 97%,#fff 3%),color-mix(in srgb,var(--card) 89%,var(--text) 2%));
    border-color:color-mix(in srgb,var(--text) 13%,transparent);
    box-shadow:0 16px 46px rgba(0,0,0,.08);
}
.local-section .local-card.revealed{
    border-color:color-mix(in srgb,var(--text) 18%,transparent);
    box-shadow:0 20px 58px rgba(0,0,0,.105);
}
.local-section .local-card .local-card-icon{
    width:48px;
    height:48px;
    border-radius:16px;
    margin-bottom:18px;
}
.local-section .local-card h3{
    font-size:clamp(1.02rem,1.18vw,1.16rem);
    margin-bottom:10px;
}
.local-section .local-card p{
    font-size:.96rem;
    line-height:1.68;
}
@media (hover:hover) and (pointer:fine){
    .local-section .local-card.revealed:hover,
    .local-section .local-card.revealed:focus-within{
        transform:translateY(-8px) scale(1.012);
        border-color:color-mix(in srgb,var(--text) 32%,transparent);
        box-shadow:0 30px 72px rgba(0,0,0,.16);
    }
    .local-section .local-copy.revealed:hover,
    .local-section .local-copy.revealed:focus-within{
        border-color:color-mix(in srgb,var(--text) 20%,transparent);
        box-shadow:0 28px 78px rgba(0,0,0,.115);
    }
}
[data-theme="dark"] .local-section .local-copy{
    background:
        radial-gradient(circle at 18% 0%, rgba(255,255,255,.08), transparent 34%),
        linear-gradient(145deg,rgba(16,16,16,.96),rgba(0,0,0,.88));
    border-color:rgba(255,255,255,.12);
    box-shadow:0 22px 62px rgba(0,0,0,.62);
}
[data-theme="dark"] .local-section .local-copy.revealed{
    border-color:rgba(255,255,255,.18);
    box-shadow:0 26px 76px rgba(0,0,0,.72);
}
[data-theme="dark"] .local-section .local-card{
    background:
        radial-gradient(circle at var(--px,18%) var(--py,0%), rgba(255,255,255,.07), transparent 38%),
        linear-gradient(145deg,rgba(16,16,16,.97),rgba(0,0,0,.90));
    border-color:rgba(255,255,255,.12);
}
[data-theme="dark"] .local-section .local-card.revealed{
    border-color:rgba(255,255,255,.18);
}
@media (max-width: 780px){
    .local-section{
        padding:56px 0;
    }
    .local-section .local-layout{
        gap:18px;
    }
    .local-section .local-copy{
        padding:22px;
        border-radius:22px;
        text-align:left;
    }
    .local-section .local-copy #local-section-title{
        margin:0 0 14px;
        font-size:clamp(1.35rem,7vw,1.85rem)!important;
        text-align:left!important;
    }
    .local-section .local-copy #local-section-title::after{
        width:44px;
        margin:12px 0 0!important;
    }
    .local-section .local-lead{
        text-align:left;
        font-size:.97rem;
        line-height:1.68;
    }
    .local-section .local-actions{
        display:grid;
        grid-template-columns:1fr;
        justify-content:stretch;
        margin-top:20px;
    }
    .local-section .local-link{
        width:100%;
        min-width:0;
    }
    .local-section .local-grid{
        grid-template-columns:1fr!important;
        gap:14px;
    }
    .local-section .local-card{
        min-height:0;
        padding:20px;
        border-radius:21px;
    }
}



/* SAWW 2026-05-25 requested final fixes: centered global header and mobile-safe H1 */
@media (min-width: 993px){
    .header-container{
        display:grid!important;
        grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr)!important;
        align-items:center!important;
        width:min(1240px, calc(100% - 48px))!important;
        max-width:none!important;
        padding:0!important;
        gap:16px!important;
    }
    .header-left{justify-self:start!important;min-width:0!important;}
    .header-container > nav{justify-self:center!important;min-width:0!important;}
    .header-right{justify-self:end!important;min-width:0!important;}
    .desktop-nav{justify-content:center!important;max-width:100%!important;}
}
@media (max-width: 520px){
    html,body{max-width:100%;overflow-x:clip;}
    .hero-content{max-width:100%;overflow:hidden;}
    .hero-text{max-width:100%;min-width:0;}
    .hero-text h1{
        width:100%;
        max-width:100%;
        font-size:clamp(1.55rem, 9.4vw, 2.05rem)!important;
        line-height:1.12!important;
        letter-spacing:.015em!important;
        overflow-wrap:anywhere;
        word-break:normal;
        hyphens:auto;
    }
    .hero-text h1 span{max-width:100%;overflow-wrap:anywhere;}
}


/* SAWW requested cleanup 2026-05-25: black/white sections, simpler hovers, mobile typography. */
body,
section,
.hero,
.seo-hero,
.services,
.fit-section,
.handover-section,
.partner-strip-section,
.pricing-section,
.references-section,
.contacts-section,
.workflow-section,
.tech-stack-section,
.service-tech-stack,
.local-section,
.city-seo-section,
.results-gallery-section,
.seo-grid-section{
    background:#ffffff !important;
    background-image:none !important;
}
[data-theme="dark"] body,
[data-theme="dark"] section,
[data-theme="dark"] .hero,
[data-theme="dark"] .seo-hero,
[data-theme="dark"] .services,
[data-theme="dark"] .fit-section,
[data-theme="dark"] .handover-section,
[data-theme="dark"] .partner-strip-section,
[data-theme="dark"] .pricing-section,
[data-theme="dark"] .references-section,
[data-theme="dark"] .contacts-section,
[data-theme="dark"] .workflow-section,
[data-theme="dark"] .tech-stack-section,
[data-theme="dark"] .service-tech-stack,
[data-theme="dark"] .local-section,
[data-theme="dark"] .city-seo-section,
[data-theme="dark"] .results-gallery-section,
[data-theme="dark"] .seo-grid-section{
    background:#000000 !important;
    background-image:none !important;
}
.fit-section::before,
.handover-section::before,
.partner-strip-section::before,
.local-section::before,
.city-seo-section::before,
.seo-hero::before,
.munkaink-page .seo-hero::after{
    display:none !important;
    background:none !important;
}
.local-copy,
.local-card,
.city-seo-card,
.works-ticker,
.partner-strip-ticker,
.workflow-step-card,
.flip-card-inner,
.pricing-card,
.seo-card,
.blog-card,
.service-cta-box{
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}
.local-copy{
    background:#ffffff !important;
    border-radius:18px !important;
}
[data-theme="dark"] .local-copy{
    background:#000000 !important;
}
.local-card::after,
.workflow-step-card::before,
.flip-card-inner::before,
.pricing-card::before,
.work-card::before{
    display:none !important;
}
.local-link,
.cta-button,
.submit-btn,
.workflow-cta-btn,
.partner-strip-item,
.works-ticker-item,
.seo-card,
.blog-card,
.service-cta-box,
.carousel-3d-btn,
.theme-toggle,
.header-utility-link{
    transition:transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease !important;
}
.local-link::after,
.cta-button::after,
.submit-btn::after,
.workflow-cta-btn::after{
    display:none !important;
}
.local-link:hover,
.local-link:focus-visible,
.cta-button:hover,
.submit-btn:hover:not(:disabled),
.workflow-cta-btn:hover,
.partner-strip-item:hover,
.works-ticker-item:hover,
.seo-card:hover,
.blog-card:hover,
.service-cta-box:hover,
.carousel-3d-btn:hover,
.theme-toggle:hover,
.header-utility-link:hover{
    transform:translateY(-2px) !important;
    box-shadow:none !important;
}
.works-ticker{
    border:1px solid var(--border) !important;
    border-radius:32px !important;
    background:#ffffff !important;
    padding:0 !important;
    margin-top:34px !important;
    overflow:hidden !important;
    mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent) !important;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent) !important;
}
[data-theme="dark"] .works-ticker{background:#000000 !important;}
.works-track.partner-strip-track{
    display:flex !important;
    align-items:center !important;
    width:max-content !important;
    gap:14px !important;
    padding:12px !important;
    animation:handoverTicker 30s linear infinite !important;
}
.works-ticker-item.partner-strip-item{
    min-height:68px !important;
    min-width:220px !important;
    max-width:260px !important;
    padding:10px 22px 10px 10px !important;
    border:1px solid var(--border) !important;
    border-radius:999px !important;
    background:#ffffff !important;
    color:var(--text) !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:12px !important;
    white-space:normal !important;
    text-decoration:none !important;
}
[data-theme="dark"] .works-ticker-item.partner-strip-item{background:#000000 !important;}
.works-ticker-item.partner-strip-item .partner-strip-logo{
    width:48px !important;
    height:48px !important;
    border-radius:50% !important;
    flex:0 0 auto !important;
}
.works-ticker-item.partner-strip-item .partner-strip-name{
    text-align:left !important;
    width:auto !important;
}
.works-desc,
body:not(.munkaink-page) .work-long,
body:not(.munkaink-page) .work-card .seo-card-body > p:not(.work-link-row){
    display:none !important;
}

.munkaink-page .work-summary{
    margin:.75rem 0 0;
    padding:.85rem .95rem;
    color:var(--text-muted);
    line-height:1.6;
    border:1px solid var(--border);
    border-radius:14px;
    background:color-mix(in srgb,var(--card-2) 80%, transparent);
}

.munkaink-page .work-image-slider {
    position: relative;
    overflow: hidden;
}

.munkaink-page .work-image-slider .work-slides {
    display: flex;
    height: 100%;
    transition: transform .35s ease;
    will-change: transform;
}

.munkaink-page .work-image-slider .work-slide {
    display: flex;
    flex: 0 0 100%;
    height: 100%;
}

.munkaink-page .work-image-slider .work-slide picture,
.munkaink-page .work-image-slider .work-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.munkaink-page .work-slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid var(--border);
    background: rgba(255,255,255,0.88);
    color: var(--text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 3;
    transition: all .2s ease;
}

[data-theme="dark"] .munkaink-page .work-slider-btn {
    background: rgba(0,0,0,0.75);
}

.munkaink-page .work-slider-btn:hover {
    background: var(--bg);
}

.munkaink-page .work-slider-prev { left: 10px; }
.munkaink-page .work-slider-next { right: 10px; }

.munkaink-page .work-slider-pagination {
    position: absolute;
    left: 0 !important;
    right: 0 !important;
    bottom: 8px !important;
    z-index: 3;
    display: flex;
    justify-content: center;
    pointer-events: none;
}

.munkaink-page .work-slider-dot {
    width: 8px;
    height: 8px;
    background: rgba(255,255,255,0.8);
    opacity: 0.7;
    margin: 0 4px;
    border-radius: 999px;
    border: 0;
    pointer-events: auto;
    cursor: pointer;
}

.munkaink-page .work-slider-dot.is-active {
    background: var(--text);
    opacity: 1;
}

@media (max-width:768px){
    .section-title,
    .seo-card h2,
    .seo-card h3,
    .results-gallery-head .section-title{
        font-size:1.19rem !important;
        line-height:1.18 !important;
        letter-spacing:.06em !important;
    }
    .services .section-title,
    .service-tech-stack .section-title,
    a[href*="szolgaltatasaink"] .mobile-nav-card span,
    .mobile-nav-card span,
    .nav-button{
        font-size:.78rem !important;
        letter-spacing:.04em !important;
    }
    .workflow-section .section-title{
        font-size:.85rem !important;
        line-height:1.15 !important;
        letter-spacing:.05em !important;
    }
    .section-sub,
    .fit-subtitle,
    .handover-subtitle,
    .partner-strip-subtitle,
    .pricing-subtitle,
    .workflow-subtitle,
    .city-seo-lead,
    .local-lead,
    .service-tech-stack .section-sub,
    .results-gallery-head .section-sub,
    .seo-hero p{
        font-size:.66rem !important;
        line-height:1.55 !important;
    }
    .city-seo-section #city-seo-title{
        display:none !important;
    }
    .works-ticker{
        border-radius:18px !important;
        mask-image:none !important;
        -webkit-mask-image:none !important;
    }
    .works-track.partner-strip-track{
        animation-duration:24s !important;
        padding:10px !important;
        gap:10px !important;
    }
    .works-ticker-item.partner-strip-item{
        min-height:58px !important;
        min-width:205px !important;
        max-width:240px !important;
        padding:8px 16px 8px 8px !important;
        flex-direction:row !important;
        align-items:center !important;
    }
    .works-ticker-item.partner-strip-item .partner-strip-logo{
        width:38px !important;
        height:38px !important;
    }
    .works-ticker-item.partner-strip-item .partner-strip-name{
        font-size:.8rem !important;
        max-width:150px !important;
    }
    .munkaink-page .work-slider-btn {
        width: 32px;
        height: 32px;
    }
}

/* SAWW mobile polish: landing responsiveness, centered tickers and footer */
.section-title,
.seo-card h2,
.seo-card h3,
.results-gallery-head .section-title,
.services .section-title,
.service-tech-stack .section-title,
.workflow-section .section-title,
.local-copy #local-section-title,
.local-section .local-copy #local-section-title{
    font-size:clamp(1.65rem,4.4vw,2.5rem) !important;
    line-height:1.16 !important;
    letter-spacing:.06em !important;
    overflow-wrap:anywhere;
    hyphens:auto;
}

.city-seo-section #city-seo-title{display:block !important}

.partner-strip-ticker,
.works-ticker{
    width:min(100%,1180px) !important;
    max-width:calc(100vw - 32px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    transform:none !important;
    box-sizing:border-box;
}

.partner-strip-track,
.works-track.partner-strip-track{
    min-width:max-content;
    justify-content:flex-start;
}

.works-ticker,
.works-ticker:hover{
    border-radius:32px !important;
    background:var(--card) !important;
    border:1px solid var(--border) !important;
    padding:0 !important;
    box-shadow:none !important;
}

.works-ticker-item.partner-strip-item{
    min-height:68px !important;
    min-width:220px !important;
    max-width:260px !important;
    border-radius:999px !important;
    flex-direction:row !important;
    align-items:center !important;
}

.pricing-flip-price{
    font-size:.88rem !important;
    line-height:1.35 !important;
    letter-spacing:.03em;
}
.pricing-flip-price span{font-size:.68rem !important}

.footer-content{max-width:920px}
.copyright{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    margin-top:18px;
    padding:14px 0 0;
}
.copyright > p:first-child{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    max-width:100%;
    margin:0 auto;
    padding:7px 14px;
    border-radius:999px;
    background:var(--card-2);
    border:1px solid var(--border);
    color:var(--text-muted);
    font-size:.62rem;
    font-weight:850;
    letter-spacing:.08em;
    line-height:1.35;
    text-transform:uppercase;
}
#footerCompanyMeta p{
    margin:0;
    color:var(--text-muted);
    font-size:.72rem;
    line-height:1.55;
    overflow-wrap:anywhere;
}

@media (hover:none), (max-width:768px){
    .flip-card:hover .flip-card-front{opacity:1}
    .flip-card-back:not(.pricing-flip-back),
    #pricing .flip-card-back.pricing-flip-back{
        position:relative !important;
        inset:auto !important;
        opacity:1 !important;
        pointer-events:auto !important;
        transform:none !important;
        border-radius:0 0 20px 20px !important;
        background:var(--card-2) !important;
        color:var(--text) !important;
        padding:18px 20px 22px !important;
        max-height:none !important;
    }
}

@media (max-width:768px){
    .section-title,
    .seo-card h2,
    .seo-card h3,
    .results-gallery-head .section-title,
    .services .section-title,
    .service-tech-stack .section-title,
    .workflow-section .section-title,
    .local-copy #local-section-title,
    .local-section .local-copy #local-section-title{
        font-size:clamp(1rem,5.2vw,1.44rem) !important;
        line-height:1.1 !important;
        letter-spacing:.025em !important;
        max-width:min(100%,calc(100vw - 34px));
        margin-left:auto;
        margin-right:auto;
    }
    .section-title::after{
        width:50px !important;
        height:3px !important;
        margin-top:10px !important;
    }
    .fit-section{display:none !important}
    .services,
    .pricing-section{padding:64px 0 !important}
    .flip-card,
    .flip-card-inner{min-height:auto !important}
    .flip-card-front{
        min-height:188px !important;
        padding:22px 18px !important;
    }
    #pricing .flip-card-front{min-height:164px !important}
    .service-icon-wrapper{
        width:54px !important;
        height:54px !important;
        min-width:54px !important;
        min-height:54px !important;
        border-radius:16px !important;
    }
    .flip-card-front h3{
        font-size:.92rem !important;
        line-height:1.28 !important;
    }
    .flip-card-front .service-short-desc,
    #pricing .pricing-flip-desc{
        font-size:.78rem !important;
        line-height:1.5 !important;
    }
    .pricing-flip-price{font-size:.82rem !important}
    .partner-strip-section{padding:58px 0 !important}
    .partner-strip-ticker,
    .works-ticker{
        width:calc(100vw - 24px) !important;
        max-width:calc(100vw - 24px) !important;
        margin-left:50% !important;
        margin-right:0 !important;
        transform:translateX(-50%) !important;
        border-radius:18px !important;
        mask-image:none !important;
        -webkit-mask-image:none !important;
    }
    .partner-strip-item,
    .works-ticker-item.partner-strip-item{
        min-width:188px !important;
        max-width:232px !important;
        min-height:56px !important;
        padding:8px 14px 8px 8px !important;
        gap:9px !important;
    }
    .partner-strip-logo,
    .works-ticker-item.partner-strip-item .partner-strip-logo{
        width:38px !important;
        height:38px !important;
    }
    .partner-strip-name,
    .works-ticker-item.partner-strip-item .partner-strip-name{
        font-size:.76rem !important;
        max-width:148px !important;
    }
    footer{padding-bottom:74px}
    .copyright{gap:9px}
    .copyright > p:first-child{
        font-size:.52rem;
        line-height:1.45;
        padding:6px 10px;
        max-width:min(260px,calc(100vw - 56px));
        width:min(260px,calc(100vw - 56px));
        white-space:normal;
        text-align:center;
        margin-left:auto;
        margin-right:auto;
        justify-content:center;
    }
    #footerCompanyMeta p{font-size:.64rem;max-width:calc(100vw - 34px)}
    .footer-legal-link,
    .footer-google-profile{
        width:100%;
        max-width:280px;
    }
    .back-to-top{
        width:40px;
        height:40px;
        right:16px;
        bottom:16px;
    }
}

@media (max-width:380px){
    .section-title,
    .services .section-title,
    .service-tech-stack .section-title,
    .workflow-section .section-title{
        font-size:clamp(1.08rem,5.7vw,1.35rem) !important;
        letter-spacing:.02em !important;
    }
}

@media (prefers-reduced-motion:reduce){
    .partner-strip-track,
    .works-track,
    .handover-track{
        animation:none !important;
        transform:none !important;
    }
}

/* SAWW final responsive fixes: centered tickers, stable service cards, consistent titles */
.section-title,
.services .section-title,
.pricing-section .section-title,
.workflow-section .section-title,
.partner-strip-section .section-title,
.references-section .section-title,
.contacts-section .section-title,
.service-tech-stack .section-title,
.results-gallery-head .section-title,
.local-copy #local-section-title,
.local-section .local-copy #local-section-title,
.city-seo-section #city-seo-title,
.seo-card h2,
.seo-card h3{
    max-width:min(100%, 920px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:clamp(1.35rem, 3.2vw, 2.15rem) !important;
    line-height:1.14 !important;
    letter-spacing:.045em !important;
    text-align:center !important;
    overflow-wrap:anywhere !important;
    hyphens:auto !important;
}
.section-sub,
.fit-subtitle,
.handover-subtitle,
.partner-strip-subtitle,
.pricing-subtitle,
.workflow-subtitle,
.city-seo-lead,
.local-lead,
.service-tech-stack .section-sub,
.results-gallery-head .section-sub{
    max-width:min(100%, 760px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:clamp(.78rem, 1.45vw, .95rem) !important;
    line-height:1.65 !important;
    text-align:center !important;
    overflow-wrap:break-word !important;
}
.partner-strip-section .container,
.references-section .container{
    width:100% !important;
    max-width:1200px !important;
    padding-left:clamp(12px, 3.5vw, 40px) !important;
    padding-right:clamp(12px, 3.5vw, 40px) !important;
}
.partner-strip-ticker,
.works-ticker{
    left:auto !important;
    right:auto !important;
    width:100% !important;
    max-width:1120px !important;
    margin:34px auto 0 !important;
    transform:none !important;
    box-sizing:border-box !important;
}
.partner-strip-track,
.works-track.partner-strip-track{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:max-content !important;
    min-width:max-content !important;
}
.partner-strip-logo,
.works-ticker-item.partner-strip-item .partner-strip-logo{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
}
.partner-strip-logo img,
.works-ticker-item.partner-strip-item .partner-strip-logo img{
    width:88% !important;
    height:88% !important;
    object-fit:contain !important;
    object-position:center !important;
}
.works-ticker-item,
.works-ticker-item.partner-strip-item{
    min-height:unset !important;
    height:auto !important;
}
.works-ticker-item.partner-strip-item{
    padding:10px 20px 10px 10px !important;
    align-items:center !important;
}
.services .flip-card-front,
#pricing .flip-card-front{
    justify-content:flex-start !important;
    gap:12px !important;
    min-height:0 !important;
}
.services .service-icon-wrapper,
#pricing .service-icon-wrapper{
    position:relative !important;
    flex:0 0 auto !important;
    margin:0 0 8px !important;
    transform:none !important;
}
.services .flip-card-front h3,
#pricing .flip-card-front h3{
    flex:0 0 auto !important;
    margin:0 !important;
}
.services .flip-card-front .service-short-desc{
    flex:1 1 auto !important;
    min-height:0 !important;
    max-height:8.5rem !important;
    margin:0 !important;
    padding-right:4px !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
}
.flip-card-back:not(.pricing-flip-back),
#pricing .flip-card-back.pricing-flip-back{
    overflow:hidden !important;
}
.flip-card-back .service-features,
#pricing .pricing-flip-desc{
    min-height:0 !important;
    max-height:100% !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
}

@media (max-width:768px){
    #kinek-ajanljuk,
    .fit-section{
        display:none !important;
    }
    .section-title,
    .services .section-title,
    .pricing-section .section-title,
    .workflow-section .section-title,
    .partner-strip-section .section-title,
    .references-section .section-title,
    .contacts-section .section-title,
    .service-tech-stack .section-title,
    .results-gallery-head .section-title,
    .local-copy #local-section-title,
    .local-section .local-copy #local-section-title,
    .city-seo-section #city-seo-title,
    .seo-card h2,
    .seo-card h3{
        max-width:calc(100vw - 28px) !important;
        font-size:clamp(1.12rem, 5.1vw, 1.42rem) !important;
        line-height:1.16 !important;
        letter-spacing:.026em !important;
        text-align:center !important;
    }
    .section-sub,
    .handover-subtitle,
    .partner-strip-subtitle,
    .pricing-subtitle,
    .workflow-subtitle,
    .city-seo-lead,
    .local-lead,
    .service-tech-stack .section-sub,
    .results-gallery-head .section-sub{
        max-width:calc(100vw - 32px) !important;
        font-size:.76rem !important;
        line-height:1.58 !important;
    }
    .partner-strip-section .container,
    .references-section .container{
        width:100% !important;
        padding-left:12px !important;
        padding-right:12px !important;
    }
    .partner-strip-ticker,
    .works-ticker{
        width:100% !important;
        max-width:100% !important;
        margin-left:auto !important;
        margin-right:auto !important;
        transform:none !important;
        border-radius:18px !important;
        -webkit-mask-image:none !important;
        mask-image:none !important;
    }
    .partner-strip-track,
    .works-track.partner-strip-track{
        padding:10px !important;
        gap:10px !important;
    }
    .partner-strip-item,
    .works-ticker-item.partner-strip-item{
        min-width:188px !important;
        max-width:230px !important;
        min-height:unset !important;
        height:auto !important;
        padding:8px 14px 8px 8px !important;
        gap:9px !important;
    }
    .partner-strip-logo,
    .works-ticker-item.partner-strip-item .partner-strip-logo{
        width:38px !important;
        height:38px !important;
        min-width:38px !important;
        min-height:38px !important;
    }
    .partner-strip-name,
    .works-ticker-item.partner-strip-item .partner-strip-name{
        max-width:148px !important;
        font-size:.76rem !important;
        line-height:1.25 !important;
    }
    .services .flip-card-front,
    #pricing .flip-card-front{
        min-height:172px !important;
        padding:18px 16px !important;
        gap:9px !important;
    }
    .services .service-icon-wrapper,
    #pricing .service-icon-wrapper{
        width:50px !important;
        height:50px !important;
        min-width:50px !important;
        min-height:50px !important;
        margin-bottom:4px !important;
    }
    .services .service-icon,
    #pricing .service-icon{
        font-size:1.22rem !important;
    }
    .services .flip-card-front h3,
    #pricing .flip-card-front h3{
        font-size:.88rem !important;
        line-height:1.24 !important;
    }
    .services .flip-card-front .service-short-desc,
    #pricing .pricing-flip-desc{
        font-size:.74rem !important;
        line-height:1.48 !important;
    }
    .services .flip-card-front .service-short-desc{
        max-height:4.8rem !important;
    }
    .flip-card-back:not(.pricing-flip-back){
        max-height:9.5rem !important;
        overflow-y:auto !important;
    }
}


/* SAWW implementációs javítások – Munkáink ticker, hero kapszula, lightbox, mobil árkártyák */
.hero-description{
    display:block;
    width:min(100%,560px);
    padding:clamp(14px,2.6vw,20px) clamp(16px,3vw,24px);
    border:1px solid var(--border);
    border-radius:clamp(18px,3vw,26px);
    background:color-mix(in srgb,var(--card) 90%,transparent);
    box-shadow:var(--shadow-sm);
    color:var(--text);
    overflow-wrap:anywhere;
}
[data-theme="dark"] .hero-description{background:rgba(15,15,15,.86);}

.section-title,
.results-gallery-head .section-title,
.services .section-title,
.service-tech-stack .section-title,
.workflow-section .section-title,
.local-copy #local-section-title,
.local-section .local-copy #local-section-title{
    font-size:clamp(1.55rem,4.1vw,2.45rem) !important;
    line-height:1.14 !important;
    letter-spacing:.055em !important;
}

.references-section{background:#ffffff;}
[data-theme="dark"] .references-section{background:#000000;}
.works-ticker,
.works-ticker:hover{
    width:min(100%,1180px) !important;
    max-width:calc(100vw - 32px) !important;
    margin:34px auto 0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:1px solid var(--border) !important;
    border-radius:999px !important;
    background:#ffffff !important;
    box-shadow:var(--shadow-sm) !important;
    transform:none !important;
    mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent) !important;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent) !important;
}
[data-theme="dark"] .works-ticker,
[data-theme="dark"] .works-ticker:hover{background:#000000 !important;}
.works-track.partner-strip-track{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:max-content !important;
    min-width:max-content !important;
    gap:14px !important;
    padding:12px !important;
    animation:handoverTicker 30s linear infinite !important;
    will-change:transform;
}
.works-ticker:hover .works-track.partner-strip-track{animation-play-state:paused !important;}
.works-ticker-item.partner-strip-item,
a.works-ticker-item.partner-strip-item{
    display:inline-flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:12px !important;
    min-width:220px !important;
    max-width:270px !important;
    min-height:68px !important;
    padding:10px 22px 10px 10px !important;
    border:1px solid var(--border) !important;
    border-radius:999px !important;
    background:#ffffff !important;
    color:#000000 !important;
    text-align:left !important;
    text-decoration:none !important;
    white-space:normal !important;
    box-shadow:0 8px 22px rgba(0,0,0,.06) !important;
}
.works-ticker-item.partner-strip-item:hover,
a.works-ticker-item.partner-strip-item:hover{
    transform:translateY(-4px) scale(1.04) !important;
    border-color:#000000 !important;
    box-shadow:0 10px 24px rgba(0,0,0,.16) !important;
    background:#ffffff !important;
    color:#000000 !important;
}
[data-theme="dark"] .works-ticker-item.partner-strip-item,
[data-theme="dark"] a.works-ticker-item.partner-strip-item{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:rgba(255,255,255,.18) !important;
}
.works-ticker-item.partner-strip-item .partner-strip-logo,
.works-ticker-item.partner-strip-item .works-thumb{
    flex:0 0 auto !important;
    width:48px !important;
    height:48px !important;
    border-radius:50% !important;
    overflow:hidden !important;
    background:#f3f3f3 !important;
    border:1px solid rgba(0,0,0,.08) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#000000 !important;
}
.works-ticker-item.partner-strip-item .partner-strip-logo img,
.works-ticker-item.partner-strip-item .works-thumb img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
}
.works-ticker-item.partner-strip-item .partner-strip-name,
.works-ticker-item.partner-strip-item .works-name{
    max-width:180px !important;
    width:auto !important;
    color:#000000 !important;
    font-size:.9rem !important;
    font-weight:850 !important;
    line-height:1.25 !important;
    text-align:left !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    overflow-wrap:anywhere !important;
}
.works-copy,.works-desc,.works-link,.works-index{display:none !important;}

.munkaink-page .work-lightbox-trigger{
    position:relative;
    display:block;
    width:100%;
    height:100%;
    padding:0;
    border:0;
    background:transparent;
    color:inherit;
    cursor:zoom-in;
    overflow:hidden;
}
.munkaink-page .work-lightbox-trigger picture,
.munkaink-page .work-lightbox-trigger img{width:100%;height:100%;display:block;object-fit:cover;}
.munkaink-page .work-lightbox-trigger:focus-visible{outline:3px solid var(--text);outline-offset:-5px;}
.munkaink-page .work-lightbox-icon{
    position:absolute;
    right:12px;
    bottom:12px;
    width:38px;
    height:38px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.9);
    color:#000;
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 10px 22px rgba(0,0,0,.18);
    pointer-events:none;
    transition:transform .22s ease,opacity .22s ease;
}
.munkaink-page .work-lightbox-trigger:hover .work-lightbox-icon{transform:scale(1.08);}
.work-lightbox .work-lightbox-inner{max-width:min(92vw,1180px);padding:18px;}
.work-lightbox .work-lightbox-inner img{max-height:82vh;object-fit:contain;}
.work-lightbox-nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:46px;
    height:46px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.25);
    background:rgba(0,0,0,.52);
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    z-index:4;
    transition:transform .2s ease,background .2s ease;
}
.work-lightbox-nav:hover{background:rgba(0,0,0,.72);}
.work-lightbox-prev{left:18px;}
.work-lightbox-next{right:18px;}
.work-lightbox-nav[hidden]{display:none !important;}

@media (max-width:768px){
    .hero-description{
        width:100%;
        max-width:calc(100vw - 32px);
        margin-left:auto;
        margin-right:auto;
        padding:13px 15px;
        border-radius:18px;
        font-size:.94rem;
        line-height:1.6;
    }
    .section-title,
    .seo-card h2,
    .seo-card h3,
    .results-gallery-head .section-title,
    .services .section-title,
    .service-tech-stack .section-title,
    .workflow-section .section-title,
    .local-copy #local-section-title,
    .local-section .local-copy #local-section-title{
        font-size:clamp(1.18rem,6vw,1.55rem) !important;
        line-height:1.12 !important;
        letter-spacing:.035em !important;
    }
    .works-ticker,
    .works-ticker:hover{
        max-width:calc(100vw - 28px) !important;
        border-radius:18px !important;
        margin-top:28px !important;
        mask-image:none !important;
        -webkit-mask-image:none !important;
    }
    .works-track.partner-strip-track{animation-duration:24s !important;padding:10px !important;gap:10px !important;}
    .works-ticker-item.partner-strip-item,
    a.works-ticker-item.partner-strip-item{
        min-height:58px !important;
        min-width:190px !important;
        max-width:240px !important;
        padding:8px 16px 8px 8px !important;
        gap:9px !important;
    }
    .works-ticker-item.partner-strip-item .partner-strip-logo,
    .works-ticker-item.partner-strip-item .works-thumb{width:38px !important;height:38px !important;}
    .works-ticker-item.partner-strip-item .partner-strip-name,
    .works-ticker-item.partner-strip-item .works-name{font-size:.8rem !important;max-width:150px !important;}
    .pricing-container{width:100%;overflow:hidden;}
    .pricing-section .carousel-3d-viewport{max-width:100%;padding:18px 0 0 !important;overflow:visible;}
    .pricing-section .carousel-3d-track{gap:16px !important;padding:16px 0 !important;}
    .pricing-section .carousel-3d-item{width:min(318px,calc(100vw - 56px)) !important;max-width:318px !important;margin-left:auto;margin-right:auto;}
    .pricing-section .flip-card{height:auto !important;min-height:315px !important;border-radius:22px;}
    .pricing-section .flip-card-front{padding:28px 22px !important;min-height:205px !important;}
    .pricing-section .flip-card-front h3{font-size:clamp(1.12rem,5.6vw,1.42rem) !important;line-height:1.22 !important;}
    .pricing-flip-price{font-size:clamp(1.05rem,5vw,1.34rem) !important;line-height:1.28 !important;}
    .pricing-flip-price span{font-size:.78rem !important;}
    .pricing-flip-desc{font-size:1rem !important;line-height:1.68 !important;}
    .work-lightbox .work-lightbox-inner{width:calc(100vw - 20px);padding:12px;border-radius:20px;}
    .work-lightbox .work-lightbox-inner img{max-height:74vh;}
    .work-lightbox-nav{top:auto;bottom:18px;transform:none;width:44px;height:44px;}
    .work-lightbox-prev{left:18px;}
    .work-lightbox-next{right:18px;}
    .work-lightbox .work-lightbox-title{padding:0 58px;min-height:44px;display:flex;align-items:center;justify-content:center;}
}

/* SAWW implementation final pass 2026-05-26: requested UI fixes. */
.mobile-menu.active .mobile-nav-grid li:nth-child(6){transition-delay:.41s}
.mobile-nav-theme-btn .theme-icon-wrap{position:relative;width:1.9rem;height:1.9rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1}
.mobile-nav-theme-btn .theme-icon-wrap i{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.9rem;transition:opacity .28s ease,transform .38s ease}
button.mobile-nav-card.mobile-nav-theme-btn{appearance:none;-webkit-appearance:none;text-align:center}

.works-ticker-item.partner-strip-item,
a.works-ticker-item.partner-strip-item{
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
}
.works-ticker-item.partner-strip-item .partner-strip-logo,
.works-ticker-item.partner-strip-item .works-thumb{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}
.works-ticker-item.partner-strip-item .partner-strip-name,
.works-ticker-item.partner-strip-item .works-name{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    min-height:2.5em;
}
[data-theme="dark"] .works-ticker-item.partner-strip-item,
[data-theme="dark"] a.works-ticker-item.partner-strip-item,
[data-theme="dark"] .works-ticker-item.partner-strip-item.revealed,
[data-theme="dark"] a.works-ticker-item.partner-strip-item.revealed,
[data-theme="dark"] .works-ticker-item.partner-strip-item:hover,
[data-theme="dark"] a.works-ticker-item.partner-strip-item:hover{
    background:#000000 !important;
    color:var(--text) !important;
    border-color:rgba(255,255,255,.22) !important;
}
[data-theme="dark"] .works-ticker-item.partner-strip-item .partner-strip-name,
[data-theme="dark"] .works-ticker-item.partner-strip-item .works-name{
    color:var(--text) !important;
}
[data-theme="dark"] .works-ticker-item.partner-strip-item .partner-strip-logo,
[data-theme="dark"] .works-ticker-item.partner-strip-item .works-thumb{
    background:#0b0b0b !important;
    border-color:rgba(255,255,255,.18) !important;
    color:var(--text) !important;
}

#szolgaltatasok .seo-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(16px,2vw,24px)}
#szolgaltatasok .seo-card{
    position:relative;
    min-height:100%;
    border-radius:24px !important;
    background:var(--card) !important;
    border:1px solid var(--border) !important;
    overflow:hidden;
}
#szolgaltatasok .seo-card-body{padding:clamp(1.15rem,2.4vw,1.65rem) !important;gap:.75rem}
#szolgaltatasok .seo-card-icon{
    width:48px !important;
    height:48px !important;
    margin-bottom:.8rem !important;
    border-radius:16px !important;
    background:var(--btn-bg) !important;
    color:var(--btn-fg) !important;
    font-size:1.18rem !important;
}
[data-theme="dark"] #szolgaltatasok .seo-card-icon{color:var(--flip-fg) !important}
#szolgaltatasok .seo-card h2,#szolgaltatasok .seo-card h3{
    font-size:clamp(1rem,1.45vw,1.16rem) !important;
    line-height:1.26 !important;
    letter-spacing:.02em !important;
    margin:0 0 .45rem !important;
}
#szolgaltatasok .seo-card p{font-size:.95rem;line-height:1.68;color:var(--text-muted)}
#szolgaltatasok .seo-card ul,#szolgaltatasok .seo-card li{display:none !important}
@media (max-width:720px){
    #szolgaltatasok .seo-card-body{align-items:center;text-align:center}
    #szolgaltatasok .seo-card-icon{margin-left:auto !important;margin-right:auto !important}
}

.pricing-section .carousel-3d-viewport{padding:22px 0 10px !important}
.pricing-section .carousel-3d-track{height:360px !important}
.pricing-section .flip-card{height:315px !important;border-radius:22px !important}
.pricing-section .flip-card-inner{border-radius:22px !important}
.pricing-section .flip-card-front{padding:28px 24px !important;border-radius:22px !important}
.pricing-section .service-icon-wrapper{width:68px;height:68px;margin-bottom:18px}
.pricing-section .flip-card-front h3{font-size:clamp(1rem,1.55vw,1.22rem) !important;line-height:1.24 !important;margin-bottom:10px !important}
.pricing-section .pricing-flip-price{font-size:clamp(1.18rem,2.2vw,1.42rem) !important;margin-top:8px !important;line-height:1.18 !important}
.pricing-section .pricing-flip-price span{font-size:.74rem !important}
.pricing-section #pricing .flip-card-back.pricing-flip-back,
#pricing.pricing-section .flip-card-back.pricing-flip-back{padding:22px 20px !important;border-radius:22px !important}
.pricing-section .pricing-flip-desc{font-size:.88rem !important;line-height:1.55 !important;text-align:center;max-height:100%;overflow-y:auto}
@media (max-width:768px){
    .pricing-section .carousel-3d-viewport{padding:14px 0 0 !important;overflow:visible}
    .pricing-section .carousel-3d-track{height:auto !important;gap:14px !important;padding:12px 0 !important}
    .pricing-section .carousel-3d-item{width:min(300px,calc(100vw - 46px)) !important;max-width:300px !important}
    .pricing-section .flip-card{height:auto !important;min-height:0 !important;border-radius:20px !important}
    .pricing-section .flip-card-inner{min-height:0 !important;border-radius:20px !important}
    .pricing-section .flip-card-front{min-height:170px !important;padding:22px 18px !important;border-radius:20px 20px 0 0 !important}
    .pricing-section .service-icon-wrapper{width:56px;height:56px;min-width:56px;min-height:56px;margin-bottom:14px;border-radius:16px}
    .pricing-section .flip-card-front h3{font-size:clamp(.95rem,4.8vw,1.18rem) !important}
    .pricing-section .pricing-flip-price{font-size:clamp(1rem,4.8vw,1.24rem) !important}
    .pricing-section #pricing .flip-card-back.pricing-flip-back,
    #pricing.pricing-section .flip-card-back.pricing-flip-back{position:relative;opacity:1;padding:14px 16px 18px !important;border-radius:0 0 20px 20px !important;background:var(--card-2)}
    .pricing-section .pricing-flip-desc{font-size:.88rem !important;line-height:1.52 !important;text-align:left;max-height:none;overflow:visible;padding-right:0}
}


/* SAWW follow-up 2026-05-26: Munkáink kapszula visszaállítás és finomított kártyák. */
.references-section .works-ticker,
.works-ticker{
    width:min(100%,1180px) !important;
    max-width:calc(100vw - 32px) !important;
    margin:34px auto 0 !important;
    padding:0 !important;
    border-radius:999px !important;
    border:1px solid var(--border) !important;
    background:#ffffff !important;
    box-shadow:var(--shadow-sm) !important;
    overflow:hidden !important;
    mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent) !important;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent) !important;
}
[data-theme="dark"] .references-section .works-ticker,
[data-theme="dark"] .works-ticker{
    background:#000000 !important;
    border-color:rgba(255,255,255,.18) !important;
}
.works-track.partner-strip-track{
    align-items:center !important;
    gap:14px !important;
    padding:12px !important;
}
.works-ticker-item.partner-strip-item,
a.works-ticker-item.partner-strip-item,
.works-ticker-item.partner-strip-item.revealed,
a.works-ticker-item.partner-strip-item.revealed{
    display:inline-flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:12px !important;
    min-width:224px !important;
    max-width:286px !important;
    min-height:68px !important;
    padding:10px 22px 10px 10px !important;
    border-radius:999px !important;
    border:1px solid var(--border) !important;
    background:#ffffff !important;
    color:#000000 !important;
    text-align:left !important;
    text-decoration:none !important;
    white-space:normal !important;
    box-shadow:0 8px 22px rgba(0,0,0,.06) !important;
}
.works-ticker-item.partner-strip-item:hover,
a.works-ticker-item.partner-strip-item:hover{
    transform:translateY(-3px) scale(1.025) !important;
    border-color:#000000 !important;
    background:#ffffff !important;
    color:#000000 !important;
    box-shadow:0 12px 26px rgba(0,0,0,.14) !important;
}
[data-theme="dark"] .works-ticker-item.partner-strip-item,
[data-theme="dark"] a.works-ticker-item.partner-strip-item,
[data-theme="dark"] .works-ticker-item.partner-strip-item.revealed,
[data-theme="dark"] a.works-ticker-item.partner-strip-item.revealed,
[data-theme="dark"] .works-ticker-item.partner-strip-item:hover,
[data-theme="dark"] a.works-ticker-item.partner-strip-item:hover{
    background:#000000 !important;
    color:var(--text) !important;
    border-color:rgba(255,255,255,.24) !important;
    box-shadow:none !important;
}
.works-ticker-item.partner-strip-item .partner-strip-logo,
.works-ticker-item.partner-strip-item .works-thumb{
    flex:0 0 48px !important;
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    min-height:48px !important;
    border-radius:50% !important;
    overflow:hidden !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:var(--card-2) !important;
    border:1px solid rgba(0,0,0,.08) !important;
    color:var(--text) !important;
}
[data-theme="dark"] .works-ticker-item.partner-strip-item .partner-strip-logo,
[data-theme="dark"] .works-ticker-item.partner-strip-item .works-thumb{
    background:#0b0b0b !important;
    border-color:rgba(255,255,255,.18) !important;
}
.works-ticker-item.partner-strip-item .partner-strip-logo img,
.works-ticker-item.partner-strip-item .works-thumb img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
    display:block !important;
}
.works-ticker-item.partner-strip-item .partner-strip-name,
.works-ticker-item.partner-strip-item .works-name{
    display:block !important;
    width:auto !important;
    max-width:198px !important;
    min-height:0 !important;
    color:inherit !important;
    font-size:.9rem !important;
    font-weight:850 !important;
    line-height:1.25 !important;
    text-align:left !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    overflow-wrap:anywhere !important;
}
@media (max-width:768px){
    .references-section .works-ticker,
    .works-ticker{
        max-width:calc(100vw - 28px) !important;
        border-radius:999px !important;
        margin-top:28px !important;
        mask-image:none !important;
        -webkit-mask-image:none !important;
    }
    .works-track.partner-strip-track{gap:10px !important;padding:10px !important;}
    .works-ticker-item.partner-strip-item,
    a.works-ticker-item.partner-strip-item{
        min-width:196px !important;
        max-width:244px !important;
        min-height:58px !important;
        padding:8px 16px 8px 8px !important;
        gap:9px !important;
    }
    .works-ticker-item.partner-strip-item .partner-strip-logo,
    .works-ticker-item.partner-strip-item .works-thumb{
        flex-basis:38px !important;
        width:38px !important;
        height:38px !important;
        min-width:38px !important;
        min-height:38px !important;
    }
    .works-ticker-item.partner-strip-item .partner-strip-name,
    .works-ticker-item.partner-strip-item .works-name{
        max-width:160px !important;
        font-size:.8rem !important;
    }
}

/* 20260526-ui-polish2: szolgáltatás hero egységesítve, eredményfelirat szilárd háttérrel */
.results-gallery-caption{
    background:#ffffff !important;
    color:#111111 !important;
    border:1px solid rgba(0,0,0,.12) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    box-shadow:0 12px 30px rgba(0,0,0,.16) !important;
}
[data-theme="dark"] .results-gallery-caption{
    background:#000000 !important;
    color:#ffffff !important;
    border-color:rgba(255,255,255,.2) !important;
    box-shadow:0 12px 30px rgba(0,0,0,.32) !important;
}


/* Featurable értékelések blokk a támogatóink / munkáink alatt */
.featurable-reviews-section{position:relative;padding:clamp(28px,5vw,64px) 0;background:var(--bg);overflow:hidden}
.featurable-reviews-container{max-width:1100px}
.featurable-reviews-container>div{width:100%}


/* SAWW fix 2026-05-26: Featurable értékelések stabil mobilos megjelenítése. */
.featurable-reviews-section{position:relative;isolation:isolate;overflow:hidden !important;}
.featurable-reviews-container{width:100%;max-width:1100px;overflow:hidden !important;}
#featurable-ef7c3586-3a51-4ed5-bdea-16d4d0765761{width:100% !important;max-width:100% !important;overflow:hidden !important;}
#featurable-ef7c3586-3a51-4ed5-bdea-16d4d0765761 > *{max-width:100% !important;}
@media (max-width:640px){
    .featurable-reviews-section{padding:30px 0 42px !important;}
    .featurable-reviews-container{padding-left:14px !important;padding-right:14px !important;}
}
