/* ─── Self-hosted Inter (latin-ext covers Czech diacritics) ─── */ @font-face{font-family:'Inter';font-style:normal;font-weight:300 800;font-display:swap;src:url('/fonts/inter-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Inter';font-style:normal;font-weight:300 800;font-display:swap;src:url('/fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}:root{--bg:#e0e5ec;--shadow-light:#ffffff;--shadow-dark:#a3b1c6;--accent:#4CAF82;--accent-dark:#3a9b6f;--text-primary:#2d3748;--text-secondary:#718096;--text-muted:#a0aec0;--neu-flat:6px 6px 14px #a3b1c6,-6px -6px 14px #ffffff;--neu-inset:inset 4px 4px 10px #a3b1c6,inset -4px -4px 10px #ffffff;--neu-btn:4px 4px 10px #a3b1c6,-4px -4px 10px #ffffff;}html{scroll-behavior:smooth;}#sluzby,#jak-pracuji,#portfolio,#faq,#o-mne{scroll-margin-top:100px;}*{margin:0;padding:0;box-sizing:border-box;}/* ─── Skip to content (a11y) ─── */ .skip-link{position:absolute;top:-100px;left:16px;background:var(--accent);color:#fff;padding:12px 20px;border-radius:8px;font-weight:600;text-decoration:none;z-index:1000;transition:top 0.2s ease;}.skip-link:focus{top:16px;outline:3px solid #fff;}/* ─── H1 accent span (replaces <br>s) ─── */ .h1-accent{display:block;}/* ─── FAQ ─── */ .faq-list{max-width:820px;margin:40px auto 0;display:flex;flex-direction:column;gap:16px;padding:0 20px;}.faq-item{background:var(--bg);border-radius:16px;box-shadow:var(--neu-flat);padding:4px 6px;transition:box-shadow 0.25s ease;}.faq-item[open]{box-shadow:var(--neu-inset);}.faq-q{cursor:pointer;list-style:none;padding:18px 22px;font-weight:600;font-size:1rem;color:var(--text-primary);display:flex;justify-content:space-between;align-items:center;gap:14px;}.faq-q::-webkit-details-marker{display:none;}.faq-q::after{content:"+";font-size:1.4rem;font-weight:300;color:var(--accent);transition:transform 0.25s ease;flex-shrink:0;}.faq-item[open] .faq-q::after{transform:rotate(45deg);}.faq-a{padding:0 22px 18px;font-size:0.95rem;color:var(--text-secondary);line-height:1.7;}body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text-primary);overflow-x:hidden;}/* ─── NAV ─── */ nav{position:fixed;top:24px;left:50%;transform:translateX(-50%);z-index:100;background:var(--bg);border-radius:50px;padding:12px 28px;box-shadow:var(--neu-flat);display:flex;align-items:center;gap:32px;width:min(920px,92vw);}.nav-logo{font-weight:800;font-size:1.2rem;color:var(--accent);letter-spacing:-0.5px;text-decoration:none;flex:1;}.nav-links{display:flex;gap:4px;list-style:none;}.nav-links a{text-decoration:none;color:var(--text-secondary);font-size:0.875rem;font-weight:500;padding:8px 16px;border-radius:50px;transition:all 0.2s;}.nav-links a:hover{box-shadow:var(--neu-inset);color:var(--text-primary);}.nav-cta{background:var(--accent) !important;color:#fff !important;box-shadow:3px 3px 8px rgba(76,175,130,0.4),-1px -1px 4px rgba(255,255,255,0.3) !important;font-weight:600 !important;}.nav-cta:hover{background:var(--accent-dark) !important;box-shadow:none !important;}/* ─── NAV CTA TOOLTIP ─── */ .nav-cta-wrap{position:relative;}.nav-tooltip{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(-6px);background:var(--bg);border-radius:16px;padding:10px 16px;box-shadow:8px 8px 20px #a3b1c6,-6px -6px 16px #ffffff;white-space:nowrap;display:flex;align-items:center;gap:8px;font-size:0.75rem;font-weight:600;color:var(--text-secondary);pointer-events:none;opacity:0;transition:opacity 0.22s cubic-bezier(0.23,1,0.32,1),transform 0.22s cubic-bezier(0.23,1,0.32,1);z-index:200;}/* Arrow pointer */ .nav-tooltip::before{content:'';position:absolute;top:-5px;left:50%;transform:translateX(-50%) rotate(45deg);width:10px;height:10px;background:var(--bg);box-shadow:-3px -3px 6px #ffffff;border-radius:2px;}.nav-tooltip-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px rgba(76,175,130,0.7);animation:pulse 2s infinite;flex-shrink:0;}.nav-cta-wrap:hover .nav-tooltip,.nav-cta-wrap:focus-within .nav-tooltip{opacity:1;transform:translateX(-50%) translateY(0);}/* ─── HERO ─── */ .hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:120px 40px 80px;max-width:1140px;margin:0 auto;gap:70px;}@media (max-width:900px){.hero{min-height:unset;height:auto;}}.hero-left{flex:1.1;position:relative;z-index:1;}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--bg);box-shadow:var(--neu-flat);border-radius:50px;padding:8px 18px;font-size:0.8rem;font-weight:600;color:var(--accent);margin-bottom:28px;}.hero-badge-dot{width:8px;height:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 6px var(--accent);animation:pulse 2s infinite;}h1{font-size:clamp(2.4rem,4.5vw,3.6rem);font-weight:800;line-height:1.1;color:var(--text-primary);margin-bottom:20px;letter-spacing:-1px;}h1 span{color:var(--accent);}.hero-sub{font-size:1.05rem;color:var(--text-secondary);line-height:1.75;max-width:460px;margin-bottom:40px;}.hero-btns{display:flex;gap:16px;flex-wrap:wrap;}.btn-primary{background:var(--accent);color:#fff;border:none;padding:14px 32px;border-radius:50px;font-weight:700;font-size:0.95rem;cursor:pointer;box-shadow:4px 4px 12px rgba(76,175,130,0.45),-2px -2px 6px rgba(255,255,255,0.4);transition:all 0.25s;font-family:'Inter',sans-serif;}.btn-primary:hover{transform:translateY(-2px);box-shadow:6px 6px 20px rgba(76,175,130,0.5),-2px -2px 8px rgba(255,255,255,0.4);}.btn-secondary{background:var(--bg);color:var(--text-primary);border:none;padding:14px 32px;border-radius:50px;font-weight:600;font-size:0.95rem;cursor:pointer;box-shadow:var(--neu-btn);transition:all 0.25s;font-family:'Inter',sans-serif;}.btn-secondary:hover{box-shadow:var(--neu-inset);}/* ─── HERO RIGHT ─── */ .hero-right{flex:1;display:flex;justify-content:center;align-items:center;position:relative;width:420px;min-width:420px;height:520px;z-index:1;}/* ─── CENTER CARD ─── */ .hero-card{background:var(--bg);border-radius:28px;box-shadow:12px 12px 30px #a3b1c6,-12px -12px 30px #ffffff;padding:26px;width:230px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;}.hero-card-top{display:flex;gap:6px;margin-bottom:16px;}.dot{width:10px;height:10px;border-radius:50%;}.dot-r{background:#ff6b6b;}.dot-y{background:#ffd93d;}.dot-g{background:var(--accent);}.code-line{height:8px;border-radius:6px;background:var(--bg);box-shadow:var(--neu-inset);margin-bottom:8px;}.code-line.green{background:rgba(76,175,130,0.22);box-shadow:none;}.code-line.blue{background:rgba(66,133,244,0.18);box-shadow:none;}.code-line.short{width:55%;}.code-line.med{width:78%;}.code-line.long{width:100%;}.code-line.xshort{width:38%;}.perf-bar-wrap{margin-top:16px;background:rgba(76,175,130,0.08);border-radius:12px;padding:12px 14px;box-shadow:inset 2px 2px 6px rgba(163,177,198,0.4),inset -2px -2px 6px rgba(255,255,255,0.6);}.perf-bar-top{display:flex;justify-content:space-between;margin-bottom:8px;}.perf-bar-top span:first-child{font-size:0.7rem;font-weight:600;color:var(--text-secondary);}.perf-bar-top span:last-child{font-size:0.7rem;font-weight:800;color:var(--accent);}.perf-bar-track{height:6px;background:var(--bg);border-radius:3px;box-shadow:var(--neu-inset);}.perf-bar-fill{height:100%;width:98%;background:linear-gradient(90deg,var(--accent),#6de0a8);border-radius:3px;box-shadow:0 0 8px rgba(76,175,130,0.5);}/* ─── HERO BROWSERS ─── */ .hero-browser{position:absolute;background:var(--bg);border-radius:14px;box-shadow:8px 8px 20px #a3b1c6,-5px -5px 14px #ffffff;overflow:hidden;z-index:2;}.hero-browser-bar{height:20px;background:rgba(163,177,198,0.15);display:flex;align-items:center;padding:0 8px;gap:4px;border-bottom:1px solid rgba(163,177,198,0.13);}.hb-dot{width:6px;height:6px;border-radius:50%;}.hero-browser-url{flex:1;height:8px;border-radius:4px;background:var(--bg);box-shadow:inset 2px 2px 4px rgba(163,177,198,0.45),inset -1px -1px 3px rgba(255,255,255,0.7);margin-left:5px;}.hero-browser-body{padding:9px;}.hb-a{width:155px;left:0px;top:60px;animation:floatB 4.2s ease-in-out infinite;}.hb-b{width:150px;left:10px;bottom:55px;animation:floatC 3.7s ease-in-out infinite;}.hb-c{width:158px;right:8px;top:55px;animation:floatA 4.5s ease-in-out infinite;}/* ─── FLOATING BADGES ─── */ .float-badge{position:absolute;background:var(--bg);box-shadow:var(--neu-flat);border-radius:14px;padding:8px 12px;font-size:0.72rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:7px;z-index:5;white-space:nowrap;}.fb-icon{width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}.badge-seo{top:16px;left:50%;transform:translateX(-50%);animation:floatSeo 3.2s ease-in-out infinite;}.badge-sc{top:130px;right:0px;animation:floatB 3.8s ease-in-out infinite;}.badge-perf{bottom:16px;left:50%;transform:translateX(-50%);animation:floatPerf 3.5s ease-in-out infinite;}.badge-seznam{bottom:115px;right:0px;animation:floatA 4.1s ease-in-out infinite;}@keyframes floatA{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes floatB{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes floatC{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes floatSeo{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-8px)}}@keyframes floatPerf{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-8px)}}/* ─── BROWSER INNER ELEMENTS ─── */ .hb-hero-img{width:100%;height:55px;border-radius:7px;margin-bottom:7px;display:flex;align-items:center;justify-content:center;}.hb-row{height:6px;border-radius:3px;background:var(--bg);box-shadow:inset 1px 1px 3px rgba(163,177,198,0.45),inset -1px -1px 2px rgba(255,255,255,0.7);margin-bottom:5px;}.hb-row.accent{background:rgba(76,175,130,0.22);box-shadow:none;}.hb-row.blue{background:rgba(66,133,244,0.18);box-shadow:none;}.hb-row.short{width:55%;}.hb-row.med{width:78%;}.hb-row.long{width:100%;}.hb-btn{display:inline-block;margin-top:5px;padding:3px 9px;border-radius:20px;background:var(--accent);font-size:0.56rem;font-weight:700;color:#fff;box-shadow:2px 2px 5px rgba(76,175,130,0.4);}.hb-metric{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;}.hb-metric-label{font-size:0.55rem;font-weight:600;color:var(--text-muted);}.hb-metric-val{font-size:0.6rem;font-weight:800;color:var(--accent);}.hb-bar-track{height:4px;border-radius:2px;background:var(--bg);box-shadow:inset 1px 1px 3px rgba(163,177,198,0.4),inset -1px -1px 2px rgba(255,255,255,0.7);margin-bottom:5px;}.hb-bar-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--accent),#6de0a8);}.hb-tag{display:inline-flex;align-items:center;gap:3px;background:rgba(76,175,130,0.12);border-radius:20px;padding:2px 6px;font-size:0.54rem;font-weight:700;color:var(--accent);margin-top:3px;}.hb-app{display:flex;gap:6px;height:88px;}.hb-sidebar{width:26px;display:flex;flex-direction:column;gap:4px;padding-top:2px;}.hb-sidebar-dot{height:20px;border-radius:5px;background:var(--bg);box-shadow:inset 1px 1px 3px rgba(163,177,198,0.4),inset -1px -1px 2px rgba(255,255,255,0.6);}.hb-sidebar-dot.active{background:rgba(76,175,130,0.22);box-shadow:none;}.hb-app-content{flex:1;display:flex;flex-direction:column;gap:4px;}.hb-stats-row{display:flex;gap:4px;}.hb-stat-chip{flex:1;height:20px;border-radius:5px;background:var(--bg);box-shadow:inset 1px 1px 3px rgba(163,177,198,0.4),inset -1px -1px 2px rgba(255,255,255,0.6);}.hb-stat-chip.g{background:rgba(76,175,130,0.2);box-shadow:none;}.hb-stat-chip.b{background:rgba(66,133,244,0.15);box-shadow:none;}.hb-stat-chip.o{background:rgba(255,152,0,0.15);box-shadow:none;}.hb-content-row{height:7px;border-radius:3px;background:var(--bg);box-shadow:inset 1px 1px 2px rgba(163,177,198,0.35),inset -1px -1px 2px rgba(255,255,255,0.6);}/* ─── HERO GLOW ─── */ .hero-right::before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(76,175,130,0.14) 0%,rgba(76,175,130,0.07) 42%,transparent 70%);pointer-events:none;z-index:1;animation:glowPulse 4s ease-in-out infinite;}.hero-right::after{content:'';position:absolute;left:calc(50% + 54px);top:calc(50% - 60px);transform:translate(-50%,-50%);width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(76,215,140,0.22) 0%,rgba(76,195,130,0.10) 45%,transparent 72%);pointer-events:none;z-index:1;animation:glowPulse2 4s ease-in-out infinite;}@keyframes glowPulse{0%,100%{opacity:0.8;transform:translate(-50%,-50%) scale(1);}50%{opacity:1;transform:translate(-50%,-50%) scale(1.12);}}@keyframes glowPulse2{0%,100%{opacity:0.65;transform:translate(-50%,-50%) scale(1);}50%{opacity:1;transform:translate(-50%,-50%) scale(1.18);}}/* ─── AURORA BACKGROUND ─── */ #hlavni{position:relative;overflow-x:clip;}.aurora-bg{position:absolute;top:0;left:0;right:0;height:100vh;overflow:hidden;z-index:0;pointer-events:none;}.aurora-layer{position:absolute;border-radius:50%;filter:blur(60px);opacity:0.7;}.aurora-1{width:600px;height:600px;background:radial-gradient(circle,rgba(76,175,130,0.5) 0%,rgba(76,175,130,0.2) 40%,transparent 70%);top:-50px;left:-80px;animation:auroraMove1 15s ease-in-out infinite;}.aurora-2{width:500px;height:500px;background:radial-gradient(circle,rgba(58,200,140,0.45) 0%,rgba(76,175,130,0.2) 50%,transparent 70%);bottom:80px;right:20px;animation:auroraMove2 20s ease-in-out infinite;}.aurora-3{width:400px;height:400px;background:radial-gradient(circle,rgba(100,200,170,0.4) 0%,rgba(76,175,130,0.15) 50%,transparent 70%);top:40%;left:50%;animation:auroraMove3 12s ease-in-out infinite;}@keyframes auroraMove1{0%,100%{transform:translate(0,0) scale(1);}33%{transform:translate(40px,30px) scale(1.1);}66%{transform:translate(-30px,50px) scale(0.95);}}@keyframes auroraMove2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-40px,-40px) scale(1.15);}}@keyframes auroraMove3{0%,100%{transform:translate(0,0) scale(1);opacity:0.7;}50%{transform:translate(30px,-30px) scale(1.2);opacity:0.4;}}/* ─── PAGE AURORAS ─── */ .page-aurora{position:absolute;width:100%;height:400px;left:0;z-index:0;pointer-events:none;filter:blur(60px);opacity:0.4;}.aurora-trust{top:100vh;background:radial-gradient(ellipse 600px 300px at 10% 50%,rgba(76,175,130,0.5) 0%,transparent 70%);animation:pageAurora1 20s ease-in-out infinite;}.aurora-services{top:140vh;background:radial-gradient(ellipse 500px 250px at 90% 50%,rgba(100,200,150,0.45) 0%,transparent 70%);animation:pageAurora2 25s ease-in-out infinite;}.aurora-process{top:220vh;background:radial-gradient(ellipse 400px 200px at 50% 50%,rgba(58,180,130,0.4) 0%,transparent 70%);animation:pageAurora3 18s ease-in-out infinite;}.aurora-portfolio{top:280vh;background:radial-gradient(ellipse 600px 300px at 15% 50%,rgba(76,175,130,0.45) 0%,transparent 70%);animation:pageAurora1 22s ease-in-out infinite;}.aurora-faq{top:350vh;background:radial-gradient(ellipse 500px 250px at 85% 50%,rgba(100,200,150,0.4) 0%,transparent 70%);animation:pageAurora2 20s ease-in-out infinite;}.aurora-about{top:430vh;background:radial-gradient(ellipse 400px 200px at 40% 50%,rgba(58,180,130,0.35) 0%,transparent 70%);animation:pageAurora3 19s ease-in-out infinite;}.aurora-advantages{top:510vh;background:radial-gradient(ellipse 500px 250px at 20% 50%,rgba(76,175,130,0.4) 0%,transparent 70%);animation:pageAurora1 21s ease-in-out infinite;}.aurora-cta{top:580vh;background:radial-gradient(ellipse 400px 200px at 80% 50%,rgba(100,200,150,0.35) 0%,transparent 70%);animation:pageAurora2 23s ease-in-out infinite;}@keyframes pageAurora1{0%,100%{transform:translateX(0) scale(1);opacity:0.4;}50%{transform:translateX(30px) scale(1.1);opacity:0.25;}}@keyframes pageAurora2{0%,100%{transform:translateX(0) scale(1);opacity:0.4;}50%{transform:translateX(-30px) scale(1.15);opacity:0.25;}}@keyframes pageAurora3{0%,100%{transform:translateX(0) scale(1);opacity:0.35;}50%{transform:translateX(20px) scale(1.2);opacity:0.2;}}/* ══════════════════════════════════════════════ ─── TRUST CARDS — redesigned ─── ══════════════════════════════════════════════ */ .trust-section{position:relative;z-index:1;max-width:1140px;margin:0 auto 90px;padding:0 40px;}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:stretch;}.trust-card{background:var(--bg);border-radius:28px;box-shadow:var(--neu-flat);padding:34px 28px 30px;display:flex;flex-direction:column;gap:0;transition:transform 0.38s cubic-bezier(0.23,1,0.32,1),box-shadow 0.38s ease;position:relative;overflow:hidden;cursor:default;}/* Subtle top accent line that reveals on hover */ .trust-card::after{content:'';position:absolute;top:0;left:20%;right:20%;height:2px;border-radius:0 0 2px 2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity 0.38s ease,left 0.38s ease,right 0.38s ease;}.trust-card:hover::after{opacity:1;left:12%;right:12%;}.trust-card:hover{transform:translateY(-7px);box-shadow:14px 14px 32px #9aabbf,-10px -10px 28px #ffffff;}/* Large ghost number watermark */ .trust-ghost-num{position:absolute;bottom:-8px;right:16px;font-size:5.5rem;font-weight:900;line-height:1;letter-spacing:-4px;color:var(--accent);opacity:0.055;pointer-events:none;transition:opacity 0.38s ease,transform 0.38s ease;user-select:none;}.trust-card:hover .trust-ghost-num{opacity:0.10;transform:translateY(-4px) scale(1.04);}/* Icon row with horizontal rule */ .trust-icon-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;}.trust-icon-wrap{width:52px;height:52px;border-radius:16px;background:var(--bg);box-shadow:var(--neu-btn);display:flex;align-items:center;justify-content:center;transition:box-shadow 0.32s ease,transform 0.32s ease;flex-shrink:0;}.trust-card:hover .trust-icon-wrap{transform:scale(1.1) rotate(-4deg);box-shadow:5px 5px 14px #a3b1c6,-3px -3px 8px #fff,0 0 0 2.5px rgba(76,175,130,0.2);}/* Accent dot cluster */ .trust-dot-cluster{display:flex;gap:5px;align-items:center;}.trust-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:0.22;transition:opacity 0.3s ease;}.trust-dot:first-child{opacity:0.55;}.trust-dot:nth-child(2){opacity:0.35;}.trust-card:hover .trust-dot{opacity:0.65;}.trust-card:hover .trust-dot:first-child{opacity:1;}.trust-card:hover .trust-dot:nth-child(2){opacity:0.8;}.trust-card-title{font-size:1.08rem;font-weight:800;color:var(--text-primary);line-height:1.22;letter-spacing:-0.2px;margin-bottom:6px;}/* Short accent underline */ .trust-card-line{width:24px;height:2.5px;border-radius:2px;background:var(--accent);margin-bottom:14px;transition:width 0.38s cubic-bezier(0.23,1,0.32,1);}.trust-card:hover .trust-card-line{width:40px;}.trust-card-desc{font-size:0.82rem;color:var(--text-secondary);line-height:1.68;}/* ─── SECTION SHELL ─── */ .section{position:relative;z-index:1;max-width:1140px;margin:0 auto 90px;padding:0 40px;}.section-header{text-align:center;margin-bottom:52px;}.section-tag{display:inline-block;background:var(--bg);box-shadow:var(--neu-inset);border-radius:50px;padding:6px 18px;font-size:0.75rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:14px;}h2{font-size:clamp(1.9rem,3vw,2.6rem);font-weight:800;color:var(--text-primary);margin-bottom:12px;letter-spacing:-0.5px;}.section-sub{font-size:1rem;color:var(--text-secondary);max-width:480px;margin:0 auto;line-height:1.65;}/* ─── SERVICES ─── */ .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}.service-card{background:var(--bg);border-radius:24px;box-shadow:var(--neu-flat);padding:32px 28px;transition:all 0.3s;cursor:default;position:relative;overflow:hidden;min-height:260px;display:flex;flex-direction:column;}.service-card:hover{transform:translateY(-4px);box-shadow:10px 10px 26px #a3b1c6,-10px -10px 26px #ffffff;}.service-card:hover .service-details{opacity:1;transform:translateY(0);pointer-events:auto;}.service-card:hover .service-desc,.service-card:hover .service-title,.service-card:hover .service-icon,.service-card:hover .service-tag{opacity:0;transform:translateY(-6px);transition:opacity 0.22s ease,transform 0.22s ease;}.service-icon{width:58px;height:58px;border-radius:17px;background:var(--bg);box-shadow:var(--neu-btn);display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:opacity 0.22s ease,transform 0.22s ease,box-shadow 0.3s;}.service-title{font-size:1.05rem;font-weight:700;margin-bottom:10px;color:var(--text-primary);transition:opacity 0.22s ease,transform 0.22s ease;}.service-desc{font-size:0.86rem;color:var(--text-secondary);line-height:1.65;transition:opacity 0.25s ease,transform 0.25s ease;flex:1;}.service-tag{display:inline-block;margin-top:16px;padding:4px 12px;border-radius:50px;font-size:0.73rem;font-weight:600;background:rgba(76,175,130,0.12);color:var(--accent);transition:opacity 0.22s ease,transform 0.22s ease;}.service-details{position:absolute;bottom:0;left:0;right:0;top:0;background:var(--bg);border-radius:24px;padding:28px 28px 26px;opacity:0;transform:translateY(8px);transition:opacity 0.3s ease,transform 0.3s ease;pointer-events:none;display:flex;flex-direction:column;justify-content:center;gap:14px;}.service-details-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-bottom:2px;}.service-details ul{list-style:none;display:flex;flex-direction:column;gap:7px;}.service-details ul li{font-size:0.8rem;color:var(--text-secondary);display:flex;align-items:center;gap:8px;font-weight:500;}.service-details ul li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;box-shadow:0 0 5px rgba(76,175,130,0.5);}/* ─── PROCESS ─── */ .process-row{display:grid;grid-template-columns:1fr 48px 1fr 48px 1fr;align-items:center;}.process-card{background:var(--bg);border-radius:24px;box-shadow:var(--neu-flat);padding:36px 28px;text-align:center;transition:all 0.3s;}.process-card:hover{box-shadow:var(--neu-inset);}.process-icon-wrap{width:64px;height:64px;border-radius:20px;background:var(--bg);box-shadow:var(--neu-btn);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;}.process-arrow{display:flex;align-items:center;justify-content:center;color:var(--accent);opacity:0.5;}.process-step-label{font-size:0.7rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:8px;}.process-title{font-size:1.05rem;font-weight:700;margin-bottom:10px;color:var(--text-primary);}.process-desc{font-size:0.84rem;color:var(--text-secondary);line-height:1.6;}/* ─── PORTFOLIO ─── */ .portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}.portfolio-card{background:var(--bg);border-radius:24px;box-shadow:var(--neu-flat);overflow:hidden;transition:all 0.3s;cursor:pointer;display:flex;flex-direction:column;text-decoration:none;color:inherit;}.portfolio-card:focus-visible{outline:3px solid var(--accent);outline-offset:4px;}.portfolio-card:hover{transform:translateY(-5px);box-shadow:10px 10px 26px #a3b1c6,-10px -10px 26px #ffffff;}.portfolio-thumb{height:175px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}.browser-bar{position:absolute;top:0;left:0;right:0;height:28px;background:rgba(255,255,255,0.25);display:flex;align-items:center;padding:0 10px;gap:5px;}.b-dot{width:7px;height:7px;border-radius:50%;}.portfolio-thumb svg{width:70px;height:70px;opacity:0.3;margin-top:18px;}.portfolio-thumb picture,.portfolio-thumb picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;display:block;}.portfolio-thumb video,.portfolio-thumb .port-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;display:block;z-index:1;}.portfolio-thumb .video-fallback{display:none;}@media (prefers-reduced-motion:reduce){.portfolio-thumb video,.portfolio-thumb .port-vid{display:none;}.portfolio-thumb .video-fallback{display:block;}}.portfolio-info{display:flex;flex-direction:column;flex:1 1 auto;padding:20px 22px;text-decoration:none;color:inherit;}.portfolio-cat{font-size:0.7rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;}.portfolio-title{font-size:1rem;font-weight:700;margin-bottom:6px;}.portfolio-desc{font-size:0.82rem;color:var(--text-secondary);line-height:1.55;}.project-link{display:inline-block;margin-top:auto;padding-top:10px;color:var(--accent);font-weight:600;font-size:0.85rem;}/* ─── ABOUT ─── */ .about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:stretch;}.about-column{display:flex;flex-direction:column;gap:18px;}.about-column .about-card{flex:1;}.about-card{background:var(--bg);border-radius:28px;box-shadow:var(--neu-flat);padding:40px;}.about-avatar-ring{width:96px;height:96px;margin-bottom:22px;position:relative;flex-shrink:0;}.about-avatar-ring svg{width:96px;height:96px;transform:rotate(-90deg);}/* outer raised disc behind the SVG */ .about-avatar-ring::before{content:'';position:absolute;inset:6px;border-radius:50%;background:var(--bg);box-shadow:5px 5px 14px #a3b1c6,-5px -5px 14px #ffffff;z-index:0;}.about-avatar-emoji{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1;gap:0px;}.about-avatar-emoji .ring-num{font-size:1.35rem;font-weight:900;color:var(--accent);line-height:1;letter-spacing:-1px;}.about-avatar-emoji .ring-label{font-size:0.5rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.8px;line-height:1.2;text-align:center;}.about-name{font-size:1.5rem;font-weight:800;margin-bottom:4px;}.about-role{color:var(--accent);font-weight:600;font-size:0.9rem;margin-bottom:18px;}.about-text{color:var(--text-secondary);line-height:1.75;font-size:0.9rem;}.skills-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}.skill-pill{background:var(--bg);box-shadow:var(--neu-btn);border-radius:50px;padding:6px 16px;font-size:0.78rem;font-weight:600;color:var(--text-secondary);transition:all 0.2s;}.skill-pill:hover{box-shadow:var(--neu-inset);}.contact-mini{display:flex;flex-direction:column;gap:18px;}.contact-card{background:var(--bg);border-radius:20px;box-shadow:var(--neu-flat);padding:22px 26px;display:flex;align-items:center;gap:16px;}.contact-card-icon{width:44px;height:44px;border-radius:13px;background:var(--bg);box-shadow:var(--neu-btn);display:flex;align-items:center;justify-content:center;flex-shrink:0;}.contact-card-label{font-size:0.75rem;font-weight:600;color:var(--text-muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:0.8px;}.contact-card-value{font-size:1rem;font-weight:700;color:var(--accent);text-decoration:none;}/* ─── SKILLSET CARD ─── */ .skillset-card{background:var(--bg);border-radius:20px;box-shadow:var(--neu-flat);padding:24px 26px;}.skillset-label{font-size:0.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;}.skillset-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}.skill-chip{background:var(--bg);box-shadow:var(--neu-btn);border-radius:14px;padding:10px 13px;display:flex;align-items:center;gap:9px;font-size:0.8rem;font-weight:600;color:var(--text-secondary);cursor:default;/* entrance state */ opacity:0;transform:translateY(8px);transition:box-shadow 0.22s ease,color 0.22s ease,transform 0.22s cubic-bezier(0.23,1,0.32,1),opacity 0.38s cubic-bezier(0.23,1,0.32,1);}.skill-chip.chip-visible{opacity:1;transform:translateY(0);}.skill-chip.chip-visible:hover{box-shadow:var(--neu-inset);color:var(--text-primary);transform:translateY(-1px);}.skill-chip--wide{grid-column:span 1;}.skill-chip-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}/* ─── ADVANTAGES ─── */ .advantages-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;align-items:stretch;}/* ─── ADVANTAGES STAGGER ─── */ .adv-card{opacity:0;transform:translateY(32px);transition:opacity 0.55s cubic-bezier(0.23,1,0.32,1),transform 0.55s cubic-bezier(0.23,1,0.32,1),box-shadow 0.3s ease;}.adv-card.adv-visible{opacity:1;transform:translateY(0);}.adv-card.adv-visible:hover{transform:translateY(-5px);}.adv-card{background:var(--bg);border-radius:24px;box-shadow:var(--neu-flat);padding:28px 20px;display:flex;flex-direction:column;gap:12px;transition:all 0.3s;transform-style:preserve-3d;will-change:transform;}.adv-card:hover{transform:translateY(-5px);box-shadow:10px 10px 26px #a3b1c6,-10px -10px 26px #ffffff;}.adv-card--accent{background:var(--accent);box-shadow:8px 8px 22px rgba(76,175,130,0.4),-4px -4px 12px rgba(255,255,255,0.3);}.adv-card--accent:hover{box-shadow:12px 12px 28px rgba(76,175,130,0.5),-6px -6px 16px rgba(255,255,255,0.35);}.adv-icon-wrap{width:54px;height:54px;border-radius:15px;background:var(--bg);box-shadow:var(--neu-btn);display:flex;align-items:center;justify-content:center;flex-shrink:0;}.adv-icon-wrap--white{background:rgba(255,255,255,0.22);box-shadow:3px 3px 8px rgba(0,0,0,0.1),-2px -2px 6px rgba(255,255,255,0.25);}.adv-title{font-size:0.97rem;font-weight:700;color:var(--text-primary);line-height:1.25;}.adv-desc{font-size:0.81rem;color:var(--text-secondary);line-height:1.6;flex:1;}.adv-stat{font-size:1.2rem;font-weight:800;color:var(--accent);}.adv-stat small{font-size:0.72rem;font-weight:500;color:var(--text-muted);display:block;margin-top:1px;}.adv-stat--white{color:#fff;}.adv-stat--white small{color:rgba(255,255,255,0.65);}/* ─── CTA ─── */ .cta-banner{position:relative;z-index:1;max-width:820px;margin:0 auto 90px;padding:0 40px;}.cta-inner{background:var(--bg);border-radius:32px;box-shadow:var(--neu-flat);padding:60px 56px;text-align:center;}.cta-inner h2{margin-bottom:14px;}.cta-inner p{color:var(--text-secondary);margin-bottom:36px;font-size:1rem;line-height:1.65;}/* ─── MICRO-FORM OVERLAY ─── */ #micro-form-overlay{position:fixed;inset:0;z-index:8000;display:flex;align-items:flex-end;justify-content:center;padding-bottom:0;pointer-events:none;}#micro-form-overlay.mf-open{pointer-events:auto;}/* Backdrop */ #micro-form-backdrop{position:absolute;inset:0;background:rgba(163,177,198,0.28);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity 0.38s cubic-bezier(0.23,1,0.32,1);}#micro-form-overlay.mf-open #micro-form-backdrop{opacity:1;}/* Card */ #micro-form-card{position:relative;z-index:1;width:min(560px,96vw);background:var(--bg);border-radius:32px 32px 0 0;box-shadow:-4px -8px 40px #a3b1c6,4px 0px 20px #ffffff;padding:40px 40px 44px;transform:translateY(100%);transition:transform 0.48s cubic-bezier(0.23,1,0.32,1);}#micro-form-overlay.mf-open #micro-form-card{transform:translateY(0);}/* Drag handle */ .mf-handle{width:40px;height:4px;border-radius:2px;background:var(--bg);box-shadow:inset 2px 2px 4px #a3b1c6,inset -2px -2px 4px #ffffff;margin:0 auto 28px;}/* Close button */ .mf-close{position:absolute;top:20px;right:24px;width:36px;height:36px;border-radius:50%;border:none;background:var(--bg);box-shadow:3px 3px 8px #a3b1c6,-3px -3px 8px #ffffff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:box-shadow 0.2s ease;font-family:'Inter',sans-serif;}.mf-close:hover{box-shadow:inset 2px 2px 6px #a3b1c6,inset -2px -2px 6px #ffffff;}/* Header */ .mf-header{margin-bottom:28px;}.mf-tag{display:inline-flex;align-items:center;gap:7px;background:var(--bg);box-shadow:var(--neu-inset);border-radius:50px;padding:5px 14px;font-size:0.72rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;}.mf-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 5px rgba(76,175,130,0.6);animation:pulse 2s infinite;flex-shrink:0;}.mf-title{font-size:1.45rem;font-weight:800;color:var(--text-primary);letter-spacing:-0.4px;margin-bottom:4px;}.mf-sub{font-size:0.84rem;color:var(--text-secondary);line-height:1.6;}/* Fields */ .mf-fields{display:flex;flex-direction:column;gap:14px;margin-bottom:20px;}.mf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}.mf-field{display:flex;flex-direction:column;gap:7px;}.mf-label{font-size:0.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.8px;padding-left:4px;}.mf-input,.mf-textarea{font-family:'Inter',sans-serif;font-size:0.9rem;font-weight:500;color:var(--text-primary);background:var(--bg);border:none;border-radius:16px;padding:13px 18px;box-shadow:var(--neu-inset);outline:none;transition:box-shadow 0.22s ease;resize:none;}.mf-input::placeholder,.mf-textarea::placeholder{color:var(--text-muted);font-weight:400;}.mf-input:focus,.mf-textarea:focus{box-shadow:inset 4px 4px 10px #a3b1c6,inset -4px -4px 10px #ffffff,0 0 0 2px rgba(76,175,130,0.25);}.mf-textarea{min-height:90px;line-height:1.6;}/* Budget toggles */ .mf-budget-section{margin-bottom:20px;}.mf-budget-label{font-size:0.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.8px;padding-left:4px;margin-bottom:10px;display:block;}.mf-budget-pills{display:flex;gap:10px;flex-wrap:wrap;}.mf-budget-pill{flex:1;min-width:0;background:var(--bg);border:none;border-radius:50px;padding:10px 14px;font-family:'Inter',sans-serif;font-size:0.78rem;font-weight:600;color:var(--text-secondary);cursor:pointer;box-shadow:var(--neu-btn);transition:all 0.22s cubic-bezier(0.23,1,0.32,1);white-space:nowrap;text-align:center;}.mf-budget-pill:hover{box-shadow:inset 3px 3px 8px #a3b1c6,inset -3px -3px 8px #ffffff;color:var(--text-primary);}.mf-budget-pill.mf-budget-active{background:var(--accent);color:#fff;box-shadow:3px 3px 10px rgba(76,175,130,0.45),-1px -1px 4px rgba(255,255,255,0.3);transform:translateY(-1px);}/* Footer row */ .mf-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}.mf-note{font-size:0.75rem;color:var(--text-muted);display:flex;align-items:center;gap:5px;}.mf-note svg{flex-shrink:0;}.mf-send{background:var(--accent);color:#fff;border:none;padding:13px 30px;border-radius:50px;font-weight:700;font-size:0.9rem;cursor:pointer;box-shadow:4px 4px 12px rgba(76,175,130,0.45),-2px -2px 6px rgba(255,255,255,0.4);transition:all 0.25s;font-family:'Inter',sans-serif;position:relative;overflow:hidden;display:flex;align-items:center;gap:8px;}.mf-send:hover{transform:translateY(-2px);box-shadow:6px 6px 20px rgba(76,175,130,0.5),-2px -2px 8px rgba(255,255,255,0.4);}.mf-send:active{transform:translateY(0);box-shadow:var(--neu-inset);}/* Success state */ #mf-success{display:none;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px 0 8px;text-align:center;}#mf-success.mf-show-success{display:flex;}.mf-success-icon{width:68px;height:68px;border-radius:50%;background:var(--bg);box-shadow:6px 6px 18px #a3b1c6,-6px -6px 18px #ffffff;display:flex;align-items:center;justify-content:center;animation:successPop 0.5s cubic-bezier(0.23,1,0.32,1) forwards;}.mf-success-title{font-size:1.2rem;font-weight:800;color:var(--text-primary);}.mf-success-sub{font-size:0.85rem;color:var(--text-secondary);line-height:1.6;max-width:320px;}@keyframes successPop{0%{transform:scale(0.5);opacity:0;}70%{transform:scale(1.1);}100%{transform:scale(1);opacity:1;}}/* ─── FOOTER ─── */ footer{background:var(--bg);border-top:1px solid rgba(163,177,198,0.2);padding:52px 40px 32px;}.footer-inner{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:40px;}.footer-brand{font-size:1.4rem;font-weight:800;color:var(--accent);margin-bottom:12px;}.footer-tagline{color:var(--text-secondary);font-size:0.87rem;line-height:1.65;max-width:270px;}.footer-title{font-weight:700;margin-bottom:18px;font-size:0.88rem;color:var(--text-primary);}.footer-links{list-style:none;display:flex;flex-direction:column;gap:10px;}.footer-links a{color:var(--text-secondary);text-decoration:none;font-size:0.87rem;transition:color 0.2s;}.footer-links a:hover{color:var(--accent);}.footer-social-row{display:flex;gap:12px;align-items:center;}.footer-social-icon{color:var(--text-secondary);display:flex;transition:color 0.2s,transform 0.2s;}.footer-social-icon:hover{color:var(--accent);transform:translateY(-2px);}.footer-bottom{max-width:1140px;margin:0 auto;padding-top:24px;border-top:1px solid rgba(163,177,198,0.2);display:flex;flex-direction:column;align-items:center;gap:12px;}.footer-bottom p{color:var(--text-muted);font-size:0.8rem;text-align:center;}.footer-bottom a{color:var(--text-muted);text-decoration:none;transition:color 0.2s;}.footer-bottom a:hover{color:var(--accent);}.trust-badges{display:flex;gap:10px;flex-wrap:wrap;}.trust-pill{background:var(--bg);box-shadow:var(--neu-btn);border-radius:50px;padding:6px 14px;font-size:0.73rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:5px;}/* ─── SCROLL PROGRESS ─── */ #scroll-progress{position:fixed;top:0;left:0;height:2px;width:0%;background:linear-gradient(90deg,var(--accent-dark),var(--accent),#6de0a8);z-index:9999;pointer-events:none;box-shadow:0 0 8px rgba(76,215,140,0.55),0 0 2px rgba(76,175,130,0.4);transition:width 0.08s linear;}/* ─── RIPPLE ─── */ .btn-primary,.btn-secondary{position:relative;overflow:hidden;display:inline-block;text-decoration:none;}.ripple-wave{position:absolute;border-radius:50%;transform:scale(0);animation:rippleExpand 600ms cubic-bezier(0.23,1,0.32,1) forwards;pointer-events:none;}.btn-primary .ripple-wave{background:rgba(255,255,255,0.35);}.btn-secondary .ripple-wave{background:rgba(76,175,130,0.18);}@keyframes rippleExpand{0%{transform:scale(0);opacity:1;}60%{transform:scale(2.8);opacity:0.55;}100%{transform:scale(4.2);opacity:0;}}/* ─── BACK TO TOP ─── */ #back-to-top{position:fixed;bottom:36px;right:36px;z-index:7000;display:flex;align-items:center;gap:8px;background:var(--bg);border:none;border-radius:50px;padding:12px 20px 12px 16px;font-family:'Inter',sans-serif;font-size:0.78rem;font-weight:700;color:var(--text-secondary);box-shadow:6px 6px 16px #a3b1c6,-6px -6px 16px #ffffff;cursor:pointer;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity 0.38s cubic-bezier(0.23,1,0.32,1),transform 0.38s cubic-bezier(0.23,1,0.32,1),box-shadow 0.25s ease,color 0.2s ease;}#back-to-top.btt-visible{opacity:1;transform:translateY(0);pointer-events:auto;}#back-to-top:hover{box-shadow:8px 8px 22px #9aabbf,-6px -6px 18px #ffffff;color:var(--accent);}#back-to-top:active{box-shadow:var(--neu-inset);transform:translateY(1px);}#back-to-top .btt-icon{width:26px;height:26px;border-radius:50%;background:var(--bg);box-shadow:3px 3px 8px #a3b1c6,-3px -3px 8px #ffffff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:box-shadow 0.25s ease,background 0.2s ease;}#back-to-top:hover .btt-icon{background:var(--accent);box-shadow:0 0 12px rgba(76,175,130,0.45),2px 2px 6px rgba(76,175,130,0.3);}#back-to-top:hover .btt-icon svg{stroke:#fff;}/* ─── TYPING INDICATOR ─── */ .typing-indicator{display:flex;align-items:center;gap:7px;opacity:0;transform:translateY(4px);transition:opacity 0.35s cubic-bezier(0.23,1,0.32,1),transform 0.35s cubic-bezier(0.23,1,0.32,1);pointer-events:none;}.typing-indicator.typing-visible{opacity:1;transform:translateY(0);}.typing-bubble{display:flex;align-items:center;gap:4px;background:var(--bg);box-shadow:3px 3px 8px #a3b1c6,-3px -3px 8px #ffffff;border-radius:20px;padding:7px 11px;}.typing-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:0.3;animation:typingBounce 1.4s ease-in-out infinite;box-shadow:0 0 4px rgba(76,175,130,0.4);}.typing-dot:nth-child(1){animation-delay:0ms;}.typing-dot:nth-child(2){animation-delay:180ms;}.typing-dot:nth-child(3){animation-delay:360ms;}@keyframes typingBounce{0%,60%,100%{transform:translateY(0);opacity:0.3;}30%{transform:translateY(-5px);opacity:1;}}.typing-label{font-size:0.7rem;font-weight:600;color:var(--text-muted);white-space:nowrap;letter-spacing:0.2px;}/* ─── UTILS ─── */ @keyframes pulse{0%,100%{opacity:1}50%{opacity:0.45}}.reveal{opacity:0;transform:translateY(26px);transition:opacity 0.65s ease,transform 0.65s ease;}.reveal.visible{opacity:1;transform:translateY(0);}/* ─── SERVICE CARD STAGGER ─── */ .service-card{opacity:0;transform:translateY(36px);transition:opacity 0.55s cubic-bezier(0.23,1,0.32,1),transform 0.55s cubic-bezier(0.23,1,0.32,1),box-shadow 0.3s ease;}.service-card.svc-visible{opacity:1;transform:translateY(0);}.service-card.svc-visible:hover{transform:translateY(-4px);}/* ─── TRUST STAGGER ─── */ .trust-card{opacity:0;transform:translateY(32px);transition:opacity 0.55s cubic-bezier(0.23,1,0.32,1),transform 0.55s cubic-bezier(0.23,1,0.32,1),box-shadow 0.38s ease;}.trust-card.trust-visible{opacity:1;transform:translateY(0);}/* ─── PORTFOLIO STAGGER ─── */ .portfolio-card{opacity:0;transform:translateY(32px);transition:opacity 0.55s cubic-bezier(0.23,1,0.32,1),transform 0.55s cubic-bezier(0.23,1,0.32,1),box-shadow 0.3s ease;will-change:transform;transform-style:preserve-3d;}.portfolio-card.port-visible{opacity:1;transform:translateY(0) rotateX(0deg) rotateY(0deg);/*:hover lift is handled by JS tilt — no CSS override needed */}/* ─── SERVICE CARD 3D TILT ─── */ .service-card{transform-style:preserve-3d;will-change:transform;}.service-card.svc-visible{opacity:1;transform:translateY(0) rotateX(0deg) rotateY(0deg);/*:hover tilt is handled by JS — no CSS override */}/* ─── HAMBURGER BUTTON ─── */ .nav-hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;border-radius:14px;background:var(--bg);box-shadow:var(--neu-btn);border:none;cursor:pointer;transition:box-shadow 0.2s ease;flex-shrink:0;}.nav-hamburger:hover{box-shadow:var(--neu-inset);}.nav-hamburger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--text-secondary);transition:transform 0.3s cubic-bezier(0.23,1,0.32,1),opacity 0.2s ease,width 0.2s ease;}.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}.nav-hamburger.open span:nth-child(2){opacity:0;width:0;}.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}/* ─── MOBILE NAV DRAWER ─── */ .nav-mobile-drawer{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:99;pointer-events:none;}.nav-mobile-drawer.open{pointer-events:auto;}.nav-mobile-backdrop{position:absolute;inset:0;background:rgba(163,177,198,0.32);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity 0.35s ease;}.nav-mobile-drawer.open .nav-mobile-backdrop{opacity:1;}.nav-mobile-panel{position:absolute;top:0;right:0;width:min(300px,88vw);height:100%;background:var(--bg);box-shadow:-8px 0 40px rgba(163,177,198,0.5),4px 0 20px rgba(255,255,255,0.6);padding:100px 32px 48px;transform:translateX(100%);transition:transform 0.42s cubic-bezier(0.23,1,0.32,1);display:flex;flex-direction:column;gap:10px;}.nav-mobile-drawer.open .nav-mobile-panel{transform:translateX(0);}.nav-mobile-link{display:block;text-decoration:none;color:var(--text-secondary);font-size:1rem;font-weight:600;padding:14px 20px;border-radius:16px;transition:all 0.2s ease;background:var(--bg);}.nav-mobile-link:hover{box-shadow:var(--neu-inset);color:var(--text-primary);}.nav-mobile-cta{display:block;text-decoration:none;text-align:center;background:var(--accent);color:#fff !important;font-size:1rem;font-weight:700;padding:14px 20px;border-radius:50px;margin-top:10px;box-shadow:4px 4px 12px rgba(76,175,130,0.4),-2px -2px 6px rgba(255,255,255,0.3);transition:all 0.2s ease;}.nav-mobile-cta:hover{transform:translateY(-2px);box-shadow:6px 6px 18px rgba(76,175,130,0.5);}/* ─── RESPONSIVE ─── */ @media (max-width:900px){/* Nav */ .nav-links{display:none;}.nav-hamburger{display:flex;}.nav-mobile-drawer{display:block;}/* Hero:stack vertically */ .hero{flex-direction:column;text-align:center;padding:100px 24px 48px;gap:32px;min-height:unset;height:auto;}.hero-sub{margin:0 auto 28px;}.hero-btns{justify-content:center;}/* Hero right:fixed 320px tall container,centred */ .hero-right{position:relative;width:320px;min-width:0;height:320px;margin:0 auto;flex-shrink:0;}/* Centre card */ .hero-card{width:160px;padding:16px;}/* Browser mockups */ .hb-a{width:118px;left:4px;top:48px;bottom:auto;}.hb-b{width:114px;left:10px;top:auto;bottom:28px;}.hb-c{width:122px;right:4px;top:42px;bottom:auto;}/* Floating badges — keep inside the 320px box */ .badge-seo{top:6px;left:50%;transform:translateX(-50%);animation:floatSeo 3.2s ease-in-out infinite;}.badge-sc{top:104px;right:2px;animation:floatB 3.8s ease-in-out infinite;}.badge-perf{bottom:6px;left:50%;transform:translateX(-50%);animation:floatPerf 3.5s ease-in-out infinite;}.badge-seznam{bottom:96px;right:2px;animation:floatA 4.1s ease-in-out infinite;}.float-badge{font-size:0.65rem;padding:5px 9px;gap:5px;}.fb-icon{width:18px;height:18px;border-radius:5px;}/* Other grids */ .trust-grid{grid-template-columns:1fr 1fr;}.services-grid{grid-template-columns:1fr 1fr;}.process-row{grid-template-columns:1fr;gap:16px;}.process-arrow{display:none;}.portfolio-grid{grid-template-columns:1fr 1fr;}.about-grid{grid-template-columns:minmax(0,1fr);column-gap:0;}.advantages-grid{grid-template-columns:1fr 1fr;}.footer-inner{grid-template-columns:1fr;}.section{padding:0 20px;}.trust-section{padding:0 20px;}.about-card{padding:28px;}.contact-card{padding:18px 22px;}.skillset-card{padding:20px 22px;}/* Service cards:disable hover flip,always show details */ .service-card{min-height:unset;}.service-card .service-details{position:static;opacity:1;transform:none;pointer-events:auto;border-radius:0;padding:0;background:transparent;}.service-card .service-desc,.service-card .service-title,.service-card .service-tag{display:none;}}@media (max-width:560px){.hero{padding:110px 16px 40px;gap:28px;}/* Hero right:slightly smaller on phones */ .hero-right{width:290px;min-height:290px;}.hero-card{width:138px;padding:13px;}.hb-a{width:104px;left:2px;top:42px;}.hb-b{width:100px;left:8px;bottom:22px;}.hb-c{width:108px;right:2px;top:36px;}.badge-seo{top:4px;}.badge-sc{top:90px;right:0px;}.badge-perf{bottom:4px;}.badge-seznam{bottom:82px;right:0px;}.float-badge{font-size:0.6rem;padding:4px 8px;}.fb-icon{width:16px;height:16px;}.trust-grid{grid-template-columns:1fr;}.services-grid{grid-template-columns:1fr;}.portfolio-grid{grid-template-columns:1fr;}.advantages-grid{grid-template-columns:1fr;}.mf-row{grid-template-columns:1fr;}.mf-budget-pills{flex-direction:column;}.section{padding:0 16px;}.trust-section{padding:0 16px;}.about-card{padding:24px;}.contact-card{padding:16px 18px;}.skillset-card{padding:18px 20px;}.typing-label{display:none;}}/* ─── Sub-page shared layout (service / project / blog pages) ─── */ .subpage-main{max-width:1080px;margin:0 auto;padding:132px 24px 0;}.breadcrumb{font-size:0.85rem;color:var(--text-muted);margin-bottom:28px;margin-top:58px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:max-content;margin-left:auto;}.breadcrumb a{color:var(--text-secondary);text-decoration:none;}.breadcrumb a:hover{color:var(--accent);}.breadcrumb .sep{color:var(--text-muted);}.breadcrumb [aria-current="page"]{color:var(--accent);font-weight:600;}.page-hero{padding:8px 0 36px;}.page-hero .section-tag{margin-bottom:18px;}.page-hero h1{font-size:clamp(1.9rem,5vw,3rem);font-weight:800;letter-spacing:-1px;line-height:1.12;color:var(--text-primary);margin-bottom:18px;}.page-hero .page-lead{font-size:clamp(1rem,2vw,1.18rem);color:var(--text-secondary);line-height:1.7;max-width:720px;}.page-hero .hero-btns{margin-top:28px;}.content-section{padding:40px 0;}.content-section > h2,.content-prose h2{font-size:clamp(1.4rem,3vw,1.9rem);font-weight:800;letter-spacing:-0.5px;color:var(--text-primary);margin-bottom:14px;}.content-prose{max-width:760px;}.content-prose h3{font-size:1.15rem;font-weight:700;color:var(--accent);margin:28px 0 10px;}.content-prose p{color:var(--text-secondary);line-height:1.8;margin-bottom:14px;}.content-prose ul,.content-prose ol{padding-left:22px;margin:8px 0 16px;}.content-prose li{color:var(--text-secondary);line-height:1.75;margin-bottom:7px;}.content-prose a{color:var(--accent);font-weight:500;text-decoration:none;}.content-prose a:hover{text-decoration:underline;}.content-prose strong{color:var(--text-primary);}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:24px;}.feature-card{background:var(--bg);border-radius:16px;box-shadow:var(--neu-flat);padding:24px 22px;}.feature-card .feature-icon{width:44px;height:44px;border-radius:12px;background:var(--bg);box-shadow:var(--neu-btn);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}.feature-card h3{font-size:1.02rem;font-weight:700;color:var(--text-primary);margin-bottom:8px;}.feature-card p{font-size:0.92rem;color:var(--text-secondary);line-height:1.65;}.cta-band{background:var(--bg);border-radius:24px;box-shadow:var(--neu-flat);padding:44px 32px;text-align:center;margin:56px 0;}.cta-band h2{font-size:clamp(1.4rem,3vw,2rem);font-weight:800;color:var(--text-primary);margin-bottom:12px;letter-spacing:-0.5px;}.cta-band p{color:var(--text-secondary);line-height:1.7;max-width:560px;margin:0 auto 24px;}.cta-band .cta-contacts{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:center;margin-top:22px;font-size:0.95rem;}.cta-band .cta-contacts a{color:var(--accent);font-weight:600;text-decoration:none;}.related-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px;}.related-card{display:block;background:var(--bg);border-radius:16px;box-shadow:var(--neu-flat);padding:20px 22px;text-decoration:none;transition:box-shadow 0.25s ease,transform 0.25s ease;}.related-card:hover{box-shadow:var(--neu-inset);transform:translateY(-2px);}.related-card .rc-label{font-size:0.78rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:0.5px;}.related-card .rc-title{font-size:1.02rem;color:var(--text-primary);font-weight:700;margin:6px 0 4px;}.related-card .rc-desc{font-size:0.88rem;color:var(--text-secondary);line-height:1.55;}.post-meta{font-size:0.85rem;color:var(--text-muted);margin-bottom:28px;display:flex;flex-wrap:wrap;gap:8px 18px;}.post-meta strong{color:var(--text-secondary);font-weight:600;}.cs-figure{margin:28px 0;border-radius:18px;overflow:hidden;box-shadow:var(--neu-flat);background:var(--bg);}.cs-figure img{width:100%;height:auto;display:block;}.cs-figure figcaption{font-size:0.82rem;color:var(--text-muted);padding:12px 18px;}.phone-frame{position:relative;width:100%;max-width:280px;aspect-ratio:388 / 800;border-radius:18px;overflow:hidden;}.phone-frame .phone-screen{position:absolute;top:1.35%;right:4.64%;bottom:1.88%;left:3.38%;width:93.24%;height:97.5%;object-fit:cover;object-position:center;border-radius:10%;}.phone-frame .phone-frame-img{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;}.screenshot-strip{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px 0;}.screenshot-card{flex:0 0 auto;width:min(70vw,280px);scroll-snap-align:center;}.screenshot-card .phone-frame{max-width:none;}.screenshot-card figcaption{font-size:0.82rem;color:var(--text-muted);padding:10px 8px 0;text-align:center;}.cs-figure--video{position:relative;}.cs-figure--video video{width:100%;height:auto;display:block;}.cs-figure--video .video-fallback{display:none;position:absolute;inset:0;width:100%;height:100%;}.cs-figure--video .video-fallback img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;}@media (prefers-reduced-motion:reduce){.cs-figure--video video{display:none;}.cs-figure--video .video-fallback{display:block;position:static;}}.cs-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:28px 0;}.cs-stat{background:var(--bg);border-radius:16px;box-shadow:var(--neu-flat);padding:22px;text-align:center;}.cs-stat .cs-num{font-size:1.7rem;font-weight:800;color:var(--accent);}.cs-stat .cs-lbl{font-size:0.82rem;color:var(--text-secondary);margin-top:4px;}.language-switch{position:relative;display:grid;grid-template-columns:repeat(2,2.25rem);height:2.15rem;padding:.2rem;border-radius:999px;background:var(--bg);box-shadow:inset 3px 3px 7px var(--shadow-dark),inset -3px -3px 7px var(--shadow-light);isolation:isolate;white-space:nowrap;}.language-switch::before{content:'';position:absolute;inset:.38rem;border-radius:inherit;background:rgba(76,175,130,.22);box-shadow:inset 2px 2px 4px rgba(58,155,111,.32);z-index:-1;}.language-switch-indicator{position:absolute;top:.2rem;left:.2rem;width:2.25rem;height:1.75rem;border-radius:999px;background:linear-gradient(145deg,#63c99b,var(--accent-dark));box-shadow:3px 4px 8px rgba(58,74,92,.3),inset 1px 1px 2px rgba(255,255,255,.5);transition:transform .35s cubic-bezier(.22,1,.36,1);z-index:0;}.language-switch--en .language-switch-indicator{transform:translateX(2.25rem);}.language-switch a{position:relative;z-index:1;display:grid;place-items:center;border-radius:999px;color:var(--text-secondary);font-size:.7rem;font-weight:750;letter-spacing:0;line-height:1;text-decoration:none;transform:translate(1px,1px);transition:color .25s ease,text-shadow .25s ease;}.language-switch a[aria-current="page"]{color:#fff;text-shadow:0 1px 2px rgba(45,55,72,.25);}.language-switch a:not([aria-current="page"]):hover{color:var(--text-primary);}.language-switch a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}.language-switch--mobile{margin:1rem auto;transform:scale(1.12);}.article-body{max-width:850px;margin:0 auto;padding:3rem 5%;}.article-section{margin-bottom:2rem;padding:1.5rem 0;border-bottom:1px solid rgba(0,0,0,.1);}.article-section .section-number{color:var(--accent);font-size:.75rem;font-weight:700;}.article-section h2{margin:.4rem 0 .8rem;}.footer-inner{max-width:1200px;margin:auto;}.footer-brand{font-size:1.5rem;font-weight:800;}.error-code{font-size:4rem;font-weight:800;color:var(--accent);margin:0;}@media (max-width:900px){nav > .language-switch{display:none;}}@media (max-width:600px){.subpage-main{padding-top:110px;}.cta-band{padding:32px 20px;}}.concepts-nebula,.concepts-starfield,.concepts-torch-glow,.concepts-torch-overlay,.concepts-cursor{position:fixed;inset:0;pointer-events:none;opacity:0;transition:opacity .45s ease;}.concepts-nebula{z-index:0;inset:-10%;background:radial-gradient(circle at 20% 30%,rgba(167,139,250,.22),transparent 42%),radial-gradient(circle at 80% 70%,rgba(34,211,238,.18),transparent 42%),radial-gradient(circle at 50% 50%,rgba(244,114,182,.12),transparent 48%),#050507;background-size:220% 220%;animation:concepts-aurora 22s ease-in-out infinite alternate;transform:translate(calc((var(--concepts-mx,.5) - .5) * -60px),calc((var(--concepts-my,.5) - .5) * -60px));}.concepts-starfield{z-index:1;}.concepts-starfield canvas{width:100%;height:100%;display:block;}.concepts-torch-glow{z-index:90;background:radial-gradient(circle 380px at var(--concepts-x,50vw) var(--concepts-y,50vh),rgba(167,139,250,.38),transparent 70%);mix-blend-mode:screen;}.concepts-torch-overlay{z-index:80;background:rgba(5,5,7,.78);-webkit-mask-image:radial-gradient(circle 380px at var(--concepts-x,50vw) var(--concepts-y,50vh),transparent 0 210px,rgba(0,0,0,.92) 520px,#000 600px);mask-image:radial-gradient(circle 380px at var(--concepts-x,50vw) var(--concepts-y,50vh),transparent 0 210px,rgba(0,0,0,.92) 520px,#000 600px);}.concepts-cursor{inset:auto;top:0;left:0;z-index:101;width:22px;height:22px;border:2px solid #a78bfa;border-radius:50%;box-shadow:0 0 20px rgba(167,139,250,.38),inset 0 0 12px rgba(167,139,250,.38);transform:translate(calc(var(--concepts-x,50vw) - 11px),calc(var(--concepts-y,50vh) - 11px));mix-blend-mode:screen;}html.concepts-mode{background:#050507;}body.concepts-mode{background:#050507;--text-primary:#f7f7f9;--text-secondary:#b5bac4;--text-muted:#9ca3af;}.concepts-safari-tint{position:fixed;left:0;z-index:79;display:none;width:100%;min-height:4px;background-color:#050507;pointer-events:none;}.concepts-safari-tint--top{top:0;height:max(4px,env(safe-area-inset-top));}.concepts-safari-tint--bottom{bottom:0;height:max(4px,env(safe-area-inset-bottom));}body.concepts-mode .concepts-safari-tint{display:block;}body.concepts-mode .concepts-nebula,body.concepts-mode .concepts-starfield,body.concepts-mode .concepts-torch-glow,body.concepts-mode .concepts-torch-overlay,body.concepts-mode .concepts-cursor{opacity:1;}body.concepts-mode #jak-pracuji,body.concepts-mode #portfolio,body.concepts-mode #faq{z-index:2;}body.concepts-mode #jak-pracuji .section-tag,body.concepts-mode #portfolio .section-tag,body.concepts-mode #faq .section-tag,body.concepts-mode .process-card,body.concepts-mode .portfolio-card,body.concepts-mode .faq-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 60px rgba(0,0,0,.45);}body.concepts-mode #jak-pracuji h2,body.concepts-mode #portfolio h2,body.concepts-mode #faq h2{background:linear-gradient(120deg,#a78bfa,#22d3ee,#f472b6,#a78bfa);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:concepts-flow 10s ease infinite;}body.concepts-mode #portfolio .portfolio-cat,body.concepts-mode #portfolio .project-link,body.concepts-mode #jak-pracuji .process-step-label,body.concepts-mode #jak-pracuji .process-arrow,body.concepts-mode #faq .faq-q::after{color:#67e8f9;}body.concepts-mode .process-icon-wrap{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);}body.concepts-mode .process-icon-wrap svg,body.concepts-mode .process-arrow svg{stroke:#67e8f9;}body.concepts-mode .process-card:hover,body.concepts-mode .faq-item[open]{box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);}body.concepts-mode #jak-pracuji .section-sub,body.concepts-mode #faq .section-sub,body.concepts-mode .process-desc,body.concepts-mode .faq-a{color:#b5bac4;}body.concepts-mode nav,body.concepts-mode #cookie-notice,body.concepts-mode #back-to-top{background:rgba(10,10,18,.58) !important;border:1px solid rgba(255,255,255,.12);box-shadow:0 14px 40px rgba(0,0,0,.35) !important;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);}body.concepts-mode nav .nav-links a:hover,body.concepts-mode #back-to-top:active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.12) !important;}body.concepts-mode #back-to-top .btt-icon,body.concepts-mode .nav-hamburger{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);}body.concepts-mode #cookie-notice span{color:#d1d5db !important;}body.concepts-mode #cookie-notice a,body.concepts-mode #back-to-top{color:#67e8f9 !important;}body.concepts-mode #cn-btn,body.concepts-mode .nav-cta,body.concepts-mode .nav-mobile-cta{background:linear-gradient(120deg,#8b5cf6,#0891b2) !important;box-shadow:0 0 22px rgba(167,139,250,.3) !important;}body.concepts-mode .nav-mobile-backdrop{background:rgba(5,5,12,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}body.concepts-mode .nav-mobile-panel{background:rgba(10,10,18,.82);border-left:1px solid rgba(255,255,255,.12);box-shadow:-16px 0 50px rgba(0,0,0,.45);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);}body.concepts-mode .nav-mobile-link{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);}body.concepts-mode .nav-mobile-link:hover{background:rgba(255,255,255,.1);box-shadow:none;}body.concepts-mode .language-switch{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}body.concepts-mode .language-switch::before{background:rgba(34,211,238,.1);box-shadow:none;}body.concepts-mode .language-switch-indicator{background:linear-gradient(145deg,#a78bfa,#0891b2);box-shadow:0 0 18px rgba(167,139,250,.42),inset 1px 1px 2px rgba(255,255,255,.35);}.portfolio-card--concepts{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);}.portfolio-card--concepts .portfolio-thumb{height:270px;background:#090911;}.portfolio-card--concepts .portfolio-thumb > img{width:100%;height:100%;object-fit:cover;opacity:.72;}.concepts-thumb-title{position:absolute;z-index:2;font-size:clamp(2rem,5vw,4.5rem);font-weight:800;color:#fff;text-shadow:0 0 34px rgba(167,139,250,.8);}@keyframes concepts-aurora{to{background-position:100% 100%;}}@keyframes concepts-flow{50%{background-position:100% 50%;}}@media (max-width:700px){.portfolio-card--concepts{grid-template-columns:1fr;}.portfolio-card--concepts .portfolio-thumb{height:210px;}}@media (pointer:coarse),(prefers-reduced-motion:reduce){.concepts-torch-glow,.concepts-torch-overlay,.concepts-cursor{display:none;}.concepts-nebula{animation:none;transform:none;}}