:root{--bg:#f4f7fb;--surface:rgba(255,255,255,0.95);--surface-soft:rgba(255,255,255,0.82);--text:#102a43;--muted:#52606d;--brand:#2563eb;--brand-strong:#1d4ed8;--accent-pink:#ec4899;--accent-teal:#14b8a6;--accent-gold:#f59e0b;--border:rgba(148,163,184,0.18);--shadow:0 24px 60px rgba(37,99,235,0.12);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:radial-gradient(circle at top,rgba(37,99,235,0.12),transparent 28%),radial-gradient(circle at 85% 14%,rgba(236,72,153,0.09),transparent 24%),radial-gradient(circle at 12% 72%,rgba(20,184,166,0.08),transparent 22%),linear-gradient(180deg,#f8fbff 0%,#e2e8f0 100%);color:var(--text);min-height:100vh}body::before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,0.95),transparent 22%),radial-gradient(circle at 85% 10%,rgba(191,219,254,0.45),transparent 25%),radial-gradient(circle at 80% 62%,rgba(244,114,182,0.16),transparent 20%),radial-gradient(circle at 18% 82%,rgba(45,212,191,0.12),transparent 18%),radial-gradient(circle at 50% 100%,rgba(255,255,255,0.6),transparent 30%);z-index:-1}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(1200px,calc(100% - 40px));margin:0 auto}header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,0.92);border-bottom:1px solid rgba(148,163,184,0.16);backdrop-filter:blur(16px)}nav{display:flex;align-items:center;justify-content:space-between;padding:20px 0;gap:18px}.logo{display:inline-flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-0.03em;color:var(--text)}.logo img{height:34px;width:auto}nav ul{display:flex;flex-wrap:wrap;gap:24px;list-style:none;margin:0;padding:10px 18px;background:linear-gradient(135deg,rgba(255,255,255,0.84),rgba(239,246,255,0.76));border:1px solid rgba(148,163,184,0.18);border-radius:999px;box-shadow:0 14px 32px rgba(15,23,42,0.06);backdrop-filter:blur(18px)}nav a{color:var(--text);opacity:0.78;transition:opacity 0.2s ease,color 0.2s ease}nav a:hover,nav a.active{opacity:1;color:var(--brand)}.hero{min-height:calc(100vh - 100px);display:grid;place-items:center;padding:100px 0;background-image:linear-gradient(180deg,rgba(255,255,255,0.82),rgba(255,255,255,0.48)),radial-gradient(circle at 20% 20%,rgba(20,184,166,0.14),transparent 20%),radial-gradient(circle at 80% 15%,rgba(236,72,153,0.14),transparent 18%),url('images/site/home/home-hero.jpg');background-size:cover;background-position:center center;color:var(--text)}.hero-inner{text-align:center;max-width:780px;margin:0 auto;padding:38px 34px;background:linear-gradient(180deg,rgba(255,255,255,0.78),rgba(255,255,255,0.62));border:1px solid rgba(255,255,255,0.8);border-radius:36px;box-shadow:0 24px 70px rgba(15,23,42,0.08);backdrop-filter:blur(20px)}.hero h1{font-size:clamp(3rem,5vw,4.8rem);line-height:0.98;margin:0 0 20px;letter-spacing:-0.05em;background:linear-gradient(135deg,#102a43 10%,#2563eb 50%,#0f766e 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{font-size:1.08rem;max-width:680px;margin:0 auto 32px;color:var(--muted)}.buttons{display:inline-flex;flex-wrap:wrap;gap:16px;justify-content:center}.button{display:inline-flex;align-items:center;justify-content:center;padding:16px 28px;border-radius:999px;font-weight:700;transition:transform 0.2s ease,background 0.2s ease,color 0.2s ease,box-shadow 0.2s ease}.button.primary{background:linear-gradient(135deg,var(--brand),var(--brand-strong) 65%,var(--accent-teal));color:#fff;box-shadow:0 14px 30px rgba(37,99,235,0.28)}.button.secondary{background:linear-gradient(135deg,rgba(37,99,235,0.08),rgba(236,72,153,0.08));border:1px solid rgba(37,99,235,0.12);color:var(--brand)}.button:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(15,23,42,0.08)}.stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}.stat{padding:16px 18px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,0.88),rgba(255,255,255,0.72));border:1px solid rgba(148,163,184,0.16);box-shadow:0 12px 32px rgba(15,23,42,0.05)}.stat strong{display:block;font-size:1.2rem;letter-spacing:-0.03em;margin-bottom:4px;color:#0f172a}.stat span{color:var(--muted);font-size:0.95rem}.section{padding:80px 0;position:relative}.section::after{content:'';position:absolute;top:22px;right:min(4vw,36px);width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(236,72,153,0.12),rgba(236,72,153,0));pointer-events:none;filter:blur(6px)}.section h2{font-size:clamp(2.2rem,3.2vw,3.4rem);margin-bottom:18px;letter-spacing:-0.04em}.section p{max-width:740px;color:var(--muted);margin-bottom:32px}.cta-row{display:flex;flex-wrap:wrap;gap:14px}.grid{display:grid;gap:24px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);backdrop-filter:blur(12px);transition:transform 0.22s ease,box-shadow 0.22s ease,border-color 0.22s ease;position:relative;overflow:hidden}.card::before{content:'';position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--brand),var(--accent-pink),var(--accent-teal));opacity:0.9}.card::after{content:'';position:absolute;top:-45px;right:-35px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,0.12),rgba(37,99,235,0));pointer-events:none}.card:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(15,23,42,0.1);border-color:rgba(37,99,235,0.22)}.card h3{margin-top:0;margin-bottom:14px}.card p{color:var(--muted);line-height:1.78}.service-card{display:flex;flex-direction:column}.service-card .button{margin-top:auto;align-self:flex-start;min-width:190px;text-align:center}.feature-list{display:grid;gap:12px;padding-left:20px;list-style:none;margin:0}.feature-list li{position:relative;padding-left:24px;color:var(--text);line-height:1.8}.feature-list li::before{content:'•';position:absolute;left:0;top:0;color:var(--brand)}.gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.gallery img{width:100%;height:320px;object-fit:cover;border-radius:28px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,0.85);transition:transform 0.25s ease,box-shadow 0.25s ease,filter 0.25s ease}.gallery img.about-gallery-image-center{object-position:center}.gallery img:hover,.image-mosaic img:hover,.section-split > img:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 28px 60px rgba(15,23,42,0.14);filter:saturate(1.08)}.section-split{display:grid;grid-template-columns:1fr 0.9fr;gap:32px;align-items:center}.section-split .panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow)}.section-split > img{border-radius:32px;min-height:420px;width:100%;object-fit:cover;border:1px solid rgba(255,255,255,0.85);box-shadow:0 24px 60px rgba(15,23,42,0.12);transition:transform 0.25s ease,box-shadow 0.25s ease,filter 0.25s ease}.section-split > img.about-hero-offset{margin-top:60px}.testimonial{background:linear-gradient(135deg,rgba(255,255,255,0.98),rgba(239,246,255,0.96) 55%,rgba(253,242,248,0.92));border:1px solid rgba(37,99,235,0.12);border-radius:28px;padding:32px}.testimonial p{color:var(--text);line-height:1.85}.review-slider{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:24px}.review-viewport{overflow:hidden;border-radius:28px}.review-track{display:flex;transition:transform 0.45s ease;will-change:transform}.review-slide{min-width:100%}.review-author{margin-top:18px;font-weight:700;color:var(--text)}.review-control{width:46px;height:46px;border-radius:50%;border:1px solid var(--border);background:rgba(255,255,255,0.95);color:var(--text);font-size:1.7rem;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 24px rgba(15,23,42,0.1);transition:transform 0.2s ease,box-shadow 0.2s ease,background 0.2s ease}.review-control:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(15,23,42,0.14);background:#ffffff}.review-dots{display:flex;justify-content:center;gap:10px;margin-top:18px}.review-dot{width:10px;height:10px;border-radius:999px;border:0;background:rgba(100,116,139,0.35);cursor:pointer;transition:transform 0.2s ease,background 0.2s ease}.review-dot.active{background:var(--brand);transform:scale(1.2)}.overline{text-transform:uppercase;letter-spacing:0.18em;font-size:0.78rem;color:var(--brand);margin-bottom:12px;display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:linear-gradient(135deg,rgba(37,99,235,0.08),rgba(236,72,153,0.08));border:1px solid rgba(37,99,235,0.12)}.form-card{background:linear-gradient(180deg,rgba(255,255,255,0.96),rgba(248,250,252,0.94));border:1px solid var(--border);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow)}.form-status{margin:0 0 18px;padding:14px 16px;border-radius:18px;border:1px solid transparent;font-weight:600}.form-status-success{color:#166534;background:rgba(220,252,231,0.92);border-color:rgba(34,197,94,0.24)}.form-status-loading{color:#1d4ed8;background:rgba(219,234,254,0.95);border-color:rgba(59,130,246,0.24)}.form-status-error{color:#991b1b;background:rgba(254,226,226,0.95);border-color:rgba(239,68,68,0.24)}.form-group{display:grid;gap:12px;margin-bottom:18px}.form-group label{color:var(--text)}input,textarea{width:100%;border:1px solid rgba(148,163,184,0.15);background:linear-gradient(180deg,#ffffff,#f8fbff);color:var(--text);border-radius:18px;padding:16px 18px}.form-meta{margin:4px 0 18px;color:var(--muted);font-size:0.95rem;line-height:1.6}.form-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.image-mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.image-mosaic img{width:100%;height:260px;object-fit:cover;border-radius:24px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,0.85);transition:transform 0.25s ease,box-shadow 0.25s ease,filter 0.25s ease}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.step-grid,.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.step-card h3,.product-card h3{margin-top:0}.step-number{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;margin-bottom:18px;background:linear-gradient(135deg,rgba(37,99,235,0.14),rgba(20,184,166,0.18));color:var(--brand);font-weight:800}.product-card{padding:0}.product-card img{width:100%;height:245px;object-fit:cover;border-radius:24px 24px 0 0}.product-card img.product-image-contain{display:block;box-sizing:border-box;object-fit:contain;object-position:center;background:linear-gradient(180deg,#f8fbff,#eef4ff);padding:12px}.product-card img.product-image-m4-center{object-position:center 42%}.product-content{padding:24px 24px 28px}.product-type{display:inline-flex;align-items:center;margin-bottom:10px;padding:7px 12px;border-radius:999px;background:linear-gradient(135deg,rgba(37,99,235,0.08),rgba(236,72,153,0.08));border:1px solid rgba(37,99,235,0.12);color:var(--brand);font-size:0.8rem;font-weight:800;text-transform:uppercase;letter-spacing:0.08em}.tag-row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px}.tag{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(15,23,42,0.04);color:var(--muted);font-size:0.88rem;font-weight:600}.catalog-note{margin-top:30px;padding:24px 26px;border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,0.94),rgba(239,246,255,0.88));border:1px solid rgba(148,163,184,0.18);box-shadow:var(--shadow)}.catalog-note p:last-child{margin-bottom:0}.legal-content{display:grid;gap:18px}.legal-content .card p{margin-bottom:14px}.legal-content .card p:last-child{margin-bottom:0}.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:250;background:linear-gradient(135deg,rgba(255,255,255,0.98),rgba(239,246,255,0.96));border:1px solid rgba(148,163,184,0.22);border-radius:22px;box-shadow:0 24px 50px rgba(15,23,42,0.2);padding:18px;max-width:980px;margin:0 auto}.cookie-banner[hidden],.cookie-modal[hidden],.cookie-overlay[hidden]{display:none !important}.cookie-banner p{margin:0;color:var(--muted);line-height:1.6;max-width:none}.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.cookie-btn{border:0;border-radius:999px;padding:11px 16px;font-weight:700;cursor:pointer}.cookie-btn-primary{color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-strong))}.cookie-btn-secondary{color:var(--brand);background:rgba(37,99,235,0.1);border:1px solid rgba(37,99,235,0.18)}.cookie-manage{position:fixed;right:16px;bottom:16px;z-index:240;border:0;border-radius:999px;padding:11px 14px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-strong));box-shadow:0 12px 28px rgba(15,23,42,0.2);cursor:pointer}.cookie-overlay{position:fixed;inset:0;z-index:255;background:rgba(15,23,42,0.45)}.cookie-modal{position:fixed;z-index:260;left:50%;top:50%;transform:translate(-50%,-50%);width:min(700px,calc(100% - 24px));background:#fff;border-radius:24px;border:1px solid rgba(148,163,184,0.25);box-shadow:0 30px 70px rgba(15,23,42,0.25);padding:22px}.cookie-category{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;padding:14px 0;border-bottom:1px solid rgba(148,163,184,0.16)}.cookie-category:last-child{border-bottom:0}.cookie-category h4{margin:0 0 5px}.cookie-category p{margin:0;max-width:none;color:var(--muted);font-size:0.95rem}.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;grid-auto-flow:dense}.gallery-item{position:relative;border:0;margin:0;padding:0;background:transparent;cursor:zoom-in;grid-column:span 3}.gallery-item img{width:100%;height:220px;object-fit:cover;border-radius:20px;border:1px solid rgba(255,255,255,0.86);box-shadow:var(--shadow);transition:transform 0.22s ease,box-shadow 0.22s ease,filter 0.22s ease}.gallery-item.tall{grid-row:span 2}.gallery-item.tall img{height:458px}.gallery-item.wide{grid-column:span 6}.gallery-item.large{grid-column:span 6;grid-row:span 2}.gallery-item.large img{height:458px}.gallery-item:hover img{transform:translateY(-4px) scale(1.01);box-shadow:0 26px 56px rgba(15,23,42,0.14);filter:saturate(1.05)}.gallery-note{margin-top:24px;color:var(--muted)}.lightbox{position:fixed;inset:0;z-index:200;background:rgba(10,15,25,0.9);display:none;align-items:center;justify-content:center;padding:28px}.lightbox.is-open{display:flex}.lightbox-image{max-width:min(92vw,1400px);max-height:86vh;border-radius:20px;border:1px solid rgba(255,255,255,0.2);box-shadow:0 40px 100px rgba(0,0,0,0.35)}.lightbox-control{position:absolute;border:0;border-radius:999px;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:rgba(255,255,255,0.16);backdrop-filter:blur(10px);cursor:pointer;font-size:1.35rem;line-height:1}.lightbox-close{top:20px;right:20px}.lightbox-prev{left:18px;top:50%;transform:translateY(-50%)}.lightbox-next{right:18px;top:50%;transform:translateY(-50%)}.lightbox-caption{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);padding:10px 14px;border-radius:999px;color:#fff;background:rgba(255,255,255,0.15);backdrop-filter:blur(10px);font-size:0.95rem}.profile-card{overflow:hidden;padding:0;position:relative;border-radius:32px}.profile-media{position:relative;padding:18px 18px 0}.profile-media::before{content:'';position:absolute;inset:18px 18px 0;border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,0.08),rgba(37,99,235,0.16),rgba(236,72,153,0.12));pointer-events:none}.profile-media::after{content:'';position:absolute;left:36px;right:36px;bottom:-18px;height:48px;background:rgba(37,99,235,0.12);filter:blur(18px);border-radius:999px;z-index:0}.profile-card img{width:100%;height:360px;object-fit:cover;display:block;border-radius:30px;position:relative;z-index:1;transition:transform 0.28s ease,filter 0.28s ease}.profile-card:hover img{transform:scale(1.03);filter:saturate(1.06) contrast(1.02)}.profile-badge{position:absolute;left:34px;bottom:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,0.82);border:1px solid rgba(255,255,255,0.9);backdrop-filter:blur(16px);box-shadow:0 14px 32px rgba(15,23,42,0.12);color:var(--text);font-size:0.92rem;font-weight:700}.profile-content{padding:28px}.profile-role{display:inline-block;margin-bottom:14px;color:var(--brand);font-weight:700;letter-spacing:-0.01em}.profile-card p{margin-bottom:0}textarea{min-height:160px;resize:vertical}button[type='submit']{border:none;background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff;padding:16px 24px;border-radius:999px;cursor:pointer;transition:transform 0.2s ease}button[type='submit'].is-loading,button[type='submit']:disabled{cursor:wait;opacity:0.82;transform:none}button[type='submit']:hover{transform:translateY(-2px)}footer{padding:36px 0;text-align:center;color:var(--muted);background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,0.4))}footer a{color:var(--text);opacity:0.8}@media (max-width:1100px){nav ul{gap:14px;padding:9px 14px}nav a{font-size:0.95rem}}@media (max-width:960px){.container{width:min(1200px,calc(100% - 28px))}nav{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 0}nav ul{width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:10px;padding:9px 10px}nav li{flex:0 0 auto}nav a{display:inline-flex;padding:8px 11px;border-radius:999px;white-space:nowrap}.hero{min-height:auto;padding:72px 0 56px}.hero-inner{padding:24px 18px;border-radius:26px}.hero p{font-size:1rem;margin-bottom:24px}.buttons,.cta-row{width:100%}.button{width:100%;min-height:50px}.section{padding:58px 0}.section::after{display:none}.section h2{font-size:clamp(1.95rem,5.7vw,2.7rem);margin-bottom:14px}.card,.form-card,.section-split .panel{padding:24px}.section-split{gap:22px}.section-split > img{min-height:300px}.review-slider{grid-template-columns:1fr;gap:12px}.review-control{width:100%;border-radius:14px;height:44px;font-size:1.4rem}.gallery img{height:260px}.image-mosaic img{height:240px}.product-content{padding:20px 20px 24px}textarea{min-height:130px}.grid-3,.grid-4,.section-split,.gallery,.image-mosaic,.step-grid,.product-grid{grid-template-columns:1fr}.stat-strip{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr}.profile-card img{height:320px}.product-card img{height:280px}.gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.gallery-item,.gallery-item.wide,.gallery-item.large{grid-column:span 3}.gallery-item img,.gallery-item.tall img,.gallery-item.large img{height:250px}.gallery-item.tall,.gallery-item.large{grid-row:span 1}.profile-badge{left:28px;bottom:14px}}@media (max-width:720px){.logo img{height:30px}.hero{padding:58px 0 42px}.hero h1{font-size:clamp(2.05rem,9vw,2.8rem);line-height:1.02}.overline{letter-spacing:0.12em;font-size:0.72rem;padding:7px 11px}.card,.form-card,.section-split .panel{padding:20px}.section-split > img{min-height:240px}.lightbox{padding:16px}.lightbox-control{width:42px;height:42px}.gallery-grid{grid-template-columns:1fr}.gallery-item,.gallery-item.wide,.gallery-item.large{grid-column:span 1}.gallery-item img,.gallery-item.tall img,.gallery-item.large img{height:240px}}@media (max-width:480px){.container{width:min(1200px,calc(100% - 20px))}nav ul{gap:8px;padding:8px}nav a{padding:7px 10px;font-size:0.9rem}.hero-inner{padding:18px 14px;border-radius:20px}.button{padding:14px 16px;font-size:0.95rem}.gallery img,.image-mosaic img,.profile-card img,.product-card img{height:210px}.stat{padding:14px}.profile-badge{font-size:0.8rem;padding:8px 11px}.cookie-banner{left:10px;right:10px;bottom:10px;border-radius:18px;padding:14px}.cookie-btn{width:100%}.cookie-manage{right:10px;bottom:10px;font-size:0.9rem}}@media (hover:none){.button:hover{transform:none}.card:hover{transform:none;box-shadow:var(--shadow);border-color:var(--border)}.gallery img:hover,.image-mosaic img:hover,.gallery-item:hover img{transform:none;box-shadow:var(--shadow);filter:none}.section-split > img:hover{transform:none;box-shadow:0 24px 60px rgba(15,23,42,0.12);filter:none}.profile-card:hover img{transform:none;filter:none}}